I love this product. It’s been a game changer for me, allowing me to move on from a lot of hardware devices. As a bass player I do a ton of pitch shifting and harmony, using the Eventide Octavox. I currently have the whole gig down to for rack spaces, using variations to change keys and shift distances. What I would like is all of it as a single rackspaces, but I need a script script for Eventide Octavox plugin:
-It uses a four button widget to set the pitch shift of the voices with the first button setting the pitch shift of one voice to be +1octave and the rest of the voices off
-the second button setting the pitch shift of one voice to be +1octave, one voice to be +12, and one voice to be +2octaves with the rest of the voices off
-the third button setting the pitch shift of one voice to be +1octave, one voice to be +10, and one voice to be +12 with the rest of the voices off,
-the fourth button setting the pitch shift of two voices to be +1octave, two voices to be +10, two voices to be +12, and two voices to be +14.
It turns out that ChatGPT can’t script in Gig Performer any better than me. Any help would be appreciated.
I thought I needed scripts to have buttons control more than one plugin parameter, so the script would allow a button press to switch the pitch ranges of the different voices in a single rackspace. Am I incorrect?
Place a widget for each parameter you need to adjust, in a single rackspace and just set the parameters as you require in each variation. If I have misunderstood something, look into groups, placing widgets in the same group will action all the linked parameters with a single change.
I see this as one rack space with as many variations as you require, where a single change is a switch in variation.
I was simply responding to how I thought you needed to approach the problem. Unfortunately not I do not have Octavox, but it should be possible to set a widget in a variation to change the key setting of Octavox. To pull the key from a song setting and send to Octivox almost certainly would require a bit of script. That said I would make the script set the widget assigned to the Octavox key and not control the Octavox directly, so setting a widget in the rackspace is a good starting point.
// Print the Key
Function GetKey(index : Integer)
Print(GetSongKeySignature(index))
End
// Called when you switch to another song
On Song(oldSongIndex : integer, newSongIndex : integer)
GetKey(newSongIndex)
End
// Called automatically after script is loaded
Initialization
OpenLogWindow()
GetKey(GetCurrentSongIndex())
End
Here are a few lines of script that I put into the Global Rackspace Script that gets the Song Key. The ouput is just sent to the log window do demonstrate the function.
If you put a Text Label on the global rack panel and add the GPScript Handle as SongKey. this script will get is as far as a global widget. Further decoding (I would do it via 2 arrays) would get you from the Name to the control value required by Octavox.
// Widet Script Name
var SongKey : Widget
// Print the Key
Function GetKey(index : Integer)
SetWidgetLabel(SongKey,GetSongKeySignature(index))
End
// Called when you switch to another song
On Song(oldSongIndex : integer, newSongIndex : integer)
GetKey(newSongIndex)
End
// Called automatically after script is loaded
Initialization
GetKey(GetCurrentSongIndex())
End