Ramped Value Change for Widgets (time/beat durations, curves, quantize)
under review
Sergei Petrosian
Description:
Allow any widget-driven value change (buttons, steppers, faders, radios, menus) to be applied as a
ramp
instead of an instant jump—tempo-aware, quantized, and with selectable curves—so parameters glide musically to their targets.Problem:
Instant value jumps can cause clicks, harsh transitions, and imprecise musical moves. Today, achieving smooth, time-synced changes requires multi-step macros or external automation, which is slow to build and fragile on stage.
Proposed Solution:
- Ramp Options on “Set/Adjust Parameter”:
-
Duration units:
ms/s, beats/bars
, cycle of clip X
, or combinations
(e.g., 1 bar + 250 ms). -
Curves:
Linear, Exponential/Log, S-curve, Step, and Bezier (with shape %). -
Targets:
Absolute value, Add/Subtract
, Multiply/Divide
(e.g., ×1.5 dotted), clamp to min/max. -
Start & Restart policy:
From current value; Restart / Continue / Queue / Blend
when a new ramp arrives. -
Quantize start:
None, Beat, Bar, Loop, or Cycle of clip X
; late-press guard
to defer if too close to boundary. -
Sync safety:
Click-safe gain handling (auto microfade for very short ramps), sample-accurate scheduling. - Controls & API:
- Actions:
Start Ramp (target, duration, curve, quantize)
, Cancel Ramp
, Pause/Resume
, Resync to Boundary
, Set Ramp Policy
. - Variables:
ramp.active
, ramp.progress
, ramp.remainingMs
, ramp.target
, ramp.curve
, ramp.policy
, ramp.sourceClipCycleBeats
. - Inspector HUD: small progress ring/bar and resolved target/time readout.
- Batch & Mapping:
- Ramp
multiple parameters
from one widget with independent curves or a shared timeline. - MIDI/OSC mappings can request a ramp per change (with
throttle
and delta threshold
to prevent spam). - Presets & QoL:
- Quick chips:
×2 / ÷2 / dotted ×1.5 / triplet ×2/3
, “2 bars”, “500 ms”, “¾ cycle of Drums”. - Save ramp presets per widget/page; themeable success/queued feedback.
- Conflict Handling:
- Per-parameter
lane
with policy for overlapping ramps; optional “kill others on start.” - Safe undo groups; ramps survive page switches unless flagged “local only.”
Benefits:
- Smooth, musicaltransitions without macro sprawl.
- Reliable, bar/beat/clip-synced moves that land exactly on boundaries.
- Fewer clicks and level shocks; cleaner live operations.
- Reusable ramp presets speed up show programming.
Examples:
- Delay Mix: ramp 0% → 35% over2 barswithS-curve, quantized to bar; late press defers to the next bar.
- Filter Sweep: 200 Hz → 6 kHz over¾ of the Drums clip’s cycle, exponential curve;Restartpolicy for retriggers.
- Master Duck: −12 dB over120 ms, thenResumeto 0 dB over1 barwhen talkback released.
- Morph Macro: one button ramps four synth params with different curves on ashared 4-bar timeline; Multiply LFO rate by×2/3 (triplet)mid-ramp.
This summary was automatically generated by GPT-5 Thinking on 2025-10-14.
Original Post:
Apply ramp to value change action on widgets
I am controlling my dials and faders using iPad touchscreen and I’d like to have an ability to apply ramp to value change action on widgets.
So that when I press and slide to change the value, the value gets changed smoothly, not in spurts like it’s now.
I.e. the desired behavior is: when press and slide a dial up very fast to get the highest value, the value changes smoothly within the configured ramp time, say, 8th note.
It will help with life performance dramatically.
ultracello
under review