Assign Discnumbers based on a tag change?

I catalog my music by recording date by saving the recording session info such as "Duke Ellington And His Orchestra, Studio #1, 145 E. 24th Street, New York City, February 3, 1932, 13:30-16:30" into %subtitle%.

Since the combination and numeric values does not allow MusicBee to sort the songs in chronological order, I assign a disc number to each session to hold the album in chronological order

After inputting the session info:

  1. I run Tag-filename> %subtitle%%track% ~ %title% to move all tracks into folders named by Recording Session
  2. I then run Auto Renumber Wizard with 'Reset counter for each directory' and 'Discnumber' ticked to assign a discnumber to each folder's containing tracks and reset the %track% Numbering for each 'disc'

Using MusicBee's sub-header settings along with it's function of splitting discs into paragraphs, I am left with a perfectly cataloged result:


But I have run into a problem:

If a %subtitle% tag contains a illegal character for example "Ivie Anderson (v), Duke Ellington And His Famous Orchestra, Studio #1, 145 E. 24th Street, New York City, February 26, 1942, 12:30-4:30"

I cannot create the folders needed to create the Discnumber, I do not need the folders named as such afterwards- I usually rename them to just the discnumber to shorten the path.

I need a method of apply accending discnumbers upwards (1,2,3...) each time the %subtitle% tag changes to something else as the files are ordered in mp3tag:

Does anyone have any ideas?

To cut this short: MP3tag does not compare the tag contents of (2 or more) files. The only function is the track numbering wizard that reacts to folder changes.

Can you think of an alternative method?

There is always the option to export tag data to a text file and process that text file so that in the end you get the right data that you then re-import ...
I can't judge whether it is worth the effort or whether just a different naming scheme would do it.

I have just tried:

  1. Exporting all subtitle data to a txt file
  2. Tag-tag Field: SUBTITLE Value: $validate(%subtitle%,_)
  3. I then attempt to Tag-Filename: backslash%subtitle%backslash%track% ~ %title% (** I have just realized backslashes have not shown up in my previous post due to forum reasons- hope that did not cause confusion)

Step 4. was to continue my aforementioned usual process with auto-numbering wizard to apply the new discnumbers, followed by importing the txt file back into %subtitle% to restore the original metadata to it's illegal character form

I get about 40 file errors, here's one:

File "F:\Music\Music\Duke Ellington\Centennial Edition - The Complete RCA Victor Recordings\Centennial Edition (disc 19)\07. It's Freedom.mp3" cannot be renamed to "F:\Music\Music\Duke Ellington\Centennial Edition - The Complete RCA Victor Recordings_The Second Sacred Concert_ Alice Babs_Devonne Gardner_Roscoe Gill_Trish Turner_Tony Watkins_AME Mother Zion Church Choir_Central Connecticut State Singers (v), Duke Ellington And His Orchestra, Fine Studios, Great Northen Hotel, 58th. Street, New York City, January 22, 1968\16 ~ It's Freedom ( AB,DG,RG,TT,TW,CHO -v).mp3".
The filename, directory name, or volume label syntax is incorrect.

Is it the path length possibly causing the issue? Another reason could be the amount of Spaces?

if $validate is missing a illegal character- I'm not seeing it.

After I apply 'reset counter for each directory' I usually Tag-filename: backslash%discnumber%backslash%track%~%title% so shorten the file path afterwards

I just need the files sharing the same %subtitle% tag to move into folders so I can apply 'reset counter for each directory' as having the tracks listed in chronological order when loaded into mp3tag is the only requirement when doing so.

This method has always worked, I'm just getting tied up due to these illegal characters and/or something I'm missing

yes, the fully qualified filename is very long. I think that MP3tag allows long filenames - does your file system, too?

It could be that the apostrophe causes problems.
$validate() removes illegal characters - the backslash and the colon aren't, though.

If the whole story becomes desperate:
If you sort by subtitle and add a user-defined field that takes just, let's say, the first 5 characters from the subtitle and you then move the files to their new location which is named after the user-defined field.
And then, when everything is numbered, you rename the folder (and not the files) to their full beauty with the original subtitle field.
Perhaps that works easier.

And just my opinion: the only quality a filename has to have: it has to be unique. The attempt to use the filename as data backup will almost always fails as there are too many restrictions in respect to character set, length and valid and invalid characters.
Also, the structure of files in the file system is more or less without significance as any decent player will sort and group tracks to the criteria defined by the tags - and will use the filename as that what it is: a unique identifier.
So before you put on your thinking cap and devise a clever file naming scheme, the effort may be spent with a lot more reward on the tag data.

You are trying to combine a disc storage catalog with discographical info that is not normally included. That is an ambitious project, John.

Since the combination and numeric values does not allow MusicBee to sort the songs in chronological order, I assign a disc number to each session to hold the album in chronological order.

Your current system doesn't do that because your disc numbers do not follow the chronological order of the recordings, putting B takes before A takes. Another drawback of your current arrangement is that so much data is duplicated within each session. For example, the street address of the studio is repeated three times for a single session on Feb 2, 1932. That is unnecessary and clutters the listings considerably.

To avoid these drawbacks, consider using a more conventional discographic structure for 78 rpm sides, such as the one used by Brian Rust and many others: group by artist, by session date, and by disc matrix number. Here is a screenshot of an example from Brian Rust:

Matrix numbers will sort chronologically within a session and will qualify as legal file or folder names. 78-era matrix numbers did not use characters that are forbidden in Windows names, so that part of the issue would be moot.

The current discographical convention is to separate the session date from the other session info (Rust did not do this because he wasn't using a PC). In a PC database the session date is the sort key for an artist's work. A sort by session date and matrix number would give you the results that you want (assuming that MusicBee supports a two-level sort).

Note how the session location is listed only once for each date, greatly reducing the clutter that I mentioned above. Of course, you would have to add new tag fields for matrix # and for recording date, unless you already have these.

You can download a free PDF of Brain Rust's landmark book "Jazz & Ragtime Records (1897-1942)" here:

Rust has way more info than you may want but my point is his structure. As I am not familiar with MusicBee, I can't comment on how well (or even if) my suggestions would work with it.

My system does work up until the issues I mentioned,

That screenshot was not the best example, that was one of the first box sets I cataloged and I have reworked my cataloging system since then since I have since changed how I manage vocalist tracks and no longer split them (though there are some sessions on the same day with different times)

Here's a better screenshot of my improved system (I have not applied/updated the album I pictured before)

I apologize for not being clear about my disc numbering reasons,
MusicBee splits discs into 'paragraphs'

I have programmed MusicBee to add %subtitle% as a subheader, when multiple tracks sharing that tag are grouped together, it reduces to one subheader per identical %subtitle% tag.

The %discnumber% although not derived from a 'real disc'- groups the recording sessions in order when assigned manually to the tracks of each session.

I know my system understandably seems odd to you, but it simply allows me to catalog recordings within MusicBee's environment. I'm simply using this method make to this all compatible with MB. I can however get around these issues by inputting the new discnumbers as I go in future.

In regards to Matrix Numbers, I have noticed many instance where up to the final -# the matrix repeats along different recording dates- maybe those are mistakes made in the various discographies I must cross reference to weed out mistakes-maybe not, but i do not trust them for chronology.

My final goal is to enter all matrix numbers into %setsubtitle% and have it displayed where the track numbers are- but still order them via %track%. I think I can tag matrix numbers at about 300 tracks an hour

By the time I am finished I will have a layout just like the picture you posted- except I'll be able to click each song and play it!

John, your revised screen shot looks excellent.

No, it was not uncommon for takes of a given matrix to be spread over more than one session. For example, the time allotted for the initial session ran out before an acceptable take could be recorded. Or the accepted take was damaged during production and had to be recorded again days or even weeks later. But as long as the matrix numbers within a session are sorted in ascending order the take sequence should be correct.

Wow, that will be very cool indeed!