I am trying to setup a BOME project where I have a set of presets which change the MIDI routing depending on which preset is enabled.
One preset makes one of my devices the MIDI source for all other devices (i.e. a drum module I want to be the master MIDI clock)
Then another preset where it changes the routing to be a different MIDI device to be the master clock, or the source MIDI for the other devices.
Seems that once the routing is set in any preset or transformation, it sets the project’s MIDI routing (in the project properties, the MIDI routing diagram showing the connections) and then when the preset is disabled, everything is still routed as if the first preset is still active.
The first preset I have set to always active as it will control the status of the other presets and handle project initialization.
I use a timer to initialize things that can be triggered by either opening the project (translator 0.0) or a keystroke (translator 0.1). Both of them trigger an timer called “Init”. Translator 0.2 will disable preset 1 and translator 0.3 will re-enable it 10 milliseconds later. This is done so that the preset properly sets the initial MIDI routing.
The other two presets, when enabled, will enable the route (first translator of the preset) and when disabled will disable the route (second translator of the preset). See outgoing actions. Also when enabling a preset we have the option to disable all other presets (which is why I have preset 0 set to always enable (so that it is not turned off). If a preset is flagged as always enable, then the turn off all other outgoing option of enabling presets does not affect the “always enabled” presets.
I use a separate MIDI controller that sends note 0 to enable preset 1 and note 1 to enable preset 2.
Here are how my aliases are setup. Yours will be different since you have real physical devices.
I hope this helps explain things. You can see it in action below.
Hi Steve. I see the issue now and I somewhat suspected this. There needs to actually be a trigger which invokes the changes (just activating the preset in the UI isn’t enough), you have a cascade of triggers here in your project that are doing this. Also, the part of about on preset deactivate, clearing the route, that’s a missing piece that I also suspected I had to do.
I see why it’s this way considering the nature of the software is to fit many different scenarios.
Anyway, thanks a lot for the explanation and example, I think I’ve got it now.