Added APE tag support to mp3 files. APE is preferred to id3 at the moment.

CQTexperiment
vspader 2008-02-24 14:28:30 +00:00
parent 761f86cf9c
commit 2320039745
2 changed files with 23 additions and 0 deletions

View File

@ -851,10 +851,12 @@
0867D690FE84028FC02AAC07 /* Project object */ = { 0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "TagLib" */; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "TagLib" */;
compatibilityVersion = "Xcode 2.4";
hasScannedForEncodings = 1; hasScannedForEncodings = 1;
mainGroup = 0867D691FE84028FC02AAC07 /* TagLib */; mainGroup = 0867D691FE84028FC02AAC07 /* TagLib */;
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
projectDirPath = ""; projectDirPath = "";
projectRoot = "";
targets = ( targets = (
8DC2EF4F0486A6940098B216 /* TagLib Framework */, 8DC2EF4F0486A6940098B216 /* TagLib Framework */,
); );

View File

@ -44,6 +44,9 @@ namespace TagLib {
virtual String title() const virtual String title() const
{ {
if (file->APETag() && !file->APETag()->title().isEmpty())
return file->APETag()->title();
if(file->ID3v2Tag() && !file->ID3v2Tag()->title().isEmpty()) if(file->ID3v2Tag() && !file->ID3v2Tag()->title().isEmpty())
return file->ID3v2Tag()->title(); return file->ID3v2Tag()->title();
@ -55,6 +58,9 @@ namespace TagLib {
virtual String artist() const virtual String artist() const
{ {
if (file->APETag() && !file->APETag()->artist().isEmpty())
return file->APETag()->artist();
if(file->ID3v2Tag() && !file->ID3v2Tag()->artist().isEmpty()) if(file->ID3v2Tag() && !file->ID3v2Tag()->artist().isEmpty())
return file->ID3v2Tag()->artist(); return file->ID3v2Tag()->artist();
@ -66,6 +72,9 @@ namespace TagLib {
virtual String album() const virtual String album() const
{ {
if (file->APETag() && !file->APETag()->album().isEmpty())
return file->APETag()->album();
if(file->ID3v2Tag() && !file->ID3v2Tag()->album().isEmpty()) if(file->ID3v2Tag() && !file->ID3v2Tag()->album().isEmpty())
return file->ID3v2Tag()->album(); return file->ID3v2Tag()->album();
@ -77,6 +86,9 @@ namespace TagLib {
virtual String comment() const virtual String comment() const
{ {
if (file->APETag() && !file->APETag()->comment().isEmpty())
return file->APETag()->comment();
if(file->ID3v2Tag() && !file->ID3v2Tag()->comment().isEmpty()) if(file->ID3v2Tag() && !file->ID3v2Tag()->comment().isEmpty())
return file->ID3v2Tag()->comment(); return file->ID3v2Tag()->comment();
@ -88,6 +100,9 @@ namespace TagLib {
virtual String genre() const virtual String genre() const
{ {
if (file->APETag() && !file->APETag()->genre().isEmpty())
return file->APETag()->genre();
if(file->ID3v2Tag() && !file->ID3v2Tag()->genre().isEmpty()) if(file->ID3v2Tag() && !file->ID3v2Tag()->genre().isEmpty())
return file->ID3v2Tag()->genre(); return file->ID3v2Tag()->genre();
@ -99,6 +114,9 @@ namespace TagLib {
virtual uint year() const virtual uint year() const
{ {
if (file->APETag() && !file->APETag()->year() > 0)
return file->APETag()->year();
if(file->ID3v2Tag() && file->ID3v2Tag()->year() > 0) if(file->ID3v2Tag() && file->ID3v2Tag()->year() > 0)
return file->ID3v2Tag()->year(); return file->ID3v2Tag()->year();
@ -110,6 +128,9 @@ namespace TagLib {
virtual uint track() const virtual uint track() const
{ {
if (file->APETag() && !file->APETag()->track() > 0)
return file->APETag()->track();
if(file->ID3v2Tag() && file->ID3v2Tag()->track() > 0) if(file->ID3v2Tag() && file->ID3v2Tag()->track() > 0)
return file->ID3v2Tag()->track(); return file->ID3v2Tag()->track();