diff -r 0fd27995241b -r 9ac0a0a7da70 javauis/amms_qt/ammscontrol/audioeffect/src/cammsreverbcontrolgroup.cpp --- a/javauis/amms_qt/ammscontrol/audioeffect/src/cammsreverbcontrolgroup.cpp Tue May 11 16:07:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,355 +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 reverb controls -* -*/ - - -// INCLUDE FILES -#include -#include -#include - -#include "cammsreverbcontrolgroup.h" -#include "cammsbasereverbcontrol.h" - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::NewLC -// Two-phased constructor. -// ----------------------------------------------------------------------------- -CAMMSReverbControlGroup* CAMMSReverbControlGroup::NewLC() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::NewLC +"); - - CAMMSReverbControlGroup* self = new(ELeave) CAMMSReverbControlGroup; - - CleanupStack::PushL(self); - self->ConstructL(); - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::NewLC -"); - - return self; -} - -// Destructor -CAMMSReverbControlGroup::~CAMMSReverbControlGroup() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::~"); - - delete iEmptyEnvironmentalReverbUtility; -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::ReverbLevel -// Gets the gain level of the reverberation -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -TInt CAMMSReverbControlGroup::ReverbLevel() -{ - return iReverbLevel; -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::ReverbTime -// Gets the reverberation time, as set either explicitly via -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -TInt CAMMSReverbControlGroup::ReverbTime() -{ - return iReverbTime; -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::SetReverbLevelL -// Sets the gain level of the reverberation -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::SetReverbLevelL(TInt aLevel) -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::SetReverbLevelL"); - - __ASSERT_DEBUG(aLevel <= 0, User::Invariant()); - - // Set the level between the accepted limits [iReverbMinLevel, - // iReverbMaxLevel]. - TInt reverbLevel = Min(aLevel, iReverbMaxLevel); - reverbLevel = Max(reverbLevel, iReverbMinLevel); - - // Set reverb level to the controls. - TInt count = ControlCount(); - for (TInt i = 0; i < count; i++) - { - TypeSafeControl(i)->SetReverbLevelL(reverbLevel); - } - - // Invalidate current preset and save the new reverb level - iPresetIndex = -1; - iReverbLevel = reverbLevel; - - LOG4( EJavaMMAPI, EInfo, "CAMMSReverbControlGroup::SetReverbLevelL, levels: %d, %d, %d %d", - aLevel, iReverbMinLevel, iReverbMaxLevel, reverbLevel); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::SetReverbTimeL -// Sets the reverberation time of the reverb -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::SetReverbTimeL(TInt aTime) -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::SetReverbTimeL +"); - - __ASSERT_DEBUG(aTime >= 0, User::Invariant()); - - // Set reverb time to controls. - TInt count = ControlCount(); - for (TInt i = 0; i < count; i++) - { - TypeSafeControl(i)->SetReverbTimeL(aTime); - } - - // Invalidate current preset and save new reverb time - iPresetIndex = -1; - iReverbTime = aTime; - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::SetReverbTimeL -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::TypeSafeControl -// Gets control. Ownership is not tranferred. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -CAMMSBaseReverbControl* -CAMMSReverbControlGroup::TypeSafeControl(TInt aIndex) const -{ - return static_cast(Control(aIndex)); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::ClassName -// Returns class name that identifies this control group. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -const TDesC16& CAMMSReverbControlGroup::ClassName() -{ - return KAMMSReverbControlClassName; -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::NotifyPlayerAddedL -// Called by when a new player is added -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::NotifyPlayerAddedL( - CMMAPlayer *aPlayer, - CMMAControl* aControl) -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::NotifyPlayerAddedL +"); - - CAMMSEffectControlGroup::NotifyPlayerAddedL(aPlayer, aControl); - - CAMMSBaseReverbControl* control = - static_cast(aControl); - - // if the preset is not valid, set reverb level and time to the added - // control - if (iPresetIndex < 0) - { - control->SetReverbLevelL(iReverbLevel); - control->SetReverbTimeL(iReverbTime); - } - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::NotifyPlayerAddedL -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::PresetChangedL -// Called when the current preset changes -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::PresetChangedL() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PresetChangedL +"); - - TInt count = ControlCount(); - - LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PresetChangedL, controls=%d", - count); - - // Ask preset data from the first control if exists. If not, ask the - // data from the empty group utility. - if (count > 0) - { - CAMMSBaseReverbControl* control = TypeSafeControl(0); - - iReverbTime = control->ReverbTime(); - iReverbLevel = control->ReverbLevel(); - iReverbMinLevel = control->MinReverbLevel(); - iReverbMaxLevel = control->MaxReverbLevel(); - } - else - { - LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PresetChangedL, index=%d", - iPresetIndex); - - __ASSERT_DEBUG(iPresetIndex >= 0, User::Invariant()); - - // Create empty group utilities for getting preset data. - PrepareEmptyGroupUtilitiesL(); - - // Set the preset to the empty group utility. - iEmptyEnvironmentalReverbUtility->GetPresetL(iPresetIndex); - - CEnvironmentalReverb& audioEffect = - iEmptyEnvironmentalReverbUtility->EnvironmentalReverb(); - - - iReverbTime = audioEffect.DecayTime(); - iReverbLevel = - audioEffect.ReflectionsLevel() + audioEffect.RoomLevel(); - - TInt32 minLevel; - TInt32 maxLevel; - audioEffect.ReverbLevelRange(minLevel, maxLevel); - - iReverbMinLevel = minLevel; - iReverbMaxLevel = maxLevel; - - // Delete empty group utilities in order to save memory. - DeleteEmptyGroupUtilities(); - } - - LOG4( EJavaAMMS, EInfo, "CAMMSReverbControlGroup::PresetChangedL, values: %d, %d, %d %d", - iReverbTime, iReverbLevel, iReverbMinLevel, iReverbMaxLevel); - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PresetChangedL -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::InitializeL -// Finish initialization (after the 1st player is added) -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::InitializeL() -{ -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::PrepareEmptyGroupUtilitiesL -// Creates utilities that can be used to obtain preset names and preset data. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::PrepareEmptyGroupUtilitiesL() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PrepareEmptyGroupUtilitiesL +"); - - if (!iEmptyEnvironmentalReverbUtility) - { - CAMMSEffectControlGroup::PrepareEmptyGroupUtilitiesL(); - - iEmptyEnvironmentalReverbUtility = - CEnvironmentalReverbUtility::NewL(*iEmptyPlayerUtility); - } - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::PrepareEmptyGroupUtilitiesL -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::DeleteEmptyGroupUtilities -// Deletes utilities that are used to obtain preset names and preset data. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::DeleteEmptyGroupUtilities() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::DeleteEmptyGroupUtilities +"); - - if (iEmptyPlayerUtility) - { - delete iEmptyEnvironmentalReverbUtility; - iEmptyEnvironmentalReverbUtility = NULL; - - CAMMSEffectControlGroup::DeleteEmptyGroupUtilities(); - } - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::DeleteEmptyGroupUtilities -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::GetPresetNamesL -// Gets list of preset names available. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::GetPresetNamesL( - CDesCArray& aPresetNames) -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::GetPresetNamesL +"); - - // Create empty group utilities for getting preset names. - PrepareEmptyGroupUtilitiesL(); - - TArray< TEfEnvironmentalReverbUtilityPreset > presetNames = - iEmptyEnvironmentalReverbUtility->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::CAMMSReverbControlGroup::GetPresetNamesL -"); -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::CAMMSReverbControlGroup -// C++ default constructor can NOT contain any code, that might leave. -// ----------------------------------------------------------------------------- -CAMMSReverbControlGroup::CAMMSReverbControlGroup() - : CAMMSEffectControlGroup(KAMMSBaseReverbControl) -{ -} - -// ----------------------------------------------------------------------------- -// CAMMSReverbControlGroup::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -void CAMMSReverbControlGroup::ConstructL() -{ - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::ConstructL +"); - - CAMMSEffectControlGroup::BaseConstructL(); - - TRAPD(err, SetPresetL(KAMMSBaseDefaultReverbPreset)); - - // The following code prevents build warning. - if (err != KErrNone) - { - ELOG1( EJavaAMMS, "AMMS::CAMMSReverbControlGroup::ConstructL, err %d", err); - } - - // Ignore the error so that using MMA and AMMS is possible. - // Error is visible so that "smallroom" preset is not activated. - - LOG( EJavaAMMS, EInfo, "AMMS::CAMMSReverbControlGroup::ConstructL -"); -} - -// End of File