Home AMX User Forum AMX Technical Discussion

MKP-108 knob level

Hi all
Is there any way (I assume undocumented way) to set level on MKP-108 knob?
I know that I can send_level to set the LEDs, but in my project I need to alter the level on knob itself.

The problem is that I can change the volume in the sound processor from either the keypad or touchpad. If I turn the knob, I read the level and send it to sound processor and touchpad to set bar graph. I would like to do the same in the other direction, set the level on bar graph and send it to knob (not LEDs!).

At this moment I can't use the knob's level and have to use knob's buttons.

Thank you.

Answers

  • John NagyJohn Nagy Posts: 1,742

    The "knob" has no level. You can't set a knob. On the Massio, moving the knob functions as a button, turning duration results in a hold. See page 16 of the manual. Left ("down") results in a press of button 13. Right (clockwise, up) is button 12. The program has to see the button and internally increment the related function. If you want to "emulate" the knob, your program can simply insert up or down pushes (12 and 13), but that won't tell you the level it causes. Better to set the level directly to what you want, and LED's and your bar graph will follow.

  • Apart from the up and down channels for the volume when rotating the knob, the volume knob also generates a level (2) and the volume bargraph can accept a level (1).

    DEVLEV dlMKPBar = {dvMKP108,1}
    DEVLEV dlMKPKnob = {dvMKP108,2}

    LEVEL_EVENT [dlMKPKnob]
    {
    SEND_STRING 0, "'MKP108 Knob: ', ITOA(LEVEL.VALUE)"
    SEND_LEVEL dlMKPBar, LEVEL.VALUE
    }

    I don't know if you can change the value of the current level, I don't think so. You can do what John said: Use the up and down events, so it won't keep a level value itself. Keep a common level in your program and if one of those changes the level, update the other ones (in this case set the LED bargraph to the new value)

  • Thank you for the answers. As I thought, I will have to keep using knob as buttons.
    Thanks anyway.

  • Why not scale the level to the value you need? Play with this...

    DEFINE_FUNCTION SINTEGER scaleBetween(SINTEGER unscaledNum, SINTEGER minAllowed, SINTEGER maxAllowed, SINTEGER min, SINTEGER max) {
    //((limitMax - limitMin) * (valueIn - baseMin) / (baseMax - baseMin)) + limitMin;
    RETURN ((maxAllowed - minAllowed) * (unscaledNum - min) / (max - min)) + minAllowed
    }

  • Because it's so not the answer to the question: is it possible to alter the level of knob in MKP-108.

  • Ahh I think I see what your asking.. you want to have the knobs level position match that of the DSP essentially right? So say I turn the knob to 128 on the KP, and then you move that fader in the DSP.. Update the knobs position basically to match?

  • Exactly that. To make sure that if someone sets the knob to 100%, then sets the fader to 10%, rotating the knob for just one step won't immediatelly set fader to 100% or so.
    Just hoped for some undocumented command, but I'll have to find some other solution.
    Thanks anyway.

Sign In or Register to comment.