soulsync/database
Broque Thomas e8a5e253f6 Rebuild artist SoulID: track-verified canonical ID from Deezer + iTunes
New algorithm: pick first track alphabetically from artist's library, search
both Deezer and iTunes APIs for 'artist track' to find the exact artist,
verify name matches, then use max(deezer_id, itunes_id) as the canonical
differentiator. Deterministic across instances — any SoulSync with the same
artist and at least one matching track will produce the same soul_id.

Fallback chain: canonical API ID → first album title → name only.
Migration clears all artist soul_ids on first v2.1 startup for regeneration.
2026-03-23 18:34:36 -07:00
..
__init__.py basic db structure 2025-08-05 22:43:04 -07:00
music_database.py Rebuild artist SoulID: track-verified canonical ID from Deezer + iTunes 2026-03-23 18:34:36 -07:00
music_library.db basic db structure 2025-08-05 22:43:04 -07:00