Commit Graph
752 Commits
Author SHA1 Message Date
Brandon Thomas afb8e10ff2 Merge pull request #510 from MarekSpodBiedry/issue-462
Keep audio-io stream test limits as u64 so it compiles on 32-bit targets (#462)
2026-10-19 03:02:51 -04:00
Brandon Thomas b337801c66 Merge pull request #508 from MarekSpodBiedry/issue-467
Return TooLarge when the WAV header size overflows u64 (#467)
2026-10-19 03:02:47 -04:00
Brandon Thomas 00315b6fb4 Merge pull request #507 from MarekSpodBiedry/issue-468
Count the partial quartet in the base64 decoded-size cap (#468)
2026-10-19 03:02:43 -04:00
Brandon Thomas a593ca0130 Merge pull request #504 from MarekSpodBiedry/issue-471
Reject invalid numeric prereleases and restore Cargo.toml when version update fails (#471)
2026-10-19 03:02:39 -04:00
Brandon Thomas 5e94c0503f Merge pull request #483 from justinjohn0306/fix/472-midi-writer-clamp
MIDI writer: clamp out-of-range pitches and controller numbers (#472)
2026-10-19 03:02:34 -04:00
Brandon Thomas 18409ed52b Merge pull request #657 from marcoarnulfo/fix/track-group-rows-a11y
Tracks and Groups list rows publish their names to AccessKit
2026-10-19 02:55:04 -04:00
Brandon Thomas d67961a402 Merge pull request #655 from Audiosyncrasy/modify-group-dialog
Modify Group: edit a group's name, tracks and Edit/Mix linking
2026-10-19 02:55:00 -04:00
Brandon Thomas 7b8b69f5d3 Merge pull request #647 from marcoarnulfo/credits/marcoarnulfo
Contributors: add Marco Arnulfo
2026-10-19 02:54:57 -04:00
Brandon Thomas 8385c22616 Merge pull request #646 from marcoarnulfo/fix/web-open-dirty-session
Ask before a session opened in the browser replaces a modified one
2026-10-19 02:54:53 -04:00
Brandon Thomas bfd9bfbb89 Merge pull request #620 from marcoarnulfo/fix/automation-breakpoint-hits
Drag automation breakpoints and Alt-click to delete them in the Edit window
2026-10-19 02:54:50 -04:00
Brandon Thomas 14967a61bf Merge pull request #495 from rollroyces/fix/soundcraft-45-fedora-font-paths
fix(ui): add Fedora font paths so DejaVu and Liberation load on Fedora (#45)
2026-10-19 02:54:47 -04:00
Brandon Thomas 1d8e879c96 Merge pull request #479 from justinjohn0306/feat/268-portable-mode
Portable mode: portable.txt beside the executable keeps settings next to it (#268)
2026-10-19 02:54:43 -04:00
Brandon Thomas 06a303954e Merge pull request #425 from justinjohn0306/fix/374-instrument-menu
Track › Instrument: choose an instrument from the menu bar (#374)
2026-10-19 02:54:40 -04:00
Brandon Thomas 4e932785fe Merge pull request #645 from Silvertree2010/fix/h1875-track-write-midi-rtp-ignores-the
Shift controller events by Delay in track.write_midi_rtp
2026-10-19 02:54:37 -04:00
Brandon Thomas b96379e443 Merge pull request #633 from Silvertree2010/fix/h1763-markers-edit-ignores-its-documen
Make markers.edit apply its documented color parameter
2026-10-19 02:54:34 -04:00
Brandon Thomas 9d474a5388 Merge pull request #630 from Silvertree2010/fix/h1665-event-step-input-at-the-boundary
Fix step_input extending a MIDI clip over the adjacent next clip
2026-10-19 02:54:30 -04:00
Brandon Thomas 47e1b0e523 Merge pull request #629 from Silvertree2010/fix/h1599-session-with-a-meter-change-near
Drop out-of-range tempo and meter events when sanitizing a session
2026-10-19 02:54:27 -04:00
Brandon Thomas ef106bff24 Merge pull request #608 from Silvertree2010/fix/h1403-event-retrospective-record-overf
Clamp retrospective record start_ticks to stay within MAX_POSITION
2026-10-19 02:54:23 -04:00
Brandon Thomas 6bb5fbc978 Merge pull request #588 from Silvertree2010/fix/h851-min-secs-counter-ruler-shows-1-m
Fix Min:Secs showing 1 ms early at exact millisecond positions
2026-10-19 02:54:20 -04:00
Brandon Thomas 3b3ccbd563 Merge pull request #577 from Silvertree2010/fix/h772-midi-notes-move-overflows-panics
Saturate midi.notes_move tick and pitch arithmetic
2026-10-19 02:54:16 -04:00
Brandon Thomas 2adae474b7 Merge pull request #567 from Silvertree2010/fix/431-audit-punch-recording-overwrites
Apply the punch range before placing a recorded take
2026-10-19 02:54:12 -04:00
Brandon Thomas ed5c7ba19b Merge pull request #755 from dylanmtaylor/docs/add-sonar-coderabbit-badges
docs: add SonarCloud and CodeRabbit badges to README
2026-10-19 02:31:37 -04:00
Brandon Thomas 437459f6eb Merge pull request #660 from dylanmtaylor/ci/shared-nix-workflow
ci: switch to shared nix workflow from craft-common-actions
2026-10-19 02:31:33 -04:00
Brandon Thomas 168b54e0fb Merge pull request #680 from marcoarnulfo/fix/vst3-param-units
VST3: show the plugin's own text for identity-mapped parameters
2026-10-19 02:31:29 -04:00
Brandon Thomas fdb8acd531 Merge pull request #606 from Silvertree2010/fix/435-audit-clap-preparation-silently
Reject CLAP port layouts beyond host limits instead of truncating
2026-10-19 02:31:25 -04:00
Brandon Thomas d92c8601a7 Merge pull request #583 from IanHollow/codex/artcraft-soundcraft-appstream-screenshot-07722a36
Add an editor screenshot to AppStream metadata
2026-10-19 02:31:19 -04:00
Brandon Thomas 07665e676a Merge pull request #530 from mikkelkonyher/open-on-insert
Open a plugin when it's inserted (#486)
2026-10-19 02:31:14 -04:00
Brandon Thomas 4b1ba55bfa Merge pull request #497 from euisuh/fix/mcp-batch-limit-460
fix(mcp): reject oversized batches before execution
2026-10-19 02:31:10 -04:00
Dylan M. Taylor 79e5bb6efb docs: put SonarCloud and CodeRabbit badges on their own line 2026-10-18 14:47:46 -04:00
Dylan M. Taylor 2e9ad2f421 ci: configure Dependabot for Cargo and GitHub Actions
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
2026-10-18 12:31:49 -06:00
Dylan M. Taylor 172dc4edc6 docs: add SonarCloud and CodeRabbit badges to README 2026-10-18 11:01:17 -04:00
Dylan M. Taylor 31f0389397 docs: drop references to competing commercial software (#743) 2026-10-18 10:39:50 -04:00
Brandon ThomasandClaude Opus 5.5 c1bf044a85 Release 0.9.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 21:43:22 -04:00
Brandon ThomasandClaude Opus 5.5 2578ea69a3 Release 0.8.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.8.0
2026-10-17 17:16:15 -04:00
skylar taylor-barrick 3a1167ffd5 Merge pull request #726 from skylartaylor/linked-path-checks
Follow stored paths only on this computer or the session's share
2026-10-17 12:13:57 -06:00
skylar taylor-barrick 52bd33bb06 Build: take craft-docpath from the merged craft-libs rev
craft-libs#169 is merged, so the fork pin is no longer needed. Pinned to
storytold/craft-libs 82a24b006eefa036b43c09a67fb9a3fbd17ffe63 (main after the merge) rather than the older 12281d07,
which predates resolve_absolute and the Windows colon refusal.
2026-10-17 12:04:05 -06:00
aiongg 1e036eaa17 Build: use craft-docpath from craft-libs 2026-10-17 02:20:54 +00:00
Audiosyncrasy d65b04571c Merge branch 'main' into modify-group-dialog 2026-10-16 20:21:44 -04:00
aiongg bde132e0bf ProRes: check frame dimensions before allocating planes
decode_frame_into refuses a frame header larger than the movie picture
limit before sizing any plane, and Movie refuses a ProRes frame whose
header size differs from the track's declared size before decoding it.
2026-10-16 17:34:40 +00:00
aiongg 86b31e71d3 Sessions: follow stored source paths only on this computer or the session's share
Audio source and movie paths stored in a .scraft session go through
io::stored_path (craft-docpath) before they reach the file system: a
relative path is taken from the session's folder, and paths on other
computers, devices and URLs are refused. A refused source is reported
as missing with the reason; a refused movie is marked offline and the
Video track and Video window show why instead of opening it. Import
Session Data and crash recovery resolve the same way.
2026-10-16 17:32:35 +00:00
Marco Arnulfo 783ce8f44b VST3: show the plugin's own text for identity-mapped parameters (fixes #599) 2026-10-16 15:20:11 +02:00
Dylan M. Taylor 18dd68eb1d ci: switch to shared nix workflow from craft-common-actions 2026-10-15 23:41:52 -04:00
skylar taylor-barrick f3a19480d8 Merge pull request #649 from dylanmtaylor/ci/nix-workflow
ci: add nix check workflow
2026-10-15 21:25:01 -06:00
Marco Arnulfo d484a716ad Tracks and Groups list rows publish their names to AccessKit (fixes #651) 2026-10-16 04:39:08 +02:00
Audiosyncrasy 6594badf37 Modify Group: edit a group's name, tracks and Edit/Mix linking
A track group's name, membership and Edit/Mix flags could only be set
when it was created: nothing in the engine or the UI could change them
afterwards, so a typo in a group name was permanent.

Add track.group_modify {group: id|name, name?, tracks?, edit?, mix?}.
Omitted fields keep their value. `tracks` replaces membership only when
it is an array, so a mistyped param cannot silently swap the members for
whatever happens to be selected; it dedupes, rejects an empty group, and
rejects an empty or duplicate name, since find_group resolves by name.
The group's letter is left alone: it is the stable id in the Groups list.

Dialog::Group gains an optional group id. None creates, as before; Some
pre-fills from the group and dispatches track.group_modify, so one dialog
serves both. Reached from Modify Group... in the Groups list context menu.
OK is now disabled while no track is checked, since both commands reject
an empty group and the old OK could only raise an error.

The command has no menu path, so it adds no menu leaf and the parity
checklist is unchanged.
2026-10-15 21:37:56 -04:00
Dylan M. Taylor 69caa17ff7 ci: add nix check workflow 2026-10-15 20:50:32 -04:00
p.illmerandClaude Fable 5.1 ba467b2b72 fix(engine): compile Windows tests (#571)
`cargo xtask ci` failed on Windows before any test ran: the `windows_ignores_case_and_refuses_devices` test moved `upper` into `check` and borrowed it afterwards for the assertion message (E0382), and the recovery test's `paths` is only mutated inside its `#[cfg(unix)]` symlink block, so `-D warnings` rejected the `mut` everywhere else. Neither test is compiled on macOS or Linux, which is why CI never saw them.

With this, `cargo xtask ci` passes on Windows 11 (MSVC, Rust 1.99).

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 18:34:31 -06:00
Marco Arnulfo 9477e7cb08 Contributors: add my name for the About window 2026-10-16 02:20:21 +02:00
Marco Arnulfo 29c014deef Ask before a session opened in the browser replaces a modified one (fixes #432)
Picking a session with Open Session or dropping one on the page in the
browser replaced the document as soon as its bytes were read, without the
Save Changes question the native Open goes through, so unsaved edits and
their undo history were lost. The bytes now wait behind that question,
asked when the read finishes: Don't Save opens them, Save saves first and
then opens them, Cancel drops them and leaves the document alone.
2026-10-16 02:01:15 +02:00
NetterSilverandClaude Haiku 5.5 0dfb074820 Shift controller events by Delay in track.write_midi_rtp
Found while testing crates/engine/src/cmd/track_more.rs:370-392 (write_rtp); playback side: crates/mix/src/lib.rs:1526-1527

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:07:39 +00:00