ovenwerks / studio-controls

A helper for setting up a system for audio work
GNU General Public License v2.0
73 stars 10 forks source link

Use new jack1/jack2-1.9.18 zalsa client for less DSP load #61

Open falkTX opened 3 years ago

falkTX commented 3 years ago

For jack2 1.9.18 onwards (and since a while in jack1), we have a zalsa client that is a converted zita-a2j/j2a but as internal client.

using jack_load and jack_unload tools, we can activate it. as described here https://jackaudio.org/news/2021/04/15/jack2-v1918-release.html

being an internal client reduces the DSP load due to less context switches. it is also less processes to manage yourself, as everything will be running on top of jackd/jackdbus.

ovenwerks commented 3 years ago

Hmm, It looks like I can use any of the normal commandline options (like jname). I am not sure If it is possible to load multiple instances of zalsa (I am guessing so but not sure). Assuming multiple zalsain are loaded ("in" are the most common), how does one only unload one of them? What does jackd2 and or the zalsa* instance do if the USB device is unplugged?

One of the driving forces for Controls in the first place is the pod casters who buy USB mics and expect to be able to just plug another one in and go. two or three USB mics is not uncommon. Restarting jackd because someone wants to unplug a USB mic or unloading all zalsa instances and reloading will also clear any connections made to mics still plugged in. I treat them individually right now.

falkTX commented 3 years ago

the same way you run jack_load you can also use jack_unload. but if you want to unload you will need to keep track of client names, so it unloads the correct one.