fbpx

How to temporarily block a widget

Aug 12, 2023 | Gig Performer Blog, Tips

The normal way to use widgets is to map them to plugin parameters and to optionally have them learn a MIDI message so you can control that widget from a knob, slider or button on a keyboard or other MIDI controller.

However, in some rare cases, you might like to temporarily prevent that widget from responding to your controller.

There is no direct way to do this but with the help of a simple scriptlet, you can implement the functionality quite easily.

The trick is to have the widget respond to a message produced by Gig Performer’s internal MIDI device, known as “Local GP Port”.

You can arrange this by connecting a scriptlet to a MIDI In port. Arrange for the scriptlet to respond to the specific MIDI message that your controller is generating and then to conditionally inject that message into the Local GP Port. 

Scriptlet that conditionally injects MIDI

For information, here are the basic steps to implement this – but we have also attached an example gig file that you can just modify to suit your own needs.

Here is the scriptlet itself. Notice that in this example, the scriptlet listens for incoming messages on CC 10 but it injects the message using CC 9. You don’t have to change the CC number but it can be easier to debug problems if you use different numbers.

You just connect this to whatever MIDI In block received the controller message from your keyboard or MIDI controller.

For efficiency, you should check the box that tells the scriptlet to not respond to other incoming MIDI messages.

 

Configuring a widget

On a rackspace panel, insert a toggle button widget and map it to the Connected parameter of the scriptlet.

Next, add a widget that will control the desired plugin parameter. Using the normal parameter mapping, you can associate this widget with whatever plugin parameter you want to control.

Now, under normal usage, after switching to the MIDI learn section, we would simply learn the correct MIDI message but in this case we have to specify the MIDI message manually. As you can see here, the widget is mapped to CC 9 coming from the Local GP Port.

 

To create this, just click the Edit button (1) and select the device name, message type and CC number in the dialog that appears (2).

That’s it. When the Toggle Button is set to On, turning the knob on your controller will cause the knob widget to move but when you set the Toggle Button to Off, the knob widget will no longer respond to incoming messages. Of course the Toggle Button itself can be mapped to some physical button on your controller so that you can manage the behavior (connected or not) using just your physical controller.

Download the example gig file.

If you have any questions or want to share your feedback, please visit this Community thread.
.
Related topics:
The most flexible MIDI processing (blog)
What is a Scriptlet? (user manual)
What is the Local GP port? (user manual)