00001 /* 00002 * ============================================================================== 00003 * Name : BassBoostBase.h 00004 * Part of : Effects Framework 00005 * Description : This is the definition of the Bass Boost effect class. 00006 * Version : %version: 5 % 00007 * 00008 * Copyright © 2006 Nokia Corporation. 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 BASSBOOSTBASE_H 00021 #define BASSBOOSTBASE_H 00022 00023 // INCLUDES 00024 00025 #include <e32base.h> 00026 #include <AudioEffectBase.h> 00027 #include <BassBoostData.h> 00028 #include <MCustomInterface.h> 00029 00030 const TUid KUidBassBoostEffect = {0x10203827}; 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 CBassBoost : public CAudioEffect 00056 { 00057 00058 public: //New Functions 00059 00067 IMPORT_C static CBassBoost* NewL( CMMFDevSound& aDevSound, TBool aEnable = EFalse ); 00068 00076 IMPORT_C static CBassBoost* NewL( CMdaAudioConvertUtility& aUtility, TBool aEnable = EFalse ); 00077 00085 IMPORT_C static CBassBoost* NewL( CMdaAudioInputStream& aUtility, TBool aEnable = EFalse ); 00086 00094 IMPORT_C static CBassBoost* NewL( CMdaAudioOutputStream& aUtility, TBool aEnable = EFalse ); 00095 00103 IMPORT_C static CBassBoost* NewL( CMdaAudioPlayerUtility& aUtility, TBool aEnable = EFalse ); 00104 00114 IMPORT_C static CBassBoost* NewL( CMdaAudioRecorderUtility& aUtility, TBool aRecordStream, TBool aEnable = EFalse ); 00115 00123 IMPORT_C static CBassBoost* NewL( CMdaAudioToneUtility& aUtility, TBool aEnable = EFalse ); 00124 00132 IMPORT_C static CBassBoost* NewL( CCustomCommandUtility* aUtility, TBool aEnable = EFalse ); 00133 00141 IMPORT_C static CBassBoost* NewL( MCustomInterface& aCustomInterface, TBool aEnable = EFalse ); 00142 00143 #start_since SINCE_3_1_SDK 00144 00152 IMPORT_C static CBassBoost* NewL( CMidiClientUtility& aUtility, TBool aEnable = EFalse ); 00153 #end_since SINCE_3_1_SDK 00154 00155 00160 IMPORT_C virtual ~CBassBoost(); 00161 00162 public: // functions from base class 00163 00164 /* 00165 * From CAudioEffect 00166 * Get the unique identifier of the audio effect 00167 * 00168 * @return Unique identifier 00169 */ 00170 IMPORT_C TUid Uid() const; 00171 00172 protected: // Functions from base classes 00173 00180 IMPORT_C const TDesC8& DoEffectData(); 00181 00189 IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer ); 00190 00191 protected: 00192 00199 IMPORT_C CBassBoost(); 00200 00201 protected: 00202 00203 // BassBoost data structure 00204 TEfBassBoostData iBassBoostData; 00205 // Data package sent to server 00206 TEfBassBoostDataPckg iDataPckgTo; 00207 // Data package received from server 00208 TEfBassBoostDataPckg iDataPckgFrom; 00209 00210 protected: // Friend classes 00211 00212 friend class CBassBoostMessageHandler; 00213 }; 00214 00215 // of BASSBOOSTBASE_H 00216 #endif 00217 00218 // End of File