Closed poedyatel closed 1 year ago
Could you please give me some context which device you are talking about?
I mean Generic Flexi for Bitwig. I'm trying to make friends with M-vave SMK-25, it's a simple midi controller without deep integration features, 25 keys, 8 pads and 8 knobs We are talking about expanding the list of functions that can be seen in this video https://www.youtube.com/watch?v=jfaEY-AMaNk&list=PLqRWeSPiYQ64O9Ulu_aMQ9mdEDJDColcP&t=330s
Look at "Knob mode" option:
Yes, it's half way. Next step, in the Slot Function panel, where we can select the "Device: Set Parameter 1" function. In this list, we need functions that will increment and decrement values by 1 when a value of 0 or 127 comes from the relative knob. Something like this: Device: Inc\Dec Parameter 1 Device: Inc\Dec Parameter 2 Device: Inc\Dec Parameter 3 Device: Inc\Dec Parameter 4 Device: Inc\Dec Parameter 5 Device: Inc\Dec Parameter 6 Device: Inc\Dec Parameter 8
No, that is automatically handled depending on the "Knob mode" setting. If it does not work make sure that you selected the correct Relative mode (there are 3).
I think that the mode is correct, because if I choose the "Transport: Move Play Cursor" it will work well, if I change the modes, then there will just be a little lag and invert. But the "Device: Set Parameter N" function has another "problem". According to the name it tries to set the value of the parameter to either 0 or 127, and this is ignored because any knob in the bitwig must be "hooked" before it changes value when the hard knob is rotated. Even if we manually make such a "hook", for example, by setting the parameter to the min or max with the mouse, it still will not work correctly, and will jump from min to the max when the physical knob is rotated.
These are the messages the controller sends during rotation knob | STATUS | DATA 1 | DATA 2 | CHAN | EVENT |
---|---|---|---|---|---|
B0 176 | 14 20 | 7F 127 | 1 | CC 20 Undefined (MSB) | |
B0 176 | 14 20 | 7F 127 | 1 | CC 20 Undefined (MSB) | |
B0 176 | 14 20 | 7F 127 | 1 | CC 20 Undefined (MSB) | |
B0 176 | 14 20 | 00 0 | 1 | CC 20 Undefined (MSB) | |
B0 176 | 14 20 | 00 0 | 1 | CC 20 Undefined (MSB) | |
B0 176 | 14 20 | 00 0 | 1 | CC 20 Undefined (MSB) |
I think there is a misunderstanding. "Set Parameter" controls the remote controls of each device. If you want to do specific mappings, use the USER functions ("User: Set Parameter"). I did a video some time ago about remote control parameters here: https://www.youtube.com/watch?v=UeK9cGfNDeo
That's right, we're talking about remote controls of each device and function "Set parameter". I'm not explaining well, sorry, I'll try to explain differently.
The relative knob always sends two identical messages containing the value 0 or 127. "Set parameter" sets the received value to the corresponding remote control, i.e:
if midivalue = 0 parameter = 0
or
if midivalue = 127 parameter = 127
We need a function that will not set absolute value, but add or subtract 1, that is:
if midivalue = 0 parameter = parameter - 1
or
if midivalue = 127 parameter = parameter + 1
I think that the solution to my problem lies in expanding this list of functions, and perhaps I'm asking this in the wrong place. Did you develop each of these functions for flexi, or is it provided by Bitwig?
Again, it does all that. The MIDI CCs you showed above use the "Twos complement" relative encoding. If you select this option on the Knob Mode, "Device: Set Parameter X" will handle it correctly. Just to be sure I tested with exact these values. These are the settings:
Damn! I must have made a mistake somewhere, I'm using linux and so many different things had to be molded together ... now I've destroyed everything and built it again and it works correctly! Sorry! Thank you!
No worries.
Is it possible to add a function that allows to use relative mode for 8 parameter knobs? This would be much more convenient than absolute, in which you need to regularly synchronize the knobs.