--- a/javauis/amms_qt/mmacontrol/src.emc/cammsemcdistanceattenuationcontrol.cpp Tue May 11 16:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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: Controls how the sound is attenuated with its distance.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <logger.h>
-#include "cammsemcdistanceattenuationcontrol.h"
-
-// CONSTANTS
-namespace
-{
-const TInt KAMMSRoomRollOffFactor = 0; // The logical default value set to 0
-// Rolloff factor 1000 in AMMS is 100 in EMC API
-const TInt KAMMSRolloffDivider = 10;
-
-#ifdef _DEBUG
-const TInt KAMMSMinDistance = 1;
-const TInt KAMMSMinRollofFactor = 0;
-#endif // _DEBUG
-}
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCDistanceAttenuationControl::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CAMMSEMCDistanceAttenuationControl* CAMMSEMCDistanceAttenuationControl::NewLC(
- CMMAPlayer* aPlayer)
-{
- CAMMSEMCDistanceAttenuationControl* self =
- new(ELeave)CAMMSEMCDistanceAttenuationControl(aPlayer);
-
- CleanupStack::PushL(self);
-
- return self;
-}
-
-// Destructor
-CAMMSEMCDistanceAttenuationControl::~CAMMSEMCDistanceAttenuationControl()
-{
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCDistanceAttenuationControl::~CAMMSEMCDistanceAttenuationControl");
-
- // Perform DeallocateControl, if the state change has not yet performed it.
- DeallocateControl();
-
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCDistanceAttenuationControl::SetParametersL
-// Sets all the 3D audio distance attenuation parameters simultaneously.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCDistanceAttenuationControl::SetParametersL(
- TInt aMinDistance,
- TInt aMaxDistance,
- TBool aMuteAfterMax,
- TInt aRolloffFactor)
-{
- // Check in debug build that parameters are within valid range.
- __ASSERT_DEBUG(
- (aMaxDistance > aMinDistance) &&
- (aMinDistance >= KAMMSMinDistance) &&
- (aMaxDistance >= KAMMSMinDistance) &&
- (aRolloffFactor >= KAMMSMinRollofFactor),
- User::Invariant());
-
- // NOTE: Effect API uses hundreths (100 corresponds to 1.00),
- // but JSR234 uses thousandths (1000 represents a rolloff factor of 1.0)
- //
- LOG4( EJavaMMAPI, EInfo, "AMMS::CAMMSEMCDistanceAttenuationControl::SetParametersL %d, %d, %d, %d",
- aMinDistance, aMaxDistance, aMuteAfterMax, aRolloffFactor);
-
- TInt convertedRolloffFactor = aRolloffFactor / KAMMSRolloffDivider;
-
- iMDistanceAttenuationControl->SetDistanceAttenuation(aMinDistance, aMaxDistance,
- aMuteAfterMax, convertedRolloffFactor, KAMMSRoomRollOffFactor);
-
- // Apply updated settings to EMC API.
- iMDistanceAttenuationControl->Apply();
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCDistanceAttenuationControl::PrepareControlL
-// Function which is called after the correct state is set in Player.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCDistanceAttenuationControl::PrepareControlL()
-{
- // Perform the action only for the first time, skip if called afterwards
- if (!iMDistanceAttenuationControl)
- {
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCDistanceAttenuationControl::PrepareControlL");
- //Create Orientation Effect Control
- iStreamControl = (static_cast<CMMAEMCAudioPlayer*>(iMMAPlayer))->StreamControl();
- iFactory = (static_cast<CMMAEMCAudioPlayer*>(iMMAPlayer))->MMFactory();
-
- MEffectControl* temp(NULL);
- User::LeaveIfError(iFactory->CreateEffectControl(KDistanceAttenuationEffectControl, temp));
- iMDistanceAttenuationControl = static_cast<MDistanceAttenuationControl*>(temp);
- User::LeaveIfError(iStreamControl->AddEffect(*iMDistanceAttenuationControl));
- iMDistanceAttenuationControl->Enable();
-
- }
-
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCDistanceAttenuationControl::DeallocateControl
-// Function which is called after the correct state is set in Player.
-// -----------------------------------------------------------------------------
-//
-void CAMMSEMCDistanceAttenuationControl::DeallocateControl()
-{
- if (iMDistanceAttenuationControl)
- {
- LOG( EJavaAMMS, EInfo, "AMMS::CAMMSEMCDistanceAttenuationControl::DeallocateControl");
-
- // Location for Audio can be disabled or enabled
- TRAPD(err,iMDistanceAttenuationControl->Disable());
- if (err != KErrNone)
- {
- //Some EMC Error
- ELOG1( EJavaAMMS, "AMMS::CAMMSEMCDistanceAttenuationControl::DeallocateControl err = %d",err);
- }
- //return the control to factory
- MEffectControl* temp = iMDistanceAttenuationControl;
- iStreamControl->RemoveEffect(*temp);
- // Delete the Effect
- MEffectControl* tempCtrl = iMDistanceAttenuationControl;
- iFactory->DeleteEffectControl(tempCtrl);
- iMDistanceAttenuationControl = NULL;
- }
-}
-
-const TDesC& CAMMSEMCDistanceAttenuationControl::ClassName() const
-{
- return KAMMSEMCDistanceAttenuationControl;
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSEMCDistanceAttenuationControl::CAMMSEMCDistanceAttenuationControl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-CAMMSEMCDistanceAttenuationControl::CAMMSEMCDistanceAttenuationControl(
- CMMAPlayer* aPlayer)
- : CAMMSBaseDistanceAttenuationControl(aPlayer)
-{
- iMMAPlayer = aPlayer;
-}
-
-// End of File