Please enable JavaScript to view this site.

Gig Performer 5.x User Manual

Navigation: GPScript

Local GP Port

Scroll Prev Top Next More

The Local GP Port feature is a very advanced feature intended for the most sophisticated Gig Performer users.

The Local GP Port exists only inside Gig Performer. You can create MIDI In blocks that receive MIDI events from the Local GP Port, and widgets can be associated with MIDI events arriving at this port, just like any physical MIDI Input port. There is also a MIDI Out Local GP Port.

Note: this is not a virtual MIDI port visible to other applications. If you want to send audio to other DAWs or hosts, use a GP Relayer block.

The main purpose of this feature is to allow widgets to respond to incoming SysEx messages. GPScript lets you define a callback that will respond to incoming System Exclusive messages. If you use this callback, you can detect the changing bytes (one, two or more, depending on the particular message) from the SysEx message and generate standard MIDI channel messages out of them. If you inject such messages into the new Local GP Port, widgets can learn those messages and then control plugin parameters as usual.

Note: this is the reason the MIDI Monitor windows have the ability to display SysEx indices. It makes it easier for you to see which values in the incoming message need to be detected and captured.

MIDI events can be injected into the Local GP Port:
- from GPScript using the InjectMidiEvent function,
- or using a Local GP Port MIDI Out block.

 
To use this feature with GPScript:

1.Use GPScript (in a rackspace, scriptlet or the global Gig Script) to create a MIDI channel event (e.g. CC 42) and inject that message into the Local GP Port.

2.Open the Rig Manager and define a control that responds to that new CC event.

3.Have your widget learn the message in the usual fashion.

 
The MIDI Out (Local GP Port) is designed to receive messages from plugins such as the MIDI File Player, Envelope Follower or other third-party plugins such as arpeggiators so that they can be mapped to widgets.

Important: do not connect any MIDI In (OMNI) device to this MIDI Out block to avoid creating a MIDI feedback loop.

Note: if your trigger is another MIDI message coming from some other physical port - you will get a popup in the Rig Manager indicating that multiple devices were detected while learning your control:

Multiple-devices-detected

Simply select the Local GP Port as your device:

Multiple-devices-detected-local-GP-port

The resulting entry in the Rig Manager:

Local-Port-Rig-Manager

 
Here is a simple script that injects everything that comes into a Scriplet plugin back into the Local GP Port:

On MidiEvent(m : MidiMessage)

    InjectMidiEvent("Local GP Port", m)

End

 

This script is used in this blog article.

If you want to name the "Local GP Port" in the Rig Manager to e.g. GP1 - you can then use the following function:

InjectMidiEventViaRigManager("GP1", m)

 
Now simply drop a widget in and in the MIDI tab select the defined "Knob 3", for example.