sl@0: /* sl@0: * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: Implementation of the Environmental Reverb effect class sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: sl@0: // INCLUDE FILES sl@0: sl@0: #ifdef _DEBUG sl@0: #include sl@0: #endif sl@0: sl@0: #include sl@0: #include sl@0: #include "EnvironmentalReverbProxy.h" sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #ifdef _DEBUG sl@0: #define DEBPRN0 RDebug::Printf( "%s", __PRETTY_FUNCTION__); sl@0: #define DEBPRN1(str) RDebug::Printf( "%s %s", __PRETTY_FUNCTION__, str ); sl@0: #else sl@0: #define DEBPRN0 sl@0: #define DEBPRN1(str) sl@0: #endif sl@0: sl@0: // ============================ MEMBER FUNCTIONS =============================== sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::CEnvironmentalReverb sl@0: // C++ default constructor can NOT contain any code, that sl@0: // might leave. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb::CEnvironmentalReverb() sl@0: : iReverbData(), sl@0: iDataPckgTo(iReverbData) sl@0: { sl@0: } sl@0: sl@0: // Destructor sl@0: EXPORT_C CEnvironmentalReverb::~CEnvironmentalReverb() sl@0: { sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the Environmental Reverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL() sl@0: { sl@0: User::Leave(KErrNotSupported); sl@0: return NULL; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioConvertUtility& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioInputStream& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)aUtility.CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if (environmentalReverbProxy == NULL) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioOutputStream& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)aUtility.CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if (environmentalReverbProxy == NULL) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioPlayerUtility& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioRecorderUtility& aUtility, sl@0: TBool aRecordStream ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility, aRecordStream); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMdaAudioToneUtility& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)aUtility.CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if (environmentalReverbProxy == NULL) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CAudioEqualizer::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CMMFDevSound& aDevSound ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)aDevSound.CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if (environmentalReverbProxy == NULL) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: CCustomCommandUtility* aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL( sl@0: MCustomInterface& aCustomInterface ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CEnvironmentalReverb* environmentalReverbProxy = (CEnvironmentalReverb*)aCustomInterface.CustomInterface(KUidEnvironmentalReverbEffect); sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL(CMidiClientUtility& aUtility ) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL(CDrmPlayerUtility& aUtility) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::NewL sl@0: // Static function for creating an instance of the EnvironmentalReverb object. sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C CEnvironmentalReverb* CEnvironmentalReverb::NewL(CVideoPlayerUtility& aUtility) sl@0: { sl@0: sl@0: DEBPRN0; sl@0: CCustomInterfaceUtility* customInterface = CCustomInterfaceUtility::NewL(aUtility); sl@0: CleanupStack::PushL(customInterface); sl@0: sl@0: CEnvironmentalReverbProxy* environmentalReverbProxy = (CEnvironmentalReverbProxy*)customInterface->CustomInterface(KUidEnvironmentalReverbEffect); sl@0: sl@0: if ( !environmentalReverbProxy ) sl@0: { sl@0: DEBPRN1("No Adaptation Support - leaving"); sl@0: User::Leave(KErrNotSupported); sl@0: } sl@0: sl@0: CleanupStack::Pop(customInterface); sl@0: sl@0: return environmentalReverbProxy; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DecayHFRatio sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::DecayHFRatio() const sl@0: { sl@0: return iReverbData.iDecayHFRatio; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DecayHFRatioRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::DecayHFRatioRange( sl@0: TUint32& aMin, sl@0: TUint32& aMax ) sl@0: { sl@0: aMin = iReverbData.iDecayHFRatioMin; sl@0: aMax = iReverbData.iDecayHFRatioMax; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DecayTime sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::DecayTime() const sl@0: { sl@0: return iReverbData.iDecayTime; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DecayTimeRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::DecayTimeRange( sl@0: TUint32& aMin, sl@0: TUint32& aMax) sl@0: { sl@0: aMin = iReverbData.iDecayTimeMin; sl@0: aMax = iReverbData.iDecayTimeMax; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::Density sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::Density() const sl@0: { sl@0: return iReverbData.iDensity; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::Diffusion sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::Diffusion() const sl@0: { sl@0: return iReverbData.iDiffusion; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReflectionsDelay sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::ReflectionsDelay() const sl@0: { sl@0: return iReverbData.iReflectionsDelay; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReflectionsDelayMax sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::ReflectionsDelayMax() const sl@0: { sl@0: return iReverbData.iReflectionsDelayMax; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReflectionsLevel sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TInt32 CEnvironmentalReverb::ReflectionsLevel() const sl@0: { sl@0: return iReverbData.iReflectionsLevel; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReflectionLevelRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::ReflectionLevelRange( sl@0: TInt32& aMin, sl@0: TInt32& aMax) sl@0: { sl@0: aMin = iReverbData.iReflectionLevelMin; sl@0: aMax = iReverbData.iReflectionLevelMax; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReverbDelay sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::ReverbDelay() const sl@0: { sl@0: return iReverbData.iReverbDelay; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReverbDelayMax sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::ReverbDelayMax() const sl@0: { sl@0: return iReverbData.iReverbDelayMax; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReverbLevel sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TInt32 CEnvironmentalReverb::ReverbLevel() const sl@0: { sl@0: return iReverbData.iReverbLevel; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::ReverbLevelRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::ReverbLevelRange( sl@0: TInt32& aMin, sl@0: TInt32& aMax) sl@0: { sl@0: aMin = iReverbData.iReverbLevelMin; sl@0: aMax = iReverbData.iReverbLevelMax; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::RoomHFLevel sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TInt32 CEnvironmentalReverb::RoomHFLevel() const sl@0: { sl@0: return iReverbData.iRoomHFLevel; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::RoomHFLevelRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::RoomHFLevelRange( sl@0: TInt32& aMin, sl@0: TInt32& aMax) sl@0: { sl@0: aMin = iReverbData.iRoomHFLevelMin; sl@0: aMax = iReverbData.iRoomHFLevelMax; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::RoomLevel sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TInt32 CEnvironmentalReverb::RoomLevel() const sl@0: sl@0: { sl@0: return iReverbData.iRoomLevel; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::RoomLevelRange sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::RoomLevelRange( sl@0: TInt32& aMin, sl@0: TInt32& aMax) sl@0: { sl@0: aMin = iReverbData.iRoomLevelMin; sl@0: aMax = iReverbData.iRoomLevelMax; sl@0: } sl@0: sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetDecayHFRatioL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetDecayHFRatioL( sl@0: TUint32 aDecayHFRatio ) sl@0: { sl@0: if ( (aDecayHFRatio >= iReverbData.iDecayHFRatioMin) && (aDecayHFRatio <= iReverbData.iDecayHFRatioMax) ) sl@0: { sl@0: iReverbData.iDecayHFRatio = aDecayHFRatio; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetDecayTimeL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetDecayTimeL( sl@0: TUint32 aDecayTime ) sl@0: { sl@0: if ( (aDecayTime >= iReverbData.iDecayTimeMin) && (aDecayTime <= iReverbData.iDecayTimeMax) ) sl@0: { sl@0: iReverbData.iDecayTime = aDecayTime; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetDensityL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetDensityL( sl@0: TUint32 aDensity ) sl@0: { sl@0: iReverbData.iDensity = aDensity; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetDiffusionL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetDiffusionL( sl@0: TUint32 aDiffusion ) sl@0: { sl@0: iReverbData.iDiffusion = aDiffusion; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetReflectionsDelayL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetReflectionsDelayL( sl@0: TUint32 aReflectionsDelay ) sl@0: { sl@0: if ( aReflectionsDelay > iReverbData.iReflectionsDelayMax ) sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: else sl@0: { sl@0: iReverbData.iReflectionsDelay = aReflectionsDelay; sl@0: } sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetReflectionsLevelL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetReflectionsLevelL( sl@0: TInt32 aReflectionsLevel ) sl@0: { sl@0: if ( (aReflectionsLevel >= iReverbData.iReflectionLevelMin) && (aReflectionsLevel <= iReverbData.iReflectionLevelMax) ) sl@0: { sl@0: iReverbData.iReflectionsLevel = aReflectionsLevel; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetReverbDelayL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetReverbDelayL( sl@0: TUint32 aReverbDelay ) sl@0: { sl@0: if ( aReverbDelay > iReverbData.iReverbDelayMax ) sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: else sl@0: { sl@0: iReverbData.iReverbDelay = aReverbDelay; sl@0: } sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetReverbLevelL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetReverbLevelL( sl@0: TInt32 aReverbLevel ) sl@0: { sl@0: if ( (aReverbLevel >= iReverbData.iReverbLevelMin) && (aReverbLevel <= iReverbData.iReverbLevelMax) ) sl@0: { sl@0: iReverbData.iReverbLevel = aReverbLevel; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetRoomHFLevelL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetRoomHFLevelL( sl@0: TInt32 aRoomHFLevel ) sl@0: { sl@0: if ( (aRoomHFLevel >= iReverbData.iRoomHFLevelMin) && (aRoomHFLevel <= iReverbData.iRoomHFLevelMax) ) sl@0: { sl@0: iReverbData.iRoomHFLevel = aRoomHFLevel; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetRoomLevelL sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetRoomLevelL( sl@0: TInt32 aRoomLevel ) sl@0: { sl@0: if ( (aRoomLevel >= iReverbData.iRoomLevelMin) && (aRoomLevel <= iReverbData.iRoomLevelMax) ) sl@0: { sl@0: iReverbData.iRoomLevel = aRoomLevel; sl@0: } sl@0: else sl@0: { sl@0: User::Leave(KErrArgument); sl@0: } sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DelayMax sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUint32 CEnvironmentalReverb::DelayMax() const sl@0: { sl@0: return iReverbData.iDelayMax; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::Uid sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C TUid CEnvironmentalReverb::Uid() const sl@0: { sl@0: return KUidEnvironmentalReverbEffect; sl@0: } sl@0: sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::DoEffectData sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C const TDesC8& CEnvironmentalReverb::DoEffectData() sl@0: { sl@0: DEBPRN0; sl@0: iDataPckgTo = iReverbData; sl@0: return iDataPckgTo; sl@0: } sl@0: sl@0: // ----------------------------------------------------------------------------- sl@0: // CEnvironmentalReverb::SetEffectData sl@0: // ----------------------------------------------------------------------------- sl@0: // sl@0: EXPORT_C void CEnvironmentalReverb::SetEffectData( sl@0: const TDesC8& aEffectDataBuffer ) sl@0: { sl@0: DEBPRN0; sl@0: TEfEnvReverbDataPckg dataPckg; sl@0: dataPckg.Copy(aEffectDataBuffer); sl@0: iReverbData = dataPckg(); sl@0: iEnabled = iReverbData.iEnabled; sl@0: iEnforced = iReverbData.iEnforced; sl@0: iHaveUpdateRights = iReverbData.iHaveUpdateRights; sl@0: } sl@0: sl@0: sl@0: // ========================== OTHER EXPORTED FUNCTIONS ========================= sl@0: sl@0: