[feedback] Pro-Audio Session Management on Linux (with JACK)
Just to provide some background info and to make you guys aware of one part of Linuxaudio. Most people will use a DAW (Ardour) with LV2 plugins, now or in the future, most likely. But because of the lack of a good plugin format years ago, Linuxaudio developed into a more or less modular environment. Standalone applications which you can hook up together via JACK and Jack_transport.
One major limitation was that is was hard to manage. Every time reconnecting the JACK connections, load your applications, load your project files etc. etc. Since years the LAD community tried to solve this by making a Pro-Audio Session Manager. Software that could do these jobs for you.
Most notable attempts are LADISH, Jack-Session and Non-Session-Manager (NSM). The last one is now choose by the JACK developer as the standard and Jack-Session is set to deprecated at the moment.
A session manager only works if applications supports it. With Jack-Session, this was easiest, but the functionality was not enough to provide users a pleasant workflow. Ladish tried to solve this to support multiple levels of support, with the downside that it became a complex system, where users had to deal with applications with different levels of support and session functionality.
The strength of Non-Session-Manager (NSM), is that it reasonable doable to provide NSM support to a application, that it only accept one good level of support and that it has a very clear and minimal API. Moreover, it has very strict rules where NSM support in applications should apply too, otherwise it is considered to be broken. This minimal (Keep It Simple Stupid), strict, but functional approach seems to work pretty well.
In meantime the Non-Session-Manager is forked to New-Session-Manager, both support the same NSM API though.
NSM is not dependent on JACK, so it will likely just work with PipeWire. The Linuxaudio world is moving to LV2 and VST3 plugins, but standalone applications and setups will be still preferable in some cases and for some people. I think it's good for the development of PipeWire to be at least aware of this subgroup in the Linuxaudio environment.
More info here:
https://non.tuxfamily.org/wiki/Non%20Session%20Manager