The original poster said that some programs
always connect
their input port to the first MIDI out port, and that can't
be changed. If they just registered themselves, it would
be OK, or if they let you choose the port to connect to it
would be OK, but always connecting to the first device
seems boneheaded.
Hm, of course, if a program behaves this way, it's not as good
as it could be.
But let's take a single desktop computer (or even notebook)
which gets used as softsynth or sequencer.
A program could remember the last used connections (even if
these have been made with aconnect or qjckctl) and reconnect
automatically.
Of course, these bindings should appear in aconnect or
jackconnect and it should be possible to change it there.
If there are any apps which do not behave this way, why not
politely contact the author and ask if it couldn't be
changed? Probably the author has never has been in need to do
so so he simply didn't think about it.
If you use qjackctl, you probably want to know that the active patchbay
feature is exactly one solution for this. There you edit a patchbay
definition specifying the individual client and port connections you want
to preserve. Once active, qjackctl will automagically check for the
defined patchbay definition and try to (re)connect each one as soon those
client/ports become available. The matching is made against the actual and
registered JACK/ALSA client/port names, using regular expressions.
Cheers.
--
rncbc aka Rui Nuno Capela
rncbc(a)rncbc.org