From a283669d90fd4766dffe734be5a5998b7e57c52d Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 3 May 2011 14:00:27 +0000 Subject: legacy branch: merge r2857-r3069 from trunk git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/branches/legacy@3070 10f7b99b-c216-0410-bff0-8a66a9350fd8 --- src/apps/mplayerc/AppSettings.cpp | 26 ++- src/apps/mplayerc/AppSettings.h | 8 +- src/apps/mplayerc/Changelog.txt | 36 ++- src/apps/mplayerc/ChildView.cpp | 6 +- src/apps/mplayerc/FGFilter.cpp | 2 +- src/apps/mplayerc/FGFilter.h | 2 +- src/apps/mplayerc/FGManager.cpp | 34 ++- src/apps/mplayerc/FakeFilterMapper2.cpp | 6 + src/apps/mplayerc/FavoriteAddDlg.cpp | 2 +- src/apps/mplayerc/MainFrm.cpp | 247 ++++++++++++++------- src/apps/mplayerc/MainFrm.h | 12 +- src/apps/mplayerc/MiniDump.cpp | 4 +- src/apps/mplayerc/Mpeg2SectionData.cpp | 2 +- src/apps/mplayerc/OpenDlg.cpp | 6 +- src/apps/mplayerc/PPageAccelTbl.cpp | 4 +- src/apps/mplayerc/PPageCapture.cpp | 2 +- src/apps/mplayerc/PPageFileInfoDetails.cpp | 2 +- src/apps/mplayerc/PPageFileInfoRes.cpp | 4 +- src/apps/mplayerc/PPageFileInfoSheet.cpp | 6 +- src/apps/mplayerc/PPageFullscreen.cpp | 8 +- src/apps/mplayerc/PPageInternalFilters.cpp | 4 +- src/apps/mplayerc/PPageLogo.cpp | 4 +- src/apps/mplayerc/PPageOutput.cpp | 2 +- src/apps/mplayerc/PPagePlayback.cpp | 61 ++++- src/apps/mplayerc/PPagePlayback.h | 5 +- src/apps/mplayerc/PPageSync.cpp | 2 +- src/apps/mplayerc/PPageSync.h | 2 +- src/apps/mplayerc/PPageTweaks.cpp | 7 +- src/apps/mplayerc/PPageTweaks.h | 4 +- src/apps/mplayerc/PlayerCaptureDialog.cpp | 4 +- src/apps/mplayerc/PlayerNavigationBar.cpp | 36 ++- src/apps/mplayerc/PlayerPlaylistBar.cpp | 6 +- src/apps/mplayerc/PlayerSeekBar.cpp | 8 +- src/apps/mplayerc/PlayerStatusBar.cpp | 4 +- src/apps/mplayerc/PlayerToolBar.cpp | 11 +- src/apps/mplayerc/Playlist.cpp | 2 +- src/apps/mplayerc/QuicktimeGraph.cpp | 11 +- src/apps/mplayerc/RealMediaGraph.cpp | 20 +- src/apps/mplayerc/RegFilterChooserDlg.cpp | 4 +- src/apps/mplayerc/SaveTextFileDialog.cpp | 4 +- src/apps/mplayerc/SaveThumbnailsDialog.cpp | 10 +- src/apps/mplayerc/SettingsDefines.h | 11 +- src/apps/mplayerc/ShockwaveGraph.cpp | 6 +- src/apps/mplayerc/SubtitleDlDlg.cpp | 200 +++++++++++------ src/apps/mplayerc/SubtitleDlDlg.h | 24 +- src/apps/mplayerc/VMROSD.cpp | 40 ++-- src/apps/mplayerc/VMROSD.h | 6 +- src/apps/mplayerc/WebClientSocket.cpp | 12 +- src/apps/mplayerc/libpng.c | 3 +- src/apps/mplayerc/mpciconlib/mpciconlib.rc | 12 +- src/apps/mplayerc/mpciconlib/mpciconlib.vcproj | 4 +- src/apps/mplayerc/mpciconlib/mpciconlib.vcxproj | 6 +- src/apps/mplayerc/mpcresources/mpcresources.vcproj | 84 +++---- .../mplayerc/mpcresources/mpcresources.vcxproj | 126 ++++------- src/apps/mplayerc/mpcresources/mplayerc.br.rc | Bin 348394 -> 349802 bytes src/apps/mplayerc/mpcresources/mplayerc.by.rc | Bin 342840 -> 344304 bytes src/apps/mplayerc/mpcresources/mplayerc.ca.rc | Bin 346698 -> 348100 bytes src/apps/mplayerc/mpcresources/mplayerc.cz.rc | Bin 343476 -> 344826 bytes src/apps/mplayerc/mpcresources/mplayerc.de.rc | Bin 345196 -> 346602 bytes src/apps/mplayerc/mpcresources/mplayerc.es.rc | Bin 348740 -> 350146 bytes src/apps/mplayerc/mpcresources/mplayerc.fr.rc | Bin 348858 -> 350264 bytes src/apps/mplayerc/mpcresources/mplayerc.hu.rc | Bin 349214 -> 350616 bytes src/apps/mplayerc/mpcresources/mplayerc.hy.rc | Bin 343026 -> 344360 bytes src/apps/mplayerc/mpcresources/mplayerc.it.rc | Bin 345238 -> 346638 bytes src/apps/mplayerc/mpcresources/mplayerc.ja.rc | Bin 318508 -> 319720 bytes src/apps/mplayerc/mpcresources/mplayerc.kr.rc | Bin 315476 -> 316930 bytes src/apps/mplayerc/mpcresources/mplayerc.nl.rc | Bin 343380 -> 344790 bytes src/apps/mplayerc/mpcresources/mplayerc.pl.rc | Bin 353002 -> 354378 bytes src/apps/mplayerc/mpcresources/mplayerc.ru.rc | Bin 344798 -> 346534 bytes src/apps/mplayerc/mpcresources/mplayerc.sc.rc | Bin 308862 -> 310276 bytes src/apps/mplayerc/mpcresources/mplayerc.sk.rc | Bin 346804 -> 347124 bytes src/apps/mplayerc/mpcresources/mplayerc.sv.rc | Bin 340972 -> 342386 bytes src/apps/mplayerc/mpcresources/mplayerc.tc.rc | Bin 310840 -> 312272 bytes src/apps/mplayerc/mpcresources/mplayerc.tr.rc | Bin 341676 -> 343082 bytes src/apps/mplayerc/mpcresources/mplayerc.ua.rc | Bin 343336 -> 344796 bytes src/apps/mplayerc/mpcresources/patch.bat | 6 +- src/apps/mplayerc/mpcresources/rcfile.bat | 4 +- src/apps/mplayerc/mpcresources/sync.bat | 10 +- .../mplayerc/mpcresources/text/mplayerc.br.rc.txt | Bin 141326 -> 142134 bytes .../mplayerc/mpcresources/text/mplayerc.by.rc.txt | Bin 136126 -> 136990 bytes .../mplayerc/mpcresources/text/mplayerc.ca.rc.txt | Bin 139512 -> 140314 bytes .../mplayerc/mpcresources/text/mplayerc.cz.rc.txt | Bin 136510 -> 137260 bytes .../mplayerc/mpcresources/text/mplayerc.de.rc.txt | Bin 138072 -> 138878 bytes .../mplayerc/mpcresources/text/mplayerc.es.rc.txt | Bin 141904 -> 142710 bytes .../mplayerc/mpcresources/text/mplayerc.fr.rc.txt | Bin 142900 -> 143706 bytes .../mplayerc/mpcresources/text/mplayerc.hu.rc.txt | Bin 142774 -> 143576 bytes .../mplayerc/mpcresources/text/mplayerc.hy.rc.txt | Bin 134246 -> 134980 bytes .../mplayerc/mpcresources/text/mplayerc.it.rc.txt | Bin 137490 -> 138290 bytes .../mplayerc/mpcresources/text/mplayerc.ja.rc.txt | Bin 106434 -> 107046 bytes .../mplayerc/mpcresources/text/mplayerc.kr.rc.txt | Bin 103388 -> 104242 bytes .../mplayerc/mpcresources/text/mplayerc.nl.rc.txt | Bin 135940 -> 136750 bytes .../mplayerc/mpcresources/text/mplayerc.pl.rc.txt | Bin 146922 -> 147698 bytes .../mplayerc/mpcresources/text/mplayerc.rc.txt | Bin 128878 -> 130062 bytes .../mplayerc/mpcresources/text/mplayerc.ru.rc.txt | Bin 138202 -> 139338 bytes .../mplayerc/mpcresources/text/mplayerc.sc.rc.txt | Bin 95756 -> 96344 bytes .../mplayerc/mpcresources/text/mplayerc.sk.rc.txt | Bin 140242 -> 140684 bytes .../mplayerc/mpcresources/text/mplayerc.sv.rc.txt | Bin 132768 -> 133582 bytes .../mplayerc/mpcresources/text/mplayerc.tc.rc.txt | Bin 97086 -> 97694 bytes .../mplayerc/mpcresources/text/mplayerc.tr.rc.txt | Bin 134044 -> 134850 bytes .../mplayerc/mpcresources/text/mplayerc.ua.rc.txt | Bin 136596 -> 137456 bytes src/apps/mplayerc/mplayerc.cpp | 9 +- src/apps/mplayerc/mplayerc.h | 2 +- src/apps/mplayerc/mplayerc.rc | Bin 336356 -> 337758 bytes src/apps/mplayerc/mplayerc.vcproj | 8 +- src/apps/mplayerc/mplayerc.vcxproj | 14 +- src/apps/mplayerc/res/mpc-hc.exe.manifest.conf | 2 +- src/apps/mplayerc/res/mpc-hc.exe.manifest.template | 2 +- src/apps/mplayerc/res/mplayerc.rc2 | 16 +- src/apps/mplayerc/resource.h | Bin 119864 -> 120626 bytes 109 files changed, 746 insertions(+), 491 deletions(-) (limited to 'src/apps/mplayerc') diff --git a/src/apps/mplayerc/AppSettings.cpp b/src/apps/mplayerc/AppSettings.cpp index 0f55c92c8..c9d91569e 100644 --- a/src/apps/mplayerc/AppSettings.cpp +++ b/src/apps/mplayerc/AppSettings.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -209,9 +209,12 @@ void CAppSettings::CreateCommands() ADDCMD((ID_FILE_OPENDVD, 'D', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_OPEN_DVD)); ADDCMD((ID_FILE_OPENDEVICE, 'V', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_OPEN_DEVICE)); ADDCMD((ID_FILE_REOPEN, 'E', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_REOPEN)); + ADDCMD((ID_FILE_SAVE_COPY, 0, FVIRTKEY|FNOINVERT, IDS_AG_SAVE_AS)); ADDCMD((ID_FILE_SAVE_IMAGE, 'I', FVIRTKEY|FALT|FNOINVERT, IDS_AG_SAVE_IMAGE)); ADDCMD((ID_FILE_SAVE_IMAGE_AUTO, VK_F5, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_6)); + ADDCMD((ID_FILE_SAVE_THUMBNAILS, 0, FVIRTKEY|FNOINVERT, IDS_FILE_SAVE_THUMBNAILS)); + ADDCMD((ID_FILE_LOAD_SUBTITLE, 'L', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_LOAD_SUBTITLE)); ADDCMD((ID_FILE_SAVE_SUBTITLE, 'S', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_SAVE_SUBTITLE)); ADDCMD((ID_FILE_CLOSEPLAYLIST, 'C', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_CLOSE)); @@ -221,8 +224,8 @@ void CAppSettings::CreateCommands() ADDCMD((ID_PLAY_PLAY, 0, FVIRTKEY|FNOINVERT, IDS_AG_PLAY, APPCOMMAND_MEDIA_PLAY)); ADDCMD((ID_PLAY_PAUSE, 0, FVIRTKEY|FNOINVERT, IDS_AG_PAUSE, APPCOMMAND_MEDIA_PAUSE)); ADDCMD((ID_PLAY_STOP, VK_OEM_PERIOD, FVIRTKEY|FNOINVERT, IDS_AG_STOP, APPCOMMAND_MEDIA_STOP)); - ADDCMD((ID_PLAY_FRAMESTEP, VK_RIGHT, FVIRTKEY|FNOINVERT, IDS_AG_FRAMESTEP)); - ADDCMD((ID_PLAY_FRAMESTEPCANCEL, VK_LEFT, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_16)); + ADDCMD((ID_PLAY_FRAMESTEP, VK_RIGHT, FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_FRAMESTEP)); + ADDCMD((ID_PLAY_FRAMESTEPCANCEL, VK_LEFT, FVIRTKEY|FCONTROL|FNOINVERT, IDS_MPLAYERC_16)); ADDCMD((ID_PLAY_GOTO, 'G', FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_GO_TO)); ADDCMD((ID_PLAY_INCRATE, VK_UP, FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_INCREASE_RATE)); ADDCMD((ID_PLAY_DECRATE, VK_DOWN, FVIRTKEY|FCONTROL|FNOINVERT, IDS_AG_DECREASE_RATE)); @@ -231,8 +234,8 @@ void CAppSettings::CreateCommands() ADDCMD((ID_PLAY_DECAUDDELAY, VK_SUBTRACT, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_22)); ADDCMD((ID_PLAY_SEEKFORWARDSMALL, 0, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_23)); ADDCMD((ID_PLAY_SEEKBACKWARDSMALL, 0, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_24)); - ADDCMD((ID_PLAY_SEEKFORWARDMED, VK_RIGHT, FVIRTKEY|FCONTROL|FNOINVERT, IDS_MPLAYERC_25)); - ADDCMD((ID_PLAY_SEEKBACKWARDMED, VK_LEFT, FVIRTKEY|FCONTROL|FNOINVERT, IDS_MPLAYERC_26)); + ADDCMD((ID_PLAY_SEEKFORWARDMED, VK_RIGHT, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_25)); + ADDCMD((ID_PLAY_SEEKBACKWARDMED, VK_LEFT, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_26)); ADDCMD((ID_PLAY_SEEKFORWARDLARGE, 0, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_27)); ADDCMD((ID_PLAY_SEEKBACKWARDLARGE, 0, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_28)); ADDCMD((ID_PLAY_SEEKKEYFORWARD, VK_RIGHT, FVIRTKEY|FSHIFT|FNOINVERT, IDS_MPLAYERC_29)); @@ -355,7 +358,6 @@ void CAppSettings::CreateCommands() ADDCMD((ID_VIEW_VSYNCOFFSET_INCREASE, VK_DOWN, FVIRTKEY|FCONTROL|FALT|FNOINVERT, IDS_AG_VSYNCOFFSET_INCREASE)); ADDCMD((ID_SUB_DELAY_DOWN, VK_F1, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_104)); ADDCMD((ID_SUB_DELAY_UP, VK_F2, FVIRTKEY|FNOINVERT, IDS_MPLAYERC_105)); - ADDCMD((ID_FILE_SAVE_THUMBNAILS, 0, FVIRTKEY|FNOINVERT, IDS_FILE_SAVE_THUMBNAILS)); ADDCMD((ID_VIEW_EDITLISTEDITOR, 0, FVIRTKEY|FNOINVERT, IDS_AG_TOGGLE_EDITLISTEDITOR)); ADDCMD((ID_EDL_IN, 0, FVIRTKEY|FNOINVERT, IDS_AG_EDL_IN)); @@ -379,9 +381,13 @@ bool CAppSettings::IsD3DFullscreen() const { if(nCLSwitches&CLSW_D3DFULLSCREEN) { return true; - } else { + } else if (iDSVideoRendererType == VIDRNDT_DS_VMR9RENDERLESS || + iDSVideoRendererType == VIDRNDT_DS_EVR_CUSTOM || + iDSVideoRendererType == VIDRNDT_DS_MADVR || + iDSVideoRendererType == VIDRNDT_DS_SYNC) { return fD3DFullscreen; - } + } else + return false; } CString CAppSettings::SelectedAudioRenderer() const { @@ -617,6 +623,7 @@ void CAppSettings::UpdateData(bool fSave) pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SHOWOSD, (int)fShowOSD); pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEEDLEDITOR, (int)fEnableEDLEditor); pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LANGUAGE, (int)iLanguage); + pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_FASTSEEK_KEYFRAME, (int)fFastSeek); // Save analog capture settings pApp->WriteProfileInt (IDS_R_SETTINGS, IDS_RS_DEFAULT_CAPTURE, iDefaultCaptureDevice); @@ -879,7 +886,7 @@ void CAppSettings::UpdateData(bool fSave) fLoopForever = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOOP, 0); fRewind = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REWIND, FALSE); iZoomLevel = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ZOOM, 1); - iDSVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, (IsVistaOrAbove() ? (CMPlayerCApp::HasEVR() ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_DEFAULT) : VIDRNDT_DS_OVERLAYMIXER) ); + iDSVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, (IsVistaOrAbove() ? (CMPlayerCApp::HasEVR() ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_DEFAULT) : VIDRNDT_DS_VMR7WINDOWED) ); iRMVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DEFAULT); iQTVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DEFAULT); @@ -1319,6 +1326,7 @@ void CAppSettings::UpdateData(bool fSave) fShowOSD = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SHOWOSD, 1); fEnableEDLEditor= !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEEDLEDITOR, FALSE); + fFastSeek = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_FASTSEEK_KEYFRAME, TRUE); // Save analog capture settings iDefaultCaptureDevice = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULT_CAPTURE, 0); diff --git a/src/apps/mplayerc/AppSettings.h b/src/apps/mplayerc/AppSettings.h index 4b978add6..14a70cd56 100644 --- a/src/apps/mplayerc/AppSettings.h +++ b/src/apps/mplayerc/AppSettings.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -74,8 +74,9 @@ enum { enum { MODE_SHOWCAPTIONMENU, - MODE_BORDERLESS, + MODE_HIDEMENU, MODE_FRAMEONLY, + MODE_BORDERLESS, MODE_COUNT }; // flags for Caption & Menu Mode @@ -309,7 +310,7 @@ public: int iAdminOption; UINT nCS; // Control state for toolbars - int iCaptionMenuMode; // normal -> borderless -> frameonly + int iCaptionMenuMode; // normal -> hidemenu -> frameonly -> borderless bool fHideNavigation; int iDefaultVideoSize; bool fKeepAspectRatio; @@ -488,6 +489,7 @@ public: bool fRememberFilePos; bool fShowOSD; int iLanguage; + int fFastSeek; // BDA configuration int iDefaultCaptureDevice; // Default capture device (analog=0, 1=digital) diff --git a/src/apps/mplayerc/Changelog.txt b/src/apps/mplayerc/Changelog.txt index 8b7394df0..e19bf3450 100644 --- a/src/apps/mplayerc/Changelog.txt +++ b/src/apps/mplayerc/Changelog.txt @@ -1,20 +1,43 @@ -$Id$ +next version - not yet released +============================== + NEW : Added optional fp32 (full float point) processing, fp16 is now half float point + NEW : Support for BluRay chapters + CHANGED: The filters' settings are now saved in + [HKCU\Software\Gabest\Media Player Classic\Filters] + CHANGED: Updated libpng to v1.5.2 + CHANGED: Updated MediaInfoLib to v0.7.44 + CHANGED: Updated ZenLib to v0.4.19 + CHANGED: Updated SoundTouch to v1.5.1pre r104 + CHANGED: Updated Little CMS to v2.2a + FIXED : Ticket #640, Source tree refactoring + FIXED : Ticket #740, Make EVR Sync stats better looking + FIXED : Ticket #760, Fixed playback of old movs with 'raw', 'twos' and 'ima4' audio + FIXED : Ticket #965, Add Full File Path Parameter to Status.html + FIXED : Ticket #989, Sliders at options are consistent with volume slider. + Scroll/button up will move slider up (increase the value) while going + other way, scroll/button down will decrease the value. + FIXED : Ticket #1128, Thumbnails wider than 2048 + FIXED : Ticket #1220, MPC fails to play specific MKV files -v1.X.X.X - not released yet -======================== + +v1.5.1.2903 - 29 February 2011 +============================== + FIXED : Crash on Sandy Bridge processor + + +v1.5.0.2827 - 31 January 2011 +============================== NEW : Added new options to always default to external subtitles, ignore embedded subtitles and to set the autoload subtitle paths NEW : Added support for "in24", "fl64", 8-bit "sowt", "IMA4" and "NONE" audio (old QuickTime PCM) NEW : Added support for "in24", "in32", "fl32", "fl64" - (both big-endian and little-endian) in .mov files + (both big-endian and little-endian) in .mov files NEW : Ticket #784, Enable ctrl+A in the MediaInfo window NEW : [DVB] LCN support, added EPG current event information, offset parameter for scanning channels, added channel encryption detection for DVB-t during scan NEW : Added ignore encrypted channels checkbox during DVB scan NEW : Armenian translation - NEW : Added optional fp32 (full float point) processing, fp16 is now half float point - NEW : Support for BluRay chapters CHANGED: Updated FFmpeg CHANGED: Updated MediaInfoLib to v0.7.39 CHANGED: Updated ZenLib to v0.4.17 @@ -45,7 +68,6 @@ v1.X.X.X - not released yet FIXED : Ticket #712, Audio renderer menu problem with Haali splitter after r2339 FIXED : Ticket #724, Frequency range and bandwidth value are currently not taken into account when doing a scan - FIXED : Ticket #740, Make EVR Sync stats better looking FIXED : Ticket #753, DVB-T, internal MPEG-2 filter & wrong aspect ratio FIXED : Ticket #775, Default options of DVD/OGM Preferred language should be "Default" not "English" diff --git a/src/apps/mplayerc/ChildView.cpp b/src/apps/mplayerc/ChildView.cpp index 2ede8103d..597cacee9 100644 --- a/src/apps/mplayerc/ChildView.cpp +++ b/src/apps/mplayerc/ChildView.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -269,7 +269,7 @@ LRESULT CChildView::OnNcHitTest(CPoint point) CMainFrame* pFrame = ((CMainFrame*)GetParentFrame()); bool fLeftMouseBtnUnassigned = !assignedToCmd(wmcmd::LDOWN); - if(!pFrame->m_fFullScreen && (pFrame->IsCaptionMenuHidden() || fLeftMouseBtnUnassigned)) { + if(!pFrame->m_fFullScreen && (pFrame->IsCaptionHidden() || fLeftMouseBtnUnassigned)) { CRect rcClient, rcFrame; GetWindowRect(&rcFrame); rcClient = rcFrame; @@ -310,7 +310,7 @@ void CChildView::OnNcLButtonDown(UINT nHitTest, CPoint point) { CMainFrame* pFrame = ((CMainFrame*)GetParentFrame()); bool fLeftMouseBtnUnassigned = !assignedToCmd(wmcmd::LDOWN); - if(!pFrame->m_fFullScreen && (pFrame->IsCaptionMenuHidden() || fLeftMouseBtnUnassigned)) { + if(!pFrame->m_fFullScreen && (pFrame->IsCaptionHidden() || fLeftMouseBtnUnassigned)) { BYTE bFlag = 0; switch(nHitTest) { case HTTOP: diff --git a/src/apps/mplayerc/FGFilter.cpp b/src/apps/mplayerc/FGFilter.cpp index 1310fafe2..1b4d2eb42 100644 --- a/src/apps/mplayerc/FGFilter.cpp +++ b/src/apps/mplayerc/FGFilter.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/FGFilter.h b/src/apps/mplayerc/FGFilter.h index 9c66dc441..7a4d89c8b 100644 --- a/src/apps/mplayerc/FGFilter.h +++ b/src/apps/mplayerc/FGFilter.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/FGManager.cpp b/src/apps/mplayerc/FGManager.cpp index 59bcc2260..9583f20a6 100644 --- a/src/apps/mplayerc/FGManager.cpp +++ b/src/apps/mplayerc/FGManager.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -170,6 +170,24 @@ bool CFGManager::CheckBytes(HANDLE hFile, CString chkbytes) return sl.IsEmpty(); } +CFGFilter *LookupFilterRegistry(const GUID &guid, CAtlList &list, UINT64 fallback_merit = MERIT64_DO_USE) +{ + POSITION pos = list.GetHeadPosition(); + CFGFilter *pFilter = NULL; + while(pos) { + CFGFilter* pFGF = list.GetNext(pos); + if (pFGF->GetCLSID() == guid) { + pFilter = pFGF; + break; + } + } + if (pFilter) { + return DNew CFGFilterRegistry(guid, pFilter->GetMerit()); + } else { + return DNew CFGFilterRegistry(guid, fallback_merit); + } +} + HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl) { // TODO: use overrides @@ -195,7 +213,7 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl // exceptions first if(ext == _T(".dvr-ms") || ext == _T(".wtv")) { // doh, this is stupid - fl.Insert(DNew CFGFilterRegistry(CLSID_StreamBufferSource, MERIT64_PREFERRED), 0); + fl.Insert(LookupFilterRegistry(CLSID_StreamBufferSource, m_override, MERIT64_PREFERRED), 0); } TCHAR buff[256], buff2[256]; @@ -261,13 +279,13 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl if(ERROR_SUCCESS == exts.Open(key, _T("Extensions"), KEY_READ)) { len = countof(buff); if(ERROR_SUCCESS == exts.QueryStringValue(CString(ext), buff, &len)) { - fl.Insert(DNew CFGFilterRegistry(GUIDFromCString(buff)), 4); + fl.Insert(LookupFilterRegistry(GUIDFromCString(buff), m_override), 4); } } len = countof(buff); if(ERROR_SUCCESS == key.QueryStringValue(_T("Source Filter"), buff, &len)) { - fl.Insert(DNew CFGFilterRegistry(GUIDFromCString(buff)), 5); + fl.Insert(LookupFilterRegistry(GUIDFromCString(buff), m_override), 5); } } @@ -309,7 +327,7 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl clsid != GUID_NULL && ERROR_SUCCESS == RegEnumValue(subkey, k, buff2, &len2, 0, &type, (BYTE*)buff, &len); k++, len = countof(buff), len2 = sizeof(buff2)) { if(CheckBytes(hFile, CString(buff))) { - CFGFilter* pFGF = DNew CFGFilterRegistry(clsid); + CFGFilter* pFGF = LookupFilterRegistry(clsid, m_override); pFGF->AddType(majortype, subtype); fl.Insert(pFGF, 9); break; @@ -345,7 +363,7 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl subtype = GUIDFromCString(buff); } - CFGFilter* pFGF = DNew CFGFilterRegistry(clsid); + CFGFilter* pFGF = LookupFilterRegistry(clsid, m_override); pFGF->AddType(majortype, subtype); fl.Insert(pFGF, 7); } @@ -356,7 +374,7 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl CloseHandle(hFile); } - CFGFilter* pFGF = DNew CFGFilterRegistry(CLSID_AsyncReader); + CFGFilter* pFGF = LookupFilterRegistry(CLSID_AsyncReader, m_override); pFGF->AddType(MEDIATYPE_Stream, MEDIASUBTYPE_NULL); fl.Insert(pFGF, 9); @@ -2291,7 +2309,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk) // Block VSFilter when internal subtitle renderer will get used if(s.fAutoloadSubtitles && s.fBlockVSFilter) { - if(s.iDSVideoRendererType == VIDRNDT_DS_VMR7RENDERLESS || s.iDSVideoRendererType == VIDRNDT_DS_VMR9RENDERLESS || s.iDSVideoRendererType == VIDRNDT_DS_EVR_CUSTOM || s.iDSVideoRendererType == VIDRNDT_DS_DXR || s.iDSVideoRendererType == VIDRNDT_DS_SYNC) { + if(s.iDSVideoRendererType == VIDRNDT_DS_VMR7RENDERLESS || s.iDSVideoRendererType == VIDRNDT_DS_VMR9RENDERLESS || s.iDSVideoRendererType == VIDRNDT_DS_EVR_CUSTOM || s.iDSVideoRendererType == VIDRNDT_DS_DXR || s.iDSVideoRendererType == VIDRNDT_DS_SYNC || s.iDSVideoRendererType == VIDRNDT_DS_MADVR) { m_transform.AddTail(DNew CFGFilterRegistry(GUIDFromCString(_T("{9852A670-F845-491B-9BE6-EBD841B8A613}")), MERIT64_DO_NOT_USE)); } } diff --git a/src/apps/mplayerc/FakeFilterMapper2.cpp b/src/apps/mplayerc/FakeFilterMapper2.cpp index daafea342..e44b2b34b 100644 --- a/src/apps/mplayerc/FakeFilterMapper2.cpp +++ b/src/apps/mplayerc/FakeFilterMapper2.cpp @@ -577,6 +577,12 @@ STDMETHODIMP CFilterMapper2::NonDelegatingQueryInterface(REFIID riid, void** ppv void CFilterMapper2::Register(CString path) { + // Add Filters directory into dll path, in case it needs some dlls from there.. + TCHAR buffer[512] = TEXT(""); + _tcscpy(buffer, path); + PathRemoveFileSpec(buffer); + SetDllDirectory(buffer); + // Load filter if(HMODULE h = LoadLibrary(path)) { typedef HRESULT (__stdcall * PDllRegisterServer)(); if(PDllRegisterServer p = (PDllRegisterServer)GetProcAddress(h, "DllRegisterServer")) { diff --git a/src/apps/mplayerc/FavoriteAddDlg.cpp b/src/apps/mplayerc/FavoriteAddDlg.cpp index 42fb6a8a7..8147f7018 100644 --- a/src/apps/mplayerc/FavoriteAddDlg.cpp +++ b/src/apps/mplayerc/FavoriteAddDlg.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/MainFrm.cpp b/src/apps/mplayerc/MainFrm.cpp index 0bcf136d8..845a08234 100644 --- a/src/apps/mplayerc/MainFrm.cpp +++ b/src/apps/mplayerc/MainFrm.cpp @@ -637,7 +637,7 @@ CMainFrame::CMainFrame() : m_pGraphThread(NULL), m_bOpenedThruThread(false) { - m_Lcd.SetVolumeRange(1, 100); + m_Lcd.SetVolumeRange(0, 100); m_LastSaveTime.QuadPart = 0; } @@ -1183,7 +1183,7 @@ BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) OnViewFullscreen(); PostMessage(WM_COMMAND, ID_PLAY_PAUSE); return TRUE; - } else if(IsCaptionMenuHidden()) { + } else if(IsCaptionHidden()) { PostMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU); return TRUE; } @@ -1268,6 +1268,7 @@ BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { + AppSettings &s = AfxGetAppSettings(); DWORD style = GetStyle(); MENUBARINFO mbi; @@ -1275,27 +1276,29 @@ void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) mbi.cbSize = sizeof(mbi); ::GetMenuBarInfo(m_hWnd, OBJID_MENU, 0, &mbi); - lpMMI->ptMinTrackSize.x = 0; - if ( !IsCaptionMenuHidden() ) { + lpMMI->ptMinTrackSize.x = 16; + if ( !IsMenuHidden() ) { // Calculate menu's horizontal length in pixels lpMMI->ptMinTrackSize.x = 10; CRect r; for (int i = 0; ::GetMenuItemRect(m_hWnd, mbi.hMenu, i, &r); i++) { lpMMI->ptMinTrackSize.x += r.Width(); } - lpMMI->ptMinTrackSize.x = max( m_wndToolBar.GetMinWidth(), lpMMI->ptMinTrackSize.x ); } - if ( style & WS_THICKFRAME ) { - lpMMI->ptMinTrackSize.x += GetSystemMetrics( (style & WS_CAPTION) ? SM_CXSIZEFRAME : SM_CXFIXEDFRAME ) * 2; + if ( IsWindow(m_wndToolBar.m_hWnd) && m_wndToolBar.IsVisible() ) { + lpMMI->ptMinTrackSize.x = max( m_wndToolBar.GetMinWidth(), lpMMI->ptMinTrackSize.x ); } - + lpMMI->ptMinTrackSize.y = 0; if ( style & WS_CAPTION ) { lpMMI->ptMinTrackSize.y += GetSystemMetrics( SM_CYCAPTION ); - // If we have a caption then we have a menu bar - lpMMI->ptMinTrackSize.y += GetSystemMetrics( SM_CYMENU ); //(mbi.rcBar.bottom - mbi.rcBar.top); + if(s.iCaptionMenuMode == MODE_SHOWCAPTIONMENU) + lpMMI->ptMinTrackSize.y += GetSystemMetrics( SM_CYMENU ); //(mbi.rcBar.bottom - mbi.rcBar.top); + //else MODE_HIDEMENU } + if ( style & WS_THICKFRAME ) { + lpMMI->ptMinTrackSize.x += GetSystemMetrics( (style & WS_CAPTION) ? SM_CXSIZEFRAME : SM_CXFIXEDFRAME ) * 2; lpMMI->ptMinTrackSize.y += GetSystemMetrics( SM_CYSIZEFRAME ) * 2; } @@ -1305,7 +1308,6 @@ void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) if ( !IsWindow(pCB->m_hWnd) || !pCB->IsVisible() ) { continue; } - lpMMI->ptMinTrackSize.y += pCB->CalcFixedLayout(TRUE, TRUE).cy; } @@ -1316,6 +1318,7 @@ void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) lpMMI->ptMinTrackSize.y += pCB->CalcFixedLayout(TRUE, TRUE).cy - 2; // 2 is a magic value from CSizingControlBar class, i guess this should be GetSystemMetrics( SM_CXBORDER ) or similar } } + if (lpMMI->ptMinTrackSize.y<16) lpMMI->ptMinTrackSize.y = 16; __super::OnGetMinMaxInfo( lpMMI ); } @@ -1423,8 +1426,9 @@ void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect) if ( style & WS_CAPTION ) { fsize.cy += GetSystemMetrics( SM_CYCAPTION ); - // If we have a caption then we have a menu bar - fsize.cy += GetSystemMetrics( SM_CYMENU ); //mbi.rcBar.bottom - mbi.rcBar.top; + if(s.iCaptionMenuMode == MODE_SHOWCAPTIONMENU) + fsize.cy += GetSystemMetrics( SM_CYMENU ); //mbi.rcBar.bottom - mbi.rcBar.top; + //else MODE_HIDEMENU } if ( style & WS_THICKFRAME ) { fsize.cy += GetSystemMetrics( SM_CYSIZEFRAME ) * 2; @@ -1500,6 +1504,14 @@ void CMainFrame::OnDisplayChange() // untested, not sure if it's working... MoveVideoWindow(); } } + + if(m_iMediaLoadState == MLS_LOADED) { + if(m_pGraphThread) { + m_pGraphThread->PostThreadMessage(CGraphThread::TM_DISPLAY_CHANGE, 0, 0); + } else { + DisplayChange(); + } + } } #include @@ -1522,6 +1534,9 @@ void CMainFrame::OnActivateApp(BOOL bActive, DWORD dwThreadID) { __super::OnActivateApp(bActive, dwThreadID); + if(AfxGetAppSettings().iOnTop) + return; + MONITORINFO mi; mi.cbSize = sizeof(MONITORINFO); GetMonitorInfo(MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST), &mi); @@ -2774,7 +2789,7 @@ void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point) if(!fClicked) { bool fLeftMouseBtnUnassigned = !assignedToCmd(wmcmd::LDOWN); - if(!m_fFullScreen && (IsCaptionMenuHidden() || fLeftMouseBtnUnassigned)) { + if(!m_fFullScreen && ((IsCaptionHidden() && AfxGetAppSettings().nCS<=CS_SEEKBAR) || fLeftMouseBtnUnassigned)) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); } else { s_fLDown = true; @@ -3006,17 +3021,21 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point) LRESULT CMainFrame::OnNcHitTest(CPoint point) { LRESULT nHitTest = __super::OnNcHitTest(point); - return ((IsCaptionMenuHidden()) && nHitTest == HTCLIENT) ? HTCAPTION : nHitTest; + return ((IsCaptionHidden()) && nHitTest == HTCLIENT) ? HTCAPTION : nHitTest; } void CMainFrame::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { + bool Shift_State = !!(::GetKeyState(VK_SHIFT)&0x8000); + if(AfxGetAppSettings().fFastSeek) + Shift_State = !Shift_State; + if(pScrollBar->IsKindOf(RUNTIME_CLASS(CVolumeCtrl))) { OnPlayVolume(0); } else if(pScrollBar->IsKindOf(RUNTIME_CLASS(CPlayerSeekBar)) && m_iMediaLoadState == MLS_LOADED) { - SeekTo(m_wndSeekBar.GetPos(), !!(::GetKeyState(VK_SHIFT)&0x8000)); + SeekTo(m_wndSeekBar.GetPos(), Shift_State); } else if (m_pVideoWnd == m_pVideoWnd) { - SeekTo(m_OSD.GetPos(), !!(::GetKeyState(VK_SHIFT)&0x8000)); + SeekTo(m_OSD.GetPos(), Shift_State); } __super::OnHScroll(nSBCode, nPos, pScrollBar); @@ -3256,14 +3275,16 @@ BOOL CMainFrame::OnMenu(CMenu* pMenu) CPoint point; GetCursorPos(&point); + MSG msg; pMenu->TrackPopupMenu(TPM_RIGHTBUTTON|TPM_NOANIMATION, point.x+1, point.y+1, this); + PeekMessage(&msg, this->m_hWnd, WM_LBUTTONDOWN, WM_LBUTTONDOWN, PM_REMOVE); //remove the click LMB, which closes the popup menu return TRUE; } void CMainFrame::OnMenuPlayerShort() { - if(IsCaptionMenuHidden() || m_pFullscreenWnd->IsWindow()) { + if(IsMenuHidden() || m_pFullscreenWnd->IsWindow()) { OnMenu(m_popupmain.GetSubMenu(0)); } else { OnMenu(m_popup.GetSubMenu(0)); @@ -3951,7 +3972,7 @@ void CMainFrame::OnFileOpenQuick() CAtlArray mask; AfxGetAppSettings().m_Formats.GetFilter(filter, mask); COpenFileDlg fd(mask, true, NULL, NULL, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY|OFN_NOCHANGEDIR, filter, GetModalParent()); if(fd.DoModal() != IDOK) { return; @@ -4430,7 +4451,7 @@ void CMainFrame::OnFileSaveAs() } CFileDialog fd(FALSE, 0, out, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, ResStr(IDS_MAINFRM_48), GetModalParent(), 0); if(fd.DoModal() != IDOK || !in.CompareNoCase(fd.GetPathName())) { return; @@ -4746,11 +4767,11 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn) AppSettings& s = AfxGetAppSettings(); - int cols = max (1, min (8, s.iThumbCols)), rows = max(1, min (8, s.iThumbRows)); + int cols = max (1, min (10, s.iThumbCols)), rows = max(1, min (20, s.iThumbRows)); int margin = 5; int infoheight = 70; - int width = max (256, min (2048, s.iThumbWidth)); + int width = max (256, min (2560, s.iThumbWidth)); int height = width * video.cy / video.cx * rows / cols + infoheight; int dibsize = sizeof(BITMAPINFOHEADER) + width*height*4; @@ -5044,7 +5065,7 @@ void CMainFrame::OnFileSaveImage() psrc.Combine(s.strSnapShotPath, MakeSnapshotFileName(prefix)); CFileDialog fd(FALSE, 0, (LPCTSTR)psrc, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, _T("BMP - Windows Bitmap (*.bmp)|*.bmp|JPG - JPEG Image (*.jpg)|*.jpg|PNG - Portable Network Graphics (*.png)|*.png||"), GetModalParent(), 0); if(s.strSnapShotExt == _T(".bmp")) { @@ -5201,7 +5222,7 @@ void CMainFrame::OnFileLoadsubtitle() _T("*.srt;*.sub;*.ssa;*.ass;*smi;*.psb;*.txt;*.idx;*.usf;*.xss||"); CFileDialog fd(TRUE, NULL, NULL, - OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY, + OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY|OFN_NOCHANGEDIR, szFilter, GetModalParent(), 0); if(fd.DoModal() != IDOK) { @@ -5247,7 +5268,7 @@ void CMainFrame::OnFileSavesubtitle() // remember to set lpszDefExt to the first extension in the filter so that the save dialog autocompletes the extension // and tracks attempts to overwrite in a graceful manner CFileDialog fd(FALSE, _T("idx"), suggestedFileName, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, _T("VobSub (*.idx, *.sub)|*.idx;*.sub||"), GetModalParent(), 0); if(fd.DoModal() == IDOK) { @@ -6335,23 +6356,28 @@ void CMainFrame::OnViewCaptionmenu() GetWindowRect( &wr ); switch(s.iCaptionMenuMode) { - case MODE_BORDERLESS : // normal -> borderless - dwRemove = WS_CAPTION | WS_THICKFRAME; - wr.right -= (GetSystemMetrics( SM_CXSIZEFRAME ) * 2); // "Resize" borders - wr.bottom -= (GetSystemMetrics( SM_CYSIZEFRAME ) * 2); // "Resize" borders - wr.bottom -= (GetSystemMetrics( SM_CYCAPTION ) + GetSystemMetrics( SM_CYMENU )); + case MODE_SHOWCAPTIONMENU: // borderless -> normal + dwAdd = WS_CAPTION | WS_THICKFRAME; + hMenu = m_hMenuDefault; + wr.right += GetSystemMetrics(SM_CXSIZEFRAME) * 2; + wr.bottom += GetSystemMetrics(SM_CYSIZEFRAME) * 2; + wr.bottom += GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYMENU); break; - case MODE_SHOWCAPTIONMENU: // frameonly -> normal - dwAdd = WS_CAPTION; - hMenu = m_hMenuDefault; - wr.bottom += (GetSystemMetrics( SM_CYCAPTION ) + GetSystemMetrics( SM_CYMENU )); + case MODE_HIDEMENU: // normal -> hidemenu + hMenu = NULL; + wr.bottom -= GetSystemMetrics(SM_CYMENU); + break; + + case MODE_FRAMEONLY: // hidemenu -> frameonly + dwRemove = WS_CAPTION; + wr.bottom -= GetSystemMetrics(SM_CYCAPTION); break; - case MODE_FRAMEONLY: // borderless -> frameonly - dwAdd = WS_THICKFRAME; - wr.right += (GetSystemMetrics( SM_CXSIZEFRAME ) * 2); - wr.bottom += (GetSystemMetrics( SM_CYSIZEFRAME ) * 2); + case MODE_BORDERLESS: // frameonly -> borderless + dwRemove = WS_THICKFRAME; + wr.right -= GetSystemMetrics(SM_CXSIZEFRAME) * 2; + wr.bottom -= GetSystemMetrics(SM_CYSIZEFRAME) * 2; break; } @@ -6365,7 +6391,7 @@ void CMainFrame::OnViewCaptionmenu() void CMainFrame::OnUpdateViewCaptionmenu(CCmdUI* pCmdUI) { - static int NEXT_MODE[] = {IDS_VIEW_CAPTIONMENU_NONE, IDS_VIEW_CAPTIONMENU_FRAME, IDS_VIEW_CAPTIONMENU_SHOW}; + static int NEXT_MODE[] = {IDS_VIEW_HIDEMENU, IDS_VIEW_FRAMEONLY, IDS_VIEW_BORDERLESS, IDS_VIEW_CAPTIONMENU}; int idx = (AfxGetAppSettings().iCaptionMenuMode %= MODE_COUNT); pCmdUI->SetText(ResStr(NEXT_MODE[idx])); } @@ -8133,7 +8159,7 @@ void CMainFrame::OnNavigateSkip(UINT nID) REFERENCE_TIME rtDur; pMS->GetDuration(&rtDur); CString m_strOSD; - m_strOSD.Format(_T("%s/%s %s: %d/%d - \"%s\""), ReftimeToString2(rt), ReftimeToString2(rtDur), ResStr(IDS_AG_CHAPTER2), i+1, nChapters, name); + m_strOSD.Format(_T("%s/%s %s%d/%d - \"%s\""), ReftimeToString2(rt), ReftimeToString2(rtDur), ResStr(IDS_AG_CHAPTER2), i+1, nChapters, name); m_OSD.DisplayMessage(OSD_TOPLEFT, m_strOSD, 3000); return; } @@ -8211,10 +8237,10 @@ void CMainFrame::OnNavigateSkip(UINT nID) CString m_strOSD; if(stop>0) - m_strOSD.Format(_T("%02d:%02d:%02d/%s %s, %s: %d/%d"), Location.TimeCode.bHours, Location.TimeCode.bMinutes, Location.TimeCode.bSeconds, + m_strOSD.Format(_T("%02d:%02d:%02d/%s %s, %s%d/%d"), Location.TimeCode.bHours, Location.TimeCode.bMinutes, Location.TimeCode.bSeconds, DVDtimeToString(RT2HMSF(stop)), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); else { - m_strOSD.Format(_T("%s, %s: %d/%d"), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); + m_strOSD.Format(_T("%s, %s%d/%d"), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); } m_OSD.DisplayMessage(OSD_TOPLEFT, m_strOSD, 3000); @@ -8381,7 +8407,7 @@ void CMainFrame::OnNavigateChapters(UINT nID) REFERENCE_TIME rtDur; pMS->GetDuration(&rtDur); CString m_strOSD; - m_strOSD.Format(_T("%s/%s %s: %d/%d - \"%s\""), ReftimeToString2(rt), ReftimeToString2(rtDur), ResStr(IDS_AG_CHAPTER2), nID+1, m_pCB->ChapGetCount(), name); + m_strOSD.Format(_T("%s/%s %s%d/%d - \"%s\""), ReftimeToString2(rt), ReftimeToString2(rtDur), ResStr(IDS_AG_CHAPTER2), nID+1, m_pCB->ChapGetCount(), name); m_OSD.DisplayMessage(OSD_TOPLEFT, m_strOSD, 3000); } return; @@ -8428,10 +8454,10 @@ void CMainFrame::OnNavigateChapters(UINT nID) CString m_strOSD; if(stop>0) - m_strOSD.Format(_T("%02d:%02d:%02d/%s %s, %s: %d/%d"), Location.TimeCode.bHours, Location.TimeCode.bMinutes, Location.TimeCode.bSeconds, + m_strOSD.Format(_T("%02d:%02d:%02d/%s %s, %s%d/%d"), Location.TimeCode.bHours, Location.TimeCode.bMinutes, Location.TimeCode.bSeconds, DVDtimeToString(RT2HMSF(stop)), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); else { - m_strOSD.Format(_T("%s, %s: %d/%d"), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); + m_strOSD.Format(_T("%s, %s%d/%d"), m_strTitle, ResStr(IDS_AG_CHAPTER2), Location.ChapterNum, ulNumOfChapters); } m_OSD.DisplayMessage(OSD_TOPLEFT, m_strOSD, 3000); @@ -9041,13 +9067,32 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor) h = _DEFCLIENTH + ((style&WS_THICKFRAME) ? GetSystemMetrics(SM_CYSIZEFRAME)*2 : 0) + r1.Height() - r2.Height(); - if(style&WS_CAPTION) { - h += GetSystemMetrics(SM_CYCAPTION); // if we have caption then we have menu too - h += GetSystemMetrics(SM_CYMENU); + if(style & WS_CAPTION) { + h += GetSystemMetrics(SM_CYCAPTION); + if(s.iCaptionMenuMode == MODE_SHOWCAPTIONMENU) + h += GetSystemMetrics(SM_CYMENU); + //else MODE_HIDEMENU } } + bool inmonitor = false; if(s.fRememberWindowPos) { + CMonitor monitor; + CMonitors monitors; + POINT ptA; + ptA.x = s.rcLastWindowPos.TopLeft().x; + ptA.y = s.rcLastWindowPos.TopLeft().y; + + for ( int i = 0; i < monitors.GetCount(); i++ ) { + monitor = monitors.GetMonitor( i ); + if(monitor.IsOnMonitor(ptA)) { + inmonitor = true; + break; + } + } + } + + if(s.fRememberWindowPos && inmonitor) { x = s.rcLastWindowPos.TopLeft().x; y = s.rcLastWindowPos.TopLeft().y; } else { @@ -9073,12 +9118,11 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor) UINT lastWindowType = s.nLastWindowType; MoveWindow(x, y, w, h); - if(s.iCaptionMenuMode!=MODE_SHOWCAPTIONMENU) { - DWORD dwRemove = WS_CAPTION; - if(s.iCaptionMenuMode == MODE_BORDERLESS) { - dwRemove |= WS_THICKFRAME; - } - ModifyStyle(dwRemove, 0, SWP_NOZORDER); + if (s.iCaptionMenuMode!=MODE_SHOWCAPTIONMENU) { + if (s.iCaptionMenuMode==MODE_FRAMEONLY) + ModifyStyle(WS_CAPTION, 0, SWP_NOZORDER); + else if (s.iCaptionMenuMode==MODE_BORDERLESS) + ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_NOZORDER); ::SetMenu(m_hWnd, NULL); SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED|SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER); } @@ -9138,9 +9182,11 @@ void CMainFrame::RestoreDefaultWindowRect() h = _DEFCLIENTH + ((style&WS_THICKFRAME) ? GetSystemMetrics(SM_CYSIZEFRAME)*2 : 0) + r1.Height() - r2.Height(); - if(style&WS_CAPTION) { + if(style & WS_CAPTION) { h += GetSystemMetrics(SM_CYCAPTION); - h += GetSystemMetrics(SM_CYMENU); + if(s.iCaptionMenuMode == MODE_SHOWCAPTIONMENU) + h += GetSystemMetrics(SM_CYMENU); + //else MODE_HIDEMENU } } @@ -9254,6 +9300,8 @@ CSize CMainFrame::GetVideoSize() void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasTo) { + if(m_pFullscreenWnd->IsWindow()) return; + AppSettings& s = AfxGetAppSettings(); CRect r; DWORD dwRemove = 0, dwAdd = 0; @@ -9698,8 +9746,9 @@ void CMainFrame::ZoomVideoWindow(bool snap, double scale) if ( style & WS_CAPTION ) { h += GetSystemMetrics( SM_CYCAPTION ); - // If we have a caption then we have a menu bar - h += GetSystemMetrics( SM_CYMENU ); + if(s.iCaptionMenuMode == MODE_SHOWCAPTIONMENU) + h += GetSystemMetrics( SM_CYMENU ); + //else MODE_HIDEMENU } if (GetPlaybackMode() == PM_CAPTURE && !s.fHideNavigation && !m_fFullScreen && !m_wndNavigationBar.IsVisible()) { @@ -9901,10 +9950,11 @@ void CMainFrame::SetBalance(int balance) { AfxGetAppSettings().nBalance = balance; - int sign = balance>0?-1:1; - balance = max(100-abs(balance), 1); - balance = (int)((log10(1.0*balance)-2)*5000*sign); - balance = max(min(balance, 10000), -10000); + int sign = balance>0?-1:1; // -1: invert sign for more right channel + if (balance > -100 && balance < 100) + balance = sign*(int)(100*20*log10(1-abs(balance)/100.0f)); + else + balance = sign*(-10000);// -10000: only left, 10000: only right if(m_iMediaLoadState == MLS_LOADED) { pBA->put_Balance(balance); @@ -10832,10 +10882,13 @@ void CMainFrame::OpenSetupAudio() // FIXME int balance = AfxGetAppSettings().nBalance; - int sign = balance>0?-1:1; - balance = max(100-abs(balance), 1); - balance = (int)((log10(1.0*balance)-2)*5000*sign); - balance = max(min(balance, 10000), -10000); + + int sign = balance>0?-1:1; // -1: invert sign for more right channel + if (balance > -100 && balance < 100) + balance = sign*(int)(100*20*log10(1-abs(balance)/100.0f)); + else + balance = sign*(-10000);// -10000: only left, 10000: only right + pBA->put_Balance(balance); } /* @@ -11062,8 +11115,7 @@ void CMainFrame::OpenSetupWindowTitle(CString fn) fn = _T("Live"); } } - - title = fn + _T(" - ") + m_strTitle; + title = fn; } SetWindowText(title); @@ -11233,6 +11285,7 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr pOMD) try { CComPtr pVMB; CComPtr pMFVMB; + CComPtr pMVTO; if(m_fOpeningAborted) { throw aborted; } @@ -11274,7 +11327,11 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr pOMD) pGB->FindInterface(__uuidof(IVMRMixerControl9), (void**)&m_pMC, TRUE); pGB->FindInterface(__uuidof(IVMRMixerBitmap9), (void**)&pVMB, TRUE); pGB->FindInterface(__uuidof(IMFVideoMixerBitmap), (void**)&pMFVMB, TRUE); - if (pVMB && s.fShowOSD) { + pMVTO = m_pCAP; + + if (pMVTO && s.fShowOSD) { + m_OSD.Start (m_pVideoWnd, pMVTO); + } else if (pVMB && s.fShowOSD) { m_OSD.Start (m_pVideoWnd, pVMB); } else if (pMFVMB && s.fShowOSD) { m_OSD.Start (m_pVideoWnd, pMFVMB); @@ -11486,6 +11543,7 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr pOMD) m_strOSD += _T(" DVD"); } if(m_strOSD != _T("")) { + Sleep(500); m_OSD.DisplayMessage(OSD_TOPLEFT, m_strOSD, 3000); } @@ -12507,6 +12565,12 @@ IBaseFilter* CMainFrame::FindSourceSelectableFilter() IBaseFilter* pSF = NULL; pSF = FindFilter(CLSID_OggSplitter, pGB); + if(!pSF) { + pSF = FindFilter(L"{171252A0-8820-4AFE-9DF8-5C92B2D66B04}", pGB); // LAV Splitter + } + if(!pSF) { + pSF = FindFilter(L"{B98D13E7-55DB-4385-A33D-09FD1BA26338}", pGB); // LAV Splitter Source + } if(!pSF) { pSF = FindFilter(L"{55DA30FC-F16B-49fc-BAA5-AE59FC65F82D}", pGB); } @@ -12705,14 +12769,16 @@ void CMainFrame::SetupFavoritesSubMenu() while(pos) { UINT flags = MF_BYCOMMAND|MF_STRING|MF_ENABLED; - CString str = sl.GetNext(pos); - str.Replace(_T("&"), _T("&&")); - str.Replace(_T("\t"), _T(" ")); + CString f_str = sl.GetNext(pos); + f_str.Replace(_T("&"), _T("&&")); + f_str.Replace(_T("\t"), _T(" ")); CAtlList sl; - Explode(str, sl, ';', 3); + Explode(f_str, sl, ';', 3); - str = sl.RemoveHead(); + f_str = sl.RemoveHead(); + + CString str; if(!sl.IsEmpty()) { bool bPositionDataPresent = false; @@ -12721,7 +12787,7 @@ void CMainFrame::SetupFavoritesSubMenu() REFERENCE_TIME rt = 0; if(1 == _stscanf_s(sl.GetHead(), _T("%I64d"), &rt) && rt > 0) { DVD_HMSF_TIMECODE hmsf = RT2HMSF(rt, 0); - str.Format(_T("%s\t[%02d:%02d:%02d]"), CString(str), hmsf.bHours, hmsf.bMinutes, hmsf.bSeconds); + str.Format(_T("[%02d:%02d:%02d]"), hmsf.bHours, hmsf.bMinutes, hmsf.bSeconds); bPositionDataPresent = true; } @@ -12731,13 +12797,18 @@ void CMainFrame::SetupFavoritesSubMenu() BOOL bRelativeDrive = FALSE; if ( _stscanf_s(sl.GetHead(), _T("%d"), &bRelativeDrive) == 1 ) { - str.Format(_T("%s%s[RD: %s]"), CString(str), bPositionDataPresent ? _T(" ") : _T("\t"), bRelativeDrive ? _T("On") : _T("Off")); + if(bRelativeDrive) { + str.Format(_T("[RD]%s"), CString(str)); + } } } + if(!str.IsEmpty()) { + f_str.Format(_T("%s\t%.14s"), CString(f_str), CString(str)); + } } - if(!str.IsEmpty()) { - pSub->AppendMenu(flags, id, str); + if(!f_str.IsEmpty()) { + pSub->AppendMenu(flags, id, f_str); } id++; @@ -13268,6 +13339,7 @@ void CMainFrame::SeekTo(REFERENCE_TIME rtPos, bool fSeekToKeyFrame) m_wndSeekBar.GetRange(start, stop); GUID tf; pMS->GetTimeFormat(&tf); + if(start && stop) rtPos = min(rtPos, stop); m_wndStatusBar.SetStatusTimer(rtPos, stop, !!m_wndSubresyncBar.IsWindowVisible(), &tf); m_OSD.DisplayMessage(OSD_TOPLEFT, m_wndStatusBar.GetStatusTimer(), 1500); } @@ -13838,7 +13910,9 @@ void CMainFrame::OpenMedia(CAutoPtr pOMD) AppSettings& s = AfxGetAppSettings(); - bool fUseThread = m_pGraphThread && AfxGetAppSettings().fEnableWorkerThreadForOpening; + bool fUseThread = m_pGraphThread && AfxGetAppSettings().fEnableWorkerThreadForOpening + // don't use a worker thread in D3DFullscreen mode except madVR + && (!AfxGetAppSettings().IsD3DFullscreen() || AfxGetAppSettings().iDSVideoRendererType==VIDRNDT_DS_MADVR); if(OpenFileData* p = dynamic_cast(pOMD.m_p)) { if(p->fns.GetCount() > 0) { @@ -13868,6 +13942,14 @@ bool CMainFrame::ResetDevice() return true; } +bool CMainFrame::DisplayChange() +{ + if (m_pCAP) { + return m_pCAP->DisplayChange(); + } + return true; +} + void CMainFrame::CloseMedia() { if(m_iMediaLoadState == MLS_CLOSING) { @@ -14006,6 +14088,7 @@ BEGIN_MESSAGE_MAP(CGraphThread, CWinThread) ON_THREAD_MESSAGE(TM_CLOSE, OnClose) ON_THREAD_MESSAGE(TM_RESET, OnReset) ON_THREAD_MESSAGE(TM_TUNER_SCAN, OnTunerScan) + ON_THREAD_MESSAGE(TM_DISPLAY_CHANGE, OnDisplayChange) END_MESSAGE_MAP() void CGraphThread::OnExit(WPARAM wParam, LPARAM lParam) @@ -14057,6 +14140,12 @@ void CGraphThread::OnTunerScan(WPARAM wParam, LPARAM lParam) } } +void CGraphThread::OnDisplayChange(WPARAM wParam, LPARAM lParam) +{ + if(m_pMainFrame) { + m_pMainFrame->DisplayChange(); + } +} // ==== Added by CASIMIR666 void CMainFrame::SetLoadState(MPC_LOADSTATE iState) diff --git a/src/apps/mplayerc/MainFrm.h b/src/apps/mplayerc/MainFrm.h index 14195def5..3ae33010b 100644 --- a/src/apps/mplayerc/MainFrm.h +++ b/src/apps/mplayerc/MainFrm.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -138,13 +138,14 @@ public: BOOL InitInstance(); int ExitInstance(); - enum {TM_EXIT=WM_APP, TM_OPEN, TM_CLOSE, TM_RESET, TM_TUNER_SCAN}; + enum {TM_EXIT=WM_APP, TM_OPEN, TM_CLOSE, TM_RESET, TM_TUNER_SCAN, TM_DISPLAY_CHANGE}; DECLARE_MESSAGE_MAP() afx_msg void OnExit(WPARAM wParam, LPARAM lParam); afx_msg void OnOpen(WPARAM wParam, LPARAM lParam); afx_msg void OnClose(WPARAM wParam, LPARAM lParam); afx_msg void OnReset(WPARAM wParam, LPARAM lParam); afx_msg void OnTunerScan(WPARAM wParam, LPARAM lParam); + afx_msg void OnDisplayChange(WPARAM wParam, LPARAM lParam); }; /* class CKeyFrameFinderThread : public CWinThread, public CCritSec @@ -365,7 +366,10 @@ public: bool IsFrameLessWindow() const { return(m_fFullScreen || AfxGetAppSettings().iCaptionMenuMode==MODE_BORDERLESS); } - bool IsCaptionMenuHidden() const { + bool IsCaptionHidden() const {//If no caption, there is no menu bar. But if is no menu bar, then the caption can be. + return(!m_fFullScreen && AfxGetAppSettings().iCaptionMenuMode>MODE_HIDEMENU);//!=MODE_SHOWCAPTIONMENU && !=MODE_HIDEMENU + } + bool IsMenuHidden() const { return(!m_fFullScreen && AfxGetAppSettings().iCaptionMenuMode!=MODE_SHOWCAPTIONMENU); } bool IsSomethingLoaded() const { @@ -436,6 +440,7 @@ public: void OpenCurPlaylistItem(REFERENCE_TIME rtStart = 0); void OpenMedia(CAutoPtr pOMD); bool ResetDevice(); + bool DisplayChange(); void CloseMedia(); void StartTunerScan(CAutoPtr pTSD); void StopTunerScan(); @@ -878,7 +883,6 @@ public: afx_msg void OnLanguage(UINT nID); afx_msg void OnUpdateLanguage(CCmdUI* pCmdUI); - CMPC_Lcd m_Lcd; // ==== Added by CASIMIR666 diff --git a/src/apps/mplayerc/MiniDump.cpp b/src/apps/mplayerc/MiniDump.cpp index 9f09b9dac..8336ff3a4 100644 --- a/src/apps/mplayerc/MiniDump.cpp +++ b/src/apps/mplayerc/MiniDump.cpp @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -119,7 +119,7 @@ LONG WINAPI CMiniDump::UnhandledExceptionFilter( _EXCEPTION_POINTERS *lpTopLevel _TCHAR szVersion[ 40 ]; GetModuleFileName( NULL, szDumpPath, _MAX_PATH ); - _stprintf_s( szVersion, countof(szVersion), _T(".%d.%d.%d.%d"), MPC_VERSION ); + _stprintf_s( szVersion, countof(szVersion), _T(".%d.%d.%d.%d"), MPC_VERSION_NUM ); _tcscat_s( szDumpPath, _MAX_PATH, szVersion ); _tcscat_s( szDumpPath, _MAX_PATH, _T(".dmp") ); diff --git a/src/apps/mplayerc/Mpeg2SectionData.cpp b/src/apps/mplayerc/Mpeg2SectionData.cpp index ce90be838..b58ba1990 100644 --- a/src/apps/mplayerc/Mpeg2SectionData.cpp +++ b/src/apps/mplayerc/Mpeg2SectionData.cpp @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/OpenDlg.cpp b/src/apps/mplayerc/OpenDlg.cpp index 60c50e3c4..5c904d6c3 100644 --- a/src/apps/mplayerc/OpenDlg.cpp +++ b/src/apps/mplayerc/OpenDlg.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -128,7 +128,7 @@ void COpenDlg::OnBnClickedBrowsebutton() AfxGetAppSettings().m_Formats.GetFilter(filter, mask); COpenFileDlg fd(mask, true, NULL, m_path, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY|OFN_NOCHANGEDIR, filter, this); if(fd.DoModal() != IDOK) { return; @@ -170,7 +170,7 @@ void COpenDlg::OnBnClickedBrowsebutton2() AfxGetAppSettings().m_Formats.GetAudioFilter(filter, mask); COpenFileDlg fd(mask, false, NULL, m_path2, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ENABLEINCLUDENOTIFY, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ENABLEINCLUDENOTIFY|OFN_NOCHANGEDIR, filter, this); if(fd.DoModal() != IDOK) { diff --git a/src/apps/mplayerc/PPageAccelTbl.cpp b/src/apps/mplayerc/PPageAccelTbl.cpp index e0214fae3..c1e41aba6 100644 --- a/src/apps/mplayerc/PPageAccelTbl.cpp +++ b/src/apps/mplayerc/PPageAccelTbl.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -1481,7 +1481,7 @@ BOOL CPPageAccelTbl::OnInitDialog() m_list.DeleteColumn(0); } m_list.InsertColumn(COL_CMD, ResStr(IDS_AG_COMMAND), LVCFMT_LEFT, 80); - m_list.InsertColumn(COL_MOD, _T("Modifier"), LVCFMT_LEFT, 40); + m_list.InsertColumn(COL_MOD, ResStr(IDS_AG_MODIFIER), LVCFMT_LEFT, 40); m_list.InsertColumn(COL_KEY, ResStr(IDS_AG_KEY), LVCFMT_LEFT, 40); m_list.InsertColumn(COL_TYPE, ResStr(IDS_AG_TYPE), LVCFMT_LEFT, 40); m_list.InsertColumn(COL_ID, _T("ID"), LVCFMT_LEFT, 40); diff --git a/src/apps/mplayerc/PPageCapture.cpp b/src/apps/mplayerc/PPageCapture.cpp index df61c0605..17d1ede17 100644 --- a/src/apps/mplayerc/PPageCapture.cpp +++ b/src/apps/mplayerc/PPageCapture.cpp @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/PPageFileInfoDetails.cpp b/src/apps/mplayerc/PPageFileInfoDetails.cpp index add9ff348..23fa18487 100644 --- a/src/apps/mplayerc/PPageFileInfoDetails.cpp +++ b/src/apps/mplayerc/PPageFileInfoDetails.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/PPageFileInfoRes.cpp b/src/apps/mplayerc/PPageFileInfoRes.cpp index 773924b5d..9ca363825 100644 --- a/src/apps/mplayerc/PPageFileInfoRes.cpp +++ b/src/apps/mplayerc/PPageFileInfoRes.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -121,7 +121,7 @@ void CPPageFileInfoRes::OnSaveAs() CDSMResource& r = m_res.GetAt((POSITION)m_list.GetItemData(i)); CFileDialog fd(FALSE, NULL, CString(r.name), - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR, _T("All files|*.*||"), this, 0); if(fd.DoModal() == IDOK) { if(FILE* f = _tfopen(fd.GetPathName(), _T("wb"))) { diff --git a/src/apps/mplayerc/PPageFileInfoSheet.cpp b/src/apps/mplayerc/PPageFileInfoSheet.cpp index 54179b7f1..632f314a8 100644 --- a/src/apps/mplayerc/PPageFileInfoSheet.cpp +++ b/src/apps/mplayerc/PPageFileInfoSheet.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -38,8 +38,8 @@ CPPageFileInfoSheet::CPPageFileInfoSheet(CString fn, CMainFrame* pMainFrame, CWn , m_mi(fn, pMainFrame->pGB) , m_fn(fn) { - AddPage(&m_clip); AddPage(&m_details); + AddPage(&m_clip); BeginEnumFilters(pMainFrame->pGB, pEF, pBF) { if(CComQIPtr pRB = pBF) @@ -99,7 +99,7 @@ BOOL CPPageFileInfoSheet::OnInitDialog() void CPPageFileInfoSheet::OnSaveAs() { CFileDialog filedlg (FALSE, _T("*.txt"), m_fn, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL); if (filedlg.DoModal() == IDOK) { // user has chosen a file, so diff --git a/src/apps/mplayerc/PPageFullscreen.cpp b/src/apps/mplayerc/PPageFullscreen.cpp index 7f30215d3..670151bdb 100644 --- a/src/apps/mplayerc/PPageFullscreen.cpp +++ b/src/apps/mplayerc/PPageFullscreen.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -282,9 +282,7 @@ void CPPageFullscreen::ModesUpdate() if (!ModeExist) { break; } - if(dm.bpp <= 8) { - continue; - } + if(dm.bpp != 32) continue; // skip non 32bpp mode //skip doubles (check previous only) if (j>0 && (dm.bpp == m_dms[j-1].bpp && dm.dmDisplayFlags == m_dms[j-1].dmDisplayFlags && dm.freq == m_dms[j-1].freq && dm.fValid == m_dms[j-1].fValid @@ -292,7 +290,7 @@ void CPPageFullscreen::ModesUpdate() continue; } m_dms.Add(dm); - str.Format(_T("%dx%d %dbpp %d") + ResStr(IDS_HZ), dm.size.cx, dm.size.cy, dm.bpp, dm.freq); + str.Format(_T("%dx%d %d") + ResStr(IDS_HZ), dm.size.cx, dm.size.cy, dm.freq); if (dm.dmDisplayFlags == DM_INTERLACED) { str+=_T(" ")+ ResStr(IDS_INTERLACED); } diff --git a/src/apps/mplayerc/PPageInternalFilters.cpp b/src/apps/mplayerc/PPageInternalFilters.cpp index e58390ea3..58ded729b 100644 --- a/src/apps/mplayerc/PPageInternalFilters.cpp +++ b/src/apps/mplayerc/PPageInternalFilters.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -80,7 +80,7 @@ s_filters[] = { {_T("MPEG Audio"), SOURCE_FILTER, SRC_MPA, IDS_SRC_MPA, NULL}, #endif #if INTERNAL_SOURCEFILTER_MPEG - {_T("MPEG PS/TS/PVA"), SOURCE_FILTER, SRC_MPEG, 0, NULL}, + {_T("MPEG PS/TS/PVA"), SOURCE_FILTER, SRC_MPEG, 0, CreateInstance}, #endif #if INTERNAL_SOURCEFILTER_NUT {_T("Nut"), SOURCE_FILTER, SRC_NUT, IDS_SRC_NUT, NULL}, diff --git a/src/apps/mplayerc/PPageLogo.cpp b/src/apps/mplayerc/PPageLogo.cpp index e7821089d..f4cd2fa14 100644 --- a/src/apps/mplayerc/PPageLogo.cpp +++ b/src/apps/mplayerc/PPageLogo.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -168,7 +168,7 @@ void CPPageLogo::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) void CPPageLogo::OnBnClickedButton2() { CFileDialog dlg(TRUE, NULL, m_logofn, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_NOCHANGEDIR, _T("Images (*.bmp;*.gif;*.jpg;*.png)|*.bmp;*.gif;*.jpg;*.png|All files (*.*)|*.*||"), this, 0); diff --git a/src/apps/mplayerc/PPageOutput.cpp b/src/apps/mplayerc/PPageOutput.cpp index be8da7d88..08fe12956 100644 --- a/src/apps/mplayerc/PPageOutput.cpp +++ b/src/apps/mplayerc/PPageOutput.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/PPagePlayback.cpp b/src/apps/mplayerc/PPagePlayback.cpp index 4c2615256..cac28e157 100644 --- a/src/apps/mplayerc/PPagePlayback.cpp +++ b/src/apps/mplayerc/PPagePlayback.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -82,6 +82,9 @@ BEGIN_MESSAGE_MAP(CPPagePlayback, CPPageBase) ON_UPDATE_COMMAND_UI(IDC_EDIT1, OnUpdateLoopNum) ON_UPDATE_COMMAND_UI(IDC_STATIC1, OnUpdateLoopNum) ON_UPDATE_COMMAND_UI(IDC_COMBO1, OnUpdateAutoZoomCombo) + + ON_STN_DBLCLK(IDC_STATIC_BALANCE, OnBalanceTextDblClk) + ON_NOTIFY_EX(TTN_NEEDTEXTW, 0, OnToolTipNotify) END_MESSAGE_MAP() @@ -95,12 +98,14 @@ BOOL CPPagePlayback::OnInitDialog() AppSettings& s = AfxGetAppSettings(); - m_volumectrl.SetRange(1, 100); + m_volumectrl.SetRange(0, 100); m_volumectrl.SetTicFreq(10); - m_balancectrl.SetRange(0, 200); + m_balancectrl.SetRange(-100, 100); + m_balancectrl.SetLineSize(2); + m_balancectrl.SetPageSize(2); m_balancectrl.SetTicFreq(20); m_nVolume = s.nVolume; - m_nBalance = s.nBalance+100; + m_nBalance = s.nBalance; m_iLoopForever = s.fLoopForever?1:0; m_nLoops = s.nLoops; m_fRewind = s.fRewind; @@ -126,7 +131,7 @@ BOOL CPPagePlayback::OnApply() AppSettings& s = AfxGetAppSettings(); s.nVolume = m_nVolume; - s.nBalance = m_nBalance-100; + s.nBalance = m_nBalance; s.fLoopForever = !!m_iLoopForever; s.nLoops = m_nLoops; s.fRewind = !!m_fRewind; @@ -158,7 +163,7 @@ void CPPagePlayback::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) ((CMainFrame*)GetParentFrame())->m_wndToolBar.Volume = m_nVolume; // nice shortcut... } else if(*pScrollBar == m_balancectrl) { UpdateData(); - ((CMainFrame*)GetParentFrame())->SetBalance(m_nBalance-100); // see prev note... + ((CMainFrame*)GetParentFrame())->SetBalance(m_nBalance); // see prev note... } SetModified(); @@ -181,6 +186,50 @@ void CPPagePlayback::OnUpdateAutoZoomCombo(CCmdUI* pCmdUI) pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK5)); } +void CPPagePlayback::OnBalanceTextDblClk() +{ + // double click on text "Balance" resets the balance to zero + m_balancectrl.SetPos(0); + ((CMainFrame*)GetParentFrame())->SetBalance(0); + SetModified(); +} + +BOOL CPPagePlayback::OnToolTipNotify(UINT id, NMHDR * pNMHDR, LRESULT * pResult) +{ + TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR; + + UINT nID = pNMHDR->idFrom; + + if (pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND)) { + nID = ::GetDlgCtrlID((HWND)nID); + } + + if(nID == 0) return FALSE; + + static CStringW m_strTipTextW; + + if (nID == IDC_SLIDER1) { + m_strTipTextW.Format(L"%d%%", m_nVolume); + } + else if (nID == IDC_SLIDER2) { + if (m_nBalance == 0) + m_strTipTextW = L"L = R"; + else if (m_nBalance < 0) + m_strTipTextW.Format(L"L +%d%%", -m_nBalance); + else //if (m_nBalance > 0) + m_strTipTextW.Format(L"R +%d%%", m_nBalance); + } + else return FALSE; + + if(pNMHDR->code == TTN_NEEDTEXTW) { //?possible check is not needed + pTTTW->lpszText = (LPWSTR)(LPCWSTR)m_strTipTextW; + } + + *pResult = 0; + + return TRUE; // message was handled +} + BOOL CPPagePlayback::OnSetActive() { AppSettings& s = AfxGetAppSettings(); diff --git a/src/apps/mplayerc/PPagePlayback.h b/src/apps/mplayerc/PPagePlayback.h index 46a23322c..b8a641149 100644 --- a/src/apps/mplayerc/PPagePlayback.h +++ b/src/apps/mplayerc/PPagePlayback.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -74,4 +74,7 @@ public: afx_msg void OnBnClickedRadio12(UINT nID); afx_msg void OnUpdateLoopNum(CCmdUI* pCmdUI); afx_msg void OnUpdateAutoZoomCombo(CCmdUI* pCmdUI); + + afx_msg void OnBalanceTextDblClk(); + afx_msg BOOL OnToolTipNotify(UINT id, NMHDR * pNMHDR, LRESULT * pResult); }; diff --git a/src/apps/mplayerc/PPageSync.cpp b/src/apps/mplayerc/PPageSync.cpp index 5eec38aa8..603f5143b 100644 --- a/src/apps/mplayerc/PPageSync.cpp +++ b/src/apps/mplayerc/PPageSync.cpp @@ -1,5 +1,5 @@ /* - * (C) 2006-2007 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/PPageSync.h b/src/apps/mplayerc/PPageSync.h index 10034b0e2..2bb7803df 100644 --- a/src/apps/mplayerc/PPageSync.h +++ b/src/apps/mplayerc/PPageSync.h @@ -1,5 +1,5 @@ /* - * (C) 2006-2007 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/PPageTweaks.cpp b/src/apps/mplayerc/PPageTweaks.cpp index 30af86770..4c82ba797 100644 --- a/src/apps/mplayerc/PPageTweaks.cpp +++ b/src/apps/mplayerc/PPageTweaks.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -71,6 +71,7 @@ void CPPageTweaks::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_CHECK7, m_fDontUseSearchInFolder); DDX_Control(pDX, IDC_COMBO1, m_FontType); DDX_Control(pDX, IDC_COMBO2, m_FontSize); + DDX_Check(pDX, IDC_CHECK1, m_fFastSeek); } int CALLBACK EnumFontProc(ENUMLOGFONT FAR* lf, NEWTEXTMETRIC FAR* tm, int FontType, LPARAM dwData) @@ -105,6 +106,8 @@ BOOL CPPageTweaks::OnInitDialog() m_OSD_Size = s.nOSDSize; m_OSD_Font = s.strOSDFont; + m_fFastSeek = s.fFastSeek; + CString str; int iSel = 0; m_FontType.Clear(); @@ -162,6 +165,8 @@ BOOL CPPageTweaks::OnApply() s.nOSDSize = m_OSD_Size; m_FontType.GetLBText(m_FontType.GetCurSel(),s.strOSDFont); + s.fFastSeek = !!m_fFastSeek; + CMainFrame* pFrame = ((CMainFrame*)GetParentFrame()); if(m_fUseWin7TaskBar) { pFrame->CreateThumbnailToolbar(); diff --git a/src/apps/mplayerc/PPageTweaks.h b/src/apps/mplayerc/PPageTweaks.h index 21f919183..0ed06daa8 100644 --- a/src/apps/mplayerc/PPageTweaks.h +++ b/src/apps/mplayerc/PPageTweaks.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -61,6 +61,8 @@ public: int m_OSD_Size; CString m_OSD_Font; + BOOL m_fFastSeek; + protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL OnInitDialog(); diff --git a/src/apps/mplayerc/PlayerCaptureDialog.cpp b/src/apps/mplayerc/PlayerCaptureDialog.cpp index 768741ded..713ed6374 100644 --- a/src/apps/mplayerc/PlayerCaptureDialog.cpp +++ b/src/apps/mplayerc/PlayerCaptureDialog.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -1537,7 +1537,7 @@ void CPlayerCaptureDialog::OnAudioCodecDimension() void CPlayerCaptureDialog::OnOpenFile() { CFileDialog fd(FALSE, NULL, NULL, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR, _T("Media files (*.avi,*.ogm,*.mkv,*.dsm)|*.avi;*.ogm;*.mkv;*.dsm|"), this, 0); if(fd.DoModal() == IDOK) { diff --git a/src/apps/mplayerc/PlayerNavigationBar.cpp b/src/apps/mplayerc/PlayerNavigationBar.cpp index c8e1710a0..13b8c383b 100644 --- a/src/apps/mplayerc/PlayerNavigationBar.cpp +++ b/src/apps/mplayerc/PlayerNavigationBar.cpp @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -82,31 +82,29 @@ void CPlayerNavigationBar::OnSize(UINT nType, int cx, int cy) __super::OnSize(nType, cx, cy); if(::IsWindow(m_navdlg.m_hWnd)) { - CRect r; + CRect r, rectComboAudio, rectButtonInfo, rectButtonScan; + LONG totalsize, separation, sizeComboAudio, sizeButtonInfo, sizeButtonScan; GetClientRect(r); m_navdlg.MoveWindow(r); r.DeflateRect(8,8,8,50); m_navdlg.m_ChannelList.MoveWindow(r); - m_navdlg.m_ComboAudio.SetWindowPos(NULL, r.left,r.bottom +5, 0,0, SWP_NOSIZE | SWP_NOZORDER); - m_navdlg.m_ButtonInfo.SetWindowPos(NULL, r.left+85,r.bottom +5, 0,0, SWP_NOSIZE | SWP_NOZORDER); - m_navdlg.m_ButtonScan.SetWindowPos(NULL, r.left+135,r.bottom +5, 0,0, SWP_NOSIZE | SWP_NOZORDER); - m_navdlg.m_ButtonFilterStations.SetWindowPos(NULL, r.left,r.bottom +30, 0,0, SWP_NOSIZE | SWP_NOZORDER); + m_navdlg.m_ComboAudio.GetClientRect(rectComboAudio); + m_navdlg.m_ButtonInfo.GetClientRect(rectButtonInfo); + m_navdlg.m_ButtonScan.GetClientRect(rectButtonScan); + sizeComboAudio = rectComboAudio.right - rectComboAudio.left; + sizeButtonInfo = rectButtonInfo.right - rectButtonInfo.left; + sizeButtonScan = rectButtonScan.right - rectButtonScan.left; + totalsize = r.right - r.left; + separation = (totalsize - sizeComboAudio - sizeButtonInfo - sizeButtonScan) / 2; + if (separation < 0) + separation = 0; + m_navdlg.m_ComboAudio.SetWindowPos(NULL, r.left, r.bottom+6, 0,0, SWP_NOSIZE | SWP_NOZORDER); + m_navdlg.m_ButtonInfo.SetWindowPos(NULL, r.left + sizeComboAudio + separation, r.bottom +5, 0,0, SWP_NOSIZE | SWP_NOZORDER); + m_navdlg.m_ButtonScan.SetWindowPos(NULL, r.left + sizeComboAudio + sizeButtonInfo + 2 * separation, r.bottom +5, 0,0, SWP_NOSIZE | SWP_NOZORDER); + m_navdlg.m_ButtonFilterStations.SetWindowPos(NULL, r.left,r.bottom +30, totalsize, 20, SWP_NOZORDER); } - - /* - if (cy > 300) - m_navdlg.m_ChannelList.Size = System::Drawing::Size( cx - 20, cy - 85 ); - - - if(::IsWindow(m_dlg.m_hWnd)) - { - CRect r; - GetClientRect(r); - m_dlg.MoveWindow(r); - } - */ } void CPlayerNavigationBar::OnNcLButtonUp(UINT nHitTest, CPoint point) diff --git a/src/apps/mplayerc/PlayerPlaylistBar.cpp b/src/apps/mplayerc/PlayerPlaylistBar.cpp index c39793a97..f77a56bf8 100644 --- a/src/apps/mplayerc/PlayerPlaylistBar.cpp +++ b/src/apps/mplayerc/PlayerPlaylistBar.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -234,6 +234,8 @@ void CPlayerPlaylistBar::ParsePlayList(CAtlList& fns, CAtlList return; } + AppSettings& s = AfxGetAppSettings(); + ResolveLinkFiles(fns); CAtlList sl; @@ -261,7 +263,7 @@ void CPlayerPlaylistBar::ParsePlayList(CAtlList& fns, CAtlList if(ct == "application/x-mpc-playlist") { ParseMPCPlayList(fns.GetHead()); return; - } else if(ct == "application/x-bdmv-playlist") { + } else if(ct == "application/x-bdmv-playlist" && s.SrcFilters[SRC_MPEG]) { ParseBDMVPlayList(fns.GetHead()); return; } diff --git a/src/apps/mplayerc/PlayerSeekBar.cpp b/src/apps/mplayerc/PlayerSeekBar.cpp index 416307963..2a4693f9c 100644 --- a/src/apps/mplayerc/PlayerSeekBar.cpp +++ b/src/apps/mplayerc/PlayerSeekBar.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -289,6 +289,12 @@ void CPlayerSeekBar::OnLButtonDown(UINT nFlags, CPoint point) SetCapture(); MoveThumb(point); GetParent()->PostMessage(WM_HSCROLL, MAKEWPARAM((short)m_pos, SB_THUMBPOSITION), (LPARAM)m_hWnd); + } else { + CMainFrame* pFrame = ((CMainFrame*)GetParentFrame()); + if(!pFrame->m_fFullScreen) { + MapWindowPoints(pFrame, &point, 1); + pFrame->PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); + } } CDialogBar::OnLButtonDown(nFlags, point); diff --git a/src/apps/mplayerc/PlayerStatusBar.cpp b/src/apps/mplayerc/PlayerStatusBar.cpp index 6370d21f1..fda6816c4 100644 --- a/src/apps/mplayerc/PlayerStatusBar.cpp +++ b/src/apps/mplayerc/PlayerStatusBar.cpp @@ -345,7 +345,7 @@ void CPlayerStatusBar::OnLButtonDown(UINT nFlags, CPoint point) MapWindowPoints(pFrame, &point, 1); pFrame->PostMessage(WM_NCLBUTTONDOWN, // (p.x+p.y >= r.Width()) ? HTBOTTOMRIGHT : HTCAPTION, - (p.x >= r.Width()-r.Height() && !pFrame->IsCaptionMenuHidden()) ? HTBOTTOMRIGHT : + (p.x >= r.Width()-r.Height() && !pFrame->IsCaptionHidden()) ? HTBOTTOMRIGHT : HTCAPTION, MAKELPARAM(point.x, point.y)); } @@ -366,7 +366,7 @@ BOOL CPlayerStatusBar::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) GetCursorPos(&p); ScreenToClient(&p); // if(p.x+p.y >= r.Width()) - if(p.x >= r.Width()-r.Height() && !pFrame->IsCaptionMenuHidden()) { + if(p.x >= r.Width()-r.Height() && !pFrame->IsCaptionHidden()) { SetCursor(LoadCursor(NULL, IDC_SIZENWSE)); return TRUE; } diff --git a/src/apps/mplayerc/PlayerToolBar.cpp b/src/apps/mplayerc/PlayerToolBar.cpp index 651df397a..29b4c212d 100644 --- a/src/apps/mplayerc/PlayerToolBar.cpp +++ b/src/apps/mplayerc/PlayerToolBar.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -36,6 +36,7 @@ typedef HRESULT (__stdcall * SetWindowThemeFunct)(HWND hwnd, LPCWSTR pszSubAppNa IMPLEMENT_DYNAMIC(CPlayerToolBar, CToolBar) CPlayerToolBar::CPlayerToolBar() + : m_nButtonHeight(16) { } @@ -79,6 +80,7 @@ BOOL CPlayerToolBar::Create(CWnd* pParentWnd) } m_volctrl.Create(this); + m_volctrl.SetRange(0, 100); if(AfxGetAppSettings().fDisableXPToolbars) { if(HMODULE h = LoadLibrary(_T("uxtheme.dll"))) { @@ -91,7 +93,7 @@ BOOL CPlayerToolBar::Create(CWnd* pParentWnd) } // quick and dirty code from foxx1337; will leak, but don't care yet - m_nButtonHeight = 16; // hardcoded from MainFrm.cpp - DEFCLIENTW; min width should be 9 * button width + 60 + 91 + m_nButtonHeight = 16; //reset m_nButtonHeight HBITMAP hBmp = static_cast(::LoadImage(NULL, _T("toolbar.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION)); if(NULL != hBmp) { CBitmap *bmp = new CBitmap(); @@ -191,14 +193,15 @@ bool CPlayerToolBar::IsMuted() int CPlayerToolBar::GetVolume() { int volume = m_volctrl.GetPos(); - volume = (int)((log10(1.0*volume)-2)*5000); + volume = (int)(4000*log10(volume/100.0f)); // 4000=2.0*100*20, where 2.0 is a special factor volume = max(min(volume, 0), -10000); + return(IsMuted() ? -10000 : volume); } int CPlayerToolBar::GetMinWidth() { - return m_nButtonHeight * 9 + 151; + return m_nButtonHeight * 9 + 155; } void CPlayerToolBar::SetVolume(int volume) diff --git a/src/apps/mplayerc/Playlist.cpp b/src/apps/mplayerc/Playlist.cpp index e6fc13e1e..99c46c8f8 100644 --- a/src/apps/mplayerc/Playlist.cpp +++ b/src/apps/mplayerc/Playlist.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/QuicktimeGraph.cpp b/src/apps/mplayerc/QuicktimeGraph.cpp index 740041cb5..fbe7ce673 100644 --- a/src/apps/mplayerc/QuicktimeGraph.cpp +++ b/src/apps/mplayerc/QuicktimeGraph.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -272,8 +272,9 @@ STDMETHODIMP CQuicktimeGraph::GetVideoSize(long* pWidth, long* pHeight) STDMETHODIMP CQuicktimeGraph::put_Volume(long lVolume) { if(m_wndDestFrame.theMovie) { - lVolume = (lVolume == -10000) ? 0 : (int)pow(10.0, (double)lVolume/4152.41 + 2.41); - SetMovieVolume(m_wndDestFrame.theMovie, (short)max(min(lVolume, 256), 0)); + short volume = (lVolume <= -10000) ? 0 : (short)(pow(10.0, lVolume/4000.0)*256); + volume = max(min(volume, 256), 0); + SetMovieVolume(m_wndDestFrame.theMovie, volume); return S_OK; } @@ -284,8 +285,8 @@ STDMETHODIMP CQuicktimeGraph::get_Volume(long* plVolume) CheckPointer(plVolume, E_POINTER); if(m_wndDestFrame.theMovie) { - long lVolume = (long)GetMovieVolume(m_wndDestFrame.theMovie); - *plVolume = (int)((log10(1.0*lVolume)-2.41)*4152.41); + *plVolume = (long)GetMovieVolume(m_wndDestFrame.theMovie); + *plVolume = (long)(4000*log10(*plVolume/256.0f)); *plVolume = max(min(*plVolume, 0), -10000); return S_OK; } diff --git a/src/apps/mplayerc/RealMediaGraph.cpp b/src/apps/mplayerc/RealMediaGraph.cpp index f67479313..44ffdd302 100644 --- a/src/apps/mplayerc/RealMediaGraph.cpp +++ b/src/apps/mplayerc/RealMediaGraph.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -749,28 +749,22 @@ STDMETHODIMP CRealMediaGraph::GetVideoSize(long* pWidth, long* pHeight) // IBasicAudio STDMETHODIMP CRealMediaGraph::put_Volume(long lVolume) { - if(!m_pRMP->m_pVolume) { - return E_UNEXPECTED; - } + if(!m_pRMP->m_pVolume) return E_UNEXPECTED; - UINT16 volume = (lVolume == -10000) ? 0 : (int)pow(10.0, ((double)lVolume)/5000+2); + UINT16 volume = (lVolume <= -10000) ? 0 : (UINT16)(pow(10.0, lVolume/4000.0)*100); volume = max(min(volume, 100), 0); return PNR_OK == m_pRMP->m_pVolume->SetVolume(volume) ? S_OK : E_FAIL; } STDMETHODIMP CRealMediaGraph::get_Volume(long* plVolume) { - if(!m_pRMP->m_pVolume) { - return E_UNEXPECTED; - } + if(!m_pRMP->m_pVolume) return E_UNEXPECTED; CheckPointer(plVolume, E_POINTER); - UINT16 volume = m_pRMP->m_pVolume->GetVolume(); - volume = (int)((log10(1.0*volume)-2)*5000); - volume = max(min(volume, 0), -10000); - - *plVolume = volume; + *plVolume = (long)m_pRMP->m_pVolume->GetVolume(); + *plVolume = (long)(4000*log10(*plVolume/100.0f)); + *plVolume = max(min(*plVolume, 0), -10000); return S_OK; } diff --git a/src/apps/mplayerc/RegFilterChooserDlg.cpp b/src/apps/mplayerc/RegFilterChooserDlg.cpp index 39bffd8d0..d99fb16a3 100644 --- a/src/apps/mplayerc/RegFilterChooserDlg.cpp +++ b/src/apps/mplayerc/RegFilterChooserDlg.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -148,7 +148,7 @@ void CRegFilterChooserDlg::OnBnClickedOk() void CRegFilterChooserDlg::OnBnClickedButton1() { CFileDialog dlg(TRUE, NULL, NULL, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_NOCHANGEDIR, _T("DirectShow Filters (*.dll,*.ax)|*.dll;*.ax|"), this, 0); if(dlg.DoModal() == IDOK) { diff --git a/src/apps/mplayerc/SaveTextFileDialog.cpp b/src/apps/mplayerc/SaveTextFileDialog.cpp index 791de60f8..8faafe0f5 100644 --- a/src/apps/mplayerc/SaveTextFileDialog.cpp +++ b/src/apps/mplayerc/SaveTextFileDialog.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -34,7 +34,7 @@ CSaveTextFileDialog::CSaveTextFileDialog( LPCTSTR lpszDefExt, LPCTSTR lpszFileName, LPCTSTR lpszFilter, CWnd* pParentWnd) : CFileDialog(FALSE, lpszDefExt, lpszFileName, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, lpszFilter, pParentWnd, 0, FALSE), m_e(e) { diff --git a/src/apps/mplayerc/SaveThumbnailsDialog.cpp b/src/apps/mplayerc/SaveThumbnailsDialog.cpp index 8634ebd04..ded2ffe6a 100644 --- a/src/apps/mplayerc/SaveThumbnailsDialog.cpp +++ b/src/apps/mplayerc/SaveThumbnailsDialog.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -34,7 +34,7 @@ CSaveThumbnailsDialog::CSaveThumbnailsDialog( LPCTSTR lpszDefExt, LPCTSTR lpszFileName, LPCTSTR lpszFilter, CWnd* pParentWnd) : CFileDialog(FALSE, lpszDefExt, lpszFileName, - OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, + OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR, lpszFilter, pParentWnd, 0, FALSE), m_rows(rows), m_cols(cols), m_width(width) { @@ -61,9 +61,9 @@ BOOL CSaveThumbnailsDialog::OnInitDialog() { __super::OnInitDialog(); - m_rowsctrl.SetRange(1, 8); - m_colsctrl.SetRange(1, 8); - m_widthctrl.SetRange(256, 2048); + m_rowsctrl.SetRange(1, 20); + m_colsctrl.SetRange(1, 10); + m_widthctrl.SetRange(256, 2560); m_rowsctrl.SetPos(m_rows); m_colsctrl.SetPos(m_cols); m_widthctrl.SetPos(m_width); diff --git a/src/apps/mplayerc/SettingsDefines.h b/src/apps/mplayerc/SettingsDefines.h index 462107318..8595ef214 100644 --- a/src/apps/mplayerc/SettingsDefines.h +++ b/src/apps/mplayerc/SettingsDefines.h @@ -1,8 +1,7 @@ /* * $Id$ * - * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -220,12 +219,14 @@ #define IDS_RS_BDA_TUNER _T("BDATuner") #define IDS_RS_BDA_RECEIVER _T("BDAReceiver") #define IDS_RS_BDA_STANDARD _T("BDAStandard") -#define IDS_RS_BDA_SCAN_FREQ_START _T("BDAScanFreqStart") -#define IDS_RS_BDA_SCAN_FREQ_END _T("BDAScanFreqEnd") +#define IDS_RS_BDA_SCAN_FREQ_START _T("BDAScanFreqStart") +#define IDS_RS_BDA_SCAN_FREQ_END _T("BDAScanFreqEnd") #define IDS_RS_BDA_BANDWIDTH _T("BDABandWidth") #define IDS_RS_BDA_USE_OFFSET _T("BDAUseOffset") #define IDS_RS_BDA_OFFSET _T("BDAOffset") -#define IDS_RS_BDA_IGNORE_ENCRYPTED_CHANNELS _T("BDAIgnoreEncryptedChannels") +#define IDS_RS_BDA_IGNORE_ENCRYPTED_CHANNELS _T("BDAIgnoreEncryptedChannels") #define IDS_RS_DVB_LAST_CHANNEL _T("LastChannel") #define IDS_D3D9RENDERDEVICE _T("D3D9RenderDevice") + +#define IDS_FASTSEEK_KEYFRAME _T("FastSeek") \ No newline at end of file diff --git a/src/apps/mplayerc/ShockwaveGraph.cpp b/src/apps/mplayerc/ShockwaveGraph.cpp index a8e8632fd..0a701d4e3 100644 --- a/src/apps/mplayerc/ShockwaveGraph.cpp +++ b/src/apps/mplayerc/ShockwaveGraph.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -243,7 +243,7 @@ STDMETHODIMP CShockwaveGraph::GetVideoSize(long* pWidth, long* pHeight) // IBasicAudio STDMETHODIMP CShockwaveGraph::put_Volume(long lVolume) { - lVolume = (lVolume == -10000) ? 0 : (int)pow(10.0, ((double)lVolume)/5000+2); + lVolume = (lVolume <= -10000) ? 0 : (long)(pow(10.0, lVolume/4000.0)*100); lVolume = lVolume*0x10000/100; lVolume = max(min(lVolume, 0xffff), 0); waveOutSetVolume(0, (lVolume<<16)|lVolume); @@ -257,7 +257,7 @@ STDMETHODIMP CShockwaveGraph::get_Volume(long* plVolume) waveOutGetVolume(0, (DWORD*)plVolume); *plVolume = (*plVolume&0xffff + ((*plVolume>>16)&0xffff)) / 2; *plVolume = *plVolume*100/0x10000; - *plVolume = (int)((log10(1.0*(*plVolume))-2)*5000); + *plVolume = (long)(4000*log10(*plVolume/100.0f)); *plVolume = max(min(*plVolume, 0), -10000); return S_OK; diff --git a/src/apps/mplayerc/SubtitleDlDlg.cpp b/src/apps/mplayerc/SubtitleDlDlg.cpp index 8f63b8296..576c34db7 100644 --- a/src/apps/mplayerc/SubtitleDlDlg.cpp +++ b/src/apps/mplayerc/SubtitleDlDlg.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -24,39 +24,47 @@ #include "stdafx.h" #include "mplayerc.h" #include "SubtitleDlDlg.h" +#include // For std::sort // CSubtitleDlDlg dialog //IMPLEMENT_DYNAMIC(CSubtitleDlDlg, CResizableDialog) CSubtitleDlDlg::CSubtitleDlDlg(CList& movies, CWnd* pParent /*=NULL*/) - : CResizableDialog(CSubtitleDlDlg::IDD, pParent) + : CResizableDialog(CSubtitleDlDlg::IDD, pParent), + iColumn(-1), + bSortDirection(false) { m_movies.AddTail(&movies); -} -CSubtitleDlDlg::~CSubtitleDlDlg() -{ -} + // Parse + POSITION pos = m_movies.GetHeadPosition(); + while (pos) + { + isdb_movie& m = m_movies.GetNext(pos); + isdb_movie_Parsed p; -int CSubtitleDlDlg::GetChecked(int iItem) -{ - LVITEM lvi; - lvi.iItem = iItem; - lvi.iSubItem = 0; - lvi.mask = LVIF_IMAGE; - m_list.GetItem(&lvi); - return(lvi.iImage); + CStringA titlesA = Implode(m.titles, '|'); + titlesA.Replace("|", ", "); + p.titles = UTF8To16(titlesA); + p.checked = false; + + POSITION pos2 = m.subs.GetHeadPosition(); + while (pos2) { + isdb_subtitle& s = m.subs.GetNext(pos2); + p.name = UTF8To16(s.name); + p.language = s.language; + p.format = s.format; + p.disc.Format(_T("%d/%d"), s.disc_no, s.discs); + p.ptr = (DWORD_PTR)&s; + + m_moviesParsed.Add(p); + } + } } -void CSubtitleDlDlg::SetChecked(int iItem, int iChecked) +CSubtitleDlDlg::~CSubtitleDlDlg() { - LVITEM lvi; - lvi.iItem = iItem; - lvi.iSubItem = 0; - lvi.mask = LVIF_IMAGE; - lvi.iImage = iChecked; - m_list.SetItem(&lvi); } void CSubtitleDlDlg::DoDataExchange(CDataExchange* pDX) @@ -67,8 +75,8 @@ void CSubtitleDlDlg::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(CSubtitleDlDlg, CResizableDialog) - ON_NOTIFY(NM_CLICK, IDC_LIST1, OnNMClickList1) ON_UPDATE_COMMAND_UI(IDOK, OnUpdateOk) + ON_NOTIFY(HDN_ITEMCLICK, 0, &CSubtitleDlDlg::OnHdnItemclickList1) END_MESSAGE_MAP() // CSubtitleDlDlg message handlers @@ -77,7 +85,6 @@ BOOL CSubtitleDlDlg::OnInitDialog() { __super::OnInitDialog(); - AddAnchor(IDC_LIST1, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_CHECK1, BOTTOM_LEFT); AddAnchor(IDOK, BOTTOM_RIGHT); @@ -85,8 +92,7 @@ BOOL CSubtitleDlDlg::OnInitDialog() CSize s(200, 150); SetMinTrackSize(s); - - m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_FULLROWSELECT); + m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); m_list.InsertColumn(COL_FILENAME, _T("File"), LVCFMT_LEFT, 160); m_list.InsertColumn(COL_LANGUAGE, _T("Language"), LVCFMT_CENTER, 80); @@ -94,38 +100,7 @@ BOOL CSubtitleDlDlg::OnInitDialog() m_list.InsertColumn(COL_DISC, _T("Disc"), LVCFMT_CENTER, 50); m_list.InsertColumn(COL_TITLES, _T("Title(s)"), LVCFMT_LEFT, 300); - m_onoff.Create(IDB_ONOFF, 12, 3, 0xffffff); - m_list.SetImageList(&m_onoff, LVSIL_SMALL); - - - int i = 0; - - POSITION pos = m_movies.GetHeadPosition(); - while(pos) { - isdb_movie& m = m_movies.GetNext(pos); - - CStringA titlesA = Implode(m.titles, '|'); - titlesA.Replace("|", ", "); - CString titles = UTF8To16(titlesA); - - POSITION pos2 = m.subs.GetHeadPosition(); - while(pos2) { - isdb_subtitle& s = m.subs.GetNext(pos2); - CString name = UTF8To16(s.name); - CString language = s.language; - CString format = s.format; - CString disc; - disc.Format(_T("%d/%d"), s.disc_no, s.discs); - - int iItem = m_list.InsertItem(i++, _T("")); - m_list.SetItemData(iItem, (DWORD_PTR)&s); - m_list.SetItemText(iItem, COL_FILENAME, name); - m_list.SetItemText(iItem, COL_LANGUAGE, language); - m_list.SetItemText(iItem, COL_FORMAT, format); - m_list.SetItemText(iItem, COL_DISC, disc); - m_list.SetItemText(iItem, COL_TITLES, titles); - } - } + BuildList(); m_selsubs.RemoveAll(); @@ -135,37 +110,116 @@ BOOL CSubtitleDlDlg::OnInitDialog() void CSubtitleDlDlg::OnOK() { - for(int i = 0; i < m_list.GetItemCount(); i++) - if(GetChecked(i)) { + for (int i = 0; i < m_list.GetItemCount(); ++i) + { + if (m_list.GetCheck(i)) { m_selsubs.AddTail(*(isdb_subtitle*)m_list.GetItemData(i)); } + } m_fReplaceSubs = IsDlgButtonChecked(IDC_CHECK1) == BST_CHECKED; __super::OnOK(); } -void CSubtitleDlDlg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult) +void CSubtitleDlDlg::OnUpdateOk(CCmdUI* pCmdUI) { - LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR; - - if(lpnmlv->iItem >= 0) { - CRect r; - m_list.GetItemRect(lpnmlv->iItem, r, LVIR_ICON); - if(r.PtInRect(lpnmlv->ptAction)) { - SetChecked(lpnmlv->iItem, (GetChecked(lpnmlv->iItem)&1) == 0 ? 1 : 0); - } + bool fEnable = false; + for (int i = 0; !fEnable && i < m_list.GetItemCount(); ++i) { + fEnable = !!m_list.GetCheck(i); } + pCmdUI->Enable(fEnable); +} + + +void CSubtitleDlDlg::OnHdnItemclickList1(NMHDR *pNMHDR, LRESULT *pResult) +{ + LPNMHEADER phdr = reinterpret_cast(pNMHDR); *pResult = 0; + + if ( phdr->iItem != iColumn ) + { + iColumn = phdr->iItem; + bSortDirection = false; + } + else + { + bSortDirection = !bSortDirection; + } + + SortList(); } -void CSubtitleDlDlg::OnUpdateOk(CCmdUI* pCmdUI) +void CSubtitleDlDlg::BuildList( void ) { - bool fEnable = false; - for(int i = 0; !fEnable && i < m_list.GetItemCount(); i++) { - fEnable = !!GetChecked(i); + for (INT_PTR i = 0; i < m_moviesParsed.GetCount(); ++i) + { + isdb_movie_Parsed& m = m_moviesParsed[i]; + + int iItem = m_list.InsertItem(i, _T("")); + m_list.SetItemData(iItem, (DWORD_PTR)m.ptr); + m_list.SetItemText(iItem, COL_FILENAME, m.name); + m_list.SetItemText(iItem, COL_LANGUAGE, m.language); + m_list.SetItemText(iItem, COL_FORMAT, m.format); + m_list.SetItemText(iItem, COL_DISC, m.disc); + m_list.SetItemText(iItem, COL_TITLES, m.titles); + m_list.SetCheck(iItem, m.checked); } +} - pCmdUI->Enable(fEnable); +struct sort_cmp { + sort_cmp(int col, bool dir) : iColumn(col), bSortDirection(dir) {} + + bool operator()(const CSubtitleDlDlg::isdb_movie_Parsed& a, const CSubtitleDlDlg::isdb_movie_Parsed& b) const + { + bool result = false; + + // Should this macro be a function instead ? + #define dir_cmp(l, r) bSortDirection ? (r) < (l) : (l) < (r) + + switch (iColumn) + { + case CSubtitleDlDlg::COL_FILENAME: + result = dir_cmp(a.name, b.name); + break; + case CSubtitleDlDlg::COL_LANGUAGE: + result = dir_cmp(a.language, b.language); + break; + case CSubtitleDlDlg::COL_FORMAT: + result = dir_cmp(a.format, b.format); + break; + case CSubtitleDlDlg::COL_DISC: + result = dir_cmp(a.disc, b.disc); + break; + case CSubtitleDlDlg::COL_TITLES: + result = dir_cmp(a.titles, b.titles); + break; + } + + #undef dir_cmp + + return result; + } + + const int iColumn; + const bool bSortDirection; +}; + +void CSubtitleDlDlg::SortList( void ) +{ + // Save checked state + for (INT_PTR i = 0; i < m_moviesParsed.GetCount(); ++i) + { + m_moviesParsed[i].checked = m_list.GetCheck(i); + } + + // Sort list + // qsort doesn't support functors + //qsort(m_moviesParsed.GetData(), m_moviesParsed.GetCount(), sizeof(m_moviesParsed[0]), sort_cmp_c(iColumn, bSortDirection)); + std::sort(m_moviesParsed.GetData(), m_moviesParsed.GetData() + m_moviesParsed.GetCount(), sort_cmp(iColumn, bSortDirection)); + + m_list.DeleteAllItems(); + + BuildList(); } diff --git a/src/apps/mplayerc/SubtitleDlDlg.h b/src/apps/mplayerc/SubtitleDlDlg.h index 075bb8985..8aaf0f250 100644 --- a/src/apps/mplayerc/SubtitleDlDlg.h +++ b/src/apps/mplayerc/SubtitleDlDlg.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -36,11 +36,25 @@ class CSubtitleDlDlg : public CResizableDialog private: CList m_movies; + struct isdb_movie_Parsed { + CString titles; + CString name; + CString language; + CString format; + CString disc; + DWORD_PTR ptr; + bool checked; + }; + CArray m_moviesParsed; + int iColumn; + bool bSortDirection; + enum {COL_FILENAME, COL_LANGUAGE, COL_FORMAT, COL_DISC, COL_TITLES}; - CImageList m_onoff; - int GetChecked(int iItem); - void SetChecked(int iItem, int iChecked); + void BuildList( void ); + void SortList( void ); + + friend struct sort_cmp; public: CSubtitleDlDlg(CList& movies, CWnd* pParent = NULL); // standard constructor @@ -61,6 +75,6 @@ protected: DECLARE_MESSAGE_MAP() public: - afx_msg void OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnUpdateOk(CCmdUI* pCmdUI); + afx_msg void OnHdnItemclickList1(NMHDR *pNMHDR, LRESULT *pResult); }; diff --git a/src/apps/mplayerc/VMROSD.cpp b/src/apps/mplayerc/VMROSD.cpp index 8339dc57a..d33276fc0 100644 --- a/src/apps/mplayerc/VMROSD.cpp +++ b/src/apps/mplayerc/VMROSD.cpp @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -33,12 +33,12 @@ CVMROSD::CVMROSD(void) { m_Color[OSD_TRANSPARENT] = RGB( 0, 0, 0); - m_Color[OSD_BACKGROUND] = RGB( 0, 96, 183); - m_Color[OSD_BORDER] = RGB(255, 255, 255); - m_Color[OSD_TEXT] = RGB(255, 255, 255); - m_Color[OSD_BAR] = RGB( 4, 200, 12); - m_Color[OSD_CURSOR] = RGB( 23, 50, 247); - m_Color[OSD_DEBUG] = RGB( 0, 127, 0); + m_Color[OSD_BACKGROUND] = RGB( 32, 40, 48); + m_Color[OSD_BORDER] = RGB( 48, 56, 62); + m_Color[OSD_TEXT] = RGB(224, 224, 224); + m_Color[OSD_BAR] = RGB( 64, 72, 80); + m_Color[OSD_CURSOR] = RGB(192, 200, 208); + m_Color[OSD_DEBUGCLR] = RGB(128, 136, 144); m_penBorder.CreatePen(PS_SOLID, 1, m_Color[OSD_BORDER]); m_penCursor.CreatePen(PS_SOLID, 4, m_Color[OSD_CURSOR]); @@ -52,6 +52,7 @@ CVMROSD::CVMROSD(void) m_bCursorMoving = false; m_pMFVMB = NULL; m_pVMB = NULL; + m_pMVTO = NULL; memset(&m_BitmapInfo, 0, sizeof(m_BitmapInfo)); m_FontSize = 0; @@ -126,7 +127,7 @@ void CVMROSD::UpdateBitmap() m_MFVideoAlphaBitmap.GetBitmapFromDC = TRUE; m_MFVideoAlphaBitmap.bitmap.hdc = m_MemDC; } - m_MemDC.SetTextColor(RGB(255, 255, 255)); + m_MemDC.SetTextColor(m_Color[OSD_TEXT]); m_MemDC.SetBkMode(TRANSPARENT); } @@ -143,6 +144,7 @@ void CVMROSD::Start (CWnd* pWnd, IVMRMixerBitmap9* pVMB) { m_pVMB = pVMB; m_pMFVMB = NULL; + m_pMVTO = NULL; m_pWnd = pWnd; UpdateBitmap(); } @@ -152,11 +154,21 @@ void CVMROSD::Start (CWnd* pWnd, IMFVideoMixerBitmap* pMFVMB) { m_pMFVMB = pMFVMB; m_pVMB = NULL; + m_pMVTO = NULL; m_pWnd = pWnd; UpdateBitmap(); } +void CVMROSD::Start (CWnd* pWnd, IMadVRTextOsd* pMVTO) +{ + m_pMFVMB = NULL; + m_pVMB = NULL; + m_pMVTO = pMVTO; + m_pWnd = pWnd; +} + + void CVMROSD::Stop() { if(m_pVMB) { @@ -165,6 +177,9 @@ void CVMROSD::Stop() if(m_pMFVMB) { m_pMFVMB.Release(); } + if(m_pMVTO) { + m_pMVTO.Release(); + } m_pWnd = NULL; } @@ -177,11 +192,6 @@ void CVMROSD::CalcRect() m_rectSeekBar.right = m_rectWnd.right - 10; m_rectSeekBar.top = m_rectWnd.bottom - SEEKBAR_HEIGHT; m_rectSeekBar.bottom = m_rectSeekBar.top + SEEKBAR_HEIGHT; - - m_rectSeekBar.left = m_rectSeekBar.left; - m_rectSeekBar.right = m_rectSeekBar.right; - m_rectSeekBar.top = m_rectSeekBar.top; - m_rectSeekBar.bottom = m_rectSeekBar.bottom; } } @@ -419,6 +429,8 @@ void CVMROSD::ClearMessage() m_VMR9AlphaBitmap.dwFlags = dwBackup; } else if (m_pMFVMB) { m_pMFVMB->ClearAlphaBitmap(); + } else if (m_pMVTO) { + m_pMVTO->OsdClearMessage(); } } @@ -469,6 +481,8 @@ void CVMROSD::DisplayMessage (OSD_MESSAGEPOS nPos, LPCTSTR strMsg, int nDuration } } Invalidate(); + } else if (m_pMVTO) { + m_pMVTO->OsdDisplayMessage(strMsg, nDuration); } } diff --git a/src/apps/mplayerc/VMROSD.h b/src/apps/mplayerc/VMROSD.h index 802187ce4..193cf3842 100644 --- a/src/apps/mplayerc/VMROSD.h +++ b/src/apps/mplayerc/VMROSD.h @@ -1,7 +1,7 @@ /* * $Id$ * - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -26,7 +26,7 @@ #include #include #include - +#include "madVRAllocatorPresenter.h" typedef enum { OSD_TRANSPARENT, @@ -55,6 +55,7 @@ public: void Start (CWnd* pWnd, IVMRMixerBitmap9* pVMB); void Start (CWnd* pWnd, IMFVideoMixerBitmap* pVMB); + void Start (CWnd* pWnd, IMadVRTextOsd* pMVTO); void Stop(); void DisplayMessage (OSD_MESSAGEPOS nPos, LPCTSTR strMsg, int nDuration = 5000, int FontSize = 0, CString OSD_Font = _T("")); @@ -74,6 +75,7 @@ public: private : CComPtr m_pVMB; CComPtr m_pMFVMB; + CComPtr m_pMVTO; CWnd* m_pWnd; CCritSec m_Lock; diff --git a/src/apps/mplayerc/WebClientSocket.cpp b/src/apps/mplayerc/WebClientSocket.cpp index 01eff705b..5e8bbc283 100644 --- a/src/apps/mplayerc/WebClientSocket.cpp +++ b/src/apps/mplayerc/WebClientSocket.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -344,7 +344,7 @@ bool CWebClientSocket::OnCommand(CStringA& hdr, CStringA& body, CStringA& mime) } } else if(arg == CMD_SETVOLUME && m_request.Lookup(_T("volume"), arg)) { int volume = _tcstol(arg, NULL, 10); - m_pMainFrame->m_wndToolBar.Volume = min(max(volume, 1), 100); + m_pMainFrame->m_wndToolBar.Volume = min(max(volume, 0), 100); m_pMainFrame->OnPlayVolume(0); } } @@ -656,6 +656,8 @@ bool CWebClientSocket::OnStatus(CStringA& hdr, CStringA& body, CStringA& mime) CString title; m_pMainFrame->GetWindowText(title); + CPath file(m_pMainFrame->m_wndPlaylistBar.GetCurFileName()); + CString status;// = m_pMainFrame->GetStatusMessage(); OAFilterState fs = m_pMainFrame->GetMediaState(); switch (fs) { @@ -683,11 +685,11 @@ bool CWebClientSocket::OnStatus(CStringA& hdr, CStringA& body, CStringA& mime) title.Replace(_T("'"), _T("\\'")); status.Replace(_T("'"), _T("\\'")); - body.Format("OnStatus('%s', '%s', %d, '%s', %d, '%s', %d, %d)", // , '%s', '%s' + body.Format("OnStatus('%s', '%s', %d, '%s', %d, '%s', %d, %d, '%s')", // , '%s' UTF8(title), UTF8(status), pos, UTF8(posstr), dur, UTF8(durstr), - m_pMainFrame->IsMuted(), m_pMainFrame->GetVolume() - /*, UTF8(path), UTF8(dir)*/); + m_pMainFrame->IsMuted(), m_pMainFrame->GetVolume(), + UTF8(file)/*, UTF8(dir)*/); return true; } diff --git a/src/apps/mplayerc/libpng.c b/src/apps/mplayerc/libpng.c index 56058d407..eb5dd89fa 100644 --- a/src/apps/mplayerc/libpng.c +++ b/src/apps/mplayerc/libpng.c @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -25,6 +25,7 @@ #include #include "libpng.h" #include +#include static void read_data_fn(png_structp png_ptr, png_bytep data, png_size_t length) diff --git a/src/apps/mplayerc/mpciconlib/mpciconlib.rc b/src/apps/mplayerc/mpciconlib/mpciconlib.rc index fd0f5113f..fdca4d0fd 100644 --- a/src/apps/mplayerc/mpciconlib/mpciconlib.rc +++ b/src/apps/mplayerc/mpciconlib/mpciconlib.rc @@ -100,8 +100,8 @@ IDI_DVDF_ICON ICON "icons\\dvdf.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION MPC_VERSION_SHORT - PRODUCTVERSION MPC_VERSION_SHORT + FILEVERSION MPC_VERSION_NUM + PRODUCTVERSION MPC_VERSION_NUM FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -117,14 +117,14 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "Media Player Classic - Home Cinema Icon Library" - VALUE "CompanyName", MPC_COMP_NAME + VALUE "CompanyName", MPC_COMP_NAME_STR VALUE "FileDescription", "Media Player Classic - Home Cinema Icon Library" - VALUE "FileVersion", MPC_VERSION_SHORT_STR + VALUE "FileVersion", MPC_VERSION_STR VALUE "InternalName", "mpciconlib" - VALUE "LegalCopyright", MPC_COPYRIGHT + VALUE "LegalCopyright", MPC_COPYRIGHT_STR VALUE "OriginalFilename", "mpciconlib.dll" VALUE "ProductName", "Media Player Classic - Home Cinema Icon Library" - VALUE "ProductVersion", MPC_VERSION_SHORT_STR + VALUE "ProductVersion", MPC_VERSION_STR END END BLOCK "VarFileInfo" diff --git a/src/apps/mplayerc/mpciconlib/mpciconlib.vcproj b/src/apps/mplayerc/mpciconlib/mpciconlib.vcproj index 0d60ec52b..5b89d0046 100644 --- a/src/apps/mplayerc/mpciconlib/mpciconlib.vcproj +++ b/src/apps/mplayerc/mpciconlib/mpciconlib.vcproj @@ -51,7 +51,7 @@ /> DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK @@ -54,7 +52,7 @@ MachineX86 - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -69,7 +67,7 @@ MachineX64 - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) diff --git a/src/apps/mplayerc/mpcresources/mpcresources.vcproj b/src/apps/mplayerc/mpcresources/mpcresources.vcproj index 23089ebd8..82605ea10 100644 --- a/src/apps/mplayerc/mpcresources/mpcresources.vcproj +++ b/src/apps/mplayerc/mpcresources/mpcresources.vcproj @@ -55,7 +55,7 @@ /> DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK DynamicLibrary Unicode - Windows7.1SDK @@ -703,7 +661,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -725,7 +683,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -744,7 +702,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -766,7 +724,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -785,7 +743,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -807,7 +765,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -826,7 +784,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -848,7 +806,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -867,7 +825,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -889,7 +847,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -908,7 +866,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -930,7 +888,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -949,7 +907,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -971,7 +929,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -990,7 +948,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1012,7 +970,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1031,7 +989,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1053,7 +1011,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1072,7 +1030,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1094,7 +1052,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1113,7 +1071,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1135,7 +1093,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1154,7 +1112,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1176,7 +1134,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1195,7 +1153,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1217,7 +1175,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1236,7 +1194,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1258,7 +1216,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1277,7 +1235,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1299,7 +1257,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1318,7 +1276,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1340,7 +1298,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1359,7 +1317,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1381,7 +1339,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1400,7 +1358,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1422,7 +1380,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1441,7 +1399,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1463,7 +1421,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1482,7 +1440,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1504,7 +1462,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1523,7 +1481,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;WIN32;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) @@ -1545,7 +1503,7 @@ false - _UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) + _UNICODE;UNICODE;_WIN64;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions) diff --git a/src/apps/mplayerc/mpcresources/mplayerc.br.rc b/src/apps/mplayerc/mpcresources/mplayerc.br.rc index 1b4c25bf1..c267a194d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.br.rc and b/src/apps/mplayerc/mpcresources/mplayerc.br.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.by.rc b/src/apps/mplayerc/mpcresources/mplayerc.by.rc index 8528855c4..98a13edbc 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.by.rc and b/src/apps/mplayerc/mpcresources/mplayerc.by.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc index a49240318..c132d8d5a 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc and b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc index 187bfc998..b0dd405de 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc and b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.de.rc b/src/apps/mplayerc/mpcresources/mplayerc.de.rc index d765d9b8e..a36061c54 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.de.rc and b/src/apps/mplayerc/mpcresources/mplayerc.de.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.es.rc b/src/apps/mplayerc/mpcresources/mplayerc.es.rc index 1908fc313..04ba4c4bf 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.es.rc and b/src/apps/mplayerc/mpcresources/mplayerc.es.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc index bb1ebfb1f..7f48c176b 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc and b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc index 4474e2835..c91742cb0 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc and b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hy.rc b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc index 076d61c5b..ee0aa334d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.hy.rc and b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.it.rc b/src/apps/mplayerc/mpcresources/mplayerc.it.rc index be5ad97ef..40e254ecf 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.it.rc and b/src/apps/mplayerc/mpcresources/mplayerc.it.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc index faa522bcf..897001b0d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc and b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc index fcac09976..24cf854fc 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc and b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc index 3d70f8f62..b6adfde8d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc and b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc index 97fc8e322..308c87afe 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc and b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc index b9f214c6d..9abce160d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc and b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc index 7a1bbc99d..9ec96d91f 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc and b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc index b2d7aec7a..bb587d76d 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc and b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc index 34eaeaa38..4063fbb38 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc and b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc index 5a6e14030..96625f639 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc and b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc index b135710c5..fb140f3fa 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc and b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc differ diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc index e5f00ea0a..f9983d80b 100644 Binary files a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc and b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc differ diff --git a/src/apps/mplayerc/mpcresources/patch.bat b/src/apps/mplayerc/mpcresources/patch.bat index 0a9878932..c641735a2 100644 --- a/src/apps/mplayerc/mpcresources/patch.bat +++ b/src/apps/mplayerc/mpcresources/patch.bat @@ -3,7 +3,11 @@ rem A simple script which demonstrates how to apply translated text to locale rc file. rem This is only an example. -for %%i in (*.rc) do echo Patching file %%i & perl patch.pl -i text\%%i.txt %%i & echo ---------------------- +for %%i in (*.rc) do ( + echo Patching file %%i + perl patch.pl -i text\%%i.txt %%i + echo ---------------------- +) echo ---------------------- pause diff --git a/src/apps/mplayerc/mpcresources/rcfile.bat b/src/apps/mplayerc/mpcresources/rcfile.bat index 57da0b32a..a2fe67bff 100644 --- a/src/apps/mplayerc/mpcresources/rcfile.bat +++ b/src/apps/mplayerc/mpcresources/rcfile.bat @@ -5,11 +5,11 @@ rem then rename it to old file for rcfile.pl to process it echo Getting the latest mplayerc.rc from repository... svn cat -r head ../mplayerc.rc > $$TEMP$$.old -if %ERRORLEVEL% neq 0 GOTO :NOSVNCLI +if %ERRORLEVEL% neq 0 goto NOSVNCLI echo Generating new rc files and string files... perl rcfile.pl -b $$TEMP$$.old -goto :END +goto END :NOSVNCLI echo You'll need svn command line tool to use this script. diff --git a/src/apps/mplayerc/mpcresources/sync.bat b/src/apps/mplayerc/mpcresources/sync.bat index a2e80103c..46cd2222e 100644 --- a/src/apps/mplayerc/mpcresources/sync.bat +++ b/src/apps/mplayerc/mpcresources/sync.bat @@ -7,10 +7,14 @@ rem This is only an example. echo Get the latest mplayerc.rc from repository first... svn cat -r head ../mplayerc.rc > $$TEMP$$.old -if %ERRORLEVEL% neq 0 goto :NOSVNCLI +if %ERRORLEVEL% neq 0 goto NOSVNCLI echo ---------------------- -for %%i in (*.rc) do echo Patching file %%i & perl patch.pl -i text\%%i.txt %%i & echo ---------------------- +for %%i in (*.rc) do ( + echo Patching file %%i + perl patch.pl -i text\%%i.txt %%i + echo ---------------------- +) echo ---------------------- echo Generating new rc files... @@ -26,7 +30,7 @@ copy ..\mplayerc.rc . perl rcstrings.pl -a del mplayerc.rc echo ---------------------- -goto :END +goto END :NOSVNCLI echo You'll need svn command line tool to use this script. diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt index f56dba7a5..5cdf73e36 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt index f6a7c3ab9..5c5062922 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt index faaafd025..87fd0bffc 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt index 663278a2c..973a86c02 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt index 7790c3122..8cad041ef 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt index 582e73b86..439d0762d 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt index 254c2cd50..ab08337e7 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt index 1b34a1b50..a5e81892a 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt index 384991320..f939640d2 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt index abd1269d9..5e3cbfae7 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt index e91b0facc..a7f2a213e 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt index cf9075431..e9f7a7db1 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt index 5498947ec..ca52a3af4 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt index bfe9e6590..53130e684 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt index 99de06824..3c0986343 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt index dcde3012d..ec291d929 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt index 168a6472d..765da9666 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt index 7e213315b..6ad202493 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt index 0f80c03ce..f0055ee05 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt index f9bc08560..994e7b95b 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt index f1f0ac35e..e7a2d77d2 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt differ diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt index c0facc58f..99415ed72 100644 Binary files a/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt and b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt differ diff --git a/src/apps/mplayerc/mplayerc.cpp b/src/apps/mplayerc/mplayerc.cpp index 0a3e39c53..6b996a755 100644 --- a/src/apps/mplayerc/mplayerc.cpp +++ b/src/apps/mplayerc/mplayerc.cpp @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * @@ -288,7 +288,7 @@ public: #endif #elif defined(_MSC_VER) #if (_MSC_VER == 1600) - #if (_MSC_FULL_VER >= 160031118) + #if (_MSC_FULL_VER >= 160040219) m_MPCCompiler = _T("MSVC 2010 SP1"); #else m_MPCCompiler = _T("MSVC 2010"); @@ -315,6 +315,9 @@ public: m_MPCCompiler += _T(" (SSE2)"); #endif #endif // _M_IX86_FP + #ifdef _DEBUG + m_MPCCompiler += _T(" Debug"); + #endif #else #error Please add support for your compiler #endif @@ -885,7 +888,7 @@ BOOL SetHeapOptions() BOOL CMPlayerCApp::InitInstance() { // Remove the working directory from the search path to work around the DLL preloading vulnerability - SetDllDirectory(L""); + SetDllDirectory(_T("")); long lError; diff --git a/src/apps/mplayerc/mplayerc.h b/src/apps/mplayerc/mplayerc.h index 73314ba02..c40803c43 100644 --- a/src/apps/mplayerc/mplayerc.h +++ b/src/apps/mplayerc/mplayerc.h @@ -2,7 +2,7 @@ * $Id$ * * (C) 2003-2006 Gabest - * (C) 2006-2010 see AUTHORS + * (C) 2006-2011 see AUTHORS * * This file is part of mplayerc. * diff --git a/src/apps/mplayerc/mplayerc.rc b/src/apps/mplayerc/mplayerc.rc index e6bdf9b39..f91c91f53 100644 Binary files a/src/apps/mplayerc/mplayerc.rc and b/src/apps/mplayerc/mplayerc.rc differ diff --git a/src/apps/mplayerc/mplayerc.vcproj b/src/apps/mplayerc/mplayerc.vcproj index 5830c3f16..b6a3eb81e 100644 --- a/src/apps/mplayerc/mplayerc.vcproj +++ b/src/apps/mplayerc/mplayerc.vcproj @@ -61,7 +61,7 @@ /> @@ -144,7 +144,7 @@ /> @@ -226,7 +226,7 @@ /> Application Static Unicode - Windows7.1SDK Application Static Unicode - Windows7.1SDK Application Static Unicode - Windows7.1SDK Application Static Unicode - Windows7.1SDK @@ -92,9 +88,8 @@ update_version.bat $(IntDir)$(ProjectName).pch - NDEBUG;%(PreprocessorDefinitions) + WIN32;NDEBUG;%(PreprocessorDefinitions) 0x0409 - %(AdditionalIncludeDirectories) comsuppw.lib;Delayimp.lib;detours.lib;dsound.lib;dxguid.lib;gdiplus.lib;Psapi.lib;qtmlClient.lib;SetupAPI.lib;SubPic.lib;MPCVideoDec.lib;%(AdditionalDependencies) @@ -125,9 +120,8 @@ update_version.bat $(IntDir)$(ProjectName).pch - NDEBUG;%(PreprocessorDefinitions) + _WIN64;NDEBUG;%(PreprocessorDefinitions) 0x0409 - %(AdditionalIncludeDirectories) comsuppw.lib;Delayimp.lib;detours.lib;dsound.lib;dxguid.lib;gdiplus.lib;Psapi.lib;SetupAPI.lib;strmiids.lib;Uuid.Lib;SubPic.lib;MPCVideoDec.lib;%(AdditionalDependencies) @@ -156,7 +150,7 @@ update_version.bat $(IntDir)$(ProjectName).pch - _DEBUG;%(PreprocessorDefinitions) + WIN32;_DEBUG;%(PreprocessorDefinitions) 0x0409 @@ -187,7 +181,7 @@ update_version.bat ProgramDatabase - _DEBUG;%(PreprocessorDefinitions) + _WIN64;_DEBUG;%(PreprocessorDefinitions) 0x0409 diff --git a/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf b/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf index 5c1219351..ca66c36be 100644 --- a/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf +++ b/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf @@ -3,7 +3,7 @@ Media Player Classic Home Cinema diff --git a/src/apps/mplayerc/res/mpc-hc.exe.manifest.template b/src/apps/mplayerc/res/mpc-hc.exe.manifest.template index 77e930590..79f052286 100644 --- a/src/apps/mplayerc/res/mpc-hc.exe.manifest.template +++ b/src/apps/mplayerc/res/mpc-hc.exe.manifest.template @@ -3,7 +3,7 @@ Media Player Classic Home Cinema diff --git a/src/apps/mplayerc/res/mplayerc.rc2 b/src/apps/mplayerc/res/mplayerc.rc2 index a09af5d96..2a47aeacb 100644 --- a/src/apps/mplayerc/res/mplayerc.rc2 +++ b/src/apps/mplayerc/res/mplayerc.rc2 @@ -128,8 +128,8 @@ IDR_HTML_PLAYER HTML "res\\web\\player.html" // VS_VERSION_INFO VERSIONINFO - FILEVERSION MPC_VERSION - PRODUCTVERSION MPC_VERSION + FILEVERSION MPC_VERSION_NUM + PRODUCTVERSION MPC_VERSION_NUM FILEFLAGSMASK 0x1fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -144,17 +144,13 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "Comments", "Based on the original Media Player Classic v6.4.9.0 (C) Gabest" - VALUE "CompanyName", MPC_COMP_NAME + VALUE "Comments", "Based on the original Media Player Classic v6.4.9.0 © Gabest" + VALUE "CompanyName", MPC_COMP_NAME_STR VALUE "FileDescription", "Media Player Classic - Home Cinema" VALUE "FileVersion", MPC_VERSION_STR VALUE "InternalName", "mpc-hc" - VALUE "LegalCopyright", MPC_COPYRIGHT - #ifdef _WIN64 - VALUE "OriginalFilename", "mpc-hc64.exe" - #else - VALUE "OriginalFilename", "mpc-hc.exe" - #endif + VALUE "LegalCopyright", MPC_COPYRIGHT_STR + VALUE "OriginalFilename", MPC_VERSION_FILENAME VALUE "ProductName", "Media Player Classic - Home Cinema" VALUE "ProductVersion", MPC_VERSION_STR END diff --git a/src/apps/mplayerc/resource.h b/src/apps/mplayerc/resource.h index 0b6cdb098..345265dd8 100644 Binary files a/src/apps/mplayerc/resource.h and b/src/apps/mplayerc/resource.h differ -- cgit v1.2.3