Upgrade obsolete gnre MP4 atoms to ©gen

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1021692 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Lukáš Lalinský 2009-09-09 20:11:29 +00:00
parent db3db34e21
commit cc7c66bf86
3 changed files with 18 additions and 0 deletions

View File

@ -2,6 +2,7 @@ DEFS = -DMAKE_TAGLIB_LIB @DEFS@
INCLUDES = \
-I$(top_srcdir)/taglib \
-I$(top_srcdir)/taglib/toolkit \
-I$(top_srcdir)/taglib/mpeg/id3v1 \
$(all_includes)
noinst_LTLIBRARIES = libmp4.la

View File

@ -33,6 +33,7 @@
#include <tstring.h>
#include "mp4atom.h"
#include "mp4tag.h"
#include "id3v1genres.h"
using namespace TagLib;
@ -73,6 +74,9 @@ MP4::Tag::Tag(File *file, MP4::Atoms *atoms)
else if(atom->name == "tmpo") {
parseInt(atom, file);
}
else if(atom->name == "gnre") {
parseGnre(atom, file);
}
else {
parseText(atom, file);
}
@ -130,6 +134,18 @@ MP4::Tag::parseInt(MP4::Atom *atom, TagLib::File *file)
}
}
void
MP4::Tag::parseGnre(MP4::Atom *atom, TagLib::File *file)
{
ByteVectorList data = parseData(atom, file);
if(data.size()) {
int idx = (int)data[0].toShort();
if(!d->items.contains("\251gen")) {
d->items.insert("\251gen", StringList(ID3v1::genre(idx)));
}
}
}
void
MP4::Tag::parseIntPair(MP4::Atom *atom, TagLib::File *file)
{

View File

@ -71,6 +71,7 @@ namespace TagLib {
void parseText(Atom *atom, TagLib::File *file, int expectedFlags = 1);
void parseFreeForm(Atom *atom, TagLib::File *file);
void parseInt(Atom *atom, TagLib::File *file);
void parseGnre(Atom *atom, TagLib::File *file);
void parseIntPair(Atom *atom, TagLib::File *file);
void parseBool(Atom *atom, TagLib::File *file);