00001 /* 00002 * ============================================================================== 00003 * Name : EqualizerData.h 00004 * Part of : Effects Framework 00005 * Interface : Audio Effects 00006 * Description : This file contains definitions of audio effects data structures for 00007 * equalizer. 00008 * Version : 2 00009 * 00010 * Copyright (c) 2004 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * ============================================================================== 00020 */ 00021 00022 00023 #ifndef EQUALIZERDATA_H 00024 #define EQUALIZERDATA_H 00025 00026 // INCLUDES 00027 #include <e32std.h> 00028 #include <s32mem.h> 00029 #include <AudioEffectData.h> 00030 00031 // CLASS DECLARATION 00032 00039 class TEfAudioEqualizerBand 00040 { 00041 public: 00042 00046 TEfAudioEqualizerBand() {} 00047 00048 void ExternalizeL( RWriteStream& aStream ) const 00049 { 00050 aStream.WriteUint8L(iBandId); 00051 aStream.WriteUint32L(iBandLevel); 00052 aStream.WriteUint32L(iBandWidth); 00053 aStream.WriteUint32L(iCenterFrequency); 00054 aStream.WriteUint32L(iCrossoverFrequency); 00055 } 00056 00057 void InternalizeL( RReadStream& aStream ) 00058 { 00059 iBandId = aStream.ReadUint8L(); 00060 iBandLevel = aStream.ReadUint32L(); 00061 iBandWidth = aStream.ReadUint32L(); 00062 iCenterFrequency = aStream.ReadUint32L(); 00063 iCrossoverFrequency = aStream.ReadUint32L(); 00064 } 00065 00066 TUint8 iBandId; 00067 TInt32 iBandLevel; 00068 TInt32 iBandWidth; 00069 TInt32 iCenterFrequency; 00070 TInt32 iCrossoverFrequency; 00071 00072 }; 00073 00081 class TEfAudioEqualizer : public TEfCommon 00082 { 00083 public: 00084 00088 TEfAudioEqualizer() {} 00089 00093 TEfAudioEqualizer( TInt32 aMindB, TInt32 aMaxdB ) : 00094 iMindB(aMindB), iMaxdB(aMaxdB) {} 00095 00096 TInt32 iMindB; 00097 TInt32 iMaxdB; 00098 00099 }; 00100 00101 00102 class TEfAudioEqualizerCombined : public TEfAudioEqualizer, public TEfAudioEqualizerBand 00103 { 00104 public: 00105 00106 // Indicates the data is valid for Equalizer 00107 TBool iAudioEqualizerDataValid; 00108 // Indicates the data is valid for Equalizer Band 00109 TBool iAudioEqualizerBandDataValid; 00110 }; 00111 00112 00113 typedef TPckgBuf<TEfAudioEqualizer> TEfAudioEqualizerDataPckg; 00114 typedef TPckgBuf<TEfAudioEqualizerBand> TEfAudioEqualizerBandDataPckg; 00115 typedef TPckgBuf<TEfAudioEqualizerCombined> TEfAudioEqualizerCombinedDataPckg; 00116 00117 // EQUALIZERDATA_H 00118 #endif 00119 00120 // End of File