示例#1
0
void CPlayCenter::CheckSong(spSongInfoT& spSong)
{
	assert(spSong);
	if(!spSong) return;
	spSong->SetAblumName(spSong->GetAlbumName().IsEmpty()?_T("未知"):spSong->GetAlbumName());
	spSong->SetSongName(spSong->GetSongName().IsEmpty()?mci::rip_file_name(spSong->GetLocalPath(),false):spSong->GetSongName());
	spSong->SetArtistName(spSong->GetArtistName().IsEmpty()?_T("未知"):spSong->GetArtistName());
	spSong->SetRealArtistName(spSong->GetRealArtistName().IsEmpty()?_T("未知"):spSong->GetRealArtistName());

}
示例#2
0
void CPlayCenter::UpdateCurrentPlayingSong(spSongInfoT spSong)
{
	ASSERT(spSong);
	if(m_spPlayList.size()==0||m_spSongListMap.size()==0) return ;
	
	if(m_spPlayList.find(m_iCurPlayingListIndex)==m_spPlayList.end()) return ;
	auto iter = m_spSongListMap.find(m_iCurPlayingListIndex);
	if (iter != m_spSongListMap.end())
	{
		songsArrayT& songs = iter->second;
		if(songs.size()>0)
		{
			int iIndex = 0;
			for (songsArrayIterT iter=songs.begin();iter!=songs.end();++iter)
			{
				if(iter->GetLocalId()==m_iCurPlayingSongIndex)
				{
					songs[iIndex].SetAblumName(spSong->GetAlbumName());
					songs[iIndex].SetAlbumId(spSong->GetAlbumId());
					songs[iIndex].SetAddTime(spSong->GetAddTime());
					songs[iIndex].SetArtistId(spSong->GetArtistId());
					songs[iIndex].SetArtistName(spSong->GetArtistName());
					songs[iIndex].SetAudioLength(spSong->GetAudioLength());
					songs[iIndex].SetCoverLocalPath(spSong->GetCoverLocalPath());
					songs[iIndex].SetCoverUrl(spSong->GetCoverUrl());
					songs[iIndex].SetEnable(spSong->IsEnable());
					songs[iIndex].SetFileExt(spSong->GetFileExt());
					songs[iIndex].SetFileSize(spSong->GetFileSize());
					songs[iIndex].SetFileStartPos(spSong->GetFileStartPos());
					songs[iIndex].SetFileType(spSong->GetFileType());
					songs[iIndex].SetFlag(spSong->GetFlag());
					songs[iIndex].SetLastModifyTime(spSong->GetLastModifyTime());
					songs[iIndex].SetLastPlayTime(spSong->GetLastPlayTime());
					songs[iIndex].SetListenFileUrl(spSong->GetListenFileUrl());
					songs[iIndex].SetLocal(spSong->IsLocal());
					songs[iIndex].SetLocalId(spSong->GetLocalId());
					songs[iIndex].SetLocalPath(spSong->GetLocalPath());
					songs[iIndex].SetLrcLocalPath(spSong->GetLrcLocalPath());
					songs[iIndex].SetLrcUrl(spSong->GetLrcUrl());
					songs[iIndex].SetMD5(spSong->GetMD5());
					songs[iIndex].SetPlayCount(spSong->GetPlayCount());
					songs[iIndex].SetRealArtistName(spSong->GetRealArtistName());
					songs[iIndex].SetResourceID(spSong->GetResourceId());
					songs[iIndex].SetSongId(spSong->GetSongId());
					songs[iIndex].SetSongName(spSong->GetSongName());
					songs[iIndex].SetTag(spSong->GetTag());
					break;
				}
				iIndex ++;
			}
		}
	}
}
void PlayListMgr::UpdateSong(spSongInfoT spSong,unsigned int u_listId)
{
	ASSERT(spSong);
	playListSongMapIterT itEnd = m_spSongListMap.end();
	for (auto it=m_spSongListMap.begin();it!=itEnd;++it)
	{
		if (it->first == u_listId)
		{
			songsArrayT& songList = it->second;
			int index = 0;
			for (auto it2=songList.begin();it2!=songList.end();++it2)
			{
				if (it2->GetLocalId()==spSong->GetLocalId())
				{
					CSongInfo& songInfo = *it2;
					songInfo.SetAblumName(spSong->GetAlbumName());
					songInfo.SetAddTime(spSong->GetAddTime());
					songInfo.SetAlbumId(spSong->GetAlbumId());
					songInfo.SetArtistId(spSong->GetArtistId());
					songInfo.SetArtistName(spSong->GetArtistName());
					songInfo.SetAudioLength(spSong->GetAudioLength());
					songInfo.SetCoverLocalPath(spSong->GetCoverLocalPath());
					songInfo.SetCoverUrl(spSong->GetCoverUrl());
					songInfo.SetEnable(spSong->IsEnable());
					songInfo.SetFileExt(spSong->GetFileExt());
					songInfo.SetFileSize(spSong->GetFileSize());
					songInfo.SetFileStartPos(spSong->GetFileStartPos());
					songInfo.SetFileType(spSong->GetFileType());
					songInfo.SetFlag(spSong->GetFlag());
					songInfo.SetLastModifyTime(spSong->GetLastModifyTime());
					songInfo.SetLastPlayTime(spSong->GetLastPlayTime());
					songInfo.SetListenFileUrl(spSong->GetListenFileUrl());
					songInfo.SetLocal(spSong->IsLocal());
					songInfo.SetLocalId(spSong->GetLocalId());
					songInfo.SetLocalPath(spSong->GetLocalPath());
					songInfo.SetLrcLocalPath(spSong->GetLrcLocalPath());
					songInfo.SetLrcUrl(spSong->GetLrcUrl());
					songInfo.SetMD5(spSong->GetMD5());
					songInfo.SetPlayCount(spSong->GetPlayCount());
					songInfo.SetRealArtistName(spSong->GetRealArtistName());
					songInfo.SetResourceID(spSong->GetResourceId());
					songInfo.SetSongId(spSong->GetSongId());
					songInfo.SetSongName(spSong->GetSongName());
					songInfo.SetTag(spSong->GetTag());

					break;
				}
			}
		}
	}
}
void PlayListMgr::AddSongToList(spSongInfoT spSong,unsigned int u_listId)
{
	ASSERT(spSong);
	CSongInfo songInfo;
	songInfo.SetAblumName(spSong->GetAlbumName());
	songInfo.SetAddTime(spSong->GetAddTime());
	songInfo.SetAlbumId(spSong->GetAlbumId());
	songInfo.SetArtistId(spSong->GetArtistId());
	songInfo.SetArtistName(spSong->GetArtistName());
	songInfo.SetAudioLength(spSong->GetAudioLength());
	songInfo.SetCoverLocalPath(spSong->GetCoverLocalPath());
	songInfo.SetCoverUrl(spSong->GetCoverUrl());
	songInfo.SetEnable(spSong->IsEnable());
	songInfo.SetFileExt(spSong->GetFileExt());
	songInfo.SetFileSize(spSong->GetFileSize());
	songInfo.SetFileStartPos(spSong->GetFileStartPos());
	songInfo.SetFileType(spSong->GetFileType());
	songInfo.SetFlag(spSong->GetFlag());
	songInfo.SetLastModifyTime(spSong->GetLastModifyTime());
	songInfo.SetLastPlayTime(spSong->GetLastPlayTime());
	songInfo.SetListenFileUrl(spSong->GetListenFileUrl());
	songInfo.SetLocal(spSong->IsLocal());
	songInfo.SetLocalId(spSong->GetLocalId());
	songInfo.SetLocalPath(spSong->GetLocalPath());
	songInfo.SetLrcLocalPath(spSong->GetLrcLocalPath());
	songInfo.SetLrcUrl(spSong->GetLrcUrl());
	songInfo.SetMD5(spSong->GetMD5());
	songInfo.SetPlayCount(spSong->GetPlayCount());
	songInfo.SetRealArtistName(spSong->GetRealArtistName());
	songInfo.SetResourceID(spSong->GetResourceId());
	songInfo.SetSongId(spSong->GetSongId());
	songInfo.SetSongName(spSong->GetSongName());
	songInfo.SetTag(spSong->GetTag());

	AddSongToList(songInfo,u_listId);
}