This article introduces GPScript, the built-in, open-ended programming language included with Gig Performer Pro to enable custom, highly sophisticated behaviors for live audio performance.
Link: The GPScript Programming Language - Gig Performer®
Key Takeaways
1. Purpose & Core Philosophy
-
Extensibility: GPScript gives Gig Performer “open-endedness,” allowing musicians and sound designers to add complex or niche features not natively built into the core user interface.
-
Target Audience: Designed for users with a basic understanding of programming who want granular control over plugins and MIDI routing during live sets.
2. How It Works
-
Plugin Handles: Plugins and MIDI blocks inside Gig Performer’s Wiring view can be assigned unique script names (handles), making them targetable programmatically.
-
Event Callbacks: GPScript relies on event-driven programming. You write callback functions that trigger automatically when specific actions occur—such as receiving MIDI notes, moving a widget, or tweaking a plugin parameter.
3. Practical Example: Custom Keyboard Tracking
The article illustrates GPScript’s power through a step-by-step synth programming example using The Legend (a Minimoog emulation plugin):
-
LFO Rate Scaling: Standard synths allow keyboard tracking for filter cutoff, but GPScript enables assigning keyboard tracking to LFO frequency. Playing higher keys automatically speeds up the LFO by intercepting MIDI note events, scaling the note value, and adjusting the corresponding plugin parameter in real-time.
-
Aftertouch Modulation: By adding an aftertouch callback, the script maps incoming channel pressure directly to the plugin’s modulation depth (Mod Wheel parameter), adjusting LFO depth on the fly based on finger pressure.
4. Supported Events & Community
-
Supported Triggers: Callbacks can respond to standard MIDI messages (Notes, Control Change, Pitch Bend, Aftertouch), widget interface movements, and automated plugin parameter updates.
-
Ecosystem: Combined with Gig Performer’s built-in functions, GPScript allows users to build custom MIDI processors, dynamic parameter mappers, and interactive performance utilities.