stereowideningbase.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : StereoWideningBase.h
00004 *  Part of     : Effects Framework
00005 *  Description : This is the definition of the Stereo Widening effect class.
00006 *  Version     : %version: 4 %
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 CSTEREOWIDENING_H
00021 #define CSTEREOWIDENING_H
00022 
00023 // INCLUDES
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 // 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 CDrmPlayerUtility;
00044 class CVideoPlayerUtility;
00045 
00046 // CLASS DECLARATION
00047 
00055 class CStereoWidening : public CAudioEffect
00056     {
00057 
00058     public:     //New Functions
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: // functions from base class
00241 
00242         /*
00243         * From CAudioEffect
00244         * Get the unique identifier of the audio effect
00245         * 
00246         * @return Unique identifier
00247         */
00248         IMPORT_C TUid Uid() const;
00249 
00250     protected:  // Functions from base classes
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         // Balance data structure
00282         TEfStereoWidening iStereoWideningData;
00283         // Data package sent to server
00284         TEfStereoWideningDataPckg iDataPckgTo;
00285         // Data package received from server
00286         TEfStereoWideningDataPckg iDataPckgFrom;
00287 
00288     protected:    // Friend classes
00289         friend class CStereoWideningMessageHandler;
00290 
00291     };
00292 
00293 // of CSTEREOWIDENING_H
00294 #endif
00295 
00296 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top