Skip to content

v2.1.0 — Featherweight

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jul 12:01

NewAmp 2.1.0 — Featherweight

The performance release. A 71-agent adversarial audit hunted down every reason NewAmp could "get heavy" on long sessions — and the visualizer learned to fly by its instruments.

✈️ Auto-Pilot

Every Eviland surface now governs itself by measured frame cost instead of a one-shot hardware sniff. Sustained over-budget frames step internal resolution down (then frame rate, at the floor); proven headroom steps back up. Discrete steps, dwell and cooldown — no sawtooth, no visible pop. The MilkDrop frame self-governs the same way and finally respects a 45fps cadence cap instead of rendering at your monitor's full refresh rate (144Hz displays were paying 3–5× the useful GPU cost). Pause your music and it glides to 20fps and stops compiling presets you can't hear — each of those was a 50–80MB allocation storm every 22 seconds.

A thermal-throttled laptop and a gaming rig now both get the best picture they can actually hold.

📺 Two new scenes (31 total)

  • Phosphor Scope — a dual-trace vintage oscilloscope whose beams are resynthesized live from the spectrum. Stereo width splits the traces; kicks flash the beam; vocals burn the lower trace amber.
  • VU Cathedral — a wall of twelve warm-backlit analog VU meters, each needle wired to its own slice of the spectrum, red peak zones lighting when pinned.

🪶 The "gets heavy" fixes

  • Instant Replay no longer taxes every session. The 15s replay ring — a hidden second compositor plus a continuous VP9 encode pipeline — used to run the entire time fullscreen Eviland Live was open, even paused, even alt-tabbed. It now arms only while playing and visible, and clip recording never stacks a second capture pipeline.
  • Track changes no longer rewrite your whole library database. Play/skip stats batch on a slow flush instead of a full multi-MB synchronous write on every track change; flushes are atomic, and quit still saves everything.
  • ffmpeg can't hang or orphan. DNA analysis, ReplayGain, and batch exports got watchdogs, and quitting the app reaps every child process.
  • Queue, playlist, and history are virtualized. Thousand-track queues no longer mount thousands of live DOM rows.
  • Auto DJ keeps refilling on long sessions (it used to silently stop once played history reached the lookahead target).
  • The AI Director stopped allocating ~20 objects 10×/sec for the life of every session.
  • Plus: mode-switch bridge leaks fixed, detached-projector producer lifetime fixed, OS media-control churn eliminated, transport footer re-renders eliminated, audio automation timeline hygiene, settings hot-path debounce, and caps on every log/cache that grew forever.

Verification

Full local release gate (typecheck, 120+ smoke battery, packaged-app launch proofs, checksums, provenance) passed before tagging. New test:eviland-governor suite locks the governor's ladder, hysteresis, and paint-gap behavior.

Builds are not yet code-signed: Windows SmartScreen may ask for "More info → Run anyway", and macOS may want right-click → Open on first launch. Verify downloads against SHA256SUMS.txt.

🤖 Generated with Claude Code