Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Need help undoing "split values" in mp3 file (Read 2619 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Need help undoing "split values" in mp3 file

I experimented with using the "splitting values" foobar2000 properties command on the genre tag field in an album.  Each track had a flac and mp3 version, the mp3 version with just ID3v2.3 tag fields, FLAC with just vorbis comment tag fields.  Before applying the command to just the genre tag field, the values were separated by a semicolon and all of the field contents displayed in foobar2000 as a single value as I expected.  Upon applying the command, genre values were separately recognized within foobar2000.  So far so good.

I decided I wanted to undo this change and go back to the original genre tag field contents and interpretation, where foobar2000 essentially ignores the semicolon and displays the genre tag field as a single value.  I was able to undo the changes to the FLAC files easily (one tag, read as a single string and ignoring the semicolon), but have yet to find a way to undo the changes to the mp3 files (genre tag values still recognized as split values).  Any tips would be appreciated.

FWIW, I noticed the FLAC tag was rewritten upon value splitting to include two genre tags, each with one of the split values, and deleting one of the tags and editting the contents of the other in Mp3tag undid the split values.  BUt I can't see any difference in the TCON frame of the mp3 files after the split values command was applied (using Mp3tag and a hex editor), thus I don't know what to change to undo the split value effect.  I tried deleting the genre tag field in the affected files and then the affected mp3 files from my library and re-adding the tag and files, but the genre tag values are still recognized a split for these mp3 files. 

I'm using 1.1.13, the latest version of CUI and foo_playcount 3.0.2, among other components.  Glad to provide more info, and thanks for any help.

Need help undoing "split values" in mp3 file

Reply #1
You "can't see any difference in the TCON frame of the mp3 files", as in you see only one frame? Mp3tag would list GENRE x number of times for however many TCON frames it detects in the mp3 file in the Extended Tags dialog. If GENRE is listed only once, then there is only one TCON frame. Also, Mp3tag would show "genre 1\\genre 2" in the genre column if there were multiple frames.

Starting with 1.1.12, foobar joins multiple TCON frames into one frame when you edit your tags. In 1.1.12, the delimiter was a "/" but this caused issues for those who use a forward slash in their genres, so beginning with 1.1.13 the delimiter was changed to a semicolon ";". Thus a TCON frame containing "genre 1; genre 2; genre 3" will be seen as having 3 genre values instead of 1. Prior to 1.1.12, it was necessary to split a multivalued TCON frame into multiple TCON frames with a single value each for foobar to detect each genre.

If you actually do have multiple TCON frames in your files, open them up in Properties and modify a tag in some way. Click Apply and foobar should automatically join those frames into one using ";" as a delimiter between the values. You can also use Mp3tag to join multiple frames under Actions.

Need help undoing "split values" in mp3 file

Reply #2
Quote
You "can't see any difference in the TCON frame of the mp3 files", as in you see only one frame? Mp3tag would list GENRE x number of times for however many TCON frames it detects in the mp3 file in the Extended Tags dialog. If GENRE is listed only once, then there is only one TCON frame. Also, Mp3tag would show "genre 1\\genre 2" in the genre column if there were multiple frames.


I stated "frame" because I only have one, and have always only had one, frame for genre in any single mp3 file.  I am aware of how to use Mp3tag and a hex editor to confirm this, and I have confirmed this.  My comment stands: before and after using the "split values" command, I can see no change in the TCON frame of the exeriment files, but foobar2000 clearly does something somewhere as foobar2000 shows the separate values in the CUI genre library filter for just the experiment files.  The most likely reason for the lack of any apparent change in the TCON frame is that I've always used ";" in my TCON frame in the experiment files, but prior to the experiment all contents of the TCON frame were interpreted as a single value, which is what I wanted and what I want to go back to.  FWIW foobar2000 still treats the TCON frame contents as a single value in other mp3 files with a ";" that I did not experiment on.

Quote
Starting with 1.1.12, foobar joins multiple TCON frames into one frame when you edit your tags. In 1.1.12, the delimiter was a "/" but this caused issues for those who use a forward slash in their genres, so beginning with 1.1.13 the delimiter was changed to a semicolon ";". Thus a TCON frame containing "genre 1; genre 2; genre 3" will be seen as having 3 genre values instead of 1. Prior to 1.1.12, it was necessary to split a multivalued TCON frame into multiple TCON frames with a single value each for foobar to detect each genre.


Since I never experimented with splitting values before 1.1.13, I can only confirm that 1.1.13 seems to write ";" to the TCON frame to denote separate values.  Since none of the mp3 files that I did not experiment on have always used ";" and still are interpreted as a single value, the "split value" command does something and I'd like to find out how to undo whatever it's doing so that I can get back to how foobar2000 is interpreting the TCON frame in the mp3 files on which I did not experiment.

Among the many things I tried where all of the relevant suggestions in http://www.hydrogenaudio.org/forums/index....showtopic=76655 .  No joy. Thanks for the thoughts, and I hope my comments help clarify my situation.

Need help undoing "split values" in mp3 file

Reply #3
OK, there's a difference in how foobar writes TCON frames in 1.1.13 (and I assume 1.1.12 also) from how it writes them in 1.1.11 and earlier. I did some experimenting and viewed a file in my hex editor under different scenarios using Mp3tag, foobar 1.1.11 and foobar 1.1.13.

Basically what's happening is that foobar now specifies a semicolon (;) as the delimiter in the TCON frame it writes. The files you didn't experiment on lack this delimiter and so foobar doesn't see the TCON frame in those files as having multiple values.

To remove foobar's ability to see multiple values in the files you did experiment on, you'll need to rewrite the TCON frame in those files. Open the files in Mp3tag and alter the Genre tag in some way and save it. Mp3tag will rewrite the frame without the specified delimiter.

Need help undoing "split values" in mp3 file

Reply #4
Quote
Basically what's happening is that foobar now specifies a semicolon ( as the delimiter in the TCON frame it writes. The files you didn't experiment on lack this delimiter and so foobar doesn't see the TCON frame in those files as having multiple values.


No, that's not my situation.  Most of my mp3 files have a ";" in the TCON frame to distinguish for my own purposes parts of the strings they contain, whether I experimented on them or not.  Only with my experimented-on mp3 files is foobar20000 currently forcing an interpretation of any ";" character to denote separate values.  In all other mp3 files, the ";" in the TCON frame is just a dumb character (which is what I want). I want the revert foobar2000's interpretation of any ";" characters in TCON frame in the experimented-on files to be interpreted by foobar2000 as in the other mp3 files not experimented on.

For example, I have many genre tag fields with "string1; string2".  In FLAC files I can successfully change how the ";" is interpreted (either as a just another character or as a value separator), and go back and forth as I like.  In my mp3 files on which I did not use the "split value" command, the ";" is just another character and the CUI genre filter shows "string1; string2" as a single genre.  In the mp3 files on which I did use "split value", the TCON frame contains exactly the same characters before and after splitting the values - before splitting, the TCON frame contained "string1; string2" and CUI genre filter displayed "string1; string2" as a single genre, and after splitting the TCON frame contained "string1; string2" displayed "string1" and one genre and "string2" as a separate genre.  All of that makes sense to me.  What does not make sense to me is that I cannot figure out how to revert the files with a TCON frame of "string1; string2" that now read as two separate genres because of use of the "split value" command to read as a single and same genre just like all the mp3 files on which I did not run the "split value" command.  I can't just use a different character in place of the ";" in the experiment files, because I will end up with a new and different genre than all the other files that still contain a ";".

Quote
To remove foobar's ability to see multiple values in the files you did experiment on, you'll need to rewrite the TCON frame in those files. Open the files in Mp3tag and alter the Genre tag in some way and save it. Mp3tag will rewrite the frame without the specified delimiter.


I deleted and rewrote the genre tag many different ways using different applications to try to revert foobar2000's interpretation of the ";" in the experiment files to what it is already doing in the unexperimented files, but all efforts failed to solve the problem.  Eliminating the ";" in the experimented-on files is not my goal.  I want the ";" to be interpreted by foobar2000 as just a dumb character, just as foobar2000 currently interprets the ";" in the TCON frame in all my mp3 files on which I did not experiment.

Rewriting all my mp3 genre tag fields to eliminate all use of the ";" will eliminate the problem of having just a few of these with a forced interpretation of the ";" different from all the other files, but that is something I hope to avoid.

Need help undoing "split values" in mp3 file

Reply #5
Can you post a screenshot of what you're seeing in your hex editor in regards to the TCON frame? I want to see if it is different from anything I observed in my experiments.


I believe you're misunderstanding what I'm saying in my last post. I'm not talking about removing semicolons from your tags. I'm talking about finding what was written to those TCON frames when you used "Split values". Something makes foobar see those files differently from your other files, and the trigger must be within the TCON frame itself. Otherwise, foobar would be reading all TCON frames containing semicolons as having multiple values in all your files.

 

Need help undoing "split values" in mp3 file

Reply #6
I'm pretty comfortable I saw what I saw, but in any case it's too late.  I tried many, many permutations of spaces, characters, and rewriting tags to determine how foobar2000 and CUI interprets things - I did not rely on just a single glance at the hex editor display for one example - and I feel comfortable I understand what foobar2000 and CUI do in all cases I tried but the one as described above.  The only scenario I considered but did not try was to see how things looked in the default interface, since I don't use the default interface and CUI appears to be in its final version.  In other words, with more work I could have possibly isolated the issue to CUI instead of the foobar2000 core, but if that happened I would need to do what I ended up doing anyway.

I've removed all semicolons from all genre tag fields, and will never use them again unless I want foobar2000 to recognize separate values in the TCON frame.  That's not a bad answer, but it took a great deal more work than my hoped-for undo of changes to just a few files. 

Thanks for trying to help - now I'm back to just listening to music!