📄 smbmusicapmainplayerplaydrawer.cpp
字号:
// 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 + -