Brandon Thomas
98cda6ecaf
Merge pull request #1032 from Silvertree2010/fix/h2086-midi-export-writes-notes-that-a
...
Export only the MIDI notes a trimmed clip still plays
2026-11-01 23:06:40 -05:00
Brandon Thomas and Claude Opus 5.5
5e8898976e
Test a grid of 1/16, 1/32 and 1/64 bars in a row
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-01 23:06:02 -05:00
Brandon Thomas and Claude Opus 5.5
c426b889bb
Test MIDI export of a clip trimmed at both ends
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-01 23:05:08 -05:00
NetterSilver and Claude Opus 5.5
b32065a109
Keep score export notes when bars are shorter than a sixteenth
...
Found while testing crates/engine/src/score.rs:~150 (measure_grid, `if ub <= ua { break; }`), used by layout()
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-11-01 00:34:16 +01:00
NetterSilver and Claude Sonnet 5.5
97e2603683
fix: release a held sustain at the end of a trimmed MIDI clip on export
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-31 16:48:51 +00:00
Brandon Thomas
54d36c2fcc
Merge pull request #1075 from Silvertree2010/fix/1069-transport-play-from-is-ignored-i
...
Play transport.play {from} at the requested position, not the selection
2026-10-31 10:54:18 -04:00
Brandon Thomas
382965153a
Merge pull request #1214 from Silvertree2010/fix/h4142-range-param-ignores-end-length-w
...
Default range start to the selection start in range_param
2026-10-31 10:54:15 -04:00
Brandon Thomas
e60a559596
Merge pull request #1212 from kk376/fix/890-smf-tempo-track-floods
...
fix(engine): bound MIDI import tempo and track floods (#890 )
2026-10-31 10:54:02 -04:00
Brandon Thomas
a4e4a44bab
Merge pull request #1126 from SusieeTheLinuxUser/fix/clamp-clip-fx-gain-send-level
...
Mix: clamp clip-FX gain and send-level automation (fixes #884 )
2026-10-31 10:53:27 -04:00
Brandon Thomas
99895de2c7
Merge pull request #1101 from dotCooCoo/feat/zoom-toggle-cancel
...
Zoom Toggle: Alt+Shift+E and Alt-click cancel it and keep the current view
2026-10-31 10:53:23 -04:00
Brandon Thomas and Claude Opus 5.5
13b2488e95
Set an empty-range constant tempo at the range start
...
With start now optional, {end} alone resolves the start from the
selection; the empty-range fallback still went through event.tempo,
which put the tempo at tick 0. CodeRabbit flagged this.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-31 10:42:37 -04:00
NetterSilver and Claude Haiku 5.5
331b1820db
Default range start to the selection start in range_param
...
Found while testing crates/engine/src/cmd.rs:326-336 (range_param), used by crates/engine/src/cmd/event.rs:148 (insert_time) and :172 (cut_time)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-31 02:29:44 +00:00
Kushagra Kumar
966e253873
fix(engine): skip duplicate MIDI tempos only when session tempo matches
...
Collapse consecutive duplicate SMF tempos only if the session tempo at
the event tick already matches, so existing session tempo markers are
overridden as expected.
2026-10-31 05:50:50 +05:30
Kushagra Kumar
f7b0805de6
fix(engine): bound MIDI import tempo and track floods ( #890 )
...
import_midi_bytes capped meter changes at MAX_MIDI_METERS (10,000), but
left imported tempo events and synth tracks unbounded. Dense MIDI files
inserted unlimited tempo markers into the session tempo map, degrading
linear tick-to-sample conversions across playback and audio processing,
and instantiated up to 4,096 synth tracks for controller-only tracks.
Add MAX_MIDI_TEMPOS (10,000) and MAX_MIDI_TRACKS (512) caps checked
before session mutation, and collapse consecutive equal tempo events.
2026-10-31 05:35:09 +05:30
ydking0911
5a1324b8bc
Clear: lift clips removed by id in Shuffle so crossfade partners don't overlap
2026-10-30 16:13:42 +09:00
SusieeTheFemboy and Claude Opus 5.5
552607cbee
Merge main into fix/clamp-clip-fx-gain-send-level
...
main split crates/mix/src/lib.rs: the clip-FX gain clamp now lives in
clips.rs and the send-level automation clamp in automation.rs (via
crate::SEND_LEVEL_MAX_DB). Adds tests for the send-automation clamp and
the load-time sanitize clamp (#884 ).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-30 06:40:00 +01:00
ydking0911
9f5f312051
Clear: close the gaps of clips removed by id in Shuffle
2026-10-30 14:30:58 +09:00
NetterSilver and Claude Haiku 5.5
440999a51f
Play transport.play {from} at the requested position, not the selection
...
Fixes #1069
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-30 05:29:09 +01:00
NetterSilver and Claude Haiku 5.5
4740e8d4c4
Export only the MIDI notes a trimmed clip still plays
...
Found while testing crates/engine/src/io.rs:350-362 (export_midi)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-30 05:24:39 +01:00
Brandon Thomas
d2079bf09d
Merge pull request #1194 from storytold/m/land-995
...
Bound the command journal (#995 , rebased)
2026-10-29 22:04:22 -04:00
Brandon Thomas
5447c94cb6
Merge pull request #1193 from storytold/m/land-993
...
Bound Print Score and MusicXML output size (#993 , rebased)
2026-10-29 22:04:18 -04:00
Brandon Thomas
b4412929a7
Merge pull request #1109 from Silvertree2010/fix/h2757-audiosuite-processes-that-shorte
...
Clamp clip fades after AudioSuite processes that shorten a clip
2026-10-29 22:03:21 -04:00
Brandon Thomas
ca27f0f8b4
Merge pull request #1057 from Silvertree2010/fix/h2373-trim-tool-lets-a-stretched-clip
...
Scale trim_clip file bounds by clip stretch
2026-10-29 22:03:18 -04:00
Brandon Thomas
5075da2f3e
Merge remote-tracking branch 'origin/main' into land-993
...
# Conflicts:
# crates/engine/src/score.rs
2026-10-29 21:59:42 -04:00
Brandon Thomas
a62d955a39
Merge remote-tracking branch 'origin/main' into land-995
2026-10-29 21:59:42 -04:00
Brandon Thomas and Claude Opus 5.5
4e9d778734
Make the fade clamp test reach the fade-out bound too
...
A 10-sample fade-out was already shorter than the processed clip, so the
fade-out clamp went untested. Use 40, as CodeRabbit suggested.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 21:58:10 -04:00
Brandon Thomas
c2f14dff49
Merge remote-tracking branch 'origin/main' into fix1109
2026-10-29 21:57:47 -04:00
Brandon Thomas and Claude Opus 5.5
f39413033e
Cover the start bound of trim_clip on a stretched clip
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 21:57:36 -04:00
Brandon Thomas and Claude Opus 5.5
19f4b695e2
Merge origin/main into #1057 ; move its test to edit/tests.rs
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 21:57:36 -04:00
Brandon Thomas and Claude Opus 5.5
17d553a7a7
Refuse absolute audio paths in clip group files
...
A bare group path leaves the folder empty, so an absolute audio path
passed the starts_with check. Reject root and prefix components too,
as CodeRabbit noted, and cover it in the regression test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 21:56:21 -04:00
Brandon Thomas
57ae0a8b5d
Merge remote-tracking branch 'origin/main' into fix1020
...
# Conflicts:
# crates/engine/src/clip_group_file.rs
2026-10-29 21:56:21 -04:00
Brandon Thomas
b46584cc30
Merge remote-tracking branch 'origin/main' into fix1159
2026-10-29 21:54:18 -04:00
Brandon Thomas
228fd37ab7
Merge remote-tracking branch 'origin/main' into fix1134
...
# Conflicts:
# crates/engine/tests/it/edit_modes.rs
2026-10-29 21:53:13 -04:00
Brandon Thomas
60d18f225d
Merge pull request #1095 from dotCooCoo/fix/strip-silence-scan-stops
...
Strip Silence: closing the window while Mix shows stops the rectangle scan
2026-10-29 21:52:38 -04:00
Brandon Thomas
ba0c6e381f
Merge pull request #1106 from dotCooCoo/fix/wasm-clippy-drop-non-drop
...
Engine: wasm32 clippy reports no drop_non_drop in autosave and backups
2026-10-29 21:52:35 -04:00
Brandon Thomas
b119e3adce
Merge pull request #1077 from sanderdewijs/fix/playback-engine-command
...
setup.playback_engine / setup.hardware: apply device and buffer in the app, don't claim it headless
2026-10-29 21:52:27 -04:00
Brandon Thomas
0d8dde8294
Merge pull request #1181 from reoniazx/fix/dirty-state-comparison
...
Avoid cloning sessions when checking unsaved changes
2026-10-29 21:52:24 -04:00
Brandon Thomas
3b87c6dcc2
Merge pull request #1026 from CloudCorpRecords/fix/folder-delete-shared-bus
...
track.delete: keep a folder's input bus when surviving tracks route through it
2026-10-29 21:52:12 -04:00
Brandon Thomas
140e63fe09
Merge pull request #1148 from ayozetr/fix-895-stretch-render-budget
...
Bound the source span of stretch renders (fixes #895 )
2026-10-29 21:51:58 -04:00
Brandon Thomas
1ce93ab2ea
Merge pull request #1169 from Silvertree2010/fix/h3883-setup-current-timecode-overflows
...
Saturate and clamp session start in setup.current_timecode
2026-10-29 21:51:51 -04:00
Brandon Thomas
fda41ecd12
Merge pull request #1161 from Silvertree2010/fix/h3574-new-memory-location-during-playb
...
Fix stale end on a Memory Location added during playback
2026-10-29 21:51:43 -04:00
Brandon Thomas
b84d6c95d5
Merge pull request #1138 from Silvertree2010/fix/h3004-moving-several-midi-notes-left-p
...
Keep MIDI note spacing when moving notes left past tick 0
2026-10-29 21:51:28 -04:00
Brandon Thomas
1d99907d85
Merge pull request #1137 from Silvertree2010/fix/h3028-pasting-a-crossfaded-clip-pair-d
...
Keep crossfade overlaps when pasting clips
2026-10-29 21:51:24 -04:00
Brandon Thomas
57b3ae5357
Merge pull request #1123 from Silvertree2010/fix/h2893-elastic-warp-to-a-shorter-length
...
Clamp clip fades after elastic warp and remove warp
2026-10-29 21:51:21 -04:00
Brandon Thomas
adc7c13a37
Merge pull request #1062 from Silvertree2010/fix/h2436-moving-several-clips-left-past-t
...
Keep clip spacing when moving a group left past the session start
2026-10-29 21:51:14 -04:00
Brandon Thomas
f5d7ca5d87
Merge pull request #1061 from Silvertree2010/fix/h2409-musicxml-svg-score-export-writes
...
Strip XML-forbidden characters from MusicXML/SVG score export
2026-10-29 21:51:10 -04:00
Brandon Thomas
a6df32ffab
Merge pull request #1025 from Silvertree2010/fix/h2054-session-text-export-counts-midi
...
Count only audio-track clips in session text export
2026-10-29 21:51:07 -04:00
Brandon Thomas
7b654fd1a3
Merge pull request #1024 from Silvertree2010/fix/h2052-min-secs-position-strings-are-mi
...
Reject out-of-range timecode fields so Min:Secs strings fall through
2026-10-29 21:51:03 -04:00
reoniazx
986fb951df
Avoid cloning sessions for dirty-state comparisons
2026-10-29 20:19:47 +08:00
Sander de Wijs and Claude Opus 5.5
d97e5e7f16
Validate playback device command responses
...
Reject non-string device values before changing session or audio configuration, include bit depth in desktop responses, and report applied only for an open non-silent device.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 10:39:42 +01:00