My old Yamaha keyboard only outputs hexadecimal strings when pressing various buttons.
I want to use some buttons to operate some features in global midi such as play, prev and next rack space etc, do I need a script for this?
Perhaps, I assume you mean SysEX (System Exclusive messages). MIDI devices actually only send binary (ones and zero) and it is up to the monitoring program to determine how they are displayed to the user. I think Gig Performer converts these for display purposes for standard MIDI messages and just leaves them as hex representation for SysEX.
F0 . ⦠⦠⦠F7
I believe that a script can be written to interpret these messages in Gig Performer and possibility convert them. Iām a new user so have not yet done it in Gig Performer as of yet but I do it all the time in Bome MIDI Translator Pro which I also support. Letās see if there is another user that has already done something similar in Gig Performer that you can leverage. Note that all manufacturers define their own SysEx message structure with exception of the leading F0 and trailing F7 so the odds of having something for your specific keyboard pre-built would be rare and some script modification may be necessary. Most people would need to see a log of the SysEx messages to be able to interpret them and convert them to standard MIDI messages for the results you desire.
There is, however a specific SysEX structure for MIDI Machine Control (MMC) that your keyboard may be using.
Steve
Iāll get a copy of messages I need to use cheers
hi, these are the messages I need to use for
next variation
prev variation
play/stop
panic
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
00031703 1 ā F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 01 F7
00031D88 1 ā F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 02 F7
0003224C 1 ā F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 53 03 F7
000326B3 1 ā F0 Buffer: 8 Bytes System Exclusive
SYSX: F0 43 70 78 41 54 01 F7
Try this
You may need to define you āMyOutā Output block to the device you want.
Make-Play-Widget-with-Sysex.gig (62.1 KB)
Steve
I think he wants that his keyboard - which only sends sysex messages - can be used to switch variations etc.
Your script sends out sysex messages.
But maybe I miss something?
Yes, Iām working on an alternate script that should do the job. Stay tuned.
This one should work or be pretty close. The only thing I havenāt figure out is how to simply blink the LED indicator with the SysEx message.on the momentary buttons, I think I would need a timer function for that. It turns all values to 0 except PlayStop and then turns on only the button you press.
For PlayStop it toggles the value.
Maybe not as elegant as the seasoned coders would do but at least it looks like it works.
It also contains code that sends SysEx to a device when you push a widget, but PlayStop Push only sends on Play as if I tried to toggle it it created an infinite loop. Anyone care to clean it up more from here?
SysExTo-Widget.gig (71.7 KB)
Steve
Will try that tomz Steve, many thanks
HI in gig script live come up with this (i fully understand script)
Gig (GigScript) - - Syntax Error in āMainā: Line 5, Col 1: Unexpected or unrecognized token: āOnā
Mismatched input āOnā expecting Identifier
my input port is āFocusriteā in rig manager
cheers
Yes, you have a syntax error on Line 5!
Without seeing your script, itās rather difficult to say whatās actually wrong with itš¤Ø
@dhj, the script is in the gig file. Iāll take a look at it in a few hours.
Steve
I just looked ā this script could never have worked
- thereās an extra empty āvarā
- there is no type defined for the āmesgā arg in the call back
- The device name āMyInputā is not defined anywhere
You can remove the Rig Script and just use the Rackspace Script
Try this version, I renamed the Input Port Handle to Focusrite.
Iām not sure if Panic is working correctly though. We are capturing the message OK but Iām not sure it is executing the widget. There may be something more we need to do after sending a Panic.
SysExTo-Widget-2021-08-31.gig (141.6 KB)
Steve Caldwell
Bome Customer Care
Thanks will try out
I removed these lines from the script which were causing a MIDI loop and it fixed the Panic Problem
// Called when a widget value has changed
/*
On WidgetValueChanged(newValue : double) from Panic1
if newValue > 0.5
then
SendSysexExternal ( MyOut, smPanic)
SetWidgetValue(Panic1, 1.0)
end
End
*/
Here is the updated rig file
SysExTo-Widget-2021-08-31.gig (143.3 KB)
If the old Yamaha controller of @simusix2 would generate CC messages you wouldnāt write a rackspace script to control widgets, right?
So here is what you have to add to the gig script he already has to make the Yamaha controller generate CC messages:
It is an 8 lines only GPScript. No need to duplicate it in each rackspace, in the gig script it is available for each rackspace of the whole gig. Why would you do something more complicated?
EDIT: Using this kind of gig script it is even possible to simulate a press on a momentary button by āinjectingā an additionnal CC# 0 just after the initial CC# 127.
Yes, this looks like a cleaner solution. I havenāt tested it but Iām sure it will work.
Of course, then in Rig Manager you will need to MIDI learn the CC#s that you programmed and give give them names that your Widgets can use.
Steve