Incremental Program Change

I know that there is already a scriptlet available in order to do incremental program changes.
But is it possible to do this in an universal way just with MIDI CCs and PCs and if yes, then how?
The goal would be obviously to have a controller with two buttons where the left buttons does -1 and the right button +1 within a bank of presets/programs/patches.

Do you want to send these into a plugin, or for rackspace/song selection?

I want to send these to external MIDI-capable gear. For example to the Boss GT-1000 in order to change presets of the GT-1000 via Program Changes. Or for example to the Clavia Nord Stage to change presets.

The scriptlet I created can be used in the Global rackspace and the output connected to the midi out port for the GT-1000

Thank you. I will give it a try. Silly question: I have not so much experience with scriptlets. Can a gig file contain more than one scriptlet at a time?
The other question is maybe almost philosophical, if your scriptlet does what I need. But I was just wondering when I googled incremental program change I got the impression that it is not possible to do this with the tools that the MIDI protocol gives you. Before that I thought I was the most trivial thing in the world like sending a normal program change.
So do you know who it would be possible to program an incremental program change outside Gig Performer? I am just curious and a little bit confused maybe…

You can use multiple scriptlets that are managed independently - which each connected to a separate midi out port (or using different channels and sending to the same midi out port (whatever you require).

I haven’t heard of anything in the midi standard for increment/decrement. But I am no midi expert. Maybe some hardware devices have a feature for their program/patch up and down - but you’d need to review their midi documentation.


Within Gig Perfomer your Scriptlet works fine. But what would I have to do if I want to use an external controller to activate the incremental program changes instead of the backspace panel?

Add pad widgets to the global rackspace panel for Prev/Next parameters in the scriptlet, and then midi learn your controller to these.

1 Like

Is there a way to move the whole mechanism to a global rackspace so that the Incremental Program mechanism would be automatically always available in every Gig File?

Why Do you need incremental program change?

You would need to have the same global rackspace in every gig file.

In order to step through presets of synths, effects units and so on.

The scriptlet is not working?

It is working.

If the plugin supports preset step through (either via CC’s or automation parameters), you can do it without the scriptlet. But if the plugin doesn’t, how could it be always automatically available?

I don’ understand if you or npudar made the scriptlet, but anyway I just wanted to say thank you both one more time, because I now got it working with an external midi controller to trigger the program changes and sending it to an external effect pedal. The only thing is that sometimes the +1 buttons jumps 2 presets ahead instead of one preset when I use my external controller, but this is not a serious problem for me. I would still be curious how to set up an incremental program changer without the scriptlet…

I am using this mainly to control external effect pedals, not to control internal plugins within GP.

  1. Are you using momentary mode?
  2. if you are and you’re still seeing this, is it possible your controller is sending the event twice?

Please examine incoming midi with the global midi monitor to check this

When I edit the button: Do you mean that under MIDI “Momentary to latching” has to be activated? This is not activated in my case.
Or under General that “Momentary touch” has to be activated. I got that activated.
You are right that my controller is sending two midi notes instead of one when triggering the decrease or increase function. The thing is that I can not get my controller to send only one midi note. So is there any way in Gig Performer to filter out the second midi note?

Please post a screen shot of the midi monitor showing these events