Midi Channels to Rig Manager - is there an easier/cleaner way to do this?

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 :smiley:

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

1 Like

What do you mean by “…plugging in an extra cable to trick GP4…”?

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)

Aah, now it is clear.

Are you on Mac?

Windows 10, though at some point i plan to move to mac so ideally the same method would work

Maybe define a new rig in rig manager and use virtual MIDI for your 2 Midi Inputs.

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.

Bildschirmfoto 2022-03-14 um 13.33.03

1 Like

In my opinion, your solution is perfect and the advice from @pianopaul too.

This was newly discussed here with this tips for Win and Mac :wink:

Ha, i think i actually read that thread at one point but was barking up the wrong tree at the time!
Thanks both!

You are welcome :wink:

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.