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