00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef CROOMLEVEL_H
00021 #define CROOMLEVEL_H
00022
00023
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
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
00048
00056 class CRoomLevel : public CAudioEffect
00057 {
00058
00059 public:
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:
00199
00200
00201
00202
00203
00204
00205
00206 IMPORT_C TUid Uid() const;
00207
00208 protected:
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
00244 TEfRoomLevel iRoomLevelData;
00245
00246 TEfRoomLevelDataPckg iDataPckgTo;
00247
00248 TEfRoomLevelDataPckg iDataPckgFrom;
00249
00250 friend class CRoomLevelMessageHandler;
00251
00252
00253 };
00254
00255
00256 #endif
00257
00258