environmentalreverbutility.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : EnvironmentalReverbUTILITY.h
00004 *  Part of     : Audio Effects Framework
00005 *  Description : This is the definition of the audio EnvironmentalReverb 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 CENVIRONMENTALREVERBUTILITY_H
00022 #define CENVIRONMENTALREVERBUTILITY_H
00023 
00024 //  INCLUDES
00025 #include <e32base.h>
00026 #include <e32svr.h>
00027 #include <EnvironmentalReverbBase.h>
00028 #include <centralrepository.h>
00029 #include "EnvironmentalReverbUtilityData.h"
00030 
00031 // FORWARD DECLARATIONS
00032 class TEfEnvironmentalReverbUtilityPreset;
00033 class CEnvironmentalReverb;
00034 class CMdaAudioConvertUtility;
00035 class CMdaAudioPlayerUtility;
00036 class CMdaAudioRecorderUtility;
00037 class CMdaAudioInputStream;
00038 class CMdaAudioOutputStream;
00039 class CMdaAudioToneUtility;
00040 class CCustomCommandUtility;
00041 class CCustomInterfaceUtility;
00042 class CMMFDevSound;
00043 class CRepository;
00044 class CMidiClientUtility;
00045 class CDrmPlayerUtility;
00046 class CVideoPlayerUtility;
00047 
00048 // CLASS DECLARATION
00049 
00057 class CEnvironmentalReverbUtility : public CBase
00058     {
00059     public:  // Constructors and destructor
00060 
00061 
00068         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMMFDevSound& aDevSound);
00069 
00076         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioConvertUtility& aUtility);
00077 
00084         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioInputStream& aUtility);
00085 
00092         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioOutputStream& aUtility);
00093 
00100         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioPlayerUtility& aUtility);
00101 
00108         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioRecorderUtility& aUtility);
00109 
00116         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMdaAudioToneUtility& aUtility);
00117 
00124         IMPORT_C static CEnvironmentalReverbUtility* NewL(CCustomCommandUtility* aUtility);
00125 
00132         IMPORT_C static CEnvironmentalReverbUtility* NewL(MCustomInterface& aCustomInterface);
00133 
00134 
00141         IMPORT_C static CEnvironmentalReverbUtility* NewL(CMidiClientUtility& aUtility);
00142 
00143 
00150         IMPORT_C static CEnvironmentalReverbUtility* NewL(CDrmPlayerUtility& aUtility);
00151 
00158         IMPORT_C static CEnvironmentalReverbUtility* NewL(CVideoPlayerUtility& aUtility);
00159 
00163         virtual ~CEnvironmentalReverbUtility();
00164 
00170         IMPORT_C void ApplyPresetL(TInt aPreset);
00171 
00176         IMPORT_C void DisableEnvironmentalReverbL();
00177 
00184         IMPORT_C void CreatePresetL(TDesC& aName, CEnvironmentalReverb& aEnvironmentalReverbUI);
00185 
00191         IMPORT_C void DeletePresetL(TInt aPresetIndex);
00192 
00198         IMPORT_C  const TDesC& GetPresetL(TInt aPresetIndex);
00199 
00205         IMPORT_C CEnvironmentalReverb& EnvironmentalReverb();
00206 
00214         IMPORT_C void ModifyPresetL(TInt aPresetIndex, TDesC& aName, CEnvironmentalReverb& aEnvironmentalReverbUI);
00215 
00221         IMPORT_C TUint32 NumberOfPreDefinedPresets() const;
00222 
00228         IMPORT_C TArray<TEfEnvironmentalReverbUtilityPreset> Presets();
00229 
00235         IMPORT_C void ResetPresetL(TInt aPresetIndex);
00236 
00237     private:
00238 
00242         CEnvironmentalReverbUtility();
00243 
00253         void ConstructL(CMMFDevSound& aDevSound);
00254 
00260         void ConstructL(CMdaAudioConvertUtility& aUtility);
00261 
00267         void ConstructL(CMdaAudioInputStream& aUtility);
00268 
00274         void ConstructL(CMdaAudioOutputStream& aUtility);
00275 
00281         void ConstructL(CMdaAudioPlayerUtility& aUtility);
00282 
00288         void ConstructL(CMdaAudioRecorderUtility& aUtility);
00289 
00295         void ConstructL(CMdaAudioToneUtility& aUtility);
00296 
00302         void ConstructL(CCustomCommandUtility* aUtility);
00303 
00309         void ConstructL(MCustomInterface& aCustomInterface);
00310 
00316         void ConstructL(CMidiClientUtility& aUtility);
00317         
00323         void ConstructL(CDrmPlayerUtility& aUtility);                
00324 
00330                 void ConstructL(CVideoPlayerUtility& aUtility);         
00331 
00337         void UpdateFullPresetArrayFromCenRep(RArray<TEfEnvironmentalReverbUtilityPreset> &aFullPresetArray);
00338 
00344         void UpdatePresetArray(RArray<TEfEnvironmentalReverbUtilityPreset>& aPresetArray,const RArray<TEfEnvironmentalReverbUtilityPreset> &aFullPresetArray);
00345 
00346 
00347     private: // Data
00348 
00349         // Array for Storing the Current State of the Repository
00350         // which has been compacted after the transaction
00351         // with the Central Repository
00352         RArray<TEfEnvironmentalReverbUtilityPreset> iPresetArray;
00353 
00354         // Array Which contains the full information from the
00355         // Central Repository except the Description Values
00356         RArray<TEfEnvironmentalReverbUtilityPreset> iFullPresetArray;
00357 
00358         // Pointer to the EnvironmentalReverb Object
00359         CEnvironmentalReverb* iEnvironmentalReverb;
00360 
00361         // Pointer to the EnvironmentalReverb Object
00362         // which is returned to the UI for Manipulation
00363         CEnvironmentalReverb* iTransEnvironmentalReverb;
00364 
00365         // Pointer to the Preset Repository
00366         CRepository* iPresetRepository;
00367    };
00368 
00369 // CENVIRONMENTALREVERBUTILITY_H
00370 #endif
00371 
00372 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top