S60 3rd Edition API Reference: environmentalreverbbase.h Source File

environmentalreverbbase.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : EnvironmentalReverbBase.h
00004 *  Part of     : Effects Framework
00005 *  Description : This is the definition of the Environmental Reverb effect class.
00006 *  Version     : %version: 4 %
00007 *
00008 *  Copyright © 2006 Nokia. All rights reserved.
00009 *  This material, including documentation and any related
00010 *  computer programs, is protected by copyright controlled by
00011 *  Nokia Corporation. All rights are reserved. Copying,
00012 *  including reproducing, storing, adapting or translating, any
00013 *  or all of this material requires the prior written consent of
00014 *  Nokia Corporation. This material also contains confidential
00015 *  information which may not be disclosed to others without the
00016 *  prior written consent of Nokia Corporation.
00017 * ==============================================================================
00018 */
00019 
00020 #ifndef CENVIRONMENTALREVERB_H
00021 #define CENVIRONMENTALREVERB_H
00022 
00023 // INCLUDES
00024 
00025 #include <e32base.h>
00026 #include <AudioEffectBase.h>
00027 #include <EnvironmentalReverbData.h>
00028 #include <MCustomInterface.h>
00029 
00030 const TUid KUidEnvironmentalReverbEffect = {0x10203837};
00031 
00032 // FORWARD DELCARATION
00033 class CMdaAudioConvertUtility;
00034 class CMdaAudioPlayerUtility;
00035 class CMdaAudioRecorderUtility;
00036 class CMdaAudioInputStream;
00037 class CMdaAudioOutputStream;
00038 class CMdaAudioToneUtility;
00039 class CCustomCommandUtility;
00040 class CCustomInterfaceUtility;
00041 class CMMFDevSound;
00042 #start_since SINCE_3_1_SDK
00043 class CMidiClientUtility;
00044 #end_since SINCE_3_1_SDK
00045 
00046 // CLASS DECLARATION
00047 
00055 class CEnvironmentalReverb : public CAudioEffect
00056     {
00057 
00058     public:     //New Functions
00059 
00065         IMPORT_C static CEnvironmentalReverb* NewL();
00066 
00073         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioConvertUtility& aUtility );
00074 
00081         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioInputStream& aUtility );
00082 
00089         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioOutputStream& aUtility );
00090 
00097         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioPlayerUtility& aUtility );
00098 
00107         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioRecorderUtility& aUtility, TBool aRecordStream );
00108 
00115         IMPORT_C static CEnvironmentalReverb* NewL( CMdaAudioToneUtility& aUtility );
00116 
00123         IMPORT_C static CEnvironmentalReverb* NewL( CMMFDevSound& aDevSound );
00124 
00131         IMPORT_C static CEnvironmentalReverb* NewL( CCustomCommandUtility* aUtility );
00132 
00139         IMPORT_C static CEnvironmentalReverb* NewL( MCustomInterface& aCustomInterface );
00140 
00141 #start_since SINCE_3_1_SDK
00142 
00149         IMPORT_C static CEnvironmentalReverb* NewL( CMidiClientUtility& aUtility );
00150 #end_since SINCE_3_1_SDK
00151 
00152 
00157         IMPORT_C virtual ~CEnvironmentalReverb();
00158 
00164         IMPORT_C TUint32 DecayHFRatio() const;
00165 
00172         IMPORT_C void DecayHFRatioRange(TUint32& aMin, TUint32& aMax);
00173 
00179         IMPORT_C TUint32 DecayTime() const;
00180 
00187         IMPORT_C void DecayTimeRange(TUint32& aMin, TUint32& aMax);
00188 
00194         IMPORT_C TUint32 Density() const;
00195 
00201         IMPORT_C TUint32 Diffusion() const;
00202 
00208         IMPORT_C TUint32 ReflectionsDelay() const;
00209 
00215         IMPORT_C TUint32 ReflectionsDelayMax() const;
00216 
00222         IMPORT_C TInt32 ReflectionsLevel() const;
00223 
00230         IMPORT_C void ReflectionLevelRange( TInt32& aMin, TInt32& aMax );
00231 
00237         IMPORT_C TUint32 ReverbDelay() const;
00238 
00244         IMPORT_C TUint32 ReverbDelayMax() const;
00245 
00251         IMPORT_C TInt32 ReverbLevel() const;
00252 
00260         IMPORT_C void ReverbLevelRange( TInt32& aMin, TInt32& aMax );
00261 
00267         IMPORT_C TInt32 RoomHFLevel() const;
00268 
00276         IMPORT_C void RoomHFLevelRange( TInt32& aMin, TInt32& aMax );
00277 
00283         IMPORT_C TInt32 RoomLevel() const;
00284 
00292         IMPORT_C void RoomLevelRange( TInt32& aMin, TInt32& aMax );
00293 
00300         IMPORT_C void SetDecayHFRatioL( TUint32 aDecayHFRatio );
00301 
00307         IMPORT_C void SetDecayTimeL( TUint32 aDecayTime );
00308 
00314         IMPORT_C void SetDensityL( TUint32 aDensity );
00315 
00321         IMPORT_C void SetDiffusionL( TUint32 aDiffusion );
00322 
00328         IMPORT_C void SetReflectionsDelayL( TUint32 aReflectionsDelay );
00329 
00335         IMPORT_C void SetReflectionsLevelL( TInt32 aReflectionsLevel );
00336 
00342         IMPORT_C void SetReverbDelayL( TUint32 aReverbDelay );
00343 
00349         IMPORT_C void SetReverbLevelL( TInt32 aReverbLevel );
00350 
00356         IMPORT_C void SetRoomHFLevelL( TInt32 aRoomHFLevel );
00357 
00363         IMPORT_C void SetRoomLevelL( TInt32 aRoomLevel );
00364 
00370         IMPORT_C TUint32 DelayMax() const;
00371 
00372     public: // functions from base class
00373 
00374         /*
00375         * From CAudioEffect
00376         * Get the unique identifier of the audio effect
00377         * 
00378         * @return Unique identifier
00379         */
00380         IMPORT_C TUid Uid() const;
00381 
00382     protected:  // Functions from base classes
00383 
00390         IMPORT_C const TDesC8& DoEffectData();
00391 
00399         IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
00400 
00401     protected:
00402 
00408         IMPORT_C CEnvironmentalReverb();
00409 
00410     protected:
00411 
00412         // Reverb data structure
00413         TEfEnvironmentalReverb iReverbData;
00414         // Data package sent to server
00415         TEfEnvReverbDataPckg iDataPckgTo;
00416         // Data package received from server
00417         TEfEnvReverbDataPckg iDataPckgFrom;
00418 
00419     protected:    // Friend classes
00420 
00421         friend class CEnvironmentalReverbMessageHandler;
00422         friend class CEnvironmentalReverbUtility;
00423 
00424     };
00425 
00426 // of CENVIRONMENTALREVERB_H
00427 #endif
00428 
00429 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top