In an effort to bring minimal hardware to the gigs, I’m trying to get dual duty out of pedals and switches. Meaning, if my hardware is giving out a certain MIDI CC message, using filters I would reroute the messages to be something else. This works wonderfully making my volume pedal also become a wah pedal or an expression controller for example.
I would love to get my footswitch to do the same, but it is being used to control a widget (in widget properties under MIDI). So the CC’s do not even show up in the midstream in MIDI monitor unless I disengage that association with the widget. I tried going around that problem by creating another widget that is grouped to the widget (associated with my footswitch), but that doesn’t work either b/c there is another widget in the group that gets set off by something else and messes things up.
Anyways, is there a way to parallel “stream” the CC’s coming out of the pedal before the system locks it out of availability as soon as its associated with a widget? I would convert the CC so it doesn’t conflict with the CC the system is using it for to control the widget, but like I said, as soon as it is linked to a widget, that source is no longer available. Would using script to control the widget to react to the CC message be different than choosing it in the widget properties midi setting? Or a totally different approach altogether I am not thinking about? Thanks!
The grouping doesn’t really work in my case because as I mentioned, in this particular case I have a 3rd widget in the group messing things up. Id love to try the scripting method please. I use cc#6 converted to #15. Thank you!
Do you use RigManager?
With RigManager we just need 1 Gig Script.
The solution Provided now uses a Rackspace Script.
The trick is to use the new internal GP Local Port
//$<AutoDeclare>
// DO NOT EDIT THIS SECTION MANUALLY
Var
CC_KNOB : Widget
cc : ControlChangeMessage
//$</AutoDeclare>
// Called when a single widget value has changed
On WidgetValueChanged(newValue : double) from CC_KNOB
cc = MakeControlChangeMessageEx(15, ParamToMidi(newValue), 1)
InjectMidiEvent("Local GP Port", cc)
Print(cc)
End