Changing Presets with widget

I am having trouble getting a widget to change GP presets. I guess I am just not understanding what intergers my presets are. Do i have to name the preset 1, 2, 3?

do I have to find out what integers they are?

It compiles, but nothing happens. When i used LoadGPPreset it fails

Here is the code

On WidgetValueChanged(NewValue: double) from presetbutton

if newValue > (0.5)

then

SelectPreset (prophet5, 1)

end

You are talking of “GP presets” but you are referencing to plugin presets (addressed via SelectPreset), which are diffrent things!
There are “GP User presets” and “Plugin presets” - the first ones have to be previously saved by the user, the other ones are provided (or not) by the plugin itself. Unfortunately there are a lot of plugins which don’t expose a preset list! So, using the internal “GP User Presets” will be the more reliable way to go!
If you have previously saved some “GP User Presets”, then all of them will be shown in a list.
See the documentation:

Of course, these “User Presets” can also be accessed via GP-Script, but then you’ll have to use the following functions:

GetGPPresetList : Get the Nth chunk of GP Preset names

  • Declaration: function GetGPPresetList (p : Block, chunkN : integer) autotype returns String Array
  • Category: Plugins
    Parameters * p : Block
    • chunkN : integer
  • Autotype
  • returns String

GetGPPresetListCount : Returns the number of GP Presets for this plugin

  • Declaration: function GetGPPresetListCount (p : Block) autotype returns Integer
  • Category: Plugins
    Parameters * p : Block
  • Autotype
  • returns Integer

LoadGPPreset : Load a GP plugin preset in the background - seriously experimental and probably very unsafe

  • Declaration: function LoadGPPreset (p : Block, presetName : String) autotype
  • Category: Plugins
    Parameters * p : Block
    • presetName : String
  • Autotype

That means, you’ll have to know the correct name for the preset.
You could also load the User-Presests list into a string array and get the name from there (via string comarison or index number,…).

You should use the search engine for “user presets” and you’ll find quite a few useful threads about this topic!
For example this rackspace/script i made some time ago:

Maybe that helps you somehow.

4 Likes

Maybe this post helps as well → Useful scripts and Scriptlets - #10 by npudar

1 Like

yes this helped a lot. Though I may not understand every aspect I got your code to work in my gig.

I am now seeing that when I select a preset, the widgets associated are not syncing?

I would like to be able to have it to where when I recall a preset, all my synth widget knobs and buttons end up changing along with the prophet 5 vst

That’s actually the same as i posted - only located in the curated “Collections” area of the forums, not “in the wild”. :wink:

2 Likes

Well, then it seems you have a goal to work on… customize it to your very own needs.

I just am not sure how I would go about scripting that.

I am pretty new to scripting in Gig performer.

Got it! found a forum where you discuss the issue with arturia plugins not sending out anything upon a GP program change.

Using

SetWidgetValue (Widget, GetpParameter(prophet5, integer))

i am able to map a response from the plugin without using variations.

3 Likes