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)); }
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; }
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); }