smbmusicapmainplayersettingmodel.cpp

来自「symbian」· C++ 代码 · 共 698 行 · 第 1/2 页

CPP
698
字号
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPMainPlayerSettingModel.cpp
//
// Description: 
//  CSmbMusicAPMainPlayerSettingModel class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/09    |SDNA 彫椦  | 怴婯嶌惉
//2006/06/30    |SDNA 嶳壀  | 儈儏乕僕僢僋愝掕偲懠偺摨婜僒乕僶傾僋僙僗傪暘棧
//2006/07/06    |SDNA 嶳壀  | 儕僙僢僩張棟廋惓
//2006/07/09	|SDNA嶳壀	| 弶婜抣傪庢摼偟偰愝掕
//2006/07/19	|SDNA嶳壀	| 摦嶌娐嫬忣曬偺娗棟
//2006/07/27	|K3戝嫶		| i-keeper(TRK):4984懳墳丅婲摦捈屻偺愝掕儕僙僢僩偱AVLS偺ON/OFF偑媡偵側傞栤戣偵懳墳丅
//2006/07/27	|K3戝嫶		| i-keeper(TRK):4989懳墳丅愝掕儕僙僢僩偱壒検偑0偵側傞栤戣偵懳墳丅
//2006/08/04	|K3戝嫶		| CancelRequestSetting()偺儖乕僾傪媡夞偟偵廋惓

#include "SmbMusicAPMainPlayerSettingModel.h"

SEMCJ_NAMESPACE_BEGIN

/** 
 * NewL
 *
 * @param aPropAgent [in]	僾儘僷僥傿僄乕僕僃儞僩
 */
CSmbMusicAPMainPlayerSettingModel* CSmbMusicAPMainPlayerSettingModel::NewL(RPGPropAgent& aPropAgent)
	{
	CSmbMusicAPMainPlayerSettingModel* self = new(ELeave) CSmbMusicAPMainPlayerSettingModel(aPropAgent);
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();// self
	return self;
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerSettingModel::~CSmbMusicAPMainPlayerSettingModel()
	{
	}

/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in]		aPropAgent			僾儘僷僥傿僄乕僕僃儞僩偺僙僢僔儑儞
 * @param[in]		aLog				儘僌僒乕僶偺僙僢僔儑儞
 */
CSmbMusicAPMainPlayerSettingModel::CSmbMusicAPMainPlayerSettingModel(RPGPropAgent& aPropAgent)
	: iPropAgent(aPropAgent)
	{
	}

/**
 * 2僼僃乕僘僐儞僗僩儔僋僞
 */
void CSmbMusicAPMainPlayerSettingModel::ConstructL()
	{
	}

/**
 * 愝掕儕僙僢僩抣偺庢摼
 * @param[in]		aSetting	儕僙僢僩抣偺曐懚応強
 */
void CSmbMusicAPMainPlayerSettingModel::GetResetParam(TSmbMusicAPSyncEngineAllParam& aSetting)
	{
	aSetting.iShuffle	= ESmbMusicAPSyncEngineNonShuffle;		///<僔儍僢僼儖愝掕抣: Normal
	aSetting.iRepeat	= ESmbMusicAPSyncEngineNonRepeat;		///<儕僺乕僩愝掕抣: OFF
	aSetting.iVolume	= 16;									///<儃儕儏乕儉愝掕抣: 16
	aSetting.iEqua		= ESmbMusicAPSyncEngineEqualizeOFF;		///<僀僐儔僀僓愝掕抣: OFF
	aSetting.iBass		= ESmbMusicAPSyncEngineBassOFF;			///<Bass愝掕抣: OFF
	aSetting.iAutoLevel	= EFalse;								///<僆乕僩儗儀儖愝掕抣
	aSetting.iMute		= EFalse;								///<Mute愝掕抣乮柍岠乯
	aSetting.iSurround	= ESmbMusicAPSyncEngineSurroundOFF;		///<僒儔僂儞僪愝掕抣: OFF
	}

/**
 * 壒検庢摼
 *
 * @return		壒検抣
 */
TInt CSmbMusicAPMainPlayerSettingModel::VolumeL() const
	{
	TInt vol = 0;
	TRAPD(error, vol = SmbPGMusic::APVolumeSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}
	return vol;
	}

/**
 * 尰嵼偺嵟戝壒検抣庢摼
 *
 * @return		嵟戝壒検抣
 */
TInt CSmbMusicAPMainPlayerSettingModel::CurrentMaxVolumeL() const
	{
	//AVLS拞偱偁傞偐僠僃僢僋偡傞
	if((ESmbPGMusicAPAVLSSettingOn == SmbPGMusic::AVLSSettingL(iPropAgent)))
		{
		return ESmbMusicAPPlayerVolumeAVLS;
		}
	return ESmbMusicAPPlayerVolumeMax;
	}

/**
 * VPT愝掕抣庢摼
 *
 * @return			VPT愝掕抣
 */
TSmbMusicAPSyncEngineSurroundType CSmbMusicAPMainPlayerSettingModel::VPTL() const
	{
	TSmbPGMusicAPVPTSetting paValue = ESmbPGMusicAPVPTSettingOff;
	TRAPD(error, paValue = SmbPGMusic::VPTSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	TSmbMusicAPSyncEngineSurroundType value = ESmbMusicAPSyncEngineSurroundOFF;
	switch(paValue)
		{
		case ESmbPGMusicAPVPTSettingStudio :	///< VPT愝掕乮Studio乯
			{
			value = ESmbMusicAPSyncEngineSurround1;
			}
			break;

		case ESmbPGMusicAPVPTSettingLive :		///< VPT愝掕乮Live乯
			{
			value = ESmbMusicAPSyncEngineSurround2;
			}
			break;

		case ESmbPGMusicAPVPTSettingClub :		///< VPT愝掕乮Club乯
			{
			value = ESmbMusicAPSyncEngineSurround3;	//巄掕
			}
			break;

		case ESmbPGMusicAPVPTSettingArena :		///< VPT愝掕乮Arena乯
			{
			value = ESmbMusicAPSyncEngineSurround4;	//巄掕
			}
			break;

		case ESmbPGMusicAPVPTSettingOff :		///< VPT愝掕乮OFF乯
			{
			value = ESmbMusicAPSyncEngineSurroundOFF;
			}
			break;
		default :
			{
			}
			break;
		}

	return value;
	}

/**
 * 儕僺乕僩愝掕抣庢摼
 *
 * @return			儕僺乕僩愝掕抣
 */
TSmbMusicAPSyncEngineRepeatMode CSmbMusicAPMainPlayerSettingModel::RepeatL() const
	{
	TSmbPGMusicAPRepeatSetting paValue = ESmbPGMusicAPRepeatSettingOff;
	TRAPD(error, paValue = SmbPGMusic::RepeatSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	TSmbMusicAPSyncEngineRepeatMode value = ESmbMusicAPSyncEngineNonRepeat;
	switch(paValue)
		{
		case ESmbPGMusicAPRepeatSettingAll :	///< 儕僺乕僩愝掕乮慡嬋乯
			{
			value = ESmbMusicAPSyncEngineAllRepeat;
			}
			break;

		case ESmbPGMusicAPRepeatSettingSingle :	///< 儕僺乕僩愝掕乮1嬋乯
			{
			value = ESmbMusicAPSyncEngineSingleRepeat;
			}
			break;

		case ESmbPGMusicAPRepeatSettingOff :	///< 儕僺乕僩愝掕乮OFF乯
		default :
			{
			}
			break;
		}

	return value;
	}

/**
 * 嵞惗儌乕僪愝掕抣庢摼
 *
 * @return			嵞惗儌乕僪愝掕抣
 */
TSmbMusicAPSyncEngineShuffleMode CSmbMusicAPMainPlayerSettingModel::PlayModeL() const
	{
	TSmbPGMusicAPPlayModeSetting paValue = ESmbPGMusicAPPlayModeSettingNormal;
	TRAPD(error, paValue = SmbPGMusic::PlayModeSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	TSmbMusicAPSyncEngineShuffleMode value = ESmbMusicAPSyncEngineNonShuffle;
	switch(paValue)
		{
		case ESmbPGMusicAPPlayModeSettingShuffle :	///< 僾儗僀儌乕僪乮僔儍僢僼儖乯
			{
			value = ESmbMusicAPSyncEngineNormalShuffle;
			}
			break;

		case ESmbPGMusicAPPlayModeSettingNormal :	///< 僾儗僀儌乕僪乮僲乕儅儖乯
		default :
			{
			}
			break;
		}

	return value;
	}

/**
 * 僀僐儔僀僓愝掕抣庢摼
 *
 * @return			僀僐儔僀僓愝掕抣
 */
TSmbMusicAPSyncEngineEqualizeType CSmbMusicAPMainPlayerSettingModel::EqualizerL() const
	{
	TSmbPGMusicAPEqualizerSetting paValue = ESmbPGMusicAPEqualizerSettingOff;
	TRAPD(error, paValue = SmbPGMusic::EqualizerSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	TSmbMusicAPSyncEngineEqualizeType value = ESmbMusicAPSyncEngineEqualizeOFF;
	switch(paValue)
		{
		case ESmbPGMusicAPEqualizerSettingHeavy :			///< 僀僐儔僀僓愝掕乮Heavy乯
			{
			value = ESmbMusicAPSyncEngineEqualize1;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingPops :			///< 僀僐儔僀僓愝掕乮Pops乯
			{
			value = ESmbMusicAPSyncEngineEqualize2;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingJazz :			///< 僀僐儔僀僓愝掕乮Jazz乯
			{
			value = ESmbMusicAPSyncEngineEqualize3;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingUnique :			///< 僀僐儔僀僓愝掕乮Unique乯
			{
			value = ESmbMusicAPSyncEngineEqualize4;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingSoul :			///< 僀僐儔僀僓愝掕乮Soul乯
			{
			value = ESmbMusicAPSyncEngineEqualize5;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingEasyListening :	///< 僀僐儔僀僓愝掕乮Easy Listening乯
			{
			value = ESmbMusicAPSyncEngineEqualize6;
			}
			break;

		case ESmbPGMusicAPEqualizerSettingOff :				///< 僀僐儔僀僓愝掕乮OFF乯
			{
			value = ESmbMusicAPSyncEngineEqualizeOFF;
			}
			break;
		default :
			{
			}
			break;
		}

	return value;
	}

/**
 * AVLS愝掕抣庢摼
 *
 * @return			AVLS愝掕抣(ETrue:ON EFalse:OFF)
 */
TInt CSmbMusicAPMainPlayerSettingModel::AVLSL() const
	{
	TSmbPGMusicAPAVLSSetting paValue = ESmbPGMusicAPAVLSSettingOff;
	TRAPD(error, paValue = SmbPGMusic::AVLSSettingL(iPropAgent));
	if(KErrNone != error)
		{
		//儘僌弌椡
//		SmbMusicAPMainPlayerLog::OutputLog(iLog, EMainPlayerLogNo023, ELogLevelHighest, error, KSmbMusicAPMainPlayerLogRegisterViewErr);
		//儕乕僽張棟
		User::Leave(error);
		}

	TInt value = 1;
	if(ESmbPGMusicAPAVLSSettingOn == paValue)
		{
		value = 0;
		}

	return value;
	}

/**
 * BASS愝掕抣庢摼
 *
 * @return			BASS愝掕抣

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?