[LAD] Importing automation in Ardour

Robin Gareus robin at gareus.org
Tue Oct 28 15:32:15 UTC 2008

Hash: SHA1

Fons Adriaensen wrote:
> Hello all,
> Would there be a simple way to import plugin
> automation data into an Ardour session ?
> 'Simple' may include writing some software, but
> not any major project :-)

both ardour track and plugin automation data is stored in text files,
named after 'projectname-plugin-trackid.automation'. The First line is
"version <num>" each line thereafter

   <type> <timestamp(in samples)> <value>

The only valid type is 'g' corresponding to  gain_automation_curve() see
libs/ardour/io.cc:1715 - it seems like plugin-automation use LADSPA-port
numbers as type; but I have not verified that in the source.

offers both an OSC input and output as LADSPA plugin.

> The situation I want to handle is this:
> We have a Csound, SC3, PD, program generating
> a number of audio signals, and also simple
> OSC commands that would control external 
> processing of these signals, e.g. surround
> panning or movement implemented by an 
> external system.

Last June I set up a system like this;
http://mir.dnsalias.com/oss/panjack/ is a small JACK c-program that
processes external input (either MIDI or OSC) to pan audio sources. I
had 6 audio-inputs to 10 speakers and up to 12 parameters for panning
(either angle and width or X/Y coordinates) - PD did not manage to run
that in realtime but I'm sure I could have optimized the sqrt()s.  Since
we had live audio sources and not only playback, I eventually ended up
mixing it live (with a BCF2000 and panjack) rather than automating it
with ardour.

> The signals each become a mono track in Ardour,
> while the OSC controlled parameters are stored
> as automation data for a LADSPA plugin in each
> track. On playback, the plugin just sends this
> data to the external application.

yes, works like a charm with a little random latency due to UDP.

There are a few minor issues to consider: when moving the playhead in
ardour you can skip over OSC commands and a badly designed receiving
application may end up in a wrong state.

> The whole point is to combine a number of such
> compositions into a single Ardour session that
> can be looped without any user intervention.

so you're looking for an OSC-sequencer with jack-transport control.
maybe turn it around: have PD control ardour ?!

Version: GnuPG v1.4.9 (GNU/Linux)


More information about the Linux-audio-dev mailing list