Importing ID only (eg ASIN), with TagSources

Hi. This great tool has already enabled me to make a lot of progress organising about 500 CDs.

So far:

  • ripped with WMP 12. (Note for anyone else's future reference, do not auto-rip as the first track will have incomplete tag info. I learnt this the hard way after a couple of hundred CDs! But mp3tag, did make it much easier to repair).
  • Updated tracks to be ##, got disc numbers from the folder/album info.
  • Updated album info, composer, artist etc to be consistent across all (both for a single CD and the same name in the same format)

I'm trying to get album covers and identifying IDs ideally as many as are available (could be Amazon's ASIN, could be barcode, catalog number with record label etc). I have tried getting some of this through Picard and MusicBrainz. It seems to be available.

I have tried (with test copies) using Tag Sources / MusicBrainz and can see get the right album from the options. I can see some of ID info I would like to grab is available. BUT how can I stop it from overwriting other info (eg Album, Artist, track title & number)? Some album names I have slightly changed to make distinctions clearer between versions of similar CDs, I don't want those all overwritten by the MBz suggestions. And they seem to use n/N for track number.

I've had a look at the underlying .scr file and am not confident enough about amending it. (I have, many years ago, done a bit of programming in other forms but this syntax is not something I am familiar with).

Is there a way to select/deselect which tags to import in the GUI? Or can someone point out a simple edit to the .scr file that will then only pull in ID tags and cover art?

It would make sense to use/keep some of the other MusicBrainz tags if I am going to do this album by album, even if I can see no immediate need for them. Probably just at album level not track level.

Also, and this may be a MB question that I should ask over there: if I do add ASIN, Barcode & Catalog Number within Picard, where can I see/access that from within mp3tag? I've looked on extended tags after having amended one album and can't find it.

Ultimately I'm trying to get to a complete exportable library to dump into a spreadsheet.

Many thanks for any suggestions.

For future ref I also found the following useful.
Most importantly MBz XML page

I did have some other links to topics on the help forum but it won't let me add them as a new user - fair enough!

Thanks @poster for your reply. I've been looking through both your Google script and the MBz one. I can see most of what it is doing, but I am still confused about some of the syntax.

For example, in the MBz one.


outputto "TEMP_Title"
findinline "< title>"
sayuntil "< /title>"
say "|"


outputto "tracks"
say "|"

(This is within the loop over tracks.)
Then later, at the end, is the part similar to that referred to by @poster above.

outputto "Title"
sayoutput "TEMP_Title"

outputto "Track"
sayoutput "TEMP_Track"

set "TEMP_DiscNumber"
set "TEMP_DiscTitle"
set "TEMP_Title"
set "TEMP_TotalDiscs"
set "TEMP_TotalTracks"
set "TEMP_Track"

Is my understanding correct?

  1. The first part, tracks, extracts the text between the two delimiting tags for the title, ie between <title and </title (I don't know how to format the < > properly in a post, but I'm sure you know what I mean!). The outputto in the first line says to put this string into TEMP_Title.
  2. Then add a delimiter using say "|".

I then get confused. What is the next part, outputto"tracks" doing - or really, how is it doing it? Is it because the [IndexFormat] line at the very top, is defining the "data table" to be ...album then tracks...


So that the information directly after we extract the title is known to be track and so can be put straight into "tracks" using outputto"tracks"

Then, at the end, how does the set command work?

First assign to Title what is currently in TEMP_Title (I assume it is that and not the other way around, because it is TEMP_Title that is referenced when we pull info from the MBz data)?

Then assign to Track what is currently in TEMP_Track?

Then use set to leave unchanged that list of fields?

But aren't those TEMP_ fields just uses to temporarily hold values and are not the actual tag values? And having already assigned TEMP_Title to Title why does it matter what we do now with TEMP_Title?

If I want to keep the original Title field, should I
a) use set TEMP_Title - as per @poster reply
b) remove the part where the TEMP_Title is assigned to Title?
c) use set Title

some combination of these 3, or something else? And why/hows does it work?

Sorry this is a bit long, I'm just trying to be clear. I'm not at all familiar with scripting, and hopefully as well as answering my query this post may be useful to others in future who are trying to understand how those script add ins work and how they could be adapted.

I've looked for info on how the syntax works but haven't found anything, so any pointers to a reference guide would also be useful.

Many thanks.

Certainly for me, this is still impossible to de-code!! But that is another problem for another day!