Description: Let Text widgets show live or snapshot values from other widgets (faders, toggles, radios, menus, meters, clip/mixer props), triggered by On Press , On Select , On Change , On Release , or Timed Poll . Provide a simple templating syntax, formatting options, and safe cross-page references. Problem: Labels often need to mirror state elsewhere (e.g., show the value of a hidden fader or the currently selected radio item). Today this requires ad-hoc variables/macros and isn’t discoverable. There’s no direct way to say “when I press/select here, display that control’s value there,” with formatting, scope, and low latency. Proposed Solution: Binding & Templating: - Inline tokens: {widget:<nameOrId>.value} , {clip.selected.name} , {mixer.track[2].pan} , etc. - Multiple tokens per label with text, e.g., Delay: {widget:DelayMix.value|pct0} @ {tempo.bpm|0.0} . - Format pipes : |0 , |0.0 , |pct0 , |ms , |Hz , |signed , |pad2 , |upper , custom |map tables. Triggers (per Text widget): - On Press (of a target widget), On Release , On Select (radio/menu), On Change (value changed), Interval (e.g., 10 Hz), and Manual Refresh . - “ Snapshot vs. Live ” mode: one-off capture at trigger vs. continuous subscription until dismissed. - Debounce/Throttle to avoid spam during fast moves; hold/long-press variants. Targeting & Scope: - Reference by name, tag, color, or ID ; choose Nearest on Page , This Page , or Project-wide (cross-page safe). - Safe failure text (e.g., “—”) and warnings for missing/ambiguous targets; picker UI to resolve conflicts. Styling & Layout: - Auto-fit text, min/max font size, marquee for overflow, number alignment options, prefix/suffix units, conditional color (e.g., red when > −6 dB). - Optional icon/pictogram alongside value; supports Genmoji and embedded assets. Actions & Variables: - Actions: Text → Bind To Widget… , Set Template Text , Refresh Now , Start/Stop Live Subscription , Set Trigger (Press/Select/Change/Interval) . - Vars: text.boundTargets[] , text.lastValue , text.isLive , text.refreshHz , text.error . Debug & Safety: - Inspector shows resolved tokens and current values; “copy resolved text” for logs. - Sandboxed cross-page reads (read-only) with permission toggle; rate limit for background polling. Advanced: - Conditional templates : {if widget:Rec.state=="record"}● REC{else}idle{end} . - Aggregation : {avg widget:Band*.gainDb|0.0} dB , {max group:"Sends".value|pct0} . - Event queue : buffer last N changes for quick flick-through (“previous value” recall). Benefits: Clear, at-a-glance feedback without exposing the source controls. Faster programming—no fragile macro webs for simple readouts. Consistent, formatted labels across pages and projects. Performance-safe updates with throttling and subscriptions. Examples: A Text widget on the Master page shows Reverb {widget:RevMix.value|pct0} when the Reverb button is pressed , then stays live while held. A Radio for delay times updates a nearby label On Select : Delay: {widget:DelayTime.selectedLabel} . A compact header displays BPM {tempo.bpm|0} • Grid {edit.grid|note} with a 10 Hz interval trigger. Press a “Show Current Send” button: text snapshots {mixer.track[Vox].sendA|pct0} without subscribing. This summary was automatically generated by GPT-5 Thinking on 2025-11-04.