On Thu, 13 Apr 2023, Bill Purvis wrote:
I'm trying to set up a fairly minimal system as a
dedicated Digital Organ.
I started with Ubuntu Mate 22.04, as that's what I normally use for my
personal systems.
During the install I requested a minimal system, no Office, etc. and ended up
with what looked OK.
However, When it came to setting up the audio side, I wanted to run
Jack(D2/DBUS) and use Qjackctl
Tools for cli operation:
- screen (or similar) This gives you a session that can be auto started
at boot with one or more screens that auto start something.
The bonus is that you can login via any commandline terminal
like ssh for example, and reattach to the running session for
remote trouble shooting. You could even have a curses based
menu on one screen. (or just bash menu for that matter)
- dbus-launch: If you need dbus for anything then this should be used
to start screen (or whatever you replace screen with) That way
any dbus aware programs will be talking to the same instance
of dbus. Both jackd2 and jackdbus will try to talk to dbus.
jackdbus will fail without and jackd will at least throw an error
but should still run.
= jack-tools: this is a package that installs extra jack command line
tools for dealing with jack
- jack_control: this is what you use if you are using jackdbus, it can
set parameters as well as start and stop jack or find out jack's
status
- jackd: this is the command to use to start jackd if you are using that
instead of jackdbus (I have no opinion one way or the other).
Do note that if you use this, that screen will be locked as long
as jackd is running unless it is back grouonded. Screen makes
this a non-issue and leaving it forgroound may be a helpful
trouble shooting aid.
- jack_connect: allows connecting any jack port to any other jack port
(out to in of course). This can be used manually or scripted
- jack_disconnect: Disconnect a connection from an output to an input
- jack-plumbing: Allows automating the above connections. For example
can wait for your synth to startup and when it's ports appear in
the jack graph, connect them to the output or an effect.
For a longer list, after installing jack-tools, go to your command line
and type in jack and hit tab tab (or ls /usr/bin/jack* might be safer).
You will get a list of jack utilities. Some of which you can find out more
about with man, some you can <utility> --help or -h and some (like
jack_control) you can type in with no parameters. Some of these tools (you
may have jack-keyboard for example) need X to work. Some of these tools
require dbus as well (I think).
Another thing you may like:
https://superuser.com/questions/1170136/translating-midi-input-into-computeā¦
This has some hints on how to use a midi input device to run commandline
stuff from certain midi inputs. It might be easier though to get one of
those usb number pads made for laptops and use that with a menu. The user
does not have to be able to see the menu provided it is only one level.
Sub menus would require some sort of display... keep it simple. You will
need to rememeber that this can not run as part of your screen session
because if you grab screen from a remote login you will loose access to it
with your keypad. The menu will need to be run at boot time as some other
user than root (same for screen, jackd does not run well as root)
--
Len Ovens
www.ovenwerks.net