Multi duty controllers

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!

Yes with scripting that should be possible.
I can make a small gig how to do that.
What CC message are you using?

And you can group a 2nd widget to your MIDI learned widget and then send your CC message to the desired MIDI In.

That all without scripting, better approach.

I do that sometime with CC 64 (Sustain)
Control Leslie Speed and Piano sustain with the same Incoming CC Message.

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!

Ok I make a small Gig .
Do you need to map CC#15 to another widget?

Try this:
CC6_To_CC15.gig (35.3 KB)

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
2 Likes

Or use another rackspace!

Will try in a little bit. Thanks!

15 will be used to activate the sostenuto scriptlet.

I’m not sure I understand. It is within the same rackspace I want dual purpose operation.

Script works EXACTLY as I hoped!!! Thank you so much @pianopaul !!! Continues to blow me away how flexible GP is and how helpful this community is! :slight_smile:

2 Likes