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: 5 %
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 class CMidiClientUtility;
00043 class CDrmPlayerUtility;
00044 class CVideoPlayerUtility;
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 
00147         IMPORT_C static CEnvironmentalReverb* NewL( CMidiClientUtility& aUtility );
00148 
00155         IMPORT_C static CEnvironmentalReverb* NewL( CDrmPlayerUtility& aUtility );
00156 
00163         IMPORT_C static CEnvironmentalReverb* NewL( CVideoPlayerUtility& aUtility );
00164 
00169         IMPORT_C virtual ~CEnvironmentalReverb();
00170 
00176         IMPORT_C TUint32 DecayHFRatio() const;
00177 
00184         IMPORT_C void DecayHFRatioRange(TUint32& aMin, TUint32& aMax);
00185 
00191         IMPORT_C TUint32 DecayTime() const;
00192 
00199         IMPORT_C void DecayTimeRange(TUint32& aMin, TUint32& aMax);
00200 
00206         IMPORT_C TUint32 Density() const;
00207 
00213         IMPORT_C TUint32 Diffusion() const;
00214 
00220         IMPORT_C TUint32 ReflectionsDelay() const;
00221 
00227         IMPORT_C TUint32 ReflectionsDelayMax() const;
00228 
00234         IMPORT_C TInt32 ReflectionsLevel() const;
00235 
00242         IMPORT_C void ReflectionLevelRange( TInt32& aMin, TInt32& aMax );
00243 
00249         IMPORT_C TUint32 ReverbDelay() const;
00250 
00256         IMPORT_C TUint32 ReverbDelayMax() const;
00257 
00263         IMPORT_C TInt32 ReverbLevel() const;
00264 
00272         IMPORT_C void ReverbLevelRange( TInt32& aMin, TInt32& aMax );
00273 
00279         IMPORT_C TInt32 RoomHFLevel() const;
00280 
00288         IMPORT_C void RoomHFLevelRange( TInt32& aMin, TInt32& aMax );
00289 
00295         IMPORT_C TInt32 RoomLevel() const;
00296 
00304         IMPORT_C void RoomLevelRange( TInt32& aMin, TInt32& aMax );
00305 
00312         IMPORT_C void SetDecayHFRatioL( TUint32 aDecayHFRatio );
00313 
00319         IMPORT_C void SetDecayTimeL( TUint32 aDecayTime );
00320 
00326         IMPORT_C void SetDensityL( TUint32 aDensity );
00327 
00333         IMPORT_C void SetDiffusionL( TUint32 aDiffusion );
00334 
00340         IMPORT_C void SetReflectionsDelayL( TUint32 aReflectionsDelay );
00341 
00347         IMPORT_C void SetReflectionsLevelL( TInt32 aReflectionsLevel );
00348 
00354         IMPORT_C void SetReverbDelayL( TUint32 aReverbDelay );
00355 
00361         IMPORT_C void SetReverbLevelL( TInt32 aReverbLevel );
00362 
00368         IMPORT_C void SetRoomHFLevelL( TInt32 aRoomHFLevel );
00369 
00375         IMPORT_C void SetRoomLevelL( TInt32 aRoomLevel );
00376 
00382         IMPORT_C TUint32 DelayMax() const;
00383 
00384     public: // functions from base class
00385 
00386         /*
00387         * From CAudioEffect
00388         * Get the unique identifier of the audio effect
00389         * 
00390         * @return Unique identifier
00391         */
00392         IMPORT_C TUid Uid() const;
00393 
00394     protected:  // Functions from base classes
00395 
00402         IMPORT_C const TDesC8& DoEffectData();
00403 
00411         IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
00412 
00413     protected:
00414 
00420         IMPORT_C CEnvironmentalReverb();
00421 
00422     protected:
00423 
00424         // Reverb data structure
00425         TEfEnvironmentalReverb iReverbData;
00426         // Data package sent to server
00427         TEfEnvReverbDataPckg iDataPckgTo;
00428         // Data package received from server
00429         TEfEnvReverbDataPckg iDataPckgFrom;
00430 
00431     protected:    // Friend classes
00432 
00433         friend class CEnvironmentalReverbMessageHandler;
00434         friend class CEnvironmentalReverbUtility;
00435 
00436     };
00437 
00438 // of CENVIRONMENTALREVERB_H
00439 #endif
00440 
00441 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top