Track selection volume increment/decrement (mVolume.increment)

Was searching on ways to get the current track volume raised or lowered by a jog wheel control which sends one CC for clockwise a a different CC for counterclockwise.

And noticed that there’s an increment and decrement method for mVolume, see:

But I can’t work out how to bind that to a surface control, anyone come across it, and worked out how?

That’s interesting. Could it be where the keycommands connect to? (Primary Parameter Increase/Decrease, Primary Parameter Fine Increase/Decrease - these are for volume, and Secondary Parameter Increase/Decrease, Secondary Parameter Fine Increase/Decrease - these are for pan)

1 Like

I really don’t know.
Those key commands only work when you have the track selected in the mixer view don’t they? I will give them a try though.

Yes, unfortunately.

The increment/decrement are methods as you correctly state, not hostValues themselves, thus we cannot bind them via the makeValueBinding. (I either don’t know what they’re there for)

Anyway, why don’t you just create a customProcessVariable and bind this to your mVolume instead?

What is this? Is it inside Cubase? Where?

It’s the MIDI Remote scripting API introduced in Cubase Pro 12.


That is indeed what I opted for! :slight_smile: I just got very curious seeing the increment/decrement methods.

Perhaps @Jochen_Trappe could let us in to the secret of what and how these can be used!

1 Like

I got curious as well! In fact I thought I could gain access to some hostValues this way. In the very end, I saw that there were other ways more compliant with the API’s context, so I forgot all about it :slight_smile:

Thanks for the info.

Is the API more powerful than the Midi Controller Surface Editor? has the API more options of configuration?

It’s more powerful in regards to feedback to the device (i.e. to put displays on screens, light pads etc.), and you can do things like map clockwise/counter clockwise turns to different actions - which you can’t do in the surface editor.

It basically allows you to write additional code to manage the actions between input and the output of the controlled values.


Thanks a lot for the info @skijumptoes

I bought Cubase 12 very soon, mainly for the licensing change (goodbye to the usb dongle).

At the beginning I tried the new midi remote implementation, but I didn’t like it because it was less powerful than the legacy mode (midi generic devices).

I will take a look to the API, it seems more powerful than the legacy mode, isn’t it?

On the whole it’s much more powerful yes, but it depends on your requirements. The surface editor is very powerful and quick too, and you can use both methods to create a hybrid remote.

What I mean by that is that you use the API to define a control surface and more intelligent mapping pages, but you can then add to that surface with new pages via the surface editor interface within Cubase.

I think the old Generic Remote works well for devices where you want a long list of triggers without screen representations. i.e. for external touch device controls running apps which only need a CC trigger related to a command. And things like Streamdecks etc.

1 Like

I use the old Generic Remote to send and receive cc messages. It works fine, but it’s old and it will probably be removed in the next version of Cubase.

So I would like to do with the new Midi Remote what I have always done with the Generic Remote.

I did a wish explaining it and asking for an improvement:

@skijumptoes do you think I could configure toggle/always on/always off for main functions using the API?

You can write custom JavaScript code that will allow your switch/button to either toggle between two commands (or values) or always send the same. So, yes you can. Just keep in mind that “using the API” means programming rather than configuring.

1 Like