https://raw.githubusercontent.com/smallstepforman/Medo/main/...
https://raw.githubusercontent.com/smallstepforman/Medo/main/...
Maybe you can say something about this, given your in-depth work Haiku and media:
BeOS was famous for being able to run all sorts of media content on relatively slow hardware, that any other system would struggle with.
Is that still true for Haiku? Or did the other OS’s catch up, or maybe the hardware did?
On the plus side, Haiku has a fantastic API and with BMediaKit and translators, decoding a video stream is a couple of lines of code (much nicer than raw avformat API from ffmpeg). The async bitmap transfers/uploads are multithreaded so it wins there. Haiku allows efficient sharing of media buffers between apps, so drag/drop between apps is really efficient.
I went overboard with making the video editor as multithreaded as possible. A thread for thumbnails, decoding, audio mixing, opengl, the main gui window, preview window, effects gui, encoding, etc. They’re all threads. The editor is really smooth, and can do 4k editing. I cant wait to see how it will runone day with actual HW accelerated drivers.
Given open-source Linux drivers which can give a good clue about how to interact with specific hardware this task doesn't seem impossible.
NetBSD drivers are particularly convenient to port, also because of the license.
I don't think it is reasonably easy to port Linux drivers but they can be a good source of inspiration and hints when engineering drivers of your own.
Regarding VST plugins, I do have the book "Designing Audio Effect Plugins in C++" by Will C. Pirkle and plan to add VST plugin support to Medo. However, I know nothing about VST use cases so I'm developing in the dark here ...
Regarding VSTs in a video editor: for doing any dialogue work (eq, compression, de essing) would be some use cases I have (I use some VSTs in FCPx). Also for working with music (same eq, compression, gating/ducking). Not having to bounce the audio through a DAW of some sort to just get it to sound right is a huge productivity boost.
That said... Little city!? I surprised that folks would see this place as small. I would have thought that back in the 90's but we have slowly become, maybe a little too much, a big city.
In fact, it has more people than the states of Wyoming, Vermont, Alaska, North Dakota, South Dakota, Delaware, Rhode Island, Montana, Maine, New Hampshire, Hawaii, Idaho, West Virginia, New Mexico, Kansas, Mississippi, Arkansas, Nevada, Iowa, Utah, Connecticut, Oklahoma, Oregon, Kentucky, Louisiana, Alabama and South Carolina.
Oh, it also has more people than Puerto Rico.
I tried to look up what the "metro" population of Melbourne is, but could only find a reference to "greater Melbourne" being around 5M. LA metro area is 12M.
Is Melbourne really larger?
LA County and the Chicago metropolitan area each have roughly ten million people, and NY metro is at least twice that. They are really, really big. The most interesting thing about Melbourne and Victoria is its rapid population growth. The graph might not be a hockey stick, but it is extremely steep.
I'm curious what it's like to develop media applications for Haiku. Are there any advantages you felt made it easier or more enjoyable?
Thanks for sharing.
Regarding other development environments, I've done professional Qt development, and I'm displeased with the ownership and kitchen sink model. Ownership and auto layout make dynamic widget hiding a real pain, especially since you cannot remove a widget (ownership issues). Layouts with dynamic widgets are another pain point.
Why? It's a desktop OS. The use case has a median user count of 1.
Do these really still exist[0]? As far as I can tell, they only ever existed during the window between when internet access became ubiquitous and when smartphones became ubiquitous and laptops got really cheap.
Besides which, I think there are better ways to accomplish that goal without user accounts. User accounts exist to protect the system and users from other users in a shared system or network, which doesn't really apply in a Desktop use case. Instead I would say what you want is switchable user profiles, plus encryption to actually protect your documents if that's important to you, because it is trivial to bypass filesystem permissions for local users anyway.
[0] I'm sure somebody is doing it, but I have to imagine that within the vanishingly small Desktop PC market this use case is itself vanishingly small.