Rig manager rackspace problems

Yes, except in his situation, there are no other channels, there was only 1 and 2

ok, I placed the script in gig script editor, it compiled ok.

I created in rig manager midi device alias NumaOrgan2 -->FOCUSRITE MIDI (FOCUSRITE MIDI is my midi in device) and learned the device.

but on clicking apply in rig manager i get this error

Recompiling scripts
Compiling Gig
Scripting has been disabled for this rackspace
Gig (GigScript) - GPScript Runtime Exception: The MIDI Input Device: ‘NumaOrgan2’ is not defined
Done

In midi monitor the channels are still the same and not swapped around.

thanks for helping me


when i try this script it has error
On NoteEvent(m : NoteMessage) from NumaOrgan2
InjectMidiEventViaRigManager(NumaOrgan2, m.WithChannel( 3 - m.GetChannel()));
End

Gig (GigScript) - Semantic error in “Main”: Line 1, Col 36: NumaOrgan2 not declared

Guys I got it working now with this script, i called everthing Focusrite
var
Focusrite : MidiInDeviceAlias

On NoteEvent(m : NoteMessage) from Focusrite

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

Yes I thought you understood that NumaOrgan2 was my own device. :wink:

It compiles, does it also work for you now?

yeah , thanks I worked out the issues and sorted , cheers

My old Yamaha keyboard only outputs hexadecimal strings when pressing various buttons.
I want to use some buttons to operate some features in global midi such as play, prev and next rack space etc, do I need an additional script for this?

these are the messages I need to use for
next variation
prev variation
play/stop
panic

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
00031703 1 – F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 01 F7
00031D88 1 – F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 02 F7
0003224C 1 – F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 03 F7
000326B3 1 – F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 54 01 F7

Would you like a Scriptlet for this?

Ah I create one but misunderstood. Mine actually sends these strings when a button is pressed. I posted it but it didn’t show up yet.

The way I understand is the user wants to receive these messages and use them to control a widget instead.

Steve

Yes please David

See this thread.

Thinking about it, I should probably only convert your sysex into CC by adding the following code into your gig script editor:

On SysexEvent(sysex: SysexMessage) From Focusrite 
 Select
   sysex == "F0 43 70 78 41 53 01 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(20, 127, 1));
   sysex == "F0 43 70 78 41 53 02 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(21, 127, 1));
   sysex == "F0 43 70 78 41 53 03 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(22, 127, 1));
   sysex == "F0 43 70 78 41 54 01 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(23, 127, 1));
 End
End

Hence you will be able to MIDI learn the button of your old Yamaha controller to any GP widget. Set your widgets to “momentary to lacthing” in the widget properties, as with a single state SysEx message the only thing you can do is to toggle widgets.

Tell me if it works for you?

will try and let you know .thanks

just thinking is this the correct way to join two scripts.

var
Focusrite : MidiInDeviceAlias

On NoteEvent(m : NoteMessage) from Focusrite

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

On SysexEvent(sysex: SysexMessage) From Focusrite 
 Select
   sysex == "F0 43 70 78 41 53 01 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(20, 127, 1));
   sysex == "F0 43 70 78 41 53 02 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(21, 127, 1));
   sysex == "F0 43 70 78 41 53 03 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(22, 127, 1));
   sysex == "F0 43 70 78 41 54 01 F7" Do InjectMidiEventViaRigManager(Focusrite , MakeControlChangeMessageEx(23, 127, 1));
 End
End

Well, this isn’t two scripts, this is two callbacks.

Yes this is correct. :+1: Try this to see if it reacts properly. Then we can do some fine tuning, like generating pseudo momentary CC#, if necessary.

Tomz thanks

Works a dream, cheers guys

Thanks to GP4, you can keep your old Yamaha and contribute to save the planet. :wink:

Or even better → if he’s active on some other forums/FB Groups, he can contribute by spreading the word about Gig Performer :slight_smile: