Working with Widgets


i spent all day yesterday trying get my widgets set up for my racks, but unfortunately did not get too far. I am real excited about this aspect of GP. My laptop is view-able in my onstage setup and the visual feedback of those controller settings will be great, for me, I think (my one gripe/feature request with Forte was to have the particular plugin’s gui and arrangement on the screen saved with each scene… for exactly this reason).

But I have a 12.5" display and maybe this is causing me problems. I tried all sorts of combinations of resolutions, full screen, hide task bar, etc.but couldn’t quite get it together.

  1. When I enter edit mode, the dialogue box that comes up at bottom of the screen covers much of the actual rack space to be edited. In the best case scenario with full screen mode, I can get about 1 3/4 racks displayed. That’s’ workable for me, although any widget placed at the bottom of the rack has to first be sized and labeled higher and then placed blind at the bottom and then checked by leaving edit mode and so on and on. Designing in a one rack space and then expanding does not work as the widgets then get displaced… so the possibility of having 3 or 4 space rack does not seem possible for me. Not a biggie, I can work with 1 and 2 space racks…but maybe that top rack part could be scrollable.

  2. It would be great to have increment/decrement functionality for widgets.

  3. I realize the following is more in the realm of wishful thinking, but with the 12.5" display, I am trying to maximize screen space and the widget display… so I have to ask about that bottom section of GP with the record button and in and out faders. Man that is a lot of wasted real estate for me… and even the little bit of functionality isn’t anything I would be using. Maybe that could hide-able?

3b. Particularly if the bottom section can’t be hidden, but regardless, my favorite view is definitely full screen. However in full screen mode I miss a couple of things…and I won’t be toggling on stage. First is a clock…Second, I sometimes pull up lyrics. I was intrigued at first with the song lyric- chord functionality in GP, but this does not actually work in a way useful to me. To be able to have lyrics (maybe chords charts for some) folder accessible within GP, not tied to “Songs,” would work nicely for me. And ultimately maybe that bottom section could take on added functionality with a clock and ability to place shortcuts to Lyrics and other functions of GP (although I must say it is already pretty easy getting wherever you need in GP).

I am brand new to GP, so I apologize in advance for any misunderstanding on my part or mistakes I am making.


So I seem to have to achieved the rather ignoble distinction of submitting one of the only posts in this forum that absolutely no one cares to respond to. This make me very sad.

I searched the forum using search terms like widgets and layout etc to be sure this wasn’t already asked and answered but nothing came up. And I don’t really know what is so uninspiring about my post… or too dumb or naive or whatever to answer.

Number 1 seems to be a legitimate glitch, no? I can only design one space racks…or two with a lot of extra hassling. Ok maybe a relatively minor cosmetic issue, but nonetheless an issue. There are definitely racks for me where it would be real nice to have the enlarged widgets a 3 or 4 space rack would allow me.

Number 2… I could be missing something or misunderstanding, but having the functionality to use widgets to send increment/decrement seems like a decent request many would appreciate.

The rest I already qualified as being just wish list stuff, but really?. … again no one else is interested? Sure seems like some customization and ability to maximize screen real estate is helpful.

Oh well, just wanted to answer myself anyway. The 0 replies was just too depressing to see when I check out the forum


Hi Lily,

best would be to raise a support ticket, the developer will react very soon.

“It would be great to have increment/decrement functionality for widgets.”
I do no understand the question: What should be incremented/decremented?
You can use scripting and react on the value that is sent by the widget.

“When I enter edit mode, the dialogue box that…”
You can scroll the upper region with the mouse wheel (I am on Mac, with the mouse wheel I can scoll)


Some answers to your questions (not a developer):

  1. As PianoPaul says, the top part is scrollable. I think you need to scroll at the edge of the rackspaces but it is definitely scrollable! I have 6 or 7 panels in my rackspaces with no issues editing them.

  2. A good idea for the future maybe, but easily achievable with GPScript currently. Let me know if you would like any help with the scripting of this.

  3. Again another possibly valid request - for feature requests I’m not sure how the Devs like to hear of them; on here or support ticket.

They definitely read the forums etc and are great at responding - your initial post was more a list of things that have been mentioned in other posts etc before and only one real question (scrolling in rackspaces editor, which is a totally valid one). 5days isn’t a huge amount of time to wait for a reply on a public forum - the developers are busy people and the support ticket system is where to go if you want quicker answers to genuine questions on functionality or bugs. The forum has a load of users with experience of GP but they aren’t all reading all the time so sometimes it takes a while to get an answer. Apologies if that comes across wrong, but the main point is that the developers and us who use GP a lot are really up for helping out, but sometimes it won’t be instantaneous!!

As mentioned, feel free to drop a PM if you want any scripting or other support :slight_smile:


Hi Lily,
sorry, i can’t help you with your screen-size problem, but i also think that a ‘hiding option’ for the bottom section may not be the worst idea…

For increment/decrement widgets you could use GP-Script (as Pianopaul already mentioned), but maybe if you tell us what you are trying to do with them, we propably can help you to solve the problem in another way?

There is one point in your wish list that i like to pick up: The clock (which just shows the actual time)
@dhj: maybe there could be a similar tag like [value] for captions… what about ‘[time]’ that could be used as a caption of a label-widget? Maybe this is something that could be implemented as a nice goodie?


It’s on our todo list already. It’s has been mentioned before and we do think it is a good idea.


I use GP with a 10” touch screen so I understand your concerns.

  1. It is scrollable with the mouse wheel, but I agree, it could be nice to be scrollable by grabbing the border of the rackspace especially when you don’t use a mouse but only the touch screen.
  2. Sorry, but I am not sure that a generic increment/decrement widget makes sense, as +1/-1 makes a big change when it comes to program change or transpose, but it doesn’t change much in the case of a volume adjustment. As other GP users told you, for a specific need, the GP script can solve the problem.
  3. Using a 10” touch screen, I definitely agree with you. But I think the GP developers do their best to make us happy. So, be patient, the best is probably yet to come! :wink:


OK sorry! Yeah I was a little disappointed no one had shown any interest in my post, but that was meant to just be a little tongue in cheek bump to my thread. But yeah sorry if I was not patient enough. I guess I am just an overexcited newbie. However I did search the forum as best I could to try and find any related posts. And not seeing any dedicated feature request/wish list sub-forum, and seeing other feature requests in this one, I figured this was the place to do it.

Thanks so much for info on scrolling top part of rack edit screen! For whatever reason it does not work with my track pad, but I plugged in a mouse and indeed if you scroll on the outer edge of the rack it will scroll. But yes, I do agree this should be doable for those times without a mouse.

I would like a widget be able to send a message to move up or down to the next value being controlled. This is mainly for preset changes, but I also prefer to use that approach for things like the vibrato/chorus knob on an organ sim… just find it less fiddly on stage than a knob for those kind of discreet steps. And yes I would LOVE help with scripting for that!

Thanks guys for the help and bumping up my reply count!!


I am on Mac and with the touchpad I can scroll.
I just put 2 fingers on the pad and move => scroll does work.


That’s something that’s definitely do-able. I’ll have a look later and post something unless anyone else gets there first! :upside_down_face:


As it happens I had some time now…

Try this in a new Gig file first so you can have a play around with it without breaking any existing gig files.

Add a knob (any kind) and two LED buttons to a rack panel. Click on each widget and set the Name of them to:
Knob = knobControl
Buttons = btnInc and btnDec

Now open the script editor and paste in all of the code below:

var btnInc, btnDec, knobControl : Widget
step : double

// Called once when rackspace is first loaded

step = 0.1      // This is the value the buttons will Inc/Dec by. The widget range is always 0.0 to 1.0


// When the increment button is pressed, this logic runs
On WidgetValueChanged(ctrlVal : double) from btnInc
var curVal, newVal : double

If ctrlVal > 0.5 then                       // only runs when the button is pushed
    curVal = GetWidgetValue(knobControl)    // Gets the value of the Control knob
    newVal = curVal + step                  // Adds 'step' on to the current control knob value
    SetWidgetValue(knobControl, newVal)     // Sets the control knob to the incremented value
    SetWidgetValue(btnInc, 0)               // Sets the button back to OFF


// When the decrement button is pressed, this logic runs
On WidgetValueChanged(ctrlVal : double) from btnDec
var curVal, newVal : double

If ctrlVal > 0.5 then
    curVal = GetWidgetValue(knobControl)
    newVal = curVal - step
    SetWidgetValue(knobControl, newVal)
    SetWidgetValue(btnDec, 0)


Now, set the control knob to any value. When you press the increment and decrement buttons the value on the knob should jump up/down by whatever you set the step value to in the script. The widget range is 0.0 to 1.0 which maps to 0 to 100%. So a ‘step’ of 0.1 will jump the widget up and down by 10%.

(going in to teacher mode)
Have a read through the script and once you are happy with how it works, see if you can create a script where the step value is actually taken from another knob widget.

So when a button is pushed, the script will read the value of the ‘step knob’ and then apply that as an offset to the control knob.

Let us know how it goes!


(make sure you scroll down in the code box above to get all of the code!

And apologies if the teacher bit seemed patronising in any way!)


Good idea and well explained (nice exercise too). :+1:


@speed12 That’s fantastic…and looks to be really well laid out and easy to follow. Thanks so much. I look forward to delving into that this afternoon


@pianopaul You are correct. Sir! Did some more playing around. I am on PC and while my trackpad does support two fingered scrolling as well single finger along the right edge and seems to work on most everything else, it will not work that way on that rackspace. But if I hold the left button and use either of those methods I can indeed get it to scroll. I am sure I tried that at some point, but of course you also need to have your cursor on the faux metal frame as well for it to work. Got it now, thanks.


Actually, I thought that was the best part. It’s great that we can learn from each other.


@speed12 MISSION ACCOMPLISHED! However relatively easy and straightforward writing that script may be. it is definitely not something I would have delved into on my own. so I truly appreciate the help. And I will indeed figure out the next step as well for the offset knob


Great, glad it worked!

The way the developers have created GP Script it’s a brilliantly simple language to pick up. It’s simple to make little things like these buttons, but also powerful enough to almost have a little sub-program running.

Once you are comfortable with the button script and your ‘homework’, have a look through the scripting section of the forum and try out some of the scripts and try and work out what each bit is doing.

Obviously shout if you are unsure on anything as we’ll try and help!