fbpx

How to implement incremental transpose

Feb 5, 2022 | Gig Performer Blog, Tips

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.

Step 1

Switch to the wiring view in the global rackspace, right click to bring up the plugin selection menu and insert a new scriptlet

Screenshot 5741

You’ll see this block appear.

Screenshot 5742

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)

Screenshot 5746

Step 2

Double-click on the Scriptlet block to open the scriptlet’s plugin editor and then click the Scriptlet Editor button as shown here

Screenshot 5743

Step 3

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
End

Then press the Compile button. All going well, you should see the following complete with a message at the bottom indicating successful compilation.

Screenshot 5744

Step 4

Assuming compilation was successful, the plugin editor window will change so as to display three parameters

Screenshot 5745

You can now close the script editor window and this plugin editor window.

Step 5

Switch to the Global Rackspace’s panel view, insert three widgets (I used LEDs) and map them to the three parameters of the scriptlet

Screenshot 5747

Step 6

Exit out of edit mode and try clicking on any of the LEDs to increment, decrement or reset respectively the global transpose value

Step 7

You can now use the standard MIDI Learn feature to map each of these widgets to a button on your controller

.
Related topics
:
Controlling the global transpose from your keyboard
Gig Performer allows the most flexible MIDI processing