Rig manager rackspace problems

my main live laptop rig is using
keyboard upper transmits on chan 2. upper has analogue expression pedal plugged into it.
in rig manager midi device upper is mapped to alias “EXPRESSION” in the midi dropdown in all my rackspaces.
keyboard lower transmit on chan 1.
channels 1 and 2 are fixed in all my rackspaces.

my home static pc rig is using a yamaha two keybed set up and has
chan 1 on upper level and
chan 2 on lower level,

these are merged on a fixed one midi output.(merged on board)
these channels are fixed and cannot be changed.
also this yamaha uses a usb expression pedal.

problem 1 for yamaha home static pc rig
how do i set up in rig manager one midi input to goto upper keybed when its transmitting channel 1 to goto chan 2 in rackspaces and chan 2 to goto chan 1 in rackspaces. (without editing every single rackspace)

problem 2 for yamaha home static pc rig
this yamaha RIG uses a usb expression pedal.(FBV EXPRESS)
every rackspace has now lost the “EXPRESSION” assignment (no midi assignment yet)

Before we go any further, why can you not change your “main live rig” so that the upper keyboard is on channel 1 and lower on channel 2?

Are you on a Mac or on Windows?

The rig manager currently only maps actual MIDI devices — it does not separate by MIDI channel number (not all MIDI messages have channels)

You might have to use a Gig Script to handle this kind of mapping.

Yes, I would use a gig script to remap your Yamaha Keyboard channels to match your main rig. Then it would just be a matter of using Rig Manager to map the devices.

Steve

So you would use the inject function in scripting?

Hi, on windows,
the Yamaha is an 1980s and has not any parameters that can be edited

Scripting is a bit beyond me . Cheers

Do you have GP4?

Yeah have GP4 cheers

I can change upper lower wiring on Yamaha keyboards so upper transmits on 2 and lower transmits on 1, but it messes up the octaves, eg top becomes F1-C5 and lower becomes F2-C6, I would then still have to edit all my rackspaces. Cheers

How on earth does changing the channels change the octaves — that makes no sense. What keyboard is this?

This is an old Yamaha EL7 home organ from the 80s.

Upper chan and lower chan is hard wired to the correct factory octaves.

By swapping upper and lower wiring it changes the channel assignments but not the Keybed octaves.

Got it — I think this is such an unusual issue that the only reasonable solution is to use a GigScript that could examine the channel of incoming messages and reinject them after changing the channel if necessary.

The only issue is determining on which computer your gigfile is running. This could be done by having your gigscript “include” a file that lives on your machine rather than in the gigfile with a function (or initialized global variable) that would let the gigscript know whether it needs to do that channel swapping.

Okay, I can get the top board to transmit on chan 2 but only F1-C5 . Should be F2-C6
And lower to transmit on chan 1 only F2-C6 should be F1-C5.

I would have to change all the rackspaces to transpose

So thinking there may be a better way using script in go4 program

Yes, I mentioned that you could use a Gig Script that would rechannelize incoming MIDI

Conclusion is I’m gonna re program the midi on my rackspaces

I like the idea of @pianopaul from the very beginning, I think his idea was to add this to a gig script (in this example NumaOrgan2 is the alias of my keyboard controller in Rig Manager:

var
  NumaOrgan2 : MidiInDeviceAlias
  
On NoteEvent(m : NoteMessage) from NumaOrgan2

 If m.GetChannel() == 1 Then InjectMidiEventViaRigManager(NumaOrgan2, m.WithChannel(2)); End
 If m.GetChannel() == 2 Then InjectMidiEventViaRigManager(NumaOrgan2, m.WithChannel(1)); End
End

This exchange channels 1 and 2 for my NumaOrgan2 before it enters the rackspace.

I thought this coudl work for you, right?

Meh - no need for all those tests

On NoteEvent(m : NoteMessage) from NumaOrgan2
   InjectMidiEventViaRigManager(NumaOrgan2, m.WithChannel( 3 - m.GetChannel())); 
End

Gonna try that script guys,
Where is script attached to ? The midi omni in block?
Thanks

Not sure I understand your question, would this help? (copy, past and compile the script in the gig script editor)

Yes, but I would like to let MIDI messages in other channel than 1 and 2 be unchanged.