Discogs Release ID.src (modded)
- Discogs Release ID Plus.src This is a personal modification built around my own tagging workflow.
This post explains what Discogs Release ID Plus.src implements compared to the official Discogs Release ID.src Mp3tag web source.
The goal of this modified version is not to replace the official source, but to address some semantic limitations (in my opinion) related to composer credits, and to explore additional role-based metadata β specifically for performers and other involved people β all within a single file.
Discogs Release ID Plus is meant to extend the official logic remaining fully compatible with Mp3tagβs existing workflows.
1)
Composer semantics in the official source
In the official Discogs Release ID.src, multiple writing-related roles are usually collapsed into a single output role (typically Composed-By).
This means that a semantically correct credit such as:
Release r83443 β Track 1: Hot Stuff
- Music By, Lyrics By β Harold Faltermeyer, Keith Forsey, Pete Bellotte
- Written By β P. Bellotte, H. Faltermeyer, K. Forsey
is often exported as:
Harold Faltermeyer, Keith Forsey, Pete Bellotte, P. Bellotte, H. Faltermeyer, K. Forsey
While this string is not technically wrong as a set of names, it loses role semantics and visually looks like duplicated or incorrect data.
A more faithful and readable representation would be:
Music-By: Harold Faltermeyer, Keith Forsey, Pete Bellotte
;Written-By: P. Bellotte, H. Faltermeyer, K. Forsey
The output uses Mp3tag separators ;
What Plus does differently
Discogs Release ID Plus preserves composer role semantics by building a structured COMPOSER field using role-specific buffers instead of collapsing everything into a single label.
Supported role labels include:
Lyrics-ByMusic-ByWords-ByWritten-ByComposed-By
The resulting COMPOSER field keeps the original meaning of each credit instead of reducing it to a flat list of names.
2)
Added PERFORMER field (track-level and sub-track safe)
The official Discogs Release ID.src does not expose a dedicated PERFORMER field derived from extraartists.
Discogs Release ID Plus adds a PERFORMER field, extracted from extra artist roles at both:
- track level
- sub-track level
The performer logic follows these rules:
-
Output format follows classic multi-value separators
\\style: -
Role: Name\\Role: Name\\... -
Writing-related roles (
Written-By,Lyrics-By,Music-By, etc.) are explicitly excluded -
Roles are not merged or normalized: the performer remains a natural result of the credited role
This avoids mixing composition credits into performance data and keeps the PERFORMER field clean and readable.
3)
(Optional) Additional sections: CREDITS β NOTES β COMPANIES β IDENTIFIERS
In a separate file, Additional Sections:
- Album-level Credits via field with multi-value separators
\\->INVOLVEDPEOPLE - Notes + Companies + Identifiers with Line breaks are written using Unicode CRLF (\u000d\u000a) ->
NOTES- Of course you can customize the output field with a different name.
Where to add it?
- Copy the block outside the tracklist routine, right after:
# Year
outputto "YEAR"
json_select "year"
ifnot "0"
sayrest
endif
Tips & Tricks β Customizing output fields
Renaming or remapping the PERFORMER field
If you prefer a different field name (for example ALBUMARTIST, MUSICIANS, or a custom Mp3tag field), you can remap it using Find & Replace.
The buffer TEMP_Performer is referenced in 27 places and finally written to the output field PERFORMER.
Find & Replace targets
TEMP_PerformerβTEMP_YourFieldNamePERFORMERβYourFieldName
Final output field occurrences:
- line 753
- line 1128
Album credits β track range formatting (optional)
Album-level credits include track ranges in this format:
Role: Name (tracks: 1, 7, 11)
You can customize or remove this behavior by editing:
regexpreplace ",\"tracks\":\"([^\"]+)\"" " (tracks: $1)"
Alternative options:
Change label:
regexpreplace ",\"tracks\":\"([^\"]+)\"" " (track - $1)"
Remove track information:
regexpreplace ",\"tracks\":\"([^\"]+)\"" ""
Third-Party Sources
-
Credits.srcby @ms6676749 β
Mp3tag Community -
Special thanks to @Florian Heidenreich, creator of Mp3tag
Compatibility notes
This is still a Mp3tag Web Source and should be used like the official one.
Output fields follow standard Mp3tag multi-value \\ and ;
Field names are intentionally flexible and can be adapted to individual workflows.
Once the tagging process is complete, you can use a cleanup action to customize the field as you like.
Final note
- Routines, functions, and variables are commented.
- Feel free to make constructive changes and modifications.
- Many thanks to ChatGPT for their support and contributions to the project.
coming soon ... PyOCA β Clean & Organize Credits/Performers for Discogs-Based Tags
Discogs Release ID Plus.zip (196.0 KB)