roomlevelbase.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : RoomLevelBase.h
00004 *  Part of     : Effects Framework
00005 *  Description : This is the definition of the RoomLevel effect class.
00006 *  Version     : %version: 3 %
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 CROOMLEVEL_H
00021 #define CROOMLEVEL_H
00022 
00023 // INCLUDES
00024 
00025 #include <e32base.h>
00026 #include <AudioEffectBase.h>
00027 #include <RoomLevelData.h>
00028 #include <MCustomInterface.h>
00029 
00030 const TUid KUidRoomLevelEffect = {0x10207B3C};
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 CEnvironmentalReverb;
00044 class CDrmPlayerUtility;
00045 class CVideoPlayerUtility;
00046 
00047 // CLASS DECLARATION
00048 
00056 class CRoomLevel : public CAudioEffect
00057     {
00058 
00059     public:     //New Functions
00067         IMPORT_C static CRoomLevel* NewL( CMdaAudioConvertUtility& aUtility, CEnvironmentalReverb& aReverb);
00068 
00076         IMPORT_C static CRoomLevel* NewL( CMdaAudioInputStream& aUtility, CEnvironmentalReverb& aReverb );
00077 
00085         IMPORT_C static CRoomLevel* NewL( CMdaAudioOutputStream& aUtility, CEnvironmentalReverb& aReverb);
00086 
00094         IMPORT_C static CRoomLevel* NewL( CMdaAudioPlayerUtility& aUtility, CEnvironmentalReverb& aReverb );
00095 
00105         IMPORT_C static CRoomLevel* NewL( CMdaAudioRecorderUtility& aUtility, TBool aRecordStream, CEnvironmentalReverb& aReverb);
00106 
00114         IMPORT_C static CRoomLevel* NewL( CMdaAudioToneUtility& aUtility, CEnvironmentalReverb& aReverb );
00115 
00123         IMPORT_C static CRoomLevel* NewL( CMMFDevSound& aDevSound, CEnvironmentalReverb& aReverb);
00124 
00132         IMPORT_C static CRoomLevel* NewL( CCustomCommandUtility* aUtility, CEnvironmentalReverb& aReverb );
00133 
00141         IMPORT_C static CRoomLevel* NewL( MCustomInterface& aCustomInterface, CEnvironmentalReverb& aReverb );
00142 
00150         IMPORT_C static CRoomLevel* NewL( CMidiClientUtility& aUtility, CEnvironmentalReverb& aReverb);
00151 
00158         IMPORT_C static CRoomLevel* NewL( CDrmPlayerUtility& aUtility, CEnvironmentalReverb& aReverb );
00159 
00166         IMPORT_C static CRoomLevel* NewL( CVideoPlayerUtility& aUtility, CEnvironmentalReverb& aReverb );
00167 
00172         IMPORT_C virtual ~CRoomLevel();
00173 
00179         IMPORT_C TInt32 Level() const;
00180 
00188         IMPORT_C void LevelRange( TInt32& aMin, TInt32& aMax );
00189 
00195         IMPORT_C void SetRoomLevelL( TInt32 aRoomLevel );
00196 
00197 
00198     public: // functions from base class
00199 
00200         /*
00201         * From CAudioEffect
00202         * Get the unique identifier of the audio effect
00203         * 
00204         * @return Unique identifier
00205         */
00206         IMPORT_C TUid Uid() const;
00207 
00208     protected:  // Functions from base classes
00209 
00216         IMPORT_C const TDesC8& DoEffectData();
00217 
00225         IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
00226 
00227 
00228 
00229 
00230 
00231 
00232     protected:
00233 
00239         IMPORT_C CRoomLevel();
00240 
00241     protected:
00242         CEnvironmentalReverb* iClientReverb;
00243         // RoomLevel data structure
00244         TEfRoomLevel iRoomLevelData;
00245         // Data package sent to server
00246         TEfRoomLevelDataPckg iDataPckgTo;
00247         // Data package received from server
00248         TEfRoomLevelDataPckg iDataPckgFrom;
00249 
00250     friend class CRoomLevelMessageHandler;
00251 //    friend class CEnvironmentalReverbImpl;
00252 
00253     };
00254 
00255 // of CROOMLEVEL_H
00256 #endif
00257 
00258 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top