wavfile.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 #ifndef TAGLIB_WAVFILE_H
00027 #define TAGLIB_WAVFILE_H
00028
00029 #include "rifffile.h"
00030 #include "id3v2tag.h"
00031 #include "infotag.h"
00032 #include "wavproperties.h"
00033
00034 namespace TagLib {
00035
00036 namespace RIFF {
00037
00039
00047 namespace WAV {
00048
00050
00058 class TAGLIB_EXPORT File : public TagLib::RIFF::File
00059 {
00060 public:
00061 enum TagTypes {
00063 NoTags = 0x0000,
00065 ID3v2 = 0x0001,
00067 Info = 0x0002,
00069 AllTags = 0xffff
00070 };
00071
00078 File(FileName file, bool readProperties = true,
00079 Properties::ReadStyle propertiesStyle = Properties::Average);
00080
00090 File(IOStream *stream, bool readProperties = true,
00091 Properties::ReadStyle propertiesStyle = Properties::Average);
00092
00096 virtual ~File();
00097
00104 ID3v2::Tag *tag() const;
00105
00115 ID3v2::Tag *ID3v2Tag() const;
00116
00126 Info::Tag *InfoTag() const;
00127
00135 void strip(TagTypes tags = AllTags);
00136
00141 PropertyMap properties() const;
00142
00143 void removeUnsupportedProperties(const StringList &properties);
00144
00149 PropertyMap setProperties(const PropertyMap &);
00150
00155 virtual Properties *audioProperties() const;
00156
00160 virtual bool save();
00161
00162 bool save(TagTypes tags, bool stripOthers = true, int id3v2Version = 4);
00163
00169 bool hasID3v2Tag() const;
00170
00176 bool hasInfoTag() const;
00177
00178 private:
00179 File(const File &);
00180 File &operator=(const File &);
00181
00182 void read(bool readProperties);
00183 void removeTagChunks(TagTypes tags);
00184
00185 friend class Properties;
00186
00187 class FilePrivate;
00188 FilePrivate *d;
00189 };
00190 }
00191 }
00192 }
00193
00194 #endif