00001 #ifndef METAIO_H_
00002 #define METAIO_H_
00003
00004 #include <qregexp.h>
00005
00006 #define MYTH_MUSICBRAINZ_ALBUMARTIST_UUID "89ad4ac3-39f7-470e-963a-56509c546377"
00007
00008
00009 class Metadata;
00010
00011 class MetaIO
00012 {
00013 public:
00014 MetaIO(QString fileExtension);
00015 virtual ~MetaIO(void);
00016
00017 virtual bool write(Metadata* mdata, bool exclusive = false) = 0;
00018 virtual Metadata* read(QString filename) = 0;
00019
00020 void readFromFilename(QString filename, QString &artist, QString &album,
00021 QString &title, QString &genre, int &tracknum);
00022
00023 Metadata* readFromFilename(QString filename, bool blnLength = false);
00024
00025 protected:
00026
00027 private:
00028 virtual int getTrackLength(QString filename) = 0;
00029
00030 QString mFilename;
00031
00032 QString mFileExtension;
00033
00034 QString mFilenameFormat;
00035 };
00036
00037 #endif
00038