BOOL CTeenSpiritDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct) { if (pCopyDataStruct->dwData == COMMANDLINE_ARG) { static BOOL bEnqueue; if (pCopyDataStruct->cbData != 0) { LPCTSTR path = (LPCTSTR)pCopyDataStruct->lpData; if (_tcsicmp(path, _T("-q")) == 0) bEnqueue = TRUE; if (path[0] != '-' && path[0] !='\\') { PrgAPI* pAPI = PRGAPI(); MediaPlayer* pPlayer = pAPI->GetMediaPlayer(); MediaPlayListItem mpli; if (bEnqueue) pPlayer->Enqueue(path); else pPlayer->Play(path); bEnqueue = TRUE; } } else bEnqueue = FALSE; } return __super::OnCopyData(pWnd, pCopyDataStruct); }
int main () { printf ("Results of media_player_mt test:\n"); try { common::LogFilter log_filter ("*", &log_print); MediaPlayer player; MediaPlayer::EventHandler handler = &media_player_event_handler; for (int i=0; i<MediaPlayerEvent_Num; i++) player.RegisterEventHandler ((MediaPlayerEvent)i, handler); player.SetName ("player"); player.SetTarget ("low_level_openal"); Playlist playlist; playlist.AddSource ("data/track_1.ogg"); playlist.AddSource ("data/track_2.ogg"); player.Open (playlist); player.SetRepeatMode (MediaPlayerRepeatMode_Last); player.Play (); syslib::Application::Run (); } catch (std::exception& e) { printf ("exception: %s\n", e.what ()); } return 0; }