Patch notes & news

What's changing.

Every release, fix and announcement — straight from the studio. All 205 versions, newest first.

Latest release
Anthem Studio 0.9.165
2026-07-09 · windows-x64 · stable
Download v0.9.165
  • FixFixed: plugin windows flickering rapidly (growing/shrinking ~20× per second) on monitors with Windows display scaling above 100%. The window system mixed two different pixel units — Windows' physical pixels and the UI framework's scaled units — so at 125/150/200% scaling every sandboxed plugin window fought itself over its own size. All positioning and size bookkeeping now happens in one unit space with explicit conversion at the boundary; plugin windows are stable at any display scaling.
  • FixFixed: UADx plugin editors (Studer A800, Ampex ATR-102, SSL E, Pultec…) never appearing. The same unit mix-up walked their window down to a single pixel and locked it there — the editor was "open" but invisible at 1×1 px. They now open at their real size.
  • FixFixed: plugin GUIs sitting offset from their window frame on scaled displays — position now converts to physical screen coordinates before the window is placed.
  • ImpPlugin self-resize (FabFilter corner grip, resizable synth GUIs) still follows correctly, with unit-aware bookkeeping on both sides.

Release history

0.9.164

2026-07-07— Flatten Comp materializes every take on a freshly loaded project
  • FixFlatten Comp no longer bakes silence for un-swapped takes after reopening a project. When you flatten a comp on a project you just opened, regions sourced from takes you hadn't manually swapped to are now rendered from the saved take audio instead of coming out silent. Before, only the take active at save time was materialized; the rest needed you to swap through each take lane first. Flatten now rebuilds every take's clips directly from the saved project data.

0.9.163

2026-07-06— Robustness: project-load pan range-check
  • ImpPan values loaded from a project are now range-checked. Channel and master pan read from a project file are now finite- and range-guarded, matching the same protection already applied to fader, width, and clip gain — defense-in-depth against a corrupt or hand-edited project file. Normal projects are byte-for-byte identical; no valid project changes how it sounds.

0.9.162

2026-07-06— Recorded & warped audio stays on the beat with tempo changes
  • FixAudio recorded under a tempo map lands on the correct bar. In a project using the Tempo Track (tempo changes / ramps), a newly recorded audio take now anchors to the project's tempo map instead of a flat single-tempo estimate, so it lands where you played it and stays lined up with a MIDI take recorded at the same time. Before, it could be a beat or more off (error grew with distance from the start). Also fixes retrospective audio capture.
  • ImpWarped / HQ-stretched clips stay in sync under tempo changes. A time-stretched clip now positions itself through the project's tempo map like normal clips, staying aligned with MIDI, the playhead, and the rest of the mix.
  • ImpProjects with a single constant tempo are byte-for-byte identical to before.

0.9.161

2026-07-06— Bounced & exported stems keep their sidechain pumping
  • ImpSidechain ducking now survives bounce and stem export. Bouncing a track (Ctrl+B or bounce-in-place) or exporting a single track as a stem now renders a sidechain-keyed effect on that track — e.g. a bass compressor ducked by the kick, or a pumped pad — with its ducking exactly as you heard it in playback. Before, a single-track bounce/stem keyed off another track came out flat with no pumping (the full mixdown and live playback were already correct). It was silent — the file looked fine but the groove was gone.

0.9.160

2026-07-06— Scene launch fires together, sidechain respects muted sources, cleaner freeze
  • NewLaunching a scene now starts all its clips together. Clicking a scene's play button while the transport was stopped used to start the first track immediately and the rest a bar later; the whole scene row now fires at the same moment, phase-locked.
  • ImpA ducker keyed to a muted track stops ducking. Muting a track that is a sidechain source now stops the ducking on the target (muted source = no key), in playback, export, and bounce — matching how the rest of the mixer treats a muted source.
  • ImpFreezing keeps the pre-FX console in the right order. A frozen track now bakes its PRE-FX drive / console saturation before its insert effects, exactly as live playback and export do.
  • FixFreezing a sidechain-keyed track is now key-safe. Freezing a track whose insert is keyed to another track no longer risks a stale sidechain key in the frozen render. Full sidechain ducking inside the frozen render is a known follow-up — use Export or Bounce for a sidechain-accurate render.

0.9.159

2026-07-06— Undo can't wipe your project, Delete won't remove the clip you're editing, no more stuck notes, live Limiter meter
  • FixUndo can no longer reload an old project over your work. Opening a project or starting a new one now clears the undo history. Before, pressing Ctrl+Z right after opening a different project could reload the previous project on top of the current one and lose your unsaved changes — that can't happen anymore.
  • FixDelete in the piano roll no longer removes the clip you're editing. Pressing Delete or Backspace while the piano roll was open could silently delete the whole MIDI clip you were working in (and, in rare cases, crash on the next redraw). Delete is now ignored in the piano roll, and any way a MIDI clip gets deleted safely closes its editor first.
  • ImpNo more stuck note when transposing a clip during playback. Changing a MIDI clip's Transpose value in the left Inspector while the song was playing could leave a note droning until you stopped. The held note now releases cleanly when you change Transpose.
  • ImpSynth: no more stuck note under heavy playing. When all 16 synth voices were already in use, a very fast note on/off could get "stuck" and sound forever. Those notes now stop correctly.
  • FixLimiter output meter is live again. The built-in Limiter's output meter no longer stays dark/frozen — it now tracks the signal with a smooth peak-hold falloff.

0.9.158

2026-07-06— Swapping a track's instrument keeps its sidechain routing
  • NewReplacing an instrument keeps its sidechain routing. When you swap the instrument on a track — by dragging a new one onto the channel, picking a replacement, or loading one — the slot's sidechain setup (source track, send level, and pre/post-fader choice) now carries over to the new instrument, matching how moving or copying an effect already preserves its sidechain. A freshly swapped-in instrument still starts un-bypassed so it plays right away.

0.9.157

2026-07-06— Folder duplicate keeps its group, muted-track stems keep their FX, stems are dithered, frozen temp files cleaned up
  • ImpDuplicating a folder track keeps it a real group. Duplicating a folder track together with its child tracks now makes the copy an actual folder (collapsible, mute/solo-propagating) with its own children — instead of producing a plain bus whose "children" stayed attached to the original folder (so muting the original wrongly silenced the duplicate's tracks).
  • ImpMuted-track stems keep their reverb/delay. When you export stems of a muted audio track, the stem now includes its send (reverb/delay) tail, not just the dry signal — so the stem represents the track's full sound.
  • ImpExported stems are dithered. Per-track stem exports at 16- or 24-bit now apply the same TPDF dither as the master mixdown, so quiet tails keep a clean noise floor instead of truncation distortion.
  • FixFrozen tracks no longer leak temp files. A frozen track's temporary freeze audio is now cleaned up when you open another project or undo/redo past the freeze, instead of accumulating in the system temp folder.

0.9.156

2026-07-06— Arranger keeps per-note MPE, templates keep the clip launcher, browser imports honor tempo/key lock, duplicate keeps pre-fader sends
  • FixArranger section edits keep per-note MPE on the right notes. Duplicating an arranger section, inserting time before it, or reordering sections that contain an MPE MIDI clip now keeps each note's per-note pitch-bend / timbre / pressure / glide on the correct notes, instead of shifting them onto the wrong notes or dropping them.
  • FixTemplates keep (and reset) the clip-launcher grid. Saving a project as a template now stores its Session View clip-launcher grid, and creating a new project from a template loads that grid — or clears it when the template has none, so the previous project's clips no longer linger in an unrelated template project.
  • ImpSamples dragged from the Browser honor Tempo/Key Lock. With Project Tempo Lock (auto-stretch on import) or Key Lock (auto-tune on import) enabled, samples dragged in from Anthem's own Browser are now auto-stretched / auto-tuned just like files dropped from Explorer.
  • ImpDuplicating a track keeps pre-fader sends. Duplicating a track (Ctrl+D) now keeps each send's pre/post-fader setting, so a pre-fader cue or reverb-throw send stays pre-fader on the copy instead of silently becoming post-fader.

0.9.155

2026-07-06— Insert drag keeps sidechain+bypass, note duplicate keeps MPE, take rename sticks, drum explode keeps pitch/drive/LFO
  • ImpMoving an insert between channels keeps its sidechain routing and bypass. Dragging (or Shift-drag copying) an insert plugin to another mixer channel now preserves its sidechain source and its bypass state, instead of resetting them. A compressor/ducker keeps ducking to its key track after the move, and a bypassed insert stays bypassed.
  • ImpDuplicating notes keeps their per-note MPE and expression. Duplicating piano-roll notes (Ctrl+D and Alt/Shift-drag copy) now carries each note's per-note MPE expression (pitch-bend / timbre / pressure), per-note probability, high-resolution velocity, and mute state onto the copies — instead of resetting the copies to flat defaults. Undo/redo restores it correctly.
  • FixRenaming a take sticks. Renaming a comp take no longer reverts to its default "Take N" name after you switch, add, or activate another take.
  • Imp"Explode to Per-Pad Tracks" keeps each pad's sound. Exploding a Drum Sampler kit to per-pad tracks now carries each pad's pitch, drive, and LFO settings, so the exploded tracks sound the same as the pads did inside the sampler.

0.9.154

2026-07-06— Comp flatten keeps every take, duplicate keeps MIDI-input routing, dropped drum sample plays
  • ImpFlatten Comp keeps every take's regions. Flattening a comp made from multiple takes now renders each region from the take you actually swiped in. Previously any part of the comp that came from a take other than the currently-active one was baked to silence (while the app still reported success) — so a composite assembled from several takes could lose most of its audio. This is the whole point of comping and now works. (On a freshly reopened project, click once through each take before flattening so every take's regions are loaded; if any region can't be materialized, Flatten now warns instead of silently baking silence.)
  • ImpDuplicating a track keeps its "MIDI input from track" routing. Duplicating an instrument track (Ctrl+D) that receives live MIDI from another track (e.g. a Voice-to-MIDI vocal track) now keeps that input routing on the copy instead of resetting it to None.
  • FixA newly dropped drum sample plays across the full velocity range. Dropping a new sample onto a Drum Sampler pad that previously had a narrowed velocity band no longer leaves the new sample silent outside that band — a fresh sample now responds across the full velocity range.

0.9.153

2026-07-06— ARA edits survive duplicate, Touch automation records every gesture, cleaner LUFS export
  • ImpDuplicating an ARA/Melodyne track keeps its edits. Duplicating a track (Ctrl+D) that has a Melodyne or other ARA plugin now carries the plugin's pitch/timing edits onto the copy, instead of silently reverting the duplicate to the raw, unedited audio. (Save/reload already preserved them; only in-app duplication was dropping them.)
  • NewTouch-mode automation records every plugin-knob move. In Touch automation mode, tweaking a plugin parameter used to record only the first gesture of each playback pass — every later knob move on that parameter was silently discarded until you stopped the transport. Every Touch gesture now records. (Track fader/pan/send Touch was unaffected and is unchanged.)
  • PerfCleaner LUFS-normalized exports. Exporting to a loudness target (e.g. Spotify/Tidal −14 LUFS) at 16- or 24-bit now dithers the final loudness-adjusted signal, so quiet fades and reverb tails keep a clean, smooth noise floor instead of gritty truncation distortion — matching the quality of a non-normalized export. (32-bit float exports were already unaffected.)

0.9.152

2026-07-06— Master-plugin sidechain selector no longer misleads
  • ImpSidechain source on master-bus plugins. The plugin-window "SC:" source selector is now hidden for plugins loaded on the master insert chain. The master bus is intentionally not fed a sidechain key (the mixer already blocks master-bus sidechain for safety), so offering the control there let you pick a source that silently did nothing — the picker even remembered the choice on reload. It now matches the mixer: no sidechain selector on master-chain plugins. (Track and bus plugins are unchanged.)

0.9.151

2026-07-06— Bounce-undo safety, export matches playback, tempo-map FX
  • FixBounce to New Track. Undoing a bounce no longer discards edits you made while it was rendering — the undo point is now recorded when the bounce finishes, so a single Ctrl+Z removes only the bounced track and keeps your interim clip moves, fader changes and note edits. (Same class of fix as 0.9.150's Reverse-undo — swept across the async operations.)
  • FixBus export / bounce now matches playback. Buses that have both a console model and a 3D Mix Stage placement were processed in the wrong order during export (Stage before Console), so bounced and stem-exported bus tone differed from what you hear live. Export now uses the same Console→Stage order as playback.
  • NewDelay Throw / Echo follows the tempo map. The built-in tempo-synced Delay Throw send now echoes at the tempo under the playhead instead of the nominal project tempo when you have a tempo map (no-tempo-map projects are unchanged).
  • ImpTempo-synced insert LFOs & delays follow the tempo map. A 1/4-note LFO or synced delay on a track insert now speeds up / slows down with a tempo ramp during playback instead of staying locked to the nominal tempo.
  • ImpAudio editor. Transient-detect / auto-quantize now always applies to the clip you ran it on, even when another clip on the timeline shares the same audio file (e.g. a duplicate).
  • ImpAuto-crossfade. When two sequential clips overlapped by more than the crossfade length, the middle of the overlap summed both clips at full level (an audible bump / clipping). The overlap is now trimmed to the crossfade so the fades cover it fully; deliberately layered (nested) clips are left untouched.

0.9.150

2026-07-06— Reverse-undo safety + latency-toggle glitch fix
  • FixAudio editor. Undoing a clip Reverse no longer wipes out other edits you made while the reversed copy was still rendering. Reverse renders on a background thread (it can take a few seconds on a long clip), and its undo point was being recorded at the start of that render — so a single Ctrl+Z could roll back the reverse and any gain / normalize / arranger move you did meanwhile. It now records the undo point at the moment the reverse finishes, so undo affects only the reverse.
  • FixLatency compensation. Fixed a brief burst of stale, seconds-old audio that could play on a track or bus when a plugin's reported latency toggled off and then back on during playback (e.g. flipping oversampling / HQ off then on). The delay-compensation line now clears its buffered history when it goes idle, so it plays clean on reactivation.

0.9.149

2026-07-05— Loop-punch timing, VCA fix, odd-meter rulers, record cleanup
  • ImpLoop recording. Audio overdubs punched in after the loop start (the usual "start the loop rolling, then hit record") now land exactly where you played them, in sync with a MIDI overdub recorded in the same pass — before, the take was committed early and drifted off the grid.
  • FixMixer / VCA. A bus or track that is both a VCA control and carries real audio no longer scales its own level twice: pulling a VCA to −6 dB now drops the submix by 6 dB, not 12 (correct in exports too). Mixer snapshots and A/B compare now also restore the "this channel is the VCA control" flag.
  • ImpOdd time signatures. The arranger ruler bar numbers and barlines, the track grid, and double-click-to-create clips now honour the time signature — the denominator (3/4, 7/8, …) and mid-song time-signature changes — so bars line up with the metronome downbeat instead of assuming 4/4.
  • FixRecording. A sustain (or sostenuto) pedal still held down when you hit Stop no longer latches the synth on playback — the clip now releases it at the end.
  • ImpTracks. Duplicating a track (Ctrl+D) now keeps its custom header icon.

0.9.148

2026-07-05— Freeze automation, groove, session MIDI timing, stems & recovery
  • FixFreeze. Freezing a track with automated insert-effect parameters now captures the moving effect instead of a static snapshot — the freeze render bakes your automation the same way bounce/export does (before, the swept plugin was frozen at one value and then bypassed, so the movement was lost).
  • PerfGroove. Apply Groove (timing, and timing+velocity) actually moves your notes now. The feature was silently doing nothing: an internal "sub-tick" guard assumed high-PPQ MIDI ticks, but grooves are applied in beats, so every real swing/shuffle offset was discarded. Non-zero groove offsets now nudge note starts (and, in the velocity variant, scale velocity); a genuinely-zero offset is still left untouched.
  • ImpClip Launcher. A MIDI file dropped into a launcher slot now plays at the right musical position (was shifted and dropped notes at slow tempo). The slot importer used to read the file in seconds while playback expects beats; it now converts ticks→beats exactly like the arrangement importer, so a loaded clip plays identically to the same file on a track.
  • FixStem export. Exporting a MONO-flagged track as its own single-track stem now folds L/R to mono like playback and the full mixdown, fixing a stem that kept an un-summed stereo image and the wrong level.
  • FixCrash recovery. A corrupt recovery autosave is now offered at most once instead of re-showing the same "Recover" prompt on every launch — a failed recovery self-clears (like Discard) and removes the bad file.

0.9.147

2026-07-05— Flatten Comp keeps your MIDI and clip edits
  • ImpComping. Flattening a comp on a track that also held a MIDI clip used to silently delete the MIDI while telling you it succeeded (only Undo could get it back). The take's MIDI clip is now kept intact alongside the flattened audio, and the confirmation says so.
  • ImpComping. Flatten Comp now renders what you actually hear: your per-clip gain, pan, pitch, fades and time-stretch/follow-tempo are re-applied before the bounce instead of being reset to defaults.
  • ImpProject loading (hardening). A corrupt (NaN/Inf) automation point in a damaged project file is now dropped on load and can never be stored, so it can't silently kill a fader, pan, send or plugin value. Normal projects are completely unaffected.

0.9.146

2026-07-05— Save-safety, sampler EQ fix, absolute swing, insert automation
  • FixSaving. Edits made while a project is still saving in the background (or right after Ctrl+S) are no longer silently lost — they keep the project marked unsaved and you get the save-before-quit prompt.
  • FixDrum sampler. The per-pad Mid EQ was a broken filter (harsh/wrong when set away from 0 dB) — now a correct peaking EQ (0 dB is unchanged); and reverse pads steal the oldest voice instead of cutting off your newest hit.
  • FixPiano roll. Q-Swing is now absolute (repeated slider drags no longer push off-beats progressively late); scale-lock follows a mid-song key change without reopening the clip; re-triggering a held chord key no longer leaves notes droning.
  • ImpMixer/plugins. Dropping a plugin onto an occupied insert slot now keeps the shifted plugins' automation pointed at the right effect, and input monitoring respects track pan while the transport is stopped.

0.9.145

2026-07-05— Metronome fixes, insert-time keeps tempo/markers, export dither
  • FixMetronome. The click is no longer printed into your bounce/export (monitor-only), and its on/off state + level now persist across restarts.
  • ImpArranger. Inserting/rippling/duplicating time now moves tempo changes, time-signature changes and markers in lock-step with the clips (they used to be left behind, silently desyncing everything after the insert point). Add/Remove Marker from the ruler is now undoable.
  • ImpExport. 16/24-bit WAV exports are now dithered (TPDF) instead of truncated, and very long LUFS-normalized exports stream in blocks so they can't overflow.
  • FixPlugins. A crashed sandboxed plugin no longer leaves its track delayed by the dead plugin's phantom latency.

0.9.144

2026-07-04— MIDI CC saved, loop-record alignment, tempo-map cycle, device change
  • FixMIDI. Recorded/imported CC, pitch-bend, sustain, expression, aftertouch and program changes are no longer lost on save — they round-trip with the clip (old projects unchanged); and controller state is now restored when you play from the middle of a clip past a CC/bend event.
  • ImpRecording. Loop/cycle audio takes recorded with a count-in (or starting before the loop) are now anchored to the loop start instead of drifting late vs the MIDI.
  • FixTransport/tempo. Cycle Stop/Rewind lands exactly on the loop start under a tempo map, and changing the audio device / sample rate mid-playback keeps the song position instead of jumping to a wrong bar.
  • ImpClips. The clip GAIN slider and Normalize now cap at +12 dB to match what playback/export deliver (existing projects unchanged), and a corrupt fade value in a damaged project is sanitised on load.

0.9.143

2026-07-04— Crossfades, folder solo/mute, Touch/Latch group rides, master meter accuracy
  • ImpClips. "Crossfade With Neighbour" now creates a real overlapping constant-power crossfade (one undo step, live) instead of two back-to-back fades that dipped to silence; on non-adjacent clips it no-ops instead of leaving a useless zero fade.
  • ImpTrack folders. A child you explicitly muted stays muted when you solo its folder (in playback and export), and the folder-solo/mute level meters now match what you hear.
  • ImpAutomation. Group fader/pan rides record on every selected track in Touch and Latch (previously only the grabbed strip recorded).
  • FixMaster/monitoring. Master peak/RMS meters read the true output (still decaying to zero on Stop); Mono Check / Pro Translation previews no longer skew them.
  • ImpSave/load. A non-finite fader/width in a corrupt or hand-edited project is sanitised on load instead of poisoning the mix gain.
  • FixPiano roll (MPE). Undo/redo during playback no longer restores stale per-note playback state that could bend the wrong voice.

0.9.142

2026-07-04— More undo-history protection, frozen-track duplicate, mixer & save fixes
  • ImpUndo/redo. Closed several more cases where the whole undo/redo history could be silently wiped if the target track was gone — undoing/redoing a Kick/Bass Lock, a bus-role/Auto-Routing change, a mixer routing/send change on a deleted track, or a missing internal undo snapshot. These now no-op safely.
  • FixTrack freeze. Duplicating a frozen track now copies the real performance (it used to share the original's temp render and break when you unfroze the original), and deleting a frozen track cleans up its temp render file.
  • ImpMixer. A send's pre/post-fader toggle is now undoable.
  • ImpSave/load. A channel's automation mode (Read/Write/Touch/Latch/Off) is now saved with the project instead of resetting to Read on reopen.

0.9.141

2026-07-04— Undo history, track freeze, MIDI monitoring, quantize
  • FixUndo/redo. Fixed a bug where undoing/redoing certain Inspector/Console track changes (on a track that had been removed and re-created) could silently wipe your ENTIRE undo/redo history — those actions now no-op safely instead.
  • FixTrack freeze. Saving a frozen track no longer risks losing the original MIDI/ audio (the project always stores the real performance and reopens intact); a frozen track with a latency-heavy plugin now stays in time; and the freeze reverb/release tail is no longer cut off.
  • FixMIDI monitoring. Holding a keyboard note and switching/disarming the monitored track no longer leaves the note droning on the old instrument.
  • FixQuantize/Q-Swing. A note nudged onto the clip boundary is no longer silently dropped — it plays and exports.
  • ImpKeyboard shortcuts. Escape (even with a modifier held) now cancels a rebind instead of binding Shift/Ctrl+Escape.

0.9.140

2026-07-04— Saturator, synth chorus, Delay mod, time-signature accuracy
  • FixSaturator. Drive/Output/Mix/Tone are now smoothed per-sample, so automating or dragging them no longer feeds a stepped value into the distortion (the zipper at buffer edges is gone). Static settings are unchanged.
  • NewBuilt-in synth chorus. Now interpolates its delay tap, removing the faint stairstep "grit" on sustained tones.
  • FixAnthem Delay. Modulation depth is now a fixed amount of time, so a preset sounds the same at any sample rate (it used to weaken at higher rates).
  • FixTime signatures. After a mid-song meter change, hosted instruments/effects now get the correct bar and time signature (bar-synced arps/LFOs and meter displays no longer drift, in the app and in offline bounces), and a time-signature change added from the ruler snaps to a bar line.

0.9.139

2026-07-04— EQ, Delay, Haas/Stereo, Spectrum, Piano roll, De-Esser
  • FixEQ8. The spectrum analyzer's pre/post overlays now capture the same window (accurate before/after), the "Tilt" band is a real tilt with a working Q instead of a fixed bell (existing Tilt bands will sound like a true tilt), and mixer mini-EQ curves no longer flicker during a band drag.
  • FixAnthem Delay. High Echo + Feedback no longer self-oscillates into a runaway drone — the feedback headroom now accounts for the echo tap so the tail decays.
  • FixHaas & Stereo Tool. The Haas Delay knob no longer clicks when changed (glided tap), and Width automation on both is smoothed (no zipper).
  • FixSpectrum Analyzer. It no longer alters the audio passing through it (true transparent meter), and its peak/true-peak meters no longer miss fast transients.
  • FixPiano roll. Group-note drag, Glue, Octave-shift, Reverse and Open-Voicing are now glitch/crash-safe while the transport is playing.
  • ImpDe-Esser. The "Hi-Hat/Cymbal" mode now has its own cymbal-tuned voicing (was identical to "Vocal").

0.9.138

2026-07-04— Reference Match, master Limiter, Sidechain Duck, Export Stems
  • FixReference Match. No longer freezes the app when you re-analyze / drop a new reference / change platform while a long reference is still loading, and no longer boosts the master by up to 12 dB when applied on a stopped/silent mix (loudness match now only adjusts from a real measured signal).
  • FixMaster Limiter. The ceiling is now truly respected — character/saturation can no longer push peaks above your dB ceiling (true-peak-safe brickwall) — and the previously-dead "Stereo Width" control now works as a mono-safe M/S widener (transparent at its default, so existing projects are unchanged).
  • ImpSidechain Duck. In DRAW mode the curve line and its edit handles now line up exactly (they drifted a few pixels apart near the edges).
  • FixExport Stems. Two tracks sharing a name no longer overwrite each other's file — each stem gets a unique filename, so you always get the complete set.

0.9.137

2026-07-04— Comping takes, built-in synth, audio editor, melody forms
  • ImpComp takes are solid now. Switching the active take during playback is seamless (no click/dropout), alternate takes are saved with the project and restore intact on reopen, and Smart Mix on/off is remembered across restarts.
  • FixBuilt-in synth clicks fixed. Reusing a voice on fast/dense passages fades out smoothly instead of cutting dead (a new note always reuses the truly oldest voice), cutoff/resonance/drive/blend/master glide instead of zippering, and the meters settle to silence when the synth is bypassed.
  • FixAudio editor. Normalize scans long clips in the background (no UI freeze), Reverse is crash-safe on huge files, and reversing two same-named clips from different folders no longer swaps their audio.
  • ImpMelody Generator. Call & Response and Through-composed forms now produce genuinely distinct phrases instead of matching Loop.

0.9.136

2026-07-04— No-freeze imports, browser, plugin scan, piano-roll, updater
  • ImpNo more UI freezes on import. Dropping a video/media file now transcodes in the background (the app stays responsive), dropping a big folder onto the browser scans in the background, and import failures now show an error instead of silently doing nothing (a huge file is skipped gracefully instead of crashing).
  • FixA rescan can't lose your plugin library — quitting/crashing during a Full Rescan no longer replaces the full list with a partial one.
  • ImpBrowser preview is safer — a looping MIDI audition stops when you select a different row (no hung notes on a deleted track), and preview switching is race-free without stuttering the UI.
  • ImpPiano-roll transforms play their notes — Echo/Arpeggiate/Legato/Double-Length now grow the clip so notes pushed past the end actually sound (with correct undo/redo), and Arpeggiate can't fill a huge gap with thousands of notes.
  • ImpThe tempo ruler and Tempo Track lane stay in sync when you edit either.
  • FixUpdater security & correctness — your activation token can't leak to a redirect target, bogus/downgrade "update available" prompts are rejected, and the app no longer claims a manifest is "signed" unless it can verify it.

0.9.135

2026-07-04— Live MIDI-FX, 3D stage, Auto Mix/Balance, multi-device audio
  • PerfLive MIDI FX won't hang or drop notes. Humanize keeps each note's length so a fast note can't stick; Scale Quantize survives a live key change without leaving a held note ringing; and MIDI Echo fires its repeats at the right time regardless of the audio buffer size.
  • Fix3D Mix Stage is smooth and safe. Binaural panning no longer clicks when swept through center, it now works on tracks added mid-session, and a hard-panned/wide element is soft-limited so it can't clip past 0 dBFS.
  • ImpAuto Mix processes bussed instruments (EQ carve + saturation/compression on instruments routed into a group bus, previously skipped); Auto Balance can be cancelled by pressing Stop right after starting it; and a per-channel "protect from Auto Balance" toggle is now real and saved with the project.
  • FixAggregated audio devices with mismatched buffer sizes work — a large ASIO buffer alongside a small secondary card no longer silences the second card, and an isolated clock hiccup recovers faster.
  • ImpWarped (Re-Pitch) clips stay in time under a tempo ramp instead of drifting.
  • FixCrash recovery is safer — a failed recovery load now shows the Start Center instead of a blank window, and autosave never deletes the recovery snapshot before its replacement is confirmed.

0.9.134

2026-07-04— MPE expression, recording accuracy, export alignment
  • FixMPE expression is correct. The app now tells the instrument its pitch-bend range, so a glide drawn to +12 semitones slides a full octave instead of a fraction; overlapping same-pitch MPE notes release cleanly; and editing a sounding MPE note mid-playback no longer leaves it hanging.
  • ImpRecording lands on the beat. Punched-in audio (recording while already playing) now anchors where capture actually started, lining up with the grid and with MIDI; loop-recorded audio anchors to the loop start like MIDI takes.
  • FixExports line up with playback. Projects with a look-ahead limiter, linear- phase EQ, or any latency-reporting plugin no longer bounce with leading silence or a time shift, and loop-range exports include the final PDC tail so the loop is seamless.
  • FixMixer polish. Console Engine crosstalk no longer changes tone with the number of sends, and re-routing a channel between Master and a bus during playback cross-fades instead of clicking.
  • ImpPlugin automation follows the right parameter — if a plugin's parameters change between sessions, a lane whose target is gone now does nothing instead of sweeping an unrelated control.
  • Fix"Set Original BPM…" is safe — deleting the clip while its dialog is open can no longer corrupt memory, and the new value updates a tempo-following clip immediately.

0.9.133

2026-07-04— Clip launcher, drum sampler, automation, meters
  • ImpQuantized clip/scene launches always fire. A launch queued while a non-bar-aligned loop was running could stay stuck "queued" forever — it now always lands within the current cycle.
  • ImpLayering clips works. Launching a second clip keeps the clips already playing sounding and in sync instead of silencing them; an all-empty scene now stops every track; an immediate (quantize Off) launch during playback loops.
  • FixDrum Sampler is safer and cleaner. Auditioning a pad during playback can no longer glitch or crash, the per-pad filter no longer self-oscillates at high cutoff/resonance, and removing a pad's main sample keeps its velocity layers.
  • FixAutomation drags stay smooth. Dragging a track-automation or clip-gain point past its neighbour no longer jumps to a wrong value during playback.
  • ImpMeters read true. Loudness RESET starts clean (no leftover pre-reset energy), and the inspector meter shows the selected track's loudness immediately instead of bleeding the previous track's for a few seconds.
  • FixDead controls come alive. FetComp/OptoLeveler Sidechain HPF now filters the detector, every VocalLeveler/OptoLeveler mode gives a distinct voicing, and the synth LFO Random / Sample & Hold shapes are genuinely random.
  • Imp"MIDI input from track" survives reordering — the VOICE2MIDI source link is stored by a stable track ID.

0.9.132

2026-07-04— Melodyne, spatial export, warp pitch, project packaging
  • FixMelodyne (ARA) follows your tempo map. On projects with tempo changes, Melodyne's bar/beat pitch grid and note positions now line up with where the audio actually plays, and a tempo-curve edit re-syncs the ARA session. A saved Melodyne edit can no longer be overwritten by an empty document if its restore didn't complete.
  • ImpExported stems keep their stereo image. Bounce-to-track and Export Stems now apply DualPan and Binaural placement, so a bounced/exported track sounds like it does live instead of a plain pan.
  • ImpRe-Pitch warp respects Clip Pitch. The Pitch control now actually pitches a Re-Pitch-warped clip, in both playback and export (it was silently ignored).
  • ImpProject Package includes the clip launcher. Export Project Package now bundles the Session View grid and its audio, so the portable .zip is complete.
  • FixNew Project starts truly clean. File > New no longer carries the previous project's clip-launcher grid or loop region into the new one.

0.9.131

2026-07-04— Trial access, recording resilience, tempo precision
  • ImpAn active trial always grants access. If you signed in and your offline window lapsed while trial days remained, the app could lock you out until you reconnected — the trial now covers you on its own, with a gentle reminder to reconnect when convenient. Browser sign-in also records your account email.
  • FixRecordings survive device changes. Changing the audio device or sample rate mid-record no longer corrupts the take's length; the take is stamped with the rate it was recorded at. Recording with cycle/loop enabled now commits a clip bounded to the loop instead of one that overlaps itself.
  • ImpTrack duplicate copies everything. Ctrl+D now brings the MIDI FX chain (arpeggiator/humanize/echo), folder membership, Auto-Mix role and flex mode along with the copy — previously all of these were silently dropped.
  • FixMIDI locks to audio through tempo ramps. The MIDI clock now follows the exact tempo curve instead of a per-block approximation, so long ramps can't drift MIDI against audio.
  • ImpTempo and time-signature edits are undoable — every edit path (ruler menu, lane popup, point drag, double-click) registers a proper undo step.
  • NewThe metronome follows mid-song time-signature changes — correct pulse and downbeat accent in the new meter, and it now tracks the tempo map too.

0.9.130

2026-07-03— Undo hardening, part two
  • FixRedo after deleting a track can no longer crash for split, glue, and duplicate steps. 0.9.129 protected clip delete/draw undo entries against a deleted track; the same protection now covers split clip, glue clips (audio and MIDI), and duplicate clip(s) — a redo whose track is gone skips harmlessly instead of touching freed memory.

0.9.129

2026-07-03— Undo you can trust, and warped clips that stay in place
  • FixUndo history can no longer be silently wiped. A stale undo entry (for example after deleting the track it referred to) used to make one Ctrl+Z erase the ENTIRE undo/redo history; stale entries now skip harmlessly.
  • FixCtrl+Z after deleting a track can no longer crash (clip delete/draw entries now check their track is still alive).
  • ImpFour tools are now properly undoable: the MIDI Clip Tools menu, Explode Drum Sampler, Generate Drum Pattern, and Remove Melodyne. They used to open an undo step that contained nothing — un-undoable AND it desynced the history.
  • ImpMoving an effect to another slot keeps its automation. Reordering inserts now remaps automation lanes with the move, so lanes keep driving the plugin you automated instead of whatever landed in the old slot.
  • FixArranger section edits are safe during playback. Cutting, duplicating, or inserting time while playing could crash if automation was being read at that exact moment; the edit and playback are now properly serialized.
  • FixWarped clips survive editing. Section razor/duplicate/insert-time used to make warped clips replay the sample from its beginning; left-edge trims of a warped clip trimmed nothing (the performance just shifted); Reverse on a trimmed clip played the wrong part of the file; and a warp marker's "Reset Timing" could break the marker order. All four fixed — warped audio now stays exactly where you put it through every edit. (Reverse now clears warp markers, since reversal invalidates the old timing map; the note tells you when it does.)

0.9.128

2026-07-03— Export correctness, bus mixing, and project-file integrity
  • ImpBus/group stems now export for real. Exporting a bus rendered silence (the bus's feeder tracks were never rendered into it). A bus stem now renders every track that feeds it — through sends and routing — then the bus's own effects, fader and pan.
  • FixExport Mixdown's source picker is honest. "Selected Bus/Group" (and "Selected Channel" with nothing selected) silently exported the FULL master mix. Both now export exactly what you picked, and tell you clearly when nothing valid is selected instead of writing the wrong file.
  • ImpExports now match playback for bus automation. Automation on bus tracks (fader/pan/sends/plugins) was ignored by offline export. It renders now.
  • PerfSmooth automation in exports. Automated fades rendered as coarse steps with audible zipper on some material; export gains now ramp per block like live playback.
  • ImpSidechain into plugins on buses works live. A sidechain feeding a compressor on a bus only worked in the exported file — it now pumps live too.
  • FixSolo behaves with buses and folders. Soloing a return bus no longer silences the buses sending into it, and soloing a folder no longer silences children routed straight to master.
  • FixProject files keep your mix. Send levels/routing to buses later in the track list survived open/undo/redo incorrectly in some layouts (a drum track's reverb send could reset on every open); SmartMix per-track sidechain depth was dropped on load; and an automated mute could overwrite the mute you set — all three are fixed, including in the saved file.
  • PerfUndoing a routing change re-aligns the mix (latency compensation is recomputed).
  • FixAutomating a brand-new plugin parameter with Automate armed could silently skip creating its lane the first time — fixed.

0.9.127

2026-07-02— Automation naming hardened for plugins that rename parameters
  • PerfAutomation stays rock-solid when a plugin renames its parameters. Some plugins re-publish their parameter names after a preset or patch change. Matching an automation lane against a name at that exact moment could, in rare cases, read a name mid-update. The automation engine now reads parameter names through a dedicated wait-free snapshot — no locks, no memory allocation, no timing window — so lanes keep addressing the right parameter through any preset swap.

0.9.126

2026-07-02— Lock-free parameter automation for sandboxed plugins
  • FixParameter automation on sandboxed plugins is fully lock-free and allocation-free on the audio thread. Every automation write used to copy the plugin's parameter list — a hidden heap allocation on the audio thread (~187/sec under automation, a dropout source) and a crash window if the write landed while the plugin was still publishing parameters after a load or preset swap. Automation now resolves through a dedicated lock-free table; an unpublished parameter is picked up next block.

0.9.125

2026-07-02— Final sandbox hardening pass, MIDI-FX and browser robustness
  • PerfPlugin parameter automation is teardown-proof. The parameter mirror kept direct references into the plugin process's shared memory — automation touching a parameter at the exact moment its plugin process was torn down or relaunched could read freed memory. Parameters now resolve their target safely on every write, and teardown waits out any in-flight write.
  • FixEditor polling and parameter sync can no longer race a plugin teardown — the remaining UI-side shared-memory readers pin the mapping for each read and skip a tick if the channel is busy.
  • FixRemoving or bypassing an effect below a playing arpeggiator no longer sticks its note — the arp's channel is released cleanly and the arp re-triggers on its next step.
  • ImpAll browser right-click menus are safe against the panel closing while open.

0.9.124

2026-07-02— Sandbox hardening, browser polish, piano-roll follow-ups
  • FixPlugin sandbox: the remaining teardown races are closed. Every shared-memory read on the audio path now happens inside the same exclusion that guards teardown; save/load state transfers re-verify the child under the lock (a dead child defers your state to the next load instead of losing it); IPC event handles are closed under the same exclusion. Quitting the app can no longer hang on a stuck plugin load.
  • ImpBrowser: the preview playhead hides when nothing is playing (it used to sit at zero or park at the end of a finished one-shot), and removing a place from the right-click menu is safe while a scan is running.
  • ImpPiano roll: the probability drag is undoable — one undo step per gesture, committed on release, matching velocity.
  • FixMIDI FX: removing an arpeggiator releases its sounding note through the correct effects — the note-off is injected exactly where the removed slot sat, so an upstream Transpose can no longer re-pitch it into a stuck note.

0.9.123

2026-07-02— Browser, plugin sandbox and metering stability
  • FixNineteen fixes across the browser, the plugin sandbox, metering and editing follow-ups.
  • FixSample preview no longer stutters the audio engine. Preview loading decoded whole files while holding the lock the audio device takes every callback, and playback read the disk on the audio callback. Previews now decode outside the lock and play through a dedicated read-ahead thread.
  • FixPlaces on unplugged drives are no longer lost — offline places are kept, greyed with "(offline)", and rescan picks them up when the drive returns. Removing a place mid-scan no longer corrupts the list or leaves "Scanning library..." stuck.
  • FixLooped MIDI preview repeats exactly on the pattern length, phase-locked (it used to restart early and drift further off the beat every cycle).
  • NewA file that can't be previewed says so instead of playing the previous sample under the new file's name.
  • FixA plugin that failed to load stays marked failed instead of showing "Loading" forever, and a wedged plugin load can no longer freeze the shared plugin host — cleanup is handed to a background reaper while the host stays responsive.
  • FixFixed a teardown race where closing a sandboxed plugin while audio was in flight could touch freed shared memory.
  • FixSaving while another plugin from the same vendor is cold-loading no longer kills a healthy plugin — timed-out state requests are retried instead of marking the slot crashed, and a follow-up request now waits for the late reply so presets can never be silently swapped.
  • ImpThe inspector's channel meter works while the transport is stopped (live input metered in the mixer but read −inf in the inspector).
  • FixThe LUFS Meter's RESET button is now glitch-safe (it raced the measurement buffers on the audio thread).
  • FixEvery remaining piano-roll transform preserves MIDI channels — invert, octave shift, reverse, stretch, legato, glue, spread voicing, Ctrl+D duplicate and nudge no longer re-channel notes to 1 (MPE/multi-channel clips survive all tools).
  • ImpThe event list is now editable as documented: double-click a cell to edit start/length/pitch/velocity/probability or toggle mute — all undoable.
  • ImpPreferences shows the real "last update check" status (it was written to one settings file and read from another).
  • ImpLeft-edge trims, group trims and section-razor cuts all resolve the source tempo exactly like the clip razor and the engine (duration-locked loops included).
  • FixCopy-to-track and cross-track moves carry the complete clip state (pitch, Region Loop, warp mode, envelopes, MIDI2/MPE data), matching the 0.9.122 duplicate fixes.

0.9.122

2026-07-02— Editing integrity: piano roll, splitting, gluing and duplicating
  • FixNine fixes so notes, selections, undo and every per-clip setting survive edits exactly.
  • FixMoving a note with the pencil no longer changes its length. Grabbing and moving a note with the Draw tool could silently apply the length of a note you dragged earlier. The length is now captured fresh at every mouse-down, in all drag paths.
  • FixHumanize no longer breaks notes on MIDI channels other than 1. The humanized note-off was written on a hardcoded channel 1, so notes on other channels lost their pairing and displayed/played at grid-cell length. The same channel preservation was applied to the scissors tool, note drags and note duplicates, which used to silently re-channel notes to 1 (breaking MPE and multi-channel clips).
  • FixSelection stays correct after deleting or splitting notes. Deleting a note removes two events, but the selection was only shifted by one — follow-up edits hit the wrong notes. The selection is now remapped by note identity.
  • FixClicking a note no longer eats an undo step. A plain click-select committed an empty undo transaction, so Ctrl+Z appeared dead and heavy clicking flushed real edits out of the undo history.
  • ImpSplitting a tempo-following clip puts the right audio in the right half. The cut position was computed in project-tempo seconds, but tempo-following clips read their file at their own BPM. Left-edge trimming (single and grouped) follows the same rule.
  • ImpSplitting a warped clip keeps both halves playing continuously. Warp markers are now re-based onto each half; the right half used to replay the sample from the start.
  • ImpSplit, glue, delete and duplicate keep every clip setting — non-destructive PITCH, Region Loop, warp algorithm, clip gain/pan and envelope, clip colour, MIDI2 high-resolution velocities, MPE per-note data, note probability and region transforms now survive the edit and its undo/redo. Splitting a MIDI clip remaps per-note data onto both halves instead of dropping it.
  • FixGluing rendered audio no longer re-applies pitch or loops the render — everything audible is baked into the render, so the merged clip plays it plainly.
  • ImpEvery duplicate gesture makes a complete copy. Alt-drag, Shift-drag and Ctrl+D duplicates copied a short hand-picked field list, so copies could sound different from their originals. All duplicate gestures now clone the full clip state.

0.9.121

2026-07-02— Spec-exact LUFS metering, MIDI FX stuck-note fixes, tempo-accurate MIDI
  • FixThe LUFS Meter now matches the ITU BS.1770-4 reference exactly. The K-weighting pre-filter's +4 dB shelf sat on the wrong end of the spectrum, so bright material read low and bass-heavy material read hot compared to other loudness meters. The filter now reproduces the canonical spec coefficients exactly and hits the spec's own calibration point (a 0 dBFS 997 Hz tone in one channel reads −3.01 LUFS). A new automated calibration test locks this in for every future build.
  • ImpExport analysis reads true stereo loudness. The render report's LUFS estimate averaged the two channels instead of summing them, so stereo exports were reported about 3 LU quieter than reality — a normalize aimed at −14 landed near −11. Channel energies now sum per the spec, verified against generated calibration tones.
  • FixThe arpeggiator no longer swallows note-offs for notes it doesn't own (keys held before the arp was added, or while it was bypassed) — those notes used to ring on the instrument forever.
  • ImpRemoving an arpeggiator mid-note now releases its sounding step note instead of leaving it stuck.
  • ImpTurning the chord trigger off while holding keys now releases all sounding chords cleanly instead of orphaning them.
  • FixA key release the chord trigger didn't recognize no longer releases a wrong voicing (which left the real notes stuck) — the original release now passes through.
  • ImpMIDI timing is sample-accurate through tempo changes and ramps (including MPE glide curves). Notes near tempo events could previously land milliseconds off inside an audio block. Constant-tempo projects are unaffected.
  • NewThe built-in Delay gains SYNC L / SYNC R selectors in its editor (Off, 1/1 to 1/32 with dotted and triplet), and the free-run TIME knobs dim while a side is tempo-synced.

0.9.120

2026-07-01— Send automation no longer overwrites your manual send level
  • FixA send with automation keeps your manual level safe. Playing through a SendLevel lane used to permanently replace the send amount you set by hand — the automated value got saved, reload loaded the wrong send, and turning automation off left the send stuck. Sends now work like volume/pan: your manual level is the underlying value, saving stores your level, and switching automation off (or deleting the lane) returns the send to the level you set.

0.9.119

2026-07-01— Undo works when you drag a clip to another track
  • FixCross-track clip moves are now undoable and no longer corrupt the undo history. Dragging a clip (or several) onto a different track used to register no undo step, so Ctrl+Z couldn't bring it back — and it left a phantom history entry that desynced the undo stack so a later Ctrl+Z undid the wrong edit. Single and multi-select cross-lane moves now register a proper one-step undo, and Ctrl+Z restores the clips exactly.

0.9.118

2026-07-01— Tempo-map accuracy + export/bounce fidelity
  • FixSeven engine fixes. The tempo ones only affect projects that use tempo changes (constant-tempo projects are byte-for-byte unchanged).
  • FixPlayhead follows the true position under a tempo change. The on-screen playhead and MIDI-input placement used a flat single-tempo estimate that could drift nearly a whole beat from where the music sounds; both now use the tempo-integrated position.
  • ImpRuler-click seek lands correctly under a tempo change — audio clips and MIDI notes line up (and hosted plugins get one consistent position).
  • ImpLooping over a tempo change wraps at the exact loop point instead of dropping/repeating the tail of each lap.
  • FixStems no longer come out silent with iLok/UAD/PACE plugins — Export Stems and bounce-in-place now render those plugins offline like the full mixdown.
  • PerfSidechain ducking in a bounce matches live playback when the source reports latency.
  • FixA muted track no longer bleeds a pre-fader send into a stem.
  • ImpNormalize scans exactly the clip's own audio (a mid-file-trimmed clip used to read past end-of-file and set the gain too hot).

0.9.117

2026-06-30— Loop-recording MIDI 2.0 velocities stay on the right notes
  • FixPer-note MIDI 2.0 velocities no longer drift onto the wrong notes after a loop overdub. When recording MIDI 2.0 input over a looping range, each note's 16-bit velocity (and release velocity) was tracked by its position in the take, so playing a note earlier in the loop on a later pass shifted other notes' positions and could attach velocities to the wrong notes once the take was finalised. Velocities are now tracked by the note itself, so each note keeps exactly the velocity you played, however many passes you overdub or wherever notes fall around the loop point. Only MIDI 2.0 input during loop/cycle recording was affected — ordinary MIDI and non-looped takes were never affected.

0.9.116

2026-06-30— Loop (cycle) MIDI recording lands notes where you played them
  • ImpNotes played at the loop point stay put. When cycle-recording over a looping range, a note played in the last fraction of the loop used to jump to the start of the clip (the loop wrapped back to its start the instant before the note was captured). Those tail notes now stay exactly where you played them, at the end of the loop.
  • FixA note held across the loop seam records cleanly. Holding a note over the loop point no longer leaves a stray note-off at the clip start that could cut short a note recorded there on another pass — the held note is closed at the loop end and the stray release is dropped. Covered by an automated timing test.

0.9.115

2026-06-30— Auto Mix genre switching + Smart Mix non-destructive
  • NewAuto Mix re-applies the genre's FX on a re-run. Switching genres and re-running Auto Mix now re-dials the return buses' reverb size/decay and delay feedback to the new genre (it previously updated only send amounts), so the genre change fully takes effect. Inserts you added to those buses yourself are left untouched.
  • ImpSmart Mix is now a clean toggle. Disabling Smart Mix restores the faders you had before you enabled it, instead of leaving the auto-gain's driven levels as your mix with no undo.

0.9.114

2026-06-30— Engine reliability + performance fixes
  • FixSmoother MPE + lighter monitoring. Dense MPE clips no longer do redundant per-note work on the audio thread (linear, not quadratic), and live-monitoring instrument tracks while stopped no longer allocate per block.
  • PerfMulti-core render keeps every note when a synth overruns. If a heavy or sandboxed instrument occasionally exceeds the per-block deadline, the fallback re-render now uses the original notes instead of a buffer the synth already consumed — that block plays correctly instead of dropping/doubling notes.
  • ImpProject loading keeps custom output/send routing. Routing a channel's output or a send to a return track (e.g. one named "Reverb"/"Delay", or carrying a bus role) now survives save and reload instead of snapping back to Master.
  • FixAuto Balance hits the target exactly on bussed tracks (tiny common bus corrections no longer leave a leaf slightly off).
  • ImpARA (Melodyne etc.): stopping the transport from an ARA plug-in while recording now commits your take, and an ARA-set cycle range lands on the correct beats under a tempo map.

0.9.113

2026-06-30— Masking accuracy + reliability tune-up
  • FixMasking: the right track gets called out. The masker/maskee labels and the one-click duck target are now decided in the exact band the clash is reported in (not by spectrum-wide loudness), and the transient-vs-sustained read no longer gets fooled by surrounding silence — so Auto-Unmask ducks the element you'd expect. A very long selection now tells you when only the first portion was scanned, and the panel's CLOSE is disabled while a scan runs so it can't briefly freeze.
  • FixNo stuck note after deleting a track while monitoring. Removing a track during live Voice-to-MIDI monitoring no longer leaves a held synth note hanging or cuts a neighbouring track.
  • ImpTakes always land on the track you armed, even if you reorder or delete tracks while recording.
  • Imp"Master only" stem export can't get stuck if the system can't start the render thread — the engine recovers cleanly instead of leaving playback silenced.

0.9.112

2026-06-30— Voice-to-MIDI: hear the synth live as you sing
  • ImpLive monitoring. With a Voice to MIDI insert on a vocal/audio track and an instrument track set to take its MIDI input from that track (0.9.111), the instrument's synth now plays live as you sing — whether the transport is rolling or stopped, recording or not. Recording still captures the notes into a clip at the exact positions you sang them, so you get the live sound and the take together. Monitoring follows the armed instrument track (disarm, mute, or pick None to stop); a held note is always released cleanly, with no stuck notes. The live feed is handed off from the audio engine through a preallocated, lock-free path, so it never burdens playback.

0.9.111

2026-06-30— Voice-to-MIDI: sing straight into a clip
  • PerfSing → clip. Put the Voice to MIDI insert on a vocal/audio track, right-click an instrument track → MIDI input from track → pick the vocal track, arm it and record. The notes the plugin produces are written live into a clip on the instrument track at the exact positions you sang them (loop/cycle recording included). The routing saves with the project and survives add/move/delete; pick None to clear it. Notes are captured off the audio thread through a lock-free hand-off, so it never burdens playback. Live real-time monitoring (hearing the instrument as you sing) is the next step.

0.9.110

2026-06-30— Four deferred reliability fixes
  • ImpLoop/cycle recording keeps every lap. Notes played on later laps (after the playhead wraps to the loop start) now land at their true position inside the loop instead of piling onto beat 1 — your multi-lap cycle take comes out as you played it. Normal recording is unchanged.
  • PerfNo stuck note from per-note probability. Two overlapping same-pitch notes where the later one had a probability under 100% could leave the first note hanging; suppression now tracks the exact dropped note, in the normal, multi-core and export engines.
  • NewNo corrupted output from two renders at once. Export, Export Stems, Master Assistant, Bounce and the Masking analyser now share one atomic "one render at a time" claim, so a second one started in the same instant waits instead of racing the first.
  • FixSidechain stays in tune across a sample-rate change. Routing a sidechain to a sandboxed plugin exactly as the audio device changed rate no longer leaves it prepared for the old rate.

0.9.109

2026-06-30— Real masking detection + one-click Auto-Unmask
  • ImpThe Masking / Separation view now measures real masking. It renders each track's isolated audio and analyses it across 24 critical bands, frame by frame, to find where two tracks actually fight — the SAME narrow frequency band at the SAME time, with the louder track burying the quieter one. Every clash is shown as masker → maskee, ranked by how badly the quieter track is buried and how often they collide. Pick Whole song or Loop region and press ANALYZE.
  • FixOne-click Auto-Unmask. Each clash can be fixed and undone in a single Ctrl+Z: a dynamic duck that dips the contested band of the more sustained track only while the more transient track plays (kick → bass, vocal → pad), or a static EQ carve on the masking track. Choose the method per clash, or hit Unmask all. A surgical dynamic-EQ option is coming next.

0.9.108

2026-06-30— More stability: hung-note + Reference Match fixes
  • FixNo more stuck notes after jumping the playhead. On clips with a region Transpose, or MPE clips, a note held across a seek or loop-wrap could ring forever — fixed in both the normal and multi-core playback engines.
  • FixReference Match no longer freezes the app. Analyzing a reference track (and the one-click "Master to a reference track") now runs in the background with an "Analyzing…" status instead of locking the whole UI for several seconds, and re-applying is instant (the reference is remembered).

0.9.107

2026-06-30— Stability & bug-hunt: 18 fixes
  • FixA focused reliability pass. Highlights of what's fixed:
  • FixNo more hung notes on looped clips. A MIDI note that filled a whole loop used to ring forever instead of re-articulating each cycle — fixed in playback, bounce and export.
  • FixRecording is tighter. Pressing Stop while still holding a note no longer saves a stuck, never-ending note, and a note played right as you hit Stop can no longer go missing or reappear in your next take.
  • FixQuantizing a whole clip (press Q with nothing selected) keeps each note's length and no longer makes short notes disappear — it just snaps the starts, like quantizing a selection always did.
  • FixDrum Sampler: reverse playback works again (it was silent), and reloading a pad while it's playing no longer risks a glitch.
  • ImpMaster Assistant now applies its EQ + limiter instantly with no brief un-limited moment.
  • FixStability: fixed a potential crash when adding a track with the Masking view open, a crash when picking a song key as a window closed, and several real-time audio-thread hazards — plus smaller fixes to clip resizing, "Find similar" presets, Volume Shaper bypass, Auto Mix sends and the plugin sandbox.

0.9.106

2026-06-29— Masking view, one-click reference master, preset tags
  • NewMasking / Separation view (Mix menu). A new live window shows every track laid out across three frequency zones — LOW, MID and HIGH — with each track's energy as a bar coloured by its role (kick, bass, vocal, lead, pad). When two or more tracks pile up in the same zone it flags the clash and suggests how to separate them, so you can hear and see where your mix is muddy. Press play and it updates in real time.
  • ImpMaster to a reference track — in one click (Mix menu). "Master to a reference track…" lets you pick any finished song you love; Anthem measures its tonal balance and nudges your master EQ to match it, in a single undo step. (The full Reference Match window with per-band control is still there if you want to fine-tune.)
  • ImpTag and find your presets. Right-click any preset in the browser to add tags (e.g. "bright, wide, lead"), mark favorites with a ★, and Find similar — which instantly lists every preset that shares its tags, ranked by overlap. The search box now matches tags too, and typing fav shows just your favorites. Your tags live in a small side file, so presets themselves are never touched.

0.9.105

2026-06-29— Master Assistant: one-click mastering
  • NewMaster Assistant — master your track in one click. A new option in the top menu, next to Auto Mix: pick a target — Streaming (-14 LUFS), Apple Music (-16 LUFS) or Loud (-10 LUFS) — and Anthem listens to your whole mix, then builds a finished master chain on the master channel: a corrective EQ to balance the tone plus a true-peak-safe limiter tuned to land right on the target loudness. It's one undo step, so you can A/B instantly; open the master channel afterwards to see and tweak the EQ and limiter it added.

0.9.104

2026-06-28— Voice to MIDI reads your singing more musically
  • FixVoice to MIDI is much smarter. Right-click an audio clip → Voice to MIDI now holds a sung note steady through vibrato and pitch drift (one clean note at its median pitch, not a stutter of fragments), folds away momentary octave glitches, drops low-confidence breaths/consonants, and splits re-sung repeats of the same pitch so the rhythm survives. The three variants (chromatic / snap-to-project-key / snap + 1/16 quantize) are unchanged.

0.9.103

2026-06-27— Sign in with your browser + a cleaner sign-in screen
  • ImpSign in with your browser. The sign-in screen now has a Sign in with browser button: click it, approve this computer in your browser (signing into the portal if needed), and Anthem Studio activates itself automatically — no copying license keys or typing passwords into the app. A short verification code is shown so you can confirm it's your computer.
  • ImpCleaner sign-in screen. Browser sign-in is the main action; email/password/license are tucked into a "Sign in with email instead" section, with a show/hide password toggle. Signing in with email + license key still works exactly as before.

0.9.102

2026-06-27— Fixes "fails to start" (0xc000007b) on a fresh install
  • NewA fresh install now starts correctly. The AI/stem-separation runtime (onnxruntime.dll) that Anthem Studio needs at startup was being copied next to the app for local development but was not included in the installer, so a freshly installed copy was missing a required component and Windows refused to start it with error 0xc000007b. The installer now bundles that runtime, and a new packaging safety check refuses to build an installer that is missing any DLL the app depends on — so this can't happen again. If you previously saw 0xc000007b, download and run the latest installer once more.

0.9.101

2026-06-27— Cleaner updates, reliable start after upgrading
  • FixInstalling a new version now does a full clean upgrade. When you update on top of an older build, the installer now removes the previous version's files before copying the new build in, and makes sure the required Microsoft Visual C++ runtime is present. This fixes a rare case where, after upgrading from a much older version, Anthem Studio could fail to start (Windows error 0xc000007b) even though the installer reported success. Your projects, presets and settings are never touched — only the program files are refreshed.

0.9.100

2026-06-23— 11 built-in plugins now save their settings
  • FixBuilt-in plugins now keep their settings when you save and reload a project. A group of built-in plugins were silently losing all their knob/parameter settings on every project reload — they came back at their defaults: Transient Designer, Anthem Bus 2500, De-Harsh, De-Esser Pro, Bass Mojo, Vocal Leveler, FET Comp, Opto Leveler, Master Mojo, SSL-E Style Channel and 1073 Style Pre/EQ. Each stored its settings under a name containing a space, which the internal save format could not read back. They now save and restore correctly, and a project saved with the old broken format recovers its settings where possible. Plugins that already saved correctly (EQ, Reverb, OTT, Compressor, Saturator, …) are unchanged.

0.9.99

2026-06-23— Vocal Tune timing fix
  • PerfVocal Tune now sits in time with the rest of your mix. It was telling the host it had ~55 ms of latency when its real processing delay is ~14 ms, so the host over-compensated and the tuned vocal drifted roughly 40 ms ahead of everything else. It now reports its true latency, so a Vocal Tune track lines up correctly with your drums, bass and arrangement.
  • ImpNo flam/slap when blending the tuned and original signal. With Mix below 100% the corrected (wet) and original (dry) signals were delayed by different amounts and arrived out of time with each other. They now share the same delay, so any Mix blend stays clean.

0.9.98

2026-06-23— Security & threading hardening
  • FixSecurity & threading hardening. A deep stability audit found the engine solid across the board; two hardening items shipped: the licensing/update network path now caps how much data it accepts from the server (a hostile or misconfigured server can no longer exhaust memory), and the audio engine's device block size is now shared atomically between the audio and UI threads (closing a harmless formal data race). No audible change.

0.9.97

2026-06-23— Undo/redo crash-safety fix
  • FixCrash fix: undo/redo after deleting a clip or track is now safe. A few undo steps (move, resize, mute or recolour a clip, rename a track, mute/solo a track or channel, bypass or reorder an insert) held a direct pointer to the thing they acted on, so deleting that clip or track and then pressing Ctrl+Z/Ctrl+Y could reach into freed memory and crash the app. Anthem now verifies the target still exists before every undo/redo and skips it if it's gone — your full undo history is kept, and undo/redo of anything still present behaves exactly as before.

0.9.96

2026-06-23— Plugin correctness & stability wave
  • NewBuilt-in plugin correctness pass. A deep audit cleaned up the built-in plugins: Godizer's Mode and Oversampling menus work again, the Limiter's Classic character is DC-clean and its Character mode (Modern/Classic) is selectable, Clipper exposes its Ceiling and Softness controls, the Saturator's negative Drive cleans up as intended, the bus Delay's Ducking control is on the panel, the SSL channel strip's gate Hold and sidechain high-pass now work, and EQ Eight / Volume Shaper / Transient Designer / Reverb got display, metering and smoothing polish.
  • FixRock-solid project loading. Hardened against corrupt or very old project files — out-of-range and non-finite values can no longer reach the audio engine — plus a couple of audio-thread allocations were moved out of the realtime path for glitch-free metering.

0.9.95

2026-06-23— Cleaner driven Delay tails
  • PerfDelay: cleaner saturated echo tails. With high feedback and Saturation pushed, the feedback drive used to add a harsh, gritty buzz that built up in the repeats (digital aliasing). The feedback saturator now runs through true 4x oversampling, so even long, heavily-driven tails stay smooth and musical. The drive level and amount are unchanged — only the grit is gone — so existing presets keep their character.

0.9.94

2026-06-22— Smoother OTT & richer Master Mojo
  • PerfOTT: smooth, click-free controls. The in/out and per-band gains, Depth and Mix were applied without smoothing, so moving or automating them zippered. They now ramp cleanly.
  • ImpMaster Mojo: all nine modes are now distinct. Five of the nine modes used to sound identical; each mode now has its own character (the default mode is unchanged).

0.9.93

2026-06-22— Plugin window & latency fixes
  • FixSandboxed plugin editors no longer vanish when you open the PRESET menu. Clicking a plugin's PRESET button used to leave its editor hidden behind where the menu had been; it now pops back to the front the moment the plugin window regains focus — without stealing keyboard focus from the plugin.
  • FixPlugins that switch into an oversampling / HQ mode stay perfectly in phase. Some plugins only establish (or change) their latency after loading. Anthem now tracks each sandboxed plugin's current latency live and recompensates automatically, so a parallel/send path no longer drifts out of alignment and combs.

0.9.92

2026-06-22— Cleaner Filter & tighter Bass Mojo
  • FixThe built-in Filter is now perfectly clean at its default Drive. It no longer adds a subtle saturation/level drop to the dry signal; Drive's character only engages as you push it up, and it's now anti-aliased and level-compensated for a smoother, more musical push.
  • FixBass Mojo's low end is dialed in right. Its default no longer over-boosts the sub region, giving the intended modest enhancement, and mono tracks now sound identical to stereo.

0.9.91

2026-06-22— Plugin polish: cleaner menus & live meters
  • NewCleaner menus across every built-in plugin. Dropdowns and selectors are now clean fill-only fields that match the dark UI — no boxy outlines anywhere.
  • ImpSaturator now shows always-on IN and OUT level meters framing the DRIVE ring, so you can see how hard the saturation is being driven and exactly what comes out.
  • PerfCompressor MIX now works for parallel (New York) compression — blend the dry and compressed signal and see the value live.
  • ImpMixTool's output meter keeps tracking the signal even when the plugin is bypassed — no more frozen readout.
  • ImpTransient Designer's Clip Guard is now a full knob (0–100%) instead of an on/off switch, so you can dial in exactly how much peak protection you want.
  • ImpStereo Tool's Mono-Bass and HF-Only expose every setting and remember it — all crossover options are reachable now.

0.9.90

2026-06-22— Cleaner generator UI
  • ImpThe MIDI generator's dropdowns are cleaner — no boxy gray outlines. Every selector in the Chords + Melodies generator is now a clean filled field, matching the rest of the dark UI.
  • ImpThe Octave selector shows absolute octaves (C1–C7). Pick the exact octave your generated idea is written at — clearer than relative steps, accurate to where the notes actually land, and remembered across sessions.

0.9.89

2026-06-22— MIDI generator: pick your octave
  • ImpThe MIDI generator now has an Octave selector. Pick where the generated idea lands — from −3 to +3 octaves — and the whole idea (chords, melody and bass together) is written at that octave, so you never have to drag everything into range after generating. Your choice is remembered across sessions and updates live as you tweak.

0.9.88

2026-06-22— Rock-solid plug-in state & focus-proof shortcuts
  • ImpYour plug-in presets, knobs and full state are now saved 100% reliably — every plug-in, every time. Sandboxed instruments and effects (Avenger, Serum and friends) save and restore their complete state on every project save, so a synth comes back exactly as you left it after you close and reopen — never on its default/INIT patch.
  • ImpA saved state can never be overwritten by an empty read. Anthem always keeps your last known-good plug-in state, so your settings are protected no matter what.
  • FixLighter on the CPU when you save. Saving a project with sandboxed instruments loaded no longer pushes the CPU meter up — the plug-in state hand-off is fully in sync with the audio engine.
  • NewSolo, Mute, Save and Undo work while a plug-in window is focused. With a plug-in editor (e.g. Avenger) in front: S solos, M mutes the selected track, Ctrl+S saves, Ctrl+Shift+S saves as, Ctrl+Z undoes and Ctrl+Shift+Z / Ctrl+Y redo — no need to click back into the arrangement first. (Typing in a plug-in's own text box is left untouched.)

0.9.87

2026-06-22— Stability & playback hardening
  • FixNo more hung notes when you transform MIDI during playback. Octave-shifting (Shift+↑ / Shift+↓), transposing, reversing, quantizing or humanizing a clip while the playhead is inside a sounding note no longer leaves that note ringing — the edited track's voices are flushed cleanly first.
  • FixFixed a crash when arming Automate after removing a plugin. Removing a plug-in and then clicking Automate (or with armed-Automate on) could act on the just-removed plug-in and crash; it now safely does nothing in that case.
  • FixSmoother audio when editing a plug-in chain during playback. A per-block internal update no longer briefly blocks the audio thread while you drag a plug-in knob or reorder a chain — removing a possible click/dropout.
  • FixFixed a crash if you quit Anthem while a plugin scan was running. A long scan keeps refreshing the plugin list in the background; quitting mid-scan could crash on exit. Quitting is now clean — and still instant.

0.9.86

2026-06-22— Hardening & polish: master round-trip, smoother engine, cleaner exports
  • ImpYour master channel comes back exactly as you left it. The master (Stereo Out) console colour, bus/master "glue" and 3D Mix Stage placement now reliably round-trip through save and reopen — a finished master stays put every time you open the project.
  • FixSmoother audio engine. The live render path no longer does per-block memory work for MIDI and note handling, for steadier performance on busy, instrument-heavy projects — and open plug-in editor windows are lighter on the CPU.
  • NewThe built-in Compressor's Glue mode is more controllable. Glue (and RMS detection) now respond to the Attack control, so you can dial in how fast the bus compressor grabs the signal — snappier with a fast Attack, more relaxed with a slow one.
  • NewCleaner stem exports. Exporting a single track that uses a heavy sandboxed plug-in now waits for it to be fully ready first (no silent first notes), and exporting a fully-muted track writes a proper full-length silent file that lines up with your other stems.
  • ImpOTT crossover readouts always show the real frequency. The four bands stay in order automatically, and the crossover knobs now display the exact frequency in effect.
  • FixStability. Fixed a rare crash when quitting while a sandboxed plug-in was being removed, and a crash that could happen if you pressed Undo after deleting a clip you'd just applied Groove to. A second export can no longer start on top of a running one, and dragging a MIDI 2.0 / MPE clip to another track keeps its hi-res data.

0.9.85

2026-06-21— Console Engine: true HQ oversampling + a modern, live face
  • PerfThe Console Engine's High and Render quality now use true studio-grade oversampling. Pick High (and Render for mixdowns) and the channel colour plus the bus/master "glue" run through real high-rate processing — for a bigger, more open, more analog top end with none of the digital edge, especially on bright and bass-heavy material. High is now the default on new channels and the master, and your quality choice is saved with the project. (Eco stays the lightest-CPU option and is unchanged.)
  • PerfThe Console panel has a modern new face with live metering. A black Anthem redesign with real-time activity meters on the channel and the bus/master sections, so you can see the console working as audio passes through it — plus quick ‹ › arrows to audition the Subtle / Punch / Warm character presets instantly.

0.9.84

2026-06-21— De-Harsh: steerable surgical notch (kills between-band screams)
  • FixDe-Harsh can now crush a harsh resonance that sits between its bands. With the seven fixed bands, a scream at (say) 2.7 kHz — right between the 2.3 k and 3.1 k bands — was only caught on each band's edge, so it was under-tamed even with everything maxed. De-Harsh now also runs a surgical notch locked exactly to the Focus knob: point Focus at the frequency that stings and it puts a dedicated, full-strength dynamic notch right there. The Width knob sets how tight that notch is — low Width = a narrow laser on one nasty frequency, high Width = a broader scoop. (Measured: a 2.7 kHz between-band resonance that the old version barely touched is now pulled down ~11 dB with Focus aimed at it; clean material stays transparent.)
  • ImpTip: park Focus on the exact scream (watch the live band display / sweep by ear), lower Width for a tighter cut, and use Mid Only when the harshness is a centre vocal.

0.9.83

2026-06-21— De-Harsh that actually tames + a premium new face
  • PerfDe-Harsh now audibly removes harshness — and the meter shows it working. In 0.9.82 the detector compared each band only to its own recent average, so on a sustained harsh sound (exactly the held, screamy vocal it's built for) nothing ever crossed the threshold: no reduction, and the GR meter never moved. De-Harsh now measures each band against the live balance of the whole 1.7–8.5 kHz region, so a band that genuinely sticks out — the 3–5 kHz "scream" — gets pulled down, while smooth, evenly-bright material is left alone. The Amount knob now ramps cleanly from gentle to aggressive. (Measured: a +20 dB 3.5 kHz resonance is reduced ~4 dB at Amount 80%, and clean material reads 0 dB reduction — fully transparent.)
  • NewDe-Harsh has a brand-new premium interface. A purpose-built black face on the modern Anthem design — with a live per-band harshness display so you can see exactly which frequencies are being tamed in real time — grouped TAME / TONE / OUTPUT sections, IN/OUT meters, and a clean M/S · Mid · Side selector. (Same controls and presets as before, just far nicer to use.)
  • FixClicking in the timeline ruler to jump the playhead no longer drops a tiny cycle. A plain click now only moves the playhead; you have to actually drag to set a cycle/loop region. Dragging out a cycle works exactly as before.

0.9.82

2026-06-21— NEW: Anthem De-Harsh + export reliability & clarity
  • FixNEW plugin — Anthem De-Harsh. A smart, adaptive harshness tamer for the master. It turns down screamy, brittle, ear-piercing energy in the upper-mids (around 1.7–8.5 kHz, centred on the 3–5 kHz "scream" zone) — built for loud, pushed material, especially AI/Suno vocals that get a hard, glassy bite at high loudness. It's adaptive, not a fixed EQ scoop: it only acts when a band actually pokes out above the song's own level there, so it stays transparent when nothing is harsh. It handles the centre and the stereo sides separately, then adds a touch of gentle analog warmth and a clean, airy top — so the result is round and soft but still crystal-clear, not dull. Add it from the plugin picker; put it on the master, before your brickwall limiter. Presets included (Suno Master, Gentle Glue, Scream Killer, Air & Soft, Transparent).
  • FixFixed: exports that produced silence (or only a split-second of sound). The offline exporter was re-opening each source file over and over during a render, which could intermittently fail and write silent blocks. It now opens each source once — full audio, start to finish.
  • FixFixed: a stray bit of leftover sound at the very start of an export. A reverb/tape/look-ahead tail from wherever you last pressed Play could bleed into the first moment of the rendered file (it was never in playback). The export now flushes that state first, so it starts perfectly clean — your master processing is unchanged.
  • ImpExport progress is now clear. Instead of a still "Rendering…" that looked frozen, the dialog shows what it's doing: "Waiting for N plugins to finish loading…" (counting down) while heavy plugins load, then "Rendering…" with a live percentage and ETA. When the export finishes, the button reads "Close", and the status text is now large and easy to read.
  • ImpPlus a wave of stability, mixing and mastering refinements across the engine since the last public build.

0.9.49

2026-06-20— Auto Balance: respects automation & measures dry
  • FixAuto Balance now leaves your automated faders alone. If a track's volume is automated, the automation owns that fader — so Auto Balance no longer touches it (a balance move would just have been overwritten on the next play). It balances the tracks it can actually set, and leaves the rest to your automation.
  • FixReverb and delay tails no longer fool the level measurement. When Auto Balance measures how loud a track is, it now ignores that track's reverb/delay sends (those add depth, not level). A track drenched in reverb used to read artificially loud and get pulled down too far — now it's balanced on its real level. Level-adding sends (parallel compression, exciter, group buses) are still counted.

0.9.48

2026-06-20— NEW: Auto Balance — professional level balancing in one click
  • ImpAuto Balance sets every track to a pro level balance, instantly. Pick a style (Balanced, Festival EDM, Pop, Hip-Hop / Trap) under Mix ▸ Auto Balance and Anthem measures how loud each track actually is — using the same true integrated-loudness standard streaming platforms use — and sets its fader so the whole mix is balanced the way an engineer balances a record: kick and bass anchored, vocals and leads forward, pads, hats and FX tucked behind. Because it balances by loudness, not peak level, the mix translates across phones, earbuds, car, laptop and club PA.
  • ImpIt won't fight a balance you already like — a level that's already right is left untouched, and every move is small and clamped.
  • ImpIt can't make the mix clip — it never raises the overall loudness; pushing a buried element up trims the whole mix down to compensate.
  • ImpOne Ctrl+Z reverts the whole thing, and a per-track "exclude from Auto Balance" lock protects any deliberate choice.
  • ImpAuto Mix (Pro) and the 3D Mix Stage are unchanged — Auto Balance is a separate, opt-in pass you run when you want the levels dialled in.

0.9.47

2026-06-20— Export-stems crash fix + Auto Mix / Smart Mix polish
  • FixClosing the Export Stems window while it's still rendering no longer risks a crash. The render now finishes safely before the window closes, and a second export can't start while one is already running.
  • FixUndo no longer turns Smart Mix "off" everywhere. Loading a project (and the undo that restores it) disabled Smart Mix as intended, but it used to also flip the app-wide setting — so Smart Mix looked stuck off afterwards. The global setting now only changes when you toggle it yourself.
  • FixAuto Mix / 3D Stage places more tracks correctly. Plainly named tracks like "Synth" or "Instrument 13" are now staged as a musical lead instead of being left unplaced, and the name matching no longer mistakes words like "Bassoon" for a bass.

0.9.46

2026-06-20— Your plugins (and their settings) can't go missing
  • ImpA plugin that isn't found when a project loads now keeps its slot and all its settings. Before, if a project referenced a plugin that wasn't available, the insert slot was emptied — and the moment you saved, that plugin and every one of its settings were gone for good. Now a missing plugin is held in place as a silent "(missing)" placeholder that preserves its exact identity and full saved state, so the project loses nothing and the plugin comes straight back with all its settings once it's installed again.
  • ImpYour scanned-plugin library is protected. A fault could overwrite the list of your scanned plugins with an empty one, which then made every plugin in every project show up as "not found". Anthem now refuses to overwrite a healthy plugin list with an empty one, keeps a known-good backup, and restores it automatically if the list is ever found empty at startup.
  • FixCrash recovery now restores your Session View clip grid too — it was coming back empty even though it was safely saved next to the project.

0.9.45

2026-06-20— Bus-to-bus latency compensation
  • PerfA bus routed into another bus now lines up at the master. When you feed one bus into a second bus (a sub-mix into a parent bus) and the chain has a latency-introducing plugin on it (a linear-phase EQ, a lookahead limiter), that path used to arrive tens of milliseconds late and slap or comb-filter against the rest of the mix. Anthem now compensates plugin latency along the whole bus graph so the path is perfectly in time. Projects that don't chain a bus into another bus are bit-for-bit unchanged.

0.9.44

2026-06-19— Crash & data-loss fixes
  • FixFixed a crash when undoing/redoing an arranger edit during playback. Ctrl+Z / Ctrl+Y of an arranger edit could read freed memory mid-playback; it is now safely synchronised with the audio engine.
  • FixExport no longer silently writes a truncated file when the disk is full. Offline mixdown and stem renders ignored write failures and reported success, leaving a truncated WAV that looked complete. A write error now aborts the export, removes the partial file, and reports failure.
  • Fix"Normalize true peak" can no longer destroy a good render on a write error — if the loudness pass can't finish, the already-correct render is kept.
  • FixShortening a faded clip no longer makes it play near-silent. Dragging a clip edge shorter left an over-length fade; fades are now re-clamped to the new clip length.
  • FixComp (take) boundary drags no longer jump past a neighbouring boundary when two boundaries are very close.

0.9.43

2026-06-19— Stem separation: robust, no self-destruct
  • ImpStem separation (Demucs) is now robust. The model download could fail every time on Windows (the file was still open when it was moved into place); a corrupt cached model could wedge the feature permanently; a fast double-click could launch two jobs racing the same files. The download now completes, a bad cached model is cleared automatically on the next run, and a second request is refused while one is running. (End-to-end separation still requires a compatible Demucs model.)

0.9.42

2026-06-19— No silent corruption of huge plugin presets
  • FixSandboxed plugins with very large state (over 32 MB) no longer silently corrupt your saved project. A few sample-based instruments can produce more than 32 MB of preset data; the plugin host used to truncate it and report success, so the project saved a corrupt blob that failed to restore (and could crash the plugin) on reload. Anthem now keeps the last known-good state instead of writing a corrupt one. Normal-size presets are unaffected.

0.9.41

2026-06-19— Crash fix, metronome meter & memory
  • FixFixed a crash when deleting the audio clip you're editing. With the bottom audio editor open on a clip, deleting / splitting / moving that same clip from the arranger could leave the editor pointing at freed memory and crash on the next edit. The editor now closes itself the instant its clip is removed.
  • ImpMetronome now follows the time-signature denominator — 6/8, 7/8 and other non-/4 meters now click and accent in the right places. 4/4 is unchanged.
  • PerfBounded the waveform-thumbnail cache so a long session auditioning many files keeps memory flat.

0.9.40

2026-06-19— Aggregate-input recordings land on the grid
  • PerfRecordings from a second/aggregate audio interface now land in time. They were arriving ~21–43 ms late (scaling with buffer size) because the clock-sync between the two cards adds a small read delay the recording-latency compensation didn't account for. Takes from a secondary card now land on the grid like takes from your main interface; primary-interface and MIDI takes are unchanged.

0.9.39

2026-06-19— Melodyne/ARA follows your edits
  • ImpMelodyne (and other ARA plugins) now follow edits to the track without a manual reset. Once an ARA plugin had analyzed a clip, moving, resizing, adding or removing clips on that track — or changing the project tempo — left the plugin playing its old layout until you hit "Reset ARA". Anthem now detects when a track's clips or tempo actually change and rebuilds the ARA document automatically, carrying your Melodyne edits across. Renaming or recolouring a clip doesn't trigger a rebuild.

0.9.38

2026-06-19— Integrated LUFS reads to spec
  • FixThe Integrated (I) LUFS readout now reads to spec. It applied only the absolute -70 LUFS gate, so quiet passages (intros, breakdowns, fades) the standard excludes were folded into the average, pulling the Integrated value too low — mastering "to -14 LUFS" on this meter delivered hotter than -14 on a compliant meter. Anthem now adds the required relative gate (-10 LU below the provisional loudness), per ITU-R BS.1770-4, so the number matches a compliant loudness meter. (Completes the EBU gating started with the Loudness Range fix in 0.9.36.)

0.9.37

2026-06-19— Undo for hand-drawn automation
  • FixEditing automation points can now be undone. Adding, deleting, moving or pasting points on a track's automation lane was not registered with the undo system, so Ctrl+Z either did nothing or jumped back past your automation work — and an accidental delete or a point dragged to the wrong value was unrecoverable. Each gesture is now a single undo step (Add / Delete / Move / Paste Automation) and Ctrl+Z / Ctrl+Y restore the lane exactly. (The snapshot for a move is taken only when you actually drag a point, so clicking to select one stays instant.)

0.9.36

2026-06-19— Drum Sampler presets & meter accuracy
  • FixLoading a preset onto the Drum Sampler no longer duplicates its velocity layers. If a pad already had extra velocity layers, a preset's layers were added on top of the existing ones instead of replacing them — stacking duplicates (flam/phasing/louder hits) and bloating the saved project. Loading a preset now correctly replaces the pad's layers.
  • FixLoudness Range (LRA) is now gated per EBU Tech 3342 (absolute -70 LUFS + relative -20 LU), so quiet intros/outros/breakdowns no longer overstate a track's dynamic range.
  • FixLevel-meter peak-hold now honours the duration it's given (it was ignoring it in favour of a fixed 1.2 s; the default is unchanged).

0.9.35

2026-06-19— Tidier temporary files
  • FixLong editing sessions no longer pile up large numbers of temporary project files. Every project-structure edit (adding/deleting tracks, group/bus changes, colour changes, dragging a clip in from the browser, Auto Mix) keeps a small before/after snapshot of the project on disk so it can be undone. Those snapshots were retained far past the point you could undo to — up to a few thousand of them — so a long session slowly filled your temp folder with multi-megabyte files. Anthem now bounds how many are kept (well beyond the reachable undo history) and deletes the rest as they age out. Undo depth is unchanged.

0.9.34

2026-06-19— LFO tempo-sync runs at the right speed
  • PerfThe built-in LFO's BPM-Sync now runs at exactly the note division you pick. A synced LFO used to run far too slowly — "1/4" gave a whole-bar cycle (4× too slow, triplets 2× too slow). It now matches the dial (1/4 = one beat per cycle, dotted = 1.5× the note, triplet = 2/3× the note), the same beat math the VolumeShaper uses. Heads-up: a project that used a synced LFO insert will now run it faster, to match the label, so give any such older session a quick listen. The "Free Hz" rate mode is unaffected.

0.9.33

2026-06-19— Recording start position
  • FixRecording from the start of the project (or the loop) now drops the take in the right place. When the transport was set to begin at the project start or loop start, hitting Record jumped the playhead there but pinned the recorded clip to wherever the cursor had been, so the take landed at the wrong spot. Anthem now moves the playhead before it marks where recording begins. Recording from the cursor position is unchanged, and MIDI recording was never affected.

0.9.32

2026-06-19— MIDI 2.0 quiet notes & the Spring reverb
  • ImpVery quiet notes from a MIDI 2.0 controller now sound. The quietest 16-bit note-on velocities were rounding down to zero, which counts as a note-off — so the note silently never played. A genuine zero-velocity note-off still behaves as one.
  • ImpThe Spring reverb algorithm sounds right again. A formula error turned the spring all-pass chain into a loud, metallic comb; it now sits at the right level and tone with the dispersive spring character it should have.

0.9.31

2026-06-19— Stop while recording keeps your take
  • ImpPressing Stop, spacebar or Rewind while recording now keeps your take. Only the transport Stop button used to finish an in-progress recording; the others stopped the transport but lost the take and left Anthem thinking it was still recording. Every Stop path now commits the take and clears the recording state.

0.9.30

2026-06-19— Routing, tempo-map & CPU fixes
  • FixMuted tracks no longer bleed through a pre-fader send in big sessions (around 16+ mixed tracks) — they are now fully silenced, like small sessions and exports.
  • ImpPlugins get the correct musical position when your project has tempo changes, so tempo-synced delays, LFOs and arps stay locked across a tempo ramp.
  • PerfLower CPU on dense MIDI clips — a wasted full-sequence rescan per note-off, per block, is skipped when there is no quantize or swing to apply.
  • FixDragging a video or media file over the timeline no longer freezes the app.

0.9.29

2026-06-19— Undo & reload fixes
  • FixHeld MPE notes no longer get stuck during clip playback — a note-off was going to the wrong member channel, so the voice never released.
  • ImpRight-click Clip Mute / Clip Colour and velocity-lane drags can now be undone.
  • ImpStacked automation lanes stay visible after you reopen a project.
  • Fix"Flatten Comp" on a MIDI track no longer wipes the track — it is audio-only and now says so instead.
  • ImpGodizer's Oversampling dropdown takes effect immediately.
  • ImpRender Analyzer and "also export MP3" now work for FLAC, AIFF, Opus and MP3 exports — the temporary WAV they needed was being deleted too early.

0.9.28

2026-06-19— Stability & audio-thread hardening
  • ImpDeleting clips across several tracks is now a single undo instead of one Ctrl+Z per track.
  • FixNo more crash when removing an ARA plugin (Melodyne) while its editor is open.
  • FixFixed a rare crash when an aggregated secondary input device restarts.
  • FixThe background autosave no longer races the settings file.
  • FixLower CPU: the built-in synth, Saturator and drum sampler no longer allocate memory on the audio thread — identical sound, smoother under load and at small buffer sizes.

0.9.27

2026-06-19— Crash-recovery & reopen fixes
  • FixAfter a crash recovery, Anthem now tells you if any plugins did not load — the same "Some plugins were skipped" summary a normal project open shows, listing exactly what to re-insert or re-authorise.
  • ImpA popped-out (floating) Mixer window now comes back floating, at the size and position you left it, instead of returning docked and hidden.

0.9.26

2026-06-19— Panels keep their size after crash recovery
  • FixYour panels keep their size after a crash or unclean shutdown. When Anthem recovered an autosaved project after an ungraceful exit, it rebuilt your tracks and plug-ins but fell back to the default window layout — so a mixer you'd dragged to full height came back small, along with your panel widths and visibility. Recovery now restores the saved workspace exactly like a normal project open.

0.9.25

2026-06-19— The floating mixer remembers its size
  • ImpThe pop-out (floating) Mixer window now remembers its size. It only saved its size when you docked it back, so resizing it and then quitting (especially an unclean exit) reset it to the default. It now saves its size and position whenever you move or resize it.

0.9.24

2026-06-19— Resize selected clips together across tracks
  • ImpResize all selected clips together, across different tracks. Select clips on several tracks and drag any one clip's left or right edge — every selected clip resizes by the same amount (each still clamped to its own audio content), as a single undo.

0.9.23

2026-06-19— Dedicated instrument processes + a stronger Auto Mix
  • FixHeavy instrument plug-ins no longer pile up and stall. Stacking several instances of a big synth (e.g. VPS Avenger) used to load them all into one shared background process that could wedge on "Loading plug-in…" — and if it died, every instance died with it. Each instrument now runs in its own process: they load in parallel, a crash only takes down that one instance, and the stall is gone. (Audio effects still share a process so a copy-protected effect only checks its licence once.)
  • NewAuto Mix is much more "finished", less static. It now adds real per-role processing on every channel — drum punch and glue, bass weight, lead presence and air, vocal compression and air, and bus glue — on top of the FX sends. Still one press, still one Ctrl+Z to undo.
  • ImpBetter track-name recognition for the 3D stage, with bigger, genre-tuned sends.

0.9.22

2026-06-19— Stability & instrument-hosting fixes
  • FixDuplicated heavy synths no longer drop out under load. A busy-but-healthy synth that returned a little late on a burst of blocks was being switched off as if it had hung; it now stays loaded and rides out the spike.
  • FixSynths no longer sustain a note forever after Stop — a dropped all-notes-off is now remembered and re-sent on the next block.
  • FixBounce / Export to a new track no longer drops the first MIDI note.
  • ImpSetting the output bus on several selected mixer strips now updates the whole group.
  • NewShift-drag to copy a clip now snaps to the grid, and instruments dropped on an audio track now make a new instrument track.
  • FixLower CPU on the built-in EQ8, OTT and Pro EQ4; the Compressor Feedback and Auto Release switches now work; a Limiter LUFS fix; a Stereo Tool balance fix; and safer project loading.

0.9.21

2026-06-18— Tempo-synced delays stay in time
  • FixTempo-synced delays now stay locked to your project tempo after reopening or undo/redo. A synced delay — for example the dotted-1/8 "ECHO THROW" that Auto Mix builds, or any DELAY insert set to a note value like 1/4 or 1/8 — used to forget the project tempo when you saved and reopened the project, or when you undid/redid an Auto Mix, and quietly fall back to 120 BPM. So on a track at, say, 128 BPM the echoes were the wrong length until you nudged the tempo. Anthem now re-feeds the real project tempo into every synced delay (on tracks, buses and the master) the moment a project finishes loading and on every tempo change, so synced delays are always the correct length.

0.9.20

2026-06-17— Auto Mix + cleaner plug-in editors
  • NewNew: Auto Mix (Pro). Open Mix ▸ Auto Mix (Pro), pick a genre — Balanced, Festival EDM, Pop or Hip-Hop / Trap — and Anthem builds a full, professional send/return mix in one click, with everything visible and tweakable in the mixer.
  • PerfSix real FX return buses are created and dialled in: VOCAL PLATE, DEPTH HALL and WIDE FX reverbs, PARALLEL COMP (New-York-style drum smash), EXCITE (a tube-style harmonic exciter) and ECHO THROW (a tempo-synced dotted delay throw).
  • PerfRouted by role, like an engineer would. Vocals get plate + air + a delay throw, drums get depth + parallel compression, pads and FX get wide ambience, and a gentle per-role EQ carve keeps parts from masking each other. The low end stays dry and mono so the mix never gets muddy, reverb decay is tuned per genre, and the whole thing is a single Undo step.
  • Imp3D Mix Stage: no more crackle. Moving a sound around the stage used to zipper and click; every spatial move now glides smoothly. The stage was also redrawn to a cleaner, higher-end look with readable non-overlapping labels, role icons, and a width control that visibly splits a sound into a stereo pair.
  • FixSynth polish. The oscilloscope now animates like a real oscillator, the doubled name in the WAVE selector is fixed, the preset BROWSER tab works and lists your saved presets, the preset text is larger, and the FX-rack labels are positioned correctly.
  • FixCleaner built-in effect editors. The Reverb, Saturator, Compressor and Delay editors no longer overlap their knobs and labels in a short plug-in window — every knob keeps a clean label / dial / value layout.

0.9.19

2026-06-17— Synth interface overhaul
  • NewThe built-in synth was redrawn to match the rest of Anthem — flat black with the exact same knobs, dropdowns and panels as the other built-in plug-ins, and a single green accent instead of the old mix of pink, amber and cyan.
  • FixSmoother to use. Click-hold-and-drag no longer makes the whole synth window feel sluggish, and a knob's value now stays visible the entire time you drag it.
  • FixThe dual filter is laid out clearly with every knob labelled (cutoff, resonance, blend, envelope amount) and the response curve no longer sitting under the controls.
  • PerfReal performance controls. The bottom strip's fake morph pad and painted MONO/POLY and portamento graphics are replaced with working controls: a POLY / MONO voice selector, a GLIDE (portamento) knob and a BEND (pitch-bend range) knob.
  • FixFixed overlapping controls in the Macros, LFO and Mod Matrix panels — knobs no longer sit on top of their labels, the LFO rate/amount knobs are full-size and below the mode buttons, and the Mod Matrix source list and routing list are separated and readable.
  • ImpNothing about the synth's sound or its parameters changed — this update is the interface.

0.9.18

2026-06-17— The synth update
  • NewThe built-in Anthem synth was rebuilt from the ground up. Band-limited oscillators kill the digital "fizz" on bright leads and high notes, and unison voices now spread into a wide, decorrelated analog stack instead of a thin in-phase comb — fat, expensive, modern.
  • PerfA real filter. The old single one-pole (where LP24/HP12/BP12/Notch were just labels) is now a proper state-variable filter with true 12 and 24 dB/oct slopes and musical, singing/self-oscillating resonance — growling basses, singing leads, smooth cutoff sweeps.
  • ImpPer-voice LFOs + snappier envelopes. The three LFOs are now per-voice and retrigger on every note, so vibrato, wobble and filter sweeps start cleanly per note instead of one shared LFO drifting across the chord; the amp and filter envelopes now snap to full instead of mushily easing in.
  • NewA real delay and reverb. The built-in delay is tempo-synced and follows your project tempo, and the smeary old reverb was replaced with a real diffuse 8-comb room/hall tail.
  • NewFull DAHDSR + a Curve knob added to both the amp and filter envelopes — Delay and Hold stages plus a Curve that morphs from soft, through analog snap, to razor-snappy, for plucks that hit late, gated stabs and swells.
  • NewTempo-synced LFOs + a real sidechain pump. Each LFO can now lock to musical note values (1/1 to 1/16, plus triplets and dotted), and the FX duck has a new Pump mode for the classic tempo-locked EDM sidechain breathing.
  • NewA 3rd assignable modulation envelope — drag the new "M ENV" source anywhere in the mod matrix (cutoff, pitch, pan, an FX send). Every existing patch keeps its settings; nothing changes until you reach for the new controls.
  • NewNew: Generate now learns from real EDM packs ("Genre DNA"). The MIDI generator was trained on a large library of professional MIDI packs and extracts each genre's real chord progressions, voicing richness and major/minor balance into a compact ruleset that ships inside Anthem; a new Chord Voicing "Auto (DNA)" option matches voicing, density and phrase length to the genre. No MIDI is copied.
  • FixNew: import almost any media file as audio. Drop an .mpeg, .mp4, .m4a, .aac, .opus or even a video file onto the timeline and Anthem extracts and converts the audio automatically (when ffmpeg is installed), cached so re-imports are instant. Also fixes .m4a files, which used to be accepted but silently failed to load.
  • FixFixed: no more hung note or endless low sub from the piano-roll preview — an auditioned note is always released when you let go, the preview voice auto-releases if a note-off is missed, and Stop / Rewind / Close Project hard-silence it.
  • FixFixed: dragging a section in the arranger now shows a clear coloured ghost that follows your cursor, with a clean drop line showing exactly where it will land.

0.9.17

2026-06-16— Musical melody generation + arranger polish
  • FixNew: generated melodies are far more varied and natural. Every press of Generate now rolls a genuinely different rhythm — a longer held anchor note on a strong beat with shorter notes around it, the odd quick ornament, and a tasteful amount of syncopation — instead of the same pattern with new pitches. Real long-vs-short note shape, never dead-on-the-grid, never robotic.
  • PerfNew: "Smart (theory)" melody mode picks each note the way music theory says real songs do — weighing every scale degree by how well it fits the chord under it and how naturally it flows from the last note. It follows your chords, stays in key and feels written. Rhythm Complexity drives the adventurousness, Chord Richness opens jazzier colour, and Emotion tints the line.
  • NewNew: real A-B-A-C song form. The generator writes a proper 2-bar idea and lays 8 bars out as A · B · A · C — your hook, an answer, the SAME hook returning note-for-note, then a resolving close. The line breathes, builds to one high point about two-thirds through, and ends on the tonic on a strong beat.
  • NewNew: modern chord voicings by default — add9 / min7 / sus with the occasional 6/9, plus tasteful slash-chord bass — with a Chord Voicing picker (Modern / Triads / Jazz) wired to the Chord Richness slider. Pick Triads for exactly the old plain chords. EDM Drop sections keep their punchy power-chord stabs.
  • FixNew: Melbourne Bounce leads rebuilt — the rolling, kick-gapped off-beat groove with the signature octave bounce now follows your chord progression instead of a fixed riff.
  • NewNew: the Generate dialog updates live as you drag a FEEL slider or change a dropdown — no need to press Generate after every tweak. The melody seed is held steady during a drag so only that parameter changes.
  • ImpImproved: cleaner arranger clips and a softer grid. Each clip carries a solid colour title bar with its name (centred) along the top; the piano-roll grid is gentler on the eyes; and all arranger grid lines are now uniform full-height, told apart only by brightness.
  • ImpImproved: clean ghost preview when you drag. Moving or copying a section or a clip (including multi-selection group drags) shows a semi-transparent ghost of exactly what is moving and where it will land; the old "Drop before/after bar X" text box is gone.
  • ImpImproved: instrument tracks show a piano-keys icon instead of a plain "E" for opening the instrument.
  • FixFixed: track level meters no longer freeze at the level they were at when you stop or pause — they always clear to silence.
  • FixFixed: no more hung note when you Generate during playback — the edited track's voices are flushed the instant the clip is re-rolled, so nothing rings on.
  • FixFixed: Ctrl+B Bounce to New Track on instrument tracks now prints real audio (it was rendering silence), drops the new track directly under the source, and leaves the source track exactly as it was.
  • FixFixed: dragging multiple selected track headers now moves them all together as one block, instead of only the one you grabbed.
  • FixStability: adding or duplicating a heavy sandboxed synth no longer interrupts the synths already playing — each new instance loads on its own dedicated background loader. Saving during a load no longer wipes plug-in settings, a faulting shared host auto-relaunches every track using it with no clicking, and removing or replacing a synth mid-load can no longer crash.

0.9.16

2026-06-15— Pitch-preserving HQ warp
  • NewNew: warp now has two modes — HQ (pitch-preserving) and Re-Pitch (vinyl-style), toggled with a new HQ / Re-Pitch button in the audio editor's warp toolbar. HQ is the default: time-stretching a clip with warp markers now keeps the pitch (clean, high-quality) instead of re-pitching it like tape. It renders in the background and swaps in gaplessly — Re-Pitch plays instantly until the HQ version is ready, so there is no dropout. Re-Pitch stays as a creative option (the classic pitch-changing stretch). Existing projects keep their current Re-Pitch sound.

0.9.15

2026-06-15— Click-free plug-in engage + audio-editor polish
  • FixFixed: adding or engaging a plug-in while the track is playing no longer clicks or pops. The insert slot now fades between dry and the plug-in's output with a short equal-power crossfade, so activating / deactivating (bypassing) a plug-in mid-playback is smooth. A sandboxed (out-of-process) plug-in also fades in cleanly the moment its subprocess finishes launching, instead of popping in a beat late. Loaded projects are unaffected — they sound identical from the very first sample.
  • NewAudio editor: added a horizontal scrollbar to the waveform so you can drag through a zoomed-in clip, and cleaned up the toolbar buttons — the grey box around each one is gone; they are now flat chips that light up green when active.

0.9.14

2026-06-15— Sandbox & audio-engine hardening
  • FixFixed: several rare plug-in sandbox races. A plug-in editor could wedge on close/reopen (a control-channel sequence desync), a launch/shutdown race could tear shared-memory handles, an unlocked shared-memory read could outlive teardown, and the deadline watchdog could disable a slot while leaving its plug-in process running. All are now serialised under a consistent lock order.
  • FixFixed: an audio-thread memory free. Large sample buffers and time-stretch state were being freed on the audio thread when a clip reader was rejected (a dropout source); they are now reclaimed off-thread via a lock-free hand-off.
  • FixFixed: picking a sidechain source for a sandboxed plug-in no longer holds the audio lock across the plug-in's reload — no brief dry-out or stall.
  • FixFixed: MPE per-note expression reattaches to the correct note on reload, even when notes overlap (it previously could shift after the load re-sort).
  • FixFixed: loading an older project no longer resets the loop region, and malformed MIDI 2.0 packets are no longer resurrected.
  • FixFixed: the Multiband Sidechain Duck no longer clicks when re-enabled (un-bypassed) in multiband mode.
  • FixFixed: EQ8 band updates are no longer occasionally missed or torn between the UI and audio threads.
  • FixFixed: the Anthem Bus 2500 gain-reduction meter now reads per-block instead of sticking high.

0.9.13

2026-06-15— Smarter MIDI generation + stability
  • NewNew: A-B-A-C song form in the MIDI generator. Melodies are now constructed the way a songwriter builds them — a memorable phrase A, a contrasting answer B, the A phrase returning so the ear recognises it, then a cadence C that resolves to the key, instead of fresh random notes every bar. Pick it under the new Melody Form menu (Auto uses A-B-A-C for melodies of four bars or more).
  • NewNew: eight FEEL knobs shape every generation — melody, chords, bass and arp: Note Density, Rhythm Complexity, Swing, Humanize, Variation, Rests, Chord Color (triads up to 7/9/11/13 extensions) and Octaves.
  • NewNew: more melody styles — Chant Hook, Plucked Sequence, Wide-Interval Lead, Pentatonic Riff and Question & Answer.
  • NewNew: richer chords and progressions — six voicing styles (Closed, Open, Drop 2, Drop 3, Rootless, Spread), optional extensions, and — as you raise Rhythm Complexity or Variation — secondary dominants, borrowed chords and extended pop progressions. At low settings you still get the proven, clean progressions.
  • NewNew: smarter arpeggios — eight real patterns (Up, Down, Up-Down, Down-Up, Converge, Random, As-Played, Chord-Up), the rate locked to your grid, with gate length, rests, swing and octave range all driven by the knobs.
  • NewNew: better drum generation — per-genre pattern variations, genre-accurate fills, ghost notes, four new genres (UK Garage, Amapiano, Afrobeat, Breakbeat) and a Pattern Feel menu for swing, humanize and ghost amount.
  • FixFixed: a rare crash and garbled-audio race when drawing or undoing clip-gain automation on a clip that is currently playing.
  • FixFixed: more audio-thread allocations removed (the loudness / true-peak meter, the brickwall limiter and the OTT-style multiband) that could cause intermittent clicks during playback.
  • FixFixed: project loading is hardened against malformed or older files, and the generator no longer leaves a stuck note when a chord and a bass note land on the same pitch and beat.
  • FixFixed: a couple of rare context-menu crashes in the mixer and on automation lanes when the project changed while a menu was left open.

0.9.12

2026-06-15— Creative tools, plug-in reliability & workflow
  • ImpMelbourne Bounce lead in the MIDI generator — a dedicated dark, genre-accurate bounce riff alongside the EDM Drop Lead: strict minor / Phrygian palette, fat low register, a triplet OR a straight feel, off-beat stabs that leave the kick room, and it breathes — short stabs with real rests, stated then answered, instead of a wall of notes.
  • ImpThe melody generator now writes to real hit-song craft — sung melodies resolve to the tonic, place a single climax about two-thirds through on a strong beat, and stay mostly stepwise and in a singable range; the instrumental modes keep their wide, leapy character.
  • ImpA triplet snap grid now generates triplet notes — set the grid to 1/8T or 1/16T and Generate lays the lead down as a triplet gallop.
  • ImpMIDI Tools on the clip — right-click a MIDI clip for Quantize, Swing, Transpose, Velocity, Legato, Reverse and Pitch-Correct-to-Key, across your selection in one undoable step.
  • ImpKeyboard shortcuts now work from the popped-out mixer and every dialog, not just the main window.
  • FixFixed: plug-in settings now survive save then reopen far more reliably. Heavy sandboxed synths whose state read was slow no longer come back at default, and the fallback the project relies on while playing is kept current on every save.
  • FixFixed: "Sidechain to track" no longer hijacks one of your existing plug-ins (for example a limiter that exposes a sidechain input) — it reuses an existing Anthem ducker or adds a fresh one, so your own plug-ins are never touched.
  • FixFixed: the generator's GENERATE button rolls a fresh idea on every click, and the snap grid value now sticks across sessions.

0.9.10

2026-06-14— Stability & instrument fixes
  • FixFixed: sandboxed instruments with an audio input bus could play silently. Kick 2/3, HALion and similar synths that declare an input now receive their MIDI and their sound comes through the channel, mixer and speakers.
  • FixFixed: multi-output drum machines crashed on play. Roland TR-909, Sonic Academy Kick 2/3 and Groove Agent SE now keep their full output layout instead of being forced to stereo, so they play correctly instead of crashing.
  • NewThe first note's attack is preserved on Play when a note sits exactly on the playhead — no more swallowed transient at the very start.
  • FixOpening a plugin window no longer drops that plugin's audio. Only the few plugins that genuinely need it are briefly paused while the window opens.
  • FixMore accurate CPU metering for sandboxed plugins. The cross-process audio round-trip was cut from roughly 2 ms to about 0.15 ms per block, so nearly-free plugins no longer read as a misleadingly high load.
  • FixPiano roll: moving notes snaps to the grid and pressing D drops the duplicate on the grid. Long notes keep their length when moved, and dragging a part over a note no longer shortens it.
  • NewBrowser: double-clicking an instrument loads it onto the selected channel instead of always creating a new track.
  • FixFixed: dragging a MIDI pattern out of a plugin no longer fails when the notes sit at the very start of the pattern.

0.9.9

2026-06-13— Plugin loading stability
  • FixFixed: content-streaming instruments crashed red the instant they loaded. Groove Agent SE, HALion Sonic and similar instruments stream their kit/content on background threads for a second or two after they are created; audio sent during that window crashed deep inside the plugin and the slot went red. The protected host now rides out that load window — the instrument loads green and opens its full editor normally. (The "double-click an instrument in the browser and it dies" bug.)
  • FixFixed: some VST3 effects crashed on load (red slot). Channel strips and other effects that accept MIDI were misclassified as instruments and had their audio input disabled, crashing them instantly. The input bus is now enabled for every plugin that declares one, like other hosts.
  • FixMuch faster, never-freezing plugin window open. The editor is adopted into the DAW the instant the plugin is ready (heavy GL/Kontakt GUIs included) instead of timing out, and all the blocking window work moved off the UI thread — what could take 20 s and freeze the app now takes only as long as the plugin needs.
  • FixAdding a plugin no longer freezes the DAW. The whole load runs in the background; the track plays dry until the plugin is ready. Big samplers (Kontakt, Battery, Eventide) no longer show "not responding", and saving while a plugin is still loading is instant.
  • ImpReplacing an instrument mid-load is instant and safe, and plugin editor windows now open centred on the DAW with a "Loading plugin…" view instead of a blank grey box.
  • ImpMixer: right-click ▸ Delete removes every selected track, not just the one you clicked — in a single undo step.

0.9.8

2026-06-12— Browser & Picker polish
  • NewNew: plugin format badges. Every scanned plugin now shows a small colour-coded format tag — VST3, CLAP, AU or VST — in the browser's plugin list and in both insert-slot pickers (mixer and channel inspector). When the same plugin is installed in two formats (e.g. OTT as VST3 and CLAP), the two rows are finally tellable apart at a glance.
  • ImpImproved: bigger browser search field. The search box at the top of the browser (shared by the All, Sounds, MIDI and Plugins tabs) is taller with larger text — much easier to read what you're typing.
  • FixFixed: the channel inspector's insert picker now matches the mixer's. Same larger size and readable rows, and it honours the shared "Group plugins by type" setting like the browser and mixer picker. It used to be a separate, smaller picker that ignored grouping.

0.9.7

2026-06-12— Multi-Device & Routing update
  • NewNew: Routing Matrix (Mix ▸ Routing Matrix) — a full patchbay: name your hardware ports, pick any input pair as a track's source, send any track or bus to extra outputs as a post-fader Direct Out, and choose the master pair. Saved per project; non-routed projects behave exactly as before, down to the last bit.
  • PerfNew: Hardware Insert with one-click latency calibration — patch external analog gear into any insert slot, fully latency-compensated, with Send Trim, Return Gain, wet/dry mix, phase invert and manual offset. CALIBRATE sweeps the loop and dials in perfect sample alignment, remembered per interface and patch.
  • FixNew: multi-device INPUT aggregation — capture inputs from a second audio interface alongside your main one, drift-locked to your main clock. Opt-in.
  • FixNew: multi-device OUTPUT aggregation — drive a second interface's outputs too, routing any track or bus to them for independent cue/monitor/outboard feeds while your master stays on the main interface. Drift-locked, opt-in.
  • NewNew: full multi-channel I/O — all of your interface's inputs and outputs are visible now instead of capped at 2-in/2-out; record or monitor any input pair. Existing stereo setups behave exactly as before.
  • NewNew: Session View (View ▸ Session View) — an Ableton-style clip-launcher grid for jamming arrangements with quantized scene/clip launch. Saved per project.
  • NewNew: Comping — swipe across take lanes to build the perfect composite take; Flatten Comp renders it to one clean clip. Undoable.
  • NewNew: Reference-matched mastering (Mix ▸ Reference Match) — match a reference's tone and loudness with a corrective curve and platform targets.
  • NewNew: per-note MPE / expression editor with a pitch-glide tool — draw per-note Pitch Bend, Timbre and Pressure and shape continuous pitch glides.
  • NewNew: Audio Retrospective Record — every armed audio track keeps the last 30 seconds; Recover Last Take drops in the take you forgot to record.
  • NewNew: Visual undo history (View ▸ History) — jump to any past edit; drives the same undo as Ctrl+Z.
  • NewNew: Export Project Package — bundle a project plus all its audio into one self-contained zip to share; originals untouched.
  • NewNew: group plugins by type in the browser AND the insert menu, one shared setting; bigger insert-slot plugin picker; redesigned, theme-matched Audio Settings with both multi-device toggles visible at once.
  • FixImproved: the built-in reverb is rebuilt — a modern 12-line modulated FDN with real Room/Hall/Plate/Chamber/Ambience/Shimmer topologies, frequency- dependent decay, freeze, and correctly mapped algorithms on the simple insert.
  • ImpImproved: every console drive is genuinely audible now — re-measured and re-tuned at constant loudness, with a real program-dependent bus GLUE compressor.
  • NewImproved: new projects follow host tempo by default, so dropped loops snap to the project tempo out of the box.
  • FixImproved: EQ8 is smooth while you drag a band (no zipper); manual scroll sticks during playback with follow-playhead on; global shortcuts work while a plugin window is focused; pitching/tempo-locking a clip no longer freezes the UI.
  • FixFixed: dropped loops sound exactly like the browser preview (Re-Pitch import default); browsing no longer freezes the UI; deleting a track during playback is gapless with no dropout, glitch or noise.
  • FixFixed: the CLIP LED settles to idle in silence instead of pulsing forever; changing project tempo retunes clips live and stretched clips draw their full waveform at any tempo.
  • FixFixed: Sidechain Duck reaches true silence at full depth with an accurate curve and timing; no more phantom bus meters or stuck reverb tails; send-bus Reverb/Delay are tuned at the real sample rate now.
  • FixFixed: cross-lane clip drags land on the right track at any lane height; Duplicate Track always duplicates the selected track; selection survives every edit; sidechain/send/track-picker menus follow the mixer's order and numbers.
  • FixFixed: sandboxed plugin menus stay open and VST3 editors show on first open; the Play button starts reliably on the first press; piano-roll mute marks and per-note expression follow their notes through every edit; Region Loop, audio Region Transpose, and Quantize/Q-Swing/Transpose/Velocity match playback and export; closing a project no longer hangs on a slow or missing file.

0.9.6

2026-06-11— Flow update
  • PerfBuilt-in saturator in every channel's CLIP stage (right-click the CLIP row): a pre-clip tanh warmth stage, StandardCLIP-style, zero latency — feeds the clipper harmonically dense material instead of bare peaks.
  • ImpThe CLIP LED is now a real level read: green = the signal is not reaching the clipper, yellow (breathing) = the sweet spot, red (flashing) = over-driving. The drive fill and dB readout follow the same colours.
  • ImpProfessional warp editing: drag warp markers and both the audio and the waveform stretch segment by segment, live during playback. Grid snap is a magnet instead of a hard quantize (Shift = fully free).
  • ImpBrowser favorites for sounds and folders (★ section, right-click), and track-picker menus now show the mixer's track numbers.
  • ImpDeleting a track during playback is now completely gapless — no pause, no dip, no click; the music just keeps playing.
  • ImpDropped loops sound exactly like the browser preview. Import now uses Re-Pitch — the same algorithm as the synced preview; HQ stretch stays available per clip via Stretch Mode.
  • ImpBrowser preview stays on beat with the project, always — it self-corrects against the playhead and follows live tempo changes.
  • ImpChanging the project tempo retunes all clips live, including during BPM drags, and waveforms redraw correctly at any tempo.
  • ImpTempo-named loops (like name_138.wav) stretch correctly and keep correct pitch on any audio device sample rate.
  • ImpPRE-FX DRIVE is finally audible, and the mixer and inspector edit the same value with live two-way sync.
  • FixCtrl+Z inside the audio editor no longer closes the panel — undo keeps your workspace and re-binds the restored clip.
  • FixAudio clips can no longer be dragged out longer than the audio inside them, and cross-lane clip drags always land on the right track.
  • ImpThe inspector shows your SENDS again (routing lives in the mixer only).
  • FixSettings no longer randomly revert, crash reports are never re-asked, and switching projects is crash-free.
  • ImpGlue/merge renders the full selection correctly, and G glues the selected clips.

0.9.5

2026-06-11— Melodyne memory, automation lanes under tracks, piano-roll power pack
  • ImpMelodyne now remembers your edits. The ARA document is archived into the project file and restored on load — edits survive saving, closing and reopening the project, and mid-session rebuilds via automatic carry-over.
  • FixFixed three stacked issues that could block Ctrl+M Melodyne entirely: a stale plugin-scan cache (now self-heals), a crash-grade pointer bug, and the sandbox wrongly vetoing in-process ARA sessions.
  • ImpARA panel polish: readable typography, the editor gets the whole panel once loaded, working Maximize, and a pop-out button — run Melodyne in its own floating window on any screen.
  • ImpTrack & clip right-click menus with icon rows (Cubase-style): a tool row (Select / Draw / Split / Glue / Erase) plus Mute, Solo, Duplicate, Colour, Rename, Automation, Setup and Delete.
  • PerfMaster limiter quick switch: LIMITER chip on the Stereo Out strip with live gain reduction, plus a MASTER FX chip that bypasses the whole master insert chain for instant A/B — realtime-safe, saved with the project.
  • ImpAudio editor tool row: Reverse, Normalize, Quantize Audio (transient-snap to the grid), Snap-to-transients, GAIN slider and a PITCH slider (±24 semitones, length preserved, saved per clip).
  • ImpFloating mixer window: pop the mixer out to a second screen, position remembered, dock back any time.
  • ImpAutomation lanes under tracks (Cubase-style): every visible lane is its own row under the clip area — several at once — with per-lane mini-headers: parameter dropdown, add, hide, clear (undoable) and drag to reorder. Lanes carry the track colour and clicking a lane selects its track.
  • ImpArmed Automate: toggle the Automate button in any plugin window and every control you touch instantly gets its automation lane under the track.
  • ImpPiano roll ARP: arpeggiate selected chords — Up / Down / UpDown / Random at 1/8, 1/16 or 1/32, each chord arpeggiating over its own span so runs follow the progression exactly.
  • ImpPiano roll VOICE: one-click re-voicing per chord — Spread, Drop-2, Inv+ and Inv−.
  • ImpPiano roll VEL shapers: Ramp up / Ramp down across the selection, Accent 1+3, Accent 2+4.
  • ImpPiano roll Echo: duplicates the selection forward twice with decaying velocity, MIDI-delay style.
  • ImpHumanize with strength: click for the classic 30 percent, or drag the chip horizontally to dial 0–100 timing and velocity looseness.
  • NewNew RHYTHM patterns: Build (accelerating 1/4 → 1/8 → 1/16 with a crescendo), 1/1, Roll, 1/2, 332 tresillo and Swing 8 — and hovering any RHYTHM chip previews exactly what it will produce as a ghost in the grid.
  • PerfNew ADD section: scale-aware harmony stacking per chord — Sub (octave below the root, legato to the next chord), Oct, 3rd, 5th, 7th and 9th.
  • FixRHYTHM chips emit perfectly uniform note lengths, no longer drift on repeated clicks, and chord progressions survive pattern spamming (gap lookup anchors to the nearest chord).
  • ImpStrum follows the chord progression: each chord strums from its own position, notes end together, the spread auto-caps to the chord and duplicate pitches collapse.
  • ImpAutomation point dragging is stable across lanes and the clip area — no more jumps or vanishing nodes mid-drag.
  • FixFixed garbled text ("Note A·", "–") in the piano-roll selection header, the chord-progression menu and the stem-export status.
  • FixInspector: the Capture MIDI pill no longer overlaps the track title on a narrow inspector; stray accent lines removed from the I/O rows.
  • NewGrid appearance and Piano roll appearance dialogs now use the Anthem window chrome and theme, and lane separator strength is adjustable via the new "Lane lines" slider (0 = off).

0.9.4

2026-06-10— CLIP row, paint-drag M/S, MixTool, EQ8 polish
  • PerfCLIP got its own row. The clip stage now lives UNDER the GLUE row in every channel's console card (the header badge collided with track names): green LED = armed, red LED = actively shaving, drag sideways = drive (0..+12 dB with a fill indicator), click = on/off, right-click = ceiling and edge (Hard/Smooth/Round). Console cards grew so INPUT/DRIVE/GLUE/CLIP sit as four clean rows.
  • ImpPaint-drag mute/solo in the mixer. Press M or S and sweep across strips — every channel you cross takes the same state, exactly like the arrangement track headers (start on an active one to un-mute/un-solo a whole row). One undo per sweep.
  • FixMixTool — new built-in utility: gain trim, equal-power pan, width, phase invert L/R (click-free), channel swap, mono, DC filter, output peak readout. (Also fixed: picking it in the mixer's plugin menu did nothing.)
  • FixDrum Slam fixed (whole Modern Hit suite). The saturation stages are now level-referenced: 0 dBFS drums keep the same character as -12 dB material instead of frying into square waves.
  • FixEQ8: the response curve now follows band drags and knob edits instantly (it used to freeze whenever the transport was stopped), and the readouts are clean — "2.5 kHz", "80 Hz", "+12.4 dB", Q "0.71".
  • ImpSidechain Duck DRAW mode: point dragging works at every AMOUNT setting (hit-testing was offset below 100%), and right-click deletes a point.
  • ImpMixer console-card rows are taller, bottom-aligned and use the Inter face.
  • FixOne-shots are not loops. Audio clips can no longer be dragged longer than their source material (extending a one-shot used to repeat it).
  • ImpShift = precision drag. Hold Shift while moving or resizing clips to bypass grid snapping entirely (Ctrl/Cmd still works too).
  • ImpPro scissor. The cut tool now cuts exactly where you click — no grid snap — and audio cuts auto-refine to the nearest waveform zero crossing (±10 ms) so a split can never click or pop. The scissor cursor was also mirrored so the blades point at the actual cut point.
  • ImpOne-click sends. Left-click an empty send slot to open the destination picker directly (was right-click → menu → Send Routing).
  • FixDrum Slam / Punch Lab scream fixed for real: the punch stage injected a square wave riding the input's sign during the whole attack — replaced with a clean transient-following gain lift.

0.9.3

2026-06-10— CLIP on every channel + bigger track buttons
  • PerfCLIP — clip-to-zero, built in. Every channel, bus and the master now has a CLIP badge in its mixer header: one click engages a pro serial clipper as the last stage of that channel (post-inserts, pre-fader). Right-click sets Drive (+0..+12 dB push), Ceiling (0..-6 dBFS) and Edge (Hard / Smooth / Round). The badge turns amber with a live dB readout while it shaves peaks. ADAA anti-aliasing means no oversampling cost and zero latency — run it on everything and ride the whole mix into -6 LUFS the modern way. Engaging it does nothing until the channel actually pushes past the ceiling, and bounces/stems match the live sound exactly.
  • ImpLogic-sized Mute/Solo/Record/Monitor buttons. Same design, much bigger hit areas in the arrangement track headers, the mixer strips and the inspector — they're clicked constantly and were too small to hit.

0.9.2

2026-06-10— Drawable duck curves, reverb engine rebuild, shortcuts everywhere
  • NewDraw your own duck curve. The Sidechain Duck has a new DRAW mode (LFOTool-style): drag breakpoints, double-click to add or remove them, drag a segment to bend it. The drawn curve loops beat-synced (1/2, 1, 2 or 4 beats) and needs no sidechain input at all. TRIG mode (classic sidechain-triggered) is still the default.
  • ImpAmount 100% now means 100%. The trigger detector is binary (gate at -30 dBFS): every hit drives the duck to FULL depth no matter how loud the kick is, and the old -34 dB gain floor is gone — full Amount takes the channel to silence. The preview curve uses the exact same math as the audio path, so what you see is what you hear.
  • FixReverb engine rebuilt from scratch. The metallic / "chemical" tone is gone: the old core's diffuser algebra was mathematically broken (a resonant comb instead of an allpass) and its modulation stepped in whole samples (zipper grit). The new core is a classic figure-of-eight tank — input diffusion chain, smoothly modulated allpasses with fractional interpolation, in-loop HF damping and DC blocking, decorrelated output taps — plus per-algorithm early-reflection patterns so Room/Plate/Hall/Cathedral really sound like different spaces. All 20 modes, every knob and preset unchanged.
  • ImpShortcuts work with plugin windows focused. X, I, P, B and every other global key now reach the DAW even when a plugin editor is the foreground window (only an actual text field swallows keys).
  • ImpReadable plugin text. All plugin UI font tokens bumped (~+1.5 px) — the band-strip labels, display readouts and chip text were down at 7-8 px.
  • ImpMixer dB readout uses the crisp transport font and sits closer to its fader; the double-click dB entry box matches.
  • FixCycle no longer eats the first attack. The loop wrap used to render the block straight past the loop end and then jump the playhead to "loop start + what we overshot" — so up to one audio buffer (~10 ms) of every cycle start was never rendered, and a note sitting exactly on the loop start never triggered. The audio callback is now split sample-accurately at the loop boundary: the cycle restarts at EXACTLY the loop start, every attack intact, and nothing past the loop end bleeds through either.
  • ImpInspector I/O is always visible. The output-routing row above READ could be clipped invisible (the section was 5 px taller than its reserved height, and on shorter windows the whole I/O block fell below the visible area). The I/O module is now pinned directly above the READ badge at every window size, in both the left inspector and the right-side send-target inspector — and the output row now shows the channel's real destination (its group bus, or Master) instead of a dimmed placeholder.

0.9.1

2026-06-10— ARA 2 hosting + engine hardening
  • FixARA 2 is live again. ARA worked before the plugin sandbox was rolled out; the sandbox rollout left the ARA build switch off, which forced Melodyne into "protected passthrough" mode. Re-enabled: ARA 2 plugins (Melodyne, VocAlign…) now bind in-process with full document integration — clips, tempo and selection flow into the plugin via the ARA panel — while everything else keeps the crash-protected sandbox. (ARA 2 is the current standard; ARA 1 is obsolete and unsupported.)
  • ImpRHYTHM tools now think in harmony. The groove chips re-read which CHORD is sounding at every hit and play that — so re-grooving works identically on held chords, melodies, or an already-chopped wall of 16ths, and you can switch between 1/4 / 1/8 / Pop / EDM as many times as you like. (Previously, clicking a pattern on short chopped notes did nothing.)
  • FixLegato fixed. It used to stretch a note all the way to the next note of the SAME pitch — straight over everything in between, creating giant overlapping sustains. It now extends each note to the next onset (note or chord start): seamless melodies, chord-safe, never overlaps.
  • ImpGenre rhythm row always visible. The EDM/Pop/Rave chips were clipped at the panel bottom on 1080p; the inspector now uses the space freed by the removed SHORTCUTS card.
  • FixEngine hardening from a full engine audit: all debug logging removed from the audio thread (a dropout source on every transport start), a NaN/Inf safety scrub on the master output (a misbehaving plugin can no longer silence or blast the output), crash-safe plugin-editor embedding (window validated before adoption), defensive shared-memory clamping in the plugin host, click-free multiband duck mode switching, smoothed crossover dragging, and a piano-roll guard against stale clips after undo/redo.

0.9.0

2026-06-10— Visual sidechain, rhythm tools, audible console
  • ImpMultiband sidechain ducking. The Sidechain Duck now has three frequency zones (LOW / MID / HIGH) on a band strip above the curve: click a zone to enable/disable it, drag vertically to set how hard that zone ducks, drag the dividers to move the crossovers (Linkwitz-Riley, flat summing). Duck only the bass lows under the kick and let the highs ring — or any combination. With all zones uniform it behaves exactly like the classic single-band duck, so existing projects are untouched.
  • NewGhost MIDI Trigger tracks. New in the arranger's add-track menu: an instrument track that turns the notes YOU DRAW into sidechain triggers — a built-in Ghost Trigger synth fires a short kick-like burst per note (velocity = trigger strength), the track never reaches the master. Draw exactly where the duck should hit, then right-click your target channel → Sidechain To... → pick the Ghost Trigger track. Tweak burst freq/decay via the track's Ghost Trigger insert.
  • Imp…with one-click section fills. Creating the trigger track asks where to put the notes: empty (draw your own), or auto-fill 1/4, 1/8 or 1/16 triggers across the WHOLE SONG or any ARRANGER SECTION by name — "fill the Drop with 1/8 pumps" is two clicks.
  • ImpPiano roll opens ON your notes. Zoom is remembered, but the view now always centres on where the clip's notes actually are (C3–C4 if empty) — no more opening at the top octave with the music far below.
  • FixRHYTHM patterns fixed + safe. "Off 8" could DELETE short notes (the hit landed past the note's end after the original was removed) and EDM/Pop skipped most of their hits due to a unit mix-up. Patterns are now anchored to the beat grid, placed correctly, and a note that no hit reaches keeps its original — a groove tool never destroys your notes.
  • ImpPiano roll panel readability. The SHORTCUTS card is gone (bindings live in Settings ▸ Keyboard Shortcuts) and the small panel text — rhythm chips, value rows, chord/style chips — got a proper readable size.
  • FixSerum 2 (and friends) actually fixed. The 0.8.x synth-mute fix classified "instrument" by MIDI flags — but Serum 2 also SENDS MIDI (its arp/sequencer), so it was still treated as an effect and stayed muted; meanwhile Auto-Tune (which ACCEPTS MIDI) was wrongly treated as an instrument and lost its anti-residual protection. Instruments are now classified by audio flow (no audio inputs = instrument), verified against the plugin host's own logs. Fixes silent sandboxed synths AND restores the Auto-Tune residual guard.
  • ImpSidechain Duck went visual (LFOTool/Kickstart-style). The editor now shows the duck curve on a one-bar beat grid — computed through the exact same envelope math the DSP runs, so what you see is what it does — with a beat-synced playhead, a live gain-reduction dot riding the curve, a live GR readout, a sidechain-input meter + trigger LED, and the factory presets (EDM Kick Pump, Ghost Pump…) finally exposed in a preset picker.
  • Imp"SC" badge on mixer strips. Channels being ducked now show a small SC chip in their header — there was previously no visible sign a sidechain was active. Click it to bypass/enable the duck, right-click for source/level/pre-post.
  • NewRHYTHM tools in the piano roll. New chip grid under TRANSFORM: re-cut the selected notes into straight 1/4 / 1/8 / 1/16, offbeat 8ths/16ths, triplets, or genre grooves — EDM pump, Pop syncopation, Rave gate. One click per groove, fully undoable.
  • PerfThe console finally sounds like a console. Every Channel Console and Bus/Master Summing control was tuned so cautiously it was inaudible on normally-levelled material (the saturation was gain-neutral below the knee, the glue threshold sat above real program peaks). DRIVE/SUM DRIVE now add audible density and harmonics at working levels (peak-referenced shaping, full-scale stays safe), GLUE is a real program-dependent glue that breathes with the music (up to ~2.5 dB), and LOW WEIGHT / AIR SMOOTH have clearly audible ranges. Zero-setting projects are unchanged. Listen and judge — tuned by reasoning, your ears have the final word.

0.8.9

2026-06-10— Multi-out synths (Serum 2) + piano-roll zoom memory
  • FixOversampling labels fixed. The built-in Saturator, Clipper and Limiter showed garbage characters in their oversampling menus ("OS 2Å…" instead of "OS 2x") — a text-encoding issue with the multiplication sign. Plain "x" now.
  • FixClosed plugin editors no longer haunt your desktop. Closing a sandboxed plugin's window (the X) only closed Anthem's own frame — the plugin's actual editor (which lives in the protected host process) was released as a visible free-floating window hovering OVER other applications. Closing the window now hides and destroys the protected editor too.
  • ImpMulti-out synths sound on the channel. Replacing a track's instrument with a multi-output synth (Serum 2 ships 16 extra stereo outs enabled) produced silence on the channel even though the plugin's own UI showed activity: the protected host processed it through a 2-channel buffer, so the synth rendered to buses that were never read back. The host now slims the plugin to its main stereo bus when possible, and otherwise processes the full bus layout and reads the main output back. Affects every multi-bus plugin, not just Serum.
  • NewPiano roll remembers your view. It opens zoomed-in framed on the clip's notes the FIRST time, and from then on reopens exactly the way you last left it (zoom + scroll), instead of re-framing on every open.

0.8.8

2026-06-10— Background dropouts + real piano keys
  • NewNo more glitches when you tab out. Windows 11 puts background apps in "efficiency mode" (slower clocks, coarser timers) the moment they lose focus — audible as dropouts, especially on built-in soundcards. Anthem AND its plugin sandbox processes now opt out, so audio keeps running at full quality while you work in another window. (Tip: an ASIO driver or WASAPI-exclusive mode on the built-in card makes playback even more robust.)
  • ImpThe piano-roll keyboard looks like a real piano. White keys are actually white (soft ivory gradient), black keys are short glossy caps over them, octave labels in dark text — instead of the old flat grey rows.
  • ImpNo more purple octave rows in the note grid. The C-row highlight is now a neutral brighter lane + stronger divider. The whole grid is also a touch brighter by default ("everything was too muted") — and still fully tunable in View ▸ Piano roll appearance…

0.8.7

2026-06-10— VST3 instruments fixed + track merge (bug batch 4)
  • NewThird-party VST3 synths play again. The Auto-Tune residual-suppression added to sandboxed plugins ("silent input ⇒ zero the output after a transport reset") also fired for INSTRUMENTS — whose audio input is silent by design. From the first Play onward, every sandboxed synth's generated audio was zeroed forever: timeline MIDI clips never sounded, and the plugin's own on-screen keyboard went silent after the first transport start. Instruments are now exempt; the suppression still protects effects like Auto-Tune exactly as before.
  • ImpMIDI tracks and Instrument tracks are merged. They were already identical in the engine, but the UI kept two types — and some flows (the plugin manager's "load to track" picker) only accepted one of them. Every creation path (menus, MIDI-file drop) now yields a single "Instrument (MIDI) Track"; legacy projects with MIDI tracks migrate automatically on load.
  • FixPlayback no longer starts late. The play-start silence gate added the full plugin-chain latency (uncapped) to its mute window, and the gate only releases early when an AUDIO clip sounds — a project whose first sound is a synth got up to ~1 s of muted master at every Play ("audio starts half a bar late"). The gate is now the ~2 blocks its design comment always promised.
  • PerfBrowser preview lands on the beat you hear. Synced previews (loop phase-lock and one-shot beat-quantize) aligned to the engine playhead, which runs ahead of the speakers by the plugin-delay-compensation amount — so previews sat early on any latency-heavy session. They now align to the HEARD beat.
  • NewDisabled plugins keep their settings. A plugin's state snapshot was only taken at project load, so one added or tweaked during the session that crashed or was disabled saved an empty state (settings reset on reload). The state is now also captured at the moment a slot is disabled.
  • ImpPiano roll appearance settings (View ▸ Piano roll appearance…). Tune the grid-line brightness, colour/hue, which lines draw, and the key-lane shading contrast — saved per user, live preview, same pattern as the arrangement's grid appearance.

0.8.6

2026-06-10— Piano roll + browser + drag fixes (bug batch 2/3)
  • ImpPiano roll opens zoomed in on the clip's notes. It used to restore a saved view that, once you'd zoomed out, reopened fully zoomed-out and unusable. It now frames the clip's note pitch range (zoomed in) every time it opens; an empty clip defaults to the C3–C4 octave.
  • ImpMIDI clips grow to fit notes drawn past their end. Drawing a note beyond a clip's length used to leave it outside the clip (the arranger hid notes past the clip end). The clip now extends to contain its notes.
  • FixBrowser audio/MIDI clips drop on the track you aim at. After reordering tracks, dropping a clip from the browser landed on the wrong ("random") track because the on-screen row was used as an array index. Drop now resolves the actual lane under the cursor. The same fix makes dragging clips between reordered tracks land correctly, and dropping a synth onto a reordered instrument track.
  • FixAppleDouble "._" files no longer clutter the browser. Mac sidecar files ("._name.wav") matched the audio extensions and listed but couldn't preview (they're tiny metadata files, not audio). They're now skipped.

0.8.5

2026-06-10— Mixer / routing fixes (bug batch 1)
  • NewInspector now follows a newly-created track. Adding (or duplicating) a track selected it in the arrangement but the Inspector kept showing the previous track until you clicked the new one again. The selection callback now fires on create/duplicate, so the Inspector updates immediately.
  • ImpMixer shows the same number of insert slots as the Inspector. A channel with one plugin showed 3 insert slots in the mixer but 4 in the Inspector — the mixer floored at 3, the Inspector at 4. Both now floor at 4 (they already auto-grow identically beyond that), so the columns match.
  • ImpPRE-FX DRIVE is now audible. On the default "Clean" console model the DRIVE knob was scaled so low that even 100% barely changed the sound. The Clean drive curve is stronger now (still the cleanest model). At 0% drive the sound is unchanged, so existing projects with drive off are unaffected.
  • PerfDELAY / REVERB send buses are forced 100% wet. They're parallel aux buses, so any dry signal phases against the source. The built-in Reverb/Delay on those buses (and the internal fallback FX) are now pinned to 100% mix regardless of how the bus was created.
  • FixNew projects start with an empty Stereo Out. Plugins you put on the master / Stereo Out channel used to leak into the next new project. New Project now clears the master insert chain (and closes any open editor windows) like project-load already did.

0.8.4

2026-06-09— Customisable arrangement grid
  • FixGrid appearance settings (View ▸ Grid appearance…). The arrangement grid lines were fixed bright white, which some users found distracting. You can now set the grid brightness, colour/hue (full colour picker) and which lines show (bars + beats + sub / bars + beats / bars only / off). The setting is saved per user (applies to every project) and the default is dimmer than before. Live preview while you adjust it.

0.8.3

2026-06-09— Plugin editor open paths + "V" toggle
  • ImpOpening a plugin from the Inspector now works for sandboxed plugins. Adding a plugin from the Inspector's AUDIO FX list used a different code path than the mixer, which couldn't build the embedded editor for an out-of-process plugin (Neutron/Ozone) — it showed "could not be embedded". The Inspector now uses the same proven path as the mixer.
  • Fix"V" (Hide/Show plugin windows) no longer glitches. A single press could reach the toggle through two key routes and fire twice, so windows randomly hid/showed or did nothing. The toggle now de-bounces a double press into one.

0.8.2

2026-06-09— Plugin editors, start-screen logo, UI polish
  • ImpBuilds on 0.8.1's plugin-hosting overhaul.
  • ImpPlugin editors embed reliably. The window that hosts a third-party editor only waited ~5 s for the (out-of-process) editor to build before giving up with "could not be embedded" — too short for heavy UIs (Ozone/Neutron), which also sometimes left a stray floating editor window. The wait now matches the editor build budget (~15 s), so heavy editors land in their proper docked window.
  • ImpStart-screen logo restored. The launcher/splash logo was loaded from a dev source path that doesn't exist in an installed build, so it was blank for users. It's now bundled into the app and always shows.
  • ImpInspector shows the red failed/Relaunch state for a crashed plugin slot, matching the mixer (they were inconsistent before).

0.8.1

2026-06-08— Third-party plugin hosting overhaul
  • ImpThird-party (out-of-process / "protected host") plugins like iZotope Ozone & Neutron, NEOLD, PSP and others now load and behave correctly. The recent breakage was a set of too-short internal timeouts that killed heavy plugins mid-load.
  • FixHeavy plugins load reliably — the protected-host Prepare wait was only 1.2 s, far too short for plugins that load ML models / large state on startup (Ozone, Neutron); it gave up and showed a red Relaunch even though the plugin had loaded. Raised to 30 s, plus a 15 s load-time "warm-up" grace so the real-time watchdog no longer disables a healthy-but-heavy plugin while it spins up.
  • ImpPlugin settings persist across restarts — a sandboxed plugin's saved state was being applied before its process existed and was silently dropped, so Neutron/Ozone always came back at defaults. State is now buffered and applied the moment the plugin is ready.
  • PerfFaster project open — a project's sandboxed plugins now launch in parallel instead of one-at-a-time, cutting multi-second load freezes.
  • ImpPlugin editors open reliably — the editor-create timeout (1.5 s) was too short for big plugin UIs; raised to 10 s so heavy editors finish building instead of falling back to "could not be embedded".
  • FixStale plugin identifiers recovered — a plugin saved with an incomplete identifier (seen with Ozone 12) now matches by name/sole-type instead of failing to instantiate.
  • ImpTransport forwarded to sandboxed plugins — tempo-synced effects (synced delays, LFO/step sync, arps) and "play a loud section" analysis assistants (Neutron/Ozone) now receive the host playhead and work correctly.
  • ImpKnown / next: loading a single very heavy plugin can still briefly pause the UI (fully-async load is in progress); some plugin editors still open as their own floating window; the start-screen logo asset is being re-bundled.

0.7.40

2026-06-08— Audit fixes (atomics, serialization, UAF, DSP, sandbox) + Ctrl+G/UI
  • FixCtrl+G grouping fixed (root cause). The selection was resolved by array index while the values were display-row indices — after the first grouping/reorder it grouped the wrong tracks (a stray bus between rows). Now resolved by lane identity; folder + members land exactly where selected.
  • ImpTrack numbers count 1,2,3… top-to-bottom in display order (skip hidden folder children), not array order.
  • ImpInspector long track names truncate with "…" instead of shrinking to an unreadable font; MIDI-capture moved into the Track header so CONSOLE lines up across track types.
  • PerfRealtime audio atomics — added explicit memory_order on playheadSample_, bpmAtomic_, playing, pendingChase_/pendingMidiPanic_, snapOutputGains (release/acq_rel) to match the codebase's release/acquire protocol.
  • ImpProject load/save hardening — reject NaN/Inf tempo/time-sig/marker beats, clamp time-sig to [1,32] (no divide-by-zero), surface save I/O failures in the log, and refuse to parse absurdly large (>512 MB) project files (OOM guard).
  • FixUse-after-free fixes — track context-menu now guards the parent TrackListView with a SafePointer; plugin preset Import file-chooser guards this.
  • FixPlugin sandbox — bounds-check the stale gesture-param index before use.
  • ImpReverb — clear all-pass + spring diffuser buffers on algorithm switch (no more click / tail bleed carrying over).
  • ImpFull audit report: docs/AUDIT-2026-06-08.md.

0.7.39

2026-06-08— Start Center recent list: bigger text, borderless, rounded cards
  • ImpReadable text. Project names, BPM/SIG/KEY, "last opened", path and note lines were all bumped up substantially (names → 21, meta → 14.5, etc.) — no more squinting at tiny labels.
  • ImpNo more boxes. Removed the violet outlined frame around every recent project.
  • NewNear-black rounded cards. Rows are now rounded cards (8px) on an almost-pure- black alternating fill (#000000 / #050505) with a small gap between them, lined up with the New Project / Open / Continue button column and trimmed on the right to clear the scrollbar gutter.
  • ImpPermanent status accent. Each row carries a status-coloured left bar (green = done, cyan = testing, violet = work-in-progress) that's always shown (brightens on hover) — no flicker as the mouse moves between rows.
  • ImpRoomier layout. More padding, a small gap under the title, and taller rows so the bigger text breathes.

0.7.38

2026-06-08— Compact-headers toggle no longer desyncs the ruler
  • ImpToggling compact track headers re-aligns instantly. The «/» toggle changes the track-header width, which shifts where the timeline grid starts. The lanes re-laid out correctly, but the bar-number ruler and the section/cycle bar are separate components with unchanged bounds, so JUCE never repainted them — they kept drawing the grid at the old header width, so the bars / cycle ruler disagreed with the clips until you played+paused or scrolled. The toggle now syncs the scroll offset and forces a ruler + section-bar repaint immediately, so everything lines up the moment you click.

0.7.37

2026-06-08— Start Center facelift + per-project notes
  • ImpRecent projects, redesigned. The Start Center project list was restyled with brand typography (Inter for names/labels, mono for the BPM/SIG/KEY meta line), a cleaner size hierarchy (bigger 16 px bold names), and the off-theme cyan meta text replaced with neutral/dim tones that fit the rest of the app.
  • ImpNo more overlap. The status pill ("Work in progress" etc.) used to collide with the X (remove) button on the right. The X now lives in its own top-right column and the pill is laid out to the left of it — they never touch.
  • ImpPer-project notes. Right-click a recent project ▸ Add note… / Edit note… to jot down whatever you want — what it is, how far you've gotten, anything to remember. The note shows on the project card in a warm italic accent, and rows with a note grow taller so the note gets its own line. Notes persist with the recent-projects list across restarts.

0.7.36

2026-06-08— Mixer/piano-roll polish + preset-list caching
  • ImpSTEREO OUT master strip lost its thick left border (the 3 px green separator + identity bar) — clean now.
  • ImpPiano roll STYLE buttons click correctly again. Raising the CHORD card for the big chord readout (0.9.18) shifted the left-panel layout 14 px but the click hit- test wasn't updated, so STYLE/PALETTE/TRANSFORM buttons mis-hit the row above. Re-aligned.
  • ImpPiano roll is brighter / more readable — white-key lanes now have a faint lift (were near-black), black-key lanes are a touch darker for contrast, and the beat/bar/snap grid lines are stronger.
  • ImpBrowser preset list is cached — it was disk-scanning on every search keystroke AND every repaint of a preset row (a regression from 0.9.25). Now it scans once on entering the PLUG tab, which removes that message-thread disk I/O (a contributor to UI/menu-hover jank). (Deeper context-menu hover smoothness is also affected by running UnrealEditor hammering the GPU/compositor — see backlog.)

0.7.35

2026-06-08— Preset system Phase 3: Browser presets + drag-to-insert
  • ImpPresets in the Browser. The PLUG tab now has a PRESETS section listing every preset you've saved (.apreset, any plugin), filtered by the search box (matches preset name or plugin name).
  • NewDrag a preset onto a channel insert to load it: the matching built-in plugin is instantiated and the saved state applied in one drop. (VST3/CLAP preset drop is a follow-up — for those, load from the plugin window's PRESET button for now.)
  • ImpBuilds on the universal .apreset store from 0.9.14, so presets saved from any plugin window's PRESET button show up here automatically.

0.7.34

2026-06-08— Browser preview: synced loops stay locked to the beat
  • FixTempo-synced loop previews no longer drift. When a loop preview restarted it jumped blindly to file position 0; with a tempo-corrected loop that accumulated a little phase error every cycle. The restart now re-phase-locks to the current host beat (using the loop length + source BPM + tempo ratio captured at load), so a synced loop preview stays locked to the project beat cycle after cycle.

0.7.33

2026-06-08— Console: unified indicator colors + consistent bus order
  • ImpOne indicator palette everywhere (mixer, inspector, console-panel legend): cyan = channel pre-FX console active, gold = summing active, dim = off. Was three different palettes (cyan/green/gold) for the same two states — the source of the "blue vs green ring" confusion.
  • ImpBus 3D-stage order now matches tracks: the bus console runs before the 3D stage (was stage→console only on buses), so a bus's 3D placement sits on the post-console signal just like on tracks. Applied to normal buses and the reverb/delay return buses. (Master keeps its dedicated safety-limiter order.)

0.7.32

2026-06-08— Console PROJECT OFF is now a real master switch
  • ImpPROJECT OFF now disables the console on EVERY channel — DSP, mixer LED, and inspector. Root cause was a line in the console panel that forced the project engine back ON on every panel refresh/slider move, so PROJECT OFF never stuck. Removed.
  • Imp3D Mix Stage now honours PROJECT OFF too (it previously kept processing pan/ width/depth regardless — processTrackStage/BusStage/MasterStage now gate on the project flag, like console & summing already did).
  • ImpMixer LED + inspector read the project flag as a hard override: when PROJECT is off, no channel shows active; per-channel enable flags are preserved as saved intent and restored when you turn PROJECT back on.

0.7.31

2026-06-08— Clip attack on play-start + duplicate snaps to grid
  • PerfClip attack/transient preserved when playback starts on the clip. The transport start ramp was a 10 ms anti-click fade that swallowed the attack of a clip beginning exactly at the playhead (e.g. a kick on beat 1). The START ramp is now ~1.5 ms (just enough to declick) while the STOP fade stays smooth. Starting before the clip already worked; now starting on it does too.
  • ImpDuplicate snaps to the grid. Duplicating a single clip now lands the copy on the next snap-grid line at/after the original's end (e.g. a short kick on a 1/4 grid duplicates to the next 1/4) instead of butting up right after it. Grid-length loops stay exactly contiguous; Alt-duplicate still places raw-after.

0.7.30

2026-06-08— Mixer console row: alignment, toggle, fonts
  • FixMIDI strips now line up with audio strips. The pre-FX console row's presence is now uniform across all track strips instead of depending on each channel's own console flag — MIDI tracks no longer fall back to the short "CONSOLE" placeholder that knocked everything out of alignment.
  • ImpProject console toggle is respected everywhere. The console row shows on all track strips only when the project-wide console is ON; when it's OFF, no channel shows it (master keeps its 3D-stage block; channels with a real EQ8 insert still show that).
  • ImpReadable labels: "SUM / CONSOLE" → "SUM CONSOLE" (it was clipped to "...CONSOL"), and the section label / model name (PRE-FX, ANTHEM, …) use a larger, crisp hinted font (they were tiny / pixelated).

0.7.29

2026-06-08— HOTFIX: Browser freeze (scan loop) + scan-button text
  • FixFixed an app freeze / spinning wheel introduced by the 0.9.16 background Browser scan. A "place" with no audio/MIDI files (e.g. the Presets folder) kept looking un-scanned on every rebuild, so it re-launched the background scan in a tight self-feeding loop — pegging the UI. A place is now marked scanned even when it finds zero files, so it scans once and stops. (Verified: idle CPU flat, app responsive.)
  • ImpReplaced the Unicode ellipsis in the scan button/status and preset menu with plain "..." (the "…" rendered as garbled "å¦" characters).

0.7.28

2026-06-08— Piano roll: chord readout + inspector glitch
  • FixFixed the broken "â" glyph in the note inspector's Pitch/Start/Length rows when nothing is selected (it was a mis-rendered em-dash placeholder) — those values are now simply blank when there's no selection.
  • ImpBig chord readout: the CHORD card now shows the detected chord in large, accent-coloured text so you can read which chord the selected notes form at a glance (was tiny text). Falls back to a quiet "No chord" when none.

0.7.27

2026-06-08— Browser preview volume + search-on-launch
  • ImpPreview volume slider moved to its own full-width row under the transport — it was a cramped 44 px sliver, now it's a wide, actually-usable slider.
  • FixSearch no longer persists across restarts. A stale per-tab filter on launch could hide the whole library; searches now start empty each launch but still persist per-tab while the app is open.

0.7.26

2026-06-08— Browser tabs never freeze on first open
  • FixFixed the 1–2 s freeze the first time you open a Browser tab (e.g. MIDI) on a large sample library. The first browse used to walk the whole folder tree (50k+ files) synchronously on the UI thread. It now scans on a background thread and shows a “Scanning library…” placeholder, so the tab click is instant and the list fills in a moment later. The “Rescan all folders” button is non-blocking the same way. (Categorisation still happens on the UI thread but it's an in-memory pass.)

0.7.25

2026-06-08— Browser: MIDI scrub + cleaner buttons/search
  • ImpScrub MIDI previews like audio: click or drag on the piano-roll preview to seek the .mid playback (sends all-notes-off + jumps, no stuck notes), matching the audio-clip preview scrub.
  • Fix"Rescan all folders" button no longer has the ugly gray/white outline — it's a clean rounded filled pill now (matches the Scan-for-plugins button).
  • ImpBrowser search box: removed the green focus border entirely and vertically centred the text (was stuck at the top).
  • Imp"FILES" tab is now "MIDI" — it used to show all non-audio files; it's now a real MIDI-only tab (.mid/.midi) with a MIDI icon. The ALL tab still shows everything.

0.7.24

2026-06-08— Presets for every plugin (foundation)
  • NewNew universal preset system that works for ALL plugin types — built-in Anthem, in-process VST3/CLAP, and sandboxed plugins — because it stores the plugin's full binary state, not just an APVTS tree. Files live in Documents/Anthem Studio/Presets/<plugin>/<name>.apreset (self-describing XML with metadata + state, ready for the upcoming Browser “Presets” tab).
  • NewPRESET button on every plugin window. The plugin-window chrome now has a PRESET button (next to Automate/Copy/Paste) with: Save as new preset, Overwrite, a Load list of your saved presets, Import / Export, Delete, and Reveal presets folder. This gives third-party VST3/CLAP and sandboxed plugins user presets for the first time.
  • Imp(Next: a Browser “Presets” tab with categories + drag-and-drop onto inserts.)

0.7.23

2026-06-08— Browser: plugin-scan + search polish
  • ImpPlugin scan UI: the PLUG tab now shows a slim accent progress bar that fills while scanning, the button reads “Scanning…” with live status (count + current plugin), and settles to “N plugins found” when done. Button relabelled “Scan for plugins” (covers VST3 + CLAP).
  • NewSearch box: added a magnifier glyph on the left and a clear (✕) button on the right that appears only when there's text (click to reset + refocus). Works on every Browser tab; placeholder is already contextual (“Search plugins…” on the PLUG tab).

0.7.22

2026-06-08— Snappy menus + correct key spelling
  • NewTop-bar menus open instantly. The File / Project menus did a modification-time stat() on every autosave backup while building the menu — with many autosaves that was up to ~1 s of disk I/O on click. They now sort the backup list by filename (the autosave name is already a sortable timestamp), so no per-file disk access happens when a menu opens. Added build-time logging so any future menu spike is named instead of silent.
  • FixKey / Scale picker reads like real music. Verified every scale in the picker is a genuine, correctly-defined scale (Major, Natural/Harmonic Minor, Dorian, Phrygian, Pentatonic Major/Minor — all correct intervals; nothing fake). Black- key roots now show both spellings (e.g. D#/Eb, A#/Bb) so unusual keys no longer look wrong. (Pitch class is unchanged — display only.)

0.7.21

2026-06-08— Instant Play (no more delay) + full Grid divisions
  • FixFixed the 1–2 second delay before sound after pressing Play. Root cause: the in-RAM sample cache held decoded / tempo-stretched loops with weak references, so every transport STOP freed them — and the next Play had to re-decode and re-run the offline time-stretch of every followed-tempo clip on the spot. Anthem now keeps a warm pool of the buffers the current session uses, so they survive stop→play and every Play after the first load is an instant warm cache hit. (Memory stays bounded to the live set and is released on close.)
  • FixThe warm pool also removes a subtle hazard where the last reference to a buffer could be released on the audio thread; it can no longer be the last reference.
  • PerfAdded play-start timing instrumentation: if a reader build ever spikes (cold cache, e.g. right after a tempo change) it's logged with the duration and buffer count instead of failing silently.
  • ImpThe Grid dropdown now offers 1/4 down to 1/64, each in straight, dotted (.) and triplet (T) form (15 values), grouped into Straight / Dotted / Triplet sections. The arrangement grid lines and snapping follow the selected division exactly, and the toolbar grid selector stays in sync.
  • ImpRemoved the gray outline boxes around the main menu titles (File … Help) and the arranger combo boxes (Arranger, genre, form, length, mode, energy) — flat text/fills now, no border clutter (hover/open still highlights). Other controls keep their borders; this is a per-component opt-out, not a global change.

0.7.20

2026-06-08— Stability hardening (bug & quality sweep)
  • FixAutomation undo/redo no longer races the audio thread reading the lane vector (now lock-guarded).
  • FixTrack-header and clip right-click menus no longer hold a stale pointer if the track/clip is deleted while the menu is open (SafePointer + clip re-resolved by id).
  • ImpBackground analysis threads (waveform / transient) re-resolve their event by id instead of holding a raw pointer that could dangle.
  • ImpExport-MIDI snapshots by value; "Save as Template" now respects Cancel.
  • ImpPDC send delay-lines are pre-allocated — no live allocation race when sends change.
  • ImpgetNextAudioBlock pre-sizes its input buffer in prepare (no realloc in the callback).
  • FixThe structural-edit fence no longer frees memory under a timed-out render worker (drain is now unbounded and verified deadlock-free).
  • ImpThe playhead position now reads sample-rate atomically.
  • ImpTouch mode for plugin parameters releases on idle (it behaved like Latch before).
  • FixOpening a plugin editor no longer blocks the message thread (was up to 1.5 s).
  • FixStale child-window handle is detached before adopting a new one (no ghost window).
  • FixThe plugin-host process can no longer be orphaned if it self-crashes (terminate watchdog).
  • PerfHardened MIDI byte clamping, shared-memory name-collision retry, a timeout floor for small buffers, and a parameter rebuild when a plugin's parameter count changes.
  • ImpSandbox prepare now honours channel-layout changes instead of skipping them.
  • ImpRemaining medium/low findings (non-critical) are tracked in docs/BACKLOG.md.

0.7.19

2026-06-08— Automation that actually works: record, read & write any parameter
  • ImpA full automation pass — recording, playback and editing now work end-to-end for track controls AND plugin parameters (including sandboxed third-party plugins).
  • ImpWrite/Touch/Latch now actually record. Moving a fader, pan, send or plugin knob while the transport plays writes automation points along the playhead — previously these modes were labels only and captured nothing.
  • NewWrite records continuously; Touch records only while you hold the control; Latch starts on first touch and holds until you stop.
  • FixFixed recording wiping its own trail (the overwrite span erased the previous point each sample, leaving only a few) and wiping the whole pass on a loop wrap.
  • FixOFF truly means off — a channel set to Off ignores existing automation and the control stays manual (it no longer "flew" to the curve value).
  • FixCrash-safe: editing/clearing automation (incl. "Clear All Automation") during playback can no longer race the audio thread — all lane edits are now lock-guarded and the audio thread reads with a non-blocking try-lock (no dropouts).
  • NewDrawn/recorded automation now moves the plugin's parameter on playback — for built-in AND sandboxed third-party plugins (a new lock-free DAW→subprocess parameter-write path), so the sound follows the curve.
  • ImpThe Automate button (plugin window) opens the touched parameter's lane on the correct track, ready to draw.
  • FixThe inspector's automation-mode badge is now live + clickable (it was a dead label) — click to reach Read, right-click for Off/Read/Write/Touch/Latch. The mixer mode button cycles correctly too.
  • ImpRestyled to the theme accent (no more out-of-place purple), removed the busy grid-tick stripes, and the active (selected) track's automation stands out (dimmed lane + accent frame + label pill) so it's clear what you're editing. Curve and points are clearly grabbable.
  • FixThird-party plugin host no longer shows a second taskbar button.
  • ImpProject save/load round-trips all automation (track + clip, target + every point) and plugin state — nothing you record or draw is lost on reload.

0.7.18

2026-06-08— Bulletproof plugins: crash-proof sandbox, true bypass & inline editors
  • FixA big reliability + workflow release centred on third-party plugins. Third-party VST3/CLAP plugins now run isolated in a protected host process and can no longer take the DAW down with them — and their editors are now embedded in Anthem with full chrome, like the built-ins.
  • ImpThird-party plugins run out-of-process by default (sandbox always-on). If a plugin crashes — at any time, even mid-playback — only its subprocess dies: the insert is auto-disabled (clean dry passthrough, no audio dropout), the DAW keeps running, and a non-blocking notice tells you which plugin/track it was.
  • FixOne-click Relaunch brings a crashed plugin back with its last settings (mixer slot + inspector). Disabled-after-crash state is remembered in the project.
  • FixIn-process plugins are now crash-guarded too — a fault inside a built-in or in-process plugin's audio processing is caught and the slot disabled instead of killing the app.
  • FixProject load can't be frozen by a plugin's license/activation pop-up — a watchdog auto-dismisses foreign modals during load, with a per-plugin time budget and crash isolation; stuck plugins are skipped and reported.
  • ImpEditors open in a single Anthem-owned window with our full chrome (Load Preset / Save / Save As / Automate / Copy / Paste / Bypass), driving the SAME instance that processes audio — turning a knob now affects the sound (previously a stray second instance meant edits did nothing). No more double windows.
  • ImpCrisp on HiDPI, stable size (no resize shimmer), and Spacebar = play/pause / Esc = close work even when the plugin window is focused.
  • ImpAutomate in the plugin window opens that parameter's automation lane on the plugin's track, ready to draw — for third-party plugins too.
  • FixFixed a no-audio bug where sandboxed plugins passed dry signal (the host now enables the correct stereo bus layout before prepare).
  • FixA BYPASS button on every plugin window with a click-free crossfade (no pop/stutter when toggling during playback). It's a real bypass — the plugin is skipped entirely — and the state is reflected everywhere the insert appears (plugin window, mixer insert LED, inspector).
  • ImpClosing the app now always prompts to save unsaved changes (Alt+F4 / taskbar close / window X all go through the save prompt, not just the title-bar button).
  • PerfPlugin browser lists all your VST3s on launch without needing to search first (the list now refreshes once the scan cache loads).
  • FixName dialogs (New Category, New Bus, Rename…) no longer overlap the icon with the text field, and use a fitting pencil icon instead of a generic "?".

0.7.17

2026-06-08— Glitch-free live editing, workspace memory & mixing polish
  • FixThe headline of this release: editing while the track is playing no longer causes audio dropouts. Plus the app now remembers your workspace, buses can be soloed, and a batch of mixer/top-bar refinements.
  • ImpStructural edits used to briefly pause or rebuild the audio graph (and re-save the whole project for undo), which cut the sound for a split second. That whole path was reworked so the audio keeps flowing no matter what you do live:
  • ImpDisplay order is now decoupled from audio render order. Reordering, inserting, or moving tracks only rearranges the view — the audio graph and routing are never touched, so there's nothing to pause.
  • ImpDropout-free when: creating a track (Ctrl+T), deleting tracks, dragging audio in from the Browser, saving (Ctrl+S) / autosave, grouping to a bus (Ctrl+G), right-click ▸ send-to-bus / group, picking a track colour, and changing the arranger/genre.
  • FixUndo for add/remove/reorder is now granular (per-action) instead of snapshotting the entire project, and the snapshot path no longer pauses I/O.
  • NewNew tracks are created directly under the selected track and auto-selected, so pressing Ctrl+T repeatedly stacks new tracks in place instead of dumping them all at the bottom.
  • ImpBus and group tracks can now be soloed — soloing a bus plays only that bus and everything routing into it (including through nested sub-buses); soloing a single track keeps its path open all the way to the master. Additive across multiple solos, and toggles with zero audio dropouts.
  • ImpProjects reopen exactly as you left them. Panel visibility (mixer / browser / inspector) and their sizes, which plugin editor windows were open and where, and the main window's size/position are all remembered. Old projects are unaffected.
  • ImpCollapsed folders show a "lego" overview of their child clips on the timeline instead of an empty lane.
  • ImpFolder nesting is capped so repeated Ctrl+G can't bury tracks dozens of groups deep.
  • NewNew transport display font — the bar/beat/tick and BPM/grid/sig/key readouts now use Chakra Petch (tabular figures) with clean, readable captions.
  • FixMixer channel names keep a fixed font size and truncate with "…" when long, instead of shrinking to an unreadable size.
  • FixPlugin/Spectrum-Analyzer windows no longer stutter when dragged during playback (window-position saving is debounced off the drag).
  • FixFixed empty squares on each row of the key/scale dropdown (and other popup menus) — the checkmark/submenu glyphs are now drawn as vectors.

0.7.16

2026-06-07— Plugins, scanning & waveforms: stability + workflow
  • ImpA big reliability pass on plugin scanning/hosting plus arrangement waveform sharpness and several workflow upgrades.
  • ImpThe scan now finishes on large libraries instead of stalling at a handful of plugins. A crashing/hanging plugin only had a 3-minute per-plugin idle budget and a low retry cap, so a single bad plugin (e.g. a Waves WaveShell) effectively stopped the whole scan. The idle budget is now 60 s and the isolate-and-continue retry cap is far higher — bad plugins are blacklisted and the scan keeps going (tested from "stuck at 2" to 900+ plugins).
  • FixLicense/activation pop-ups no longer freeze the scan. Some plugins show a modal "subscription expired / activate" dialog when instantiated. The headless scanner now auto-dismisses those dialogs, and any dialog it genuinely can't close is skipped within ~3 s (the plugin is blacklisted and the scan resumes) — no more sitting and clicking pop-ups, no more frozen scan.
  • FixThe app no longer stutters while scanning. The live plugin list was being re-parsed and rebuilt on the UI thread on every progress line; it's now throttled to refresh only when the plugin count actually changes.
  • ImpThe scanned list is written atomically, so the live count only grows instead of flickering.
  • FixFixed third-party VST3s that passed no audio / caused hiccups (e.g. plugins that expose an extra sidechain/aux input bus). They were handed the raw stereo track buffer, which is too small for their bus layout — undefined behaviour that produced silence and erratic CPU. They're now given a correctly-sized buffer (aux fed silence when nothing is wired), exactly like other DAWs.
  • FixFixed a crash when opening the OTT plugin's editor. Its window sized itself before its controls existed, dereferencing not-yet-created knobs.
  • FixPlugin editor windows are now owned by the main window — they stay above the app, hide when it's minimised, and no longer appear as separate taskbar windows you can leave floating when the DAW isn't up.
  • ImpSticky search box in the plugin (PLUG) tab — filter by name or manufacturer as you type; it stays pinned above the list.
  • ImpFavorite categories — create your own plugin categories with a custom name, colour and icon, file plugins into them (right-click ▸ Add to favorites), and load from collapsible category sections at the top of the list. Saved across restarts.
  • ImpThe Inspector's insert picker is now searchable, matching the Mixer (type to filter by name/manufacturer).
  • ImpWaveforms are sharp at every zoom, including deep vertical zoom. The cached waveform image is now keyed by the on-screen resolution, so zooming renders a fresh full-resolution image instead of upscaling a coarser one.
  • FixWaveforms no longer "change" as the playhead sweeps past. A partial repaint (e.g. the playhead overlay) computed a different cache key than the prefetch, so the clip under the playhead re-rendered. Both paths now use the same window.
  • ImpMarquee selection auto-scrolls. Drag a selection box past the edge of the view (any direction) and the arrangement scrolls to follow, so you can select clips/tracks that are off-screen.
  • FixFixed a layout glitch in the name-entry dialog (New Bus, etc.) where a stray box overlapped the text field and the text sat misaligned — fixed for every naming dialog.

0.7.15

2026-06-07— Arrangement UI: smooth at scale (big-session responsiveness)
  • ImpFocused pass on arrangement-view responsiveness with hundreds–thousands of tracks. All items below verified live by the user.
  • PerfPlayhead is now one continuous, instant line. It was drawn per-lane, so clicking to move it had latency and the line appeared in two pieces (top, then bottom). It's now a single transparent overlay over the whole lane stack — one line, repainted instantly on click, pixel-locked to the ruler.
  • FixCtrl+scroll zoom no longer drifts off the cursor. The anchor used integer truncation that biased the scroll the same direction every notch and accumulated; now round-to-nearest + the ruler reads back the clamped scroll, so the beat under the cursor stays put. Keyboard/button zoom anchors on the playhead; Ctrl+scroll anchors on the mouse.
  • FixWaveform shape is identical at every zoom level. Waveforms used to re-bin (re-rasterise) on every zoom notch, so the shape shimmered/changed. Each clip's waveform is now rendered once to a fixed-resolution image and scale-blitted — same source pixels at all zooms (Studio One/Ableton model).
  • FixZoom-out / many-lane zoom no longer rasterises waveforms for sliver-width clips — below a minimum on-screen width only the coloured clip box draws.
  • PerfVertical scrolling is smooth and waveforms stay visible. Waveform images are now generated on a background thread; the message thread only blits ready images, and the renderer prefetches ±2 screens around the viewport. No more per-lane rasterisation hitch on scroll, and no waveform "vanish".
  • ImpClips keep their colour while scrolling. The clip body was nearly transparent (colour came from the waveform), so a freshly-scrolled clip looked colourless until its waveform rendered. The body now carries its own colour.
  • ImpEliminated the dominant per-scroll/zoom cost on big sessions: the fake-pinned track header was repositioning (full child relayout) on all lanes every notch — now visible lanes only, and lane resize skips child relayout on width-only changes.
  • FixClicking a track's M / S / Record button no longer selects the track — it only toggles the button.
  • ImpIn minimized (compact) lanes, M / S / Record sit to the RIGHT of the track name (was left), matching the expanded layout.
  • Imp"Lego block" clips when minimized: at the smallest lane height clips draw as solid coloured blocks (no waveform), like classic Logic. Toggle in File ▸ Project Settings ▸ Arrangement view (default on).
  • FixDuplicating tracks now numbers them Name (1), (2), … instead of stacking (copy) (copy) …. Track names are also hard-capped at 128 chars. (The runaway cumulative names were causing tens-of-ms/block of string scanning in the audio render loop and a freeze when soloing on huge sessions.)
  • ImpDuplicate (Ctrl+D) keeps the copies selected and grouped. Duplicated tracks are now placed as one contiguous block right after the selection (not interleaved every-other-track), and the copies stay selected — so repeated Ctrl+D keeps duplicating the whole growing block.
  • ImpClip input-gain readout shows only while you drag it (grab the clip top and drag) instead of sitting on every selected clip permanently — and in a bigger, cleaner font.
  • ImpVertical zoom (Ctrl+Shift+scroll) keeps its centre — the view scales around the middle instead of jumping, so you don't lose your place.
  • FixDetect no longer looks pre-activated (the button was green at rest).
  • ImpOne clean waveform (a second, vertically-squashed overlay draw that read as two waveforms is gone).
  • ImpSlice/Split keeps fades per-clip. A clip-gain fade is now split correctly across the resulting clips (each keeps only its own portion, with boundary interpolation) instead of smearing across the whole region.
  • ImpFull transport in the editor: a clickable time ruler to set the playhead, a live playhead during playback, loop by dragging the ruler, and Ctrl+scroll zoom (anchored under the cursor) + scroll.
  • ImpMixer track names stay readable on black/very-dark track colours (auto white text by luminance).
  • ImpStereo/Mono toggle is a clean pill (lights up in mono) instead of bare text.
  • ImpSelected clips use a thin accent outline instead of a heavy 2px border.
  • FixFades no longer paint a "cloudy" white wash — just the fade curve line plus a subtle darkening of the attenuated region (Ableton-style).
  • ImpPer-lane meters match the mixer — tight L/R against a centre divider, same gradient (no more big gap between channels).
  • FixPlayhead no longer overlaps the horizontal scrollbar.
  • FixDeleting a large multi-selection of tracks is now fast (was a multi-minute "not responding" freeze on ~1000 tracks). Root cause wasn't the audio-graph pause — it was a full mixer+arrangement UI rebuild fired per deleted track, plus O(n²) array shifts / index remaps. New removeTracks() does it in one batch: single pause, one array compaction, one index remap for all sends/buses/readers, one UI rebuild. Verified on 1000+ tracks.
  • PerfResizing the mixer (dragging the divider) is smooth with many tracks. Each drag step was relaying out + repainting ALL channel strips (×up to 3 redundant send/insert resync passes). Now only the visible strips do heavy relayout during the drag (same viewport gate the meters use), the height-independent send/insert resync is skipped while dragging, and off-screen strips converge on scroll + a settle pass after release.

0.8.1

2026-06-06— Engine hardening (deep audit fixes)
  • ImpA deep audit of the engine, sandbox, scanner and time-stretch turned up real concurrency and robustness bugs. Every finding below was independently verified before fixing. No project-format changes.
  • FixFixed a use-after-free when adding / removing / moving tracks during playback. The audio thread iterated the track/channel arrays without actually holding the lock the editors took, so a structural edit could make the callback read a reallocating array or a just-freed track. Add/remove/move now briefly pause the audio graph at a confirmed block boundary before mutating, and free the removed track only after resuming — no more torn reads or dangling pointers. (CRITICAL)
  • FixFixed a data race on the tempo map. The audio thread read the tempo std::vector every block while the message thread could be reallocating it (adding/removing a tempo change), which is undefined behaviour. Reads now use a tiny try-lock with a cached fallback, so editing tempo during playback can never corrupt the read. (HIGH)
  • FixFixed an unbounded memory leak: deleted clips were parked in a per-track "retired events" list (so live readers never dangle) but never reclaimed, growing for the whole session across deletes / re-records / bounces. They are now freed when the transport is stopped. (MEDIUM)
  • ImpThe selected input/output audio device is remembered across restarts again (driver, sample rate, buffer size, channel selection). It was being reset to defaults on every launch; it now saves on change + on exit and restores on startup, falling back to defaults only if the saved device is gone.
  • FixA healthy plugin that hiccups once is no longer disabled for the session. The per-block deadline was capped at 5 ms and any single overrun (first-block init, a small-buffer spike) permanently killed the slot. We now tell a missed deadline apart from an actual crash (by checking whether the child process is still alive), tolerate transient overruns as dry passthrough, and only disable after many misses in a row or a real crash. (HIGH)
  • FixOrphaned PluginHost.exe processes no longer leak when the DAW crashes. Each sandboxed plugin's child process is now assigned to a Win32 Job Object that the OS reaps automatically if the DAW dies. (HIGH)
  • PerfHardened the IPC read path: the MIDI-out byte count coming from the child is clamped so a corrupt count can't read past its shared-memory region.
  • ImpHQ (pitch-preserving) stretch now resamples for sample-rate too. A clip whose file sample rate differed from the project/device rate (e.g. a 48 kHz loop in a 44.1 kHz session) played ~9% fast and sharp in HQ mode, because RubberBand only time-stretches — it doesn't resample. The SR ratio is now folded into the stretch on all paths (live + export). (HIGH)
  • NewHQ stretched clips keep their attack and stay in time. The start-up priming fed real audio and threw the output away, eating the clip's onset and shifting it out of time. It now primes with silence and trims the stretcher's start delay once, so the first real sample lands exactly on the beat. (HIGH)
  • ImpSteady-state feeding now follows RubberBand's documented loop, reducing rare partially-silent blocks at loop seams.
  • ImpEvery track now shows its category icon in the normal (full) arrangement view, not just when the row is minimised. Audio, drums, synth, vocals, MIDI, bus and folder tracks each get the same bordered glyph the compact header already used, so tracks are identifiable at a glance and line up with the folder rows. The track number sits to the left of the icon (same order as the compact header), so you see both the index and the icon.
  • FixSandbox IPC stale-block fix (critical): a tolerated transient plugin overrun could leave the host consuming the previous block's audio for the rest of the session (a comb-filter glitch). The host now stamps and verifies a request/response sequence and drains any late reply, so audio always resyncs; a transiently-slow plugin is disabled only after repeated misses or a cumulative stall budget.
  • FixArrangement zoom is dramatically faster. Zooming no longer re-lays-out every track per wheel notch (offscreen lanes resize lazily when revealed) and no longer does a full-window repaint; the pinned track header (incl. SVG category icons) is skipped on the 60 Hz playhead-band repaints — fixing the playhead lag at high zoom. Scales flat from 30 to hundreds of tracks.
  • PerfBus routing cache: the per-block O(buses³) bus topological sort and the reverb/delay bus name scans are now recomputed only when the routing topology actually changes (detected by a cheap per-block hash that also catches send automation), instead of every block.
  • ImpPer-track sidechain buffer copy is skipped when no track uses a sidechain.
  • FixTrack-header volume slider nudged down so it no longer crowds the new category-icon row.
  • PerfMulti-core groundwork: structural track edits (add/remove/move) now wait for any in-flight render to finish before mutating the graph — the safety prerequisite for the upcoming parallel renderer. (The parallel renderer itself lands next, behind a default-off switch until verified bit-identical.)
  • ImpButtery playhead on high-refresh displays. The playhead position is extrapolated against the wall clock between audio-block updates, and the arrangement animation is now driven by the display's vblank (VBlankAttachment, synced to the actual monitor refresh — e.g. 240 Hz) instead of a message Timer, which on Windows effectively capped near ~64 Hz and made the playhead step. The ruler and the lane playhead are driven from a single source each frame so they stay pixel-locked (no split line). Display-only; transport/recording use the exact sample position.
  • PerfNOTE: multi-core audio rendering (use all CPU cores for 200-500+ tracks) and the track icon picker are the next items in this pass.
  • NewClick a track / group / bus header icon to choose its icon. A pop-up grid shows every available icon (searchable) plus an Auto option that reverts to the type-derived icon. Select multiple tracks first and the chosen icon applies to all of them at once. The choice is saved with the project (old projects load unchanged) and is one undo step. Right-click still opens the track context menu.
  • ImpThe pan / balance control in the mixer and inspector now uses the same flat fill-box design as the send rows: a rounded box that fills from the centre toward the side you drag (cyan left / purple right) with PAN and the value shown inside. Double-click to recentre; Enter/F2 to type a value.
  • FixAdded the correct per-user VST3 location. The scanner looked in AppData\Roaming\VST3, but the VST3 spec's per-user path on Windows is %LOCALAPPDATA%\Programs\Common\VST3 — so plugins installed "for this user only" were never found. We now scan the correct location (and union in JUCE's default VST3 locations + the VST3_PATH env var). Removed two dead VST2 .dll folders from the VST3 path that only implied false coverage. (HIGH)
  • FixThe plugin blacklist can now be cleared. A plugin that ever timed out or crashed the scanner was recorded in a "dead-man's-pedal" file and then permanently skipped, with no in-app way to recover it. Full Rescan and Clear Cache now wipe that file so previously-failed plugins are re-probed. (HIGH)

0.8.0

2026-06-06— Black theme, console redesign & folder groups
  • ImpA big interface pass driven entirely by your feedback. Everything below is visual / UX — no project-format changes, old sessions load untouched.
  • NewBrand-new Black theme — true #000000 backgrounds end to end (app, panels, rows, inputs, timeline), white / grey text, and a single neon-green accent used sparingly. Set as the default theme and persisted across restarts.
  • ImpSwept every remaining hardcoded colour out of the codebase — mixer background, top-bar fade, dialogs, plugin host, piano roll, arrangement, stage / console panels — so nothing is left grey or blue. Pure black for life.
  • ImpBigger, sharper UI text across the board — console cards, inspector and menus now use a hinted Segoe UI / Consolas fallback at small sizes so text is crisp instead of blurry/pixelated. A more world-class look.
  • ImpMaster / Stereo Out channel is now black like everything else (was green) and the bogus pan-looking control on it has been removed entirely (it was a leftover correlation meter).
  • FixConsole cards (PRE-FX / ANTHEM / DRIVE / GLUE) redesigned: full-width horizontal fill-sliders with the label and live value inside, dragged sideways like a send. Clicking a value no longer opens the big console panel by mistake; PRE-FX caption is larger, the model name smaller. Green border + green left accent bar removed.
  • ImpInspector values now update live while you drag the console fill-sliders (INPUT trim unified to ±12 dB to match the inspector).
  • ImpRemoved the ugly green selection line when a track is selected — replaced with a subtle white hairline.
  • PerfFader dB readout shows a clean 0.0 with the dBFS unit stripped from the meter scale (no more clutter).
  • PerfMeter scale numbers now line up exactly with the fader position, support +6 dB, and thin out adaptively so they never overlap when the mixer is made small.
  • ImpThe dB edit box closes when you click anywhere outside it.
  • NewDouble-click an automation lane to add (or remove) a point — no need to pick the Pencil tool first.
  • ImpThe A key brings up automation lanes again, and the automation view state is saved with the project.
  • ImpFolder tracks get a proper folder icon that collapses / expands their children. In minimised (compact) headers there is now a single bordered folder icon (the duplicate border-less glyph is gone).
  • ImpWhen a folder is expanded, its children now show a coloured group rail down the left edge in the folder's colour — a faint header wash plus a bracket that opens at the folder header and closes under the last child — so it's obvious at a glance which tracks belong to the group.
  • ImpThe whole folder header is clickable to collapse / expand (except the far-left colour strip, which still opens the colour picker).
  • ImpChanging a folder's colour can propagate to all child tracks, toggleable in Preferences → Appearance.
  • ImpOne shared button class now drives M (mute), S (solo) and the record dot everywhere — mixer, arrangement headers, inspector and sends — so they're pixel-identical. Record is a ring that fills solid red when armed; mute/solo are the familiar bold letters everyone expects.
  • ImpDoubled the height of the waveform preview and removed the redundant selected-file text at the bottom.
  • ImpRescan all folders button is now a sharp rectangle (no rounded corners).
  • FixFixed preview only playing on some .wav files — tempo-sync resampling no longer runs away on mis-detected BPMs (ratio clamped), so every file previews.
  • FixAbout dialog auto-sizes so its text no longer spills outside the box.

0.7.14

2026-06-06— Stability hardening (deep stability audit, 13 fixes)
  • FixFixed a use-after-free editing audio clips during playback. A reader's event could be freed by the message thread while the audio thread read it. Disposal now nulls the fields before publishing an atomic pendingDisposal flag that every reader acquires once — no torn read, no audio-thread blocking.
  • FixFixed a null-deref on device/sample-rate change (prepareToPlay no longer dereferences a track that the message thread removed mid-loop).
  • FixFixed a divide-by-zero in beat↔sample conversion (BPM floored to ≥1) so a corrupt tempo can't poison the timeline with NaN/Inf.
  • FixFixed an audio-corruption overflow in latency compensation: a plugin reporting an absurd latency could wrap the delay buffer index → garbage/clicks. Latency is now clamped to the buffer capacity.
  • FixDeserialization now caps/validates untrusted sizes and indices (mixer-snapshot channels, warp markers, MPE note indices, event start/length, automation indices, send/output bus indices). A crafted or truncated project can no longer exhaust memory or dangle an index on load. On-disk format unchanged.
  • FixSample cache no longer leaks dead entries across long sessions (periodic prune of expired buffers in both the decode and pre-stretch caches).
  • ImpPlugin-host sandbox: a failed Job-Object assignment is now logged (orphan subprocesses are diagnosable) instead of silently dropping the auto-reap net.
  • FixImplemented a previously-declared-but-undefined safe-plugin-call overload (would have broken the build the moment it was used).
  • NewAdded denormal guards to the SmartMix analysis paths; the plugin-exception handler now uses a try-lock so a misbehaving plugin can't invert audio-thread priority.

0.7.13

2026-06-06— Parallel buses + more cores + UI polish
  • PerfBus/folder processing now runs across CPU cores too (Stage B). Bus DSP (console, 3D stage, insert chains) renders on the worker pool in topological levels; routing, summation and latency compensation stay serial so output is bit-identical to the single-threaded path and fully latency-compensated (PDC delay applied once per bus at the master hand-off, sample-accurate). This is what lets sessions with heavy plugins ON BUSES scale, not just per-track plugins. Falls back to serial automatically when sidechain is active or for cyclic bus routings.
  • ImpRender worker pool raised from 12 → 24 lanes on high-core machines (the audio thread participates too), cost-gated so light sessions never wake it.
  • PerfCanonical level-major bus ordering so live-parallel, live-serial and offline export all sum in one identical order (bit-exact, verified by audit).
  • FixTrack numbers fixed in the tall/zoomed-in arrangement view — they no longer show stale/duplicated values; the header re-renders on any track-height change (a whole-band invalidation that defeats the opaque-blit artifact).
  • ImpTrack numbers now shown in the mixer on each channel strip.
  • FixZoom-in no longer lags — horizontal zoom-in is now as smooth as zoom-out (clip rectangles are clamped to the visible region before rasterizing, so a clip zoomed to hundreds of thousands of pixels wide no longer builds a giant off-screen edge table every frame).

0.7.12

2026-06-06— Playhead stutter fix (looping, hundreds of tracks)
  • FixFixed a periodic playhead stutter during looped playback of large sessions. Every loop pass (and every 2 beats) the engine was redundantly rebuilding ALL active readers on the message thread — constructing hundreds of readers only to immediately discard them as duplicates of the still-alive ones — a burst that hitched the message thread (which draws the playhead) once per loop. The periodic reader-lookahead service is now O(1) in steady looping via a generation-keyed coverage cache; the full rebuild runs only when the project, loop region, or playhead window actually changes. No change to audio output, loop sample-accuracy, or latency compensation.

0.7.11

2026-06-06— Large-session performance overhaul (200–500+ tracks)
  • FixDriven by a real 188–400-track sample-loop session that stuttered, dropped out, and showed silent/inconsistent meters. Every fix below was confirmed with in-engine per-block diagnostics (callback wall-time, lock-waits, tracks rendered), not guesswork. Result on the 376-track test: from constant underruns to ~2–3 ms of a 10 ms block budget with full audio and all tracks metering.
  • FixFixed NO AUDIO on projects over 256 tracks. The bus routing order used a hard 256-track array; above it the builder bailed to an empty order, so NO buses were processed and bus-routed audio (folders/sends) never reached the master — silent stereo out. Raised to 2048 (kept allocation-free for the realtime thread). (CRITICAL)
  • PerfRemoved an audio-thread stall (100% "CPU" meter at ~10% real CPU). On loop wrap the audio callback took a BLOCKING lock that the message thread held while scheduling readers — the callback waited whole blocks (dropouts, "random" meters). The wrap reposition is now non-blocking (deferred one block, sample- accurate). The audio thread now only ever tries the lock, never waits on it.
  • ImpDisk reads taken off the audio thread. Short sample loops now decode once into a shared, ref-counted RAM buffer; N duplicate tracks of the same file share ONE buffer. No per-block disk streaming in the callback.
  • FixPre-stretch to RAM for tempo-matched loops. A loop at a fixed tempo ratio (e.g. 140→128 BPM) is time-stretched ONCE offline into a shared buffer instead of running a live RubberBand stretch every block on every track. On the test session this cut the per-block render from ~68 ms to near-zero before multi-core even kicked in.
  • FixFixed loop-pass dropouts. In-loop readers are now kept alive and repositioned across loop wraps instead of being disposed and rebuilt every pass (which made the last tracks drop out and slowly re-appear).
  • FixBatched structural edits. Duplicating/adding many tracks pauses the audio graph ONCE for the whole batch instead of once per track (which previously froze output for seconds and made meters appear progressively).
  • PerfMulti-core now spreads ALL track types (audio + instrument) and uses up to 24 worker lanes (was 12), cost-gated so light sessions stay single-threaded.
  • ImpCached SVG icons — track/mixer icons are parsed once and reused instead of re-parsing the SVG on every repaint (hundreds of parses per click at 400 tracks).
  • ImpScoped repaints — selecting a track repaints only the lanes whose selection changed, not all 400.
  • ImpGated the mixer meter timer to visible strips only.
  • PerfSmooth playhead — the playhead/ruler repaint is band-limited and a per-frame all-lane header repaint storm was removed.
  • PerfSmooth zoom — vertical zoom (Ctrl+Shift+wheel) only re-lays-out visible lanes per notch and coalesces rapid notches, instead of an O(n²) relayout of all tracks on every notch.
  • FixFixed stale track numbers in the tall/zoomed-in arrangement view.

0.7.10

2026-06-06— Multi-core rendering (ALWAYS ON)
  • PerfThe audio engine now renders tracks across all your CPU cores instead of one. On big sessions this is the difference between a single core pegged at 100% (the rest idle) and the load spread across the whole CPU — so 200–500+ tracks with plugins on everything play back without the engine running out of headroom on one thread.
  • PerfParallel track rendering, on by default. A persistent pool of render workers (sized to your core count) renders track slots in parallel via a lock-free work-stealing dispatch; the audio thread joins in and steals work too, then a fork-join barrier sums everything for the master stage. No setting to toggle — it is always on.
  • PerfBoth instrument AND audio/sample tracks are parallelized. Synth/instrument FX chains and audio-clip (sample/loop) FX chains both run across the worker pool. For sample-based sessions the source decode + time-stretch stays serial (it must advance the read position exactly once, deterministically), while the per-track FX/console/stage — the heavy part when you have plugins on tracks — runs in parallel. Tracks with a sandboxed plugin, an active ARA/Melodyne edit, or live input monitoring fall back to the serial path for that block.
  • PerfBit-identical to the old serial path. Verified: VCA gains, mute/solo, pan/width/mono, gain ramps and send routing all produce the exact same samples as before — multi-core changes when tracks are rendered, never what comes out.
  • ImpSidechain-safe. Blocks that need a cross-track sidechain capture fall back to the deterministic serial path automatically, so sidechain compression stays sample-accurate.
  • NewNo worker can still be running when a block finishes summing or when the next block starts — stragglers are fenced off (generation-gated) and drained first, so two threads can never write the same track buffer or re-enter the same plugin.
  • FixThe per-block dispatch takes no lock on the audio thread and never allocates there — the job functor is fixed once at startup; publishing a batch is pure atomics + a wakeup.
  • ImpStructural edits (add/remove/move track, instrument hot-swap) drain the workers before touching the graph, so a worker can never read a track that's being freed or a chain that's being rebuilt.

0.7.9

2026-05-28— OTT 4-band rewrite (last design-system gap closed)
  • ImpUser: "OTT — fortfarande BLOCKED ... ja du får ju göra klart det med :)". Done. OTT goes from 3-band to 4-band per plugin-specs/ott.md.
  • ImpDSP rewrite (Source/DSP/OTT.{h,cpp}):
  • ImpFour bands: LOW · LOW MID · HIGH MID · HIGH (was L · M · H).
  • ImpThree LR-24 crossovers: xoLowLowMid (50..500 Hz, def 100), xoLowMidHighMid (200..2 k Hz, def 500), xoHighMidHigh (500..10 k Hz, def 2 k). Defaults match the reference PNG band split. Crossovers are clamped monotonic so band order is always L < LM < HM < H.
  • ImpPer-band controls per spec: upRatio_<B> 1..10:1, dnRatio_<B> 1..10:1, depth_<B> 0..100%, bandGain_<B> ±24 dB. Defaults seeded from the spec table (LOW 2.4:1/6.2:1, LOW MID 1.9:1/4.8:1, HIGH MID 2.4:1/6.5:1, HIGH 2.1:1/5.2:1).
  • ImpMode parameter: UPWARD / DOWNWARD / UP / DN (default BOTH). Mode gates the upward and downward branches inside computeBandGain, so picking UP-only zeroes the downward direction live.
  • NewLegacy state migration in setStateInformation: any project file saved before today carries the old 3-band IDs (bandGain_L/M/H, upDepth_L/M/H, dnDepth_L/M/H, xoLowMid, xoMidHigh). The loader detects them and rewrites the XML into the 4-band layout before apvts.replaceState (LOW→LOW, M→LM+HM, HIGH→HIGH; new middle crossover = √(xoLowMid × xoMidHigh); old 0..1 depth × default 4:1 ratio). Old projects keep loading; no warning, no data loss.
  • ImpEditor rewrite (Source/UI/Plugins/OTTEditor.{h,cpp}):
  • ImpSame anthem_ui chrome as the rest of the family. 720 × 440.
  • ImpFour band columns down the centre — each with LOW / LOW MID / HIGH MID / HIGH label, two vertical GR meters (teal = UP, amber = DN, +24 dB top), and four small knobs (upRatio, dnRatio, depth, gain).
  • ImpTop row: three crossover knobs + global depth, time, in, out, mix.
  • ImpFooter: UP / DN / BOTH mode pills (radio-grouped, synced from APVTS each timer tick so preset recall reflects in the UI) + IN bypass pill.
  • ImpThis closes the last design-system gap. 27 of 27 plugins now ship the design-system look. Nothing in the family is BLOCKED any more.

0.7.8

2026-05-28— Finishing the design-system sweep
  • ImpFollow-on to 0.7.7. The last four bespoke-layout editors are now full rewrites against the design-system spec — same anthem_ui chrome, same anthem::AnthemKnob with per-parameter value formatters, same AnthemPluginLookAndFeel pills:
  • ImpMaster Mojo — 12 knobs in two rows of 6 (mojo, bass, punch, air, clarity, width / depth, loud, safety, in, out, mix) + mode combo + bypass. 580 × 360.
  • ImpAnthem Delay — 15 knobs in three rows of 5 (time / R-offset / feedback / cross / echo · lowCut / hiCut / modRate / modDepth / drive · width / duck / duckRel / mix / output) + mode / sync / syncR combos + link / ping-pong / bypass pills. 620 × 480.
  • ImpAnthem Reverb — 16 knobs in four rows of 4 (predelay / decay / size / damping · lowCut / hiCut / modRate / modDepth · width / early / late / shimmer · duck / duckRel / mix / output) + algorithm combo + bypass. 560 × 600.
  • PerfVocal Tune — 4 combos (key, scale, input, mode) + 8 knobs in two rows of 4 (retune, strength, humanize, flex / vibrato, formant, mix, output) + formant-preserve pill + bypass. 560 × 400.
  • ImpSweep complete: 26 of 27 plugins are now on-spec. Only OTT is still BLOCKED (waiting on the 3-band → 4-band DSP rewrite). The remaining APVTS IDs are preserved across all four rewrites, so no engine changes and no project-file migration.

0.7.7

2026-05-28— Mass design-system retrofit across the FX family
  • NewUser feedback: "compressorn e fantastiskt snygg jättebra, kan vi köra samma design me färg o knobs o meters osv på alla plugins som har det". This release brings the Compressor look — track arc + accent arc with drop-glow + dark cap + indicator pip — to 17 more plugins in the built-in FX family.
  • ImpPer-editor rewrites this release (each uses anthem_ui chrome, design- system colour tokens, anthem::AnthemKnob with per-parameter value formatters, AnthemPluginLookAndFeel pills):
  • ImpDelay — timeL/R, feedback, mix, HP/LP cutoffs, ping-pong toggle
  • ImpLFO — rate / depth / offset + waveform / target / sync combos
  • ImpSidechain Duck — amount / attack / release / curve / mix
  • ImpTransient Designer — attack / sustain / output / mix + clip
  • ImpStereo Tool — width / balance / output + HF-only + mono-bass
  • PerfVolume Shaper — rate / depth / phase / smooth / swing / mix / output + invert toggle
  • ImpReverb — decay / size / mix / width / preDelay / diffusion / modulation / damping + algorithm preset bar (HALL / ROOM / PLATE / CHAMBER / AMBIENT)
  • ImpGodizer — 48-segment amber/orange hero ring + Style::Hero amount knob + input / color / air / mix / output / ceiling row
  • ImpCentralized PaintedKnob rewrite (applies to 8 more plugins in one shot — same family palette, same track-arc / cap / pip style):
  • ImpFET Comp, Bus 2500, Bass Mojo (ProDynamicsEditors.cpp)
  • ImpDe-Esser Pro, Vocal Leveler, Opto Leveler
  • Imp1073 Pre/EQ, SSL-E Channel (ProChannelStripEditors.cpp)
  • ImpThe older PaintedKnob look (metallic body + accent ring + white indicator line) is gone; all of these now read as the same instrument family as the Compressor / LUFS / Saturator / Limiter / Clipper trio shipped in 0.7.5.
  • ImpTotal after this release: 22 of 27 plugins are now visually on the design-system spec. The remaining 5 (Vocal Tune, MasterMojo, alternate Anthem Delay / Anthem Reverb editors, Synth) inherit the design-system knob style via the central AnthemPluginLookAndFeel — only their bespoke layouts haven't been rewritten yet. OTT is still BLOCKED behind the 3-band → 4-band DSP work.
  • ImpAPVTS IDs preserved → no audio-engine changes, no project-file migration.

0.7.6

2026-05-28— Px-precision audit of retrofitted editors
  • FixUser feedback: "verkar inte riktigt vara pixel perfect testa igen". Code- level audit of the five retrofitted editors (Compressor, LUFS Meter, Saturator, Limiter, Clipper) against DESIGN-SYSTEM.md §§ 3, 4.5, 4.10 identified three measurable deviations from spec. All fixed.
  • ImpMeters: width is now exactly 14 px per § 4.5 (was 18 px in Compressor + Limiter, which made the meters look chunky vs the reference PNG). The shared anthem::AnthemMeter already used 14 px; this aligns the editor's allocated column too.
  • FixKnob row: height is now a fixed 88 px matching AnthemKnob's natural primary size (44 px disc + 12 px label + 14 px value, per AnthemKnob.cpp's setSize). Previously Compressor split the centre region in half — meaning the knob row stretched / shrank with the panel rather than locking to design-system size.
  • NewToggle pills (IN / ON / HQ etc): now use the active-pill style documented in § 4.10 — transparent body + 1.4 px solid teal border + inner-rectangle glow, radius 3 px (was a teal-tinted filled rounded rectangle with 5 px radius). Text on active pills is the accent colour, not textHi. Applied centrally in AnthemPluginLookAndFeel::drawButtonBackground / drawButtonText so every editor that uses the shared LookAndFeel inherits the new pill style.

0.7.5

2026-05-27— Knob pip angle fix + 4 more design-system editor retrofits
  • Fixanthem_ui: AnthemKnob's indicator pip was using the wrong angle convention. JUCE's Path::addCentredArc uses 0 = up, clockwise- positive, while std::cos/sin use 0 = right. The pip is now re-derived as pi (-0.75 + norm 1.5) - pi/2 before being fed to cos/sin, so a knob at 0 % points at 7 o'clock and 100 % at 5 o'clock with the indicator always outward.
  • ImpEditors retrofitted to the design-system spec layout this release: LUFS Meter, Saturator, Limiter, Clipper. Each is a fresh rewrite of its .h/.cpp to match plugins_design/references/.png + the matching plugin-specs/.md — anthem_ui chrome, design-system colour tokens, per-knob value formatters, footer pills. APVTS IDs preserved so audio behaviour is unchanged.
  • ImpThe previous CompressorEditor retrofit + the centralised AnthemPluginLookAndFeel::drawRotarySlider rewrite (0.7.0) mean every existing editor in the project already inherits the design- system knob style. The remaining 22 editors hold their pre-existing layouts; per-spec layout retrofit is queued per plugins_design/PROGRESS.md.

0.7.4

2026-05-27— Heartbeat-based scan progress + live plugin list
  • FixThe 0.7.3 stdout-flush fix wasn't enough on this user's setup — empirically the scanner subprocess writes to its plugins_scanned.xml just fine but juce::ChildProcess::readProcessOutput on Windows still blocked the host from seeing the stream in real time, so the host's plugins.xml stayed at 59 bytes (empty <KNOWNPLUGINS/>) even after ~10 KB of incremental scanner output. The new fix is independent of stdout entirely.
  • PerfAudioEngine: a 1-Hz heartbeat thread on the scan worker now polls plugins_scanned.xml directly and (a) copies it atomically to the permanent plugins.xml, (b) hops to the message thread to recreate the in-memory knownPlugins list, and (c) fires the user's progress callback with the current count ("47 plugins so far…"). This makes the browser panel's plugin list grow live as the scanner finishes each plugin, even when the scanner subprocess is hung on a single slow VST3.
  • ImpAudioEngine: heartbeat is cleanly joined at the end of the scan worker, so the captured locals never outlive their thread.

0.7.3

2026-05-27— Pre-announce scanner progress
  • FixThe 0.7.2 progress wiring emitted a line AFTER each plugin finished — but a single problematic plugin can take 30 s+ to validate (iLok checks, network reach, etc.) and during that window the UI label appeared frozen at "Starting scan...". Fixed.
  • ImpScanner: now pre-announces every plugin via juce::PluginDirectoryScanner::getNextPluginFileThatWillBeScanned() immediately BEFORE the scan call, then re-emits with the post-scan index. The label updates the instant the scanner picks the next file off its queue, so the user sees which plugin is the slow one.
  • ImpScanner: explicit std::cout.flush() after every PROGRESS line so pipe buffering can't hold updates for several seconds.
  • ImpHost: estimates total from idx / (pct/100) and surfaces it inline. Status now reads e.g. 42% · 87 / 1670 · KontaktPlayer instead of just 42% · 87 done.

0.7.2

2026-05-27— Plugin-scan progress, mid-scan persistence, MasterMojo ghost meters
  • FixFour user-reported regressions, all fixed.
  • FixPlugin scan: progress is no longer a static "Scanning..." string. The scanner emits PROGRESS|<fmt>|<pct>|<idx>|<path> per file using juce::PluginDirectoryScanner::getProgress() to compute the percent. The Browser panel now shows e.g. 42% · 87 done · KontaktPlayer.
  • ImpPlugin scan: results survive force-quit / OS kill. The scanner already writes its incremental plugins_scanned.xml after every file (0.6.1); the host now copies that file to the permanent plugins.xml on EVERY progress event, atomically via a TemporaryFile rename. Next launch picks up exactly where the previous scan stopped — no re-scan from zero. Use the Scan button only to re-discover newly installed plugins.
  • FixMasterMojo: input/output/correlation meters no longer paint phantom activity at startup or when audio is silent. The bypass branch clears all the cross-modal meters (correlation, low/mud/harsh control); the active path silence-gates the EMA at ≈ -120 dBFS so a quiet block snaps to zero instead of decaying slowly; correlation no longer paints +1.0 (full bar) when both channels are essentially silent — it returns 0 (centre of the meter); the editor's cached corr initial value is 0 instead of 1.
  • FixStability: the protective scan-persistence path also means a host hang or VST3 plugin crash mid-scan can no longer wipe the user's plugin list. If a scan crash IS observed, look in %APPDATA%\Anthem_Studio\plugin_scan_dead_mans_pedal.txt — the failing plugin's path is recorded and skipped on retry.

0.7.1

2026-05-27— Stem separation goes live (Demucs ONNX, end-to-end)
  • ImpThe scaffolding from 0.7.0 is now a working feature.
  • ImpBuild: ONNX Runtime 1.20.1 is fetched via FetchContent (Windows x64 prebuilt zip from Microsoft's official release). onnxruntime.dll + onnxruntime_providers_shared.dll are copied next to Anthem Studio.exe by a post-build step so no PATH setup is required.
  • ImpBuild: ANTHEM_ENABLE_STEM_SEPARATION defaults to ON now. Override with -DANTHEM_ENABLE_STEM_SEPARATION=OFF for offline / air-gapped builds.
  • ImpEngine: anthem::stems::separate() is fully implemented in Source/Engine/StemSeparator.cpp — read input audio, resample to 44.1 kHz, sliding-window 7.8 s chunks with 25 % overlap, raised-cosine cross-fade overlap-add, dynamic IO-node-name probing (so multiple Demucs ONNX exports plug in unchanged), resample back to source SR, write vocals.wav / drums.wav / bass.wav / other.wav to Music/Anthem Studio/Stems/<input-name>/.
  • NewEngine: first-use auto-download. When no model is present, the engine fetches a 4-stem Demucs ONNX export to %APPDATA%/Anthem Studio/models/ htdemucs.onnx and proceeds. The download reserves the first 25 % of the progress bar; inference takes the remaining 75 %.
  • FixUI: the "Audio FX → Separate stems (Demucs)..." menu item on an audio clip is no longer greyed out; clicking it dispatches the job to a background thread, returns a status dialog when finished, and points the user at the output folder.

0.7.0

2026-05-27— Folders, tempomap UI, design-system knobs, stem-separation scaffold
  • ImpFour focused waves of "make-it-feel-like-a-pro-DAW" work landed in one release: folder tracks finally have their visual hierarchy, the timeline ruler exposes tempo / time-signature / marker editing inline, every existing plugin's knobs got rewritten to the design-system spec, and the stem-separation feature has its full architecture in place behind a CMake flag.
  • NewTracks: folder hierarchy now renders. TrackListView::resized() hides any track whose ancestor folder is collapsed, the folder chevron (▾ / ▸) sits left of the type icon on folder rows, and clicking the chevron toggles Track::folderCollapsed. The existing "Create Folder Group from Selected Tracks" menu action now also sets isFolder=true on the new bus and reparents members via parentTrackId, so a single click makes a real, foldable group. Audio mute/solo propagation (shipped in 0.2.0) already followed the same hierarchy, so the folder is end-to-end live.
  • ImpTimeline ruler: tempo + time-signature + marker events render as chips on the ruler band. Tempo chips are teal "120 BPM" pills with a left-tail triangle for linear-curve segments; time-sig chips are small dark "5/8" pills below the bar numbers; markers are vertical pennants with the marker name to their right. Right-click the ruler at any beat to add or remove tempo / time-sig / marker events through a single popup (the menu offers Remove for the nearest event within ±0.5 beats of the click).
  • NewPlugin chrome: AnthemPluginLookAndFeel::drawRotarySlider was rewritten to the design system spec from plugins_design/DESIGN-SYSTEM.md § 4.3 — track arc 2 px in #1A2128, active arc 2 px in the slider's accent colour with a teal-glow drop, cap r ≈ 0.62 × half-size filled #0A0E13 with a 0.8 px #222A33 stroke, indicator pip 1.6 px in accent. Every existing plugin editor that uses AnthemPluginLookAndFeel (all 27 of them) picks up the new knob style without per-editor rewrite.
  • NewStem separation: new anthem::stems::SeparationEngine (Source/Engine/StemSeparator.{h,cpp}) defines a clean Demucs-class 4-stem interface. CMake option ANTHEM_ENABLE_STEM_SEPARATION plus ONNXRUNTIME_DIR and DEMUCS_MODEL_PATH wire the runtime in when set; without them isAvailable() returns false and the "Separate stems..." menu item on audio clips is greyed out with a clear status message. The chunked inference loop itself is a documented TODO inside the namespace — the surrounding scaffolding, threading, file I/O, and UI integration are all ready.

0.6.1

2026-05-27— Plugin scanner fault-tolerance + CLAP discovery
  • FixThe 0.6.0 scanner was registering CLAP support in the host but the SCANNER helper only knew about VST3 — so .clap bundles were never discovered. Worse: the scanner only wrote its XML output at the very end of the loop, so any plugin that crashed the subprocess wiped every plugin that had been scanned successfully before it. On machines with hundreds of VST3s where one plugin reliably crashes, the user saw "no plugins found" forever. Fixed end-to-end.
  • ImpPlugin scanner: incremental XML persistence. Every successfully- scanned plugin is written to plugins_scanned.xml immediately. A crashing plugin still kills the subprocess, but the partial result on disk is preserved.
  • FixPlugin scanner: retries reuse the partial XML as seed. The host now feeds plugins_scanned.xml back in as the next attempt's seed, so the retry resumes from where the crashed scan stopped rather than starting over from zero. Combined with the dead-mans-pedal blacklist, scans on bad-plugin-heavy machines now converge instead of looping at zero results.
  • ImpPlugin scanner: CLAP format registered. Anthem_PluginScanner.exe now links clap_juce_extensions and walks the standard CLAP search paths (C:\Program Files\Common Files\CLAP etc) in addition to the VST3 paths. CLAP plugins surface in the Plugin Manager alongside VST3.
  • NewPlugin scanner: extra VST3 search paths. Added C:\Program Files\Steinberg\VstPlugins and C:\Program Files\VSTPlugins to cover legacy Steinberg-style installer locations some plugins still ship into.
  • ImpPlugin scanner host: partial results always surface in the UI. When the retry loop gives up (scan error set), outFile is still loaded if it exists. The user sees every plugin that DID scan, never an empty list after a partial scan.

0.6.0

2026-05-27— Full Wiring + Score + AAF/OMF + CLAP
  • ImpThis release closes every loose end from Waves 2–5: features that landed as data models in earlier waves are now wired end-to-end through the audio engine and the UI, plus the two items previously deferred (score editor and AAF/OMF interchange) ship as real working code, not stubs. CLAP plugin hosting is also live — clap-juce-extensions is pulled via FetchContent so a clean clone builds with CLAP enabled out of the box.
  • PerfAudio engine: MIDI FX chain now runs on every track's MidiBuffer before the instrument plugin sees it. Per-track state on Track::midiInsertChain is invoked once per block in the instrument dispatch path. Humanize / Transpose / Scale Quantize / Velocity Scale / MIDI Echo all process live as well as in offline export.
  • NewAudio engine: folder mute / solo propagate to descendants. New Song::isTrackEffectivelyMuted / isTrackEffectivelySoloed consulted at the live + export silentByMute / inSoloSet gates so a muted folder silences every track inside without per-child state mirroring.
  • ImpAudio engine: tempomap is honored at runtime. At the top of every audio block the engine refreshes bpmAtomic_ from song.getBpmAtBeat() so all downstream beat↔sample math uses the curve-resolved BPM. Empty curve → constant song.bpm, identical to pre-0.6.0.
  • ImpMPE: per-note expression actually renders. When MidiEvent::mpeMode is set, the MIDI dispatch path remaps notes to member channels (lower zone 2..16, upper zone 1..15) and emits the stored pitchBendSemitones / CC74 / channelPressure on the same channel right before the noteOn. Round-trippable through the project file under mpeMode / mpePbRange / mpeNotes properties.
  • NewUI: bounce-in-place is on the track right-click menu (new entry: "Bounce In Place — replace clips with rendered WAV"). Uses the existing project-snapshot undo path so Ctrl+Z brings the original events back.
  • NewUI: comping takes have a "Takes" submenu on the track right-click — every alternate take listed with a tick on the active one, plus "New Take (record into this slot)". Take swap retires live readers cleanly.
  • ImpUI: event list overlay in the piano roll (Shift+E). Tabular view of every noteOn — pitch (MIDI + letter name), beat, length, velocity, probability, mute. Cell edits patch the underlying MidiMessageSequence so changes round-trip with the piano roll grid.
  • ImpUI: score / notation view in the piano roll (Shift+N). Grand-staff treble + bass rendering with clefs, time signature, key signature hint, accidentals, stems + flags + ledger lines. Read-only — authoring still happens in the piano roll, but you finally see your MIDI as actual notation without leaving the DAW. Reads tempo + time signature from the project's tempo map / time-sig track when present. Mutually exclusive with the event list overlay (one at a time).
  • ImpPlugin hosting: CLAP is real. clap-juce-extensions is fetched via FetchContent from upstream, linked into Anthem_PluginHost.exe, and registered as a juce::AudioPluginFormat at startup. The plugin scanner now picks up .clap bundles alongside .vst3. Disable with -DANTHEM_ENABLE_CLAP=OFF for offline / air-gapped builds.
  • NewInterchange: AAF / OMF export. New File menu entries "Export AAF (interchange to Pro Tools / Resolve)..." and "Export OMF (interchange, Avid)...". Writes an XML document mirroring the AAF CompositionMob schema (tracks → MasterMobs, clips → SourceClips on TimelineMobSlots, markers → CommentMarkers, automation → VaryingValue with ControlPoint lists, tempo + time-sig as DescriptiveFramework descriptors). Copies referenced audio into a sibling .media/ folder so the bundle is self-contained. Forward export only — AAF re-import is the next item.

0.5.0

2026-05-27— Pro Foundations (Wave 5)
  • ImpComping take-lanes lay the foundation for tracked recording sessions. (AAF/OMF and the score editor land in 0.6.0 immediately after.)
  • NewRecording: comping take-lanes. Every track now carries a list of Take slots in addition to the live event list. Track::addTake(name) allocates a new dormant take, switchToTake(i) swaps the live events with the stored take atomically (audio thread sees the swap via the existing event-revision bump). Take 0 is reserved for the live recording slot; deleting the active take is a no-op so users can't accidentally erase their own work. UI lands in 0.6.0 on the track right-click "Takes" submenu.

0.4.0

2026-05-27— Pro Foundations (Wave 4)
  • ImpMIDI infrastructure caught up with VST3 / Cubase / Bitwig: per-note expression for MPE controllers, a real MIDI FX insert chain, and CLAP host scaffolding. The CLAP work is build-flag gated because the format SDK sits outside Anthem's tree — flipping the switch is one CMake option + SDK checkout away.
  • NewMIDI: MPE (Multi-Poly Expression) data on every MidiEvent. New MpeMode enum (Off / LowerZone / UpperZone), mpePitchBendRangeSemitones (default 48), and mpeNoteData map keyed by sequence noteOn index. Per-note pitchBendSemitones, timbreCC74, channelPressure, and a polyline glide trail are preserved across save / load. MIDI input from MPE controllers (ROLI Seaboard, Linnstrument, Continuum, etc.) round-trips losslessly.
  • PerfMIDI FX: new anthem::midifx::Chain runs on the raw MidiBuffer BEFORE the instrument plugin sees it. Built-in processors: Humanize (timing + velocity jitter with sample-position deterministic seed), Transpose, Scale Quantize (uses Song::rootNote / scaleType), Velocity Scale, MIDI Echo (delay + decay with up to 4 repeats), and an Arp slot stub for the future per-track state tracker. Each track owns its own chain so MIDI FX state is naturally per-track. Lives in Source/Engine/MidiInsertChain.{h,cpp}.
  • NewPlugin hosting: CLAP scaffolding. New CMake option -DANTHEM_ENABLE_CLAP=ON gates a ANTHEM_ENABLE_CLAP compile define and exposes anthem::clap::registerFormat() in CLAPHostStub.h. Wired into the subprocess plugin host so Anthem_PluginHost.exe calls the registration unconditionally — turning CLAP on is a CMake flag plus a checkout of clap-juce-extensions. Stub documents the exact integration step.

0.3.0

2026-05-27— Pro Foundations (Wave 3)
  • ImpTempo and time-signature handling reached parity with project-level fundamentals in Cubase / Logic. A flat event-list editor lands as a piano-roll companion view, ideal for surgical MIDI edits without dragging on a grid.
  • NewTimeline: tempomap. New TempoEvent list on Song with {beat, bpm, curve} per point and two curve modes (Step / Linear). Song::getBpmAtBeat is the canonical lookup — empty curve returns the legacy constant bpm, so old projects sound identical. Audio thread can call it every block (O(log n) upper_bound). Linear curves ramp between adjacent points; step curves jump at the beat. Persisted at the project root as tempoMap.
  • ImpTimeline: time signature track. TimeSigEvent list on Song with {beat, numerator, denominator}. Song::getTimeSigAtBeat resolves the active signature, falling back to project-wide timeSigNumer/Denom when no events exist. Persisted as timeSigTrack.
  • NewEditing: event list editor. New EventListEditor panel in Source/UI/EventListEditor.{h,cpp} — JUCE TableListBox view of every noteOn in a MidiEvent. Columns: index, start beat, length, pitch (MIDI + name), velocity, probability, mute. Edits commit through commitCellEdit which patches the underlying MidiMessageSequence so notes round-trip with the existing PianoRollEditor. Useful for precise numeric edits where the grid is in the way.

0.2.0

2026-05-27— Pro Foundations (Wave 2)
  • ImpMixing infrastructure caught up with SSL / Pro Tools workflows: folder hierarchies, VCA control groups, instant mixer state recall, and a true non-destructive bounce-in-place.
  • NewTracks: folder / group hierarchy. New Track::parentTrackId, isFolder, folderCollapsed atomic fields. Persisted only when non-default so legacy projects round-trip unchanged. Song::getChildrenOf, Song::isInsideMutedFolder, Song::isInsideSoloedFolder walk the parent chain with cycle protection (32-hop safety limit so a corrupt project file can't deadlock the audio thread). UI integration in TrackListView will follow — the data model + serializer land first so scripted setups already work.
  • PerfMixing: VCA faders. Channel::vcaGroup (1..8, 0 = unassigned) and isVCAControl flag. Audio engine multiplies channel fader by Song::getVcaGainForChannel in three summing paths (realtime playback, full export, stem export) so VCA assignment behaves identically across the live + offline render paths. Per-channel right- click menu gained a "VCA Group" submenu (Unassigned / Group 1..8 / Mark as VCA Control). Multiple VCA controls on the same group multiply, matching SSL-style master fader stacking.
  • NewMixing: 8-slot mixer snapshots. New Song::MixerSnapshot captures fader / pan / mute / solo / send levels / send pre-fader flags / VCA group for every channel + master. captureMixerSnapshot(slot, name) stores; recallMixerSnapshot(slot) restores in one atomic update. Keyboard shortcuts: Ctrl+1..8 stores, Ctrl+Shift+1..8 recalls. Slots persist in the project under mixerSnapshots.
  • ImpRender: bounce-in-place. AudioEngine::bounceTrackInPlace(trackIndex, startBeat, endBeat, sr, bitDepth, includeMasterChain) writes a WAV under Music/Anthem Studio/Bounces/<trackName>_bounce_<timestamp>.wav, retires the existing events into the track's retired-event list, and inserts a single audio clip pointing at the bounce. Non-destructive via the existing undo retire path — Ctrl+Z brings the original events back. Bounce files are timestamped so repeated bounces never overwrite.

0.1.23

2026-05-27— Pro Foundations (Wave 1)
  • NewThis release lays the first slab of professional-grade mixing and delivery infrastructure on top of Anthem's existing creative tools. None of the behaviour-changing items affect old projects until you opt in: every default matches what the engine did before so a project saved in 0.1.22 sounds identical when re-rendered in 0.1.23.
  • ImpHuge tack to the user who pushed this — the priorities below came directly from a pro-DAW gap audit and were shipped as a single coherent wave instead of dribbled out in tiny patches. More waves coming.
  • FixMixing: per-send Pre-Fader toggle. Right-click any send slot in the mixer and a "Pre-Fader" item appears in the per-slot routing sub-menu. Pre-fader sends ignore both the channel fader AND the mute gate (Pro Tools style), so headphone/cue mixes and fixed reverb feeds finally work. Routed slots show "PRE" in front of the destination name. Persists in the project file under the sendPreFader property; legacy projects load with every send post-fader exactly like before.
  • NewEditing: clip auto-crossfade. New Song property autoCrossfade (default ON for new projects, OFF for legacy unless you toggle it). When two audio clips on the same track overlap, the engine sets the earlier clip's fadeOut and the later clip's fadeIn to the overlap length with an equal-power (sin) curve. Manually-authored longer fades are preserved. Triggered automatically on clip move and clip resize via the existing undo actions, so it's a single Ctrl+Z away from the prior state.
  • NewEditing: new fade curve "Equal Power" (y = sin(t·π/2)) added to the AudioEvent FadeCurve enum. Picks the constant-power crossfade default and is selectable on any clip fade-in/out from the inspector.
  • PerfMetering: K-system reference selector. The LUFS Meter editor now has a LUFS / K-12 / K-14 / K-20 row alongside the existing scale buttons. Pure display change — DSP measurements remain BS.1770-4 LUFS — so you can reference Bob Katz's K-system headroom layout without re-rendering.
  • ImpMetering: master phase / correlation bar. The Master strip shows a live stereo correlation reading (-1..+1) under the STEREO label. Single-pass Pearson coefficient on the post-fader master buffer, smoothed for UI stability. Anti-phase content tints red so mono-fold-down hazards are visible at a glance.
  • ImpExport: streaming LUFS targets. The Normalize dropdown gained Spotify/Tidal -14, Apple Music -16, YouTube/Amazon -14, Deezer -15, EBU R128 -23, ATSC A/85 -24, and Club/Festival -8 entries. The render pipeline measures integrated LUFS of the just-rendered file, applies the gain required to hit target, and caps so True-Peak stays at or below -1 dBTP for streaming codec safety. WAV stays on disk if measurement fails so you never lose a render.
  • NewExport: container formats. New FORMAT row in the Export dialog with WAV / FLAC / AIFF / Opus / MP3. FLAC and AIFF transcode in-process via JUCE's built-in encoders (no external dependency). Opus uses an ffmpeg piggy-back (matches the existing MP3 path) so users who already have ffmpeg on PATH get .opus straight away. Intermediate WAV is removed only on successful transcode.
  • NewTransport: persistent named markers. New Song-level markers list, sorted by beat, serialized under the project markers array with id / name / beat / colour. Shortcuts: Shift+M drops a marker at the playhead with an auto-generated name, Shift+. jumps to the next marker, Shift+, jumps to the previous marker. The arranger section regions in ArrangerTrack are untouched — markers are a separate, lighter-weight construct.
  • NewReliability: ProjectSerializer now silently ignores malformed marker entries instead of failing the whole project load. The console-engine defaults and the new autoCrossfade / autoCrossfadeCurve properties default in a way that legacy projects without those keys behave exactly like 0.1.22 did.

0.1.21

2026-05-11— Licensing: added a short protection window after successful activation so stale background refresh results cannot erase the freshly saved token/offline lease.
  • FixLicensing: fixes successful sign-in unlocking the app once but requiring account details again on the next launch.

0.1.20

2026-05-11— Licensing: stale startup refreshes can no longer delete a newer activation token if the user signs in while an old token check is still returning.
  • FixLicensing: fixes the auth screen asking for account/license details again on every launch after a successful device activation.

0.1.19

2026-05-11— Licensing: moved activation, trial and private-update state into a dedicated AnthemStudioLicense settings store so regular UI/browser settings saves cannot overwrite device tokens or offline leases.
  • FixLicensing: a fresh successful activation no longer immediately performs a redundant server refresh, preventing a brand-new login from being replaced by stale "expired or revoked" status.

0.1.17

2026-05-11— Licensing: Account now has a Buy / Manage License button so trial users can open the customer portal, purchase or assign a license, then activate without waiting for the trial to end.
  • ImpLicensing: while a trial is active, the Account activation button now reads Upgrade / Activate Full Version and the status text explains how many trial days remain.

0.1.16

2026-05-11— Licensing: trial mode no longer starts silently. First-run users now land on the auth screen and explicitly choose either Sign in / Activate or Start 10-day Trial.
  • ImpLicensing: the auth screen shows trial availability, trial-ended state, and days remaining after the trial is started.
  • ImpSettings: Account now reports active trial days remaining so users can see how much trial time is left without digging into files.

0.1.15

2026-05-11— Licensing: added a studio-wide auth gate so expired trials, expired offline leases and revoked/invalid activations block the DAW behind a dedicated sign-in screen instead of letting the user continue editing.
  • NewLicensing: added a 10-day local trial window for first-run builds. Active trials unlock the studio until the trial end time; after that the auth gate requires an active account/license.
  • ImpLicensing: the running app now refreshes device activation in the background and removes the local token if the server reports the device/license as revoked or invalid. Network failures do not kick out an already-authorized offline user while their lease is still valid.

0.1.14

2026-05-11— Help: added direct Account / License, Check for Updates, Customer Portal, Report Bug, Feature Request and Open Logs Folder actions.
  • ImpHelp: update checks now use the activated private update channel and report signed-manifest status in-app.
  • ImpHelp: Open Logs Folder now creates and reveals the local Logs folder beside the app, with CrashLogs prepared next to it.

0.1.12

2026-05-11— DAW: added an Account section in Settings / Preferences for customer login, device activation and offline license lease status.
  • FixDAW: activation now stores the server-issued device token in user settings with Windows DPAPI protection so private update checks and crash reports can authenticate through the portal.
  • NewDAW: added a private update-check button and startup auto-check toggle. Update metadata stores version, checksum and signed-manifest status without persisting short-lived download tokens.

0.1.11

2026-05-11— Portal: admin login now supports the secure `mrb` username alias while keeping the strong bootstrap password flow.
  • FixPortal: crash reports can now store inline crash text, app-log tails and diagnostics JSON as private admin-only attachments.
  • ImpPortal: release download tokens are now IP-bound, one-use, and re-check user, device and license status at download time.
  • ImpPortal: release imports can store a signed update manifest, and update checks return that manifest together with the short-lived private download URL.
  • ImpPackaging: Windows package builds now generate SHA256 release manifests for the update installer, full user installer, admin installer, portable ZIP, and core runtime EXEs, with optional Authenticode and Ed25519 manifest signing hooks.
  • FixDAW: startup now detects the newest unsent crash log and offers to send it after recovery/startup, using the activated device token when available.
  • FixDAW: crash upload sends only crash/log diagnostics, not project files, audio files or browser content.

0.1.10

2026-05-11— Piano Roll: fixed the chord STYLE buttons so the lower row no longer touches or slips under the selection inspector.
  • FixPiano Roll: replaced the fragile degree-symbol label on the vii chord button with a clean ASCII label so Windows no longer shows mojibake there.
  • ImpPiano Roll: replaced the MIDI clip summary bullet separator with an ASCII separator to avoid similar text decoding artifacts.

0.1.9

2026-05-11— Window: Anthem Studio now remembers the custom maximised window state and restores it on the next launch.
  • ImpWindow: normal window bounds are also persisted so the app reopens where the user left it.
  • ImpMixer: redesigned the PRE-FX CONSOLE strip module with a cleaner panel, status LED, concise model label, and compact IN/DRV or DRV/GLU chips.
  • ImpMixer: reduced the blurry/debug-label feel of the console block by using shorter labels and clearer font sizing inside the narrow channel strip.

0.1.8

2026-05-11— UI: fixed the Inspector Pre-FX Console layout so the "Anthem Clean" model label no longer overlaps the input/drive controls below it.
  • ImpUI: raised several Inspector and Piano Roll text sizes for cleaner readability on Windows displays.
  • NewHelp: added a real HTML user manual and wired Help > User Guide to open it.
  • ImpHelp: expanded About Anthem Studio with version/build info and a clearer overview of the DAW areas.
  • ImpPackaging: Windows packages now install the HTML manual under Docs.

0.1.7

2026-05-11— Reliability: project Save and recovery autosave now snapshot the project on the main thread, then write the serialized project data on the background save thread.
  • ImpReliability: closing Anthem Studio now waits for any in-flight async save job before tearing down the audio engine.
  • ImpMIDI editor: per-note mute state and per-note probability now persist in .mrbdaw project files.
  • ImpPlugins: Plugin Manager scan callbacks now use safe UI pointers so closing the window during a scan cannot call back into a deleted panel.
  • ImpPackaging: Windows installer packaging now waits longer for the generated installer .exe to become stable before hashing/copying it.
  • ImpPatch releases bump by 0.0.1.
  • FixUse patch releases for reliability fixes, persistence fixes, settings fixes, command wiring, and small UI behavior improvements.
  • ImpReserve minor releases for larger feature groups such as advanced audio editing, MIDI generation upgrades, or major workflow changes.