8 Knob Control Hack

I’ve been wanting an 8 knob version of the VFader since the E1 Mini showed up. Here’s a hack to use the Four-Stage dx7envelope that gives you 8 knobs but displays the graphic as an envelope with 4 levels and 4 widths. At some point we will get that 8 knob mixer control (with assignable names for the knobs)

The Four-Stage control which is under the ADSR categories. I might have discovered this hack a while ago if this was called something other than Four-Stage. :wink: It has 8 values (in spite of the name). L1-L4 are the top knobs and R1-R4 are the lower knobs. The internal control type is dx7envelope.

You have to ignore/reinterpret the envelop graph. The L’s control the 4 segment heights and the R’s control the 4 widths. It’s confusing, but not a bad compromise. I’m pretty sure I can move a custom control to displays an 8 valued mixer) over the graphic on the collapsed control. Don’t think that will work in expanded mode.

{
      "id": "123-456-789",
      "reference": 1,
      "type": "dx7envelope",
      "deviceId": 1,
      "color": "ffffff",
      "name": "Gain+Eq",
      "values": [
        {
          "id": "l1",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6420,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "l2",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6421,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "l3",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6422,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "l4",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6423,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "r1",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6440,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "r2",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6441,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "r3",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6442,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        },
        {
          "id": "r4",
          "message": {
            "type": "virtual",
            "deviceId": 1,
            "parameterNumber": 6443,
            "min": 0,
            "max": 16383
          },
          "formatter": "formatMinMaxFloat10",
          "function": "onCoalescedFaderChange"
        }
      ],
      "visible": true
    }
2 Likes

Is this only applicable to E1 Mini? Or it can work on E1 MkII as well?

I was able to add the overlay of a custom control to display the values as an 8 bar mixer. It also handles the knob turns in the compact state. The four stage control is still there to handle knob push which opens up the expanded view which has 8 knob controlled dials.

I had to to make the four stage control not visible; it was the only way I found to ensure the overlay control was on top/drawn last. Maybe there’s a simpler way. There’s a useful bug, er feature, where the four stage control still handles the knob push when not visible. If that ever changes, we’ll need some other way to control the display order. Hopefully before then we will have the ability for a custom control to handle knob presses … and to handle turn events on all knobs, not just the one for it’s slot.

Is this only applicable to E1 Mini? Or it can work on E1 MkII as well?

The editor lets me add the control to the MkII layout, but that does not mean it will or won’t run on the Mk II hardware. Maybe?

Does the MkII have push encoders? That’s needed to open up the hidden control.

No, MkII encoders don’t have the push action. But maybe this action can be triggered by assigning a button to it.

There’s also a (dangerous and difficult ))) way to custom-assign the capacitive touch action, but it’s so tricky that I decided not to use it, but I tried, and it sort of works)

I looked for a way to trigger the control to open up the expanded view. Did not find anything. The building controls are all c++ so unlikely to have a lua binding if a method exists.

1 Like

The real solution is a proper 8 encoder mixer control built in to the unit or The ability to create a custom control that does the same.

1 Like