Confirmed, TagLib is invonvenient.
ID3v2::Tag* TagLib::MPEG::File::ID3v2Tag(bool create = false) "Note: This may return a valid pointer regardless of whether or not the file on disk has an ID3v2 tag. Use hasID3v2Tag() to check if the file on disk actually has an ID3v2 tag."
Confirmed, TagLib is invonvenient.
ID3v2::Tag* TagLib: :MPEG:: File::ID3v2Tag( bool create = false)
"Note: This may return a valid pointer regardless of whether or not the file on disk has an ID3v2 tag. Use hasID3v2Tag() to check if the file on disk actually has an ID3v2 tag."