audioequalizerdata.h

Go to the documentation of this file.
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

Copyright © Nokia Corporation 2001-2008
Back to top