1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 16:44:05 +02:00

Implement albumArtist/composer/discNumber in a generic way.

This removes the need for specific, virtual implementations in each Tag
class. Increases performance, decreases code complexity.
This commit is contained in:
Uwe L. Korn
2014-11-06 13:45:28 +01:00
parent d38a6572fc
commit 6fba317ea9
7 changed files with 3 additions and 27 deletions

View File

@@ -30,10 +30,6 @@ class DLLEXPORT APETag : public Tag
public: public:
APETag( TagLib::Tag *, TagLib::APE::Tag * ); APETag( TagLib::Tag *, TagLib::APE::Tag * );
QString albumArtist() const override { return m_albumArtist; }
QString composer() const override { return m_composer; }
unsigned int discNumber() const override { return m_discNumber; }
private: private:
TagLib::APE::Tag *m_apeTag; TagLib::APE::Tag *m_apeTag;
}; };

View File

@@ -30,10 +30,6 @@ class DLLEXPORT ASFTag : public Tag
public: public:
ASFTag( TagLib::Tag *, TagLib::ASF::Tag * ); ASFTag( TagLib::Tag *, TagLib::ASF::Tag * );
QString albumArtist() const override { return m_albumArtist; }
QString composer() const override { return m_composer; }
unsigned int discNumber() const override { return m_discNumber; }
private: private:
TagLib::ASF::Tag *m_asfTag; TagLib::ASF::Tag *m_asfTag;
}; };

View File

@@ -29,10 +29,6 @@ class DLLEXPORT ID3v1Tag : public Tag
{ {
public: public:
ID3v1Tag( TagLib::Tag * ); ID3v1Tag( TagLib::Tag * );
QString albumArtist() const override { return QString(); }
QString composer() const override { return QString(); }
unsigned int discNumber() const override { return 0; }
}; };
} }

View File

@@ -30,10 +30,6 @@ class DLLEXPORT ID3v2Tag : public Tag
public: public:
ID3v2Tag( TagLib::Tag *, TagLib::ID3v2::Tag * ); ID3v2Tag( TagLib::Tag *, TagLib::ID3v2::Tag * );
QString albumArtist() const override { return m_albumArtist; }
QString composer() const override { return m_composer; }
unsigned int discNumber() const override { return m_discNumber; }
private: private:
TagLib::ID3v2::Tag *m_id3v2Tag; TagLib::ID3v2::Tag *m_id3v2Tag;
}; };

View File

@@ -30,10 +30,6 @@ class DLLEXPORT MP4Tag : public Tag
public: public:
MP4Tag( TagLib::Tag *, TagLib::MP4::Tag * ); MP4Tag( TagLib::Tag *, TagLib::MP4::Tag * );
QString albumArtist() const override { return m_albumArtist; }
QString composer() const override { return m_composer; }
unsigned int discNumber() const override { return m_discNumber; }
private: private:
TagLib::MP4::Tag *m_mp4Tag; TagLib::MP4::Tag *m_mp4Tag;
}; };

View File

@@ -30,10 +30,6 @@ class DLLEXPORT OggTag : public Tag
public: public:
OggTag( TagLib::Tag *, TagLib::Ogg::XiphComment * ); OggTag( TagLib::Tag *, TagLib::Ogg::XiphComment * );
QString albumArtist() const override { return m_albumArtist; }
QString composer() const override { return m_composer; }
unsigned int discNumber() const override { return m_discNumber; }
private: private:
TagLib::Ogg::XiphComment *m_xiphComment; TagLib::Ogg::XiphComment *m_xiphComment;
}; };

View File

@@ -52,9 +52,9 @@ public:
void setTrack( unsigned int i ) { m_tag->setTrack( i ); } void setTrack( unsigned int i ) { m_tag->setTrack( i ); }
bool isEmpty() const { return m_tag->isEmpty(); } bool isEmpty() const { return m_tag->isEmpty(); }
virtual QString albumArtist() const = 0; QString albumArtist() const { return m_albumArtist; }
virtual QString composer() const = 0; QString composer() const { return m_composer; }
virtual unsigned int discNumber() const = 0; unsigned int discNumber() const { return m_discNumber; }
//TODO: add support for writing those 3 items with TagLib's addField/setField //TODO: add support for writing those 3 items with TagLib's addField/setField
protected: protected: