Hello everyone. I just signed up for the Ardour project today. I have a massive amount of programming experience for Windows, OMF and AAF but sadly, no experience of Linux or OS-X. However, I hope I’ll be able to contribute something useful to this project at some point.
I’m not a dev but I’ve been actively testing / using ardour for 6 plus years…
I’ts nice to see some off the plans come to fruition.
We eagerly look forward to your implementation of AAF support!
OMF too, if you feel like it … Welcome aboard. Please know that we prefer to use IRC as a developer communication mechanism. Forums are too slow and non-interactive. See the “Support” tab up there on the top right for details.
Thanks for the welcome guys.
Paul, I don’t think I’d have much trouble writing an OMF or AAF interface for you - apart from finding the time (!!). I have loads of experience with both of them. In fact, my OMF products have been on the market for over 6 years. OMF would be trickier though because AFAIK, there’s no Linux port available for the OMF library. However, it’s all written in plain old ‘C’ which might help matters. Other than that, my main hurdle would be learning a new compiler. I haven’t downloaded any of your code yet so I’d be interested to know - do your Linux & OS-X ports use the same physical function calls for both platforms or are they completely different animals?
Also - in general terms - how does cross platform development work? Does a given developer write for both platforms, or do they tend to specialise in one platform and somebody else ports the code to the other one?
Fimally (an obvious question) - why no Windows version?
John - there is a windows version, it was a project from Google sponsoring us for 3 Summer of Code projects. We are in progress toward merging all/most of the changes from the win32 branch into the trunk. We didn’t do a Windows version for a long time because (a) JACK didn’t run on Windows, and I believed that it was impossible to make it work (b) Ardour relies on several basic POSIX APIs that Windows simply doesn’t support correctly.
However, Stephane Letz, who ported JACK to OS X, got his implementation of JACK (jackdmp) working on Windows, and Tim who did the SoC2006 win32 port used glib to cover up most of the portability issues. The fact that JACK acts as the abstraction for all audio I/O on all 3 platforms gets rid of huge amounts of platform specific issues.
Once the merge of the win32 branch is complete, we will be back to a single codebase for all 3 platforms, with very very few #ifdefs. In general, we try extremely hard to avoid platform specific code. Where it is necessary (e.g. we use apple’s audio file API’s on OS X to be able to read MP3’s there, something we can’t legally do on linux yet), there are typically one or two people who focus on that code. Taybin Rutkin has generally been the OS X guy.
As for the compiler, gcc is really not so different. As I mentioned, we use IRC for most developer communication because its so interactive, so if you plan to get involved, I’d encourage you to come find us there.