Description:
Extend the toggle widget "Save"/"Restore" actions so they can operate across different widgets, not just on a single target. The goal is to allow saving values from one step dial (A) and restoring them into another step dial (B), plus provide a way to clear all stored values on a per-project basis.
Problem:
Currently, the toggle widget’s "Save" and "Restore" actions only work when the source and target are the same widget. This is limiting in setups where:
  • You want to save the state of one step dial and recall it into a different step dial.
  • You need multiple step dials to inherit or recall states from a "master" step dial.
  • Step dials cannot be synced with each other in the same way that normal dials and faders can; this makes it hard to keep multiple step dials coordinated via automation.
Because of this:
  • Cross-widget workflows (save from A, restore to B) are not possible.
  • Complex MIDI automation setups that depend on sharing states between step dials require manual workarounds or are simply not feasible.
  • Stored values accumulate over time with no simple way to clear them per project, which can lead to clutter or unexpected behavior when experimenting.
Proposed Solution:
1) Cross-widget save/restore routing
  • Allow the toggle widget to define:
- A "Save source" widget (e.g. Step Dial A).
- A "Restore target" widget (e.g. Step Dial B).
  • "Save" copies the current value(s) from the source widget into an internal memory slot.
  • "Restore" writes the stored value(s) into the target widget, even if source and target are different widgets.
2) Memory slot model
  • Option A: Each toggle widget manages its own memory slot(s), defined in the widget’s settings.
  • Option B: Introduce named memory slots at the project level (e.g. "Slot 1", "Slot 2"), and toggle widgets can be configured to save/restore to a chosen slot.
  • Ensure this works for step dials with multiple steps (save/restore the full pattern, not just a single scalar value).
3) Project-level management of stored values
  • Add a project-level option: "Clear all saved values for this project".
  • Optionally allow clearing individual slots or per-toggle stored values.
  • Make the clear action explicit and safe (confirmation dialog) to avoid accidental data loss.
4) MIDI automation-friendly behavior
  • Ensure that save/restore operations triggered via MIDI are deterministic and performant, even for larger step dials.
  • Clarify how save/restore interacts with automation lanes or modulations (e.g. restore overwrites current dial values at the moment of trigger).
Benefits:
  • Unlocks advanced step dial workflows where one dial can act as a "source pattern" and others can receive its state on demand.
  • Enables snapshot-style behavior for complex step dial patterns that can be recalled across different widgets/pages.
  • Makes MIDI automation more powerful and expressive by allowing dynamic copying/restoring of states between widgets.
  • Keeps projects clean and predictable via per-project clearing of stored values, especially useful when iterating on complex setups.
Examples:
  • Master pattern broadcast:
- Step Dial A holds a main rhythm pattern.
- A toggle widget saves from Step Dial A and restores into Step Dials B and C at different points in the song, allowing quick reuse of the master pattern on multiple targets.
  • Pattern A/B switching:
- Save one step dial pattern into Slot 1, another into Slot 2.
- Use toggle widgets to restore Slot 1 or Slot 2 into a performance step dial (B) via MIDI, effectively switching between stored patterns live.
  • Project clean-up:
- After experimenting with multiple save/restore setups, use "Clear all stored values for this project" before a live show to reset all internal memory and ensure only intentional states are used.
This summary was automatically generated by GPT-5.1 Thinking on 2025-12-27
.
Original Post:
Toggle Widget Action: Save from Step Dial A - Restore to Step Dial B (MIDI automation)
Currently ‘save’ and ‘restore’ is only possible if it’s the same widget, but in some cases it’s neccesary to restore target A to target B. Especially the Step Dials because they can’t be ‘synced’ to each other like the normal dial and faders do. I think it’s not possible though. I also would like to be able to delete all the stored values on a project basis.