smbmusicapmainplayersetsyncenginefunc.cpp

来自「symbian」· C++ 代码 · 共 346 行

CPP
346
字号
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerSetSyncEngineFunc.cpp
//
// Description: 
//	摨婜僄儞僕儞傊偺愝掕偵娭偡傞張棟傪峴偆僋儔僗偺幚憰丅
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/12	|K3戝嫶		|怴婯嶌惉
//2006/09/06	|K3戝嫶		|QAC寢壥偺懳墳乮VER060810A斉乯
//2006/09/23	|K3戝嫶		|摨婜僒乕僶偐傜偺墳摎偑KErrServerTerminated偺応崌丄傾僾儕傪廔椆偡傞傛偆偵廋惓

#ifndef FJAFENV_H__
#include <FjAfEnv.h>
#endif
#ifndef __SMBPGMUSIC_H__
#include <SmbPGMusic.h>
#endif
#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif
#ifndef __SMBMUSICAPMAINPLAYERSETSYNCENGINEFUNC_H__
#include "SmbMusicAPMainPlayerSetSyncEngineFunc.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERSETSYNCENGINEFUNCOBSERVER_H__
#include "SmbMusicAPMainPlayerSetSyncEngineFuncObserver.h"
#endif
//ADD-S 2006.09.23 K3戝嫶 ExitAppL()傪巊梡偡傞偨傔偵捛壛
#ifndef __SMBMUSICAPMAINPLAYERAPPUI_H__
#include "SmbMusicAPMainPlayerAppUi.h"
#endif
//ADD-E 2006.09.23 K3戝嫶 ExitAppL()傪巊梡偡傞偨傔偵捛壛
#ifndef __SMBMUSICAPMAINPLAYERUTILITY_H__
#include "SmbMusicAPMainPlayerUtility.h"
#endif

USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN

//ADD-S 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
/**
 * 儈儏乕僕僢僋愝掕弶婜抣
 */
const TSmbMusicAPSyncEngineAllParam KSmbMusicAPMainPlayerDefaultSyncEngineAllParam = {
	ESmbMusicAPSyncEngineNonShuffle,    // 僔儍僢僼儖愝掕抣
	ESmbMusicAPSyncEngineNonRepeat,     // 儕僺乕僩愝掕抣
	ESmbMusicAPPlayerVolumeAVLS,        // 儃儕儏乕儉愝掕抣
	ESmbMusicAPSyncEngineEqualizeOFF,   // 僀僐儔僀僓愝掕抣
	ESmbMusicAPSyncEngineBassOFF,       // Bass愝掕抣
	EFalse,                             // 僆乕僩儗儀儖愝掕抣
	EFalse,                             // Mute愝掕抣乮柍岠乯
	ESmbMusicAPSyncEngineSurroundOFF    // 僒儔僂儞僪愝掕抣
	};
//ADD-E 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞

/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in] aSyncEngine 摨婜僄儞僕儞
 */
CSmbMusicAPMainPlayerSetSyncEngineFunc::CSmbMusicAPMainPlayerSetSyncEngineFunc(CSmbMusicAPSyncEngine& aSyncEngine)
//DEL-S 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
//	: CActive(EPriorityStandard), iSyncEngine(aSyncEngine), iLog(CAfEnv::Static()->Log())
//DEL-E 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
//ADD-S 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
	: CActive(EPriorityStandard), iSyncEngine(aSyncEngine), iObserver(NULL), iMusicAllParam(KSmbMusicAPMainPlayerDefaultSyncEngineAllParam), iLog(CAfEnv::Static()->Log())
//ADD-E 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
	{
	CActiveScheduler::Add(this);
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerSetSyncEngineFunc::~CSmbMusicAPMainPlayerSetSyncEngineFunc()
	{
	Cancel();
	}

/**
 * 摨婜僄儞僕儞傊儈儏乕僕僢僋僷儔儊乕僞傪愝掕
 *
 * @param[in] aObserver 梫媮姰椆偺捠抦愭
 */
void CSmbMusicAPMainPlayerSetSyncEngineFunc::SetMusicAllParamL(MSmbMusicAPMainPlayerSetSyncEngineFuncObserver* aObserver)
	{
	// NULL偑搉偝傟偰傕姰椆帪偵捠抦傪峴傢側偄偩偗偱摿偵栤戣偼側偄偑丄尰嵼偦偺傛偆側儐乕僗働乕僗偼側偄偨傔丄ASSERT僠僃僢僋傪偐偗傞
	__ASSERT_DEBUG(aObserver != NULL, PANIC(9031001));

	if (IsActive() != EFalse) // == ETrue
		{// 梫媮拞偺応崌偼庴偗晅偗側偄
		// 梫媮張棟拞偵丄嵞搙梫媮偼敪惗偟側偄偼偢
		__ASSERT_DEBUG(EFalse, PANIC(9031002));

		_LIT(KLogFmt, "CSmbMusicAPMainPlayerSetSyncEngineFunc::SetMusicAllParam()[double request]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 31001, ELogLevelNormal, KLogFmt);

		return;
		}

	// 僾儘僷僥傿僄乕僕僃儞僩偺僙僢僔儑儞庢摼
	RPGPropAgent& propAgent = CAfEnv::Static()->PropAgent();

	// PA偐傜抣傪庢摼
	TSmbPGMusicAPPlayModeSetting playMode                   = SmbPGMusic::PlayModeSettingL(propAgent);         // 僔儍僢僼儖愝掕抣乮嵞惗儌乕僪愝掕乯
	TSmbPGMusicAPRepeatSetting repeat                       = SmbPGMusic::RepeatSettingL(propAgent);           // 儕僺乕僩愝掕抣乮儕僺乕僩愝掕乯
	TInt volume                                             = SmbPGMusic::APVolumeSettingL(propAgent);         // 儃儕儏乕儉愝掕抣乮壒検愝掕乯
	TSmbPGMusicAPEqualizerSetting equalizer                 = SmbPGMusic::EqualizerSettingL(propAgent);        // 僀僐儔僀僓愝掕抣乮僀僐儔僀僓愝掕乯
	TSmbPGMusicAPBassSetting bass                           = SmbPGMusic::BassSettingL(propAgent);             // Bass愝掕抣乮BASS愝掕乯
	TSmbPGMusicAPDynamicNormalizerSetting dynamicNormalizer = SmbPGMusic::DynamicNormalizerSettingL(propAgent);// 僆乕僩儗儀儖愝掕抣乮Dynamic Normalizer乯
	// Mute愝掕抣丗側偟
	TSmbPGMusicAPVPTSetting vpt                             = SmbPGMusic::VPTSettingL(propAgent);              // 僒儔僂儞僪愝掕抣乮VPT乯

	// 摨婜僄儞僕儞梡偵曄姺
	// 僔儍僢僼儖愝掕
	if (playMode == ESmbPGMusicAPPlayModeSettingNormal)
		{// 僾儗僀儌乕僪乮僲乕儅儖乯偺応崌
		iMusicAllParam.iShuffle = ESmbMusicAPSyncEngineNonShuffle;// 僔儍僢僼儖OFF
		}
	else if (playMode == ESmbPGMusicAPPlayModeSettingShuffle)
		{// 僾儗僀儌乕僪乮僔儍僢僼儖乯偺応崌
		iMusicAllParam.iShuffle = ESmbMusicAPSyncEngineNormalShuffle;// 捠忢僔儍僢僼儖
		}
	else
		{// 憐掕奜偺抣
		// ESmbMusicAPSyncEngineAllShuffle乮慡嬋僔儍僢僼儖乯偼丄嵞惗夋柺偱巜掕偝傟傞

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031003));

		iMusicAllParam.iShuffle = ESmbMusicAPSyncEngineNonShuffle;// 僔儍僢僼儖OFF
		}

	// 儕僺乕僩愝掕抣乮儕僺乕僩愝掕乯
	if (repeat == ESmbPGMusicAPRepeatSettingOff)
		{// 儕僺乕僩愝掕乮OFF乯
		iMusicAllParam.iRepeat = ESmbMusicAPSyncEngineNonRepeat;// 儕僺乕僩OFF
		}
	else if (repeat == ESmbPGMusicAPRepeatSettingAll)
		{// 儕僺乕僩愝掕乮慡嬋乯
		iMusicAllParam.iRepeat = ESmbMusicAPSyncEngineAllRepeat;// 慡嬋儕僺乕僩
		}
	else if (repeat == ESmbPGMusicAPRepeatSettingSingle)
		{// 儕僺乕僩愝掕乮1嬋乯
		iMusicAllParam.iRepeat = ESmbMusicAPSyncEngineSingleRepeat;// 侾嬋儕僺乕僩
		}
	else
		{// 憐掕奜偺抣

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031004));

		iMusicAllParam.iRepeat = ESmbMusicAPSyncEngineNonRepeat;// 儕僺乕僩OFF
		}

	// 壒検抣偺愝掕
//	iMusicAllParam.iVolume = volume;
	if (volume < ESmbMusicAPPlayerVolumeMin)
		{
		__ASSERT_DEBUG(EFalse, PANIC(9031009));
		iMusicAllParam.iVolume = ESmbMusicAPPlayerVolumeMin;
		}
	else if (volume > ESmbMusicAPPlayerVolumeMax)
		{
		__ASSERT_DEBUG(EFalse, PANIC(9031010));
		iMusicAllParam.iVolume = ESmbMusicAPPlayerVolumeMax;
		}
	else
		{
		iMusicAllParam.iVolume = volume;
		}

	// 僀僐儔僀僓偺愝掕
	if (equalizer == ESmbPGMusicAPEqualizerSettingOff)
		{// 僀僐儔僀僓愝掕乮OFF乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualizeOFF;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingHeavy)
		{// 僀僐儔僀僓愝掕乮Heavy乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize1;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingPops)
		{// 僀僐儔僀僓愝掕乮Pops乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize2;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingJazz)
		{// 僀僐儔僀僓愝掕乮Jazz乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize3;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingUnique)
		{// 僀僐儔僀僓愝掕乮Unique乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize4;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingSoul)
		{// 僀僐儔僀僓愝掕乮Soul乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize5;
		}
	else if (equalizer == ESmbPGMusicAPEqualizerSettingEasyListening)
		{// 僀僐儔僀僓愝掕乮Easy Listening乯
		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualize6;
		}
	else
		{// 憐掕奜偺抣

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031005));

		iMusicAllParam.iEqua = ESmbMusicAPSyncEngineEqualizeOFF;
		}

	// Bass愝掕抣
	if (bass == ESmbPGMusicAPBassSettingOff)
		{// Bass愝掕乮OFF乯
		iMusicAllParam.iBass = ESmbMusicAPSyncEngineBassOFF;// Bass抣=OFF
		}
	else if (bass == ESmbPGMusicAPBassSettingOn1)
		{// Bass愝掕乮ON1乯
		iMusicAllParam.iBass = ESmbMusicAPSyncEngineBassON1;// Bass抣=ON1
		}
	else if (bass == ESmbPGMusicAPBassSettingOn2)
		{// Bass愝掕乮ON2乯
		iMusicAllParam.iBass = ESmbMusicAPSyncEngineBassON2;// Bass抣=ON2
		}
	else
		{// 憐掕奜偺抣

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031006));

		iMusicAllParam.iBass = ESmbMusicAPSyncEngineBassOFF;// Bass抣=OFF
		}

	// 僆乕僩儗儀儖愝掕抣
	if (dynamicNormalizer == ESmbPGMusicAPDynamicNormalizerSettingOff)
		{// DynamicNormalizer愝掕乮OFF乯
		iMusicAllParam.iAutoLevel = EFalse;
		}
	else if (dynamicNormalizer == ESmbPGMusicAPDynamicNormalizerSettingOn)
		{// DynamicNormalizer愝掕乮ON乯
		iMusicAllParam.iAutoLevel = ETrue;
		}
	else
		{// 憐掕奜偺抣

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031007));

		iMusicAllParam.iAutoLevel = EFalse;
		}

	// Mute愝掕抣
	iMusicAllParam.iMute = EFalse;

	// 僒儔僂儞僪愝掕抣
	if (vpt == ESmbPGMusicAPVPTSettingOff)
		{// VPT愝掕乮OFF乯
		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurroundOFF;// 僒儔僂儞僪抣=OFF
		}
	else if (vpt == ESmbPGMusicAPVPTSettingStudio)
		{// VPT愝掕乮Studio乯
		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurround1;// 僒儔僂儞僪抣=僒儔僂儞僪1
		}
	else if (vpt == ESmbPGMusicAPVPTSettingLive)
		{// VPT愝掕乮Live乯
		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurround2;// 僒儔僂儞僪抣=僒儔僂儞僪2
		}
	else if (vpt == ESmbPGMusicAPVPTSettingClub)
		{// VPT愝掕乮Club乯
		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurround3;// 僒儔僂儞僪抣=僒儔僂儞僪3
		}
	else if (vpt == ESmbPGMusicAPVPTSettingArena)
		{// VPT愝掕乮Arena乯
		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurround4;// 僒儔僂儞僪抣=僒儔僂儞僪4
		}
	else
		{// 憐掕奜偺抣

		// PA抣偵怴婯捛壛偑偁偭偨応崌乮僐乕僨傿儞僌儈僗乯
		__ASSERT_DEBUG(EFalse, PANIC(9031008));

		iMusicAllParam.iSurround = ESmbMusicAPSyncEngineSurroundOFF;// 僒儔僂儞僪抣=OFF
		}

	// 捠抦愭傪愝掕
	iObserver = aObserver;

	// 庢摼梫媮
	iSyncEngine.SetMusicAllParam(iMusicAllParam, iStatus);

	SetActive();
	}

/**
 * 旕摨婜梫媮姰椆屻偺張棟
 */
void CSmbMusicAPMainPlayerSetSyncEngineFunc::RunL()
	{
	//_LIT(KLogFmt, "CSmbMusicAPMainPlayerSetSyncEngineFunc::RunL()[iStatus = %d]");
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 31003, ELogLevelLow, KLogFmt, iStatus.Int());

	TBool result = ETrue;

	// 旕摨婜梫媮幐攕偺応崌
	if (iStatus.Int() != KErrNone)
		{// 幐攕
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerSetSyncEngineFunc::RunL()[Failed setting music param]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 31002, ELogLevelHigh, KLogFmt);

//ADD-S 2006.09.23 K3戝嫶 KErrServerTerminated偺応崌偼傾僾儕傪廔椆偝偣傞
		// 摨婜僒乕僶偑廔椆偟偰偄傞応崌偼傾僾儕傕廔椆偝偣傞
		if (iStatus.Int() == KErrServerTerminated)
			{// 僒乕僶偑廔椆偟偰偄傞応崌
			// 仸廋惓僐僗僩嶍尭偺偨傔丄CAfEnv傪捠偠偰捈愙AppUi傪棙梡偡傞
			CSmbMusicAPMainPlayerAppUi* appUi = static_cast<CSmbMusicAPMainPlayerAppUi*>(CAfEnv::Static()->EikEnv().EikAppUi());
			appUi->ExitAppL(ESmbMusicAPMainPlayerExitSyncServerTerminated);
			}
//ADD-E 2006.09.23 K3戝嫶 KErrServerTerminated偺応崌偼傾僾儕傪廔椆偝偣傞

		result = EFalse;
		}

	// 墳摎傪捠抦
	if (iObserver != NULL)
		{
		iObserver->HandleCompleteSetMusicAllParamL(result);
		}

	iObserver = NULL;
	}

/**
 * 僉儍儞僙儖張棟
 */
void CSmbMusicAPMainPlayerSetSyncEngineFunc::DoCancel()
	{
	iObserver = NULL;
	}

SEMCJ_NAMESPACE_END

// end of SmbMusicAPMainPlayerSetSyncEngineFunc.cpp
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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