Repository navigation
feat: run the music server on macOS (Metal, unified memory) - #51
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…data) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Besides the macOS support in
Built from scratch on Apple Silicon: the engine builds and starts, the dmg builds (53 MB), its signature verifies, and Audio to MIDI ( Not verified: Windows (behaviour unchanged by design). |
…ndows .exe) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…r for child tools Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… snapshots Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Same change as the macos-quit-confirm branch (PR timoncool#53). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…are offered back - Stopping a song marks its job cancelled when the engine accepts the stop, instead of leaving it "running" until the engine reaches a checkpoint, so every window drops its card. - Requests the engine has taken are kept in music-jobs.json until their job ends. What is left at the next start is shown as an "Interrupted" card with Make again / Remove; nothing starts on its own. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…s again Replaces music-jobs.json and the /v1/music/interrupted routes. A job is saved to the library database as soon as the engine takes it and its status is written when it ends. At the next start, jobs still queued or running were cut off by the studio closing: each is marked cancelled (its message names the job that replaced it) and started again, oldest first, at most 3 times. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Если кратко, то этот пр позволяет запустить код на маке, но не сломал ли я что-то в винде, я проверить не могу |
A stopped or failed job was kept in the database but only the cut-off ones were read back, so after a restart the others answered "not found". Their message is now stored too, and the newest 200 are loaded at start. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
GET /v1/music/jobs/ended lists them (they survive restarts, kept in the
library); DELETE /v1/music/jobs/{id} removes one for good.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…service asks first
The second press of the button ("Reset GPU") stopped every job the service
had, including another window's and an agent's, with no question. Cancel All
now stops only this window's songs, found by the mark each request carries.
The second press is "Stop all on the server" and says how many jobs it
will stop before it does.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Спасибо! Windows не сломался: PR вошёл в 3.5.0, я проверил на установленной Windows-сборке - «Отменить генерацию» останавливает песню сразу, при закрытии студии посреди генерации она спрашивает, песня, на которой студию закрыли, при следующем запуске стартует заново, а движок завершается вместе со студией. Сборка для macOS (Apple Silicon) из твоего PR теперь выходит в каждом релизе рядом с Windows и Linux. |
…edits for pull request timoncool#51
Summary
system_profiler(sppci_model), unified memory reported as total RAM.Autobackend on macOS lets the engine pick its device (Metal), never Vulkan; falls back to CPU if that start fails.#[cfg(windows)];device_chaintest is platform-aware.Windows behaviour is unchanged.
Test plan
cargo test -p music-server --libon macOS (281 passed, 4 ignored)🤖 Generated with Claude Code