00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef CSTEREOWIDENING_H
00021 #define CSTEREOWIDENING_H
00022 
00023 
00024 
00025 #include <e32base.h>
00026 #include <AudioEffectBase.h>
00027 #include <StereoWideningData.h>
00028 #include <MCustomInterface.h>
00029 
00030 const TUid KUidStereoWideningEffect = {0x10203836};
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 CDrmPlayerUtility;
00044 class CVideoPlayerUtility;
00045 
00046 
00047 
00055 class CStereoWidening : public CAudioEffect
00056     {
00057 
00058     public:     
00059 
00065         IMPORT_C static CStereoWidening* NewL();
00066 
00075         IMPORT_C static CStereoWidening* NewL(CMdaAudioConvertUtility& aUtility, 
00076                                               TBool aEnable = EFalse,
00077                                               TInt8 aInitialLevel = 0);
00078 
00087         IMPORT_C static CStereoWidening* NewL(CMdaAudioInputStream& aUtility,   
00088                                               TBool aEnable = EFalse,
00089                                               TInt8 aInitialLevel = 0);
00090 
00099         IMPORT_C static CStereoWidening* NewL(CMdaAudioOutputStream& aUtility, 
00100                                               TBool aEnable = EFalse,
00101                                               TInt8 aInitialLevel = 0);
00102 
00111         IMPORT_C static CStereoWidening* NewL(CMdaAudioPlayerUtility& aUtility,
00112                                               TBool aEnable = EFalse,
00113                                               TInt8 aInitialLevel = 0);
00114 
00125         IMPORT_C static CStereoWidening* NewL(CMdaAudioRecorderUtility& aUtility,
00126                                               TBool aRecordStream,
00127                                               TBool aEnable = EFalse,
00128                                               TInt8 aInitialLevel = 0);
00129 
00138         IMPORT_C static CStereoWidening* NewL(CMdaAudioToneUtility& aUtility,
00139                                               TBool aEnable = EFalse,
00140                                               TInt8 aInitialLevel = 0);
00141 
00150         IMPORT_C static CStereoWidening* NewL(CMMFDevSound& aDevSound,
00151                                               TBool aEnable = EFalse,
00152                                               TInt8 aInitialLevel = 0);
00153 
00162         IMPORT_C static CStereoWidening* NewL(CCustomCommandUtility* aUtility,
00163                                               TBool aEnable = EFalse,
00164                                               TInt8 aInitialLevel = 0);
00165 
00174         IMPORT_C static CStereoWidening* NewL(MCustomInterface& aCustomInterface,
00175                                               TBool aEnable = EFalse,
00176                                               TInt8 aInitialLevel = 0);
00177 
00186         IMPORT_C static CStereoWidening* NewL(CMidiClientUtility& aUtility,
00187                                               TBool aEnable = EFalse, 
00188                                               TInt8 aInitialLevel = 0);
00189 
00196         IMPORT_C static CStereoWidening* NewL(CDrmPlayerUtility& aUtility,
00197                                               TBool aEnable = EFalse,
00198                                               TInt8 aInitialLevel = 0);
00199 
00206         IMPORT_C static CStereoWidening* NewL(CVideoPlayerUtility& aUtility,
00207                                               TBool aEnable = EFalse,
00208                                               TInt8 aInitialLevel = 0);
00209 
00214         IMPORT_C virtual ~CStereoWidening();
00215 
00223         IMPORT_C TBool IsContinuousLevelSupported() const;
00224 
00230         IMPORT_C void SetStereoWideningLevelL( TUint8 aLevel );
00231 
00237         IMPORT_C TUint8 StereoWideningLevel() const;
00238 
00239 
00240     public: 
00241 
00242         
00243 
00244 
00245 
00246 
00247 
00248         IMPORT_C TUid Uid() const;
00249 
00250     protected:  
00251 
00258         IMPORT_C const TDesC8& DoEffectData();
00259 
00267         IMPORT_C void SetEffectData( const TDesC8& aEffectDataBuffer );
00268 
00269     protected:
00270 
00277         IMPORT_C CStereoWidening();
00278 
00279     protected:
00280 
00281         
00282         TEfStereoWidening iStereoWideningData;
00283         
00284         TEfStereoWideningDataPckg iDataPckgTo;
00285         
00286         TEfStereoWideningDataPckg iDataPckgFrom;
00287 
00288     protected:    
00289         friend class CStereoWideningMessageHandler;
00290 
00291     };
00292 
00293 
00294 #endif
00295 
00296