v0.12.1: stop asking where the music is when config.json already says
Restarting on the machine that mounts the drive at /media/trav/muzak opened "LinTunes can't find your music folder", offering ~/Music. The library's only music_folder is the other machine's mount point (/run/media/trav/tummult/...) because this library predates 0.10 and has no music_folder_rel yet — but config.json has held the right path all along under music_root, which `--music-root … --save-config` writes and the importer stores as library.music_folder. resolve() only looked for music_folder_override, a key that exists solely because the prompt writes it, so a library imported the normal way could never satisfy the check that decides whether to prompt. music_root is now a machine-local candidate alongside music_folder_override, consulted in the same last-resort position and subject to the same must-exist rule, so a stale one still reports "missing" rather than resolving to a phantom tree. Read-only: nothing writes it back, and the newer key still wins when both are present. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y9ZEFi4qNJ39FMiBtiAxy2
This commit is contained in:
@@ -140,7 +140,10 @@ persistence) → GUI (Qt widgets that read the manager and connect to its signal
|
||||
floor between versions), `music_folder_rel` relative to the data dir (the
|
||||
portable one, same trick as `Track.location`), and `music_folder_set_at`, a
|
||||
stamp so a merge prefers the newest *setting* rather than the newest *file*.
|
||||
`resolve()` tries rel → legacy → the per-machine override in `config.json`,
|
||||
`resolve()` tries rel → legacy → the per-machine override in `config.json`
|
||||
(both `music_folder_override` *and* the older `music_root` that
|
||||
`--music-root … --save-config` writes — an imported library already
|
||||
knows where its music is on this machine, so don't ask),
|
||||
and every candidate must **exist** — the override is consulted last so a
|
||||
machine that once needed one isn't pinned to it forever. Two rules that bite:
|
||||
`LibraryManager.set_music_folder` must call `mark_library_settings_dirty()`
|
||||
|
||||
Reference in New Issue
Block a user