Send Program Change (PC) to a Plugin in the Global Rackspace (from a Local Rackspace)

This earlier blog article and post provided two ways to send MIDI from a local rackspace to the global rackspace (MIDI OSC block and Scriptlet).

However, if you only want to send a simple message such as Program Change, you can also use the below approach (using a MIDI in block and widgets assigned as a global parameter).

  1. In the global rackspace, connect the MIDI In block for the ‘Local GP Port’ to the plugin you want to send the PC message to.

  2. Add a knob widget to the global rackspace panel and map it to the ‘PC’ parameter in the Local GP Port MIDI block.

  3. In the widget ‘Advanced’ tab, assign it as a global parameter.

  4. In the local rackspace, add the block ‘To Global Rackspace’.

  5. In the local rackspace, add a knob widget (you can copy the one from the global rackspace) and map it to ‘To Global Rackspace’ block and the global parameter you set up previously.

  6. Now, you can set the PC number via the local rackspace widget (even using multiple variations if you need to), which will change the widget in the global rackspace - which then sends the PC message to the plugin.

  7. This can be extended to multiple plugins if required.

Example Gig File:
Send PC to Plugin in Global Rackspace.gig (115.6 KB)


And how can you do this with the B-3X?

Same way, assuming that the B-3X (with which I’m not familiar) supports program changes.

1 Like

Setup PC and your presets in Hammond Plugin

In the global backspace map your widget to the MIDI In connected to the Hammond Plugin

Now you can link a widget in the local rackspace to that in the global rackspace und you are ready to go.

Here an example gig file
Hammond.gig (149.9 KB)


Thank you Paul!!!

@rank13 & @pianopaul - many thanks!
The B-3X is one of my main instruments, so this is of great help for me.

Although it’s unclear to me how the values of the widget map to the PC values.

In rank13’s sample:
when the widget=4.1 => a PC 5 is sent
when widget=8.5 => PC 11

and in pianopaul’s sample
0.6 => 1
1.2 => 2
2.2 => 3
3.2 => 4

Is there a formula to calculate the mapping? Or is it just found by trial and error?

Alright, I just found the answer here:

I just have to add an “m” to the widget’s value.

Thanks to all!