I am very curious how Ardour creates the fascinating Audio-Connection matrix. I have a monitor pluged into my laptop, which happens to have it’s own speakers, on Ardour’s matrix even that monitor is shown, which is not shown on eg qpwgraph (pipe-wire gui).
Or maybe can some one aquanted with the code point me to the code-part in the source, I would very much like to study and understand the matrix (I am ashamed to ask paul and robin directly, as I know they have better things to do than pointing me to the source
)
I believe they pull it from the underlying audio server which normally enumerate the audio sources/sinks.
You can see this on ALSA with the commands aplay -l and arecord. -l for example (and amidi -l for MIDI). You can get more info using the capital L flag (aplay -L, etc.)
For PuleseAudio you can use the commands pactl list sources short and pactl list sinks short (and remove the “short” part for more info).
If you are using a modern distro with Pipewire, you can use wpctl status, pwtop and others.
For jack you can use jack_lsp and others.
Windows and Mac will have equivalents.
Note that all the above are command line tools that use the appropriate sound servers APIs, so Ardour won’t be using these actual commands, but will be using the APIs behind them (although I believe Ardour doesn’t currently use the Pipewire ones. Some of these command line tools may require packages to be installed.
Or, of course, you can use something like Helvum or qpwgraph, which will also use some or all of these API calls.
That surprises me. I’m not near my main PC at the moment, so I’m not 100% sure on this, but I recall my HDMI monitors speakers, as well as my webcam microphone, showing up on qpwgraph, along with all my other audio devices.
Cheers,
Keith