oggflacfile.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_OGGFLACFILE_H
00027 #define TAGLIB_OGGFLACFILE_H
00028
00029 #include "taglib_export.h"
00030 #include "oggfile.h"
00031 #include "xiphcomment.h"
00032
00033 #include "flacproperties.h"
00034
00035 namespace TagLib {
00036
00037 class Tag;
00038
00039 namespace Ogg {
00040
00042
00050 namespace FLAC {
00051
00052 using TagLib::FLAC::Properties;
00053
00055
00063 class TAGLIB_EXPORT File : public Ogg::File
00064 {
00065 public:
00071 File(FileName file, bool readProperties = true,
00072 Properties::ReadStyle propertiesStyle = Properties::Average);
00073
00077 virtual ~File();
00078
00082 virtual XiphComment *tag() const;
00083
00088 virtual Properties *audioProperties() const;
00089
00094 virtual bool save();
00095
00100 long streamLength();
00101
00102 private:
00103 File(const File &);
00104 File &operator=(const File &);
00105
00106 void read(bool readProperties, Properties::ReadStyle propertiesStyle);
00107 void scan();
00108 ByteVector streamInfoData();
00109 ByteVector xiphCommentData();
00110
00111 class FilePrivate;
00112 FilePrivate *d;
00113 };
00114 }
00115 }
00116 }
00117
00118 #endif