SysEx to Notes Rackspace Script

Hi @Nikosound ,

@dhj - FYI

On the Bome Forum, I showed you how this can be done with Bome MIDI Translator Pro. Now you got my curiosity of on doing this as a gpscript so I took the time and built this script for you.
You will need to name you MIDI In and Out blocks in your rackspace accordingly to MyMidiIn and MyMidiOut.

I commented out the inject MIDI and am sending the MIDI message externally instead. I still not sure why I cannot create a MIDI In block for the Local GP port in my rackspace.

// Written by Steve Caldwell October 18, 2024
Var
   MyMidiIn : MidiInBlock
   MyMidiOut : MidiOutBlock
   i : String
   r : Int
   note: Int
   next: Int
   working : String
   myPattern : String = "F0420078060800000000000E4"
   pattern : String
   plen: Int
   message: MidiMessage
On SysexEvent(s : SysexMessage) from MyMidiIn
	//  OpenLogWindow()
	note=0
	i = s
	r = Length(i)
	pattern = CopySubstring(i,0,25)
	if myPattern == pattern then
	// Print("Match")
	next = 28
	i=CopySubstring(i,next,r-30)
	plen = Length(i)
		While plen>=0 Do
			working = CopySubstring(i,0,1)
			if working == "2" then
				message = MakeMidiMessage3(144,note,127)
			else
				message = MakeMidiMessage3(128,note,0)
			End // if working ==2
			// InjectMidiEvent("Local GP Port", message)
			SendNowExternal(MyMidiOut,message)
			plen=plen-4
			next=next+4
			note=note+1
			i=CopySubstring(i,4,plen)
		End // while plen >=4
 
	End // if myPattern == pattern
End // On SysexEvent

Steve Caldwell

What error message are you getting?

Sorry, no issue, the Gig Performer port is Output Block not input block.

Thanks for sharing!