playlists + lyrics: setlists with pages of their own, and the words timed to the voice

This commit is contained in:
KeelrLeek committed 2026-08-17 18:05:31 -05:00
1 parent c4ff6269a3
commit df3d15553a
49 files changed
+14419 -599

No files matched your search

+30 -2
View File
@@ -27,8 +27,36 @@
*
* 1. Deezer try-list, MusicBrainz fallback.
* 2. + the artist's own catalogue, ranked by title similarity — finds records
* whose folder name no release carries ("1989 Pauls Boutique"). */
export const IDENTIFY_ENGINE = 2;
* whose folder name no release carries ("1989 Pauls Boutique").
* 3. + the artist the TAGS name, asked when the folder's artist found nothing
* or the wrong record, and + a try-list that refuses to strip a title down
* to its catalogue number ("Band Of Gypsys (SICP 2643)" → "(SICP 2643)").
* 4. + the title without a trailing release-type word ("Willoughby's Beach EP"
* → "Willoughby's Beach"). Both providers require every word of the
* phrase, so the one appended word hid a record each of them holds.
* 5. + the FOLDER as a second witness, asked after the record's own claim.
* Tags carry typos the folder does not ("Nonagon Infiniry" on all nine
* files, in a correctly-spelled folder), and until now one wrong tag was
* the only thing any provider was ever asked about.
* 6. + the record's TRACK COUNT breaks the tie when one title names several
* MusicBrainz release groups ("Murder of the Universe" is a 21-track Album
* and a 1-track Single, both scored 100, in an unstable order), and a
* provider request that FAILED no longer caches as "nothing found".
* 7. The last resort stopped being a title search dressed as a comparison. It
* ranks the artist's WHOLE MusicBrainz discography — complete, where
* Deezer's listing omitted EPs entirely — and decides on every fact the
* scan has: wording, track count, year, the TRACKLIST, and the record's own
* ARTWORK hashed against the discography's covers. A name is one fact about
* a record and the one most often wrong; `Rock Bottom 7"` scores 0.667
* against the release actually called "Rock Bottom / Octopus", and 2 of 2
* on its songs.
*
* BUMP THIS AFTER THE RUST BUILD LANDS, never before. Vite hot-reloads this
* constant instantly while the capability it describes lives in
* `metadata::identify_titles`, so bumping it against a running old binary
* makes that binary sweep the negatives and re-stamp the record on screen as
* freshly looked at by code that learned nothing. */
export const IDENTIFY_ENGINE = 7;
/** The value most of the list agrees on, ignoring blanks. Ties go to the first
* value seen, which keeps the result stable for a re-render. */