View Single Post
Old 10-24-2018, 12:12 PM   #26
kilna
Human being with feelings
 
kilna's Avatar
 
Join Date: Oct 2009
Location: San Diego, CA, USA, Earth, Sol System, Milky Way Galaxy
Posts: 30
Default

Quote:
Originally Posted by mschnell View Post
The simple way (as suggested by the Midi specs) is to just set the VSTis each to a single dedicated input channel.
The problem of course is that each FX will do that in its own way, and it's a manual step that is repeated for each FX instance, which is why you suggested:

Quote:
Originally Posted by mschnell View Post
Later this day I will test this, and do a JSFX that outputs Midi messages on multiple buses. I'll upload it here for you to try.
So buses are specific to a given track? By their name I was left with the impression that buses are shared for the whole project, but if they're discrete per track then we can route incoming MIDI on channel 2 -> Bus 2 channel 1. MIDI input for a track is on Bus 1 right, so we can just leave Bus 1 Channel 1 as-is and anything that needs to pay attention to global can listen to that. Is this how your JSFX below is constructed?

Thoughts / Questions:
  • The output MIDI channel on the target buses should be configurable and default to 1 (route incoming MIDI on channel 2 -> Bus 2 channel 1)
  • Amount of polyphony should be configurable, in addition to which MIDI channel to start at
  • Since it seems to work OK in my demo above, channels beyond the polyphony amount should loop back to the first channel, so if we start at channel 2 as per MPE default for the first note-channel, and have 4 note poly set, then channel 6 should map to bus 2, channel 7 to bus 3, etc. This is similar to the same behavior as the MPE spec for any polyphony amount greater than 15, a channel with a note already playing will be re-used.
  • How will we bulk add the FX into the chain with the appropriate bus inputs set? Seems like a simple duplicate of an existing FX item in the chain and subsequent modification of the input bus for each would be the way to go, so the "MPE Explode" functionality would be a context-menu action for an existing FX item. The setup process would be add the VSTi item into the FX chain, optionally configure it, right-click the FX item, select "MPE Explode", you are prompted for the amount of polyphony and start MIDI channel, and then the appropriate FX and routing are added into the FX chain at that spot.
  • How will we go about parameter modulation in bulk for all params in the group of the identical newly created FX items?
  • How do we mix the multichannel audio output down to stereo...? I've not worked with multichannel tracks in Reaper, are they mixed down to stereo for "free", i.e., with no additional work needed on my part?

I want to help... pointers on where to get started coding for any of the above would be helpful.

I won't be able to try out your JSFX until tonight, it's noon here now.

Last edited by kilna; 10-24-2018 at 12:37 PM.
kilna is offline   Reply With Quote