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