Trouble with mapping different plugin parameters to single widget

Hey everyone, I am fairly new to GP and have been enjoying it thoroughly, however I am having an issue with a widget.

I posted a question on facebook and one of the admins did help by linking two articles discussing on the topic on how to scale widgets to jump to values within a plugin.

I will explain my situation, I am trying to setup a widget to change the modes for the Deelay VST, I would like for a fader to scroll and switch between ms, nrm (normal time), eigth, and eigth note triplet. I saw a topic on the thread about a fader switching between pre-amp settings within a plugin similar to my setup. However, I am lost at how to set that up for my widget. If anyone can help that would be much appreciated.

These are definitely different parameters, and not just different values of a single parameter?

Sorry, the modes are ms, normal, trip, and dot

There may be other options, but for me - this requires a script. This rackspace uses the VST3 of Deelay (free version).
Deelay.rackspace (74.4 KB)

Fader-Change-Radio-Buttons

The script was fairly simple: scaling the slider value to a range of 0 to 3 (which selects one of the 4 widgets). Note that I have also set these widgets to be in a radio button group, so you can click on them directly as well.

The script is one directional only - so it will select the mode button based on the slider, but the slider won’t move if you select one of the mode buttons.

Var
   MODE1,MODE2,MODE3,MODE4 : Widget
   MODESLIDER : Widget
   MODES : Widget Array = [MODE1,MODE2,MODE3,MODE4]
  
On WidgetValueChanged(newValue : double) from MODESLIDER
    Var modeIndex : Integer = ScaleRange(newValue, 0, Size(MODES)-1)
    SetWidgetValue(MODES[modeIndex], 1.0)
End
4 Likes

Thank you so much, I’ll give this a try.

Do you have a scriplet version of it?

A scriptlet does not know about widgets.

1 Like

Can you write script like controll fader by activating buttons

Help me, I do not get it

Would a radio group work for this?
That ensures only one of the widgets is selected.
Then making sure that the values of the widgets are matching the values of the parameter you are controlling.

If it’s separate parameters (not just different values of the same parameter) then you can try using widget groups to make sure that when you move one widget the others also move.

But it sounded like you were describing the different values of one parameter, so radio group might be it.

In this script we varies fader values so buttons are activating but I want this inverse i.e by activating buttons I want to fader changes to different values parameters

Hi rank13,

I had cobbled together a widget solution to send a program change at six different positions using a rotary knob on my keyboard. The solution worked, but it wasn’t very elegant. Now I’ve found your script, tried it out, and modified it to have six buttons. I’m not using them to switch an effects block, but rather to cycle through a vocalist’s programs. Each button has a program change assigned to it. It all works perfectly when I slide my MIDI controller slowly. Then the vocalist’s six programs cycle through. If I’m too fast, the vocalist gets stuck and ends up on the wrong program.

… Now my question: Is it possible to program a delay so that the button only becomes active after a certain time (e.g., 0.5 seconds) if no data is received from my MIDI controller? Then, while I’m operating the controller, the data would be present at the slider, but only when I stop moving would GP activate the buttons after the set time (e.g., 0.5 seconds). This way, I could switch directly from Program 1 to 6 without GP sending the intermediate programs to the vocalist.

This is on our list for a future update but no idea when it will get done. In the meantime, it can be implemented through GPScript by setting a timer and resetting it if the widget changes during the time.

1 Like

Okay, great. Then I guess I’ll have to wait for the update, unless someone is willing to script it for me.