Skip to content

Learn: #WidgetType in FXWidgetLayout only works for channelized widgets (ending in numbers) #51

@FunkybotsEvilTwin

Description

@FunkybotsEvilTwin

When defining #WidgetType entries in FXWidgetLayout, only widgets that look like channelized controls (names ending in a number) are currently eligible for Learn.

For example, declaring:

#WidgetType Fader

will automatically expand internally to Fader1, Fader2, …, and these show up correctly in Learn.

However, non-channel/global controls — such as Track, Pan, or function keys like F1–F8 on MCU surfaces — are not recognized. If you try to declare these directly (#WidgetType Track or #WidgetType F1), they do not work as expected.

Desired Behavior

Any widget explicitly declared in FXWidgetLayout via #WidgetType should become eligible for Learn.

Global/non-channel controls (e.g., Track, Pan, F1–F8) should be recognized without requiring a trailing channel number.

Declaring a widget name with a number (e.g., F1) should be respected literally, rather than treated as a base for further channelized expansion.

Actual Behavior

Only channel-style widgets (Fader, Rotary, Select, RecordArm, etc.) expand properly and work with Learn.

Global widgets without numbers (e.g., Track, Pan) do not appear in Learn at all.

Widgets declared with a number in the name (e.g., F1) incorrectly expand into unintended variants (e.g., F11, F21, …).

Proposal

Perhaps we keep WidgetType for "channel-ized" widgets, but add a one-off Widget option like #SingleWidget. Example:

#WidgetType = expands per channel (e.g. Fader, becomes Fader1, Fader2, etc.)
#SingleWidget= stays literal (e.g. Track, Pan, EQ, Send)

Ideally, any defined widgets in the FXWidgetLayout would also become reserved for the Learn process so actions from the home zone wouldn't fire.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions