00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TAGLIB_MP4FILE_H
00023 #define TAGLIB_MP4FILE_H
00024
00025 #include <tfile.h>
00026 #include "mp4properties.h"
00027
00028 namespace TagLib {
00029
00030 namespace MP4 {
00031
00032 class Tag;
00033
00034 class File : public TagLib::File
00035 {
00036 public:
00042 File(const char *file, bool readProperties = true,
00043 Properties::ReadStyle propertiesStyle = Properties::Average,
00044 MP4FileHandle handle=MP4_INVALID_FILE_HANDLE);
00045
00049 virtual ~File();
00050
00051
00052 virtual TagLib::Tag *tag() const;
00053
00058 virtual MP4::Properties *audioProperties() const;
00059
00066 virtual bool save();
00067
00068 void read(bool readProperties, Properties::ReadStyle propertiesStyle);
00069
00070 MP4::Tag *getMP4Tag() const;
00071
00072 protected:
00073 File(const File &);
00074 File &operator=(const File &);
00075 bool isOpen();
00076
00077
00078 MP4::Tag *mp4tag;
00079 MP4::Properties *properties;
00080 MP4FileHandle mp4file;
00081
00082 };
00083 }
00084 }
00085
00086 #endif