Ardour slowly about to approach beta status

Mainly to the merits of Carl Hetherington
and Paul Davis:


A whole lot of MIDI/Audio development going on

Since my attention is quite absorbed by work, studies, making music and family, there was no
time for ardour.

Nevertheless, development is currently going forward rapidly:

  • Carl currently commits tons of patches mainly for audio issues like the new port matrix, foldertracks and reworking audio internals
  • paul works mainly on MIDI now; he implemented large parts of MIDI editing, including copy/paste, List Editor and step editing, and more is probably coming soon

Though my own efforts are the least notable at the moment, I fixed
some bugs in varispeed playback, and replaced linear interpolation by cubic interpolation.

My detour hackathon

In the meantime, I started two new open source projects, which may be beneficial
to the Linux audio community (including Ardour users):

  1. jackpanel, a Gtk+ and Cairo based replacement for qjackctl with full gnome support (yet to be done)
    which emphasizes ease of use and configuration and concentration on essential features. The screenshot shows the first working prototype together with ardour:

    jackpanel with ardour

  2. libprolooks, a Gtk+ and Cairo-based Widget library suitable for Audio Applications, which includes and consolidates widgets from the Calf plugin project:
    demos of libprolooks widgets

Daves second Hackathon

This time Dave added waf building of ardour
in another monumental effort. This will make life significantly easier for us developers
since the new build system is considerably faster and dramatically lowers the developers’
turnaround cycle, thus greatly improving the productivity of the whole team.

Cheers to Dave again for this awesome contribution.

Dave implements Tempo changes for MIDI

Big news again for the Ardour MIDI community: Dave Robillard
delivered one of the crucial milestones for MIDI: Support for tempo changes.

You can view Daves screenshot here or,
read the post on ardours official website (soon to appear).

Once again, whosoever wants to express his or her gratitude to Dave can do so via the Donate link
on his web page.

First SysEx GUI prototype

Not very functional / useful at the moment, but shows off Ardours SysEx support.
Some code has will probably be added to stack those flags nicely, if more of them
occur, and later symbolic display from an XML of SysEx event definitions.

Probably the flags could be shown at the bottom to avoid visual collision with
Program Changes. An even better solution would be to stack up all available flags,
If they collide visually. Any further ideas?

Here is the mandatory screenshot:
First SysEx GUI prototype

Daves Hackathon

On this weekend, Dave Robillard finished
a private hackathon: In a breathtaking series of commits he renovated large
parts of Ardours MIDI underpinnings, preparing it for tempo changes inside MIDI regions.

Here is what he said on IRC:

(14:30:05) drobilla: most of the relevant files I sat down and read from top to bottom.  
it "makes sense" now, as opposed to a mountain of successive band-aids
(14:30:24) drobilla: so once the bugs here and there are found and squashed 
we should be in good shape
(14:31:09) drobilla: I will probably try to fit in a few other marathon-sprints like this 
and deal with the rest
(14:31:13) drobilla: probably:
(14:31:45) drobilla: 1) fix all the "things that audio can do too", e.g. editing stuff, 
 split by channel, region trimming, record, etc.
(14:32:30) drobilla: 2) better tempo support, at least correcting/redrawing regions 
when they're moved to a new location with different tempo, 
and hopefully supporting tempo changes partway through a region
(14:32:54) drobilla: 3) MIDI editing stuff, rework the tools, fix all the little 
midi editing things that are broken (which seems to be most of it)
(14:32:56) drobilla: in that order
(14:33:47) drobilla: until then, I'm going to sleep and hopefully 
I can wake up giving a damn about what I should have been doing this weekend again 

All that during writing one of his doctorate papers, which have to be published this Wednesday.

That milestone certainly deserves a lot of cheers from the Ardour MIDI community (bounties welcome,
see the donation button on Daves website)

Bugfixes for MIDI Clock Slave

Fixed a couple of bugs so now it might
be fairly usable:

* Song Position works now
* no delay between keyboard and audio for larger period sizes
* keyboards which send MIDI Clock all the time work.

Note that the transport speed might get wobbly,
if the period size is greater than one pulse per quarter note
in frames. eg 1 ppqn @ 120BpM and 44.1 kHz = about 920 frames, so your period size should be at least 512 (lower = better). This is pretty much of a hard limit,
since ardour can only adjust its speed once every period.

SysEx support works

Recording and Playback of SysExes works now. That doesn’t mean,
you can dump your sequencer settings or sounds into Ardour, but
playback related messages such as effect settings, GM2 or the likes should work.

There is no GUI whatsoever yet, that may come in the future.
(Probably little yellow flags, like the Program changes).

Later I plan to add a SysEx gui generator, which reads an XML definition of the SysExes.

Bugfixes, Bugfixes, Bugfixes and SysEx Support

Recently being busy with some bugfixes (program changes / controllers working properly, some crash bugs, etc. etc…)

Drobilla enhanced the MIDI Buffer to be able to
contain variable-sized SysEx Messages (eg. important for General MIDI 2).

I am just
adding the necessary Bits to for SysExes to the MidiModel etc.
Will make a nice UI for them too in time….