First, thanks for the plugin — the depth of the dial actions is fantastic. Two actions I lean on a lot:
- Multi Midi lets me pack up to 4 functions onto one physical dial, with the nice selection UX (tap to select, press/rotate to cycle, timer delay) and rendering options (fader / V-Pot, side-by-side or jagged, highlight via frame / corners / arrows / bars / dimming). Great for saving scarce dials on the Stream Deck+.
- Scripted Dial gives full flexibility on a single dial: JavaScript / MidiScript on rotate / press / release / tap, custom screen areas, computed title & image, arbitrary MIDI out, variables, and changing almost any config parameter at runtime.
The problem: these two strengths are mutually exclusive today. Multi Midi multiplexes 4 items on one dial, but each item is limited to a Generic Midi function — no scripting, no computed feedback, no custom logic. Scripted Dial is fully scriptable, but only drives one function per dial. So exactly when I most want to save dials (several scripted behaviours on one), I have to give up either the multiplexing or the scripting.
The request — a “Multi Scripted Dial” action: keep the whole Multi Midi container (up to 4 items sharing the display, the same selection model, timer-delay and highlight/rendering options) but let each item be a Scripted Dial instead of a Generic Midi function. Net effect: up to 4 independently scripted functions on a single physical dial, each with its own rotate / press / release / tap scripts and its own rendering.
Example — on one physical dial:
- Item 1 — DAW send level: CC out with a custom-drawn V-Pot and a title computed from the incoming feedback value.
- Item 2 — a JS macro sequence on press, with a state toggle shown as a computed image.
- Item 3 — an accelerated relative-encoder handler that Generic Midi can’t express.
- Item 4 — a value read from a custom variable, rendered as a bar and updated by incoming MIDI.
Nice-to-haves:
- Per-item scripts exposing the same hooks as a standalone Scripted Dial (rotate / press / release / tap, plus on-MIDI and on-variable-changed).
- Shared custom variables across the items in the same Multi dial (so one item can reflect another’s state).
- A script hook to change the currently active item (e.g.
setActiveItem(n)), so context can drive which item is focused. - Per-item computed title & image, reusing the Scripted Dial rendering for each sub-area.
- Reuse the existing Multi Midi selection / timer / highlight config verbatim, so it feels like the same action with a scripted item type.
Even a first version limited to “each Multi item = a Scripted Dial, sharing the Multi selection/rendering” would already be a big flexibility win over Multi Midi. Thanks for considering it!