00001 /* 00002 * ============================================================================== 00003 * Name : LoudnessBase.h 00004 * Part of : Effects Framework 00005 * Description : This is the definition of the Loudness effect class. 00006 * Version : %version: 1 % 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 CLOUDNESS_H 00021 #define CLOUDNESS_H 00022 00023 // INCLUDES 00024 00025 #include <e32base.h> 00026 #include <AudioEffectBase.h> 00027 #include <LoudnessData.h> 00028 #include <MCustomInterface.h> 00029 00030 const TUid KUidLoudnessEffect = {0x10207AA8}; 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 CLoudness : public CAudioEffect 00056 { 00057 00058 public: //New Functions 00059 00066 IMPORT_C static CLoudness* NewL( CMdaAudioConvertUtility& aUtility ); 00067 00075 IMPORT_C static CLoudness* NewL( CMdaAudioInputStream& aUtility , TBool aEnable = EFalse ); 00076 00084 IMPORT_C static CLoudness* NewL( CMdaAudioOutputStream& aUtility , TBool aEnable = EFalse ); 00085 00093 IMPORT_C static CLoudness* NewL( CMdaAudioPlayerUtility& aUtility , TBool aEnable = EFalse ); 00094 00104 IMPORT_C static CLoudness* NewL( CMdaAudioRecorderUtility& aUtility, TBool aRecordStream, TBool aEnable = EFalse ); 00105 00113 IMPORT_C static CLoudness* NewL( CMdaAudioToneUtility& aUtility , TBool aEnable = EFalse ); 00114 00122 IMPORT_C static CLoudness* NewL( CMMFDevSound& aDevSound, TBool aEnable = EFalse ); 00123 00131 IMPORT_C static CLoudness* NewL( CCustomCommandUtility* aUtility , TBool aEnable = EFalse ); 00132 00140 IMPORT_C static CLoudness* NewL( MCustomInterface& aCustomInterface, TBool aEnable = EFalse ); 00141 00142 #start_since SINCE_3_1_SDK 00143 00151 IMPORT_C static CLoudness* NewL( CMidiClientUtility& aUtility , TBool aEnable = EFalse ); 00152 #end_since SINCE_3_1_SDK 00153 00154 00159 IMPORT_C virtual ~CLoudness(); 00160 00161 public: // functions from base class 00162 00163 /* 00164 * From CAudioEffect 00165 * Get the unique identifier of the audio effect 00166 * 00167 * @return Unique identifier 00168 */ 00169 IMPORT_C TUid Uid() const; 00170 00171 protected: // functions from base class 00172 00179 IMPORT_C const TDesC8& DoEffectData(); 00180 00188 IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer ); 00189 00190 protected: 00191 00198 IMPORT_C CLoudness(); 00199 00200 00201 protected: 00202 00203 // Loudness data structure 00204 TEfLoudnessData iLoudnessData; 00205 // Data package sent to server 00206 TEfLoudnessDataPckg iDataPckgTo; 00207 // Data package received from server 00208 TEfLoudnessDataPckg iDataPckgFrom; 00209 00210 protected: // Friend classes 00211 00212 friend class CLoudnessMessageHandler; 00213 00214 }; 00215 00216 // of CLOUDNESS_H 00217 #endif 00218 00219 // End of File