--- a/javauis/amms_qt/ammscontrol/audioeffect/src/cammseffectcontrolgroup.cpp Tue May 11 16:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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 effect controls
-*
-*/
-
-
-// INCLUDE FILES
-#include <logger.h>
-#include "cammseffectcontrolgroup.h"
-#include "cammseffectcontrol.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// Destructor
-CAMMSEffectControlGroup::~CAMMSEffectControlGroup()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::~ +");
-
- delete iPresetNames;
- delete iActiveSchedulerWait;
-
- if (iEmptyPlayerUtility)
- {
- iEmptyPlayerUtility->Close();
- delete iEmptyPlayerUtility;
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::~ -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::PresetL
-// Gets the current preset.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::GetPresetL(TDes& aPreset)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::GetPresetL +");
-
- // Return KNullDesC if no preset is set.
- if (iPresetIndex >= 0)
- {
- aPreset = (*iPresetNames)[ iPresetIndex ]; // CSI: 2 Wrong index means implementation error #
- }
- else
- {
- aPreset = KNullDesC;
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::GetPresetL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::PresetNamesL
-// Gets the available preset names
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-const CDesCArray& CAMMSEffectControlGroup::PresetNamesL()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::PresetNamesL");
-
- return *iPresetNames;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::Scope
-// Returns the scope in which the effect is present.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-CAMMSEffectControlGroup::TEffectScope CAMMSEffectControlGroup::Scope()
-{
- return iScope;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::Enabled
-// Returns true if the effect is enabled and false otherwise.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-TBool CAMMSEffectControlGroup::Enabled()
-{
- return iEnabled;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::EnforcedL
-// Returns the current enforced setting of the effect.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-TBool CAMMSEffectControlGroup::Enforced()
-{
- return iEnforced;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::SetEnabledL
-// Enables/disables the effect.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::SetEnabledL(TBool aEnabled)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetEnabledL +");
-
- TInt count = ControlCount();
- for (TInt i = 0; i < count; i++)
- {
- TypeSafeControl(i)->SetEnabledL(aEnabled);
- }
-
- iEnabled = aEnabled;
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetEnabledL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::SetEnforcedL
-// Enforces the effect to be in use.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::SetEnforcedL(TBool aEnforced)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetEnforcedL +");
-
- TInt count = ControlCount();
- for (TInt i = 0; i < count; i++)
- {
- TypeSafeControl(i)->SetEnforcedL(aEnforced);
- }
-
- iEnforced = aEnforced;
-
- // remember that enforce was set when the group was not yet initialized
- if (!iInitialized)
- {
- iInitialEnforceSet = ETrue;
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetEnforcedL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::SetPresetL
-// Sets the effect according to the given preset.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::SetPresetL(const TDesC& aPreset)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetPresetL +");
-
- // Leave if the given preset does not exist.
- TInt presetIndex = -1;
- if (!(iPresetNames->Find(aPreset, presetIndex) == 0))
- {
- User::Leave(KErrNotFound);
- }
-
- // Set new preset to the controls.
- TInt count = ControlCount();
- for (TInt i = 0; i < count; i++)
- {
- TypeSafeControl(i)->SetPresetL(aPreset);
- }
-
- // Change preset.
- iPresetIndex = presetIndex;
-
- // Announce a preset change.
- PresetChangedL();
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetPresetL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::SetScopeL
-// Sets the scope of the effect.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::SetScopeL(TEffectScope aScope)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetScopeL +");
-
- TInt count = ControlCount();
- for (TInt i = 0; i < count; i++)
- {
- TypeSafeControl(i)->SetScopeL(aScope);
- }
-
- iScope = aScope;
-
- // remember that scope was set when the group was not yet initialized
- if (!iInitialized)
- {
- iInitialScopeSet = ETrue;
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::SetScopeL -");
-}
-
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::MapcInitComplete
-// Called when file KAMMSEmptyGroupSoundPath has been opened.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::MapcInitComplete(TInt aError,
- const TTimeIntervalMicroSeconds& /*aDuration*/)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::MapcInitComplete +");
-
- __ASSERT_DEBUG(iActiveSchedulerWait->IsStarted(), User::Invariant());
-
- iEmptyPlayerUtilityError = aError;
-
- // Stop waiting in PrepareEmptyGroupUtilityL() function.
- iActiveSchedulerWait->AsyncStop();
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::MapcInitComplete -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::MapcPlayComplete
-// Called when KAMMSEmptyGroupSoundPath has been played.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::MapcPlayComplete(TInt /*aError*/)
-{
- // No implementation needed.
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::TypeSafeControl
-// Gets control. Ownership is not tranferred.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-CAMMSEffectControl*
-CAMMSEffectControlGroup::TypeSafeControl(TInt aIndex) const
-{
- return static_cast<CAMMSEffectControl*>(Control(aIndex));
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::NotifyPlayerAddedL
-// Called by when a new player is added
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::NotifyPlayerAddedL(
- CMMAPlayer *aPlayer,
- CMMAControl* aControl)
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::NotifyPlayerAddedL +");
-
- CAMMSControlGroup::NotifyPlayerAddedL(aPlayer, aControl);
-
- CAMMSEffectControl* control =
- static_cast<CAMMSEffectControl*>(aControl);
-
- // set current preset if any
- if (iPresetIndex >= 0)
- {
- control->SetPresetL((*iPresetNames)[ iPresetIndex ]); // CSI: 2 Wrong index means implementation error #
- }
-
- // handle default values if this is the first control added into empty and
- // uninitialized group
- if (!iInitialized)
- {
-
- InitializeL();
-
- // if parameters, whose default values are not known, have not been set,
- // ask them from the first control added to the empty group
- if (!iInitialEnforceSet)
- {
-
- iEnforced = control->Enforced();
-
- }
-
- if (!iInitialScopeSet)
- {
-
- iScope = (TEffectScope) control->Scope();
-
- }
-
- iInitialized = ETrue;
- }
-
- // set current parameters
-
- control->SetEnabledL(iEnabled);
-
- control->SetEnforcedL(iEnforced);
-
- control->SetScopeL(iScope);
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::NotifyPlayerAddedL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::PresetChangedL
-// Called when the current preset changes
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::PresetChangedL()
-{
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::InitializeL
-// Finish initialization (after the 1st player is added)
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::InitializeL()
-{
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL
-// Creates an utilities that can be used to obtain preset names and preset data.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL +");
-
- if (!iEmptyPlayerUtility)
- {
- iEmptyPlayerUtility = CMdaAudioPlayerUtility::NewL(*this,
- EMdaPriorityMin, EMdaPriorityPreferenceNone);
-
- iEmptyPlayerUtility->OpenFileL(KAMMSEmptyGroupSoundPath);
-
- __ASSERT_DEBUG(!iActiveSchedulerWait->IsStarted(), User::Invariant());
-
- // Wait until MapcInitComplete() has been called.
- iActiveSchedulerWait->Start(); // CSI: 10 iActiveSchedulerWait cannot be started, also checked in debug build #
-
- ELOG1( EJavaAMMS,
- "AMMS::CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL, err=%d",
- iEmptyPlayerUtilityError);
-
- // Leave if file opening returned an error.
- User::LeaveIfError(iEmptyPlayerUtilityError);
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::DeleteEmptyGroupUtilities
-// Deletes utilities that are used to obtain preset names and preset data.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::DeleteEmptyGroupUtilities()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::DeleteEmptyGroupUtilities +");
-
- if (iEmptyPlayerUtility)
- {
- iEmptyPlayerUtility->Close();
-
- delete iEmptyPlayerUtility;
- iEmptyPlayerUtility = NULL;
- }
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::DeleteEmptyGroupUtilities -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::CAMMSEffectControlGroup
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-CAMMSEffectControlGroup::CAMMSEffectControlGroup(const TDesC& aName) :
- CAMMSControlGroup(aName)
-{
- iScope = CAMMSEffectControlGroup::EScopeLiveOnly;
- iEnabled = EFalse;
- iEnforced = ETrue;
- iPresetIndex = -1; // no preset set
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEffectControlGroup::ConstructL
-// Symbian 2nd phase constructor can leave.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSEffectControlGroup::BaseConstructL()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::BaseConstructL +");
-
- CAMMSControlGroup::ConstructL();
-
- iActiveSchedulerWait = new(ELeave)CActiveSchedulerWait;
- iPresetNames = new(ELeave)CDesCArrayFlat(KAMMSPresetGranularity);
-
- // If the Effect API implementation does not support the effect,
- // the function leaves with KErrNotSupported. The leaving can be ignored
- // in this case, the result is that the list of supported presets
- // remain empty.
- TRAPD(err, GetPresetNamesL(*iPresetNames));
-
- ELOG1( EJavaAMMS, "AMMS::CAMMSEffectControlGroup::BaseConstructL, err %d", err);
-
- // In case of an error, delete possible utilities to save memory.
- if (err != KErrNone)
- {
- DeleteEmptyGroupUtilities();
- }
-
- // Leave if some error occured (other than KErrNotSupported).
- if ((err != KErrNone) && (err != KErrNotSupported))
- {
- User::Leave(err);
- }
-
-
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEffectControlGroup::BaseConstructL -");
-}
-
-// End of File