mpcproperties.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_MPCPROPERTIES_H
00027 #define TAGLIB_MPCPROPERTIES_H
00028
00029 #include "taglib_export.h"
00030 #include "audioproperties.h"
00031
00032 namespace TagLib {
00033
00034 namespace MPC {
00035
00036 class File;
00037
00038 static const unsigned int HeaderSize = 8 * 7;
00039
00041
00047 class TAGLIB_EXPORT Properties : public AudioProperties
00048 {
00049 public:
00056 Properties(const ByteVector &data, long streamLength, ReadStyle style = Average);
00057
00062 Properties(File *file, long streamLength, ReadStyle style = Average);
00063
00067 virtual ~Properties();
00068
00077 virtual int length() const;
00078
00085
00086 int lengthInSeconds() const;
00087
00093
00094 int lengthInMilliseconds() const;
00095
00099 virtual int bitrate() const;
00100
00104 virtual int sampleRate() const;
00105
00109 virtual int channels() const;
00110
00114 int mpcVersion() const;
00115
00116 unsigned int totalFrames() const;
00117 unsigned int sampleFrames() const;
00118
00123 int trackGain() const;
00124
00130 int trackPeak() const;
00131
00136 int albumGain() const;
00137
00143 int albumPeak() const;
00144
00145 private:
00146 Properties(const Properties &);
00147 Properties &operator=(const Properties &);
00148
00149 void readSV7(const ByteVector &data, long streamLength);
00150 void readSV8(File *file, long streamLength);
00151
00152 class PropertiesPrivate;
00153 PropertiesPrivate *d;
00154 };
00155 }
00156 }
00157
00158 #endif