Sustain pedal won't work with AU


In Gigperformer4 I created on the global rackspace a sustain widget. When I use the learn function it recognises the pedal on CH1 #64.
I use 2 keyboards: Deepmind12 and Arturia Keylab Essential 61.
The sustain pedal is hooked up on the Arturia.
When I press the pedal when playing the B3 from Arturia, I see in the rackspace that the pedal is pressed but the note doesn’t sustain.
What could go wrong? In Logic Pro or the standalone B3 version, the sustain pedal works perfectly.

As soon as you bind a controller (here: your sustain pedal) to a widget, the message is “intercepted” by the widget and no longer forwarded.


Hi @chucknology, welcome to the family.

Also, I have found that the sustain function is not inherently set up in all organ plugins.

Hi @chucknology, welcome to this community forum.

First of all, once you assigned a MIDI message (e.g. CC64) to a widget, you MIDI controller only controls this widget, nothing else and no more else. In order to control a plugin, this widget has then to control one of its parameter. If Arturia B3 has a sustain parameter, that’s the one you have to assign to the widget. If, to be sustained, a plugin need a CC64, then you can assign the CC64 parameter of the MIDI in block which is connected to the plugin. But basically you should never have to control a plugin using MIDI message, but only host automation parameters.
In the present situation, if your plugin has not sustain implemented, as @jpt mentioned, we have a GP Scriptlet plugin which can be added on the MIDI path to the plugin and which sustain parameter can be mapped to a widget.


@chucknology I set up a little example file to show you how to deal with this:
The general strategy of Gig Performer is the usage of widgets as “in betweens” to connect any MIDI-controller with any plugin- or system parameter!
So, there are always two sides of a widget connection:

  • The MIDI-side, which is about how your hardware is connected to the widget, one could call it the widget’s “input”.
  • The plugin- or parameter-side, which is about what your widget is going to control. This can be bound to a plugin’s parameter (remember: MIDI-IN blocks are plugins too!) or a system function. This could be called as the widget’s “output”.

So if you decide to use your sustain pedal (CC#64) to control a widget, the result of what the widget will do on the parameter side is completely up to you - it needn’t to be controlling the CC#64, instead it can be bound to a completely diffrent parameter!

This is what i did in the first rackspace of the gig file;
If you want it to act as a sustain pedal, you either don’t need to place a widget for it on the panel, you just could use your pedal. Or, if you want to have a pedal widget on your panel that controls CC#64 (maybe for optical reasons?), you can do this. Connect it MIDI-wise to your pedal and connect it plugin-wise with the MIDI-IN block that is connected to your plugin and use the CC#64 to be controlled.

This is what i did in the second rackspace of the gig file:
You may want to use your pedal controller for more than just one purpose…
Like in my example, where i used the pedal CC#64 to switch on the Tremolo of the keyboard plugin but also make it wor as a sustain pedal, so that if the pedal is pressed down, it will sustain the notes and at the same time switch on the Chorus (maybe a nice effect for an ending sequence of a song?).
So, to achieve this, i used two widgets which i grouped together, so they will always be in sync to each other… one widget is MIDI-connected to the pedal controller and plugin-wise connected to the Chorus ON/OFF parameter while the other is MIDI-wise unconnected (but in the same widget grout as the other :wink: ) and plugin-wise connected to the MIDI-IN block’s CC#64 parameter.

Here is the example gig file to see how it was done:
sustain_forwarding.gig (62.3 KB)


Thanks for the comments. I will check this back in the rehearsal room!