javauis/amms_qt/ammscontrol/audioeffect/src/cammsaudiovirtualizercontrolgroup.cpp
changeset 23 98ccebc37403
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/amms_qt/ammscontrol/audioeffect/src/cammsaudiovirtualizercontrolgroup.cpp	Fri May 14 15:47:24 2010 +0300
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Group for reverb controls
+*
+*/
+
+
+// INCLUDE FILES
+#include <StereoWideningUtility.h>
+#include <StereoWideningUtilityData.h>
+#include <logger.h>
+#include "cammsaudiovirtualizercontrolgroup.h"
+#include "cammsaudiovirtualizercontrol.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+CAMMSAudioVirtualizerControlGroup* CAMMSAudioVirtualizerControlGroup::NewLC()
+{
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::NewLC +");
+
+    CAMMSAudioVirtualizerControlGroup* self =
+        new(ELeave) CAMMSAudioVirtualizerControlGroup;
+
+    CleanupStack::PushL(self);
+    self->BaseConstructL();
+
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::NewLC -");
+
+    return self;
+}
+
+// Destructor
+CAMMSAudioVirtualizerControlGroup::~CAMMSAudioVirtualizerControlGroup()
+{
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::~ +");
+
+    delete iEmptyStereoWideningUtility;
+
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::~ -");
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::ClassName
+// Returns class name that identifies this control group.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+const TDesC16& CAMMSAudioVirtualizerControlGroup::ClassName()
+{
+    return KAMMSAudioVirtualizerControlClassName;
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::NotifyPlayerAddedL
+// Called by when a new player is added
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::NotifyPlayerAddedL(
+    CMMAPlayer *aPlayer,
+    CMMAControl* aControl)
+{
+    CAMMSEffectControlGroup::NotifyPlayerAddedL(aPlayer, aControl);
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::PresetChangedL
+// Called when the current preset changes
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::PresetChangedL()
+{
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::InitializeL
+// Finish initialization (after the 1st player is added)
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::InitializeL()
+{
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::PrepareEmptyGroupUtilitiesL
+// Creates utilities that can be used to obtain preset names and preset data.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::PrepareEmptyGroupUtilitiesL()
+{
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::PrepareEmptyGroupUtilitiesL +");
+
+    if (!iEmptyStereoWideningUtility)
+    {
+        CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL();
+
+        iEmptyStereoWideningUtility =
+            CStereoWideningUtility::NewL(*iEmptyPlayerUtility);
+    }
+
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::PrepareEmptyGroupUtilitiesL -");
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::DeleteEmptyGroupUtilities
+// Deletes utilities that are used to obtain preset names and preset data.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::DeleteEmptyGroupUtilities()
+{
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::DeleteEmptyGroupUtilities +");
+
+    if (iEmptyPlayerUtility)
+    {
+        delete iEmptyStereoWideningUtility;
+        iEmptyStereoWideningUtility = NULL;
+
+        CAMMSEffectControlGroup::DeleteEmptyGroupUtilities();
+    }
+
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::DeleteEmptyGroupUtilities -");
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::GetPresetNamesL
+// Gets list of preset names available.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::GetPresetNamesL(
+    CDesCArray& aPresetNames)
+{
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::GetPresetNamesL +");
+
+    // Create empty group utilities for getting preset names.
+    PrepareEmptyGroupUtilitiesL();
+
+    TArray< TEfStereoWideningUtilityPreset > presetNames =
+        iEmptyStereoWideningUtility->Presets();
+
+
+    TInt presetCount = presetNames.Count();
+
+    for (TInt i = 0; i < presetCount; i++)
+    {
+        aPresetNames.AppendL(presetNames[ i ].iPresetName);
+    }
+
+
+    // Delete empty group utilities in order to save memory.
+    DeleteEmptyGroupUtilities();
+
+    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSAudioVirtualizerControlGroup::GetPresetNamesL -");
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::CAMMSAudioVirtualizerControlGroup
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+CAMMSAudioVirtualizerControlGroup::CAMMSAudioVirtualizerControlGroup()
+        : CAMMSEffectControlGroup(KAMMSAudioVirtualizerControl)
+{
+}
+
+// -----------------------------------------------------------------------------
+// CAMMSAudioVirtualizerControlGroup::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+void CAMMSAudioVirtualizerControlGroup::ConstructL()
+{
+    CAMMSEffectControlGroup::BaseConstructL();
+}
+
+//  End of File