S60 3rd Edition API Reference: audioequalizerutility.h Source File

audioequalizerutility.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : AUDIOEQUALIZERUTILITY.h
00004 *  Part of     : Audio Effects Framework
00005 *  Description : This is the definition of the audio equalizer utility class.
00006 *  Version     : %version: 5 %
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. All rights are reserved. Copying, including
00012 *  reproducing, storing, adapting or translating, any
00013 *  or all of this material requires the prior written consent of
00014 *  Nokia. This material also contains confidential
00015 *  information which may not be disclosed to others without the
00016 *  prior written consent of Nokia.
00017 * ==============================================================================
00018 */
00019 
00020 
00021 #ifndef CAUDIOEQUALIZERUTILITY_H
00022 #define CAUDIOEQUALIZERUTILITY_H
00023 
00024 //  INCLUDES
00025 #include <e32base.h>
00026 #include <e32svr.h>
00027 #include <AudioEqualizerBase.h>
00028 #include <BassBoostBase.h>
00029 #include <centralrepository.h>
00030 #include <AudioEqualizerUtilityData.h>
00031 
00032 // FORWARD DECLARATIONS
00033 class TEfAudioEqualizerUtilityPreset;
00034 class CAudioEqualizer;
00035 class CBassBoost;
00036 class CMdaAudioConvertUtility;
00037 class CMdaAudioPlayerUtility;
00038 class CMdaAudioRecorderUtility;
00039 class CMdaAudioInputStream;
00040 class CMdaAudioOutputStream;
00041 class CMdaAudioToneUtility;
00042 class CCustomCommandUtility;
00043 class CCustomInterfaceUtility;
00044 class CMMFDevSound;
00045 class CRepository;
00046 #start_since SINCE_3_1_SDK
00047 class CMidiClientUtility;
00048 #end_since SINCE_3_1_SDK
00049 
00050 // CLASS DECLARATION
00051 
00059 class CAudioEqualizerUtility : public CBase
00060     {
00061     public:  // Constructors and destructor
00062 
00063 
00070         IMPORT_C static CAudioEqualizerUtility* NewL(CMMFDevSound& aDevSound);
00071 
00078                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioConvertUtility& aUtility);
00079 
00086                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioInputStream& aUtility);
00087 
00094                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioOutputStream& aUtility);
00095 
00102                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioPlayerUtility& aUtility);
00103 
00110                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioRecorderUtility& aUtility);
00111 
00118                 IMPORT_C static CAudioEqualizerUtility* NewL(CMdaAudioToneUtility& aUtility);
00119 
00126                 IMPORT_C static CAudioEqualizerUtility* NewL(CCustomCommandUtility* aUtility);
00127 
00134                 IMPORT_C static CAudioEqualizerUtility* NewL(MCustomInterface& aCustomInterface);
00135                 
00136 #start_since SINCE_3_1_SDK
00137 
00144                 IMPORT_C static CAudioEqualizerUtility* NewL(CMidiClientUtility& aUtility);
00145 #end_since SINCE_3_1_SDK
00146                 
00147 
00151         virtual ~CAudioEqualizerUtility();
00152 
00158                 IMPORT_C void ApplyPresetL(TInt aPreset);
00159 
00164                 IMPORT_C void DisableEqualizerL();
00165 
00172                 IMPORT_C void CreatePresetL(TDesC& aName, CAudioEqualizer& aAudioEqualizerUI);
00173 
00179                 IMPORT_C void DeletePresetL(TInt aPresetIndex);
00180 
00186                 IMPORT_C  const TDesC& GetPresetL(TInt aPresetIndex);
00187 
00193                 IMPORT_C CAudioEqualizer& Equalizer();
00194 
00200                 IMPORT_C CBassBoost& BassBoost();
00201 
00209                 IMPORT_C void ModifyPresetL(TInt aPresetIndex, TDesC& aName, CAudioEqualizer& aAudioEqualizerUI);
00210 
00216                 IMPORT_C TUint32 NumberOfPreDefinedPresets() const;
00217 
00223                 IMPORT_C TArray<TEfAudioEqualizerUtilityPreset> Presets();
00224 
00230                 IMPORT_C void ResetPresetL(TInt aPresetIndex);
00231 
00232     private:
00233 
00237         CAudioEqualizerUtility();
00238 
00248         void ConstructL(CMMFDevSound& aDevSound);
00249 
00255                 void ConstructL(CMdaAudioConvertUtility& aUtility);
00256 
00262                 void ConstructL(CMdaAudioInputStream& aUtility);
00263 
00269                 void ConstructL(CMdaAudioOutputStream& aUtility);
00270 
00276                 void ConstructL(CMdaAudioPlayerUtility& aUtility);
00277 
00283                 void ConstructL(CMdaAudioRecorderUtility& aUtility);
00284 
00290                 void ConstructL(CMdaAudioToneUtility& aUtility);
00291 
00297                 void ConstructL(CCustomCommandUtility* aUtility);
00298 
00304                 void ConstructL(MCustomInterface& aCustomInterface);
00305 
00311                 void ConstructL(CMidiClientUtility& aUtility);
00312                 
00318                 void ConstructL(CDrmPlayerUtility& aUtility);           
00319 
00325                 void UpdateFullPresetArrayFromCenRep(RArray<TEfAudioEqualizerUtilityPreset> &aFullPresetArray);
00326 
00332                 void UpdatePresetArray(RArray<TEfAudioEqualizerUtilityPreset>& aPresetArray,const RArray<TEfAudioEqualizerUtilityPreset> &aFullPresetArray);
00333 
00334 
00335         private: // Data
00336 
00337                 // Array for Storing the Current State of the Repository
00338                 // which has been compacted after the transaction
00339                 // with the Central Repository
00340                 RArray<TEfAudioEqualizerUtilityPreset> iPresetArray;
00341 
00342                 // Array Which contains the full information from the
00343                 // Central Repository except the Description Values
00344                 RArray<TEfAudioEqualizerUtilityPreset> iFullPresetArray;
00345 
00346                 // Pointer to the Equalizer Object
00347                 CAudioEqualizer* iAudioEqualizer;
00348 
00349                 // Pointer to the Equalizer Object
00350                 // which is returned to the UI for Manipulation
00351                 CAudioEqualizer* iTransAudioEqualizer;
00352 
00353                 // Pointer to the Bass Boost Ojbect
00354                 CBassBoost* iBassBoost;
00355 
00356                 // Pointer to the Preset Repository
00357                 CRepository* iPresetRepository;
00358    };
00359 
00360 // CAUDIOEQUALIZERUTILITY_H
00361 #endif
00362 
00363 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top