Skip to content

feat(v1.2.3): Add MusicBrainz ID support for enhanced metadata tagging#3

Open
jtstothard wants to merge 2 commits into
TrevTV:mainfrom
jtstothard:musicbrainz-tagging
Open

feat(v1.2.3): Add MusicBrainz ID support for enhanced metadata tagging#3
jtstothard wants to merge 2 commits into
TrevTV:mainfrom
jtstothard:musicbrainz-tagging

Conversation

@jtstothard
Copy link
Copy Markdown

This release adds MusicBrainz tagging support to enable seamless import of Deezer downloads into Lidarr. The implementation uses a two-tier strategy:

  1. Primary (Lidarr mode): Accepts pre-supplied MusicBrainzIds from Lidarr's RemoteAlbum (zero ambiguity, uses Lidarr's match
  2. Fallback (Standalone mode): Performs MusicBrainz API lookup when MBIDs not provided

Changes

  • Added , , types
  • Added class for MusicBrainz web service API integration
  • Updated to accept optional parameter
  • Implemented ID3 tag writing for MusicBrainz fields:
    • MusicBrainzReleaseId
    • MusicBrainzReleaseGroupId
    • MusicBrainzArtistId
    • MusicBrainzReleaseArtistId
    • MusicBrainzTrackId

Usage

Notes

  • MusicBrainz API lookup is best-effort; failures don't block downloads
  • User-Agent header set to DeezNET/1.2.1 for MusicBrainz API compliance (should be updated to 1.2.3 before release)
    EOF
    )

Strategy: use pre-supplied MBIDs from Lidarr's matched album (zero ambiguity),
then fall back to MusicBrainz API lookup for standalone downloads.

- Added MusicBrainzIds parameter to ApplyMetadataToTagLibFile() calls
- Created MusicBrainzLookup.cs for MusicBrainz web service API client
- Support for ReleaseId, ReleaseGroupId, ArtistId, ReleaseArtistId, TrackRecordingId
- Best-effort approach: doesn't fail download if MB lookup fails
- Scoring-based release matching with 80% threshold

Enables seamless import into Lidarr by populating MusicBrainz ID fields
in downloaded track metadata.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant