Convert midi PC to midi CC

I’m a guitar synthesist. Just trying gig performer with MidiGuitar3 Hex. My older floor pedal only outputs PC messages on midi channel 1. I would like to convert those PC messages to CC messages for the purpose of toggling on and off various instruments or FX in Gig Performer. This is my main pedal (Antares ATG-1) it is no longer made and can’t be replaced. It’s also very large and I cannot add more pedals to my set up. It has 8 useable foot switches that I want to control my various VST instruments in Gig Performer. PLEASE HELP, only thing I’m seeing is something called BOME MIDI Translator and it does not seem to be a pluggin.

It’s possible to use GPScript and a “Gig Script” to convert all incoming PC messages from that controller into CC messages.

You first need to create an alias for your controller in the “Rig Manager” as that is what the script will be referencing.

If you read up on the topics I’ve highlighted in quotes in the GP manual, we can then help you from there.

1 Like

You can also do this in scriptlet which means you can just put it the MIDI path. This simple script assumes PC 1 to PC8 and outputs CC#81 - CC#88 On followed by Off 100mS later.

On ProgramChangeEvent(m : ProgramChangeMessage)
    var pgNumber : Integer = GetProgramChangeNumber(m)
        cc_num : ControlChangeMessage

    cc_num = MakeControlChangeMessage(80 + pgNumber, 127)
    SendNow(cc_num)
    cc_num = MakeControlChangeMessage(80 + pgNumber, 0)
    SendLater(cc_num, 100)
End

Make sure the following options are set in the Global MIDI dialogue.

NB. If you have songs you may also need to set the “Only accept program change messages on specific channel” and separate the PC messages from your pedals from the PC messages used to switch songs in Setlist View.

1 Like

Thank you! I will search for Highlighted sections in the GP manual under
“Rig Manager” now

Thank you both. I’ve created the alias for my controller in Rig Manager. I’ve looked over GP script section but I’ve never been much good with coding. My goal is be able to set my PC# to some unused CC# then have sample tank midi learn those numbers to toggle mutes or FX. I will look at your code above and see if I can copy and paste it, and adapt as needed. THANK YOU BOTH FOR YOUR RESPONSES! I’ll be working on this tonight, but I’ve never been much of a coder. Will post my results. THANKS!

Insert a “Scriptlet” plugin from the MIDI Processing and Monitoring (right click menu) open the editor and cut and paste the code above directly into the editor. Click compile and you should have a working script that can be placed in the MIDI chain in a rackspace.

1 Like

found it… Thanks! will see what happens

If you can set the PC numbers, the script could just convert 1:1 and you will not need to add 80 as in the example.

Seems I have another issue now. The pedalboard "MIDI IN (ATG-1) does not show output in Midi Monitor window, But it does flash the green light at the top right showing midi activity when a button is pressed. I have also opened another similar software called ELEMENT and it’s midi monitor shows PC messages on Channel 1. I don’t understand why GP midi monitor is not showing these messages. Could I have messed it up with the alias in Rig Manager?

It does show up in the Global MIDI Monitor, just not in the plug in MIDI monitor.

Have you checked the Global MIDI options?

If you have songs make sure you have set the options to avoid changing the song.

Specifically the Global MIDI Monitor shows Program change 0 Channel 1 if I press the first button. I don’t use songs. where do I find the screen shot you just sent?

Found it

Did you “Apply” in Rig Manager?

I think GP will steal PC#0 if you do not change the “Only accept…” option to a channel other than 1. Or you can change the channel that your pedals send PC on.

1 Like

You should be able to run this gig file it uses the Omni MIDI In block to simplify testing and has the monitor on the output of the script block.
PCTest.gig (17.6 KB)

1 Like


I had to create a new account because I just became a member tonight and it said I had used up all my posts!

Thanks I appreciate all your help, ErolBlocked is me Erol-80Hz

I opened your PCTest.gig and connected a sampletank4 after the MIDI Monitor. It still doesn’t seem to be able to learn. I really appreciate all your help tonight, we’ve made a lot of progress that I could not have done without your code! but seems like I knock down one wall only to find another. I’ll be at it a while, let me know if you think of something. I probably have 5 more replies before they cut me off again LOL