![]() |
Mixxx
|
00001 00002 #ifndef AUDIOTAGGER_H 00003 #define AUDIOTAGGER_H 00004 00005 #include <QString> 00006 #include <taglib/apetag.h> 00007 #include <taglib/id3v2tag.h> 00008 #include <taglib/xiphcomment.h> 00009 #include <taglib/mp4tag.h> 00010 00011 00012 00013 class AudioTagger 00014 { 00015 public: 00016 00017 00018 AudioTagger (QString file); 00019 virtual ~AudioTagger ( ); 00020 void setArtist (QString artist ); 00021 void setTitle (QString title ); 00022 void setAlbum (QString album ); 00023 void setGenre (QString genre ); 00024 void setYear (QString year ); 00025 void setComment (QString comment ); 00026 void setKey (QString key ); 00027 void setBpm (QString bpm ); 00028 void setTracknumber (QString tracknumber ); 00029 bool save(); 00030 00031 00032 private: 00033 QString m_artist; 00034 QString m_title; 00035 QString m_genre; 00036 QString m_album; 00037 QString m_year; 00038 QString m_comment; 00039 QString m_key; 00040 QString m_bpm; 00041 QString m_tracknumber; 00042 00043 QString m_file; 00044 00046 void addID3v2Tag(TagLib::ID3v2::Tag* id3v2); 00047 void addAPETag(TagLib::APE::Tag* ape); 00048 void addXiphComment(TagLib::Ogg::XiphComment* xiph); 00049 void processMP4Tag(TagLib::MP4::Tag* mp4); 00050 }; 00051 00052 #endif // AUDIOTAGGER_H