⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapmainplayerplaydrawer.cpp

📁 symbian
💻 CPP
📖 第 1 页 / 共 4 页
字号:

// 2006.09.27
/**
 * 僉乕僈僀僟儞僗傪嵞昤夋偡傞丅(2)
 */
void CSmbMusicAPMainPlayerPlayDrawer::RedrawKeyGuidance2()
	{
	iCurKeyGuidance->DrawNow();
	iKeyGuidanceDrawed = ETrue;
	}

// 2007.08.21
/**
 * 嵞惗夋柺傪僋儕傾偡傞丅
 * @param[in] aTotal 僩乕僞儖嬋悢
 * @param[in] aSongNum 嵞惗嬋斣崋
 */
void CSmbMusicAPMainPlayerPlayDrawer::ClearPlayPictureL(TInt aTotal, TInt aSongNum)
	{
	TBuf<8> dummy = _L("");

	iVzNormal->SetImage(NULL);
	iTrackInfo->SetJacketIcon(NULL);

	iTrackInfo->SetMusicTitleL(dummy);
	iTrackInfo->SetAlbumNameL(dummy);
	iTrackInfo->SetArtistNameL(dummy);
	iListInfo->SetTotalTrackNo(0);
	aSongNum++;
	if (0 > aSongNum)
		{
		aSongNum = 0;
		}
	else if (aSongNum > aTotal)
		{
		aSongNum = aTotal;
		}
	iTrackInfo->SetTrackNo(aSongNum);
	iTrackInfo->SetMusicTime(KSmbMusicAPMainPlayerPlayIdleTimeValue);
	iPlayPanel->SetPlayTime(KSmbMusicAPMainPlayerPlayIdleTimeValue);
	iListInfo->SetTotalTrackNo(aTotal);

	StopVisualizer();
	
	iPlayPanel->HandleControlStatusUpdatedL();
	iVzNormal->HandleControlStatusUpdatedL();
	
	}

/**
 * 嵞惗忣曬僷僱儖偵嵞惗嬋忣曬傪僙僢僩偡傞丅
 * @param[in] aTotal 僩乕僞儖嬋悢
 * @param[in] aSongNum 嵞惗嬋斣崋
 * @param[in] aArtistTitle 傾乕僥傿僗僩柤
 * @param[in] aAlbumTitle 傾儖僶儉柤
 * @param[in] aSongTitle 僞僀僩儖柤
 * @param[in] aTotalPlayTime 僩乕僞儖嵞惗帪娫
 * @param[in] aUpdate ETrue:忣曬愝掕屻丄Update捠抦偡傞	2007.08.20
 */
void CSmbMusicAPMainPlayerPlayDrawer::SetSongInfoL(TInt aTotal, TInt aSongNum, TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, TInt aTotalPlayTime)
	{
	iTrackInfo->SetMusicTitleL(aSongTitle);
	iTrackInfo->SetAlbumNameL(aAlbumTitle);
	iTrackInfo->SetArtistNameL(aArtistTitle);
	if (0 > aTotal)
		{
		aTotal = 0;
		}
	else if (KSmbMusicAPMainPlayerPlayMaxTrack < aTotal)
		{
		aTotal = KSmbMusicAPMainPlayerPlayMaxTrack;
		}
	iListInfo->SetTotalTrackNo(aTotal);
	aSongNum++;
	if (0 > aSongNum)
		{
		aSongNum = 0;
		}
	else if (aSongNum > aTotal)
		{
		aSongNum = aTotal;
		}

	if (KSmbMusicAPMainPlayerPlayIdleTimeValue != aTotalPlayTime)
		{
		aTotalPlayTime = aTotalPlayTime / 1000;
		}
	
	iTrackInfo->SetTrackNo(aSongNum);
	iTrackInfo->SetMusicTime(aTotalPlayTime);
// Add 2007.05.23
	if (KSmbMusicAPMainPlayerPlayIdleTimeValue == aTotalPlayTime)
		{
		iPlayPanel->SetPlayTime(KSmbMusicAPMainPlayerPlayIdleTimeValue);
		}
	else
		{
		iPlayPanel->SetPlayTime(0);
		}
// Add End 2007.05.23
	iListInfo->SetTotalTrackNo(aTotal);

	iPlayPanel->HandleControlStatusUpdatedL();
	iVzNormal->HandleControlStatusUpdatedL();
	}

/**
 * 僕儍働僢僩夋憸傪愝掕偡傞丅
 * @param[in] aJacket 僕儍働僢僩夋憸偺價僢僩儅僢僾僨乕僞
 * @param[in] aJacketMask 僕儍働僢僩夋憸偺儅僗僋僨乕僞
 * @param[in] aIcon 傾僀僐儞夋憸偺價僢僩儅僢僾僨乕僞
 * @param[in] aIconMask 傾僀僐儞夋憸偺儅僗僋僨乕僞
 * @param[in] aDefault 僨僼僅儖僩夋憸巜掕乮ETrue丗僨僼僅儖僩夋憸乯
 */
void CSmbMusicAPMainPlayerPlayDrawer::SetJacketPictureL(CFbsBitmap* aJacket, CFbsBitmap* aJacketMask, CFbsBitmap* aIcon, CFbsBitmap* aIconMask, TBool aDefault)
	{
	// 慜夞偺僨乕僞偑僨僼僅儖僩夋憸偱側偄応崌偼徚嫀偡傞
	if (EFalse == iDefault)
		{
		if (NULL != iJacketData )
			{
			iVzNormal->SetImage(NULL);		// 2006.0726
			delete iJacketData;
			iJacketData = NULL;
			}
		if (NULL != iJacketIcon)
			{
			iTrackInfo->SetJacketIcon(NULL);		// 2006.0726
			delete iJacketIcon;
			iJacketIcon = NULL;
			}
		}

	iDefault = aDefault;

	if (EFalse != iDefault && NULL != iJacketDataDef)
		{
		iJacketData = iJacketDataDef;
		iJacketIcon = iJacketIconDef;
		}
	else
		{
		CleanupStack::PushL(aIcon);
		CleanupStack::PushL(aIconMask);
		if (NULL == aJacket)
			{
			iJacketData = iJacketDataDef;
			}
		else
			{
			iJacketData = CGulIcon::NewL(aJacket, aJacketMask);
			}
		CleanupStack::Pop(2);
		if (NULL == aIcon)
			{
			iJacketIcon = iJacketIconDef;
			}
		else
			{
			iJacketIcon = CGulIcon::NewL(aIcon, aIconMask);
			}
				
		if (EFalse != iDefault)
			{
			iJacketDataDef = iJacketData;
			iJacketIconDef = iJacketIcon;
			}
		}

	iVzNormal->SetImage(iJacketData);
	if (CSkonVisualizer::EPatternImage == iVzNormal->VisualizerPattern())
		{
		iVzNormal->HandleControlStatusUpdatedL();
		}

	iTrackInfo->SetJacketIcon(iJacketIcon);
	iPlayPanel->HandleControlStatusUpdatedL();
	}

/**
 * 僕儍働僢僩夋憸傪旕愝掕忬懺偵偡傞丅
 * @param[in] aIcon ETrue:傾僀僐儞傕旕昞帵偵偡傞丅
 * @param[in] aUpdate ETrue:Update偡傞	2007.08.20
 */
void CSmbMusicAPMainPlayerPlayDrawer::ReleaseJacketPictureL(TBool aIcon, TBool aUpdate/*=ETrue*/)
	{
	if (EFalse != aIcon)
		{
		iVzNormal->SetImage(NULL);
	
		iTrackInfo->SetJacketIcon(NULL);

		if (EFalse != aUpdate)
			{
			iPlayPanel->HandleControlStatusUpdatedL();
			}
		}
	else
		{
		// 價僕儏傾儔僀僓乕夋柺昞帵偵愗懼偊傞丅
		iVzNormal->SetVisualizerPattern(CSkonVisualizer::EPatternNormal);
		}
	}

/**
 * 僕儍働僢僩夋憸傪昞帵忬懺偵偡傞丅
 */
void CSmbMusicAPMainPlayerPlayDrawer::DispJacketPictureL()
	{
	iVzNormal->SetImage(iJacketData);
	if (CSkonVisualizer::EPatternImage == iVzNormal->VisualizerPattern())
		{
		iVzNormal->HandleControlStatusUpdatedL();
		}
	iTrackInfo->SetJacketIcon(iJacketIcon);
	iPlayPanel->HandleControlStatusUpdatedL();
	}

/**
 * 嵞惗忣曬僷僱儖偵儈儏乕僕僢僋愝掕忣曬傪僙僢僩偡傞丅
 * @param[in] aSetKind 儈儏乕僕僢僋愝掕忣曬庬暿
 * @param[in] aSetData 儈儏乕僕僢僋愝掕忣曬僨乕僞
 */
void CSmbMusicAPMainPlayerPlayDrawer::SetSettingInfoL(TSmbMusicAPMainPlayerPlaySettingKind aSetKind, TInt aSetData)
	{
	// 儈儏乕僕僢僋愝掕忣曬庬暿偵墳偠偰僨乕僞傪僙僢僩偡傞
	switch (aSetKind)
		{
		case ESmbMusicAPMainPlayerPlaySetMode:
			// 嵞惗儌乕僪
			iSettingInfo->SetPlayMode(ConvertPlayMode(aSetData));
			break;
		
		case ESmbMusicAPMainPlayerPlaySetRepeat:
			// 儕僺乕僩儌乕僪
			iSettingInfo->SetRepeat(ConvertRepeatMode(aSetData));
			break;
		
		case ESmbMusicAPMainPlayerPlaySetVPT:
			// VPT愝掕
			iSettingInfo->SetVPT(ConvertVPTSetting(aSetData));
			break;
		
		case ESmbMusicAPMainPlayerPlaySetBass:
			// BASS愝掕
			iSettingInfo->SetBassSetting(ConvertBassSetting(aSetData));
			break;
		
		case ESmbMusicAPMainPlayerPlaySetEqualizer:
			// 僀僐儔僀僓
			iSettingInfo->SetEqualizer(ConvertEqualizer(aSetData));
			break;
		
		case ESmbMusicAPMainPlayerPlaySetAVLS:
			// AVLS
			iAvls = static_cast<TSmbPGMusicAPAVLSSetting>(aSetData);
			if (ESmbPGMusicAPAVLSSettingOn == iAvls)
				{
				// AVLS偑ON偵曄峏偲側偭偨偲偒偺張棟
				TInt volume = iSettingInfo->Volume();
				if (volume > iAvlsValue)
					{
					// 壒検愝掕抣偑AVLS儕儈僢僩傪墇偊偰偄傞応崌偼儕儈僢僩抣傪僙僢僩偡傞
					iSettingInfo->SetVolume(iAvlsValue);
					iVolumePanel->SetLevel(iAvlsValue);
					volume = iAvlsValue;
					}
				iVolume = volume;
				}
			break;
		
		case ESmbMusicAPMainPlayerPlayChangeMannerMode:
			// Mute愝掕曄峏
			if (EFalse != iShowVolumePanel)
				{
				// 壒検愝掕僷僱儖昞帵拞偺応崌丄Mute愝掕傪峏怴偡傞丅
				iVolumePanel->SetSpeakerMuting(static_cast<TBool>(aSetData));
				iVolumePanel->HandleControlStatusUpdatedL();
				}
			break;
		
		case ESmbMusicAPMainPlayerPlaySetVolume:
			// 壒検
			if (EFalse == IsDrawable())			// TRK:4791
				{
				iSettingInfo->SetVolume(aSetData);
				iVolumePanel->SetLevel(aSetData);
				iVolume = aSetData;
				}
			break;
			
		default:
			break;
		}
		
	if (EFalse != IsDrawable())
		{
		// 昤夋壜擻偱偁傟偽丄愝掕曄峏捠抦傪嵞惗忣曬僷僱儖偵捠抦偡傞
		iPlayPanel->HandleControlStatusUpdatedL();
		}
	}

/**
 * 嵞惗儌乕僪傪PA抣偐傜愝掕抣偵曄姺偡傞丅
 * @param[in] aData 嵞惗儌乕僪偺PA抣
 * @return 嵞惗儌乕僪偺愝掕抣
 */
CSkonMusicSettingInfo::TPlayMode CSmbMusicAPMainPlayerPlayDrawer::ConvertPlayMode(TInt aData)
	{
	CSkonMusicSettingInfo::TPlayMode val;
	
	switch (aData)
		{
		case ESmbPGMusicAPPlayModeSettingNormal:
			val = CSkonMusicSettingInfo::EPlayModeNormal;
			break;
		case ESmbPGMusicAPPlayModeSettingShuffle:
			val = CSkonMusicSettingInfo::EPlayModeShuffle;
			break;
		default:
			val = CSkonMusicSettingInfo::EPlayModeNormal;
			break;
		}
	return val;
	}

/**
 * 儕僺乕僩儌乕僪傪PA抣偐傜愝掕抣偵曄姺偡傞丅
 * @param[in] aData 儕僺乕僩儌乕僪偺PA抣
 * @return 儕僺乕僩儌乕僪偺愝掕抣
 */
CSkonMusicSettingInfo::TRepeat CSmbMusicAPMainPlayerPlayDrawer::ConvertRepeatMode(TInt aData)
	{
	CSkonMusicSettingInfo::TRepeat val;
	
	switch (aData)
		{
		case ESmbPGMusicAPRepeatSettingOff:
			val = CSkonMusicSettingInfo::ERepeatOff;
			break;
		case ESmbPGMusicAPRepeatSettingAll:
			val = CSkonMusicSettingInfo::ERepeatAll;
			break;
		case ESmbPGMusicAPRepeatSettingSingle:
			val = CSkonMusicSettingInfo::ERepeatTrack;
			break;
		default:
			val = CSkonMusicSettingInfo::ERepeatOff;
			break;
		}
	return val;
	}

/**
 * VPT愝掕傪PA抣偐傜愝掕抣偵曄姺偡傞丅
 * @param[in] aData VPT愝掕偺PA抣
 * @return VPT愝掕偺愝掕抣
 */
CSkonMusicSettingInfo::TVPT CSmbMusicAPMainPlayerPlayDrawer::ConvertVPTSetting(TInt aData)
	{
	CSkonMusicSettingInfo::TVPT val;
	
	switch (aData)
		{
		case ESmbPGMusicAPVPTSettingOff:
			val = CSkonMusicSettingInfo::EVPTOff;
			break;
		case ESmbPGMusicAPVPTSettingStudio:
			val = CSkonMusicSettingInfo::EVPTStudio;
			break;
		case ESmbPGMusicAPVPTSettingLive:
			val = CSkonMusicSettingInfo::EVPTLive;
			break;
		case ESmbPGMusicAPVPTSettingClub:
			val = CSkonMusicSettingInfo::EVPTClub;
			break;
		case ESmbPGMusicAPVPTSettingArena:
			val = CSkonMusicSettingInfo::EVPTArena;
			break;
		default:
			val = CSkonMusicSettingInfo::EVPTOff;
			break;
		}
	return val;
	}

/**
 * BASS愝掕傪PA抣偐傜愝掕抣偵曄姺偡傞丅
 * @param[in] aData BASS愝掕偺PA抣
 * @return BASS愝掕偺愝掕抣
 */
CSkonMusicSettingInfo::TBassSetting CSmbMusicAPMainPlayerPlayDrawer::ConvertBassSetting(TInt aData)
	{
	CSkonMusicSettingInfo::TBassSetting val;
	
	switch (aData)
		{
		case ESmbPGMusicAPBassSettingOff:
			val = CSkonMusicSettingInfo::EBassSettingOff;
			break;
		case ESmbPGMusicAPBassSettingOn1:
			val = CSkonMusicSettingInfo::EBassSettingOn1;
			break;
		case ESmbPGMusicAPBassSettingOn2:
			val = CSkonMusicSettingInfo::EBassSettingOn2;
			break;
		default:
			val = CSkonMusicSettingInfo::EBassSettingOff;
			break;
		}
	return val;
	}

/**
 * 僀僐儔僀僓愝掕傪PA抣偐傜愝掕抣偵曄姺偡傞丅
 * @param[in] aData 僀僐儔僀僓愝掕偺PA抣
 * @return 僀僐儔僀僓愝掕偺愝掕抣
 */
CSkonMusicSettingInfo::TEqualizer CSmbMusicAPMainPlayerPlayDrawer::ConvertEqualizer(TInt aData)
	{
	CSkonMusicSettingInfo::TEqualizer val;
	
	switch (aData)
		{
		case ESmbPGMusicAPEqualizerSettingOff:
			val = CSkonMusicSettingInfo::EEqualizerOff;
			break;
		case ESmbPGMusicAPEqualizerSettingHeavy:
			val = CSkonMusicSettingInfo::EEqualizerHeavy;
			break;
		case ESmbPGMusicAPEqualizerSettingPops:
			val = CSkonMusicSettingInfo::EEqualizerPops;
			break;
		case ESmbPGMusicAPEqualizerSettingJazz:
			val = CSkonMusicSettingInfo::EEqualizerJazz;
			break;
		case ESmbPGMusicAPEqualizerSettingUnique:
			val = CSkonMusicSettingInfo::EEqualizerUnique;
			break;
		case ESmbPGMusicAPEqualizerSettingSoul:
			val = CSkonMusicSettingInfo::EEqualizerSoul;
			break;
		case ESmbPGMusicAPEqualizerSettingEasyListening:
			val = CSkonMusicSettingInfo::EEqualizerEasyListening;
			break;
		default:
			val = CSkonMusicSettingInfo::EEqualizerOff;
			break;
		}
	return val;
	}

/**
 * 嵞惗宱夁帪娫傪嵞惗忣曬僷僱儖偵僙僢僩偡傞丅
 * @param[in] aTime 嵞惗宱夁帪娫乮昩乯(0枹枮偺応崌偼嵞惗嬋帪娫傪僙僢僩偡傞)
 * @param[in] aUpdate ETrue:帪娫愝掕屻丄夋柺峏怴
 */
void CSmbMusicAPMainPlayerPlayDrawer::SetPlayTimeL(TInt aTime, TBool aUpdate)
	{
	if (0 > aTime)
		{
		aTime = iTrackInfo->MusicTime() * 1000;
		}
	iPlayTime = aTime / 1000;

⌨️ 快捷键说明

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