Пример #1
0
void TrayToolTipDlg::UpdateSliders()
{
	MediaPlayer* pMP = PRGAPI()->GetMediaPlayer();
	INT volume = pMP->GetVolume();
	INT pos = (INT)(pMP->GetMediaPos() * 1000);
	m_volumeSlider.SetPos(volume);
	m_positionSlider.SetPos(pos);
	m_positionSlider.SetMaxPos((INT)(pMP->GetMediaLength()*1000));
}
Пример #2
0
BOOL CTeenSpiritDlg::OnStateChanged(UINT stateMessage)
{
	if (stateMessage == SM_MediaChanged)
	{
		MediaPlayListItem mpli;
		PrgAPI* pAPI = PRGAPI();
		MediaPlayer* pMP = pAPI->GetMediaPlayer();
		INT nPos = pMP->GetPlayListPos();
		if (nPos != -1 && pMP->GetPlayListItem(mpli, nPos))
		{
			if (mpli.artist == NULL) mpli.artist = _T("");
			if (mpli.title == NULL) mpli.title = mpli.url;
			//=== Show Tray ToolTip
			//pAPI->GetTrayToolTipDlg()->OnMediaChanged(pAPI->GetOption(OPT_GEN_ShowToolTipOnMediaChanged));

			//====      NOTIFIERS
			TrackerTrack track;
			track.artist = mpli.artist;
			track.title = mpli.title;
			track.rating = mpli.rating;
			track.length = (UINT)pMP->GetMediaLength();
			pAPI->GetTracker()->SubmitTrack(ITracker::ACT_Started, track, GetCurrentUnixTimeStamp());
		}
		return TRUE;
	}

	//	case SM_MediaChanged:
	//		{
	//			MediaPlayer* pPlayer = pAPI->GetMediaPlayer();
	//			INT curMediaIdx = pPlayer->GetPlayListPos();
	//			if (curMediaIdx >= 0)
	//			{
	//				MediaPlayListItem mpli;
	//				if (pPlayer->GetPlayListItem(mpli, curMediaIdx))
	//				{
	//					//====      NOTIFIERS
	//					if (mpli.artist == NULL) mpli.artist = _T("");
	//					if (mpli.title == NULL) mpli.title = mpli.url;
	//					TrackerTrack track;
	//					track.artist = mpli.artist;
	//					track.title = mpli.title;
	//					track.rating = mpli.rating;
	//					track.length = (UINT)pPlayer->GetMediaLength();
	//					pAPI->GetTracker()->SubmitTrack(ITracker::ACT_Started, track, GetCurrentUnixTimeStamp());
	//					//====      Info Control
	//					if (pAPI->GetOption(OPT_VIEWER_Auto))// m_ViewerPane.GetAutoViewerMode())
	//					{
	//						TrackTypesEnum tt = GetTrackType(mpli.url);
	//						if (tt < TTYPE_FIRSTVIDEO)
	//						{
	//							m_ViewerPane.SetMode(CViewerPane::MOD_NormalInfo);
	//						}
	//						else if (tt < TTYPE_FIRSTVIRTUAL)
	//						{
	//							m_ViewerPane.SetMode(CViewerPane::MOD_Visualizations);
	//						}
	//						else
	//						{
	//							m_ViewerPane.SetMode(CViewerPane::MOD_Browser);
	//						}
	//					}
	//					if (m_ViewerPane.GetMode() == CViewerPane::MOD_NormalInfo && pAPI->GetOption(OPT_VIEWER_SyncWithPlayer))
	//					{
	//						MediaPlayListItem mpli;
	//						if (pPlayer->GetPlayListItem(mpli, curMediaIdx))
	//						{
	//							FullTrackRecordSP rec;
	//							if (pAPI->GetSQLManager()->GetFullTrackRecordByLocation(rec, mpli.url))
	//							{
	//								CInfoCtrl* pIC = m_ViewerPane.GetInfoControl();
	//								if (pIC != NULL)
	//								{
	//									pIC->SetActiveItem(rec);
	//									pIC->SetStyle(IT_Track);
	//									pIC->Refresh(100);
	//								}
	//							}
	//						}
	//					}
	//				}
	//	
	//			}
	//
	//		}
	//
	//		break;
	return FALSE;
}
Пример #3
0
LRESULT CTeenSpiritDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
	if (message == WM_GETTEXT && wParam > GTB_First && wParam < GTB_Last && lParam != 0)//External commands interface
	{
		INT ret = 0;
		LPCTSTR str = NULL;
		LPTSTR externalBuffer = (LPTSTR) lParam;
		externalBuffer[0] = 0;
		MediaPlayer* pPlayer = PRGAPI()->GetMediaPlayer();
		INT curTrack = pPlayer->GetPlayListPos();
		if (curTrack >= 0)
		{
			MediaPlayListItem mpli;
			if (pPlayer->GetPlayListItem(mpli, curTrack))
			{
				switch (wParam)
				{
				case GTB_Artist:
					str = mpli.artist;
					break;
				case GTB_Title:
					str = mpli.title;
					break;
				default:
					ASSERT(0);
					break;
				}
			}
		}
		if (str == NULL)
			return 0;
		_tcsncpy(externalBuffer, str, wParam);
		return _tcslen(str);
	}
	else if (message == WM_COMMAND)//External commands interface
	{
		MediaPlayer* pPlayer = PRGAPI()->GetMediaPlayer();
		if (pPlayer != NULL)
		{
			BOOL bHandled = TRUE;
			switch (wParam)
			{
			case EXTERNALCOMMAND_Play:			//Returns 0 on success
				pPlayer->Start();
				break;
			case EXTERNALCOMMAND_Pause:			//Returns 0 on success
				pPlayer->Pause();
				break;
			case EXTERNALCOMMAND_Stop:			//Returns 0 on success
				pPlayer->Stop();
				break;
			case EXTERNALCOMMAND_Next:			//Returns 0 on success
				pPlayer->Next();
				break;
			case GTB_Artist:
			case EXTERNALCOMMAND_Previous:		//Returns 0 on success
				pPlayer->Previous();
				break;
			case EXTERNALCOMMAND_ShowHidePlayer:	//lparam=1 to show. 0 to hide. Returns 0 on success
				if (IsWindowVisible() && lParam == 0)
					PostMessage(WM_SYSCOMMAND, SC_MINIMIZE);
				else if (!IsWindowVisible() && lParam == 1)
					PostMessage(WM_SYSCOMMAND, SC_RESTORE);
				break;
			case EXTERNALCOMMAND_GetVolume:		//Return vol 0-100. Returns 0-100 on success
				return pPlayer->GetVolume();
			case EXTERNALCOMMAND_SetVolume:		//lParam is the new value(0-100) retunrns 0 on success
				pPlayer->SetVolume(lParam);
				PRGAPI()->GetStateManager()->SendMessage(SM_PlayerVolumeChanged);
				break;
			case EXTERNALCOMMAND_GetMute:		//Returns 1 on mute ON. 0 on Mute off
				return pPlayer->GetMute();
			case EXTERNALCOMMAND_SetMute:		//lparam=1 for mute ON. 0  Returns 0 on success
				pPlayer->SetMute(lParam != 0);
				PRGAPI()->GetStateManager()->PostMessage(SM_PlayerSettingsChanged);
				break;
			case EXTERNALCOMMAND_GetMediaLength:	//returns the number of seconds
				return INT(pPlayer->GetMediaLength());
			case EXTERNALCOMMAND_GetMediaPos:	//returns the number of seconds
				return INT(pPlayer->GetMediaPos());
			case EXTERNALCOMMAND_SetMediaPos:		//lparam=1 for mute ON. 0  Returns 0 on success
				pPlayer->SetMediaPos(lParam);
				break;
			default:
				bHandled = FALSE;
			}
			if (bHandled)
				return 0;
		}
	}
	else if (message == WM_KEYDOWN || message == WM_SYSKEYDOWN)
	{
		TRACE(_T("CTeenSpiritDlg::WindowProc. KeyDown: %d-%d\r\n"), wParam, lParam);
	}

	return CDialog::WindowProc(message, wParam, lParam);
}