05 Feb How to implement incremental transpose
Suppose you’d like to have a couple of buttons on your MIDI controller that just increment or decrement the global transpose amount.
Important note: Gig Performer 4.5 has built-in support to do this. Please check the GlobalTransposeUp and GlobalTransposeDown parameters of the System Actions plugin.
The following text applies to Gig Performer 4.1 as it does not have built-in support to do this. However, it’s still very easy to do this using a simple scriptlet along with some widgets that you can trigger from your controller. Just follow the steps below.
Switch to the wiring view in the global rackspace, right click to bring up the plugin selection menu and insert a new scriptlet
You’ll see this block appear.
Right click on the block to bring up the context menu and rename the plugin to Incrementation Transpose Controller (or whatever you wish to call it)
Double-click on the Scriptlet block to open the scriptlet’s plugin editor and then click the Scriptlet Editor button as shown here
Copy the following GP Script code and paste it into the Scriptlet editor window
Initialization SetDisplayMessage("Copyright (C) 2021-2022 Deskew Technologies, LLC”) SetInfoMessage("Use this scriptlet to provide incremental global transpose functionality. Attach button widgets to the parameters to control them.") End Var TransposeUp : Parameter 0..1 = 0 TransposeDown : Parameter 0..1 = 0 ResetTranspose : Parameter 0..1 = 0 Initialization SetGlobalTranspose( 0) End On ParameterValueChanged matching TransposeUp if TransposeUp == 1 then SetGlobalTranspose(GetGlobalTranspose() + 1) TransposeUp = 0 end End On ParameterValueChanged matching TransposeDown if TransposeDown == 1 then SetGlobalTranspose(GetGlobalTranspose() - 1) TransposeDown = 0 end End On ParameterValueChanged matching ResetTranspose if ResetTranspose == 1 then SetGlobalTranspose(0) ResetTranspose = 0 end
Then press the Compile button. All going well, you should see the following complete with a message at the bottom indicating successful compilation.
Assuming compilation was successful, the plugin editor window will change so as to display three parameters
You can now close the script editor window and this plugin editor window.
Switch to the Global Rackspace’s panel view, insert three widgets (I used LEDs) and map them to the three parameters of the scriptlet
Exit out of edit mode and try clicking on any of the LEDs to increment, decrement or reset respectively the global transpose value
You can now use the standard MIDI Learn feature to map each of these widgets to a button on your controller