Development news: branch mechanics

The cairocanvas branch has been merged into the master branch of Ardour.

The cairocanvas branch was about 3000 commits ahead of master, and represents major code changes to Ardour, including the new canvas for the editor, new backends for direct audio/MIDI I/O with ALSA and CoreAudio, Windows compilability, and many other fixes.

Anyone who has been building Ardour from git needs to get their local repository up to date:

                  git checkout master
                  git pull --rebase
                  rm -rf build
                  ./waf configure [ ... options ... ]

If you’re not an active developer, you may prefer to just do a fresh clone of Ardour and start from there.

The cairocanvas branch will continue to exist for a while, but there should be NO MORE COMMITS to this branch. Development work will now continue with master as the reference branch.

Finally, for Ardour packagers, especially on platforms that provide anything like apt-get’s “build-dep” feature, note that the code now has two new build dependencies: the VAMP SDK and Rubberband. These were part of the Ardour source tree before this merge, but they have now been removed and we rely on the platform to provide them during a build. The build scripts in the ardour-build-tools repository have been updated to reflect this change (for quite some time).

Does this magically propagate to GitHub or does it take a little coaxing?

Github is mirrored automatically, and is already updated.

Very exciting to hear, can’t wait to see it in action.

I usually stick to releases, but I compiled from git to check out the new canvas. It looks great, and works smoothly. Nice work Paul, and thanks to everyone else who made this happen.

Holy f*ing hell. I just compiled from source…after many months… now running soundfonts… drums… synths…bass… effects galore from LunixDSP, Calf, etc. This is gorgeous. I am stunned… no crashes…smooth.

What about a new Open Source business model: Get this going on Android with a nice package of free plugins/instruments. Sell on Google Play for a reasonable price… say $20. People will pay and you will reach hordes of wanna be… and honest-to-goodness… audio engineers…teaching…composing on airplanes, etc. The field is wide open on Android for DAW. The only decent entry so far is Audio Evolution, but they have developed a pro-audio USB driver for Android that is a huge game changer. I guess getting Jack to work may be a big hurdle.

Android doesn’t have the latency performance yet that makes it suitable for music creation (*), plus most Android platforms don’t have enough computing power to do much in the way of FX or synthesis. JACK already runs on Android.

(*) a few specific pieces of hardware that run Android can do it, but that’s about it at this time (November 2014)

maybe not the right forum, but why the move away from jack? I thought jack was the only method of getting good audio and MIDI sync (avoiding drift between the 2)

Not really the right forum; we haven’t moved away from the JACK “model” of audio I/O, just abstracted it (which is ironic, since JACK started life as Ardour’s own internal audio “engine”. We’re not moving away from JACK, we’re adding the capability to use OS-native audio and MIDI API’s directly. If you want to interact with other applications, JACK is still there. If you want to use external MIDI, then the “good sync” between audio + MIDI was always a bit of an illusion (it could be good, but not because there was ever any actual sync, even with JACK involved).

Just a quick FYI followup to the Android discussion (you may be aware of this already). Audio Evolution () on Android uses OpenSLES () and their own USB driver for Midi/Audio. I use AE regularly on my Galaxy Note 3 and the latency seems fine. I expect this relatively high-end device may be “middle-of-the-road” in a year or so. Android, of course, can also be run on x86. The latest Android (Lollipop) apparently has pro-audio USB built-in ().

At any rate, I am planning on filing bugs for the Linux version of Ardour. If there is ever a chance to beta-test an Android version, count me in!


(***) From

– Multi-channel audio stream mixing means professional audio applications can now mix up to eight channels including 5.1 and 7.1 channels

– USB Audio support means you can plug USB microphones, speakers, and a myriad of other USB audio devices like amplifiers and mixers into your Android device