[LAD] Proposals for JACK

Robin Gareus robin at gareus.org
Wed May 23 18:09:21 UTC 2012

On 05/23/2012 01:35 AM, Nikita Zlobin wrote:
> - Attaching of audio devices as clients with ability to change driver
>   and its settings for each (i mean - for all devices; this feature
>   should go with previous item).
> Some components are plugins, which are like LADSPA / LV2 / Other kinds
> of audio plugins, but are optimized for use only on JACK (in short,
> they are JACK modules).

jack2 features In-Server Clients: a dynamically loadable shared object
that is run inside the server. see example-clients/inprocess.c that
comes with JACK2's source. They're added with the `jack_load` command.

Adding additional audio-devices as jack-clients can be done via
zita-a2j/zita-j2a or alsa_in/alsa_out. IIRC there was some work to wrap
those into an in-server client, but I did not follow up on that
endaevour. I think it's used in context with netjack (adding a local
soundcard) and the in-server client is called 'audioadapter'.

Exposing additional cards automatically is something that jack should
IMHO not do. There are too many variables to get this right. Also tying
this feature to jackd release-cycles is IMHO something to avoid.
zita-?2? runs perfectly fine as standalone client.

As for changing backend driver settings: you can already change most of
them on the fly using `jack_control` (with jack2+dbus). Some settings
(eg. changing the sample-rate) require an engine-restart, though.

AFAIK there's around 4 persons that do use these /advanced control/
features. Not everything is roses. The use of dbus has been criticized
and there are some edge-cases and bugs left for you to squash. but it
works well here.


More information about the Linux-audio-dev mailing list