Convert OSC messages to MIDI CC values

RELATED
PRODUCTS
User avatar
moss
KVRAF
3514 posts since 13 May, 2004

Post Wed Dec 07, 2022 11:42 am

ojggaspar wrote: Wed Dec 07, 2022 1:53 am
moss wrote: Wed Dec 07, 2022 1:20 am Yes, if you create a mapping by using a user parameter.
Ok, this is a bit confusing. "User parameter" in this case refers to controls that can be freely mapped by right-clicking any control in the UI and "Learn Controller Assignment" (Map to controller or key), this is what I would like to know if it is possible to do. When you map something this way it would automatically send the name of the midi mapped parameter via OSC to the OSC text label, is this possible ?

Are you referring to parameter inside what is called Preset Pages (just like the Device pages) when you say a "user parameter"?

Again, thank you!
Look at ControllerHost.createUserControls (final int numControllers)
This gives you a UserControlBank
Use getControl and bind the parameter to a knob or fader.
Now select learn in Bitwig and move the knob/fader.
Read the values/label from the Parameter.

ojggaspar
KVRer
Topic Starter
23 posts since 17 Mar, 2019

Post Thu Dec 08, 2022 7:55 am

Ok! I was able to do all that, not yet to read the values/label from the parameter (still have to study the API better and re-watch your youtube tutorials a few more times :) ).

So a bank of custom user controls is created (for example 24 controls). The only place to view the mapped user controls seems to be the "Mappings Browser Panel".

Do still the concept of bank pages apply in this manner (even if you can not see those "pages" like the device pages/remote controls) ?

I am probably a bit confused about this and making no sense at all, but I can not really see much advantage to User Bank controls other than getting the name of the midi mapped (learned) parameter back to an OSC label, for example, afterall User parameters do not seem much different from the typical midi learn.

What is the difference between typical midi learn and User Bank controls?

User avatar
moss
KVRAF
3514 posts since 13 May, 2004

Post Thu Dec 08, 2022 8:08 am

ojggaspar wrote: Thu Dec 08, 2022 7:55 am Ok! I was able to do all that, not yet to read the values/label from the parameter (still have to study the API better and re-watch your youtube tutorials a few more times :) ).

So a bank of custom user controls is created (for example 24 controls). The only place to view the mapped user controls seems to be the "Mappings Browser Panel".

Do still the concept of bank pages apply in this manner (even if you can not see those "pages" like the device pages/remote controls) ?

I am probably a bit confused about this and making no sense at all, but I can not really see much advantage to User Bank controls other than getting the name of the midi mapped (learned) parameter back to an OSC label, for example, afterall User parameters do not seem much different from the typical midi learn.

What is the difference between typical midi learn and User Bank controls?
In Bitwig it is basically the same. The important difference is that if you "only" map a knob without a user parameter you will hard bind it to the learned parameter. So, this knob will from now on only be able to control this parameter. With a user parameter you can still bind the knob to something else in the API and therefore be able to implement different modes.

hpsounds
KVRer
7 posts since 23 May, 2009 from France | Iceland

Post Fri Dec 09, 2022 1:10 am

Hi Moss,

Many thanks for your work !

I'm using the Flexi script with a MIDI Fighter Twister.
Is there a way to limit the control of the Volume faders to 0 dB ?
If not, could it be implemented in a future upadte ?

User avatar
moss
KVRAF
3514 posts since 13 May, 2004

Post Fri Dec 09, 2022 1:23 am

hpsounds wrote: Fri Dec 09, 2022 1:10 am Hi Moss,

Many thanks for your work !

I'm using the Flexi script with a MIDI Fighter Twister.
Is there a way to limit the control of the Volume faders to 0 dB ?
If not, could it be implemented in a future upadte ?
Sorry, no. And I have no plans to implement any kind of parameter limitation.

Return to “Controller Scripting”