Hacker News new | ask | show | jobs
by mxmilkiib 913 days ago
JACK is capitalised. I use the PipeWire implementation of the JACK API; it still has advantages over using PipeWire directly, like easier metadata and CV connections.

The NSM (Non/New Season Manager) system is best for saving and recalling the state of the graph. RaySession is a modern NSM front-end+backend.

There's also LV2; it uses RDF to define both the audio unit properties and the relations between them. If only Ingen and mod-host and Carla, with their LV2 plugin graphs, went the full hog and could be used in their (Ingen and Carla anyway) LV2 plugin forms to work as easy-to-make semi-modular software synths, that would be cool. (Part of the thought behind LV2 was to provide a session/graph saving format)

2 comments

JACK is far from perfect but one thing worth mentioning is that the API is really stable. I have been hacking on one audio app for about 13 years; in that time the GUI toolkit has deprecated the key UI elements I use, which have bitrotted to near uselessness; the primary programming language (Python) changed incompatibly and required significant work to convert the app; the predominant audio interface technology has gone from PCI to Firewire to USB. JACK's API has not changed at all that I know of. The bits of C code I wrote years ago to set up the app and connect to the server probably have the same commits attached to them that they did over 10 years ago. Love that.
This comment sums up how impenetrable software audio feels to me.
Unfortunately things like wayland end up like this too. All sorts of different systems and plugins and implementations and exceptions and arbitrary names and acronyms.

It seems like no one who designs this stuff ever says "this is too complicated, it doesn't have to be this way, we need to work on simplifying it".

I think when clever people get together and there is no adult in the room to represent people who actually have to use this stuff, no one wants to admit that it's over complicated, because that becomes an admission of not being as clever as everyone else in the room.

> It seems like no one who designs this stuff ever says "this is too complicated, it doesn't have to be this way, we need to work on simplifying it".

I think they do, but it's yet another XKCD 927 case.

I'm not talking about making something different after the damage has been done, I'm talking about the design process itself.
A walk in the park in relation to, say, AI, or just web frontends/frameworks ;)