Is there a way to have buttons on a midi controller increment or decrement by 1 or a specific number?
Let’s say I’m playing live and have three sounds (acoustic, electric and synth) in my case for the guitar.
It would be cool to have buttons for each of them that would increase or decrease by 1 db on each press. I looked at the post but that seemed more related to a plug in versus say a volume control.
And then ideally a way to set them back to default values on song change (as most of these are in my global rackspace)
Scripting is your friend
The gain control is also a plugin and you can manipulate the level via scripting.
I could be a little bit tricky to control by 1db as you have levels between 0.0 and 1.0
1.0 means +6db and 0 means silence
I’ve done a few different variations of this scriptlet. This one includes a ‘step size’ parameter and an option to route the midi output to the ‘GP Local Port’, which means it can be learned to widgets.
See if this example works - it is already set up to increment/decrement a Gain plugin.
@rank13 Brilliant!. I was able to adapt it to my rig for the first control (Electric Volume). I assume as constructed it simply has to be in the Global Rackspace (ala System Actions) versus connected to anything. I’m even looking at your coding to try and learn what you are doing!! I also assume for 3 of these I would need to not only change CC#s but also the variable names in the script ?
And I assume my solution will need to tweak the “On Program Change” to “On Song Change”
Here’s my twist. I also have a volume slider for each of the outputs. For performance mode, I think the +/- 1 db will be easier to use but if the slider is changed, I would like the current value in the script to update. And when the song changes , I would like it to reset to the default values. (let’s say -6db but I’ll figure out what that translates to).
Make sense?
Thanks (you’re awesome and the power of scripting is really something)
I’d actually recommend you not try and use this scriptlet. I think what you’re trying to accomplish is probably best as a global rackspace and/or gig script.
@rank13 Worked Brilliantly. I removed the OSC part and just changed it to on song change so that it resets.Then I realized that it would be better to have a premier output (that I can adjust on the fly) which resets on every song (thanks to your brilliant work) and a post mixer output (that I would set and adjust via the control surface that wouldn’t change) for more flexibility. So in effect I have this
So is there a downside to having the two audio mixers. (The one you worked on defaults to 0 +/- 6 db) and the post mixer is set at -6db as a start to avoid clipping?
@dhj - I hope the option to move the Global Panels to the top is being considered. I find the visibility to Global Panels is much more important than the Rackspace ones (or at least the option to close the rackspace panels like you can the Global ones
I guess I don’t follow why you need another mixer. You can control the faders in the first mixer via the usual midi/osc methods, in addition to using the increment/decrement buttons. The script will always check the current value first, when you use the increment/decrement buttons.
But, ultimately, whatever works for you is the right answer
I do have a control surface for the sliders which is good for the master levels. having the secondary mixer ensures the hardware faders won’t jump when I move them while the db increment buttons can adjust per song in real time. This worked brilliantly!!!