Fallback MusicBrainz IDs from AudioDB

Use MusicBrainz IDs returned by AudioDB as fallbacks when MB lookup is missing. The patch maps strMusicBrainzID/strMusicBrainzAlbumID/strMusicBrainzArtistID to MUSICBRAINZ_RECORDING_ID, MUSICBRAINZ_RELEASE_ID, and MUSICBRAINZ_ARTIST_ID respectively (only if those tags are not already present), sets recording_mbid and artist_mbid where applicable, and adds informational prints for debugging.
This commit is contained in:
Broque Thomas 2026-02-21 18:02:09 -08:00
parent 8ac00f124a
commit eedd21f9aa

View file

@ -9123,6 +9123,21 @@ def _embed_source_ids(audio_file, metadata: dict):
if adb_track_id:
id_tags['AUDIODB_TRACK_ID'] = str(adb_track_id)
print(f"🎵 AudioDB track matched: {adb_track_id}")
# Use AudioDB's MusicBrainz IDs as fallbacks for any missing from MB lookup
adb_mb_track = adb_result.get('strMusicBrainzID')
if adb_mb_track and 'MUSICBRAINZ_RECORDING_ID' not in id_tags:
id_tags['MUSICBRAINZ_RECORDING_ID'] = adb_mb_track
recording_mbid = adb_mb_track
print(f"🎵 MusicBrainz recording ID from AudioDB fallback: {adb_mb_track}")
adb_mb_album = adb_result.get('strMusicBrainzAlbumID')
if adb_mb_album and 'MUSICBRAINZ_RELEASE_ID' not in id_tags:
id_tags['MUSICBRAINZ_RELEASE_ID'] = adb_mb_album
print(f"🎵 MusicBrainz release ID from AudioDB fallback: {adb_mb_album}")
adb_mb_artist = adb_result.get('strMusicBrainzArtistID')
if adb_mb_artist and 'MUSICBRAINZ_ARTIST_ID' not in id_tags:
id_tags['MUSICBRAINZ_ARTIST_ID'] = adb_mb_artist
artist_mbid = adb_mb_artist
print(f"🎵 MusicBrainz artist ID from AudioDB fallback: {adb_mb_artist}")
audiodb_mood = adb_result.get('strMood') or None
audiodb_style = adb_result.get('strStyle') or None
audiodb_genre = adb_result.get('strGenre') or None