Save widget global, per song or per song part

Hi, I use one rack with several panels and volume pots to create the overall band mix (all instruments are led through GP) in our setlist
Some widgets I save per song part…
Other widgets have ‘Ignore variations’ switched on… they end up to be global - actually available for the whole setlist

I would like however to be able to save some widget settings per song - while ignoring the songpart but save for instance a volume for a specific song, while still being able to switch to other songparts…

Any suggestions on how to do that??
Thanks in advance
Hans

I think with scripting and external widget references this can be done.
I am looking for an example and upload a gig.

Here is a gig with 2 rackspaces.
The widget value set in the 1st rackspace are automatically recalled in the 2nd backspace.

Global.gig (11.8 KB)

You know that you can override widget values in Song Parts?

Pianopaul - so cool - I will try as soon as possible and let you know how it works… I was already assuming that scripting might be helpful here, but I still have not been able to spend any time on that… so thanks again!!!
cheers Hans

Here a short video, how to save values in Song Parts

1 Like

Hey paul, video doesn’t seem to be working for me…
I looked at your rig and although this is cool it’s not really what I meant…
I only use 1 rack, with lots of widgets - in the setlist I use this same rack for all songs but have different settings in each…
There are widgets that save variations for each song parts…
If a widget ignores variations it remains the same value over all of the setlist…
I do however have widget that I need to only be the same within one song… If I would save that with variations I need to save it in every song part… so is there a way to have it KEEP its value within a song (even if I switch songparts), but if I go to the next song will be able to save an other value for that widget there…

I just tested with that gig and the problem is, that values of a widget which is set to “Ignore Variations”
cannot be saved in Song Parts.
Would be interesting if a new option “Ignore Song Parts” could solve that issue.
Or maybe the possibility to save widget values in a Song even when “Ignore variations” is set.

exactly :slight_smile:

The more I think, such a new option would make things very complicated for most other users which use different rackspaces for your use case, because it is not so easy to know or remember which widget value comes from the variation or song part…

Maybe scripting is the good way to go, let me think :wink:

As a standard, widgets are saved per variation…
So we can use ‘ignore variation’ but that makes widgets global…
There should be a setting ‘save per song’
If that would be a new addition it would not interfere with existing setlists…

As I already mentioned in the other link, I have no experience whit GP scripting yet, but I assume a song has a number within the setlist array.
Couldn’t the widget value that I would like to keep per song, then be saved in its own array with the same index as the current song?

I have an idea
Use this script:

var Guitar : Widget

on Variation(oldVariation : integer, newVariation : integer)
 if newVariation == 0 then
    SetWidgetValue(Guitar, 0.5)
 elsif newVariation == 1 then
    SetWidgetValue(Guitar, 0.9)
 end
end

And here an example gig, the trick is that the 1st Song Part in the 2 songs has the same name, but it is 2 different variations. In scripting it is possible to check which variation is selected and therefore a widget value can be set to the desired value.

SongWidget.gig (6.5 KB)

so that would mean I have to put all settings for every widget in the script - does GPscript have something like a ‘select… case…’ structure??? (to use instead of multiple if-then’s…

There are so many constructs, arrays, case structure etc.
I only wanted to show a proof of concept.

Here is the online documentation for gp script:
https://gigperformer.com/docs/GPScript35/

ok :slight_smile: as said I don’t know the language…
But if I understand correctly in this setup I would have to make variations in the rack with settings for all widgets and those would be used in the if then structure.??

That is the idea.
I don’t know what will be possible in future versions, but many things can be implemented by scripting.

But what is always possible => use different rackspaces.

wouldn’t it be easier to use variations but set a flag for the specific widgets so that when a new songpart is entered it does not change the value or just copies it from the setting from the first songpart?
Is GP object oriented? Can the script work with THIS. ?
Then the script would be the same for each widget it would be applied to?
I see a GetCurrentSongPart function that could check if I change to another songpart… so if index <>1 widget value would be oldValue or something like that…
Or do I think to easy???

Yes there is also a GetCurrentSongName function.
This way scripting can detect which Song is selected in the on Variation event.
But as I know the construct old_value / new_value for widgets does not exist.
As I understood:
You use just 1 Rackspace with different variations.
In the Songs you want to use different “starting” values for the widgets.
You want to use “Ignore Variations” because when you select a song and change a value by hand, this value should remain over all Song Parts.
With scripting you can react on the song and set the desired values for all widgets which should be get a different value than they actually have.

With Widget Arrays and other language constructs the script would not be some meters long :wink:

You have to “in den sauren Apfel beissen” and write a script.

…or you contact the developers and discuss with them what you would like to have in Gig Performer.