Other MIDI messages

I am using an application that sends a MIDI song selection message. From what I understand so far this is a “System Common Message” under the MIDI standard and is defined as F3 XX

11110011 0sssssss Song Select.The Song Select specifies which sequence or song is to be played.

If I open the global MIDI monitor in GP and send this message (for song 5) the monitor displays f3 05

If I attach a MIDI monitor to a MidiIn block in a rackspace it displays nothing. I thought it might be trivial to write a script to capture this and make a program change so GP would change it’s song selection but I don’t see any way to capture MIDI messages that don’t have a defined callback (ie Note/CC/PC)

There is a GetByte function but I can’t get the message to get to the bytes.

If it is not filtered out by the MIDI in block for any reason, then you should perhaps be able to catch the message using an On MidiEvent callback. If it is possible you can then decompose the message byte by byte. I have nothing that produces System Common Message, so I cannot try this for you.

OK, so that was the missing link, there is no MidiEvent callback in the documentation that I found.

https://gigperformer.com/docs/GPScript36/content/reference/list-of-callbacks.html

But it does work I can capture the message and get the song number parameter, now to figure out how to have GP change to that song number…

Oh, nothing in the doc? But, you found it in the code samples of the script editor, right?

On MidiEvent(msg : MidiMessage)
  Print(“MIDI event catched: ”+msg)
End