Ardour seems to forget my MIDI output selection on tracks

Hello,

I have my first project in Ardour I am working on, on Arch Linux. I am using several hardware synthesizers connected through an Emagic Unitor 8 MIDI interface.

All is working properly except often (but not always) when I load up my project, the track MIDI output selection on my tracks will be reset to nothing, showing “-”, and I have to manually set them all back to the proper Unitor 8 inputs.

Is this a known issue? And is there any way to force it to reload the proper MIDI ports I saved the session with?

I have figured out the cause of this but not why it is happening. Sometimes my system decides to label my ports differently. I figured this out because I made a login script that renames my ports with jack_property…

Yesterday my Unitor8 MIDI ports were all called “Midi-Bridge:Emagic Unitor8 at usb-0000:00:14-0-8-4-2- full speed:”, but today it is “Midi-Bridge:Unitor8 9:”

Does anyone know what the cause of this could be, and/or how to fix it so I get consistent port names every time I reboot? Even if I modify my port rename script to somehow figure out the current name of the ports, it will still not help Ardour load my projects with the MIDI ports connected, because Ardour goes off the actual Jack port pathnames not the “pretty names” I have assigned.

Edit:

I’ve mostly solved this problem by using usbreset to reset my MIDI interface at login. The problem is that for whatever reason, if a MIDI interface gets reset it comes back up in the system with a shorter name than what it had been assigned at boot. No idea why, but it happens to both my Unitor8 and the MIDI ports on my Presonus AudioBox. Audio interfaces do not seem to have this issue.

By resetting MIDI devices at login, it forces them to get the shorter name assigned before you can do anything else, therefore Ardour will always be saving projects with the shorter names that won’t change if the device gets reset again later. The main thing that was causing it to get reset was occasionally Jack (pipewire-jack) would crash and restart.