[WS] Discogs Release ID.src (modded)

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) :pencil: 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 ;

:magnifying_glass_tilted_right: 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-By
  • Music-By
  • Words-By
  • Written-By
  • Composed-By

The resulting COMPOSER field keeps the original meaning of each credit instead of reducing it to a flat list of names.


2) :guitar: 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) :bookmark: (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.

:red_question_mark: Where to add it?

  • Copy the block outside the tracklist routine, right after:
# Year
outputto "YEAR"
json_select "year"
ifnot "0"
sayrest
endif

:hammer_and_wrench: Tips & Tricks – Customizing output fields

:small_blue_diamond: 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_YourFieldName
  • PERFORMER β†’ YourFieldName

Final output field occurrences:

  • line 753
  • line 1128

:small_blue_diamond: 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\":\"([^\"]+)\"" ""

:globe_with_meridians: Third-Party Sources


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.


:end_arrow: 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.

:glowing_star: coming soon ... PyOCA β€” Clean & Organize Credits/Performers for Discogs-Based Tags

Discogs Release ID Plus.zip (196.0 KB)

2 Likes

Update for the script from the first post, Discogs Release ID Plus, with major new features. The tagging workflow is now closer to the "Pone style scripts" approach.

The code has been renamed and the Dynamic suffix has been added.


Discogs Release ID Dynamic Plus v9.3

Main new features introduced in the Web Source (.src) script for Mp3tag.

  • Maintaining the PLUS version as a reference, together with its proven functionality, and with permission from @yorickausyps, author of the "dynamic regular expressions" used in this script, the functions that populate individual tracks with artist names extracted from release credits (Discogs DOM) have been integrated.


  • With this modification it is finally possible to retrieve information contained in "Credits" and interpret track numbers by associating artist names and roles with their respective tracks. The destination field in the script is Album_Credits.

  • e.g. vinyl Acoustic Guitar – Barry Gibb (tracks: A1 to A3, B1, B2).

  • e.g. CD Cello [Cellos] – Tony Pleeth (tracks: 1, 8, 9, 11, 12), Ben Kennard (tracks: 1, 8, 9, 11, 12), Paul Kegg (tracks: 1, 8, 9, 11, 12).

The rebuild has also been applied to the Composer workflow. On tracks where authors are credited with different roles, the output preserves these associations by separating labels with semicolons.

Added support for capturing the CHAPTER field for individual tracks, derived from headings or index titles of the corresponding sub-tracks.

The script has been tested with CD editions, box sets, vinyl singles, and multi-disc vinyl sets.


It should be reiterated that the field names used in this WS code are entirely "arbitrary" and can easily be replaced using a text editor such as Notepad++.


Thanks to @Florian, creator of Mp3tag, and @yorickausyps, author of the "dynamic regular expressions".


Discogs Release ID Dynamic Plus v9.3.zip (9.8 KB)

1 Like