I am using a small VST that allows me to set the octave of midi data (i.e. -3, -2, -1, 0, 1, 2, 3) - and I want to set a widget to link to that octave data - so that I can obviously control it in real time (mainly when setting up sound patches).
I can obviously use any of the rotary widgets to do this - but there are a couple of aesthetic problems:-
All the rotary widgets have graphic data more appropriate to volume controls (i.e. 0 to 9) or min/max. The nearest useful one being the silver knob which just has just min/max. Still not that useful for a range which is octave data going from -3 to +3.
The rotary controls are continuous and thus do not ‘click’ on the 7 stops (-3 to +3) - but slide round continuously and eventual go to the new value.
So my question is: is there any way that I can make the action of any of the widgets more appropriate to a 7 step switch rather than a continuous rotary control?
Hi Barry,
if you know how to use GP-Script to some degree, i could offer you a “scripted” rackspace wich even doesn’t need an additional VST to transpose the incoming MIDI notes.
It can all be done within GigPerformer itself.
I recently wrote a script to realize “radio-buttons” (which unfortunately are not existent in GP by default).
So there would be seven LED-Buttons to set the transpose-amount of the incoming notes with which you could easily switch around the octaves.
I opened a topic in the “User Scripts” cathegory - you can download the rackspace there:
We need to add explicit support for discrete parameters - I’ve put this on our tracking system. But yeah, GP Script can certainly be used as a short term workaround. Thanks for creating that.
Thanks for the replies and thanks schamass for the script (and also David’s code optimizations of it which were very useful).
I will explain what I am doing as others might be interested. So - I am currently midway working to simplify using some external hardware with GP - thus the reason I created the VST. To briefly explain: I have a keyboard (a Motif) that I want to use to drive a 16 channel multi-timbral sound module (a Roland Integra-7). So the keyboard generates midi on channel 1 and I want to be able to (as an example) layer a piano on channel 1 of the Roland; a string sound (say - shifted down an octave) on channel 2 of the Roland; and a separate synth sound on channel 3 of the Roland. I have also been looking to use Sonar Instrument Definition files to improve the selection of the patches and I think I have got that more-or-less working reliably (via a VST I found and bit of scripting to iron out some usage issues).
So my solution to the above example: GP gets data on a single midi channel (1) coming in - and that has to be split out (cloned) somehow into channel 2 and 3 etc so that it can be passed to the individual channels of the Roland module. For this reason I created the VST which clones the midi data to a second midi channel, and also (while it is at it) shifts the note by up to -3 to +3 octaves. It also removes sustain pedal data if required. I might add other filtering as the need arises.
I looked at using scripting for the above - but actually it turned out to be easier to create the VST - particularly as it makes the connections via the rackspace design screen much more intuitive.
And BTW - I used a cheapish commercial tool which I found to create the VST (I’m not that clever!). It is hardly more complicated than GP’s scripting and creates real standalone VSTs for Mac/PC. I will tell you about that via a separate thread as others might find it useful.