using JACK alias to switch interfaces?

ahoy all,

i have been doing some research on how to do solve a problem that i assume many of us have a need for. the scenario is this:

when doing audio work on the road, i use JACK running on the internal sound card (i.e. ALSA), and when i am home, i use an external FireWire device (i.e. FFADO). the problem arises when i open an Ardour project that was previously saved with one interface (ALSA let us say) connected, and now the other interface is connected.

depending on which interface JACK is using, the names for the ports are different (e.g. ALSA has playback_1 and playback_2, while FFADO has dev01_Left+Right_output_Mic_0). Ardour remembers these names obviously, and as mentioned here does not recognize the “aliases” created in QtJackctl or something similar. thus, Ardour cannot reconnect to the proper input or output ports from Jack since the names have changed depending on the interface connected.

i imagined that this would be a simple solution, but so far my research has not turned up anything. this seems like a common scenario for anyone working on the same project on a laptop, sometimes connected to external sound devices, sometimes to internal. the first question seems to be: is this an FFADO, JACK, or Ardour issue?

thanks in advance.

peace, w

ahoy all,

for anyone coming across this post looking for the same thing (i.e. have Ardour and other JACK apps connect to the same hardware ports, regardless of the actual hardware being used, e.g. external audio interface vs. internal sound card), i never found a solution using JACK aliases. however, i do have some good news: there is a nice project called LADISH

which provides this type of functionality.

they have a neat session/JACK/etc. manager in the works that is already very useful. check it out, and yes it works with Ardour :slight_smile:

the feature that helps us here is the Room concept, which allows one to hook up a JACK app to virtual JACK hardware ports, that can be loaded into various Studios. each Studio can be configured for different hardware, but the Projects can be loaded into the same Room in different Studios, shielding the apps from the fact that the hardware has changed.

there is a much better explanation on the site and mailing lists, as well as other useful features. i recommend taking a look.