feat(library): adopt SACD images found by the folder scan

The scan never treated an .iso as audio; images only entered the library
through Open > disc image. Each root's scan now walks its .iso files,
asks qbz_disc::sacd::is_sacd_image for the SACDMTOC signature (PVD plus
Master TOC sector, four 2 KB reads at most, no directory parsing) so a DVD
or data ISO leaves silently, skips images already imported with the same
size and mtime without any I/O, and adopts the rest through the
generation-based import. The row builder moved from sacd_qt into
qbz_library::sacd_scan and the manual open is now its client, with the
translated fallback labels. Parser and import rejections are scan errors.

cc
This commit is contained in:
vicrodh committed 2026-09-02 20:34:59 -06:00
1 parent 1f54fd9fcb
commit 024cc121a9
8 files changed
+553 -197

No files matched your search

+3
View File
@@ -27,6 +27,9 @@ dirs = "6"
# Audio metadata
lofty.workspace = true
qbz-dsd = { path = "../qbz-dsd" }
# SACD images found by the folder scan: signature sniff + Scarlet Book TOC
# parse + the disc memory (sacd_scan.rs). qbz-disc depends on nothing here.
qbz-disc = { path = "../qbz-disc" }
# Image processing (thumbnails)
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }