00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include <atlbase.h>
00025
00026 #include "ChildView.h"
00027 #include "PlayerSeekBar.h"
00028 #include "PlayerToolBar.h"
00029 #include "PlayerInfoBar.h"
00030 #include "PlayerStatusBar.h"
00031 #include "PlayerSubresyncBar.h"
00032 #include "PlayerPlaylistBar.h"
00033 #include "PlayerCaptureBar.h"
00034 #include "PPageSheet.h"
00035 #include "PPageFileInfoSheet.h"
00036 #include "OpenCapDeviceDlg.h"
00037
00038 #include "FileDropTarget.h"
00039
00040 #include "KeyProvider.h"
00041
00042 #include "..\..\subpic\ISubPic.h"
00043
00044 #include "RealMediaGraph.h"
00045 #include "QuicktimeGraph.h"
00046 #include "ShockwaveGraph.h"
00047
00048 #include "..\..\..\include\IChapterInfo.h"
00049 #include "..\..\..\include\IKeyFrameInfo.h"
00050 #include "..\..\..\include\IBufferInfo.h"
00051
00052 #include "WebServer.h"
00053
00054 enum {PM_NONE, PM_FILE, PM_DVD, PM_CAPTURE};
00055
00056 class OpenMediaData
00057 {
00058 public:
00059
00060 virtual ~OpenMediaData() {}
00061 CString title;
00062 CList<CString> subs;
00063 };
00064
00065 class OpenFileData : public OpenMediaData
00066 {
00067 public:
00068 OpenFileData() : rtStart(0) {}
00069 CList<CString> fns;
00070 REFERENCE_TIME rtStart;
00071 };
00072
00073 class OpenDVDData : public OpenMediaData
00074 {
00075 public:
00076
00077 CString path;
00078 CComPtr<IDvdState> pDvdState;
00079 };
00080
00081 class OpenDeviceData : public OpenMediaData
00082 {
00083 public:
00084 OpenDeviceData() {vinput = vchannel = ainput = -1;}
00085 CStringW DisplayName[2];
00086 int vinput, vchannel, ainput;
00087 };
00088
00089 class CMainFrame;
00090
00091 class CGraphThread : public CWinThread
00092 {
00093 CMainFrame* m_pMainFrame;
00094
00095 DECLARE_DYNCREATE(CGraphThread);
00096
00097 public:
00098 CGraphThread() : m_pMainFrame(NULL) {}
00099
00100 void SetMainFrame(CMainFrame* pMainFrame) {m_pMainFrame = pMainFrame;}
00101
00102 BOOL InitInstance();
00103 int ExitInstance();
00104
00105 enum {TM_EXIT=WM_APP, TM_OPEN, TM_CLOSE};
00106 DECLARE_MESSAGE_MAP()
00107 afx_msg void OnExit(WPARAM wParam, LPARAM lParam);
00108 afx_msg void OnOpen(WPARAM wParam, LPARAM lParam);
00109 afx_msg void OnClose(WPARAM wParam, LPARAM lParam);
00110 };
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131 interface ISubClock;
00132
00133 class CMainFrame : public CFrameWnd, public CDropTarget
00134 {
00135 enum
00136 {
00137 TIMER_STREAMPOSPOLLER = 1,
00138 TIMER_STREAMPOSPOLLER2,
00139 TIMER_FULLSCREENCONTROLBARHIDER,
00140 TIMER_FULLSCREENMOUSEHIDER,
00141 TIMER_STATS,
00142 TIMER_LEFTCLICK,
00143 TIMER_STATUSERASER
00144 };
00145
00146 friend class CPPageFileInfoSheet;
00147 friend class CPPageLogo;
00148
00149
00150
00151 DWORD m_dwRegister;
00152
00153 CComPtr<IGraphBuilder> pGB;
00154 CComQIPtr<IMediaControl> pMC;
00155 CComQIPtr<IMediaEventEx> pME;
00156 CComQIPtr<IVideoWindow> pVW;
00157 CComQIPtr<IBasicVideo> pBV;
00158 CComQIPtr<IBasicAudio> pBA;
00159 CComQIPtr<IMediaSeeking> pMS;
00160 CComQIPtr<IVideoFrameStep> pFS;
00161 CComQIPtr<IQualProp, &IID_IQualProp> pQP;
00162 CComQIPtr<IBufferInfo> pBI;
00163 CComQIPtr<IAMOpenProgress> pAMOP;
00164
00165 CComQIPtr<IDvdControl2> pDVDC;
00166 CComQIPtr<IDvdInfo2> pDVDI;
00167
00168 CComQIPtr<IBaseFilter> pVMR;
00169
00170 CComPtr<ICaptureGraphBuilder2> pCGB;
00171 CStringW m_VidDispName, m_AudDispName;
00172 CComPtr<IBaseFilter> pVidCap, pAudCap;
00173 CComPtr<IAMVideoCompression> pAMVCCap, pAMVCPrev;
00174 CComPtr<IAMStreamConfig> pAMVSCCap, pAMVSCPrev, pAMASC;
00175 CComPtr<IAMCrossbar> pAMXBar;
00176 CComPtr<IAMTVTuner> pAMTuner;
00177 CComPtr<IAMDroppedFrames> pAMDF;
00178
00179 CComPtr<ISubPicAllocatorPresenter> m_pCAP;
00180
00181 void SetBalance(int balance);
00182
00183
00184
00185 CCritSec m_csSubLock;
00186 CInterfaceList<ISubStream> m_pSubStreams;
00187 int m_iSubtitleSel;
00188 DWORD_PTR m_nSubtitleId;
00189
00190 friend class CTextPassThruFilter;
00191
00192
00193
00194 CRect m_lastWindowRect;
00195 CPoint m_lastMouseMove;
00196
00197 void ShowControls(int nCS, bool fSave = true);
00198
00199 void SetDefaultWindowRect();
00200 void RestoreDefaultWindowRect();
00201 void ZoomVideoWindow(double scale = -1);
00202
00203 void SetAlwaysOnTop(int i);
00204
00205
00206
00207 void SetupOpenCDSubMenu();
00208 void SetupFiltersSubMenu();
00209 void SetupAudioSwitcherSubMenu();
00210 void SetupSubtitlesSubMenu();
00211 void SetupNavAudioSubMenu();
00212 void SetupNavSubtitleSubMenu();
00213 void SetupNavAngleSubMenu();
00214 void SetupNavChaptersSubMenu();
00215 void SetupFavoritesSubMenu();
00216 void SetupShadersSubMenu();
00217
00218 void SetupNavStreamSelectSubMenu(CMenu* pSub, UINT id, DWORD dwSelGroup);
00219 void OnNavStreamSelectSubMenu(UINT id, DWORD dwSelGroup);
00220
00221 CMenu m_popupmain, m_popup;
00222 CMenu m_opencds;
00223 CMenu m_filters, m_subtitles, m_audios;
00224 CAutoPtrArray<CMenu> m_filterpopups;
00225 CMenu m_navaudio, m_navsubtitle, m_navangle;
00226 CMenu m_navchapters, m_navtitles;
00227 CMenu m_favorites;
00228 CMenu m_shaders;
00229 CString m_shaderlabel;
00230
00231 CInterfaceArray<ISpecifyPropertyPages> m_spparray;
00232 CInterfaceArray<IAMStreamSelect> m_ssarray;
00233
00234
00235 CComPtr<IDSMChapterBag> m_pCB;
00236 void SetupChapters();
00237
00238
00239
00240 void SetupIViAudReg();
00241
00242 void AddTextPassThruFilter();
00243
00244 int m_nLoops;
00245
00246 bool m_fCustomGraph;
00247 bool m_fRealMediaGraph, m_fShockwaveGraph, m_fQuicktimeGraph;
00248
00249 CComPtr<ISubClock> m_pSubClock;
00250
00251 int m_fFrameSteppingActive;
00252 int m_VolumeBeforeFrameStepping;
00253
00254 bool m_fEndOfStream;
00255
00256 bool m_fBuffering;
00257
00258 bool m_fLiveWM;
00259
00260 bool m_fUpdateInfoBar;
00261
00262 void SendStatusMessage(CString msg, int nTimeOut);
00263 CString m_playingmsg, m_closingmsg;
00264
00265 REFERENCE_TIME m_rtDurationOverride;
00266
00267 CComPtr<IUnknown> m_pProv;
00268
00269 void CleanGraph();
00270
00271 CComPtr<IBaseFilter> pAudioDubSrc;
00272
00273 void ShowOptions(int idPage = 0);
00274
00275 bool GetDIB(BYTE** ppData, long& size, bool fSilent = false);
00276 void SaveImage(LPCTSTR fn);
00277
00278
00279
00280 friend class CWebClientSocket;
00281 friend class CWebServer;
00282 CAutoPtr<CWebServer> m_pWebServer;
00283
00284 public:
00285 void StartWebServer(int nPort);
00286 void StopWebServer();
00287
00288 CString GetStatusMessage();
00289 bool IsMuted() {return m_wndToolBar.GetVolume() == -10000;}
00290 int GetVolume() {return m_wndToolBar.m_volctrl.GetPos();}
00291
00292 public:
00293 CMainFrame();
00294
00295 DECLARE_DYNAMIC(CMainFrame)
00296
00297
00298 public:
00299 int m_iPlaybackMode;
00300
00301 bool m_fFullScreen;
00302 bool m_fHideCursor;
00303
00304 bool IsFrameLessWindow() {return(m_fFullScreen || AfxGetAppSettings().fHideCaptionMenu);}
00305 bool IsCaptionMenuHidden() {return(!m_fFullScreen && AfxGetAppSettings().fHideCaptionMenu);}
00306 bool IsSomethingLoaded() {return(m_iMediaLoadState == MLS_LOADING || m_iMediaLoadState == MLS_LOADED);}
00307 bool IsPlaylistEmpty() {return(m_wndPlaylistBar.GetCount() == 0);}
00308 bool IsInteractiveVideo() {return(AfxGetAppSettings().fIntRealMedia && m_fRealMediaGraph || m_fShockwaveGraph);}
00309
00310 CControlBar* m_pLastBar;
00311
00312 protected:
00313 enum {MLS_CLOSED, MLS_LOADING, MLS_LOADED, MLS_CLOSING};
00314 int m_iMediaLoadState;
00315
00316 bool m_fAudioOnly;
00317 dispmode m_dmBeforeFullscreen;
00318
00319 DVD_DOMAIN m_iDVDDomain;
00320 int m_iSpeedLevel;
00321
00322 double m_ZoomX, m_ZoomY, m_PosX, m_PosY;
00323 int m_AngleX, m_AngleY, m_AngleZ;
00324
00325
00326 bool OpenMediaPrivate(CAutoPtr<OpenMediaData> pOMD);
00327 void CloseMediaPrivate();
00328
00329 void SendNowPlayingToMSN();
00330
00331 void OpenCreateGraphObject(OpenMediaData* pOMD);
00332 void OpenFile(OpenFileData* pOFD);
00333 void OpenDVD(OpenDVDData* pODD);
00334 void OpenCapture(OpenDeviceData* pODD);
00335 void OpenCustomizeGraph();
00336 void OpenSetupVideo();
00337 void OpenSetupAudio();
00338 void OpenSetupInfoBar();
00339 void OpenSetupStatsBar();
00340 void OpenSetupStatusBar();
00341
00342 void OpenSetupCaptureBar();
00343 void OpenSetupWindowTitle(CString fn = _T(""));
00344
00345 friend class CGraphThread;
00346 CGraphThread* m_pGraphThread;
00347
00348 CArray<REFERENCE_TIME> m_kfs;
00349
00350 bool m_fOpeningAborted;
00351
00352 public:
00353 void OpenCurPlaylistItem(REFERENCE_TIME rtStart = 0);
00354 void OpenMedia(CAutoPtr<OpenMediaData> pOMD);
00355 void CloseMedia();
00356
00357 void AddCurDevToPlaylist();
00358
00359 bool m_fTrayIcon;
00360 void ShowTrayIcon(bool fShow);
00361 void SetTrayTip(CString str);
00362
00363 CSize GetVideoSize();
00364 void ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasTo);
00365 void MoveVideoWindow(bool fShowStats = false);
00366 void RepaintVideo();
00367
00368 OAFilterState GetMediaState();
00369 REFERENCE_TIME GetPos(), GetDur();
00370 void SeekTo(REFERENCE_TIME rt, bool fSeekToKeyFrame = false);
00371
00372 bool LoadSubtitle(CString fn);
00373 void UpdateSubtitle(bool fApplyDefStyle = false);
00374 void SetSubtitle(ISubStream* pSubStream, bool fApplyDefStyle = false);
00375 void ReplaceSubtitle(ISubStream* pSubStreamOld, ISubStream* pSubStreamNew);
00376 void InvalidateSubtitle(DWORD_PTR nSubtitleId = -1, REFERENCE_TIME rtInvalidate = -1);
00377 void ReloadSubtitle();
00378
00379
00380 bool m_fCapturing;
00381 HRESULT BuildCapture(IPin* pPin, IBaseFilter* pBF[3], const GUID& majortype, AM_MEDIA_TYPE* pmt);
00382 bool BuildToCapturePreviewPin(
00383 IBaseFilter* pVidCap, IPin** pVidCapPin, IPin** pVidPrevPin,
00384 IBaseFilter* pAudCap, IPin** pAudCapPin, IPin** pAudPrevPin);
00385 bool BuildGraphVideoAudio(bool fVPreview, bool fVCapture, bool fAPreview, bool fACapture);
00386 bool DoCapture(), StartCapture(), StopCapture();
00387
00388 bool DoAfterPlaybackEvent();
00389
00390 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
00391 virtual BOOL PreTranslateMessage(MSG* pMsg);
00392 virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
00393 virtual void RecalcLayout(BOOL bNotify = TRUE);
00394
00395
00396 public:
00397 virtual ~CMainFrame();
00398 #ifdef _DEBUG
00399 virtual void AssertValid() const;
00400 virtual void Dump(CDumpContext& dc) const;
00401 #endif
00402
00403 protected:
00404
00405 CChildView m_wndView;
00406
00407 CPlayerSeekBar m_wndSeekBar;
00408 CPlayerToolBar m_wndToolBar;
00409 CPlayerInfoBar m_wndInfoBar;
00410 CPlayerInfoBar m_wndStatsBar;
00411 CPlayerStatusBar m_wndStatusBar;
00412 CList<CControlBar*> m_bars;
00413
00414 CPlayerSubresyncBar m_wndSubresyncBar;
00415 CPlayerPlaylistBar m_wndPlaylistBar;
00416 CPlayerCaptureBar m_wndCaptureBar;
00417 CList<CControlBar*> m_dockingbars;
00418
00419 CFileDropTarget m_fileDropTarget;
00420
00421 DROPEFFECT OnDragEnter(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
00422 DROPEFFECT OnDragOver(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
00423 BOOL OnDrop(COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
00424 DROPEFFECT OnDropEx(COleDataObject* pDataObject, DROPEFFECT dropDefault, DROPEFFECT dropList, CPoint point);
00425 void OnDragLeave();
00426 DROPEFFECT OnDragScroll(DWORD dwKeyState, CPoint point);
00427
00428 friend class CPPagePlayback;
00429 friend class CMPlayerCApp;
00430
00431 void LoadControlBar(CControlBar* pBar, CString section, UINT defDockBarID);
00432 void SaveControlBar(CControlBar* pBar, CString section);
00433
00434
00435
00436 DECLARE_MESSAGE_MAP()
00437
00438 public:
00439 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
00440 afx_msg void OnDestroy();
00441
00442 afx_msg LRESULT OnTaskBarRestart(WPARAM, LPARAM);
00443 afx_msg LRESULT OnNotifyIcon(WPARAM, LPARAM);
00444
00445 afx_msg void OnSetFocus(CWnd* pOldWnd);
00446 afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
00447 afx_msg void OnMove(int x, int y);
00448 afx_msg void OnSize(UINT nType, int cx, int cy);
00449 afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
00450 afx_msg void OnDisplayChange();
00451
00452 afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
00453 afx_msg void OnActivateApp(BOOL bActive, DWORD dwThreadID);
00454 afx_msg LRESULT OnAppCommand(WPARAM wParam, LPARAM lParam);
00455
00456 afx_msg void OnTimer(UINT nIDEvent);
00457
00458 afx_msg LRESULT OnGraphNotify(WPARAM wParam, LPARAM lParam);
00459 afx_msg LRESULT OnRepaintRenderLess(WPARAM wParam, LPARAM lParam);
00460 afx_msg LRESULT OnResumeFromState(WPARAM wParam, LPARAM lParam);
00461
00462 BOOL OnButton(UINT id, UINT nFlags, CPoint point);
00463 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
00464 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
00465 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
00466 afx_msg void OnMButtonDown(UINT nFlags, CPoint point);
00467 afx_msg void OnMButtonUp(UINT nFlags, CPoint point);
00468 afx_msg void OnMButtonDblClk(UINT nFlags, CPoint point);
00469 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
00470 afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
00471 afx_msg void OnRButtonDblClk(UINT nFlags, CPoint point);
00472 afx_msg LRESULT OnXButtonDown(WPARAM wParam, LPARAM lParam);
00473 afx_msg LRESULT OnXButtonUp(WPARAM wParam, LPARAM lParam);
00474 afx_msg LRESULT OnXButtonDblClk(WPARAM wParam, LPARAM lParam);
00475 afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
00476 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
00477
00478 afx_msg LRESULT OnNcHitTest(CPoint point);
00479
00480 afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
00481
00482 afx_msg void OnInitMenu(CMenu* pMenu);
00483 afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
00484
00485 BOOL OnMenu(CMenu* pMenu);
00486 afx_msg void OnMenuPlayerShort();
00487 afx_msg void OnMenuPlayerLong();
00488 afx_msg void OnMenuFilters();
00489
00490 afx_msg void OnUpdatePlayerStatus(CCmdUI* pCmdUI);
00491
00492 afx_msg void OnFilePostOpenmedia();
00493 afx_msg void OnUpdateFilePostOpenmedia(CCmdUI* pCmdUI);
00494 afx_msg void OnFilePostClosemedia();
00495 afx_msg void OnUpdateFilePostClosemedia(CCmdUI* pCmdUI);
00496
00497 afx_msg void OnBossKey();
00498
00499 afx_msg void OnStreamAudio(UINT nID);
00500 afx_msg void OnStreamSub(UINT nID);
00501 afx_msg void OnStreamSubOnOff();
00502 afx_msg void OnOgmAudio(UINT nID);
00503 afx_msg void OnOgmSub(UINT nID);
00504 afx_msg void OnDvdAngle(UINT nID);
00505 afx_msg void OnDvdAudio(UINT nID);
00506 afx_msg void OnDvdSub(UINT nID);
00507 afx_msg void OnDvdSubOnOff();
00508
00509
00510
00511
00512 afx_msg void OnFileOpenmedia();
00513 afx_msg void OnUpdateFileOpen(CCmdUI* pCmdUI);
00514 afx_msg BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct);
00515 afx_msg void OnFileOpendvd();
00516 afx_msg void OnFileOpendevice();
00517 afx_msg void OnFileOpenCD(UINT nID);
00518 afx_msg void OnDropFiles(HDROP hDropInfo);
00519 afx_msg void OnFileSaveas();
00520 afx_msg void OnUpdateFileSaveas(CCmdUI* pCmdUI);
00521 afx_msg void OnFileSaveImage();
00522 afx_msg void OnFileSaveImageAuto();
00523 afx_msg void OnUpdateFileSaveImage(CCmdUI *pCmdUI);
00524 afx_msg void OnFileConvert();
00525 afx_msg void OnUpdateFileConvert(CCmdUI* pCmdUI);
00526 afx_msg void OnFileLoadsubtitles();
00527 afx_msg void OnUpdateFileLoadsubtitles(CCmdUI* pCmdUI);
00528 afx_msg void OnFileSavesubtitles();
00529 afx_msg void OnUpdateFileSavesubtitles(CCmdUI* pCmdUI);
00530 afx_msg void OnSubtitledatabaseSearch();
00531 afx_msg void OnUpdateSubtitledatabaseSearch(CCmdUI *pCmdUI);
00532 afx_msg void OnSubtitledatabaseUpload();
00533 afx_msg void OnUpdateSubtitledatabaseUpload(CCmdUI *pCmdUI);
00534 afx_msg void OnSubtitledatabaseDownload();
00535 afx_msg void OnUpdateSubtitledatabaseDownload(CCmdUI *pCmdUI);
00536 afx_msg void OnFileProperties();
00537 afx_msg void OnUpdateFileProperties(CCmdUI* pCmdUI);
00538 afx_msg void OnFileClosePlaylist();
00539 afx_msg void OnFileCloseMedia();
00540 afx_msg void OnUpdateFileClose(CCmdUI* pCmdUI);
00541
00542 afx_msg void OnViewCaptionmenu();
00543 afx_msg void OnUpdateViewCaptionmenu(CCmdUI *pCmdUI);
00544 afx_msg void OnViewControlBar(UINT nID);
00545 afx_msg void OnUpdateViewControlBar(CCmdUI* pCmdUI);
00546 afx_msg void OnViewSubresync();
00547 afx_msg void OnUpdateViewSubresync(CCmdUI* pCmdUI);
00548 afx_msg void OnViewPlaylist();
00549 afx_msg void OnUpdateViewPlaylist(CCmdUI* pCmdUI);
00550 afx_msg void OnViewCapture();
00551 afx_msg void OnUpdateViewCapture(CCmdUI* pCmdUI);
00552 afx_msg void OnViewMinimal();
00553 afx_msg void OnUpdateViewMinimal(CCmdUI* pCmdUI);
00554 afx_msg void OnViewCompact();
00555 afx_msg void OnUpdateViewCompact(CCmdUI* pCmdUI);
00556 afx_msg void OnViewNormal();
00557 afx_msg void OnUpdateViewNormal(CCmdUI* pCmdUI);
00558 afx_msg void OnViewFullscreen();
00559 afx_msg void OnViewFullscreenSecondary();
00560 afx_msg void OnUpdateViewFullscreen(CCmdUI* pCmdUI);
00561 afx_msg void OnViewZoom(UINT nID);
00562 afx_msg void OnUpdateViewZoom(CCmdUI* pCmdUI);
00563 afx_msg void OnViewDefaultVideoFrame(UINT nID);
00564 afx_msg void OnUpdateViewDefaultVideoFrame(CCmdUI* pCmdUI);
00565 afx_msg void OnViewKeepaspectratio();
00566 afx_msg void OnUpdateViewKeepaspectratio(CCmdUI* pCmdUI);
00567 afx_msg void OnViewCompMonDeskARDiff();
00568 afx_msg void OnUpdateViewCompMonDeskARDiff(CCmdUI* pCmdUI);
00569 afx_msg void OnViewPanNScan(UINT nID);
00570 afx_msg void OnUpdateViewPanNScan(CCmdUI* pCmdUI);
00571 afx_msg void OnViewPanNScanPresets(UINT nID);
00572 afx_msg void OnUpdateViewPanNScanPresets(CCmdUI* pCmdUI);
00573 afx_msg void OnViewRotate(UINT nID);
00574 afx_msg void OnUpdateViewRotate(CCmdUI* pCmdUI);
00575 afx_msg void OnViewAspectRatio(UINT nID);
00576 afx_msg void OnUpdateViewAspectRatio(CCmdUI* pCmdUI);
00577 afx_msg void OnViewOntop(UINT nID);
00578 afx_msg void OnUpdateViewOntop(CCmdUI* pCmdUI);
00579 afx_msg void OnViewOptions();
00580
00581 afx_msg void OnPlayPlay();
00582 afx_msg void OnPlayPause();
00583 afx_msg void OnPlayPlaypause();
00584 afx_msg void OnPlayStop();
00585 afx_msg void OnUpdatePlayPauseStop(CCmdUI* pCmdUI);
00586 afx_msg void OnPlayFramestep(UINT nID);
00587 afx_msg void OnUpdatePlayFramestep(CCmdUI* pCmdUI);
00588 afx_msg void OnPlaySeek(UINT nID);
00589 afx_msg void OnPlaySeekKey(UINT nID);
00590 afx_msg void OnUpdatePlaySeek(CCmdUI* pCmdUI);
00591 afx_msg void OnPlayGoto();
00592 afx_msg void OnUpdateGoto(CCmdUI* pCmdUI);
00593 afx_msg void OnPlayChangeRate(UINT nID);
00594 afx_msg void OnUpdatePlayChangeRate(CCmdUI* pCmdUI);
00595 afx_msg void OnPlayResetRate();
00596 afx_msg void OnUpdatePlayResetRate(CCmdUI* pCmdUI);
00597 afx_msg void OnPlayChangeAudDelay(UINT nID);
00598 afx_msg void OnUpdatePlayChangeAudDelay(CCmdUI* pCmdUI);
00599 afx_msg void OnPlayFilters(UINT nID);
00600 afx_msg void OnUpdatePlayFilters(CCmdUI* pCmdUI);
00601 afx_msg void OnPlayShaders(UINT nID);
00602 afx_msg void OnUpdatePlayShaders(CCmdUI* pCmdUI);
00603 afx_msg void OnPlayAudio(UINT nID);
00604 afx_msg void OnUpdatePlayAudio(CCmdUI* pCmdUI);
00605 afx_msg void OnPlaySubtitles(UINT nID);
00606 afx_msg void OnUpdatePlaySubtitles(CCmdUI* pCmdUI);
00607 afx_msg void OnPlayLanguage(UINT nID);
00608 afx_msg void OnUpdatePlayLanguage(CCmdUI* pCmdUI);
00609 afx_msg void OnPlayVolume(UINT nID);
00610 afx_msg void OnAfterplayback(UINT nID);
00611 afx_msg void OnUpdateAfterplayback(CCmdUI* pCmdUI);
00612
00613 afx_msg void OnNavigateSkip(UINT nID);
00614 afx_msg void OnUpdateNavigateSkip(CCmdUI* pCmdUI);
00615 afx_msg void OnNavigateSkipPlaylistItem(UINT nID);
00616 afx_msg void OnUpdateNavigateSkipPlaylistItem(CCmdUI* pCmdUI);
00617 afx_msg void OnNavigateMenu(UINT nID);
00618 afx_msg void OnUpdateNavigateMenu(CCmdUI* pCmdUI);
00619 afx_msg void OnNavigateAudio(UINT nID);
00620 afx_msg void OnNavigateSubpic(UINT nID);
00621 afx_msg void OnNavigateAngle(UINT nID);
00622 afx_msg void OnNavigateChapters(UINT nID);
00623 afx_msg void OnNavigateMenuItem(UINT nID);
00624 afx_msg void OnUpdateNavigateMenuItem(CCmdUI* pCmdUI);
00625
00626 afx_msg void OnFavoritesAdd();
00627 afx_msg void OnUpdateFavoritesAdd(CCmdUI* pCmdUI);
00628 afx_msg void OnFavoritesOrganize();
00629 afx_msg void OnUpdateFavoritesOrganize(CCmdUI* pCmdUI);
00630 afx_msg void OnFavoritesFile(UINT nID);
00631 afx_msg void OnUpdateFavoritesFile(CCmdUI* pCmdUI);
00632 afx_msg void OnFavoritesDVD(UINT nID);
00633 afx_msg void OnUpdateFavoritesDVD(CCmdUI* pCmdUI);
00634 afx_msg void OnFavoritesDevice(UINT nID);
00635 afx_msg void OnUpdateFavoritesDevice(CCmdUI* pCmdUI);
00636
00637 afx_msg void OnHelpHomepage();
00638 afx_msg void OnHelpDocumentation();
00639 afx_msg void OnHelpDonate();
00640 public:
00641 afx_msg void OnClose();
00642 };