Safe MIDI Value Strategy?

As I add functions and start mapping things, it seems like it will quickly become nearly unmanageable to keep track of what MIDI commands are in use. Gig Performer makes seeing some of these easy thru Window/ MIDI Assignment List. But I am not sure where else some assignments may be hiding.

I’m using individual CC’s to do pretty much everything.

I see from forum searches that CC 0 and CC 32 are used by GP

Also 120-127 looks often reserved

Someone linked these as safe: 3, 9, 14, 15, 22-31, 85-90, 102-119

This seems like more than enough, but are somewhat scattered. Are there other ranges that are generally safe to use?

So far I am only using CCs but I see that some things can (should?) have PCs assigned to them. Should I be moving away from CCs? Most of my MIDI is for toggling bypass of FX states, picking song parts, picking songs and expression pedals

The best general guideline I can think of are the official MIDI specs I found here (look at table 3):

However some plugins may use more than that to control additional parameters.

If you want to be 100 % sure nothing unexpected is coming, you could use a gig script to allow only the CC message you explicitly want. But be aware that this is a global treatment.

I personally do it differently, partially also due to similar concerns: I collect all my MIDI inputs in the global rackspace, run the stream through a MIDI filter plugin and inject it into the “Local GP Port”. In the local rackspaces I only use this port as a MIDI input.

I do the same as @Florian, all my midi input is “washed” in my global rackspace to provide clean and consistent streams of MIDI data containing Note ON/OFF, Channel aftertouch, Pitch and a very limited set of CC values for modulation wheel, sustain. These steams are channelised one per keybed or control surface.

Any further required control, comes in via Rig manager and control aliases.

No scripting is required for this, the filters are applied in the MIDI In block. For additional fine gain filtering you can imply add a MIDI filter block in the flow. Channelisation is done as the last operation before the feedback output.

To simplify the workflow I have MIDI in block favorites saved with predefined names and channel filters.

More details here

@Florian and @Spav

I invite you to share your tips in the Tips forum, along with the screenshots. :beers: