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.
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)
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
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
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.