Re: [LAU] JACK Freewheel mode thoughts

From: Robin Gareus <robin@email-addr-hidden>
Date: Fri Nov 11 2016 - 12:16:54 EET

On 11/11/2016 09:39 AM, Lorenzo Sutton wrote:
> Hi all,
>

Hi Lorenzo,

Thanks for brining this up.

[..]

> So, coming to the freewheel point. Wouldn't it be great if 'all jack
> audio' software were freewheel-ready, so that if I activate a switch,
> all applications enter freewheel mode and when I activate recording in
> my favourite DAW, connected to some of my favourite (standalone!)

There are a couple of jack applications that do support freewheeling,
other than the big-players that you've mentioned. e.g. Carla.

> synths, connected to my favourite sequencer, everything is recorded
> 'faster than realtime' in the DAW?
>
> Or also: isn't it startling that in the digital era one should 'record'
> stuff internally in real-time??
>
> What kind of work/burden would becoming freewheel-ready pose on existing
> applications?

It depends on the application in question. Can range from trivial to
major-redesign.

When freewheeling the process-callback needs to block until all work is
done. It's no longer realtime, so file-I/O, locks and similar operations
are allowed. In some cases it can be relatively simple: just add a lock
and wait for the inertial work to complete.

In other cases freewheeling makes no sense (e.g. live-stream or
instrument-tuners). Most of those apps could just switch into a "don't
do anyting" mode and re-sync afterward (good example: zita-ajbridge).

The main problem will be applications that use alsa-midi to communicate
with external synths. freewheeling needs jack-midi.

> I do can see some cases where this just wouldn't work or might not even
> be desirable: for example Pure Data and similar software which by
> definition is realtime.

I don't think Pd is inherently linked to wall-clock, but you might be
right: the devil is the detail.

On the upside, DSP that is designed for LV2 gets this free house: the
LV2 worker-thread automatically becomes in-sync when freewheeling.

> Hopefully this can start some (civilized!) debate on the topic and it
> also includes other topics such as (creative) workflow, etc.

I suggest to file feature requests specifically for projects that you
care about.

One point that I also deem important is that even if some app cannot or
will not support freewheel processing, it should at least not get in the
way of other jack apps doing so.

ciao,
robin

> [1] http://www.jackaudio.org/api/group__ServerControl.html#gad65c741a1d1d2fb09efacf51437b841a

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Fri Nov 11 12:15:02 2016

This archive was generated by hypermail 2.1.8 : Fri Nov 11 2016 - 12:15:02 EET