Same three CC values for many hardware controls... and Rig Manager

@brandon, this is a Gig script you could use to convert CC99+CC98+CC6 into a single CC# which could be used like any other single CC#. e.g. you could MIDI learn a widget with it. I couldn’t test if it works, but it should be close to. Using a gig script GP should even not notice that your controller is sending CC99+CC98+CC6, only the single CC# will enter GP.

Var
  XK5                        : MidiInDeviceAlias // Define XK5 as a RigManager alias to the real controller
  CC_State, CC99, CC98       : Integer = 0;  

On ControlChangeEvent(CC_msg:ControlChangeMessage) Matching 99,98,6 from XK5
    Select
      CC_State == 0 Do if (CC_msg.GetCCNumber()==99) Then CC99 = CC_msg.GetCCValue(); CC_State = 1 Else CC_State = 0 End
                       
      CC_State == 1 Do if (CC_msg.GetCCNumber()==98) Then CC98 = CC_msg.GetCCValue(); CC_State = 2 Else CC_State = 0 End
    
      CC_State == 2 Do
        if (CC_msg.GetCCNumber()==6)
        then
          Select
            // Leslie Pedal => CC#20
            CC99 == 1  && CC98 == 9  Do InjectMidiEventViaRigManager(XK5, MakeControlChangeMessageEx(20, CC_msg.GetCCValue()*127, 1));

            // Percussion Switch => CC#21                            
            CC99 == 1  && CC98 == 8  Do InjectMidiEventViaRigManager(XK5, MakeControlChangeMessageEx(21, CC_msg.GetCCValue()*127, 1));
            
            // Reverb => CC#22
            CC99 == 2  && CC98 == 10 Do InjectMidiEventViaRigManager(XK5, MakeControlChangeMessageEx(22, CC_msg.GetCCValue(), 1));
          End  
        end
        CC_State = 0; 
     End
End

Please, tell me if it works for you.

2 Likes