I have a script set up to deal with some rig-management that’s a little too specific for the rig manager.
Practice room set up is a 2-key stack connected individually over USB, home set up is a nord stage 3.
I’ve got the nord set up to send panel A inputs as channel 1, and B as 2. I then have a gig script to listen to midi events and push them to either the main, or the upper keys depending on the channel given using the InjectMidiEventViaRigManager function. In order to get past the rig manager not detecting any inputs on my Prac_Main and Prac_Upper aliases, i’ve got a spare 2x midi to usb adapter plugged in to my laptop, with.an input mapped to each alias.
My question is is there a better method that would potentially mean not needing the midi adapter to be connected? I tried using the local GP port but (at least as far as i recall) it caused both keys to play at the same time
I’d like to do this without editing rackspaces and only making home-side changes (it’s hassle to go to the prac room and changing the keys set up there may affect some rackspaces and also not be permanent). I’d also like to avoid going back to the previous method of using omni blocks to manually connect to the different instruments whenever testing
GPScript for some clarity if that helps
var
Nord : MidiInDeviceAlias
Prac_Main : MidiInDeviceAlias
Prac_Upper : MidiInDeviceAlias
on NoteEvent(m : NoteMessage)from Nord
if m.GetChannel() == 1 then InjectMidiEventViaRigManager(Prac_Main, m.WithChannel(1)); End
if m.GetChannel() == 2 then InjectMidiEventViaRigManager(Prac_Upper, m.WithChannel(1)); End
end
Obviously at the moment it works without real issue, but plugging in an extra cable to trick GP4 feels dirty
I use the extra USB MIDI cable to use as two fake keyboards otherwise rig manager doesn’t register the midi event in the target aliases (no physical midi device was the error iirc)
ah, just fake it with another program? that’d work too, i spent all nighht wondering if there was an inbuilt way to create a shell midi controller, or force gp to listen to a disconnected device, didn’t even consider virtual midi… whoops
On Mac one can use IAC virtual driver.
Similar exists on Windows
Now you create a new rig with 3 MIDI device aliases
1st listen to Virtual MIDI 1
2nd listens to Virtual MIDI 2
3rd is your real Keyboard
And then you can inject into the 2 first defined MIDI device aliases which are used in your MIDI In Plugins.
Also keep in mind, that your Gig script will act before the MIDI in block of your Nord in such a way that the MIDI channels other than 1 and 2 will be completely filtered out form this MIDI in block. If you don’t want this to be the case, you can use the True option at the end of Select statement like in the script provided above.