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