-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Hello,
I've been having this issue for a while, but I was not sure whether it was due to how I was handling things, till today, so here goes (might be linked to #183 ):
These days I usually use RaySession (based on NSM) to manage my sessions, where the session usually contains Carla or Ardour, a bunch of plugins in those, 1 or 2 mididings scripts and a few jack_mixers when using Carla.
To this I connect 0 to 3 MIDI devices (keyboards and control surface). I've been playing around with seq64's [manual-alsa-ports] and [reveal-alsa-ports] settings to figure out if any combination might work out as I expect, and I usually keep
[manual-alsa-ports]
0
[reveal-alsa-ports]
0
since I use the native Jack setup, which displays (as expected) the names of the ports as detected by Jack.
My problem is that the MIDI connections with Seq64 when I reopen the session are (almost) always messed up.
Most of the time, I've supposed that it depends on the sequence in which I launch the applications: if Seq64 is launched at the same time as Carla or Ardour, Seq64 obviously opens much faster, and all MIDI ports popping up from the tracks and plugins are not auto-detected because they don't exist yet. So I close Seq64 (most likely overwriting the RC file's input/output settings) and reopen, the ports are back, but the connections are lost or messed up (input ports are almost always lost, even when I use a MIDI through plugin to make sure I don't change the connections to Seq64 whether or not I plug my actual MIDI devices).
I guess that it may be due to the fact that Seq64 "remembers" the port to connect based on their ID, rather than their name, so if applications are not started in the same order or MIDI devices not plugged in the same order, the ports may not get the same ID, and connections are subsequently incorrect. Does this make sense? If yes, would it be doable to reconnect based on the port's name?
Today however, I was very careful to not open Seq64 before Ardour, which contains MIDI busses for my devices and MIDI busses for the sequences' synths, so that connections can be restored properly, but it seems that my 2 input ports where still inversed!
So I'm wondering a bit how you use this and whether I do it wrong...
Using [reveal-alsa-ports]=1 or the ones hardcoded in the USR file ([manual-alsa-ports]=1) might work, but then it limits the number of output ports to 16, which may in some cases not be sufficient for my instruments/synths (I could of course use channels and/or instruments for each port, but I'm very reluctant so far because it makes it much more difficult to monitor what goes where and I may have to add plugins to filter the channels to dispatch between the synths... but I'm relatively new to this so it may be the way it should be done?).
What do you think?
I'd be curious to know more about your setup as well if you can share :)
I'm using 0.96.8 from the midi_control branch btw.
And while I'm at it (but maybe I should open another ticket for that), is there any hope for the future to have the RC and USR files in any folder, e.g. a project or session's folder, rather than always in .config/sequencer64?
Thanks!