// some demo apic reading code; would be nice to save all APIC frames.
+using TagLib::ID3v2::Tag;
+using TagLib::ID3v2::FrameList;
+using TagLib::ID3v2::AttachedPictureFrame;
+
int
main(int argc, char **argv)
{
const char *mp3_path = argv[1];
TagLib::MPEG::File f(mp3_path);
- TagLib::ID3v2::Tag *id3v2tag = f.ID3v2Tag();
+ Tag *id3v2tag = f.ID3v2Tag();
if (!id3v2tag) {
return 0;
}
- TagLib::ID3v2::FrameList::ConstIterator it;
- for (it = id3v2tag->frameList().begin();
- it != id3v2tag->frameList().end();
- it++) {
+ const FrameList &frames = id3v2tag->frameList();
+ FrameList::ConstIterator it;
+ for (it = frames.begin(); it != frames.end(); it++) {
TagLib::ByteVector frameid = (*it)->frameID();
uint frameid_size = frameid.size();
char *frameid_s = new char[frameid_size + 1];
if (frameid != "APIC") {
continue;
}
- TagLib::ID3v2::AttachedPictureFrame *frame =
- (TagLib::ID3v2::AttachedPictureFrame *)(*it);
+ AttachedPictureFrame *frame = (AttachedPictureFrame *)(*it);
TagLib::ByteVector data = frame->picture();
int fd = open(argv[2], O_CREAT | O_WRONLY);
ssize_t size = data.size();