Convert Sysex String to NextSong-message

Hello,

is there any way to make a Gig Script that converts an incoming Sysex-String to a message that switches to the next song?

I use a Roland AX Synth to control VSTi-Synthesizers as a Plugin in GigPerformer.
I have no controllers left that I could use to switch to the next song, so I want to use the V-Link-off button to switch to the next song. That actually sends a SysexString (F0 41 7F …).
I cannot use Program Change messages as these also switch the built in sounds of the AX-Synth that I also need for my performance.

Any ideas how I could do that?

Thanks?
Nils

Does this help? Program Change to NextSongPart / Sysex to PreviousSongPart - #5 by David-san

Hi @Trebor, welcome to the GP community forum :wink:

It only helps if @Trebor has enough programming skills to adapt the Gig GPScript. But indeed, it is exactly the right thing to do. The idea would be to convert the SysEx into a regular CC# which can be used to learn anything as any regular controls.

@Trebor, if you have difficulties to adapt the Gig GPScript for your own needs, please come back here and ask. And if it works for you, please report your success :wink:

2 Likes

Did something like this in Aug 2021
Search for

Rig manager rackspace problems

Indeed, an older version of the exact same approach:

Great stuff. This probably will help. Regrettably its my wife’s birthday. So I am not allowed to do any synth stuff today. :wink:
I’ll let you know the outcome asap.

Thanks again for your input. That was really helpful. In fact I was even able to skip that MIDI-learn bit by using NextSong(). I used this in the Gig Script:

Var AXSynth : MidiInDeviceAlias;

On SysexEvent(s : SysexMessage) From AXSynth

Var sysExString : string = SM_Pretty(s, s.SM_Length(), True);

Select
    sysExString == "F0417F0051121000 000070F7" Do NextSong();
End

End

What I primarily did not get is that I had to define the MIDI-device (in this case “AXSynth”) in the Rig Manager as a MIDI Device alias.
Anyway - now it perfectly works.

1 Like

Unless you’re using an old version of GP, you don’t need to do that string conversion. You can just write

Var AXSynth : MidiInDeviceAlias;

On SysexEvent(s : SysexMessage) From AXSynth
   Select
       s == #F0 417F 0051 1210 0000 0070 F7 do NextSong()
   End
End

It’s probably my fault, my GPScript programming style has survived the ages and left its mark… :grimacing: :innocent: :nerd_face:

1 Like