Author Topic: Tag Editor writes unwanted tags and wrecks multi-value tags  (Read 12903 times)

frankz

  • Hero Member
  • *****
  • Posts: 3406
The Incredible Boom Boom said it perfectly.  MusicBee does not handle this in a controversial or even disputed way. 
A smile is happiness you'll find right under your nose.

Boll Weevil

  • Jr. Member
  • **
  • Posts: 27
I understood it already, but nevertheless thanks for efforts. You gave a good link to Mp3tag's forum thread very good and useful indeed, because it shows that if a user wants a null separator, they enters a null separator (\\). Wants semicolon - enters semicolon. But you didn't explain why Mp3tag do saves saves tags as they were typed by the user while MB replaces actual character with null without a permission.

Here's a Mp3tag's window with just tagged file. Note "Country; Rockabilly" in GENRE tag. This is exactly what I typed on keyboard. All values saved s a simple string and a semicolon is just a semicolon.


Here I open it in MusicBee, make sure the tags are exactly the same, and just save it without any edit



Let's see what happened


Lame 3.97
Well, that's not the point, but nevertheless, it is annoying.
There is a more disturbing thing. Where is my semicolon? Maybe it will return in Mp3tag?

No, it didn't. \\ null placeholder instead


What about media info? And maybe tags in another player?



Maybe it could be fixed?
Yes it could. Just manually replace \\ null placeholder by beloved semicolon and voila it is a simple string again that could be processed by ANY media software, not just MusicBee, Foobar2000 and some.



The only problem is you can't do that using MusicBee tag editor, it would replace any semicolon that it would be able to find in tags by null, and there is no option to turn it off. I don't know a tag editing software with such behavior. TagScanner, Mp3Tag, Tag&Rename, foobar2000, dBpoweramp, AIMP, MusicBee  - none of these never unexpectedly modify tags in my files by replacing any characters. Only MB does.

In other hand, when adding new files to library MB correctly recognizes every semicolon in tags and treats it as a separator without modifying tag. It would be great if all the nulls remained virtual and stored just in MB database, not affecting real files on saving.

Also I should say that I don't have anything against null separator. I don't argue the fact that MB handles it in ultimate undisputed way. "a controversial or even disputed" is that fact that MB changes tags without permission.
Please let the tags stay as they were populated by user until the user willingly allow MB to modify them. It may be a checkbox "Replace separators by null" for example, or whatever, I don't know.

I hope I finally put it straight what I'm really talking about. thank you

frankz

  • Hero Member
  • *****
  • Posts: 3406
It is not changing the tag.  It is updating the tag according to the instructions you're giving it through your use of the semicolon to separate values.

In other words, you are entering a character (semicolon) that is telling MusicBee to split those values into multiple values. You don't want ";" to mean that, but that's what it means.  

Knowing that you don't want to split the values, and knowing that MusicBee will split the values if you enter a semicolon, why do you keep entering a semicolon?  By using the semicolon here, you're not only giving Musicbee "permission" to do this, you're specifically instructing Musicbee to do this when it updates your tags.  

Why not use another character that isn't reserved for a specific purpose here instead?
A smile is happiness you'll find right under your nose.

Bee-liever

  • Member
  • Hero Member
  • *****
  • Posts: 3778
  • MB Version: 3.5.8402 P
Why not use another character that isn't reserved for a specific purpose here instead?
A comma ", " would seem reasonable to me.  :-\
MusicBee and my library - Making bee-utiful music together

The Incredible Boom Boom

  • Hero Member
  • *****
  • Posts: 1043
I understood it already...

As I said before, you can follow the terms, but you're misunderstanding the fundamentals.
Your explanations and suggestions continue to follow a human-like train of thought, rather than a programmatic one.
There is a language disconnect occurring.

Quote
...because it shows that if a user wants a null separator, they enters a null separator (\\).

Case in point.

\\ is not a null character.

Quote
But you didn't explain why Mp3tag do saves saves tags as they were typed by the user while MB replaces actual character with null without a permission.

In lieu of repeating myself...

A computer does not know what an "A" is. A computer does know what ";" is. A computer does not know what "null" is.

Quote
Here's a Mp3tag's window with just tagged file. Note "Country; Rockabilly" in GENRE tag. This is exactly what I typed on keyboard. All values saved s a simple string and a semicolon is just a semicolon.

Repeating.

Quote
A computer reads ";" in this Simple Machines Forum comment as 59. But, in a multi-value field in MusicBee, the ";" is not read as 59. Instead, it is read as 0.

Below is human-like thinking. Computers do not process input like humans process input.

Quote
Here I open it in MusicBee, make sure the tags are exactly the same, and just save it without any edit

Let's see what happened

This is what is actually happening.
The input "Rockabilly; Rock & Roll" into a multi-value field in MusicBee is not read by a computer as "R" "o" "c" ... ";" " " "R" "o" ... "l" "l"
It is...
\u0052\u006f\u0063\u006b\u0061\u0062\u0069\u006c\u006c\u0079\u0000\u0020\u0052\u006f\u0063\u006b \u0026 \u0052\u006f\u006c\u006c

The null character is \u0000.
The semi-colon character is \u003b.
You're not inputting a semi-colon. You're inputting a null byte.

Quote
There is a more disturbing thing. Where is my semicolon? Maybe it will return in Mp3tag?

No, it didn't. \\ null placeholder instead

There is no semi-colon. You did not input a semi-colon in MusicBee. You input a null byte.
When you load the file into MP3TAG, it does not understand "Rockabilly; Rock & Roll." That is not what it reads.
MP3TAG, instead, correctly reads...
\u0052\u006f\u0063\u006b\u0061\u0062\u0069\u006c\u006c\u0079\u0000\u0020\u0052\u006f\u0063\u006b \u0026 \u0052\u006f\u006c\u006c
...and displays the split values accordingly.

Not \u003b, but \u0000.

Quote
What about media info? And maybe tags in another player?

I am unfamiliar with either of these programs, but the inability for either to correctly interpret \u0000 is a problem on their end - not MusicBee's. foobar2000 (which is considered by many to be the post-Winamp standard in influencing the direction of desktop digital audio), MP3TAG (which is considered by many to be the standard by which other digital audio tagging software are compared to) and MusicBrainz's Picard tagging program all correctly interpret the \u0000 character input by MusicBee.

Quote
Maybe it could be fixed?
Yes it could. Just manually replace \\ null placeholder by beloved semicolon and voila it is a simple string again that could be processed by ANY media software, not just MusicBee, Foobar2000 and some.

What you're asking for multiple value capability to be removed from MusicBee, so that tags can are processed as one single character sequence.
This is not a "fix," firstly, because there is no problem that needs "fix"ing and secondly, because plenty of users, including myself, rely heavily upon the multiple value capability of the software for processing Virtual Tags and the experience would greatly diminish if your suggestion to remove it were implemented.

Quote
In other hand, when adding new files to library MB correctly recognizes every semicolon in tags and treats it as a separator without modifying tag. It would be great if all the nulls remained virtual and stored just in MB database, not affecting real files on saving.

This is more human-like thinking, rather than programmatic-thinking.
In my case, the clock cycles needed for MusicBee (via the CPU) to process such an implementation would heavily increase.
I also do a lot of editing in both MP3TAG and MusicBee and your suggestion would be a nightmare scenario for working between the two programs.

Finally, the null separator is a standard for the ID3v2.4 specification and has been adopted by many digital audio software programs for other tag specs. Altering it would degrade compatibility between MusicBee and other programs. If one individual is so married to having their genre tags display as a single character sequence, rather than split into multiple values, it should be that individual who compromises by using another character, rather than asking for others to sacrifice a useful capability.
Last Edit: November 05, 2021, 04:33:42 AM by The Incredible Boom Boom

leeuniverse

  • Jr. Member
  • **
  • Posts: 46
The bottom line with this and null \\ separators is that for ID3 2.3 MusicBee should NOT be "saving" with that Separator...
It should accept what the user uses and has entered.  The multi-tag is simply not properly supported, and my experience proves that.

2.4 do what you want...
But like I said, I've done literally 100's of variations and multiple different Tag Editors, players, etc. and the ONLY thing that's "consistent" is the Semi-Colon/Space separator (; ) for Genre and Artist etc. Tags.

So, I would ask strongly for this to be changed for those who set 2.3.  If you don't, I literally can't use MusicBee to EDIT anything...  Which is BAD.
Most people may not care that their tags are changed from the system they use and the proper system that's compatible consistently, and viewed consistently the same across programs and devices, but some of us do.
I've waisted too many hours on this....  This NEEDS to be fixed.  Thank you.
Last Edit: November 05, 2021, 03:59:14 PM by leeuniverse

leeuniverse

  • Jr. Member
  • **
  • Posts: 46
Why not use another character that isn't reserved for a specific purpose here instead?
A comma ", " would seem reasonable to me.  :-\

A "comma" isn't used by almost ANYTHING that's modern to interpret multi-artists and to simply display properly.  The Semi-Colon is the standard method.
For example, if I don't use the Semi-Colon, MusicBee doesn't show me ALL of the Artists in the Artist display.

Like I've said above, I've done 100's of variations trying to figure out the consistent separator system among programs and players, and the semi-colon is it.
Again, I'm talking about 2.3...  You guys do what you want for 2.4, I'm not dealing with that yet for compatibility reasons.

BTW, and just to be clear...  Finding out that MusicBee had turned all my separators into back-slashes after spending many hours and 100's of files Editing/updating of my Images while using MusicBee, because it was easy that way, to see my images, and then to copy/edit/replace them, it really pissed me off that I then had to use Mp3tag to COMBINE all those multi-tags, and replace the slashes with the semi-colon for all my files.  Thank heavens Mp3tag has Actions that I can do this sort of batch editing, but I shouldn't have had to in the first place...  Those using ID3 2.3 shouldn't have their separators touched.  Period.

You speak of "official" things, well again, nobody else does this, and the official standard is multi-tags aren't supported with 2.3.  As well those who are following the standards even more strict, such as Mp3tag, they DON'T save (replacing) your separators with slashes.  The ONLY time they do so is if you have slashes there already.  They respect the user's 2.3 separator usage.  MusicBee is not respecting this.

Anyway, those of us who use 2.3, we need this changed for 2.3.  This isn't going to "hurt" anyone else, so honestly, I don't get the pushback.  We've explained all the problems it causes.  This is not a "preference" thing, it's an actual issue.  Nobody else does this, period, and it's for the very reasons we've explained.  It causes problems.

The semi-Colon is the common standard for especially 2.3, and near-total consistency among programs, viewers, and players (that I've found so far), and I literally can't edit my files with MusicBee when that standard is being broken.  Picard, Mp3tag, and others respect my 2.3 separator wishes, MusicBee is not.
Last Edit: November 05, 2021, 04:18:13 PM by leeuniverse

frankz

  • Hero Member
  • *****
  • Posts: 3406
https://getmusicbee.com/forum/index.php?topic=35720.msg195482#msg195482

This discussion should be closed or moved, because it's not a bug.
Last Edit: November 05, 2021, 04:44:36 PM by frankz
A smile is happiness you'll find right under your nose.

hiccup

  • Hero Member
  • *****
  • Posts: 6859
This discussion should be closed or moved, because it's not a bug.
I agree.
It may be a candidate for a wish. But I have doubts if a change would be an actual improvement to most users.

MusicBee is now some 12 years old (young), with an enormous amount of dedicated users having contributed by testing and providing a lot of input and suggestions.
Most of these users will (still) be using id3v2.3, and the current behaviour is very likely a result of previous experiences and requests and reports over many years.
Changing it might raise issues for other users that may have requested it to work like this.
As a guess, it could e.g. be related to compatibility with portable players, which are often a mixed bag in how they handle id3 tags.

The Incredible Boom Boom

  • Hero Member
  • *****
  • Posts: 1043
The ID3v2.3 tag specification hasn't been updated in like two decades.
If you wish to continue abiding by such an archaic system, Windows Media Player 11 is easy enough to come across.

As for those of us in 2021, the main influencers in digital audio software have - thankfully - taken it upon themselves to redirect and expand beyond Jurassic-era tag guidelines, so that twenty years later, we're not still stuck with a tag specification of its time.

Since you're so set upon using ID3v2.3 exactly how it was envisioned when all of us were teens or younger, your tags that represent distinct values should be single character sequences delimited with forward slashes and not semi-colons anyway.

Finding out that MusicBee had turned all my separators into back-slashes after spending many hours and 100's of files Editing/updating of my Images while using MusicBee, because it was easy that way, to see my images, and then to copy/edit/replace them, it really pissed me off that I then had to use Mp3tag to COMBINE all those multi-tags, and replace the slashes with the semi-colon for all my files.

@Boll Weevil at least has the difficulty of English as a second language when it comes to understanding these concepts when written in English, but there should be no excuse for a native speaker. I have twice stated (and quite clearly, I believe) why his and your visual interpretation is not correct. If you have further questions, that's one thing, but this discussion cannot continue any further, because you have a fundamental misunderstanding of what you're attempting to talk about.

The entirety of your posts demonstrate you do not understand what is happening underneath the hood.

That normally would be ok, because this is subject is a complex one to comprehend, but your posts are coming across like you glossed over my detailed explanations in favor of not accepting anything other than your interpretation. Which is not correct.

MusicBee is now some 12 years old (young), with an enormous amount of dedicated users having contributed by testing and providing a lot of input and suggestions.
Most of these users will (still) be using id3v2.3, and the current behaviour is very likely a result of previous experiences and requests and reports over many years.
Changing it might raise issues for other users that may have requested it to work like this.
As a guess, it could e.g. be related to compatibility with portable players, which are often a mixed bag in how they handle id3 tags.

Precisely as I stated above. The ID3v2.3 tag specification is a fossil and should be treated as such.
Last Edit: November 05, 2021, 05:47:36 PM by The Incredible Boom Boom

leeuniverse

  • Jr. Member
  • **
  • Posts: 46
The Incredible Boom Boom said it perfectly.  MusicBee does not handle this in a controversial or even disputed way.  

Clearly, that's not true per what we've addressed above...  Nobody else does it...  Mp3tag doesn't do it, MusicBrainz Picard doesn't do it.
Nobody else that I know of does it.  And if they do, it's simply wrong...  2.3 just shouldn't be doing it per the issues I've already addressed, as well is it's not officially supported by 2.3.

leeuniverse

  • Jr. Member
  • **
  • Posts: 46
Precisely as I stated above. The ID3v2.3 tag specification is a fossil and should be treated as such.

Are Mp3tag and Picard "fossils"...

I think THEY understand the proper methodology and standards more.
They don't "save" with the \\ when using 2.3, "forcing" those separators on their users.  Maybe you should listen to our complaints, they exist for a reason.

That's my last word...  It needs to change, they and everyone else I know don't do it for good reason.  Neither should MusicBee.

hiccup

  • Hero Member
  • *****
  • Posts: 6859
Clearly, that's not true per what we've addressed above...  Nobody else does it...  Mp3tag doesn't do it, MusicBrainz Picard doesn't do it.
Nobody else that I know of does it.  And if they do, it's simply wrong...  2.3 just shouldn't be doing it per the issues I've already addressed, as well is it's not officially supported by 2.3.
So you keep ignoring all the explanations and arguments why MusicBee is probably doing things as it is doing.
I do respect and sympathise with your struggles and efforts to get a grasp on this (for you) new technology, but to be honest, you do seem to be a slow learner.

Pretty much all experienced members agree that there is no bug at play here.
'Why' has been explained a couple of times now. Yet you are continuing to voice your personal opinion in this bug thread.

If you really believe you have something to contribute that would be of benefit to significantly more users than you, you should already have learned there is a wishlist board for that.
It has worked rather well for the last 12 years.

Create a coherent and well explained topic there, and await what comes of it.
And, a suggestion: leaving out the attitude that you are the touchstone of what is 'correct' might help your cause.
Last Edit: November 05, 2021, 08:23:42 PM by hiccup

The Incredible Boom Boom

  • Hero Member
  • *****
  • Posts: 1043
Clearly, that's not true per what we've addressed above...  Nobody else does it...  Mp3tag doesn't do it, MusicBrainz Picard doesn't do it.
Nobody else that I know of does it.  And if they do, it's simply wrong...  2.3 just shouldn't be doing it per the issues I've already addressed, as well is it's not officially supported by 2.3.

Here's a fun experiment.

For the sake of everyone who comes across this thread and - like @leeuniverse - does not understand at all what the heck all this back slash, forward slash, semi-colon, null character/byte/reference/separator stuff means, please @leeuniverse, explain to us in programmatic detail what exactly MP3TAG and Picard are doing. Walk us through the steps of how the programs read user input, pass it to the processor and then direct the results to standard output. Then, please explain how MusicBee "does it," what is different and why it's "wrong."

Afterwards, I will correct you and perhaps others who are having difficulty grasping this subject will have a better handle on it (though I'm not sure you can be helped.)

alec.tron

  • Hero Member
  • *****
  • Posts: 742
Also, this is turning inception-esque... where I am now quoted in the mp3edit thread to explain the core functionality/spec.... :D (https://community.mp3tag.de/t/can-anyone-help-me-with-best-practice-for-tag-separators/54882/8)...

Also, in here:
https://community.metabrainz.org/t/what-is-the-reason-picard-doesnt-have-genre-settings-enabled-by-default/555038/2
is a good part:
"outsidecontext
As mentioned in another thread, Mp3Tag does not actually store a double backslash in the file, the double backslash is only how Mp3Tag displays that a tag has multiple values.

If you can use ID3v2.4, then you get proper multi-value support for tags without having to specify any separator. If you stick with ID3v2.3 use the separator that is supported by your software, both semicolon and slash are common choices. If the software does actually support multiple values. A lot of software doesn’t and only displays the tag value as is, in this case the choice of character boils down to personal preference on how you want to have it displayed."


Read both bold bits above please.

It explains everything pretty well - the NUL separator is the "separator that is supported by your software" i.e./ Musicbee for id3 2.3.
This is not a bug.
This is by design, and a favourable / agreeable one for many.
If you are hoping for more options, you need to express it as a feature-request / wish, and hope that Steven sees value & an improvement in this to implement it.
As you can see - many here do not share your wish (for a multitude of reasons, seemingly).
Me 0.02 centimes.
c.
Last Edit: November 05, 2021, 10:07:04 PM by alec.tron