How to map a MIDI CC to multiple parameters?

SDK for VST 3 audio plug-in and host development.
abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

How to map a MIDI CC to multiple parameters?

Post by abique » Tue Jun 21, 2016 12:47 pm

Hi,

In u-he products it was possible in VST2 to map a single MIDI CC to multiple parameters. It seems that in VST3, a MIDI CC can be mapped to only one parameter. Is it correct? If yes, what would be the solution for u-he?

Thank you.

Alex.

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: How to map a MIDI CC to multiple parameters?

Post by Arne Scheffler » Tue Jun 21, 2016 12:59 pm

Normally the host should implement MIDI-CC to Parameter mapping, tho not all hosts do this especially not mapping multi parameters.
Plug-Ins should only provide defaults.
The reason why the host should be responsible is that the user of the host should have a consistence workflow and not learn how to map Plug-in Parameters for every plug-in.

abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Re: How to map a MIDI CC to multiple parameters?

Post by abique » Tue Jun 21, 2016 1:32 pm

u-he is trying to provide a consistent user experience across different plugin interfaces, hosts and operating systems.
Offering a standard way for the user to map MIDI CC through the host, should not exclude the plugin from doing it as well.
Same idea, but from two different point of view, isn't it?

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: How to map a MIDI CC to multiple parameters?

Post by Arne Scheffler » Tue Jun 21, 2016 2:08 pm

Sure, one view of the plug-in developer and one view from the host developer.
I'm not entirely sure, but I think it's more common that a user is using one host application with multiple plug-ins than one plug-in in multiple hosts.

If you as a plug-in developer want to implement this feature, you have to provide a proxy parameter and if the host maps a MIDI-CC to that parameter you can alter as many of your other parameters as you like.

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: How to map a MIDI CC to multiple parameters?

Post by Arne Scheffler » Tue Jun 21, 2016 2:22 pm

And one more thing, when you do implement this yourself, you most likely will have problems with automation. What if the user had a recorded automation of one of the parameters and now records an automation for the proxy parameter. Both automation will fight against each other which value will be the correct one. So it's still the best to let the host do it.

abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Re: How to map a MIDI CC to multiple parameters?

Post by abique » Tue Jun 21, 2016 2:59 pm

Do you recommend to create 16 * 128 parameters and map each of them to a single MIDI CC?
We're fine with the ambiguous case of concurrent parameter automation and MIDI CC, as it is already "solved" for the other plugin format.

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: How to map a MIDI CC to multiple parameters?

Post by Arne Scheffler » Tue Jun 21, 2016 3:18 pm

abique wrote:Do you recommend to create 16 * 128 parameters and map each of them to a single MIDI CC?
We're fine with the ambiguous case of concurrent parameter automation and MIDI CC, as it is already "solved" for the other plugin format.
Interesting, how did you "solve" it ?
And I cannot recommend something here as I think that this is the wrong way.

cheers
Arne

abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Re: How to map a MIDI CC to multiple parameters?

Post by abique » Tue Jun 21, 2016 8:09 pm

I also think that having 16 * 128 virtual midi cc parameter is the wrong way.

If the user has two MIDI CC going to the same parameter (it is possible with IMidiMapping right?), then you can also have a race if there are two concurrent automation on that MIDI CC. If I'm correct, then hiding the MIDI CC to the plugin does not solve the issue as well.

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: How to map a MIDI CC to multiple parameters?

Post by Arne Scheffler » Tue Jun 21, 2016 8:32 pm

No, the host records parameter automation, not MIDI-CC automation. The IMidiMapping only tells the host which MIDI-CC maps to which parameter.
If the user turns a knob on his MIDI remote control then the host maps this change to the parameters in the IMidiMapping and as the host knows about which parameters it changes and which automation is active, it can handle parameter changes accordingly without a race.

Urs
Posts: 9
Joined: Thu Jun 23, 2016 11:11 am

Re: How to map a MIDI CC to multiple parameters?

Post by Urs » Thu Jun 23, 2016 11:22 am

Arne Scheffler wrote:I think it's more common that a user is using one host application with multiple plug-ins than one plug-in in multiple hosts.
We did a customer survey recently. Turns out, our Cubase users averagely use 2.3 hosts.
Arne Scheffler wrote:Both automation will fight against each other which value will be the correct one.
You also get a race condition when there's automation while the users turns a knob on the user interface with his mouse.

In our view, MIDI Learn is a means to set up control surfaces for sound design and live performance. Parameter automation is a means for a production scenario.

Back to the original topic, we allow for MIDI Learn of multiple controllers to the same parameter because users requested this. For instance, they have one setup with a foot pedal and another setup with a knob on a controller keyboard. One is in their studio, the other one is on stage.

Post Reply