Mp3tag has been great for getting tags from Discogs (or musicbrainz and freedb) into the mp3s of my vinyl collection for display in Windows Media Player. However, the Composer column in mp3tag remains blank, even though composers are shown against the tracks on the web page for the relevant Discogs ID. (Discogs says "written by").
I'm not really up to clever scripting stuff, but I don't understand why Composer doesn't come along with Track/Title/Artist info.
Ah, thanks, I think I'll try that, despite my inexperience with scripts. I see the pone mod thread has instructions at the top. Should I follow these substituting the newer "...2020_08_26.rar" file for the zip file originally referred to?
Yes exactly. But if it is too complicated here's the "compiled" scripts. I also changed the settings so some Credits like Composer go in their own field. pone-sources-with-Composer-tag.rar (102.9 KB)
I'm sorry to be a real newbie, but I've extracted the pone-sources-with-composer-tag rar, which gave me a bunch of src files which I put in the mp3tag profile folder. Running mp3tag again, I see no new "Discogs pone" option in the Tag Sources menu, which I thought is what would happen. I have no settings.mp3 file anywhere. Grateful for guidance.
Hey - I figured it out! Put those src files in the sub-folder called "sources" and it works. Many thanks.
One more question... Is there a way to only fetch and write tags for one field (say the composer) whilst leaving all other tags unchanged?
Interestingly, the line
set "title"
doesn't stop the title tag being re-written, though "track" "year" "artist" "album" and "albumartist" do and that's all I need.
Are you an author of mp3tag, Dano?
You can add this code which I created with the help of ChatGPT to any Discogs .src file and you will have the Written-By fields as Composer. I guess it works in the Pone src files and also in the default Discogs files:
# COMPOSER - Extract "Written By"
outputto "COMPOSER"
json_foreach "tracklist"
set "TEMP_Composer"
json_foreach "extraartists"
json_select "role"
if "Written-By"
json_select "name"
ifnotoutput "TEMP_Composer"
outputto "TEMP_Composer"
else
say "; "
endif
sayrest
endif
json_foreach_end
ifoutput "TEMP_Composer"
outputto "COMPOSER"
sayoutput "TEMP_Composer"
set "TEMP_Composer" # Variable leeren
endif
say "|"
json_foreach_end