mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-11 08:34:34 +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:
@@ -30,10 +30,6 @@ class DLLEXPORT APETag : public Tag
|
||||
public:
|
||||
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:
|
||||
TagLib::APE::Tag *m_apeTag;
|
||||
};
|
||||
|
@@ -30,10 +30,6 @@ class DLLEXPORT ASFTag : public Tag
|
||||
public:
|
||||
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:
|
||||
TagLib::ASF::Tag *m_asfTag;
|
||||
};
|
||||
|
@@ -29,10 +29,6 @@ class DLLEXPORT ID3v1Tag : public Tag
|
||||
{
|
||||
public:
|
||||
ID3v1Tag( TagLib::Tag * );
|
||||
|
||||
QString albumArtist() const override { return QString(); }
|
||||
QString composer() const override { return QString(); }
|
||||
unsigned int discNumber() const override { return 0; }
|
||||
};
|
||||
|
||||
}
|
||||
|
@@ -30,10 +30,6 @@ class DLLEXPORT ID3v2Tag : public Tag
|
||||
public:
|
||||
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:
|
||||
TagLib::ID3v2::Tag *m_id3v2Tag;
|
||||
};
|
||||
|
@@ -30,10 +30,6 @@ class DLLEXPORT MP4Tag : public Tag
|
||||
public:
|
||||
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:
|
||||
TagLib::MP4::Tag *m_mp4Tag;
|
||||
};
|
||||
|
@@ -30,10 +30,6 @@ class DLLEXPORT OggTag : public Tag
|
||||
public:
|
||||
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:
|
||||
TagLib::Ogg::XiphComment *m_xiphComment;
|
||||
};
|
||||
|
@@ -52,9 +52,9 @@ public:
|
||||
void setTrack( unsigned int i ) { m_tag->setTrack( i ); }
|
||||
bool isEmpty() const { return m_tag->isEmpty(); }
|
||||
|
||||
virtual QString albumArtist() const = 0;
|
||||
virtual QString composer() const = 0;
|
||||
virtual unsigned int discNumber() const = 0;
|
||||
QString albumArtist() const { return m_albumArtist; }
|
||||
QString composer() const { return m_composer; }
|
||||
unsigned int discNumber() const { return m_discNumber; }
|
||||
//TODO: add support for writing those 3 items with TagLib's addField/setField
|
||||
|
||||
protected:
|
||||
|
Reference in New Issue
Block a user