Sustain pedal for multiple functions

Hello all. New GP user here.

This will probably get a little long.

I recently switched to GP4 after using MainStage for 12 years of touring and various live gigs. MainStage never once let me down, no crashes ever, but I switched because I think GP is simply better, with a more versatile, robust and CPU friendly design. That’s crucial for me, as I am currently out on the road with my fellow Zappa alumni, on a U.S. tour with King Crimson.

A couple of years ago, I radically changed my approach to MainStage, based on concepts I picked up from a patch/template designer called Sunday Sounds. They structured their workflow with an elegant template that held four different patches in one workspace, and allowed for stacking those four sounds in various ways within that one screen, no switching of pages in the GUI. I took that concept much farther and built a single workspace with 16 sound sources all available and visible simultaneously, controlled by two keyboards with 8 sounds controlled, switchable and stackable by each keyboard. Quick side note, this must be done by programming bypass on and off switching per sound, not just muting or soloing, in order to keep CPU load under control.

Each of my controllers have 8 on/off buttons that light up or turn off, and correspond to switches that also light up and turn off on the MainStage GUI I built, so you always know the status of all 16 patches at once, whether you’re looking at the keyboards or the computer screen. For me, it’s a much more visually intuitive and comprehensible way to control, stack if desired, and stay on top of a 16 patch live rig, rather than have on screen total page changes every time you call up a sound.

So a couple of months ago, I picked up GP, right when the version 4 upgrade happened, and built that same setup in GP4. There’s just one small detail I haven’t sorted out in GP4 that was easy to connect in MainStage.

I have one volume pedal and one sustain pedal. I linked the volume pedal to the overall gain of the entire gig setup. The sustain pedal currently only talks to the lower keyboard, the one it’s physically plugged into. It’s not a deal breaker, but I would like very much to set it up in GP4 as I did in MainStage, so that the sustain pedal can control any sound in the entire setup, no matter which keyboard is triggering that sound, and be programmed on a per patch basis to control appropriate functions, e.g., sustain on a piano sound and Leslie speed switch on an organ sound. I’m thinking it probably needs to happen via either a global rack space or a system action, but I haven’t yet wrapped my head around a way to program a sustain pedal in GP4 that way. I believe the sustain pedal widget is new in version 4, so it’s probably not yet been widely used. I’m not sure that GP4 even “knows” the sustain pedal is there as a separate entity in my physical rig at this point.

Anyway, sorry for all the verbiage, but if anyone has a way to make GP4 identify my sustain pedal and get it talking to all 16 sound source plugins in the entire rig - thank you very much in advance!

1 Like

The issue with the sustain pedal can be solved I think.
Csn xou please upload a small gig which shows the issue?

The problem is that the CC 64 (sustain pedal) is coming only from 1 device but you need it “coming” from any MIDI device you connect you plugins.

I think with a little scripting that can be solved.

Hi @MultiMartinMusic, I made a monster all purpose rackspace which mixes 8 switchable instruments plugins and a set of reassignable MIDI controllers switches and pedals. You can assign any MIDI keyboard controller to any instrument from the main panel. You can also have different combination/settings stored on a per variation basis. It was thought to explore a bit a different way of using GP which is very close from what you describe. So, take the time to have a look at it (a lot of Scriptlets inside) and check if you can reuse some concepts for your own use case.

e.g.

4 Likes

@MultiMartinMusic
This is trivial to do in Gig Performer. Simply use two MIDI In Blocks, both of which are associated with the same physical keyboard.

screenshot_5161

For the “Keyboard” MIDI In Block, block the Sustain event:
screenshot_5160

screenshot_5162
For the “Sustain Pedal” MIDI In block, simply block all incoming events except the sustain pedal.

screenshot_5163

Save those blocks as “favorites” or as “Presets” so you can trivially reuse them and you’re done.
For example:

screenshot_5164

This is basically how I do it in my own home studio setup.

7 Likes

Thank you for your reply, pianopaul, much appreciated. My gear is currently in transit from California to New York, so I can’t physically undertake any of the suggestions offered yet. I think dhj has offered a simple and elegant solution below using two seperate MIDI in blocks with basically opposite settings. Does that look feasible to you? Thanks again.

Thank you for your reply, David-san, much appreciated. My gear is currently in transit from California to New York, so I can’t physically undertake any of the suggestions offered yet. That looks like quite an amazing gig you’ve built and I look forward to studying it when my gear is available again.

I think dhj has offered a simple and elegant solution below using two seperate MIDI in blocks with basically opposite settings. Does that look feasible to you? Thanks again.

Thank you for your reply, dhj, much appreciated. My gear is currently in transit from California to New York, so I can’t physically undertake any of the suggestions offered yet. I think you’ve offered a simple and elegant solution and I look forward to implementing it as soon as my gear is available. Thanks again.

If it works for you,the simplest is the better.

My rackspace pushes the limit a bit farther and it is up to you if you want to go in this direction which seems to be the one you haven chosen. But, this can also change. My sample rackspace is a case study, which doesn’t mean that working with a single rackspace is my favorite way to use GP, but I think it brings some interesting solutions (e.g. the Plugin Persist Scriptlet) and shows the limits. Feel free to test it :wink:

I like the solution of dhj and it should work

3 Likes