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: 0.9_b14 - courting IDV2 as recommendation (Read 17447 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

0.9_b14 - courting IDV2 as recommendation

With foobar 0.9 beta14 the mp3-tagwriting-configuration-page has changed and the advanced treatment of tag-types is gone - at least as standard behaviour, files can be selected manualy and then treated with the conext-menu tagging > mp3 tag-types ...

This is okay to me (first it was not    but I tried to keep up with the new way) as I can put all available files in one playlist and apply the mp3-tag-type by context-menu.

Is this the new idea: IDV2 might not that be that bad as it has been told (or claimed) here and there at different corners.
Even though Ape-tagging is brilliant, the new and better implementation makes IDV2 good enough that it has to be understand as recommended - keeping up with the trend nowadays - every up-to-date software, and even hardware, is using IDV2, so foobar will also, featuring a really good implementation ? 

I am using IDV1 and ape so far (as IDV2 seemed to be somewhat strange, everywhere somewhat different and mostly bloating), but this makes me thinking about changing to IDV1 & IDV2...

Are these thoughts reasonable or 'keep with ape brotha' ?

0.9_b14 - courting IDV2 as recommendation

Reply #1
ID3v2 is bad, and list of reasons is long. However, it was designed to be used with MP3, unlike APE. APE tags on MP3 may confuse MP3 decoders and get decoded as garbage or interfere with gapless playback, unless the decoder explicitly detects APE tag and skips past it; this problem is not present with ID3 tags unless someone made a broken writer.
While it would be nicer from developer's point of view if whole world dropped ID3v2 and adapted APEv2 or some derivative instead (goodbye to ID3v2 compatibility issues), it simply won't happen. If anything, people should decide on common subset of ID3v2 functionality to use and support properly - e.g. stick with either 2.3 or 2.4 spec, use fixed character encoding instead of N redundant ones, drop frame compression, enforce unsync support.
Microsoft Windows: We can't script here, this is bat country.

0.9_b14 - courting IDV2 as recommendation

Reply #2
From a developer point of view, I can't agree more with Peter. Defining a subset on ID3v2.3 or ID3v2.4 without all this mess would be really great and I'll support any steps in this direction.

From a users point of view, there are no reasons not to use ID3v2. There were some issues with taggers not knowing what VBR headers are, but this is already ages ago. There are still incompatibilities with applications not supporting ID3v2 tags in Unicode (currently: Winamp, 5.2 maybe fix that) or unsync (currently: iTunes) but you should be fine with using ID3v2. The good thing is: you can switch back to APEv2 or ID3v1 if you encounter any problems

0.9_b14 - courting IDV2 as recommendation

Reply #3
Thanks Peter and Ganymed, this clears some things up to me with regard to my further usage...

Even though I am using ape I always don't know what will happen to my friends who get some gifts.. will their players go fine with it.
At least the one of my sister is doing so but I felt always a bit unsure as there might be problems with others - somewhere in some way, who knows about the hardware and it's working, gets it confused or not...

'kay, with foo and mp3tag there should really be no worry 

BTW - you make things rockin' 

0.9_b14 - courting IDV2 as recommendation

Reply #4
Quote
From a users point of view, there are no reasons not to use ID3v2.
[a href="index.php?act=findpost&pid=364385"][{POST_SNAPBACK}][/a]

Speed. I've just compared the operating time for creating then updating a set of 150 mp3 files on my notebook, according to the tag format. Settings were:
- foobar2000 0.83: set to APEv2 => ~2 seconds
- foobar2000 0.9b14: default mode => 25 seconds

I expected a better performance while adding a second field:
- foobar2000 0.83: set to APEv2 => ~2 seconds
- foobar2000 0.9b14: default mode => 25 seconds

It's only 150 fields. I let you imagine the requested time for someone adding a field to a complete library.
If you don't need ID3v2, APEv2 are much better (I experienced it with MPC and WavPack, and I'm very glad to have the possibility of tagging a MP3 library directly into APEv2).

0.9_b14 - courting IDV2 as recommendation

Reply #5
Second reason: security. I just simulated a software/computer crash by killing the process while updating the ID3v2 tag of a MP3 file: the resulting file is corrupted (it wasn't completely rewritten, hence the irreversible corruption). With tag located at the end of the file (e.g. APEv2) such problem shouldn't (logically) happen.


EDIT:
original filesize: 78 971 kb
after tagging + crash: 66 560 kb

0.9_b14 - courting IDV2 as recommendation

Reply #6
Quote
There are still incompatibilities with applications not supporting ID3v2 tags in Unicode (currently: Winamp, 5.2 maybe fix that) or unsync (currently: iTunes) ....
[{POST_SNAPBACK}][/a]

Does is mean that using foobar for tagging will prevent us from playing our music with these other players?

[span style='font-size:8pt;line-height:100%']FYI (After a quick test) :
  • I would add [a href="http://users.otenet.gr/~jtcliper/tgf/]TGF[/url] to the list. (Unicode not supported)
  • Mp3tagstudio interoperates with no problem apparently
  • Tag&Rename shoud work fine (claims it has unicode support, not sure for the unsync stuff. Not tested
[/span]

 

0.9_b14 - courting IDV2 as recommendation

Reply #7
Quote
Quote
There are still incompatibilities with applications not supporting ID3v2 tags in Unicode (currently: Winamp, 5.2 maybe fix that) or unsync (currently: iTunes) ....
[a href="index.php?act=findpost&pid=364385"][{POST_SNAPBACK}][/a]

Does is mean that using foobar for tagging will prevent us from playing our music with these other players?
[a href="index.php?act=findpost&pid=364448"][{POST_SNAPBACK}][/a]

Nope, just the tags displayed will be either wrong, or not displayed at all. (And there might be decoding glitches as Peter mentioned)
Life is Real...
(But not in audio :) )

0.9_b14 - courting IDV2 as recommendation

Reply #8
Quote
Quote
From a users point of view, there are no reasons not to use ID3v2.
[a href="index.php?act=findpost&pid=364385"][{POST_SNAPBACK}][/a]

Speed. I've just compared the operating time for creating then updating a set of 150 mp3 files on my notebook, according to the tag format.
[..]
It's only 150 fields. I let you imagine the requested time for someone adding a field to a complete library.

Latest foobar2000 uses ID3v2 padding on rewrites, so rewrites of whole file are not necessary anymore if the new tag fits to the existing one and its padding.


Quote
Second reason: security. I just simulated a software/computer crash by killing the process while updating the ID3v2 tag of a MP3 file: the resulting file is corrupted (it wasn't completely rewritten, hence the irreversible corruption). With tag located at the end of the file (e.g. APEv2) such problem shouldn't (logically) happen.

Killing a working application might result in unpredicted behaviour. If you kill foobar2000 in the middle of an APEv2 tag update, you'll get a damaged APEv2 tag.

0.9_b14 - courting IDV2 as recommendation

Reply #9
Quote
Quote
Quote
From a users point of view, there are no reasons not to use ID3v2.
[a href="index.php?act=findpost&pid=364385"][{POST_SNAPBACK}][/a]

Speed. I've just compared the operating time for creating then updating a set of 150 mp3 files on my notebook, according to the tag format.
[..]
It's only 150 fields. I let you imagine the requested time for someone adding a field to a complete library.

Latest foobar2000 uses ID3v2 padding on rewrites, so rewrites of whole file are not necessary anymore if the new tag fits to the existing one and its padding.
[a href="index.php?act=findpost&pid=364499"][{POST_SNAPBACK}][/a]

Only if both conditions are followed. Removing ID3v2 on file is also slow. If someone don't want ID3v2 and encodes his library with foobar2000, he's going to loose hours just to convert tags to the desired format. I tried once with 2000 files, and not on a notebook: it's painfully slow.
EDIT: Last and not least: I still don't understand why it tooks me 25 seconds to add a new small field on files that were already tagged by foobar2000 and should therefore be padded.

Quote
Killing a working application might result in unpredicted behaviour. If you kill foobar2000 in the middle of an APEv2 tag update, you'll get a damaged APEv2 tag.

As I said, I simulated a crash. It happens to me once, during the short period I used flac as lossless format. fb2k crashes during the process, and I spent two hours to check all files and discovering that one file was definitely corrupted. Corrupting an APE tag is much less an issue than corrupting a file. In my opinion at least

0.9_b14 - courting IDV2 as recommendation

Reply #10
We aim at compatibility with other software (even if current solution works far from optimally as shown by iTunes issue). The rest of the world won't suddenly make a switch to APE tags. That alone is enough of a reason to use ID3v2 - even if it is problematic with specific usage patterns.

File rewriting problem could be worked-around someday (using a temporary file and moving it) but that will come after 0.9 release.
Microsoft Windows: We can't script here, this is bat country.

0.9_b14 - courting IDV2 as recommendation

Reply #11
Quote
We aim at compatibility with other software (even if current solution works far from optimally as shown by iTunes issue). The rest of the world won't suddenly make a switch to APE tags. That alone is enough of a reason to use ID3v2 - even if it is problematic with specific usage patterns.
[a href="index.php?act=findpost&pid=364517"][{POST_SNAPBACK}][/a]

It makes a lot of sense to offer ID3v2 as default because it's widely used. But offering a better tag system as alternative to users shouldn't be a real problem, no?
My portable player recently died. I bought a fresh one which supported ID3v2 but strangely, tags created by fb2k (<b14) weren't properly displayed (the screen displayed weird symbols...). Tags created by iTunes were fine, but only with 2.4 revision (same issue than fb2k with 2.3). It reminds me the mess about ID3v2 tags and that this tagging format(s?) isn't as universal as expected. For that reason, I'd rather use ID3v1 + APEv2 for longer fields instead of ID3v1 + ID3v2 which aren't necessary readed by so-claimed compatible players.
I can't tell you if tags created by beta 14 are now readable on this player: I sent it back to the store. 

Quote
File rewriting problem could be worked-around someday (using a temporary file and moving it) but that will come after 0.9 release.

It would be a bit more secure. Thanks

0.9_b14 - courting IDV2 as recommendation

Reply #12
The problem with ID3v2 is that person who wrote the "standard" had absolutely no clue about what his "standard" implied for implementers. APEv2 is so "superior" just because it gives less opportunities for implementers to do something wrong, by not allowing different string encodings for an example, as well as by using same binary structure for every field.
It would be technically possible to develop a new ID3v2 standard that would remove the problem without breaking all existing software (a subset of ID3 v2.4) - as long as everyone jumps on the bandwagon and starts writing tags according to new spec.

ID3 v2.4 also allows tags to be written at the end of file, but we don't plan to do that for trivial reasons (it would have to be made configurable again because noone supports it).
Microsoft Windows: We can't script here, this is bat country.

0.9_b14 - courting IDV2 as recommendation

Reply #13
I'm still on v0.8.3, in b14 is that padding size fixed or configurable?
UPDATE: and how big is that padding size?

0.9_b14 - courting IDV2 as recommendation

Reply #14
Quote
I'm still on v0.8.3, in b14 is that padding size fixed or configurable?
[a href="index.php?act=findpost&pid=364584"][{POST_SNAPBACK}][/a]

It's not configurable and that won't change.

0.9_b14 - courting IDV2 as recommendation

Reply #15
I was happy to see b13 fix issues with wiping out unrecognized binary tags (such as cover image).  But it still has problems with COMPILATION and other non-text fields (I haven't looked into the file so I am not sure what 4char code is used by iTunes)

What is the design goal for b14 and final ID3v2 support, with respect to these fields?  Will FB leave those fields untouched?

Relative to the specs on id3.org, what version is target?  2.3 or 2.4, and with what constraints?  Peter does a great job interpretting and implementing against a (quasi)standard, so it would probably be benefitial for the community to rely on FB implementation as the new gold-standard.

EDIT: the iTunes field is of course illegit, but for the record, it is "TCMP"

0.9_b14 - courting IDV2 as recommendation

Reply #16
Quote
What is the design goal for b14 and final ID3v2 support, with respect to these fields?  Will FB leave those fields untouched?

Yes, latest beta keeps unsupported fields in ID3v2 tags.

0.9_b14 - courting IDV2 as recommendation

Reply #17
I would second to guruboolez,
it would be nice to have the option to use ID3V1+APEV2 combination.
I understand it's better to use ID3V2 as standard, but why not leave ID3V1+APEV2 as optional?

Narag

Quote
Only if both conditions are followed. Removing ID3v2 on file is also slow. If someone don't want ID3v2 and encodes his library with foobar2000, he's going to loose hours just to convert tags to the desired format. I tried once with 2000 files, and not on a notebook: it's painfully slow.
EDIT: Last and not least: I still don't understand why it tooks me 25 seconds to add a new small field on files that were already tagged by foobar2000 and should therefore be padded.
[a href="index.php?act=findpost&pid=364515"][{POST_SNAPBACK}][/a]

[span style='font-size:8pt;line-height:100%']Moderation: Edited quote.[/span]

0.9_b14 - courting IDV2 as recommendation

Reply #18
Quote
I would second to guruboolez,
it would be nice to have the option to use ID3V1+APEV2 combination.
I understand it's better to use ID3V2 as standard, but why not leave ID3V1+APEV2 as optional?

foobar2000 0.9 won't add an ID3v2 tag if your files are already tagged with ID3v1 and/or APEv2.

If you want to change the ID3v2 tags of newly created MP3 files to ID3v1 and/or APEv2, you can simply right-click on the files and choose 'Tagging > MP3 Tag types...'. There won't be an extra preferences page for MP3 tagging options in foobar2000 0.9.

0.9_b14 - courting IDV2 as recommendation

Reply #19
Quote
foobar2000 0.9 won't add an ID3v2 tag if your files are already tagged with ID3v1 and/or APEv2.

If you want to change the ID3v2 tags of newly created MP3 files to ID3v1 and/or APEv2, you can simply right-click on the files and choose 'Tagging > MP3 Tag types...'. There won't be an extra preferences page for MP3 tagging options in foobar2000 0.9.
[a href="index.php?act=findpost&pid=367716"][{POST_SNAPBACK}][/a]


Good one! Simple solution at best!
Now I need only time to get used to it 
Thanks for good hint, Ganymed.

P.S.: And much more time to slowly convert from ID3V1+APEV2 to ID3V2 :-(

0.9_b14 - courting IDV2 as recommendation

Reply #20
Quote
File rewriting problem could be worked-around someday (using a temporary file and moving it) but that will come after 0.9 release.
[a href="index.php?act=findpost&pid=364517"][{POST_SNAPBACK}][/a]

I actually decided to bite the bullet and implemented this idea between beta14 and first release candidate, so the file corruption problem is no longer valid.
Microsoft Windows: We can't script here, this is bat country.

0.9_b14 - courting IDV2 as recommendation

Reply #21
Quote
I actually decided to bite the bullet and implenented this idea between beta14 and first release candidate, so the file corruption problem is no longer valid.
[a href="index.php?act=findpost&pid=368002"][{POST_SNAPBACK}][/a]


Great, thanks a lot - it speeds up my possible conversion a little bit 

0.9_b14 - courting IDV2 as recommendation

Reply #22
why doesn't the RC let the user choose what types of tags they want written to the files like previous versions of foobar? why have foobar write idv1 and idv2 tags automatically, and then make the user go back and use "mp3 tag types" to change it? that makes no sense.

0.9_b14 - courting IDV2 as recommendation

Reply #23
MP3 is the only format which causes a big mess regarding tagging formats (at least the only where it's evident). There are dozens of applications that have a buggy implementation of id3 tags. Now that there emerges one program that writes his own id3 tag implementation from scratch following the specifications to avoid all the existing buggy libraries people begin to cry. Why don't you simply flood winamp, apple, etc. with bug reports? Sooner or later it might even get corrected on their side.

0.9_b14 - courting IDV2 as recommendation

Reply #24
Quote
There won't be an extra preferences page for MP3 tagging options in foobar2000 0.9.
[a href="index.php?act=findpost&pid=367716"][{POST_SNAPBACK}][/a]

Of course not, but maybe a single "Advanced" page  for a few things like this.
It could be marked with "all this setting are not recommended, but only there for special purposes" if that makes somebody feel better.
In theory, there is no difference between theory and practice. In practice there is.