Description:
Introduce a system where widgets can receive their values from assignable macro slots. Each macro slot stores a value between 0 and 1, and this value can be modified via MIDI Learn, other widgets, or automation. Any widget linked to the same macro slot will respond to that shared value.
Problem:
Currently, dynamic control across multiple widgets often requires individual mappings or complex bindings. There’s no unified control layer to easily route and share parameter values across multiple targets.
Proposed Solution:
  • Implement assignable macro slots (0–1 range) that can serve as value sources for widgets.
  • Allow sliders, knobs, or MIDI controls to manipulate these slots.
  • Any widget linked to a macro slot will reflect the value without needing direct bindings.
Benefits:
  • Centralized control of multiple widget behaviors.
  • Simplifies complex routing setups and modulation workflows.
  • Enables smarter reuse of interface controls.
  • Eliminates the need for repeated action bindings for each widget.
  • Makes reactive and adaptive UIs easier to configure.
Examples:
  • A vinyl stop effect uses a macro slot to control ramp speed. A slider adjusts the macro value, which in turn sets the vinyl stop ramp time dynamically—no need to bind the ramp time directly.
This summary was automatically generated by ChatGPT-4 on July 24, 2025.
Original Post:
Widget macro slots
Widgets could get their value from a macro slots which store a value from 0 to 1.
Other widgets and midi learn can modify these macro slots, thus changing the values for any widgets using them.
Example use case:
  • A vinyl stop effect button gets its ramp speed from a macro instead of the hard setting. User sets what ranges to convert 0-1 to. A slider widget next to it defines the value. The vinyl stop will then have a variable ramp time.
Why this is better than simply allowing access to ramp time from other widgets is that it allows you to simplify setting the value to a single source, which can then also be used by other widgets automatically simply by assigning to the same slot. No further action bindings for the widget which controls the macro value would be needed, just one single adjustment of the macro.
It would make setting up complex routing much easier.