Release Notes

28th October, 2023 - Version 4.8.2

Gig Performer v4.8.2 is a minor update that includes some minor bug fixes, feature enhancements and stability improvements


Streaming Audio File Player

  • You can now copy actions from one marker to another in the Streaming Audio File Player
  • You can now copy all markers in a track to the clipboard and paste them back into another track (or after updating the same track)
  • The Timeline Actions Tool now includes a Comment text field for every action, making it easier to find specific actions from the Jump to Action dropdown box
  • The Set Widget Value action now allows momentary widgets to be reset automatically.

Rig Manager

  • You can now quickly remap all incoming MIDI messages from arbitrary channels to a single channel

Radio buttons

  • Radio buttons can now respond to variations

Startup options

  • You can now optionally enable logging of plugin loading progress when opening a gig file. This troubleshooting feature helps you to identify crashing or misbehaving plugins


Other changes and updates

  • Multiple markers are no longer allowed to be at the exact same location.
  • The MIDI File Player now responds to time signature events – denominator can go to 64th (per SMF specification).
  • There are new GPScript system functions
  • Duplicating a timeline action will now include all the content that was in the original action
  • Various other bug fixes
19th August, 2023 - Version 4.7.0

Major New Features

  • Streaming Audio File Player plugin – allows 1,000 audio files to be immediately accessed without RAM impact
  • Timeline and Actions
  • Auto Sampler
  • Radio Groups
  • MIDI Finger Tap
  • Custom Font Support



  • Widgets can now be locked to prevent them from being changed by the GUI.
  • Labels attached to parameters are optionally no longer read only and can now be numerically edited to adjust the parameter value. Double values between 0 and 100 are allowed as are MIDI numbers
  • There is a new dialog that displays a list of all plugins in use by your gig file. The list can be exported as a CSV file as well.
  • The Rig Manager now supports reverse polarity, typically used for some sustain pedals
  • The Plugin Manager now supports user keywords (tags) so that users can do their own categorization. The Quick Find dialog will include these keywords for search purposes.
  • Knobs, sliders, buttons and label widgets can now have their fonts changed, as can the GP Script Editors and Log window
  • You can now paste color and font attributes of a widget to multiple other widgets
  • You can now cancel an ongoing load of a new gig file by holding down the SHIFT key – useful if you have started loading the wrong gig file by mistake
  • You can now choose from multiple tap tempo detection algorithms
  • The setlist display now allows zero rows of song parts, giving you some extra space in the display
  • You can now select multiple widgets and attach them all to the same plugin in one go – (you still have to assign actually parameters to each one of course)
  • MIDI In blocks now have an option to quickly rechannelize all MIDI channels to a specific channel or to reset them all to the defaults
  • You can now double-click on a widget entry in the MIDI Assignment Viewer to edit the underlying widget properties – makes it easier to find a “suspect” widget that’s blocking something
  • Pressing backspace while mouse is over a wire will delete the wire — Undo is available to reconnect the wire
  • SHIFT-CMD-W will now close the active top level window except for the main GP window, where you just get a warning that you can’t close it that way



  • Check the architecture of a DLL in the plugin manager. In particular, doing this for a failed plugin will let you know if the plugin was 32-bit (Windows only)
  • Song transpose no longer changes global transpose – rather it behaves as an extra offset only – this makes it simple to transpose an entire setlist
  • The Rig Manager now lets you control which MIDI Input devices will respond to (or ignore) incoming MIDI clock messages. This addresses the problem where multiple hardware clock generating sources screws up GP tempo detection.
  • Added start up option to disable system actions – intended for emergencies if you accidentally gets locked out of a rackspace due to a misprogrammed widget
  • The Plugin Manager now has a view filter so you can restrict the list of plugins to make it easier to find a specific plugin. The total number of plugins currently visible is displayed beside that filter
  • The System Actions plugin can now “announce” the current bar and beat when playhead is running
  • There is a new Locations tab in the options dialog that allows you to change the top level folder for GP content
  • Added sanity checks to the OSC configuration settings to reduce the risk of OSC loops
  • Increased the number of global rackspace parameters to 256
  • There is a new widget popup menu to facilitate applying multiple operations more easily
  • The AllSoundsOff message is now also sent out whenever AllNoteOff messages are sent out
  • The Expression Designer (for scaling curves) now lets you see and/or enter exact values for X and Y, allowing more precise control for setting points. For example, this makes it trivial to create a 50% off/on shape.
  • OSC addresses now allow both +’ and ‘-‘ characters
  • The OSC subsystem can now be used to synchronize rackspace/song switching across multiple GP instances
  • Added support for /pluginhandle/Bypass OSC command (parameter is 1 to bypass, 0 to unbypass)
  • Added more colored widgets
  • Widget groups are now called widget links to avoid confusion with the new radio group feature
  • Added an explicit menu option to Plugin Editor menu to force widgets mapped to plugin to refresh – this is useful when a plugin does not automatically inform the host of parameter values when a plugin preset is changed
  • You can now set predictive loading to 1 meaning that only one rackspace or song will be loaded at a time.
  • The comma is now interpreted as a decimal point in the touch keypad dialog
  • The filenames of audio files created when recording input and output now have an I_ or O_ respectively prefix so that there are no conflicts if the actual I/O names are the same in the audio interface
  • The options dialog header now scrolls to provide access to more options
  • The  MIDI file player now has a parameter to set manual BPM
  • Manually bypassing a plugin will present a popup warning (you can “don’t show this again”) explaining that bypassing a effects plugin does not block audio – it simply allows it through unchanged
  • The System Actions plugin now has parameters for moving through variations but never switching to another rackspace
  • We no longer check to see if “recent files” actually exist – this prevents temporary freezes if a file is on a network drive that’s not connected
  • The GP-SDK, used for creating 3rd party extensions for Gig Performer, has significant new functionality – check the GP-SDK documentation for more information


GP Script

  • Implemented a new SendOSCMessage built-in statement – this is part of the language, it is not a system function
  • GPScript now supports CONST declarations – no expressions allowed, just single values but very useful with “Matching” clauses
  • The SwitchToProgramNumber function can now be used in a scriptlet
  • Added SwitchToProgramNumberEx function where you can specify MSB and LSB individually
  • You can now define user variables (up to five for now) that can be accessed from a script using the new GetUserVariable function call
  • Defined a new global constant, LocalGPPort, which can be used instead of the string to refer to the local GP port
  • Added new option to Scripting section to control whether runtime line number information should be retained – note: enabling this increases RAM requirements
  • It is now possible to get the line number of the approximate location in a user’s GPScript source code that caused a crash. The error information is also appended to a file called GPScriptErrors.log saved in the default documents folder in case the error actually crashes Gig Performer
  • The GP Script log can now print multiple lines. Use the heredoc syntax <<<>>> to define a newline if needed
  • Added option to warn if variables of type double are not initialized
  • The OSCMessageReceived callback now allows OSCAddress types in the matching clause, no need for strings anymore.
  • Added option that halts a script if a double contains a NAN – fixes crash to GUI when setting a widget value to NAN by mistake
  • Added a millisecond Sleep function to GPScript (be careful with this)
  • System Functions are now declared at a higher lexical scope so that name conflicts will no longer occur should a system function have the same name as a user declared variable or function
  • Added many other new system functions – check online for the complete list



  • MIDI In and MIDI Out blocks now properly respect splits when handling polyphonic aftertouch messages
  • Scriptlets now restore their state after a recompile due to rig manager or other manual recompile of the whole system
  • The OSC Server is now started before we perform the first activation — fixes problem where some OSC messages were not being received at startup
  • Fixed a long-standing problem where duplicating (or copy/pasting) a plugin block after clearing its OSC/Script handle would cause the new block to have the old handle in it
  • ChordPro file gets saved automatically when CMD-S is used to save the gig file
  • Fixed problem where all WidgetChanged callbacks were being triggered in global rackspace after closing options or tuner
  • Fixed problem where a brand new empty gig would offer to save changes when you close even if you didn’t actually do anything
  • Fixed problem where tempo decimal places was not applied to songs and song parts when reloading gig file
  • Fixed a crash that occurred if certain GPScript functions were called before the system was initialized, e.g. GetVariationCount in the initialization section of the global rackspace script
  • Numerous fixes to MIDI File Player
  • Fixed a problem where backspacing got screwed up after inserting an “intellisense” line in a GP Script editor window
  • Fixed problem where ChordPro files were getting lost on Windows – due to problem with backslash character – GP4Beta-1527
  • Fixed crash on exit if tuner was visible
  • Fixed some seriously obscure OSC issues that were causing incorrect behavior as well as occasional crashes — these were all related to controlling plugin blocks via OSC.
  • Fixed problem where code helper wasn’t wide enough to see all entries in a GP Script editor
  • Many other optimizations and and approximate 150 other minor fixes have been addressed
29th May, 2022 - Version 4.5.8

New Features

  • Recording: Gig Performer can now record audio **outputs*to files
  • The recording system now supports recording stereo to a single file for both input and output
  • Widgets attached to CC controllers, using the new **Follow Hardware*property can now automatically update to the controller value when you switch rackspaces.
  • Widgets can now be hidden when not in edit mode
  • Widgets now support various relative CC modes
  • Widgets now support MIDI Thru.
  • Implemented ability for users to change the font size of racskpace, variation, song and song part names in the left hand lists.
  • Some widget operations are now accessible in non-edit mode by holding the shift down and clicking on a widget. They include some scaling options, the ability to open the associated plugin editor, and quick access to the widget inspector.
  • Blocks can now be inserted into an Audio/MIDI path automatically by holding down the SHIFT key while dragging the block over the connection wires. Shift-dragging an already inserted block will remove it
  • Audio Options: you can now export JUST the audio settings and import them back in again – this makes it easier to support multiple audio configurations
  • The Global MIDI Monitor can now optionally display outgoing messages
  • You can now centrally define named OSC targets and use those names wherever OSC is available including GPScript
  • Added ability to copy selected entries in the plugin manager to the clipboard in CSV format
  • GP Script improvements



  • Added a button in the ChordPro window to enable or disable automatic image sizing
  • Holding the shift key down while opening the block popup menu adds new functions like “Duplicate with inputs” – particularly useful for FOH applications.
  • Holding the SHIFT down while dragging a connection from a mono plugin will create a double connection to a stero one.
  • Recording: Added a button that opens the recordings folder for quick access
  • You are now warned if you try to clear the plugin list – the goal being to prevent accidental removal of all plugins from the manager.
  • Added a modification to work around buggy IK Multimedia plugins that process MIDI data but do not announce that they can process MIDI data to the host.
  • Implemented methods to prevent or reduce the chance of accidental widget movement when using a mouse wheel to scroll the panels.
  • We now save and restore the global transpose amount for each gig file.
  • ChordPro: added textcolor and textweight directives
  • Added ability for text in a label widget to be positioned in 9 positions rather than just being centred as well as ability to change the font color.
  • Users can now drag and drop a widget between panels (works for single widgets only).
  • PC Assignments in “All Songs” setlist will now automatically be copied when a song gets added to a new setlist
  • Song Part PC assignments can now be globally changed/applied
  • Added new menu option to copy PC assignments from “All Songs” to all other setlists
  • New Gig and New Gig from template are now in a submenu
  • OSC Subsystem now warns you if it can’t listen to the specified port
  • Audio Options: holding SHIFT key down while clicking on an input or output channel checkbox will set all of them to the inverse of the one you selected


  • SystemActions: Added parameters to retrieve previous and next song name
  • It is now possible to completely remove MIDI output association connected to a MIDI input in the rig manager.
  • A plugin can no longer be simply deleted from the plugin manager. You must remove the plugin from your system and then rescan.
  • Renderer selection is now completely disabled on OSX. OpenGL has been deprecated by Apple and the software renderer has issues.
  • Removed option to show or not show new gig dialog on startup. This is now controlled by the option to load or not load the last gig. “New Gig” menu item now has dedicated options for using the template or just starting a new empty gig
  • Plugin Blocks – removed the plugin name prefix that we were adding to blocks when dragging them in from favorites
  • You can now start/stop recording through system actions

GP Script

  • Added ability to scroll the front panel from GPScript (ScrollFrontPanel(value)), System Actions and OSC “/Action/ScrollFrontPanel”
  • GPScript now has support for timeline callbacks.
  • Inserting Include “$rig$” into the top of a GigScript will automatically look for a script with the same name as the current rig and pull that in. The idea is to be able to “fix” issues that are specific to a particular rig, such as needing to invert a sustain pedal.
  • Added function that allows you to insert a favorite — intended for use with keyboard macros
  • Added new function to open the Quick Insert Plugin dialog
  • Added ability to show or hide the Rig Manager
  • Added callback to inform if a MIDI device is connected or disconnected
  • Function generators now work in scriptlets, gigscript, song, global — experimental
  • Consolidated FingerTap into a single GPScript call – versions for RackSpace and for Scriptlets
  • The On TimePassing callback is now deprecated and replaced On GeneratorRunning
  • There is a new callback, OnGeneratorEndCycle that is called every time we hit the end of the generator cycle
  • GPScript: Added functions for getting and setting the fill,outline colors and the thickness/roundness of widgets that support such functionality
  • GPScript – implemented xor for boolean and integer (bits)
  • GPScript – added StartRecording and StopRecording functions – these replace the now deprecated function RecordInputs()
  • GPScript – added a new shortcut function to trigger a one shot timer as a single statement.
  • GetCurrentVariation and other variation-related functions when called from the Global Rackspace, now refer to the appropriate variation of the active local rackspace


  • Fixed a bug where pressing ona key in a MIDI In block keyboard would not produce a note on Windows unless the mouse is actually moved.
  • Fixed a problem where pasting or duplicating a plugin that was connected to some other plugin would cause the new plugin to also be connected to that other plugin
  • Fixed an inconsistency in time signature values between global and song/song parts.
  • Fixed a problem where main menu and shortcuts would work normally while the tuner is active rather than dismiss the tuner.
  • Fixed a problem where GP’s playhead would be delayed by a few ms when using Ableton Link to sync start and stop of play.
  • Fixed an issue with AU plugins developed **using the iPlug2 SDK*made where there would be no sound produced when plugin gets inserted.
  • Fixed a problem where our playhead positions could be slightly out of alignment – (fixes issue with MDrummer and skipping notes)
  • Fixed a problem where applying rig changes would not be immediately applied to the global rackspace.
  • MidiIn Block- fixed a bug where the BlockOtherCC events was blocking CC11 (Expression) which it should not have been doing.
  • Fixed a bug where users could not drop favourite and preset files onto the global rackspace.
  • Fixed a problem where some widgets connected to the global widgets would not behave consistently.
  • Fixed a problem where widgets in the global rackspace could lose their parameter association when using the new popup menu.
  • OSC – the underscore is now allowed in an OSC adddress
  • GPScript – fixed crash due to an array being defined that was larger than currently allowed
  • MidiIn Block: Fixed problem where a widget would not send out a MIDI message after switching back to a rackspace
  • Fixed a problem where real input channel names were not being shown in the audio input block.
  • Fixed a problem with repositioning a song with large number of song parts.
  • Many more minor bug fixes and optimizations
7th October, 2021 - Version 4.1.5

New Features


  • Added support for our free PDF to Images and ChordPro tool.
  • Pasting widgets copied from the global rackspace and then pasted into a local rackspace while holding SHIFT key down (e.g, Mouse Click Edit | Paste) , if a “To Global Rackspace” plugin is already there, will associate the new widgets with the actual parameter values of the widgets in the global rackspace.
  • GPScript: added function to map a widget to a specified plugin+parameter number.
  • Added set of parameters to to System Action Block to let you directly select a song part or rackspace variation.
  • GPScript: There is now a function to position chordpro to a fraction of a page where the entire number of lines is scaled to 0.0 .. 1.0
  • You can now control ChordPro position via System Action Block.
  • GPScript: Added concept of a named marker to which you can go to using a GPScript function .
  • GPScript: Added a function that lets you go to a specific songpart view in ChordPro (without switching to that part in case you want to be able to look ahead).
  • ExternalAPI: Added ability to enable/disable global playhead.
  • ExternalAPI: Added GetPlayheadState function.
  • Added option to auto open/close plugins within a rackspace as you switch rackspaces.
  • GPScript: Added functions to manipulate setlists directly (get a count, list them, select one, etc).
  • GPScript: Added ability to show or hide the global rackspace.
  • MIDI File Player: Added ability to sync the playback start/stop with the global playhead.


Improvements and Fixes


  • ChordPro: Added automatic sizing for images which will now fit the width of the ChordPro window nicely. Works particularly well for the sheet music converted to images from PDFs.
  • ExternalAPI: Fixed the problem where external API was not being called when we switched from panel view to wiring view or vice versa.
  • System Actions Block now supports the ability to get the current song key.
  • External API can now get and set plugin parameter values using the plugin handle.
  • Eliminated the choice of local or global rackspace editor depending on where you are and added new menu option to allow you to open the global rackspace editor regardless of where you are.
  • MidiInBlock: Fixed problem where using the Increment/Decrement Transpose parameters did not “announce” a transpose change and so widgets attached to transpose would not be updated.
  • GPScript: Fixed a semantic issue where assigning a double to an integer was being allowed .
  • Fixed a problem where in a particular situation where multiple widgets, grouped together, connected to velocity scaling parameters in MIDI in block and controlled via midi could crash GP.
  • MIDI File Player: Fixed some issues with tempo syncing and control.
  • OSC: We now send the rackspace index out with the rackspace name when the rackspace changes
  • Fixed a problem where syncing MIDI back to the device that is connected to a widget was not inverted if the option to invert incoming MIDI was enabled.
5th August, 2021 - Version 4.0.54

Improvements and Fixes


  • Fixed a problem where creating a gig from a setlist did not include the global rackspace nor the gig script.
  • Fixed a problem with strange tempo values. The tempo range is now 20 to 640 everywhere.
  • Fixed a problem where locking/unlocking rackspace selection within the setlist view could temporarily prevent user from selecting a different rackspace.
  • Re-Fixed a problem where, in some cases, after unlocking the rackspace/variation – selection in the song mode would not always work on the initial click.
  • Local widget mapped to a global widget now displays global widget text value (if available).
  • Fixed problem in ChordPro where transposition wasn’t being applied properly to “root” notes in the chord – also fixes the spacing issue.
  • External API now supports calls to enable/disable global playhead.
  • External API – no longer gets an erroneous call when view didn’t actually change.
  • Change the menu item for scripting depending on whether local or global rackspace is active.
  • Fixed a problem where MIDI PC messages sent on a channel that’s explicitly not used in GP were not passed to the plugins even if the option was enabled.
  • Fixed a problem where the old setlist would still be visible during a load of a new gig file.
  • Fixed crash when reloading an INS file.
  • Midi File Manager, GPScript: Fixed a problem where the end of a track might not be properly detected.
  • You can now specify program change through the MIDI Helper dialog when setting a command to switch to specific song parts.
  • Fixed a bug where in some extremely rare cases GP could crash in the setlist mode when PC messages come in quickly.
  • Other minor improvements.
22nd June, 2021 - Version 4.0.52

Improvements and Fixes


  • Fixed bug where 1/4 time would play the metronome accent only once.
  • Fixed a bug where we could get double-beat callbacks and clicks if a user is syncing with an external MIDI clock.
  • Fixed bug where GP could lock up when switching to a different rackspace while the tuner is displayed.
  • ChordPro: Fixed bug where a {songpartname } as the very first item would crash GP.
  • ChordPro: Fixed bug where bass note of ChordPro didn’t get transposed.
  • Other minor fixes and improvements.
1st June, 2021 - Version 4.0.51 - MAJOR v4 RELEASE

New Features


  • Global Rackpsace
  • Zoomable wiring view
  • Non-linear Scaling Curves
  • Widget scaling
  • Velocity scaling
  • Midifile Player Plugin
  • The System Actions Plugin
  • Scriptlet Plugin (See below)
  • Probabilistic Sound Designer
  • Favorites management
  • Gigfile Templates


Additional Features


  • Undo for widget positioning and sizing
  • External API
  • For third-party developers
  • Support for Cakewalk style instrument definition files
  • Channel Remapper Plugin
  • Midi Out to OSC converter Plugin
  • Comment Plugin
  • New GUI dialog to define MIDI events to send on song part change
  • Select and copy/move multiple blocks simultaneously
  • Export selections to file and easily drag them into rackspaces
  • Large numeric keypad for easier numeric editing on a touchscreen


Significant Enhancements


  • Shift on startup pops up a dialog to define startup actions
  • Local GP Port
  • Completely overhauled Tuner view with the ability to change the A4 tuning frequency
  • Midi In OSC Patchbay (experimental)
  • Midi In Block Note Follow
  • Double-clicking on a widget will reset it to a user-defined default value
  • Open/close a plugin editor from a widget
  • Replace widget style using drag/drop
  • Favorites and presets now show up in plugin menus
  • Define max pins for each block independently
  • Choose startup view
  • Quick plugin finder now supports partial matches
  • Quick find can be used for plugin parameters
  • ChordPro can jump to songparts
  • More widgets (Drum pads, sustain pedal, plastic knobs)
  • Easier assignment of multiple widgets to a group
  • Midi In Block transposes from -127 .. 127
  • Label widgets have customizable backgrounds
  • Added a 20 and 24 channel mixer plugin
  • Separate control of audio input muting and output fading when switching rackspaces
  • Metronome takes the time signature denominator value into account
  • Midi In block can ignore global transpose (useful when using Midi In block for drums or sound effects)
  • Added a nice collection of startup hints
  • Added a “Hippy mode” (don’t ask, just try it!)
  • LEDs on the main panel now turn red to indicate that signal is too hot
  • Bottom panel is now collapsed by default for new users
  • Dragging a preset into the wiring view will automatically create the appropriate plugin
  • Main GUI is prettier
  • The Midi In block now has an optional midi input pin to receive and process MIDI generated by plugins that can generate MIDI
  • Added experimental OSC “patchbay” for widgets and for the Midi In block.
  • Option dialogs have been reworked
  • You can hold down F2,F3 or F4 before clicking on a block to quickly open the Rename, Replace or Bus Layout dialog respectively. Experimental for workflow
  • Previously learned MIDI messages can now be edited.
  • The scripting menus are now hidden unless explicitly enabled via an option
  • Tap Tempo is now reset if the detected tempo is less than 50bpm
  • We now default to stereo input and output if possible when creating a new plugin
  • The MidiIn Filter plugin can now block Active Sense messages
  • Song parts can be duplicated
  • Many other minor (but nice) usability and workflow enhancements
  • Numerous other fixes and optimizations
  • Transpose can now be incremented/decremented via host automation


GP Script


  • Multiple initialization sections
  • Variables can be initialized during declaration
  • Language now supports an Include feature to share code
  • Create MIDI processing plugins (scriptlets)
  • Gig level script
  • Support for keyboard macros
  • Manipulate/redirect incoming MIDI
  • Song level scripts
  • New NoteMapper object
  • Map notes to other notes
  • Map notes to chords
  • Create scales
  • Improved AutoSustainer object
  • Arrays can now have up to 256 elements instead of 128
  • Many new system functions
15th December, 2020 - Version 3.8.1


  • Fixed an obscure issue with plugin parameter handling with some VST3 plugins
  • Fixed an issue on OSX with devices that have no output channels
  • Improved support for some looper plugins
  • Other bug fixes and general stability improvements
11th July, 2020 - Version 3.8.0


  • Improved handling of multiple displays
  • Disabling a plugin in the plugin manager window will now properly prevent that plugin from being loaded on gig load
  • Fixed an issue with handling MIDI Notes and CC messages in VST3 plugins
  • Fixed a bug where in some situations was possible to associate a wrong rackspace with a song part
  • Fixed a problem where coding value to the “onLoad” widget value could update other widgets
  • Other bug fixes and general stability improvements
11th June, 2020 - Version 3.7.1


  • Improved Audio Unit plugin validation to address improperly registered plugins by 3rd party developer.
  • Changing the master trim rapidly no longer produces zipping sounds
  • Fixed an obscure problem where changing songparts with transpose via MIDI didn’t work properly
15th April, 2020 - Version 3.7.0


  • A minor update to addresspreset handling with VST3 plugins
  • GPScript: Fixed the “GetParameterCount” function
  • General stability improvements
3rd December, 2019 - Version 3.6.1

Minor Update

  • A minor update to address an obscure VST3 issue with meters
  • General stability improvements
21st October, 2019 - Version 3.6.0

New Features

  • You can now choose MIDI devices that should not be opened by Gig Performer
    This is mainly useful for Windows users where many MIDI drivers do not allow multiple applications to open the same MIDI port, thereby preventing a plugin from being able to open a MIDI port to communicate with proprietary hardware
  • The main audio input/output blocks now support OSC and GPScript
  • Gig Performer for OS X is notarized for Catalina (OS X 10.15)
  • Added a GPScript function to create a Sysex message from a string
  • Added GPScript function to get the song count and a song name at a given index
  • Added a GPScript function and an OSC message to request the caption of a widget
  • Gig Performer now uses the DAMAR software licensing system
    Users of earlier versions of Gig Performer 3.x will need to reactivate this version but can do so using their existing 3.x license.
  • Some internal DSP improvements


  • Fixed problem where selecting multiple widgets, moving with mouse and then move with keyboard would reset positions
  • Fixed problem where audio tail length was dependent on the number of output channels
  • Fixed a crash in GP Script when handling OSC messages received very quickly
  • Fixed bug where Midi In block could get a different name from the one user saved with
  • Fixed bug where a button widget was not always updating its label properly when the value changed
  • Fixed bug where clicking on the virtual keyboard of a MidiOut Block did not send out MIDI events
  • Fixed a problem where customized caption field could be enabled when it shouldn’t be.
  • Fixed problem where users on tablet-like devices running in portrait mode could not resize Chords/lyrics window properly
  • Fixed problem where trying to reset PC numbers for rackspaces or songs with starting values greater than 127 was not working correctly
  • Fixed problem where MaxScaledNote Velocity (a MidiIn Block parameter) was never displayed
  • Fixed bug where program changes sent through MidiOut blocks didn’t obey channel remapping
  • Fixed bug where bypassing MidiOut blocks wasn’t working
25th July, 2019 - Version 3.5.0

New features and updates

  • Panel widget with controllable color, transparency etc…
  • Added ability to change the z-order of widgets
  • Startup master trim value can now be controlled from the options
  • Significant improvements to GIG file loading times and size on disk, particularly on Windows
  • Added a thin line around popup menus for better visibility
  • OSC: /SelectSongPart is now deprecated. Please use /Song/SwitchToPart to switch to a song part.
  • Better handling of touch/pen devices
  • Switching to previous part from a first part of a song now goes to the last part of the previous song
  • Added scripting functions to switch song parts and move up/down through song parts
  • Various internal improvements to improve stability and efficiency of our DSP engine
  • Improved global metering process for better accuracy and efficiency
  • Finding plugin substitutions/updated versions is improved greatly


  • Fixed some string handling issues in GP Script
  • “Recall on load” and “Recall on activate” options have been greatly improved
  • Fixed problem where the global play button would reset its state after entering the edit mode.
  • Fixed bug where a changed BPM was not being sent out via OSC.
  • Changing Global Transpose quickly no longer reactivates the current rackspace
  • Fixed an issue where deleting a block used in GPScript could crash GP afterwards.
  • Fixed a problem where trying to save a Lyrics/Chords file without having a song could crash GP
  • Various minor fixes and improvements.
1st April, 2019 - Version 3.2.7


  • Bottom mixer panel can now be collapsed
  • Widget inspector panel has been broken up into sections
  • Expression pedal widget is now more colorful


  • Fixed problem where gain control in MONO configuration had wrong parameters and no mute parameter
  • Fixed issue where changing a parameter in a plugin would not properly be reflected in the connected widgets if scaling was used.
  • Fixed an issue with audio file player “play from beginning” parameter not properly updating widgets
  • Fixed issue with combination of RME, Real Guitar and Windows producing distorted output
  • Fixed issue where the built-in tuner could come up smaller than expected after changing the audio settings
  • Fixed problem where widget scaling could get reset in predictive loading mode
  • Fixed problem where the predictive loading indicator could appear stuck after switching to rackspace mode
4th March, 2019 - Version 3.1.7

New features

  • Songs can now be exported/imported to/from a stand-alone .gpsong file which includes all rackspaces and song parts. Drag-drop onto the song list is also supported for import.
  • Entire setlist can now export all songs as separate .gpsong files
  • You can now create a brand new gig that contains all songs and only the required rackspaces for a single setlist
  • SongParts can now send midi data directly out to an attached MIDI device
  • Added OSC support for switching to songs and song parts by name
  • Added crash reporter for Windows (allows users to submit crash reports to dev team)
  • Added ability to duplicate a song

Fixes and Improvements

  • Chord Pro root folder now created automatically if if doesn’t already exist
  • Fixed crash that sometimes occured when removing a panel
  • Fixed a problem where some VST3 plugins could be detuned on gig reload.
  • Fixed an issue where some VST3 plugins relied on time information rather than ppq
  • Lyrics/Chords (ChordPro) window can now be resized to a much smaller size
  • Fixed an issue where permanently deleting the last song from the setlist could crash GP
  • Fixed a rare issue that could produce an error on while exiting GP on Windows
  • Fixed issues where sometimes on multi, hi density, wrong values could be reported for screen size
  • Fixed crash happening when you right click on a block, leave the menu open and then click on another rackspace
  • Fixed problem where selecting multiple widgets from right to left would break operations like “closer” and “further”
  • Improved rackspace sorting time

GP Script

  • Updated the GP Script templates
  • GP Script now supports hex integers (prefix with 0x)
  • Deprecated TimeNow function and added several new time-related functions
  • Added a time formatter function
  • Added function to create string from double and retaining complete precision
  • Enabled the OnTimer callback function – runs approx every 100ms – not intended for precision timing
  • We now support arrays of function generators
22nd January, 2019 - Version 3.0.43

This is a small maintenance release

  • Fixed a problem where the time signature denominator would sometime display wrong value in song / song parts
  • Fixed a problem where preset override within a song part could, when navigated away from, interfere with patch persist sound and revert to original preset
  • Fixed a bug where widget captions containing the [value] tag would not get updated when switching presets or song parts.


19th January, 2019 - Version 3.0.42

Major new features

  • Songs and song parts
  • Setlists
  • ChordPro for lyrics and chords
  • MIDI Input recorder
  • Bidirectional Widgets
  • Ableton Link
  • Multiwidget insertion
  • Hardware Latency measurement

Significant enhancements (synopsis)

  • New 4-channel mixer
  • MIDI associations are now preserved when copying/pasting widgets and panels and when creating/restoring panel templates
  • Gain and mixer plugins now permanently display volume in dB.
  • Arbitrary MIDI messages can be sent to plugins and external synths when you select a new song part
  • Plugins now display better on all Windows
  • Randomly change selected parameters of a plugin to create new sounds (cool but just for fun)
  • You can now learn program changes
  • Widget physical assignments now officially override global physical assignments
  • Gig Performer global settings can now be exported to facilitate migration to another computer
  • Global window positions are now remembered
  • Changing the program change value in a MidiOut plugin from its editor now sends the new value out immediately
  • Keyboard shortcuts to speed up widget layout adjustments
  • Lemur template now supports songs and setlists
  • Double-clicking on an item in Rig Manager automatically turns on Midi Learn
  • About 50 other minor tweaks

Bug fixes (highlights)

While many minor problems reported by users have been addressed (about 70), here are some of the important fixes.

  • VST plugins now behave better in Windows high DPI mode
  • AllNotesOff messages were sometimes delayed when switching rackspaces
  • Popup dialogs should no longer be hidden (Windows)
  • Script callbacks were not always working correctly in predictive loading mode
  • Fixed nasty race condition where incoming OSC messages could crash GP if a widget was controlling a MIDI parameter
20th September, 2018 - Version 2.6

This is a small maintenance release

  • Fixed a problem where button widgets were not working properly with ranges/inverted values when using momentary mode
  • Fixed a problem where VST3 plugins were not displaying the currently selected preset in our preset selection menu
  • Fixed a problem where the same MIDI control could be assigned to different aliases in the Rig Manager
  • Some graphic optimization for Tuner display (Windows)
  • Startup time is improved noticably when there are many audio codecs installed
  • Fixed a problem where Aftertouch messages were not being handled properly in some VST3 plugins
20th August, 2018 - Version 2.5.2


  • The splashscreen can be dragged out of the way to expose an unexpected dialog in Windows
  • Increased the maximum audio tail length to 10 seconds
  • Added more options for associating/updating program changes with variations
  • Enhanced compatibility for some Thunderbolt audio interface under Windows
  • Added more support for plugins that take extraordinary long times to validate
  • Improved progress reporting while scanning
  • You can now use [rackspace] in a label widget and the label will display the current rackspace.
  • Rigmanager alises are now displayed as sorted in the drop-down list for associating aliases with a widget


  • Fixed bug where removing a block right after resetting the audio engine might result in a crash
  • Fixed problem where some Audio File Player properties were not being restored
  • Fixed problem where duplicating a block would duplicate the OSC/GPScript handle as well
  • Fixed bug to prevent extra spaces from being used in alias names
  • Fixed problem where “momentary” flag for global MIDI commands was being reset after applying a new Rig
  • Fixed problem where changing parameters directly in VSTs might not always update the associated widget
  • Fixed a problem where widgets didn’t update if you change a plugin preset
  • Fixed a problem where widgets could become unresponsive to incoming MIDI after an audio panic
  • Fixed a problem where absurdly tiny widgets could crash GP
  • OSC handling of the /Note message was broken

GP Script

  • Added a Playhead state callback (beat level only for now)
  • Added ScheduleMIDIEvent function which allows MIDI events scheduled into the future to be processed by the MidiInBlock when they trigger
  • The AutoSustainer object can now automatically leverage MidiIn plugin parameter settings
  • AutoSustainer now remembers what MIDI channel is being used and sends Stop messages using that channel
  • Added function to return the state of the modifier keys
  • Fixed a type error in the ParamToMidiEx function declaration
  • Boolean arrays are now supported
  • Improved the error message you get if a widget referenced in a script doesn’t actually exist in the rackspace
  • Arrays of MidiMessages are now supported
7th July, 2018 - Version 2.4


  • Added a window to display current and global MIDI assignments.
  • You can now double-click the Panic button to reset the audio engine as well as MIDI All Notes Off


  • Added function to import FXP files
  • Fixed problem where Midi Out block would not resend CC value on a rackspace switch
  • The CC Block option in the MidiIn Block no longer blocks CC1,7 and 64 since those can be set explicitly
  • Fixed a problem where some VST3 plugins were not responding to sustain pedal events

Global MIDI commands

  • You can now use a CC number with different values to go to a specific variation in the current rackspace. This is intended for use with guitar pedal controllers to switch variations on the fly without having to reprogram the pedal controller
  • You can now use global MIDI commands to jump directly from one rackspace to the next or previous rackspace without passing through variations


  • Added /GigPerformer/NextRackSpace and /GigPerformer/PrevRackSpace commands to go to the next or previous rackspace
  • Added /RackSpace/NextVariation and /RackSpace/PrevVariation to go to the next or previous variation within the current rackspace

GP Script

  • Added AutoSustainer object
  • The select keyword is now highlighted properly
  • Added new function to ExternalApplication object to explicitly set the external program name
  • Don’t call the generic MidiMessage callback if the message is in fact a sysex message (and for now, we are still ignoring sysex)
  • Fixed problem where script window for current rackspace could be wrongly referenced
  • Fixed problem where scripts might not be saved or loaded (Windows only)
  • Added functions for appending values to an array (integers, doubles, bool, strings only)
  • Added some more string functions to GP Script
  • See online library reference at /downloads/GPScript/SystemFunctionList.html


  • Fixed bug where PC value couldn’t be changed in a variation if zero-based numbering was selected
  • Fixed problem where bypassing MidiIn Block variations were not working properly on reload
18th May, 2018 - Version 2.3


  • The MidiIn Block keyboard now shows the physical key being pressed rather than the possibly transposed output value, making it much easier to see the valid split range when you play your controller
  • The MidiInBlock now lets you learn split ranges by using your controller instead of having to select the range manually
  • The MIDI Monitor windows now include MIDI Note numbers as well as names for note events.
  • Audio Mixer parameters now dynamically update based on the channel strip name
  • Internal updates for more robust rackspace management and switching.
  • Updated widget inspector to properly show “Invert value” option for relevant widgets
  • Variation naming is now more robust
  • Audio Mixer will now display custom input channel names


  • Fixed problem where grouped widget attached to a parameter with distinct values would not display the appropriate value all the time
  • Fixed issue where a button with a range would sometimes not display on/off state properly
  • Fixed a problem where newly created widgets would not respond to bypass plugin parameter
  • Fixed a problem where a widget could be associated with an invalid parameter after a plugin is deleted or replaced
  • Fixed a problem where duplicating a block with a missing plugin could result in a crash

GP Script

29th April, 2018 - Version 2.2.2


  • Fixed an obscure bug with widget ranges
27th April, 2018 - Version 2.2.1


  • Improved handling of audio interface disconnections and reconnections on both Mac and Windows
  • (Experimental) Added support for multiple UI rendering engines such as Open GL
  • (Windows) Improved Windows audio device selection on startup
  • Even more optimizations in rackspace switching
  • Prevent Windows from sleeping, prevent Windows and OSX from switching the display off
  • A request to bypass (or unbypass) a plugin is now ignored if plugin is already in the required state (fixes a problem where plugins might unnecessarily stop playing)
  • When using virtual audio channels, all audio is routed to the first physical output (so you can always hear everything even if you’re not using your main audio interface)
  • We now make sure that a block cannot be dragged outside the main window
  • Added ability to separately control where to look for VST3 plugins


  • Fixed bug where changing plugin parameters through a plugin UI on Windows was very slow
  • No longer sending OSC rackspace state out if OSC is not enabled
  • Audio File Player plugin now opens much faster
  • OSC /Refresh command was sometimes getting a bogus transpose value
  • (Window) Fixed problem where message box about plugin window was being displayed UNDER the options dialog
  • (Windows) CPU meter was too jittery
  • (Windows) Fixed problem where MIDI devices might close after changing audio settings
  • Fixed a problem where input recording was sometimes not sample accurate
  • Fixed problem where changing a widget handle and then clicking on another widget was not committing the first handle change
  • Fixed problem where midi messages produced by clicking on the on-screen keyboard in the midi receiver was not always going out on the correct channel
  • Fixed some rare widget remapping issues
  • Fixed an issue where plugin scanner would display the wrong plugin being scanned

GP Script

  • Added a few string manipulation functions
  • Renamed a template menu to make its purpose clearer
  • Improved a warning message related to recompiling scripts
  • Added support for constraints callbacks (see GP Script documentation)
  • Fixed bug where script editor title bar was not updated if user changed rackspace name
  • Added some templates to demonstrate constraint range callbacks
  • Fixed a problem where a type containing spaces (e.g, integer array) was not matched in templates
  • Fixed GetVelocity function so it returns 0 if the note event was actually a NoteOff event. Added a GetReleaseVelocity function if you actually need that
  • Fixed problem where first ELSIF clause was triggered even if the original THEN part was executed
  • Script editor now has the ability to insert global declarations for all plugins and widgets for which script names are defined
  • Midi messages can now be tested against a range directly using the ‘in’ operator
  • Renamed some functions to make it clear they are sending NoteOn or NoteOff events only
  • Added a PlayNote function that lets you schedule a NoteOn and subsequence NoteOff in one go
  • Fixed bug where disabled MIDI channel in midi input block would disable GP Script callbacks
  • Added option to include the rackspace name in the script log window
  • Added an option to not get alerted about script errors on gig load.
  • Scripting Log window will now get cleared automatically when you load a new gig file
  • Download GP Script System Function List from
  • Download GP Language Manual (draft) from

Experimental (subject to change)

  • Added ability to execute an external application from scripting
  • Added ability to allow a widget in another rackspace to be accessible via GPScript.
16th March, 2018 - Version 2.1.2


Gigs and workflow

  • Rackspace switching has been improved significantly
  • Program Change messages can now optionally be recognized only if they arrive on a specified MIDI channel on a port
  • You can now Shift-click or Alt-click on keyboard in MidiIn/MidiOut blocks to set low or high note range respectively
  • MidiInBlock now has a “highest/lowest” option so that when you play a chord, only the highest or lowest note sticks. This works well for playing solos over a slower pad layer
  • MidiInBlock can now block (no pun intended) specified MIDI events, reducing the need for the MIDI Filter in some basic common situations
  • MIDIIn Block now supports the ability to generate pitchbend, aftertouch and CC messages via widgets. This lets you more easily remap a physical control to a different message without the need for the MIDI Filter in the case when host automation is not available

GP Script

  • Added function to retrieve pitchbend value
  • GetChannel now works on any kind of Midi event type
  • See for the current list of available functions
  • Added docstring constant <<< anything >>>
  • Fixed problem where removing a block could crash a script that still referred to that block


  • Fixed problem where bus layouts could get lost in some plugins when using predictive loading
  • Fixed problem where double-clicking on a gig file would not open that particular file if the plugin scanner at startup option was enabled
  • Map all to channel was not being remembered in MidiOutBlock
  • Unassigned global midi assignments now say, (not assigned yet)
  • Applying rackspace change no longer renames rackspace
  • The OSC message /CurrentGlobalTranspose is now spelled correctly
  • Bypassing MIDI In blocks with widgets now works properly
12th February, 2018 - Version 2.0.18


Gigs and workflow

  • Improved rackspace switching time even further
  • Implemented ability to export and import the entire Rig Manager setup to/from file
  • Front panels can now be saved as templates.
  • While dragging a rackspace to reposition it – the rackspace list will properly scroll up or down now.
  • MIDI Out LED indicator now flash when events are sent using GPScript
  • Added /GetCurrentBPM and /CurrentGlobalTranspose messages to OSC
  • MidiOut blocks can now optionally pass through program change messages coming from earlier plugins or from GP Script

GP Script

  • Added ability to hold down ALT key on startup to prevent the script from running
  • Added elsif clause to GPScript IF statement
  • Added Select – Do statement to GPScript
  • Added “in” operator to GPScript
  • Added “Panic” function to GPScript
  • Added new datatypes for note tracking, chord recognition and widget automation using ramps, squarewaves and ADSRs
  • OnActivate in GPScript is now properly called when predictive loading is used (after all plugins have been loaded)
  • Changed precedence of boolean comparators in GPScript so we can now write if a>b and c> d then … without parentheses
  • Improved the callback runtime scheduler
  • Fixed template for On Activate
  • Please see for the latest list of system functions
  • A draft introduction to the GP Script language is now avilable at to GPScript.pdf


  • Fixed a problem where 1.x gigs containing widgets were losing their OSC handles
  • Fixed a bug where OSC server could get shut down on startup.
  • Fixed a bug where a globally assigned MIDI control would block all such messages, even from devices not associated with the global assignment
  • Fixed a bug where GP could crash if one tried to open a plugin window using the GPScript functions
  • Fixed a problem where MIDI Out devices were not enabled as soon as they were plugged in.
  • Fixed bug where CC messages assigned to MDI Out block would be sent out twice on rackspace change
  • Fixed duplicate / irrelevant OSC messages that were being sent on loading or switching a rackspace.
  • Fixed bug where recorder would not work if the audio interface had channels with unusual names.
  • Fixed a problem with parameter state saving in MidiOut blocks
31st January, 2018 - Version 2.0.15


  • Duplicating a block will now duplicate the plugin state, bus layout and name
  • The plugin name is no longer appended automatically when you edit the caption
  • Added ternary operator (ALGOL style) – please visit our forums for more information
  • As usual, the latest list of system functions can be found at /downloads/GPScript/SystemFunctionList.html


  • Fixed issue where GP could crash after opening options and then changing the midi device associated with a block
  • Fixed issue where I/O sliders would have wrong size/position if you reloaded a gig while GP was minimized
  • It is no longer possible to disable all audio output channels
  • The update manager for OSX has been fixed. That means that the NEXT time you see an update, the update manager should update properly
  • Corrected syntax mistake in example template for MidiEvent callback


25th January, 2018 - Version 2.0.14

Gig Performer v2 Major Update

Key new features include:

  • Manage multiple rigs with the new Rig Manager
  • Record your entire show from the board using the new multi-track recorder
  • The new audio mixer/router plugin supports easy solo/muting/routing of multiple synth plugins to effects plugins
  • The GP Script programming language adds advanced automation capabilities for specialized performances

View the complete list of new features and other significant enhancements in Gig Performer 2

31st October, 2017 - Version


  • The MIDI Filter plugin now supports individual NoteOn and NoteOff blocking (as well as the original Note blocking). This feature makes it easy to use multiple plugins with the same MIDI source in a single rackspace and switch them on or off by simply blocking NoteOn events while allowing NoteOff events to go through.
16th October, 2017 - Version


  • Explicit program changes now use the channel map
  • Text parameters from MIDI Receiver/Sender plugins return customized values properly
  • MIDI events learned on one MIDI channel are no longer blocked when received on other MIDI channels
25 September, 2017 - Version


  • Fixed a bug where the Audio File Player might continue looping if synced with the global playhead even if the loop option was not enabled. (Thanks, Thaddäus)
  • Fixed a potential permissions issue
19 September, 2017 - Version 1.8.2
New plugin
  • Eight track audio file player – capable of loading/ playing up to 8 audio files either one at a time or simultaneously. Supports AIF, WAV and MP3 formats. Suitable as both a backing track player and for looping short samples, switching seamlessly from one to another while running. Up to eight audio output channels are available.
  • Internal plugins are now grouped in sub-menus so as to more easily manage large numbers of MIDI ports.
  • Added Global MIDI Learn support to start/stop the playhead
  • Added Global MIDI Learn support to trigger MIDI Panic (stop all audio)
  • Labels widgets can now display the value of their associated parameter if their text contains [value] somewhere.
  • MIDI program changes can now be sent out through a MidiOut block using a widget parameter
    (By customer request) MIDI program changes can now be sent out from a MIDI In block using a widget. This allows you to send program changes directly to plugins. Note that using this mechanism prevents Patch Persist from working and can result in stuck notes depending on the plugin implementation. This feature is not recommended for normal use and not officially supported.
  • Improved MIDI clock sync even more to handle abrupt large quick changes in tempo. Also added a visual indicator to show when MIDI clock events are being received
  • Widgets can now optionally invert the incoming MIDI value.
  • Both Mac and Windows installers are now code signed for additional security
  • Improved handling of open windows
  • MIDI In/Out blocks can now be associated with a different MIDI device without losing current settings. This option also allows for bulk changes in all rackspaces.


  • /Panic – Send a Stop All Notes to GP
  • /Play <int> – Enable (1) or disable (0) the playhead
  • BPM values sent out via OSC are no longer rounded to integer values.
  • Plugin manufacturer names are now case-insensitive so we don’t add extra menu items when multiple products from the same company have names that differ only in their case.
  • Fixed a problem where you could get a stuck note when bypassing a plugin and later unbypassing it.
  • Fixed a problem where built-in tuner would have incorrect channel selection after audio interface change.
  • Fixed a problem where MIDI MSB and LSB messages were processed from devices that were not allowed to send PC messages
11 August, 2017 - Version 1.7.1
New features
  • Plugin windows now have the ability to load built-in presets (if the plugin developer exposes them) along with the ability to save and reload user created presets.
  • The plugin editors for the Audio Input and Output blocks have an improved UI to better handle interfaces with large number of I/O channels.
  • Added ability to start Gig Performer with the argument “-nosave” such that Gig Performer will never ask to save the gig changes on exit. This is intended for users running headless machines.
  • Fixed an issue where some plugins would not properly restore state after reloading a gig
  • Fixed an obscure problem where Gig Performer might get stuck on startup (Windows only)
12 May, 2017 - Version 1.6.1
New features
  • Global output volume trim knob
  • Sync to external MIDI Clock
  • Balance knob displays value relative to left/right offset
  • Gig Performer now detects that the previously used audio device is missing on startup and allows you to quit and reconnect it.
  • Improved audio interface selection process.
  • Note velocities can now be constrained or scaled in MIDI In block.
  • Fixed problem where bypassing a plugin in the diagram view did not always update the widget connected to that parameter.
  • Fixed issue where a rackspace did not become active immediately after import.
  • Fixed issue where newly created instance of Gig Performer would not react to mouse input until reopened.
  • Other minor improvements and optimizations
21 April, 2017 - Version 1.5.2
New features
  • Widgets now support Catch mode
  • Widget values can now be saved explicitly (snapshots) so that values can be reset to initial values when rackspace is reactivated
  • Created by the acclaimed author Howard Massey, a new Quick Start Guide and a new comprehensive User Guide are now available from our website.
  • Widget values are now floating point values instead of integers
  • Widget values can be entered as MIDI values by typing in ‘m’ at the end of the value, e.g., 127m
  • You can now snapshot widgets so that when you return to a rackspace, the widgets are set to the snapshotted values rather than just the last saved state.
  • You can now export all rackspaces as separate files in one go.
  • You can now drag rackspaces from a file folder into a GP document to create new shows on the fly
  • Holding SHIFT key while pressing LEARN in Global MIDI clears a specific assignment
  • We now use CMD-SHIFT-D rather than CMD-D to duplicate a rackspace
  • Holding the SHIFT key while dragging rackspaces prevents the dragged rackspace from being activated. (Very useful for adjusting setlist order when Predictive Loading is enabled)
  • Gig Performer now recognizes Lemur bundle messages
  • Added /GigPerformer/SwitchToProgramNumber
  • Added /AdjustBPM to change the BPM by positive or negative amount
  • When BPM is changed, /CurrentBPM value is sent out
  • Fix problem where widget in current rackspace might not respond to MIDI message while predictively loading rackspaces
  • Fix problem where deleting a widget in midi learn mode could crash GP
  • Fixed problem where moving a widget could reset the position of another one
  • Fix problem where a new gig could be saved without its extension and hence could not be reloaded
  • Fix crash with widget groups, variations and MIDI switching
  • Fixed problem where widget values could get “stuck” and display the value rather than widget caption.
6 February, 2017 - Version 1.5.1
New features
  • Predictive Loading. Click here for more details
  • Multi parameter widget control. Click here for more details
  • MIDI Monitor plugin for fine-grain monitoring
  • Scaling now works in either direction. In conjunction with widget groups, this lets you (for example) have one parameter increase while the other decreases. Think volume crossfades!
  • Updated Lemur Template. Click here for details and to download new template
  • Initial use of hyperlinks to provide more information about features
  • Midi Out block no longer sends out CC messages for all CC numbers during initial gig loading
  • Fixed problem where importing a rackspace could duplicate an existing Program Change value
  • Various minor enhancements and fixes
16 January, 2017 - Version 1.2.3
  • label widgets now send their contents when rackspace is activated
  • rackspace and variation name are now sent automatically on rackspace switch
  • sending the message /Refresh to GP will cause the current rackspace state to be resent (useful with wireless connections where OSC packets can get lost)
  • added /widget/SetCaption to set the caption of a widget or the contents of a label
  • Tuner can be controlled via OSC. Notes and offset are sent out
  • Added message to request the list of OSC enabled widgets in the current rackspace
  • An example OSC template for Lemur is now available on our website
  • Please see documentation for complete list of OSC commands
  • Added simple global MIDI input monitor window
  • Main panel I/O sliders now grouped in sets of 16
  • Plugin manager has better contrast and plugins can be sorted by manufacturer
  • Fixed problem where keyboard split was off by one semitone
  • Bypass button now properly displays state of plugin after double-clicking block to open plugin window
    • (Thanks to our friends at MusicPlayer forum for reporting these)

2 January, 2017 - Version 1.2.0
New Features
  • Patch Persist – Held down or pedal-sustained notes will remain on when you switch to another rackspace until you release the notes or sustain pedal. Patch Persist is available on a rackspace specific basis.
  • MIDI Filter plugin – Allows certain MIDI events to be blocked or remapped to other events
  • Velocity Layers – Only notes within the specified velocity range will be played.
  • Velocity scaling – Velocity values can be rescaled to a new range
  • Widgets can now learn aftertouch
  • New OSC messages to list available plugins and plugin parameter counts
  • Maximum rackspace audio tail length can now be adjusted
  • Fixed a problem where double-clicking on a .gig file could sometimes cause extra rackspaces to be created.
21 December, 2016 - Version 1.1.0

New features

  • Tap Tempo
  • Sticky Notes parameters for triggering samplers
  • Buttons now have a toggle mode
  • Added OSC messages to move up/down rackspaces
  • Added OSC messages for detecting tap tempo
  • Keyboard shortcuts to control widget caption
  • Rackspaces can now use local or global tempo


  • Gig files are now properly associated with Gig Performer so you can double-click on a GIG file to open it
  • Vertical distribution of widgets is fixed
  • Fixed copy/paste for labels

See our online documentation for more on these updates

14 December, 2016 - Version 1.0.5
  • Improved audio device selection process
  • Enhanced plugin scanner to address some unusual plugin validation implementations
  • Enhanced parameter learn mechanism to deal with plugins that don’t quite behave the way they’re supposed to!
  • Added new parameter to Midi In plugin to explicitly send AllNotesOff messages
  • Cosmetic improvement to front display during initial loading
07 December, 2016 - Version 1.0.4
  • Inserting a new plugin now automatically opens its editor. This can be turned off via the preferences dialog.
  • The “/GigPerformer/SwitchToRack” OSC command command can now optionally include a variation number.
  • The plugin scanner now recognizes plugin updates and rescans them.
  • Widget resizing in edit mode has been improved.
  • Fixed a problem where changing a widget’s OSC name could potentially crash GP.
  • MIDI Sustain OFF and pitch bend CENTER events are now sent automatically before switching rackspaces.
1 December, 2016 - Version 1.0.3

OS X and Windows

  • Handle the situation where no audio driver is found at all

Windows only

  • If VSTs are not in the expected location, display dialog to show user what to do
  • There were some missing icons in the installer
29 November, 2016 - Version 1.0.2

Critical Windows fix and some other little feature updates for both platforms.

  • (Windows only) Fixed crash on Windows when changing device driver and then trying to apply settings from a different driver
  • The Display Range option was not being remembered
  • Copy/Paste is now implemented for widgets and panels
  • Fixed a problem where one couldn’t immediately scroll after adding a new panel
  • Fixed problem where meter component didn’t always display anything on FIRST load/activation
  • Plugin editors now display their username – useful if you have a lot of plugin windows of the same kind open
  • If plugin has empty parameter names, we now generically name them using the parameter number
27 November, 2016 - Version 1.0.1
  • You can now choose to exclude some widgets’ state from being stored with variations. This is useful if you want some parameter settings to change (reverb on/off, phaser depth, etc) but not others (volume controlled by an expression pedal, for example)
  • The quick plugin selector now provides more information about each plugin
  • Some nice gain control optimizations
  • Mono version of gain plugin shows a single magnitude parameter (used when you want to have metering on a panel)

While it’s most likely the case that will have already fixed a problem you might have encountered in an earlier release, we recognize that someone has to be the first person to find a new problem so after checking our knowledge base for known issues, please feel free to contact us for any support or troubleshooting.

23 November, 2016 - Version 1.0

We’re delighted to release officially version 1.0 of Gig Performer and we thank all our beta testers who provided feedback in recent months.

15 November, 2016 - Version 0.9.6b (beta)
  • MIDI Receiver parameters now return nice text values
  • Implemented plugin bypass as a parameter (so you can use a button on front panel to completely bypass a plugin)
  • Panels can now be replaced with larger or smaller ones
  • Widget inspector lets you open a plugin directly
  • Guitar tuner is less “jumpy”
  • Added drawbar widgets
  • Fixed bug where you couldn’t set MIDI channel to 1 if MIDI In plugin was attached to a widget
  • Fixed problem where CC messages were not obeying the MIDI channel map (great catch!)
11 November, 2016 - Version 0.9.5b (beta)
  • Multi instance support. You can now have multiple instances of Gig Performer open at the same time. This is an advanced and experimental feature. Enable it through the preferences dialog.
  • Widgets now support scaling so full range movements of knobs and sliders can result in smaller actual changes to a parameter
  • A new instance of an existing plugin can be quickly inserted by right-clicking on that plugin block and choosing Duplicate.
  • Added keyboard shortcut (CMD-T) for cycling between the performer view and the connection view
  • Added keyboard shortcut (CMD-G) to edit widgets in the performer view
  • Fixed problem where main mixer controls were not positioned properly for newly started applications
  • Fixed problem where IO blocks still showed old audio interface name after changing the device
  • Fixed problem where blacklisted plugins were always being rescanned
  • Dragging blocks over each other to make stereo connections (or disconnections) now requires Shift key to be held down
  • Added support for momentary buttons for changing variations and switching to tuner view
  • Switching variations no longer causes widget values to be briefly displayed
  • Fixed crash when changing audio interface properties
  • Tuner is no longer switched off if rackspace is changed while in tuner view
  • Renamed some items. Smart panels are just panels. Presets are now called variations again.
  • Support for virtual I/O channels – this allows you to tweak your gig when you don’t have your multi-channel audio interface connected
  • Eliminated need for two OSC ports
  • Widget values can be set explicitly
28 October, 2016 - Version 0.9.0b (beta)
  • MIDI output plugin can now send CC values under widget control
  • Plugin emblems have been updated
  • Gig Performer can accept Program Changes messages from selected MIDI devices rather than from all of them
  • Added “Panic” button on front screen to stop all notes
  • Added many keyboard shortcuts for faster workflow
  • MIDI devices can be “hot-plugged”
  • Widgets now send their values out by OSC when you switch rackspace
  • Master input and output faders now sport little LEDs to show any audio activity
  • Master input and output faders now show channel numbers
  • Single click on a channel number label to toggle channel muting. Double-click to toggle muting of all channels
  • Rackspaces can be sorted by program changes or by name
  • Importing rackspace now appends a new rackspace rather than replacing currently selected rackspace
  • Rackspace/preset combinations can be associated with program change and optional bank number
  • MIDI output plugins can now send program changes automatically when rackspace changes
  • Variations are now called presets and appear directly underneath each rackspace. Improved look.
  • Current rackspace and preset name now displayed prominently on main window
  • Chameleon plugin now has a UI showing the missing plugin information and instructing user what to do
    Many fixes to MIDI handling
  • Improved look and feel
  • Notification of new MIDI connections is improved
  • Fixed crash when changing audio device on the fly
  • Plugin blocks now have popup hints describing plugin information
  • Automatically create new smart panel when a new rackspace is created
  • Fixed a crash on exit
  • Empty back panel now contains message telling you how to load your first plugin
  • Fixed problem where “recent files” were incorrect
  • Fixed issue where input audio buffer was not cleared under certain conditions
  • Enhanced the audio tail mechanism when you switch from one rack space to another
  • Make sure main window and plugin windows are fully on screen

Scaling Curves

Scaling curves allow you to control the shape of the output of a widget or convert an incoming note velocity to a new velocity. Various predefined curves are available and they can be tweaked as necessary. You can also just draw your own curve as well to achieve the effect you require.


MIDI File Player Plugin

You can load up to 128 MIDI song files in a single plugin instance. Switch from one song to another, mute tracks and/or change their channel numbers. Tempo can be controlled by individual songs or you can use the global tempo and tap tempo to control the BPM interactively.


Favorites and Presets

Create a sound by placing and interconnecting your desired plugins, such as a synth, some effects and perhaps a mixer. Select them all and then save the selection as a named favorite. The favorite will subsequently show up in all plugin insert menus, making it easy for you to recreate that configuration whenever you need it again. This feature is also very powerful for creating your needed sounds on your studio computer and then transferring them to your touring laptop.


Probabilistic Sound Designer

Parameters you select in an open plugin are captured into the Probabilistic Sound Designer dialog window. When you click Randomize, you're only adjusting those selected parameters. Each entry in the PSD dialog has a curve but unlike widgets where the curve controls scaling, in the PSD the curves are used to define the probability of particular values being selected. Make sure the filter cutoff never gets too slow so as to block all sound. Perhaps adjust the max range of the VCA attack parameter so that the sound doesn't have too much delay. Constrain the octave ranges of the oscillators, perhaps ensuring that 1/3rd of the time we select 8' and 2/3rds of the time we select 4'. The possibilities are endless.


More Widgets

Numerous new widgets are included in Gig Performer - a new sustain pedal, plastic knobs, drum pads and more colored sliders. Shapes can be colored with different borders and fill colors and morphed from rectangular to circular. Your creativity is now the limit to creating fabulous front panels in Gig Performer.


MIDI Message Helper

Select MIDI devices by name. Choose the MIDI message type and adjust the appropriate parameters for the specific type



Layout management

Gig Performer supports arbitrary resizing. Layout your widgets the way you want - resize the main window and the widgets will grow or shrink as necessary to maintain the same interrelationships. No matter what size screen you have, your front panels will still be neat and usable.


Undo Support

If you move your widgets around and/or resize them, or even delete them by mistake, the Undo facility will correct your mistake. Minor moves to a widget by mistake will no longer spoil your design


Plugin Channel Count

Some plugins support a large number of outputs and they depend on the traditional channel strip to control how many ports should be available.   When you only need a stereo pair, it is convenient not to have a large horizontal block. In Gig Performer, the number of available ports  is controlled by the channel count override, which can be applied to individual plugins and will be remembered when the gigfile is reloaded or if the plugin is saved as a favorite.


Input muting and output fading

Rather than a single audio length tail, Gig Performer 4 gives you the ability to control input muting and output fading separately. Input muting controls how much time it takes for audio input to be silenced when you leave the rackspace. Output fading controls how much time will be taken for audio to fade out when you leave the rackspace.


Faster Plugin Finder

Instead of searching through menus of perhaps hundreds of plugins (you know who you are!), the Quick Plugin Finder makes it easy to find the plugin you need by simply typing partial strings. For example, as shown here, to find the Modartt Pianoteq 7 plugins, it's enough to type pia mod 7 (in any order, by the way)  to restrict the list of available plugins to those matching your query. The Quick Plugin Finder also knows about manufacturers, presets and favorites.



Touch Friendly Input

Any entry field can be changed by either dragging your mouse (or finger) up or down, or by using the large popup touchpad where you can just tap on the squares to enter a value. The large popup keypad also does validation so you can't enter an invalid value. You can also just tap the BPM field to pop up a larger view where you can quickly change tempo, tranpose, trigger Tap Tempo and enable Ableton Link, the last allowing you to synchronize Gig Performer with any other application that also supports Ableton Link.