00001 #ifndef METAIOTAGLIB_H_ 00002 #define METAIOTAGLIB_H_ 00003 00004 // MythMusic 00005 #include "metaio.h" 00006 #include "metadata.h" 00007 00008 // Taglib 00009 #include <tfile.h> 00010 00011 using TagLib::File; 00012 using TagLib::Tag; 00013 using TagLib::String; 00014 00020 class MetaIOTagLib : public MetaIO 00021 { 00022 public: 00023 MetaIOTagLib(void); 00024 virtual ~MetaIOTagLib(void); 00025 00026 virtual bool write(const Metadata* mdata) = 0; 00027 virtual Metadata* read(const QString &filename) = 0; 00028 00029 protected: 00030 int getTrackLength(TagLib::File *file); 00031 int getTrackLength(const QString &filename); 00032 void ReadGenericMetadata(TagLib::Tag *tag, Metadata *metadata); 00033 void WriteGenericMetadata(TagLib::Tag *tag, const Metadata *metadata); 00034 }; 00035 00036 #endif
1.6.3