wavpackfile.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef TAGLIB_WVFILE_H
00031 #define TAGLIB_WVFILE_H
00032
00033 #include "tfile.h"
00034 #include "taglib_export.h"
00035 #include "wavpackproperties.h"
00036
00037 namespace TagLib {
00038
00039 class Tag;
00040
00041 namespace ID3v1 { class Tag; }
00042 namespace APE { class Tag; }
00043
00045
00053 namespace WavPack {
00054
00056
00064 class TAGLIB_EXPORT File : public TagLib::File
00065 {
00066 public:
00071 enum TagTypes {
00073 NoTags = 0x0000,
00075 ID3v1 = 0x0001,
00077 APE = 0x0002,
00079 AllTags = 0xffff
00080 };
00081
00087 File(FileName file, bool readProperties = true,
00088 Properties::ReadStyle propertiesStyle = Properties::Average);
00089
00093 virtual ~File();
00094
00099 virtual TagLib::Tag *tag() const;
00100
00105 virtual Properties *audioProperties() const;
00106
00110 virtual bool save();
00111
00124 ID3v1::Tag *ID3v1Tag(bool create = false);
00125
00137 APE::Tag *APETag(bool create = false);
00138
00147 void strip(int tags = AllTags);
00148
00149 private:
00150 File(const File &);
00151 File &operator=(const File &);
00152
00153 void read(bool readProperties, Properties::ReadStyle propertiesStyle);
00154 void scan();
00155 long findID3v1();
00156 long findAPE();
00157
00158 class FilePrivate;
00159 FilePrivate *d;
00160 };
00161 }
00162 }
00163
00164 #endif