taglib cuts off long-ish tags after 30 chars

Matthias Berndt matthias_berndt at gmx.de
Thu Feb 8 04:28:21 CET 2007

> My guess off the top of my head, which seems correct, is that you're
> retrieving the ID3V1 tag. If you read the specs, ID3V1 supports only 
> limited size fields.  I haven't used taglib in a while, but you should
> get the ID3V2 tag (which supports, as far as I know, an arbitrary number
> of fields & lengths for each field) and read the title from it.
Thank you for your reply, I had thought of that possibility already. However, 
it says the following in the documentation about the tag() method which i 
used before:
"Returns a pointer to a tag that is the union of the ID3v2 and ID3v1 tags. The 
ID3v2 tag is given priority in reading the information -- if requested 
information exists in both the ID3v2 tag and the ID3v1 tag, the information 
from the ID3v2 tag will be returned."

Anywaybut just to be  sure, i modified my code so that it explicitly extracts 
the ID3v2 tags from the file; yet, the title is still being cut off. This is 
my code:

MPEG::File f(argv[1]);  //again, this is the path to the file
cout << f.ID3v2Tag()->title().to8Bit() << endl;

Perhaps this is some kind of unusual tagging format that taglib can't handle 
Matthias Berndt

More information about the taglib-devel mailing list