Hello, I’m new to GP and trying to figure out a couple of things:
Can we send SysEx messages with widgets? I want to have multiple buttons sending different SysEx values in order to change modes in my Korg X50. I’m aware that I can send SysEx when I change rackspaces, but is it possible to have a button to send SysEx messages at any given time? I can only send MIDI CC and PC.
Any ideas on how I could have a text label dynamically show the current patch name I have selected on my Korg keyboard? The X50 is on the other side of the room, I can navigate patches remotely with GP widgets buttons (program up and down), but it would be very helpful to know which patch I have currently selected.
Cheers!
With scripting you can send sysex messages
Does X50 send out messages when a patch is changed?
Thank you sir, can you point me to a resource or tutorial? I searched but couldn’t find anything specific on how to send a basic sysex message with scripting. i.e. F0 42 30 7A 4E 02 F7 switches to Program mode and F0 42 30 7A 4E 00 F7 switches to Combi
Yes it does, here’s an example when I change to program A-000:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
007A1EE3 1 9 B0 00 3F 1 --- CC: Bank MSB
007A1EE3 1 10 B0 00 3F 1 --- CC: Bank MSB
007A1EE3 1 9 B0 20 00 1 --- CC: Bank LSB
007A1EE3 1 10 B0 20 00 1 --- CC: Bank LSB
007A1EE3 1 9 C0 00 -- 1 --- PC: Acc. Grand Piano
007A1EE3 1 10 C0 00 -- 1 --- PC: Acc. Grand Piano
007A1EE8 1 9 F0 Buffer: 256 Bytes System Exclusive
SYSX: F0 42 30 7A 40 00 00 4B 6F 6D 62 61 74 20 00 20 20 20
SYSX: 20 20 20 20 1C 20 20 0A 03 14 09 64 00 00 19 00 58 64
SYSX: 64 00 0A 00 49 27 17 09 40 00 40 00 40 00 7F 7F 78 41
SYSX: 6E 02 71 48 0E 51 05 16 03 60 30 00 65 64 00 32 00 06
SYSX: 40 01 13 2B 0C 2A 48 16 00 19 0D 28 0C 12 03 4C 00 00
SYSX: 19 4C 13 33 00 40 00 00 7F 64 08 63 00 00 00 00 03 1D
SYSX: 4B 05 38 00 00 00 5F 6C 14 01 08 10 04 65 00 00 04 7F
SYSX: 00 00 7F 01 01 01 0C 00 10 00 00 01 01 01 02 03 00 04
SYSX: 63 63 63 63 63 63 00 26 00 0F 00 0E 00 00 04 00 00 54
SYSX: 00 7F 00 00 00 00 7F 00 01 01 7F 00 00 48 00 00 00 00
SYSX: 0E 00 04 13 00 09 46 00 00 00 21 00 0E 00 13 00 7F 00
SYSX: 00 00 00 1B 73 0A 00 0F 40 00 00 00 00 0A 02 7E 00 00
SYSX: 00 34 00 11 0C 11 00 00 00 63 00 26 0F 14 20 11 26 4B
SYSX: 00 26 6F 18 00 31 06 0F 00 00 00 1E 01 71 00 23 00 00
SYSX: 12 00 00 11
007A1EE8 1 10 F0 Buffer: 256 Bytes System Exclusive
SYSX: F0 42 30 7A 40 00 00 4B 6F 6D 62 61 74 20 00 20 20 20
SYSX: 20 20 20 20 1C 20 20 0A 03 14 09 64 00 00 19 00 58 64
SYSX: 64 00 0A 00 49 27 17 09 40 00 40 00 40 00 7F 7F 78 41
SYSX: 6E 02 71 48 0E 51 05 16 03 60 30 00 65 64 00 32 00 06
SYSX: 40 01 13 2B 0C 2A 48 16 00 19 0D 28 0C 12 03 4C 00 00
SYSX: 19 4C 13 33 00 40 00 00 7F 64 08 63 00 00 00 00 03 1D
SYSX: 4B 05 38 00 00 00 5F 6C 14 01 08 10 04 65 00 00 04 7F
SYSX: 00 00 7F 01 01 01 0C 00 10 00 00 01 01 01 02 03 00 04
SYSX: 63 63 63 63 63 63 00 26 00 0F 00 0E 00 00 04 00 00 54
SYSX: 00 7F 00 00 00 00 7F 00 01 01 7F 00 00 48 00 00 00 00
SYSX: 0E 00 04 13 00 09 46 00 00 00 21 00 0E 00 13 00 7F 00
SYSX: 00 00 00 1B 73 0A 00 0F 40 00 00 00 00 0A 02 7E 00 00
SYSX: 00 34 00 11 0C 11 00 00 00 63 00 26 0F 14 20 11 26 4B
SYSX: 00 26 6F 18 00 31 06 0F 00 00 00 1E 01 71 00 23 00 00
SYSX: 12 00 00 11
007A1EEF 1 9 -- Buffer: 256 Bytes SysEx Continue
SYSX: 00 00 00 00 00 00 00 00 00 00 00 00 00 63 00 14 63 14
SYSX: 63 63 63 15 08 3C 05 1A 4E 26 48 26 00 4C 30 00 48 00
SYSX: 7F 1E 02 1A 71 00 00 14 00 14 00 63 00 00 63 63 37 63
SYSX: 00 00 14 1A 63 1A 03 1A 01 49 14 40 0D 00 30 00 00 48
SYSX: 00 00 2C 0E 00 7F 00 7F 01 04 00 7F 00 00 00 00 7F 00
SYSX: 01 01 7F 00 00 48 00 00 00 00 0E 00 00 13 00 00 46 00
SYSX: 00 00 21 72 0E 00 13 00 7F 00 03 7F 76 27 73 0A 00 00
SYSX: 40 00 00 00 00 0A 02 7E 00 00 00 34 00 11 0C 11 00 00
SYSX: 00 63 24 05 19 18 00 11 26 35 00 18 0F 11 00 00 00 00
SYSX: 00 3B 00 29 04 00 00 43 00 00 12 00 00 11 00 00 00 00
SYSX: 00 00 00 00 00 00 00 00 00 63 00 14 63 14 63 14 00 00
SYSX: 00 40 15 06 00 1A 0B 1A 01 3C 30 00 48 00 7F 1E 02 1A
SYSX: 71 00 00 14 00 14 00 63 00 00 63 63 37 63 00 00 14 1A
SYSX: 09 0F 00 1A 01 4B 54 00 0D 00 30 00 00 48 00 00 54 0E
SYSX: 00 7F 00 7F
007A1EEF 1 10 -- Buffer: 256 Bytes SysEx Continue
SYSX: 00 00 00 00 00 00 00 00 00 00 00 00 00 63 00 14 63 14
SYSX: 63 63 63 15 08 3C 05 1A 4E 26 48 26 00 4C 30 00 48 00
SYSX: 7F 1E 02 1A 71 00 00 14 00 14 00 63 00 00 63 63 37 63
SYSX: 00 00 14 1A 63 1A 03 1A 01 49 14 40 0D 00 30 00 00 48
SYSX: 00 00 2C 0E 00 7F 00 7F 01 04 00 7F 00 00 00 00 7F 00
SYSX: 01 01 7F 00 00 48 00 00 00 00 0E 00 00 13 00 00 46 00
SYSX: 00 00 21 72 0E 00 13 00 7F 00 03 7F 76 27 73 0A 00 00
SYSX: 40 00 00 00 00 0A 02 7E 00 00 00 34 00 11 0C 11 00 00
SYSX: 00 63 24 05 19 18 00 11 26 35 00 18 0F 11 00 00 00 00
SYSX: 00 3B 00 29 04 00 00 43 00 00 12 00 00 11 00 00 00 00
SYSX: 00 00 00 00 00 00 00 00 00 63 00 14 63 14 63 14 00 00
SYSX: 00 40 15 06 00 1A 0B 1A 01 3C 30 00 48 00 7F 1E 02 1A
SYSX: 71 00 00 14 00 14 00 63 00 00 63 63 37 63 00 00 14 1A
SYSX: 09 0F 00 1A 01 4B 54 00 0D 00 30 00 00 48 00 00 54 0E
SYSX: 00 7F 00 7F
007A1EEF 1 9 F7 Buffer: 3 Bytes SysEx End
SYSX: 00 00 F7
007A1EEF 1 10 F7 Buffer: 3 Bytes SysEx End
SYSX: 00 00 F7
Take a look at this forum entry
Friends, I am not a programmer so I would appreciate your help. I want to send Syx messages of program change with the change of value of Widget for what I wrote this code, but it does not work, in what failure?
SCell : MidiOutBlock
PathD_05W : Widget
Menssage : SysexMessage
On WidgetValueChanged(newValue : double) from PathD_05W
If ParamToMidi(newValue) = 1 then Menssage = F0 41 10 00 25 12 01 00 00 09 73 F7
SendSysexExternal(SCell, Menssage)
ElsIf ParamToMidi(newValue) = 2 the…
dhj
November 4, 2022, 10:15pm
5
Actually, a search for “sysex” will bring up (among other things) a blog article for controlling the GT Mastermind pedalboard using sysex messages
https://gigperformer.com/controlling-the-rjm-gt-mastermind-from-gig-performer/
Thank you guys, I actually had seen those threads but I was searching for a true beginner’s guide, something idiot proof, I’m still trying to wrap my head around the basics of scripting.
edit. somehow I skipped the user’s guide, that’s more like my level