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: Exotic tags (Read 17936 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Exotic tags

Hi,

It seems many people are using foobar to tag their MKA files. I'm glad they can. But it seems foobar has no good support for tags. That means anyone can enter an invalid, mis-typed or exotic (on purpose in that case) in your player and never know about it.

This seems to be a problem of your API because when you are given tags to display, you don't inform the user (lack in the informations provided in the API) if it's an official tag or not. (it's the same for all formats not just Matroska AFAIK).

So do you plan to allow this feature ? And possibly have a mode where only official tags for a given tag format can be entered ? I'm concerned that files tagged with your player will not have correct tags when used in a player with only official tags (that you can't blame for being really spec compliant).

Exotic tags

Reply #1
Quote
Hi,

It seems many people are using foobar to tag their MKA files. I'm glad they can. But it seems foobar has no good support for tags. That means anyone can enter an invalid, mis-typed or exotic (on purpose in that case) in your player and never know about it.


(Gently) enforcing proper tags is a must have. I would only allow the standardized ones, but just giving the users a hint about how it should be done (and warning when they try doing it incorrect) would be acceptable too.


Exotic tags

Reply #3
I don't really care if my tags are official or not so if this is going to be implemented I hope it will be optional. I don't really want my files go rainbow just because I add a %burned% tag.

Exotic tags

Reply #4
I don't think there's are real use for "official" tags as you can stroe just about anything in APEv2 tags and you can set you formatting strings to display any of those tags...
Life is Real...
(But not in audio :) )

Exotic tags

Reply #5
So you assume you never make typo errors ? Didn't think about robots as users up to now...

And yes, that would of course be optional like : enforce / check / any tags

Exotic tags

Reply #6
Well, it is possible to make an alternate file info box components, as well as a component that will check the files for 'unofficial tags', for the users who care about it.

Exotic tags

Reply #7
Like Moneo says, use a File Info plugin (such as Special file info box). Maybe you can request that the standard tags be differentiated for each codec?
"There is no point in saving WAV... unless you have a huge HD in a very slow computer" - Jan S. (WAV or FLAC, Space No Problem)

Exotic tags

Reply #8
Quote
Like Moneo says, use a File Info plugin (such as Special file info box). Maybe you can request that the standard tags be differentiated for each codec?
[a href="index.php?act=findpost&pid=231490"][{POST_SNAPBACK}][/a]


The problem is that (at least for Vorbis Comments and APE), there are no "standard" tags.

Why should it matter that I add a "THIS ALBUM RIPPED BY CANAR=1" tag to my file? (I don't, but I'm speaking hypothetically. Limiting the users is not and has never been the answer (and this is perhaps the central tenet of foobar2000 development). If it was critical that only standard tags could be used, the developer would code the tag-reading code that way.

Obviously, this isn't the case. Matroska was designed to be extensible, probably first and foremost. When people take that extensibility and run with it, rejoice.

Yeah, tags can be misspelled and ambiguous. If you don't like that, there's an option in the Masstagger called "Remove all except for". Compile a list of "acceptable" tags, save it as a masstagger script, and post here. This would be a hell of a lot smarter solution than crufting some inane hack to differentiate classes of tags. I'd have thought a Matroska dev would be a little less pro-conformity than this.

Exotic tags

Reply #9
Quote
Yeah, tags can be misspelled and ambiguous. If you don't like that, there's an option in the Masstagger called "Remove all except for". Compile a list of "acceptable" tags, save it as a masstagger script, and post here. This would be a hell of a lot smarter solution than crufting some inane hack to differentiate classes of tags. I'd have thought a Matroska dev would be a little less pro-conformity than this.


From our point of view, undefined tags are simply for the a***s. You can only display them, and thats pretty much it. The matroska team has a different idea here, because we believe there is a lot more you can do with tags then just displaying.

But we had this discussion many times before, and it seems the point of view of the fb2k users is pretty much fixed on this, so lets leave it like that for the time being ....

Exotic tags

Reply #10
Quote
Yeah, tags can be misspelled and ambiguous. If you don't like that, there's an option in the Masstagger called "Remove all except for". Compile a list of "acceptable" tags, save it as a masstagger script, and post here. This would be a hell of a lot smarter solution than crufting some inane hack to differentiate classes of tags. I'd have thought a Matroska dev would be a little less pro-conformity than this.
[{POST_SNAPBACK}][/a]


Thanks for the coding tip. I'll bug Goldenear or Toff about it (they maintain foo_matroska).

Now about the "pro-conformity" thing... You may think this way because you have never heard or thought of the [a href="http://www.w3.org/2001/sw/]semantic web[/url]. In Matroska we let anyone add their own tags, good. But for the existing tags they should be used instead of personal ones. This is just for interroperability and use in bigger databases. Check MDDLib for a program that needs standard tags to help you organise your music. This is exactly what I have in mind and I want people avoid making mistakes now that they could regret in the future. If such mistakes can be avoided we have to avoid them ! That's also why Matroska is meant to be a bit better...

edit: Also you say that there are no standard tags for APE and Vorbis. How did we get these infos here and here ? Or you mean there is no such standard tags in foobar ? We made these comparisons for interroperability and to make sure when you remux data to Matroska you have a known semantic for your meta data. (and back to other formats too even though they don't support everything like we do)

Exotic tags

Reply #11
Quote
edit: Also you say that there are no standard tags for APE and Vorbis. How did we get these infos here and here ?[{POST_SNAPBACK}][/a]

from [a href="http://xiph.org/ogg/vorbis/doc/v-comment.html]http://xiph.org/ogg/vorbis/doc/v-comment.html[/url]
Quote
Below is a proposed, minimal list of standard filed names with a description of intended use. No single or group of field names is mandatory; a comment header may contain one, all or none of the names in this list.

There are no standard field names. What exist are merely proposals. I don't know about APEv2, but freeform field names are encouraged there too, IIRC.

Exotic tags

Reply #12
Quote
There are no standard field names. What exist are merely proposals. I don't know about APEv2, but freeform field names are encouraged there too, IIRC.


Xiph can maybe afford to have this kind of thinking, as Ogg is ment to be a container only for the Xiph codecs. As most of the tools handling Ogg files can care about each of their codecs also, there is some form of 'tag standardizing' expected to happen in any case, even without a clear specification existing from their side to have a guideline.

For us, things are a bit different. matroska is often called the 'kitchen-sink' container, and thats mostly correct, there is no other container existing on this planet being able to support a similar number of different compression formats, and with working code ( spare me what COULD be done with MP4 please ).

We feel thats its essential to get some kind of 'order' into the matroska tagging system, otherwise the player developers will simply stop supporting our tagging system. Please remember, matroska and its creators are not living on 'foobar island', we have to make sure to make a big number of multimedia developers happy with our stuff. Our constraints to standardize the tagging system used in matroska files is simply another attempt to do so.

If the users decide willingly against that, thats fine for us, matroska clearly allows custom tags. But from our point of view, any app allowing to tag a matroska file should first offer our standard tags to the user. Better no tags than only custom tags IMO  .....



Exotic tags

Reply #15
Quote
Ogg is ment to be a container only for the Xiph codecs.[a href="index.php?act=findpost&pid=231725"][{POST_SNAPBACK}][/a]

Off topic, but not true. Ogg PNG, Ogg MNG, Ogg MIDI is older than Matroska by years.


Exotic tags

Reply #17
I normally refer to Prodoc's Tags db before reinventing the wheel and creating a "non-standard" tag.

I do agree that a standard (minimal) set of tags would be neat.
[EDIT] typo fixed.
"There is no point in saving WAV... unless you have a huge HD in a very slow computer" - Jan S. (WAV or FLAC, Space No Problem)

Exotic tags

Reply #18
Quote
it seems foobar has no good support for tags. That means anyone can enter an invalid, mis-typed or exotic (on purpose in that case) in your player and never know about it.
[a href="index.php?act=findpost&pid=231260"][{POST_SNAPBACK}][/a]

Well, nothing whatsoever is stopping the component that actually writes the tag (usually the input plugin, most likely foo_matroska in this case) from enforcing this, for example by refusing to write "non-standard" fields and/or showing a warning on the console.
A riddle is a short sword attached to the next 2000 years.

Exotic tags

Reply #19
Quote
Now about the "pro-conformity" thing... You may think this way because you have never heard or thought of the semantic web. In Matroska we let anyone add their own tags, good. But for the existing tags they should be used instead of personal ones. This is just for interroperability and use in bigger databases. Check MDDLib for a program that needs standard tags to help you organise your music. This is exactly what I have in mind and I want people avoid making mistakes now that they could regret in the future. If such mistakes can be avoided we have to avoid them ! That's also why Matroska is meant to be a bit better...


I worship the ground that the W3 walks on, but that doesn't mean that field names must be enforced. Forcing a user to do things is very corporate. There's nothing wrong with exotic tags. However, there's already substantial social pressure to use proper tags in foobar. Most title formatting scripts are dependant on having proper tags. Many plugins depend on files having proper tags.

You're diluting your point by belabouring this. If people are going to use non-standard tags (ie. "ARTISTE" instead of "ARTIST"), they're going to have to deal with the fact that their move can't be predicted. People are fallible, yes. Spelling mistakes happen. When they do, however, they won't be able to use their tags sensibly.

Exotic tags don't detract at all from proper functioning of any software. What they do is they allow the end-user to add more information than the writer of the specification for the file can possibly imagine. The whole point of metadata is to convey information. Whether or not this information is accessible to external programs is the end-user's responsibility, not the developer's. It sounds like you Matroska devs think differently, which is sadly misguided. Matroska's making the attempt to define tags for everything under the sun. Nothing wrong with that, but there are times when even your best laid plans will not suffice. So-called "exotic" tags fill precisely that niche.

Here's a quick way MDDLib (I didn't even really look at it; I don't need to) could extend its functionality without any problems: Implement "tag-equivalency" look-up tables. foobar2000 already does some of this, IIRC. "TRACKNUMBER" is remapped to "TRACK" for MPC; TRACK is the recommended tag, but TRACKNUMBER is more universal and descriptive. That is the correct way to handle "exotic" tags.

Exotic tags

Reply #20
Quote
Matroska's making the attempt to define tags for everything under the sun. Nothing wrong with that, but there are times when even your best laid plans will not suffice.
[a href="index.php?act=findpost&pid=231999"][{POST_SNAPBACK}][/a]

Exactly what I think. Matroska tags have serious lack. They are mean for a very general usage, but with a very small listening specialization, it's easy to find missing fields. For exemple, classical music:

- opus / opus number
- manufacturer (for period instruments)
- nation, or composition style (works in italian style for exemple)
- part, and/or part number
...
Some of them are very important and obious (opus number for exemple, absolutely essential for organisation and sorting: missing), but are not present, simply because developers can't collect all needed/essential informations. Official tags are then pointless, if elementary things are missing. "Official tags" should be replaced by "recommanded tag": what did XIPH with vorbis comments and F. Klemm with APEv2. It's more respectful of users' freedom, and more realistic too.

Exotic tags

Reply #21
If the user misspells the tag name, then they also most likely misspelled the tag value.

Forcing a standard tag naming system will not magically make all audio files from various sources tagged the same way.
Different people will do things differently
They will spell things differently, they will think differently, they will tag differently.

Most tagging standards that enforce strict limits for no real reason (ID3v1.1 is limited by it's simplicity) have not grown very popular. Take ID3v2.* for example the list of tag fields it supports is huge, yet how many apps can read/write all of them?

A recommended tag name list is a good idea, (which is what we had before)
Official makes it sound like the users are doing something illegal if they tag their files how they want them.

Exotic tags

Reply #22
Quote
You're diluting your point by belabouring this.


Seems to me you're doing the same. Matroska is made for all users, not only geeks. Most users make mistakes, everybody knows that. And they will blame developers for that, every dev knows that too.

Quote
Matroska's making the attempt to define tags for everything under the sun.


The thing is. I said many times (on our IRC channel or mailing lists) that we should keep the list minimal. Because a Matroska file is not meant to be a database. It's not good at it, use URLs if you need the name of the person who made the costums of a movie...

Quote
Here's a quick way MDDLib (I didn't even really look at it; I don't need to) could extend its functionality without any problems: Implement "tag-equivalency" look-up tables. foobar2000 already does some of this, IIRC. "TRACKNUMBER" is remapped to "TRACK" for MPC; TRACK is the recommended tag, but TRACKNUMBER is more universal and descriptive. That is the correct way to handle "exotic" tags.
[a href="index.php?act=findpost&pid=231999"][{POST_SNAPBACK}][/a]


Hihi. Thanks that's been in talk for a while and why we rely on tag relations between them (thanks to Prodoc and Atamido/Pamel who both contributed to the Matroska tags). But if people don't play the game, softwares like MDDBLib (or softwares that may soon appear from Google and Microsoft) are made useless. And of course, that's not what's going to happen wether foobar devs like it or not.

Exotic tags

Reply #23
Quote
Exactly what I think. Matroska tags have serious lack.


This is a public project that everybody is free to comment. It's just sad that it's only when I need to come here that finally people dare to comment.

Quote
Some of them are very important and obious (opus number for exemple, absolutely essential for organisation and sorting: missing), but are not present


Can you explain what an opus is ? How does it compare to other things like an "album" title and track title ?

Exotic tags

Reply #24
Quote
If the user misspells the tag name, then they also most likely misspelled the tag value.

Forcing a standard tag naming system will not magically make all audio files from various sources tagged the same way.
Different people will do things differently
They will spell things differently, they will think differently, they will tag differently.



Alright, Official Matroska Tag B0rker, alright. Now I clearly understand the power of letting people write wrong stuff instead of good one in files. Thanks for enlighting me ! I hope they will also add many custom EBML elements in their file, it's so much fun !!!

BTW, do you know an application that can write things randomly on a HD ? I would like to edit my harddrive content and put some texts here and there. This is my right as a user and no application should stop me from doing it. (I hope foobar can do it)