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