On Tue, 29 Jan 2019, Peter P. wrote:
thanks for your suggestions! I went with
jack_plumbing.
Can anyone confirm that jack_plumbing will need to be started before the
applications which it is about to manage? It does not manage connections
already made? I am on the lookout for a way to start jack, jack_plumbing
and a jack-aware application on the command line and restart each of
On the command line or from a script? From what I see below, it seems from
a script is really what you want. The CL is still a user interface and not
automated. Then in scripts there are scripts that run whatever the command
line can do and there are scripts that can talk to libraries, like python.
them should they crash/die and restore connections no
matter in which
sequence the three come up again. It seems jack_plumbing needs to be
started after jackd but before applications it is supposed to manage.
I am afraid I have to write a script using jack_connect then.
Jack always has to be first. While some applications will start jack for
you, that generally leads more to confusion and breakage rather than help.
On my system I have chmod -x jackd and use jackdbus instead. I don't
suppose it matters much as jackdbus runs from session start here anyway.
There is nothing that auto restarts jack if it crashes that I know of, but
all the jack* utilities should error out if jack goes away. So a simple
script starts one of these and restarts jack on error might work for
you... but then writing a python script with the jack lib would be better
anyway. I understand that python scripts are more programing that a bash
script, but there is a crossover point where it gets so complex to do
something in bash that it is easier to use python.
For handling of jack connections on headless
machines/command line, I am
looking for the best way to make connections once an application has
been started or restarted. It would be great if applications could
generally honor environment variables like
$ JACK_PORTS=system:playback_1 mediaplayerapp
JACK_DEFAULT=system:playback_9,system:playback_10 would be nice. In fact
it would be nice to have that as part of jack. Instead each jack
application need to be set noautoconnect. I use connect=no for pulse for
example. The problem with that is on restart. more complex programs like a
daw you want to reconnect everything just like it was becasue there might
be 100s of connections. So it ends up best with both and having the user
decide :)
There was some amount of work on session managers in the past, but almost
all of them have fallen to bitrot and are not used. The recomendation
seems to be NSM. NSM has also not been touched for a while, is not in the
debian and derivitives repos and so to use it you need to download the
source and build it.
in the end, a headless system will require some work and new learning.
--
Len Ovens
www.ovenwerks.net