AudioFileHeader.hxx
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 #ifndef __AUDIOFILEHEADER__
00023 #define __AUDIOFILEHEADER__
00024 #include <typeinfo>
00025
00026 #include "AudioFileFormats.hxx"
00027 #include "DynamicType.hxx"
00028
00029 namespace CLAM
00030 {
00032 class AudioFileHeader
00033 : public DynamicType
00034 {
00035 public:
00036 DYNAMIC_TYPE( AudioFileHeader, 7 );
00037 DYN_ATTRIBUTE( 0, public, TData, SampleRate );
00038 DYN_ATTRIBUTE( 1, public, TSize, Samples );
00039 DYN_ATTRIBUTE( 2, public, TSize, Channels );
00040 DYN_ATTRIBUTE( 3, public, TTime, Length );
00041 DYN_ATTRIBUTE( 4, public, EAudioFileFormat, Format );
00042 DYN_ATTRIBUTE( 5, public, EAudioFileEncoding, Encoding );
00043 DYN_ATTRIBUTE( 6, public, EAudioFileEndianess, Endianess );
00044
00045 protected:
00046 void DefaultInit();
00047
00048 public:
00049
00050 void SetValues( TData rate, TSize numberOfChannels,
00051 EAudioFileFormat fmt );
00052
00053 void SetValues( TData rate, TSize numberOfChannels,
00054 const char* fmtString );
00055
00056 };
00057
00058 }
00059
00060 #endif // AudioFileHeader.hxx
00061