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
00098 File(IOStream *stream, bool readProperties = true,
00099 Properties::ReadStyle propertiesStyle = Properties::Average);
00100
00104 virtual ~File();
00105
00110 virtual TagLib::Tag *tag() const;
00111
00117 PropertyMap properties() const;
00118
00119 void removeUnsupportedProperties(const StringList &properties);
00120
00126 PropertyMap setProperties(const PropertyMap&);
00127
00132 virtual Properties *audioProperties() const;
00133
00139 virtual bool save();
00140
00158 ID3v1::Tag *ID3v1Tag(bool create = false);
00159
00177 APE::Tag *APETag(bool create = false);
00178
00187 void strip(int tags = AllTags);
00188
00194 bool hasID3v1Tag() const;
00195
00201 bool hasAPETag() const;
00202
00203 private:
00204 File(const File &);
00205 File &operator=(const File &);
00206
00207 void read(bool readProperties);
00208
00209 class FilePrivate;
00210 FilePrivate *d;
00211 };
00212 }
00213 }
00214
00215 #endif