os/mm/devsoundextensions/effectspresets/EnvironmentalReverbUtility/src/EnvironmentalReverbUtility.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:   Utility to Access the EnvironmentalReverb Effect
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
sl@0
    20
// INCLUDE FILES
sl@0
    21
#include <e32std.h>
sl@0
    22
#include <EnvironmentalReverbUtility.h>
sl@0
    23
#include <DrmAudioSamplePlayer.h>
sl@0
    24
#include "TempEnvironmentalReverb.h"
sl@0
    25
#include "EnvironmentalReverbUtilityInternalCRKeys.h"
sl@0
    26
#include <videoplayer.h>
sl@0
    27
sl@0
    28
// ============================ MEMBER FUNCTIONS ===============================
sl@0
    29
sl@0
    30
// -----------------------------------------------------------------------------
sl@0
    31
// CEnvironmentalReverbUtility::CEnvironmentalReverbUtility
sl@0
    32
// C++ default constructor can NOT contain any code, that
sl@0
    33
// might leave.
sl@0
    34
// -----------------------------------------------------------------------------
sl@0
    35
//
sl@0
    36
CEnvironmentalReverbUtility::CEnvironmentalReverbUtility()
sl@0
    37
	: iEnvironmentalReverb(NULL),
sl@0
    38
	  iPresetRepository(NULL)
sl@0
    39
	{
sl@0
    40
    }
sl@0
    41
sl@0
    42
sl@0
    43
// Destructor
sl@0
    44
CEnvironmentalReverbUtility::~CEnvironmentalReverbUtility()
sl@0
    45
    {
sl@0
    46
		iPresetArray.Close();
sl@0
    47
		iFullPresetArray.Close();
sl@0
    48
		delete iPresetRepository;
sl@0
    49
		delete iTransEnvironmentalReverb;
sl@0
    50
		delete iEnvironmentalReverb;
sl@0
    51
    }
sl@0
    52
sl@0
    53
sl@0
    54
// -----------------------------------------------------------------------------
sl@0
    55
// CEnvironmentalReverbUtility::ConstructL
sl@0
    56
// Symbian 2nd phase constructor can leave.
sl@0
    57
// -----------------------------------------------------------------------------
sl@0
    58
//
sl@0
    59
void CEnvironmentalReverbUtility::ConstructL(CMMFDevSound& aDevSound)
sl@0
    60
    {
sl@0
    61
#ifdef _DEBUG
sl@0
    62
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
    63
#endif
sl@0
    64
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aDevSound);
sl@0
    65
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
    66
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
    67
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
    68
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
    69
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
    70
    }
sl@0
    71
sl@0
    72
sl@0
    73
// -----------------------------------------------------------------------------
sl@0
    74
// CEnvironmentalReverbUtility::ConstructL
sl@0
    75
// Symbian 2nd phase constructor can leave.
sl@0
    76
// -----------------------------------------------------------------------------
sl@0
    77
//
sl@0
    78
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioConvertUtility& aUtility)
sl@0
    79
    {
sl@0
    80
#ifdef _DEBUG
sl@0
    81
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
    82
#endif
sl@0
    83
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
    84
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
    85
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
    86
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
    87
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
    88
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
    89
    }
sl@0
    90
sl@0
    91
// -----------------------------------------------------------------------------
sl@0
    92
// CEnvironmentalReverbUtility::ConstructL
sl@0
    93
// Symbian 2nd phase constructor can leave.
sl@0
    94
// -----------------------------------------------------------------------------
sl@0
    95
//
sl@0
    96
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioInputStream& aUtility)
sl@0
    97
    {
sl@0
    98
#ifdef _DEBUG
sl@0
    99
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   100
#endif
sl@0
   101
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   102
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   103
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   104
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   105
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   106
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   107
   }
sl@0
   108
sl@0
   109
// -----------------------------------------------------------------------------
sl@0
   110
// CEnvironmentalReverbUtility::ConstructL
sl@0
   111
// Symbian 2nd phase constructor can leave.
sl@0
   112
// -----------------------------------------------------------------------------
sl@0
   113
//
sl@0
   114
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioOutputStream& aUtility)
sl@0
   115
    {
sl@0
   116
#ifdef _DEBUG
sl@0
   117
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   118
#endif
sl@0
   119
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   120
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   121
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   122
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   123
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   124
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   125
    }
sl@0
   126
sl@0
   127
// -----------------------------------------------------------------------------
sl@0
   128
// CEnvironmentalReverbUtility::ConstructL
sl@0
   129
// Symbian 2nd phase constructor can leave.
sl@0
   130
// -----------------------------------------------------------------------------
sl@0
   131
//
sl@0
   132
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioPlayerUtility& aUtility)
sl@0
   133
    {
sl@0
   134
#ifdef _DEBUG
sl@0
   135
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   136
#endif
sl@0
   137
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   138
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   139
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   140
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   141
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   142
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   143
	}
sl@0
   144
sl@0
   145
// -----------------------------------------------------------------------------
sl@0
   146
// CEnvironmentalReverbUtility::ConstructL
sl@0
   147
// Symbian 2nd phase constructor can leave.
sl@0
   148
// -----------------------------------------------------------------------------
sl@0
   149
//
sl@0
   150
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioRecorderUtility& aUtility )
sl@0
   151
    {
sl@0
   152
#ifdef _DEBUG
sl@0
   153
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   154
#endif
sl@0
   155
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility,ETrue);
sl@0
   156
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   157
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   158
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   159
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   160
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   161
   }
sl@0
   162
sl@0
   163
// -----------------------------------------------------------------------------
sl@0
   164
// CEnvironmentalReverbUtility::ConstructL
sl@0
   165
// Symbian 2nd phase constructor can leave.
sl@0
   166
// -----------------------------------------------------------------------------
sl@0
   167
//
sl@0
   168
void CEnvironmentalReverbUtility::ConstructL(CMdaAudioToneUtility& aUtility)
sl@0
   169
    {
sl@0
   170
#ifdef _DEBUG
sl@0
   171
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   172
#endif
sl@0
   173
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   174
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   175
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   176
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   177
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   178
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   179
    }
sl@0
   180
sl@0
   181
// -----------------------------------------------------------------------------
sl@0
   182
// CEnvironmentalReverbUtility::ConstructL
sl@0
   183
// Symbian 2nd phase constructor can leave.
sl@0
   184
// -----------------------------------------------------------------------------
sl@0
   185
//
sl@0
   186
void CEnvironmentalReverbUtility::ConstructL(CCustomCommandUtility* aUtility)
sl@0
   187
    {
sl@0
   188
#ifdef _DEBUG
sl@0
   189
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   190
#endif
sl@0
   191
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   192
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   193
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   194
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   195
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   196
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   197
    }
sl@0
   198
sl@0
   199
// -----------------------------------------------------------------------------
sl@0
   200
// CEnvironmentalReverbUtility::ConstructL
sl@0
   201
// Symbian 2nd phase constructor can leave.
sl@0
   202
// -----------------------------------------------------------------------------
sl@0
   203
//
sl@0
   204
void CEnvironmentalReverbUtility::ConstructL(MCustomInterface& aCustomInterface)
sl@0
   205
    {
sl@0
   206
#ifdef _DEBUG
sl@0
   207
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   208
#endif
sl@0
   209
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aCustomInterface);
sl@0
   210
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   211
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   212
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   213
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   214
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   215
sl@0
   216
    }
sl@0
   217
sl@0
   218
// -----------------------------------------------------------------------------
sl@0
   219
// CEnvironmentalReverbUtility::ConstructL
sl@0
   220
// Symbian 2nd phase constructor can leave.
sl@0
   221
// -----------------------------------------------------------------------------
sl@0
   222
//
sl@0
   223
void CEnvironmentalReverbUtility::ConstructL(CMidiClientUtility& aUtility)
sl@0
   224
    {
sl@0
   225
#ifdef _DEBUG
sl@0
   226
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   227
#endif
sl@0
   228
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   229
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   230
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   231
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   232
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   233
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   234
	}
sl@0
   235
sl@0
   236
// -----------------------------------------------------------------------------
sl@0
   237
// CEnvironmentalReverbUtility::ConstructL
sl@0
   238
// Symbian 2nd phase constructor can leave.
sl@0
   239
// -----------------------------------------------------------------------------
sl@0
   240
//
sl@0
   241
void CEnvironmentalReverbUtility::ConstructL(CDrmPlayerUtility& aUtility)
sl@0
   242
    {
sl@0
   243
#ifdef _DEBUG
sl@0
   244
		RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   245
#endif
sl@0
   246
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   247
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   248
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   249
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   250
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   251
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   252
	}
sl@0
   253
sl@0
   254
// -----------------------------------------------------------------------------
sl@0
   255
// CEnvironmentalReverbUtility::ConstructL
sl@0
   256
// Symbian 2nd phase constructor can leave.
sl@0
   257
// -----------------------------------------------------------------------------
sl@0
   258
//
sl@0
   259
void CEnvironmentalReverbUtility::ConstructL(CVideoPlayerUtility& aUtility)
sl@0
   260
    {
sl@0
   261
#ifdef _DEBUG
sl@0
   262
		RDebug::Print(_L("CEnvironmentalReverbUtility::ConstructL"));
sl@0
   263
#endif
sl@0
   264
		iEnvironmentalReverb = CEnvironmentalReverb::NewL(aUtility);
sl@0
   265
		iTransEnvironmentalReverb = CTempEnvironmentalReverb::NewL(iEnvironmentalReverb);
sl@0
   266
		iPresetRepository = CRepository::NewL(KCRUidEnvironmentalReverbUtilityPresets);
sl@0
   267
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   268
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   269
		iTransEnvironmentalReverb->SetEffectData(iEnvironmentalReverb->DoEffectData());
sl@0
   270
	}
sl@0
   271
	
sl@0
   272
// -----------------------------------------------------------------------------
sl@0
   273
// CEnvironmentalReverbUtility::NewL
sl@0
   274
// Two-phased constructor.
sl@0
   275
// -----------------------------------------------------------------------------
sl@0
   276
//
sl@0
   277
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMMFDevSound& aDevSound)
sl@0
   278
    {
sl@0
   279
#ifdef _DEBUG
sl@0
   280
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   281
#endif
sl@0
   282
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   283
		CleanupStack::PushL( self );
sl@0
   284
		self->ConstructL(aDevSound);
sl@0
   285
		CleanupStack::Pop(self);
sl@0
   286
		return self;
sl@0
   287
    }
sl@0
   288
sl@0
   289
sl@0
   290
// -----------------------------------------------------------------------------
sl@0
   291
// CEnvironmentalReverbUtility::NewL
sl@0
   292
// Two-phased constructor.
sl@0
   293
// -----------------------------------------------------------------------------
sl@0
   294
//
sl@0
   295
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioConvertUtility& aUtility)
sl@0
   296
    {
sl@0
   297
#ifdef _DEBUG
sl@0
   298
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   299
#endif
sl@0
   300
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   301
		CleanupStack::PushL( self );
sl@0
   302
		self->ConstructL(aUtility);
sl@0
   303
		CleanupStack::Pop(self);
sl@0
   304
		return self;
sl@0
   305
    }
sl@0
   306
sl@0
   307
sl@0
   308
// -----------------------------------------------------------------------------
sl@0
   309
// CEnvironmentalReverbUtility::NewL
sl@0
   310
// Two-phased constructor.
sl@0
   311
// -----------------------------------------------------------------------------
sl@0
   312
//
sl@0
   313
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioInputStream& aUtility)
sl@0
   314
    {
sl@0
   315
#ifdef _DEBUG
sl@0
   316
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   317
#endif
sl@0
   318
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   319
		CleanupStack::PushL( self );
sl@0
   320
		self->ConstructL(aUtility);
sl@0
   321
		CleanupStack::Pop(self);
sl@0
   322
		return self;
sl@0
   323
    }
sl@0
   324
sl@0
   325
sl@0
   326
// -----------------------------------------------------------------------------
sl@0
   327
// CEnvironmentalReverbUtility::NewL
sl@0
   328
// Two-phased constructor.
sl@0
   329
// -----------------------------------------------------------------------------
sl@0
   330
//
sl@0
   331
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioOutputStream& aUtility)
sl@0
   332
    {
sl@0
   333
#ifdef _DEBUG
sl@0
   334
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   335
#endif
sl@0
   336
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   337
		CleanupStack::PushL( self );
sl@0
   338
		self->ConstructL(aUtility);
sl@0
   339
		CleanupStack::Pop(self);
sl@0
   340
		return self;
sl@0
   341
    }
sl@0
   342
sl@0
   343
sl@0
   344
// -----------------------------------------------------------------------------
sl@0
   345
// CEnvironmentalReverbUtility::NewL
sl@0
   346
// Two-phased constructor.
sl@0
   347
// -----------------------------------------------------------------------------
sl@0
   348
//
sl@0
   349
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioPlayerUtility& aUtility)
sl@0
   350
    {
sl@0
   351
#ifdef _DEBUG
sl@0
   352
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   353
#endif
sl@0
   354
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   355
		CleanupStack::PushL( self );
sl@0
   356
		self->ConstructL(aUtility);
sl@0
   357
		CleanupStack::Pop(self);
sl@0
   358
		return self;
sl@0
   359
    }
sl@0
   360
sl@0
   361
sl@0
   362
// -----------------------------------------------------------------------------
sl@0
   363
// CEnvironmentalReverbUtility::NewL
sl@0
   364
// Two-phased constructor.
sl@0
   365
// -----------------------------------------------------------------------------
sl@0
   366
//
sl@0
   367
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioRecorderUtility& aUtility)
sl@0
   368
    {
sl@0
   369
#ifdef _DEBUG
sl@0
   370
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   371
#endif
sl@0
   372
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   373
		CleanupStack::PushL( self );
sl@0
   374
		self->ConstructL(aUtility);
sl@0
   375
		CleanupStack::Pop(self);
sl@0
   376
		return self;
sl@0
   377
    }
sl@0
   378
sl@0
   379
sl@0
   380
// -----------------------------------------------------------------------------
sl@0
   381
// CEnvironmentalReverbUtility::NewL
sl@0
   382
// Two-phased constructor.
sl@0
   383
// -----------------------------------------------------------------------------
sl@0
   384
//
sl@0
   385
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMdaAudioToneUtility& aUtility)
sl@0
   386
    {
sl@0
   387
#ifdef _DEBUG
sl@0
   388
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   389
#endif
sl@0
   390
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   391
		CleanupStack::PushL( self );
sl@0
   392
		self->ConstructL(aUtility);
sl@0
   393
		CleanupStack::Pop(self);
sl@0
   394
		return self;
sl@0
   395
    }
sl@0
   396
sl@0
   397
sl@0
   398
// -----------------------------------------------------------------------------
sl@0
   399
// CEnvironmentalReverbUtility::NewL
sl@0
   400
// Two-phased constructor.
sl@0
   401
// -----------------------------------------------------------------------------
sl@0
   402
//
sl@0
   403
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CCustomCommandUtility* aUtility)
sl@0
   404
    {
sl@0
   405
#ifdef _DEBUG
sl@0
   406
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   407
#endif
sl@0
   408
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   409
		CleanupStack::PushL( self );
sl@0
   410
		self->ConstructL(aUtility);
sl@0
   411
		CleanupStack::Pop(self);
sl@0
   412
		return self;
sl@0
   413
    }
sl@0
   414
sl@0
   415
sl@0
   416
// -----------------------------------------------------------------------------
sl@0
   417
// CEnvironmentalReverbUtility::NewL
sl@0
   418
// Two-phased constructor.
sl@0
   419
// -----------------------------------------------------------------------------
sl@0
   420
//
sl@0
   421
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(MCustomInterface& aCustomInterface)
sl@0
   422
    {
sl@0
   423
#ifdef _DEBUG
sl@0
   424
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   425
#endif
sl@0
   426
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   427
		CleanupStack::PushL( self );
sl@0
   428
		self->ConstructL(aCustomInterface);
sl@0
   429
		CleanupStack::Pop(self);
sl@0
   430
		return self;
sl@0
   431
    }
sl@0
   432
sl@0
   433
sl@0
   434
sl@0
   435
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CMidiClientUtility& aUtility)
sl@0
   436
    {
sl@0
   437
#ifdef _DEBUG
sl@0
   438
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   439
#endif
sl@0
   440
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   441
		CleanupStack::PushL( self );
sl@0
   442
		self->ConstructL(aUtility);
sl@0
   443
		CleanupStack::Pop(self);
sl@0
   444
		return self;
sl@0
   445
    }
sl@0
   446
sl@0
   447
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CDrmPlayerUtility& aUtility)
sl@0
   448
    {
sl@0
   449
#ifdef _DEBUG
sl@0
   450
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   451
#endif
sl@0
   452
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   453
		CleanupStack::PushL( self );
sl@0
   454
		self->ConstructL(aUtility);
sl@0
   455
		CleanupStack::Pop(self);
sl@0
   456
		return self;
sl@0
   457
    }
sl@0
   458
sl@0
   459
EXPORT_C CEnvironmentalReverbUtility* CEnvironmentalReverbUtility::NewL(CVideoPlayerUtility& aUtility)
sl@0
   460
    {
sl@0
   461
#ifdef _DEBUG
sl@0
   462
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NewL"));
sl@0
   463
#endif
sl@0
   464
		CEnvironmentalReverbUtility* self = new( ELeave ) CEnvironmentalReverbUtility;
sl@0
   465
		CleanupStack::PushL( self );
sl@0
   466
		self->ConstructL(aUtility);
sl@0
   467
		CleanupStack::Pop(self);
sl@0
   468
		return self;
sl@0
   469
    }
sl@0
   470
    
sl@0
   471
// -----------------------------------------------------------------------------
sl@0
   472
// CEnvironmentalReverbUtility::ApplyPresetL()
sl@0
   473
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   474
// (other items were commented in a header).
sl@0
   475
// -----------------------------------------------------------------------------
sl@0
   476
//
sl@0
   477
EXPORT_C void CEnvironmentalReverbUtility::ApplyPresetL(
sl@0
   478
    TInt aPresetIndex)
sl@0
   479
    {
sl@0
   480
#ifdef _DEBUG
sl@0
   481
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ApplyPresetL"));
sl@0
   482
#endif
sl@0
   483
		// Get the Preset from the Central Repository
sl@0
   484
		// and Apply it to the EnvironmentalReverb Object
sl@0
   485
		// using SetBandData method. After that Just Enable() the Effect
sl@0
   486
sl@0
   487
		TBuf8<256> aDescription;
sl@0
   488
		TBufC8<256> aDes;
sl@0
   489
		TBool presetFound = EFalse;
sl@0
   490
sl@0
   491
		if(aPresetIndex > (iPresetArray.Count() - 1))
sl@0
   492
			User::Leave(KErrArgument);
sl@0
   493
sl@0
   494
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   495
sl@0
   496
		// Write the EnvironmentalReverb Data in the first available NULL Space
sl@0
   497
		for( TInt j = 0; j < iFullPresetArray.Count();j++)
sl@0
   498
			{
sl@0
   499
				if( (iFullPresetArray[j].iPresetNameKey == iPresetArray[aPresetIndex].iPresetNameKey) &&
sl@0
   500
						(iFullPresetArray[j].iPresetName.Length()))
sl@0
   501
					{
sl@0
   502
						iPresetRepository->Get(iFullPresetArray[j].iPresetDescriptionKey,aDescription);
sl@0
   503
						aDes = aDescription;
sl@0
   504
					
sl@0
   505
sl@0
   506
						iEnvironmentalReverb->SetEffectData(aDes);
sl@0
   507
sl@0
   508
						// Applying the Settings to the Audio EnvironmentalReverb
sl@0
   509
					//	iEnvironmentalReverb->ApplyL();
sl@0
   510
sl@0
   511
	                                        iEnvironmentalReverb->EnableL();
sl@0
   512
sl@0
   513
						presetFound =  ETrue;
sl@0
   514
						break;
sl@0
   515
					}
sl@0
   516
			}
sl@0
   517
sl@0
   518
		if(!presetFound)
sl@0
   519
			User::Leave(KErrNotFound);
sl@0
   520
    }
sl@0
   521
sl@0
   522
// -----------------------------------------------------------------------------
sl@0
   523
// CEnvironmentalReverbUtility::CreatePresetL(TDesC& aName,CEnvironmentalReverb& aEnvironmentalReverb)
sl@0
   524
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   525
// (other items were commented in a header).
sl@0
   526
// -----------------------------------------------------------------------------
sl@0
   527
//
sl@0
   528
sl@0
   529
EXPORT_C void CEnvironmentalReverbUtility:: CreatePresetL(
sl@0
   530
    TDesC& aName,
sl@0
   531
    CEnvironmentalReverb& aEnvironmentalReverbUI)
sl@0
   532
    {
sl@0
   533
#ifdef _DEBUG
sl@0
   534
		    RDebug::Print(_L("CEnvironmentalReverbUtility::CreatePresetL"));
sl@0
   535
#endif
sl@0
   536
		// Get the Preset from the UI and create a DesC using
sl@0
   537
		// DoBandData() method and then store it to the
sl@0
   538
		// Central Repository
sl@0
   539
sl@0
   540
		 __ASSERT_ALWAYS(aName.Length() > 0,User::Leave(KErrArgument));
sl@0
   541
sl@0
   542
sl@0
   543
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   544
sl@0
   545
		iEnvironmentalReverb = &aEnvironmentalReverbUI;
sl@0
   546
sl@0
   547
				//Create New Keys at the End of the Repository
sl@0
   548
		TInt currentNumber = 0;
sl@0
   549
				// Get the number of User Defined Presets in the Repository
sl@0
   550
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfUserDefinedPresets,currentNumber);
sl@0
   551
sl@0
   552
		HBufC8* presetHeap = HBufC8::NewL(sizeof(TEfEnvironmentalReverb));
sl@0
   553
		TPtr8 des = presetHeap->Des();
sl@0
   554
		des.SetLength(presetHeap->Size());
sl@0
   555
		des.Append(iEnvironmentalReverb->DoEffectData());
sl@0
   556
sl@0
   557
				// Calculate and Create the EnvironmentalReverb Data for the New Preset
sl@0
   558
		iPresetRepository->Create(currentNumber*2+KEnvironmentalReverbUtilityUserDefinedPresetStart,des);
sl@0
   559
				// Calculate and create the New Preset Name in the End
sl@0
   560
		iPresetRepository->Create(currentNumber*2+KEnvironmentalReverbUtilityUserDefinedPresetStartName,aName);
sl@0
   561
				// Update the Number of UserDefined Presets in the End
sl@0
   562
				// Since we created new Keys for the Name and the Descriptor
sl@0
   563
		currentNumber += 1;
sl@0
   564
		iPresetRepository->Set(KEnvironmentalReverbUtilityNumberOfUserDefinedPresets,currentNumber);
sl@0
   565
		iPresetRepository->Get(KEnvironmentalReverbUtilityPresetsCounter,currentNumber);
sl@0
   566
		iPresetRepository->Set(KEnvironmentalReverbUtilityPresetsCounter,currentNumber + 1);
sl@0
   567
sl@0
   568
		// Refresh the iFullPresetArray
sl@0
   569
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   570
		delete presetHeap;
sl@0
   571
		presetHeap = NULL;
sl@0
   572
sl@0
   573
    }
sl@0
   574
sl@0
   575
// -----------------------------------------------------------------------------
sl@0
   576
// CEnvironmentalReverbUtility::GetPresetL()
sl@0
   577
// Gets the Preset from the Central Repository
sl@0
   578
// (other items were commented in a header).
sl@0
   579
// -----------------------------------------------------------------------------
sl@0
   580
//
sl@0
   581
EXPORT_C const TDesC& CEnvironmentalReverbUtility::GetPresetL(
sl@0
   582
    TInt aPresetIndex)
sl@0
   583
    {
sl@0
   584
#ifdef _DEBUG
sl@0
   585
		    RDebug::Print(_L("CEnvironmentalReverbUtility::GetPresetL"));
sl@0
   586
#endif
sl@0
   587
		// Get the Preset from the Central Repository
sl@0
   588
		// and Apply it to the EnvironmentalReverb Object
sl@0
   589
		// using SetBandData method. After that Just Enable() the Effect
sl@0
   590
sl@0
   591
sl@0
   592
		if(aPresetIndex > (iPresetArray.Count() - 1))
sl@0
   593
			User::Leave(KErrArgument);
sl@0
   594
sl@0
   595
		TBuf8<256> aDescription;
sl@0
   596
		TBufC8<256> aDes;
sl@0
   597
		TBool presetFound = EFalse;
sl@0
   598
sl@0
   599
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   600
sl@0
   601
		// Write the EnvironmentalReverb Data in the first available NULL Space
sl@0
   602
		for(TInt j = 0; j < iFullPresetArray.Count();j++)
sl@0
   603
			{
sl@0
   604
				if( (iFullPresetArray[j].iPresetNameKey == iPresetArray[aPresetIndex].iPresetNameKey) &&
sl@0
   605
						(iFullPresetArray[j].iPresetName.Length()))
sl@0
   606
					{
sl@0
   607
						iPresetRepository->Get(iFullPresetArray[j].iPresetDescriptionKey,aDescription);
sl@0
   608
						aDes = aDescription;
sl@0
   609
sl@0
   610
						iEnvironmentalReverb->SetEffectData(aDes); // The First Argument should be > 1 for getting all bands
sl@0
   611
						presetFound = ETrue;
sl@0
   612
						return iFullPresetArray[j].iPresetName;
sl@0
   613
					}
sl@0
   614
			}
sl@0
   615
sl@0
   616
		if(!presetFound)
sl@0
   617
		    {		    
sl@0
   618
			User::Leave(KErrNotFound);
sl@0
   619
		    }
sl@0
   620
		    
sl@0
   621
		return KNullDesC;
sl@0
   622
sl@0
   623
    }
sl@0
   624
sl@0
   625
sl@0
   626
// -----------------------------------------------------------------------------
sl@0
   627
// CEnvironmentalReverbUtility::DeletePresetL()
sl@0
   628
// Deletes the Preset from the Central Repository
sl@0
   629
// (other items were commented in a header).
sl@0
   630
// -----------------------------------------------------------------------------
sl@0
   631
//
sl@0
   632
EXPORT_C void CEnvironmentalReverbUtility::DeletePresetL(
sl@0
   633
    TInt aPresetIndex)
sl@0
   634
    {
sl@0
   635
#ifdef _DEBUG
sl@0
   636
		    RDebug::Print(_L("CEnvironmentalReverbUtility::DeletePresetL"));
sl@0
   637
#endif
sl@0
   638
		// Get the Name from the PresetIndex
sl@0
   639
		// This Preset Index is from the Array returned to the UI
sl@0
   640
sl@0
   641
		TInt err(KErrNone);
sl@0
   642
		TBool presetFound = EFalse;
sl@0
   643
sl@0
   644
sl@0
   645
        // Leave if it deletes a predefined preset  
sl@0
   646
		TInt currentNumberOfPredefinedPresets = 0;
sl@0
   647
				                
sl@0
   648
	    // Get the number of User Defined Presets in the Repository
sl@0
   649
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfPreDefinedPresets,currentNumberOfPredefinedPresets);
sl@0
   650
sl@0
   651
        if (aPresetIndex < currentNumberOfPredefinedPresets)  //it is a predefined preset, 
sl@0
   652
        {
sl@0
   653
			User::Leave(KErrArgument);        	
sl@0
   654
        }
sl@0
   655
        
sl@0
   656
        
sl@0
   657
		if(aPresetIndex > (iPresetArray.Count() - 1))
sl@0
   658
			User::Leave(KErrArgument);
sl@0
   659
sl@0
   660
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   661
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   662
sl@0
   663
#ifdef _DEBUG
sl@0
   664
		RDebug::RawPrint(iPresetArray[aPresetIndex].iPresetName);
sl@0
   665
#endif
sl@0
   666
sl@0
   667
		// Deletes the Preset from the iFullPresetArray and then
sl@0
   668
		// rewrite it to the Central Repository
sl@0
   669
		for(TInt j = 0; j < iFullPresetArray.Count();j++)
sl@0
   670
			{
sl@0
   671
sl@0
   672
				if( (iFullPresetArray[j].iPresetNameKey == iPresetArray[aPresetIndex].iPresetNameKey) &&
sl@0
   673
						(iFullPresetArray[j].iPresetName.Length()))
sl@0
   674
					{
sl@0
   675
					
sl@0
   676
						presetFound = ETrue;
sl@0
   677
						TRAP(err,iPresetRepository->Set(iFullPresetArray[j].iPresetNameKey,KNullDesC));
sl@0
   678
						TRAP(err,iPresetRepository->Set(iFullPresetArray[j].iPresetDescriptionKey,KNullDesC));
sl@0
   679
						if(err != KErrNone)
sl@0
   680
							{
sl@0
   681
								break;
sl@0
   682
							}
sl@0
   683
						else
sl@0
   684
							{
sl@0
   685
								iFullPresetArray[j].iPresetName.FillZ(0);
sl@0
   686
								iFullPresetArray[j].iPresetNameKey = 0;
sl@0
   687
								iFullPresetArray[j].iPresetDescriptionKey = 0;
sl@0
   688
						        break;
sl@0
   689
						        
sl@0
   690
							}
sl@0
   691
sl@0
   692
					}
sl@0
   693
#ifdef _DEBUG
sl@0
   694
				RDebug::RawPrint(iFullPresetArray[j].iPresetName);
sl@0
   695
#endif
sl@0
   696
			}
sl@0
   697
sl@0
   698
		if(!presetFound)
sl@0
   699
		    {		    
sl@0
   700
			User::Leave(KErrNotFound);
sl@0
   701
		    }
sl@0
   702
sl@0
   703
		// After This Update the iPresetArray for the UI
sl@0
   704
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   705
    }
sl@0
   706
sl@0
   707
// -----------------------------------------------------------------------------
sl@0
   708
// CEnvironmentalReverbUtility::DisablePresetL()
sl@0
   709
// Disable the Preset
sl@0
   710
// (other items were commented in a header).
sl@0
   711
// -----------------------------------------------------------------------------
sl@0
   712
//
sl@0
   713
sl@0
   714
EXPORT_C void CEnvironmentalReverbUtility::DisableEnvironmentalReverbL()
sl@0
   715
{
sl@0
   716
#ifdef _DEBUG
sl@0
   717
		    RDebug::Print(_L("CEnvironmentalReverbUtility::DisableEnvironmentalReverbL"));
sl@0
   718
#endif
sl@0
   719
sl@0
   720
	if(iEnvironmentalReverb)
sl@0
   721
	{
sl@0
   722
		iEnvironmentalReverb->DisableL();
sl@0
   723
	}
sl@0
   724
}
sl@0
   725
sl@0
   726
// -----------------------------------------------------------------------------
sl@0
   727
// CEnvironmentalReverbUtility::EnvironmentalReverb()
sl@0
   728
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   729
// (other items were commented in a header).
sl@0
   730
// -----------------------------------------------------------------------------
sl@0
   731
//
sl@0
   732
EXPORT_C CEnvironmentalReverb& CEnvironmentalReverbUtility::EnvironmentalReverb()
sl@0
   733
    {
sl@0
   734
#ifdef _DEBUG
sl@0
   735
		    RDebug::Print(_L("CEnvironmentalReverbUtility::EnvironmentalReverb()"));
sl@0
   736
#endif
sl@0
   737
sl@0
   738
		return *iEnvironmentalReverb;
sl@0
   739
    }
sl@0
   740
sl@0
   741
// -----------------------------------------------------------------------------
sl@0
   742
// CEnvironmentalReverbUtility::ModifyPresetL()
sl@0
   743
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   744
// (other items were commented in a header).
sl@0
   745
// -----------------------------------------------------------------------------
sl@0
   746
//
sl@0
   747
EXPORT_C void CEnvironmentalReverbUtility::ModifyPresetL(
sl@0
   748
    TInt aPresetIndex,
sl@0
   749
    TDesC& aName,
sl@0
   750
    CEnvironmentalReverb& aEnvironmentalReverbUI)
sl@0
   751
    {
sl@0
   752
#ifdef _DEBUG
sl@0
   753
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ModifyPresetL"));
sl@0
   754
#endif
sl@0
   755
sl@0
   756
		 __ASSERT_ALWAYS(aName.Length() > 0,User::Leave(KErrArgument));
sl@0
   757
sl@0
   758
		// Modifies the Preset Data in the Central Repository
sl@0
   759
		// with the updated Name and EnvironmentalReverb Settings for the
sl@0
   760
		// given PresetIndex
sl@0
   761
sl@0
   762
		if(aPresetIndex > (iPresetArray.Count() - 1))
sl@0
   763
			User::Leave(KErrArgument);
sl@0
   764
sl@0
   765
		iEnvironmentalReverb = &aEnvironmentalReverbUI;
sl@0
   766
sl@0
   767
		// Write the EnvironmentalReverb Data in the first available NULL Space
sl@0
   768
		for( TInt j = 0; j < iFullPresetArray.Count();j++)
sl@0
   769
			{
sl@0
   770
				if( iFullPresetArray[j].iPresetNameKey == iPresetArray[aPresetIndex].iPresetNameKey)
sl@0
   771
					{
sl@0
   772
						iPresetRepository->Set(iFullPresetArray[j].iPresetNameKey,aName);
sl@0
   773
sl@0
   774
						HBufC8* presetHeap = HBufC8::NewL(sizeof(TEfEnvironmentalReverb));
sl@0
   775
						TPtr8 des = presetHeap->Des();
sl@0
   776
						des.SetLength(presetHeap->Size());
sl@0
   777
						des.Append(iEnvironmentalReverb->DoEffectData());
sl@0
   778
sl@0
   779
						iPresetRepository->Set(iFullPresetArray[j].iPresetDescriptionKey,des);
sl@0
   780
						delete presetHeap;
sl@0
   781
						presetHeap = NULL;
sl@0
   782
						break;
sl@0
   783
					}
sl@0
   784
			}
sl@0
   785
		UpdateFullPresetArrayFromCenRep(iFullPresetArray);
sl@0
   786
    }
sl@0
   787
sl@0
   788
sl@0
   789
// -----------------------------------------------------------------------------
sl@0
   790
// CEnvironmentalReverbUtility::NumberOfPreDefinedPresets()
sl@0
   791
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   792
// (other items were commented in a header).
sl@0
   793
// -----------------------------------------------------------------------------
sl@0
   794
//
sl@0
   795
sl@0
   796
sl@0
   797
EXPORT_C TUint32 CEnvironmentalReverbUtility::NumberOfPreDefinedPresets() const
sl@0
   798
    {
sl@0
   799
#ifdef _DEBUG
sl@0
   800
		    RDebug::Print(_L("CEnvironmentalReverbUtility::NumberOfPreDefinedPresets"));
sl@0
   801
#endif
sl@0
   802
sl@0
   803
		TInt numberOfPresets;
sl@0
   804
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfPreDefinedPresets,numberOfPresets);
sl@0
   805
		return numberOfPresets;
sl@0
   806
    }
sl@0
   807
sl@0
   808
sl@0
   809
// -----------------------------------------------------------------------------
sl@0
   810
// CEnvironmentalReverbUtility::Presets()
sl@0
   811
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   812
// (other items were commented in a header).
sl@0
   813
// -----------------------------------------------------------------------------
sl@0
   814
//
sl@0
   815
EXPORT_C TArray<TEfEnvironmentalReverbUtilityPreset> CEnvironmentalReverbUtility::Presets()
sl@0
   816
    {
sl@0
   817
#ifdef _DEBUG
sl@0
   818
		    RDebug::Print(_L("CEnvironmentalReverbUtility::Presets"));
sl@0
   819
#endif
sl@0
   820
sl@0
   821
		// returns all the Presets from the System Defined and
sl@0
   822
		// User Defined Preset Array in the Central Repository
sl@0
   823
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   824
		return iPresetArray.Array();
sl@0
   825
    }
sl@0
   826
sl@0
   827
sl@0
   828
// -----------------------------------------------------------------------------
sl@0
   829
// CEnvironmentalReverbUtility::ResetPresetL(TInt aPresetIndex)
sl@0
   830
// Applies the Preset to the EnvironmentalReverb Object
sl@0
   831
// (other items were commented in a header).
sl@0
   832
// -----------------------------------------------------------------------------
sl@0
   833
//
sl@0
   834
EXPORT_C void CEnvironmentalReverbUtility::ResetPresetL(TInt aPresetIndex)
sl@0
   835
    {
sl@0
   836
#ifdef _DEBUG
sl@0
   837
		    RDebug::Print(_L("CEnvironmentalReverbUtility::ResetPresetL"));
sl@0
   838
#endif
sl@0
   839
sl@0
   840
		if(aPresetIndex > (iPresetArray.Count() - 1))
sl@0
   841
			User::Leave(KErrArgument);
sl@0
   842
sl@0
   843
		TInt currentNumber = 0;
sl@0
   844
		// Get the number of System Defined Presets in the Repository
sl@0
   845
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfPreDefinedPresets,currentNumber);
sl@0
   846
sl@0
   847
		if(aPresetIndex >= currentNumber)
sl@0
   848
			User::Leave(KErrNotSupported);
sl@0
   849
sl@0
   850
sl@0
   851
		for( TInt j = 0; j < currentNumber;j++)
sl@0
   852
				{
sl@0
   853
					if(  iFullPresetArray[j].iPresetNameKey == iPresetArray[aPresetIndex].iPresetNameKey)
sl@0
   854
						{
sl@0
   855
							iPresetRepository->Reset(iFullPresetArray[j].iPresetDescriptionKey);
sl@0
   856
							iPresetRepository->Reset(iFullPresetArray[j].iPresetNameKey);
sl@0
   857
						}
sl@0
   858
				}
sl@0
   859
sl@0
   860
		UpdatePresetArray(iPresetArray,iFullPresetArray);
sl@0
   861
	}
sl@0
   862
sl@0
   863
sl@0
   864
// -----------------------------------------------------------------------------
sl@0
   865
// CEnvironmentalReverbUtility::UpdatePresetArrayFromCenRep(RArray<TEfEnvironmentalReverbUtilityPreset> &aFullPresetArray)
sl@0
   866
// Updates the Array with the Values in Central Repository
sl@0
   867
// (other items were commented in a header).
sl@0
   868
// -----------------------------------------------------------------------------
sl@0
   869
//
sl@0
   870
sl@0
   871
void CEnvironmentalReverbUtility::UpdateFullPresetArrayFromCenRep(RArray<TEfEnvironmentalReverbUtilityPreset>& aFullPresetArray)
sl@0
   872
	{
sl@0
   873
sl@0
   874
		aFullPresetArray.Reset();
sl@0
   875
 		TEfEnvironmentalReverbUtilityPreset tempPreset;
sl@0
   876
sl@0
   877
sl@0
   878
		TInt numberOfUserDefinedPresets = 0;
sl@0
   879
		TInt numberOfPreDefinedPresets = 0;
sl@0
   880
sl@0
   881
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfUserDefinedPresets,numberOfUserDefinedPresets);
sl@0
   882
		iPresetRepository->Get(KEnvironmentalReverbUtilityNumberOfPreDefinedPresets,numberOfPreDefinedPresets);
sl@0
   883
sl@0
   884
		for( TInt j = 0; j < (numberOfPreDefinedPresets); j++)
sl@0
   885
				{
sl@0
   886
					tempPreset.iPresetDescriptionKey = KEnvironmentalReverbUtilityPreDefinedPresetStart + (2 * j);
sl@0
   887
					tempPreset.iPresetNameKey = KEnvironmentalReverbUtilityPreDefinedPresetStartName + (2 * j);
sl@0
   888
					iPresetRepository->Get((KEnvironmentalReverbUtilityPreDefinedPresetStartName + (2 * j)) ,tempPreset.iPresetName);
sl@0
   889
#ifdef _DEBUG
sl@0
   890
					RDebug::RawPrint(tempPreset.iPresetName);
sl@0
   891
#endif
sl@0
   892
					aFullPresetArray.Append(tempPreset);
sl@0
   893
sl@0
   894
				}
sl@0
   895
sl@0
   896
			for( TInt j = 0; j < (numberOfUserDefinedPresets); j++)
sl@0
   897
				{
sl@0
   898
					tempPreset.iPresetDescriptionKey = KEnvironmentalReverbUtilityUserDefinedPresetStart + (2 * j);
sl@0
   899
					tempPreset.iPresetNameKey = KEnvironmentalReverbUtilityUserDefinedPresetStartName + (2 * j);
sl@0
   900
					iPresetRepository->Get((KEnvironmentalReverbUtilityUserDefinedPresetStartName + (2 * j)) ,tempPreset.iPresetName);
sl@0
   901
#ifdef _DEBUG
sl@0
   902
					RDebug::RawPrint(tempPreset.iPresetName);
sl@0
   903
#endif
sl@0
   904
					aFullPresetArray.Append(tempPreset);
sl@0
   905
sl@0
   906
				}
sl@0
   907
sl@0
   908
	}
sl@0
   909
sl@0
   910
// -----------------------------------------------------------------------------
sl@0
   911
// CEnvironmentalReverbUtility::UpdatePresetArray(RArray<TDesC>& aPresetArray,const RArray<TEfEnvironmentalReverbUtilityPreset> &aFullPresetArray)
sl@0
   912
// Creates the Descriptor Array of Names of the Presets Stored in Central Repository
sl@0
   913
// (other items were commented in a header).
sl@0
   914
// -----------------------------------------------------------------------------
sl@0
   915
//
sl@0
   916
void CEnvironmentalReverbUtility::UpdatePresetArray(RArray<TEfEnvironmentalReverbUtilityPreset>& aPresetArray,const RArray<TEfEnvironmentalReverbUtilityPreset>& aFullPresetArray)
sl@0
   917
	{
sl@0
   918
sl@0
   919
		aPresetArray.Reset();
sl@0
   920
		TEfEnvironmentalReverbUtilityPreset	tempClientArray;
sl@0
   921
sl@0
   922
		// Write the EnvironmentalReverb Data in the first available NULL Space
sl@0
   923
		for( TInt j = 0; j < aFullPresetArray.Count();j++)
sl@0
   924
			{
sl@0
   925
				if( aFullPresetArray[j].iPresetName.Length() != 0)
sl@0
   926
					{
sl@0
   927
sl@0
   928
						tempClientArray.iPresetName = aFullPresetArray[j].iPresetName;
sl@0
   929
						tempClientArray.iPresetNameKey = aFullPresetArray[j].iPresetNameKey;
sl@0
   930
sl@0
   931
						aPresetArray.Append(tempClientArray);
sl@0
   932
					}
sl@0
   933
#ifdef _DEBUG
sl@0
   934
				RDebug::Print(_L("Name Length %d "),aFullPresetArray[j].iPresetName.Length());
sl@0
   935
				RDebug::RawPrint(aFullPresetArray[j].iPresetName);
sl@0
   936
#endif
sl@0
   937
			}
sl@0
   938
sl@0
   939
	}
sl@0
   940
sl@0
   941
sl@0
   942
// ========================== OTHER EXPORTED FUNCTIONS =========================
sl@0
   943
sl@0
   944
sl@0
   945
//  End of File