What's Changed
- fix(dsp): a huge finite sample rate is no pitch, not an overflow (#241) by @marcoarnulfo in #269
- fix(track): vca: null clears a VCA assignment, as documented (#237) by @marcoarnulfo in #270
- fix(control): apply the engine.commands filter to UI commands (#255) by @marcoarnulfo in #271
- fix(window): keep the MIDI Editor open on Bring to Front (#254) by @marcoarnulfo in #272
- fix(midi-editor): a selected video clip is not a MIDI target (#258) by @marcoarnulfo in #275
- fix(video-universe): filmstrip thumbnails use the clip's own movie time (#225) by @marcoarnulfo in #276
- fix(window): Hide All Floating Windows also hides Automation (#253) by @marcoarnulfo in #277
- fix(edit-window): Pencil clicks on plugin lanes use the plugin's range (#224) by @marcoarnulfo in #278
- fix(midi-editor): Quantize snaps to the grid the editor shows (#226) by @marcoarnulfo in #279
- fix(eq): switches and choices redesign the filter on a running EQ (#239) by @marcoarnulfo in #280
- fix(video): H.264 parameter sets check their arithmetic before range checks (#251, #252) by @marcoarnulfo in #281
- fix(markers): markers.edit applies the documented name (#236) by @marcoarnulfo in #283
- fix(clip): Elastic Properties stretches the clip by the requested ratio (#227) by @marcoarnulfo in #284
- fix(dsp): pitch_shift reaches ±48 semitones (#243) by @marcoarnulfo in #285
- fix(dsp): chorus and flanger tails follow their feedback (#242) by @marcoarnulfo in #286
- fix(midi-editor): Backspace in a text field leaves the selected notes alone (#223) by @marcoarnulfo in #287
- fix(edit): cut clip gain keeps the removed gain for paste (#230) by @marcoarnulfo in #288
- fix(edit): trims stop at the neighbouring clips instead of overlapping them (#228, #229) by @marcoarnulfo in #292
- Apply the Feet+Frames reference to counters and typed positions by @marcoarnulfo in #294
- fix(mix): pan automation reads the same in playback and bounce by @marcoarnulfo in #295
- docs: fix grammar issue in README.md by @lunar-me in #311
- docs: fix grammar issue in docs/target-app-parity.md by @lunar-me in #312
- docs: fix grammar issue in docs/target-app-parity.md by @lunar-me in #313
- fix(ui): horizontally scroll the Edit toolbar by @TheMojoMan in #264
- Open .m4b audiobook files like .m4a by @MarekSpodBiedry in #293
- Add Clip › New MIDI Clip so an empty MIDI track can get a clip (#282) by @sajibsrs in #358
- Keep clips in order after Trim to Selection by @webdevtodayjason in #379
- Keep the clip gain line where a clip is trimmed or separated by @webdevtodayjason in #353
- Keep automation thinning within its tolerance by @webdevtodayjason in #354
- fix(meter): keep K-weighting stable below ~3.4 kHz sample rates by @itrycodinganditsbad in #386
- Consolidate covers the whole edit selection (#164) by @itrycodinganditsbad in #212
- mix: a newly adopted plugin instance replaces a matching one in its slot by @Limestudio90 in #327
- Locate clears plugin and delay-compensation state by @marcoarnulfo in #301
- VST3: hand host-set parameter values to the controller before saving state by @marcoarnulfo in #400
- Make clip.loop / clip.unloop self-consistent (loop_id tag) by @Claudio911015 in #401
- fix(mix): mix.insert_params rejects unknown parameter names by @mroxso in #342
- fix(ui-egui): own the test palette lock for every SoundApp lifetime (#323) by @mroxso in #355
- Make cargo xtask ci pass on Windows, and on Rust 1.95 by @iannitram in #324
- fix(track): Clear Trim Automation removes the trim lane (#233) by @marcoarnulfo in #289
- Apply MIDI track offsets when scheduling notes by @marcoarnulfo in #304
- Compute timecode frame counts in i128 and clamp (#248) by @Silvertree2010 in #260
- fix(event): Constant tempo applies only over its range (#238) by @marcoarnulfo in #291
- Restore Last Selection brings back the previous selection by @marcoarnulfo in #303
- Keep later meter changes on their bars when an earlier meter is edited by @itrycodinganditsbad in #387
- Saturate the bar offset for bars before 1 (#249) by @Silvertree2010 in #259
- Reject invalid --rate and --bit-depth in convert (#256) by @Silvertree2010 in #261
- Pro Tools keys for nudging, Grid and Nudge values, playlists and windows by @grovebit in #363
- Lay out Edit window tracks and plugin slots like Pro Tools by @grovebit in #383
- Send levels drag down to −∞ and don't stick; clicking one opens its Send window by @grovebit in #362
- Mix window: readable fader scale in Light, stereo strips in line with mono ones by @grovebit in #376
- Open, add and change plugins from the Edit window by @grovebit in #377
- Silver Light theme by @grovebit in #381
- Tint each Edit window track with its colour by @grovebit in #382
- Fit the section names in narrow Mix strips by @grovebit in #397
- Mark the Tracks panel's edge with a scroll bar by @grovebit in #378
- Draw grid lines over clips in the Edit window by @grovebit in #359
- Right-click a track's name for the track menu, in Edit and Mix by @grovebit in #361
- Keep shortcuts working after Tab by @grovebit in #389
- Refuse renders too long to finish instead of cutting the audio short by @grovebit in #326
- Stop allocating and freeing memory on the audio thread by @grovebit in #210
- Reorder tracks by dragging them in the Tracks list by @grovebit in #297
- Drag or type the tempo in the toolbar by @grovebit in #298
- Rename a marker by double-clicking it in the ruler by @grovebit in #299
- Automation passes replace the automation they play over, in one undo step by @grovebit in #308
- Make the Zoom Preset, Waveform Zoom and Clip Rating keys work; add Commands Focus 1–5 and N by @grovebit in #320
- Say at the Record button why Record did nothing by @grovebit in #329
- Add tracks from the Tracks list and the empty space below the tracks by @grovebit in #330
- Refuse corrupt audio files instead of crashing by @grovebit in #331
- Stop Strip Silence deleting clips late in long selections by @grovebit in #333
- MCP: confine file access with --automation-read-root and --automation-write-root by @isaac-levine in #309
- Fix main: drop now-reachable commands from the reachability ratchet by @echelon in #406
- Keep takes when the input, output or disk fails, or the app crashes by @grovebit in #368
- Crash recovery: offer unsaved work at launch and survive UI and audio bugs by @grovebit in #366
- Bounce Mix: Browse for the file, and start in the session folder by @grovebit in #300
- Signal Generator fills the selection with a new clip by @grovebit in #328
- control server: bound request lines and concurrent connections by @SteamSmith in #215
- Draw each take in the Edit window while it records by @grovebit in #369
- Waveforms like Pro Tools': exact per-pixel peaks and working view options by @grovebit in #364
- Give plugins the session's tempo and transport, and play MIDI controllers by @grovebit in #367
- Stream bounces to disk and keep the app responsive while bouncing by @grovebit in #393
- Make the Shuffle, Slip, Spot and Grid edit modes work like Pro Tools by @grovebit in #365
- Track height: resize live while dragging, Pro Tools modifiers and Ctrl+Up/Down by @grovebit in #384
- Share the session with the UI instead of copying it every frame by @grovebit in #360
- Zoom Toggle: E zooms in on the edit selection and back out, as in Pro Tools by @grovebit in #209
- Plugin safety: read plugin state off the audio thread, keep refused settings, contain NaN plugins by @grovebit in #306
- Create MIDI clips with the Pencil, Consolidate and the MIDI Editor by @grovebit in #296
- Keep corrupt sessions and imports from hanging, crashing or filling memory by @grovebit in #332
- Type to search as soon as a plugin or bus menu opens by @grovebit in #338
- Fix clip fade editing and add live waveform previews by @reoniazx in #335
- Complete routing folder management by @Jafz2001 in #219
- File › Open Recent: the last 10 sessions, newest first by @woodgrain816 in #390
- Plugin editor windows on Windows (VST3 and embedded CLAP) by @Limestudio90 in #315
- Sampler UI: load samples, waveform with loop points, instrument sliders by @scottcampbelldata in #334
- Mix in a separate window: Edit and Mix on screen at once by @Limestudio90 in #322
- Audio device settings (system, devices, rate, buffer) and opt-in ASIO by @Limestudio90 in #319
- Draw faders and meters more like Pro Tools by @grovebit in #380
- Require the Pencil tool to insert MIDI notes by @vbasky in #407
- Double-click a MIDI clip with the Grabber to open it in the MIDI Editor by @grovebit in #414
- Transient detection: find quiet and legato onsets, place them on the attack by @grovebit in #416
- Tab to Transient: every selected track, Alt+Tab back, Shift+Tab extends by @grovebit in #415
- Fall back to a system Hangul font so Korean names render in the UI by @Momentum96 in #417
- Mix: delay compensation covers the master faders' inserts (#351) by @Silvertree2010 in #409
- Mix: a bus bounce compensates the aux returns onto it (#246) by @Silvertree2010 in #408
- Engine: mix.instrument takes the instrument's parameters and refuses unknown fields (#265) by @Silvertree2010 in #410
- Drag across checkboxes to check or uncheck several (#399) by @mikkelkonyher in #413
New Contributors
- @marcoarnulfo made their first contribution in #269
- @lunar-me made their first contribution in #311
- @TheMojoMan made their first contribution in #264
- @sajibsrs made their first contribution in #358
- @webdevtodayjason made their first contribution in #379
- @Limestudio90 made their first contribution in #327
- @Claudio911015 made their first contribution in #401
- @mroxso made their first contribution in #342
- @iannitram made their first contribution in #324
- @Silvertree2010 made their first contribution in #260
- @isaac-levine made their first contribution in #309
- @SteamSmith made their first contribution in #215
- @woodgrain816 made their first contribution in #390
- @Momentum96 made their first contribution in #417
- @mikkelkonyher made their first contribution in #413
Full Changelog: v0.6.1...v0.7.0