jtackaberry / reaticulate

An articulation management system for REAPER
Other
101 stars 46 forks source link

Multiple MIDI Channel Routing Options Per Bank #105

Open DoubleGrit opened 4 years ago

DoubleGrit commented 4 years ago

Possibly a slightly esoteric case (and a long-winded explanation!), but take the following scenario:

We want to have multiple MIDI melodies (on different MIDI channels) going to different patches in the same kontakt instance.

Example 1 Kontakt has two patches loaded: Albion 1 - Brass Hi (MIDI channel 1) Albion 1 - Brass Hi (MIDI channel 2)

Here we would use a single instance of the Brass Hi Bank in reaticulate, with routing "Omni -> Source". Then using MIDI channels 1 and 2 for notes and reaticulation commands, we're all set.

Example 2 Kontakt has two patches loaded: Albion 1 - Brass Hi (MIDI channel 1) Albion 1 - Brass Lo (MIDI channel 2)

Here, we use a Brass Hi Bank and a Brass Lo Bank. But if we leave them at "Omni -> Source" then reaticulate gets confused because the reaticulation names etc are the same. So clicking on a Lo reaticulation command actually lights up the corresponding Hi reaticulation. This is sort of a bug but it's come from the fact that the Hi is accepting all channels, and the PCs are the same. Solution: set Hi to "Ch1 -> Source" and Lo to "Ch2 -> Source" Now they work fully independently, with no confusion.

Example 3 This is where things begin to break: Albion 1 - Brass Hi (MIDI channel 1) Albion 1 - Brass Hi (MIDI channel 2) Albion 1 - Brass Lo (MIDI channel 3)

We can't load more than one copy of the Hi bank because reaticulate won't let us. So we're forced to use a Hi bank set to Omni in order to control both Hi patches. But now it steals all of the signals that should have gone to Lo.

My current solution is to create a totally separate bank called "Brass Hi 2", which is a clone of the original Hi bank*. But this becomes cumbersome with many instruments and many copies etc, all of which need manual creation in the main ReaBank file.

Proposed solution is (much like in Reaper itself): the ability to have multiple specific MIDI routings per bank. So e.g. in this case we could set the Brass Hi to receive on both Ch1 and Ch2 but NO others. Thus Brass Lo is free to work in Ch3 uninterrupted, and the GUI stays a little bit cleaner because only one instance of the Hi bank.

Thanks Jack

*(Full disclosure: I'm not actually working with Albion at all, just using them as a factory example that exhibits this problem. You could probably limp by in Albion by just using a single Omni Hi bank to control both Hi and Low instruments because the articulation lists are identical... but this isn't always true).

jtackaberry commented 4 years ago

Not a bad idea. The internals of the Reaticulate JSFX support this, so this is really just needs to be implemented in the user interface.