Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsansnom05 <sansnom05@users.sourceforge.net>2010-12-16 16:53:08 +0300
committersansnom05 <sansnom05@users.sourceforge.net>2010-12-16 16:53:08 +0300
commitf0d88a6ff96770b10031dcc59447cca2c7dbc91c (patch)
treee188e4e733fcf6fc9b00dc349618c19f4d47a7c9 /src/apps/mplayerc
parent5067b0b48d4d15b24669c8032b28e90e45202801 (diff)
legacy branch: merge r2662-r2759
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/branches/legacy@2778 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/apps/mplayerc')
-rw-r--r--src/apps/mplayerc/AppSettings.cpp727
-rw-r--r--src/apps/mplayerc/AppSettings.h250
-rw-r--r--src/apps/mplayerc/Authors.txt8
-rw-r--r--src/apps/mplayerc/Changelog.txt41
-rw-r--r--src/apps/mplayerc/ChildView.cpp14
-rw-r--r--src/apps/mplayerc/ChildView.h4
-rw-r--r--src/apps/mplayerc/DVBChannel.cpp10
-rw-r--r--src/apps/mplayerc/DVBChannel.h24
-rw-r--r--src/apps/mplayerc/FGManager.cpp233
-rw-r--r--src/apps/mplayerc/FGManagerBDA.cpp45
-rw-r--r--src/apps/mplayerc/FGManagerBDA.h1
-rw-r--r--src/apps/mplayerc/FilterEnum.h222
-rw-r--r--src/apps/mplayerc/GoToDlg.cpp2
-rw-r--r--src/apps/mplayerc/IGraphBuilder2.h13
-rw-r--r--src/apps/mplayerc/ISDb.cpp2
-rw-r--r--src/apps/mplayerc/ISDb.h14
-rw-r--r--src/apps/mplayerc/MainFrm.cpp632
-rw-r--r--src/apps/mplayerc/MainFrm.h26
-rw-r--r--src/apps/mplayerc/MediaFormats.cpp19
-rw-r--r--src/apps/mplayerc/Mpeg2SectionData.cpp171
-rw-r--r--src/apps/mplayerc/Mpeg2SectionData.h30
-rw-r--r--src/apps/mplayerc/MultiMonitor.h4
-rw-r--r--src/apps/mplayerc/OpenCapDeviceDlg.cpp24
-rw-r--r--src/apps/mplayerc/OpenCapDeviceDlg.h2
-rw-r--r--src/apps/mplayerc/OpenDirHelper.cpp4
-rw-r--r--src/apps/mplayerc/OpenDirHelper.h2
-rw-r--r--src/apps/mplayerc/OpenDlg.cpp6
-rw-r--r--src/apps/mplayerc/PPageAccelTbl.cpp10
-rw-r--r--src/apps/mplayerc/PPageAudioSwitcher.cpp16
-rw-r--r--src/apps/mplayerc/PPageBase.cpp3
-rw-r--r--src/apps/mplayerc/PPageCapture.cpp12
-rw-r--r--src/apps/mplayerc/PPageDVD.cpp4
-rw-r--r--src/apps/mplayerc/PPageExternalFilters.cpp8
-rw-r--r--src/apps/mplayerc/PPageFileInfoDetails.cpp23
-rw-r--r--src/apps/mplayerc/PPageFormats.cpp30
-rw-r--r--src/apps/mplayerc/PPageFullscreen.cpp10
-rw-r--r--src/apps/mplayerc/PPageInternalFilters.cpp176
-rw-r--r--src/apps/mplayerc/PPageLogo.cpp12
-rw-r--r--src/apps/mplayerc/PPageOutput.cpp14
-rw-r--r--src/apps/mplayerc/PPagePlayback.cpp8
-rw-r--r--src/apps/mplayerc/PPagePlayer.cpp6
-rw-r--r--src/apps/mplayerc/PPageSheet.cpp5
-rw-r--r--src/apps/mplayerc/PPageSheet.h5
-rw-r--r--src/apps/mplayerc/PPageSubDB.cpp117
-rw-r--r--src/apps/mplayerc/PPageSubDB.h54
-rw-r--r--src/apps/mplayerc/PPageSubMisc.cpp61
-rw-r--r--src/apps/mplayerc/PPageSubMisc.h5
-rw-r--r--src/apps/mplayerc/PPageTweaks.cpp20
-rw-r--r--src/apps/mplayerc/PPageWebServer.cpp16
-rw-r--r--src/apps/mplayerc/PlayerCaptureDialog.cpp52
-rw-r--r--src/apps/mplayerc/PlayerNavigationDialog.cpp34
-rw-r--r--src/apps/mplayerc/PlayerNavigationDialog.h2
-rw-r--r--src/apps/mplayerc/PlayerPlaylistBar.cpp8
-rw-r--r--src/apps/mplayerc/PlayerSeekBar.cpp2
-rw-r--r--src/apps/mplayerc/PlayerShaderEditorBar.cpp6
-rw-r--r--src/apps/mplayerc/PlayerSubresyncBar.cpp6
-rw-r--r--src/apps/mplayerc/Playlist.cpp34
-rw-r--r--src/apps/mplayerc/Playlist.h2
-rw-r--r--src/apps/mplayerc/QuicktimeGraph.cpp1
-rw-r--r--src/apps/mplayerc/QuicktimeGraph.h1
-rw-r--r--src/apps/mplayerc/RealMediaGraph.cpp1
-rw-r--r--src/apps/mplayerc/RealMediaGraph.h1
-rw-r--r--src/apps/mplayerc/RealMediaWindowlessSite.cpp1
-rw-r--r--src/apps/mplayerc/RealMediaWindowlessSite.h1
-rw-r--r--src/apps/mplayerc/SaveDlg.cpp1
-rw-r--r--src/apps/mplayerc/SettingsDefines.h7
-rw-r--r--src/apps/mplayerc/ShaderCombineDlg.cpp8
-rw-r--r--src/apps/mplayerc/ShaderEditorDlg.cpp3
-rw-r--r--src/apps/mplayerc/ShockwaveGraph.cpp2
-rw-r--r--src/apps/mplayerc/ShockwaveGraph.h1
-rw-r--r--src/apps/mplayerc/TunerScanDlg.cpp91
-rw-r--r--src/apps/mplayerc/TunerScanDlg.h6
-rw-r--r--src/apps/mplayerc/VMROSD.cpp11
-rw-r--r--src/apps/mplayerc/VMROSD.h2
-rw-r--r--src/apps/mplayerc/WebServer.cpp6
-rw-r--r--src/apps/mplayerc/internal_filter_config.h35
-rw-r--r--src/apps/mplayerc/mpcresources/common.pl41
-rw-r--r--src/apps/mplayerc/mpcresources/mpcresources.vcproj1499
-rw-r--r--src/apps/mplayerc/mpcresources/mpcresources.vcxproj168
-rw-r--r--src/apps/mplayerc/mpcresources/mpcresources.vcxproj.filters3
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.br.rcbin346726 -> 350464 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.by.rcbin340634 -> 344624 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.ca.rcbin343070 -> 348596 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.cz.rcbin340848 -> 345528 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.de.rcbin345896 -> 347200 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.es.rcbin347058 -> 350810 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.fr.rcbin346790 -> 350888 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.hu.rcbin348198 -> 351274 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.hy.rcbin0 -> 344974 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.it.rcbin343242 -> 347350 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.ja.rcbin314354 -> 320182 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.kr.rcbin312108 -> 317714 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.nl.rcbin340142 -> 345388 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.pl.rcbin348446 -> 355042 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.ru.rcbin341566 -> 346348 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.sc.rcbin304304 -> 310454 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.sk.rcbin344576 -> 348828 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.sv.rcbin339082 -> 342876 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.tc.rcbin307026 -> 312522 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.tr.rcbin335430 -> 343638 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/mplayerc.ua.rcbin340170 -> 344822 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/patch.bat11
-rw-r--r--src/apps/mplayerc/mpcresources/patch.pl14
-rw-r--r--src/apps/mplayerc/mpcresources/rcfile.bat10
-rw-r--r--src/apps/mplayerc/mpcresources/rcfile.pl29
-rw-r--r--src/apps/mplayerc/mpcresources/rcstrings.bat2
-rw-r--r--src/apps/mplayerc/mpcresources/rcstrings.pl10
-rw-r--r--src/apps/mplayerc/mpcresources/sync.bat37
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txtbin0 -> 141708 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txtbin0 -> 136226 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txtbin0 -> 139656 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txtbin0 -> 136880 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txtbin0 -> 138418 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txtbin0 -> 142312 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txtbin0 -> 143166 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txtbin0 -> 143074 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txtbin0 -> 134540 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txtbin0 -> 137824 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txtbin0 -> 106368 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txtbin0 -> 103968 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txtbin0 -> 136188 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txtbin0 -> 147274 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.rc.txtbin0 -> 129578 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txtbin0 -> 138086 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txtbin0 -> 95730 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txtbin0 -> 140516 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txtbin0 -> 133010 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txtbin0 -> 97060 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txtbin0 -> 134340 bytes
-rw-r--r--src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txtbin0 -> 136424 bytes
-rw-r--r--src/apps/mplayerc/mplayerc.cpp79
-rw-r--r--src/apps/mplayerc/mplayerc.h10
-rw-r--r--src/apps/mplayerc/mplayerc.rcbin333114 -> 337916 bytes
-rw-r--r--src/apps/mplayerc/mplayerc.vcproj22
-rw-r--r--src/apps/mplayerc/mplayerc.vcxproj11
-rw-r--r--src/apps/mplayerc/mplayerc.vcxproj.filters9
-rw-r--r--src/apps/mplayerc/res/mpc-hc.exe.manifest.conf84
-rw-r--r--src/apps/mplayerc/res/mpc-hc.exe.manifest.template84
-rw-r--r--src/apps/mplayerc/resource.hbin117986 -> 119762 bytes
139 files changed, 4042 insertions, 1551 deletions
diff --git a/src/apps/mplayerc/AppSettings.cpp b/src/apps/mplayerc/AppSettings.cpp
index 8cd8f839e..e2fa92398 100644
--- a/src/apps/mplayerc/AppSettings.cpp
+++ b/src/apps/mplayerc/AppSettings.cpp
@@ -23,19 +23,8 @@
#include "stdafx.h"
#include "mplayerc.h"
-#include <atlsync.h>
-#include <Tlhelp32.h>
-#include "MainFrm.h"
-#include "../../DSUtil/DSUtil.h"
-#include "Struct.h"
-#include "FileVersionInfo.h"
-#include <psapi.h>
-#include "Ifo.h"
#include "MiniDump.h"
-#include "SettingsDefines.h"
-#include "internal_filter_config.h"
-#include "Monitors.h"
#include "AppSettings.h"
// Settings
@@ -45,12 +34,173 @@ CAppSettings::CAppSettings()
, MRUDub(0, _T("Recent Dub List"), _T("Dub%d"), 20)
, hAccel(NULL)
, nCmdlnWebServerPort(-1)
- , ShowDebugInfo(false)
+ , fShowDebugInfo(false)
{
+// Internal source filter
+#if INTERNAL_SOURCEFILTER_CDDA
+ SrcFiltersKeys[SRC_CDDA] = _T("SRC_CDDA");
+#endif
+#if INTERNAL_SOURCEFILTER_CDXA
+ SrcFiltersKeys[SRC_CDXA] = _T("SRC_CDXA");
+#endif
+#if INTERNAL_SOURCEFILTER_VTS
+ SrcFiltersKeys[SRC_VTS] = _T("SRC_VTS");
+#endif
+#if INTERNAL_SOURCEFILTER_FLIC
+ SrcFiltersKeys[SRC_FLIC] = _T("SRC_FLIC");
+#endif
+#if INTERNAL_SOURCEFILTER_DVSOURCE
+ SrcFiltersKeys[SRC_D2V] = _T("SRC_D2V");
+#endif
+#if INTERNAL_SOURCEFILTER_DTSAC3
+ SrcFiltersKeys[SRC_DTSAC3] = _T("SRC_DTSAC3");
+#endif
+#if INTERNAL_SOURCEFILTER_MATROSKA
+ SrcFiltersKeys[SRC_MATROSKA] = _T("SRC_MATROSKA");
+#endif
+#if INTERNAL_SOURCEFILTER_SHOUTCAST
+ SrcFiltersKeys[SRC_SHOUTCAST] = _T("SRC_SHOUTCAST");
+#endif
+#if INTERNAL_SOURCEFILTER_REALMEDIA
+ SrcFiltersKeys[SRC_REALMEDIA] = _T("SRC_REALMEDIA");
+#endif
+#if INTERNAL_SOURCEFILTER_AVI
+ SrcFiltersKeys[SRC_AVI] = _T("SRC_AVI");
+#endif
+#if INTERNAL_SOURCEFILTER_ROQ
+ SrcFiltersKeys[SRC_ROQ] = _T("SRC_ROQ");
+#endif
+#if INTERNAL_SOURCEFILTER_OGG
+ SrcFiltersKeys[SRC_OGG] = _T("SRC_OGG");
+#endif
+#if INTERNAL_SOURCEFILTER_NUT
+ SrcFiltersKeys[SRC_NUT] = _T("SRC_NUT");
+#endif
+#if INTERNAL_SOURCEFILTER_MPEG
+ SrcFiltersKeys[SRC_MPEG] = _T("SRC_MPEG");
+#endif
+#if INTERNAL_SOURCEFILTER_DIRAC
+ SrcFiltersKeys[SRC_DIRAC] = _T("SRC_DIRAC");
+#endif
+#if INTERNAL_SOURCEFILTER_MPEGAUDIO
+ SrcFiltersKeys[SRC_MPA] = _T("SRC_MPA");
+#endif
+#if INTERNAL_SOURCEFILTER_DSM
+ SrcFiltersKeys[SRC_DSM] = _T("SRC_DSM");
+#endif
+ SrcFiltersKeys[SRC_SUBS] = _T("SRC_SUBS");
+#if INTERNAL_SOURCEFILTER_MP4
+ SrcFiltersKeys[SRC_MP4] = _T("SRC_MP4");
+#endif
+#if INTERNAL_SOURCEFILTER_FLV
+ SrcFiltersKeys[SRC_FLV] = _T("SRC_FLV");
+#endif
+#if INTERNAL_SOURCEFILTER_FLAC
+ SrcFiltersKeys[SRC_FLAC] = _T("SRC_FLAC");
+#endif
+
+// Internal decoders
+#if INTERNAL_DECODER_MPEG1
+ TraFiltersKeys[TRA_MPEG1] = _T("TRA_MPEG1");
+#endif
+#if INTERNAL_DECODER_MPEG2
+ TraFiltersKeys[TRA_MPEG2] = _T("TRA_MPEG2");
+#endif
+#if INTERNAL_DECODER_REALVIDEO
+ TraFiltersKeys[TRA_RV] = _T("TRA_RV");
+#endif
+#if INTERNAL_DECODER_REALAUDIO
+ TraFiltersKeys[TRA_RA] = _T("TRA_RA");
+#endif
+#if INTERNAL_DECODER_MPEGAUDIO
+ TraFiltersKeys[TRA_MPA] = _T("TRA_MPA");
+#endif
+#if INTERNAL_DECODER_DTS
+ TraFiltersKeys[TRA_DTS] = _T("TRA_DTS");
+ TraFiltersKeys[TRA_LPCM] = _T("TRA_LPCM");
+#endif
+#if INTERNAL_DECODER_AC3
+ TraFiltersKeys[TRA_AC3] = _T("TRA_AC3");
+#endif
+#if INTERNAL_DECODER_AAC
+ TraFiltersKeys[TRA_AAC] = _T("TRA_AAC");
+#endif
+#if INTERNAL_DECODER_PS2AUDIO
+ TraFiltersKeys[TRA_PS2AUD] = _T("TRA_PS2AUD");
+#endif
+#if INTERNAL_DECODER_DIRAC
+ TraFiltersKeys[TRA_DIRAC] = _T("TRA_DIRAC");
+#endif
+#if INTERNAL_DECODER_VORBIS
+ TraFiltersKeys[TRA_VORBIS] = _T("TRA_VORBIS");
+#endif
+#if INTERNAL_DECODER_FLAC
+ TraFiltersKeys[TRA_FLAC] = _T("TRA_FLAC");
+#endif
+#if INTERNAL_DECODER_NELLYMOSER
+ TraFiltersKeys[TRA_NELLY] = _T("TRA_NELLY");
+#endif
+#if INTERNAL_DECODER_AMR
+ TraFiltersKeys[TRA_AMR] = _T("TRA_AMR");
+#endif
+#if INTERNAL_DECODER_PCM
+ TraFiltersKeys[TRA_PCM] = _T("TRA_PCM");
+#endif
+
+// Internal DXVA decoders
+#if INTERNAL_DECODER_H264_DXVA
+ DXVAFiltersKeys[TRA_DXVA_H264] = _T("TRA_DXVA_H264");
+#endif
+#if INTERNAL_DECODER_VC1_DXVA
+ DXVAFiltersKeys[TRA_DXVA_VC1] = _T("TRA_DXVA_VC1");
+#endif
+#if INTERNAL_DECODER_MPEG2_DXVA
+ DXVAFiltersKeys[TRA_DXVA_MPEG2] = _T("TRA_DXVA_MPEG2");
+#endif
+
+// Internal FFMpeg decoders
+#if INTERNAL_DECODER_H264
+ FFMFiltersKeys[FFM_H264] = _T("FFM_H264");
+#endif
+#if INTERNAL_DECODER_VC1
+ FFMFiltersKeys[FFM_VC1] = _T("FFM_VC1");
+#endif
+#if INTERNAL_DECODER_FLV
+ FFMFiltersKeys[FFM_FLV4] = _T("FFM_FLV4");
+#endif
+#if INTERNAL_DECODER_VP6
+ FFMFiltersKeys[FFM_VP62] = _T("FFM_VP62");
+#endif
+#if INTERNAL_DECODER_VP8
+ FFMFiltersKeys[FFM_VP8] = _T("FFM_VP8");
+#endif
+#if INTERNAL_DECODER_XVID
+ FFMFiltersKeys[FFM_XVID] = _T("FFM_XVID");
+#endif
+#if INTERNAL_DECODER_DIVX
+ FFMFiltersKeys[FFM_DIVX] = _T("FFM_DIVX");
+#endif
+#if INTERNAL_DECODER_MSMPEG4
+ FFMFiltersKeys[FFM_MSMPEG4] = _T("FFM_MSMPEG4");
+#endif
+#if INTERNAL_DECODER_WMV
+ FFMFiltersKeys[FFM_WMV] = _T("FFM_WMV");
+#endif
+#if INTERNAL_DECODER_SVQ
+ FFMFiltersKeys[FFM_SVQ3] = _T("FFM_SVQ3");
+#endif
+#if INTERNAL_DECODER_H263
+ FFMFiltersKeys[FFM_H263] = _T("FFM_H263");
+#endif
+#if INTERNAL_DECODER_THEORA
+ FFMFiltersKeys[FFM_THEORA] = _T("FFM_THEORA");
+#endif
+#if INTERNAL_DECODER_AMVV
+ FFMFiltersKeys[FFM_AMVV] = _T("FFM_AMVV");
+#endif
}
-
void CAppSettings::CreateCommands()
{
#define ADDCMD(cmd) wmcmds.AddTail(wmcmd##cmd)
@@ -224,20 +374,20 @@ CAppSettings::~CAppSettings()
DestroyAcceleratorTable(hAccel);
}
-bool CAppSettings::IsD3DFullscreen()
+bool CAppSettings::IsD3DFullscreen() const
{
if(nCLSwitches&CLSW_D3DFULLSCREEN)
return true;
else
return fD3DFullscreen;
}
-CString CAppSettings::SelectedAudioRenderer()
+CString CAppSettings::SelectedAudioRenderer() const
{
CString strResult;
if(AfxGetMyApp()->m_AudioRendererDisplayName_CL != _T(""))
strResult = AfxGetMyApp()->m_AudioRendererDisplayName_CL;
else
- strResult = AfxGetAppSettings().AudioRendererDisplayName;
+ strResult = AfxGetAppSettings().strAudioRendererDisplayName;
return strResult;
}
@@ -313,7 +463,7 @@ bool CAppSettings::NewFile(LPCTSTR strFileName)
}
-void CAppSettings::DeserializeHex (LPCTSTR strVal, BYTE* pBuffer, int nBufSize)
+void CAppSettings::DeserializeHex (LPCTSTR strVal, BYTE* pBuffer, int nBufSize) const
{
long lRes;
@@ -324,7 +474,7 @@ void CAppSettings::DeserializeHex (LPCTSTR strVal, BYTE* pBuffer, int nBufSize)
}
}
-CString CAppSettings::SerializeHex (BYTE* pBuffer, int nBufSize)
+CString CAppSettings::SerializeHex (BYTE* pBuffer, int nBufSize) const
{
CString strTemp;
CString strResult;
@@ -350,7 +500,7 @@ void CAppSettings::UpdateData(bool fSave)
{
if(!fInitialized) return;
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECAPTIONMENU, fHideCaptionMenu);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECAPTIONMENU, iCaptionMenuMode);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_HIDENAVIGATION, fHideNavigation);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_CONTROLSTATE, nCS);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULTVIDEOFRAME, iDefaultVideoSize);
@@ -378,64 +528,25 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_REMEMBERWINDOWSIZE, fRememberWindowSize);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SNAPTODESKTOPEDGES, fSnapToDesktopEdges);
pApp->WriteProfileBinary(IDS_R_SETTINGS, IDS_RS_LASTWINDOWRECT, (BYTE*)&rcLastWindowPos, sizeof(rcLastWindowPos));
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LASTWINDOWTYPE, lastWindowType);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_X, AspectRatio.cx);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_Y, AspectRatio.cy);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LASTWINDOWTYPE, nLastWindowType);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_X, sizeAspectRatio.cx);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_Y, sizeAspectRatio.cy);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_KEEPHISTORY, fKeepHistory);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE, iDSVideoRendererType);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, iRMVideoRendererType);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, iQTVideoRendererType);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_APSURACEFUSAGE, m_RenderersSettings.iAPSurfaceUsage);
-// pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMRSYNCFIX, m_RenderersSettings.fVMRSyncFix);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DX9_RESIZER, m_RenderersSettings.iDX9Resizer);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERMODE, m_RenderersSettings.fVMR9MixerMode);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERYUV, m_RenderersSettings.fVMR9MixerYUV);
-
- CRenderersSettings::CRendererSettingsEVR& rendererSettings = m_RenderersSettings.m_RenderSettings;
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRAlternateVSync"), rendererSettings.fVMR9AlterativeVSync);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSyncOffset"), rendererSettings.iVMR9VSyncOffset);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSyncAccurate2"), rendererSettings.iVMR9VSyncAccurate);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFullscreenGUISupport"), rendererSettings.iVMR9FullscreenGUISupport);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSync"), rendererSettings.iVMR9VSync);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRDisableDesktopComposition"), rendererSettings.iVMRDisableDesktopComposition);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFullFloatingPointProcessing"), rendererSettings.iVMR9FullFloatingPointProcessing);
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementEnable"), rendererSettings.iVMR9ColorManagementEnable);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementInput"), rendererSettings.iVMR9ColorManagementInput);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementAmbientLight"), rendererSettings.iVMR9ColorManagementAmbientLight);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementIntent"), rendererSettings.iVMR9ColorManagementIntent);
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVROutputRange"), rendererSettings.iEVROutputRange);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVRHighColorRes"), rendererSettings.iEVRHighColorResolution);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVRForceInputHighColorRes"), rendererSettings.iEVRForceInputHighColorResolution);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVREnableFrameTimeCorrection"), rendererSettings.iEVREnableFrameTimeCorrection);
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUBeforeVSync"), rendererSettings.iVMRFlushGPUBeforeVSync);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUAfterPresent"), rendererSettings.iVMRFlushGPUAfterPresent);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUWait"), rendererSettings.iVMRFlushGPUWait);
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeClock"), rendererSettings.bSynchronizeVideo);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeDisplay"), rendererSettings.bSynchronizeDisplay);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeNearest"), rendererSettings.bSynchronizeNearest);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("LineDelta"), rendererSettings.iLineDelta);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("ColumnDelta"), rendererSettings.iColumnDelta);
-
- pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("CycleDelta"), (LPBYTE)&(rendererSettings.fCycleDelta), sizeof(rendererSettings.fCycleDelta));
- pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("TargetSyncOffset"), (LPBYTE)&(rendererSettings.fTargetSyncOffset), sizeof(rendererSettings.fTargetSyncOffset));
- pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("ControlLimit"), (LPBYTE)&(rendererSettings.fControlLimit), sizeof(rendererSettings.fControlLimit));
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), m_RenderersSettings.fResetDevice);
+ UpdateRenderersData(true);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUDIORENDERERTYPE, CString(AudioRendererDisplayName));
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUDIORENDERERTYPE, CString(strAudioRendererDisplayName));
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOLOADAUDIO, fAutoloadAudio);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOLOADSUBTITLES, fAutoloadSubtitles);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESLANGORDER, CString(m_subtitlesLanguageOrder));
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOSLANGORDER, CString(m_audiosLanguageOrder));
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESLANGORDER, CString(strSubtitlesLanguageOrder));
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOSLANGORDER, CString(strAudiosLanguageOrder));
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_BLOCKVSFILTER, fBlockVSFilter);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEWORKERTHREADFOROPENING, fEnableWorkerThreadForOpening);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_REPORTFAILEDPINS, fReportFailedPins);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_DVDPATH, sDVDPath);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_DVDPATH, strDVDPath);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_USEDVDPATH, fUseDVDPath);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MENULANG, idMenuLang);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOLANG, idAudioLang);
@@ -446,19 +557,15 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPOVERRIDEPLACEMENT, fOverridePlacement);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPHORPOS, nHorPos);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPVERPOS, nVerPos);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, m_RenderersSettings.nSPCSize);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPCMAXRES, m_RenderersSettings.nSPCMaxRes);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SUBDELAYINTERVAL, nSubDelayInterval);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_POW2TEX, m_RenderersSettings.fSPCPow2Tex);
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SPCAllowAnimationWhenBuffering"), m_RenderersSettings.fSPCAllowAnimationWhenBuffering);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLESUBTITLES, fEnableSubtitles);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITIZEEXTERNALSUBTITLES, fPrioritizeExternalSubtitles);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DISABLEINTERNALSUBTITLES, fDisableInternalSubtitles);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, szSubtitlePaths);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, strSubtitlePaths);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_USEDEFAULTSUBTITLESSTYLE, fUseDefaultSubtitlesStyle);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOSWITCHER, fEnableAudioSwitcher);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOTIMESHIFT, fAudioTimeShift);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, tAudioTimeShift);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, iAudioTimeShift);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DOWNSAMPLETO441, fDownSampleTo441);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_CUSTOMCHANNELMAPPING, fCustomChannelMapping);
pApp->WriteProfileBinary(IDS_R_SETTINGS, IDS_RS_SPEAKERTOCHANNELMAPPING, (BYTE*)pSpeakerToChannelMap, sizeof(pSpeakerToChannelMap));
@@ -466,27 +573,26 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIONORMALIZERECOVER, fAudioNormalizeRecover);
CString strTemp;
- strTemp.Format( _T("%f"), AudioBoost);
+ strTemp.Format( _T("%f"), dAudioBoost);
pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOBOOST, strTemp);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPEAKERCHANNELS, fnChannels);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPEAKERCHANNELS, nSpeakerChannels);
// Multi-monitor code
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_FULLSCREENMONITOR, CString(f_hmonitor));
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_FULLSCREENMONITOR, CString(strFullScreenMonitor));
// Prevent Minimize when in Fullscreen mode on non default monitor
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_PREVENT_MINIMIZE, m_fPreventMinimize);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_WIN7TASKBAR, m_fUseWin7TaskBar);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_EXIT_AFTER_PB, m_fExitAfterPlayback);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NEXT_AFTER_PB, m_fNextInDirAfterPlayback);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NO_SEARCH_IN_FOLDER, m_fDontUseSearchInFolder);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_OSD_SIZE, nOSD_Size);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_MPC_OSD_FONT, m_OSD_Font);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_PREVENT_MINIMIZE, fPreventMinimize);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_WIN7TASKBAR, fUseWin7TaskBar);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_EXIT_AFTER_PB, fExitAfterPlayback);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NEXT_AFTER_PB, fNextInDirAfterPlayback);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NO_SEARCH_IN_FOLDER, fDontUseSearchInFolder);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_OSD_SIZE, nOSDSize);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_MPC_OSD_FONT, strOSDFont);
// Associated types with icon or not...
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ASSOCIATED_WITH_ICON, fAssociatedWithIcons);
// Last Open Dir
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_LAST_OPEN_DIR, f_lastOpenDir);
-
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_LAST_OPEN_DIR, strLastOpenDir);
// CASIMIR666 : new settings
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_D3DFULLSCREEN, fD3DFullscreen);
@@ -503,10 +609,9 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SHADERLIST, strShaderList);
pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SHADERLISTSCREENSPACE, strShaderListScreenSpace);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADER, (int)m_bToggleShader);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADERSSCREENSPACE, (int)m_bToggleShaderScreenSpace);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADER, (int)fToggleShader);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADERSSCREENSPACE, (int)fToggleShaderScreenSpace);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_EVR_BUFFERS, m_RenderersSettings.iEvrBuffers);
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);
@@ -518,24 +623,30 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt (IDS_RS_CAPTURE, IDS_RS_COUNTRY, iAnalogCountry);
// Save digital capture settings (BDA)
- pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_NETWORKPROVIDER, BDANetworkProvider);
- pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_TUNER, BDATuner);
- pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_RECEIVER, BDAReceiver);
- pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_DVB_LAST_CHANNEL, DVBLastChannel);
+ pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_NETWORKPROVIDER, strBDANetworkProvider);
+ pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_TUNER, strBDATuner);
+ pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_RECEIVER, strBDAReceiver);
+ //pApp->WriteProfileString(IDS_RS_DVB, IDS_RS_BDA_STANDARD, strBDAStandard);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_SCAN_FREQ_START, iBDAScanFreqStart);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_SCAN_FREQ_END, iBDAScanFreqEnd);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_BANDWIDTH, iBDABandwidth);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_USE_OFFSET, fBDAUseOffset);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_OFFSET, iBDAOffset);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_BDA_IGNORE_ENCRYPTED_CHANNELS, fBDAIgnoreEncryptedChannels);
+ pApp->WriteProfileInt(IDS_RS_DVB, IDS_RS_DVB_LAST_CHANNEL, nDVBLastChannel);
int iChannel = 0;
- POSITION pos = DVBChannels.GetHeadPosition();
+ POSITION pos = m_DVBChannels.GetHeadPosition();
while (pos)
{
CString strTemp;
CString strChannel;
- CDVBChannel& Channel = DVBChannels.GetNext(pos);
+ CDVBChannel& Channel = m_DVBChannels.GetNext(pos);
strTemp.Format(_T("%d"), iChannel);
pApp->WriteProfileString(IDS_RS_DVB, strTemp, Channel.ToString());
iChannel++;
}
-
// playback positions for last played DVDs
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DVDPOS, (int)fRememberDVDPos);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_FILEPOS, (int)fRememberFilePos);
@@ -579,10 +690,10 @@ void CAppSettings::UpdateData(bool fSave)
}
pApp->WriteProfileString(IDS_R_FILTERS, NULL, NULL);
- POSITION pos = filters.GetHeadPosition();
+ POSITION pos = m_filters.GetHeadPosition();
for(int i = 0; pos; i++)
{
- FilterOverride* f = filters.GetNext(pos);
+ FilterOverride* f = m_filters.GetNext(pos);
if(f->fTemporary)
continue;
@@ -625,7 +736,7 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_INTREALMEDIA, fIntRealMedia);
// pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIARENDERLESS, fRealMediaRenderless);
// pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_QUICKTIMERENDERER, iQuickTimeRenderer);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIAFPS, *((DWORD*)&RealMediaQuickTimeFPS));
+ //pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIAFPS, *((DWORD*)&dRealMediaQuickTimeFPS));
pApp->WriteProfileString(IDS_R_SETTINGS _T("\\") IDS_RS_PNSPRESETS, NULL, NULL);
for(int i = 0, j = m_pnspresets.GetCount(); i < j; i++)
@@ -655,9 +766,9 @@ void CAppSettings::UpdateData(bool fSave)
}
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_WINLIRC, fWinLirc);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WINLIRCADDR, WinLircAddr);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WINLIRCADDR, strWinLircAddr);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_UICE, fUIce);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_UICEADDR, UIceAddr);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_UICEADDR, strUIceAddr);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_GLOBALMEDIA, fGlobalMedia);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DISABLEXPTOOLBARS, fDisableXPToolbars);
@@ -669,46 +780,51 @@ void CAppSettings::UpdateData(bool fSave)
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_NOTIFYMSN, fNotifyMSN);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_NOTIFYGTSDLL, fNotifyGTSdll);
- Formats.UpdateData(true);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("LastUsedPage"), nLastUsedPage);
- pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_SRCFILTERS, SrcFilters|~(SRC_LAST-1));
- pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_TRAFILTERS, TraFilters|~(TRA_LAST-1));
- pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_DXVAFILTERS, DXVAFilters|~(DXVA_LAST-1));
- pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_FFMPEGFILTERS, FFmpegFilters|~(FFM_LAST-1));
+ m_Formats.UpdateData(true);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_LOGOFILE, logofn);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOID, logoid);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOEXT, logoext);
+ // Internal filters
+ for (int f=0; f<SRC_LAST; f++)
+ pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, SrcFiltersKeys[f], SrcFilters[f]);
+ for (int f=0; f<TRA_LAST; f++)
+ pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, TraFiltersKeys[f], TraFilters[f]);
+ for (int f=0; f<TRA_DXVA_LAST; f++)
+ pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, DXVAFiltersKeys[f], DXVAFilters[f]);
+ for (int f=0; f<FFM_LAST; f++)
+ pApp->WriteProfileInt(IDS_R_INTERNAL_FILTERS, FFMFiltersKeys[f], FFmpegFilters[f]);
+
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_LOGOFILE, strLogoFileName);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOID, nLogoId);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOEXT, fLogoExternal);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECDROMSSUBMENU, fHideCDROMsSubMenu);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITY, priority);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LAUNCHFULLSCREEN, launchfullscreen);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITY, dwPriority);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_LAUNCHFULLSCREEN, fLaunchfullscreen);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEWEBSERVER, fEnableWebServer);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERPORT, nWebServerPort);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERPRINTDEBUGINFO, fWebServerPrintDebugInfo);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERUSECOMPRESSION, fWebServerUseCompression);
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERLOCALHOSTONLY, fWebServerLocalhostOnly);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBROOT, WebRoot);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBDEFINDEX, WebDefIndex);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBSERVERCGI, WebServerCGI);
-
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTPATH, SnapShotPath);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTEXT, SnapShotExt);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBROOT, strWebRoot);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBDEFINDEX, strWebDefIndex);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_WEBSERVERCGI, strWebServerCGI);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBROWS, ThumbRows);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBCOLS, ThumbCols);
- pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, ThumbWidth);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTPATH, strSnapShotPath);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTEXT, strSnapShotExt);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, ISDb);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBROWS, iThumbRows);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBCOLS, iThumbCols);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, iThumbWidth);
- pApp->WriteProfileString(IDS_R_SETTINGS, IDS_D3D9RENDERDEVICE, D3D9RenderDevice);
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, strISDb);
pApp->WriteProfileString(_T("Shaders"), NULL, NULL);
pApp->WriteProfileInt(_T("Shaders"), _T("Initialized"), 1);
- pApp->WriteProfileString(_T("Shaders"), _T("Combine"), m_shadercombine);
- pApp->WriteProfileString(_T("Shaders"), _T("CombineScreenSpace"), m_shadercombineScreenSpace);
+ pApp->WriteProfileString(_T("Shaders"), _T("Combine"), strShadercombine);
+ pApp->WriteProfileString(_T("Shaders"), _T("CombineScreenSpace"), strShadercombineScreenSpace);
pos = m_shaders.GetHeadPosition();
@@ -758,7 +874,7 @@ void CAppSettings::UpdateData(bool fSave)
if (iLanguage != 0) CMPlayerCApp::SetLanguage(iLanguage);
CreateCommands();
- fHideCaptionMenu = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECAPTIONMENU, 0);
+ iCaptionMenuMode = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECAPTIONMENU, MODE_SHOWCAPTIONMENU);
fHideNavigation = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_HIDENAVIGATION, 0);
nCS = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_CONTROLSTATE, CS_SEEKBAR|CS_TOOLBAR|CS_STATUSBAR);
iDefaultVideoSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULTVIDEOFRAME, DVS_FROMINSIDE);
@@ -775,68 +891,13 @@ void CAppSettings::UpdateData(bool fSave)
iRMVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DEFAULT);
iQTVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DEFAULT);
- m_RenderersSettings.iAPSurfaceUsage = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_APSURACEFUSAGE, (IsVistaOrAbove() ? VIDRNDT_AP_TEXTURE3D : VIDRNDT_AP_TEXTURE2D));
-// m_RenderersSettings.fVMRSyncFix = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMRSYNCFIX, FALSE);
- m_RenderersSettings.iDX9Resizer = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DX9_RESIZER, 1);
- m_RenderersSettings.fVMR9MixerMode = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERMODE, TRUE);
- m_RenderersSettings.fVMR9MixerYUV = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERYUV, FALSE);
-
- CRenderersSettings::CRendererSettingsEVR& rendererSettings = m_RenderersSettings.m_RenderSettings;
- CRenderersSettings::CRendererSettingsEVR DefaultSettings;
- rendererSettings.fVMR9AlterativeVSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRAlternateVSync"), DefaultSettings.fVMR9AlterativeVSync);
- rendererSettings.iVMR9VSyncOffset = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSyncOffset"), DefaultSettings.iVMR9VSyncOffset);
- rendererSettings.iVMR9VSyncAccurate = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSyncAccurate2"), DefaultSettings.iVMR9VSyncAccurate);
- rendererSettings.iVMR9FullscreenGUISupport = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFullscreenGUISupport"), DefaultSettings.iVMR9FullscreenGUISupport);
- rendererSettings.iEVRHighColorResolution = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVRHighColorRes"), DefaultSettings.iEVRHighColorResolution);
- rendererSettings.iEVRForceInputHighColorResolution = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVRForceInputHighColorRes"), DefaultSettings.iEVRForceInputHighColorResolution);
- rendererSettings.iEVREnableFrameTimeCorrection = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVREnableFrameTimeCorrection"), DefaultSettings.iEVREnableFrameTimeCorrection);
- rendererSettings.iVMR9VSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSync"), DefaultSettings.iVMR9VSync);
- rendererSettings.iVMRDisableDesktopComposition = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRDisableDesktopComposition"), DefaultSettings.iVMRDisableDesktopComposition);
- rendererSettings.iVMR9FullFloatingPointProcessing = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFullFloatingPointProcessing"), DefaultSettings.iVMR9FullFloatingPointProcessing);
-
- rendererSettings.iVMR9ColorManagementEnable = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementEnable"), DefaultSettings.iVMR9ColorManagementEnable);
- rendererSettings.iVMR9ColorManagementInput = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementInput"), DefaultSettings.iVMR9ColorManagementInput);
- rendererSettings.iVMR9ColorManagementAmbientLight = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementAmbientLight"), DefaultSettings.iVMR9ColorManagementAmbientLight);
- rendererSettings.iVMR9ColorManagementIntent = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementIntent"), DefaultSettings.iVMR9ColorManagementIntent);
-
- rendererSettings.iEVROutputRange = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVROutputRange"), DefaultSettings.iEVROutputRange);
-
- rendererSettings.iVMRFlushGPUBeforeVSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUBeforeVSync"), DefaultSettings.iVMRFlushGPUBeforeVSync);
- rendererSettings.iVMRFlushGPUAfterPresent = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUAfterPresent"), DefaultSettings.iVMRFlushGPUAfterPresent);
- rendererSettings.iVMRFlushGPUWait = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUWait"), DefaultSettings.iVMRFlushGPUWait);
-
- rendererSettings.bSynchronizeVideo = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeClock"), DefaultSettings.bSynchronizeVideo);
- rendererSettings.bSynchronizeDisplay = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeDisplay"), DefaultSettings.bSynchronizeDisplay);
- rendererSettings.bSynchronizeNearest = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeNearest"), DefaultSettings.bSynchronizeNearest);
- rendererSettings.iLineDelta = pApp->GetProfileInt(IDS_R_SETTINGS, _T("LineDelta"), DefaultSettings.iLineDelta);
- rendererSettings.iColumnDelta = pApp->GetProfileInt(IDS_R_SETTINGS, _T("ColumnDelta"), DefaultSettings.iColumnDelta);
-
- double *dPtr;
- UINT dSize;
- if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("CycleDelta"), (LPBYTE*)&dPtr, &dSize))
- {
- rendererSettings.fCycleDelta = *dPtr;
- delete [] dPtr;
- }
+ UpdateRenderersData(false);
- if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("TargetSyncOffset"), (LPBYTE*)&dPtr, &dSize))
- {
- rendererSettings.fTargetSyncOffset = *dPtr;
- delete [] dPtr;
- }
- if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("ControlLimit"), (LPBYTE*)&dPtr, &dSize))
- {
- rendererSettings.fControlLimit = *dPtr;
- delete [] dPtr;
- }
-
- m_RenderersSettings.fResetDevice = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), TRUE);
-
- AudioRendererDisplayName = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIORENDERERTYPE, _T(""));
+ strAudioRendererDisplayName = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIORENDERERTYPE, _T(""));
fAutoloadAudio = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOLOADAUDIO, TRUE);
fAutoloadSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOLOADSUBTITLES, !CMPlayerCApp::IsVSFilterInstalled() || (IsVistaOrAbove() && CMPlayerCApp::HasEVR()) );
- m_subtitlesLanguageOrder = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESLANGORDER, _T(""));
- m_audiosLanguageOrder = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOSLANGORDER, _T(""));
+ strSubtitlesLanguageOrder = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLESLANGORDER, _T(""));
+ strAudiosLanguageOrder = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOSLANGORDER, _T(""));
fBlockVSFilter = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_BLOCKVSFILTER, TRUE);
fEnableWorkerThreadForOpening = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEWORKERTHREADFOROPENING, TRUE);
fReportFailedPins = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REPORTFAILEDPINS, TRUE);
@@ -850,20 +911,20 @@ void CAppSettings::UpdateData(bool fSave)
nShowBarsWhenFullScreenTimeOut = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_FULLSCREENCTRLSTIMEOUT, 0);
//Multi-monitor code
- f_hmonitor = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_FULLSCREENMONITOR, _T(""));
+ strFullScreenMonitor = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_FULLSCREENMONITOR, _T(""));
// Prevent Minimize when in Fullscreen mode on non default monitor
- m_fPreventMinimize = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_PREVENT_MINIMIZE, 0);
- m_fUseWin7TaskBar = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_WIN7TASKBAR, 1);
- m_fExitAfterPlayback = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_EXIT_AFTER_PB, 0);
- m_fNextInDirAfterPlayback = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NEXT_AFTER_PB, 0);
- m_fDontUseSearchInFolder = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NO_SEARCH_IN_FOLDER, 0);
- nOSD_Size = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_OSD_SIZE, 20);
- m_OSD_Font= pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_MPC_OSD_FONT, _T("Arial"));
+ fPreventMinimize = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_PREVENT_MINIMIZE, 0);
+ fUseWin7TaskBar = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_WIN7TASKBAR, 1);
+ fExitAfterPlayback = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_EXIT_AFTER_PB, 0);
+ fNextInDirAfterPlayback = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NEXT_AFTER_PB, 0);
+ fDontUseSearchInFolder = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_NO_SEARCH_IN_FOLDER, 0);
+ nOSDSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MPC_OSD_SIZE, 20);
+ strOSDFont= pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_MPC_OSD_FONT, _T("Arial"));
// Associated types with icon or not...
fAssociatedWithIcons = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ASSOCIATED_WITH_ICON, 1);
// Last Open Dir
- f_lastOpenDir = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_LAST_OPEN_DIR, _T("C:\\"));
+ strLastOpenDir = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_LAST_OPEN_DIR, _T("C:\\"));
if ( pApp->GetProfileBinary(IDS_R_SETTINGS, IDS_RS_FULLSCREENRES, &ptr, &len) )
{
@@ -883,8 +944,8 @@ void CAppSettings::UpdateData(bool fSave)
fRememberWindowPos = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REMEMBERWINDOWPOS, 0);
fRememberWindowSize = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REMEMBERWINDOWSIZE, 0);
fSnapToDesktopEdges = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SNAPTODESKTOPEDGES, 0);
- AspectRatio.cx = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_X, 0);
- AspectRatio.cy = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_Y, 0);
+ sizeAspectRatio.cx = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_X, 0);
+ sizeAspectRatio.cy = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ASPECTRATIO_Y, 0);
fKeepHistory = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_KEEPHISTORY, 1);
if ( pApp->GetProfileBinary(IDS_R_SETTINGS, IDS_RS_LASTWINDOWRECT, &ptr, &len) )
{
@@ -898,39 +959,33 @@ void CAppSettings::UpdateData(bool fSave)
{
fRememberWindowPos = false;
}
- lastWindowType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LASTWINDOWTYPE, SIZE_RESTORED);
- sDVDPath = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_DVDPATH, _T(""));
+ nLastWindowType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LASTWINDOWTYPE, SIZE_RESTORED);
+ strDVDPath = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_DVDPATH, _T(""));
fUseDVDPath = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_USEDVDPATH, 0);
idMenuLang = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_MENULANG, 0);
idAudioLang = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOLANG, 0);
idSubtitlesLang = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SUBTITLESLANG, 0);
fAutoSpeakerConf = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUTOSPEAKERCONF, 1);
// TODO: rename subdefstyle -> defStyle, IDS_RS_SPLOGFONT -> IDS_RS_SPSTYLE
- subdefstyle <<= pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SPLOGFONT, _T(""));
+ {
+ CString temp = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SPLOGFONT, _T(""));
+ subdefstyle <<= temp;
+ if(temp == _T(""))
+ subdefstyle.relativeTo = 1; //default "Position subtitles relative to the video frame" option is checked
+ }
fOverridePlacement = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPOVERRIDEPLACEMENT, 0);
nHorPos = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPHORPOS, 50);
nVerPos = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPVERPOS, 90);
- m_RenderersSettings.nSPCSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, 3);
- m_RenderersSettings.nSPCMaxRes = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPCMAXRES, 2);
nSubDelayInterval = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SUBDELAYINTERVAL, 500);
- m_RenderersSettings.fSPCPow2Tex = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_POW2TEX, TRUE);
- bool bAllowAnimationWhenBuffering = true;
- SYSTEM_INFO SysInfo;
- GetSystemInfo(&SysInfo);
- if (SysInfo.dwNumberOfProcessors < 3)
- bAllowAnimationWhenBuffering = false;
-
-
- m_RenderersSettings.fSPCAllowAnimationWhenBuffering = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SPCAllowAnimationWhenBuffering"), bAllowAnimationWhenBuffering);
fEnableSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLESUBTITLES, TRUE);
fPrioritizeExternalSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITIZEEXTERNALSUBTITLES, FALSE);
fDisableInternalSubtitles = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DISABLEINTERNALSUBTITLES, FALSE);
- szSubtitlePaths = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, _T(".;.\\subtitles;.\\subs"));
+ strSubtitlePaths = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SUBTITLEPATHS, _T(".;.\\subtitles;.\\subs"));
fUseDefaultSubtitlesStyle = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_USEDEFAULTSUBTITLESSTYLE, FALSE);
fEnableAudioSwitcher = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOSWITCHER, TRUE);
fAudioTimeShift = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEAUDIOTIMESHIFT, 0);
- tAudioTimeShift = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, 0);
+ iAudioTimeShift = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIOTIMESHIFT, 0);
fDownSampleTo441 = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DOWNSAMPLETO441, 0);
fCustomChannelMapping = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_CUSTOMCHANNELMAPPING, 0);
@@ -968,9 +1023,9 @@ void CAppSettings::UpdateData(bool fSave)
fAudioNormalize = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIONORMALIZE, FALSE);
fAudioNormalizeRecover = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_AUDIONORMALIZERECOVER, TRUE);
- AudioBoost = (float)_tstof(pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOBOOST, _T("1")));
+ dAudioBoost = (float)_tstof(pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_AUDIOBOOST, _T("1")));
- fnChannels = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPEAKERCHANNELS, 2);
+ nSpeakerChannels = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPEAKERCHANNELS, 2);
{
for(int i = 0; ; i++)
@@ -1027,15 +1082,15 @@ void CAppSettings::UpdateData(bool fSave)
f->dwMerit = pApp->GetProfileInt(key, _T("Merit"), MERIT_DO_NOT_USE+1);
- filters.AddTail(f);
+ m_filters.AddTail(f);
}
}
fIntRealMedia = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_INTREALMEDIA, 0);
//fRealMediaRenderless = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIARENDERLESS, 0);
//iQuickTimeRenderer = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QUICKTIMERENDERER, 2);
- RealMediaQuickTimeFPS = 25.0;
- *((DWORD*)&RealMediaQuickTimeFPS) = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIAFPS, *((DWORD*)&RealMediaQuickTimeFPS));
+ //dRealMediaQuickTimeFPS = 25.0;
+ //*((DWORD*)&dRealMediaQuickTimeFPS) = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_REALMEDIAFPS, *((DWORD*)&dRealMediaQuickTimeFPS));
m_pnspresets.RemoveAll();
for(int i = 0; i < (ID_PANNSCAN_PRESETS_END - ID_PANNSCAN_PRESETS_START); i++)
@@ -1093,9 +1148,9 @@ void CAppSettings::UpdateData(bool fSave)
for(int i = 0; pos; i++) pAccel[i] = wmcmds.GetNext(pos);
hAccel = CreateAcceleratorTable(pAccel.GetData(), pAccel.GetCount());
- WinLircAddr = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WINLIRCADDR, _T("127.0.0.1:8765"));
+ strWinLircAddr = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WINLIRCADDR, _T("127.0.0.1:8765"));
fWinLirc = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_WINLIRC, 0);
- UIceAddr = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_UICEADDR, _T("127.0.0.1:1234"));
+ strUIceAddr = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_UICEADDR, _T("127.0.0.1:1234"));
fUIce = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_UICE, 0);
fGlobalMedia = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_GLOBALMEDIA, 0);
@@ -1108,31 +1163,36 @@ void CAppSettings::UpdateData(bool fSave)
fNotifyMSN = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_NOTIFYMSN, FALSE);
fNotifyGTSdll = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_NOTIFYGTSDLL, FALSE);
- Formats.UpdateData(false);
+ m_Formats.UpdateData(false);
- SrcFilters = pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_SRCFILTERS, ~0);
- TraFilters = pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_TRAFILTERS, ~0);
- DXVAFilters = pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_DXVAFILTERS, ~0);
- FFmpegFilters = pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, IDS_RS_FFMPEGFILTERS, ~0);
+ // Internal filters
+ for (int f=0; f<SRC_LAST; f++)
+ SrcFilters[f] = !!pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, SrcFiltersKeys[f], 1);
+ for (int f=0; f<TRA_LAST; f++)
+ TraFilters[f] = !!pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, TraFiltersKeys[f], 1);
+ for (int f=0; f<TRA_DXVA_LAST; f++)
+ DXVAFilters[f] = !!pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, DXVAFiltersKeys[f], 1);
+ for (int f=0; f<FFM_LAST; f++)
+ FFmpegFilters[f] = !!pApp->GetProfileInt(IDS_R_INTERNAL_FILTERS, FFMFiltersKeys[f], 1);
- logofn = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_LOGOFILE, _T(""));
- logoid = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOID, DEF_LOGO);
- logoext = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOEXT, 0);
+ strLogoFileName = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_LOGOFILE, _T(""));
+ nLogoId = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOID, DEF_LOGO);
+ fLogoExternal = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOGOEXT, 0);
fHideCDROMsSubMenu = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_HIDECDROMSSUBMENU, 0);
- priority = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITY, NORMAL_PRIORITY_CLASS);
- ::SetPriorityClass(::GetCurrentProcess(), priority);
- launchfullscreen = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LAUNCHFULLSCREEN, FALSE);
+ dwPriority = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_PRIORITY, NORMAL_PRIORITY_CLASS);
+ ::SetPriorityClass(::GetCurrentProcess(), dwPriority);
+ fLaunchfullscreen = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LAUNCHFULLSCREEN, FALSE);
fEnableWebServer = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEWEBSERVER, FALSE);
nWebServerPort = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERPORT, 13579);
fWebServerPrintDebugInfo = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERPRINTDEBUGINFO, FALSE);
fWebServerUseCompression = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERUSECOMPRESSION, TRUE);
fWebServerLocalhostOnly = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_WEBSERVERLOCALHOSTONLY, FALSE);
- WebRoot = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBROOT, _T("*./webroot"));
- WebDefIndex = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBDEFINDEX, _T("index.html;index.php"));
- WebServerCGI = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBSERVERCGI, _T(""));
+ strWebRoot = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBROOT, _T("*./webroot"));
+ strWebDefIndex = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBDEFINDEX, _T("index.html;index.php"));
+ strWebServerCGI = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_WEBSERVERCGI, _T(""));
CString MyPictures;
@@ -1146,19 +1206,16 @@ void CAppSettings::UpdateData(bool fSave)
if(ERROR_SUCCESS == key.QueryStringValue(_T("My Pictures"), MyPictures.GetBuffer(_MAX_PATH), &len)) MyPictures.ReleaseBufferSetLength(len);
else MyPictures.Empty();
}
- SnapShotPath = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTPATH, MyPictures);
- SnapShotExt = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTEXT, _T(".jpg"));
-
- ThumbRows = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBROWS, 4);
- ThumbCols = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBCOLS, 4);
- ThumbWidth = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, 1024);
+ strSnapShotPath = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTPATH, MyPictures);
+ strSnapShotExt = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SNAPSHOTEXT, _T(".jpg"));
- ISDb = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, _T("www.opensubtitles.org/isdb"));
+ iThumbRows = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBROWS, 4);
+ iThumbCols = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBCOLS, 4);
+ iThumbWidth = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_THUMBWIDTH, 1024);
- D3D9RenderDevice = pApp->GetProfileString(IDS_R_SETTINGS, IDS_D3D9RENDERDEVICE, _T(""));
-
- pApp->WriteProfileInt(IDS_R_SETTINGS, _T("LastUsedPage"), 0);
+ strISDb = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_ISDB, _T("www.opensubtitles.org/isdb"));
+ nLastUsedPage = pApp->GetProfileInt(IDS_R_SETTINGS, _T("LastUsedPage"), 0);
//
m_shaders.RemoveAll();
@@ -1187,9 +1244,7 @@ void CAppSettings::UpdateData(bool fSave)
shaders[_T("denoise")] = IDF_SHADER_DENOISE;
shaders[_T("YV12 Chroma Upsampling")] = IDF_SHADER_YV12CHROMAUP;
- int iShader = 0;
-
- for(; ; iShader++)
+ for(int iShader=0; ; iShader++)
{
CString str;
str.Format(_T("%d"), iShader);
@@ -1212,7 +1267,7 @@ void CAppSettings::UpdateData(bool fSave)
}
pos = shaders.GetStartPosition();
- for(; pos; iShader++)
+ while(pos)
{
CAtlStringMap<UINT>::CPair* pPair = shaders.GetNext(pos);
@@ -1248,25 +1303,31 @@ void CAppSettings::UpdateData(bool fSave)
dContrast = (float)_tstof(pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_COLOR_CONTRAST, _T("1")));
dHue = (float)_tstof(pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_COLOR_HUE, _T("0")));
dSaturation = (float)_tstof(pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_COLOR_SATURATION, _T("1")));
- strShaderList = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SHADERLIST, _T(""));
+ strShaderList = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SHADERLIST, _T(""));
strShaderListScreenSpace = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SHADERLISTSCREENSPACE, _T(""));
- m_bToggleShader = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADER, 0);
- m_bToggleShaderScreenSpace = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADERSSCREENSPACE, 0);
+ fToggleShader = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADER, 0);
+ fToggleShaderScreenSpace = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_TOGGLESHADERSSCREENSPACE, 0);
- m_RenderersSettings.iEvrBuffers = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_EVR_BUFFERS, 5);
fShowOSD = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SHOWOSD, 1);
fEnableEDLEditor= !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ENABLEEDLEDITOR, FALSE);
// Save analog capture settings
iDefaultCaptureDevice = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DEFAULT_CAPTURE, 0);
- strAnalogVideo = pApp->GetProfileString(IDS_RS_CAPTURE, IDS_RS_VIDEO_DISP_NAME, _T(""));
- strAnalogAudio = pApp->GetProfileString(IDS_RS_CAPTURE, IDS_RS_AUDIO_DISP_NAME, _T(""));
+ strAnalogVideo = pApp->GetProfileString(IDS_RS_CAPTURE, IDS_RS_VIDEO_DISP_NAME, _T("dummy"));
+ strAnalogAudio = pApp->GetProfileString(IDS_RS_CAPTURE, IDS_RS_AUDIO_DISP_NAME, _T("dummy"));
iAnalogCountry = pApp->GetProfileInt(IDS_RS_CAPTURE, IDS_RS_COUNTRY, 1);
- BDANetworkProvider = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_NETWORKPROVIDER, _T(""));
- BDATuner = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_TUNER, _T(""));
- BDAReceiver = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_RECEIVER, _T(""));
- DVBLastChannel = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_DVB_LAST_CHANNEL, 1);
+ strBDANetworkProvider = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_NETWORKPROVIDER, _T(""));
+ strBDATuner = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_TUNER, _T(""));
+ strBDAReceiver = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_RECEIVER, _T(""));
+ //sBDAStandard = pApp->GetProfileString(IDS_RS_DVB, IDS_RS_BDA_STANDARD, _T(""));
+ iBDAScanFreqStart = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_SCAN_FREQ_START, 474000);
+ iBDAScanFreqEnd = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_SCAN_FREQ_END, 858000);
+ iBDABandwidth = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_BANDWIDTH, 8);
+ fBDAUseOffset = !!pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_USE_OFFSET, 0);
+ iBDAOffset = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_OFFSET, 166);
+ fBDAIgnoreEncryptedChannels = !!pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_BDA_IGNORE_ENCRYPTED_CHANNELS, 0);
+ nDVBLastChannel = pApp->GetProfileInt(IDS_RS_DVB, IDS_RS_DVB_LAST_CHANNEL, 1);
for(int iChannel = 0; ; iChannel++)
{
@@ -1277,7 +1338,7 @@ void CAppSettings::UpdateData(bool fSave)
strChannel = pApp->GetProfileString(IDS_RS_DVB, strTemp, _T(""));
if (strChannel.IsEmpty()) break;
Channel.FromString(strChannel);
- DVBChannels.AddTail (Channel);
+ m_DVBChannels.AddTail (Channel);
}
// playback positions for last played DVDs
@@ -1319,15 +1380,147 @@ void CAppSettings::UpdateData(bool fSave)
// TODO: sort shaders by label
- m_shadercombine = pApp->GetProfileString(_T("Shaders"), _T("Combine"), _T(""));
- m_shadercombineScreenSpace = pApp->GetProfileString(_T("Shaders"), _T("CombineScreenSpace"), _T(""));
+ strShadercombine = pApp->GetProfileString(_T("Shaders"), _T("Combine"), _T(""));
+ strShadercombineScreenSpace = pApp->GetProfileString(_T("Shaders"), _T("CombineScreenSpace"), _T(""));
- if(launchfullscreen) nCLSwitches |= CLSW_FULLSCREEN;
+ if(fLaunchfullscreen) nCLSwitches |= CLSW_FULLSCREEN;
fInitialized = true;
}
}
+void CAppSettings::UpdateRenderersData(bool fSave)
+{
+ CWinApp* pApp = AfxGetApp();
+ CRenderersSettings& r = m_RenderersSettings;
+
+ if(fSave)
+ {
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_APSURACEFUSAGE, r.iAPSurfaceUsage);
+// pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMRSYNCFIX, fVMRSyncFix);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DX9_RESIZER, r.iDX9Resizer);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERMODE, r.fVMR9MixerMode);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERYUV, r.fVMR9MixerYUV);
+
+ CRenderersSettings::CRendererSettingsEVR& rendererSettings = r.m_RenderSettings;
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRAlternateVSync"), rendererSettings.fVMR9AlterativeVSync);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSyncOffset"), rendererSettings.iVMR9VSyncOffset);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSyncAccurate2"), rendererSettings.iVMR9VSyncAccurate);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFullscreenGUISupport"), rendererSettings.iVMR9FullscreenGUISupport);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRVSync"), rendererSettings.iVMR9VSync);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRDisableDesktopComposition"), rendererSettings.iVMRDisableDesktopComposition);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFullFloatingPointProcessing"), rendererSettings.iVMR9FullFloatingPointProcessing);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementEnable"), rendererSettings.iVMR9ColorManagementEnable);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementInput"), rendererSettings.iVMR9ColorManagementInput);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementAmbientLight"), rendererSettings.iVMR9ColorManagementAmbientLight);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementIntent"), rendererSettings.iVMR9ColorManagementIntent);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVROutputRange"), rendererSettings.iEVROutputRange);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVRHighColorRes"), rendererSettings.iEVRHighColorResolution);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVRForceInputHighColorRes"), rendererSettings.iEVRForceInputHighColorResolution);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("EVREnableFrameTimeCorrection"), rendererSettings.iEVREnableFrameTimeCorrection);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUBeforeVSync"), rendererSettings.iVMRFlushGPUBeforeVSync);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUAfterPresent"), rendererSettings.iVMRFlushGPUAfterPresent);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUWait"), rendererSettings.iVMRFlushGPUWait);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeClock"), rendererSettings.bSynchronizeVideo);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeDisplay"), rendererSettings.bSynchronizeDisplay);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SynchronizeNearest"), rendererSettings.bSynchronizeNearest);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("LineDelta"), rendererSettings.iLineDelta);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("ColumnDelta"), rendererSettings.iColumnDelta);
+
+ pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("CycleDelta"), (LPBYTE)&(rendererSettings.fCycleDelta), sizeof(rendererSettings.fCycleDelta));
+ pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("TargetSyncOffset"), (LPBYTE)&(rendererSettings.fTargetSyncOffset), sizeof(rendererSettings.fTargetSyncOffset));
+ pApp->WriteProfileBinary(IDS_R_SETTINGS, _T("ControlLimit"), (LPBYTE)&(rendererSettings.fControlLimit), sizeof(rendererSettings.fControlLimit));
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), r.fResetDevice);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, r.nSPCSize);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_SPCMAXRES, r.nSPCMaxRes);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_POW2TEX, r.fSPCPow2Tex);
+ pApp->WriteProfileInt(IDS_R_SETTINGS, _T("SPCAllowAnimationWhenBuffering"), r.fSPCAllowAnimationWhenBuffering);
+
+ pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_EVR_BUFFERS, r.iEvrBuffers);
+
+ pApp->WriteProfileString(IDS_R_SETTINGS, IDS_D3D9RENDERDEVICE, r.D3D9RenderDevice);
+ }
+ else
+ {
+ r.iAPSurfaceUsage = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_APSURACEFUSAGE, (IsVistaOrAbove() ? VIDRNDT_AP_TEXTURE3D : VIDRNDT_AP_TEXTURE2D));
+// fVMRSyncFix = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMRSYNCFIX, FALSE);
+ r.iDX9Resizer = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DX9_RESIZER, 1);
+ r.fVMR9MixerMode = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERMODE, TRUE);
+ r.fVMR9MixerYUV = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VMR9MIXERYUV, FALSE);
+
+ CRenderersSettings::CRendererSettingsEVR& renderSettings = r.m_RenderSettings;
+ CRenderersSettings::CRendererSettingsEVR DefaultSettings;
+ renderSettings.fVMR9AlterativeVSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRAlternateVSync"), DefaultSettings.fVMR9AlterativeVSync);
+ renderSettings.iVMR9VSyncOffset = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSyncOffset"), DefaultSettings.iVMR9VSyncOffset);
+ renderSettings.iVMR9VSyncAccurate = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSyncAccurate2"), DefaultSettings.iVMR9VSyncAccurate);
+ renderSettings.iVMR9FullscreenGUISupport = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFullscreenGUISupport"), DefaultSettings.iVMR9FullscreenGUISupport);
+ renderSettings.iEVRHighColorResolution = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVRHighColorRes"), DefaultSettings.iEVRHighColorResolution);
+ renderSettings.iEVRForceInputHighColorResolution = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVRForceInputHighColorRes"), DefaultSettings.iEVRForceInputHighColorResolution);
+ renderSettings.iEVREnableFrameTimeCorrection = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVREnableFrameTimeCorrection"), DefaultSettings.iEVREnableFrameTimeCorrection);
+ renderSettings.iVMR9VSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRVSync"), DefaultSettings.iVMR9VSync);
+ renderSettings.iVMRDisableDesktopComposition = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRDisableDesktopComposition"), DefaultSettings.iVMRDisableDesktopComposition);
+ renderSettings.iVMR9FullFloatingPointProcessing = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFullFloatingPointProcessing"), DefaultSettings.iVMR9FullFloatingPointProcessing);
+
+ renderSettings.iVMR9ColorManagementEnable = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementEnable"), DefaultSettings.iVMR9ColorManagementEnable);
+ renderSettings.iVMR9ColorManagementInput = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementInput"), DefaultSettings.iVMR9ColorManagementInput);
+ renderSettings.iVMR9ColorManagementAmbientLight = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementAmbientLight"), DefaultSettings.iVMR9ColorManagementAmbientLight);
+ renderSettings.iVMR9ColorManagementIntent = pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRColorManagementIntent"), DefaultSettings.iVMR9ColorManagementIntent);
+
+ renderSettings.iEVROutputRange = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("EVROutputRange"), DefaultSettings.iEVROutputRange);
+
+ renderSettings.iVMRFlushGPUBeforeVSync = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUBeforeVSync"), DefaultSettings.iVMRFlushGPUBeforeVSync);
+ renderSettings.iVMRFlushGPUAfterPresent = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUAfterPresent"), DefaultSettings.iVMRFlushGPUAfterPresent);
+ renderSettings.iVMRFlushGPUWait = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("VMRFlushGPUWait"), DefaultSettings.iVMRFlushGPUWait);
+
+ renderSettings.bSynchronizeVideo = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeClock"), DefaultSettings.bSynchronizeVideo);
+ renderSettings.bSynchronizeDisplay = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeDisplay"), DefaultSettings.bSynchronizeDisplay);
+ renderSettings.bSynchronizeNearest = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SynchronizeNearest"), DefaultSettings.bSynchronizeNearest);
+ renderSettings.iLineDelta = pApp->GetProfileInt(IDS_R_SETTINGS, _T("LineDelta"), DefaultSettings.iLineDelta);
+ renderSettings.iColumnDelta = pApp->GetProfileInt(IDS_R_SETTINGS, _T("ColumnDelta"), DefaultSettings.iColumnDelta);
+
+ double *dPtr;
+ UINT dSize;
+ if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("CycleDelta"), (LPBYTE*)&dPtr, &dSize))
+ {
+ renderSettings.fCycleDelta = *dPtr;
+ delete [] dPtr;
+ }
+
+ if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("TargetSyncOffset"), (LPBYTE*)&dPtr, &dSize))
+ {
+ renderSettings.fTargetSyncOffset = *dPtr;
+ delete [] dPtr;
+ }
+ if(pApp->GetProfileBinary(IDS_R_SETTINGS, _T("ControlLimit"), (LPBYTE*)&dPtr, &dSize))
+ {
+ renderSettings.fControlLimit = *dPtr;
+ delete [] dPtr;
+ }
+
+ r.fResetDevice = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("ResetDevice"), TRUE);
+
+ r.nSPCSize = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPCSIZE, 3);
+ r.nSPCMaxRes = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPCMAXRES, 2);
+ r.fSPCPow2Tex = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_POW2TEX, TRUE);
+
+ bool bAllowAnimationWhenBuffering = true;
+ SYSTEM_INFO SysInfo;
+ GetSystemInfo(&SysInfo);
+ if (SysInfo.dwNumberOfProcessors < 3)
+ bAllowAnimationWhenBuffering = false;
+
+ r.fSPCAllowAnimationWhenBuffering = !!pApp->GetProfileInt(IDS_R_SETTINGS, _T("SPCAllowAnimationWhenBuffering"), bAllowAnimationWhenBuffering);
+ r.iEvrBuffers = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_EVR_BUFFERS, 5);
+ r.D3D9RenderDevice = pApp->GetProfileString(IDS_R_SETTINGS, IDS_D3D9RENDERDEVICE, _T(""));
+ }
+}
+
void CAppSettings::SaveCurrentFilePosition( )
{
CWinApp* pApp = AfxGetApp();
@@ -1354,7 +1547,7 @@ void CAppSettings::SaveCurrentDVDPosition( )
pApp->WriteProfileString(IDS_R_SETTINGS, strDVDPos, strValue);
}
-__int64 CAppSettings::ConvertTimeToMSec(CString& time)
+__int64 CAppSettings::ConvertTimeToMSec(CString& time) const
{
__int64 Sec = 0;
__int64 mSec = 0;
@@ -1430,10 +1623,10 @@ void CAppSettings::ParseCommandLine(CAtlList<CString>& cmdln)
lDVDChapter = 0;
memset (&DVDPosition, 0, sizeof(DVDPosition));
iAdminOption=0;
- fixedWindowSize.SetSize(0, 0);
+ sizeFixedWindow.SetSize(0, 0);
iMonitor = 0;
hMasterWnd = 0;
- sPnSPreset.Empty();
+ strPnSPreset.Empty();
POSITION pos = cmdln.GetHeadPosition();
while(pos)
@@ -1503,8 +1696,8 @@ void CAppSettings::ParseCommandLine(CAtlList<CString>& cmdln)
Explode(cmdln.GetNext(pos), sl, ',', 2);
if(sl.GetCount() == 2)
{
- fixedWindowSize.SetSize(_ttol(sl.GetHead()), _ttol(sl.GetTail()));
- if(fixedWindowSize.cx > 0 && fixedWindowSize.cy > 0)
+ sizeFixedWindow.SetSize(_ttol(sl.GetHead()), _ttol(sl.GetTail()));
+ if(sizeFixedWindow.cx > 0 && sizeFixedWindow.cy > 0)
nCLSwitches |= CLSW_FIXEDSIZE;
}
}
@@ -1517,7 +1710,7 @@ void CAppSettings::ParseCommandLine(CAtlList<CString>& cmdln)
{
CMiniDump::Enable();
}
- else if(sw == _T("pns")) sPnSPreset = cmdln.GetNext(pos);
+ else if(sw == _T("pns")) strPnSPreset = cmdln.GetNext(pos);
else if(sw == _T("webport") && pos)
{
int tmpport = _tcstol(cmdln.GetNext(pos), NULL, 10);
@@ -1526,7 +1719,7 @@ void CAppSettings::ParseCommandLine(CAtlList<CString>& cmdln)
}
else if(sw == _T("debug"))
{
- ShowDebugInfo = true;
+ fShowDebugInfo = true;
}
else if(sw == _T("audiorenderer") && pos)
{
@@ -1614,10 +1807,10 @@ void CAppSettings::AddFav(favtype ft, CString s)
CDVBChannel* CAppSettings::FindChannelByPref(int nPrefNumber)
{
- POSITION pos = DVBChannels.GetHeadPosition();
+ POSITION pos = m_DVBChannels.GetHeadPosition();
while (pos)
{
- CDVBChannel& Channel = DVBChannels.GetNext (pos);
+ CDVBChannel& Channel = m_DVBChannels.GetNext (pos);
if (Channel.GetPrefNumber() == nPrefNumber)
{
return &Channel;
diff --git a/src/apps/mplayerc/AppSettings.h b/src/apps/mplayerc/AppSettings.h
index 5742dfed4..e4d6a2143 100644
--- a/src/apps/mplayerc/AppSettings.h
+++ b/src/apps/mplayerc/AppSettings.h
@@ -23,10 +23,12 @@
#pragma once
-#include "resource.h" // main symbols
-#include <afxadv.h>
-#include <atlsync.h>
+#include "SettingsDefines.h"
+#include "FilterEnum.h"
#include "RenderersSettings.h"
+#include "../../Subtitles/STS.h"
+#include "MediaFormats.h"
+#include "DVBChannel.h"
// flags for AppSettings::nCS
enum
@@ -74,6 +76,14 @@ enum
enum
{
+ MODE_SHOWCAPTIONMENU,
+ MODE_BORDERLESS,
+ MODE_FRAMEONLY,
+ MODE_COUNT
+}; // flags for Caption & Menu Mode
+
+enum
+{
VIDRNDT_DS_DEFAULT,
VIDRNDT_DS_OLDRENDERER,
VIDRNDT_DS_OVERLAYMIXER,
@@ -121,79 +131,6 @@ enum MCE_RAW_INPUT
#define AUDRNDT_NULL_UNCOMP _T("Null Audio Renderer (Uncompressed)")
#define AUDRNDT_MPC _T("MPC Audio Renderer")
-enum
-{
- SRC_CDDA = 1,
- SRC_CDXA = SRC_CDDA<<1,
- SRC_VTS = SRC_CDXA<<1,
- SRC_FLIC = SRC_VTS<<1,
- SRC_D2V = SRC_FLIC<<1,
- SRC_DTSAC3 = SRC_D2V<<1,
- SRC_MATROSKA = SRC_DTSAC3<<1,
- SRC_SHOUTCAST = SRC_MATROSKA<<1,
- SRC_REALMEDIA = SRC_SHOUTCAST<<1,
- SRC_AVI = SRC_REALMEDIA<<1,
- SRC_ROQ = SRC_AVI<<1,
- SRC_OGG = SRC_ROQ<<1,
- SRC_NUT = SRC_OGG<<1,
- SRC_MPEG = SRC_NUT<<1,
- SRC_DIRAC = SRC_MPEG<<1,
- SRC_MPA = SRC_DIRAC<<1,
- SRC_DSM = SRC_MPA<<1,
- SRC_SUBS = SRC_DSM<<1,
- SRC_MP4 = SRC_SUBS<<1,
- SRC_FLV = SRC_MP4<<1,
- SRC_FLAC = SRC_FLV<<1,
- SRC_LAST = SRC_FLAC<<1
-};
-
-enum
-{
- TRA_MPEG1 = 1,
- TRA_MPEG2 = TRA_MPEG1<<1,
- TRA_RV = TRA_MPEG2<<1,
- TRA_RA = TRA_RV<<1,
- TRA_MPA = TRA_RA<<1,
- TRA_LPCM = TRA_MPA<<1,
- TRA_AC3 = TRA_LPCM<<1,
- TRA_DTS = TRA_AC3<<1,
- TRA_AAC = TRA_DTS<<1,
- TRA_PS2AUD = TRA_AAC<<1,
- TRA_DIRAC = TRA_PS2AUD<<1,
- TRA_VORBIS = TRA_DIRAC<<1,
- TRA_FLAC = TRA_VORBIS<<1,
- TRA_NELLY = TRA_FLAC<<1,
- TRA_AMR = TRA_NELLY<<1,
- TRA_PCM = TRA_AMR<<1,
- TRA_LAST = TRA_PCM<<1
-};
-
-enum
-{
- DXVA_H264 = 1,
- DXVA_VC1 = DXVA_H264<<1,
- DXVA_MPEG2 = DXVA_VC1<<1,
- DXVA_LAST = DXVA_MPEG2<<1
-};
-
-enum
-{
- FFM_H264 = 1,
- FFM_VC1 = FFM_H264<<1,
- FFM_FLV4 = FFM_VC1<<1,
- FFM_VP62 = FFM_FLV4<<1,
- FFM_VP8 = FFM_VP62<<1,
- FFM_XVID = FFM_VP8<<1,
- FFM_DIVX = FFM_XVID<<1,
- FFM_MSMPEG4 = FFM_DIVX<<1,
- FFM_WMV = FFM_MSMPEG4<<1,
- FFM_SVQ3 = FFM_WMV<<1,
- FFM_H263 = FFM_SVQ3<<1,
- FFM_THEORA = FFM_H263<<1,
- FFM_AMVV = FFM_THEORA<<1,
- FFM_LAST = FFM_AMVV<<1
-};
-
typedef enum
{
DVS_HALF,
@@ -282,7 +219,7 @@ public:
return(cmd > 0 && cmd == wc.cmd);
}
- CString GetName()
+ CString GetName() const
{
return ResStr (dwname);
}
@@ -294,7 +231,7 @@ public:
rmcmd.Empty();
rmrepcnt = 5;
}
- bool IsModified()
+ bool IsModified() const
{
return(memcmp((const ACCEL*)this, &backup, sizeof(ACCEL)) || appcmd != appcmdorg || mouse != mouseorg || !rmcmd.IsEmpty() || rmrepcnt != 5);
}
@@ -322,7 +259,7 @@ public:
CRemoteCtrlClient();
void SetHWND(HWND hWnd);
void Connect(CString addr);
- int GetStatus()
+ int GetStatus() const
{
return(m_nStatus);
}
@@ -362,7 +299,7 @@ class CAppSettings
public:
// cmdline params
- int nCLSwitches;
+ UINT nCLSwitches;
CAtlList<CString> slFiles, slDubs, slSubs, slFilters;
// Initial position (used by command line flags)
@@ -372,26 +309,26 @@ public:
ULONG lDVDChapter;
DVD_HMSF_TIMECODE DVDPosition;
- CSize fixedWindowSize;
+ CSize sizeFixedWindow;
bool HasFixedWindowSize() const
{
- return fixedWindowSize.cx > 0 || fixedWindowSize.cy > 0;
+ return sizeFixedWindow.cx > 0 || sizeFixedWindow.cy > 0;
}
//int iFixedWidth, iFixedHeight;
int iMonitor;
- CString sPnSPreset;
+ CString strPnSPreset;
void ParseCommandLine(CAtlList<CString>& cmdln);
// Added a Debug display to the screen (/debug option)
- bool ShowDebugInfo;
+ bool fShowDebugInfo;
int iDXVer;
int iAdminOption;
- int nCS;
- bool fHideCaptionMenu;
+ UINT nCS; // Control state for toolbars
+ int iCaptionMenuMode; // normal -> borderless -> frameonly
bool fHideNavigation;
int iDefaultVideoSize;
bool fKeepAspectRatio;
@@ -400,7 +337,7 @@ public:
CRecentFileAndURLList MRU;
CRecentFileAndURLList MRUDub;
- CAutoPtrList<FilterOverride> filters;
+ CAutoPtrList<FilterOverride> m_filters;
CRenderersSettings m_RenderersSettings;
@@ -416,16 +353,16 @@ public:
bool fRewind;
int iZoomLevel;
//int iVideoRendererType;
- CStringW AudioRendererDisplayName;
+ CStringW strAudioRendererDisplayName;
bool fAutoloadAudio;
bool fAutoloadSubtitles;
bool fBlockVSFilter;
bool fEnableWorkerThreadForOpening;
bool fReportFailedPins;
- CStringW f_hmonitor;
+ CStringW strFullScreenMonitor;
bool fAssociatedWithIcons;
- CStringW f_lastOpenDir;
+ CStringW strLastOpenDir;
bool fAllowMultipleInst;
int iTitleBarTextStyle;
@@ -442,11 +379,12 @@ public:
bool fRememberWindowSize;
bool fSnapToDesktopEdges;
CRect rcLastWindowPos;
- UINT lastWindowType;
- CSize AspectRatio;
+ UINT nLastWindowType;
+ CSize sizeAspectRatio;
bool fKeepHistory;
+ UINT nLastUsedPage;
- CString sDVDPath;
+ CString strDVDPath;
bool fUseDVDPath;
LCID idMenuLang, idAudioLang, idSubtitlesLang;
bool fAutoSpeakerConf;
@@ -459,7 +397,7 @@ public:
bool fUseDefaultSubtitlesStyle;
bool fPrioritizeExternalSubtitles;
bool fDisableInternalSubtitles;
- CString szSubtitlePaths;
+ CString strSubtitlePaths;
bool fDisableXPToolbars;
bool fUseWMASFReader;
@@ -473,17 +411,17 @@ public:
bool fEnableAudioSwitcher;
bool fDownSampleTo441;
bool fAudioTimeShift;
- int tAudioTimeShift;
+ int iAudioTimeShift;
bool fCustomChannelMapping;
DWORD pSpeakerToChannelMap[18][18];
bool fAudioNormalize;
bool fAudioNormalizeRecover;
- float AudioBoost;
+ float dAudioBoost;
bool fIntRealMedia;
//bool fRealMediaRenderless;
int iQuickTimeRenderer;
- float RealMediaQuickTimeFPS;
+ //float dRealMediaQuickTimeFPS;
CStringArray m_pnspresets;
@@ -491,25 +429,36 @@ public:
HACCEL hAccel;
bool fWinLirc;
- CString WinLircAddr;
+ CString strWinLircAddr;
CWinLircClient WinLircClient;
bool fUIce;
- CString UIceAddr;
+ CString strUIceAddr;
CUIceClient UIceClient;
bool fGlobalMedia;
- CMediaFormats Formats;
-
- UINT SrcFilters, TraFilters, DXVAFilters, FFmpegFilters;
-
- CString logofn;
- UINT logoid;
- bool logoext;
+ CMediaFormats m_Formats;
+
+ bool SrcFilters[SRC_LAST];
+ bool TraFilters[TRA_LAST];
+#if HAS_DXVA_VIDEO_DECODERS
+ bool DXVAFilters[TRA_DXVA_LAST];
+#else
+ bool DXVAFilters[1];
+#endif
+#if HAS_FFMPEG_DECODERS
+ bool FFmpegFilters[FFM_LAST];
+#else
+ bool FFmpegFilters[1];
+#endif
+
+ CString strLogoFileName;
+ UINT nLogoId;
+ bool fLogoExternal;
bool fHideCDROMsSubMenu;
- DWORD priority;
- bool launchfullscreen;
+ DWORD dwPriority;
+ bool fLaunchfullscreen;
BOOL fEnableWebServer;
int nWebServerPort;
@@ -517,13 +466,13 @@ public:
bool fWebServerPrintDebugInfo;
bool fWebServerUseCompression;
bool fWebServerLocalhostOnly;
- CString WebRoot, WebDefIndex;
- CString WebServerCGI;
+ CString strWebRoot, strWebDefIndex;
+ CString strWebServerCGI;
- CString SnapShotPath, SnapShotExt;
- int ThumbRows, ThumbCols, ThumbWidth;
+ CString strSnapShotPath, strSnapShotExt;
+ int iThumbRows, iThumbCols, iThumbWidth;
- CString ISDb;
+ CString strISDb;
struct Shader
{
@@ -532,8 +481,8 @@ public:
CString srcdata;
};
CAtlList<Shader> m_shaders;
- CString m_shadercombine;
- CString m_shadercombineScreenSpace;
+ CString strShadercombine;
+ CString strShadercombineScreenSpace;
// Casimir666 : new settings
bool fD3DFullscreen;
@@ -546,8 +495,8 @@ public:
float dSaturation;
CString strShaderList;
CString strShaderListScreenSpace;
- bool m_bToggleShader;
- bool m_bToggleShaderScreenSpace;
+ bool fToggleShader;
+ bool fToggleShaderScreenSpace;
bool fRememberDVDPos;
bool fRememberFilePos;
@@ -559,16 +508,23 @@ public:
CString strAnalogVideo;
CString strAnalogAudio;
int iAnalogCountry;
- CString BDANetworkProvider;
- CString BDATuner;
- CString BDAReceiver;
- int DVBLastChannel;
- CAtlList<CDVBChannel> DVBChannels;
+ CString strBDANetworkProvider;
+ CString strBDATuner;
+ CString strBDAReceiver;
+ //CString strBDAStandard;
+ int iBDAScanFreqStart;
+ int iBDAScanFreqEnd;
+ int iBDABandwidth;
+ bool fBDAUseOffset;
+ int iBDAOffset;
+ bool fBDAIgnoreEncryptedChannels;
+ UINT nDVBLastChannel;
+ CAtlList<CDVBChannel> m_DVBChannels;
HWND hMasterWnd;
- bool IsD3DFullscreen();
- CString SelectedAudioRenderer();
+ bool IsD3DFullscreen() const;
+ CString SelectedAudioRenderer() const;
void ResetPositions();
DVD_POSITION* CurrentDVDPosition();
bool NewDvd(ULONGLONG llDVDGuid);
@@ -578,8 +534,8 @@ public:
void SaveCurrentDVDPosition();
void SaveCurrentFilePosition();
- void DeserializeHex (LPCTSTR strVal, BYTE* pBuffer, int nBufSize);
- CString SerializeHex (BYTE* pBuffer, int nBufSize);
+ void DeserializeHex (LPCTSTR strVal, BYTE* pBuffer, int nBufSize) const;
+ CString SerializeHex (BYTE* pBuffer, int nBufSize) const;
private :
DVD_POSITION DvdPosition[MAX_DVD_POSITION];
@@ -587,7 +543,20 @@ private :
FILE_POSITION FilePosition[MAX_FILE_POSITION];
int nCurrentFilePosition;
- __int64 ConvertTimeToMSec(CString& time);
+ CString SrcFiltersKeys[SRC_LAST];
+ CString TraFiltersKeys[TRA_LAST];
+#if HAS_DXVA_VIDEO_DECODERS
+ CString DXVAFiltersKeys[TRA_DXVA_LAST];
+#else
+ CString DXVAFiltersKeys[1];
+#endif
+#if HAS_FFMPEG_DECODERS
+ CString FFMFiltersKeys[FFM_LAST];
+#else
+ CString FFMFiltersKeys[1];
+#endif
+
+ __int64 ConvertTimeToMSec(CString& time) const;
void ExtractDVDStartPos(CString& strParam);
void CreateCommands();
@@ -602,17 +571,18 @@ public:
void AddFav(favtype ft, CString s);
CDVBChannel* FindChannelByPref(int nPrefNumber);
- bool m_fPreventMinimize;
- bool m_fUseWin7TaskBar;
- bool m_fExitAfterPlayback;
- bool m_fNextInDirAfterPlayback;
- bool m_fDontUseSearchInFolder;
- int nOSD_Size;
- CString m_OSD_Font;
- CStringW m_subtitlesLanguageOrder;
- CStringW m_audiosLanguageOrder;
-
- int fnChannels;
-
- CString D3D9RenderDevice;
+ bool fPreventMinimize;
+ bool fUseWin7TaskBar;
+ bool fExitAfterPlayback;
+ bool fNextInDirAfterPlayback;
+ bool fDontUseSearchInFolder;
+ int nOSDSize;
+ CString strOSDFont;
+ CStringW strSubtitlesLanguageOrder;
+ CStringW strAudiosLanguageOrder;
+
+ int nSpeakerChannels;
+private:
+ void UpdateRenderersData(bool fSave);
+ friend void CRenderersSettings::UpdateData(bool bSave);
};
diff --git a/src/apps/mplayerc/Authors.txt b/src/apps/mplayerc/Authors.txt
index 0c4f5ff57..77be5cf9e 100644
--- a/src/apps/mplayerc/Authors.txt
+++ b/src/apps/mplayerc/Authors.txt
@@ -19,6 +19,7 @@ nevcairiel <nevcairiel@users.sourceforge.net> (Code)
Attila T. Afra <attila.afra@gmail.com> (Code)
Di Luo (sansnom05) <sansnom05@users.sourceforge.net> (Code)
xpc1000 <xpc1000@users.sourceforge.net> (Code)
+Underground78 <Underground78@users.sourceforge.net> (Code)
Translators:
@@ -41,13 +42,14 @@ Paul Tjepkema <pietpuk123@users.sourceforge.net> (Dutch)
xiulet <xiulet@users.sourceforge.net> (Catalan)
arestarh <arestarh1986@users.sourceforge.net> (Ukrainian)
Sebastiii <Sebastiii@users.sourceforge.net> (French)
-roytam1 <roytam1@users.sourceforge.net> (Japanese, Chinese Traditional, Chinese Simplified)
+roytam1 <roytam1@users.sourceforge.net> (Japanese, Chinese Traditional, Chinese Simplified)
+hrant77 <hrant77@users.sourceforge.net> (Armenian)
Contributors: (listed alphabetically)
------------------------------------------------
-Alexx999, foxx1337, heksesang, mtrz, nielsm, skaarj1, thevbm, Underground78,
-v0lt, VSFilterMod team, X-Dron
+Alexx999, foxx1337, heksesang, mtrz, nielsm, skaarj1, thevbm, v0lt,
+VSFilterMod team, X-Dron
Many thanks to everyone who supported development without having
diff --git a/src/apps/mplayerc/Changelog.txt b/src/apps/mplayerc/Changelog.txt
index 9db31df54..c90f912c7 100644
--- a/src/apps/mplayerc/Changelog.txt
+++ b/src/apps/mplayerc/Changelog.txt
@@ -4,18 +4,28 @@ v1.5.xxxx.0 - unreleased
========================
NEW : Added new options to always default to external subtitles, ignore
embedded subtitles and to set the autoload subtitle paths
- NEW : LCN support for DVB
- NEW : Added support for 'in24', 'fl64', 8-bit 'sowt', 'IMA4' and 'NONE'
+ NEW : Added support for "in24", "fl64", 8-bit "sowt", "IMA4" and "NONE"
audio (old QuickTime PCM)
- NEW : Added channel encryption detection for DVB-t during scan
+ NEW : Added support for "in24", "in32", "fl32", "fl64"
+ (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
CHANGED: Updated FFmpeg
- CHANGED: Updated MediaInfoLib to v0.7.36 Beta
- CHANGED: Updated ZenLib to v0.4.16 Beta
- CHANGED: Updated Little CMS to v2.1(alpha1) - 09282010
- CHANGED: Updated libpng to v1.4.4
+ CHANGED: Updated MediaInfoLib to v0.7.37
+ CHANGED: Updated ZenLib to v0.4.16
+ CHANGED: Updated Little CMS to v2.1
+ CHANGED: Updated libpng to v1.4.5
+ CHANGED: Updated libogg to v1.2.2
+ CHANGED: Updated libvorbis to v1.3.2
CHANGED: Cleaned up and optimized code for QT PCM, small corrections in MP4Splitter
+ CHANGED: DVB: the current channel audio stream is memorized and selected by default
+ each time the channel is switched back
+ FIXED : Ticket #16, [MPEG SPLITTER] Subtitles not shown when playing TS or M2TS-containers
FIXED : Ticket #52, [playlist] shuffle is broken
+ FIXED : Ticket #78, ESC key cannot be assigned to other actions
FIXED : Ticket #293, giving "remember last window size" a meaning
FIXED : Ticket #564, EVR Sync enabled when it shouldn't be
FIXED : Ticket #627, Don't create the "AppData\Roaming\Media Player Classic"
@@ -24,6 +34,7 @@ v1.5.xxxx.0 - unreleased
FIXED : Ticket #647, Weird "keys" listed
FIXED : Ticket #651, Make EVR CP stats graph smaller
FIXED : Ticket #652, Escape key on certain form causes form to collapse
+ FIXED : Ticket #655, Crash with some BBC-HD samples
FIXED : Ticket #678, Remember last window size NOT working and mpc-hc.ini
FIXED : Ticket #698, VMR-9 (Renderless) + pixel shaders crashes
FIXED : Ticket #699, fix EAC3 mediatype and string
@@ -36,6 +47,14 @@ v1.5.xxxx.0 - unreleased
FIXED : Ticket #791, Change the cursor behavior
FIXED : Ticket #796, MPC HC window doesn't stay snapped to desktop corners
FIXED : Ticket #809, Resize-arrows no longer appear with caption hidden
+ FIXED : Ticket #889, [DVB] <enter> keypress in channel list makes whole pane grey
+ FIXED : Ticket #891, [DVB] clicking empty slot in channel list causes small playback
+ hickup
+ FIXED : Ticket #895, [DVB] some characters don't show in EPG OSD
+ FIXED : DVB Screen sizing: takes into account the TV Navigation panel
+ FIXED : Workaround to avoid madVR renderer freezing when switching DVB channels
+ FIXED : Bandwidth value was hardcoded to 8MHz when doing a scan or switching channels.
+ The value entered in scan is now saved in the configuration
v1.4.2499.0 - 7 September 2010
@@ -111,8 +130,8 @@ v1.4.2499.0 - 7 September 2010
CHANGED: Updated libpng to v1.4.3
CHANGED: Updated SoundTouch to v1.5.0
CHANGED: Updated zlib to v1.2.5
- CHANGED: Updated LibOgg to v1.2.0
- CHANGED: Updated LibVorbis to v1.3.1
+ CHANGED: Updated libogg to v1.2.0
+ CHANGED: Updated libvorbis to v1.3.1
CHANGED: Updated PNGDIB to v3.1.0
CHANGED: Updated sizecbar to v2.45
CHANGED: Better support for madVR
@@ -264,8 +283,8 @@ v1.3.1249.0 - 26 August 2009
CHANGED: Support for EAC3 in Matroska splitter
CHANGED: Hotkeys added to support more remote control keys
CHANGED: Support for Theora in Matroska internal splitter
- CHANGED: LibVorbis updated to v1.2.3
- CHANGED: LibOgg updated to v1.1.4
+ CHANGED: libvorbis updated to v1.2.3
+ CHANGED: libogg updated to v1.1.4
CHANGED: Improved streaming performances
CHANGED: Prevent display or computer to sleep during playback
CHANGED: FAAD library updated to rev 2.2.7
diff --git a/src/apps/mplayerc/ChildView.cpp b/src/apps/mplayerc/ChildView.cpp
index 2314edf0f..1c21e0529 100644
--- a/src/apps/mplayerc/ChildView.cpp
+++ b/src/apps/mplayerc/ChildView.cpp
@@ -132,22 +132,22 @@ void CChildView::LoadLogo()
m_logo.Destroy();
- if(s.logoext)
- bHaveLogo = SUCCEEDED(m_logo.Load(s.logofn));
+ if(s.fLogoExternal)
+ bHaveLogo = SUCCEEDED(m_logo.Load(s.strLogoFileName));
if(!bHaveLogo)
{
- s.logoext = 0; // use the built-in logo instead
- s.logofn = ""; // clear logo file name
+ s.fLogoExternal = false; // use the built-in logo instead
+ s.strLogoFileName = ""; // clear logo file name
- if (!m_logo.LoadFromResource(s.logoid)) // try the latest selected build-in logo
- m_logo.LoadFromResource(s.logoid=DEF_LOGO); // if fail then use the default logo, should never fail
+ if (!m_logo.LoadFromResource(s.nLogoId)) // try the latest selected build-in logo
+ m_logo.LoadFromResource(s.nLogoId=DEF_LOGO); // if fail then use the default logo, should never fail
}
if(m_hWnd) Invalidate();
}
-CSize CChildView::GetLogoSize()
+CSize CChildView::GetLogoSize() const
{
CSize ret(0,0);
if(!m_logo.IsNull())
diff --git a/src/apps/mplayerc/ChildView.h b/src/apps/mplayerc/ChildView.h
index ad27d2db7..05cdf8c24 100644
--- a/src/apps/mplayerc/ChildView.h
+++ b/src/apps/mplayerc/ChildView.h
@@ -43,13 +43,13 @@ public:
public:
void SetVideoRect(CRect r = CRect(0,0,0,0));
- CRect GetVideoRect()
+ CRect GetVideoRect() const
{
return(m_vrect);
}
void LoadLogo();
- CSize GetLogoSize();
+ CSize GetLogoSize() const;
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
diff --git a/src/apps/mplayerc/DVBChannel.cpp b/src/apps/mplayerc/DVBChannel.cpp
index c70a21b67..30f17449e 100644
--- a/src/apps/mplayerc/DVBChannel.cpp
+++ b/src/apps/mplayerc/DVBChannel.cpp
@@ -30,6 +30,7 @@ CDVBChannel::CDVBChannel(void)
m_nPrefNumber = 0;
m_nOriginNumber = 0;
m_bEncrypted = false;
+ m_bNowNextFlag = false;
m_ulONID = 0;
m_ulTSID = 0;
m_ulSID = 0;
@@ -38,6 +39,7 @@ CDVBChannel::CDVBChannel(void)
m_ulVideoPID = 0;
m_nVideoType = DVB_MPV;
m_nAudioCount = 0;
+ m_nDefaultAudio = 0;
m_nSubtitleCount = 0;
}
@@ -58,6 +60,8 @@ void CDVBChannel::FromString(CString strValue)
m_nOriginNumber = _tstol(strValue.Tokenize(_T("|"), i));
if (nVersion > FORMAT_VERSION_0)
m_bEncrypted = _tstol(strValue.Tokenize(_T("|"), i));
+ if (nVersion > FORMAT_VERSION_1)
+ m_bNowNextFlag = _tstol(strValue.Tokenize(_T("|"), i));
m_ulONID = _tstol(strValue.Tokenize(_T("|"), i));
m_ulTSID = _tstol(strValue.Tokenize(_T("|"), i));
m_ulSID = _tstol(strValue.Tokenize(_T("|"), i));
@@ -66,6 +70,8 @@ void CDVBChannel::FromString(CString strValue)
m_ulVideoPID = _tstol(strValue.Tokenize(_T("|"), i));
m_nVideoType = (DVB_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
m_nAudioCount = _tstol(strValue.Tokenize(_T("|"), i));
+ if (nVersion > FORMAT_VERSION_1)
+ m_nDefaultAudio = _tstol(strValue.Tokenize(_T("|"), i));
m_nSubtitleCount = _tstol(strValue.Tokenize(_T("|"), i));
for(int j=0; j<m_nAudioCount; j++)
@@ -89,13 +95,14 @@ void CDVBChannel::FromString(CString strValue)
CString CDVBChannel::ToString()
{
CString strValue;
- strValue.AppendFormat (_T("%d|%s|%ld|%d|%d|%d|%ld|%ld|%ld|%ld|%ld|%ld|%d|%ld|%ld"),
+ strValue.AppendFormat (_T("%d|%s|%ld|%d|%d|%d|%d|%ld|%ld|%ld|%ld|%ld|%ld|%d|%ld|%d|%ld"),
FORMAT_VERSION_CURRENT,
m_strName,
m_ulFrequency,
m_nPrefNumber,
m_nOriginNumber,
m_bEncrypted,
+ m_bNowNextFlag,
m_ulONID,
m_ulTSID,
m_ulSID,
@@ -104,6 +111,7 @@ CString CDVBChannel::ToString()
m_ulVideoPID,
m_nVideoType,
m_nAudioCount,
+ m_nDefaultAudio,
m_nSubtitleCount);
for(int i=0; i<m_nAudioCount; i++)
diff --git a/src/apps/mplayerc/DVBChannel.h b/src/apps/mplayerc/DVBChannel.h
index 9efa35936..25d296b60 100644
--- a/src/apps/mplayerc/DVBChannel.h
+++ b/src/apps/mplayerc/DVBChannel.h
@@ -24,7 +24,8 @@
#pragma once
#define FORMAT_VERSION_0 0
-#define FORMAT_VERSION_CURRENT 1
+#define FORMAT_VERSION_1 1
+#define FORMAT_VERSION_CURRENT 2
#define DVB_MAX_AUDIO 10
#define DVB_MAX_SUBTITLE 10
@@ -114,7 +115,7 @@ public:
}
ULONG GetDefaultAudioPID() const
{
- return m_Audios[0].PID; /* TODO : fa*/
+ return m_Audios[GetDefaultAudio()].PID;
};
DVB_STREAM_TYPE GetDefaultAudioType() const
{
@@ -128,6 +129,10 @@ public:
{
return m_nAudioCount;
};
+ int GetDefaultAudio() const
+ {
+ return m_nDefaultAudio;
+ };
int GetSubtitleCount() const
{
return m_nSubtitleCount;
@@ -148,6 +153,11 @@ public:
{
return m_bEncrypted;
};
+ bool GetNowNextFlag()
+ {
+ return m_bNowNextFlag;
+ };
+
void SetName(BYTE* Value);
void SetName(LPCTSTR Value)
@@ -170,6 +180,10 @@ public:
{
m_bEncrypted = Value;
};
+ void SetNowNextFlag(bool Value)
+ {
+ m_bNowNextFlag = Value;
+ };
void SetONID(ULONG Value)
{
m_ulONID = Value;
@@ -194,6 +208,10 @@ public:
{
m_ulVideoPID = Value;
};
+ void SetDefaultAudio(int Value)
+ {
+ m_nDefaultAudio = Value;
+ }
void AddStreamInfo (ULONG ulPID, DVB_STREAM_TYPE nType, PES_STREAM_TYPE nPesType, LPCTSTR strLanguage);
@@ -203,6 +221,7 @@ private :
int m_nPrefNumber;
int m_nOriginNumber;
bool m_bEncrypted;
+ bool m_bNowNextFlag;
ULONG m_ulONID;
ULONG m_ulTSID;
ULONG m_ulSID;
@@ -211,6 +230,7 @@ private :
ULONG m_ulVideoPID;
DVB_STREAM_TYPE m_nVideoType;
int m_nAudioCount;
+ int m_nDefaultAudio;
int m_nSubtitleCount;
DVBStreamInfo m_Audios[DVB_MAX_AUDIO];
DVBStreamInfo m_Subtitles[DVB_MAX_SUBTITLE];
diff --git a/src/apps/mplayerc/FGManager.cpp b/src/apps/mplayerc/FGManager.cpp
index 76c9774f5..4ca6502f0 100644
--- a/src/apps/mplayerc/FGManager.cpp
+++ b/src/apps/mplayerc/FGManager.cpp
@@ -30,7 +30,6 @@
#include "AllocatorCommon.h"
#include "SyncAllocatorPresenter.h"
#include "DeinterlacerFilter.h"
-#include "internal_filter_config.h"
#include <initguid.h>
#include <moreuuids.h>
#include <dmodshow.h>
@@ -692,7 +691,10 @@ HRESULT CFGManager::Connect(IPin* pPinOut, IPin* pPinIn, bool bContinueRender)
continue;
if(FAILED(hr = AddFilter(pBF, pFGF->GetName())))
+ {
+ pBF.Release();
continue;
+ }
hr = ConnectFilterDirect(pPinOut, pBF, NULL);
/*
@@ -1223,15 +1225,15 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
bool bOverrideBroadcom = false;
CFGFilter* pFGF;
- UINT src = s.SrcFilters;
- UINT tra = s.TraFilters;
- UINT dxva_filters = s.DXVAFilters;
- UINT ffmpeg_filters = s.FFmpegFilters;
+ bool *src = s.SrcFilters;
+ bool *tra = s.TraFilters;
+ bool *dxva_filters = s.DXVAFilters;
+ bool *ffmpeg_filters = s.FFmpegFilters;
// Source filters
#if INTERNAL_SOURCEFILTER_SHOUTCAST
- if(src & SRC_SHOUTCAST)
+ if(src[SRC_SHOUTCAST])
{
pFGF = DNew CFGFilterInternal<CShoutcastSource>();
pFGF->m_protocols.AddTail(_T("http"));
@@ -1240,7 +1242,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_UDP
- // if(src & SRC_UDP)
+ // if(src[SRC_UDP])
{
pFGF = DNew CFGFilterInternal<CUDPReader>();
pFGF->m_protocols.AddTail(_T("udp"));
@@ -1249,7 +1251,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_AVI
- if(src & SRC_AVI)
+ if(src[SRC_AVI])
{
pFGF = DNew CFGFilterInternal<CAviSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,52494646,8,4,,41564920"));
@@ -1259,7 +1261,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MP4
- if(src & SRC_MP4)
+ if(src[SRC_MP4])
{
pFGF = DNew CFGFilterInternal<CMP4SourceFilter>();
pFGF->m_chkbytes.AddTail(_T("4,4,,66747970")); // ftyp
@@ -1274,7 +1276,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_FLV
- if(src & SRC_FLV)
+ if(src[SRC_FLV])
{
pFGF = DNew CFGFilterInternal<CFLVSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,464C5601")); // FLV (v1)
@@ -1283,7 +1285,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MATROSKA
- if(src & SRC_MATROSKA)
+ if(src[SRC_MATROSKA])
{
pFGF = DNew CFGFilterInternal<CMatroskaSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,1A45DFA3"));
@@ -1292,7 +1294,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_REALMEDIA
- if(src & SRC_REALMEDIA)
+ if(src[SRC_REALMEDIA])
{
pFGF = DNew CFGFilterInternal<CRealMediaSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,2E524D46"));
@@ -1301,7 +1303,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_DSM
- if(src & SRC_DSM)
+ if(src[SRC_DSM])
{
pFGF = DNew CFGFilterInternal<CDSMSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,44534D53"));
@@ -1310,7 +1312,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_FLIC
- if(src & SRC_FLIC)
+ if(src[SRC_FLIC])
{
pFGF = DNew CFGFilterInternal<CFLICSource>();
pFGF->m_chkbytes.AddTail(_T("4,2,,11AF"));
@@ -1322,7 +1324,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_FLAC
- if(src & SRC_FLAC)
+ if(src[SRC_FLAC])
{
pFGF = DNew CFGFilterInternal<CFlacSource>();
pFGF->m_chkbytes.AddTail(_T("0,4,,664C6143"));
@@ -1332,7 +1334,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_CDDA
- if(src & SRC_CDDA)
+ if(src[SRC_CDDA])
{
pFGF = DNew CFGFilterInternal<CCDDAReader>();
pFGF->m_extensions.AddTail(_T(".cda"));
@@ -1341,7 +1343,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_CDXA
- if(src & SRC_CDXA)
+ if(src[SRC_CDXA])
{
pFGF = DNew CFGFilterInternal<CCDXAReader>();
pFGF->m_chkbytes.AddTail(_T("0,4,,52494646,8,4,,43445841"));
@@ -1350,7 +1352,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_VTS
- if(src & SRC_VTS)
+ if(src[SRC_VTS])
{
pFGF = DNew CFGFilterInternal<CVTSReader>();
pFGF->m_chkbytes.AddTail(_T("0,12,,445644564944454F2D565453"));
@@ -1363,7 +1365,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#ifndef _WIN64
__if_exists(CD2VSource)
{
- if(src & SRC_D2V)
+ if(src[SRC_D2V])
{
pFGF = DNew CFGFilterInternal<CD2VSource>();
pFGF->m_chkbytes.AddTail(_T("0,18,,4456443241564950726F6A65637446696C65"));
@@ -1375,7 +1377,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_ROQ
- if(src & SRC_ROQ)
+ if(src[SRC_ROQ])
{
pFGF = DNew CFGFilterInternal<CRoQSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,8,,8410FFFFFFFF1E00"));
@@ -1384,7 +1386,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_OGG
- if(src & SRC_OGG)
+ if(src[SRC_OGG])
{
pFGF = DNew CFGFilterInternal<COggSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,4,,4F676753"));
@@ -1395,7 +1397,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_SOURCEFILTER_NUT
__if_exists(CNutSourceFilter)
{
- if(src & SRC_NUT)
+ if(src[SRC_NUT])
{
pFGF = DNew CFGFilterInternal<CNutSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,8,,F9526A624E55544D"));
@@ -1407,7 +1409,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_SOURCEFILTER_DIRAC
__if_exists(CDiracSourceFilter)
{
- if(src & SRC_DIRAC)
+ if(src[SRC_DIRAC])
{
pFGF = DNew CFGFilterInternal<CDiracSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,8,,4B572D4449524143"));
@@ -1417,7 +1419,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MPEG
- if(src & SRC_MPEG)
+ if(src[SRC_MPEG])
{
pFGF = DNew CFGFilterInternal<CMpegSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,16,FFFFFFFFF100010001800001FFFFFFFF,000001BA2100010001800001000001BB"));
@@ -1433,7 +1435,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_DTSAC3
- if(src & SRC_DTSAC3)
+ if(src[SRC_DTSAC3])
{
pFGF = DNew CFGFilterInternal<CDTSAC3Source>();
pFGF->m_chkbytes.AddTail(_T("0,4,,7FFE8001"));
@@ -1446,7 +1448,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MPEGAUDIO
- if(src & SRC_MPA)
+ if(src[SRC_MPA])
{
pFGF = DNew CFGFilterInternal<CMpaSourceFilter>();
pFGF->m_chkbytes.AddTail(_T("0,2,FFE0,FFE0"));
@@ -1472,7 +1474,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MATROSKA
- if(src & SRC_MATROSKA)
+ if(src[SRC_MATROSKA])
{
pFGF = DNew CFGFilterInternal<CMatroskaSplitterFilter>(L"Matroska Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1486,7 +1488,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_REALMEDIA
- if(src & SRC_REALMEDIA)
+ if(src[SRC_REALMEDIA])
{
pFGF = DNew CFGFilterInternal<CRealMediaSplitterFilter>(L"RealMedia Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1500,7 +1502,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_AVI
- if(src & SRC_AVI)
+ if(src[SRC_AVI])
{
pFGF = DNew CFGFilterInternal<CAviSplitterFilter>(L"Avi Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1514,7 +1516,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_ROQ
- if(src & SRC_ROQ)
+ if(src[SRC_ROQ])
{
pFGF = DNew CFGFilterInternal<CRoQSplitterFilter>(L"RoQ Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1528,7 +1530,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_OGG
- if(src & SRC_OGG)
+ if(src[SRC_OGG])
{
pFGF = DNew CFGFilterInternal<COggSplitterFilter>(L"Ogg Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1544,7 +1546,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_SOURCEFILTER_NUT
__if_exists(CNutSplitterFilter)
{
- if(src & SRC_NUT)
+ if(src[SRC_NUT])
{
pFGF = DNew CFGFilterInternal<CNutSplitterFilter>(L"Nut Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1559,7 +1561,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MPEG
- if(src & SRC_MPEG)
+ if(src[SRC_MPEG])
{
pFGF = DNew CFGFilterInternal<CMpegSplitterFilter>(L"Mpeg Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1578,7 +1580,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_SOURCEFILTER_DIRAC
__if_exists(CDiracSplitterFilter)
{
- if(src & SRC_DIRAC)
+ if(src[SRC_DIRAC])
{
pFGF = DNew CFGFilterInternal<CDiracSplitterFilter>(L"Dirac Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1593,7 +1595,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MPEGAUDIO
- if(src & SRC_MPA)
+ if(src[SRC_MPA])
{
pFGF = DNew CFGFilterInternal<CMpaSplitterFilter>(L"Mpa Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1607,7 +1609,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_DSM
- if(src & SRC_DSM)
+ if(src[SRC_DSM])
{
pFGF = DNew CFGFilterInternal<CDSMSplitterFilter>(L"DSM Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1621,7 +1623,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_MP4
- if(src & SRC_MP4)
+ if(src[SRC_MP4])
{
pFGF = DNew CFGFilterInternal<CMP4SplitterFilter>(L"MP4 Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1635,7 +1637,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#endif
#if INTERNAL_SOURCEFILTER_FLV
- if(src & SRC_FLV)
+ if(src[SRC_FLV])
{
pFGF = DNew CFGFilterInternal<CFLVSplitterFilter>(L"FLV Splitter", MERIT64_ABOVE_DSHOW);
}
@@ -1652,8 +1654,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_MPEG1
pFGF = DNew CFGFilterInternal<CMpeg2DecFilter>(
- (tra & TRA_MPEG1) ? ResStr(IDS_FGMANAGER_0) : L"MPEG-1 Video Decoder (low merit)",
- (tra & TRA_MPEG1) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_MPEG1]) ? ResStr(IDS_FGMANAGER_0) : L"MPEG-1 Video Decoder (low merit)",
+ (tra[TRA_MPEG1]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_MPEG1Packet);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_MPEG1Payload);
m_transform.AddTail(pFGF);
@@ -1661,8 +1663,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_MPEGAUDIO
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_MPA) ? ResStr(IDS_FGMANAGER_2) : L"MPEG-1 Audio Decoder (low merit)",
- (tra & TRA_MPA) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_MPA]) ? ResStr(IDS_FGMANAGER_2) : L"MPEG-1 Audio Decoder (low merit)",
+ (tra[TRA_MPA]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_MP3);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1AudioPayload);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1Payload);
@@ -1670,8 +1672,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
m_transform.AddTail(pFGF);
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_MPA) ? ResStr(IDS_FGMANAGER_3) : L"MPEG-2 Audio Decoder (low merit)",
- (tra & TRA_MPA) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_MPA]) ? ResStr(IDS_FGMANAGER_3) : L"MPEG-2 Audio Decoder (low merit)",
+ (tra[TRA_MPA]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_MPEG2_AUDIO);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_MPEG2_AUDIO);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_MPEG2_AUDIO);
@@ -1681,8 +1683,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_AMR
pFGF = new CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_AMR) ? L"AMR Audio Decoder" : L"AMR Audio Decoder (low merit)",
- (tra & TRA_AMR) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_AMR]) ? L"AMR Audio Decoder" : L"AMR Audio Decoder (low merit)",
+ (tra[TRA_AMR]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_SAMR);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_AMR);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_SAWB);
@@ -1691,8 +1693,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_LPCM
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_LPCM) ? ResStr(IDS_FGMANAGER_4) : L"LPCM Audio Decoder (low merit)",
- (tra & TRA_LPCM) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_LPCM]) ? ResStr(IDS_FGMANAGER_4) : L"LPCM Audio Decoder (low merit)",
+ (tra[TRA_LPCM]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DVD_LPCM_AUDIO);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_DVD_LPCM_AUDIO);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DVD_LPCM_AUDIO);
@@ -1703,8 +1705,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_AC3
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_AC3) ? ResStr(IDS_FGMANAGER_5) : L"AC3 Audio Decoder (low merit)",
- (tra & TRA_AC3) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_AC3]) ? ResStr(IDS_FGMANAGER_5) : L"AC3 Audio Decoder (low merit)",
+ (tra[TRA_AC3]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DOLBY_AC3);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_DOLBY_AC3);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DOLBY_AC3);
@@ -1715,8 +1717,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_DTS
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_DTS) ? ResStr(IDS_AG_DTS_DECODER) : L"DTS Decoder (low merit)",
- (tra & TRA_DTS) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_DTS]) ? ResStr(IDS_AG_DTS_DECODER) : L"DTS Decoder (low merit)",
+ (tra[TRA_DTS]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DTS);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_DTS);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DTS);
@@ -1727,8 +1729,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_AAC
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_AAC) ? ResStr(IDS_AG_AAC_DECODER) : L"AAC Decoder (low merit)",
- (tra & TRA_AAC) ? MERIT64_ABOVE_DSHOW+1 : MERIT64_DO_USE);
+ (tra[TRA_AAC]) ? ResStr(IDS_AG_AAC_DECODER) : L"AAC Decoder (low merit)",
+ (tra[TRA_AAC]) ? MERIT64_ABOVE_DSHOW+1 : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_AAC);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_AAC);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_AAC);
@@ -1746,8 +1748,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_PS2AUDIO
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_PS2AUD) ? ResStr(IDS_FGMANAGER_8) : L"PS2 Audio Decoder (low merit)",
- (tra & TRA_PS2AUD) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_PS2AUD]) ? ResStr(IDS_FGMANAGER_8) : L"PS2 Audio Decoder (low merit)",
+ (tra[TRA_PS2AUD]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_PS2_PCM);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_PS2_PCM);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_PS2_PCM);
@@ -1757,8 +1759,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_REALVIDEO
pFGF = DNew CFGFilterInternal<CRealVideoDecoder>(
- (tra & TRA_RV) ? ResStr(IDS_FGMANAGER_9) : L"RealVideo Decoder (low merit)",
- (tra & TRA_RV) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_RV]) ? ResStr(IDS_FGMANAGER_9) : L"RealVideo Decoder (low merit)",
+ (tra[TRA_RV]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_RV10);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_RV20);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_RV30);
@@ -1768,8 +1770,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_REALAUDIO
pFGF = DNew CFGFilterInternal<CRealAudioDecoder>(
- (tra & TRA_RA) ? ResStr(IDS_FGMANAGER_10) : L"RealAudio Decoder (low merit)",
- (tra & TRA_RA) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_RA]) ? ResStr(IDS_FGMANAGER_10) : L"RealAudio Decoder (low merit)",
+ (tra[TRA_RA]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_14_4);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_28_8);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_ATRC);
@@ -1782,32 +1784,32 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_VORBIS
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_VORBIS) ? ResStr(IDS_FGMANAGER_11) : L"Vorbis Audio Decoder (low merit)",
- (tra & TRA_VORBIS) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_VORBIS]) ? ResStr(IDS_FGMANAGER_11) : L"Vorbis Audio Decoder (low merit)",
+ (tra[TRA_VORBIS]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_Vorbis2);
m_transform.AddTail(pFGF);
#endif
#if INTERNAL_DECODER_FLAC
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_FLAC) ? L"Flac Audio Decoder" : L"Flac Audio Decoder (low merit)", // TODO : put in resource !
- (tra & TRA_FLAC) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_FLAC]) ? L"Flac Audio Decoder" : L"Flac Audio Decoder (low merit)", // TODO : put in resource !
+ (tra[TRA_FLAC]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_FLAC_FRAMED);
m_transform.AddTail(pFGF);
#endif
#if INTERNAL_DECODER_NELLYMOSER
pFGF = DNew CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_NELLY) ? L"Nellymoser Audio Decoder" : L"Nellymoser Audio Decoder (low merit)", // TODO : put in resource !
- (tra & TRA_NELLY) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_NELLY]) ? L"Nellymoser Audio Decoder" : L"Nellymoser Audio Decoder (low merit)", // TODO : put in resource !
+ (tra[TRA_NELLY]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_NELLYMOSER);
m_transform.AddTail(pFGF);
#endif
#if INTERNAL_DECODER_PCM
pFGF = new CFGFilterInternal<CMpaDecFilter>(
- (tra & TRA_PCM) ? ResStr(IDS_AG_PCM_DECODER) : L"PCM Audio Decoder (low merit)",
- (tra & TRA_PCM) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_PCM]) ? ResStr(IDS_AG_PCM_DECODER) : L"PCM Audio Decoder (low merit)",
+ (tra[TRA_PCM]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_NONE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_RAW);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_TWOS);
@@ -1816,20 +1818,27 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_IN32);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_FL32);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_FL64);
+ pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_IN24_le);
+ pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_IN32_le);
+ pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_FL32_le);
+ pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_PCM_FL64_le);
+ /* todo: this should not depend on PCM */
+ #if INTERNAL_DECODER_IMA4
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_IMA4);
+ #endif
m_transform.AddTail(pFGF);
#endif
#if INTERNAL_DECODER_ROQ
pFGF = DNew CFGFilterInternal<CRoQVideoDecoder>(
- (tra & TRA_RV) ? ResStr(IDS_FGMANAGER_12) : L"RoQ Video Decoder (low merit)",
- (tra & TRA_RV) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_RV]) ? ResStr(IDS_FGMANAGER_12) : L"RoQ Video Decoder (low merit)",
+ (tra[TRA_RV]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_RoQV);
m_transform.AddTail(pFGF);
pFGF = DNew CFGFilterInternal<CRoQAudioDecoder>(
- (tra & TRA_RA) ? ResStr(IDS_FGMANAGER_13) : L"RoQ Audio Decoder (low merit)",
- (tra & TRA_RA) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_RA]) ? ResStr(IDS_FGMANAGER_13) : L"RoQ Audio Decoder (low merit)",
+ (tra[TRA_RA]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Audio, MEDIASUBTYPE_RoQA);
m_transform.AddTail(pFGF);
#endif
@@ -1838,8 +1847,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
__if_exists(CDiracVideoDecoder)
{
pFGF = DNew CFGFilterInternal<CDiracVideoDecoder>(
- (tra & TRA_DIRAC) ? ResStr(IDS_FGMANAGER_14) : L"Dirac Video Decoder (low merit)",
- (tra & TRA_DIRAC) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_DIRAC]) ? ResStr(IDS_FGMANAGER_14) : L"Dirac Video Decoder (low merit)",
+ (tra[TRA_DIRAC]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_DiracVideo);
m_transform.AddTail(pFGF);
}
@@ -1856,10 +1865,10 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
m_transform.AddTail(pFGF);
// High merit MPC Video Decoder
-#if INCLUDE_MPC_VIDEO_DECODER | INCLUDE_MPC_DXVA_VIDEO_DECODER
+#if HAS_FFMPEG_VIDEO_DECODERS | HAS_DXVA_VIDEO_DECODERS
pFGF = DNew CFGFilterInternal<CMPCVideoDecFilter>(_T("MPC Video Decoder"), MERIT64_ABOVE_DSHOW);
#if INTERNAL_DECODER_FLV
- if (ffmpeg_filters & FFM_FLV4)
+ if (ffmpeg_filters[FFM_FLV4])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_FLV1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_flv1);
@@ -1868,7 +1877,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_VP6
- if (ffmpeg_filters & FFM_VP62)
+ if (ffmpeg_filters[FFM_VP62])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_VP50);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_vp50);
@@ -1885,7 +1894,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_H264 | INTERNAL_DECODER_H264_DXVA
- if ((ffmpeg_filters & FFM_H264) || (dxva_filters & DXVA_H264))
+ if ((ffmpeg_filters[FFM_H264]) || (dxva_filters[TRA_DXVA_H264]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_H264);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_h264);
@@ -1904,7 +1913,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_MPEG2_DXVA
- if (dxva_filters & DXVA_MPEG2)
+ if (dxva_filters[TRA_DXVA_MPEG2])
{
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
@@ -1913,14 +1922,14 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_VC1 | INTERNAL_DECODER_VC1_DXVA
- if ((ffmpeg_filters & FFM_VC1) || (dxva_filters & DXVA_VC1))
+ if ((ffmpeg_filters[FFM_VC1]) || (dxva_filters[TRA_DXVA_VC1]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_WVC1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_wvc1);
}
#endif
#if INTERNAL_DECODER_XVID
- if (ffmpeg_filters & FFM_XVID)
+ if (ffmpeg_filters[FFM_XVID])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_XVID);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_xvid);
@@ -1965,7 +1974,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_DIVX
- if (ffmpeg_filters & FFM_DIVX)
+ if (ffmpeg_filters[FFM_DIVX])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_DIVX);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_divx);
@@ -1974,7 +1983,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_WMV
- if (ffmpeg_filters & FFM_WMV)
+ if (ffmpeg_filters[FFM_WMV])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_WMV1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_wmv1);
@@ -1985,7 +1994,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_MSMPEG4
- if (ffmpeg_filters & FFM_MSMPEG4)
+ if (ffmpeg_filters[FFM_MSMPEG4])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_DIV3);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_div3);
@@ -2018,14 +2027,14 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_SVQ
- if (ffmpeg_filters & FFM_SVQ3)
+ if (ffmpeg_filters[FFM_SVQ3])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_SVQ3);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_SVQ1);
}
#endif
#if INTERNAL_DECODER_H263
- if (ffmpeg_filters & FFM_H263)
+ if (ffmpeg_filters[FFM_H263])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_H263);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_h263);
@@ -2034,20 +2043,20 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_THEORA
- if (ffmpeg_filters & FFM_THEORA)
+ if (ffmpeg_filters[FFM_THEORA])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_THEORA);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_theora);
}
#endif
#if INTERNAL_DECODER_AMVV
- if (ffmpeg_filters & FFM_AMVV)
+ if (ffmpeg_filters[FFM_AMVV])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_AMVV);
}
#endif
#if INTERNAL_DECODER_VP8
- if (ffmpeg_filters & FFM_VP8)
+ if (ffmpeg_filters[FFM_VP8])
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_VP80);
}
@@ -2058,7 +2067,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
// Low merit MPC Video Decoder
pFGF = DNew CFGFilterInternal<CMPCVideoDecFilter>(_T("MPC Video Decoder (low merit)"), MERIT64_DO_USE);
#if INTERNAL_DECODER_FLV
- if (!(ffmpeg_filters & FFM_FLV4))
+ if (!(ffmpeg_filters[FFM_FLV4]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_FLV1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_flv1);
@@ -2067,7 +2076,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_VP6
- if (!(ffmpeg_filters & FFM_VP62))
+ if (!(ffmpeg_filters[FFM_VP62]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_VP50);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_vp50);
@@ -2084,7 +2093,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_H264 | INTERNAL_DECODER_H264_DXVA
- if (!(ffmpeg_filters & FFM_H264) && !(dxva_filters & DXVA_H264))
+ if (!(ffmpeg_filters[FFM_H264]) && !(dxva_filters[TRA_DXVA_H264]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_H264);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_h264);
@@ -2103,7 +2112,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_MPEG2_DXVA
- if (!(dxva_filters & DXVA_MPEG2))
+ if (!(dxva_filters[TRA_DXVA_MPEG2]))
{
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
@@ -2112,14 +2121,14 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_VC1 | INTERNAL_DECODER_VC1_DXVA
- if (!(ffmpeg_filters & FFM_VC1) && !(dxva_filters & DXVA_VC1))
+ if (!(ffmpeg_filters[FFM_VC1]) && !(dxva_filters[TRA_DXVA_VC1]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_WVC1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_wvc1);
}
#endif
#if INTERNAL_DECODER_XVID
- if (!(ffmpeg_filters & FFM_XVID))
+ if (!(ffmpeg_filters[FFM_XVID]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_XVID);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_xvid);
@@ -2164,7 +2173,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_DIVX
- if (!(ffmpeg_filters & FFM_DIVX))
+ if (!(ffmpeg_filters[FFM_DIVX]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_DIVX);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_divx);
@@ -2173,7 +2182,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_WMV
- if (!(ffmpeg_filters & FFM_WMV))
+ if (!(ffmpeg_filters[FFM_WMV]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_WMV1);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_wmv1);
@@ -2184,7 +2193,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_MSMPEG4
- if (!(ffmpeg_filters & FFM_MSMPEG4))
+ if (!(ffmpeg_filters[FFM_MSMPEG4]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_DIV3);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_div3);
@@ -2217,34 +2226,34 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
}
#endif
#if INTERNAL_DECODER_SVQ
- if (!(ffmpeg_filters & FFM_SVQ3))
+ if (!(ffmpeg_filters[FFM_SVQ3]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_SVQ3);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_SVQ1);
}
#endif
#if INTERNAL_DECODER_H263
- if (!(ffmpeg_filters & FFM_H263))
+ if (!(ffmpeg_filters[FFM_H263]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_H263);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_h263);
}
#endif
#if INTERNAL_DECODER_THEORA
- if (!(ffmpeg_filters & FFM_THEORA))
+ if (!(ffmpeg_filters[FFM_THEORA]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_THEORA);
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_theora);
}
#endif
#if INTERNAL_DECODER_AMVV
- if (!(ffmpeg_filters & FFM_AMVV))
+ if (!(ffmpeg_filters[FFM_AMVV]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_AMVV);
}
#endif
#if INTERNAL_DECODER_VP8
- if (!(ffmpeg_filters & FFM_VP8))
+ if (!(ffmpeg_filters[FFM_VP8]))
{
pFGF->AddType(MEDIATYPE_Video, MEDIASUBTYPE_VP80);
}
@@ -2255,8 +2264,8 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
#if INTERNAL_DECODER_MPEG2
// Keep software decoder after DXVA decoder !
pFGF = DNew CFGFilterInternal<CMpeg2DecFilter>(
- (tra & TRA_MPEG2) ? ResStr(IDS_FGMANAGER_1) : L"MPEG-2 Video Decoder (low merit)",
- (tra & TRA_MPEG2) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
+ (tra[TRA_MPEG2]) ? ResStr(IDS_FGMANAGER_1) : L"MPEG-2 Video Decoder (low merit)",
+ (tra[TRA_MPEG2]) ? MERIT64_ABOVE_DSHOW : MERIT64_DO_USE);
pFGF->AddType(MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
pFGF->AddType(MEDIATYPE_MPEG2_PACK, MEDIASUBTYPE_MPEG2_VIDEO);
pFGF->AddType(MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_MPEG2_VIDEO);
@@ -2272,9 +2281,9 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
m_transform.AddTail(pFGF);
*/
-#if INCLUDE_MPC_VIDEO_DECODER | INCLUDE_MPC_DXVA_VIDEO_DECODER
- CMPCVideoDecFilter::FFmpegFilters = s.FFmpegFilters;
- CMPCVideoDecFilter::DXVAFilters = s.DXVAFilters;
+#if HAS_FFMPEG_VIDEO_DECODERS | HAS_DXVA_VIDEO_DECODERS
+ CMPCVideoDecFilter::FFmpegFilters = (HAS_FFMPEG_DECODERS) ? s.FFmpegFilters : NULL;
+ CMPCVideoDecFilter::DXVAFilters = (HAS_DXVA_VIDEO_DECODERS) ? s.DXVAFilters : NULL;
CMPCVideoDecFilter::m_ref_frame_count_check_skip = false;
if((!IsVistaOrAbove()) && ((s.iDSVideoRendererType == VIDRNDT_DS_DEFAULT) || (s.iDSVideoRendererType == VIDRNDT_DS_DXR)))
@@ -2345,10 +2354,10 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
WORD merit_low = 1;
- POSITION pos = s.filters.GetTailPosition();
+ POSITION pos = s.m_filters.GetTailPosition();
while(pos)
{
- FilterOverride* fo = s.filters.GetPrev(pos);
+ FilterOverride* fo = s.m_filters.GetPrev(pos);
if (!fo->fDisabled && fo->name == _T("Broadcom Video Decoder"))
bOverrideBroadcom = true;
@@ -2435,8 +2444,8 @@ STDMETHODIMP CFGManagerCustom::AddFilter(IBaseFilter* pBF, LPCWSTR pName)
{
pASF->EnableDownSamplingTo441(s.fDownSampleTo441);
pASF->SetSpeakerConfig(s.fCustomChannelMapping, s.pSpeakerToChannelMap);
- pASF->SetAudioTimeShift(s.fAudioTimeShift ? 10000i64*s.tAudioTimeShift : 0);
- pASF->SetNormalizeBoost(s.fAudioNormalize, s.fAudioNormalizeRecover, s.AudioBoost);
+ pASF->SetAudioTimeShift(s.fAudioTimeShift ? 10000i64*s.iAudioTimeShift : 0);
+ pASF->SetNormalizeBoost(s.fAudioNormalize, s.fAudioNormalizeRecover, s.dAudioBoost);
}
return hr;
diff --git a/src/apps/mplayerc/FGManagerBDA.cpp b/src/apps/mplayerc/FGManagerBDA.cpp
index 72157b1c7..7de7482ef 100644
--- a/src/apps/mplayerc/FGManagerBDA.cpp
+++ b/src/apps/mplayerc/FGManagerBDA.cpp
@@ -29,6 +29,7 @@
#include <mpeg2data.h>
#include <tuner.h>
#include <time.h>
+#include <Dvbsiparser.h>
#include "../../DSUtil/DSUtil.h"
#include "../../DSUtil/GolombBuffer.h"
@@ -415,18 +416,18 @@ STDMETHODIMP CFGManagerBDA::RenderFile(LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayL
CComPtr<IBaseFilter> pReceiver;
LOG (_T("\nCreating BDA filters..."));
- CheckAndLog (CreateKSFilter (&pNetwork, KSCATEGORY_BDA_NETWORK_PROVIDER, s.BDANetworkProvider), "BDA : Network provider creation");
-// CheckAndLog (CreateKSFilter (&pTuner, KSCATEGORY_BDA_NETWORK_TUNER, s.BDATuner), "BDA : Network tuner creation");
- if (FAILED(hr = CreateKSFilter (&pTuner, KSCATEGORY_BDA_NETWORK_TUNER, s.BDATuner)))
+ CheckAndLog (CreateKSFilter (&pNetwork, KSCATEGORY_BDA_NETWORK_PROVIDER, s.strBDANetworkProvider), "BDA : Network provider creation");
+// CheckAndLog (CreateKSFilter (&pTuner, KSCATEGORY_BDA_NETWORK_TUNER, s.strBDATuner), "BDA : Network tuner creation");
+ if (FAILED(hr = CreateKSFilter (&pTuner, KSCATEGORY_BDA_NETWORK_TUNER, s.strBDATuner)))
{
AfxMessageBox(_T("BDA Error: could not create Network tuner. "), MB_OK);
TRACE("BDA : Network tuner creation"" :0x%08x\n",hr);
return hr;
}
- if (s.BDATuner.Right(40) != s.BDAReceiver.Right(40)) // check if filters are the same
+ if (s.strBDATuner.Right(40) != s.strBDAReceiver.Right(40)) // check if filters are the same
{
-// CheckAndLog (CreateKSFilter (&pReceiver, KSCATEGORY_BDA_RECEIVER_COMPONENT, s.BDAReceiver), "BDA : Receiver creation");
- if (FAILED(hr = CreateKSFilter (&pReceiver, KSCATEGORY_BDA_RECEIVER_COMPONENT, s.BDAReceiver)))
+// CheckAndLog (CreateKSFilter (&pReceiver, KSCATEGORY_BDA_RECEIVER_COMPONENT, s.strBDAReceiver), "BDA : Receiver creation");
+ if (FAILED(hr = CreateKSFilter (&pReceiver, KSCATEGORY_BDA_RECEIVER_COMPONENT, s.strBDAReceiver)))
{
AfxMessageBox(_T("BDA Error: could not create Network receiver."), MB_OK);
TRACE("BDA : Receiver creation"" :0x%08x\n",hr);
@@ -541,7 +542,7 @@ STDMETHODIMP CFGManagerBDA::SetChannel (int nChannelPrefNumber)
hr = SetChannelInternal (pChannel);
if (SUCCEEDED (hr))
- s.DVBLastChannel = nChannelPrefNumber;
+ s.nDVBLastChannel = nChannelPrefNumber;
}
return hr;
@@ -555,14 +556,15 @@ STDMETHODIMP CFGManagerBDA::SetAudio (int nAudioIndex)
STDMETHODIMP CFGManagerBDA::SetFrequency(ULONG freq)
{
HRESULT hr;
+ AppSettings& s = AfxGetAppSettings();
CheckPointer (m_pBDAControl, E_FAIL);
CheckPointer (m_pBDAFreq, E_FAIL);
- CheckAndLog (m_pBDAControl->StartChanges(), "BDA : Setfrequency StartChanges");
- CheckAndLog (m_pBDAFreq->put_Bandwidth(8), "BDA : Setfrequency put_Bandwidth");
- CheckAndLog (m_pBDAFreq->put_Frequency(freq), "BDA : Setfrequency put_Frequency");
- CheckAndLog (m_pBDAControl->CheckChanges(), "BDA : Setfrequency CheckChanges");
- CheckAndLog (m_pBDAControl->CommitChanges(), "BDA : Setfrequency CommitChanges");
+ CheckAndLog (m_pBDAControl->StartChanges(), "BDA : Setfrequency StartChanges");
+ CheckAndLog (m_pBDAFreq->put_Bandwidth(s.iBDABandwidth), "BDA : Setfrequency put_Bandwidth");
+ CheckAndLog (m_pBDAFreq->put_Frequency(freq), "BDA : Setfrequency put_Frequency");
+ CheckAndLog (m_pBDAControl->CheckChanges(), "BDA : Setfrequency CheckChanges");
+ CheckAndLog (m_pBDAControl->CommitChanges(), "BDA : Setfrequency CommitChanges");
return hr;
}
@@ -605,7 +607,7 @@ STDMETHODIMP CFGManagerBDA::Count(DWORD* pcStreams)
{
CheckPointer(pcStreams, E_POINTER);
AppSettings& s = AfxGetAppSettings();
- CDVBChannel* pChannel = s.FindChannelByPref(s.DVBLastChannel);
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
*pcStreams = 0;
@@ -619,7 +621,7 @@ STDMETHODIMP CFGManagerBDA::Enable(long lIndex, DWORD dwFlags)
{
HRESULT hr = E_INVALIDARG;
AppSettings& s = AfxGetAppSettings();
- CDVBChannel* pChannel = s.FindChannelByPref(s.DVBLastChannel);
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
DVBStreamInfo* pStreamInfo = NULL;
CDVBStream* pStream = NULL;
FILTER_STATE nState;
@@ -660,7 +662,7 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
{
HRESULT hr = E_INVALIDARG;
AppSettings& s = AfxGetAppSettings();
- CDVBChannel* pChannel = s.FindChannelByPref(s.DVBLastChannel);
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
DVBStreamInfo* pStreamInfo = NULL;
CDVBStream* pStream = NULL;
CDVBStream* pCurrentStream = NULL;
@@ -850,6 +852,19 @@ HRESULT CFGManagerBDA::SwitchStream (DVB_STREAM_TYPE& nOldType, DVB_STREAM_TYPE
return S_OK;
}
+HRESULT CFGManagerBDA::UpdatePSI(PresentFollowing &NowNext)
+{
+ HRESULT hr = S_FALSE;
+ AppSettings& s = AfxGetAppSettings();
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
+ CMpeg2DataParser Parser (m_DVBStreams[DVB_PSI].GetFilter());
+
+ if (pChannel->GetNowNextFlag())
+ hr = Parser.ParseEIT(pChannel->GetSID(), NowNext);
+
+ return hr;
+}
+
HRESULT CFGManagerBDA::ChangeState(FILTER_STATE nRequested)
{
diff --git a/src/apps/mplayerc/FGManagerBDA.h b/src/apps/mplayerc/FGManagerBDA.h
index 21cd940e1..864bef169 100644
--- a/src/apps/mplayerc/FGManagerBDA.h
+++ b/src/apps/mplayerc/FGManagerBDA.h
@@ -156,6 +156,7 @@ public:
DECLARE_IUNKNOWN;
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
+ STDMETHODIMP UpdatePSI( PresentFollowing &NowNext);
private :
diff --git a/src/apps/mplayerc/FilterEnum.h b/src/apps/mplayerc/FilterEnum.h
new file mode 100644
index 000000000..7113b4581
--- /dev/null
+++ b/src/apps/mplayerc/FilterEnum.h
@@ -0,0 +1,222 @@
+/*
+ * $Id$
+ *
+ * (C) 2010 see AUTHORS
+ *
+ * This file is part of mplayerc.
+ *
+ * Mplayerc is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Mplayerc is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include "internal_filter_config.h"
+
+enum
+{
+ SOURCE_FILTER,
+ DECODER,
+ DXVA_DECODER,
+ FFMPEG_DECODER
+};
+
+enum SOURCE_FILTER
+{
+#if INTERNAL_SOURCEFILTER_CDDA
+ SRC_CDDA,
+#endif
+#if INTERNAL_SOURCEFILTER_CDXA
+ SRC_CDXA,
+#endif
+#if INTERNAL_SOURCEFILTER_VTS
+ SRC_VTS,
+#endif
+#if INTERNAL_SOURCEFILTER_FLIC
+ SRC_FLIC,
+#endif
+#if INTERNAL_SOURCEFILTER_DVSOURCE
+ SRC_D2V,
+#endif
+#if INTERNAL_SOURCEFILTER_DTSAC3
+ SRC_DTSAC3,
+#endif
+#if INTERNAL_SOURCEFILTER_MATROSKA
+ SRC_MATROSKA,
+#endif
+#if INTERNAL_SOURCEFILTER_SHOUTCAST
+ SRC_SHOUTCAST,
+#endif
+#if INTERNAL_SOURCEFILTER_REALMEDIA
+ SRC_REALMEDIA,
+#endif
+#if INTERNAL_SOURCEFILTER_AVI
+ SRC_AVI,
+#endif
+#if INTERNAL_SOURCEFILTER_ROQ
+ SRC_ROQ,
+#endif
+#if INTERNAL_SOURCEFILTER_OGG
+ SRC_OGG,
+#endif
+#if INTERNAL_SOURCEFILTER_NUT
+ SRC_NUT,
+#endif
+#if INTERNAL_SOURCEFILTER_MPEG
+ SRC_MPEG,
+#endif
+#if INTERNAL_SOURCEFILTER_DIRAC
+ SRC_DIRAC,
+#endif
+#if INTERNAL_SOURCEFILTER_MPEGAUDIO
+ SRC_MPA,
+#endif
+#if INTERNAL_SOURCEFILTER_DSM
+ SRC_DSM,
+#endif
+ SRC_SUBS,
+#if INTERNAL_SOURCEFILTER_MP4
+ SRC_MP4,
+#endif
+#if INTERNAL_SOURCEFILTER_FLV
+ SRC_FLV,
+#endif
+#if INTERNAL_SOURCEFILTER_FLAC
+ SRC_FLAC,
+#endif
+ SRC_LAST
+};
+
+enum DECODER
+{
+#if INTERNAL_DECODER_MPEG1
+ TRA_MPEG1,
+#endif
+#if INTERNAL_DECODER_MPEG2
+ TRA_MPEG2,
+#endif
+#if INTERNAL_DECODER_REALVIDEO
+ TRA_RV,
+#endif
+#if INTERNAL_DECODER_REALAUDIO
+ TRA_RA,
+#endif
+#if INTERNAL_DECODER_MPEGAUDIO
+ TRA_MPA,
+#endif
+#if INTERNAL_DECODER_DTS
+ TRA_DTS,
+ TRA_LPCM,
+#endif
+#if INTERNAL_DECODER_AC3
+ TRA_AC3,
+#endif
+#if INTERNAL_DECODER_AAC
+ TRA_AAC,
+#endif
+#if INTERNAL_DECODER_PS2AUDIO
+ TRA_PS2AUD,
+#endif
+#if INTERNAL_DECODER_DIRAC
+ TRA_DIRAC,
+#endif
+#if INTERNAL_DECODER_VORBIS
+ TRA_VORBIS,
+#endif
+#if INTERNAL_DECODER_FLAC
+ TRA_FLAC,
+#endif
+#if INTERNAL_DECODER_NELLYMOSER
+ TRA_NELLY,
+#endif
+#if INTERNAL_DECODER_AMR
+ TRA_AMR,
+#endif
+#if INTERNAL_DECODER_PCM
+ TRA_PCM,
+#endif
+ TRA_LAST
+};
+
+enum DXVA_DECODER
+{
+#if INTERNAL_DECODER_H264_DXVA
+ TRA_DXVA_H264,
+#endif
+#if INTERNAL_DECODER_VC1_DXVA
+ TRA_DXVA_VC1,
+#endif
+#if INTERNAL_DECODER_MPEG2_DXVA
+ TRA_DXVA_MPEG2,
+#endif
+ TRA_DXVA_LAST,
+// dummy values (needed in FGManager.cpp)
+#if !INTERNAL_DECODER_H264_DXVA & INTERNAL_DECODER_H264
+ TRA_DXVA_H264,
+#endif
+#if !INTERNAL_DECODER_VC1_DXVA & INTERNAL_DECODER_VC1
+ TRA_DXVA_VC1,
+#endif
+};
+
+enum FFMPEG_DECODER
+{
+#if INTERNAL_DECODER_H264
+ FFM_H264,
+#endif
+#if INTERNAL_DECODER_VC1
+ FFM_VC1,
+#endif
+#if INTERNAL_DECODER_FLV
+ FFM_FLV4,
+#endif
+#if INTERNAL_DECODER_VP6
+ FFM_VP62,
+#endif
+#if INTERNAL_DECODER_VP8
+ FFM_VP8,
+#endif
+#if INTERNAL_DECODER_XVID
+ FFM_XVID,
+#endif
+#if INTERNAL_DECODER_DIVX
+ FFM_DIVX,
+#endif
+#if INTERNAL_DECODER_MSMPEG4
+ FFM_MSMPEG4,
+#endif
+#if INTERNAL_DECODER_WMV
+ FFM_WMV,
+#endif
+#if INTERNAL_DECODER_SVQ
+ FFM_SVQ3,
+#endif
+#if INTERNAL_DECODER_H263
+ FFM_H263,
+#endif
+#if INTERNAL_DECODER_THEORA
+ FFM_THEORA,
+#endif
+#if INTERNAL_DECODER_AMVV
+ FFM_AMVV,
+#endif
+ FFM_LAST,
+// dummy values (needed in FGManager.cpp)
+#if !INTERNAL_DECODER_H264 & INTERNAL_DECODER_H264_DXVA
+ FFM_H264,
+#endif
+#if !INTERNAL_DECODER_VC1 & INTERNAL_DECODER_VC1_DXVA
+ FFM_VC1,
+#endif
+};
diff --git a/src/apps/mplayerc/GoToDlg.cpp b/src/apps/mplayerc/GoToDlg.cpp
index a530c5339..e403803e7 100644
--- a/src/apps/mplayerc/GoToDlg.cpp
+++ b/src/apps/mplayerc/GoToDlg.cpp
@@ -89,7 +89,7 @@ BOOL CGoToDlg::OnInitDialog()
}
- return FALSE;
+ return TRUE;
// return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
diff --git a/src/apps/mplayerc/IGraphBuilder2.h b/src/apps/mplayerc/IGraphBuilder2.h
index b2047f36c..57c6ae3d7 100644
--- a/src/apps/mplayerc/IGraphBuilder2.h
+++ b/src/apps/mplayerc/IGraphBuilder2.h
@@ -23,6 +23,18 @@
#pragma once
+typedef struct
+{
+ CString cPresent;
+ CString SummaryDesc;
+ CString StartTime;
+ CString Duration;
+ CMapStringToString ExtendedDescriptorsItems;
+ CStringList ExtendedDescriptorsTexts;
+ CString cFollowing;
+} PresentFollowing;
+
+
interface __declspec(uuid("165BE9D6-0929-4363-9BA3-580D735AA0F6"))
IGraphBuilder2 :
public IFilterGraph2
@@ -58,4 +70,5 @@ public IUnknown
STDMETHOD(SetFrequency) (ULONG ulFrequency) = 0;
STDMETHOD(Scan) (ULONG ulFrequency, HWND hWnd) = 0;
STDMETHOD(GetStats) (BOOLEAN& bPresent, BOOLEAN& bLocked, LONG& lStrength, LONG& lQuality) = 0;
+ STDMETHOD(UpdatePSI) (PresentFollowing &NowNext) = 0;
};
diff --git a/src/apps/mplayerc/ISDb.cpp b/src/apps/mplayerc/ISDb.cpp
index 2b00f7b5a..b5111dc9d 100644
--- a/src/apps/mplayerc/ISDb.cpp
+++ b/src/apps/mplayerc/ISDb.cpp
@@ -55,7 +55,7 @@ void hash(CPlaylist& pl, CList<filehash>& fhs)
while(pos)
{
CString fn = pl.GetNext(pos).m_fns.GetHead();
- if(AfxGetAppSettings().Formats.FindExt(CPath(fn).GetExtension().MakeLower(), true))
+ if(AfxGetAppSettings().m_Formats.FindExt(CPath(fn).GetExtension().MakeLower(), true))
continue;
filehash fh;
diff --git a/src/apps/mplayerc/ISDb.h b/src/apps/mplayerc/ISDb.h
index 2e6b5d146..ba9dd7906 100644
--- a/src/apps/mplayerc/ISDb.h
+++ b/src/apps/mplayerc/ISDb.h
@@ -54,12 +54,16 @@ struct isdb_movie
titles.RemoveAll();
subs.RemoveAll();
}
- void operator = (const struct isdb_movie& m)
+ isdb_movie& operator = (const struct isdb_movie& m)
{
- titles.RemoveAll();
- titles.AddTailList(&m.titles);
- subs.RemoveAll();
- subs.AddTailList(&m.subs);
+ if(this != &m)
+ {
+ titles.RemoveAll();
+ titles.AddTailList(&m.titles);
+ subs.RemoveAll();
+ subs.AddTailList(&m.subs);
+ }
+ return *this;
}
};
diff --git a/src/apps/mplayerc/MainFrm.cpp b/src/apps/mplayerc/MainFrm.cpp
index 4aad24334..2aea2dcd3 100644
--- a/src/apps/mplayerc/MainFrm.cpp
+++ b/src/apps/mplayerc/MainFrm.cpp
@@ -152,7 +152,9 @@ public:
else if(__fs == State_Running) \
SendMessage(WM_COMMAND, ID_PLAY_PLAY); \
} \
-
+
+using namespace DSObjects;
+
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
@@ -761,7 +763,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
// Casimir666 : reload Shaders
{
- CString strList = AfxGetAppSettings().strShaderList;
+ CString strList = s.strShaderList;
CString strRes;
int curPos= 0;
@@ -773,7 +775,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
}
}
{
- CString strList = AfxGetAppSettings().strShaderListScreenSpace;
+ CString strList = s.strShaderListScreenSpace;
CString strRes;
int curPos= 0;
@@ -785,8 +787,8 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
}
}
- m_bToggleShader = AfxGetAppSettings().m_bToggleShader;
- m_bToggleShaderScreenSpace = AfxGetAppSettings().m_bToggleShaderScreenSpace;
+ m_bToggleShader = s.fToggleShader;
+ m_bToggleShaderScreenSpace = s.fToggleShaderScreenSpace;
#ifdef _WIN64
m_strTitle.Format (L"%s x64 - v%s", ResStr(IDR_MAINFRAME), AfxGetMyApp()->m_strVersion);
@@ -833,6 +835,7 @@ void CMainFrame::OnDestroy()
void CMainFrame::OnClose()
{
+ AppSettings& s = AfxGetAppSettings();
// Casimir666 : save shaders list
{
POSITION pos;
@@ -844,7 +847,7 @@ void CMainFrame::OnClose()
strList += m_shaderlabels.GetAt (pos) + "|";
m_dockingbars.GetNext(pos);
}
- AfxGetAppSettings().strShaderList = strList;
+ s.strShaderList = strList;
}
{
POSITION pos;
@@ -856,11 +859,11 @@ void CMainFrame::OnClose()
strList += m_shaderlabelsScreenSpace.GetAt (pos) + "|";
m_dockingbars.GetNext(pos);
}
- AfxGetAppSettings().strShaderListScreenSpace = strList;
+ s.strShaderListScreenSpace = strList;
}
- AfxGetAppSettings().m_bToggleShader = m_bToggleShader;
- AfxGetAppSettings().m_bToggleShaderScreenSpace = m_bToggleShaderScreenSpace;
+ s.fToggleShader = m_bToggleShader;
+ s.fToggleShaderScreenSpace = m_bToggleShaderScreenSpace;
m_wndPlaylistBar.SavePlaylist();
@@ -1178,16 +1181,29 @@ BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
|| pMsg->wParam == VK_UP || pMsg->wParam == VK_DOWN))
return FALSE;
*/
- if(pMsg->wParam == VK_ESCAPE && m_iMediaLoadState == MLS_LOADED && m_fFullScreen)
- {
- OnViewFullscreen();
- PostMessage(WM_COMMAND, ID_PLAY_PAUSE);
- return TRUE;
- }
- else if(pMsg->wParam == VK_ESCAPE && (IsCaptionMenuHidden()))
+ if(pMsg->wParam == VK_ESCAPE)
{
- PostMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU);
- return TRUE;
+ bool fEscapeNotAssigned = true;
+ AppSettings& s = AfxGetAppSettings();
+ POSITION pos = s.wmcmds.GetHeadPosition();
+ while(pos && fEscapeNotAssigned)
+ if(s.wmcmds.GetNext(pos).key == VK_ESCAPE)
+ fEscapeNotAssigned = false;
+
+ if(fEscapeNotAssigned)
+ {
+ if(m_iMediaLoadState == MLS_LOADED && m_fFullScreen)
+ {
+ OnViewFullscreen();
+ PostMessage(WM_COMMAND, ID_PLAY_PAUSE);
+ return TRUE;
+ }
+ else if(IsCaptionMenuHidden())
+ {
+ PostMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU);
+ return TRUE;
+ }
+ }
}
else if(pMsg->wParam == VK_LEFT && pAMTuner)
{
@@ -1290,11 +1306,6 @@ void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
if ( style & WS_THICKFRAME )
lpMMI->ptMinTrackSize.x += GetSystemMetrics( (style & WS_CAPTION) ? SM_CXSIZEFRAME : SM_CXFIXEDFRAME ) * 2;
- // This doesn't give correct menu pixel size
- //memset(&mbi, 0, sizeof(mbi));
- //mbi.cbSize = sizeof(mbi);
- //::GetMenuBarInfo(m_hWnd, OBJID_MENU, 0, &mbi);
-
lpMMI->ptMinTrackSize.y = 0;
if ( style & WS_CAPTION )
{
@@ -1304,9 +1315,6 @@ void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
}
if ( style & WS_THICKFRAME )
lpMMI->ptMinTrackSize.y += GetSystemMetrics( SM_CYSIZEFRAME ) * 2;
- // foxx1337: believe the below line isn't needed anymore since we're using system metrics numbers above
- // JonasNo: Correct
- //if ( !AfxGetAppSettings().fHideCaptionMenu ) lpMMI->ptMinTrackSize.y += 3;
POSITION pos = m_bars.GetHeadPosition();
while ( pos )
@@ -1387,7 +1395,7 @@ void CMainFrame::OnSize(UINT nType, int cx, int cy)
AppSettings& s = AfxGetAppSettings();
if(nType != SIZE_MAXIMIZED && nType != SIZE_MINIMIZED)
GetWindowRect(s.rcLastWindowPos);
- s.lastWindowType = nType;
+ s.nLastWindowType = nType;
}
}
@@ -1432,7 +1440,6 @@ void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect)
}
if ( style & WS_THICKFRAME )
fsize.cy += GetSystemMetrics( SM_CYSIZEFRAME ) * 2;
- //if ( !AfxGetAppSettings().fHideCaptionMenu ) fsize.cy += 3; // Now using correct window calculation
POSITION pos = m_bars.GetHeadPosition();
while ( pos )
@@ -1551,7 +1558,8 @@ void CMainFrame::OnActivateApp(BOOL bActive, DWORD dwThreadID)
{
HMONITOR hMonitor1 = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
HMONITOR hMonitor2 = MonitorFromWindow(pWnd->m_hWnd, MONITOR_DEFAULTTONEAREST);
- if(hMonitor1 && hMonitor2 && hMonitor1 != hMonitor2) fExitFullscreen = false;
+ CMonitors monitors;
+ if(hMonitor1 && hMonitor2 && ((hMonitor1 != hMonitor2) || (monitors.GetCount()))) fExitFullscreen = false;
CString title;
pWnd->GetWindowText(title);
@@ -2235,7 +2243,7 @@ bool CMainFrame::DoAfterPlaybackEvent()
bool fExit = false;
- if(s.nCLSwitches&CLSW_CLOSE || s.m_fExitAfterPlayback)
+ if(s.nCLSwitches&CLSW_CLOSE || s.fExitAfterPlayback)
{
fExit = true;
}
@@ -2314,12 +2322,12 @@ bool CMainFrame::GraphEventComplete( )
}
else
{
- int NextMediaExist = false;
- if (s.m_fNextInDirAfterPlayback)
+ int NextMediaExist = 0;
+ if (s.fNextInDirAfterPlayback)
{
NextMediaExist = SearchInDir(true);
}
- if (!s.m_fNextInDirAfterPlayback || !(NextMediaExist>1))
+ if (!s.fNextInDirAfterPlayback || !(NextMediaExist>1))
{
if(s.fRewind)
SendMessage(WM_COMMAND, ID_PLAY_STOP);
@@ -2333,7 +2341,7 @@ bool CMainFrame::GraphEventComplete( )
if(m_fFullScreen && s.fExitFullScreenAtTheEnd)
OnViewFullscreen();
}
- if (s.m_fNextInDirAfterPlayback && !NextMediaExist)
+ if (s.fNextInDirAfterPlayback && !NextMediaExist)
{
m_OSD.DisplayMessage(OSD_TOPLEFT, ResStr(IDS_NO_MORE_MEDIA));
// Don't move it. Else OSD message "Pause" will rewrite this message.
@@ -2472,12 +2480,12 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
Domain = _T("First Play");
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
if (pDVDI && SUCCEEDED (pDVDI->GetDiscID (NULL, &llDVDGuid)))
{
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("DVD Title: %d"), s.lDVDTitle);
if (s.lDVDTitle != 0)
@@ -2485,7 +2493,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
s.NewDvd (llDVDGuid);
// Set command line position
hr = pDVDC->PlayTitle(s.lDVDTitle, DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
{
m_OSD.DebugMessage(_T("PlayTitle: 0x%08X"), hr);
m_OSD.DebugMessage(_T("DVD Chapter: %d"), s.lDVDChapter);
@@ -2494,14 +2502,14 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
if (s.lDVDChapter > 1)
{
hr = pDVDC->PlayChapterInTitle(s.lDVDTitle, s.lDVDChapter, DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayChapterInTitle: 0x%08X"), hr);
}
else
{
// Trick: skip trailers with some DVDs
hr = pDVDC->Resume(DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("Resume: 0x%08X"), hr);
// If the resume call succeeded, then we skip PlayChapterInTitle
@@ -2511,12 +2519,12 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
// This might fail if the Title is not available yet?
hr = pDVDC->PlayAtTime(&s.DVDPosition,
DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayAtTime: 0x%08X"), hr);
}
else
{
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("Timecode requested: %02d:%02d:%02d.%03d"),
s.DVDPosition.bHours, s.DVDPosition.bMinutes,
s.DVDPosition.bSeconds, s.DVDPosition.bFrames);
@@ -2524,27 +2532,27 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
// Always play chapter 1 (for now, until something else dumb happens)
hr = pDVDC->PlayChapterInTitle(s.lDVDTitle, 1,
DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayChapterInTitle: 0x%08X"), hr);
// This might fail if the Title is not available yet?
hr = pDVDC->PlayAtTime(&s.DVDPosition,
DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayAtTime: 0x%08X"), hr);
if ( hr != S_OK )
{
hr = pDVDC->PlayAtTimeInTitle(s.lDVDTitle, &s.DVDPosition,
DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayAtTimeInTitle: 0x%08X"), hr);
}
} // Resume
hr = pDVDC->PlayAtTime(&s.DVDPosition,
DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("PlayAtTime: %d"), hr);
}
@@ -2575,17 +2583,17 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
break;
case DVD_DOMAIN_VideoManagerMenu:
Domain = _T("Video Manager Menu");
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
break;
case DVD_DOMAIN_VideoTitleSetMenu:
Domain = _T("Video Title Set Menu");
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
break;
case DVD_DOMAIN_Title:
Domain.Format(ResStr(IDS_AG_TITLE), m_iDVDTitle);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
DVD_POSITION* DvdPos;
DvdPos = s.CurrentDVDPosition();
@@ -2594,12 +2602,12 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
break;
case DVD_DOMAIN_Stop:
Domain = ResStr(IDS_AG_STOP);
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
break;
default:
Domain = _T("-");
- if ( s.ShowDebugInfo )
+ if ( s.fShowDebugInfo )
m_OSD.DebugMessage(_T("%s"), Domain);
break;
}
@@ -3002,6 +3010,7 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
}
CSize diff = m_lastMouseMove - point;
+ AppSettings& s = AfxGetAppSettings();
if (m_pFullscreenWnd->IsWindow() && (abs(diff.cx)+abs(diff.cy)) >= 1)
{
@@ -3017,15 +3026,15 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
}
else if(m_fFullScreen && (abs(diff.cx)+abs(diff.cy)) >= 1)
{
- int nTimeOut = AfxGetAppSettings().nShowBarsWhenFullScreenTimeOut;
+ int nTimeOut = s.nShowBarsWhenFullScreenTimeOut;
if(nTimeOut < 0)
{
m_fHideCursor = false;
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
+ if(s.fShowBarsWhenFullScreen)
{
- ShowControls(AfxGetAppSettings().nCS);
- if (GetPlaybackMode() == PM_CAPTURE && !AfxGetAppSettings().fHideNavigation && AfxGetAppSettings().iDefaultCaptureDevice == 1)
+ ShowControls(s.nCS);
+ if (GetPlaybackMode() == PM_CAPTURE && !s.fHideNavigation && s.iDefaultCaptureDevice == 1)
{
m_wndNavigationBar.m_navdlg.UpdateElementList();
m_wndNavigationBar.ShowControls(this, TRUE);
@@ -3045,8 +3054,8 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
for(int i = 1; pos; i <<= 1)
{
CControlBar* pNext = m_bars.GetNext(pos);
- CSize s = pNext->CalcFixedLayout(FALSE, TRUE);
- if(AfxGetAppSettings().nCS&i) r.top -= s.cy;
+ CSize size = pNext->CalcFixedLayout(FALSE, TRUE);
+ if(s.nCS&i) r.top -= size.cy;
}
@@ -3060,29 +3069,29 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
if(r.PtInRect(point))
{
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
- ShowControls(AfxGetAppSettings().nCS);
+ if(s.fShowBarsWhenFullScreen)
+ ShowControls(s.nCS);
}
else
{
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
+ if(s.fShowBarsWhenFullScreen)
ShowControls(CS_NONE, false);
}
// PM_CAPTURE: Left Navigation panel for switching channels
- if (GetPlaybackMode() == PM_CAPTURE && !AfxGetAppSettings().fHideNavigation && AfxGetAppSettings().iDefaultCaptureDevice == 1)
+ if (GetPlaybackMode() == PM_CAPTURE && !s.fHideNavigation && s.iDefaultCaptureDevice == 1)
{
CRect rLeft;
GetClientRect(rLeft);
rLeft.right = rLeft.left;
- CSize s = m_wndNavigationBar.CalcFixedLayout(FALSE, TRUE);
- rLeft.right += s.cx;
+ CSize size = m_wndNavigationBar.CalcFixedLayout(FALSE, TRUE);
+ rLeft.right += size.cx;
m_fHideCursor = false;
if(rLeft.PtInRect(point))
{
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
+ if(s.fShowBarsWhenFullScreen)
{
m_wndNavigationBar.m_navdlg.UpdateElementList();
m_wndNavigationBar.ShowControls(this, TRUE);
@@ -3090,7 +3099,7 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
}
else
{
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
+ if(s.fShowBarsWhenFullScreen)
m_wndNavigationBar.ShowControls(this, FALSE);
}
}
@@ -3100,8 +3109,8 @@ void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
else
{
m_fHideCursor = false;
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
- ShowControls(AfxGetAppSettings().nCS);
+ if(s.fShowBarsWhenFullScreen)
+ ShowControls(s.nCS);
SetTimer(TIMER_FULLSCREENCONTROLBARHIDER, nTimeOut*1000, NULL);
SetTimer(TIMER_FULLSCREENMOUSEHIDER, max(nTimeOut*1000, 2000), NULL);
@@ -3435,7 +3444,7 @@ void CMainFrame::OnUpdatePlayerStatus(CCmdUI* pCmdUI)
if(m_iMediaLoadState == MLS_LOADING)
{
pCmdUI->SetText(ResStr(IDS_CONTROLS_OPENING));
- if((AfxGetAppSettings().m_fUseWin7TaskBar) && (m_pTaskbarList)) m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
+ if((AfxGetAppSettings().fUseWin7TaskBar) && (m_pTaskbarList)) m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
}
else if(m_iMediaLoadState == MLS_LOADED)
{
@@ -3577,7 +3586,7 @@ void CMainFrame::OnUpdatePlayerStatus(CCmdUI* pCmdUI)
else if(m_iMediaLoadState == MLS_CLOSING)
{
pCmdUI->SetText(ResStr(IDS_CONTROLS_CLOSING));
- if((AfxGetAppSettings().m_fUseWin7TaskBar) && (m_pTaskbarList)) m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
+ if((AfxGetAppSettings().fUseWin7TaskBar) && (m_pTaskbarList)) m_pTaskbarList->SetProgressState(m_hWnd, TBPF_INDETERMINATE);
}
else
{
@@ -3613,6 +3622,7 @@ void CMainFrame::OnFilePostOpenmedia()
if(m_pCAP) m_pCAP->SetSubtitleDelay(0);
SetLoadState (MLS_LOADED);
+ AppSettings& s = AfxGetAppSettings();
// IMPORTANT: must not call any windowing msgs before
// this point, it will deadlock when OpenMediaPrivate is
@@ -3624,25 +3634,35 @@ void CMainFrame::OnFilePostOpenmedia()
wp.length = sizeof(wp);
GetWindowPlacement(&wp);
+ // Workaround to avoid MadVR freezing when switching channels in PM_CAPTURE mode:
+ if(IsWindowVisible() && s.fRememberZoomLevel
+ && !(m_fFullScreen || wp.showCmd == SW_SHOWMAXIMIZED || wp.showCmd == SW_SHOWMINIMIZED)
+ && GetPlaybackMode() == PM_CAPTURE && s.iDSVideoRendererType == VIDRNDT_DS_MADVR)
+ {
+ ShowWindow(SW_MAXIMIZE);
+ wp.showCmd = SW_SHOWMAXIMIZED;
+ }
+
+
// restore magnification
- if(IsWindowVisible() && AfxGetAppSettings().fRememberZoomLevel
+ if(IsWindowVisible() && s.fRememberZoomLevel
&& !(m_fFullScreen || wp.showCmd == SW_SHOWMAXIMIZED || wp.showCmd == SW_SHOWMINIMIZED))
{
- ZoomVideoWindow();
+ ZoomVideoWindow(false);
}
}
// Waffs : PnS command line
- if(!AfxGetAppSettings().sPnSPreset.IsEmpty())
+ if(!s.strPnSPreset.IsEmpty())
{
- for(int i = 0; i < AfxGetAppSettings().m_pnspresets.GetCount(); i++)
+ for(int i = 0; i < s.m_pnspresets.GetCount(); i++)
{
int j = 0;
- CString str = AfxGetAppSettings().m_pnspresets[i];
+ CString str = s.m_pnspresets[i];
CString label = str.Tokenize(_T(","), j);
- if(AfxGetAppSettings().sPnSPreset == label) OnViewPanNScanPresets(i+ID_PANNSCAN_PRESETS_START);
+ if(s.strPnSPreset == label) OnViewPanNScanPresets(i+ID_PANNSCAN_PRESETS_START);
}
- AfxGetAppSettings().sPnSPreset.Empty();
+ s.strPnSPreset.Empty();
}
SendNowPlayingToMSN();
SendNowPlayingTomIRC();
@@ -4063,7 +4083,7 @@ void CMainFrame::OnFileOpenQuick()
CString filter;
CAtlArray<CString> mask;
- AfxGetAppSettings().Formats.GetFilter(filter, mask);
+ AfxGetAppSettings().m_Formats.GetFilter(filter, mask);
COpenFileDlg fd(mask, true, NULL, NULL,
OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY,
filter, GetModalParent());
@@ -4209,10 +4229,10 @@ BOOL CMainFrame::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCDS)
bool fFound = false;
- POSITION pos2 = s.filters.GetHeadPosition();
+ POSITION pos2 = s.m_filters.GetHeadPosition();
while(pos2)
{
- FilterOverride* f2 = s.filters.GetNext(pos2);
+ FilterOverride* f2 = s.m_filters.GetNext(pos2);
if(f2->type == FilterOverride::EXTERNAL && !f2->path.CompareNoCase(f->path))
{
fFound = true;
@@ -4223,7 +4243,7 @@ BOOL CMainFrame::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCDS)
if(!fFound)
{
CAutoPtr<FilterOverride> p(f);
- s.filters.AddHead(p);
+ s.m_filters.AddHead(p);
}
}
}
@@ -4358,7 +4378,7 @@ int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lp, LPARAM pData)
{
case BFFM_INITIALIZED:
//Initial directory is set here
- SendMessage(hwnd, BFFM_SETSELECTION, TRUE,(LPARAM)(LPCTSTR)AfxGetAppSettings().sDVDPath);
+ SendMessage(hwnd, BFFM_SETSELECTION, TRUE,(LPARAM)(LPCTSTR)AfxGetAppSettings().strDVDPath);
break;
default:
break;
@@ -4382,9 +4402,9 @@ void CMainFrame::OnFileOpendvd()
if(p)
{
AppSettings& s = AfxGetAppSettings();
- if(s.fUseDVDPath && !s.sDVDPath.IsEmpty())
+ if(s.fUseDVDPath && !s.strDVDPath.IsEmpty())
{
- p->path = s.sDVDPath;
+ p->path = s.strDVDPath;
p->path.Replace('/', '\\');
if(p->path[p->path.GetLength()-1] != '\\') p->path += '\\';
}
@@ -4413,7 +4433,7 @@ void CMainFrame::OnFileOpendvd()
CString strPlaylistFile;
CAtlList<CHdmvClipInfo::PlaylistItem> MainPlaylist;
SHGetPathFromIDList(iil, path);
- s.sDVDPath = path;
+ s.strDVDPath = path;
if (SUCCEEDED (ClipInfo.FindMainMovie (path, strPlaylistFile, MainPlaylist)))
{
@@ -4908,11 +4928,11 @@ void CMainFrame::SaveThumbnails(LPCTSTR fn)
AppSettings& s = AfxGetAppSettings();
- int cols = max (1, min (8, s.ThumbCols)), rows = max(1, min (8, s.ThumbRows));
+ int cols = max (1, min (8, s.iThumbCols)), rows = max(1, min (8, s.iThumbRows));
int margin = 5;
int infoheight = 70;
- int width = max (256, min (2048, s.ThumbWidth));
+ int width = max (256, min (2048, s.iThumbWidth));
int height = width * video.cy / video.cx * rows / cols + infoheight;
int dibsize = sizeof(BITMAPINFOHEADER) + width*height*4;
@@ -5134,7 +5154,7 @@ static CString MakeSnapshotFileName(LPCTSTR prefix)
{
CTime t = CTime::GetCurrentTime();
CString fn;
- fn.Format(_T("%s_[%s]%s"), prefix, t.Format(_T("%Y.%m.%d_%H.%M.%S")), AfxGetAppSettings().SnapShotExt);
+ fn.Format(_T("%s_[%s]%s"), prefix, t.Format(_T("%Y.%m.%d_%H.%M.%S")), AfxGetAppSettings().strSnapShotExt);
return fn;
}
@@ -5212,7 +5232,7 @@ void CMainFrame::OnFileSaveImage()
return;
}
- CPath psrc(s.SnapShotPath);
+ CPath psrc(s.strSnapShotPath);
CStringW prefix = _T("snapshot");
if(GetPlaybackMode() == PM_FILE)
@@ -5226,31 +5246,31 @@ void CMainFrame::OnFileSaveImage()
prefix = _T("snapshot_dvd");
prefix.Format(_T("snapshot_dvd_%s"), GetVidPos());
}
- psrc.Combine(s.SnapShotPath, MakeSnapshotFileName(prefix));
+ psrc.Combine(s.strSnapShotPath, MakeSnapshotFileName(prefix));
CFileDialog fd(FALSE, 0, (LPCTSTR)psrc,
OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST,
_T("BMP - Windows Bitmap (*.bmp)|*.bmp|JPG - JPEG Image (*.jpg)|*.jpg|PNG - Portable Network Graphics (*.png)|*.png||"), GetModalParent(), 0);
- if(s.SnapShotExt == _T(".bmp")) fd.m_pOFN->nFilterIndex = 1;
- else if(s.SnapShotExt == _T(".jpg")) fd.m_pOFN->nFilterIndex = 2;
- else if(s.SnapShotExt == _T(".png")) fd.m_pOFN->nFilterIndex = 3;
+ if(s.strSnapShotExt == _T(".bmp")) fd.m_pOFN->nFilterIndex = 1;
+ else if(s.strSnapShotExt == _T(".jpg")) fd.m_pOFN->nFilterIndex = 2;
+ else if(s.strSnapShotExt == _T(".png")) fd.m_pOFN->nFilterIndex = 3;
if(fd.DoModal() != IDOK) return;
- if(fd.m_pOFN->nFilterIndex == 1) s.SnapShotExt = _T(".bmp");
- else if(fd.m_pOFN->nFilterIndex == 2) s.SnapShotExt = _T(".jpg");
+ if(fd.m_pOFN->nFilterIndex == 1) s.strSnapShotExt = _T(".bmp");
+ else if(fd.m_pOFN->nFilterIndex == 2) s.strSnapShotExt = _T(".jpg");
else
{
fd.m_pOFN->nFilterIndex = 3;
- s.SnapShotExt = _T(".png");
+ s.strSnapShotExt = _T(".png");
}
CPath pdst(fd.GetPathName());
- if(pdst.GetExtension().MakeLower() != s.SnapShotExt) pdst.RenameExtension(s.SnapShotExt);
+ if(pdst.GetExtension().MakeLower() != s.strSnapShotExt) pdst.RenameExtension(s.strSnapShotExt);
CString path = (LPCTSTR)pdst;
pdst.RemoveFileSpec();
- s.SnapShotPath = (LPCTSTR)pdst;
+ s.strSnapShotPath = (LPCTSTR)pdst;
SaveImage(path);
}
@@ -5278,7 +5298,7 @@ void CMainFrame::OnFileSaveImageAuto()
}
CString fn;
- fn.Format(_T("%s\\%s"), s.SnapShotPath, MakeSnapshotFileName(prefix));
+ fn.Format(_T("%s\\%s"), s.strSnapShotPath, MakeSnapshotFileName(prefix));
SaveImage(fn);
}
@@ -5298,7 +5318,7 @@ void CMainFrame::OnFileSaveThumbnails()
return;
}
- CPath psrc(s.SnapShotPath);
+ CPath psrc(s.strSnapShotPath);
CStringW prefix = _T("thumbs");
if(GetPlaybackMode() == PM_FILE)
{
@@ -5306,36 +5326,36 @@ void CMainFrame::OnFileSaveThumbnails()
path.StripPath();
prefix.Format(_T("%s_thumbs"), path);
}
- psrc.Combine(s.SnapShotPath, MakeSnapshotFileName(prefix));
+ psrc.Combine(s.strSnapShotPath, MakeSnapshotFileName(prefix));
CSaveThumbnailsDialog fd(
- s.ThumbRows, s.ThumbCols, s.ThumbWidth,
+ s.iThumbRows, s.iThumbCols, s.iThumbWidth,
0, (LPCTSTR)psrc,
_T("BMP - Windows Bitmap (*.bmp)|*.bmp|JPG - JPEG Image (*.jpg)|*.jpg|PNG - Portable Network Graphics (*.png)|*.png||"), GetModalParent());
- if(s.SnapShotExt == _T(".bmp")) fd.m_pOFN->nFilterIndex = 1;
- else if(s.SnapShotExt == _T(".jpg")) fd.m_pOFN->nFilterIndex = 2;
- else if(s.SnapShotExt == _T(".png")) fd.m_pOFN->nFilterIndex = 3;
+ if(s.strSnapShotExt == _T(".bmp")) fd.m_pOFN->nFilterIndex = 1;
+ else if(s.strSnapShotExt == _T(".jpg")) fd.m_pOFN->nFilterIndex = 2;
+ else if(s.strSnapShotExt == _T(".png")) fd.m_pOFN->nFilterIndex = 3;
if(fd.DoModal() != IDOK) return;
- if(fd.m_pOFN->nFilterIndex == 1) s.SnapShotExt = _T(".bmp");
- else if(fd.m_pOFN->nFilterIndex == 2) s.SnapShotExt = _T(".jpg");
+ if(fd.m_pOFN->nFilterIndex == 1) s.strSnapShotExt = _T(".bmp");
+ else if(fd.m_pOFN->nFilterIndex == 2) s.strSnapShotExt = _T(".jpg");
else
{
fd.m_pOFN->nFilterIndex = 3;
- s.SnapShotExt = _T(".png");
+ s.strSnapShotExt = _T(".png");
}
- s.ThumbRows = fd.m_rows;
- s.ThumbCols = fd.m_cols;
- s.ThumbWidth = fd.m_width;
+ s.iThumbRows = fd.m_rows;
+ s.iThumbCols = fd.m_cols;
+ s.iThumbWidth = fd.m_width;
CPath pdst(fd.GetPathName());
- if(pdst.GetExtension().MakeLower() != s.SnapShotExt) pdst.RenameExtension(s.SnapShotExt);
+ if(pdst.GetExtension().MakeLower() != s.strSnapShotExt) pdst.RenameExtension(s.strSnapShotExt);
CString path = (LPCTSTR)pdst;
pdst.RemoveFileSpec();
- s.SnapShotPath = (LPCTSTR)pdst;
+ s.strSnapShotPath = (LPCTSTR)pdst;
SaveThumbnails(path);
}
@@ -5475,7 +5495,7 @@ void CMainFrame::OnUpdateFileSavesubtitle(CCmdUI* pCmdUI)
void CMainFrame::OnFileISDBSearch()
{
- CStringA url = "http://" + AfxGetAppSettings().ISDb + "/index.php?";
+ CStringA url = "http://" + AfxGetAppSettings().strISDb + "/index.php?";
CStringA args = makeargs(m_wndPlaylistBar.m_pl);
ShellExecute(m_hWnd, _T("open"), CString(url+args), NULL, NULL, SW_SHOWDEFAULT);
}
@@ -5487,7 +5507,7 @@ void CMainFrame::OnUpdateFileISDBSearch(CCmdUI *pCmdUI)
void CMainFrame::OnFileISDBUpload()
{
- CStringA url = "http://" + AfxGetAppSettings().ISDb + "/ul.php?";
+ CStringA url = "http://" + AfxGetAppSettings().strISDb + "/ul.php?";
CStringA args = makeargs(m_wndPlaylistBar.m_pl);
ShellExecute(m_hWnd, _T("open"), CString(url+args), NULL, NULL, SW_SHOWDEFAULT);
}
@@ -5499,6 +5519,7 @@ void CMainFrame::OnUpdateFileISDBUpload(CCmdUI *pCmdUI)
void CMainFrame::OnFileISDBDownload()
{
+ AppSettings& s = AfxGetAppSettings();
filehash fh;
if(!::hash((CString)m_wndPlaylistBar.GetCurFileName(), fh))
{
@@ -5508,7 +5529,7 @@ void CMainFrame::OnFileISDBDownload()
// TODO: put this on a worker thread
- CStringA url = "http://" + AfxGetAppSettings().ISDb + "/index.php?";
+ CStringA url = "http://" + s.strISDb + "/index.php?";
CStringA args;
args.Format("player=mpc&name[0]=%s&size[0]=%016I64x&hash[0]=%016I64x",
UrlEncode(CStringA(fh.name)), fh.size, fh.hash);
@@ -5527,7 +5548,7 @@ void CMainFrame::OnFileISDBDownload()
CStringA ticket;
CList<isdb_movie> movies;
isdb_movie m;
- isdb_subtitle s;
+ isdb_subtitle sub;
CAtlList<CStringA> sl;
Explode(str, sl, '\n');
@@ -5548,20 +5569,20 @@ void CMainFrame::OnFileISDBDownload()
}
else if(param == "subtitle")
{
- s.reset();
- s.id = atoi(value);
- }
- else if(param == "name") s.name = value;
- else if(param == "discs") s.discs = atoi(value);
- else if(param == "disc_no") s.disc_no = atoi(value);
- else if(param == "format") s.format = value;
- else if(param == "iso639_2") s.iso639_2 = value;
- else if(param == "language") s.language = value;
- else if(param == "nick") s.nick = value;
- else if(param == "email") s.email = value;
+ sub.reset();
+ sub.id = atoi(value);
+ }
+ else if(param == "name") sub.name = value;
+ else if(param == "discs") sub.discs = atoi(value);
+ else if(param == "disc_no") sub.disc_no = atoi(value);
+ else if(param == "format") sub.format = value;
+ else if(param == "iso639_2") sub.iso639_2 = value;
+ else if(param == "language") sub.language = value;
+ else if(param == "nick") sub.nick = value;
+ else if(param == "email") sub.email = value;
else if(param == "" && value == "endsubtitle")
{
- m.subs.AddTail(s);
+ m.subs.AddTail(sub);
}
else if(param == "" && value == "endmovie")
{
@@ -5581,16 +5602,16 @@ void CMainFrame::OnFileISDBDownload()
POSITION pos = dlg.m_selsubs.GetHeadPosition();
while(pos)
{
- isdb_subtitle& s = dlg.m_selsubs.GetNext(pos);
+ isdb_subtitle& sub = dlg.m_selsubs.GetNext(pos);
- CStringA url = "http://" + AfxGetAppSettings().ISDb + "/dl.php?";
+ CStringA url = "http://" + s.strISDb + "/dl.php?";
CStringA args;
- args.Format("id=%d&ticket=%s", s.id, UrlEncode(ticket));
+ args.Format("id=%d&ticket=%s", sub.id, UrlEncode(ticket));
if(OpenUrl(is, CString(url+args), str))
{
- CAutoPtr<CRenderedTextSubtitle> pRTS(DNew CRenderedTextSubtitle(&m_csSubLock, &AfxGetAppSettings().subdefstyle, AfxGetAppSettings().fUseDefaultSubtitlesStyle));
- if(pRTS && pRTS->Open((BYTE*)(LPCSTR)str, str.GetLength(), DEFAULT_CHARSET, CString(s.name)) && pRTS->GetStreamCount() > 0)
+ CAutoPtr<CRenderedTextSubtitle> pRTS(DNew CRenderedTextSubtitle(&m_csSubLock, &s.subdefstyle, s.fUseDefaultSubtitlesStyle));
+ if(pRTS && pRTS->Open((BYTE*)(LPCSTR)str, str.GetLength(), DEFAULT_CHARSET, CString(sub.name)) && pRTS->GetStreamCount() > 0)
{
CComPtr<ISubStream> pSubStream = pRTS.Detach();
m_pSubStreams.AddTail(pSubStream);
@@ -6015,7 +6036,7 @@ void CMainFrame::OnViewVSync()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9VSync = !s.m_RenderSettings.iVMR9VSync;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"VSync: %s", s.m_RenderSettings.iVMR9VSync? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6025,7 +6046,7 @@ void CMainFrame::OnViewVSyncAccurate()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9VSyncAccurate = !s.m_RenderSettings.iVMR9VSyncAccurate;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Accurate VSync: %s", s.m_RenderSettings.iVMR9VSyncAccurate? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6044,7 +6065,7 @@ void CMainFrame::OnViewSynchronizeVideo()
s.m_RenderSettings.fVMR9AlterativeVSync = false;
}
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Synchronize Video to Display: %s", s.m_RenderSettings.bSynchronizeVideo? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6063,7 +6084,7 @@ void CMainFrame::OnViewSynchronizeDisplay()
s.m_RenderSettings.fVMR9AlterativeVSync = false;
}
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Synchronize Display to Video: %s", s.m_RenderSettings.bSynchronizeDisplay? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6082,7 +6103,7 @@ void CMainFrame::OnViewSynchronizeNearest()
s.m_RenderSettings.fVMR9AlterativeVSync = false;
}
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Present at Nearest VSync: %s", s.m_RenderSettings.bSynchronizeNearest? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6092,7 +6113,7 @@ void CMainFrame::OnViewColorManagementEnable()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementEnable = !s.m_RenderSettings.iVMR9ColorManagementEnable;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Color Management: %s", s.m_RenderSettings.iVMR9ColorManagementEnable? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6102,7 +6123,7 @@ void CMainFrame::OnViewColorManagementInputAuto()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementInput = VIDEO_SYSTEM_UNKNOWN;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Input Type: Auto-Detect");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6112,7 +6133,7 @@ void CMainFrame::OnViewColorManagementInputHDTV()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementInput = VIDEO_SYSTEM_HDTV;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Input Type: HDTV");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6122,7 +6143,7 @@ void CMainFrame::OnViewColorManagementInputSDTV_NTSC()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementInput = VIDEO_SYSTEM_SDTV_NTSC;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Input Type: SDTV NTSC");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6132,7 +6153,7 @@ void CMainFrame::OnViewColorManagementInputSDTV_PAL()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementInput = VIDEO_SYSTEM_SDTV_PAL;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Input Type: SDTV PAL");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6142,7 +6163,7 @@ void CMainFrame::OnViewColorManagementAmbientLightBright()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementAmbientLight = AMBIENT_LIGHT_BRIGHT;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Ambient Light: Bright (2.2 Gamma)");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6152,7 +6173,7 @@ void CMainFrame::OnViewColorManagementAmbientLightDim()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementAmbientLight = AMBIENT_LIGHT_DIM;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Ambient Light: Dim (2.35 Gamma)");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6162,7 +6183,7 @@ void CMainFrame::OnViewColorManagementAmbientLightDark()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementAmbientLight = AMBIENT_LIGHT_DARK;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Ambient Light: Dark (2.4 Gamma)");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6172,7 +6193,7 @@ void CMainFrame::OnViewColorManagementIntentPerceptual()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementIntent = COLOR_RENDERING_INTENT_PERCEPTUAL;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Rendering Intent: Perceptual");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6182,7 +6203,7 @@ void CMainFrame::OnViewColorManagementIntentRelativeColorimetric()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementIntent = COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Rendering Intent: Relative Colorimetric");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6192,7 +6213,7 @@ void CMainFrame::OnViewColorManagementIntentSaturation()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementIntent = COLOR_RENDERING_INTENT_SATURATION;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Rendering Intent: Saturation");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6202,7 +6223,7 @@ void CMainFrame::OnViewColorManagementIntentAbsoluteColorimetric()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9ColorManagementIntent = COLOR_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Rendering Intent: Absolute Colorimetric");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6212,7 +6233,7 @@ void CMainFrame::OnViewEVROutputRange_0_255()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iEVROutputRange = 0;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Output Range: 0 - 255");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6222,7 +6243,7 @@ void CMainFrame::OnViewEVROutputRange_16_235()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iEVROutputRange = 1;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Output Range: 16 - 235");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6232,7 +6253,7 @@ void CMainFrame::OnViewFlushGPUBeforeVSync()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMRFlushGPUBeforeVSync = !s.m_RenderSettings.iVMRFlushGPUBeforeVSync;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Flush GPU before VSync: %s", s.m_RenderSettings.iVMRFlushGPUBeforeVSync? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6242,7 +6263,7 @@ void CMainFrame::OnViewFlushGPUAfterVSync()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMRFlushGPUAfterPresent = !s.m_RenderSettings.iVMRFlushGPUAfterPresent;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Flush GPU after Present: %s", s.m_RenderSettings.iVMRFlushGPUAfterPresent? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6252,7 +6273,7 @@ void CMainFrame::OnViewFlushGPUWait()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMRFlushGPUWait = !s.m_RenderSettings.iVMRFlushGPUWait;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Wait for GPU Flush: %s", s.m_RenderSettings.iVMRFlushGPUWait? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6262,7 +6283,7 @@ void CMainFrame::OnViewD3DFullScreen()
{
AppSettings& s = AfxGetAppSettings();
s.fD3DFullscreen = !s.fD3DFullscreen;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"D3D Fullscreen (Requires restart): %s", s.fD3DFullscreen? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6272,7 +6293,7 @@ void CMainFrame::OnViewDisableDesktopComposition()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMRDisableDesktopComposition = !s.m_RenderSettings.iVMRDisableDesktopComposition;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Disable desktop composition: %s", s.m_RenderSettings.iVMRDisableDesktopComposition? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6282,7 +6303,7 @@ void CMainFrame::OnViewAlternativeVSync()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.fVMR9AlterativeVSync = !s.m_RenderSettings.fVMR9AlterativeVSync;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Alternative VSync: %s", s.m_RenderSettings.fVMR9AlterativeVSync? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6292,7 +6313,7 @@ void CMainFrame::OnViewResetDefault()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.SetDefault();
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Renderer settings reset to default");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6302,7 +6323,7 @@ void CMainFrame::OnViewResetOptimal()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.SetOptimal();
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Renderer settings reset to optimal");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6312,7 +6333,7 @@ void CMainFrame::OnViewFullscreenGUISupport()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9FullscreenGUISupport = !s.m_RenderSettings.iVMR9FullscreenGUISupport;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"D3D Fullscreen GUI Support: %s", s.m_RenderSettings.iVMR9FullscreenGUISupport? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6322,7 +6343,7 @@ void CMainFrame::OnViewHighColorResolution()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iEVRHighColorResolution = !s.m_RenderSettings.iEVRHighColorResolution;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"10-bit RGB Output: %s", s.m_RenderSettings.iEVRHighColorResolution? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6332,7 +6353,7 @@ void CMainFrame::OnViewForceInputHighColorResolution()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iEVRForceInputHighColorResolution = !s.m_RenderSettings.iEVRForceInputHighColorResolution;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Force 10-bit RGB Input: %s", s.m_RenderSettings.iEVRForceInputHighColorResolution? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6342,7 +6363,7 @@ void CMainFrame::OnViewFullFloatingPointProcessing()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iVMR9FullFloatingPointProcessing = !s.m_RenderSettings.iVMR9FullFloatingPointProcessing;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Full Floating Point Processing: %s", s.m_RenderSettings.iVMR9FullFloatingPointProcessing? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6352,7 +6373,7 @@ void CMainFrame::OnViewEnableFrameTimeCorrection()
{
CRenderersSettings& s = AfxGetAppSettings().m_RenderersSettings;
s.m_RenderSettings.iEVREnableFrameTimeCorrection = !s.m_RenderSettings.iEVREnableFrameTimeCorrection;
- AfxGetAppSettings().UpdateData(true);
+ s.UpdateData(true);
CString Format;
Format.Format(L"Frame Time Correction: %s", s.m_RenderSettings.iEVREnableFrameTimeCorrection? L"On":L"Off");
m_OSD.DisplayMessage (OSD_TOPRIGHT, Format);
@@ -6373,7 +6394,7 @@ void CMainFrame::OnViewVSyncOffsetIncrease()
++r.m_RenderSettings.iVMR9VSyncOffset;
Format.Format(L"VSync Offset: %d", r.m_RenderSettings.iVMR9VSyncOffset);
}
- AfxGetAppSettings().UpdateData(true);
+ r.UpdateData(true);
m_OSD.DisplayMessage(OSD_TOPRIGHT, Format);
}
@@ -6392,7 +6413,7 @@ void CMainFrame::OnViewVSyncOffsetDecrease()
--r.m_RenderSettings.iVMR9VSyncOffset;
Format.Format(L"VSync Offset: %d", r.m_RenderSettings.iVMR9VSyncOffset);
}
- AfxGetAppSettings().UpdateData(true);
+ r.UpdateData(true);
m_OSD.DisplayMessage(OSD_TOPRIGHT, Format);
}
@@ -6484,34 +6505,39 @@ void CMainFrame::OnUpdateFileClose(CCmdUI* pCmdUI)
void CMainFrame::OnViewCaptionmenu()
{
- bool fHideCaptionMenu = AfxGetAppSettings().fHideCaptionMenu;
-
- AfxGetAppSettings().fHideCaptionMenu = !fHideCaptionMenu;
+ AppSettings& s = AfxGetAppSettings();
+ s.iCaptionMenuMode++;
+ s.iCaptionMenuMode %= MODE_COUNT; // three states: normal->borderless->frame only->
if ( m_fFullScreen )
return;
DWORD dwRemove = 0, dwAdd = 0;
- HMENU hMenu;
+ HMENU hMenu = NULL;
CRect wr;
GetWindowRect( &wr );
- if ( !fHideCaptionMenu )
+ switch(s.iCaptionMenuMode)
{
- dwRemove = WS_CAPTION | WS_THICKFRAME; // leave the window borderless
- hMenu = NULL;
+ 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 ));
- }
- else
- {
- dwAdd = WS_CAPTION | WS_THICKFRAME;
+ break;
+
+ case MODE_SHOWCAPTIONMENU: // frameonly -> normal
+ dwAdd = WS_CAPTION;
hMenu = m_hMenuDefault;
+ wr.bottom += (GetSystemMetrics( SM_CYCAPTION ) + GetSystemMetrics( SM_CYMENU ));
+ break;
+
+ case MODE_FRAMEONLY: // borderless -> frameonly
+ dwAdd = WS_THICKFRAME;
wr.right += (GetSystemMetrics( SM_CXSIZEFRAME ) * 2);
wr.bottom += (GetSystemMetrics( SM_CYSIZEFRAME ) * 2);
- wr.bottom += (GetSystemMetrics( SM_CYCAPTION ) + GetSystemMetrics( SM_CYMENU ));
+ break;
}
ModifyStyle(dwRemove, dwAdd, SWP_NOZORDER);
@@ -6524,10 +6550,11 @@ void CMainFrame::OnViewCaptionmenu()
void CMainFrame::OnUpdateViewCaptionmenu(CCmdUI* pCmdUI)
{
- pCmdUI->SetCheck(!AfxGetAppSettings().fHideCaptionMenu);
+ static int NEXT_MODE[] = {IDS_VIEW_CAPTIONMENU_NONE, IDS_VIEW_CAPTIONMENU_FRAME, IDS_VIEW_CAPTIONMENU_SHOW};
+ int idx = (AfxGetAppSettings().iCaptionMenuMode %= MODE_COUNT);
+ pCmdUI->SetText(ResStr(NEXT_MODE[idx]));
}
-
void CMainFrame::OnViewControlBar(UINT nID)
{
nID -= ID_VIEW_SEEKER;
@@ -6676,7 +6703,7 @@ void CMainFrame::OnUpdateViewShaderEditor(CCmdUI* pCmdUI)
void CMainFrame::OnViewMinimal()
{
- if(!AfxGetAppSettings().fHideCaptionMenu)
+ while(AfxGetAppSettings().iCaptionMenuMode!=MODE_BORDERLESS)
SendMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU);
ShowControls(CS_NONE);
}
@@ -6687,7 +6714,7 @@ void CMainFrame::OnUpdateViewMinimal(CCmdUI* pCmdUI)
void CMainFrame::OnViewCompact()
{
- if(AfxGetAppSettings().fHideCaptionMenu)
+ while(AfxGetAppSettings().iCaptionMenuMode!=MODE_FRAMEONLY)
SendMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU);
ShowControls(CS_TOOLBAR);
}
@@ -6698,7 +6725,7 @@ void CMainFrame::OnUpdateViewCompact(CCmdUI* pCmdUI)
void CMainFrame::OnViewNormal()
{
- if(AfxGetAppSettings().fHideCaptionMenu)
+ while(AfxGetAppSettings().iCaptionMenuMode!=MODE_SHOWCAPTIONMENU)
SendMessage(WM_COMMAND, ID_VIEW_CAPTIONMENU);
ShowControls(CS_SEEKBAR|CS_TOOLBAR|CS_STATUSBAR|CS_INFOBAR);
}
@@ -6725,7 +6752,7 @@ void CMainFrame::OnUpdateViewFullscreen(CCmdUI* pCmdUI)
void CMainFrame::OnViewZoom(UINT nID)
{
- ZoomVideoWindow(nID == ID_VIEW_ZOOM_50 ? 0.5 : nID == ID_VIEW_ZOOM_200 ? 2.0 : 1.0);
+ ZoomVideoWindow(true, nID == ID_VIEW_ZOOM_50 ? 0.5 : nID == ID_VIEW_ZOOM_200 ? 2.0 : 1.0);
}
void CMainFrame::OnUpdateViewZoom(CCmdUI* pCmdUI)
@@ -6735,7 +6762,7 @@ void CMainFrame::OnUpdateViewZoom(CCmdUI* pCmdUI)
void CMainFrame::OnViewZoomAutoFit()
{
- ZoomVideoWindow(GetZoomAutoFitScale());
+ ZoomVideoWindow(true, GetZoomAutoFitScale());
}
void CMainFrame::OnViewDefaultVideoFrame(UINT nID)
@@ -7011,7 +7038,7 @@ const static SIZE s_ar[] = {{0,0}, {4,3}, {5,4}, {16,9}, {235,100}, {185,100}};
void CMainFrame::OnViewAspectRatio(UINT nID)
{
- CSize& ar = AfxGetAppSettings().AspectRatio;
+ CSize& ar = AfxGetAppSettings().sizeAspectRatio;
ar = s_ar[nID - ID_ASPECTRATIO_START];
@@ -7027,13 +7054,13 @@ void CMainFrame::OnViewAspectRatio(UINT nID)
void CMainFrame::OnUpdateViewAspectRatio(CCmdUI* pCmdUI)
{
- pCmdUI->SetRadio(AfxGetAppSettings().AspectRatio == s_ar[pCmdUI->m_nID - ID_ASPECTRATIO_START]);
+ pCmdUI->SetRadio(AfxGetAppSettings().sizeAspectRatio == s_ar[pCmdUI->m_nID - ID_ASPECTRATIO_START]);
pCmdUI->Enable(m_iMediaLoadState == MLS_LOADED && !m_fAudioOnly);
}
void CMainFrame::OnViewAspectRatioNext()
{
- CSize& ar = AfxGetAppSettings().AspectRatio;
+ CSize& ar = AfxGetAppSettings().sizeAspectRatio;
UINT nID = ID_ASPECTRATIO_START;
@@ -7108,7 +7135,7 @@ void CMainFrame::OnPlayPlay()
CComQIPtr<IBDATuner> pTun = pGB;
if (pTun)
{
- pTun->SetChannel (AfxGetAppSettings().DVBLastChannel);
+ pTun->SetChannel (AfxGetAppSettings().nDVBLastChannel);
DisplayCurrentChannelOSD();
}
}
@@ -8154,7 +8181,7 @@ void CMainFrame::OnPlayVolumeBoost(UINT nID)
{
AppSettings& s = AfxGetAppSettings();
- int i = (int)(50.0f*log10(s.AudioBoost));
+ int i = (int)(50.0f*log10(s.dAudioBoost));
switch(nID)
{
@@ -8172,14 +8199,14 @@ void CMainFrame::OnPlayVolumeBoost(UINT nID)
break;
}
- s.AudioBoost = pow(10.0f, (float)i/50);
+ s.dAudioBoost = pow(10.0f, (float)i/50);
if(CComQIPtr<IAudioSwitcherFilter> pASF = FindFilter(__uuidof(CAudioSwitcherFilter), pGB))
{
bool fNormalize, fNormalizeRecover;
float boost;
pASF->GetNormalizeBoost(fNormalize, fNormalizeRecover, boost);
- pASF->SetNormalizeBoost(fNormalize, fNormalizeRecover, s.AudioBoost);
+ pASF->SetNormalizeBoost(fNormalize, fNormalizeRecover, s.dAudioBoost);
}
}
@@ -8197,16 +8224,16 @@ void CMainFrame::OnAfterplayback(UINT nID)
switch(nID)
{
case ID_AFTERPLAYBACK_NEXT :
- s.m_fNextInDirAfterPlayback = true;
- s.m_fExitAfterPlayback = false;
+ s.fNextInDirAfterPlayback = true;
+ s.fExitAfterPlayback = false;
break;
case ID_AFTERPLAYBACK_EXIT :
- s.m_fExitAfterPlayback = true;
- s.m_fNextInDirAfterPlayback = false;
+ s.fExitAfterPlayback = true;
+ s.fNextInDirAfterPlayback = false;
break;
case ID_AFTERPLAYBACK_DONOTHING:
- s.m_fExitAfterPlayback = false;
- s.m_fNextInDirAfterPlayback = false;
+ s.fExitAfterPlayback = false;
+ s.fNextInDirAfterPlayback = false;
break;
case ID_AFTERPLAYBACK_CLOSE:
s.nCLSwitches |= CLSW_CLOSE;
@@ -8235,10 +8262,10 @@ void CMainFrame::OnUpdateAfterplayback(CCmdUI* pCmdUI)
switch(pCmdUI->m_nID)
{
case ID_AFTERPLAYBACK_EXIT:
- fChecked = !!s.m_fExitAfterPlayback;
+ fChecked = !!s.fExitAfterPlayback;
break;
case ID_AFTERPLAYBACK_NEXT:
- fChecked = !!s.m_fNextInDirAfterPlayback;
+ fChecked = !!s.fNextInDirAfterPlayback;
break;
case ID_AFTERPLAYBACK_CLOSE:
fChecked = !!(s.nCLSwitches & CLSW_CLOSE);
@@ -8256,7 +8283,7 @@ void CMainFrame::OnUpdateAfterplayback(CCmdUI* pCmdUI)
fChecked = !!(s.nCLSwitches & CLSW_LOGOFF);
break;
case ID_AFTERPLAYBACK_DONOTHING:
- fChecked = (!s.m_fExitAfterPlayback) && (!s.m_fNextInDirAfterPlayback);
+ fChecked = (!s.fExitAfterPlayback) && (!s.fNextInDirAfterPlayback);
break;
}
@@ -8313,7 +8340,7 @@ void CMainFrame::OnNavigateSkip(UINT nID)
else if(nID == ID_NAVIGATE_SKIPFORWARD)
SendMessage(WM_COMMAND, ID_NAVIGATE_SKIPFORWARDPLITEM);
}
- else if ((m_wndPlaylistBar.GetCount() == 1) && !AfxGetAppSettings().m_fDontUseSearchInFolder)
+ else if ((m_wndPlaylistBar.GetCount() == 1) && !AfxGetAppSettings().fDontUseSearchInFolder)
{
if(nID == ID_NAVIGATE_SKIPBACK)
{
@@ -8414,7 +8441,7 @@ void CMainFrame::OnNavigateSkip(UINT nID)
int nCurrentChannel;
AppSettings& s = AfxGetAppSettings();
- nCurrentChannel = s.DVBLastChannel;
+ nCurrentChannel = s.nDVBLastChannel;
if(nID == ID_NAVIGATE_SKIPBACK)
{
@@ -8446,8 +8473,8 @@ void CMainFrame::OnUpdateNavigateSkip(CCmdUI* pCmdUI)
&& ((GetPlaybackMode() == PM_DVD
&& m_iDVDDomain != DVD_DOMAIN_VideoManagerMenu
&& m_iDVDDomain != DVD_DOMAIN_VideoTitleSetMenu)
- || (GetPlaybackMode() == PM_FILE && !AfxGetAppSettings().m_fDontUseSearchInFolder)
- || (GetPlaybackMode() == PM_FILE && AfxGetAppSettings().m_fDontUseSearchInFolder && (m_wndPlaylistBar.GetCount() > 1 || m_pCB->ChapGetCount() > 1))
+ || (GetPlaybackMode() == PM_FILE && !AfxGetAppSettings().fDontUseSearchInFolder)
+ || (GetPlaybackMode() == PM_FILE && AfxGetAppSettings().fDontUseSearchInFolder && (m_wndPlaylistBar.GetCount() > 1 || m_pCB->ChapGetCount() > 1))
|| (GetPlaybackMode() == PM_CAPTURE && !m_fCapturing)));
}
@@ -8648,15 +8675,20 @@ void CMainFrame::OnNavigateChapters(UINT nID)
}
else if(GetPlaybackMode() == PM_CAPTURE)
{
- if (AfxGetAppSettings().iDefaultCaptureDevice == 1)
+ AppSettings& s = AfxGetAppSettings();
+
+ if (s.iDefaultCaptureDevice == 1)
{
CComQIPtr<IBDATuner> pTun = pGB;
if (pTun)
{
- pTun->SetChannel (nID);
- DisplayCurrentChannelOSD();
- if (m_wndNavigationBar.IsVisible())
- m_wndNavigationBar.m_navdlg.UpdatePos(nID);
+ if (s.nDVBLastChannel != nID)
+ {
+ pTun->SetChannel (nID);
+ DisplayCurrentChannelOSD();
+ if (m_wndNavigationBar.IsVisible())
+ m_wndNavigationBar.m_navdlg.UpdatePos(nID);
+ }
}
}
}
@@ -9196,7 +9228,7 @@ void CMainFrame::OnUpdateFavoritesDevice(CCmdUI* pCmdUI)
void CMainFrame::OnHelpHomepage()
{
- ShellExecute(m_hWnd, _T("open"), _T("http://mpc-hc.sourceforge.net/about-homepage.html"), NULL, NULL, SW_SHOWDEFAULT);
+ ShellExecute(m_hWnd, _T("open"), _T("http://mpc-hc.sourceforge.net/"), NULL, NULL, SW_SHOWDEFAULT);
}
void CMainFrame::OnHelpDocumentation()
@@ -9227,8 +9259,8 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor)
if(s.HasFixedWindowSize())
{
- w = s.fixedWindowSize.cx;
- h = s.fixedWindowSize.cy;
+ w = s.sizeFixedWindow.cx;
+ h = s.sizeFixedWindow.cy;
}
else if(s.fRememberWindowSize)
{
@@ -9285,7 +9317,7 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor)
y = (mi.rcWork.top+mi.rcWork.bottom-h)/2; // no need to call CenterWindow()
}
- UINT lastWindowType = s.lastWindowType;
+ UINT lastWindowType = s.nLastWindowType;
MoveWindow(x, y, w, h);
// Waffs : fullscreen command line
@@ -9308,12 +9340,16 @@ void CMainFrame::SetDefaultWindowRect(int iMonitor)
if (!m_fFullScreen && s.fLastFullScreen) ToggleFullscreen(true, true);
}
- if(s.fHideCaptionMenu)
+ if(s.iCaptionMenuMode!=MODE_SHOWCAPTIONMENU)
{
- ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_NOZORDER);
+ DWORD dwRemove = WS_CAPTION;
+ if(s.iCaptionMenuMode == MODE_BORDERLESS) dwRemove |= WS_THICKFRAME;
+ ModifyStyle(dwRemove, 0, SWP_NOZORDER);
::SetMenu(m_hWnd, NULL);
SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED|SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER);
}
+
+ if(!s.fRememberWindowPos) CenterWindow();
}
void CMainFrame::RestoreDefaultWindowRect()
@@ -9330,8 +9366,8 @@ void CMainFrame::RestoreDefaultWindowRect()
if(s.HasFixedWindowSize())
{
- w = s.fixedWindowSize.cx;
- h = s.fixedWindowSize.cy;
+ w = s.sizeFixedWindow.cx;
+ h = s.sizeFixedWindow.cy;
}
else
{
@@ -9371,6 +9407,8 @@ void CMainFrame::RestoreDefaultWindowRect()
}
MoveWindow(x, y, w, h);
+
+ if(!s.fRememberWindowPos) CenterWindow();
}
}
@@ -9428,7 +9466,7 @@ CSize CMainFrame::GetVideoSize()
if(GetPlaybackMode() == PM_DVD && SUCCEEDED(pDVDI->GetCurrentVideoAttributes(&VATR)))
arxy.SetSize(VATR.ulAspectX, VATR.ulAspectY);
- CSize& ar = AfxGetAppSettings().AspectRatio;
+ CSize& ar = AfxGetAppSettings().sizeAspectRatio;
if(ar.cx && ar.cy) arxy = ar;
ret = (!fKeepAspectRatio || arxy.cx <= 0 || arxy.cy <= 0)
@@ -9482,12 +9520,12 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
if((AfxGetApp()->GetProfileInt(IDS_R_SETTINGS, _T("HidePlaylistFullScreen"), FALSE)) && (m_PlayListBarVisible)) ShowControlBar(&m_wndPlaylistBar, !m_PlayListBarVisible, TRUE);
if(!m_fFirstFSAfterLaunchOnFS) GetWindowRect(&m_lastWindowRect);
- if(AfxGetAppSettings().AutoChangeFullscrRes.bEnabled && fSwitchScreenResWhenHasTo && (GetPlaybackMode() != PM_NONE)) AutoChangeMonitorMode();
+ if(s.AutoChangeFullscrRes.bEnabled && fSwitchScreenResWhenHasTo && (GetPlaybackMode() != PM_NONE)) AutoChangeMonitorMode();
m_LastWindow_HM = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
CString str;
CMonitor monitor;
- if(s.f_hmonitor == _T("Current"))
+ if(s.strFullScreenMonitor == _T("Current"))
{
hm = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
}
@@ -9497,9 +9535,9 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
{
monitor = monitors.GetMonitor( i );
monitor.GetName(str);
- if((monitor.IsMonitor()) && (s.f_hmonitor == str))
+ if((monitor.IsMonitor()) && (s.strFullScreenMonitor == str))
{
- hm = monitor.operator HMONITOR();
+ hm = monitor;
break;
}
}
@@ -9514,12 +9552,12 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
}
else
{
- if(AfxGetAppSettings().AutoChangeFullscrRes.bEnabled && AfxGetAppSettings().AutoChangeFullscrRes.bApplyDefault)
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenResOther, s.f_hmonitor);
+ if(s.AutoChangeFullscrRes.bEnabled && s.AutoChangeFullscrRes.bApplyDefault)
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenResOther, s.strFullScreenMonitor);
- dwAdd = (AfxGetAppSettings().fHideCaptionMenu ? 0 : WS_CAPTION | WS_THICKFRAME);
+ dwAdd = (s.iCaptionMenuMode==MODE_BORDERLESS ? 0 : s.iCaptionMenuMode==MODE_FRAMEONLY? WS_THICKFRAME: WS_CAPTION | WS_THICKFRAME);
if (!m_fFirstFSAfterLaunchOnFS) r = m_lastWindowRect;
- hMenu = AfxGetAppSettings().fHideCaptionMenu ? NULL : m_hMenuDefault;
+ hMenu = (s.iCaptionMenuMode==MODE_SHOWCAPTIONMENU) ? m_hMenuDefault: NULL;
if(AfxGetApp()->GetProfileInt(IDS_R_SETTINGS, _T("HidePlaylistFullScreen"), FALSE)) ShowControlBar(&m_wndPlaylistBar, m_PlayListBarVisible, TRUE);
}
@@ -9532,7 +9570,7 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
m_fFullScreen = !m_fFullScreen;
s.fLastFullScreen = m_fFullScreen;
- SetAlwaysOnTop(AfxGetAppSettings().iOnTop);
+ SetAlwaysOnTop(s.iOnTop);
ModifyStyle(dwRemove, dwAdd, SWP_NOZORDER);
ModifyStyleEx(dwRemoveEx, dwAddEx, SWP_NOZORDER);
@@ -9566,9 +9604,9 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
if(m_fFullScreen)
{
m_fHideCursor = true;
- if(AfxGetAppSettings().fShowBarsWhenFullScreen)
+ if(s.fShowBarsWhenFullScreen)
{
- int nTimeOut = AfxGetAppSettings().nShowBarsWhenFullScreenTimeOut;
+ int nTimeOut = s.nShowBarsWhenFullScreenTimeOut;
if(nTimeOut == 0)
{
ShowControls(CS_NONE, false);
@@ -9586,7 +9624,7 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
ShowControlBar(&m_wndNavigationBar, false, TRUE);
}
- if(s.m_fPreventMinimize)
+ if(s.fPreventMinimize)
{
if(hm != hm_cur) ModifyStyle(WS_MINIMIZEBOX, 0, SWP_NOZORDER);
}
@@ -9597,9 +9635,9 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
KillTimer(TIMER_FULLSCREENCONTROLBARHIDER);
KillTimer(TIMER_FULLSCREENMOUSEHIDER);
m_fHideCursor = false;
- ShowControls(AfxGetAppSettings().nCS);
- if (GetPlaybackMode() == PM_CAPTURE && AfxGetAppSettings().iDefaultCaptureDevice == 1)
- ShowControlBar(&m_wndNavigationBar, !AfxGetAppSettings().fHideNavigation, TRUE);
+ ShowControls(s.nCS);
+ if (GetPlaybackMode() == PM_CAPTURE && s.iDefaultCaptureDevice == 1)
+ ShowControlBar(&m_wndNavigationBar, !s.fHideNavigation, TRUE);
}
m_fAudioOnly = fAudioOnly;
@@ -9660,7 +9698,8 @@ void CMainFrame::ToggleFullscreen(bool fToNearest, bool fSwitchScreenResWhenHasT
void CMainFrame::AutoChangeMonitorMode()
{
- CStringW mf_hmonitor = AfxGetAppSettings().f_hmonitor;
+ AppSettings& s = AfxGetAppSettings();
+ CStringW mf_hmonitor = s.strFullScreenMonitor;
double MediaFPS = 0.0;
if (GetPlaybackMode() == PM_FILE)
@@ -9701,12 +9740,12 @@ void CMainFrame::AutoChangeMonitorMode()
{
if ((MediaFPS > 23.971) && (MediaFPS < 23.981))
{
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenRes23d976Hz, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenRes23d976Hz, mf_hmonitor);
return;
}
if ((MediaFPS > 29.965) && (MediaFPS < 29.975))
{
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenRes29d97Hz, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenRes29d97Hz, mf_hmonitor);
return;
}
}
@@ -9714,16 +9753,16 @@ void CMainFrame::AutoChangeMonitorMode()
switch ((int)(MediaFPS + 0.5))
{
case 24 :
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenRes24Hz, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenRes24Hz, mf_hmonitor);
break;
case 25 :
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenRes25Hz, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenRes25Hz, mf_hmonitor);
break;
case 30 :
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenRes30Hz, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenRes30Hz, mf_hmonitor);
break;
default:
- SetDispMode(AfxGetAppSettings().AutoChangeFullscrRes.dmFullscreenResOther, mf_hmonitor);
+ SetDispMode(s.AutoChangeFullscrRes.dmFullscreenResOther, mf_hmonitor);
}
}
@@ -9738,8 +9777,6 @@ void CMainFrame::MoveVideoWindow(bool fShowStats)
else if(!m_fFullScreen)
{
m_wndView.GetClientRect(&wr);
- //if ( !AfxGetAppSettings().fHideCaptionMenu )
- // wr.DeflateRect(2, 2);
}
else
{
@@ -9886,7 +9923,7 @@ void CMainFrame::HideVideoWindow(bool fHide)
}
-void CMainFrame::ZoomVideoWindow(double scale)
+void CMainFrame::ZoomVideoWindow(bool snap, double scale)
{
if(m_iMediaLoadState != MLS_LOADED)
return;
@@ -9943,6 +9980,12 @@ void CMainFrame::ZoomVideoWindow(double scale)
h += GetSystemMetrics( SM_CYMENU );
}
+ if (GetPlaybackMode() == PM_CAPTURE && !s.fHideNavigation && !m_fFullScreen && !m_wndNavigationBar.IsVisible())
+ {
+ CSize r = m_wndNavigationBar.CalcFixedLayout(FALSE, TRUE);
+ w += r.cx;
+ }
+
w = max(w, mmi.ptMinTrackSize.x);
h = max(h, mmi.ptMinTrackSize.y);
}
@@ -9963,7 +10006,7 @@ void CMainFrame::ZoomVideoWindow(double scale)
{
bool isSnapped = false;
- if(s.fSnapToDesktopEdges) { // check if snapped to edges
+ if(snap && s.fSnapToDesktopEdges) { // check if snapped to edges
isSnapped = (r.left == mi.rcWork.left) || (r.top == mi.rcWork.top)
|| (r.right == mi.rcWork.right) || (r.bottom == mi.rcWork.bottom);
}
@@ -10204,7 +10247,7 @@ void CMainFrame::SetupIViAudReg()
// Open/Close
//
-bool CMainFrame::IsRealEngineCompatible(CString strFilename)
+bool CMainFrame::IsRealEngineCompatible(CString strFilename) const
{
// Real Media engine didn't support Unicode filename (nor filenames with # characters)
for(int i=0; i<strFilename.GetLength(); i++)
@@ -10243,7 +10286,7 @@ void CMainFrame::OpenCreateGraphObject(OpenMediaData* pOMD)
if(OpenFileData* p = dynamic_cast<OpenFileData*>(pOMD))
{
- engine_t engine = s.Formats.GetEngine(p->fns.GetHead());
+ engine_t engine = s.m_Formats.GetEngine(p->fns.GetHead());
CStringA ct = GetContentType(p->fns.GetHead());
@@ -11360,7 +11403,7 @@ bool DoesAudioPrecede(const CComPtr<IAMStreamSelect> &pSS, int a, int b)
int ia = -1;
int ib = -1;
- CStringW alo = AfxGetAppSettings().m_audiosLanguageOrder;
+ CStringW alo = AfxGetAppSettings().strAudiosLanguageOrder;
int tPos = 0;
CStringW lang = alo.Tokenize(_T(",; "), tPos);
while(tPos != -1 && ia == -1 && ib == -1)
@@ -11504,6 +11547,7 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr<OpenMediaData> pOMD)
CString err, aborted(ResStr(IDS_AG_ABORTED));
m_fUpdateInfoBar = false;
+ BeginWaitCursor();
try
{
@@ -11684,6 +11728,8 @@ bool CMainFrame::OpenMediaPrivate(CAutoPtr<OpenMediaData> pOMD)
err = msg;
}
+ EndWaitCursor();
+
if(!err.IsEmpty())
{
CloseMediaPrivate();
@@ -11846,7 +11892,7 @@ int CMainFrame::SearchInDir(bool DirForward)
Play_sl.RemoveAll();
sl.RemoveAll();
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
CString dir = m_LastOpenFile.Mid(0,m_LastOpenFile.ReverseFind('\\')+1);
CString mask = dir + _T("*.*");
@@ -11909,20 +11955,30 @@ void CMainFrame::DoTunerScan(TunerScanData* pTSD)
LONG lStrength;
LONG lQuality;
int nProgress;
+ int nOffset = pTSD->Offset ? 3 : 1;
+ LONG lOffsets[3] = {0, pTSD->Offset, -pTSD->Offset};
+ bool bSucceeded;
m_bStopTunerScan = false;
+
for(ULONG ulFrequency = pTSD->FrequencyStart; ulFrequency <= pTSD->FrequencyStop; ulFrequency += pTSD->Bandwidth)
{
- pTun->SetFrequency (ulFrequency);
- Sleep (200);
- if (SUCCEEDED (pTun->GetStats (bPresent, bLocked, lStrength, lQuality)) && bPresent)
+ bSucceeded = false;
+ for (int nOffsetPos = 0; nOffsetPos < nOffset && !bSucceeded; nOffsetPos++)
{
- ::SendMessage (pTSD->Hwnd, WM_TUNER_STATS, lStrength, lQuality);
- pTun->Scan (ulFrequency, pTSD->Hwnd);
+ pTun->SetFrequency (ulFrequency + lOffsets[nOffsetPos]);
+ Sleep (200);
+ if (SUCCEEDED (pTun->GetStats (bPresent, bLocked, lStrength, lQuality)) && bPresent)
+ {
+ ::SendMessage (pTSD->Hwnd, WM_TUNER_STATS, lStrength, lQuality);
+ pTun->Scan (ulFrequency + lOffsets[nOffsetPos], pTSD->Hwnd);
+ bSucceeded = true;
+ }
}
nProgress = MulDiv(ulFrequency-pTSD->FrequencyStart, 100, pTSD->FrequencyStop-pTSD->FrequencyStart);
::SendMessage (pTSD->Hwnd, WM_TUNER_SCAN_PROGRESS, nProgress,0);
::SendMessage (pTSD->Hwnd, WM_TUNER_STATS, lStrength, lQuality);
+
if (m_bStopTunerScan) break;
}
@@ -12710,13 +12766,13 @@ void CMainFrame::SetupNavChaptersSubMenu()
{
AppSettings& s = AfxGetAppSettings();
- POSITION pos = s.DVBChannels.GetHeadPosition();
+ POSITION pos = s.m_DVBChannels.GetHeadPosition();
while (pos)
{
- CDVBChannel& Channel = s.DVBChannels.GetNext(pos);
+ CDVBChannel& Channel = s.m_DVBChannels.GetNext(pos);
UINT flags = MF_BYCOMMAND|MF_STRING|MF_ENABLED;
- if (Channel.GetPrefNumber() == s.DVBLastChannel)
+ if (Channel.GetPrefNumber() == s.nDVBLastChannel)
flags |= MF_CHECKED;
pSub->AppendMenu(flags, ID_NAVIGATE_CHAP_SUBITEM_START + Channel.GetPrefNumber(), Channel.GetName());
}
@@ -13123,7 +13179,7 @@ bool DoesSubPrecede(const CComPtr<ISubStream> &a, const CComPtr<ISubStream> &b)
int ia = -1;
int ib = -1;
- CStringW slo = AfxGetAppSettings().m_subtitlesLanguageOrder;
+ CStringW slo = AfxGetAppSettings().strSubtitlesLanguageOrder;
int tPos = 0;
CStringW lang = slo.Tokenize(_T(",; "), tPos);
while(tPos != -1 && ia == -1 && ib == -1)
@@ -13931,7 +13987,7 @@ bool CMainFrame::StopCapture()
hr = pME->RestoreDefaultHandling(EC_REPAINT);
- ::SetPriorityClass(::GetCurrentProcess(), AfxGetAppSettings().priority);
+ ::SetPriorityClass(::GetCurrentProcess(), AfxGetAppSettings().dwPriority);
m_rtDurationOverride = -1;
@@ -14050,7 +14106,7 @@ void CMainFrame::OpenMedia(CAutoPtr<OpenMediaData> pOMD)
{
if(p->fns.GetCount() > 0)
{
- engine_t e = s.Formats.GetEngine(p->fns.GetHead());
+ engine_t e = s.m_Formats.GetEngine(p->fns.GetHead());
if (e != DirectShow /*&& e != RealMedia && e != QuickTime*/)
fUseThread = false;
}
@@ -14151,16 +14207,42 @@ void CMainFrame::StopTunerScan()
void CMainFrame::DisplayCurrentChannelOSD()
{
AppSettings& s = AfxGetAppSettings();
- CDVBChannel* pChannel = s.FindChannelByPref(s.DVBLastChannel);
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
CString osd;
- CString strDescription;
int i = osd.Find(_T("\n"));
+ PresentFollowing NowNext;
+
+ if (pChannel != NULL)
+ {
+ // Get EIT information:
+ CComQIPtr<IBDATuner> pTun = pGB;
+ if (pTun)
+ pTun->UpdatePSI(NowNext);
+ NowNext.cPresent.Insert(0,_T(" "));
+ osd = pChannel->GetName()+ NowNext.cPresent;
+ if(i > 0) osd.Delete(i, osd.GetLength()-i);
+ m_OSD.DisplayMessage(OSD_TOPLEFT, osd ,3500);
+ }
+}
+
+void CMainFrame::DisplayCurrentChannelInfo()
+{
+ AppSettings& s = AfxGetAppSettings();
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
+ CString osd;
+ PresentFollowing NowNext;
if (pChannel != NULL)
{
- osd = pChannel->GetName();
+ // Get EIT information:
+ CComQIPtr<IBDATuner> pTun = pGB;
+ if (pTun)
+ pTun->UpdatePSI(NowNext);
+
+ osd = NowNext.cPresent + _T(". ") + NowNext.StartTime + _T(" - ") + NowNext.Duration + _T(". ") + NowNext.SummaryDesc +_T(" ");
+ int i = osd.Find(_T("\n"));
if(i > 0) osd.Delete(i, osd.GetLength()-i);
- m_OSD.DisplayMessage(OSD_TOPLEFT, osd ,2000);
+ m_OSD.DisplayMessage(OSD_TOPLEFT, osd ,8000, 12);
}
}
@@ -14279,7 +14361,7 @@ bool CMainFrame::CreateFullScreenWindow()
if(!s.iMonitor)
{
- if(s.f_hmonitor == _T("Current"))
+ if(s.strFullScreenMonitor == _T("Current"))
{
hMonitor = MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST);
}
@@ -14290,9 +14372,9 @@ bool CMainFrame::CreateFullScreenWindow()
monitor = monitors.GetMonitor( i );
monitor.GetName(str);
- if((monitor.IsMonitor()) && (s.f_hmonitor == str))
+ if((monitor.IsMonitor()) && (s.strFullScreenMonitor == str))
{
- hMonitor = monitor.operator HMONITOR();
+ hMonitor = monitor;
break;
}
}
@@ -14329,7 +14411,7 @@ bool CMainFrame::CreateFullScreenWindow()
}
-bool CMainFrame::IsD3DFullScreenMode()
+bool CMainFrame::IsD3DFullScreenMode() const
{
return m_pFullscreenWnd->IsWindow();
};
@@ -14353,7 +14435,7 @@ void CMainFrame::SetVMR9ColorControl(float dBrightness, float dContrast, float d
}
}
-LPCTSTR CMainFrame::GetDVDAudioFormatName (DVD_AudioAttributes& ATR)
+LPCTSTR CMainFrame::GetDVDAudioFormatName (DVD_AudioAttributes& ATR) const
{
switch(ATR.AudioFormat)
{
@@ -14992,9 +15074,9 @@ void CMainFrame::OnFileOpendirectory()
CString filter;
CAtlArray<CString> mask;
- s.Formats.GetFilter(filter, mask);
+ s.m_Formats.GetFilter(filter, mask);
- COpenDirHelper::f_lastOpenDir = s.f_lastOpenDir;
+ COpenDirHelper::strLastOpenDir = s.strLastOpenDir;
TCHAR path[_MAX_PATH];
COpenDirHelper::m_incl_subdir = TRUE;
@@ -15018,7 +15100,7 @@ void CMainFrame::OnFileOpendirectory()
CString _path = path;
_path.Replace('/', '\\');
if(_path[_path.GetLength()-1] != '\\') _path += '\\';
- s.f_lastOpenDir = _path;
+ s.strLastOpenDir = _path;
CAtlList<CString> sl;
sl.AddTail(_path);
@@ -15040,7 +15122,7 @@ void CMainFrame::OnFileOpendirectory()
HRESULT CMainFrame::CreateThumbnailToolbar()
{
- if(!AfxGetAppSettings().m_fUseWin7TaskBar) return E_FAIL;
+ if(!AfxGetAppSettings().fUseWin7TaskBar) return E_FAIL;
DWORD dwMajor = LOBYTE(LOWORD(GetVersion()));
DWORD dwMinor = HIBYTE(LOWORD(GetVersion()));
@@ -15152,7 +15234,7 @@ HRESULT CMainFrame::UpdateThumbarButton()
if ( !m_pTaskbarList )
return E_FAIL;
- if ( !AfxGetAppSettings().m_fUseWin7TaskBar )
+ if ( !AfxGetAppSettings().fUseWin7TaskBar )
{
m_pTaskbarList->SetOverlayIcon( m_hWnd, NULL, L"" );
m_pTaskbarList->SetProgressState( m_hWnd, TBPF_NOPROGRESS );
@@ -15280,7 +15362,7 @@ HRESULT CMainFrame::UpdateThumbnailClip()
if ( !m_pTaskbarList )
return E_FAIL;
- if ( (!AfxGetAppSettings().m_fUseWin7TaskBar) || (m_iMediaLoadState != MLS_LOADED) || (m_fAudioOnly) || m_fFullScreen )
+ if ( (!AfxGetAppSettings().fUseWin7TaskBar) || (m_iMediaLoadState != MLS_LOADED) || (m_fAudioOnly) || m_fFullScreen )
{
return m_pTaskbarList->SetThumbnailClip( m_hWnd, NULL );
}
diff --git a/src/apps/mplayerc/MainFrm.h b/src/apps/mplayerc/MainFrm.h
index 98bab7749..54988b009 100644
--- a/src/apps/mplayerc/MainFrm.h
+++ b/src/apps/mplayerc/MainFrm.h
@@ -118,6 +118,7 @@ public :
ULONG FrequencyStart;
ULONG FrequencyStop;
ULONG Bandwidth;
+ LONG Offset;
HWND Hwnd;
};
@@ -240,7 +241,7 @@ class CMainFrame : public CFrameWnd, public CDropTarget
void SetDefaultWindowRect(int iMonitor = 0);
void RestoreDefaultWindowRect();
- void ZoomVideoWindow(double scale = -1);
+ void ZoomVideoWindow(bool snap = true, double scale = -1);
double GetZoomAutoFitScale();
void SetAlwaysOnTop(int i);
@@ -341,7 +342,7 @@ public:
void StopWebServer();
CString GetStatusMessage();
- int GetPlaybackMode()
+ int GetPlaybackMode() const
{
return m_iPlaybackMode;
}
@@ -370,15 +371,15 @@ public:
CComPtr<IBaseFilter> m_pRefClock; // Adjustable reference clock. GothSync
CComPtr<ISyncClock> m_pSyncClock;
- bool IsFrameLessWindow()
+ bool IsFrameLessWindow() const
{
- return(m_fFullScreen || AfxGetAppSettings().fHideCaptionMenu);
+ return(m_fFullScreen || AfxGetAppSettings().iCaptionMenuMode==MODE_BORDERLESS);
}
- bool IsCaptionMenuHidden()
+ bool IsCaptionMenuHidden() const
{
- return(!m_fFullScreen && AfxGetAppSettings().fHideCaptionMenu);
+ return(!m_fFullScreen && AfxGetAppSettings().iCaptionMenuMode!=MODE_SHOWCAPTIONMENU);
}
- bool IsSomethingLoaded()
+ bool IsSomethingLoaded() const
{
return((m_iMediaLoadState == MLS_LOADING || m_iMediaLoadState == MLS_LOADED) && !IsD3DFullScreenMode());
}
@@ -386,11 +387,11 @@ public:
{
return(m_wndPlaylistBar.GetCount() == 0);
}
- bool IsInteractiveVideo()
+ bool IsInteractiveVideo() const
{
return(AfxGetAppSettings().fIntRealMedia && m_fRealMediaGraph || m_fShockwaveGraph);
}
- bool IsD3DFullScreenMode();
+ bool IsD3DFullScreenMode() const;
CControlBar* m_pLastBar;
@@ -509,6 +510,7 @@ public:
// Dvb capture
void DisplayCurrentChannelOSD();
+ void DisplayCurrentChannelInfo();
// Implementation
public:
@@ -911,12 +913,12 @@ public:
void SetLoadState(MPC_LOADSTATE iState);
void SetPlayState(MPC_PLAYSTATE iState);
bool CreateFullScreenWindow();
- void SetVMR9ColorControl(float Brightness, float Contrast, float Hue, float Saturation);
- LPCTSTR GetDVDAudioFormatName (DVD_AudioAttributes& ATR);
+ void SetVMR9ColorControl(float dBrightness, float dContrast, float dHue, float dSaturation);
+ LPCTSTR GetDVDAudioFormatName (DVD_AudioAttributes& ATR) const;
void SetAudioDelay(REFERENCE_TIME rtShift);
void SetSubtitleDelay(int delay_ms);
// void AutoSelectTracks();
- bool IsRealEngineCompatible(CString strFilename);
+ bool IsRealEngineCompatible(CString strFilename) const;
void SetTimersPlay();
void KillTimersStop();
diff --git a/src/apps/mplayerc/MediaFormats.cpp b/src/apps/mplayerc/MediaFormats.cpp
index 8b0b1c916..54e961acd 100644
--- a/src/apps/mplayerc/MediaFormats.cpp
+++ b/src/apps/mplayerc/MediaFormats.cpp
@@ -85,14 +85,17 @@ CMediaFormatCategory::CMediaFormatCategory(const CMediaFormatCategory& mfc)
CMediaFormatCategory& CMediaFormatCategory::operator = (const CMediaFormatCategory& mfc)
{
- m_label = mfc.m_label;
- m_specreqnote = mfc.m_specreqnote;
- m_exts.RemoveAll();
- m_exts.AddTailList(&mfc.m_exts);
- m_backupexts.RemoveAll();
- m_backupexts.AddTailList(&mfc.m_backupexts);
- m_fAudioOnly = mfc.m_fAudioOnly;
- m_engine = mfc.m_engine;
+ if(this != &mfc)
+ {
+ m_label = mfc.m_label;
+ m_specreqnote = mfc.m_specreqnote;
+ m_exts.RemoveAll();
+ m_exts.AddTailList(&mfc.m_exts);
+ m_backupexts.RemoveAll();
+ m_backupexts.AddTailList(&mfc.m_backupexts);
+ m_fAudioOnly = mfc.m_fAudioOnly;
+ m_engine = mfc.m_engine;
+ }
return *this;
}
diff --git a/src/apps/mplayerc/Mpeg2SectionData.cpp b/src/apps/mplayerc/Mpeg2SectionData.cpp
index 69e81f483..26f178a72 100644
--- a/src/apps/mplayerc/Mpeg2SectionData.cpp
+++ b/src/apps/mplayerc/Mpeg2SectionData.cpp
@@ -170,10 +170,11 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
Channel.SetSID (gb.BitRead(16)); // service_id uimsbf
gb.BitRead(6); // reserved_future_use bslbf
gb.BitRead(1); // EIT_schedule_flag bslbf
- gb.BitRead(1); // EIT_present_following_flag bslbf
+ Channel.SetNowNextFlag (gb.BitRead(1)); // EIT_present_following_flag bslbf
gb.BitRead(3); // running_status uimsbf
Channel.SetEncrypted (gb.BitRead(1)); // free_CA_mode bslbf
+ // Descriptors:
BeginEnumDescriptors(gb, nType, nLength)
{
switch (nType)
@@ -322,6 +323,174 @@ HRESULT CMpeg2DataParser::ParsePMT(CDVBChannel& Channel)
}
+HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, PresentFollowing &NowNext)
+{
+ char DescBuffer[10];
+ time_t tTime1 ,tTime2;
+ tm tmTime1;
+ tm* ptmTime;
+ long nDuration;
+ long timezone;
+ int daylight;
+
+ // init tm structures
+ time( &tTime1 );
+ tmTime1 = *localtime( &tTime1 );
+ _tzset();
+ _get_timezone(&timezone);
+ if (_get_daylight(&daylight))
+ timezone -= daylight * 3600;
+
+ // Start time:
+ tmTime1.tm_hour = gb.BitRead(4)*10;
+ tmTime1.tm_hour += gb.BitRead(4);
+ tmTime1.tm_min = gb.BitRead(4)*10;
+ tmTime1.tm_min += gb.BitRead(4);
+ tmTime1.tm_sec = gb.BitRead(4)*10;
+ tmTime1.tm_sec += gb.BitRead(4);
+ tTime1 = mktime(&tmTime1) - timezone;
+ ptmTime = localtime(&tTime1);
+ tTime1 = mktime(ptmTime);
+ strftime (DescBuffer,6,"%H:%M",ptmTime);
+ DescBuffer[6] = 0;
+ NowNext.StartTime = static_cast<CString> (DescBuffer);
+
+ // Duration:
+ nDuration = 36000*gb.BitRead(4);
+ nDuration += 3600*gb.BitRead(4);
+ nDuration += 600*gb.BitRead(4);
+ nDuration += 60*gb.BitRead(4);
+ nDuration += 10*gb.BitRead(4);
+ nDuration += gb.BitRead(4);
+
+ tTime2 = tTime1 + nDuration;
+ ptmTime = localtime(&tTime2);
+ strftime (DescBuffer,6,"%H:%M",ptmTime);
+ DescBuffer[6] = 0;
+ NowNext.Duration = static_cast<CString> (DescBuffer);
+
+ return S_OK;
+}
+
+HRESULT CMpeg2DataParser::ParseEIT(ULONG ulSID, PresentFollowing &NowNext)
+{
+ HRESULT hr;
+ CComPtr<ISectionList> pSectionList;
+ DWORD dwLength;
+ PSECTION data;
+ WORD nTotal;
+ WORD ulGetSID;
+ EventInformationSection InfoEvent;
+ int nLen;
+ int descriptorNumber;
+ int nbItems;
+ CString itemDesc, itemText;
+ CString text;
+
+ do
+ {
+ CheckNoLog (m_pData->GetSection (PID_EIT, SI_EIT_act, NULL, 5000, &pSectionList));
+
+ CheckNoLog (pSectionList->GetSectionData (0, &dwLength, &data));
+ CGolombBuffer gb ((BYTE*)data, dwLength);
+
+ InfoEvent.TableID = gb.BitRead(8);
+ InfoEvent.SectionSyntaxIndicator = gb.BitRead(1);
+ gb.BitRead(3);
+ InfoEvent.SectionLength = gb.BitRead(12);
+ ulGetSID = gb.BitRead(8);
+ ulGetSID += 0x100 * gb.BitRead(8);
+ InfoEvent.ServiceId = ulGetSID; // This is really strange, ServiceID should be uimsbf ???
+ gb.BitRead(2);
+ InfoEvent.VersionNumber = gb.BitRead(5);
+ InfoEvent.CurrentNextIndicator = gb.BitRead(1);
+
+ InfoEvent.SectionNumber = gb.BitRead(8);
+ InfoEvent.LastSectionNumber = gb.BitRead(8);
+ InfoEvent.TransportStreamID = gb.BitRead(16);
+ InfoEvent.OriginalNetworkID = gb.BitRead(16);
+ InfoEvent.SegmentLastSectionNumber = gb.BitRead(8);
+ InfoEvent.LastTableID = gb.BitRead(8);
+
+ // Info event
+ InfoEvent.EventID = gb.BitRead(16);
+ InfoEvent.StartDate = gb.BitRead(16);
+ SetTime(gb, NowNext);
+
+ InfoEvent.RunninStatus = gb.BitRead(3);
+ InfoEvent.FreeCAMode = gb.BitRead(1);
+
+ NowNext.ExtendedDescriptorsItems.RemoveAll();
+ NowNext.ExtendedDescriptorsTexts.RemoveAll();
+
+ if ((InfoEvent.ServiceId == ulSID) && (InfoEvent.CurrentNextIndicator == 1) && (InfoEvent.RunninStatus == 4))
+ {
+ // Descriptors:
+ BeginEnumDescriptors(gb, nType, nLength)
+ {
+ switch (nType)
+ {
+ case DT_SHORT_EVENT:
+ gb.BitRead(24); // ISO_639_language_code
+
+ nLen = gb.BitRead(8); // event_name_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ NowNext.cPresent = ConvertString(DescBuffer, nLen);
+
+ nLen = gb.BitRead(8); // text_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ NowNext.SummaryDesc = ConvertString(DescBuffer, nLen);
+ break;
+ case DT_EXTENDED_EVENT:
+ descriptorNumber = gb.BitRead(4); // descriptor_number
+ gb.BitRead(4); // last_descriptor_number
+ gb.BitRead(24); // ISO_639_language_code
+
+ nbItems = gb.BitRead(8); // length_of_items
+ for (int i=0; i<nbItems; i++)
+ {
+ nLen = gb.BitRead(8); // item_description_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ itemDesc = ConvertString(DescBuffer, nLen);
+ nLen = gb.BitRead(8); // item_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ itemText = ConvertString(DescBuffer, nLen);
+ NowNext.ExtendedDescriptorsItems.SetAt(itemDesc, itemText);
+ }
+
+ nLen = gb.BitRead(8); // text_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ text = ConvertString(DescBuffer, nLen);
+ if (descriptorNumber == 0) // new descriptor set
+ NowNext.ExtendedDescriptorsTexts.AddTail(text);
+ else
+ NowNext.ExtendedDescriptorsTexts.GetTail().Append(text);
+ break;
+ default:
+ SkipDescriptor (gb, nType, nLength);
+ break;
+ }
+ }
+ EndEnumDescriptors
+ }
+ m_Filter.SectionNumber++;
+ pSectionList.Release();
+ }
+ while (((InfoEvent.ServiceId != ulSID) || (InfoEvent.CurrentNextIndicator != 1) || (InfoEvent.RunninStatus != 4)) &&
+ (m_Filter.SectionNumber <= 22));
+
+ if (InfoEvent.ServiceId != ulSID)
+ {
+ NowNext.StartTime = _T("");
+ NowNext.Duration = _T("");
+ NowNext.cPresent = _T(" Info not available.");
+ NowNext.SummaryDesc = _T("");
+ NowNext.cFollowing = _T("");
+ }
+
+ return S_OK;
+}
+
HRESULT CMpeg2DataParser::ParseNIT()
{
HRESULT hr;
diff --git a/src/apps/mplayerc/Mpeg2SectionData.h b/src/apps/mplayerc/Mpeg2SectionData.h
index 4a9bfd923..55b79673b 100644
--- a/src/apps/mplayerc/Mpeg2SectionData.h
+++ b/src/apps/mplayerc/Mpeg2SectionData.h
@@ -23,6 +23,7 @@
#pragma once
#include "DVBChannel.h"
+#include "IGraphBuilder2.h"
#pragma pack(1)
@@ -40,7 +41,31 @@ typedef struct
UINT8 LastSectionNumber;
} SI_HEADER;
+typedef struct
+{
+ UINT8 TableID;
+ WORD SectionSyntaxIndicator : 1;
+ WORD Reserved1 : 3;
+ WORD SectionLength : 12;
+ ULONG ServiceId;
+ UINT8 Reserved2 : 2;
+ UINT8 VersionNumber : 5;
+ UINT8 CurrentNextIndicator : 1;
+ UINT8 SectionNumber;
+ UINT8 LastSectionNumber;
+ WORD TransportStreamID;
+ WORD OriginalNetworkID;
+ UINT8 SegmentLastSectionNumber;
+ UINT8 LastTableID;
+ WORD EventID;
+ WORD StartDate;
+ UINT8 StartTime[6];
+ UINT8 Duration[6];
+ WORD RunninStatus : 3;
+ WORD FreeCAMode : 1;
+ WORD DescriptorsLoopLenght :12;
+} EventInformationSection;
class CMpeg2DataParser
{
@@ -51,6 +76,8 @@ public :
HRESULT ParseSDT(ULONG ulFreq);
HRESULT ParsePAT();
HRESULT ParseNIT();
+ HRESULT ParseEIT(ULONG ulSID, PresentFollowing &NowNext);
+ HRESULT ParsePMT(CDVBChannel& Channel);
static CString ConvertString (BYTE* pBuffer, int nLength);
@@ -64,5 +91,6 @@ private :
DVB_STREAM_TYPE ConvertToDVBType(PES_STREAM_TYPE nType);
HRESULT ParseSIHeader(CGolombBuffer& gb, DVB_SI SIType, WORD& wSectionLength, WORD& wTSID);
- HRESULT ParsePMT(CDVBChannel& Channel);
+ HRESULT SetTime(CGolombBuffer& gb, PresentFollowing &NowNext);
+
};
diff --git a/src/apps/mplayerc/MultiMonitor.h b/src/apps/mplayerc/MultiMonitor.h
index f2e650ff8..b1363494e 100644
--- a/src/apps/mplayerc/MultiMonitor.h
+++ b/src/apps/mplayerc/MultiMonitor.h
@@ -82,12 +82,12 @@ public:
return !( *this == monitor );
}
- void operator =( const CMonitor& monitor )
+ CMonitor& operator =( const CMonitor& monitor )
{
m_hMonitor = (HMONITOR)monitor;
+ return *this;
}
-
private:
HMONITOR m_hMonitor;
diff --git a/src/apps/mplayerc/OpenCapDeviceDlg.cpp b/src/apps/mplayerc/OpenCapDeviceDlg.cpp
index 6d901e592..bf2332bdb 100644
--- a/src/apps/mplayerc/OpenCapDeviceDlg.cpp
+++ b/src/apps/mplayerc/OpenCapDeviceDlg.cpp
@@ -311,6 +311,8 @@ BOOL COpenCapDeviceDlg::OnInitDialog()
{
__super::OnInitDialog();
+ AppSettings& s = AfxGetAppSettings();
+
AddAnchor(m_vidctrl, TOP_LEFT, TOP_RIGHT);
AddAnchor(m_audctrl, TOP_LEFT, TOP_RIGHT);
AddAnchor(m_countryctrl, TOP_LEFT, TOP_RIGHT);
@@ -319,15 +321,15 @@ BOOL COpenCapDeviceDlg::OnInitDialog()
CRect r;
GetWindowRect(r);
- CSize s = r.Size();
- SetMinTrackSize(s);
- s.cx = 1000;
- SetMaxTrackSize(s);
+ CSize size = r.Size();
+ SetMinTrackSize(size);
+ size.cx = 1000;
+ SetMaxTrackSize(size);
CString dummy = _T("dummy");
- CString vidstr = AfxGetApp()->GetProfileString(_T("Capture"), _T("VidDispName"), dummy);
- CString audstr = AfxGetApp()->GetProfileString(_T("Capture"), _T("AudDispName"), dummy);
- long country = AfxGetApp()->GetProfileInt(_T("Capture"), _T("Country"), 1);
+ CString vidstr = s.strAnalogVideo;
+ CString audstr = s.strAnalogAudio;
+ int country = s.iAnalogCountry;
int iSel = vidstr == dummy ? 0 : -1;
@@ -471,22 +473,24 @@ void COpenCapDeviceDlg::OnBnClickedOk()
{
UpdateData();
+ AppSettings& s = AfxGetAppSettings();
+
if(m_vidctrl.GetCurSel() >= 0)
{
m_vidstr = m_vidnames[m_vidctrl.GetCurSel()];
- AfxGetApp()->WriteProfileString(_T("Capture"), _T("VidDispName"), m_vidstr);
+ s.strAnalogVideo = m_vidstr;
}
if(m_audctrl.GetCurSel() >= 0)
{
m_audstr = m_audnames[m_audctrl.GetCurSel()];
- AfxGetApp()->WriteProfileString(_T("Capture"), _T("AudDispName"), m_audstr);
+ s.strAnalogAudio = m_audstr;
}
if(m_countryctrl.GetCurSel() >= 0)
{
m_country = ((cc_t*)m_countryctrl.GetItemDataPtr(m_countryctrl.GetCurSel()))->code;
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("Country"), m_country);
+ s.iAnalogCountry = m_country;
}
OnOK();
diff --git a/src/apps/mplayerc/OpenCapDeviceDlg.h b/src/apps/mplayerc/OpenCapDeviceDlg.h
index 449c82fd6..5a16c72e6 100644
--- a/src/apps/mplayerc/OpenCapDeviceDlg.h
+++ b/src/apps/mplayerc/OpenCapDeviceDlg.h
@@ -45,7 +45,7 @@ public:
CComboBox m_countryctrl;
CString m_vidstr, m_audstr;
- long m_country;
+ int m_country;
// Dialog Data
enum { IDD = IDD_OPENCAPDEVICE_DLG };
diff --git a/src/apps/mplayerc/OpenDirHelper.cpp b/src/apps/mplayerc/OpenDirHelper.cpp
index 58cd5a49f..6b2cc6514 100644
--- a/src/apps/mplayerc/OpenDirHelper.cpp
+++ b/src/apps/mplayerc/OpenDirHelper.cpp
@@ -27,7 +27,7 @@
WNDPROC COpenDirHelper::CBProc;
bool COpenDirHelper::m_incl_subdir;
-CString COpenDirHelper::f_lastOpenDir;
+CString COpenDirHelper::strLastOpenDir;
void COpenDirHelper::SetFont(HWND hwnd,LPTSTR FontName,int FontSize)
{
@@ -74,7 +74,7 @@ int __stdcall COpenDirHelper::BrowseCallbackProcDIR(HWND hwnd,UINT uMsg,LPARAM
//Initialization callback message
if(uMsg==BFFM_INITIALIZED)
{
- SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)(LPCTSTR)f_lastOpenDir);
+ SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)(LPCTSTR)strLastOpenDir);
RECT ListViewRect;
RECT Dialog;
diff --git a/src/apps/mplayerc/OpenDirHelper.h b/src/apps/mplayerc/OpenDirHelper.h
index fff8fe730..9118c3463 100644
--- a/src/apps/mplayerc/OpenDirHelper.h
+++ b/src/apps/mplayerc/OpenDirHelper.h
@@ -27,7 +27,7 @@ class COpenDirHelper {
public:
static WNDPROC CBProc;
static bool m_incl_subdir;
- static CString f_lastOpenDir;
+ static CString strLastOpenDir;
static void SetFont(HWND hwnd,LPTSTR FontName,int FontSize);
// Subclass procedure
diff --git a/src/apps/mplayerc/OpenDlg.cpp b/src/apps/mplayerc/OpenDlg.cpp
index aeabb4826..c66075137 100644
--- a/src/apps/mplayerc/OpenDlg.cpp
+++ b/src/apps/mplayerc/OpenDlg.cpp
@@ -121,7 +121,7 @@ void COpenDlg::OnBnClickedBrowsebutton()
CString filter;
CAtlArray<CString> mask;
- AfxGetAppSettings().Formats.GetFilter(filter, mask);
+ AfxGetAppSettings().m_Formats.GetFilter(filter, mask);
COpenFileDlg fd(mask, true, NULL, m_path,
OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLEINCLUDENOTIFY,
@@ -163,7 +163,7 @@ void COpenDlg::OnBnClickedBrowsebutton2()
CString filter;
CAtlArray<CString> mask;
- AfxGetAppSettings().Formats.GetAudioFilter(filter, mask);
+ AfxGetAppSettings().m_Formats.GetAudioFilter(filter, mask);
COpenFileDlg fd(mask, false, NULL, m_path2,
OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_ENABLEINCLUDENOTIFY,
@@ -191,5 +191,5 @@ void COpenDlg::OnBnClickedOk()
void COpenDlg::OnUpdateDub(CCmdUI* pCmdUI)
{
m_mrucombo.GetWindowText(m_path);
- pCmdUI->Enable(AfxGetAppSettings().Formats.GetEngine(m_path) == DirectShow);
+ pCmdUI->Enable(AfxGetAppSettings().m_Formats.GetEngine(m_path) == DirectShow);
}
diff --git a/src/apps/mplayerc/PPageAccelTbl.cpp b/src/apps/mplayerc/PPageAccelTbl.cpp
index c4f865ac1..0c46c930c 100644
--- a/src/apps/mplayerc/PPageAccelTbl.cpp
+++ b/src/apps/mplayerc/PPageAccelTbl.cpp
@@ -1459,9 +1459,9 @@ BOOL CPPageAccelTbl::OnInitDialog()
m_wmcmds.RemoveAll();
m_wmcmds.AddTail(&s.wmcmds);
m_fWinLirc = s.fWinLirc;
- m_WinLircAddr = s.WinLircAddr;
+ m_WinLircAddr = s.strWinLircAddr;
m_fUIce = s.fUIce;
- m_UIceAddr = s.UIceAddr;
+ m_UIceAddr = s.strUIceAddr;
m_fGlobalMedia = s.fGlobalMedia;
UpdateData(FALSE);
@@ -1475,7 +1475,7 @@ BOOL CPPageAccelTbl::OnInitDialog()
WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_TABSTOP|LVS_REPORT|LVS_AUTOARRANGE|LVS_SHOWSELALWAYS,
r, this, IDC_LIST1);
- m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER);
+ m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER|LVS_EX_GRIDLINES);
for(int i = 0, j = m_list.GetHeaderCtrl()->GetItemCount(); i < j; i++) m_list.DeleteColumn(0);
m_list.InsertColumn(COL_CMD, ResStr(IDS_AG_COMMAND), LVCFMT_LEFT, 80);
@@ -1531,10 +1531,10 @@ BOOL CPPageAccelTbl::OnApply()
GetParentFrame()->m_hAccelTable = s.hAccel;
s.fWinLirc = !!m_fWinLirc;
- s.WinLircAddr = m_WinLircAddr;
+ s.strWinLircAddr = m_WinLircAddr;
if(s.fWinLirc) s.WinLircClient.Connect(m_WinLircAddr);
s.fUIce = !!m_fUIce;
- s.UIceAddr = m_UIceAddr;
+ s.strUIceAddr = m_UIceAddr;
if(s.fUIce) s.UIceClient.Connect(m_UIceAddr);
s.fGlobalMedia = !!m_fGlobalMedia;
diff --git a/src/apps/mplayerc/PPageAudioSwitcher.cpp b/src/apps/mplayerc/PPageAudioSwitcher.cpp
index af38caddf..9b46a82f6 100644
--- a/src/apps/mplayerc/PPageAudioSwitcher.cpp
+++ b/src/apps/mplayerc/PPageAudioSwitcher.cpp
@@ -106,11 +106,11 @@ BOOL CPPageAudioSwitcher::OnInitDialog()
m_fEnableAudioSwitcher = s.fEnableAudioSwitcher;
m_fAudioNormalize = s.fAudioNormalize;
m_fAudioNormalizeRecover = s.fAudioNormalizeRecover;
- m_AudioBoost = (int)(50.0f*log10(s.AudioBoost));
+ m_AudioBoost = (int)(50.0f*log10(s.dAudioBoost));
m_AudioBoostCtrl.SetRange(0, 100);
m_fDownSampleTo441 = s.fDownSampleTo441;
m_fAudioTimeShift = s.fAudioTimeShift;
- m_tAudioTimeShift = s.tAudioTimeShift;
+ m_tAudioTimeShift = s.iAudioTimeShift;
m_tAudioTimeShiftSpin.SetRange32(-1000*60*60*24, 1000*60*60*24);
m_fCustomChannelMapping = s.fCustomChannelMapping;
memcpy(m_pSpeakerToChannelMap, s.pSpeakerToChannelMap, sizeof(s.pSpeakerToChannelMap));
@@ -118,7 +118,7 @@ BOOL CPPageAudioSwitcher::OnInitDialog()
if(m_pASF)
m_pASF->GetInputSpeakerConfig(&m_dwChannelMask);
- m_nChannels = s.fnChannels;
+ m_nChannels = s.nSpeakerChannels;
m_nChannelsSpinCtrl.SetRange(1, 18);
if(m_pASF)
@@ -171,10 +171,10 @@ BOOL CPPageAudioSwitcher::OnApply()
s.fEnableAudioSwitcher = !!m_fEnableAudioSwitcher;
s.fAudioNormalize = !!m_fAudioNormalize;
s.fAudioNormalizeRecover = !!m_fAudioNormalizeRecover;
- s.AudioBoost = pow(10.0f, (float)m_AudioBoost/50);
+ s.dAudioBoost = pow(10.0f, (float)m_AudioBoost/50);
s.fDownSampleTo441 = !!m_fDownSampleTo441;
s.fAudioTimeShift = !!m_fAudioTimeShift;
- s.tAudioTimeShift = m_tAudioTimeShift;
+ s.iAudioTimeShift = m_tAudioTimeShift;
s.fCustomChannelMapping = !!m_fCustomChannelMapping;
memcpy(s.pSpeakerToChannelMap, m_pSpeakerToChannelMap, sizeof(m_pSpeakerToChannelMap));
@@ -182,11 +182,11 @@ BOOL CPPageAudioSwitcher::OnApply()
{
m_pASF->SetSpeakerConfig(s.fCustomChannelMapping, s.pSpeakerToChannelMap);
m_pASF->EnableDownSamplingTo441(s.fDownSampleTo441);
- m_pASF->SetAudioTimeShift(s.fAudioTimeShift ? 10000i64*s.tAudioTimeShift : 0);
- m_pASF->SetNormalizeBoost(s.fAudioNormalize, s.fAudioNormalizeRecover, s.AudioBoost);
+ m_pASF->SetAudioTimeShift(s.fAudioTimeShift ? 10000i64*s.iAudioTimeShift : 0);
+ m_pASF->SetNormalizeBoost(s.fAudioNormalize, s.fAudioNormalizeRecover, s.dAudioBoost);
}
- s.fnChannels = m_nChannels;
+ s.nSpeakerChannels = m_nChannels;
return __super::OnApply();
}
diff --git a/src/apps/mplayerc/PPageBase.cpp b/src/apps/mplayerc/PPageBase.cpp
index 12b0409f3..f3c23a6a9 100644
--- a/src/apps/mplayerc/PPageBase.cpp
+++ b/src/apps/mplayerc/PPageBase.cpp
@@ -89,8 +89,7 @@ END_MESSAGE_MAP()
BOOL CPPageBase::OnSetActive()
{
- AfxGetApp()->WriteProfileInt(IDS_R_SETTINGS, _T("LastUsedPage"), (UINT)m_pPSP->pszTemplate);
-
+ AfxGetAppSettings().nLastUsedPage = (UINT)m_pPSP->pszTemplate;
return __super::OnSetActive();
}
diff --git a/src/apps/mplayerc/PPageCapture.cpp b/src/apps/mplayerc/PPageCapture.cpp
index 8dcaacfee..b7abda347 100644
--- a/src/apps/mplayerc/PPageCapture.cpp
+++ b/src/apps/mplayerc/PPageCapture.cpp
@@ -464,7 +464,7 @@ void CPPageCapture::FindDigitalDevices()
if(SUCCEEDED(pMoniker->GetDisplayName(NULL, NULL, &strName)))
{
m_providernames.Add(CString(strName));
- if (s.BDANetworkProvider == CString(strName)) iSel = i;
+ if (s.strBDANetworkProvider == CString(strName)) iSel = i;
CoTaskMemFree(strName);
}
}
@@ -487,7 +487,7 @@ void CPPageCapture::FindDigitalDevices()
if(SUCCEEDED(pMoniker->GetDisplayName(NULL, NULL, &strName)))
{
m_tunernames.Add(CString(strName));
- if (s.BDATuner == CString(strName)) iSel = i;
+ if (s.strBDATuner == CString(strName)) iSel = i;
CoTaskMemFree(strName);
}
}
@@ -509,7 +509,7 @@ void CPPageCapture::FindDigitalDevices()
if(SUCCEEDED(pMoniker->GetDisplayName(NULL, NULL, &strName)))
{
m_receivernames.Add(CString(strName));
- if (s.BDAReceiver == CString(strName)) iSel = i;
+ if (s.strBDAReceiver == CString(strName)) iSel = i;
CoTaskMemFree(strName);
}
}
@@ -534,11 +534,11 @@ BOOL CPPageCapture::OnApply()
s.iAnalogCountry = ((cc_t*)m_cbAnalogCountry.GetItemDataPtr(m_cbAnalogCountry.GetCurSel()))->code;
if (m_cbDigitalNetworkProvider.GetCurSel()>=0)
- s.BDANetworkProvider = m_providernames[m_cbDigitalNetworkProvider.GetCurSel()];
+ s.strBDANetworkProvider = m_providernames[m_cbDigitalNetworkProvider.GetCurSel()];
if (m_cbDigitalTuner.GetCurSel()>=0)
- s.BDATuner = m_tunernames[m_cbDigitalTuner.GetCurSel()];
+ s.strBDATuner = m_tunernames[m_cbDigitalTuner.GetCurSel()];
if (m_cbDigitalReceiver.GetCurSel()>=0)
- s.BDAReceiver = m_receivernames[m_cbDigitalReceiver.GetCurSel()];
+ s.strBDAReceiver = m_receivernames[m_cbDigitalReceiver.GetCurSel()];
return __super::OnApply();
}
diff --git a/src/apps/mplayerc/PPageDVD.cpp b/src/apps/mplayerc/PPageDVD.cpp
index d4393d471..823163d45 100644
--- a/src/apps/mplayerc/PPageDVD.cpp
+++ b/src/apps/mplayerc/PPageDVD.cpp
@@ -241,7 +241,7 @@ BOOL CPPageDVD::OnInitDialog()
AppSettings& s = AfxGetAppSettings();
m_iDVDLocation = s.fUseDVDPath ? 1 : 0;
- m_dvdpath = s.sDVDPath;
+ m_dvdpath = s.strDVDPath;
m_iDVDLangType = 0;
m_idMenuLang = s.idMenuLang;
@@ -269,7 +269,7 @@ BOOL CPPageDVD::OnApply()
AppSettings& s = AfxGetAppSettings();
- s.sDVDPath = m_dvdpath;
+ s.strDVDPath = m_dvdpath;
s.fUseDVDPath = (m_iDVDLocation == 1);
s.idMenuLang = m_idMenuLang;
s.idAudioLang = m_idAudioLang;
diff --git a/src/apps/mplayerc/PPageExternalFilters.cpp b/src/apps/mplayerc/PPageExternalFilters.cpp
index 5321f5df5..b088096cc 100644
--- a/src/apps/mplayerc/PPageExternalFilters.cpp
+++ b/src/apps/mplayerc/PPageExternalFilters.cpp
@@ -286,10 +286,10 @@ BOOL CPPageExternalFilters::OnInitDialog()
m_pFilters.RemoveAll();
- POSITION pos = s.filters.GetHeadPosition();
+ POSITION pos = s.m_filters.GetHeadPosition();
while(pos)
{
- CAutoPtr<FilterOverride> f(DNew FilterOverride(s.filters.GetNext(pos)));
+ CAutoPtr<FilterOverride> f(DNew FilterOverride(s.m_filters.GetNext(pos)));
CString name(_T("<unknown>"));
@@ -322,7 +322,7 @@ BOOL CPPageExternalFilters::OnApply()
AppSettings& s = AfxGetAppSettings();
- s.filters.RemoveAll();
+ s.m_filters.RemoveAll();
for(int i = 0; i < m_filters.GetCount(); i++)
{
@@ -330,7 +330,7 @@ BOOL CPPageExternalFilters::OnApply()
{
CAutoPtr<FilterOverride> f(DNew FilterOverride(m_pFilters.GetAt(pos)));
f->fDisabled = !m_filters.GetCheck(i);
- s.filters.AddTail(f);
+ s.m_filters.AddTail(f);
}
}
diff --git a/src/apps/mplayerc/PPageFileInfoDetails.cpp b/src/apps/mplayerc/PPageFileInfoDetails.cpp
index 35e5f19fd..9b339daeb 100644
--- a/src/apps/mplayerc/PPageFileInfoDetails.cpp
+++ b/src/apps/mplayerc/PPageFileInfoDetails.cpp
@@ -69,20 +69,6 @@ void CPPageFileInfoDetails::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CPPageFileInfoDetails, CPropertyPage)
END_MESSAGE_MAP()
-inline int LNKO(int a, int b)
-{
- if(a == 0 || b == 0)
- return(1);
-
- while(a != b)
- {
- if(a < b) b -= a;
- else if(a > b) a -= b;
- }
-
- return(a);
-}
-
// CPPageFileInfoDetails message handlers
static bool GetProperty(IFilterGraph* pFG, LPCOLESTR propName, VARIANT* vt)
@@ -244,13 +230,8 @@ BOOL CPPageFileInfoDetails::OnInitDialog()
{
m_res.Format(_T("%d x %d"), wh.cx, wh.cy);
- int lnko = 0;
- do
- {
- lnko = LNKO(arxy.cx, arxy.cy);
- if(lnko > 1) arxy.cx /= lnko, arxy.cy /= lnko;
- }
- while(lnko > 1);
+ int lnko = LNKO(arxy.cx, arxy.cy);
+ if(lnko > 1) arxy.cx /= lnko, arxy.cy /= lnko;
if(arxy.cx > 0 && arxy.cy > 0 && arxy.cx*wh.cy != arxy.cy*wh.cx)
{
diff --git a/src/apps/mplayerc/PPageFormats.cpp b/src/apps/mplayerc/PPageFormats.cpp
index 06b8094be..bf8afc85d 100644
--- a/src/apps/mplayerc/PPageFormats.cpp
+++ b/src/apps/mplayerc/PPageFormats.cpp
@@ -430,7 +430,7 @@ void CPPageFormats::SetListItemState(int nItem)
{
if(nItem < 0) return;
- CString str = AfxGetAppSettings().Formats[(int)m_list.GetItemData(nItem)].GetExtsWithPeriod();
+ CString str = AfxGetAppSettings().m_Formats[(int)m_list.GetItemData(nItem)].GetExtsWithPeriod();
CAtlList<CString> exts;
ExplodeMin(str, exts, ' ');
@@ -475,7 +475,7 @@ BOOL CPPageFormats::OnInitDialog()
m_onoff.Create(IDB_ONOFF, 12, 3, 0xffffff);
m_list.SetImageList(&m_onoff, LVSIL_SMALL);
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
mf.UpdateData(FALSE);
for(int i = 0; i < (int)mf.GetCount(); i++)
{
@@ -501,7 +501,7 @@ BOOL CPPageFormats::OnInitDialog()
AppSettings& s = AfxGetAppSettings();
bool fRtspFileExtFirst;
- engine_t e = s.Formats.GetRtspHandler(fRtspFileExtFirst);
+ engine_t e = s.m_Formats.GetRtspHandler(fRtspFileExtFirst);
m_iRtspHandler = (e==RealMedia?0:e==QuickTime?1:2);
m_fRtspFileExtFirst = fRtspFileExtFirst;
@@ -704,14 +704,14 @@ BOOL CPPageFormats::OnApply()
if(i >= 0) i = (int)m_list.GetItemData(i);
if(i >= 0)
{
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
mf[i].SetExts(m_exts);
m_exts = mf[i].GetExtsWithPeriod();
UpdateData(FALSE);
}
}
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
CString AppIcon = _T("");
TCHAR buff[_MAX_PATH];
@@ -798,7 +798,7 @@ BOOL CPPageFormats::OnApply()
AddAutoPlayToRegistry(AP_DVDMOVIE, !!m_apdvd.GetCheck());
AppSettings& s = AfxGetAppSettings();
- s.Formats.SetRtspHandler(m_iRtspHandler==0?RealMedia:m_iRtspHandler==1?QuickTime:DirectShow, !!m_fRtspFileExtFirst);
+ s.m_Formats.SetRtspHandler(m_iRtspHandler==0?RealMedia:m_iRtspHandler==1?QuickTime:DirectShow, !!m_fRtspFileExtFirst);
s.fAssociatedWithIcons = !!m_fAssociatedWithIcons.GetCheck();
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
@@ -836,7 +836,7 @@ void CPPageFormats::OnLvnItemchangedList1(NMHDR *pNMHDR, LRESULT *pResult)
if(pNMLV->iItem >= 0 && pNMLV->iSubItem == COL_CATEGORY
&& (pNMLV->uChanged&LVIF_STATE) && (pNMLV->uNewState&LVIS_SELECTED))
{
- m_exts = AfxGetAppSettings().Formats[(int)m_list.GetItemData(pNMLV->iItem)].GetExtsWithPeriod();
+ m_exts = AfxGetAppSettings().m_Formats[(int)m_list.GetItemData(pNMLV->iItem)].GetExtsWithPeriod();
UpdateData(FALSE);
}
@@ -869,7 +869,7 @@ void CPPageFormats::OnDolabeleditList(NMHDR* pNMHDR, LRESULT* pResult)
if(pItem->iItem < 0)
return;
- CMediaFormatCategory& mfc = AfxGetAppSettings().Formats[m_list.GetItemData(pItem->iItem)];
+ CMediaFormatCategory& mfc = AfxGetAppSettings().m_Formats[m_list.GetItemData(pItem->iItem)];
CAtlList<CString> sl;
int nSel = -1;
@@ -902,7 +902,7 @@ void CPPageFormats::OnEndlabeleditList(NMHDR* pNMHDR, LRESULT* pResult)
if(pItem->iItem < 0)
return;
- CMediaFormatCategory& mfc = AfxGetAppSettings().Formats[m_list.GetItemData(pItem->iItem)];
+ CMediaFormatCategory& mfc = AfxGetAppSettings().m_Formats[m_list.GetItemData(pItem->iItem)];
if(pItem->iSubItem == COL_ENGINE && pItem->lParam >= 0)
{
@@ -932,7 +932,7 @@ void CPPageFormats::OnBnClickedButton1()
void CPPageFormats::OnBnClickedButton14()
{
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
for(int i = 0, j = m_list.GetItemCount(); i < j; i++)
{
@@ -954,7 +954,7 @@ void CPPageFormats::OnBnClickedButton14()
void CPPageFormats::OnBnClickedButton13()
{
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
for(int i = 0, j = m_list.GetItemCount(); i < j; i++)
{
@@ -988,7 +988,7 @@ void CPPageFormats::OnBnClickedButton12()
int i = m_list.GetSelectionMark();
if(i < 0) return;
i = (int)m_list.GetItemData(i);
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
mf[i].RestoreDefaultExts();
m_exts = mf[i].GetExtsWithPeriod();
SetListItemState(m_list.GetSelectionMark());
@@ -1003,7 +1003,7 @@ void CPPageFormats::OnBnClickedButton11()
int i = m_list.GetSelectionMark();
if(i < 0) return;
i = (int)m_list.GetItemData(i);
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
mf[i].SetExts(m_exts);
m_exts = mf[i].GetExtsWithPeriod();
SetListItemState(m_list.GetSelectionMark());
@@ -1025,7 +1025,7 @@ void CPPageFormats::OnUpdateButtonDefault(CCmdUI* pCmdUI)
CString orgexts, newexts;
GetDlgItem(IDC_EDIT1)->GetWindowText(newexts);
newexts.Trim();
- orgexts = AfxGetAppSettings().Formats[i].GetBackupExtsWithPeriod();
+ orgexts = AfxGetAppSettings().m_Formats[i].GetBackupExtsWithPeriod();
pCmdUI->Enable(!!newexts.CompareNoCase(orgexts));
}
@@ -1043,7 +1043,7 @@ void CPPageFormats::OnUpdateButtonSet(CCmdUI* pCmdUI)
CString orgexts, newexts;
GetDlgItem(IDC_EDIT1)->GetWindowText(newexts);
newexts.Trim();
- orgexts = AfxGetAppSettings().Formats[i].GetExtsWithPeriod();
+ orgexts = AfxGetAppSettings().m_Formats[i].GetExtsWithPeriod();
pCmdUI->Enable(!!newexts.CompareNoCase(orgexts));
}
diff --git a/src/apps/mplayerc/PPageFullscreen.cpp b/src/apps/mplayerc/PPageFullscreen.cpp
index dcd759229..b74adf5b8 100644
--- a/src/apps/mplayerc/PPageFullscreen.cpp
+++ b/src/apps/mplayerc/PPageFullscreen.cpp
@@ -93,10 +93,10 @@ BOOL CPPageFullscreen::OnInitDialog()
AppSettings& s = AfxGetAppSettings();
- m_launchfullscreen = s.launchfullscreen;
+ m_launchfullscreen = s.fLaunchfullscreen;
m_AutoChangeFullscrRes = s.AutoChangeFullscrRes;
m_fSetDefault = s.AutoChangeFullscrRes.bApplyDefault;
- m_f_hmonitor = s.f_hmonitor;
+ m_f_hmonitor = s.strFullScreenMonitor;
m_iShowBarsWhenFullScreen = s.fShowBarsWhenFullScreen;
m_nShowBarsWhenFullScreenTimeOut = s.nShowBarsWhenFullScreenTimeOut;
m_nTimeOutCtrl.SetRange(-1, 10);
@@ -184,8 +184,8 @@ BOOL CPPageFullscreen::OnApply()
}
m_AutoChangeFullscrRes.bApplyDefault = m_fSetDefault;
s.AutoChangeFullscrRes = m_AutoChangeFullscrRes;
- s.launchfullscreen = !!m_launchfullscreen;
- s.f_hmonitor = m_f_hmonitor;
+ s.fLaunchfullscreen = !!m_launchfullscreen;
+ s.strFullScreenMonitor = m_f_hmonitor;
s.fShowBarsWhenFullScreen = !!m_iShowBarsWhenFullScreen;
s.nShowBarsWhenFullScreenTimeOut = m_nShowBarsWhenFullScreenTimeOut;
s.fExitFullScreenAtTheEnd = !!m_fExitFullScreenAtTheEnd;
@@ -239,7 +239,7 @@ void CPPageFullscreen::OnUpdateFullScrCombo()
{
CMonitors monitors;
m_f_hmonitor = m_MonitorDisplayNames[m_iMonitorTypeCtrl.GetCurSel()];
- if(AfxGetAppSettings().f_hmonitor != m_f_hmonitor) m_AutoChangeFullscrRes.bEnabled = false;
+ if(AfxGetAppSettings().strFullScreenMonitor != m_f_hmonitor) m_AutoChangeFullscrRes.bEnabled = false;
ModesUpdate();
SetModified();
}
diff --git a/src/apps/mplayerc/PPageInternalFilters.cpp b/src/apps/mplayerc/PPageInternalFilters.cpp
index 291ac564e..08ef9b47c 100644
--- a/src/apps/mplayerc/PPageInternalFilters.cpp
+++ b/src/apps/mplayerc/PPageInternalFilters.cpp
@@ -40,160 +40,161 @@ static struct filter_t
s_filters[] =
{
#if INTERNAL_SOURCEFILTER_AVI
- {_T("AVI"), 0, SRC_AVI, IDS_SRC_AVI, NULL},
+ {_T("AVI"), SOURCE_FILTER, SRC_AVI, IDS_SRC_AVI, NULL},
#endif
#if INTERNAL_SOURCEFILTER_CDDA
- {_T("CDDA (Audio CD)"), 0, SRC_CDDA, IDS_SRC_CDDA, NULL},
+ {_T("CDDA (Audio CD)"), SOURCE_FILTER, SRC_CDDA, IDS_SRC_CDDA, NULL},
#endif
#if INTERNAL_SOURCEFILTER_CDXA
- {_T("CDXA (VCD/SVCD/XCD)"), 0, SRC_CDXA, IDS_SRC_CDXA, NULL},
+ {_T("CDXA (VCD/SVCD/XCD)"), SOURCE_FILTER, SRC_CDXA, IDS_SRC_CDXA, NULL},
#endif
#if INTERNAL_SOURCEFILTER_DIRAC
- {_T("Dirac"), 0, SRC_DIRAC, IDS_SRC_DIRAC, NULL},
+ {_T("Dirac"), SOURCE_FILTER, SRC_DIRAC, IDS_SRC_DIRAC, NULL},
#endif
#if INTERNAL_SOURCEFILTER_DSM
- {_T("DirectShow Media"), 0, SRC_DSM, IDS_SRC_DSM, NULL},
+ {_T("DirectShow Media"), SOURCE_FILTER, SRC_DSM, IDS_SRC_DSM, NULL},
#endif
#if INTERNAL_SOURCEFILTER_DTSAC3
- {_T("DTS/AC3"), 0, SRC_DTSAC3, IDS_SRC_DTSAC3, NULL},
+ {_T("DTS/AC3"), SOURCE_FILTER, SRC_DTSAC3, IDS_SRC_DTSAC3, NULL},
#endif
#if INTERNAL_SOURCEFILTER_VTS
- {_T("DVD Video Title Set"), 0, SRC_VTS, IDS_SRC_VTS, NULL},
+ {_T("DVD Video Title Set"), SOURCE_FILTER, SRC_VTS, IDS_SRC_VTS, NULL},
#endif
#if INTERNAL_SOURCEFILTER_DVSOURCE
- {_T("DVD2AVI Project File"), 0, SRC_D2V, IDS_SRC_D2V, NULL},
+ {_T("DVD2AVI Project File"), SOURCE_FILTER, SRC_D2V, IDS_SRC_D2V, NULL},
#endif
#if INTERNAL_SOURCEFILTER_FLIC
- {_T("FLI/FLC"), 0, SRC_FLIC, IDS_SRC_FLIC, NULL},
+ {_T("FLI/FLC"), SOURCE_FILTER, SRC_FLIC, IDS_SRC_FLIC, NULL},
#endif
#if INTERNAL_SOURCEFILTER_FLAC
- {_T("Flac"), 0, SRC_FLAC, IDS_SRC_FLAC, NULL},
+ {_T("Flac"), SOURCE_FILTER, SRC_FLAC, IDS_SRC_FLAC, NULL},
#endif
#if INTERNAL_SOURCEFILTER_FLV
- {_T("FLV"), 0, SRC_FLV, IDS_SRC_FLV, NULL},
+ {_T("FLV"), SOURCE_FILTER, SRC_FLV, IDS_SRC_FLV, NULL},
#endif
#if INTERNAL_SOURCEFILTER_MATROSKA
- {_T("Matroska"), 0, SRC_MATROSKA, IDS_SRC_MATROSKA, NULL},
+ {_T("Matroska"), SOURCE_FILTER, SRC_MATROSKA, IDS_SRC_MATROSKA, NULL},
#endif
#if INTERNAL_SOURCEFILTER_MP4
- {_T("MP4/MOV"), 0, SRC_MP4, IDS_SRC_MP4, NULL},
+ {_T("MP4/MOV"), SOURCE_FILTER, SRC_MP4, IDS_SRC_MP4, NULL},
#endif
#if INTERNAL_SOURCEFILTER_MPEGAUDIO
- {_T("MPEG Audio"), 0, SRC_MPA, IDS_SRC_MPA, NULL},
+ {_T("MPEG Audio"), SOURCE_FILTER, SRC_MPA, IDS_SRC_MPA, NULL},
#endif
#if INTERNAL_SOURCEFILTER_MPEG
- {_T("MPEG PS/TS/PVA"), 0, SRC_MPEG, 0, NULL},
+ {_T("MPEG PS/TS/PVA"), SOURCE_FILTER, SRC_MPEG, 0, NULL},
#endif
#if INTERNAL_SOURCEFILTER_NUT
- {_T("Nut"), 0, SRC_NUT, IDS_SRC_NUT, NULL},
+ {_T("Nut"), SOURCE_FILTER, SRC_NUT, IDS_SRC_NUT, NULL},
#endif
#if INTERNAL_SOURCEFILTER_OGG
- {_T("Ogg"), 0, SRC_OGG, IDS_SRC_OGG, NULL},
+ {_T("Ogg"), SOURCE_FILTER, SRC_OGG, IDS_SRC_OGG, NULL},
#endif
#if INTERNAL_SOURCEFILTER_REALMEDIA
- {_T("RealMedia"), 0, SRC_REALMEDIA, IDS_SRC_REALMEDIA, NULL},
+ {_T("RealMedia"), SOURCE_FILTER, SRC_REALMEDIA, IDS_SRC_REALMEDIA, NULL},
#endif
#if INTERNAL_SOURCEFILTER_ROQ
- {_T("RoQ"), 0, SRC_ROQ, IDS_SRC_ROQ, NULL},
+ {_T("RoQ"), SOURCE_FILTER, SRC_ROQ, IDS_SRC_ROQ, NULL},
#endif
#if INTERNAL_SOURCEFILTER_SHOUTCAST
- {_T("SHOUTcast"), 0, SRC_SHOUTCAST, IDS_SRC_SHOUTCAST, NULL},
+ {_T("SHOUTcast"), SOURCE_FILTER, SRC_SHOUTCAST, IDS_SRC_SHOUTCAST, NULL},
#endif
+
#if INTERNAL_DECODER_AAC
- {_T("AAC"), 1, TRA_AAC, IDS_TRA_AAC, CreateInstance<CMpaDecFilter>},
+ {_T("AAC"), DECODER, TRA_AAC, IDS_TRA_AAC, CreateInstance<CMpaDecFilter>},
#endif
#if INTERNAL_DECODER_AC3
- {_T("AC3"), 1, TRA_AC3, IDS_TRA_AC3, CreateInstance<CMpaDecFilter>},
+ {_T("AC3"), DECODER, TRA_AC3, IDS_TRA_AC3, CreateInstance<CMpaDecFilter>},
#endif
#if INTERNAL_DECODER_DTS
- {_T("DTS"), 1, TRA_DTS, IDS_TRA_DTS, CreateInstance<CMpaDecFilter>},
- {_T("LPCM"), 1, TRA_LPCM, IDS_TRA_LPCM, CreateInstance<CMpaDecFilter>},
+ {_T("DTS"), DECODER, TRA_DTS, IDS_TRA_DTS, CreateInstance<CMpaDecFilter>},
+ {_T("LPCM"), DECODER, TRA_LPCM, IDS_TRA_LPCM, CreateInstance<CMpaDecFilter>},
#endif
#if INTERNAL_DECODER_MPEGAUDIO
- {_T("MPEG Audio"), 1, TRA_MPA, IDS_TRA_MPA, CreateInstance<CMpaDecFilter>},
+ {_T("MPEG Audio"), DECODER, TRA_MPA, IDS_TRA_MPA, CreateInstance<CMpaDecFilter>},
#endif
#if INTERNAL_DECODER_VORBIS
- {_T("Vorbis"), 1, TRA_VORBIS, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
+ {_T("Vorbis"), DECODER, TRA_VORBIS, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
#endif
#if INTERNAL_DECODER_FLAC
- {_T("FLAC"), 1, TRA_FLAC, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
+ {_T("FLAC"), DECODER, TRA_FLAC, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
#endif
#if INTERNAL_DECODER_NELLYMOSER
- {_T("Nellymoser"), 1, TRA_NELLY, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
+ {_T("Nellymoser"), DECODER, TRA_NELLY, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
#endif
#if INTERNAL_DECODER_AMR
- {_T("AMR"), 1, TRA_AMR, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
+ {_T("AMR"), DECODER, TRA_AMR, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
#endif
#if INTERNAL_DECODER_REALAUDIO
- {_T("RealAudio"), 1, TRA_RA, IDS_TRA_RA, NULL},
+ {_T("RealAudio"), DECODER, TRA_RA, IDS_TRA_RA, NULL},
#endif
#if INTERNAL_DECODER_PS2AUDIO
- {_T("PS2 Audio (PCM/ADPCM)"), 1, TRA_PS2AUD, IDS_TRA_PS2AUD, CreateInstance<CMpaDecFilter>},
+ {_T("PS2 Audio (PCM/ADPCM)"), DECODER, TRA_PS2AUD, IDS_TRA_PS2AUD, CreateInstance<CMpaDecFilter>},
#endif
#if INTERNAL_DECODER_PCM
- {_T("QT PCM"), 1, TRA_PCM, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
+ {_T("QT PCM"), DECODER, TRA_PCM, 0, NULL /* TODO: CreateInstance<CMpaDecFilter>*/},
#endif
#if INTERNAL_DECODER_MPEG1
- {_T("MPEG-1 Video"), 1, TRA_MPEG1, IDS_TRA_MPEG1, CreateInstance<CMpeg2DecFilter>},
+ {_T("MPEG-1 Video"), DECODER, TRA_MPEG1, IDS_TRA_MPEG1, CreateInstance<CMpeg2DecFilter>},
#endif
#if INTERNAL_DECODER_MPEG2
- {_T("MPEG-2 Video"), 1, TRA_MPEG2, IDS_TRA_MPEG2, CreateInstance<CMpeg2DecFilter>},
+ {_T("MPEG-2 Video"), DECODER, TRA_MPEG2, IDS_TRA_MPEG2, CreateInstance<CMpeg2DecFilter>},
#endif
#if INTERNAL_DECODER_MPEG2_DXVA
- {_T("MPEG-2 Video (DXVA)"), 2, DXVA_MPEG2, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("MPEG-2 Video (DXVA)"), DXVA_DECODER, TRA_DXVA_MPEG2, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_DIRAC
- {_T("Dirac"), 1, TRA_DIRAC, IDS_TRA_DIRAC, NULL},
+ {_T("Dirac"), DECODER, TRA_DIRAC, IDS_TRA_DIRAC, NULL},
#endif
#if INTERNAL_DECODER_REALVIDEO
- {_T("RealVideo"), 1, TRA_RV, IDS_TRA_RV, NULL},
+ {_T("RealVideo"), DECODER, TRA_RV, IDS_TRA_RV, NULL},
#endif
#if INTERNAL_DECODER_H264_DXVA
- {_T("H264/AVC (DXVA)"), 2, DXVA_H264, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("H264/AVC (DXVA)"), DXVA_DECODER, TRA_DXVA_H264, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_H264
- {_T("H264/AVC (FFmpeg)"), 3, FFM_H264, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("H264/AVC (FFmpeg)"), FFMPEG_DECODER, FFM_H264, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_VC1_DXVA
- {_T("VC1 (DXVA)"), 2, DXVA_VC1, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("VC1 (DXVA)"), DXVA_DECODER, TRA_DXVA_VC1, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_VC1
- {_T("VC1 (FFmpeg)"), 3, FFM_VC1, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("VC1 (FFmpeg)"), FFMPEG_DECODER, FFM_VC1, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_XVID
- {_T("Xvid/MPEG-4"), 3, FFM_XVID, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("Xvid/MPEG-4"), FFMPEG_DECODER, FFM_XVID, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_DIVX
- {_T("DivX"), 3, FFM_DIVX, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("DivX"), FFMPEG_DECODER, FFM_DIVX, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_MSMPEG4
- {_T("MS MPEG-4"), 3, FFM_MSMPEG4, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("MS MPEG-4"), FFMPEG_DECODER, FFM_MSMPEG4, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_FLV
- {_T("FLV1/4"), 3, FFM_FLV4, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("FLV1/4"), FFMPEG_DECODER, FFM_FLV4, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_VP6
- {_T("VP5/6"), 3, FFM_VP62, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("VP5/6"), FFMPEG_DECODER, FFM_VP62, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_VP8
- {_T("VP8"), 3, FFM_VP8, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("VP8"), FFMPEG_DECODER, FFM_VP8, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_WMV
- {_T("WMV1/2/3"), 3, FFM_WMV, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("WMV1/2/3"), FFMPEG_DECODER, FFM_WMV, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_SVQ
- {_T("SVQ1/3"), 3, FFM_SVQ3, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("SVQ1/3"), FFMPEG_DECODER, FFM_SVQ3, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_H263
- {_T("H263"), 3, FFM_H263, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("H263"), FFMPEG_DECODER, FFM_H263, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_AMVV
- {_T("AMV video"), 3, FFM_AMVV, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("AMV video"), FFMPEG_DECODER, FFM_AMVV, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
#if INTERNAL_DECODER_THEORA
- {_T("Theora"), 3, FFM_THEORA, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
+ {_T("Theora"), FFMPEG_DECODER, FFM_THEORA, IDS_TRA_FFMPEG, CreateInstance<CMPCVideoDecFilter>},
#endif
{NULL, 0, 0, 0, NULL}
};
@@ -414,35 +415,34 @@ BOOL CPPageInternalFilters::OnInitDialog()
for(int i = 0; i < countof(s_filters)-1; i++)
{
CCheckListBox* l;
- UINT* pflags;
+ bool checked;
switch(s_filters[i].type)
{
- case 0: // source filter
+ case SOURCE_FILTER: // source filter
l = &m_listSrc;
- pflags = &s.SrcFilters;
+ checked = s.SrcFilters[s_filters[i].flag];
break;
- case 1: // decoder
+ case DECODER: // decoder
l = &m_listTra;
- pflags = &s.TraFilters;
+ checked = s.TraFilters[s_filters[i].flag];
break;
- case 2: // dxva decoder
+ case DXVA_DECODER: // dxva decoder
l = &m_listTra;
- pflags = &s.DXVAFilters;
+ checked = s.DXVAFilters[s_filters[i].flag];
break;
- case 3: // ffmpeg decoder
+ case FFMPEG_DECODER: // ffmpeg decoder
l = &m_listTra;
- pflags = &s.FFmpegFilters;
+ checked = s.FFmpegFilters[s_filters[i].flag];
break;
default:
l = NULL;
- pflags = NULL;
}
- if(l && pflags)
+ if (l)
{
int Index = l->AddString(s_filters[i].label);
- l->SetCheck(Index, !!(*pflags & s_filters[i].flag));
+ l->SetCheck(Index, checked);
l->SetItemDataPtr(Index, &s_filters[i]);
}
}
@@ -459,36 +459,30 @@ BOOL CPPageInternalFilters::OnApply()
AppSettings& s = AfxGetAppSettings();
- s.SrcFilters = s.TraFilters = s.DXVAFilters = s.FFmpegFilters = 0;
-
- CList<filter_t*> fl;
- for(int i = 0; i < m_listSrc.GetCount(); i++)
- if(m_listSrc.GetCheck(i))
- fl.AddTail((filter_t*)m_listSrc.GetItemDataPtr(i));
- for(int i = 0; i < m_listTra.GetCount(); i++)
- if(m_listTra.GetCheck(i))
- fl.AddTail((filter_t*)m_listTra.GetItemDataPtr(i));
-
- POSITION pos = fl.GetHeadPosition();
- while(pos)
+ CPPageInternalFiltersListBox* list = &m_listSrc;
+ for (int l=0; l<2; l++)
{
- filter_t* f = fl.GetNext(pos);
-
- switch(f->type)
+ for(int i = 0; i < list->GetCount(); i++)
{
- case 0:
- s.SrcFilters |= f->flag;
- break;
- case 1:
- s.TraFilters |= f->flag;
- break;
- case 2:
- s.DXVAFilters |= f->flag;
- break;
- case 3:
- s.FFmpegFilters |= f->flag;
- break;
+ filter_t* f = (filter_t*) list->GetItemDataPtr(i);
+
+ switch(f->type)
+ {
+ case SOURCE_FILTER:
+ s.SrcFilters[f->flag] = list->GetCheck(i);
+ break;
+ case DECODER:
+ s.TraFilters[f->flag] = list->GetCheck(i);
+ break;
+ case DXVA_DECODER:
+ s.DXVAFilters[f->flag] = list->GetCheck(i);
+ break;
+ case FFMPEG_DECODER:
+ s.FFmpegFilters[f->flag] = list->GetCheck(i);
+ break;
+ }
}
+ list = &m_listTra;
}
return __super::OnApply();
diff --git a/src/apps/mplayerc/PPageLogo.cpp b/src/apps/mplayerc/PPageLogo.cpp
index 6eaf8d804..e8f03102c 100644
--- a/src/apps/mplayerc/PPageLogo.cpp
+++ b/src/apps/mplayerc/PPageLogo.cpp
@@ -72,15 +72,15 @@ BOOL CPPageLogo::OnInitDialog()
AppSettings& s = AfxGetAppSettings();
- m_intext = s.logoext?1:0;
- m_logofn = s.logofn;
+ m_intext = s.fLogoExternal?1:0;
+ m_logofn = s.strLogoFileName;
UpdateData(FALSE);
m_logoidpos = m_logoids.GetHeadPosition();
for(POSITION pos = m_logoids.GetHeadPosition(); pos; m_logoids.GetNext(pos))
{
- if(m_logoids.GetAt(pos) == s.logoid)
+ if(m_logoids.GetAt(pos) == s.nLogoId)
{
m_logoidpos = pos;
break;
@@ -100,9 +100,9 @@ BOOL CPPageLogo::OnApply()
AppSettings& s = AfxGetAppSettings();
- s.logoext = !!m_intext;
- s.logofn = m_logofn;
- s.logoid = m_logoids.GetAt(m_logoidpos);
+ s.fLogoExternal = !!m_intext;
+ s.strLogoFileName = m_logofn;
+ s.nLogoId = m_logoids.GetAt(m_logoidpos);
((CMainFrame*)AfxGetMainWnd())->m_wndView.LoadLogo();
diff --git a/src/apps/mplayerc/PPageOutput.cpp b/src/apps/mplayerc/PPageOutput.cpp
index ca8a17d3a..b5548c0ef 100644
--- a/src/apps/mplayerc/PPageOutput.cpp
+++ b/src/apps/mplayerc/PPageOutput.cpp
@@ -168,7 +168,7 @@ BOOL CPPageOutput::OnInitDialog()
}
m_iAudioRendererTypeCtrl.AddString(Cbstr);
- if(s.AudioRendererDisplayName == str && m_iAudioRendererType == 0)
+ if(s.strAudioRendererDisplayName == str && m_iAudioRendererType == 0)
{
m_iAudioRendererType = m_iAudioRendererTypeCtrl.GetCount()-1;
}
@@ -179,19 +179,19 @@ BOOL CPPageOutput::OnInitDialog()
Cbstr.Format(_T("%d: %s"), i++, AUDRNDT_NULL_COMP);
m_AudioRendererDisplayNames.Add(AUDRNDT_NULL_COMP);
m_iAudioRendererTypeCtrl.AddString(Cbstr);
- if(s.AudioRendererDisplayName == AUDRNDT_NULL_COMP && m_iAudioRendererType == 0)
+ if(s.strAudioRendererDisplayName == AUDRNDT_NULL_COMP && m_iAudioRendererType == 0)
m_iAudioRendererType = m_iAudioRendererTypeCtrl.GetCount()-1;
Cbstr.Format(_T("%d: %s"), i++, AUDRNDT_NULL_UNCOMP);
m_AudioRendererDisplayNames.Add(AUDRNDT_NULL_UNCOMP);
m_iAudioRendererTypeCtrl.AddString(Cbstr);
- if(s.AudioRendererDisplayName == AUDRNDT_NULL_UNCOMP && m_iAudioRendererType == 0)
+ if(s.strAudioRendererDisplayName == AUDRNDT_NULL_UNCOMP && m_iAudioRendererType == 0)
m_iAudioRendererType = m_iAudioRendererTypeCtrl.GetCount()-1;
Cbstr.Format(_T("%d: %s"), i++, AUDRNDT_MPC);
m_AudioRendererDisplayNames.Add(AUDRNDT_MPC);
m_iAudioRendererTypeCtrl.AddString(Cbstr);
- if(s.AudioRendererDisplayName == AUDRNDT_MPC && m_iAudioRendererType == 0)
+ if(s.strAudioRendererDisplayName == AUDRNDT_MPC && m_iAudioRendererType == 0)
m_iAudioRendererType = m_iAudioRendererTypeCtrl.GetCount()-1;
@@ -231,7 +231,7 @@ BOOL CPPageOutput::OnInitDialog()
{
m_iD3D9RenderDeviceCtrl.AddString(d3ddevice_str);
m_D3D9GUIDNames.Add(cstrGUID);
- if (s.D3D9RenderDevice == cstrGUID)
+ if (renderersSettings.D3D9RenderDevice == cstrGUID)
m_iD3D9RenderDevice = m_iD3D9RenderDeviceCtrl.GetCount()-1;
}
}
@@ -329,7 +329,7 @@ BOOL CPPageOutput::OnApply()
renderersSettings.fVMR9MixerMode = !!m_fVMR9MixerMode;
renderersSettings.fVMR9MixerYUV = !!m_fVMR9MixerYUV;
renderersSettings.m_RenderSettings.fVMR9AlterativeVSync = m_fVMR9AlterativeVSync != 0;
- s.AudioRendererDisplayName = m_AudioRendererDisplayNames[m_iAudioRendererType];
+ s.strAudioRendererDisplayName = m_AudioRendererDisplayNames[m_iAudioRendererType];
s.fD3DFullscreen = m_fD3DFullscreen ? true : false;
renderersSettings.fResetDevice = !!m_fResetDevice;
@@ -343,7 +343,7 @@ BOOL CPPageOutput::OnApply()
else
renderersSettings.iEvrBuffers = 5;
- s.D3D9RenderDevice = m_fD3D9RenderDevice ? m_D3D9GUIDNames[m_iD3D9RenderDevice] : _T("");
+ renderersSettings.D3D9RenderDevice = m_fD3D9RenderDevice ? m_D3D9GUIDNames[m_iD3D9RenderDevice] : _T("");
return __super::OnApply();
}
diff --git a/src/apps/mplayerc/PPagePlayback.cpp b/src/apps/mplayerc/PPagePlayback.cpp
index ca1f25c9d..485a5e6eb 100644
--- a/src/apps/mplayerc/PPagePlayback.cpp
+++ b/src/apps/mplayerc/PPagePlayback.cpp
@@ -110,8 +110,8 @@ BOOL CPPagePlayback::OnInitDialog()
m_fAutoloadSubtitles = s.fAutoloadSubtitles;
m_fEnableWorkerThreadForOpening = s.fEnableWorkerThreadForOpening;
m_fReportFailedPins = s.fReportFailedPins;
- m_subtitlesLanguageOrder = s.m_subtitlesLanguageOrder;
- m_audiosLanguageOrder = s.m_audiosLanguageOrder;
+ m_subtitlesLanguageOrder = s.strSubtitlesLanguageOrder;
+ m_audiosLanguageOrder = s.strAudiosLanguageOrder;
UpdateData(FALSE);
@@ -136,8 +136,8 @@ BOOL CPPagePlayback::OnApply()
s.fAutoloadSubtitles = !!m_fAutoloadSubtitles;
s.fEnableWorkerThreadForOpening = !!m_fEnableWorkerThreadForOpening;
s.fReportFailedPins = !!m_fReportFailedPins;
- s.m_subtitlesLanguageOrder = m_subtitlesLanguageOrder;
- s.m_audiosLanguageOrder = m_audiosLanguageOrder;
+ s.strSubtitlesLanguageOrder = m_subtitlesLanguageOrder;
+ s.strAudiosLanguageOrder = m_audiosLanguageOrder;
return __super::OnApply();
}
diff --git a/src/apps/mplayerc/PPagePlayer.cpp b/src/apps/mplayerc/PPagePlayer.cpp
index a64e6b202..344e106e5 100644
--- a/src/apps/mplayerc/PPagePlayer.cpp
+++ b/src/apps/mplayerc/PPagePlayer.cpp
@@ -102,7 +102,7 @@ BOOL CPPagePlayer::OnInitDialog()
m_fUseIni = ((CMPlayerCApp*)AfxGetApp())->IsIniValid();
m_fKeepHistory = s.fKeepHistory;
m_fHideCDROMsSubMenu = s.fHideCDROMsSubMenu;
- m_priority = s.priority != NORMAL_PRIORITY_CLASS;
+ m_priority = s.dwPriority != NORMAL_PRIORITY_CLASS;
m_fShowOSD = s.fShowOSD;
m_fRememberDVDPos = s.fRememberDVDPos;
m_fRememberFilePos = s.fRememberFilePos;
@@ -133,7 +133,7 @@ BOOL CPPagePlayer::OnApply()
s.fSnapToDesktopEdges = !!m_fSnapToDesktopEdges;
s.fKeepHistory = !!m_fKeepHistory;
s.fHideCDROMsSubMenu = !!m_fHideCDROMsSubMenu;
- s.priority = !m_priority ? NORMAL_PRIORITY_CLASS : GetVersion() < 0 ? HIGH_PRIORITY_CLASS : ABOVE_NORMAL_PRIORITY_CLASS;
+ s.dwPriority = !m_priority ? NORMAL_PRIORITY_CLASS : GetVersion() < 0 ? HIGH_PRIORITY_CLASS : ABOVE_NORMAL_PRIORITY_CLASS;
s.fShowOSD = !!m_fShowOSD;
s.fLimitWindowProportions = !!m_fLimitWindowProportions;
s.fRememberDVDPos = m_fRememberDVDPos ? true : false;
@@ -149,7 +149,7 @@ BOOL CPPagePlayer::OnApply()
((CMainFrame*)AfxGetMainWnd())->ShowTrayIcon(s.fTrayIcon);
- ::SetPriorityClass(::GetCurrentProcess(), s.priority);
+ ::SetPriorityClass(::GetCurrentProcess(), s.dwPriority);
GetDlgItem(IDC_FILE_POS)->EnableWindow(s.fKeepHistory);
GetDlgItem(IDC_DVD_POS)->EnableWindow(s.fKeepHistory);
diff --git a/src/apps/mplayerc/PPageSheet.cpp b/src/apps/mplayerc/PPageSheet.cpp
index 84dce8e80..39d565941 100644
--- a/src/apps/mplayerc/PPageSheet.cpp
+++ b/src/apps/mplayerc/PPageSheet.cpp
@@ -26,6 +26,8 @@
#include "PPageSheet.h"
#include "SettingsDefines.h"
+using namespace TreePropSheet;
+
// CPPageSheet
IMPLEMENT_DYNAMIC(CPPageSheet, CTreePropSheet)
@@ -52,7 +54,6 @@ CPPageSheet::CPPageSheet(LPCTSTR pszCaption, IFilterGraph* pFG, CWnd* pParentWnd
AddPage(&m_externalfilters);
AddPage(&m_subtitles);
AddPage(&m_substyle);
- AddPage(&m_subdb);
AddPage(&m_subMisc);
AddPage(&m_tweaks);
AddPage(&m_casimir);
@@ -62,7 +63,7 @@ CPPageSheet::CPPageSheet(LPCTSTR pszCaption, IFilterGraph* pFG, CWnd* pParentWnd
SetTreeViewMode(TRUE, TRUE, FALSE);
if(!idPage)
- idPage = AfxGetApp()->GetProfileInt(IDS_R_SETTINGS, _T("LastUsedPage"), 0);
+ idPage = AfxGetAppSettings().nLastUsedPage;
if(idPage)
{
for(int i = 0; i < GetPageCount(); i++)
diff --git a/src/apps/mplayerc/PPageSheet.h b/src/apps/mplayerc/PPageSheet.h
index b181c4036..f8b4c78df 100644
--- a/src/apps/mplayerc/PPageSheet.h
+++ b/src/apps/mplayerc/PPageSheet.h
@@ -38,7 +38,6 @@
#include "PPageExternalFilters.h"
#include "PPageSubtitles.h"
#include "PPageSubStyle.h"
-#include "PPageSubDB.h"
#include "PPageSubMisc.h"
#include "PPageTweaks.h"
#include "PPageCasimir.h"
@@ -46,7 +45,6 @@
// CTreePropSheetTreeCtrl
-using namespace TreePropSheet;
class CTreePropSheetTreeCtrl : public CTreeCtrl
{
@@ -63,7 +61,7 @@ protected:
// CPPageSheet
-class CPPageSheet : public CTreePropSheet
+class CPPageSheet : public TreePropSheet::CTreePropSheet
{
DECLARE_DYNAMIC(CPPageSheet)
@@ -82,7 +80,6 @@ private:
CPPageWebServer m_webserver;
CPPageSubtitles m_subtitles;
CPPageSubStyle m_substyle;
- CPPageSubDB m_subdb;
CPPageSubMisc m_subMisc;
CPPageInternalFilters m_internalfilters;
CPPageAudioSwitcher m_audioswitcher;
diff --git a/src/apps/mplayerc/PPageSubDB.cpp b/src/apps/mplayerc/PPageSubDB.cpp
deleted file mode 100644
index b9723aba2..000000000
--- a/src/apps/mplayerc/PPageSubDB.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * $Id$
- *
- * (C) 2003-2006 Gabest
- * (C) 2006-2010 see AUTHORS
- *
- * This file is part of mplayerc.
- *
- * Mplayerc is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Mplayerc is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "stdafx.h"
-#include "mplayerc.h"
-#include "MainFrm.h"
-#include "PPageSubDB.h"
-#include "ISDb.h"
-
-
-// CPPageSubDB dialog
-
-IMPLEMENT_DYNAMIC(CPPageSubDB, CPPageBase)
-CPPageSubDB::CPPageSubDB()
- : CPPageBase(CPPageSubDB::IDD, CPPageSubDB::IDD)
- , m_ISDb(_T(""))
-{
-}
-
-CPPageSubDB::~CPPageSubDB()
-{
-}
-
-void CPPageSubDB::DoDataExchange(CDataExchange* pDX)
-{
- __super::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_COMBO1, m_ISDbCombo);
- DDX_CBString(pDX, IDC_COMBO1, m_ISDb);
-}
-
-BEGIN_MESSAGE_MAP(CPPageSubDB, CPPageBase)
- ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
- ON_UPDATE_COMMAND_UI(IDC_BUTTON1, OnUpdateButton1)
-END_MESSAGE_MAP()
-
-
-// CPPageSubDB message handlers
-
-BOOL CPPageSubDB::OnInitDialog()
-{
- __super::OnInitDialog();
-
- AppSettings& s = AfxGetAppSettings();
-
- m_ISDb = s.ISDb;
- m_ISDbCombo.AddString(m_ISDb);
- if(m_ISDb.CompareNoCase(_T("www.opensubtitles.org/isdb")))
- m_ISDbCombo.AddString(_T("www.opensubtitles.org/isdb"));
-
- UpdateData(FALSE);
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-BOOL CPPageSubDB::OnApply()
-{
- UpdateData();
-
- AppSettings& s = AfxGetAppSettings();
-
- s.ISDb = m_ISDb;
- s.ISDb.TrimRight('/');
-
- return __super::OnApply();
-}
-
-void CPPageSubDB::OnBnClickedButton1()
-{
- CString ISDb, ver, msg, str;
-
- m_ISDbCombo.GetWindowText(ISDb);
- ISDb.TrimRight('/');
-
- ver.Format(_T("ISDb v%d"), ISDb_PROTOCOL_VERSION);
-
- CWebTextFile wtf;
- if(wtf.Open(_T("http://") + ISDb + _T("/test.php")) && wtf.ReadString(str) && str == ver)
- {
- msg = ResStr(IDS_PPSDB_URLCORRECT);
- }
- else if(str.Find(_T("ISDb v")) == 0)
- {
- msg = ResStr(IDS_PPSDB_PROTOCOLERR);
- }
- else
- {
- msg = ResStr(IDS_PPSDB_BADURL);
- }
-
- AfxMessageBox(msg, MB_OK);
-}
-
-void CPPageSubDB::OnUpdateButton1(CCmdUI* pCmdUI)
-{
- pCmdUI->Enable(m_ISDbCombo.GetWindowTextLength() > 0);
-}
diff --git a/src/apps/mplayerc/PPageSubDB.h b/src/apps/mplayerc/PPageSubDB.h
deleted file mode 100644
index a2c65ec43..000000000
--- a/src/apps/mplayerc/PPageSubDB.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * $Id$
- *
- * (C) 2003-2006 Gabest
- * (C) 2006-2010 see AUTHORS
- *
- * This file is part of mplayerc.
- *
- * Mplayerc is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Mplayerc is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#pragma once
-
-#include "afxwin.h"
-
-
-// CPPageSubDB dialog
-
-class CPPageSubDB : public CPPageBase
-{
- DECLARE_DYNAMIC(CPPageSubDB)
-
-public:
- CPPageSubDB();
- virtual ~CPPageSubDB();
-
-// Dialog Data
- enum { IDD = IDD_PPAGESUBDB };
- CComboBox m_ISDbCombo;
- CString m_ISDb;
-
-protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnInitDialog();
- virtual BOOL OnApply();
-
- DECLARE_MESSAGE_MAP()
-
-public:
- afx_msg void OnBnClickedButton1();
- afx_msg void OnUpdateButton1(CCmdUI* pCmdUI);
-};
diff --git a/src/apps/mplayerc/PPageSubMisc.cpp b/src/apps/mplayerc/PPageSubMisc.cpp
index 39fd42635..329c0afa4 100644
--- a/src/apps/mplayerc/PPageSubMisc.cpp
+++ b/src/apps/mplayerc/PPageSubMisc.cpp
@@ -23,7 +23,7 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "PPageSubMisc.h"
-
+#include "ISDb.h"
// CPPageSubMisc dialog
@@ -34,6 +34,7 @@ CPPageSubMisc::CPPageSubMisc()
, m_fPrioritizeExternalSubtitles(FALSE)
, m_fDisableInternalSubtitles(FALSE)
, m_szAutoloadPaths("")
+ , m_ISDb(_T(""))
{
}
@@ -48,6 +49,8 @@ void CPPageSubMisc::DoDataExchange(CDataExchange* pDX)
DDX_Check(pDX, IDC_CHECK1, m_fPrioritizeExternalSubtitles);
DDX_Check(pDX, IDC_CHECK2, m_fDisableInternalSubtitles);
DDX_Text(pDX, IDC_EDIT1, m_szAutoloadPaths);
+ DDX_Control(pDX, IDC_COMBO1, m_ISDbCombo);
+ DDX_CBString(pDX, IDC_COMBO1, m_ISDb);
}
BOOL CPPageSubMisc::OnInitDialog()
@@ -58,7 +61,12 @@ BOOL CPPageSubMisc::OnInitDialog()
m_fPrioritizeExternalSubtitles = s.fPrioritizeExternalSubtitles;
m_fDisableInternalSubtitles = s.fDisableInternalSubtitles;
- m_szAutoloadPaths = s.szSubtitlePaths;
+ m_szAutoloadPaths = s.strSubtitlePaths;
+
+ m_ISDb = s.strISDb;
+ m_ISDbCombo.AddString(m_ISDb);
+ if(m_ISDb.CompareNoCase(_T("www.opensubtitles.org/isdb")))
+ m_ISDbCombo.AddString(_T("www.opensubtitles.org/isdb"));
UpdateData(FALSE);
@@ -73,11 +81,58 @@ BOOL CPPageSubMisc::OnApply()
s.fPrioritizeExternalSubtitles = m_fPrioritizeExternalSubtitles;
s.fDisableInternalSubtitles = m_fDisableInternalSubtitles;
- s.szSubtitlePaths = m_szAutoloadPaths;
+ s.strSubtitlePaths = m_szAutoloadPaths;
+
+ s.strISDb = m_ISDb;
+ s.strISDb.TrimRight('/');
return __super::OnApply();
}
BEGIN_MESSAGE_MAP(CPPageSubMisc, CPPageBase)
+ ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
+ ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
+ ON_UPDATE_COMMAND_UI(IDC_BUTTON2, OnUpdateButton2)
END_MESSAGE_MAP()
+
+void CPPageSubMisc::OnBnClickedButton1()
+{
+ UpdateData();
+
+ AppSettings& s = AfxGetAppSettings();
+ m_szAutoloadPaths = s.strSubtitlePaths;
+
+ UpdateData(FALSE);
+}
+
+void CPPageSubMisc::OnBnClickedButton2()
+{
+ CString ISDb, ver, msg, str;
+
+ m_ISDbCombo.GetWindowText(ISDb);
+ ISDb.TrimRight('/');
+
+ ver.Format(_T("ISDb v%d"), ISDb_PROTOCOL_VERSION);
+
+ CWebTextFile wtf;
+ if(wtf.Open(_T("http://") + ISDb + _T("/test.php")) && wtf.ReadString(str) && str == ver)
+ {
+ msg = ResStr(IDS_PPSDB_URLCORRECT);
+ }
+ else if(str.Find(_T("ISDb v")) == 0)
+ {
+ msg = ResStr(IDS_PPSDB_PROTOCOLERR);
+ }
+ else
+ {
+ msg = ResStr(IDS_PPSDB_BADURL);
+ }
+
+ AfxMessageBox(msg, MB_OK);
+}
+
+void CPPageSubMisc::OnUpdateButton2(CCmdUI* pCmdUI)
+{
+ pCmdUI->Enable(m_ISDbCombo.GetWindowTextLength() > 0);
+}
diff --git a/src/apps/mplayerc/PPageSubMisc.h b/src/apps/mplayerc/PPageSubMisc.h
index 8b1d8fa35..af10f6238 100644
--- a/src/apps/mplayerc/PPageSubMisc.h
+++ b/src/apps/mplayerc/PPageSubMisc.h
@@ -39,6 +39,8 @@ public:
BOOL m_fPrioritizeExternalSubtitles;
BOOL m_fDisableInternalSubtitles;
CString m_szAutoloadPaths;
+ CComboBox m_ISDbCombo;
+ CString m_ISDb;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
@@ -47,4 +49,7 @@ protected:
DECLARE_MESSAGE_MAP()
public:
+ afx_msg void OnBnClickedButton1();
+ afx_msg void OnBnClickedButton2();
+ afx_msg void OnUpdateButton2(CCmdUI* pCmdUI);
};
diff --git a/src/apps/mplayerc/PPageTweaks.cpp b/src/apps/mplayerc/PPageTweaks.cpp
index 39a7e491b..4c79b9aab 100644
--- a/src/apps/mplayerc/PPageTweaks.cpp
+++ b/src/apps/mplayerc/PPageTweaks.cpp
@@ -96,12 +96,12 @@ BOOL CPPageTweaks::OnInitDialog()
m_fNotifyMSN = s.fNotifyMSN;
m_fNotifyGTSdll = s.fNotifyGTSdll;
- m_fPreventMinimize = s.m_fPreventMinimize;
- m_fUseWin7TaskBar = s.m_fUseWin7TaskBar;
- m_fDontUseSearchInFolder =s.m_fDontUseSearchInFolder;
+ m_fPreventMinimize = s.fPreventMinimize;
+ m_fUseWin7TaskBar = s.fUseWin7TaskBar;
+ m_fDontUseSearchInFolder =s.fDontUseSearchInFolder;
- m_OSD_Size = s.nOSD_Size;
- m_OSD_Font = s.m_OSD_Font;
+ m_OSD_Size = s.nOSDSize;
+ m_OSD_Font = s.strOSDFont;
CString str;
int iSel = 0;
@@ -151,11 +151,11 @@ BOOL CPPageTweaks::OnApply()
s.fNotifyMSN = !!m_fNotifyMSN;
s.fNotifyGTSdll = !!m_fNotifyGTSdll;
- s.m_fPreventMinimize = m_fPreventMinimize;
- s.m_fUseWin7TaskBar = m_fUseWin7TaskBar;
- s.m_fDontUseSearchInFolder = m_fDontUseSearchInFolder;
- s.nOSD_Size = m_OSD_Size;
- m_FontType.GetLBText(m_FontType.GetCurSel(),s.m_OSD_Font);
+ s.fPreventMinimize = m_fPreventMinimize;
+ s.fUseWin7TaskBar = m_fUseWin7TaskBar;
+ s.fDontUseSearchInFolder = m_fDontUseSearchInFolder;
+ s.nOSDSize = m_OSD_Size;
+ m_FontType.GetLBText(m_FontType.GetCurSel(),s.strOSDFont);
CMainFrame* pFrame = ((CMainFrame*)GetParentFrame());
if(m_fUseWin7TaskBar) pFrame->CreateThumbnailToolbar();
diff --git a/src/apps/mplayerc/PPageWebServer.cpp b/src/apps/mplayerc/PPageWebServer.cpp
index 2f0749259..0b3ba27bf 100644
--- a/src/apps/mplayerc/PPageWebServer.cpp
+++ b/src/apps/mplayerc/PPageWebServer.cpp
@@ -100,11 +100,11 @@ BOOL CPPageWebServer::OnInitDialog()
m_fWebServerPrintDebugInfo = s.fWebServerPrintDebugInfo;
m_fWebServerLocalhostOnly = s.fWebServerLocalhostOnly;
m_fWebServerUseCompression = s.fWebServerUseCompression;
- m_fWebRoot = s.WebRoot.Find('*') < 0;
- m_WebRoot = s.WebRoot;
+ m_fWebRoot = s.strWebRoot.Find('*') < 0;
+ m_WebRoot = s.strWebRoot;
m_WebRoot.TrimLeft(_T("*"));
- m_WebDefIndex = s.WebDefIndex;
- m_WebServerCGI = s.WebServerCGI;
+ m_WebDefIndex = s.strWebDefIndex;
+ m_WebServerCGI = s.strWebServerCGI;
UpdateData(FALSE);
@@ -124,16 +124,16 @@ BOOL CPPageWebServer::OnApply()
if(!m_fWebRoot) NewWebRoot = _T("*") + NewWebRoot;
bool fRestart = s.nWebServerPort != m_nWebServerPort
- || s.WebRoot != NewWebRoot || s.WebServerCGI != m_WebServerCGI;
+ || s.strWebRoot != NewWebRoot || s.strWebServerCGI != m_WebServerCGI;
s.fEnableWebServer = !!m_fEnableWebServer;
s.nWebServerPort = m_nWebServerPort;
s.fWebServerPrintDebugInfo = !!m_fWebServerPrintDebugInfo;
s.fWebServerLocalhostOnly = !!m_fWebServerLocalhostOnly;
s.fWebServerUseCompression = !!m_fWebServerUseCompression;
- s.WebRoot = NewWebRoot;
- s.WebDefIndex = m_WebDefIndex;
- s.WebServerCGI = m_WebServerCGI;
+ s.strWebRoot = NewWebRoot;
+ s.strWebDefIndex = m_WebDefIndex;
+ s.strWebServerCGI = m_WebServerCGI;
if(CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd())
{
diff --git a/src/apps/mplayerc/PlayerCaptureDialog.cpp b/src/apps/mplayerc/PlayerCaptureDialog.cpp
index b9a35af7e..cebe187e1 100644
--- a/src/apps/mplayerc/PlayerCaptureDialog.cpp
+++ b/src/apps/mplayerc/PlayerCaptureDialog.cpp
@@ -45,7 +45,7 @@ static bool LoadMediaType(CStringW DisplayName, AM_MEDIA_TYPE** ppmt)
BYTE* pData;
UINT len;
- if(AfxGetApp()->GetProfileBinary(_T("Capture\\") + CString(DisplayName), _T("MediaType"), &pData, &len))
+ if(AfxGetApp()->GetProfileBinary(IDS_RS_CAPTURE _T("\\") + CString(DisplayName), _T("MediaType"), &pData, &len))
{
if ( len != sizeof(AM_MEDIA_TYPE) )
{
@@ -60,7 +60,7 @@ static bool LoadMediaType(CStringW DisplayName, AM_MEDIA_TYPE** ppmt)
fRet = true;
- if(AfxGetApp()->GetProfileBinary(_T("Capture\\") + CString(DisplayName), _T("Format"), &pData, &len))
+ if(AfxGetApp()->GetProfileBinary(IDS_RS_CAPTURE _T("\\") + CString(DisplayName), _T("Format"), &pData, &len))
{
if ( !len )
{
@@ -82,8 +82,8 @@ static void SaveMediaType(CStringW DisplayName, AM_MEDIA_TYPE* pmt)
{
if(DisplayName.IsEmpty() || !pmt) return;
- AfxGetApp()->WriteProfileBinary(_T("Capture\\") + CString(DisplayName), _T("MediaType"), (BYTE*)pmt, sizeof(AM_MEDIA_TYPE));
- AfxGetApp()->WriteProfileBinary(_T("Capture\\") + CString(DisplayName), _T("Format"), pmt->pbFormat, pmt->cbFormat);
+ AfxGetApp()->WriteProfileBinary(IDS_RS_CAPTURE _T("\\") + CString(DisplayName), _T("MediaType"), (BYTE*)pmt, sizeof(AM_MEDIA_TYPE));
+ AfxGetApp()->WriteProfileBinary(IDS_RS_CAPTURE _T("\\") + CString(DisplayName), _T("Format"), pmt->pbFormat, pmt->cbFormat);
}
static void LoadDefaultCodec(CAtlArray<Codec>& codecs, CComboBox& box, const GUID& cat)
@@ -93,7 +93,7 @@ static void LoadDefaultCodec(CAtlArray<Codec>& codecs, CComboBox& box, const GUI
if(cat == GUID_NULL) return;
- CString DisplayName = AfxGetApp()->GetProfileString(_T("Capture\\") + CStringFromGUID(cat), _T("DisplayName"));
+ CString DisplayName = AfxGetApp()->GetProfileString(IDS_RS_CAPTURE _T("\\") + CStringFromGUID(cat), _T("DisplayName"));
for(int i = 0; i < len; i++)
{
@@ -117,7 +117,7 @@ static void SaveDefaultCodec(CAtlArray<Codec>& codecs, CComboBox& box, const GUI
CString guid = CStringFromGUID(cat);
- AfxGetApp()->WriteProfileString(_T("Capture\\") + guid, NULL, NULL);
+ AfxGetApp()->WriteProfileString(IDS_RS_CAPTURE _T("\\") + guid, NULL, NULL);
int iSel = box.GetCurSel();
if(iSel < 0) return;
@@ -126,7 +126,7 @@ static void SaveDefaultCodec(CAtlArray<Codec>& codecs, CComboBox& box, const GUI
Codec& codec = codecs[iSel];
- AfxGetApp()->WriteProfileString(_T("Capture\\") + guid, _T("DisplayName"), CString(codec.DisplayName));
+ AfxGetApp()->WriteProfileString(IDS_RS_CAPTURE _T("\\") + guid, _T("DisplayName"), CString(codec.DisplayName));
}
static void SetupDefaultCaps(AM_MEDIA_TYPE* pmt, VIDEO_STREAM_CONFIG_CAPS& caps)
@@ -595,7 +595,7 @@ void CPlayerCaptureDialog::EmptyVideo()
{
long lChannel = 0, lVivSub = 0, lAudSub = 0;
m_pAMTuner->get_Channel(&lChannel, &lVivSub, &lAudSub);
- AfxGetApp()->WriteProfileInt(_T("Capture\\") + CString(m_VidDisplayName), _T("Channel"), lChannel);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE _T("\\") + CString(m_VidDisplayName), _T("Channel"), lChannel);
}
//
@@ -1293,15 +1293,15 @@ BOOL CPlayerCaptureDialog::OnInitDialog()
m_fEnableOgm = IsCLSIDRegistered(_T("{8cae96b7-85b1-4605-b23c-17ff5262b296}"));
- m_nVidBuffers = AfxGetApp()->GetProfileInt(_T("Capture"), _T("VidBuffers"), 50);
- m_nAudBuffers = AfxGetApp()->GetProfileInt(_T("Capture"), _T("AudBuffers"), 50);
- m_fVidOutput = !!AfxGetApp()->GetProfileInt(_T("Capture"), _T("VidOutput"), TRUE);
- m_fAudOutput = !!AfxGetApp()->GetProfileInt(_T("Capture"), _T("AudOutput"), TRUE);
- m_fVidPreview = AfxGetApp()->GetProfileInt(_T("Capture"), _T("VidPreview"), TRUE);
- m_fAudPreview = AfxGetApp()->GetProfileInt(_T("Capture"), _T("AudPreview"), TRUE);
- m_muxtype = AfxGetApp()->GetProfileInt(_T("Capture"), _T("FileFormat"), 0);
- m_file = AfxGetApp()->GetProfileString(_T("Capture"), _T("FileName"), _T(""));
- m_fSepAudio = AfxGetApp()->GetProfileInt(_T("Capture"), _T("SepAudio"), TRUE);
+ m_nVidBuffers = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("VidBuffers"), 50);
+ m_nAudBuffers = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("AudBuffers"), 50);
+ m_fVidOutput = !!AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("VidOutput"), TRUE);
+ m_fAudOutput = !!AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("AudOutput"), TRUE);
+ m_fVidPreview = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("VidPreview"), TRUE);
+ m_fAudPreview = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("AudPreview"), TRUE);
+ m_muxtype = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("FileFormat"), 0);
+ m_file = AfxGetApp()->GetProfileString(IDS_RS_CAPTURE, _T("FileName"), _T(""));
+ m_fSepAudio = AfxGetApp()->GetProfileInt(IDS_RS_CAPTURE, _T("SepAudio"), TRUE);
m_muxctrl.AddString(_T("AVI"));
m_muxctrl.AddString(_T("Ogg Media"));
@@ -1322,13 +1322,13 @@ void CPlayerCaptureDialog::OnDestroy()
{
UpdateData();
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("VidOutput"), m_fVidOutput);
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("AudOutput"), m_fAudOutput);
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("VidPreview"), m_fVidPreview);
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("AudPreview"), m_fAudPreview);
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("FileFormat"), m_muxtype);
- AfxGetApp()->WriteProfileString(_T("Capture"), _T("FileName"), m_file);
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("SepAudio"), m_fSepAudio);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("VidOutput"), m_fVidOutput);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("AudOutput"), m_fAudOutput);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("VidPreview"), m_fVidPreview);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("AudPreview"), m_fAudPreview);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("FileFormat"), m_muxtype);
+ AfxGetApp()->WriteProfileString(IDS_RS_CAPTURE, _T("FileName"), m_file);
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("SepAudio"), m_fSepAudio);
__super::OnDestroy();
}
@@ -1646,13 +1646,13 @@ void CPlayerCaptureDialog::OnRecord()
void CPlayerCaptureDialog::OnEnChangeEdit9()
{
UpdateData();
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("VidBuffers"), max(m_nVidBuffers, 0));
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("VidBuffers"), max(m_nVidBuffers, 0));
}
void CPlayerCaptureDialog::OnEnChangeEdit12()
{
UpdateData();
- AfxGetApp()->WriteProfileInt(_T("Capture"), _T("AudBuffers"), max(m_nAudBuffers, 0));
+ AfxGetApp()->WriteProfileInt(IDS_RS_CAPTURE, _T("AudBuffers"), max(m_nAudBuffers, 0));
}
void CPlayerCaptureDialog::OnTimer(UINT_PTR nIDEvent)
diff --git a/src/apps/mplayerc/PlayerNavigationDialog.cpp b/src/apps/mplayerc/PlayerNavigationDialog.cpp
index 282bd0da2..6dccb27d5 100644
--- a/src/apps/mplayerc/PlayerNavigationDialog.cpp
+++ b/src/apps/mplayerc/PlayerNavigationDialog.cpp
@@ -67,7 +67,8 @@ BOOL CPlayerNavigationDialog::PreTranslateMessage(MSG* pMsg)
if(pMsg->wParam == VK_RETURN)
{
CWnd* pFocused = GetFocus();
- UNUSED_ALWAYS(pFocused);
+ if (pFocused && pFocused->m_hWnd == m_ChannelList.m_hWnd)
+ return TRUE;
}
}
return __super::PreTranslateMessage(pMsg);
@@ -90,7 +91,7 @@ BOOL CPlayerNavigationDialog::OnInitDialog()
{
__super::OnInitDialog();
m_bTVStations = true;
- m_ButtonFilterStations.SetWindowText(_T(BTN_CAPTION_SEERADIO));
+ m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
@@ -120,11 +121,11 @@ void CPlayerNavigationDialog::SetupAudioSwitcherSubMenu(CDVBChannel* pChannel)
if (!pChannel)
{
- nCurrentChannel = s.DVBLastChannel;
- POSITION pos = s.DVBChannels.GetHeadPosition();
+ nCurrentChannel = s.nDVBLastChannel;
+ POSITION pos = s.m_DVBChannels.GetHeadPosition();
while (pos && !bFound)
{
- pChannel = &s.DVBChannels.GetNext(pos);
+ pChannel = &s.m_DVBChannels.GetNext(pos);
if (nCurrentChannel == pChannel->GetPrefNumber())
{
bFound = TRUE;
@@ -133,6 +134,7 @@ void CPlayerNavigationDialog::SetupAudioSwitcherSubMenu(CDVBChannel* pChannel)
}
}
+ m_ButtonInfo.EnableWindow(pChannel->GetNowNextFlag());
m_ComboAudio.ResetContent();
for (int i=0; i < pChannel->GetAudioCount(); i++)
{
@@ -143,8 +145,7 @@ void CPlayerNavigationDialog::SetupAudioSwitcherSubMenu(CDVBChannel* pChannel)
m_audios[i].Language = pChannel->GetAudio(i) -> Language;
}
- m_ComboAudio.SetCurSel(0); // TODO: managing default languages
-
+ m_ComboAudio.SetCurSel(pChannel->GetDefaultAudio());
}
void CPlayerNavigationDialog::UpdateElementList()
@@ -157,12 +158,12 @@ void CPlayerNavigationDialog::UpdateElementList()
{
m_ChannelList.ResetContent();
- nCurrentChannel = s.DVBLastChannel;
+ nCurrentChannel = s.nDVBLastChannel;
- POSITION pos = s.DVBChannels.GetHeadPosition();
+ POSITION pos = s.m_DVBChannels.GetHeadPosition();
while (pos)
{
- CDVBChannel& Channel = s.DVBChannels.GetNext(pos);
+ CDVBChannel& Channel = s.m_DVBChannels.GetNext(pos);
if ((m_bTVStations && (Channel.GetVideoPID() != 0)) ||
(!m_bTVStations && (Channel.GetAudioCount() > 0)) && (Channel.GetVideoPID() == 0))
{
@@ -206,17 +207,24 @@ void CPlayerNavigationDialog::OnSelChangeComboAudio()
{
UINT nID;
CWnd* TempWnd;
+ AppSettings& s = AfxGetAppSettings();
+ CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
nID = m_ComboAudio.GetCurSel() + ID_NAVIGATE_AUDIO_SUBITEM_START;
TempWnd = static_cast<CPlayerNavigationBar*> (m_pParent) -> m_pParent;
static_cast<CMainFrame*> (TempWnd) -> OnNavigateAudio(nID);
+
+ pChannel->SetDefaultAudio(m_ComboAudio.GetCurSel());
+ pChannel->ToString();
}
void CPlayerNavigationDialog::OnButtonInfo()
{
- // TODO: Retrieve and show channel info
+ CWnd* TempWnd;
+ TempWnd = static_cast<CPlayerNavigationBar*> (m_pParent) -> m_pParent;
+ static_cast<CMainFrame*> (TempWnd) -> DisplayCurrentChannelInfo();
}
void CPlayerNavigationDialog::OnTvRadioStations()
@@ -224,7 +232,7 @@ void CPlayerNavigationDialog::OnTvRadioStations()
m_bTVStations = !m_bTVStations;
UpdateElementList();
if (m_bTVStations)
- m_ButtonFilterStations.SetWindowText(_T(BTN_CAPTION_SEERADIO));
+ m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
else
- m_ButtonFilterStations.SetWindowText(_T(BTN_CAPTION_SEETV));
+ m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEETV));
}
diff --git a/src/apps/mplayerc/PlayerNavigationDialog.h b/src/apps/mplayerc/PlayerNavigationDialog.h
index b9b44cd48..119db4377 100644
--- a/src/apps/mplayerc/PlayerNavigationDialog.h
+++ b/src/apps/mplayerc/PlayerNavigationDialog.h
@@ -29,8 +29,6 @@
#include "DVBChannel.h"
#define MAX_CHANNELS_ALLOWED 200
-#define BTN_CAPTION_SEERADIO "Click to see Radio Stations"
-#define BTN_CAPTION_SEETV "Click to see TV Stations"
// CPlayerNavigationDialog dialog
diff --git a/src/apps/mplayerc/PlayerPlaylistBar.cpp b/src/apps/mplayerc/PlayerPlaylistBar.cpp
index 19dae4177..e81762c72 100644
--- a/src/apps/mplayerc/PlayerPlaylistBar.cpp
+++ b/src/apps/mplayerc/PlayerPlaylistBar.cpp
@@ -90,6 +90,12 @@ BOOL CPlayerPlaylistBar::PreTranslateMessage(MSG* pMsg)
{
if(IsWindow(pMsg->hwnd) && IsVisible() && pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
{
+ if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
+ {
+ GetParentFrame()->ShowControlBar(this, FALSE, TRUE);
+ return TRUE;
+ }
+
if(IsDialogMessage(pMsg))
return TRUE;
}
@@ -138,7 +144,7 @@ static bool SearchFiles(CString mask, CAtlList<CString>& sl)
mask.Trim();
sl.RemoveAll();
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
WIN32_FILE_ATTRIBUTE_DATA fad;
bool fFilterKnownExts = (GetFileAttributesEx(mask, GetFileExInfoStandard, &fad)
diff --git a/src/apps/mplayerc/PlayerSeekBar.cpp b/src/apps/mplayerc/PlayerSeekBar.cpp
index e9adf8e6a..93ca04c90 100644
--- a/src/apps/mplayerc/PlayerSeekBar.cpp
+++ b/src/apps/mplayerc/PlayerSeekBar.cpp
@@ -113,7 +113,7 @@ void CPlayerSeekBar::SetPosInternal(__int64 pos)
InvalidateRect(before | after);
CMainFrame* pFrame = ((CMainFrame*)GetParentFrame());
- if((AfxGetAppSettings().m_fUseWin7TaskBar)&&(pFrame->m_pTaskbarList))
+ if((AfxGetAppSettings().fUseWin7TaskBar)&&(pFrame->m_pTaskbarList))
pFrame->m_pTaskbarList->SetProgressValue ( pFrame->m_hWnd, pos, m_stop );
}
}
diff --git a/src/apps/mplayerc/PlayerShaderEditorBar.cpp b/src/apps/mplayerc/PlayerShaderEditorBar.cpp
index c9bc45546..53b0a0b01 100644
--- a/src/apps/mplayerc/PlayerShaderEditorBar.cpp
+++ b/src/apps/mplayerc/PlayerShaderEditorBar.cpp
@@ -58,6 +58,12 @@ BOOL CPlayerShaderEditorBar::PreTranslateMessage(MSG* pMsg)
{
if(IsWindow(pMsg->hwnd) && IsVisible() && pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
{
+ if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
+ {
+ GetParentFrame()->ShowControlBar(this, FALSE, TRUE);
+ return TRUE;
+ }
+
if(IsDialogMessage(pMsg))
return TRUE;
}
diff --git a/src/apps/mplayerc/PlayerSubresyncBar.cpp b/src/apps/mplayerc/PlayerSubresyncBar.cpp
index 1bcb250fd..94412fc94 100644
--- a/src/apps/mplayerc/PlayerSubresyncBar.cpp
+++ b/src/apps/mplayerc/PlayerSubresyncBar.cpp
@@ -70,6 +70,12 @@ BOOL CPlayerSubresyncBar::PreTranslateMessage(MSG* pMsg)
{
if(IsWindow(pMsg->hwnd) && IsVisible() && pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
{
+ if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
+ {
+ GetParentFrame()->ShowControlBar(this, FALSE, TRUE);
+ return TRUE;
+ }
+
if(IsShortCut(pMsg) || IsDialogMessage(pMsg))
return TRUE;
}
diff --git a/src/apps/mplayerc/Playlist.cpp b/src/apps/mplayerc/Playlist.cpp
index f659db5e7..c83b1acb4 100644
--- a/src/apps/mplayerc/Playlist.cpp
+++ b/src/apps/mplayerc/Playlist.cpp
@@ -39,6 +39,7 @@ CPlaylistItem::CPlaylistItem()
, m_vinput(-1)
, m_vchannel(-1)
, m_ainput(-1)
+ , m_country(0)
{
m_id = m_globalid++;
}
@@ -54,18 +55,21 @@ CPlaylistItem::CPlaylistItem(const CPlaylistItem& pli)
CPlaylistItem& CPlaylistItem::operator = (const CPlaylistItem& pli)
{
- m_id = pli.m_id;
- m_label = pli.m_label;
- m_fns.RemoveAll();
- m_fns.AddTailList(&pli.m_fns);
- m_subs.RemoveAll();
- m_subs.AddTailList(&pli.m_subs);
- m_type = pli.m_type;
- m_fInvalid = pli.m_fInvalid;
- m_duration = pli.m_duration;
- m_vinput = pli.m_vinput;
- m_vchannel = pli.m_vchannel;
- m_ainput = pli.m_ainput;
+ if(this != &pli) {
+ m_id = pli.m_id;
+ m_label = pli.m_label;
+ m_fns.RemoveAll();
+ m_fns.AddTailList(&pli.m_fns);
+ m_subs.RemoveAll();
+ m_subs.AddTailList(&pli.m_subs);
+ m_type = pli.m_type;
+ m_fInvalid = pli.m_fInvalid;
+ m_duration = pli.m_duration;
+ m_vinput = pli.m_vinput;
+ m_vchannel = pli.m_vchannel;
+ m_ainput = pli.m_ainput;
+ m_country = pli.m_country;
+ }
return(*this);
}
@@ -150,7 +154,7 @@ void CPlaylistItem::AutoLoadFiles()
int i = fn.ReverseFind('.');
if(i > 0)
{
- CMediaFormats& mf = AfxGetAppSettings().Formats;
+ CMediaFormats& mf = AfxGetAppSettings().m_Formats;
CString ext = fn.Mid(i+1).MakeLower();
@@ -186,7 +190,7 @@ void CPlaylistItem::AutoLoadFiles()
if(AfxGetAppSettings().fAutoloadSubtitles)
{
- CString& pathList = AfxGetAppSettings().szSubtitlePaths;
+ CString& pathList = AfxGetAppSettings().strSubtitlePaths;
CAtlArray<CString> paths;
@@ -346,7 +350,7 @@ void CPlaylist::Randomize()
}
}
-POSITION CPlaylist::GetPos()
+POSITION CPlaylist::GetPos() const
{
return(m_pos);
}
diff --git a/src/apps/mplayerc/Playlist.h b/src/apps/mplayerc/Playlist.h
index 22b50c494..2f8ccf456 100644
--- a/src/apps/mplayerc/Playlist.h
+++ b/src/apps/mplayerc/Playlist.h
@@ -70,7 +70,7 @@ public:
void SortById(), SortByName(), SortByPath(), Randomize();
- POSITION GetPos();
+ POSITION GetPos() const;
void SetPos(POSITION pos);
CPlaylistItem& GetNextWrap(POSITION& pos);
CPlaylistItem& GetPrevWrap(POSITION& pos);
diff --git a/src/apps/mplayerc/QuicktimeGraph.cpp b/src/apps/mplayerc/QuicktimeGraph.cpp
index 5a71fa9e1..dff3cac43 100644
--- a/src/apps/mplayerc/QuicktimeGraph.cpp
+++ b/src/apps/mplayerc/QuicktimeGraph.cpp
@@ -29,6 +29,7 @@
#include "MainFrm.h"
#include "../../DSUtil/DSUtil.h"
+using namespace DSObjects;
//
// CQuicktimeGraph
diff --git a/src/apps/mplayerc/QuicktimeGraph.h b/src/apps/mplayerc/QuicktimeGraph.h
index 86fae6cfd..8cf9517be 100644
--- a/src/apps/mplayerc/QuicktimeGraph.h
+++ b/src/apps/mplayerc/QuicktimeGraph.h
@@ -125,4 +125,3 @@ protected:
};
}
-using namespace DSObjects;
diff --git a/src/apps/mplayerc/RealMediaGraph.cpp b/src/apps/mplayerc/RealMediaGraph.cpp
index 022f64e29..dab8c9773 100644
--- a/src/apps/mplayerc/RealMediaGraph.cpp
+++ b/src/apps/mplayerc/RealMediaGraph.cpp
@@ -36,6 +36,7 @@
#include "../../DSUtil/DSUtil.h"
#include "AuthDlg.h"
+using namespace DSObjects;
// CRealMediaPlayer
diff --git a/src/apps/mplayerc/RealMediaGraph.h b/src/apps/mplayerc/RealMediaGraph.h
index 9cb3209cd..db7bbf332 100644
--- a/src/apps/mplayerc/RealMediaGraph.h
+++ b/src/apps/mplayerc/RealMediaGraph.h
@@ -232,4 +232,3 @@ protected:
};
}
-using namespace DSObjects;
diff --git a/src/apps/mplayerc/RealMediaWindowlessSite.cpp b/src/apps/mplayerc/RealMediaWindowlessSite.cpp
index 2bf43efb2..f3371214f 100644
--- a/src/apps/mplayerc/RealMediaWindowlessSite.cpp
+++ b/src/apps/mplayerc/RealMediaWindowlessSite.cpp
@@ -29,6 +29,7 @@
#include "RealMediaWindowlessSite.h"
#include "../../DSUtil/DSUtil.h"
+using namespace DSObjects;
void DSObjects::ExtractRects(REGION* pRegion)
{
diff --git a/src/apps/mplayerc/RealMediaWindowlessSite.h b/src/apps/mplayerc/RealMediaWindowlessSite.h
index 8f0e28ebd..e508b7b30 100644
--- a/src/apps/mplayerc/RealMediaWindowlessSite.h
+++ b/src/apps/mplayerc/RealMediaWindowlessSite.h
@@ -218,4 +218,3 @@ public:
};
}
-using namespace DSObjects;
diff --git a/src/apps/mplayerc/SaveDlg.cpp b/src/apps/mplayerc/SaveDlg.cpp
index f1b3953e0..5c5541008 100644
--- a/src/apps/mplayerc/SaveDlg.cpp
+++ b/src/apps/mplayerc/SaveDlg.cpp
@@ -25,7 +25,6 @@
#include "mplayerc.h"
#include "SaveDlg.h"
#include "../../filters/filters.h"
-#include "internal_filter_config.h"
// CSaveDlg dialog
diff --git a/src/apps/mplayerc/SettingsDefines.h b/src/apps/mplayerc/SettingsDefines.h
index 40dac55d7..462107318 100644
--- a/src/apps/mplayerc/SettingsDefines.h
+++ b/src/apps/mplayerc/SettingsDefines.h
@@ -219,6 +219,13 @@
#define IDS_RS_BDA_NETWORKPROVIDER _T("BDANetworkProvider")
#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_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_DVB_LAST_CHANNEL _T("LastChannel")
#define IDS_D3D9RENDERDEVICE _T("D3D9RenderDevice")
diff --git a/src/apps/mplayerc/ShaderCombineDlg.cpp b/src/apps/mplayerc/ShaderCombineDlg.cpp
index 9c938b39c..02f684e61 100644
--- a/src/apps/mplayerc/ShaderCombineDlg.cpp
+++ b/src/apps/mplayerc/ShaderCombineDlg.cpp
@@ -72,9 +72,9 @@ BOOL CShaderCombineDlg::OnInitDialog()
CString str;
if (m_bScreenSpace)
- str = s.m_shadercombineScreenSpace.Trim();
+ str = s.strShadercombineScreenSpace.Trim();
else
- str = s.m_shadercombine.Trim();
+ str = s.strShadercombine.Trim();
CAtlList<CString> sl;
if(!str.IsEmpty()) Explode(str, sl, '|');
@@ -105,9 +105,9 @@ void CShaderCombineDlg::OnOK()
}
if (m_bScreenSpace)
- AfxGetAppSettings().m_shadercombineScreenSpace = Implode(sl, '|');
+ AfxGetAppSettings().strShadercombineScreenSpace = Implode(sl, '|');
else
- AfxGetAppSettings().m_shadercombine = Implode(sl, '|');
+ AfxGetAppSettings().strShadercombine = Implode(sl, '|');
__super::OnOK();
}
diff --git a/src/apps/mplayerc/ShaderEditorDlg.cpp b/src/apps/mplayerc/ShaderEditorDlg.cpp
index 14f088b36..ecdd68253 100644
--- a/src/apps/mplayerc/ShaderEditorDlg.cpp
+++ b/src/apps/mplayerc/ShaderEditorDlg.cpp
@@ -102,6 +102,7 @@ BOOL CShaderEdit::PreTranslateMessage(MSG* pMsg)
else if(pMsg->wParam == VK_ESCAPE)
{
m_acdlg.ShowWindow(SW_HIDE);
+ return GetParent()->PreTranslateMessage(pMsg);
}
else
{
@@ -317,7 +318,7 @@ BOOL CShaderEditorDlg::PreTranslateMessage(MSG* pMsg)
}
else if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
{
- return TRUE;
+ return GetParent()->PreTranslateMessage(pMsg);
}
return __super::PreTranslateMessage(pMsg);
diff --git a/src/apps/mplayerc/ShockwaveGraph.cpp b/src/apps/mplayerc/ShockwaveGraph.cpp
index c4ad0b4b9..938c4c782 100644
--- a/src/apps/mplayerc/ShockwaveGraph.cpp
+++ b/src/apps/mplayerc/ShockwaveGraph.cpp
@@ -26,6 +26,8 @@
#include "resource.h"
#include "../../DSUtil/DSUtil.h"
+using namespace DSObjects;
+
CShockwaveGraph::CShockwaveGraph(HWND hParent, HRESULT& hr)
: m_fs(State_Stopped)
{
diff --git a/src/apps/mplayerc/ShockwaveGraph.h b/src/apps/mplayerc/ShockwaveGraph.h
index 20d185369..4cfabc639 100644
--- a/src/apps/mplayerc/ShockwaveGraph.h
+++ b/src/apps/mplayerc/ShockwaveGraph.h
@@ -79,4 +79,3 @@ protected:
};
}
-using namespace DSObjects;
diff --git a/src/apps/mplayerc/TunerScanDlg.cpp b/src/apps/mplayerc/TunerScanDlg.cpp
index 8ce69596e..a70a9ca91 100644
--- a/src/apps/mplayerc/TunerScanDlg.cpp
+++ b/src/apps/mplayerc/TunerScanDlg.cpp
@@ -44,11 +44,16 @@ IMPLEMENT_DYNAMIC(CTunerScanDlg, CDialog)
CTunerScanDlg::CTunerScanDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTunerScanDlg::IDD, pParent)
- , m_ulFrequencyStart(474000)
- , m_ulFrequencyEnd(858000)
- , m_ulBandwidth(8000)
, m_bInProgress(false)
{
+ AppSettings& s = AfxGetAppSettings();
+
+ m_ulFrequencyStart = s.iBDAScanFreqStart;
+ m_ulFrequencyEnd = s.iBDAScanFreqEnd;
+ m_ulBandwidth = s.iBDABandwidth*1000;
+ m_bUseOffset = s.fBDAUseOffset;
+ m_lOffset = s.iBDAOffset;
+ m_bIgnoreEncryptedChannels = s.fBDAIgnoreEncryptedChannels;
}
CTunerScanDlg::~CTunerScanDlg()
@@ -59,11 +64,12 @@ BOOL CTunerScanDlg::OnInitDialog()
{
CDialog::OnInitDialog();
+ m_OffsetEditBox.EnableWindow(m_bUseOffset);
- m_ChannelList.InsertColumn(TSCC_NUMBER, _T("N"), LVCFMT_LEFT, 50);
- m_ChannelList.InsertColumn(TSCC_NAME, _T("Name"), LVCFMT_LEFT, 250);
- m_ChannelList.InsertColumn(TSCC_FREQUENCY, _T("Frequency"), LVCFMT_LEFT, 100);
- m_ChannelList.InsertColumn(TSCC_ENCRYPTED, _T("Encrypted"), LVCFMT_LEFT, 80);
+ m_ChannelList.InsertColumn(TSCC_NUMBER, ResStr(IDS_DVB_CHANNEL_NUMBER), LVCFMT_LEFT, 50);
+ m_ChannelList.InsertColumn(TSCC_NAME, ResStr(IDS_DVB_CHANNEL_NAME), LVCFMT_LEFT, 250);
+ m_ChannelList.InsertColumn(TSCC_FREQUENCY, ResStr(IDS_DVB_CHANNEL_FREQUENCY), LVCFMT_LEFT, 100);
+ m_ChannelList.InsertColumn(TSCC_ENCRYPTED, ResStr(IDS_DVB_CHANNEL_ENCRYPTION), LVCFMT_LEFT, 80);
m_ChannelList.InsertColumn(TSCC_CHANNEL, _T("Channel"), LVCFMT_LEFT, 0);
m_Progress.SetRange(0, 100);
@@ -80,6 +86,9 @@ void CTunerScanDlg::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_FREQ_START, m_ulFrequencyStart);
DDX_Text(pDX, IDC_FREQ_END, m_ulFrequencyEnd);
DDX_Text(pDX, IDC_BANDWIDTH, m_ulBandwidth);
+ DDX_Text(pDX, IDC_OFFSET, m_lOffset);
+ DDX_Check(pDX, IDC_CHECK_OFFSET, m_bUseOffset);
+ DDX_Check(pDX, IDC_CHECK_IGNORE_ENCRYPTED, m_bIgnoreEncryptedChannels);
DDX_Control(pDX, IDC_PROGRESS, m_Progress);
DDX_Control(pDX, IDC_STRENGTH, m_Strength);
DDX_Control(pDX, IDC_QUALITY, m_Quality);
@@ -87,6 +96,7 @@ void CTunerScanDlg::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, ID_START, m_btnStart);
DDX_Control(pDX, ID_SAVE, m_btnSave);
DDX_Control(pDX, IDCANCEL, m_btnCancel);
+ DDX_Control(pDX, IDC_OFFSET, m_OffsetEditBox);
}
@@ -98,6 +108,7 @@ BEGIN_MESSAGE_MAP(CTunerScanDlg, CDialog)
ON_BN_CLICKED(ID_SAVE, &CTunerScanDlg::OnBnClickedSave)
ON_BN_CLICKED(ID_START, &CTunerScanDlg::OnBnClickedStart)
ON_BN_CLICKED(IDCANCEL, &CTunerScanDlg::OnBnClickedCancel)
+ ON_BN_CLICKED(IDC_CHECK_OFFSET, &CTunerScanDlg::OnBnClickedCheckOffset)
END_MESSAGE_MAP()
@@ -106,15 +117,14 @@ END_MESSAGE_MAP()
void CTunerScanDlg::OnBnClickedSave()
{
AppSettings& s = AfxGetAppSettings();
-
- s.DVBChannels.RemoveAll();
+ s.m_DVBChannels.RemoveAll();
for (int i=0; i <m_ChannelList.GetItemCount(); i++)
{
CDVBChannel Channel;
Channel.FromString (m_ChannelList.GetItemText (i, TSCC_CHANNEL));
Channel.SetPrefNumber(i);
- s.DVBChannels.AddTail (Channel);
+ s.m_DVBChannels.AddTail (Channel);
}
OnOK();
@@ -130,6 +140,8 @@ void CTunerScanDlg::OnBnClickedStart()
pTSD->FrequencyStart = m_ulFrequencyStart;
pTSD->FrequencyStop = m_ulFrequencyEnd;
pTSD->Bandwidth = m_ulBandwidth;
+ pTSD->Offset = m_bUseOffset ? m_lOffset : 0;
+ SaveScanSettings();
m_ChannelList.DeleteAllItems();
((CMainFrame*)AfxGetMainWnd())->StartTunerScan (pTSD);
@@ -148,6 +160,12 @@ void CTunerScanDlg::OnBnClickedCancel()
OnCancel();
}
+void CTunerScanDlg::OnBnClickedCheckOffset()
+{
+ UpdateData(true);
+ m_OffsetEditBox.EnableWindow(m_bUseOffset);
+}
+
LRESULT CTunerScanDlg::OnScanProgress(WPARAM wParam, LPARAM lParam)
{
@@ -176,34 +194,36 @@ LRESULT CTunerScanDlg::OnNewChannel(WPARAM wParam, LPARAM lParam)
int nChannelNumber;
Channel.FromString ((LPCTSTR) lParam);
- if (Channel.GetOriginNumber() != 0) // LCN is available
+ if (!m_bIgnoreEncryptedChannels || !Channel.IsEncrypted())
{
- nChannelNumber = Channel.GetOriginNumber();
- // Insert new channel so that channels are sorted by their logical number
- for (nItem=0; nItem<m_ChannelList.GetItemCount(); nItem++)
+ if (Channel.GetOriginNumber() != 0) // LCN is available
{
- if (m_ChannelList.GetItemData(nItem) > nChannelNumber)
- break;
+ nChannelNumber = Channel.GetOriginNumber();
+ // Insert new channel so that channels are sorted by their logical number
+ for (nItem=0; nItem<m_ChannelList.GetItemCount(); nItem++)
+ {
+ if (m_ChannelList.GetItemData(nItem) > nChannelNumber)
+ break;
+ }
}
- }
- else
- nChannelNumber = nItem = m_ChannelList.GetItemCount();
+ else
+ nChannelNumber = nItem = m_ChannelList.GetItemCount();
- strTemp.Format(_T("%d"), nChannelNumber);
- nItem = m_ChannelList.InsertItem (nItem, strTemp);
+ strTemp.Format(_T("%d"), nChannelNumber);
+ nItem = m_ChannelList.InsertItem (nItem, strTemp);
- m_ChannelList.SetItemData (nItem, Channel.GetOriginNumber());
+ m_ChannelList.SetItemData (nItem, Channel.GetOriginNumber());
- m_ChannelList.SetItemText (nItem, TSCC_NAME, Channel.GetName());
+ m_ChannelList.SetItemText (nItem, TSCC_NAME, Channel.GetName());
- strTemp.Format(_T("%d"), Channel.GetFrequency());
- m_ChannelList.SetItemText (nItem, TSCC_FREQUENCY, strTemp);
+ strTemp.Format(_T("%d"), Channel.GetFrequency());
+ m_ChannelList.SetItemText (nItem, TSCC_FREQUENCY, strTemp);
- strTemp = Channel.IsEncrypted() ? _T("Yes") : _T("No");
- m_ChannelList.SetItemText (nItem, TSCC_ENCRYPTED, strTemp);
-
- m_ChannelList.SetItemText (nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
+ strTemp = Channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
+ m_ChannelList.SetItemText (nItem, TSCC_ENCRYPTED, strTemp);
+ m_ChannelList.SetItemText (nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
+ }
return TRUE;
}
@@ -225,3 +245,16 @@ void CTunerScanDlg::SetProgress (bool bState)
m_bInProgress = bState;
}
+
+void CTunerScanDlg::SaveScanSettings()
+{
+ AppSettings& s = AfxGetAppSettings();
+
+ s.iBDAScanFreqStart = m_ulFrequencyStart;
+ s.iBDAScanFreqEnd = m_ulFrequencyEnd;
+ div_t bdw = div(m_ulBandwidth, 1000);
+ s.iBDABandwidth = bdw.quot;
+ s.fBDAUseOffset = m_bUseOffset;
+ s.iBDAOffset = m_lOffset;
+ s.fBDAIgnoreEncryptedChannels = m_bIgnoreEncryptedChannels;
+}
diff --git a/src/apps/mplayerc/TunerScanDlg.h b/src/apps/mplayerc/TunerScanDlg.h
index 43b58fa9e..ac00b0deb 100644
--- a/src/apps/mplayerc/TunerScanDlg.h
+++ b/src/apps/mplayerc/TunerScanDlg.h
@@ -41,12 +41,17 @@ public:
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
void SetProgress (bool bState);
+ void SaveScanSettings();
DECLARE_MESSAGE_MAP()
public:
ULONG m_ulFrequencyStart;
ULONG m_ulFrequencyEnd;
ULONG m_ulBandwidth;
+ LONG m_lOffset;
+ CEdit m_OffsetEditBox;
+ BOOL m_bUseOffset;
+ BOOL m_bIgnoreEncryptedChannels;
CProgressCtrl m_Progress;
CProgressCtrl m_Strength;
CProgressCtrl m_Quality;
@@ -58,6 +63,7 @@ public:
afx_msg LRESULT OnStats(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnNewChannel(WPARAM wParam, LPARAM lParam);
+ afx_msg void OnBnClickedCheckOffset();
afx_msg void OnBnClickedSave();
afx_msg void OnBnClickedStart();
afx_msg void OnBnClickedCancel();
diff --git a/src/apps/mplayerc/VMROSD.cpp b/src/apps/mplayerc/VMROSD.cpp
index 8c5efa3e6..5d803a3f7 100644
--- a/src/apps/mplayerc/VMROSD.cpp
+++ b/src/apps/mplayerc/VMROSD.cpp
@@ -165,7 +165,8 @@ void CVMROSD::Start (CWnd* pWnd, IMFVideoMixerBitmap* pMFVMB)
void CVMROSD::Stop()
{
- m_pVMB.Release();
+ if(m_pVMB) m_pVMB.Release();
+ if(m_pMFVMB) m_pMFVMB.Release();
m_pWnd = NULL;
}
@@ -245,7 +246,7 @@ void CVMROSD::DrawMessage()
break;
}
DrawRect (&rectMessages, &m_brushBack, &m_penBorder);
- DWORD uFormat = DT_SINGLELINE|DT_CENTER|DT_VCENTER;
+ DWORD uFormat = DT_SINGLELINE|DT_CENTER|DT_VCENTER|DT_NOPREFIX;
if(rectText.right > (m_rectWnd.right - 20))
{
m_strMessage = _T(" ") + m_strMessage;
@@ -387,7 +388,7 @@ bool CVMROSD::OnLButtonUp(UINT nFlags, CPoint point)
return bRet;
}
-__int64 CVMROSD::GetPos()
+__int64 CVMROSD::GetPos() const
{
return m_llSeekPos;
}
@@ -458,10 +459,10 @@ void CVMROSD::DisplayMessage (OSD_MESSAGEPOS nPos, LPCTSTR strMsg, int nDuration
int temp_m_FontSize = m_FontSize;
CString temp_m_OSD_Font = m_OSD_Font;
- if (FontSize == 0) m_FontSize = AfxGetAppSettings().nOSD_Size;
+ if (FontSize == 0) m_FontSize = AfxGetAppSettings().nOSDSize;
else m_FontSize = FontSize;
if (m_FontSize<10 || m_FontSize>26) m_FontSize=20;
- if (OSD_Font == _T("")) m_OSD_Font = AfxGetAppSettings().m_OSD_Font;
+ if (OSD_Font == _T("")) m_OSD_Font = AfxGetAppSettings().strOSDFont;
else m_OSD_Font = OSD_Font;
if((temp_m_FontSize != m_FontSize) || (temp_m_OSD_Font != m_OSD_Font))
diff --git a/src/apps/mplayerc/VMROSD.h b/src/apps/mplayerc/VMROSD.h
index 6462045df..a2f538a8d 100644
--- a/src/apps/mplayerc/VMROSD.h
+++ b/src/apps/mplayerc/VMROSD.h
@@ -63,7 +63,7 @@ public:
void DebugMessage( LPCTSTR format, ... );
void ClearMessage();
- __int64 GetPos();
+ __int64 GetPos() const;
void SetPos(__int64 pos);
void SetRange(__int64 start, __int64 stop);
void GetRange(__int64& start, __int64& stop);
diff --git a/src/apps/mplayerc/WebServer.cpp b/src/apps/mplayerc/WebServer.cpp
index 90d24ebdf..3859340ec 100644
--- a/src/apps/mplayerc/WebServer.cpp
+++ b/src/apps/mplayerc/WebServer.cpp
@@ -120,7 +120,7 @@ CWebServer::CWebServer(CMainFrame* pMainFrame, int nPort)
m_webroot = CPath(str);
m_webroot.RemoveFileSpec();
- CString WebRoot = AfxGetAppSettings().WebRoot;
+ CString WebRoot = AfxGetAppSettings().strWebRoot;
WebRoot.Replace('/', '\\');
WebRoot.Trim();
CPath p(WebRoot);
@@ -131,7 +131,7 @@ CWebServer::CWebServer(CMainFrame* pMainFrame, int nPort)
if(!m_webroot.IsDirectory()) m_webroot = CPath();
CAtlList<CString> sl;
- Explode(AfxGetAppSettings().WebServerCGI, sl, ';');
+ Explode(AfxGetAppSettings().strWebServerCGI, sl, ';');
POSITION pos = sl.GetHeadPosition();
while(pos)
{
@@ -222,7 +222,7 @@ bool CWebServer::ToLocalPath(CString& path, CString& redir)
if(p.IsDirectory())
{
CAtlList<CString> sl;
- Explode(AfxGetAppSettings().WebDefIndex, sl, ';');
+ Explode(AfxGetAppSettings().strWebDefIndex, sl, ';');
POSITION pos = sl.GetHeadPosition();
while(pos)
{
diff --git a/src/apps/mplayerc/internal_filter_config.h b/src/apps/mplayerc/internal_filter_config.h
index 7eeef3dff..17e0c084b 100644
--- a/src/apps/mplayerc/internal_filter_config.h
+++ b/src/apps/mplayerc/internal_filter_config.h
@@ -64,9 +64,7 @@
#define INTERNAL_DECODER_AC3 1 /* also E-AC3,TrueHD,MLP */
#define INTERNAL_DECODER_NELLYMOSER 1
#define INTERNAL_DECODER_AMR 1
-//#define INTERNAL_DECODER_IMA4 1
-
-//#define INCLUDE_FFMPEG_AUDIO_DECODER (INTERNAL_DECODER_AC3|INTERNAL_DECODER_NELLYMOSER|INTERNAL_DECODER_AMR|INTERNAL_DECODER_IMA4)
+#define INTERNAL_DECODER_IMA4 1
// Internal video decoders
#define INTERNAL_DECODER_MPEG1 1
@@ -90,11 +88,36 @@
#define INTERNAL_DECODER_AMVV 1
#define INTERNAL_DECODER_VP8 1
-#define INCLUDE_MPC_VIDEO_DECODER (INTERNAL_DECODER_H264|INTERNAL_DECODER_VC1|INTERNAL_DECODER_FLV|INTERNAL_DECODER_VP6|INTERNAL_DECODER_DIVX|INTERNAL_DECODER_XVID|INTERNAL_DECODER_WMV|INTERNAL_DECODER_MSMPEG4|INTERNAL_DECODER_SVQ|INTERNAL_DECODER_H263|INTERNAL_DECODER_THEORA|INTERNAL_DECODER_AMVV|INTERNAL_DECODER_VP8)
-
// DXVA decoders
#define INTERNAL_DECODER_H264_DXVA 1
#define INTERNAL_DECODER_VC1_DXVA 1
#define INTERNAL_DECODER_MPEG2_DXVA 1
-#define INCLUDE_MPC_DXVA_VIDEO_DECODER (INTERNAL_DECODER_H264_DXVA|INTERNAL_DECODER_VC1_DXVA|INTERNAL_DECODER_MPEG2_DXVA)
+// Groups
+#define HAS_SOURCEFILTERS \
+ (INTERNAL_SOURCEFILTER_AVI|INTERNAL_SOURCEFILTER_CDDA|INTERNAL_SOURCEFILTER_CDXA|INTERNAL_SOURCEFILTER_DSM|INTERNAL_SOURCEFILTER_DTSAC3|\
+ INTERNAL_SOURCEFILTER_VTS|INTERNAL_SOURCEFILTER_DVSOURCE|INTERNAL_SOURCEFILTER_FLIC|INTERNAL_SOURCEFILTER_FLAC|INTERNAL_SOURCEFILTER_FLV|\
+ INTERNAL_SOURCEFILTER_MATROSKA|INTERNAL_SOURCEFILTER_MP4|INTERNAL_SOURCEFILTER_OGG|INTERNAL_SOURCEFILTER_MPEGAUDIO|INTERNAL_SOURCEFILTER_MPEG|\
+ INTERNAL_SOURCEFILTER_REALMEDIA|INTERNAL_SOURCEFILTER_SHOUTCAST|INTERNAL_SOURCEFILTER_ROQ|INTERNAL_SOURCEFILTER_UDP|INTERNAL_SOURCEFILTER_AVI2AC3|\
+ INTERNAL_SOURCEFILTER_NUT|INTERNAL_SOURCEFILTER_DIRAC)
+
+#define HAS_OTHER_DECODERS \
+ (INTERNAL_DECODER_AAC|INTERNAL_DECODER_DTS|INTERNAL_DECODER_LPCM|INTERNAL_DECODER_MPEGAUDIO|INTERNAL_DECODER_PS2AUDIO|INTERNAL_DECODER_REALAUDIO|\
+ INTERNAL_DECODER_VORBIS|INTERNAL_DECODER_FLAC|INTERNAL_DECODER_PCM|INTERNAL_DECODER_MPEG1|INTERNAL_DECODER_MPEG2|INTERNAL_DECODER_REALVIDEO|\
+ INTERNAL_DECODER_ROQ|INTERNAL_DECODER_DIRAC)
+
+#define HAS_FFMPEG_AUDIO_DECODERS \
+ (INTERNAL_DECODER_AC3|INTERNAL_DECODER_NELLYMOSER|INTERNAL_DECODER_AMR|INTERNAL_DECODER_IMA4)
+
+#define HAS_FFMPEG_VIDEO_DECODERS \
+ (INTERNAL_DECODER_H264|INTERNAL_DECODER_VC1|INTERNAL_DECODER_FLV|INTERNAL_DECODER_VP6|INTERNAL_DECODER_DIVX|INTERNAL_DECODER_XVID|INTERNAL_DECODER_WMV|\
+ INTERNAL_DECODER_MSMPEG4|INTERNAL_DECODER_SVQ|INTERNAL_DECODER_H263|INTERNAL_DECODER_THEORA|INTERNAL_DECODER_AMVV|INTERNAL_DECODER_VP8)
+
+#define HAS_FFMPEG_DECODERS \
+ (HAS_FFMPEG_AUDIO_DECODERS|HAS_FFMPEG_VIDEO_DECODERS)
+
+#define HAS_DXVA_VIDEO_DECODERS \
+ (INTERNAL_DECODER_H264_DXVA|INTERNAL_DECODER_VC1_DXVA|INTERNAL_DECODER_MPEG2_DXVA)
+
+#define HAS_FFMPEG \
+ (HAS_FFMPEG_AUDIO_DECODERS|HAS_FFMPEG_VIDEO_DECODERS|HAS_DXVA_VIDEO_DECODERS)
diff --git a/src/apps/mplayerc/mpcresources/common.pl b/src/apps/mplayerc/mpcresources/common.pl
index d129cbaa8..980aadc98 100644
--- a/src/apps/mplayerc/mpcresources/common.pl
+++ b/src/apps/mplayerc/mpcresources/common.pl
@@ -115,7 +115,7 @@ sub analyseData {
$tagidx=0;
}
}
- if(@text) { #flush last texts to outline
+ if(@text) { #flush last texts to outline
push(@{$outline}, ["__TEXT__",[@text]]);
@text=();
}
@@ -128,7 +128,8 @@ sub readDialog {
my $dlgname;
my $fontname;
my $linenum = 0;
- my @data=();
+ my @data = ();
+ my %lookup = ();
foreach(@$input){
$linenum++;
@@ -141,6 +142,11 @@ sub readDialog {
$dialogs->{$dlgname}->{"__FONT__"} = [$linenum, $fontname];
next;
}
+ if(/^CAPTION\b.*(".*")/) {
+ $lookup{"CAPTION"} = $linenum;
+ push(@data, [$linenum, $1]);
+ next;
+ }
next if /^STYLE\b/;
next if /^BEGIN\b/;
next if /^END\b/;
@@ -148,12 +154,20 @@ sub readDialog {
my $line = skipNonTranslatedStr($_);
if ($line=~/("[^"](?:[^"]|"")*")/) {
- push(@data, [$linenum, $1]);
+ my $value = $1;
+ if($line =~ /(?:,|\s)(ID[^,]*),/) {
+ my $id = $1;
+ if($id ne "IDC_STATIC") {
+ $lookup{$id} = $linenum;
+ }
+ }
+ push(@data, [$linenum, $value]);
}
}
$dialogs->{$dlgname}->{"__TEXT__"}=[@$input];
$dialogs->{$dlgname}->{"__DATA__"}=[@data];
$dialogs->{$dlgname}->{"__LINES__"} = $linenum;
+ $dialogs->{$dlgname}->{"__ID__"} = [%lookup];
$dlgname;
}
@@ -165,6 +179,7 @@ sub readMenu {
my $menuname;
my $linenum = 0;
my @data=();
+ my %lookup = ();
foreach(@$input){
$linenum++;
@@ -180,6 +195,7 @@ sub readMenu {
if( /^\s+MENUITEM\s+(".+"),\s+(\S+)\s*$/) {
my($key, $value) = ($2, $1);
push(@data, [$linenum, $value]);
+ $lookup{$key} = $linenum;
}
elsif(/\bPOPUP\b\s+(".*")/){
push(@data, [$linenum, $1]);
@@ -189,6 +205,7 @@ sub readMenu {
$menus->{$menuname}->{"__DATA__"} = [@data];
$menus->{$menuname}->{"__TEXT__"} = [@$input];
$menus->{$menuname}->{"__LINES__"} = $linenum;
+ $menus->{$menuname}->{"__ID__"} = [%lookup];
$menuname;
}
@@ -243,15 +260,15 @@ sub skipNonTranslatedStr {
$line =~ s/"
(?:
- Static|Button|msctls_updown32|SysListView32|msctls_trackbar32 #
- |msctls_progress32|SysTreeView32|SysTabControl32|SysAnimate32|SysLink #skip built-in control names
- |MS\sShell\sDlg|MS\sSans\sSerif|MS\sUI\sGothic #skip dialog font, but maybe should not because 3 asian languages need change this
- |\\000|\.\.\.|(LANGUAGE.+)?\\r\\n|\+\/- #skip \r\n \000 ... etc
- |<a>http.+<\/a>|http:\/\/ #skip http links
- |Media\sPlayer\sClassic\s-?\sHome\sCinema|mpc-hc|MPC-HC\sTeam #skip app names
+ Static|Button|msctls_updown32|SysListView32|msctls_trackbar32 #
+ |msctls_progress32|SysTreeView32|SysTabControl32|SysAnimate32|SysLink #skip built-in control names
+ |MS\sShell\sDlg|MS\sSans\sSerif|MS\sUI\sGothic #skip dialog font, but maybe should not because 3 asian languages need change this
+ |\\000|(LANGUAGE.+)?\\r\\n|\+\/- #skip \r\n \000 +- etc
+ |<a>http.+<\/a>|http:\/\/ #skip http links
+ |Media\sPlayer\sClassic\s-?\sHome\sCinema|mpc-hc|MPC-HC\sTeam #skip app names
|Comments|CompanyName|FileDescription|FileVersion|InternalName|VarFileInfo|StringFileInfo|Translation
- |LegalCopyright|OriginalFilename|ProductName|ProductVersion #skip versioninfo for locale rc not in mplayerc.rc
- |[-&\/\d\s\.:,%]+(Hz)? #skip any thing like 6.4.0.0, 100%, 23.976Hz
+ |LegalCopyright|OriginalFilename|ProductName|ProductVersion #skip versioninfo for locale rc not in mplayerc.rc
+ |[-&\/\d\s\.:,%]+(Hz)? #skip any thing like 6.4.0.0, 100%, 23.976Hz
)
"//gx;
$line;
@@ -328,7 +345,7 @@ sub lcs {
}
$leftIdx[$idx++] = $stringIdx{$_};
}
-
+
$idx=0;
foreach(@{$a2}) {
if(not exists $stringIdx{$_}) {
diff --git a/src/apps/mplayerc/mpcresources/mpcresources.vcproj b/src/apps/mplayerc/mpcresources/mpcresources.vcproj
index 3e60ae07f..5b47ba78d 100644
--- a/src/apps/mplayerc/mpcresources/mpcresources.vcproj
+++ b/src/apps/mplayerc/mpcresources/mpcresources.vcproj
@@ -3039,6 +3039,157 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
+ <Configuration
+ Name="Release Armenian|Win32"
+ OutputDirectory="$(SolutionDir)bin\mpc-hc_x86\"
+ IntermediateDirectory="$(SolutionDir)bin\obj\Release_$(PlatformName)\$(ProjectName)\$(ConfigurationName)\"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\common.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MPCRESOURCES_EXPORTS"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_UNICODE;UNICODE;NO_VERSION_REV_NEEDED"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).hy.dll"
+ SubSystem="2"
+ LargeAddressAware="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ResourceOnlyDLL="true"
+ RandomizedBaseAddress="2"
+ DataExecutionPrevention="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release Armenian|x64"
+ OutputDirectory="$(SolutionDir)bin\mpc-hc_x64\"
+ IntermediateDirectory="$(SolutionDir)bin\obj\Release_$(PlatformName)\$(ProjectName)\$(ConfigurationName)\"
+ ConfigurationType="2"
+ InheritedPropertySheets="..\..\..\common.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MPCRESOURCES_EXPORTS"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_UNICODE;UNICODE;NO_VERSION_REV_NEEDED"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\$(ProjectName).hy.dll"
+ SubSystem="2"
+ LargeAddressAware="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ResourceOnlyDLL="true"
+ RandomizedBaseAddress="2"
+ DataExecutionPrevention="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
</Configurations>
<References>
</References>
@@ -3373,6 +3524,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.by.rc"
@@ -3681,6 +3848,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.ca.rc"
@@ -3989,6 +4172,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.cz.rc"
@@ -4297,6 +4496,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.de.rc"
@@ -4605,6 +4820,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.es.rc"
@@ -4913,6 +5144,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.fr.rc"
@@ -5221,6 +5468,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.hu.rc"
@@ -5529,6 +5792,346 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\mplayerc.hy.rc"
+ >
+ <FileConfiguration
+ Name="Release French|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release French|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Korean|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Korean|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Dutch|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Dutch|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.it.rc"
@@ -5837,6 +6440,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.ja.rc"
@@ -6145,6 +6764,346 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\mplayerc.kr.rc"
+ >
+ <FileConfiguration
+ Name="Release French|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release French|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Dutch|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Dutch|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.kr.rc"
@@ -6453,6 +7412,354 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\mplayerc.nl.rc"
+ >
+ <FileConfiguration
+ Name="Release French|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release French|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release German|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Russian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Turkish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Czech|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Spanish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Hungarian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Korean|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Korean|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Polish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Ukrainian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Italian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Slovak|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese simplified|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Chinese traditional|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Belarusian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Swedish|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Portuguese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Dutch|Win32"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ Culture="1043"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Catalan|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Japanese|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.nl.rc"
@@ -6769,6 +8076,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.pl.rc"
@@ -7077,6 +8400,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.ru.rc"
@@ -7385,6 +8724,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.sc.rc"
@@ -7693,6 +9048,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.sk.rc"
@@ -8001,6 +9372,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.sv.rc"
@@ -8309,6 +9696,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.tc.rc"
@@ -8617,6 +10020,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.tr.rc"
@@ -8925,6 +10344,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\mplayerc.ua.rc"
@@ -9233,6 +10668,22 @@
Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
</Filter>
<Filter
@@ -9437,6 +10888,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\logo.1_x64.png"
@@ -9601,6 +11060,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\logo.2.png"
@@ -9765,6 +11232,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\logo.2_x64.png"
@@ -9929,6 +11404,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\logo.3.png"
@@ -10093,6 +11576,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\logo.3_x64.png"
@@ -10257,6 +11748,14 @@
Name="VCCustomBuildTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Release Armenian|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\res\mono.bmp"
diff --git a/src/apps/mplayerc/mpcresources/mpcresources.vcxproj b/src/apps/mplayerc/mpcresources/mpcresources.vcxproj
index 08cb1e9b7..c4a0e97bf 100644
--- a/src/apps/mplayerc/mpcresources/mpcresources.vcxproj
+++ b/src/apps/mplayerc/mpcresources/mpcresources.vcxproj
@@ -1,6 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release Armenian|Win32">
+ <Configuration>Release Armenian</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release Armenian|x64">
+ <Configuration>Release Armenian</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release Belarusian|Win32">
<Configuration>Release Belarusian</Configuration>
<Platform>Win32</Platform>
@@ -168,6 +176,10 @@
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Japanese|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
@@ -252,6 +264,10 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
@@ -331,6 +347,10 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\common.props" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Japanese|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
@@ -411,6 +431,10 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\..\common.props" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Japanese|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\common.props" />
@@ -574,6 +598,12 @@
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Japanese|Win32'">$(SolutionDir)bin10\obj\Release_$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release Japanese|x64'">$(SolutionDir)bin10\mpc-hc_x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release Japanese|x64'">$(SolutionDir)bin10\obj\Release_$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">$(SolutionDir)bin10\mpc-hc_x86\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">$(SolutionDir)bin10\obj\Release_$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">$(SolutionDir)bin10\mpc-hc_x64\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">$(SolutionDir)bin10\obj\Release_$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">$(ProjectName).hy</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">$(ProjectName).hy</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">$(ProjectName).by</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">$(ProjectName).by</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">$(ProjectName).ca</TargetName>
@@ -1635,6 +1665,57 @@
<PreprocessorDefinitions>_UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MPCRESOURCES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+ <SubSystem>Windows</SubSystem>
+ <LargeAddressAware>true</LargeAddressAware>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <NoEntryPoint>true</NoEntryPoint>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MPCRESOURCES_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+ <SubSystem>Windows</SubSystem>
+ <LargeAddressAware>true</LargeAddressAware>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <NoEntryPoint>true</NoEntryPoint>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_UNICODE;UNICODE;NO_VERSION_REV_NEEDED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
<ItemGroup>
<ResourceCompile Include="mplayerc.br.rc">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
@@ -1661,6 +1742,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Italian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Japanese|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Japanese|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Korean|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Korean|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Polish|Win32'">true</ExcludedFromBuild>
@@ -1681,6 +1764,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.by.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|Win32'">true</ExcludedFromBuild>
@@ -1721,6 +1806,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.ca.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|Win32'">true</ExcludedFromBuild>
@@ -1761,6 +1848,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.cz.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -1801,6 +1890,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.de.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -1841,6 +1932,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.es.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -1881,6 +1974,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.fr.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -1921,6 +2016,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.hu.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -1960,7 +2057,51 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
+ <ResourceCompile Include="mplayerc.hy.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese traditional|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese traditional|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Czech|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Czech|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Dutch|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Dutch|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release French|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release French|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release German|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release German|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Hungarian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Hungarian|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Italian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Italian|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Japanese|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Japanese|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Korean|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Korean|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Polish|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Polish|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Portuguese|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Portuguese|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Russian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Russian|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Slovak|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Slovak|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Spanish|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Spanish|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Swedish|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Swedish|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Turkish|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Turkish|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
+ </ResourceCompile>
<ResourceCompile Include="mplayerc.it.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2001,6 +2142,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.ja.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2041,6 +2184,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.kr.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2081,6 +2226,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.nl.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2122,6 +2269,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.pl.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2162,6 +2311,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.ru.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2202,6 +2353,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.sc.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2242,6 +2395,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.sk.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2282,6 +2437,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.sv.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2322,6 +2479,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.tc.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2362,6 +2521,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.tr.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2402,6 +2563,8 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</ResourceCompile>
<ResourceCompile Include="mplayerc.ua.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
@@ -2453,6 +2616,7 @@
<None Include="..\res\Icon_41.ico" />
<None Include="..\res\logo.0.png" />
<None Include="..\res\logo.1.png">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|x64'">true</ExcludedFromBuild>
@@ -2475,6 +2639,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</None>
<None Include="..\res\logo.1_x64.png">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|Win32'">true</ExcludedFromBuild>
@@ -2497,6 +2662,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\res\logo.2.png">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|x64'">true</ExcludedFromBuild>
@@ -2541,6 +2707,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\res\logo.3.png">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|x64'">true</ExcludedFromBuild>
@@ -2563,6 +2730,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Ukrainian|x64'">true</ExcludedFromBuild>
</None>
<None Include="..\res\logo.3_x64.png">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Armenian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Belarusian|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Catalan|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release Chinese simplified|Win32'">true</ExcludedFromBuild>
diff --git a/src/apps/mplayerc/mpcresources/mpcresources.vcxproj.filters b/src/apps/mplayerc/mpcresources/mpcresources.vcxproj.filters
index 2d260312a..0da42c2aa 100644
--- a/src/apps/mplayerc/mpcresources/mpcresources.vcxproj.filters
+++ b/src/apps/mplayerc/mpcresources/mpcresources.vcxproj.filters
@@ -39,6 +39,9 @@
<ResourceCompile Include="mplayerc.hu.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
+ <ResourceCompile Include="mplayerc.hy.rc">
+ <Filter>Source Files</Filter>
+ </ResourceCompile>
<ResourceCompile Include="mplayerc.it.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.br.rc b/src/apps/mplayerc/mpcresources/mplayerc.br.rc
index 347e13395..990ad3938 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.br.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.br.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.by.rc b/src/apps/mplayerc/mpcresources/mplayerc.by.rc
index 5cfc81ff5..0bc36915b 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.by.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.by.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc
index ba8f64801..55928777c 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc
index 63486f552..4c97afc75 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.de.rc b/src/apps/mplayerc/mpcresources/mplayerc.de.rc
index b032615c6..67b3323b7 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.de.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.de.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.es.rc b/src/apps/mplayerc/mpcresources/mplayerc.es.rc
index acd0cd978..6ccb19545 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.es.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.es.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc
index b3d9dd104..5426bd8a8 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc
index 77f72d4d4..16f586097 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hy.rc b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc
new file mode 100644
index 000000000..876e27ffc
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.it.rc b/src/apps/mplayerc/mpcresources/mplayerc.it.rc
index 5bfaf84ca..d87f5c072 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.it.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.it.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc
index f1a20791c..5bb5a8783 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc
index 7f0dc20bd..7cdb9392e 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc
index a8559d18c..1e196e8b8 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc
index ed078b2be..d026ba357 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc
index d520b7131..03547029f 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc
index 6ef6f25e2..59677c8ab 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc
index ab39f3026..46966a001 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc
index 39378f514..ba7a149a8 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc
index 3ed7a8a92..23c08d8ca 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc
index 973f75d6e..59abe0e26 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc
index 97e2855b7..bfa792e47 100644
--- a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc
+++ b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/patch.bat b/src/apps/mplayerc/mpcresources/patch.bat
index 1de67f0bc..0a9878932 100644
--- a/src/apps/mplayerc/mpcresources/patch.bat
+++ b/src/apps/mplayerc/mpcresources/patch.bat
@@ -1,8 +1,9 @@
@echo off
-rem A simple script demos how to apply translated text to locale rc file.
-rem This is only an example, to use it you will have to change filenames.
+rem A simple script which demonstrates how to apply translated text to locale rc file.
+rem This is only an example.
-echo Generating new rc files and string files...
-perl patch.pl -i text\mplayerc.fr.rc.txt mplayerc.fr.rc
-pause \ No newline at end of file
+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/patch.pl b/src/apps/mplayerc/mpcresources/patch.pl
index 4286b256d..b53d7b35e 100644
--- a/src/apps/mplayerc/mpcresources/patch.pl
+++ b/src/apps/mplayerc/mpcresources/patch.pl
@@ -55,11 +55,12 @@ my($Dialogs, $Menus, $Strings) = ({}, {}, {}, ());
my($NewDialogs, $NewMenus, $NewStrings) = ({},{},{});
my @Outline = ();
my @VersionInfo = ();
+my $DesignInfos = {};
print "Reading rc file...\n";
my $rcfile = shift(@ARGV);
my @RcFile = readFile($rcfile, 1);
-analyseData(\@RcFile, \@Outline, $Dialogs, $Menus, $Strings, \@VersionInfo);
+analyseData(\@RcFile, \@Outline, $Dialogs, $Menus, $Strings, \@VersionInfo, $DesignInfos);
print "\nReading string texts file...\n";
my @TxtFile = readFile($TxtFileName, 1);
@@ -85,6 +86,10 @@ sub mergeData {
elsif($tag eq "BLOCK") {
push(@{$newrc}, @{$_->[1]}); # write block section
}
+ elsif($tag eq "DESIGNINFO") {
+ my $curDesignName = $_->[1][0];
+ push(@{$newrc}, @{$DesignInfos->{$curDesignName}{"__TEXT__"}}); # write design info section
+ }
elsif($tag eq "VERSIONINFO") {
push(@{$newrc}, @{$_->[1]}); # write block section
}
@@ -162,7 +167,7 @@ sub mergeStringTable {
my $localeStr = $patches->{$key};
- if($localeStr) {
+ if($localeStr && $value) {
s/\Q$value\E/$localeStr/;
}
}
@@ -211,8 +216,9 @@ sub mergeDialog {
my $value = $_->[1];
my $curline = $contents[--$line];
$curline = skipNonTranslatedStr($curline);
- $curline=~/("[^"](?:[^"]|"")*")/;
- $contents[$line] =~ s/\Q$1\E/$value/;
+ if($curline=~/("[^"](?:[^"]|"")*")/) {
+ $contents[$line] =~ s/\Q$1\E/$value/;
+ }
}
}
diff --git a/src/apps/mplayerc/mpcresources/rcfile.bat b/src/apps/mplayerc/mpcresources/rcfile.bat
index 911155987..57da0b32a 100644
--- a/src/apps/mplayerc/mpcresources/rcfile.bat
+++ b/src/apps/mplayerc/mpcresources/rcfile.bat
@@ -1,9 +1,9 @@
@echo off
-rem This is a simple script to checkout head revision mplayerc.rc file,
-rem then rename it to old file for rcfile.pl to process
+rem This is a simple script to check out the head revision of mplayerc.rc,
+rem then rename it to old file for rcfile.pl to process it
-echo Get the latest mplayerc.rc from repository...
+echo Getting the latest mplayerc.rc from repository...
svn cat -r head ../mplayerc.rc > $$TEMP$$.old
if %ERRORLEVEL% neq 0 GOTO :NOSVNCLI
@@ -12,10 +12,10 @@ perl rcfile.pl -b $$TEMP$$.old
goto :END
:NOSVNCLI
-echo You'll need svn command line tools to use this script.
+echo You'll need svn command line tool to use this script.
echo Or you can just checkout the head revision of mplayerc.rc file by yourself,
echo put it somewhere and then use the -b option to point to it.
:END
del $$TEMP$$.old
-pause \ No newline at end of file
+pause
diff --git a/src/apps/mplayerc/mpcresources/rcfile.pl b/src/apps/mplayerc/mpcresources/rcfile.pl
index 6d8487293..81b734152 100644
--- a/src/apps/mplayerc/mpcresources/rcfile.pl
+++ b/src/apps/mplayerc/mpcresources/rcfile.pl
@@ -101,13 +101,13 @@ if(!-e "newrc"){
}
foreach my $filename(@FileLists) {
- print "Anaylse locale file: $filename...\n";
+ print "Analyzing locale file: $filename...\n";
my @oldrcfile = readFile($filename, 1);
my($curDialogs, $curMenus, $curStrings, @curOutline) = ({},{},{}, ());
my @curVersionInfo = ();
my $curDesignInfos = {};
analyseData(\@oldrcfile, \@curOutline, $curDialogs, $curMenus, $curStrings, \@curVersionInfo, $curDesignInfos);
-
+
my $newrcfile = File::Spec->catfile(".", "newrc", $filename);
my @newrc = ();
@@ -115,7 +115,7 @@ foreach my $filename(@FileLists) {
writeData(\@newrc, \@patches, \@curOutline, $curDialogs, $curMenus, $curStrings, \@curVersionInfo, $curDesignInfos);
- print "Generate new locale file: $newrcfile...\n\n";
+ print "Generating new locale file: $newrcfile...\n\n";
writeFile($newrcfile, \@newrc, 2);
}
@@ -171,7 +171,7 @@ sub writeData {
push(@{$newrc}, @{$curOutline->[0][1]}); # use old language rc file head section
}
elsif($idx == $tailsection) {
- writeVersionInfo($newrc, $curVersionInfo); #TODO: write current version info to it's original place, now just above end section
+ writeVersionInfo($newrc, $curVersionInfo); # TODO: write current version info to it's original place, now just above end section
push(@{$newrc}, @{$curOutline->[$oldtail][1]}); # use old language rc file head section
}
else {
@@ -232,7 +232,7 @@ sub writeStringTable {
#use new rc file stringtables, try to use as many locale strings as possible
foreach (@{$output}){
my ($key, $value);
-
+
if (/\b(ID\S+)\b\s*(".+")/){ #distinguish between key value at same line or not for syntax's sake
($key, $value)= ($1,$2);
}
@@ -248,13 +248,13 @@ sub writeStringTable {
else {
next; #other text
}
-
+
my $baseStr = $BaseStrings->{$key};
my $localeStr = $refs->{$key};
-
+
if((!$localeStr) || (!$baseStr) || ($baseStr ne $value)) {
}
- else {
+ else {
s/\Q$value\E/$localeStr/; #use locale string
}
}
@@ -279,13 +279,13 @@ sub writeDialogContent {
if($newdataLines && $basedataLines && $refdataLines) {
my $diffData = $DialogDiffs->{$name};
-
+
foreach(@$diffData) {
my $linenum = $newidxs[$_->[0]];
-
+
my $str = $newdatas[$_->[0]];
my $localstr = $refdatas[$_->[1]];
-
+
if($localstr) {
$contents[$linenum-1] =~ s/\Q$str\E/$localstr/;
}
@@ -296,7 +296,7 @@ sub writeDialogContent {
if($localfont) {
$contents[$NewDialogs->{$name}{"__FONT__"}[0]-1] = $refs->{$name}{"__TEXT__"}[$refs->{$name}{"__FONT__"}[0]-1];
}
-
+
push(@{$output}, @contents);
}
@@ -312,7 +312,7 @@ sub writeMenuContent {
# this menu exists in old file
my @changes = grep($_->[0] != $_->[1],@$diffData); #anything changed for this menu?
my $samelines = @$diffData;
-
+
if((!@changes) && ($samelines == $contentLines)) { #no change then just use old data
@contents = ();
push(@contents, @{$refs->{$name}{"__TEXT__"}});
@@ -341,9 +341,6 @@ sub writeVersionInfo{
push(@{$input}, "// Version");
push(@{$input}, "//");
push(@{$input}, @$versionInfo);
- push(@{$input}, "/////////////////////////////////////////////////////////////////////////////");
- push(@{$input}, "");
- push(@{$input}, "");
}
###################################################################################################
diff --git a/src/apps/mplayerc/mpcresources/rcstrings.bat b/src/apps/mplayerc/mpcresources/rcstrings.bat
index 0b6778ce8..f8987d04d 100644
--- a/src/apps/mplayerc/mpcresources/rcstrings.bat
+++ b/src/apps/mplayerc/mpcresources/rcstrings.bat
@@ -1,6 +1,6 @@
@echo off
-rem A simple script demos how to extract all strings from rc files.
+rem A simple script which demonstrates how to extract all strings from rc files.
echo Generating string files...
perl rcstrings.pl -a
diff --git a/src/apps/mplayerc/mpcresources/rcstrings.pl b/src/apps/mplayerc/mpcresources/rcstrings.pl
index 69b696a40..59b9ac117 100644
--- a/src/apps/mplayerc/mpcresources/rcstrings.pl
+++ b/src/apps/mplayerc/mpcresources/rcstrings.pl
@@ -53,7 +53,7 @@ Extract all translatable strings from file1 file2 or all rc files.
Options:
--suffix -x output file suffix, default ".txt" optional
--help -h show this help
-
+
-all -a output all strings, including dialogs, menus, stringtables
-dialog -d output dialogs
-menu -m output menus
@@ -71,11 +71,11 @@ else { @FileLists = <*.rc>; }
#put all generated files under text sub dir.
if(!-e "text"){
- mkdir(File::Spec->catdir(".", "text")) || die "Can not create \"text\" sub directory.";
+ mkdir(File::Spec->catdir(".", "text")) || die "Cannot create \"text\" sub directory.";
}
foreach my $filename(@FileLists) {
- print "Anaylse locale file: $filename...\n";
+ print "Analyzing locale file: $filename...\n";
my @rcfile = readFile($filename, 1);
my($curDialogs, $curMenus, $curStrings, @curOutline) = ({},{},{}, ());
my @curVersionInfo = ();
@@ -91,7 +91,7 @@ foreach my $filename(@FileLists) {
sub writeFileStrings {
my ($filename, $dialogs, $menus, $strings) = @_;
my @contents = ();
-
+
if($OutputDialogs) {
foreach (sort(keys(%{$dialogs}))) {
my @data = ();
@@ -121,7 +121,7 @@ sub writeFileStrings {
}
if(@contents) {
- print "Generate string files $filename...\n";
+ print "Generating string files $filename...\n";
writePatchFile($filename, \@contents, 1);
}
}
diff --git a/src/apps/mplayerc/mpcresources/sync.bat b/src/apps/mplayerc/mpcresources/sync.bat
new file mode 100644
index 000000000..a2e80103c
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/sync.bat
@@ -0,0 +1,37 @@
+@echo off
+
+rem An all in one script which demonstrates how to sync all locale rc files to the latest mplayerc.rc.
+rem It will try to patch existing local rc files first, then sync them to mplayerc.rc.
+rem Then it will overwrite rc files with new rc ones, and after that it will generate the text files.
+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
+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...
+perl rcfile.pl -b $$TEMP$$.old
+del $$TEMP$$.old
+echo ----------------------
+
+copy newrc\*.rc .
+echo ----------------------
+
+echo Generating new string files...
+copy ..\mplayerc.rc .
+perl rcstrings.pl -a
+del mplayerc.rc
+echo ----------------------
+goto :END
+
+:NOSVNCLI
+echo You'll need svn command line tool to use this script.
+echo Or you can just checkout the head revision of mplayerc.rc file by yourself,
+echo put it somewhere and then use the -b option to point to it.
+
+:END
+pause
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt
new file mode 100644
index 000000000..dc41f9d6b
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt
new file mode 100644
index 000000000..276eaa822
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt
new file mode 100644
index 000000000..2b2ef312e
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt
new file mode 100644
index 000000000..f494c7bab
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt
new file mode 100644
index 000000000..233f71075
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt
new file mode 100644
index 000000000..5a5659bc4
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt
new file mode 100644
index 000000000..2499d0125
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt
new file mode 100644
index 000000000..10549661d
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt
new file mode 100644
index 000000000..770591daf
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt
new file mode 100644
index 000000000..4cb9ae3b7
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt
new file mode 100644
index 000000000..f4ae47479
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt
new file mode 100644
index 000000000..b6d310bda
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt
new file mode 100644
index 000000000..9f2c07460
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt
new file mode 100644
index 000000000..25745bcb3
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt
new file mode 100644
index 000000000..b8c25ffb9
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt
new file mode 100644
index 000000000..5e3e3fa09
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt
new file mode 100644
index 000000000..294cca8c2
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt
new file mode 100644
index 000000000..6a1d4999b
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt
new file mode 100644
index 000000000..5aa7c8ace
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt
new file mode 100644
index 000000000..d9c1db171
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt
new file mode 100644
index 000000000..8063294d8
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt
new file mode 100644
index 000000000..e85877ccd
--- /dev/null
+++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt
Binary files differ
diff --git a/src/apps/mplayerc/mplayerc.cpp b/src/apps/mplayerc/mplayerc.cpp
index 7aa362360..20089c0a0 100644
--- a/src/apps/mplayerc/mplayerc.cpp
+++ b/src/apps/mplayerc/mplayerc.cpp
@@ -23,7 +23,6 @@
#include "stdafx.h"
#include "mplayerc.h"
-#include <atlsync.h>
#include <Tlhelp32.h>
#include "MainFrm.h"
#include "../../DSUtil/DSUtil.h"
@@ -31,9 +30,6 @@
#include "FileVersionInfo.h"
#include <psapi.h>
#include "Ifo.h"
-#include "MiniDump.h"
-#include "SettingsDefines.h"
-#include "internal_filter_config.h"
#include "Monitors.h"
#include "..\..\..\include\Version.h"
@@ -232,17 +228,18 @@ public:
m_strBuildNumber = AfxGetMyApp()->m_strVersion;
-#ifdef __INTEL_COMPILER
- #if (__INTEL_COMPILER >= 1100)
+#if defined(__INTEL_COMPILER)
+ #if (__INTEL_COMPILER >= 1200)
+ m_MPCCompiler = _T("ICL 12.x");
+ #elif (__INTEL_COMPILER >= 1100)
m_MPCCompiler = _T("ICL 11.x");
#elif (__INTEL_COMPILER >= 1000)
m_MPCCompiler = _T("ICL 10.x");
#else
#error Compiler is not supported!
#endif
-
-#else
-#if (_MSC_VER == 1600)
+#elif defined(_MSC_VER)
+ #if (_MSC_VER == 1600)
m_MPCCompiler = _T("MSVC 2010");
#elif (_MSC_VER == 1500)
#if (_MSC_FULL_VER >= 150030729)
@@ -253,9 +250,24 @@ public:
#elif (_MSC_VER < 1500)
#error Compiler is not supported!
#endif
+
+ // Note: /arch:SSE and /arch:SSE2 are only available when you compile for the x86 platform.
+ // Link: http://msdn.microsoft.com/en-us/library/7t5yh4fd.aspx
+ // Link: http://msdn.microsoft.com/en-us/library/b0084kay.aspx
+ #if !defined(_M_X64) && defined(_M_IX86_FP)
+ //#if (_M_IX86_FP == 0) // 0 if /arch was not used.
+ // m_MPCCompiler += _T("");
+ #if (_M_IX86_FP == 1) // 1 if /arch:SSE was used.
+ m_MPCCompiler += _T(" (SSE)");
+ #elif (_M_IX86_FP == 2) // 2 if /arch:SSE2 was used.
+ m_MPCCompiler += _T(" (SSE2)");
+ #endif
+ #endif // _M_IX86_FP
+#else
+ #error Please add support for your compiler
#endif
-#if INCLUDE_MPC_VIDEO_DECODER | INCLUDE_MPC_DXVA_VIDEO_DECODER
+#if HAS_FFMPEG
m_FFmpegCompiler.Format (A2W(GetFFmpegCompiler()));
#endif
@@ -333,7 +345,7 @@ CMPlayerCApp::CMPlayerCApp()
GetRemoteControlCode = GetRemoteControlCodeMicrosoft;
}
-void CMPlayerCApp::ShowCmdlnSwitches()
+void CMPlayerCApp::ShowCmdlnSwitches() const
{
CString s;
@@ -369,7 +381,30 @@ bool CMPlayerCApp::StoreSettingsToIni()
m_pszRegistryKey = NULL;
free((void*)m_pszProfileName);
m_pszProfileName = _tcsdup(ini);
- return(true);
+
+ // We can only use UTF16-LE for unicode ini files in windows. UTF8/UTF16-BE do not work.
+ // So to ensure we have correct encoding for ini files, create a file with right BOM first,
+ // then add some comments in first line to make sure it's not empty.
+
+ // If you want to try unicode ini, uncomment following code block.
+ /*
+ if(!::PathFileExists(m_pszProfileName)) // don't overwrite existing ini file
+ {
+ LPTSTR pszComments = _T("; Media Player Classic - Home Cinema");
+ WORD wBOM = 0xFEFF;// UTF16-LE BOM(FFFE)
+ DWORD nBytes;
+
+ HANDLE hFile = ::CreateFile(m_pszProfileName, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
+ if(hFile != INVALID_HANDLE_VALUE)
+ {
+ ::WriteFile(hFile, &wBOM, sizeof(WORD), &nBytes, NULL);
+ ::WriteFile(hFile, pszComments, (_tcslen(pszComments)+1)*(sizeof(TCHAR)), &nBytes, NULL);
+ ::CloseHandle(hFile);
+ }
+ }
+ */
+
+ return(true);
}
bool CMPlayerCApp::StoreSettingsToRegistry()
@@ -384,7 +419,7 @@ bool CMPlayerCApp::StoreSettingsToRegistry()
return(true);
}
-CString CMPlayerCApp::GetIniPath()
+CString CMPlayerCApp::GetIniPath() const
{
CString path;
GetModuleFileName(AfxGetInstanceHandle(), path.GetBuffer(_MAX_PATH), _MAX_PATH);
@@ -393,7 +428,7 @@ CString CMPlayerCApp::GetIniPath()
return(path);
}
-bool CMPlayerCApp::IsIniValid()
+bool CMPlayerCApp::IsIniValid() const
{
CFileStatus fs;
return CFileGetStatus(GetIniPath(), fs) && fs.m_size > 0;
@@ -917,7 +952,7 @@ BOOL CMPlayerCApp::InitInstance()
if((m_s.nCLSwitches&CLSW_REGEXTVID) || (m_s.nCLSwitches&CLSW_REGEXTAUD))
{
- CMediaFormats& mf = m_s.Formats;
+ CMediaFormats& mf = m_s.m_Formats;
for(int i = 0; i < (int)mf.GetCount(); i++)
{
@@ -942,7 +977,7 @@ BOOL CMPlayerCApp::InitInstance()
if((m_s.nCLSwitches&CLSW_UNREGEXT))
{
- CMediaFormats& mf = m_s.Formats;
+ CMediaFormats& mf = m_s.m_Formats;
for(int i = 0; i < (int)mf.GetCount(); i++)
{
@@ -1037,9 +1072,9 @@ BOOL CMPlayerCApp::InitInstance()
pFrame->UpdateWindow();
pFrame->m_hAccelTable = m_s.hAccel;
m_s.WinLircClient.SetHWND(m_pMainWnd->m_hWnd);
- if(m_s.fWinLirc) m_s.WinLircClient.Connect(m_s.WinLircAddr);
+ if(m_s.fWinLirc) m_s.WinLircClient.Connect(m_s.strWinLircAddr);
m_s.UIceClient.SetHWND(m_pMainWnd->m_hWnd);
- if(m_s.fUIce) m_s.UIceClient.Connect(m_s.UIceAddr);
+ if(m_s.fUIce) m_s.UIceClient.Connect(m_s.strUIceAddr);
SendCommandLine(m_pMainWnd->m_hWnd);
RegisterHotkeys();
@@ -1912,6 +1947,8 @@ LPCTSTR CMPlayerCApp::GetSatelliteDll(int nLanguage)
return _T("mpcresources.ca.dll");
case 20 : // Japanese
return _T("mpcresources.ja.dll");
+ case 21 : // Armenian
+ return _T("mpcresources.hy.dll");
}
return NULL;
}
@@ -1957,9 +1994,11 @@ int CMPlayerCApp::GetDefLanguage()
case 1043 : // Dutch
return 18;
case 1027 : // Catalan
- return 18;
+ return 19;
case 1041 : // Japanese
return 20;
+ case 1067 : // Armenian
+ return 21;
default:
return 0;
}
@@ -2095,7 +2134,7 @@ void CMPlayerCApp::RunAsAdministrator(LPCTSTR strCommand, LPCTSTR strArgs, bool
void CAboutDlg::OnHomepage(NMHDR *pNMHDR, LRESULT *pResult)
{
- ShellExecute(m_hWnd, _T("open"), _T("http://mpc-hc.sourceforge.net/about-homepage.html"), NULL, NULL, SW_SHOWDEFAULT);
+ ShellExecute(m_hWnd, _T("open"), _T("http://mpc-hc.sourceforge.net/"), NULL, NULL, SW_SHOWDEFAULT);
*pResult = 0;
}
diff --git a/src/apps/mplayerc/mplayerc.h b/src/apps/mplayerc/mplayerc.h
index ca58dafdc..e3c91ba27 100644
--- a/src/apps/mplayerc/mplayerc.h
+++ b/src/apps/mplayerc/mplayerc.h
@@ -30,11 +30,7 @@
#include "resource.h" // main symbols
#include <afxadv.h>
#include <atlsync.h>
-#include "../../Subtitles/STS.h"
-#include "MediaFormats.h"
#include "FakeFilterMapper2.h"
-#include "DVBChannel.h"
-#include "RenderersSettings.h"
#include "AppSettings.h"
#define MPC_WND_CLASS_NAME L"MediaPlayerClassicW"
@@ -115,12 +111,12 @@ class CMPlayerCApp : public CWinApp
public:
CMPlayerCApp();
- void ShowCmdlnSwitches();
+ void ShowCmdlnSwitches() const;
bool StoreSettingsToIni();
bool StoreSettingsToRegistry();
- CString GetIniPath();
- bool IsIniValid();
+ CString GetIniPath() const;
+ bool IsIniValid() const;
bool GetAppSavePath(CString& path);
diff --git a/src/apps/mplayerc/mplayerc.rc b/src/apps/mplayerc/mplayerc.rc
index 7dc16caef..e0cdddc61 100644
--- a/src/apps/mplayerc/mplayerc.rc
+++ b/src/apps/mplayerc/mplayerc.rc
Binary files differ
diff --git a/src/apps/mplayerc/mplayerc.vcproj b/src/apps/mplayerc/mplayerc.vcproj
index 1a09aca4e..26345c719 100644
--- a/src/apps/mplayerc/mplayerc.vcproj
+++ b/src/apps/mplayerc/mplayerc.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9.00"
+ Version="9,00"
Name="mpc-hc"
ProjectGUID="{8CE7E5D0-C821-47AC-A247-28EC95B34670}"
RootNamespace="mpc-hc"
@@ -51,7 +51,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;DETOURS_X32"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="stdafx.h"
@@ -138,7 +138,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
PreprocessorDefinitions="_WIN64;NDEBUG;_WINDOWS;DETOURS_X64"
EnableEnhancedInstructionSet="0"
UsePrecompiledHeader="2"
@@ -225,7 +225,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;DETOURS_X32"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="stdafx.h"
@@ -310,7 +310,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
+ AdditionalIncludeDirectories="..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;&quot;$(DXSDK_DIR)Include&quot;"
PreprocessorDefinitions="_WIN64;_DEBUG;_WINDOWS;DETOURS_X64"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="stdafx.h"
@@ -761,10 +761,6 @@
>
</File>
<File
- RelativePath=".\PPageSubDB.cpp"
- >
- </File>
- <File
RelativePath=".\PPageSubMisc.cpp"
>
</File>
@@ -1026,6 +1022,10 @@
>
</File>
<File
+ RelativePath=".\FilterEnum.h"
+ >
+ </File>
+ <File
RelativePath=".\FloatEdit.h"
>
</File>
@@ -1270,10 +1270,6 @@
>
</File>
<File
- RelativePath=".\PPageSubDB.h"
- >
- </File>
- <File
RelativePath=".\PPageSubMisc.h"
>
</File>
diff --git a/src/apps/mplayerc/mplayerc.vcxproj b/src/apps/mplayerc/mplayerc.vcxproj
index 7d122a59e..fcda73cde 100644
--- a/src/apps/mplayerc/mplayerc.vcxproj
+++ b/src/apps/mplayerc/mplayerc.vcxproj
@@ -93,7 +93,7 @@ update_version.bat
<TypeLibraryName>.\Release_unicode/mplayerc.tlb</TypeLibraryName>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;DETOURS_X32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
@@ -135,7 +135,7 @@ update_version.bat
<TypeLibraryName>.\Release_unicode/mplayerc.tlb</TypeLibraryName>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN64;NDEBUG;_WINDOWS;DETOURS_X64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
<PrecompiledHeader>Use</PrecompiledHeader>
@@ -176,7 +176,7 @@ update_version.bat
<TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;DETOURS_X32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
@@ -216,7 +216,7 @@ update_version.bat
<TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\include;..\..\..\include\dx;..\..\..\include\atl;..\..\filters\BaseClasses;..\..\thirdparty;..\..\thirdparty\libpng;..\..\thirdparty\MediaInfo;..\..\thirdparty\MediaInfo\MediaInfo;..\..\thirdparty\ZenLib;..\..\thirdparty\zlib;..\..\filters\renderer\VideoRenderers;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WIN64;_DEBUG;_WINDOWS;DETOURS_X64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
@@ -350,7 +350,6 @@ update_version.bat
<ClCompile Include="PPagePlayback.cpp" />
<ClCompile Include="PPagePlayer.cpp" />
<ClCompile Include="PPageSheet.cpp" />
- <ClCompile Include="PPageSubDB.cpp" />
<ClCompile Include="PPageSubMisc.cpp" />
<ClCompile Include="PPageSubStyle.cpp" />
<ClCompile Include="PPageSubtitles.cpp" />
@@ -413,6 +412,7 @@ update_version.bat
<ClInclude Include="FGManagerBDA.h" />
<ClInclude Include="FileDropTarget.h" />
<ClInclude Include="FileVersionInfo.h" />
+ <ClInclude Include="FilterEnum.h" />
<ClInclude Include="FloatEdit.h" />
<ClInclude Include="FullscreenWnd.h" />
<ClInclude Include="GoToDlg.h" />
@@ -474,7 +474,6 @@ update_version.bat
<ClInclude Include="PPagePlayback.h" />
<ClInclude Include="PPagePlayer.h" />
<ClInclude Include="PPageSheet.h" />
- <ClInclude Include="PPageSubDB.h" />
<ClInclude Include="PPageSubMisc.h" />
<ClInclude Include="PPageSubStyle.h" />
<ClInclude Include="PPageSubtitles.h" />
diff --git a/src/apps/mplayerc/mplayerc.vcxproj.filters b/src/apps/mplayerc/mplayerc.vcxproj.filters
index 05dfb8ca5..5da80d53d 100644
--- a/src/apps/mplayerc/mplayerc.vcxproj.filters
+++ b/src/apps/mplayerc/mplayerc.vcxproj.filters
@@ -252,9 +252,6 @@
<ClCompile Include="PPageSheet.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="PPageSubDB.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="PPageSubStyle.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -416,6 +413,9 @@
<ClInclude Include="FileVersionInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="FilterEnum.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
<ClInclude Include="FloatEdit.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -596,9 +596,6 @@
<ClInclude Include="PPageSheet.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="PPageSubDB.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="PPageSubStyle.h">
<Filter>Header Files</Filter>
</ClInclude>
diff --git a/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf b/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf
index a4d6a94ee..5c1219351 100644
--- a/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf
+++ b/src/apps/mplayerc/res/mpc-hc.exe.manifest.conf
@@ -1,41 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <assemblyIdentity
- version="1.4.$WCREV$.0"
- processorArchitecture="*"
- name="Media Player Classic Home Cinema"
- type="win32"
- />
- <description>Media Player Classic Home Cinema</description>
- <dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0"
- processorArchitecture="*"
- publicKeyToken="6595b64144ccf1df"
- language="*"
- />
- </dependentAssembly>
- </dependency>
- <!-- Identify the application security requirements -->
- <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
- <security>
- <requestedPrivileges>
- <requestedExecutionLevel
- level="asInvoker"
- uiAccess="false"
- />
- </requestedPrivileges>
- </security>
- </trustInfo>
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--The ID below indicates application support for Windows Vista -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
- <!--The ID below indicates application support for Windows 7 -->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- </application>
- </compatibility>
-</assembly>
+ <assemblyIdentity
+ name="Media Player Classic Home Cinema"
+ processorArchitecture="*"
+ version="1.4.$WCREV$.0"
+ type="win32"
+ />
+ <description>Media Player Classic Home Cinema</description>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="*"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>
+ <!-- Identify the application security requirements -->
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel
+ level="asInvoker"
+ uiAccess="false"
+ />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ <!--The ID below indicates application support for Windows Vista -->
+ <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+ <!--The ID below indicates application support for Windows 7 -->
+ <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+ </application>
+ </compatibility>
+ <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+ <asmv3:windowsSettings
+ xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
+ <dpiAware>true</dpiAware>
+ </asmv3:windowsSettings>
+ </asmv3:application>
+</assembly> \ No newline at end of file
diff --git a/src/apps/mplayerc/res/mpc-hc.exe.manifest.template b/src/apps/mplayerc/res/mpc-hc.exe.manifest.template
index 89cab0020..77e930590 100644
--- a/src/apps/mplayerc/res/mpc-hc.exe.manifest.template
+++ b/src/apps/mplayerc/res/mpc-hc.exe.manifest.template
@@ -1,41 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <assemblyIdentity
- version="1.4.0.0"
- processorArchitecture="*"
- name="Media Player Classic Home Cinema"
- type="win32"
- />
- <description>Media Player Classic Home Cinema</description>
- <dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0"
- processorArchitecture="*"
- publicKeyToken="6595b64144ccf1df"
- language="*"
- />
- </dependentAssembly>
- </dependency>
- <!-- Identify the application security requirements -->
- <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
- <security>
- <requestedPrivileges>
- <requestedExecutionLevel
- level="asInvoker"
- uiAccess="false"
- />
- </requestedPrivileges>
- </security>
- </trustInfo>
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--The ID below indicates application support for Windows Vista -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
- <!--The ID below indicates application support for Windows 7 -->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- </application>
- </compatibility>
-</assembly>
+ <assemblyIdentity
+ name="Media Player Classic Home Cinema"
+ processorArchitecture="*"
+ version="1.4.0.0"
+ type="win32"
+ />
+ <description>Media Player Classic Home Cinema</description>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="*"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>
+ <!-- Identify the application security requirements -->
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel
+ level="asInvoker"
+ uiAccess="false"
+ />
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ <!--The ID below indicates application support for Windows Vista -->
+ <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+ <!--The ID below indicates application support for Windows 7 -->
+ <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+ </application>
+ </compatibility>
+ <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
+ <asmv3:windowsSettings
+ xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
+ <dpiAware>true</dpiAware>
+ </asmv3:windowsSettings>
+ </asmv3:application>
+</assembly> \ No newline at end of file
diff --git a/src/apps/mplayerc/resource.h b/src/apps/mplayerc/resource.h
index effcda890..599d0b830 100644
--- a/src/apps/mplayerc/resource.h
+++ b/src/apps/mplayerc/resource.h
Binary files differ