I’ve put my S90ES on local off and send all midi through GigPerformer > S90ES midi out block. I’d like to control the volume through a slider widget connect to CC7.
This works fine, except when I switch a sound through Sysex in setlist mode.
It seems the CC7 message widget comes BEFORE the SysEx Sound switch message, therefor doesn’t receive the CC7 message on the correct sound. (I hope I explain this right).
When I switch a sound on my S90ES (through SysEx) from song part INTRO:
The trick is to use 2 variations and in each song part use a different variation.
This way the callback on Variation() is triggered.
In scripting the cc7 is sent out 100ms delayed.
var cc : ControlChangeMessage
SVOL : Widget
MVOL : MidiInBlock
on Variation (old : integer, new : integer)
cc = MakeControlChangeMessage(7, ParamToMidi(GetWidgetValue(SVOL)))
SendLater(MVOL, cc, 100)
end
on Activate
cc = MakeControlChangeMessage(7, ParamToMidi(GetWidgetValue(SVOL)))
SendLater(MVOL, cc, 100)
end
And in the back view you have to include a placeholder MIDI In Plugin
Thanx, it works. But the scripting is way over my head
Is there a chance that this will be fixed in an upcoming update?
How do I copy this script on another laptop in a different gig file?
And I have to do this for my Motif XS as well. I’ve tried to copy the code and made a similar midi in block for the xs7, but it doesn’t work
Just copy the code, open the rackspace in another gig and paste the code.
But you have to make sure that the referenced objects like Widgets and Midi In Block have the correct script handle assigned.
1 rackspace has 1 script
In scripting you decide what to do.
In a rackspace you are using MIDI Out Plugins, scripting just uses this logica name you give as a handle.
In the Song Part properties you decide what to send out to the MIDI Out Block (scripting is not involved).
The script I made (with the trick to switch variaions - because of the call back On Variation) only sends out CC7 delayed.
Not yet – and it is not something that can be trivially “fixed” — there are reasons for why the ordering could be either way. For example, what happens if you have a widget that sends out a program change and you put a CC7 message in the “Extra MIDI messages” section. Now you need the widget to be triggered before those other MIDI messages to go out — the exact reverse situation.
Not necessarily — you might want to lower the volume of the current patch before you switch to another one. Or you might want to send a CC64 OFF message.
As things get more complex, GP Script is available for much finer control - it’s pretty much impossible to cover every possibility through the UI.
The notion of prioritizing widgets (i.e, controlling the order in which they get sent) is on our list for a future version