v0.6.1: meter-anim revert + strip/stuck fix, preset Load, knob sweep, anim polish#19
Merged
Merged
Conversation
… anim polish
Addresses the 0.6.0 feedback (13 items):
1/9. Meter reveal reverted to the v0.5.9 exponential ease (the curve the user
preferred); it is stateless so it always converges, and it now follows the
UI-Animations switch (off = instant).
2. layoutScopeArea is now authoritative for the level meter's visibility every
frame, so a collapse can never leave (or stick on) a 1-2 px sliver.
3. Preset menu gains "Load Preset..." which opens the OS file chooser
(*.anamorph); PresetManager::loadFile adopts the file's name.
4. Removed the "(F3)" reference from the UI-Animations tooltip (there was no
key binding; it was misleading).
5. Rotary knobs ease their pointer/arc toward the live value, so a preset or
A/B switch sweeps the knob instead of teleporting; turning by hand stays
1:1. Driven by a per-knob "vpos" the LookAndFeel draws from.
6. Dirty marker changed from a bold bullet to a light " *".
7. When the preset name is too wide for the slot it abbreviates Pro Tools
style (drop vowels, keep each word's first letter: Drum -> Drm), then
hard-clips only if still too wide.
8. Preset list min width 228 px so long factory names show in full.
10. Micro-anim hover is now hit-tested against the live cursor instead of
enter/exit events, which fixed the occasional click-time flicker; eased
values are clamped 0..1 and never re-initialised mid-flight.
11. The Save-Preset name field gets the open-combo accent micro-glow when
focused (via a "glow" property + drawTextEditorOutline), instead of a thin
default outline.
12. Presets tooltip shortened to "Presets" (no period).
13. Window-scale change is a single guarded transform step with the editor
opaque and a prompt GL repaint, so no see-through/stale frame flashes; the
no-op guard avoids redundant host resizes.
https://claude.ai/code/session_01Y38PtwPxh2geBLta6yuUwv
skyRolly
pushed a commit
that referenced
this pull request
Jun 17, 2026
…, layout restructure DSP - Crossover drag no longer pitch-shifts: per-sample octaves/sec cutoff slew on every split, the same cap Mono Maker uses (#1). - A/B "weird sound": at the silent duck bottom a forced swap now resets EVERY stateful node (Haas/Velvet/Chorus delay lines, all oversamplers, band + mono crossovers), so a same-algorithm A/B with different delay/rate/Drive can't replay old buffer contents as the duck lifts (#22). Layout (#2/#3) - The scope/meter block returns to its previous size: Advanced now GROWS the window downward by a full-width Multiband bar instead of squeezing the scope. - Phase + balance meters hug the scope with an equal gap (cluster centred), so the scope-to-phase and scope-to-balance gaps always match, both modes. Multiband module - Renamed everywhere to Multiband; default ON, greys out when disabled (#20). - Variable bands stay; new interaction model: width drag only near the width line (#15), add hint over the rest of a band (#14), click-drag adds a split AND positions it in one gesture (#16). - Split delete x shows to the right of a hovered split (#6); reset clamps a split between its neighbours so it can't jump across one (#18). - Double-click a split's number to type a frequency (7.7k / 7.7 / 7700 / 0.5, bare <= 20 = kHz) (#5). - Scroll latch holds its target until the pointer really moves (3 px) (#4); band width scroll is 1 %/notch (#17). - Smoother analyser: Catmull-Rom interpolation kills the low-end stair-stepping (#11); the noise floor is sunk below the frame so silence shows no green line (#10). - Visual: split gets the same feathered glow as the width line (#7), an integrated rounded cap instead of a floating dot (#9), its bottom connects to the frame at rest and breaks only on hover (#12); the add "+" hugs the top edge and is larger (#13); a band-pass crossover hint while dragging a split (#19); shorter tooltip (#8). Knobs/sliders (#21) - A reset (double-click / Option-click) and a typed value now play the eased position sweep when Animations are on; a drag, the scroll wheel and host automation still snap. https://claude.ai/code/session_01Y38PtwPxh2geBLta6yuUwv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Anamorph 0.6.0 feedback — all 13 items.
layoutScopeAreais now authoritative for the level-meter visibility every frame — the moment the reserve collapses past ~2 px the meter is hidden, so no 1–2 px sliver can be left behind or stick.*.anamorph; selecting a file loads it and adopts its name.vposthe LookAndFeel draws from, always kept current so a jump has a real “from” position.*.glowproperty +drawTextEditorOutlineoverride), value boxes unchanged.Gates: 14/14 DSP self-tests · no new compiler warnings · pluginval strictness 10 PASSED.
Note on #13: the transform is applied atomically (width+height together) and our side no longer flashes; if a particular host still animates its window in two axes that part is host-driven, but the plugin content stays clean throughout.
https://claude.ai/code/session_01Y38PtwPxh2geBLta6yuUwv
Generated by Claude Code