00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef STEREOWIDENINGUTILITY_H
00022 #define STEREOWIDENINGUTILITY_H
00023
00024
00025 #include <e32base.h>
00026 #include <e32svr.h>
00027 #include <StereoWideningBase.h>
00028 #include <centralrepository.h>
00029 #include <StereoWideningUtilityData.h>
00030
00031
00032 class TEfStereoWideningUtilityPreset;
00033 class CStereoWidening;
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
00049
00057 class CStereoWideningUtility : public CBase
00058 {
00059 public:
00060
00061
00068 IMPORT_C static CStereoWideningUtility* NewL(CMMFDevSound& aDevSound);
00069
00076 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioConvertUtility& aUtility);
00077
00084 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioInputStream& aUtility);
00085
00092 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioOutputStream& aUtility);
00093
00100 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioPlayerUtility& aUtility);
00101
00108 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioRecorderUtility& aUtility);
00109
00116 IMPORT_C static CStereoWideningUtility* NewL(CMdaAudioToneUtility& aUtility);
00117
00124 IMPORT_C static CStereoWideningUtility* NewL(CCustomCommandUtility* aUtility);
00125
00132 IMPORT_C static CStereoWideningUtility* NewL(MCustomInterface& aCustomInterface);
00133
00140 IMPORT_C static CStereoWideningUtility* NewL(CMidiClientUtility& aUtility);
00141
00148 IMPORT_C static CStereoWideningUtility* NewL( CDrmPlayerUtility& aUtility );
00149
00156 IMPORT_C static CStereoWideningUtility* NewL( CVideoPlayerUtility& aUtility );
00157
00161 virtual ~CStereoWideningUtility();
00162
00168 IMPORT_C void ApplyPresetL(TInt aPreset);
00169
00174 IMPORT_C void DisableStereoWideningL();
00175
00182 IMPORT_C void CreatePresetL(TDesC& aName, CStereoWidening& aStereoWideningUI);
00183
00189 IMPORT_C void DeletePresetL(TInt aPresetIndex);
00190
00196 IMPORT_C const TDesC& GetPresetL(TInt aPresetIndex);
00197
00203 IMPORT_C CStereoWidening& StereoWidening();
00204
00212 IMPORT_C void ModifyPresetL(TInt aPresetIndex, TDesC& aName, CStereoWidening& aStereoWideningUI);
00213
00219 IMPORT_C TUint32 NumberOfPreDefinedPresets() const;
00220
00226 IMPORT_C TArray<TEfStereoWideningUtilityPreset> Presets();
00227
00233 IMPORT_C void ResetPresetL(TInt aPresetIndex);
00234
00235 private:
00236
00240 CStereoWideningUtility();
00241
00251 void ConstructL(CMMFDevSound& aDevSound);
00252
00258 void ConstructL(CMdaAudioConvertUtility& aUtility);
00259
00265 void ConstructL(CMdaAudioInputStream& aUtility);
00266
00272 void ConstructL(CMdaAudioOutputStream& aUtility);
00273
00279 void ConstructL(CMdaAudioPlayerUtility& aUtility);
00280
00286 void ConstructL(CMdaAudioRecorderUtility& aUtility);
00287
00293 void ConstructL(CMdaAudioToneUtility& aUtility);
00294
00300 void ConstructL(CCustomCommandUtility* aUtility);
00301
00307 void ConstructL(MCustomInterface& aCustomInterface);
00308
00314 void ConstructL(CMidiClientUtility& aUtility);
00315
00321 void ConstructL(CDrmPlayerUtility& aUtility);
00322
00328 void ConstructL(CVideoPlayerUtility& aUtility);
00329
00335 void UpdateFullPresetArrayFromCenRep(RArray<TEfStereoWideningUtilityPreset> &aFullPresetArray);
00336
00342 void UpdatePresetArray(RArray<TEfStereoWideningUtilityPreset>& aPresetArray,const RArray<TEfStereoWideningUtilityPreset> &aFullPresetArray);
00343
00344
00345 private:
00346
00347
00348
00349
00350 RArray<TEfStereoWideningUtilityPreset> iPresetArray;
00351
00352
00353
00354 RArray<TEfStereoWideningUtilityPreset> iFullPresetArray;
00355
00356
00357 CStereoWidening* iStereoWidening;
00358
00359
00360
00361 CStereoWidening* iTransStereoWidening;
00362
00363
00364 CRepository* iPresetRepository;
00365 };
00366
00367 #endif // CStereoWideningUTILITY_H
00368
00369