[Ardour-Dev] Non-freewheeling export mode in Ardour 3?

Paul Davis paul at linuxaudiosystems.com
Tue Nov 1 04:23:35 PDT 2011

On Tue, Nov 1, 2011 at 7:10 AM, Leigh Dyer <lsd at wootangent.net> wrote:
> On 1/11/11 9:58 PM, Fons Adriaensen wrote:
>> But what would be the difference with just recording the signals you
>> want to export on a new track ? In particular if you could request any
>> track to use a multichannel file format ? The latter seems to be the
>> thing to ask for.
> That might be a nice feature to have anyway, but I don't think it's a good
> alternative for a non-freewheeling export, for various reasons:
> * it's more complicated to perform, compared to just running an export with
> a "non-freewheeling" option set
> * it needlessly adds the export to the session -- if I have a MIDI only
> session that's a couple of MB in size, I don't really want to be adding
> 100MB WAV exports to it
> * there's no control over export file format (bit depth, sample rate, codec,
> etc.)

the problem (as i realized overnight) is that the computational cost
of export is essentially unbounded and so its impossible to do this
with JACK in normal mode. sure, one could say something like "well, it
works on most machines if you use only a single uncompressed export
format". that's not very satisfactory, and isn't likely to ever be
reliably true enough to justify the claim in the first place.

export is fundamentally different to regular streaming via JACK
because we allow an arbitrary amount of processing to be done with the
data before it goes to disk *and* in Ardour3, it may actually go to
disk in multiple formats (multiple files). there's no way to ensure
that this processing will keep up with realtime JACK. more
practically, the current code design for export *assumes* that there
are no realtime constraints on what its doing. adding that would be
quite hard.

> Right now, I have to export most of my Ardour sessions by opening JACK
> Timemachine and recording Ardour's output while it plays back the session.
> That works fine, of course, but it's a pain, not in the least because I have
> to make sure I stop the recording when the session has finished.

sounds like you want a jack-transport enabled recording utility. i
can't remember if jack_capture can do this, but it would not be hard
to modify it to do so.

More information about the Ardour-Dev mailing list