javauis/amms_qt/mmacontrol/src.emc/cammsemcreverbsourcecontrol.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javauis/amms_qt/mmacontrol/src.emc/cammsemcreverbsourcecontrol.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +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:  Manipulates the settings of an audio effect reverb source.
-*
-*/
-
-
-// INCLUDE FILES
-#include <logger.h>
-#include "cammsemcreverbsourcecontrol.h"
-#include "cammsbasereverbcontrol.h"
-#include "cammsemcreverbcontrol.h"
-
-// CONSTANTS
-const TInt KAMMSDisconnectReverbSource = 2147483647; // From JSR-234
-
-#ifdef _DEBUG
-const TInt KAMMSMaxRoomLevel = 0;
-#endif // _DEBUG
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCReverbSourceControl::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CAMMSEMCReverbSourceControl* CAMMSEMCReverbSourceControl::NewLC(
-    CMMAPlayer* aPlayer,
-    CAMMSBaseReverbControl* aBaseReverbControl)
-{
-    CAMMSEMCReverbSourceControl* self =
-        new(ELeave)CAMMSEMCReverbSourceControl(aPlayer, aBaseReverbControl);
-
-    CleanupStack::PushL(self);
-
-    return self;
-}
-
-// Destructor
-CAMMSEMCReverbSourceControl::~CAMMSEMCReverbSourceControl()
-{
-    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::~CAMMSEMCReverbSourceControl");
-
-    // Perform DeallocateControl, if the state change has not yet performed it.
-    DeallocateControl();
-
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCReverbSourceControl::SetRoomLevelL
-// Sets the object specific level for the reverberant sound.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCReverbSourceControl::SetRoomLevelL(TInt aLevel)
-{
-    LOG1( EJavaAMMS, EInfo, "AMMS:: CAMMSEMCReverbSourceControl::SetRoomLevelL +: %d", aLevel);
-// Check in debug build that aLevel is within valid range.
-    __ASSERT_DEBUG(
-        (aLevel <= KAMMSMaxRoomLevel) ||
-        (aLevel == KAMMSDisconnectReverbSource),
-        User::Invariant());
-
-    // With the JSR-234 value Integer.MIN_VALUE, the reflected sound for the
-    // given object can be disabled.
-    if (aLevel == KMinTInt)
-    {
-        LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL(Integer.MIN_VALUE)");
-        aLevel = 0;
-    }
-
-    // Check the allowed boundaries for room level.
-    TInt minLevel = 0;
-    TInt maxLevel = 0;
-    iRoomLevelControl->LevelRange(minLevel, maxLevel);
-    LOG2( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL boundaries %d, %d",
-               minLevel, maxLevel);
-
-    // Check the state of the effect. If it is in disabled state, enable it.
-    TBool enabled;
-    iRoomLevelControl->IsEnabled(enabled);
-    if (!enabled)
-    {
-        LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL calling EnableL");
-        iRoomLevelControl->Enable();
-    }
-
-    // With the JSR-234 value DISCONNECT, the object can be disconnected
-    // from the reverb.
-    if (aLevel == KAMMSDisconnectReverbSource)
-    {
-        // Do not call iReverbSource->DisableL(), instead set the room level to
-        // _minimum_ value (= smallest negative gain -> maximum attenuation).
-        // The CRoomLevel must also be kept enabled.
-        aLevel = minLevel;
-
-        LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL(DISCONNECT) %d",
-                  minLevel);
-    }
-    else
-    {
-        // Set the room level within allowed boundaries from EMC API
-        aLevel = Min(aLevel, maxLevel);
-        aLevel = Max(aLevel, minLevel);
-        LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL setting value: %d", aLevel);
-    }
-
-    // Sets the RoomLevel level, it will leave if aRoomLevel is not within range
-    // of Min and Max
-    iRoomLevelControl->SetRoomLevel(aLevel);
-
-    // Apply updated settings to EMC API.
-    iRoomLevelControl->Apply();
-
-    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::SetRoomLevelL -");
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCReverbSourceControl::PrepareControlL
-// Function which is called after the correct state is set in Player.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCReverbSourceControl::PrepareControlL()
-{
-    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::PrepareControlL");
-
-    if (!iRoomLevelControl)
-    {
-        //Create RoomLevel Effect Control
-        iStreamControl = (static_cast<CMMAEMCAudioPlayer*>(iMMAPlayer))->StreamControl();
-        iFactory = (static_cast<CMMAEMCAudioPlayer*>(iMMAPlayer))->MMFactory();
-
-        MEffectControl* temp(NULL);
-        User::LeaveIfError(iFactory->CreateEffectControl(KRoomLevelEffectControl, temp));
-        iRoomLevelControl  = static_cast<MRoomLevelControl*>(temp);
-
-
-        //Attach EMC Reverb Control to RoomLevelControl
-        MReverbControl* reverbControl = iBaseReverbControl->GetReverbControlL();
-        iRoomLevelControl->AttachReverb(*reverbControl);
-
-        //Add Effect to Stream Control
-        User::LeaveIfError(iStreamControl->AddEffect(*iRoomLevelControl));
-    }
-
-
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCReverbSourceControl::DeallocateControl
-// Function which is called after the correct state is set in Player.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCReverbSourceControl::DeallocateControl()
-{
-    LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCReverbSourceControl::DeallocateControl");
-    if (iRoomLevelControl)
-    {
-        /*
-        //idealy reverbControl should be checked for its existance and if it is there ,should be detached from RoomLevelControl.
-        //But in this case reverbControl is deleted till this position,so need not to do it.
-        if(reverbControl)
-            {
-            iRoomLevelControl->DetachReverb(*reverbControl);
-            }
-        */
-        iStreamControl->RemoveEffect(*iRoomLevelControl);
-        MEffectControl* objPtr2 = iRoomLevelControl;
-        iFactory->DeleteEffectControl(objPtr2);
-        iRoomLevelControl = NULL;
-    }
-
-
-
-
-}
-
-const TDesC& CAMMSEMCReverbSourceControl::ClassName() const
-{
-    return KAMMSEMCReverbSourceControl;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCReverbSourceControl::CAMMSEMCReverbSourceControl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-CAMMSEMCReverbSourceControl::CAMMSEMCReverbSourceControl(
-    CMMAPlayer* aPlayer,
-    CAMMSBaseReverbControl* aBaseReverbControl)
-        : CAMMSBaseReverbSourceControl(aPlayer), iBaseReverbControl(aBaseReverbControl)
-{
-
-    iMMAPlayer = aPlayer;
-
-}
-
-//  End of File