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:
authorUnderground78 <underground78@users.sourceforge.net>2015-01-25 15:47:48 +0300
committerUnderground78 <underground78@users.sourceforge.net>2015-01-25 15:47:48 +0300
commit6fcba1bead7608fb480ab943ab9689bc66f4e009 (patch)
treeef5a968e7749e8f80f310fd44a43fc5b1d394193
parent46ce9d630e7891230c9648afb0c17088681573e6 (diff)
parent013ebae50427b2e985939439202e206373ed5aee (diff)
Merge branch 'release-1.7.8'1.7.8
-rw-r--r--CONTRIBUTING.md6
-rw-r--r--Readme.md4
-rwxr-xr-xbuild.bat26
-rw-r--r--contrib/astyle.ini1
-rwxr-xr-xcontrib/coverity.bat37
-rw-r--r--contrib/pre-commit.sh8
-rwxr-xr-xcontrib/run_astyle.bat8
-rw-r--r--distrib/Languages/Arabic.isl13
-rw-r--r--distrib/Languages/Croatian.isl3
-rw-r--r--distrib/custom_messages_translated.iss76
-rw-r--r--distrib/mpc-hc_setup.iss4
-rw-r--r--docs/Changelog.txt157
-rw-r--r--docs/Changelog_old.txt81
-rw-r--r--docs/Compilation.txt9
-rw-r--r--docs/Readme.txt4
-rw-r--r--docs/Release.txt47
-rw-r--r--docs/Submodules.txt4
-rw-r--r--include/mpc-hc_config.h5
-rw-r--r--include/version.h6
-rw-r--r--mpcresources.sln12
-rw-r--r--src/CmdUI/CmdUI.vcxproj2
-rw-r--r--src/DSUtil/DSMPropertyBag.cpp6
-rw-r--r--src/DSUtil/DSUtil.cpp26
-rw-r--r--src/DSUtil/DSUtil.h1
-rw-r--r--src/DSUtil/DSUtil.vcxproj2
-rw-r--r--src/DSUtil/FontInstaller.h4
-rw-r--r--src/DSUtil/MediaTypeEx.cpp9
-rw-r--r--src/DSUtil/Mpeg2Def.h11
-rw-r--r--src/DSUtil/NullRenderers.cpp12
-rw-r--r--src/DSUtil/PathUtils.cpp15
-rw-r--r--src/DSUtil/PathUtils.h2
-rw-r--r--src/DSUtil/WinAPIUtils.cpp22
-rw-r--r--src/DSUtil/WinAPIUtils.h3
-rw-r--r--src/DSUtil/WinapiFunc.h2
-rw-r--r--src/DSUtil/text.h6
-rw-r--r--src/DeCSS/DeCSS.vcxproj2
-rw-r--r--src/DeCSS/VobFile.cpp54
-rw-r--r--src/DeCSS/VobFile.h7
-rw-r--r--src/MPCTestAPI/MPCTestAPIDlg.cpp6
-rw-r--r--src/MPCTestAPI/res/MPCTestAPI.exe.manifest1
-rw-r--r--src/MathLibFix/MathLibFix.vcxproj2
-rw-r--r--src/SubPic/DX7SubPic.cpp4
-rw-r--r--src/SubPic/SubPic.vcxproj2
-rw-r--r--src/SubPic/SubPicAllocatorPresenterImpl.cpp10
-rw-r--r--src/SubPic/SubPicQueueImpl.cpp8
-rw-r--r--src/SubPic/XySubPicProvider.cpp11
-rw-r--r--src/Subtitles/CompositionObject.cpp2
-rw-r--r--src/Subtitles/DVBSub.cpp2
-rw-r--r--src/Subtitles/DVBSub.h8
-rw-r--r--src/Subtitles/Ellipse.cpp6
-rw-r--r--src/Subtitles/RLECodedSubtitle.cpp1
-rw-r--r--src/Subtitles/RTS.cpp134
-rw-r--r--src/Subtitles/Rasterizer.cpp4
-rw-r--r--src/Subtitles/Rasterizer.h6
-rw-r--r--src/Subtitles/RealTextParser.cpp26
-rw-r--r--src/Subtitles/RenderingCache.cpp10
-rw-r--r--src/Subtitles/RenderingCache.h6
-rw-r--r--src/Subtitles/STS.cpp21
-rw-r--r--src/Subtitles/STS.h2
-rw-r--r--src/Subtitles/Subtitles.vcxproj2
-rw-r--r--src/Subtitles/VobSubFile.cpp4
-rw-r--r--src/Subtitles/VobSubImage.cpp20
-rw-r--r--src/common-3rd-party.props9
-rw-r--r--src/common.props3
-rw-r--r--src/filters/Filters.vcxproj2
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj2
-rw-r--r--src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp8
-rw-r--r--src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp16
-rw-r--r--src/filters/muxer/WavDest/WavDest.cpp4
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.cpp15
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.h8
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.vcxproj2
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitterFile.cpp8
-rw-r--r--src/filters/parser/BaseSplitter/MultiFiles.cpp8
-rw-r--r--src/filters/reader/CDDAReader/CDDAReader.cpp161
-rw-r--r--src/filters/reader/CDDAReader/CDDAReader.h4
-rw-r--r--src/filters/renderer/MpcAudioRenderer/MpcAudioRenderer.cpp22
-rw-r--r--src/filters/renderer/SyncClock/SyncClock.cpp10
-rw-r--r--src/filters/renderer/SyncClock/SyncClock.vcxproj2
-rw-r--r--src/filters/renderer/VideoRenderers/D3DFont.cpp4
-rw-r--r--src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp90
-rw-r--r--src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp94
-rw-r--r--src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h13
-rw-r--r--src/filters/renderer/VideoRenderers/DX9RenderingEngine.cpp10
-rw-r--r--src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp53
-rw-r--r--src/filters/renderer/VideoRenderers/IPinHook.cpp361
-rw-r--r--src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp4
-rw-r--r--src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/SyncRenderer.cpp84
-rw-r--r--src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj2
-rw-r--r--src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp2
-rw-r--r--src/filters/source/BaseSource/BaseSource.cpp4
-rw-r--r--src/filters/source/BaseSource/BaseSource.vcxproj2
-rw-r--r--src/filters/source/SubtitleSource/SubtitleSource.cpp2
-rw-r--r--src/filters/switcher/AudioSwitcher/Audio.cpp12
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp4
-rw-r--r--src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj2
-rw-r--r--src/filters/transform/VSFilter/DirectVobSubPropPage.cpp4
-rw-r--r--src/filters/transform/VSFilter/VSFilter.cpp10
-rw-r--r--src/filters/transform/VSFilter/VSFilter.h5
-rw-r--r--src/filters/transform/VSFilter/VSFilter.vcxproj2
-rw-r--r--src/filters/transform/VSFilter/installer/vsfilter_setup.iss4
-rw-r--r--src/filters/transform/VSFilter/res/VSFilter.manifest1
-rw-r--r--src/mpc-hc/AboutDlg.cpp17
-rw-r--r--src/mpc-hc/AppSettings.cpp67
-rw-r--r--src/mpc-hc/AppSettings.h24
-rw-r--r--src/mpc-hc/AuthDlg.cpp12
-rw-r--r--src/mpc-hc/ChildView.cpp45
-rw-r--r--src/mpc-hc/ChildView.h7
-rw-r--r--src/mpc-hc/CoverArt.cpp86
-rw-r--r--src/mpc-hc/CoverArt.h31
-rw-r--r--src/mpc-hc/DVBChannel.cpp174
-rw-r--r--src/mpc-hc/DVBChannel.h102
-rw-r--r--src/mpc-hc/DebugShadersDlg.cpp4
-rw-r--r--src/mpc-hc/DebugShadersDlg.h5
-rw-r--r--src/mpc-hc/EditListEditor.cpp4
-rw-r--r--src/mpc-hc/EventDispatcher.h3
-rw-r--r--src/mpc-hc/FGFilterLAV.cpp13
-rw-r--r--src/mpc-hc/FGManager.cpp20
-rw-r--r--src/mpc-hc/FGManagerBDA.cpp129
-rw-r--r--src/mpc-hc/FGManagerBDA.h19
-rw-r--r--src/mpc-hc/FakeFilterMapper2.cpp14
-rw-r--r--src/mpc-hc/FakeFilterMapper2.h6
-rw-r--r--src/mpc-hc/FavoriteOrganizeDlg.cpp21
-rw-r--r--src/mpc-hc/FavoriteOrganizeDlg.h3
-rw-r--r--src/mpc-hc/FileAssoc.cpp22
-rw-r--r--src/mpc-hc/GoToDlg.cpp2
-rw-r--r--src/mpc-hc/Ifo.cpp4
-rw-r--r--src/mpc-hc/MainFrm.cpp554
-rw-r--r--src/mpc-hc/MainFrm.h51
-rw-r--r--src/mpc-hc/MainFrmControls.h6
-rw-r--r--src/mpc-hc/MediaFormats.cpp4
-rw-r--r--src/mpc-hc/MediaTypesDlg.cpp4
-rw-r--r--src/mpc-hc/MiniDump.cpp180
-rw-r--r--src/mpc-hc/MiniDump.h18
-rw-r--r--src/mpc-hc/MouseTouch.cpp6
-rw-r--r--src/mpc-hc/MouseTouch.h9
-rw-r--r--src/mpc-hc/MpcApi.h2
-rw-r--r--src/mpc-hc/Mpeg2SectionData.cpp334
-rw-r--r--src/mpc-hc/OpenDirHelper.cpp3
-rw-r--r--src/mpc-hc/OpenDlg.cpp77
-rw-r--r--src/mpc-hc/OpenDlg.h37
-rw-r--r--src/mpc-hc/PPageAccelTbl.cpp2
-rw-r--r--src/mpc-hc/PPageAdvanced.cpp15
-rw-r--r--src/mpc-hc/PPageAdvanced.h3
-rw-r--r--src/mpc-hc/PPageAudioSwitcher.cpp10
-rw-r--r--src/mpc-hc/PPageDVD.cpp1
-rw-r--r--src/mpc-hc/PPageExternalFilters.cpp7
-rw-r--r--src/mpc-hc/PPageFileInfoClip.cpp101
-rw-r--r--src/mpc-hc/PPageFileInfoClip.h29
-rw-r--r--src/mpc-hc/PPageFileInfoDetails.cpp259
-rw-r--r--src/mpc-hc/PPageFileInfoDetails.h29
-rw-r--r--src/mpc-hc/PPageFileInfoRes.cpp71
-rw-r--r--src/mpc-hc/PPageFileInfoRes.h13
-rw-r--r--src/mpc-hc/PPageFileInfoSheet.cpp44
-rw-r--r--src/mpc-hc/PPageFileMediaInfo.cpp234
-rw-r--r--src/mpc-hc/PPageFileMediaInfo.h34
-rw-r--r--src/mpc-hc/PPageFormats.cpp11
-rw-r--r--src/mpc-hc/PPageFullscreen.cpp7
-rw-r--r--src/mpc-hc/PPageInternalFilters.cpp14
-rw-r--r--src/mpc-hc/PPageLogo.cpp4
-rw-r--r--src/mpc-hc/PPageMisc.cpp8
-rw-r--r--src/mpc-hc/PPageOutput.cpp6
-rw-r--r--src/mpc-hc/PPagePlayback.cpp18
-rw-r--r--src/mpc-hc/PPagePlayback.h1
-rw-r--r--src/mpc-hc/PPagePlayer.cpp2
-rw-r--r--src/mpc-hc/PPageSheet.cpp6
-rw-r--r--src/mpc-hc/PPageSheet.h6
-rw-r--r--src/mpc-hc/PPageSubMisc.cpp4
-rw-r--r--src/mpc-hc/PPageSubStyle.cpp6
-rw-r--r--src/mpc-hc/PPageSubtitles.cpp4
-rw-r--r--src/mpc-hc/PPageTweaks.cpp12
-rw-r--r--src/mpc-hc/PPageWebServer.cpp31
-rw-r--r--src/mpc-hc/PlayerBar.cpp4
-rw-r--r--src/mpc-hc/PlayerCaptureBar.cpp3
-rw-r--r--src/mpc-hc/PlayerCaptureBar.h2
-rw-r--r--src/mpc-hc/PlayerCaptureDialog.cpp46
-rw-r--r--src/mpc-hc/PlayerCaptureDialog.h3
-rw-r--r--src/mpc-hc/PlayerListCtrl.cpp14
-rw-r--r--src/mpc-hc/PlayerNavigationBar.cpp10
-rw-r--r--src/mpc-hc/PlayerNavigationBar.h5
-rw-r--r--src/mpc-hc/PlayerNavigationDialog.cpp252
-rw-r--r--src/mpc-hc/PlayerNavigationDialog.h38
-rw-r--r--src/mpc-hc/PlayerPlaylistBar.cpp78
-rw-r--r--src/mpc-hc/PlayerSubresyncBar.cpp175
-rw-r--r--src/mpc-hc/PlayerSubresyncBar.h2
-rw-r--r--src/mpc-hc/PlayerToolBar.cpp33
-rw-r--r--src/mpc-hc/Playlist.cpp14
-rw-r--r--src/mpc-hc/PnSPresetsDlg.cpp3
-rw-r--r--src/mpc-hc/QuicktimeGraph.cpp15
-rw-r--r--src/mpc-hc/QuicktimeGraph.h6
-rw-r--r--src/mpc-hc/RealMediaGraph.cpp6
-rw-r--r--src/mpc-hc/RealMediaWindowlessSite.h10
-rw-r--r--src/mpc-hc/SaveSubtitlesFileDialog.cpp4
-rw-r--r--src/mpc-hc/SkypeMoodMsgHandler.cpp4
-rw-r--r--src/mpc-hc/SubtitleDlDlg.cpp4
-rw-r--r--src/mpc-hc/Translations.cpp16
-rw-r--r--src/mpc-hc/Translations.h2
-rw-r--r--src/mpc-hc/TunerScanDlg.cpp139
-rw-r--r--src/mpc-hc/TunerScanDlg.h6
-rw-r--r--src/mpc-hc/UpdateChecker.cpp10
-rw-r--r--src/mpc-hc/VMROSD.cpp21
-rw-r--r--src/mpc-hc/WebClientSocket.cpp14
-rw-r--r--src/mpc-hc/WebServer.cpp6
-rw-r--r--src/mpc-hc/WinHotkeyCtrl.cpp4
-rw-r--r--src/mpc-hc/mpc-hc.rc54
-rw-r--r--src/mpc-hc/mpc-hc.vcxproj27
-rw-r--r--src/mpc-hc/mpc-hc.vcxproj.filters991
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po28
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po16
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po142
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po16
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po86
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po165
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po29
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po149
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po30
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po30
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po280
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot4
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po14
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po98
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po104
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po46
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po20
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po104
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po1668
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po691
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po3583
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po16
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po88
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po18
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po14
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po128
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po84
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po445
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po14
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po94
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po14
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po92
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po5
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po2
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po17
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po7
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po83
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po4
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po14
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po110
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po56
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po16
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po182
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po85
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po15
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po229
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po90
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po21
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po13
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po429
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po80
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po88
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po37
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po15
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po111
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po8
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po92
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po90
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po1668
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po692
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po3584
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot76
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po68
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po32
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po184
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po92
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po18
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po16
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po82
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po24
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po118
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po102
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po12
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po86
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po10
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po6
-rw-r--r--src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po82
-rw-r--r--src/mpc-hc/mpcresources/cfg/mpc-hc.fi.cfg8
-rw-r--r--src/mpc-hc/mpcresources/cfg/mpc-hc.sr.cfg8
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ar.rcbin344990 -> 347928 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.be.rcbin355994 -> 358604 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.bn.rcbin370902 -> 373998 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ca.rcbin366890 -> 370276 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.cs.rcbin358858 -> 361930 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.de.rcbin364782 -> 367862 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.el.rcbin373034 -> 376108 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.en_GB.rcbin351088 -> 354194 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.es.rcbin370502 -> 373834 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.eu.rcbin361722 -> 365078 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.fi.rcbin0 -> 360940 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.fr.rcbin376868 -> 380560 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.gl.rcbin368342 -> 371588 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.he.rcbin344946 -> 348030 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.hr.rcbin358756 -> 362672 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.hu.rcbin365412 -> 368534 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.hy.rcbin356228 -> 359272 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.it.rcbin361914 -> 365126 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ja.rcbin322840 -> 325480 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ko.rcbin326558 -> 327754 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ms_MY.rcbin356900 -> 360120 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.nl.rcbin356984 -> 360898 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.pl.rcbin370072 -> 373212 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.pt_BR.rcbin364992 -> 368174 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ro.rcbin370066 -> 373434 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.ru.rcbin360776 -> 363734 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.sk.rcbin364138 -> 367572 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.sl.rcbin360384 -> 363328 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.sr.rcbin0 -> 364528 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.sv.rcbin357158 -> 360244 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.th_TH.rcbin348036 -> 351016 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.tr.rcbin357040 -> 360316 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.tt.rcbin358956 -> 362034 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.uk.rcbin362404 -> 366150 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.vi.rcbin354542 -> 357772 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.zh_CN.rcbin306808 -> 308988 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpc-hc.zh_TW.rcbin309980 -> 313046 bytes
-rw-r--r--src/mpc-hc/mpcresources/mpcresources.vcxproj24
-rw-r--r--src/mpc-hc/mpcresources/mpcresources.vcxproj.filters6
-rw-r--r--src/mpc-hc/mplayerc.cpp34
-rw-r--r--src/mpc-hc/mplayerc.h3
-rw-r--r--src/mpc-hc/res/mpc-hc.exe.manifest.conf1
-rw-r--r--src/mpc-hc/resource.h17
-rw-r--r--src/thirdparty/AsyncReader/AsyncReader.vcxproj10
-rw-r--r--src/thirdparty/AsyncReader/asyncio.cpp12
-rw-r--r--src/thirdparty/AsyncReader/asyncrdr.cpp5
-rw-r--r--src/thirdparty/BaseClasses/BaseClasses.vcxproj10
-rw-r--r--src/thirdparty/BaseClasses/amfilter.cpp14
-rw-r--r--src/thirdparty/BaseClasses/ctlutil.cpp3
-rw-r--r--src/thirdparty/BaseClasses/pullpin.cpp6
-rw-r--r--src/thirdparty/BaseClasses/refclock.cpp5
-rw-r--r--src/thirdparty/BaseClasses/schedule.h14
-rw-r--r--src/thirdparty/BaseClasses/strmctl.cpp3
-rw-r--r--src/thirdparty/BaseClasses/vtrans.cpp1
-rw-r--r--src/thirdparty/BaseClasses/vtrans.h2
-rw-r--r--src/thirdparty/BaseClasses/winutil.cpp11
-rw-r--r--src/thirdparty/BaseClasses/winutil.h2
-rw-r--r--src/thirdparty/BaseClasses/wxlist.h6
-rw-r--r--src/thirdparty/BaseClasses/wxutil.cpp6
-rw-r--r--src/thirdparty/BaseClasses/wxutil.h2
-rwxr-xr-xsrc/thirdparty/LAVFilters/build_ffmpeg.sh5
-rwxr-xr-xsrc/thirdparty/LAVFilters/build_lavfilters.bat6
m---------src/thirdparty/LAVFilters/src0
-rw-r--r--src/thirdparty/LCDUI/LCDUI.vcxproj12
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.cpp21
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.h2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0331.cpp16
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0337.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Export/Export_EbuCore.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.cpp576
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.h35
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyse_Automatic.h81
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyze.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyze.h2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyze_MinimizeSize.h2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams.cpp302
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams_Finish.cpp214
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.cpp18
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.h1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_Automatic.cpp274
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.cpp25
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.h3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Events.h6
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_File.cpp18
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Inform.cpp3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Internal.cpp21
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.cpp48
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.h3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Bdmv.cpp5
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Cdxa.cpp1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.cpp142
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.h9
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.cpp187
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.h7
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.cpp165
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.h28
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Dxw.cpp3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Gxf.cpp3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Hls.cpp1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ism.cpp1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.cpp19
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.h1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.cpp8
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.h4
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_Elements.cpp115
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_TimeCode.cpp3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegPs.cpp3
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegTs.cpp15
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp12
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp2283
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.h182
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_P2_Clip.cpp1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Riff.cpp6
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.cpp48
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.h7
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm_Elements.cpp183
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Xdcam_Clip.cpp1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp118
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Reader/Reader_File.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Setup.h6
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.cpp148
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.h38
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Eia708.cpp24
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_N19.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.cpp251
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.h71
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.cpp541
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.h59
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_TimedText.cpp2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.cpp16
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.h1
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.cpp41
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.h4
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.cpp46
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.h4
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.cpp27
-rw-r--r--src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.h2
-rw-r--r--src/thirdparty/MediaInfo/MediaInfoLib.vcxproj20
-rw-r--r--src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters18
-rw-r--r--src/thirdparty/RARFileSource/RARFileSource.vcxproj20
-rw-r--r--src/thirdparty/ResizableLib/ResizableLayout.h5
-rw-r--r--src/thirdparty/ResizableLib/ResizableLib.vcxproj10
-rw-r--r--src/thirdparty/SoundTouch/include/STTypes.h18
-rw-r--r--src/thirdparty/SoundTouch/include/SoundTouch.h10
-rw-r--r--src/thirdparty/SoundTouch/source/FIRFilter.cpp21
-rw-r--r--src/thirdparty/SoundTouch/source/FIRFilter.h12
-rw-r--r--src/thirdparty/SoundTouch/source/InterpolateShannon.cpp4
-rw-r--r--src/thirdparty/SoundTouch/source/RateTransposer.cpp12
-rw-r--r--src/thirdparty/SoundTouch/source/RateTransposer.h10
-rw-r--r--src/thirdparty/SoundTouch/source/SoundTouch.cpp36
-rw-r--r--src/thirdparty/SoundTouch/source/SoundTouch.vcxproj15
-rw-r--r--src/thirdparty/SoundTouch/source/TDStretch.cpp22
-rw-r--r--src/thirdparty/SoundTouch/source/TDStretch.h14
-rw-r--r--src/thirdparty/TreePropSheet/PropPageFrameDefault.cpp4
-rw-r--r--src/thirdparty/TreePropSheet/TreePropSheet.cpp27
-rw-r--r--src/thirdparty/TreePropSheet/TreePropSheet.vcxproj10
-rw-r--r--src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj14
-rw-r--r--src/thirdparty/VirtualDub/system/system.vcxproj14
-rw-r--r--src/thirdparty/ZenLib/ZenLib.vcxproj14
-rw-r--r--src/thirdparty/ZenLib/ZenLib/Conf.cpp2
-rw-r--r--src/thirdparty/ZenLib/ZenLib/File.cpp2
-rw-r--r--src/thirdparty/lcms2/lcms2.vcxproj12
m---------src/thirdparty/lcms2/library0
-rw-r--r--src/thirdparty/mhook/mhook.vcxproj12
-rw-r--r--src/thirdparty/sizecbar/sizecbar.vcxproj10
-rw-r--r--src/thirdparty/unrar/arcread.cpp3
-rw-r--r--src/thirdparty/unrar/cmddata.cpp59
-rw-r--r--src/thirdparty/unrar/cmddata.hpp2
-rw-r--r--src/thirdparty/unrar/crypt.cpp9
-rw-r--r--src/thirdparty/unrar/crypt.hpp39
-rw-r--r--src/thirdparty/unrar/crypt3.cpp47
-rw-r--r--src/thirdparty/unrar/crypt5.cpp12
-rw-r--r--src/thirdparty/unrar/dll.rc8
-rw-r--r--src/thirdparty/unrar/extract.cpp72
-rw-r--r--src/thirdparty/unrar/extract.hpp4
-rw-r--r--src/thirdparty/unrar/file.cpp59
-rw-r--r--src/thirdparty/unrar/file.hpp13
-rw-r--r--src/thirdparty/unrar/filefn.cpp42
-rw-r--r--src/thirdparty/unrar/filefn.hpp3
-rw-r--r--src/thirdparty/unrar/filestr.cpp10
-rw-r--r--src/thirdparty/unrar/list.cpp7
-rw-r--r--src/thirdparty/unrar/loclang.hpp3
-rw-r--r--src/thirdparty/unrar/options.hpp3
-rw-r--r--src/thirdparty/unrar/pathfn.cpp19
-rw-r--r--src/thirdparty/unrar/pathfn.hpp5
-rw-r--r--src/thirdparty/unrar/secpassword.cpp13
-rw-r--r--src/thirdparty/unrar/secpassword.hpp6
-rw-r--r--src/thirdparty/unrar/smallfn.cpp6
-rw-r--r--src/thirdparty/unrar/strfn.cpp10
-rw-r--r--src/thirdparty/unrar/threadmisc.cpp20
-rw-r--r--src/thirdparty/unrar/timefn.hpp1
-rw-r--r--src/thirdparty/unrar/ui.hpp7
-rw-r--r--src/thirdparty/unrar/uiconsole.cpp21
-rw-r--r--src/thirdparty/unrar/unicode.cpp31
-rw-r--r--src/thirdparty/unrar/unicode.hpp4
-rw-r--r--src/thirdparty/unrar/unrar.vcxproj14
-rw-r--r--src/thirdparty/unrar/version.hpp8
-rw-r--r--src/thirdparty/versions.txt12
-rw-r--r--src/thirdparty/zlib/zlib.vcxproj14
539 files changed, 26308 insertions, 6718 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 07bfda608..e871990f0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,8 +6,8 @@
[OpenID authentication](https://trac.mpc-hc.org/openidlogin) is available).
2. Please search our [Trac](https://trac.mpc-hc.org/report/1)
for your problem since there's a good chance that someone has already reported it.
-3. In case you found a match, please try to provide as much info as you can
- so we have better picture about what the real problem is and how to fix it ASAP.
+3. If you find a match, please try to provide as much info as you can,
+ so that we have a better picture about what the real problem is and how to fix it ASAP.
4. If you didn't find any tickets with a problem similar to yours then please open a
[new ticket](https://trac.mpc-hc.org/ticket/newticket)
* Be descriptive as much as you can
@@ -19,7 +19,7 @@ If you want to help, here's what you need to do:
1. Make sure you have a [GitHub account](https://github.com/signup/free).
2. [Fork](https://github.com/mpc-hc/mpc-hc/fork) our repository.
-3. Create a new topic branch to contain your feature, change, or fix.
+3. Create a new topic branch (based on the `develop` branch) to contain your feature, change, or fix.
4. Set `core.autocrlf` to true: `git config core.autocrlf true`.
5. Make sure you have enabled the pre-commit hook - **[pre-commit.sh](/contrib/pre-commit.sh)**.
6. Make sure that your changes adhere to the current coding conventions used
diff --git a/Readme.md b/Readme.md
index 8b6e3f72a..fd2534390 100644
--- a/Readme.md
+++ b/Readme.md
@@ -6,7 +6,7 @@
Media Player Classic - Home Cinema (MPC-HC) is a free and open source (OSS) video
and audio player for Windows. MPC-HC is based on the original Guliverkli project
-and contains a lot of additional features and bug fixes.
+and contains many additional features and bug fixes.
We are in dire need of new developers of any kind. If you can code a little, or you can create
logos for the player and images for the file associations, or you can create/maintain the main
@@ -31,7 +31,7 @@ See [CONTRIBUTING.md](/CONTRIBUTING.md) for more info.
* Multi-Monitor support
* Various [pixel shaders](http://en.wikipedia.org/wiki/Shader#Pixel_shaders)
* [Color management](http://en.wikipedia.org/wiki/Color_management)
-* 35 translations available
+* 37 translations available
## System Requirements:
diff --git a/build.bat b/build.bat
index 715e345bc..125aa6e3d 100755
--- a/build.bat
+++ b/build.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2009-2014 see Authors.txt
+REM (C) 2009-2015 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -59,7 +59,7 @@ FOR %%G IN (%ARG%) DO (
IF /I "%%G" == "x86" SET "PPLATFORM=Win32" & SET /A ARGPL+=1
IF /I "%%G" == "x64" SET "PPLATFORM=x64" & SET /A ARGPL+=1
IF /I "%%G" == "All" SET "CONFIG=All" & SET /A ARGC+=1
- IF /I "%%G" == "Main" SET "CONFIG=Main" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_ZIP=True"
+ IF /I "%%G" == "Main" SET "CONFIG=Main" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_ZIP=True"
IF /I "%%G" == "Filters" SET "CONFIG=Filters" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_LITE=True"
IF /I "%%G" == "Filter" SET "CONFIG=Filters" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_LITE=True"
IF /I "%%G" == "API" SET "CONFIG=API" & SET /A ARGC+=1 & SET "NO_INST=True" & SET "NO_ZIP=True" & SET "NO_LITE=True"
@@ -282,10 +282,11 @@ IF %ERRORLEVEL% NEQ 0 EXIT /B
FOR %%G IN (
"Arabic" "Armenian" "Basque" "Belarusian" "Bengali" "Catalan" "Chinese Simplified"
- "Chinese Traditional" "Croatian" "Czech" "Dutch" "English (British)" "French"
- "Galician" "German" "Greek" "Hebrew" "Hungarian" "Italian" "Japanese" "Korean"
- "Malay" "Polish" "Portuguese (Brazil)" "Romanian" "Russian" "Slovak" "Slovenian"
- "Spanish" "Swedish" "Tatar" "Thai" "Turkish" "Ukrainian" "Vietnamese"
+ "Chinese Traditional" "Croatian" "Czech" "Dutch" "English (British)" "Finnish"
+ "French" "Galician" "German" "Greek" "Hebrew" "Hungarian" "Italian" "Japanese"
+ "Korean" "Malay" "Polish" "Portuguese (Brazil)" "Romanian" "Russian" "Serbian"
+ "Slovak" "Slovenian" "Spanish" "Swedish" "Tatar" "Thai" "Turkish" "Ukrainian"
+ "Vietnamese"
) DO (
TITLE Compiling mpcresources %COMPILER% - %%~G^|%1...
MSBuild.exe mpcresources.sln %MSBUILD_SWITCHES%^
@@ -356,7 +357,7 @@ IF /I "%~1" == "x64" (
IF DEFINED MPCHC_LITE (
SET MPCHC_INNO_DEF=%MPCHC_INNO_DEF% /DMPCHC_LITE
SET MPCHC_COPY_DX_DLL_ARGS=%MPCHC_COPY_DX_DLL_ARGS% " Lite"
-)
+)
CALL :SubCopyDXDll %MPCHC_COPY_DX_DLL_ARGS%
@@ -396,7 +397,7 @@ IF /I "%~2" == "Win32" (
IF DEFINED MPCHC_LITE (
CALL :SubCopyDXDll %ARCH% " Lite"
-) ELSE (
+) ELSE IF /I "%NAME%" == "MPC-HC" (
CALL :SubCopyDXDll %ARCH%
)
@@ -424,7 +425,8 @@ REM Compress the pdb file for mpc-hc only
IF /I "%NAME%" == "MPC-HC" (
PUSHD "%VS_OUT_DIR%"
TITLE Creating archive %PCKG_NAME%.pdb.7z...
- START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.pdb.7z" %PDB_FILES% -m0=LZMA -mx9 -ms=on
+ START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.pdb.7z" %PDB_FILES% -m0=LZMA2^
+ -mmt=%NUMBER_OF_PROCESSORS% -mx9 -ms=on
IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Unable to create %PCKG_NAME%.pdb.7z!" & EXIT /B
CALL :SubMsg "INFO" "%PCKG_NAME%.pdb.7z successfully created"
IF EXIST "%PCKG_NAME%.pdb.7z" MOVE /Y "%PCKG_NAME%.pdb.7z" ".." >NUL
@@ -469,8 +471,8 @@ COPY /Y /V "..\docs\Changelog.txt" "%PCKG_NAME%" >NUL
COPY /Y /V "..\docs\Readme.txt" "%PCKG_NAME%" >NUL
TITLE Creating archive %PCKG_NAME%.7z...
-START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.7z" "%PCKG_NAME%"^
- -m0=LZMA -mx9 -ms=on
+START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.7z" "%PCKG_NAME%" -m0=LZMA2^
+ -mmt=%NUMBER_OF_PROCESSORS% -mx9 -ms=on
IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Unable to create %PCKG_NAME%.7z!" & EXIT /B
CALL :SubMsg "INFO" "%PCKG_NAME%.7z successfully created"
@@ -481,6 +483,7 @@ EXIT /B
:SubGetVersion
+PUSHD %~dp0
REM Get the version
IF NOT EXIST "include\version_rev.h" SET "FORCE_VER_UPDATE=True"
IF /I "%FORCE_VER_UPDATE%" == "True" CALL "update_version.bat" && SET "FORCE_VER_UPDATE=False"
@@ -505,6 +508,7 @@ IF "%MPCHC_NIGHTLY%" NEQ "0" (
) ELSE (
SET "MPCHC_VER=%MPC_VERSION_MAJOR%.%MPC_VERSION_MINOR%.%MPC_VERSION_PATCH%"
)
+POPD
EXIT /B
diff --git a/contrib/astyle.ini b/contrib/astyle.ini
index 5442879d3..95e19ae95 100644
--- a/contrib/astyle.ini
+++ b/contrib/astyle.ini
@@ -20,6 +20,7 @@
--indent=spaces=4 --style=kr
--indent-switches --indent-namespaces --indent-col1-comments
#--indent-preproc-cond
+--max-instatement-indent=65
--attach-inlines
--pad-header --pad-oper --unpad-paren
--align-pointer=type --align-reference=type
diff --git a/contrib/coverity.bat b/contrib/coverity.bat
index d65f2094c..9d274189b 100755
--- a/contrib/coverity.bat
+++ b/contrib/coverity.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2013-2014 see Authors.txt
+REM (C) 2013-2015 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -21,10 +21,12 @@ SETLOCAL
PUSHD %~dp0
-IF NOT DEFINED COVDIR SET "COVDIR=H:\progs\thirdparty\cov-analysis-win64-7.5.0"
-IF DEFINED COVDIR IF NOT EXIST "%COVDIR%" (
+IF EXIST "..\build.user.bat" CALL "..\build.user.bat"
+
+IF NOT DEFINED COV_PATH SET "COV_PATH=H:\progs\thirdparty\cov-analysis-win64"
+IF DEFINED COV_PATH IF NOT EXIST "%COV_PATH%" (
ECHO.
- ECHO ERROR: Coverity not found in "%COVDIR%"
+ ECHO ERROR: Coverity not found in "%COV_PATH%"
GOTO End
)
@@ -48,16 +50,16 @@ CALL "..\build.bat" clean Lite Both Main Release silent
CALL "..\build.bat" clean Filters Both Release silent
CALL "..\build.bat" clean IconLib Both Release silent
CALL "..\build.bat" clean Api Both Release silent
-"%COVDIR%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Lite Both Main Release silent
-"%COVDIR%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Filters Both Release silent
-"%COVDIR%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build IconLib Both Release silent
-"%COVDIR%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Api Both Release silent
+"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Lite Both Main Release silent
+"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Filters Both Release silent
+"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build IconLib Both Release silent
+"%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Api Both Release silent
:tar
tar --version 1>&2 2>NUL || (ECHO. & ECHO ERROR: tar not found & GOTO SevenZip)
tar caf "MPC-HC.lzma" "cov-int"
-GOTO End
+GOTO Upload
:SevenZip
@@ -69,10 +71,17 @@ IF EXIST "%SEVENZIP%" (
"%SEVENZIP%" a -ttar "MPC-HC.tar" "cov-int"
"%SEVENZIP%" a -tgzip "MPC-HC.tgz" "MPC-HC.tar"
IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar"
- GOTO End
+ GOTO Upload
)
+:Upload
+CALL "..\build.bat" GetVersion
+CALL :SubDetectCurl
+%CURL% --form project=MPC-HC --form token=%COV_TOKEN% --form email=%COV_EMAIL% --form file=@MPC-HC.lzma --form version=%MPCHC_HASH% http://scan5.coverity.com/cgi-bin/upload.py
+GOTO End
+
+
:SubDetectSevenzipPath
FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
@@ -86,6 +95,14 @@ FOR /F "tokens=2*" %%A IN (
EXIT /B
+:SubDetectCurl
+IF EXIST curl.exe (SET "CURL=curl.exe" & EXIT /B)
+IF EXIST "%CURL_PATH%\curl.exe" (SET "CURL=%CURL_PATH%\curl.exe" & EXIT /B)
+FOR %%G IN (curl.exe) DO (SET "CURL_PATH=%%~$PATH:G")
+IF EXIST "%CURL_PATH%" (SET "CURL=%CURL_PATH%" & EXIT /B)
+EXIT /B
+
+
:End
POPD
ECHO. & ECHO Press any key to close this window...
diff --git a/contrib/pre-commit.sh b/contrib/pre-commit.sh
index d98edbbde..3236810f6 100644
--- a/contrib/pre-commit.sh
+++ b/contrib/pre-commit.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# (C) 2013-2014 see Authors.txt
+# (C) 2013-2015 see Authors.txt
#
# This file is part of MPC-HC.
#
@@ -35,12 +35,12 @@ astyle_ignore_excluded=y
astyle_ignore_stashed=n
# internal variables
-versioncheck_version=4
+versioncheck_version=6
versioncheck_path=contrib/pre-commit.sh
astyle_config=contrib/astyle.ini
astyle_extensions=(cpp h)
-astyle_version='Artistic Style Version 2.04'
-checkyear_extensions=(bat cpp h hlsl iss py sh)
+astyle_version='Artistic Style Version 2.05.1'
+checkyear_extensions=(bat cpp h hlsl iss po py sh)
checkyear_pattern1='\(C\) (([0-9][0-9][0-9][0-9]-)?[0-9][0-9][0-9][0-9](, )?)+ see Authors.txt'
year=$(date +%Y)
checkyear_pattern2=''"$year"' see Authors.txt'
diff --git a/contrib/run_astyle.bat b/contrib/run_astyle.bat
index b08b32a83..7e75e8b83 100755
--- a/contrib/run_astyle.bat
+++ b/contrib/run_astyle.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2012-2013 see Authors.txt
+REM (C) 2012-2014 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -21,7 +21,7 @@ SETLOCAL
PUSHD %~dp0
-SET "AStyleVerMin=2.04"
+SET "AStyleVerReq=2.05.1"
astyle --version 2>NUL || (ECHO. & ECHO ERROR: AStyle not found & GOTO End)
CALL :SubCheckVer || GOTO End
@@ -52,8 +52,8 @@ FOR /F "tokens=4 delims= " %%A IN ('astyle --version 2^>^&1 NUL') DO (
SET "AStyleVer=%%A"
)
-IF %AStyleVer% LSS %AStyleVerMin% (
- ECHO. & ECHO ERROR: AStyle v%AStyleVer% is too old, please update AStyle to v%AStyleVerMin% or newer.
+IF %AStyleVer% NEQ %AStyleVerReq% (
+ ECHO. & ECHO ERROR: AStyle v%AStyleVerReq% is required.
EXIT /B 1
)
EXIT /B
diff --git a/distrib/Languages/Arabic.isl b/distrib/Languages/Arabic.isl
index 8460585f2..ec0533ac4 100644
--- a/distrib/Languages/Arabic.isl
+++ b/distrib/Languages/Arabic.isl
@@ -1,7 +1,6 @@
; *** Inno Setup version 5.5.3+ Arabic messages ***
;
-; Translated by Ahmad Alani (Ahmadalani75@hotmail.com)
-; To download user-contributed translations of this file, go to:
+; Translated by Awadh Al-Ghaamdi (awadh_al_ghaamdi@hotmail.com)
; http://www.jrsoftware.org/files/istrans/
;
; Note: When translating this text, do not add periods (.) to the end of
@@ -70,8 +69,8 @@ ErrorTooManyFilesInDir=áÇ íãßä ÅäÔÇÁ ãáÝ Ýí ÇáãÌáÏ "%1"%náÃäå íÍÊæì ÚÏÏ ßÈíÑ ãä
; *** Setup common messages
ExitSetupTitle=ÅäåÇÁ ÚãáíÉ ÇáÊËÈíÊ
-ExitSetupMessage=.ÚãáíÉ ÇáÊËÈíÊ áã ÊßÊãá. ÅÐÇ ÎÑÌÊ ÇáÂä ÝÇä ÇáÈÑäÇãÌ áä íÊã ÊËÈíÊå%n%níãßäß ÊÔÛíá ÈÑäÇãÌ ÇáÊËÈíÊ áÇÍÞÇ .áÃÓÊßãÇá ÇáÚãáíÉ%n%nåá ÊÑíÏ ÇáÎÑæÌ ¿
-AboutSetupMenuItem=...&Íæá ÈÑäÇãÌ ÇáÊËÈíÊ
+ExitSetupMessage=ÚãáíÉ ÇáÊËÈíÊ áã ÊßÊãá. ÅÐÇ ÎÑÌÊ ÇáÂä ÝÇä ÇáÈÑäÇãÌ áä íÊã ÊËÈíÊå.%n%níãßäß ÊÔÛíá ÈÑäÇãÌ ÇáÊËÈíÊ áÇÍÞÇ áÇÓÊßãÇá ÇáÚãáíÉ.%n%nåá ÊÑíÏ ÇáÎÑæÌ¿
+AboutSetupMenuItem=&Íæá ÈÑäÇãÌ ÇáÊËÈíÊ...
AboutSetupTitle=Íæá ÈÑäÇãÌ ÇáÊËÈíÊ
AboutSetupMessage=%1 ÅÕÏÇÑ %2%n%3%n%n%1 ÇáãæÞÚ Úáì ÇáÅäÊÑäÊ:%n%4
AboutSetupNote=
@@ -97,7 +96,7 @@ SelectLanguageTitle=ÍÏÏ áÛÉ ÇáÊËÈíÊ
SelectLanguageLabel=ÍÏÏ ÇááÛÉ ÇáãÓÊÎÏãÉ ÃËäÇÁ ÇáÊËÈíÊ:
; *** Common wizard text
-ClickNext=ÇÖÛØ ÇáÊÇáí ááãæÇÕáÉ ¡ Ãæ ÅáÛÇÁ ÇáÃãÑ ááÎÑæÌ%n%nÊÑÌãÉ : ÃÍÜãÜÏ ÇáÜÚÜÇäÜÜí
+ClickNext=ÇÖÛØ ÇáÊÇáí ááãæÇÕáÉ ¡ Ãæ ÅáÛÇÁ ÇáÃãÑ ááÎÑæÌ%n%nÊÑÌãÉ ÇáÃÓÊÇÐ ÚæÖ ÇáÛÇãÏí
BeveledLabel=
BrowseDialogTitle=ÊÕÝÍ Úä ãÌáÏ
BrowseDialogLabel=ÍÏÏ ãÌáÏÇ ãÇ Ýí ÇáÞÇÆãÉ ÊÍÊ , Ëã ÅÖÛØ ÍÓäÇ
@@ -208,7 +207,7 @@ ApplicationsFound=ÇáÊØÈíÞÇÊ ÇáÊÇáíÉ ÊÓÊÎÏã ãáÝÇÊ ÈÍÇÌÉ Åáì ÊÍÏíËåÇ ÈæÇÓØÉ ÈÑäÇãÌ
ApplicationsFound2=ÇáÊØÈíÞÇÊ ÇáÊÇáíÉ ÊÓÊÎÏã ãáÝÇÊ ÈÍÇÌÉ Åáì ÊÍÏíËåÇ ÈæÇÓØÉ ÈÑäÇãÌ ÇáÊËÈíÊ. íÓÊÍÓä ÇáÓãÇÍ áÈÑäÇãÌ ÇáÊËÈíÊ ÈÅÛáÇÞ åÐå ÇáÊØÈíÞÇÊ ÊáÞÇÆíÇ æ ÈÚÏ ÇßÊãÇá ÚãáíÉ ÇáÊËÈíÊ¡ ÓíÍÇæá ÈÑäÇãÌ ÇáÊËÈíÊ ÅÚÇÏÉ ÊÔÛíá ÇáÊØÈíÞÇÊ
CloseApplications=Å&ÛáÇÞ ÇáÊØÈíÞÇÊ ÊáÞÇÆíÇ
DontCloseApplications=&ÛÏã ÅÛáÇÞ ÇáÊØÈíÞÇÊ
-ErrorCloseApplications=áã íÊãßä ÇáÅÚÏÇÏ ÊáÞÇÆíÇð ÈÅÛáÇÞ ßÇÝÉ ÇáÊØÈíÞÇÊ. ãä ÇáãÓÊÍÓä Ãä ÊÞæã ÈÅÛáÇÞ ßÇÝÉ ÇáÊØÈíÞÇÊ ÇáÊí ÊÓÊÎÏã .ÇáãáÝÇÊ ÇáÊí ÊÍÊÇÌ Åáì ÊÍÏíË ÈæÇÓØÉ ÇáÅÚÏÇÏ ÞÈá ÇáãÊÇÈÚÉ
+ErrorCloseApplications=áã íÊãßä ÈÑäÇãÌ ÇáÅÚÏÇÏ ÊáÞÇÆíÇ ãä ÅÛáÇÞ ßÇÝÉ ÇáÊØÈíÞÇÊ. ãä ÇáãÓÊÍÓä Ãä ÊÞæã ÃäÊ ÈÅÛáÇÞ ßÇÝÉ ÇáÊØÈíÞÇÊ ÇáÊí ÊÓÊÎÏã ÇáãáÝÇÊ ÇáãØáæÈ ÊÍÏíËåÇ ÈæÇÓØÉ ÈÑäÇãÌ ÇáÅÚÏÇÏ ÞÈá ÇáãÊÇÈÚÉ
; *** "Installing" wizard page
WizardInstalling=ÊÊã ÚãáíÉ ÇáÊËÈíÊ
@@ -227,7 +226,7 @@ NoRadio=&áÇ ¡ ÓÃÚíÏ ÊÔÛíá ÇáßãÈíæÊÑ ÈäÝÓí áÇÍÞÇ
; used for example as 'Run MyProg.exe'
RunEntryExec=ÊÔÛíá %1
; used for example as 'View Readme.txt'
-RunEntryShellExec=ÇÚÑÖ %1
+RunEntryShellExec=ÚÑÖ %1
; *** "Setup Needs the Next Disk" stuff
ChangeDiskTitle=ÈÑäÇãÌ ÇáÊËÈíÊ íÍÊÇÌ ÇáÞÑÕ ÇáÊÇáí
diff --git a/distrib/Languages/Croatian.isl b/distrib/Languages/Croatian.isl
index 75d4c6f83..e05ba3c27 100644
--- a/distrib/Languages/Croatian.isl
+++ b/distrib/Languages/Croatian.isl
@@ -145,7 +145,7 @@ SelectDirLabel3=Instalacija æe instalirati [name] u sljedeæu mapu
SelectDirBrowseLabel=Za nastavak kliknite na Nastavak. Ako želite odabrati drugu mapu kliknite na Odaberi.
DiskSpaceMBLabel=Ovaj program zahtjeva minimalno [mb] MB slobodnog prostora na disku.
CannotInstallToNetworkDrive=Instalacija ne može instalirati na mrežnu jedinicu.
-CannotInstallToUNCPathname=Instalacija ne može instalirati na UNC putanju.
+CannotInstallToUNCPath=Instalacija ne može instalirati na UNC putanju.
InvalidPath=Morate unijeti punu stazu zajedno sa slovom diska (npr.%n%nC:\APP%n%nili stazu u obliku%n%n\\server\share)
InvalidDrive=Disk koji ste odabrali ne postoji. Odaberite neki drugi.
DiskSpaceWarningTitle=Nedovoljno prostora na disku
@@ -325,6 +325,7 @@ ShutdownBlockReasonUninstallingApp=Deinstaliram %1.
; use of them in your scripts, you'll want to translate them.
[CustomMessages]
+
NameAndVersion=%1 verzija %2
AdditionalIcons=Dodatne ikone:
CreateDesktopIcon=Kreiraj ikonu na &Desktopu
diff --git a/distrib/custom_messages_translated.iss b/distrib/custom_messages_translated.iss
index c8a7ec602..49c036d58 100644
--- a/distrib/custom_messages_translated.iss
+++ b/distrib/custom_messages_translated.iss
@@ -59,12 +59,16 @@ en_GB.WinVersionTooLowError=[name] requires Windows XP Service Pack 3 or newer t
; Spanish
es.WelcomeLabel2=Este programa instalará [name] en el equipo.%n%nSe recomienda que cierre el resto de las aplicaciones antes de continuar.
-es.WinVersionTooLowError=[name] requiere Windows XP Service Pack 3 o posterior para funcionar.
+es.WinVersionTooLowError=[name] necesita Windows XP Service Pack 3 o posterior para funcionar.
; Basque
eu.WelcomeLabel2=Honek [name] zure ordenagailuan ezarriko du.%n%nGomendatzen da beste aplikazio guztiak istea jarraitu aurretik.
eu.WinVersionTooLowError=[name] Windows XP Service Pack 3 edo berriagoa behar du lan egiteko.
+; Finnish
+fi.WelcomeLabel2=Tämä asentaa [name] tietokoneellesi.%n%n On suositeltavaa, että suljet kaikki muut ohjelmat ennenkuin jatkat.
+fi.WinVersionTooLowError=[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudempaa
+
; French (France)
fr.WelcomeLabel2=Vous allez installer [name] sur votre ordinateur.%n%nIl est recommandé de fermer toutes les autres applications avant de continuer.
fr.WinVersionTooLowError=[name] nécessite Windows XP Service Pack 3 ou plus récent pour fonctionner.
@@ -82,7 +86,7 @@ hr.WelcomeLabel2=Ovo će instalirati [name] na vaÅ¡e raÄunalo.%n%nPreporuÄeno
hr.WinVersionTooLowError=Da bi se pokrenuo [name] potrebno je imati Windows XP Service Pack 3 ili novije.
; Hungarian
-hu.WelcomeLabel2=Ez telepíteni fogja a(z) [name]-t a számítógépére.%nAjánlott, hogy minden más alkalmazást zárjon be a folytatás előtt.
+hu.WelcomeLabel2=Ez telepíteni fogja a(z) [name]-t a számítógépére.%n%nAjánlott, hogy minden más alkalmazást zárjon be a folytatás előtt.
hu.WinVersionTooLowError=Windows XP Service Pack 3 vagy újabb szükséges a(z) [name] futtatásához.
; Armenian (Armenia)
@@ -90,7 +94,7 @@ hy.WelcomeLabel2=[name]-Õ¨ Õ¯Õ¿Õ¥Õ²Õ¡Õ¤Ö€Õ¾Õ« Õ±Õ¥Ö€ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¹Õ¸Ö‚Õ´Ö‰%
hy.WinVersionTooLowError=[name]-Õ¨ ÕºÕ¡Õ°Õ¡Õ¶Õ»Õ¸Ö‚Õ´ Õ§ Windows XP Service Pack 3 Õ¯Õ¡Õ´ Õ¡Õ¾Õ¥Õ¬Õ« Õ¢Õ¡Ö€Õ±Ö€Ö‰
; Italian
-it.WelcomeLabel2=Questo installerà [name] sul tuo computer.%nE' consigliato chiudere tutte le altre applicazioni prima di continuare.
+it.WelcomeLabel2=Questo installerà [name] sul tuo computer.%n%nE' consigliato chiudere tutte le altre applicazioni prima di continuare.
it.WinVersionTooLowError=[name] richiede Windows XP Service Pack 3 o successivo per funzionare.
; Japanese
@@ -98,8 +102,8 @@ ja.WelcomeLabel2=ã“ã®ãƒ—ログラムã¯ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ュータ上㫠[n
ja.WinVersionTooLowError=[name] を実行ã™ã‚‹ç‚ºã«ã¯ Windows XP Service Pack 3 以é™ãŒå¿…è¦ã§ã™ã€‚
; Korean
-ko.WelcomeLabel2=ì´ ì„¤ì¹˜í”„ë¡œê·¸ëž¨ì€ [name] 를(ì„) ë‹¹ì‹ ì˜ ì»´í“¨í„°ì— ì„¤ì¹˜í•©ë‹ˆë‹¤.%n%n설치를 계ì†í•˜ê¸° ì „ì— ë‹¤ë¥¸ 모든 í”„ë¡œê·¸ëž¨ì„ ì¢…ë£Œí•˜ëŠ” ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤.
-ko.WinVersionTooLowError=[name] 는(ì€) Windows XP Service Pack 3 ë˜ëŠ” ê·¸ ì´ìƒì˜ 버전ì—서만 설치할 수 있습니다.
+ko.WelcomeLabel2=ì´ê²ƒì€ [name] 를(ì„) ë‹¹ì‹ ì˜ ì»´í“¨í„°ì— ì„¤ì¹˜í•©ë‹ˆë‹¤.%n%n설치를 계ì†í•˜ê¸° ì „ì— ë‹¤ë¥¸ 모든 í”„ë¡œê·¸ëž¨ì„ ì¢…ë£Œí•˜ëŠ” ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤.
+ko.WinVersionTooLowError=[name] 는(ì€) Windows XP Service Pack 3 ë˜ëŠ” ê·¸ ì´ìƒì˜ 버전ì—서만 설치할 수 있습니다.
; Malay (Malaysia)
ms_MY.WelcomeLabel2=Ini akan memasang [name] ke dalam komputer anda.%n%nDisarankan anda tutup semua aplikasi lain sebelum diteruskan.
@@ -133,6 +137,10 @@ sk.WinVersionTooLowError=[name] vyžaduje pre svoje fungovanie systém Windows X
sl.WelcomeLabel2=[name] bo nameÅ¡Äen na tem raÄunalniku.%n%nPriporoÄamo, da zaprete vse ostale programa pred nadaljevanjem.
sl.WinVersionTooLowError=[name] zahteva za delovanje Windows XP Service Pack 3 ali novejše
+; Serbian (Cyrillic)
+sr.WelcomeLabel2=Овим ћете инÑталирати [name] на ваш рачунар.%n%nПрепоручује Ñе да затворите Ñве друге програме пре него што наÑтавите.
+sr.WinVersionTooLowError=[name] захтева Windows XP Service Pack 3 или новији за покретање.
+
; Swedish
sv.WelcomeLabel2=Detta kommer att installera [name] på din dator.%n%nDet rekommenderas att du stänger alla andra program innan du fortsätter.
sv.WinVersionTooLowError=[name] kräver Windows XP Service Pack 3 eller senare.
@@ -154,7 +162,7 @@ uk.WelcomeLabel2=Ðа ваш комп'ютер буде вÑтановлено [
uk.WinVersionTooLowError=[name] вимагає викориÑÑ‚Ð°Ð½Ð½Ñ ÐžÐ¡ Windows XP Service Pack 3 або пізнішої верÑÑ–Ñ—.
; Vietnamese
-vi.WelcomeLabel2=Chuẩn bị cài [name] vào máy tính của bạn.%n%nÄá» nghị bạn đóng tất cả các ứng dụng khác trÆ°á»›c khi tiếp tục.
+vi.WelcomeLabel2=Chuẩn bị cài đặt [name] vào máy tính của bạn.%n%nÄá» nghị bạn đóng tất cả các ứng dụng khác trÆ°á»›c khi tiếp tục.
vi.WinVersionTooLowError=Äể cài đặt, [name] yêu cầu Windows XP Service Pack 3 hoặc má»›i hÆ¡n.
; Chinese (P.R.C.)
@@ -367,6 +375,26 @@ eu.types_DefaultInstallation=Berezko ezarpena
eu.types_CustomInstallation=Norbere ezarpena
eu.ViewChangelog=Ikusi Aldaketa-oharra
+; Finnish
+fi.langid=00001035
+fi.comp_mpciconlib=Ikonikirjasto
+fi.comp_mpcresources=Käännökset
+fi.msg_DeleteSettings=Haluatko poistaa myöskin MPC-HC:n asetukset?%n%nJos aiot asentaa MPC-HC:n uudelleen, niitä ei tarvitse poistaa.
+fi.msg_SetupIsRunningWarning=MPC-HC:n asennus on jo käynnissä!
+#if defined(sse_required)
+fi.msg_simd_sse=MPC-HC:n tämä versio edellyttää CPU:lta SSE-laajennusten tukea.%n%nProsessorissasi ei ole niitä ominaisuuksia.
+#elif defined(sse2_required)
+fi.msg_simd_sse2=MPC-HC:n tämä versio edellyttää CPU:lta SSE2-laajennusten tukea.%n%nProsessorissasi ei ole niitä ominaisuuksia.
+#endif
+fi.run_DownloadToolbarImages=Vieraile Wiki-sivustollamme imuroidaksesi työkalupalkin kuvat
+fi.tsk_AllUsers=Kaikille käyttäjille
+fi.tsk_CurrentUser=Vain nykyiselle käyttäjälle
+fi.tsk_Other=Muut tehtävät:
+fi.tsk_ResetSettings=Nollaa asetukset
+fi.types_DefaultInstallation=Oletusasennus
+fi.types_CustomInstallation=Yksilöllinen asennus
+fi.ViewChangelog=Näytä muutosloki
+
; French (France)
fr.langid=00001036
fr.comp_mpciconlib=Bibliothèque d'icônes
@@ -391,7 +419,7 @@ fr.ViewChangelog=Voir la liste des changements
gl.langid=00001110
gl.comp_mpciconlib=Biblioteca de iconas
gl.comp_mpcresources=Traducións
-gl.msg_DeleteSettings= Tamén queres eliminar os axustes de MPC-HC?%n%nSe te plantexas instalar MPC-HC outra vez entón non o tes que eliminar.
+gl.msg_DeleteSettings=Tamén queres eliminar os axustes de MPC-HC?%n%nSe te plantexas instalar MPC-HC outra vez entón non o tes que eliminar.
gl.msg_SetupIsRunningWarning=O instalador de MPC-HC xa está correndo!
#if defined(sse_required)
gl.msg_simd_sse=Esta versión de MPC-HC require unha CPU con soporte para a extensión SSE .%n%nO seu CPU non ten estas capacidades.
@@ -464,7 +492,7 @@ hu.tsk_CurrentUser=Csak a jelenlegi felhasználónak
hu.tsk_Other=Egyéb feladatok:
hu.tsk_ResetSettings=Beállítások alaphelyzetbe állítása
hu.types_DefaultInstallation=Szokásos telepítés
-hu.types_CustomInstallation=Egyedi telepítés
+hu.types_CustomInstallation=Egyéni telepítés
hu.ViewChangelog=Verziótörténet megtekintése
; Armenian (Armenia)
@@ -531,20 +559,20 @@ ja.ViewChangelog=変更履歴を表示ã™ã‚‹
ko.langid=00001042
ko.comp_mpciconlib=ì•„ì´ì½˜ ë¼ì´ë¸ŒëŸ¬ë¦¬
ko.comp_mpcresources=번역
-ko.msg_DeleteSettings=MPC-HC ì˜ ì„¤ì •ë„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?%n%nMPC-HC 를 다시 설치할 계íšì´ë¼ë©´ ì„¤ì •ë“¤ì„ ì‚­ì œí•  필요가 없습니다.
-ko.msg_SetupIsRunningWarning=MPC-HC ì„¤ì¹˜í”„ë¡œê·¸ëž¨ì´ ì´ë¯¸ 실행중입니다!
+ko.msg_DeleteSettings=MPC-HC ì˜ ì„¤ì •ë„ ì‚­ì œ 하시겠습니까?%n%nMPC-HC 를 다시 설치할 계íšì´ë¼ë©´ ì„¤ì •ë“¤ì„ ì‚­ì œí•  필요가 없습니다.
+ko.msg_SetupIsRunningWarning=MPC-HC 설치 í”„ë¡œê·¸ëž¨ì´ ì´ë¯¸ 실행 중입니다!
#if defined(sse_required)
ko.msg_simd_sse=ì´ ë²„ì „ì˜ MPC-HC 는 SSE ê¸°ìˆ ì„ ì§€ì›í•˜ëŠ” CPUê°€ 필요합니다.%n%nì´ ì»´í“¨í„°ì˜ CPU는 ì´ ê¸°ìˆ ì„ ì§€ì›í•˜ì§€ì•ŠìŠµë‹ˆë‹¤.
#elif defined(sse2_required)
ko.msg_simd_sse2=ì´ ë²„ì „ì˜ MPC-HC 는 SSE2 ê¸°ìˆ ì„ ì§€ì›í•˜ëŠ” CPUê°€ 필요합니다.%n%nì´ ì»´í“¨í„°ì˜ CPU는 ì´ ê¸°ìˆ ì„ ì§€ì›í•˜ì§€ì•ŠìŠµë‹ˆë‹¤.
#endif
-ko.run_DownloadToolbarImages=Visit our Wiki page to download toolbar images
+ko.run_DownloadToolbarImages=툴바 ì´ë¯¸ì§€ë“¤ì„ 다운로드하기 위해 위키 페ì´ì§€ë¡œ 방문.
ko.tsk_AllUsers=모든 사용ìž
ko.tsk_CurrentUser=현재 사용ìžë§Œ
ko.tsk_Other=다른 작업:
ko.tsk_ResetSettings=설정 초기화
ko.types_DefaultInstallation=기본 설치
-ko.types_CustomInstallation=사용ìžì •ì˜ 설치
+ko.types_CustomInstallation=ì‚¬ìš©ìž ì •ì˜ ì„¤ì¹˜
ko.ViewChangelog=버전 변경사항 보기
; Malay (Malaysia)
@@ -578,7 +606,7 @@ nl.msg_simd_sse=Deze versie van MPC-HC heeft een processor nodig die SSE onderst
#elif defined(sse2_required)
nl.msg_simd_sse2=Deze versie van MPC-HC heeft een processor nodig die SSE2 ondersteunt.%n%nUw processor ondersteund dit niet.
#endif
-nl.run_DownloadToolbarImages=Visit our Wiki page to download toolbar images
+nl.run_DownloadToolbarImages=Bezoek onze Wiki pagina om de werkbalk afbeeldingen te downloaden
nl.tsk_AllUsers=Voor alle gebruikers
nl.tsk_CurrentUser=Allen voor de huidige gebruiker
nl.tsk_Other=Andere taken:
@@ -707,12 +735,32 @@ sl.types_DefaultInstallation=Privzeta namestitev
sl.types_CustomInstallation=Namestitev po meri
sl.ViewChangelog=Poglej dnevnik sprememb
+; Serbian (Cyrillic)
+sr.langid=00003098
+sr.comp_mpciconlib=Библиотека Ñа иконама
+sr.comp_mpcresources=Преводи
+sr.msg_DeleteSettings=Желите ли да обришете и поÑтавке MPC-HC-а?%n%nÐе морате их бриÑати ако планирате поново да инÑталирате MPC-HC.
+sr.msg_SetupIsRunningWarning=ИнÑталација MPC-HC-а је већ покренута!
+#if defined(sse_required)
+sr.msg_simd_sse=Ова верзија MPC-HC-а захтева процеÑор Ñа подршком за SSE проширења.%n%nВаш процеÑор нема те могућноÑти.
+#elif defined(sse2_required)
+sr.msg_simd_sse2=Ова верзија MPC-HC-а захтева процеÑор Ñа подршком за SSE2 проширења.%n%nВаш процеÑор нема те могућноÑти.
+#endif
+sr.run_DownloadToolbarImages=ПоÑети вики Ñтраницу ради преузимања Ñлика траке Ñа алаткама
+sr.tsk_AllUsers=За Ñве кориÑнике
+sr.tsk_CurrentUser=Само за тренутног кориÑника
+sr.tsk_Other=ОÑтали задаци:
+sr.tsk_ResetSettings=Врати подразумеване поÑтавке
+sr.types_DefaultInstallation=Уобичајена инÑталација
+sr.types_CustomInstallation=Прилагођена инÑталација
+sr.ViewChangelog=Погледај евиденцију промена
+
; Swedish
sv.langid=00001053
sv.comp_mpciconlib=Ikonbibliotek
sv.comp_mpcresources=Översättningar
sv.msg_DeleteSettings=Vill du också ta bort inställningarna för MPC-HC?%n%nOm du planerar att installera MPC-HC igen så behöver du inte ta bort dem.
-sv.msg_SetupIsRunningWarning=Konfigurering av MPC-HC pågår redan!
+sv.msg_SetupIsRunningWarning=Installation av MPC-HC pågår redan!
#if defined(sse_required)
sv.msg_simd_sse=Denna version av MPC-HC kräver en processor med stöd för SSE.%n%nDin processor saknar detta stöd.
#elif defined(sse2_required)
diff --git a/distrib/mpc-hc_setup.iss b/distrib/mpc-hc_setup.iss
index 8958ae504..e222d1243 100644
--- a/distrib/mpc-hc_setup.iss
+++ b/distrib/mpc-hc_setup.iss
@@ -1,4 +1,4 @@
-; (C) 2009-2014 see Authors.txt
+; (C) 2009-2015 see Authors.txt
;
; This file is part of MPC-HC.
;
@@ -168,6 +168,7 @@ Name: el; MessagesFile: compiler:Languages\Greek.isl
Name: en_GB; MessagesFile: Languages\EnglishBritish.isl
Name: es; MessagesFile: compiler:Languages\Spanish.isl
Name: eu; MessagesFile: Languages\Basque.isl
+Name: fi; MessagesFile: compiler:Languages\Finnish.isl
Name: fr; MessagesFile: compiler:Languages\French.isl
Name: gl; MessagesFile: Languages\Galician.isl
Name: he; MessagesFile: compiler:Languages\Hebrew.isl
@@ -185,6 +186,7 @@ Name: ro; MessagesFile: Languages\Romanian.isl
Name: ru; MessagesFile: compiler:Languages\Russian.isl
Name: sk; MessagesFile: Languages\Slovak.isl
Name: sl; MessagesFile: compiler:Languages\Slovenian.isl
+Name: sr; MessagesFile: compiler:Languages\SerbianCyrillic.isl
Name: sv; MessagesFile: Languages\Swedish.isl
Name: th_TH; MessagesFile: Languages\Thai.isl
Name: tt; MessagesFile: Languages\Tatar.isl
diff --git a/docs/Changelog.txt b/docs/Changelog.txt
index dd62361b1..d80e2a056 100644
--- a/docs/Changelog.txt
+++ b/docs/Changelog.txt
@@ -8,82 +8,85 @@ Legend:
! Fixed
-1.7.7 - 05 October 2014
+1.7.8 - 25 January 2015
=======================
-+ Accept loading more than one subtitle file at a time using the "Load subtitle" dialog or drag-and-drop
-+ Add advanced settings page
-+ Add Arabic and Thai translations
-+ Completely reworked subtitle queue:
- - The queue should be quite faster than the older one for a similar number of buffered subpictures.
- It should also work much better when the number of subpictures becomes important
- - Subtitle animation can now be disabled even when using no buffering
- - Add the ability to choose at which state (in percentage of the full animation) an animated subtitle
- will be rendered when the animation is turned off
- - Add the ability to control the rate of the animation (in percentage of the movie frame rate)
- - Add the ability to control whether the subtitle queue is allowed to drop some subpictures in case
- subtitle rendering is too slow
-+ Add option to set jpg quality when saving images (default quality is increased from 75% to 90%)
-+ Ticket #353, Allow to control minimum file duration for remember position feature
-+ Ticket #1287, Add after playback command to turn off the monitor.
-+ Ticket #1407/#2425, Add an advanced option to control the number of recent files. Those files are shown
- in the "Recent Files" menu. It is also the files for which a position is potentially saved
-+ Ticket #1531, Show cover-art while playing audio files
-+ Ticket #2194, Show drive label when playing DVD
-+ Ticket #3393, Allow to disable remember position feature for audio files
-+ Ticket #4345, Text subtitles: Add a mode that automatically chooses the rendering target based on the
- subtitle type, ASS/SSA subtitles will be rendered on the video frame while other text subtitles will
- be rendered on the full window
-+ Ticket #4690, Internal filters: Support v210/v410 raw video formats
-* Text subtitles: Faster subtitle parsing (up to 4 times faster for ASS/SSA subtitles)
-* Text subtitles: Improved subtitle renderer for faster rendering of complex subtitle scripts (often twice faster or more)
-* Text subtitles: Much faster subtitle opening in the Subresync bar
-* Ticket #325, Move after playback commands to options and add an option to close and restore logo.
-* Ticket #1663, Improved command line help dialog
-* Ticket #2834, Increase limit on subtitles override placement feature.
-* Ticket #4428, Improve the clarity of the error message when opening a subtitle file fails
-* Ticket #4687, Reworked "Formats" option page. It is now possible to clear all associations
-* Ticket #4865, Subtitles option page: Clarify the "Delay interval" setting
-* Updated Little CMS to v2.6 (git 9c075b3)
-* Updated Unrar to v5.1.7
-* Updated MediaInfoLib to v0.7.70
-* Updated ZenLib to v0.4.29 r481
-* Updated LAV Filters to stable version 0.63.0:
- - LAV Video: HEVC decoding is up to 100% faster
- - LAV Video: Fix potential artifacts when decoding x264 lossless streams
- - LAV Splitter: Support for playing AES encrypted HLS streams
- - LAV Splitter: Advanced Subtitle selection allows selecting subtitles by a string match on the stream title
- - Ticket #3608, LAV Splitter: Fix stuttering with some (m2)ts files
- - Ticket #4322, LAV Audio: Improve the estimated duration for some MP3 files
- - Ticket #4539, LAV Video: Fix a crash with DVD subtitles on 64-bit builds when using software decoding
- - Ticket #4639, LAV Splitter: Fix incorrect colors for VobSub tracks in MP4
- - Ticket #4783, LAV Video: Experimental support for hardware (CUVID and DXVA2) assisted decoding of HEVC streams (disabled by default)
- - Ticket #4879, LAV Audio and LAV Splitter: Fix TrueHD streams with a Dolby Atmos sub-stream
- The full changelog can be found at https://raw.githubusercontent.com/Nevcairiel/LAVFilters/0.63/CHANGELOG.txt
-* Updated Armenian, Basque, Belarusian, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
++ DVB: Show current event time in the status bar
++ DVB: Add context menu to the navigation dialog
++ Add Finnish and Serbian translations
++ Ticket #907, Enable "Properties" dialog for DVD and DVB playback modes
++ Ticket #1091, Support MediaInfo analyse for DVD
++ Ticket #1494, Add tooltip in the "Organize Favorites" dialog with path of the item
++ Ticket #2438, Keep history of recently opened DVD directories
++ Ticket #3647, Internal LAV Video Decoder: Support Cinepack and QPEG in low-merit mode
++ Ticket #4941, Support embedded cover-art
+* DVB: Improve channel switching speed
+* The "Properties" dialog should open faster being that the MediaInfo analysis is now done asynchronously
+* Make double-click tolerance consistent with system settings
+* Ticket #4978, Execute "once" after playback event when playlist ends, regardless of the loop count
+* Ticket #4991, Text subtitles: "opaque box" outlines will now always be drawn even if the border width is set to 0.
+ The size of the text is independent of the border width so there is no reason not to draw that part
+* Ticket #5056, Position the text subtitles relative to the video frame by default
+* Updated MediaInfoLib to v0.7.71
+* Updated ZenLib to v0.4.29 r498
+* Updated SoundTouch to v1.8.0 r201
+* Updated Little CMS to v2.7 (git 8174681)
+* Updated Unrar to v5.2.3
+* Updated LAV Filters to v0.63.0.52:
+ - LAV Video Decoder: Fix a crash when the video height is not a multiple of 2
+ - Ticket #3144, LAV Splitter: Support librtmp parameters for RTMP streams
+ - Ticket #4407, LAV Video Decoder: Fix a rare crash when checking the compatibility with hardware decoding
+ - Ticket #5030, LAV Video Decoder: The video timestamps could be wrong in some cases when using H264 DXVA decoding.
+ This could lead to synchronization issue with the audio
+ - Ticket #5047, LAV Splitter: Fix missing tracks in (m2)ts files
+ - Ticket #5116, LAV Video Decoder: Fix aspect ratio for some MPEG2 streams
+* Updated Arabic, Armenian, Basque, Belarusian, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
Croatian, Czech, Dutch, French, Galician, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Malay,
- Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Tatar, Turkish, Ukrainian
- and Vietnamese translations
-! Work around corrupted display with NVIDIA drivers v344.11 when using EVR, EVR-CP or Sync renderers
-! "Load subtitle" dialog: Fix the file filters on Windows Vista+
-! "Resources" tab: The resource saved wasn't always matching the selection
-! Ticket #3930, Fix a possible crash with embedded subtitles when the subtitle queue is disabled
-! Ticket #4207, Taskbar preview wasn't scaled correctly
-! Ticket #4504, ASS/SSA subtitles: Support floating point values in drawing commands
-! Ticket #4505, Embedded text subtitles: Fix a possible crash related to the Subresync bar
-! Ticket #4536, ASS/SSA subtitles: Fix the parsing of \fs tags when the value was negative
-! Ticket #4665, Ensure that the icon shown in the status bar and the property dialog
- matches the icon currently associated to the format
-! Ticket #4678/#4856, Use internal filters for GIF format
-! Ticket #4684, Clicking on the some parts of the volume slider had no effect
-! Ticket #4707, EVR-CP: Screenshots were corrupted when "Force 10-bit input" was used
-! Ticket #4730, MediaInfo: Ensure the MediaInfo tab gives the same information as the official GUI
-! Ticket #4744, Some subtitles could cause a crash or produce artifacts
-! Ticket #4752, Monitors connected to secondary graphic card were not detected
-! Ticket #4758, Adjust width of the groupbox headers to avoid empty space
-! Ticket #4778, Fix optical drive detection when its letter is A or B.
-! Ticket #4782, Backward frame step led to jumping to the wrong position in certain situations
-! Ticket #4825, Tracks matching a preferred language weren't always selected correctly
-! Ticket #4827, Initial window size could be wrong for anamorphic video
-! Ticket #4831, Fix a rare issue with animated subtitles starting at timecode 0
-! Ticket #4857, The timings of some subtitles could be wrong when using Sync Renderer
-! Ticket #4863, MPC-HC could crash when opening a file through the QuickTime engine
+ Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Tatar, Thai, Turkish,
+ Ukrainian and Vietnamese translations
+! XySubFilter: Always preserve subtitle frame aspect ratio
+! Properties dialog: The creation time did not account for the local timezone
+! Properties dialog: More consistent UI for the "Resources" tab
+! PGSSub: Subtitles could have opaque background instead of transparent one
+! Audio CDROMs with extra content could not be played
+! Ticket #2420, Improve the reliability of the DirectShow hooks
+! Ticket #2626, Fix some rare crashes when another application prevents MPC-HC from rendering the video
+! Ticket #2953, DVB: Fix crash when closing window right after switching channel
+! Ticket #3324, Some applications could interfere with Skype API and prevent MPC-HC from running
+ when "Display "Now Playing" information in Skype's mood message" was enabled
+! Ticket #3666, DVB: Don't clear the channel list on saving new scan result
+! Ticket #3742, Sync Renderer: Fix rare crashes when using Sync Renderer with "synchronize video to display" option enabled
+! Ticket #3864, Video renderers: Fix a possible crash caused by a race condition
+! Ticket #3991, Video renderers: Fix a possible crash when the D3D device cannot be created
+! Ticket #4029, Fix a rare crash when right-clicking on the playlist panel
+! Ticket #4436, DVB: Improve compatibility with certain tuners
+! Ticket #4551, Fix a possible crash when saving the current frame
+! Ticket #4721, Audio CD playback could hang and stutter with some drives
+! Ticket #4933, ASS/SSA subtitles: Fix a crash for elements with no horizontal border but a vertical one
+! Ticket #4937, Prevent showing black bars when window size after scale exceed current work area
+! Ticket #4938, Fix resetting the settings from the "Options" dialog: some settings were (randomly) not
+ restored to their default value
+! Ticket #4954, Open dialog: Support quoted paths
+! Ticket #4956, Improve Play/Pause mouse click responsiveness
+! Ticket #4957/#4982, Do not adjust window width in audio mode if no cover-art/logo is loaded or its size
+ is limited to zero
+! Ticket #4969, DVD playback could fail with an error related to copy protection on some systems
+! Ticket #4971, Bring back "Play next file in the folder" event in single time events menu
+! Ticket #4975, Unrelated images could be loaded as cover-art when no author information was available
+ in the audio file
+! Ticket #4991, Text subtitles: "opaque box" outlines were scaled twice
+! Ticket #4992, DVB: Enabling the "Information" panel using the "Info" button on the "Navigation" dialog
+ would reduce the size of the main window when hiding the panel from the "View" menu
+! Ticket #4993, DVB: The content of the "Information" panel was lost when changing the UI language
+! Ticket #4994, The "Channels" sub-menu was not translated
+! Ticket #4995, Some context menus weren't properly positioned when opened by App key
+! Ticket #5010, Text subtitles: Fix a crash in case of memory allocation failure
+! Ticket #5055, True/False strings were not translated in value column on advanced page
+! Ticket #5067/#5203, Fix RealText subtitle parsing: the parser did not work at all and could even crash
+! Ticket #5127, Improve the behavior of MPC-HC when doing the MediaInfo analysis when playing from
+ an optical drive. Playback will now be paused during the analysis to avoid concurrent accesses to
+ the disk that might hang playback
+! Ticket #5130, Lock the player when the scan dialog is opened. Double-clicking on a media file will
+ always open a new instance of MPC-HC in this case. This avoids interrupting the scan accidentally
+ and fixes the issues which used to arise when doing that
+! Ticket #5130, Remove the information corresponding to the previously playing channel during the DVB scan
+! Ticket #5131, DVD playback could stutter on some systems
diff --git a/docs/Changelog_old.txt b/docs/Changelog_old.txt
index 2a6a3a129..e40240e85 100644
--- a/docs/Changelog_old.txt
+++ b/docs/Changelog_old.txt
@@ -4,6 +4,87 @@ Legend:
! Fixed
+1.7.7 - 05 October 2014
+=======================
++ Allow loading more than one subtitle file at a time using the "Load subtitle" dialog or drag-and-drop
++ Add advanced settings page
++ Add Arabic and Thai translations
++ Completely reworked subtitle queue:
+ - The queue should be much faster than the older one for a similar number of buffered subpictures.
+ It should also work much better when the number of subpictures becomes important
+ - Subtitle animation can now be disabled even when using no buffering
+ - Add the ability to choose at which state (in percentage of the full animation) an animated subtitle
+ will be rendered when the animation is turned off
+ - Add the ability to control the rate of the animation (in percentage of the movie frame rate)
+ - Add the ability to control whether the subtitle queue is allowed to drop some subpictures in case
+ subtitle rendering is too slow
++ Add an option to set JPEG quality when saving images (default quality is increased from 75% to 90%)
++ Ticket #353, Allow to control minimum file duration for remember position feature
++ Ticket #1287, Add after playback command to turn off the monitor
++ Ticket #1407/#2425, Add an advanced option to control the number of recent files. Those files are shown
+ in the "Recent Files" menu. It is also the files for which a position is potentially saved
++ Ticket #1531, Show cover-art while playing audio files
++ Ticket #2194, Show drive label when playing DVD
++ Ticket #3393, Allow to disable remember position feature for audio files
++ Ticket #4345, Text subtitles: Add a mode that automatically chooses the rendering target based on the
+ subtitle type, ASS/SSA subtitles will be rendered on the video frame while other text subtitles will
+ be rendered on the full window
++ Ticket #4690, Internal filters: Support v210/v410 raw video formats
+* Text subtitles: Faster subtitle parsing (up to 4 times faster for ASS/SSA subtitles)
+* Text subtitles: Improved subtitle renderer for faster rendering of complex subtitle scripts (often twice faster or more)
+* Text subtitles: Much faster subtitle opening in the Subresync bar
+* Ticket #325, Move after playback commands to options and add an option to close and restore logo
+* Ticket #1663, Improved command line help dialog
+* Ticket #2834, Increase limit on subtitles override placement feature
+* Ticket #4428, Improve the clarity of the error message when opening a subtitle file fails
+* Ticket #4687, Reworked "Formats" option page. It is now possible to clear all file associations
+* Ticket #4865, Subtitles option page: Clarify the "Delay interval" setting
+* Updated Little CMS to v2.6 (git 9c075b3)
+* Updated Unrar to v5.1.7
+* Updated MediaInfoLib to v0.7.70
+* Updated ZenLib to v0.4.29 r481
+* Updated LAV Filters to stable version 0.63.0:
+ - LAV Video: HEVC decoding is up to 100% faster
+ - LAV Video: Fix potential artifacts when decoding x264 lossless streams
+ - LAV Splitter: Support for playing AES encrypted HLS streams
+ - LAV Splitter: Advanced Subtitle selection allows selecting subtitles by a string match on the stream title
+ - Ticket #3608, LAV Splitter: Fix stuttering with some (m2)ts files
+ - Ticket #4322, LAV Audio: Improve the estimated duration for some MP3 files
+ - Ticket #4539, LAV Video: Fix a crash with DVD subtitles on 64-bit builds when using software decoding
+ - Ticket #4639, LAV Splitter: Fix incorrect colors for VobSub tracks in MP4
+ - Ticket #4783, LAV Video: Experimental support for hardware (CUVID and DXVA2) assisted decoding of HEVC streams (disabled by default)
+ - Ticket #4879, LAV Audio and LAV Splitter: Fix TrueHD streams with a Dolby Atmos sub-stream
+ The full changelog can be found at https://raw.githubusercontent.com/Nevcairiel/LAVFilters/0.63/CHANGELOG.txt
+* Updated Armenian, Basque, Belarusian, Bengali, British English, Catalan, Chinese (Simplified and Traditional),
+ Croatian, Czech, Dutch, French, Galician, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Malay,
+ Polish, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Swedish, Tatar, Turkish, Ukrainian
+ and Vietnamese translations
+! Work around corrupted display with NVIDIA drivers v344.11 when using EVR, EVR-CP or Sync renderers
+! "Load subtitle" dialog: Fix the file filters on Windows Vista+
+! "Resources" tab: The resource saved wasn't always matching the selection
+! Ticket #3930, Fix a possible crash with embedded subtitles when the subtitle queue is disabled
+! Ticket #4207, Taskbar preview wasn't scaled correctly
+! Ticket #4504, ASS/SSA subtitles: Support floating point values in drawing commands
+! Ticket #4505, Embedded text subtitles: Fix a possible crash related to the Subresync bar
+! Ticket #4536, ASS/SSA subtitles: Fix the parsing of \fs tags when the value was negative
+! Ticket #4665, Ensure that the icon shown in the status bar and the property dialog
+ matches the icon currently associated to the format
+! Ticket #4678/#4856, Use internal filters for GIF format
+! Ticket #4684, Clicking on the some parts of the volume slider had no effect
+! Ticket #4707, EVR-CP: Screenshots were corrupted when "Force 10-bit input" was used
+! Ticket #4730, MediaInfo: Ensure the MediaInfo tab gives the same information as the official GUI
+! Ticket #4744, Some subtitles could cause a crash or produce artifacts
+! Ticket #4752, Monitors connected to secondary graphic card were not detected
+! Ticket #4758, Adjust width of the groupbox headers to avoid empty space
+! Ticket #4778, Fix optical drive detection when its letter is A or B
+! Ticket #4782, Backward frame step led to jumping to the wrong position in certain situations
+! Ticket #4825, Tracks matching a preferred language weren't always selected correctly
+! Ticket #4827, Initial window size could be wrong for anamorphic video
+! Ticket #4831, Fix a rare issue with animated subtitles starting at timecode 0
+! Ticket #4857, The timings of some subtitles could be wrong when using Sync Renderer
+! Ticket #4863, MPC-HC could crash when opening a file through the QuickTime engine
+
+
1.7.6 - 05 July 2014
====================
+ ISR: Add an option to control subtitle renderer behavior regarding anamorphic video
diff --git a/docs/Compilation.txt b/docs/Compilation.txt
index 652a90bc4..bfe11bc49 100644
--- a/docs/Compilation.txt
+++ b/docs/Compilation.txt
@@ -16,8 +16,8 @@ Part B: Preparing the GCC environment
* If you installed the MSYS/MinGW package in an other directory you will have to use that path in the following steps.
* If you don't have Git installed then the revision number will be a hard-coded one, like 1.6.3.0.
- 1. Download and extract MSYS_MinGW-w64_GCC_491_x86-x64.7z to "C:\MSYS" -> http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_491_x86-x64.7z
- For the components and their version see: http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_491_x86-x64_components.txt
+ 1. Download and extract MSYS_MinGW-w64_GCC_492_x86-x64.7z to "C:\MSYS" -> http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_492_x86-x64.7z
+ For the components and their version see: http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_492_x86-x64_components.txt
2. Edit the "fstab" file in "C:\MSYS\etc" to specify your MinGW path. This is optional.
Add this to it: C:\MSYS\mingw \mingw
Note the tab-space between "mingw" and "\mingw"
@@ -49,6 +49,9 @@ Part C: Downloading and compiling the MPC-HC source
git submodule foreach --recursive git fetch --tags
then run the update again
git submodule update --init --recursive
+
+ Note that you can add `-b master` to the `git clone` command if you want to get the latest stable version
+ instead of the latest development version
2. Open the solution file "C:\mpc-hc\mpc-hc.sln"
Change the solution's configuration to "Release" (in the toolbar).
3. Press F7 to build the solution.
@@ -60,7 +63,7 @@ Part C: Downloading and compiling the MPC-HC source
In Visual Studio go to Build->Batch Build->Press Select All->Press Build
9. You now have "mpcresources.XX.dll" under "C:\mpc-hc\bin\mpc-hc_x86\Lang"
-Alternatively, you can use "build.bat" which can build everything for you
+Alternatively, you can use "build.bat" that can build everything for you
(run: build.bat help for more info)
diff --git a/docs/Readme.txt b/docs/Readme.txt
index dd8784e6c..87f8a7887 100644
--- a/docs/Readme.txt
+++ b/docs/Readme.txt
@@ -1,6 +1,6 @@
Media Player Classic - Home Cinema (MPC-HC) is a free and open source audio
and video player for Windows. MPC-HC is based on the original Guliverkli project
-and contains a lot of additional features and bug fixes.
+and contains many additional features and bug fixes.
We are in dire need of new developers of any kind. If you can code a little,
or you can create logos for the player and images for the file associations,
@@ -24,7 +24,7 @@ Main Features:
* Multi-Monitor support
* Various pixel shaders
* Color management
-* 35 translations available
+* 37 translations available
System Requirements:
diff --git a/docs/Release.txt b/docs/Release.txt
index 51d2555eb..efe0a9e9c 100644
--- a/docs/Release.txt
+++ b/docs/Release.txt
@@ -1,15 +1,36 @@
+We use a Git workflow based on http://nvie.com/posts/a-successful-git-branching-model/.
+The main idea is that the development takes place in a branch named `develop` instead of `master`.
+All pull requests and more generally all "feature" branches must originate from `develop` and be
+merged back into it. When a release is planned, a new temporary branch `release-X.Y.Z` is created
+from `develop` and finally merged into `master` when the release is ready to be published. The only
+difference with the workflow proposed on nvie.com is that we merge `master` into `develop` after
+`release-X.Y.Z` has been merged instead of directly merging `release-X.Y.Z` into `develop`. This
+ensures the release tags are visible from the `develop` branch to have a proper numbering of the
+nightly builds. In case a hotfix is needed, a new temporary `hotfix-X.Y.Z` branch is created from
+the head of the `master` branch and merged back into `master`. `master` is then merged into `develop`.
+
Here is a quick how-to release a new stable build:
-1) Update version in "include/version.h"
-2) Update "thirdparty/versions.txt" and the version/release date in "Changelog.txt"
-3) Commit the changes
-4) Create a git tag for the new release: `git tag -a 1.7.5 -m "Tag v1.7.5"`
-5) Make sure you have a clean source tree, no modified files, or unpushed commits
-6) Compile MPC-HC and the standalone filters:
- a. CALL "build.bat" Clean All Both Release
- b. CALL "build.bat" Build All Both Release Packages
-7) Keep the PDB files of all the filters and MPC-HC builds
-8) Upload the binary packages on SourceForge following the directory and the packages names scheme
- (upload the PDB files too, use 7zip for creating the 7z packages)
-9) Update the website with the new download links, changelog and version.txt with
- the new version number
+ 1) Create a new branch `release-X.Y.Z` from the commit on `develop` branch you want to use as a base
+ for the next stable release (you don't have to always use the latest commit from `develop`)
+ 2) Do everything you want to prepare the release on this newly created branch. New commits can still
+ be added on the `develop` branch if they aren't to be included in the release.
+ 3) When you are ready to release, make sure to:
+ - Update version in "include/version.h"
+ - Update "thirdparty/versions.txt" and the version/release date in "Changelog.txt"
+ - Commit those changes
+ 4) Merge the `release-X.Y.Z` branch into `master`. Use `git merge --no-ff release-X.Y.Z` to make sure
+ the branch history is correctly saved. The temporary branch `release-X.Y.Z` can now be removed using
+ `git branch -d release-X.Y.Z`
+ 5) Tag the merge commit for the new release: `git tag -a X.Y.Z -m "Tag vX.Y.Z"`
+ 6) Merge back the `master` branch into `develop`. Use `git merge --no-ff --no-commit master` since it's
+ likely that some manually editing of the merge commit is needed to merge the changelog correctly. Try
+ to give the merge commit an informative commit log, mentioning the release and its version number
+ 7) Make sure you have a clean source tree, no modified files, or unpushed commits
+ 8) Compile MPC-HC and the standalone filters:
+ a. CALL "build.bat" Clean All Both Release
+ b. CALL "build.bat" Build All Both Release Packages
+ 9) Keep the PDB files of all the filters and MPC-HC builds
+10) Upload the binary packages on SourceForge following the directory and the packages names scheme
+ (upload the PDB files too, use 7zip to create the 7z packages)
+11) Update the website with the new download links, changelog and version.txt with the new version number
diff --git a/docs/Submodules.txt b/docs/Submodules.txt
index 2d551e9da..7cee9e2c1 100644
--- a/docs/Submodules.txt
+++ b/docs/Submodules.txt
@@ -15,7 +15,7 @@ How to update LAV Filters
3) Do "git reset origin/master --hard" to cleanup local repository (beware you will lose all local commits)
4) Do "git rebase upstream/master" to update FFmpeg
5) Apply new custom patches if any
- 6) Do "git tag mpc-hc-X.Y.Z-N" where X.Y.Z is the latest MPC-HC version
+ 6) Do "git tag mpc-hc-X.Y.Z-N" where X.Y.Z is the latest MPC-HC version
and N is the number of LAV Filters updates since that release
7) Do "git push --force --tags origin master" to update our FFmpeg repository
8) Checkout the master branch in LAV Filters submodule (src/thirdparty/LAVFilters/src)
@@ -23,7 +23,7 @@ How to update LAV Filters
10) Do "git reset origin/master --hard" to cleanup local repository (beware you will lose all local commits)
11) Do "git rebase upstream/master" to update LAV Filters
12) Apply new custom patches if any
-13) Do "git tag mpc-hc-X.Y.Z-N" where X.Y.Z is the latest MPC-HC version
+13) Do "git tag mpc-hc-X.Y.Z-N" where X.Y.Z is the latest MPC-HC version
and N is the number of LAV Filters updates since that release
14) Do "git push --force --tags origin master" to update our LAV Filters repository
15) Update LAV Filters version in versions.txt
diff --git a/include/mpc-hc_config.h b/include/mpc-hc_config.h
index 0d1e04a51..d8a2b0f53 100644
--- a/include/mpc-hc_config.h
+++ b/include/mpc-hc_config.h
@@ -1,6 +1,6 @@
#ifndef ISPP_INVOKED
/*
- * (C) 2013 see Authors.txt
+ * (C) 2013-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -50,6 +50,9 @@
// If you distribute your builds, please disable minidumps by defining ENABLE_MINIDUMP 0.
#define ENABLE_MINIDUMP 1
+// Minidump is not always enough, by defining ENABLE_MINIDUMP 1 full memory dump will be generated upon crash.
+#define ENABLE_FULLDUMP 0
+
// If this is enabled, the registered LAV Filters can be loaded as internal filters
#define ENABLE_LOAD_EXTERNAL_LAVF_AS_INTERNAL 0
diff --git a/include/version.h b/include/version.h
index 291e23cc5..4c8f65566 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1,6 +1,6 @@
#ifndef ISPP_INVOKED
/*
- * (C) 2010-2014 see Authors.txt
+ * (C) 2010-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -53,7 +53,7 @@
#define MPC_VERSION_MAJOR 1
#define MPC_VERSION_MINOR 7
-#define MPC_VERSION_PATCH 7
+#define MPC_VERSION_PATCH 8
#ifndef NO_VERSION_REV_NEEDED
@@ -66,7 +66,7 @@
#endif // NO_VERSION_REV_NEEDED
#define MPC_COMP_NAME_STR _T("MPC-HC Team")
-#define MPC_COPYRIGHT_STR _T("Copyright © 2002-2014 all contributors, see Authors.txt")
+#define MPC_COPYRIGHT_STR _T("Copyright © 2002-2015 all contributors, see Authors.txt")
#define MPC_VERSION_COMMENTS WEBSITE_URL
diff --git a/mpcresources.sln b/mpcresources.sln
index 6f9909b16..8f4356684 100644
--- a/mpcresources.sln
+++ b/mpcresources.sln
@@ -30,6 +30,8 @@ Global
Release Dutch|x64 = Release Dutch|x64
Release English (British)|Win32 = Release English (British)|Win32
Release English (British)|x64 = Release English (British)|x64
+ Release Finnish|Win32 = Release Finnish|Win32
+ Release Finnish|x64 = Release Finnish|x64
Release French|Win32 = Release French|Win32
Release French|x64 = Release French|x64
Release Galician|Win32 = Release Galician|Win32
@@ -58,6 +60,8 @@ Global
Release Romanian|x64 = Release Romanian|x64
Release Russian|Win32 = Release Russian|Win32
Release Russian|x64 = Release Russian|x64
+ Release Serbian|Win32 = Release Serbian|Win32
+ Release Serbian|x64 = Release Serbian|x64
Release Slovak|Win32 = Release Slovak|Win32
Release Slovak|x64 = Release Slovak|x64
Release Slovenian|Win32 = Release Slovenian|Win32
@@ -126,6 +130,10 @@ Global
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release English (British)|Win32.Build.0 = Release English (British)|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release English (British)|x64.ActiveCfg = Release English (British)|x64
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release English (British)|x64.Build.0 = Release English (British)|x64
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Finnish|Win32.ActiveCfg = Release Finnish|Win32
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Finnish|Win32.Build.0 = Release Finnish|Win32
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Finnish|x64.ActiveCfg = Release Finnish|x64
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Finnish|x64.Build.0 = Release Finnish|x64
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release French|Win32.ActiveCfg = Release French|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release French|Win32.Build.0 = Release French|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release French|x64.ActiveCfg = Release French|x64
@@ -182,6 +190,10 @@ Global
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Russian|Win32.Build.0 = Release Russian|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Russian|x64.ActiveCfg = Release Russian|x64
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Russian|x64.Build.0 = Release Russian|x64
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Serbian|Win32.ActiveCfg = Release Serbian|Win32
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Serbian|Win32.Build.0 = Release Serbian|Win32
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Serbian|x64.ActiveCfg = Release Serbian|x64
+ {A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Serbian|x64.Build.0 = Release Serbian|x64
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Slovak|Win32.ActiveCfg = Release Slovak|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Slovak|Win32.Build.0 = Release Slovak|Win32
{A57CBE1A-3703-4237-950A-FC5F594FDB43}.Release Slovak|x64.ActiveCfg = Release Slovak|x64
diff --git a/src/CmdUI/CmdUI.vcxproj b/src/CmdUI/CmdUI.vcxproj
index adb9a2e29..9709007f3 100644
--- a/src/CmdUI/CmdUI.vcxproj
+++ b/src/CmdUI/CmdUI.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/src/DSUtil/DSMPropertyBag.cpp b/src/DSUtil/DSMPropertyBag.cpp
index e0fefc4c3..da29eabfd 100644
--- a/src/DSUtil/DSMPropertyBag.cpp
+++ b/src/DSUtil/DSMPropertyBag.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -161,8 +161,8 @@ CCritSec CDSMResource::m_csResources;
CAtlMap<uintptr_t, CDSMResource*> CDSMResource::m_resources;
CDSMResource::CDSMResource()
- : mime(_T("application/octet-stream"))
- , tag(0)
+ : tag(0)
+ , mime(_T("application/octet-stream"))
{
CAutoLock cAutoLock(&m_csResources);
m_resources.SetAt(reinterpret_cast<uintptr_t>(this), this);
diff --git a/src/DSUtil/DSUtil.cpp b/src/DSUtil/DSUtil.cpp
index 39b768ebb..406f5f63c 100644
--- a/src/DSUtil/DSUtil.cpp
+++ b/src/DSUtil/DSUtil.cpp
@@ -721,7 +721,7 @@ CString BinToCString(const BYTE* ptr, size_t len)
return ret;
}
-static void FindFiles(CString fn, CAtlList<CString>& files)
+void FindFiles(CString fn, CAtlList<CString>& files)
{
CString path = fn;
path.Replace('/', '\\');
@@ -2648,27 +2648,3 @@ void CorrectComboBoxHeaderWidth(CWnd* pComboBox)
r.right = r.left + ::GetSystemMetrics(SM_CXMENUCHECK) + ::GetSystemMetrics(SM_CXEDGE) + szText.cx + tm.tmAveCharWidth;
pComboBox->MoveWindow(r);
}
-
-CString FindCoverArt(const CString& path, const CString& author)
-{
- if (!path.IsEmpty()) {
- CAtlList<CString> files;
- FindFiles(path + _T("\\*front*.png"), files);
- FindFiles(path + _T("\\*front*.jp*g"), files);
- FindFiles(path + _T("\\*front*.bmp"), files);
- FindFiles(path + _T("\\*cover*.png"), files);
- FindFiles(path + _T("\\*cover*.jp*g"), files);
- FindFiles(path + _T("\\*cover*.bmp"), files);
- FindFiles(path + _T("\\*folder*.png"), files);
- FindFiles(path + _T("\\*folder*.jp*g"), files);
- FindFiles(path + _T("\\*folder*.bmp"), files);
- FindFiles(path + _T("\\*") + author + _T("*.png"), files);
- FindFiles(path + _T("\\*") + author + _T("*.jp*g"), files);
- FindFiles(path + _T("\\*") + author + _T("*.bmp"), files);
-
- if (!files.IsEmpty()) {
- return files.GetHead();
- }
- }
- return _T("");
-}
diff --git a/src/DSUtil/DSUtil.h b/src/DSUtil/DSUtil.h
index 1a3ef0cfe..f70859fe4 100644
--- a/src/DSUtil/DSUtil.h
+++ b/src/DSUtil/DSUtil.h
@@ -66,6 +66,7 @@ extern CString GetFilterPath(LPCTSTR clsid);
extern CString GetFilterPath(const CLSID& clsid);
extern void CStringToBin(CString str, CAtlArray<BYTE>& data);
extern CString BinToCString(const BYTE* ptr, size_t len);
+extern void FindFiles(CString fn, CAtlList<CString>& files);
enum OpticalDiskType_t {
OpticalDisk_NotFound,
OpticalDisk_Audio,
diff --git a/src/DSUtil/DSUtil.vcxproj b/src/DSUtil/DSUtil.vcxproj
index 935609f61..9d22e901d 100644
--- a/src/DSUtil/DSUtil.vcxproj
+++ b/src/DSUtil/DSUtil.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/DSUtil/FontInstaller.h b/src/DSUtil/FontInstaller.h
index e92c3af15..7cacef9ce 100644
--- a/src/DSUtil/FontInstaller.h
+++ b/src/DSUtil/FontInstaller.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2012, 2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,8 +26,8 @@
class CFontInstaller
{
HANDLE(WINAPI* pAddFontMemResourceEx)(PVOID, DWORD, PVOID, DWORD*);
- BOOL (WINAPI* pRemoveFontMemResourceEx)(HANDLE);
int (WINAPI* pAddFontResourceEx)(LPCTSTR, DWORD, PVOID);
+ BOOL (WINAPI* pRemoveFontMemResourceEx)(HANDLE);
BOOL (WINAPI* pRemoveFontResourceEx)(LPCTSTR, DWORD, PVOID);
BOOL (WINAPI* pMoveFileEx)(LPCTSTR, LPCTSTR, DWORD);
diff --git a/src/DSUtil/MediaTypeEx.cpp b/src/DSUtil/MediaTypeEx.cpp
index 06dcce0ae..d9cde419d 100644
--- a/src/DSUtil/MediaTypeEx.cpp
+++ b/src/DSUtil/MediaTypeEx.cpp
@@ -61,7 +61,7 @@ CString CMediaTypeEx::ToString(IPin* pPin)
packing = _T("MPEG2 PES");
}
- if (majortype == MEDIATYPE_Video) {
+ if (majortype == MEDIATYPE_Video || subtype == MEDIASUBTYPE_MPEG2_VIDEO) {
type = _T("Video");
BITMAPINFOHEADER bih;
@@ -121,7 +121,7 @@ CString CMediaTypeEx::ToString(IPin* pPin)
type = _T("Subtitle");
codec = _T("DVD Subpicture");
}
- } else if (majortype == MEDIATYPE_Audio) {
+ } else if (majortype == MEDIATYPE_Audio || subtype == MEDIASUBTYPE_DOLBY_AC3) {
type = _T("Audio");
if (formattype == FORMAT_WaveFormatEx) {
@@ -173,7 +173,7 @@ CString CMediaTypeEx::ToString(IPin* pPin)
}
} else if (majortype == MEDIATYPE_Text) {
type = _T("Text");
- } else if (majortype == MEDIATYPE_Subtitle) {
+ } else if (majortype == MEDIATYPE_Subtitle || subtype == MEDIASUBTYPE_DVD_SUBPICTURE) {
type = _T("Subtitle");
codec = GetSubtitleCodecName(subtype);
} else {
@@ -443,7 +443,8 @@ CString CMediaTypeEx::GetSubtitleCodecName(const GUID& subtype)
names[MEDIASUBTYPE_ASS2] = _T("Advanced SubStation Alpha");
names[MEDIASUBTYPE_USF] = _T("Universal Subtitle Format");
names[MEDIASUBTYPE_VOBSUB] = _T("VobSub");
- // names[''] = _T("");
+ names[MEDIASUBTYPE_DVB_SUBTITLES] = _T("DVB Subtitles");
+ names[MEDIASUBTYPE_DVD_SUBPICTURE] = _T("DVD Subtitles");
}
if (names.Lookup(subtype, str)) {
diff --git a/src/DSUtil/Mpeg2Def.h b/src/DSUtil/Mpeg2Def.h
index e6ff9faaa..edd0fd1e8 100644
--- a/src/DSUtil/Mpeg2Def.h
+++ b/src/DSUtil/Mpeg2Def.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -160,4 +160,13 @@ enum MPEG_TYPES {
mpeg_pva
};
+enum SERVICE_TYPE {
+ DIGITAL_TV = 0x01,
+ DIGITAL_RADIO = 0x02,
+ AVC_DIGITAL_RADIO = 0x0A,
+ MPEG2_HD_DIGITAL_TV = 0x11,
+ AVC_SD_TV = 0x16,
+ AVC_HD_TV = 0x19
+};
+
extern const wchar_t* StreamTypeToName(PES_STREAM_TYPE _Type);
diff --git a/src/DSUtil/NullRenderers.cpp b/src/DSUtil/NullRenderers.cpp
index 410648fbf..c8619a42e 100644
--- a/src/DSUtil/NullRenderers.cpp
+++ b/src/DSUtil/NullRenderers.cpp
@@ -114,7 +114,7 @@ private:
CComPtr<IDirect3D9> m_pD3D;
CComPtr<IDirect3DDevice9> m_pD3DDev;
CComPtr<IDirect3DDeviceManager9> m_pD3DDeviceManager;
- UINT m_nResetTocken;
+ UINT m_nResetToken;
HANDLE m_hDevice;
HWND m_hWnd;
@@ -124,11 +124,11 @@ private:
CNullVideoRendererInputPin::CNullVideoRendererInputPin(CBaseRenderer* pRenderer, HRESULT* phr, LPCWSTR Name)
: CRendererInputPin(pRenderer, phr, Name)
, m_hDXVA2Lib(nullptr)
- , m_pD3DDev(nullptr)
- , m_pD3DDeviceManager(nullptr)
, pfDXVA2CreateDirect3DDeviceManager9(nullptr)
, pfDXVA2CreateVideoService(nullptr)
- , m_nResetTocken(0)
+ , m_pD3DDev(nullptr)
+ , m_pD3DDeviceManager(nullptr)
+ , m_nResetToken(0)
, m_hDevice(INVALID_HANDLE_VALUE)
{
CreateSurface();
@@ -137,12 +137,12 @@ CNullVideoRendererInputPin::CNullVideoRendererInputPin(CBaseRenderer* pRenderer,
if (m_hDXVA2Lib) {
pfDXVA2CreateDirect3DDeviceManager9 = reinterpret_cast<PTR_DXVA2CreateDirect3DDeviceManager9>(GetProcAddress(m_hDXVA2Lib, "DXVA2CreateDirect3DDeviceManager9"));
pfDXVA2CreateVideoService = reinterpret_cast<PTR_DXVA2CreateVideoService>(GetProcAddress(m_hDXVA2Lib, "DXVA2CreateVideoService"));
- pfDXVA2CreateDirect3DDeviceManager9(&m_nResetTocken, &m_pD3DDeviceManager);
+ pfDXVA2CreateDirect3DDeviceManager9(&m_nResetToken, &m_pD3DDeviceManager);
}
// Initialize Device Manager with DX surface
if (m_pD3DDev) {
- m_pD3DDeviceManager->ResetDevice(m_pD3DDev, m_nResetTocken);
+ m_pD3DDeviceManager->ResetDevice(m_pD3DDev, m_nResetToken);
m_pD3DDeviceManager->OpenDeviceHandle(&m_hDevice);
}
}
diff --git a/src/DSUtil/PathUtils.cpp b/src/DSUtil/PathUtils.cpp
index 1a17ba244..e382083f0 100644
--- a/src/DSUtil/PathUtils.cpp
+++ b/src/DSUtil/PathUtils.cpp
@@ -127,6 +127,21 @@ namespace PathUtils
return ret;
}
+ CString Unquote(LPCTSTR path)
+ {
+ return CString(path).Trim(_T("\""));
+ }
+
+ CString StripPathOrUrl(LPCTSTR path)
+ {
+ // Replacement for CPath::StripPath which works fine also for URLs
+ CString p = path;
+ p.Replace('\\', '/');
+ p.TrimRight('/');
+ p = p.Mid(p.ReverseFind('/') + 1);
+ return (p.IsEmpty() ? path : p);
+ }
+
bool IsInDir(LPCTSTR path, LPCTSTR dir)
{
return !!CPath(path).IsPrefix(dir);
diff --git a/src/DSUtil/PathUtils.h b/src/DSUtil/PathUtils.h
index f78c18782..bec04b99f 100644
--- a/src/DSUtil/PathUtils.h
+++ b/src/DSUtil/PathUtils.h
@@ -31,6 +31,8 @@ namespace PathUtils
CString GetProgramPath(bool bWithExeName = false);
CString CombinePaths(LPCTSTR dir, LPCTSTR path);
CString FilterInvalidCharsFromFileName(LPCTSTR fn, TCHAR replacementChar = _T('_'));
+ CString Unquote(LPCTSTR path);
+ CString StripPathOrUrl(LPCTSTR path);
bool IsInDir(LPCTSTR path, LPCTSTR dir);
CString ToRelative(LPCTSTR dir, const LPCTSTR path, bool* pbRelative = nullptr);
bool IsRelative(LPCTSTR path);
diff --git a/src/DSUtil/WinAPIUtils.cpp b/src/DSUtil/WinAPIUtils.cpp
index 930c90757..d16658acb 100644
--- a/src/DSUtil/WinAPIUtils.cpp
+++ b/src/DSUtil/WinAPIUtils.cpp
@@ -23,6 +23,7 @@
#include <Shlobj.h>
#include "WinAPIUtils.h"
#include "SysVersion.h"
+#include "PathUtils.h"
bool SetPrivilege(LPCTSTR privilege, bool bEnable)
@@ -259,7 +260,7 @@ bool ExploreToFile(LPCTSTR path)
bool success = false;
PIDLIST_ABSOLUTE pidl;
- if (FileExists(path) && SHParseDisplayName(path, nullptr, &pidl, 0, nullptr) == S_OK) {
+ if (PathUtils::Exists(path) && SHParseDisplayName(path, nullptr, &pidl, 0, nullptr) == S_OK) {
success = SUCCEEDED(SHOpenFolderAndSelectItems(pidl, 0, nullptr, 0));
CoTaskMemFree(pidl);
}
@@ -267,25 +268,6 @@ bool ExploreToFile(LPCTSTR path)
return success;
}
-bool FileExists(LPCTSTR fileName)
-{
- return (INVALID_FILE_ATTRIBUTES != ::GetFileAttributes(fileName));
-}
-
-CString GetProgramPath(bool bWithExecutableName /*= false*/)
-{
- CString path;
-
- DWORD dwLength = ::GetModuleFileName(nullptr, path.GetBuffer(MAX_PATH), MAX_PATH);
- path.ReleaseBuffer((int)dwLength);
-
- if (!bWithExecutableName) {
- path = path.Left(path.ReverseFind(_T('\\')) + 1);
- }
-
- return path;
-}
-
CoInitializeHelper::CoInitializeHelper()
{
HRESULT res = CoInitializeEx(nullptr, COINIT_MULTITHREADED);
diff --git a/src/DSUtil/WinAPIUtils.h b/src/DSUtil/WinAPIUtils.h
index ead2bf768..4ebaa40d2 100644
--- a/src/DSUtil/WinAPIUtils.h
+++ b/src/DSUtil/WinAPIUtils.h
@@ -38,11 +38,8 @@ bool IsFontInstalled(LPCTSTR lpszFont);
bool ExploreToFile(LPCTSTR path);
-bool FileExists(LPCTSTR fileName);
HRESULT FileDelete(CString file, HWND hWnd, bool recycle = true);
-CString GetProgramPath(bool bWithExecutableName = false);
-
class CoInitializeHelper
{
public:
diff --git a/src/DSUtil/WinapiFunc.h b/src/DSUtil/WinapiFunc.h
index 92d5f700e..de212fcc8 100644
--- a/src/DSUtil/WinapiFunc.h
+++ b/src/DSUtil/WinapiFunc.h
@@ -24,7 +24,7 @@ template <typename>
class WinapiFunc;
template <typename ReturnType, typename...Args>
-class WinapiFunc<ReturnType(Args...)> final
+class WinapiFunc<ReturnType WINAPI(Args...)> final
{
public:
typedef ReturnType(WINAPI* WinapiFuncType)(Args...);
diff --git a/src/DSUtil/text.h b/src/DSUtil/text.h
index ea168c5ac..08657095d 100644
--- a/src/DSUtil/text.h
+++ b/src/DSUtil/text.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -72,8 +72,8 @@ T ExplodeEsc(T str, CAtlList<T>& sl, SEP sep, size_t limit = 0, SEP esc = _T('\\
break;
}
- // Skip this seperator if it is escaped
- if (str.GetAt(j - 1) == esc) {
+ // Skip this separator if it is escaped
+ if (j > 0 && str.GetAt(j - 1) == esc) {
// Delete the escape character
str.Delete(j - 1);
continue;
diff --git a/src/DeCSS/DeCSS.vcxproj b/src/DeCSS/DeCSS.vcxproj
index b5e134288..e1c562607 100644
--- a/src/DeCSS/DeCSS.vcxproj
+++ b/src/DeCSS/DeCSS.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/DeCSS/VobFile.cpp b/src/DeCSS/VobFile.cpp
index 9e681e7de..af8b8c64d 100644
--- a/src/DeCSS/VobFile.cpp
+++ b/src/DeCSS/VobFile.cpp
@@ -20,8 +20,8 @@
//
CDVDSession::CDVDSession()
- : m_session(DVD_END_ALL_SESSIONS)
- , m_hDrive(INVALID_HANDLE_VALUE)
+ : m_hDrive(INVALID_HANDLE_VALUE)
+ , m_session(DVD_END_ALL_SESSIONS)
{
ZeroMemory(m_SessionKey, sizeof(m_SessionKey));
ZeroMemory(m_DiscKey, sizeof(m_DiscKey));
@@ -456,7 +456,7 @@ bool CVobFile::GetTitleInfo(LPCTSTR fn, ULONG nTitleNum, ULONG& VTSN, ULONG& TTN
return true;
}
-bool CVobFile::Open(CString fn, CAtlList<CString>& vobs, ULONG nProgNum /*= 1*/)
+bool CVobFile::Open(CString fn, CAtlList<CString>& vobs, ULONG nProgNum /*= 1*/, bool bAuthenticate /*= true*/)
{
if (!m_ifoFile.Open(fn, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone)) {
return false;
@@ -613,10 +613,10 @@ bool CVobFile::Open(CString fn, CAtlList<CString>& vobs, ULONG nProgNum /*= 1*/)
}
}
- return Open(vobs, offset);
+ return Open(vobs, offset, bAuthenticate);
}
-bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
+bool CVobFile::Open(const CAtlList<CString>& vobs, int offset /*= -1*/, bool bAuthenticate /*= true*/)
{
Close();
@@ -624,11 +624,11 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
return false;
}
+ m_offsetAuth = offset;
if (vobs.GetCount() == 1) {
- offset = -1;
+ m_offsetAuth = -1;
}
-
- m_offset = offset;
+ m_offset = std::max(m_offsetAuth, 0);
POSITION pos = vobs.GetHeadPosition();
while (pos) {
@@ -650,11 +650,18 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
m_size += f.size;
}
+ return bAuthenticate ? Authenticate() : true;
+}
+
+bool CVobFile::Authenticate()
+{
+ m_fDVD = m_fHasDiscKey = m_fHasTitleKey = false;
+
if (!m_files.IsEmpty() && CDVDSession::Open(m_files[0].fn)) {
for (size_t i = 0; !m_fHasTitleKey && i < m_files.GetCount(); i++) {
if (BeginSession()) {
m_fDVD = true;
- Authenticate();
+ CDVDSession::Authenticate();
m_fHasDiscKey = GetDiscKey();
EndSession();
} else {
@@ -672,7 +679,7 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
DWORD start, end;
if (udf_get_lba(m_hDrive, f, &start, &end)) {
if (BeginSession()) {
- Authenticate();
+ CDVDSession::Authenticate();
m_fHasTitleKey = GetTitleKey(start + f->partition_lba, m_TitleKey);
EndSession();
}
@@ -682,12 +689,12 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
}
BYTE key[5];
- if (HasTitleKey(key) && i == 0 && offset >= 0) {
+ if (HasTitleKey(key) && i == 0 && m_offsetAuth >= 0) {
i++;
if (BeginSession()) {
m_fDVD = true;
- Authenticate();
+ CDVDSession::Authenticate();
m_fHasDiscKey = GetDiscKey();
EndSession();
} else {
@@ -698,7 +705,7 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
DWORD start, end;
if (udf_get_lba(m_hDrive, f, &start, &end)) {
if (BeginSession()) {
- Authenticate();
+ CDVDSession::Authenticate();
m_fHasTitleKey = GetTitleKey(start + f->partition_lba, m_TitleKey);
EndSession();
}
@@ -714,19 +721,16 @@ bool CVobFile::Open(const CAtlList<CString>& vobs, int offset)
}
}
}
- /*
- if(!m_files.IsEmpty() && !m_fDVD)
- {
- CString fn = m_files[0].fn;
- fn.MakeLower();
- if(fn.Find(_T(":\\video_ts")) == 1 && GetDriveType(fn.Left(3)) == DRIVE_CDROM)
- {
- m_fDVD = true;
- }
+ /*if(!m_files.IsEmpty() && !m_fDVD) {
+ CString fn = m_files[0].fn;
+ fn.MakeLower();
+
+ if(fn.Find(_T(":\\video_ts")) == 1 && GetDriveType(fn.Left(3)) == DRIVE_CDROM)
+ {
+ m_fDVD = true;
}
- */
- m_offset = std::max(offset, 0);
+ }*/
return true;
}
@@ -736,7 +740,7 @@ void CVobFile::Close()
CDVDSession::Close();
m_files.RemoveAll();
m_iFile = -1;
- m_pos = m_size = m_offset = 0;
+ m_pos = m_size = m_offset = m_offsetAuth = 0;
m_file.Close();
m_fDVD = m_fHasDiscKey = m_fHasTitleKey = false;
}
diff --git a/src/DeCSS/VobFile.h b/src/DeCSS/VobFile.h
index 2a88aed1b..08ef0e2e4 100644
--- a/src/DeCSS/VobFile.h
+++ b/src/DeCSS/VobFile.h
@@ -61,7 +61,7 @@ class CVobFile : public CDVDSession
CAtlArray<file_t> m_files;
int m_iFile;
- int m_pos, m_size, m_offset;
+ int m_pos, m_size, m_offset, m_offsetAuth;
// currently opened file
CLBAFile m_file;
@@ -83,8 +83,9 @@ public:
bool HasDiscKey(BYTE* key) const;
bool HasTitleKey(BYTE* key) const;
- bool Open(CString fn, CAtlList<CString>& files /* out */, ULONG nProgNum = 1); // vts ifo
- bool Open(const CAtlList<CString>& files, int offset = -1); // vts vobs, video vob offset in lba
+ bool Open(CString fn, CAtlList<CString>& files /* out */, ULONG nProgNum = 1, bool bAuthenticate = true); // vts ifo
+ bool Open(const CAtlList<CString>& files, int offset = -1, bool bAuthenticate = true); // vts vobs, video vob offset in lba
+ bool Authenticate();
void Close();
int GetLength() const;
diff --git a/src/MPCTestAPI/MPCTestAPIDlg.cpp b/src/MPCTestAPI/MPCTestAPIDlg.cpp
index 6ae36cc92..c47278e65 100644
--- a/src/MPCTestAPI/MPCTestAPIDlg.cpp
+++ b/src/MPCTestAPI/MPCTestAPIDlg.cpp
@@ -100,11 +100,9 @@ END_MESSAGE_MAP()
CRegisterCopyDataDlg::CRegisterCopyDataDlg(CWnd* pParent /*=nullptr*/)
: CDialog(CRegisterCopyDataDlg::IDD, pParent)
- , m_strMPCPath(_T(""))
- , m_txtCommand(_T(""))
- , m_nCommandType(0)
- , m_hWndMPC(nullptr)
, m_RemoteWindow(nullptr)
+ , m_hWndMPC(nullptr)
+ , m_nCommandType(0)
{
//{{AFX_DATA_INIT(CRegisterCopyDataDlg)
// NOTE: the ClassWizard will add member initialization here
diff --git a/src/MPCTestAPI/res/MPCTestAPI.exe.manifest b/src/MPCTestAPI/res/MPCTestAPI.exe.manifest
index ed5fbaefa..996ed084e 100644
--- a/src/MPCTestAPI/res/MPCTestAPI.exe.manifest
+++ b/src/MPCTestAPI/res/MPCTestAPI.exe.manifest
@@ -32,6 +32,7 @@
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+ <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
diff --git a/src/MathLibFix/MathLibFix.vcxproj b/src/MathLibFix/MathLibFix.vcxproj
index 50e39a6da..8fd636961 100644
--- a/src/MathLibFix/MathLibFix.vcxproj
+++ b/src/MathLibFix/MathLibFix.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;..\thirdparty\VirtualDub\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/SubPic/DX7SubPic.cpp b/src/SubPic/DX7SubPic.cpp
index e67e744e9..9598799d7 100644
--- a/src/SubPic/DX7SubPic.cpp
+++ b/src/SubPic/DX7SubPic.cpp
@@ -28,8 +28,8 @@
//
CDX7SubPic::CDX7SubPic(IDirect3DDevice7* pD3DDev, IDirectDrawSurface7* pSurface)
- : m_pSurface(pSurface)
- , m_pD3DDev(pD3DDev)
+ : m_pD3DDev(pD3DDev)
+ , m_pSurface(pSurface)
{
DDSURFACEDESC2 ddsd;
INITDDSTRUCT(ddsd);
diff --git a/src/SubPic/SubPic.vcxproj b/src/SubPic/SubPic.vcxproj
index bb6862015..49471dac4 100644
--- a/src/SubPic/SubPic.vcxproj
+++ b/src/SubPic/SubPic.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/SubPic/SubPicAllocatorPresenterImpl.cpp b/src/SubPic/SubPicAllocatorPresenterImpl.cpp
index 5e913ccf4..61d967398 100644
--- a/src/SubPic/SubPicAllocatorPresenterImpl.cpp
+++ b/src/SubPic/SubPicAllocatorPresenterImpl.cpp
@@ -34,17 +34,17 @@
CSubPicAllocatorPresenterImpl::CSubPicAllocatorPresenterImpl(HWND hWnd, HRESULT& hr, CString* _pError)
: CUnknown(NAME("CSubPicAllocatorPresenterImpl"), nullptr)
, m_hWnd(hWnd)
+ , m_rtSubtitleDelay(0)
, m_maxSubtitleTextureSize(0, 0)
, m_nativeVideoSize(0, 0)
, m_aspectRatio(0, 0)
, m_videoRect(0, 0, 0, 0)
, m_windowRect(0, 0, 0, 0)
+ , m_rtNow(0)
, m_fps(25.0)
, m_refreshRate(0)
- , m_rtSubtitleDelay(0)
, m_bDeviceResetRequested(false)
, m_bPendingResetDevice(false)
- , m_rtNow(0)
, m_SubtitleTextureLimit(STATIC)
{
if (!IsWindow(m_hWnd)) {
@@ -183,7 +183,7 @@ STDMETHODIMP_(void) CSubPicAllocatorPresenterImpl::SetPosition(RECT w, RECT v)
}
if (bWindowPosChanged || bVideoRectChanged) {
- Paint(bWindowSizeChanged || bVideoRectChanged);
+ Paint(false);
}
}
@@ -264,7 +264,7 @@ STDMETHODIMP CSubPicAllocatorPresenterImpl::SetVideoAngle(Vector v)
XForm xform(Ray(Vector(), v), Vector(1, 1, 1), false);
if (m_xform != xform) {
m_xform = xform;
- Paint(true);
+ Paint(false);
return S_OK;
}
return S_FALSE;
@@ -486,7 +486,7 @@ STDMETHODIMP CSubPicAllocatorPresenterImpl::Connect(ISubRenderProvider* subtitle
CComPtr<ISubPicQueue> pSubPicQueue = (ISubPicQueue*)DEBUG_NEW CXySubPicQueueNoThread(m_pAllocator, &hr);
if (SUCCEEDED(hr)) {
- CAutoLock(this);
+ CAutoLock cAutoLock(this);
pSubPicQueue->SetSubPicProvider(pSubPicProvider);
m_pSubPicProvider = pSubPicProvider;
m_pSubPicQueue = pSubPicQueue;
diff --git a/src/SubPic/SubPicQueueImpl.cpp b/src/SubPic/SubPicQueueImpl.cpp
index f0954ba7a..ffbbc9fe3 100644
--- a/src/SubPic/SubPicQueueImpl.cpp
+++ b/src/SubPic/SubPicQueueImpl.cpp
@@ -36,12 +36,12 @@ const double CSubPicQueueImpl::DEFAULT_FPS = 25.0;
CSubPicQueueImpl::CSubPicQueueImpl(SubPicQueueSettings settings, ISubPicAllocator* pAllocator, HRESULT* phr)
: CUnknown(NAME("CSubPicQueueImpl"), nullptr)
- , m_settings(settings)
- , m_pAllocator(pAllocator)
- , m_rtNow(0)
, m_fps(DEFAULT_FPS)
, m_rtTimePerFrame(std::llround(10000000.0 / DEFAULT_FPS))
- , m_rtTimePerSubFrame(std::llround(10000000.0 / (DEFAULT_FPS* settings.nAnimationRate / 100.0)))
+ , m_rtTimePerSubFrame(std::llround(10000000.0 / (DEFAULT_FPS * settings.nAnimationRate / 100.0)))
+ , m_rtNow(0)
+ , m_settings(settings)
+ , m_pAllocator(pAllocator)
{
if (phr) {
*phr = S_OK;
diff --git a/src/SubPic/XySubPicProvider.cpp b/src/SubPic/XySubPicProvider.cpp
index deaba7154..adf4ea300 100644
--- a/src/SubPic/XySubPicProvider.cpp
+++ b/src/SubPic/XySubPicProvider.cpp
@@ -125,12 +125,11 @@ STDMETHODIMP CXySubPicProvider::Render(SubPicDesc& spd, REFERENCE_TIME rt, doubl
STDMETHODIMP CXySubPicProvider::GetTextureSize(POSITION pos, SIZE& MaxTextureSize, SIZE& VirtualSize, POINT& VirtualTopLeft)
{
- RECT outputRect, clipRect;
+ CRect outputRect, clipRect;
if (m_pSubFrame && SUCCEEDED(m_pSubFrame->GetOutputRect(&outputRect)) && SUCCEEDED(m_pSubFrame->GetClipRect(&clipRect))) {
- CRect rcOutput = outputRect, rcClip = clipRect;
- MaxTextureSize = rcOutput.Size();
- VirtualSize = rcClip.Size();
- VirtualTopLeft = rcClip.TopLeft();
+ MaxTextureSize = outputRect.Size();
+ VirtualSize = clipRect.Size();
+ VirtualTopLeft = clipRect.TopLeft();
return S_OK;
}
return E_FAIL;
@@ -138,6 +137,6 @@ STDMETHODIMP CXySubPicProvider::GetTextureSize(POSITION pos, SIZE& MaxTextureSiz
STDMETHODIMP CXySubPicProvider::GetRelativeTo(POSITION pos, RelativeTo& relativeTo)
{
- relativeTo = VIDEO;
+ relativeTo = BEST_FIT;
return S_OK;
}
diff --git a/src/Subtitles/CompositionObject.cpp b/src/Subtitles/CompositionObject.cpp
index 51e2a4e2d..2f4094d22 100644
--- a/src/Subtitles/CompositionObject.cpp
+++ b/src/Subtitles/CompositionObject.cpp
@@ -73,7 +73,7 @@ void CompositionObject::Init()
m_cropping_horizontal_position = m_cropping_vertical_position = 0;
m_cropping_width = m_cropping_height = 0;
- m_colors.fill(0xff000000);
+ m_colors.fill(0);
}
void CompositionObject::Reset()
diff --git a/src/Subtitles/DVBSub.cpp b/src/Subtitles/DVBSub.cpp
index 15b9b5175..3c2315647 100644
--- a/src/Subtitles/DVBSub.cpp
+++ b/src/Subtitles/DVBSub.cpp
@@ -34,9 +34,9 @@
CDVBSub::CDVBSub(CCritSec* pLock, const CString& name, LCID lcid)
: CRLECodedSubtitle(pLock, name, lcid)
+ , m_nBufferSize(0)
, m_nBufferReadPos(0)
, m_nBufferWritePos(0)
- , m_nBufferSize(0)
, m_pBuffer(nullptr)
{
if (m_name.IsEmpty() || m_name == _T("Unknown")) {
diff --git a/src/Subtitles/DVBSub.h b/src/Subtitles/DVBSub.h
index e000801a7..bbfba28d9 100644
--- a/src/Subtitles/DVBSub.h
+++ b/src/Subtitles/DVBSub.h
@@ -199,12 +199,12 @@ private:
bool rendered;
DVB_PAGE()
- : pageTimeOut(0)
+ : rtStart(0)
+ , rtStop(0)
+ , pageTimeOut(0)
, pageVersionNumber(0)
, pageState(0)
- , rendered(false)
- , rtStart(0)
- , rtStop(0) {
+ , rendered(false) {
}
};
diff --git a/src/Subtitles/Ellipse.cpp b/src/Subtitles/Ellipse.cpp
index 9788fd3e7..cec0788a6 100644
--- a/src/Subtitles/Ellipse.cpp
+++ b/src/Subtitles/Ellipse.cpp
@@ -24,9 +24,9 @@
CEllipse::CEllipse(int rx, int ry)
: m_rx(rx)
, m_ry(ry)
- , m_2rx(2 * m_rx)
- , m_2ry(2 * m_ry)
- , nIntersectCacheLineSize(2 * (m_rx - 1) + 1)
+ , m_2rx(2 * rx)
+ , m_2ry(2 * ry)
+ , nIntersectCacheLineSize(rx > 0 ? 2 * (rx - 1) + 1 : 0)
{
m_arc.resize(m_2ry + 1);
m_arc[m_ry] = m_rx;
diff --git a/src/Subtitles/RLECodedSubtitle.cpp b/src/Subtitles/RLECodedSubtitle.cpp
index 0b187d765..88c8bc71e 100644
--- a/src/Subtitles/RLECodedSubtitle.cpp
+++ b/src/Subtitles/RLECodedSubtitle.cpp
@@ -28,7 +28,6 @@ CRLECodedSubtitle::CRLECodedSubtitle(CCritSec* pLock, const CString& name, LCID
, m_name(name)
, m_lcid(lcid)
{
-
}
STDMETHODIMP CRLECodedSubtitle::NonDelegatingQueryInterface(REFIID riid, void** ppv)
diff --git a/src/Subtitles/RTS.cpp b/src/Subtitles/RTS.cpp
index ec158b73d..778c9c34f 100644
--- a/src/Subtitles/RTS.cpp
+++ b/src/Subtitles/RTS.cpp
@@ -24,7 +24,7 @@
#include <intrin.h>
#include <algorithm>
#include "RTS.h"
-#include "../DSUtil/WinAPIUtils.h"
+#include "../DSUtil/PathUtils.h"
// WARNING: this isn't very thread safe, use only one RTS a time. We should use TLS in future.
static HDC g_hDC;
@@ -67,22 +67,22 @@ CMyFont::CMyFont(STSStyle& style)
CWord::CWord(STSStyle& style, CStringW str, int ktype, int kstart, int kend, double scalex, double scaley,
RenderingCaches& renderingCaches)
- : m_style(style)
+ : m_fDrawn(false)
+ , m_p(INT_MAX, INT_MAX)
+ , m_renderingCaches(renderingCaches)
+ , m_scalex(scalex)
+ , m_scaley(scaley)
, m_str(str)
- , m_width(0)
- , m_ascent(0)
- , m_descent(0)
+ , m_fWhiteSpaceChar(false)
+ , m_fLineBreak(false)
+ , m_style(style)
+ , m_pOpaqueBox(nullptr)
, m_ktype(ktype)
, m_kstart(kstart)
, m_kend(kend)
- , m_fDrawn(false)
- , m_p(INT_MAX, INT_MAX)
- , m_fLineBreak(false)
- , m_fWhiteSpaceChar(false)
- , m_pOpaqueBox(nullptr)
- , m_scalex(scalex)
- , m_scaley(scaley)
- , m_renderingCaches(renderingCaches)
+ , m_width(0)
+ , m_ascent(0)
+ , m_descent(0)
{
if (str.IsEmpty()) {
m_fWhiteSpaceChar = m_fLineBreak = true;
@@ -123,17 +123,13 @@ void CWord::Paint(const CPoint& p, const CPoint& org)
if (m_renderingCaches.overlayCache.Lookup(overlayKey, m_pOverlayData)) {
m_fDrawn = m_renderingCaches.outlineCache.Lookup(overlayKey, m_pOutlineData);
if (m_style.borderStyle == 1) {
- if (!CreateOpaqueBox()) {
- return;
- }
+ VERIFY(CreateOpaqueBox());
}
} else {
if (!m_fDrawn) {
if (m_renderingCaches.outlineCache.Lookup(overlayKey, m_pOutlineData)) {
if (m_style.borderStyle == 1) {
- if (!CreateOpaqueBox()) {
- return;
- }
+ VERIFY(CreateOpaqueBox());
}
} else {
if (!CreatePath()) {
@@ -163,9 +159,7 @@ void CWord::Paint(const CPoint& p, const CPoint& org)
return;
}
} else if (m_style.borderStyle == 1) {
- if (!CreateOpaqueBox()) {
- return;
- }
+ VERIFY(CreateOpaqueBox());
}
m_renderingCaches.outlineCache.SetAt(overlayKey, m_pOutlineData);
@@ -207,12 +201,14 @@ bool CWord::CreateOpaqueBox()
STSStyle style = m_style;
style.borderStyle = 0;
- style.outlineWidthX = style.outlineWidthY = 0;
+ // We don't want to apply the outline and the scaling twice
+ style.outlineWidthX = style.outlineWidthY = 0.0;
+ style.fontScaleX = style.fontScaleY = 100.0;
style.colors[0] = m_style.colors[2];
style.alpha[0] = m_style.alpha[2];
- int w = (int)(m_style.outlineWidthX + 0.5);
- int h = (int)(m_style.outlineWidthY + 0.5);
+ int w = std::lround(m_style.outlineWidthX);
+ int h = std::lround(m_style.outlineWidthY);
// Convert to pixels rounding to nearest
CStringW str;
@@ -222,7 +218,12 @@ bool CWord::CreateOpaqueBox()
(m_width + w + 4) / 8, (m_ascent + m_descent + h + 4) / 8,
-(w + 4) / 8, (m_ascent + m_descent + h + 4) / 8);
- m_pOpaqueBox = DEBUG_NEW CPolygon(style, str, 0, 0, 0, 1.0, 1.0, 0, m_renderingCaches);
+ try {
+ m_pOpaqueBox = DEBUG_NEW CPolygon(style, str, 0, 0, 0, 1.0, 1.0, 0, m_renderingCaches);
+ } catch (CMemoryException* e) {
+ e->Delete();
+ m_pOpaqueBox = nullptr;
+ }
return !!m_pOpaqueBox;
}
@@ -792,9 +793,14 @@ CClipper::CClipper(CStringW str, const CSize& size, double scalex, double scaley
e->Delete();
return;
}
+ memset(m_pAlphaMask, (m_inverse ? 0x40 : 0), alphaMaskSize);
Paint(CPoint(0, 0), CPoint(0, 0));
+ if (!m_pOverlayData) {
+ return;
+ }
+
int w = m_pOverlayData->mOverlayWidth, h = m_pOverlayData->mOverlayHeight;
int x = (m_pOverlayData->mOffsetX + m_cpOffset.x + 4) >> 3, y = (m_pOverlayData->mOffsetY + m_cpOffset.y + 4) >> 3;
@@ -821,8 +827,6 @@ CClipper::CClipper(CStringW str, const CSize& size, double scalex, double scaley
return;
}
- memset(m_pAlphaMask, (m_inverse ? 0x40 : 0), alphaMaskSize);
-
const BYTE* src = m_pOverlayData->mpOverlayBufferBody + m_pOverlayData->mOverlayPitch * yo + xo;
BYTE* dst = m_pAlphaMask + m_size.cx * y + x;
@@ -987,7 +991,7 @@ CRect CLine::PaintOutline(SubPicDesc& spd, CRect& clipRect, BYTE* pAlphaMask, CP
return bbox; // should not happen since this class is just a line of text without any breaks
}
- if (w->m_style.outlineWidthX + w->m_style.outlineWidthY > 0 && !(w->m_ktype == 2 && time < w->m_kstart)) {
+ if ((w->m_style.outlineWidthX + w->m_style.outlineWidthY > 0 || w->m_style.borderStyle == 1) && !(w->m_ktype == 2 && time < w->m_kstart)) {
int x = p.x;
int y = p.y + m_ascent - w->m_ascent;
DWORD aoutline = w->m_style.alpha[2];
@@ -1096,19 +1100,19 @@ CRect CLine::PaintBody(SubPicDesc& spd, CRect& clipRect, BYTE* pAlphaMask, CPoin
CSubtitle::CSubtitle(RenderingCaches& renderingCaches)
: m_renderingCaches(renderingCaches)
- , m_pClipper(nullptr)
- , m_clipInverse(false)
- , m_scalex(1.0)
- , m_scaley(1.0)
, m_scrAlignment(0)
, m_wrapStyle(0)
, m_fAnimated(false)
- , m_relativeTo(STSStyle::AUTO)
+ , m_bIsAnimated(false)
+ , m_relativeTo(STSStyle::VIDEO)
+ , m_pClipper(nullptr)
, m_topborder(0)
, m_bottomborder(0)
+ , m_clipInverse(false)
+ , m_scalex(1.0)
+ , m_scaley(1.0)
{
ZeroMemory(m_effects, sizeof(Effect*)*EF_NUMBEROFEFFECTS);
- m_bIsAnimated = false;
}
CSubtitle::~CSubtitle()
@@ -1294,22 +1298,30 @@ void CSubtitle::CreateClippers(CSize size)
size.cx >>= 3;
size.cy >>= 3;
- if (m_effects[EF_BANNER] && m_effects[EF_BANNER]->param[2]) {
- int width = m_effects[EF_BANNER]->param[2];
+ auto createClipper = [this](const CSize & size) {
+ ASSERT(!m_pClipper);
+ CStringW str;
+ str.Format(L"m %d %d l %d %d %d %d %d %d", 0, 0, size.cx, 0, size.cx, size.cy, 0, size.cy);
- int w = size.cx, h = size.cy;
-
- if (!m_pClipper) {
- CStringW str;
- str.Format(L"m %d %d l %d %d %d %d %d %d", 0, 0, w, 0, w, h, 0, h);
- try {
- m_pClipper = DEBUG_NEW CClipper(str, size, 1, 1, false, CPoint(0, 0), m_renderingCaches);
- } catch (CMemoryException* e) {
- e->Delete();
- return;
+ try {
+ m_pClipper = DEBUG_NEW CClipper(str, size, 1.0, 1.0, false, CPoint(0, 0), m_renderingCaches);
+ if (!m_pClipper->m_pAlphaMask) {
+ SAFE_DELETE(m_pClipper);
}
+ } catch (CMemoryException* e) {
+ e->Delete();
}
+ return !!m_pClipper;
+ };
+
+ if (m_effects[EF_BANNER] && m_effects[EF_BANNER]->param[2]) {
+ if (!m_pClipper && !createClipper(size)) {
+ return;
+ }
+
+ int width = m_effects[EF_BANNER]->param[2];
+ int w = size.cx, h = size.cy;
int da = (64 << 8) / width;
BYTE* am = m_pClipper->m_pAlphaMask;
@@ -1334,22 +1346,12 @@ void CSubtitle::CreateClippers(CSize size)
}
}
} else if (m_effects[EF_SCROLL] && m_effects[EF_SCROLL]->param[4]) {
- int height = m_effects[EF_SCROLL]->param[4];
-
- int w = size.cx, h = size.cy;
-
- if (!m_pClipper) {
- CStringW str;
- str.Format(L"m %d %d l %d %d %d %d %d %d", 0, 0, w, 0, w, h, 0, h);
- try {
- m_pClipper = DEBUG_NEW CClipper(str, size, 1, 1, false, CPoint(0, 0),
- m_renderingCaches);
- } catch (CMemoryException* e) {
- e->Delete();
- return;
- }
+ if (!m_pClipper && !createClipper(size)) {
+ return;
}
+ int height = m_effects[EF_SCROLL]->param[4];
+ int w = size.cx, h = size.cy;
int da = (64 << 8) / height;
int a = 0;
int k = m_effects[EF_SCROLL]->param[0] >> 3;
@@ -1530,9 +1532,6 @@ CAtlMap<CStringW, SSATagCmd, CStringElementTraits<CStringW>> CRenderedTextSubtit
CRenderedTextSubtitle::CRenderedTextSubtitle(CCritSec* pLock)
: CSubPicProviderImpl(pLock)
- , m_bOverrideStyle(false)
- , m_bOverridePlacement(false)
- , m_overridePlacement(50, 90)
, m_time(0)
, m_delay(0)
, m_animStart(0)
@@ -1543,6 +1542,9 @@ CRenderedTextSubtitle::CRenderedTextSubtitle(CCritSec* pLock)
, m_kend(0)
, m_nPolygon(0)
, m_polygonBaselineOffset(0)
+ , m_bOverrideStyle(false)
+ , m_bOverridePlacement(false)
+ , m_overridePlacement(50, 90)
{
m_size = CSize(0, 0);
@@ -2062,7 +2064,7 @@ bool CRenderedTextSubtitle::ParseSSATag(SSATagsList& tagsList, const CStringW& s
}
bool CRenderedTextSubtitle::CreateSubFromSSATag(CSubtitle* sub, const SSATagsList& tagsList,
- STSStyle& style, STSStyle& org, bool fAnimate /*= false*/)
+ STSStyle& style, STSStyle& org, bool fAnimate /*= false*/)
{
if (!sub || !tagsList) {
return false;
@@ -3242,7 +3244,7 @@ STDMETHODIMP CRenderedTextSubtitle::SetStream(int iStream)
STDMETHODIMP CRenderedTextSubtitle::Reload()
{
- if (!FileExists(m_path)) {
+ if (!PathUtils::Exists(m_path)) {
return E_FAIL;
}
return !m_path.IsEmpty() && Open(m_path, DEFAULT_CHARSET, m_name) ? S_OK : E_FAIL;
diff --git a/src/Subtitles/Rasterizer.cpp b/src/Subtitles/Rasterizer.cpp
index 3c64dea86..4f68ceba5 100644
--- a/src/Subtitles/Rasterizer.cpp
+++ b/src/Subtitles/Rasterizer.cpp
@@ -44,10 +44,10 @@ int Rasterizer::getOverlayWidth()
}
Rasterizer::Rasterizer()
- : mpPathTypes(nullptr)
+ : fFirstSet(false)
+ , mpPathTypes(nullptr)
, mpPathPoints(nullptr)
, mPathPoints(0)
- , fFirstSet(false)
, mpEdgeBuffer(nullptr)
, mEdgeHeapSize(0)
, mEdgeNext(0)
diff --git a/src/Subtitles/Rasterizer.h b/src/Subtitles/Rasterizer.h
index 85f414bc5..975c35f11 100644
--- a/src/Subtitles/Rasterizer.h
+++ b/src/Subtitles/Rasterizer.h
@@ -53,12 +53,12 @@ struct RasterizerNfo {
const DWORD* sw, byte* s, byte* srcBody, byte* srcBorder, DWORD* dst, byte* am)
: w(w)
, h(h)
- , xo(xo)
- , yo(yo)
- , overlayp(overlayp)
, spdw(spdw)
+ , overlayp(overlayp)
, pitch(pitch)
, color(color)
+ , xo(xo)
+ , yo(yo)
, sw(sw)
, s(s)
, srcBody(srcBody)
diff --git a/src/Subtitles/RealTextParser.cpp b/src/Subtitles/RealTextParser.cpp
index 880ba3a10..18811c3b8 100644
--- a/src/Subtitles/RealTextParser.cpp
+++ b/src/Subtitles/RealTextParser.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2014 see Authors.txt
+ * (C) 2008-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -84,6 +84,11 @@ bool CRealTextParser::ParseRealText(std::wstring p_szFile)
m_RealText.m_mapLines[pairTimecodes] = szLine;
}
+ } else if (vStartTimecodes.empty() && vEndTimecodes.empty() && m_RealText.m_mapLines.empty() && iStartTimecode > 0) {
+ // Handle first line
+ if (!szLine.empty()) {
+ m_RealText.m_mapLines[std::make_pair(0, iStartTimecode)] = szLine;
+ }
}
vStartTimecodes.push_back(iStartTimecode);
@@ -227,6 +232,9 @@ bool CRealTextParser::ExtractTag(std::wstring& p_rszLine, Tag& p_rTag)
if (p_rszLine.at(iPos) == '/') {
++iPos;
p_rTag.m_bClose = true;
+ if (iPos >= p_rszLine.length()) {
+ return false;
+ }
}
if (p_rszLine.at(iPos) == '>') {
@@ -310,7 +318,7 @@ bool CRealTextParser::GetAttributes(std::wstring& p_rszLine, unsigned int& p_riP
return false;
}
- while (p_riPos > p_rszLine.length() && p_rszLine.at(p_riPos) != '/' && p_rszLine.at(p_riPos) != '>') {
+ while (p_riPos < p_rszLine.length() && p_rszLine.at(p_riPos) != '/' && p_rszLine.at(p_riPos) != '>') {
std::wstring szName;
if (!GetString(p_rszLine, p_riPos, szName, L"\r\n\t =")) {
return false;
@@ -322,9 +330,11 @@ bool CRealTextParser::GetAttributes(std::wstring& p_rszLine, unsigned int& p_riP
if (p_rszLine.at(p_riPos) != '=') {
if (m_bTryToIgnoreErrors) {
- p_riPos = (unsigned int)p_rszLine.find_first_of('=', p_riPos);
- if (p_riPos == std::wstring::npos) {
+ size_t pos = p_rszLine.find_first_of('=', p_riPos);
+ if (pos == std::wstring::npos) {
return false;
+ } else {
+ p_riPos = (unsigned int)pos;
}
} else {
return false;
@@ -416,10 +426,10 @@ int CRealTextParser::GetTimecode(const std::wstring& p_crszTimecode)
}
std::wstring CRealTextParser::FormatTimecode(int iTimecode,
- int iMillisecondPrecision/* = 3*/,
- bool p_bPadZeroes/* = true*/,
- const std::wstring& p_crszSeparator/* = ":"*/,
- const std::wstring& p_crszMillisecondSeparator/* = "."*/)
+ int iMillisecondPrecision/* = 3*/,
+ bool p_bPadZeroes/* = true*/,
+ const std::wstring& p_crszSeparator/* = ":"*/,
+ const std::wstring& p_crszMillisecondSeparator/* = "."*/)
{
std::wostringstream ossTimecode;
diff --git a/src/Subtitles/RenderingCache.cpp b/src/Subtitles/RenderingCache.cpp
index 38737471e..16dd295db 100644
--- a/src/Subtitles/RenderingCache.cpp
+++ b/src/Subtitles/RenderingCache.cpp
@@ -36,9 +36,9 @@ CTextDimsKey::CTextDimsKey(const CStringW& str, const STSStyle& style)
}
CTextDimsKey::CTextDimsKey(const CTextDimsKey& textDimsKey)
- : m_str(textDimsKey.m_str)
+ : m_hash(textDimsKey.m_hash)
+ , m_str(textDimsKey.m_str)
, m_style(DEBUG_NEW STSStyle(*textDimsKey.m_style))
- , m_hash(textDimsKey.m_hash)
{
}
@@ -85,10 +85,10 @@ CPolygonPathKey::CPolygonPathKey(const CStringW& str, double scalex, double scal
}
CPolygonPathKey::CPolygonPathKey(const CPolygonPathKey& polygonPathKey)
- : m_str(polygonPathKey.m_str)
+ : m_hash(polygonPathKey.m_hash)
+ , m_str(polygonPathKey.m_str)
, m_scalex(polygonPathKey.m_scalex)
, m_scaley(polygonPathKey.m_scaley)
- , m_hash(polygonPathKey.m_hash)
{
}
@@ -119,10 +119,10 @@ COutlineKey::COutlineKey(const CWord* word, CPoint org)
COutlineKey::COutlineKey(const COutlineKey& outLineKey)
: CTextDimsKey(outLineKey.m_str, *outLineKey.m_style)
+ , m_hash(outLineKey.m_hash)
, m_scalex(outLineKey.m_scalex)
, m_scaley(outLineKey.m_scaley)
, m_org(outLineKey.m_org)
- , m_hash(outLineKey.m_hash)
{
}
diff --git a/src/Subtitles/RenderingCache.h b/src/Subtitles/RenderingCache.h
index 03d1b70de..218da59da 100644
--- a/src/Subtitles/RenderingCache.h
+++ b/src/Subtitles/RenderingCache.h
@@ -142,9 +142,9 @@ protected:
public:
CEllipseKey(int rx, int ry)
- : m_rx(rx)
- , m_ry(ry)
- , m_hash(ULONG((rx << 16) | (ry& WORD_MAX))) {}
+ : m_hash(ULONG((rx << 16) | (ry & WORD_MAX)))
+ , m_rx(rx)
+ , m_ry(ry) {}
ULONG GetHash() const { return m_hash; };
diff --git a/src/Subtitles/STS.cpp b/src/Subtitles/STS.cpp
index 610e85128..b42845889 100644
--- a/src/Subtitles/STS.cpp
+++ b/src/Subtitles/STS.cpp
@@ -28,7 +28,7 @@
#include <fstream>
#include "USFSubtitles.h"
-#include "../DSUtil/WinAPIUtils.h"
+#include "../DSUtil/PathUtils.h"
static struct htmlcolor {
@@ -1311,7 +1311,7 @@ static bool LoadFont(const CString& font)
CString fn;
fn.Format(_T("%sfont%08lx.ttf"), path, chksum);
- if (!FileExists(fn)) {
+ if (!PathUtils::Exists(fn)) {
CFile f;
if (f.Open(fn, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary | CFile::shareDenyNone)) {
f.Write(pData, datalen);
@@ -1810,17 +1810,17 @@ static int nOpenFuncts = _countof(OpenFuncts);
//
CSimpleTextSubtitle::CSimpleTextSubtitle()
- : m_mode(TIME)
+ : m_lcid(0)
+ , m_subtitleType(Subtitle::SRT)
+ , m_mode(TIME)
+ , m_encoding(CTextFile::DEFAULT_ENCODING)
, m_dstScreenSize(CSize(0, 0))
, m_defaultWrapStyle(0)
, m_collisions(0)
, m_fScaledBAS(false)
- , m_encoding(CTextFile::DEFAULT_ENCODING)
- , m_lcid(0)
+ , m_fUsingAutoGeneratedDefaultStyle(false)
, m_ePARCompensationType(EPCTDisabled)
, m_dPARCompensation(1.0)
- , m_subtitleType(Subtitle::SRT)
- , m_fUsingAutoGeneratedDefaultStyle(false)
{
}
@@ -3143,7 +3143,12 @@ static bool OpenRealText(CTextFile* file, CSimpleTextSubtitle& ret, int CharSet)
continue;
}
- szFile += CStringW(_T("\n")) + buff.GetBuffer();
+ // Make sure that the subtitle file starts with a <window> tag
+ if (szFile.empty() && buff.CompareNoCase(_T("<window")) < 0) {
+ return false;
+ }
+
+ szFile += _T("\n") + buff;
}
CRealTextParser RealTextParser;
diff --git a/src/Subtitles/STS.h b/src/Subtitles/STS.h
index ad3614d39..cd9bdf635 100644
--- a/src/Subtitles/STS.h
+++ b/src/Subtitles/STS.h
@@ -174,7 +174,7 @@ public:
bool Open(CString fn, int CharSet, CString name = _T(""), CString videoName = _T(""));
bool Open(CTextFile* f, int CharSet, CString name);
bool Open(BYTE* data, int len, int CharSet, CString name);
- bool SaveAs(CString fn, Subtitle::SubType type, double fps = -1, int delay = 0, CTextFile::enc = CTextFile::DEFAULT_ENCODING, bool bCreateExternalStyleFile = true);
+ bool SaveAs(CString fn, Subtitle::SubType type, double fps = -1, int delay = 0, CTextFile::enc e = CTextFile::DEFAULT_ENCODING, bool bCreateExternalStyleFile = true);
void Add(CStringW str, bool fUnicode, int start, int end, CString style = _T("Default"), CString actor = _T(""), CString effect = _T(""), const CRect& marginRect = CRect(0, 0, 0, 0), int layer = 0, int readorder = -1);
STSStyle* CreateDefaultStyle(int CharSet);
diff --git a/src/Subtitles/Subtitles.vcxproj b/src/Subtitles/Subtitles.vcxproj
index 6ddea0283..2bf9badf4 100644
--- a/src/Subtitles/Subtitles.vcxproj
+++ b/src/Subtitles/Subtitles.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\include;..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/Subtitles/VobSubFile.cpp b/src/Subtitles/VobSubFile.cpp
index 5ec54897c..abc82c221 100644
--- a/src/Subtitles/VobSubFile.cpp
+++ b/src/Subtitles/VobSubFile.cpp
@@ -32,7 +32,7 @@
#include "unrar/dll.hpp"
#endif
#include "RTS.h"
-#include "../DSUtil/WinAPIUtils.h"
+#include "../DSUtil/PathUtils.h"
//
@@ -1459,7 +1459,7 @@ STDMETHODIMP CVobSubFile::SetStream(int iStream)
STDMETHODIMP CVobSubFile::Reload()
{
- if (!FileExists(m_title + _T(".idx"))) {
+ if (!PathUtils::Exists(m_title + _T(".idx"))) {
return E_FAIL;
}
return !m_title.IsEmpty() && Open(m_title) ? S_OK : E_FAIL;
diff --git a/src/Subtitles/VobSubImage.cpp b/src/Subtitles/VobSubImage.cpp
index e0582b203..f00fb2b4e 100644
--- a/src/Subtitles/VobSubImage.cpp
+++ b/src/Subtitles/VobSubImage.cpp
@@ -26,24 +26,24 @@
#include <algorithm>
CVobSubImage::CVobSubImage()
- : nLang(SIZE_T_ERROR)
- , nIdx(SIZE_T_ERROR)
- , bForced(false)
- , bAnimated(false)
- , tCurrent(-1)
- , start(0)
- , delay(0)
- , rect(CRect(0, 0, 0, 0))
- , lpPixels(nullptr)
+ : org(CSize(0, 0))
, lpTemp1(nullptr)
, lpTemp2(nullptr)
- , org(CSize(0, 0))
, nPlane(0)
, bCustomPal(false)
, bAligned(true)
, tridx(0)
, orgpal(nullptr)
, cuspal(nullptr)
+ , nLang(SIZE_T_ERROR)
+ , nIdx(SIZE_T_ERROR)
+ , bForced(false)
+ , bAnimated(false)
+ , tCurrent(-1)
+ , start(0)
+ , delay(0)
+ , rect(CRect(0, 0, 0, 0))
+ , lpPixels(nullptr)
{
ZeroMemory(&pal, sizeof(pal));
}
diff --git a/src/common-3rd-party.props b/src/common-3rd-party.props
new file mode 100644
index 000000000..a13bbd2bd
--- /dev/null
+++ b/src/common-3rd-party.props
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <EnablePREfast>false</EnablePREfast>
+ <WarningLevel>TurnOffAllWarnings</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+</Project> \ No newline at end of file
diff --git a/src/common.props b/src/common.props
index 3c0604aa8..9c92797f0 100644
--- a/src/common.props
+++ b/src/common.props
@@ -12,7 +12,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalOptions>/w34701 /w34706 /d2Zi+ %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions>/w34701 /w34706 /d2Zi+ /Zc:rvalueCast %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions Condition="'$(ANALYZE)'=='true'">/wd4005 /wd6031 /wd6246 /wd6309 /wd6387 /wd28204 %(AdditionalOptions)</AdditionalOptions>
<EnablePREfast Condition="'$(ANALYZE)'=='true'">true</EnablePREfast>
<BufferSecurityCheck>true</BufferSecurityCheck>
@@ -64,6 +64,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='Release Filter' Or '$(Configuration)'=='Release Lite'">
<ClCompile>
+ <AdditionalOptions>/Zc:inline %(AdditionalOptions)</AdditionalOptions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<EnableEnhancedInstructionSet Condition="'$(Platform)'=='Win32'">StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
diff --git a/src/filters/Filters.vcxproj b/src/filters/Filters.vcxproj
index 1c82afa6b..46093bfeb 100644
--- a/src/filters/Filters.vcxproj
+++ b/src/filters/Filters.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
index ee23c91d5..f4542f274 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
+++ b/src/filters/muxer/BaseMuxer/BaseMuxer.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp b/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
index 616dce32e..8cb244c52 100644
--- a/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
+++ b/src/filters/muxer/BaseMuxer/BaseMuxerInputPin.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -35,11 +35,11 @@
CBaseMuxerInputPin::CBaseMuxerInputPin(LPCWSTR pName, CBaseFilter* pFilter, CCritSec* pLock, HRESULT* phr)
: CBaseInputPin(NAME("CBaseMuxerInputPin"), pFilter, pLock, phr, pName)
+ , m_rtMaxStart(_I64_MIN)
, m_rtDuration(0)
- , m_evAcceptPacket(TRUE)
- , m_iPacketIndex(0)
, m_fEOS(false)
- , m_rtMaxStart(_I64_MIN)
+ , m_iPacketIndex(0)
+ , m_evAcceptPacket(TRUE)
{
static int s_iID = 0;
m_iID = s_iID++;
diff --git a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
index 58ffdaf19..de5e64c68 100644
--- a/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
+++ b/src/filters/muxer/MatroskaMuxer/MatroskaMuxer.cpp
@@ -718,10 +718,10 @@ DWORD CMatroskaMuxerFilter::ThreadProc()
CMatroskaMuxerInputPin::CMatroskaMuxerInputPin(LPCWSTR pName, CBaseFilter* pFilter, CCritSec* pLock, HRESULT* phr)
: CBaseInputPin(NAME("CMatroskaMuxerInputPin"), pFilter, pLock, phr, pName)
, m_fActive(false)
- , m_fEndOfStreamReceived(false)
- , m_rtDur(0)
, m_rtLastStart(0)
, m_rtLastStop(0)
+ , m_rtDur(0)
+ , m_fEndOfStreamReceived(false)
{
}
@@ -740,7 +740,7 @@ STDMETHODIMP CMatroskaMuxerInputPin::NonDelegatingQueryInterface(REFIID riid, vo
HRESULT CMatroskaMuxerInputPin::CheckMediaType(const CMediaType* pmt)
{
return pmt->majortype == MEDIATYPE_Video && (pmt->formattype == FORMAT_VideoInfo
- || pmt->formattype == FORMAT_VideoInfo2)
+ || pmt->formattype == FORMAT_VideoInfo2)
// || pmt->majortype == MEDIATYPE_Video && pmt->subtype == MEDIASUBTYPE_MPEG1Payload && pmt->formattype == FORMAT_MPEGVideo
// || pmt->majortype == MEDIATYPE_Video && pmt->subtype == MEDIASUBTYPE_MPEG2_VIDEO && pmt->formattype == FORMAT_MPEG2_VIDEO
|| pmt->majortype == MEDIATYPE_Video && pmt->subtype == MEDIASUBTYPE_DiracVideo && pmt->formattype == FORMAT_DiracVideoInfo
@@ -748,11 +748,11 @@ HRESULT CMatroskaMuxerInputPin::CheckMediaType(const CMediaType* pmt)
|| pmt->majortype == MEDIATYPE_Audio && pmt->subtype == MEDIASUBTYPE_Vorbis && pmt->formattype == FORMAT_VorbisFormat
|| pmt->majortype == MEDIATYPE_Audio && pmt->subtype == MEDIASUBTYPE_Vorbis2 && pmt->formattype == FORMAT_VorbisFormat2
|| pmt->majortype == MEDIATYPE_Audio && (pmt->subtype == MEDIASUBTYPE_14_4
- || pmt->subtype == MEDIASUBTYPE_28_8
- || pmt->subtype == MEDIASUBTYPE_ATRC
- || pmt->subtype == MEDIASUBTYPE_COOK
- || pmt->subtype == MEDIASUBTYPE_DNET
- || pmt->subtype == MEDIASUBTYPE_SIPR) && pmt->formattype == FORMAT_WaveFormatEx
+ || pmt->subtype == MEDIASUBTYPE_28_8
+ || pmt->subtype == MEDIASUBTYPE_ATRC
+ || pmt->subtype == MEDIASUBTYPE_COOK
+ || pmt->subtype == MEDIASUBTYPE_DNET
+ || pmt->subtype == MEDIASUBTYPE_SIPR) && pmt->formattype == FORMAT_WaveFormatEx
|| pmt->majortype == MEDIATYPE_Text && pmt->subtype == MEDIASUBTYPE_NULL && pmt->formattype == FORMAT_None
|| pmt->majortype == MEDIATYPE_Subtitle && pmt->formattype == FORMAT_SubtitleInfo
? S_OK
diff --git a/src/filters/muxer/WavDest/WavDest.cpp b/src/filters/muxer/WavDest/WavDest.cpp
index 1c8f29a2f..181b5cd47 100644
--- a/src/filters/muxer/WavDest/WavDest.cpp
+++ b/src/filters/muxer/WavDest/WavDest.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -72,8 +72,8 @@ CFilterApp theApp;
CWavDestFilter::CWavDestFilter(LPUNKNOWN pUnk, HRESULT* phr)
: CTransformFilter(NAME("WavDest filter"), pUnk, __uuidof(this))
- , m_cbHeader(0)
, m_cbWavData(0)
+ , m_cbHeader(0)
{
if (CWavDestOutputPin* pOut = DEBUG_NEW CWavDestOutputPin(this, phr)) {
if (SUCCEEDED(*phr)) {
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.cpp b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
index 9a09a375c..a16b45bd4 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.cpp
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
@@ -773,17 +773,20 @@ STDMETHODIMP CBaseSplitterOutputPin::GetPreroll(LONGLONG* pllPreroll)
CBaseSplitterFilter::CBaseSplitterFilter(LPCTSTR pName, LPUNKNOWN pUnk, HRESULT* phr, const CLSID& clsid, int QueueMaxPackets)
: CBaseFilter(pName, pUnk, this, clsid)
- , m_rtDuration(0), m_rtStart(0), m_rtStop(0), m_rtCurrent(0)
- , m_dRate(1.0)
, m_nOpenProgress(100)
, m_fAbort(false)
- , m_rtLastStart(_I64_MIN)
- , m_rtLastStop(_I64_MIN)
- , m_priority(THREAD_PRIORITY_NORMAL)
- , m_QueueMaxPackets(QueueMaxPackets)
+ , m_rtDuration(0)
+ , m_rtStart(0)
+ , m_rtStop(0)
+ , m_rtCurrent(0)
, m_rtNewStart(0)
, m_rtNewStop(0)
+ , m_dRate(1.0)
, m_fFlushing(false)
+ , m_priority(THREAD_PRIORITY_NORMAL)
+ , m_QueueMaxPackets(QueueMaxPackets)
+ , m_rtLastStart(_I64_MIN)
+ , m_rtLastStop(_I64_MIN)
{
if (phr) {
*phr = S_OK;
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.h b/src/filters/parser/BaseSplitter/BaseSplitter.h
index 55eaba8da..005737029 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.h
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.h
@@ -45,13 +45,13 @@ public:
REFERENCE_TIME rtStart, rtStop;
AM_MEDIA_TYPE* pmt;
Packet()
- : pmt(nullptr)
+ : TrackNumber(0)
, bDiscontinuity(FALSE)
- , bAppendable(FALSE)
, bSyncPoint(FALSE)
- , TrackNumber(0)
+ , bAppendable(FALSE)
, rtStart(0)
- , rtStop(0) {
+ , rtStop(0)
+ , pmt(nullptr) {
}
virtual ~Packet() {
if (pmt) {
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
index e80062ad0..6379507e8 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/parser/BaseSplitter/BaseSplitterFile.cpp b/src/filters/parser/BaseSplitter/BaseSplitterFile.cpp
index 8536e4d8c..f549c0aa6 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitterFile.cpp
+++ b/src/filters/parser/BaseSplitter/BaseSplitterFile.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,15 +29,15 @@
CBaseSplitterFile::CBaseSplitterFile(IAsyncReader* pAsyncReader, HRESULT& hr, int cachelen, bool fRandomAccess, bool fStreaming)
: m_pAsyncReader(pAsyncReader)
+ , m_cachepos(0)
+ , m_cachelen(0)
+ , m_cachetotal(0)
, m_fStreaming(false)
, m_fRandomAccess(false)
, m_pos(0)
, m_len(0)
, m_bitbuff(0)
, m_bitlen(0)
- , m_cachepos(0)
- , m_cachelen(0)
- , m_cachetotal(0)
{
if (!m_pAsyncReader) {
hr = E_UNEXPECTED;
diff --git a/src/filters/parser/BaseSplitter/MultiFiles.cpp b/src/filters/parser/BaseSplitter/MultiFiles.cpp
index 1e263c150..d422f85ff 100644
--- a/src/filters/parser/BaseSplitter/MultiFiles.cpp
+++ b/src/filters/parser/BaseSplitter/MultiFiles.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,10 +26,10 @@
IMPLEMENT_DYNAMIC(CMultiFiles, CObject)
CMultiFiles::CMultiFiles()
- : m_hFile(INVALID_HANDLE_VALUE)
- , m_llTotalLength(0)
+ : m_pCurrentPTSOffset(nullptr)
+ , m_hFile(INVALID_HANDLE_VALUE)
, m_nCurPart(-1)
- , m_pCurrentPTSOffset(nullptr)
+ , m_llTotalLength(0)
{
}
diff --git a/src/filters/reader/CDDAReader/CDDAReader.cpp b/src/filters/reader/CDDAReader/CDDAReader.cpp
index d24cc850d..bf7182e85 100644
--- a/src/filters/reader/CDDAReader/CDDAReader.cpp
+++ b/src/filters/reader/CDDAReader/CDDAReader.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -334,89 +334,88 @@ bool CCDDAStream::Load(const WCHAR* fnw)
m_header.frm.pcm.wf.nChannels = 4;
}
- m_nStartSector = MSF2UINT(m_TOC.TrackData[iTrackIndex - 1].Address) - 150; //MSF2UINT(m_TOC.TrackData[0].Address);
- m_nStopSector = MSF2UINT(m_TOC.TrackData[iTrackIndex].Address) - 150;//MSF2UINT(m_TOC.TrackData[0].Address);
+ m_nStartSector = MSF2UINT(m_TOC.TrackData[iTrackIndex - 1].Address) - 150;
+ m_nStopSector = MSF2UINT(m_TOC.TrackData[iTrackIndex].Address) - 150;
m_llLength = LONGLONG(m_nStopSector - m_nStartSector) * RAW_SECTOR_SIZE;
m_header.riff.hdr.chunkSize = (long)(m_llLength + sizeof(m_header) - 8);
m_header.data.hdr.chunkSize = (long)(m_llLength);
- do {
- CDROM_READ_TOC_EX TOCEx;
- ZeroMemory(&TOCEx, sizeof(TOCEx));
- TOCEx.Format = CDROM_READ_TOC_EX_FORMAT_CDTEXT;
- TOCEx.SessionTrack = iTrackIndex;
- WORD size = 0;
- ASSERT(MINIMUM_CDROM_READ_TOC_EX_SIZE == sizeof(size));
- if (!DeviceIoControl(m_hDrive, IOCTL_CDROM_READ_TOC_EX, &TOCEx, sizeof(TOCEx), &size, sizeof(size), &BytesReturned, 0)) {
- break;
- }
+ CDROM_READ_TOC_EX TOCEx;
+ ZeroMemory(&TOCEx, sizeof(TOCEx));
+ TOCEx.Format = CDROM_READ_TOC_EX_FORMAT_CDTEXT;
+ BYTE header[4] = { 0 };
+ static_assert(sizeof(header) >= MINIMUM_CDROM_READ_TOC_EX_SIZE, "sizeof(header) must be greater or equal to MINIMUM_CDROM_READ_TOC_EX_SIZE");
+ if (!DeviceIoControl(m_hDrive, IOCTL_CDROM_READ_TOC_EX, &TOCEx, sizeof(TOCEx), header, sizeof(header), &BytesReturned, 0)) {
+ return true;
+ }
- size = _byteswap_ushort(size) + sizeof(size);
+ DWORD size = 2 + (WORD(header[0]) << 8) + header[1];
+ if (size <= 4) { // No cd-text information
+ return true;
+ }
- CAutoVectorPtr<BYTE> pCDTextData;
- if (!pCDTextData.Allocate(size)) {
- break;
- }
- ZeroMemory(pCDTextData, size);
+ CAutoVectorPtr<BYTE> pCDTextData;
+ if (!pCDTextData.Allocate(size)) {
+ return true;
+ }
+ ZeroMemory(pCDTextData, size);
- if (!DeviceIoControl(m_hDrive, IOCTL_CDROM_READ_TOC_EX, &TOCEx, sizeof(TOCEx), pCDTextData, size, &BytesReturned, 0)) {
- break;
- }
+ if (!DeviceIoControl(m_hDrive, IOCTL_CDROM_READ_TOC_EX, &TOCEx, sizeof(TOCEx), pCDTextData, size, &BytesReturned, 0)) {
+ return true;
+ }
- size = (WORD)(BytesReturned - sizeof(CDROM_TOC_CD_TEXT_DATA));
- CDROM_TOC_CD_TEXT_DATA_BLOCK* pDesc = ((CDROM_TOC_CD_TEXT_DATA*)(BYTE*)pCDTextData)->Descriptors;
+ size = (WORD)(BytesReturned - sizeof(CDROM_TOC_CD_TEXT_DATA));
+ CDROM_TOC_CD_TEXT_DATA_BLOCK* pDesc = ((CDROM_TOC_CD_TEXT_DATA*)(BYTE*)pCDTextData)->Descriptors;
- CStringArray str[16];
- for (int i = 0; i < _countof(str); i++) {
- str[i].SetSize(1 + m_TOC.LastTrack);
- }
- CString last;
+ CStringArray str[16];
+ for (int i = 0; i < _countof(str); i++) {
+ str[i].SetSize(1 + m_TOC.LastTrack);
+ }
+ CString last;
- for (int i = 0; size >= sizeof(CDROM_TOC_CD_TEXT_DATA_BLOCK); i++, size -= sizeof(CDROM_TOC_CD_TEXT_DATA_BLOCK), pDesc++) {
- if (pDesc->TrackNumber > m_TOC.LastTrack) {
- continue;
- }
+ for (int i = 0; size >= sizeof(CDROM_TOC_CD_TEXT_DATA_BLOCK); i++, size -= sizeof(CDROM_TOC_CD_TEXT_DATA_BLOCK), pDesc++) {
+ if (pDesc->TrackNumber > m_TOC.LastTrack) {
+ continue;
+ }
- const int lenU = _countof(pDesc->Text);
- const int lenW = _countof(pDesc->WText);
+ const int lenU = _countof(pDesc->Text);
+ const int lenW = _countof(pDesc->WText);
- CString text = !pDesc->Unicode
- ? CString(CStringA((CHAR*)pDesc->Text, lenU))
- : CString(CStringW((WCHAR*)pDesc->WText, lenW));
+ CString text = !pDesc->Unicode
+ ? CString(CStringA((CHAR*)pDesc->Text, lenU))
+ : CString(CStringW((WCHAR*)pDesc->WText, lenW));
- int tlen = text.GetLength();
- CString tmp = (tlen < 12 - 1)
- ? (!pDesc->Unicode
- ? CString(CStringA((CHAR*)pDesc->Text + tlen + 1, lenU - (tlen + 1)))
- : CString(CStringW((WCHAR*)pDesc->WText + tlen + 1, lenW - (tlen + 1))))
- : _T("");
+ int tlen = text.GetLength();
+ CString tmp = (tlen < 12 - 1)
+ ? (!pDesc->Unicode
+ ? CString(CStringA((CHAR*)pDesc->Text + tlen + 1, lenU - (tlen + 1)))
+ : CString(CStringW((WCHAR*)pDesc->WText + tlen + 1, lenW - (tlen + 1))))
+ : _T("");
- if (pDesc->PackType < 0x80 || pDesc->PackType >= 0x80 + 0x10) {
- continue;
- }
- pDesc->PackType -= 0x80;
-
- if (pDesc->CharacterPosition == 0) {
- str[pDesc->PackType][pDesc->TrackNumber] = text;
- } else { // pDesc->CharacterPosition <= 0xf since CharacterPosition is a 4-bit field
- if (pDesc->CharacterPosition < 0xf && !last.IsEmpty()) {
- str[pDesc->PackType][pDesc->TrackNumber] = last + text;
- } else {
- str[pDesc->PackType][pDesc->TrackNumber] += text;
- }
+ if (pDesc->PackType < 0x80 || pDesc->PackType >= 0x80 + 0x10) {
+ continue;
+ }
+ pDesc->PackType -= 0x80;
+
+ if (pDesc->CharacterPosition == 0) {
+ str[pDesc->PackType][pDesc->TrackNumber] = text;
+ } else { // pDesc->CharacterPosition <= 0xf since CharacterPosition is a 4-bit field
+ if (pDesc->CharacterPosition < 0xf && !last.IsEmpty()) {
+ str[pDesc->PackType][pDesc->TrackNumber] = last + text;
+ } else {
+ str[pDesc->PackType][pDesc->TrackNumber] += text;
}
-
- last = tmp;
}
- m_discTitle = str[0][0];
- m_trackTitle = str[0][iTrackIndex];
- m_discArtist = str[1][0];
- m_trackArtist = str[1][iTrackIndex];
- } while (0);
+ last = tmp;
+ }
+ m_discTitle = str[0][0];
+ m_trackTitle = str[0][iTrackIndex];
+ m_discArtist = str[1][0];
+ m_trackArtist = str[1][iTrackIndex];
return true;
}
@@ -434,11 +433,9 @@ HRESULT CCDDAStream::Read(PBYTE pbBuffer, DWORD dwBytesToRead, BOOL bAlign, LPDW
{
CAutoLock lck(&m_csLock);
- BYTE buff[RAW_SECTOR_SIZE];
-
PBYTE pbBufferOrg = pbBuffer;
LONGLONG pos = m_llPosition;
- size_t len = (size_t)dwBytesToRead;
+ size_t len = dwBytesToRead;
if (pos < sizeof(m_header) && len > 0) {
size_t l = std::min(len, size_t(sizeof(m_header) - pos));
@@ -452,23 +449,27 @@ HRESULT CCDDAStream::Read(PBYTE pbBuffer, DWORD dwBytesToRead, BOOL bAlign, LPDW
while (pos >= 0 && pos < m_llLength && len > 0) {
RAW_READ_INFO rawreadinfo;
- rawreadinfo.SectorCount = 1;
rawreadinfo.TrackMode = CDDA;
- UINT sector = m_nStartSector + int(pos / RAW_SECTOR_SIZE);
- __int64 offset = pos % RAW_SECTOR_SIZE;
+ UINT sector = m_nStartSector + UINT(pos / RAW_SECTOR_SIZE);
+ UINT offset = pos % RAW_SECTOR_SIZE;
+
+ // Reading 20 sectors at once seems to be a good trade-off between performance and compatibility
+ rawreadinfo.SectorCount = std::min(20u, m_nStopSector - sector);
+
+ if (m_buff.size() < rawreadinfo.SectorCount * RAW_SECTOR_SIZE) {
+ m_buff.resize(rawreadinfo.SectorCount * RAW_SECTOR_SIZE);
+ }
rawreadinfo.DiskOffset.QuadPart = sector * 2048;
- DWORD BytesReturned = 0;
- BOOL b = DeviceIoControl(
- m_hDrive, IOCTL_CDROM_RAW_READ,
- &rawreadinfo, sizeof(rawreadinfo),
- buff, RAW_SECTOR_SIZE,
- &BytesReturned, 0);
- UNREFERENCED_PARAMETER(b);
-
- size_t l = (size_t)std::min(std::min(len, size_t(RAW_SECTOR_SIZE - offset)), size_t(m_llLength - pos));
- memcpy(pbBuffer, &buff[offset], l);
+ DWORD dwBytesReturned = 0;
+ VERIFY(DeviceIoControl(m_hDrive, IOCTL_CDROM_RAW_READ,
+ &rawreadinfo, sizeof(rawreadinfo),
+ m_buff.data(), (DWORD)m_buff.size(),
+ &dwBytesReturned, 0));
+
+ size_t l = std::min(std::min(len, m_buff.size() - offset), size_t(m_llLength - pos));
+ memcpy(pbBuffer, &m_buff[offset], l);
pbBuffer += l;
pos += l;
diff --git a/src/filters/reader/CDDAReader/CDDAReader.h b/src/filters/reader/CDDAReader/CDDAReader.h
index 6ddaed990..4f5a2e04b 100644
--- a/src/filters/reader/CDDAReader/CDDAReader.h
+++ b/src/filters/reader/CDDAReader/CDDAReader.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,6 +21,7 @@
#pragma once
+#include <vector>
#include <atlbase.h>
#include "winddk/devioctl.h"
#include "winddk/ntddcdrm.h"
@@ -72,6 +73,7 @@ private:
WAVEChunck m_header;
+ std::vector<BYTE> m_buff;
public:
CCDDAStream();
virtual ~CCDDAStream();
diff --git a/src/filters/renderer/MpcAudioRenderer/MpcAudioRenderer.cpp b/src/filters/renderer/MpcAudioRenderer/MpcAudioRenderer.cpp
index 432b2a5fc..6d7498e21 100644
--- a/src/filters/renderer/MpcAudioRenderer/MpcAudioRenderer.cpp
+++ b/src/filters/renderer/MpcAudioRenderer/MpcAudioRenderer.cpp
@@ -90,28 +90,27 @@ bool CALLBACK DSEnumProc2(LPGUID lpGUID,
CMpcAudioRenderer::CMpcAudioRenderer(LPUNKNOWN punk, HRESULT* phr)
: CBaseRenderer(__uuidof(this), MpcAudioRendererName, punk, phr)
- , m_pDSBuffer(nullptr)
- , m_pSoundTouch(nullptr)
, m_pDS(nullptr)
+ , m_pDSBuffer(nullptr)
, m_dwDSWriteOff(0)
+ , m_pWaveFileFormat(nullptr)
, m_nDSBufSize(0)
- , m_dRate(1.0)
, m_pReferenceClock(nullptr)
- , m_pWaveFileFormat(nullptr)
+ , m_dRate(1.0)
+ , m_lVolume(DSBVOLUME_MIN)
+ , m_pSoundTouch(nullptr)
+ , m_useWASAPI(true)
+ , m_bMuteFastForward(false)
, m_pMMDevice(nullptr)
, m_pAudioClient(nullptr)
, m_pRenderClient(nullptr)
- , m_useWASAPI(true)
- , m_bMuteFastForward(false)
- , m_csSound_Device(_T(""))
, m_nFramesInBuffer(0)
, m_hnsPeriod(0)
+ , m_hnsActualDuration(0)
, m_hTask(nullptr)
, m_bufferSize(0)
, m_isAudioClientStarted(false)
, m_lastBufferTime(0)
- , m_hnsActualDuration(0)
- , m_lVolume(DSBVOLUME_MIN)
, m_pfAvSetMmThreadCharacteristicsW(nullptr)
, m_pfAvRevertMmThreadCharacteristics(nullptr)
{
@@ -1195,9 +1194,8 @@ HRESULT CMpcAudioRenderer::GetBufferSize(WAVEFORMATEX* pWaveFormatEx, REFERENCE_
return S_OK;
}
- *pHnsBufferPeriod = (REFERENCE_TIME)((REFERENCE_TIME)m_bufferSize * 10000 * 8 / ((REFERENCE_TIME)pWaveFormatEx->nChannels * pWaveFormatEx->wBitsPerSample *
- 1.0 * pWaveFormatEx->nSamplesPerSec) /*+ 0.5*/);
- *pHnsBufferPeriod *= 1000;
+ const double dBitrate = (double)pWaveFormatEx->nChannels * pWaveFormatEx->wBitsPerSample * pWaveFormatEx->nSamplesPerSec;
+ *pHnsBufferPeriod = REFERENCE_TIME(m_bufferSize * 10000000i64 * 8 / dBitrate);
TRACE(_T("CMpcAudioRenderer::GetBufferSize set a %I64d period for a %ld buffer size\n"), *pHnsBufferPeriod, m_bufferSize);
diff --git a/src/filters/renderer/SyncClock/SyncClock.cpp b/src/filters/renderer/SyncClock/SyncClock.cpp
index ff4406f32..6b2356c0c 100644
--- a/src/filters/renderer/SyncClock/SyncClock.cpp
+++ b/src/filters/renderer/SyncClock/SyncClock.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2010-2013 see Authors.txt
+ * (C) 2010-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -82,13 +82,13 @@ CBasePin* CSyncClockFilter::GetPin(int i)
// CSyncClock methods
CSyncClock::CSyncClock(LPUNKNOWN pUnk, HRESULT* phr)
: CBaseReferenceClock(NAME("SyncClock"), pUnk, phr)
- , m_pCurrentRefClock(0)
- , m_pPrevRefClock(0)
- , m_rtPrivateTime(GetTicks100ns())
- , m_rtPrevTime(m_rtPrivateTime)
, adjustment(1.0)
, bias(1.0)
+ , m_rtPrivateTime(GetTicks100ns())
, m_llPerfFrequency(0)
+ , m_rtPrevTime(m_rtPrivateTime)
+ , m_pCurrentRefClock(0)
+ , m_pPrevRefClock(0)
{
QueryPerformanceFrequency((LARGE_INTEGER*)&m_llPerfFrequency);
}
diff --git a/src/filters/renderer/SyncClock/SyncClock.vcxproj b/src/filters/renderer/SyncClock/SyncClock.vcxproj
index e2fc21f68..131e1b69e 100644
--- a/src/filters/renderer/SyncClock/SyncClock.vcxproj
+++ b/src/filters/renderer/SyncClock/SyncClock.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/renderer/VideoRenderers/D3DFont.cpp b/src/filters/renderer/VideoRenderers/D3DFont.cpp
index d9ca233ec..406a3ea15 100644
--- a/src/filters/renderer/VideoRenderers/D3DFont.cpp
+++ b/src/filters/renderer/VideoRenderers/D3DFont.cpp
@@ -356,8 +356,8 @@ HRESULT CD3DFont::RestoreDeviceObjects()
// Create vertex buffer for the letters
UINT vertexSize = std::max<UINT>(sizeof(FONT2DVERTEX), sizeof(FONT3DVERTEX));
if (FAILED(hr = m_pd3dDevice->CreateVertexBuffer(MAX_NUM_VERTICES * vertexSize,
- D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, 0,
- D3DPOOL_DEFAULT, &m_pVB, nullptr))) {
+ D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, 0,
+ D3DPOOL_DEFAULT, &m_pVB, nullptr))) {
return hr;
}
diff --git a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp
index 6790d7e0c..f13c1a472 100644
--- a/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/DX7AllocatorPresenter.cpp
@@ -253,6 +253,8 @@ HRESULT CDX7AllocatorPresenter::AllocSurfaces()
{
CAutoLock cAutoLock(this);
+ CheckPointer(m_pDD, E_POINTER);
+
const CRenderersSettings& r = GetRenderersSettings();
m_pVideoTexture = nullptr;
@@ -347,42 +349,37 @@ STDMETHODIMP_(bool) CDX7AllocatorPresenter::Paint(bool bAll)
CRect rSrcPri(CPoint(0, 0), m_windowRect.Size());
CRect rDstPri(m_windowRect);
- if (bAll) {
- // clear the backbuffer
-
- CRect rl(0, 0, rDstVid.left, rSrcPri.bottom);
- CRect rr(rDstVid.right, 0, rSrcPri.right, rSrcPri.bottom);
- CRect rt(0, 0, rSrcPri.right, rDstVid.top);
- CRect rb(0, rDstVid.bottom, rSrcPri.right, rSrcPri.bottom);
-
- DDBLTFX fx;
- INITDDSTRUCT(fx);
- fx.dwFillColor = 0;
- hr = m_pBackBuffer->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
-
- // paint the video on the backbuffer
-
- if (!rDstVid.IsRectEmpty()) {
- if (m_pVideoTexture) {
- Vector v[4];
- Transform(rDstVid, v);
- hr = TextureBlt(m_pD3DDev, m_pVideoTexture, v, rSrcVid);
- } else {
- hr = m_pBackBuffer->Blt(rDstVid, m_pVideoSurface, rSrcVid, DDBLT_WAIT, nullptr);
- }
- }
+ // clear the backbuffer
+ CRect rl(0, 0, rDstVid.left, rSrcPri.bottom);
+ CRect rr(rDstVid.right, 0, rSrcPri.right, rSrcPri.bottom);
+ CRect rt(0, 0, rSrcPri.right, rDstVid.top);
+ CRect rb(0, rDstVid.bottom, rSrcPri.right, rSrcPri.bottom);
- // paint the text on the backbuffer
-
- AlphaBltSubPic(rDstPri, rDstVid);
+ DDBLTFX fx;
+ INITDDSTRUCT(fx);
+ fx.dwFillColor = 0;
+ hr = m_pBackBuffer->Blt(nullptr, nullptr, nullptr, DDBLT_WAIT | DDBLT_COLORFILL, &fx);
+
+ // paint the video on the backbuffer
+ if (!rDstVid.IsRectEmpty()) {
+ if (m_pVideoTexture) {
+ Vector v[4];
+ Transform(rDstVid, v);
+ hr = TextureBlt(m_pD3DDev, m_pVideoTexture, v, rSrcVid);
+ } else {
+ hr = m_pBackBuffer->Blt(rDstVid, m_pVideoSurface, rSrcVid, DDBLT_WAIT, nullptr);
+ }
}
- // wait vsync
+ // paint the text on the backbuffer
+ AlphaBltSubPic(rDstPri, rDstVid);
- m_pDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, nullptr);
+ // wait vsync
+ if (bAll) {
+ m_pDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, nullptr);
+ }
// blt to the primary surface
-
MapWindowRect(m_hWnd, HWND_DESKTOP, &rDstPri);
hr = m_pPrimary->Blt(rDstPri, m_pBackBuffer, rSrcPri, DDBLT_WAIT, nullptr);
@@ -428,11 +425,20 @@ STDMETHODIMP CDX7AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
{
CheckPointer(size, E_POINTER);
+ // Keep a reference so that we can safely work on the surface
+ // without having to lock everything
+ CComPtr<IDirectDrawSurface7> pVideoSurface;
+ {
+ CAutoLock cAutoLock(this);
+ CheckPointer(m_pVideoSurface, E_FAIL);
+ pVideoSurface = m_pVideoSurface;
+ }
+
HRESULT hr;
DDSURFACEDESC2 ddsd;
INITDDSTRUCT(ddsd);
- if (FAILED(m_pVideoSurface->GetSurfaceDesc(&ddsd))) {
+ if (FAILED(pVideoSurface->GetSurfaceDesc(&ddsd))) {
return E_FAIL;
}
@@ -451,8 +457,7 @@ STDMETHODIMP CDX7AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
*size = required;
INITDDSTRUCT(ddsd);
- if (FAILED(hr = m_pVideoSurface->Lock(nullptr, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_READONLY | DDLOCK_NOSYSLOCK, nullptr))) {
- // TODO
+ if (FAILED(hr = pVideoSurface->Lock(nullptr, &ddsd, DDLOCK_WAIT | DDLOCK_SURFACEMEMORYPTR | DDLOCK_READONLY | DDLOCK_NOSYSLOCK, nullptr))) {
return hr;
}
@@ -465,22 +470,11 @@ STDMETHODIMP CDX7AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
bih->biPlanes = 1;
bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
- BitBltFromRGBToRGB(
- bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)ddsd.lpSurface + ddsd.lPitch * (ddsd.dwHeight - 1), -(int)ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount);
+ BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
+ (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
+ (BYTE*)ddsd.lpSurface + ddsd.lPitch * (ddsd.dwHeight - 1), -(int)ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount);
- m_pVideoSurface->Unlock(nullptr);
-
- /*
- BitBltFromRGBToRGB(
- w, h,
- (BYTE*)ddsd.lpSurface, ddsd.lPitch, ddsd.ddpfPixelFormat.dwRGBBitCount,
- (BYTE*)bm.bmBits, bm.bmWidthBytes, bm.bmBitsPixel);
- m_pVideoSurfaceOff->Unlock(nullptr);
- fOk = true;
- }
- */
+ pVideoSurface->Unlock(nullptr);
return S_OK;
}
diff --git a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
index d036648c2..4a1bb1da5 100644
--- a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -55,9 +55,21 @@ CDX9AllocatorPresenter::CDX9AllocatorPresenter(HWND hWnd, bool bFullscreen, HRES
, m_bIsFullscreen(bFullscreen)
, m_bNeedCheckSample(true)
, m_MainThreadId(0)
+ , m_bIsRendering(false)
+ , m_hDWMAPI(nullptr)
+ , m_hD3D9(nullptr)
+ , m_pDwmIsCompositionEnabled(nullptr)
+ , m_pDwmEnableComposition(nullptr)
+ , m_pDirect3DCreate9Ex(nullptr)
+ , m_pDirectDraw(nullptr)
, m_LastAdapterCheck(0)
, m_nTearingPos(0)
, m_VMR9AlphaBitmapWidthBytes(0)
+ , m_pD3DXLoadSurfaceFromMemory(nullptr)
+ , m_pD3DXLoadSurfaceFromSurface(nullptr)
+ , m_pD3DXCreateLine(nullptr)
+ , m_pD3DXCreateFont(nullptr)
+ , m_pD3DXCreateSprite(nullptr)
, m_nVMR9Surfaces(0)
, m_iVMR9Surface(0)
, m_nUsedBuffer(0)
@@ -132,18 +144,6 @@ CDX9AllocatorPresenter::CDX9AllocatorPresenter(HWND hWnd, bool bFullscreen, HRES
, m_LastFrameDuration(0)
, m_LastSampleTime(0)
, m_FocusThread(nullptr)
- , m_pDirectDraw(nullptr)
- , m_hDWMAPI(nullptr)
- , m_hD3D9(nullptr)
- , m_pD3DXLoadSurfaceFromMemory(nullptr)
- , m_pD3DXLoadSurfaceFromSurface(nullptr)
- , m_pD3DXCreateLine(nullptr)
- , m_pD3DXCreateFont(nullptr)
- , m_pD3DXCreateSprite(nullptr)
- , m_pDwmIsCompositionEnabled(nullptr)
- , m_pDwmEnableComposition(nullptr)
- , m_pDirect3DCreate9Ex(nullptr)
- , m_bIsRendering(false)
{
ZeroMemory(&m_VMR9AlphaBitmap, sizeof(m_VMR9AlphaBitmap));
@@ -792,22 +792,19 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
m_BackbufferType = pp.BackBufferFormat;
}
- while (hr == D3DERR_DEVICELOST) {
- TRACE(_T("D3DERR_DEVICELOST. Trying to Reset.\n"));
- hr = m_pD3DDev->TestCooperativeLevel();
- }
- if (hr == D3DERR_DEVICENOTRESET) {
- TRACE(_T("D3DERR_DEVICENOTRESET\n"));
- hr = m_pD3DDev->Reset(&pp);
- }
-
- TRACE(_T("CreateDevice: %ld\n"), (LONG)hr);
- ASSERT(SUCCEEDED(hr));
-
- m_MainThreadId = GetCurrentThreadId();
+ if (m_pD3DDev) {
+ while (hr == D3DERR_DEVICELOST) {
+ TRACE(_T("D3DERR_DEVICELOST. Trying to Reset.\n"));
+ hr = m_pD3DDev->TestCooperativeLevel();
+ }
+ if (hr == D3DERR_DEVICENOTRESET) {
+ TRACE(_T("D3DERR_DEVICENOTRESET\n"));
+ hr = m_pD3DDev->Reset(&pp);
+ }
- if (m_pD3DDevEx) {
- m_pD3DDevEx->SetGPUThreadPriority(7);
+ if (m_pD3DDevEx) {
+ m_pD3DDevEx->SetGPUThreadPriority(7);
+ }
}
if (FAILED(hr)) {
@@ -819,6 +816,10 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
return hr;
}
+ ASSERT(m_pD3DDev);
+
+ m_MainThreadId = GetCurrentThreadId();
+
// Get the device caps
ZeroMemory(&m_Caps, sizeof(m_Caps));
m_pD3DDev->GetDeviceCaps(&m_Caps);
@@ -841,7 +842,7 @@ HRESULT CDX9AllocatorPresenter::CreateDevice(CString& _Error)
hr = S_OK;
if (!m_pSubPicQueue) {
- CAutoLock(this);
+ CAutoLock cAutoLock(this);
m_pSubPicQueue = r.subPicQueueSettings.nSize > 0
? (ISubPicQueue*)DEBUG_NEW CSubPicQueue(r.subPicQueueSettings, m_pAllocator, &hr)
: (ISubPicQueue*)DEBUG_NEW CSubPicQueueNoThread(r.subPicQueueSettings, m_pAllocator, &hr);
@@ -1412,8 +1413,8 @@ STDMETHODIMP_(bool) CDX9AllocatorPresenter::Paint(bool bAll)
if ((m_VMR9AlphaBitmap.dwFlags & VMRBITMAP_DISABLE) == 0 && (BYTE*)m_VMR9AlphaBitmapData) {
if ((m_pD3DXLoadSurfaceFromMemory != nullptr) &&
SUCCEEDED(hr = m_pD3DDev->CreateTexture(rcSrc.Width(), rcSrc.Height(), 1,
- D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8,
- D3DPOOL_DEFAULT, &m_pOSDTexture, nullptr))) {
+ D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8,
+ D3DPOOL_DEFAULT, &m_pOSDTexture, nullptr))) {
if (SUCCEEDED(hr = m_pOSDTexture->GetSurfaceLevel(0, &m_pOSDSurface))) {
hr = m_pD3DXLoadSurfaceFromMemory(m_pOSDSurface,
nullptr,
@@ -1908,7 +1909,12 @@ void CDX9AllocatorPresenter::DrawStats()
OffsetRect(&rc, 0, TextHeight);
if (m_bIsEVR) {
- strText.Format(L"Refresh rate : %.05f Hz SL: %4d (%3u Hz) Last Duration: %10.6f Corrected Frame Time: %s", m_DetectedRefreshRate, int(m_DetectedScanlinesPerFrame + 0.5), m_refreshRate, double(m_LastFrameDuration) / 10000.0, m_bCorrectedFrameTime ? L"Yes" : L"No");
+ if (r.m_AdvRendSets.bVMR9VSync) {
+ strText.Format(L"Refresh rate : %.05f Hz SL: %4d (%3u Hz) ", m_DetectedRefreshRate, int(m_DetectedScanlinesPerFrame + 0.5), m_refreshRate);
+ } else {
+ strText.Format(L"Refresh rate : %3u Hz ", m_refreshRate);
+ }
+ strText.AppendFormat(L"Last Duration: %10.6f Corrected Frame Time: %s", double(m_LastFrameDuration) / 10000.0, m_bCorrectedFrameTime ? L"Yes" : L"No");
DrawText(rc, strText, 1);
OffsetRect(&rc, 0, TextHeight);
}
@@ -2128,11 +2134,22 @@ STDMETHODIMP CDX9AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
{
CheckPointer(size, E_POINTER);
+ // Keep a reference so that we can safely work on the surface
+ // without having to lock everything
+ CComPtr<IDirect3DSurface9> pVideoSurface;
+ {
+ CAutoLock cAutoLock(this);
+ CheckPointer(m_pVideoSurface[m_nCurSurface], E_FAIL);
+ pVideoSurface = m_pVideoSurface[m_nCurSurface];
+ }
+
HRESULT hr;
D3DSURFACE_DESC desc;
ZeroMemory(&desc, sizeof(desc));
- m_pVideoSurface[m_nCurSurface]->GetDesc(&desc);
+ if (FAILED(hr = pVideoSurface->GetDesc(&desc))) {
+ return hr;
+ }
DWORD required = sizeof(BITMAPINFOHEADER) + (desc.Width * desc.Height * 32 >> 3);
if (!lpDib) {
@@ -2148,11 +2165,11 @@ STDMETHODIMP CDX9AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
// Convert to 8-bit when using 10-bit or full/half processing modes
if (desc.Format != D3DFMT_X8R8G8B8) {
if (FAILED(hr = m_pD3DDev->CreateOffscreenPlainSurface(desc.Width, desc.Height, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &pSurface, nullptr))
- || FAILED(hr = m_pD3DXLoadSurfaceFromSurface(pSurface, nullptr, nullptr, m_pVideoSurface[m_nCurSurface], nullptr, nullptr, D3DX_DEFAULT, 0))) {
+ || FAILED(hr = m_pD3DXLoadSurfaceFromSurface(pSurface, nullptr, nullptr, pVideoSurface, nullptr, nullptr, D3DX_DEFAULT, 0))) {
return hr;
}
} else {
- pSurface = m_pVideoSurface[m_nCurSurface];
+ pSurface = pVideoSurface;
}
D3DLOCKED_RECT r;
if (FAILED(hr = pSurface->LockRect(&r, nullptr, D3DLOCK_READONLY))) {
@@ -2175,10 +2192,9 @@ STDMETHODIMP CDX9AllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
bih->biPlanes = 1;
bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
- BitBltFromRGBToRGB(
- bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
+ BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
+ (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
+ (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
pSurface->UnlockRect();
diff --git a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
index cb4db14b5..6dd983bd9 100644
--- a/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/DX9AllocatorPresenter.h
@@ -56,13 +56,12 @@ namespace DSObjects
CRenderersSettings::CAdvRendererSettings m_LastRendererSettings;
- HRESULT(__stdcall* m_pDwmIsCompositionEnabled)(__out BOOL* pfEnabled);
- HRESULT(__stdcall* m_pDwmEnableComposition)(UINT uCompositionAction);
-
HMODULE m_hDWMAPI;
+ HMODULE m_hD3D9;
+ HRESULT(__stdcall* m_pDwmIsCompositionEnabled)(__out BOOL* pfEnabled);
+ HRESULT(__stdcall* m_pDwmEnableComposition)(UINT uCompositionAction);
HRESULT(__stdcall* m_pDirect3DCreate9Ex)(UINT SDKVersion, IDirect3D9Ex**);
- HMODULE m_hD3D9;
CCritSec m_RenderLock;
CComPtr<IDirectDraw> m_pDirectDraw;
@@ -174,9 +173,9 @@ namespace DSObjects
int m_VMR9AlphaBitmapWidthBytes;
D3DXLoadSurfaceFromMemoryPtr m_pD3DXLoadSurfaceFromMemory;
- D3DXLoadSurfaceFromSurfacePtr m_pD3DXLoadSurfaceFromSurface;
- D3DXCreateLinePtr m_pD3DXCreateLine;
- D3DXCreateFontPtr m_pD3DXCreateFont;
+ D3DXLoadSurfaceFromSurfacePtr m_pD3DXLoadSurfaceFromSurface;
+ D3DXCreateLinePtr m_pD3DXCreateLine;
+ D3DXCreateFontPtr m_pD3DXCreateFont;
HRESULT(__stdcall* m_pD3DXCreateSprite)(LPDIRECT3DDEVICE9 pDevice, LPD3DXSPRITE* ppSprite);
diff --git a/src/filters/renderer/VideoRenderers/DX9RenderingEngine.cpp b/src/filters/renderer/VideoRenderers/DX9RenderingEngine.cpp
index 4a755fea1..2890ac870 100644
--- a/src/filters/renderer/VideoRenderers/DX9RenderingEngine.cpp
+++ b/src/filters/renderer/VideoRenderers/DX9RenderingEngine.cpp
@@ -140,12 +140,12 @@ using namespace DSObjects;
CDX9RenderingEngine::CDX9RenderingEngine(HWND hWnd, HRESULT& hr, CString* _pError)
: CSubPicAllocatorPresenterImpl(hWnd, hr, _pError)
- , m_ScreenSize(0, 0)
- , m_nNbDXSurface(1)
- , m_nCurSurface(0)
, m_CurrentAdapter(UINT_ERROR)
, m_BackbufferType(D3DFMT_UNKNOWN)
, m_DisplayType(D3DFMT_UNKNOWN)
+ , m_ScreenSize(0, 0)
+ , m_nNbDXSurface(1)
+ , m_nCurSurface(0)
, m_bHighColorResolution(false)
, m_bForceInputHighColorResolution(false)
, m_RenderingPath(RENDERING_PATH_DRAW)
@@ -227,6 +227,8 @@ HRESULT CDX9RenderingEngine::CreateVideoSurfaces()
m_pTemporaryVideoTextures[i] = nullptr;
}
+ CheckPointer(m_pD3DDev, E_POINTER);
+
if (r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE2D || r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE3D) {
int nTexturesNeeded = r.iAPSurfaceUsage == VIDRNDT_AP_TEXTURE3D ? m_nNbDXSurface : 1;
@@ -581,7 +583,7 @@ HRESULT CDX9RenderingEngine::InitTemporaryScreenSpaceTextures(int count)
for (int i = 0; i < count; i++) {
if (m_pTemporaryScreenSpaceTextures[i] == nullptr) {
m_TemporaryScreenSpaceTextureSize = CSize(std::min(m_ScreenSize.cx, (long)m_Caps.MaxTextureWidth),
- std::min(std::max(m_ScreenSize.cy, m_nativeVideoSize.cy), (long)m_Caps.MaxTextureHeight));
+ std::min(std::max(m_ScreenSize.cy, m_nativeVideoSize.cy), (long)m_Caps.MaxTextureHeight));
hr = m_pD3DDev->CreateTexture(
m_TemporaryScreenSpaceTextureSize.cx,
m_TemporaryScreenSpaceTextureSize.cy,
diff --git a/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
index 3eeef0130..248e4f863 100644
--- a/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/DXRAllocatorPresenter.cpp
@@ -96,7 +96,7 @@ HRESULT CDXRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
HRESULT hr = S_OK;
if (!m_pSubPicQueue) {
- CAutoLock(this);
+ CAutoLock cAutoLock(this);
m_pSubPicQueue = r.subPicQueueSettings.nSize > 0
? (ISubPicQueue*)DEBUG_NEW CSubPicQueue(r.subPicQueueSettings, m_pAllocator, &hr)
: (ISubPicQueue*)DEBUG_NEW CSubPicQueueNoThread(r.subPicQueueSettings, m_pAllocator, &hr);
diff --git a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
index 4e0ce31ea..cdc4e7749 100644
--- a/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/EVRAllocatorPresenter.cpp
@@ -67,44 +67,44 @@ using namespace DSObjects;
CEVRAllocatorPresenter::CEVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRESULT& hr, CString& _Error)
: CDX9AllocatorPresenter(hWnd, bFullscreen, hr, true, _Error)
- , m_hDXVA2Lib(nullptr)
- , m_hEVRLib(nullptr)
- , m_hAVRTLib(nullptr)
- , m_nResetToken(0)
- , m_hThread(nullptr)
- , m_hGetMixerThread(nullptr)
- , m_hVSyncThread(nullptr)
- , m_hEvtFlush(nullptr)
- , m_hEvtQuit(nullptr)
- , m_bEvtQuit(0)
- , m_bEvtFlush(0)
, m_ModeratedTime(0)
, m_ModeratedTimeLast(-1)
, m_ModeratedClockLast(-1)
, m_ModeratedTimer(0)
, m_LastClockState(MFCLOCK_STATE_INVALID)
- , m_nRenderState(Shutdown)
+ , m_pOuterEVR(nullptr)
+ , m_dwVideoAspectRatioMode(MFVideoARMode_PreservePicture)
+ , m_dwVideoRenderPrefs((MFVideoRenderPrefs)0)
+ , m_BorderColor(RGB(0, 0, 0))
+ , m_hEvtQuit(nullptr)
+ , m_bEvtQuit(0)
+ , m_hEvtFlush(nullptr)
+ , m_bEvtFlush(0)
, m_fUseInternalTimer(false)
, m_LastSetOutputRange(-1)
, m_bPendingRenegotiate(false)
, m_bPendingMediaFinished(false)
- , m_bWaitingSample(false)
+ , m_hThread(nullptr)
+ , m_hGetMixerThread(nullptr)
+ , m_hVSyncThread(nullptr)
+ , m_nRenderState(Shutdown)
, m_pCurrentDisplaydSample(nullptr)
- , m_nStepCount(0)
- , m_dwVideoAspectRatioMode(MFVideoARMode_PreservePicture)
- , m_dwVideoRenderPrefs((MFVideoRenderPrefs)0)
- , m_BorderColor(RGB(0, 0, 0))
- , m_bSignaledStarvation(false)
- , m_StarvationClock(0)
- , m_pOuterEVR(nullptr)
+ , m_bWaitingSample(false)
+ , m_bLastSampleOffsetValid(false)
, m_LastScheduledSampleTime(-1)
+ , m_LastScheduledSampleTimeFP(-1)
, m_LastScheduledUncorrectedSampleTime(-1)
, m_MaxSampleDuration(0)
, m_LastSampleOffset(0)
, m_LastPredictedSync(0)
, m_VSyncOffsetHistoryPos(0)
- , m_bLastSampleOffsetValid(false)
- , m_LastScheduledSampleTimeFP(-1)
+ , m_nResetToken(0)
+ , m_nStepCount(0)
+ , m_bSignaledStarvation(false)
+ , m_StarvationClock(0)
+ , m_hDXVA2Lib(nullptr)
+ , m_hEVRLib(nullptr)
+ , m_hAVRTLib(nullptr)
, pfDXVA2CreateDirect3DDeviceManager9(nullptr)
, pfMFCreateDXSurfaceBuffer(nullptr)
, pfMFCreateVideoSampleFromSurface(nullptr)
@@ -1236,8 +1236,8 @@ STDMETHODIMP CEVRAllocatorPresenter::GetDeviceID(/* [out] */ __out IID* pDevice
// IMFGetService
STDMETHODIMP CEVRAllocatorPresenter::GetService(/* [in] */ __RPC__in REFGUID guidService,
- /* [in] */ __RPC__in REFIID riid,
- /* [iid_is][out] */ __RPC__deref_out_opt LPVOID* ppvObject)
+ /* [in] */ __RPC__in REFIID riid,
+ /* [iid_is][out] */ __RPC__deref_out_opt LPVOID* ppvObject)
{
if (guidService == MR_VIDEO_RENDER_SERVICE) {
return NonDelegatingQueryInterface(riid, ppvObject);
@@ -2550,7 +2550,7 @@ HRESULT CEVRAllocatorPresenter::GetFreeSample(IMFSample** ppSample)
HRESULT hr = S_OK;
if (m_FreeSamples.GetCount() > 1) { // <= Cannot use first free buffer (can be currently displayed)
- InterlockedIncrement(&m_nUsedBuffer);
+ m_nUsedBuffer++;
*ppSample = m_FreeSamples.RemoveHead().Detach();
} else {
hr = MF_E_SAMPLEALLOCATOR_EMPTY;
@@ -2578,7 +2578,8 @@ HRESULT CEVRAllocatorPresenter::GetScheduledSample(IMFSample** ppSample, int& _C
void CEVRAllocatorPresenter::MoveToFreeList(IMFSample* pSample, bool bTail)
{
CAutoLock lock(&m_SampleQueueLock);
- InterlockedDecrement(&m_nUsedBuffer);
+
+ m_nUsedBuffer--;
if (m_bPendingMediaFinished && m_nUsedBuffer == 0) {
m_bPendingMediaFinished = false;
m_pSink->Notify(EC_COMPLETE, 0, 0);
diff --git a/src/filters/renderer/VideoRenderers/IPinHook.cpp b/src/filters/renderer/VideoRenderers/IPinHook.cpp
index 1c44e264a..3dc19a98e 100644
--- a/src/filters/renderer/VideoRenderers/IPinHook.cpp
+++ b/src/filters/renderer/VideoRenderers/IPinHook.cpp
@@ -30,7 +30,7 @@
#include "AllocatorCommon.h"
#define DXVA_LOGFILE_A 0 // set to 1 for logging DXVA data to a file
-#define LOG_BITSTREAM 0 // set to 1 for logging DXVA bistream data to a file
+#define LOG_BITSTREAM 0 // set to 1 for logging DXVA bitstream data to a file
#define LOG_MATRIX 0 // set to 1 for logging DXVA matrix data to a file
#if defined(_DEBUG) && DXVA_LOGFILE_A
@@ -209,20 +209,29 @@ void HookWorkAroundNVIDIADriverBug(IBaseFilter* pBF)
{
DWORD flOldProtect = 0;
+ // Unhook previous VTable
if (g_pPinCVtbl) {
- VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- UnhookWorkAroundNVIDIADriverBug();
- VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ if (VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ UnhookWorkAroundNVIDIADriverBug();
+ VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ g_pPinCVtbl = nullptr;
+ } else {
+ TRACE(_T("HookWorkAroundNVIDIADriverBug: Could not unhook previous VTable"));
+ ASSERT(FALSE);
+ }
}
if (CComPtr<IPin> pPin = GetFirstPin(pBF)) {
IPinC* pPinC = (IPinC*)(IPin*)pPin;
- VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- HookWorkAroundNVIDIADriverBug(pPinC);
- VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
-
- g_pPinCVtbl = pPinC->lpVtbl;
+ if (VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ HookWorkAroundNVIDIADriverBug(pPinC);
+ VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ g_pPinCVtbl = pPinC->lpVtbl;
+ } else {
+ TRACE(_T("HookWorkAroundNVIDIADriverBug: Could not hook the VTable"));
+ ASSERT(FALSE);
+ }
}
}
@@ -230,25 +239,34 @@ void UnhookNewSegmentAndReceive()
{
DWORD flOldProtect = 0;
- // Casimir666 : unhook previous VTables
- if (g_pPinCVtbl && g_pMemInputPinCVtbl) {
- VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- if (g_pPinCVtbl->NewSegment == NewSegmentMine) {
- g_pPinCVtbl->NewSegment = NewSegmentOrg;
+ // Unhook previous VTables
+ if (g_pPinCVtbl) {
+ if (VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ if (g_pPinCVtbl->NewSegment == NewSegmentMine) {
+ g_pPinCVtbl->NewSegment = NewSegmentOrg;
+ }
+ UnhookWorkAroundNVIDIADriverBug();
+ VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ g_pPinCVtbl = nullptr;
+ NewSegmentOrg = nullptr;
+ } else {
+ TRACE(_T("UnhookNewSegmentAndReceive: Could not unhook g_pPinCVtbl VTable"));
+ ASSERT(FALSE);
}
- UnhookWorkAroundNVIDIADriverBug();
- VirtualProtect(g_pPinCVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ }
- VirtualProtect(g_pMemInputPinCVtbl, sizeof(IMemInputPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- if (g_pMemInputPinCVtbl->Receive == ReceiveMine) {
- g_pMemInputPinCVtbl->Receive = ReceiveOrg;
+ if (g_pMemInputPinCVtbl) {
+ if (VirtualProtect(g_pMemInputPinCVtbl, sizeof(IMemInputPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ if (g_pMemInputPinCVtbl->Receive == ReceiveMine) {
+ g_pMemInputPinCVtbl->Receive = ReceiveOrg;
+ }
+ VirtualProtect(g_pMemInputPinCVtbl, sizeof(IMemInputPinCVtbl), flOldProtect, &flOldProtect);
+ g_pMemInputPinCVtbl = nullptr;
+ ReceiveOrg = nullptr;
+ } else {
+ TRACE(_T("UnhookNewSegmentAndReceive: Could not unhook g_pMemInputPinCVtbl VTable"));
+ ASSERT(FALSE);
}
- VirtualProtect(g_pMemInputPinCVtbl, sizeof(IMemInputPinCVtbl), flOldProtect, &flOldProtect);
-
- g_pPinCVtbl = nullptr;
- g_pMemInputPinCVtbl = nullptr;
- NewSegmentOrg = nullptr;
- ReceiveOrg = nullptr;
}
}
@@ -260,29 +278,39 @@ bool HookNewSegmentAndReceive(IPinC* pPinC, IMemInputPinC* pMemInputPinC)
g_tSegmentStart = 0;
g_tSampleStart = 0;
- DWORD flOldProtect = 0;
UnhookNewSegmentAndReceive();
- // Casimir666 : change sizeof(IPinC) to sizeof(IPinCVtbl) to fix crash with EVR hack on Vista!
- VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- if (NewSegmentOrg == nullptr) {
- NewSegmentOrg = pPinC->lpVtbl->NewSegment;
- }
- pPinC->lpVtbl->NewSegment = NewSegmentMine; // Function sets global variable(s)
- HookWorkAroundNVIDIADriverBug(pPinC);
- VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
-
- // Casimir666 : change sizeof(IMemInputPinC) to sizeof(IMemInputPinCVtbl) to fix crash with EVR hack on Vista!
- VirtualProtect(pMemInputPinC->lpVtbl, sizeof(IMemInputPinCVtbl), PAGE_WRITECOPY, &flOldProtect);
- if (ReceiveOrg == nullptr) {
- ReceiveOrg = pMemInputPinC->lpVtbl->Receive;
+ DWORD flOldProtect = 0;
+
+ if (!g_pPinCVtbl) {
+ if (VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ if (NewSegmentOrg == nullptr) {
+ NewSegmentOrg = pPinC->lpVtbl->NewSegment;
+ }
+ pPinC->lpVtbl->NewSegment = NewSegmentMine; // Function sets global variable(s)
+ HookWorkAroundNVIDIADriverBug(pPinC);
+ VirtualProtect(pPinC->lpVtbl, sizeof(IPinCVtbl), flOldProtect, &flOldProtect);
+ g_pPinCVtbl = pPinC->lpVtbl;
+ } else {
+ TRACE(_T("HookNewSegmentAndReceive: Could not unhook g_pPinCVtbl VTable"));
+ ASSERT(FALSE);
+ }
}
- pMemInputPinC->lpVtbl->Receive = ReceiveMine; // Function sets global variable(s)
- VirtualProtect(pMemInputPinC->lpVtbl, sizeof(IMemInputPinCVtbl), flOldProtect, &flOldProtect);
- g_pPinCVtbl = pPinC->lpVtbl;
- g_pMemInputPinCVtbl = pMemInputPinC->lpVtbl;
+ if (!g_pMemInputPinCVtbl) {
+ if (VirtualProtect(pMemInputPinC->lpVtbl, sizeof(IMemInputPinCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ if (ReceiveOrg == nullptr) {
+ ReceiveOrg = pMemInputPinC->lpVtbl->Receive;
+ }
+ pMemInputPinC->lpVtbl->Receive = ReceiveMine; // Function sets global variable(s)
+ VirtualProtect(pMemInputPinC->lpVtbl, sizeof(IMemInputPinCVtbl), flOldProtect, &flOldProtect);
+ g_pMemInputPinCVtbl = pMemInputPinC->lpVtbl;
+ } else {
+ TRACE(_T("HookNewSegmentAndReceive: Could not unhook g_pMemInputPinCVtbl VTable"));
+ ASSERT(FALSE);
+ }
+ }
return true;
}
@@ -292,7 +320,7 @@ bool HookNewSegmentAndReceive(IPinC* pPinC, IMemInputPinC* pMemInputPinC)
#ifdef _DEBUG
#define MAX_BUFFER_TYPE 15
-BYTE* g_ppBuffer[MAX_BUFFER_TYPE]; // Only used for debug logging
+BYTE* g_ppBuffer[MAX_BUFFER_TYPE]; // Only used for debug logging
static HRESULT(STDMETHODCALLTYPE* GetVideoAcceleratorGUIDsOrg)(IAMVideoAcceleratorC* This,/* [out][in] */ LPDWORD pdwNumGuidsSupported,/* [out][in] */ LPGUID pGuidsSupported) = nullptr;
static HRESULT(STDMETHODCALLTYPE* GetUncompFormatsSupportedOrg)(IAMVideoAcceleratorC* This,/* [in] */ const GUID* pGuid,/* [out][in] */ LPDWORD pdwNumFormatsSupported,/* [out][in] */ LPDDPIXELFORMAT pFormatsSupported) = nullptr;
@@ -463,25 +491,24 @@ static void LogDXVA_PicParams_H264(DXVA_PicParams_H264* pPic)
strRes.AppendFormat(_T("%d,"), pPic->slice_group_change_rate_minus1);
- //for (int i=0; i<810; i++)
- // strRes.AppendFormat(_T("%d,"), pPic->SliceGroupMap[i]);
- // strRes.AppendFormat(_T("%d,"), pPic->SliceGroupMap[810]);
+ //for (int i=0; i<810; i++) {
+ // strRes.AppendFormat(_T("%d,"), pPic->SliceGroupMap[i]);
+ //}
+ //strRes.AppendFormat(_T("%d"), pPic->SliceGroupMap[810]);
// SABOTAGE !!!
- //for (int i=0; i<16; i++)
- //{
- // pPic->FieldOrderCntList[i][0] = pPic->FieldOrderCntList[i][1] = 0;
- // pPic->RefFrameList[i].AssociatedFlag = 1;
- // pPic->RefFrameList[i].bPicEntry = 255;
- // pPic->RefFrameList[i].Index7Bits = 127;
+ //for (int i=0; i<16; i++) {
+ // pPic->FieldOrderCntList[i][0] = pPic->FieldOrderCntList[i][1] = 0;
+ // pPic->RefFrameList[i].AssociatedFlag = 1;
+ // pPic->RefFrameList[i].bPicEntry = 255;
+ // pPic->RefFrameList[i].Index7Bits = 127;
//}
// === Dump PicParams!
//static FILE* hPict = nullptr;
- //if (!hPict) hPict = fopen ("PicParam.bin", "wb");
- //if (hPict)
- //{
- // fwrite (pPic, sizeof (DXVA_PicParams_H264), 1, hPict);
+ //if (!hPict) { hPict = fopen ("PicParam.bin", "wb") };
+ //if (hPict) {
+ // fwrite (pPic, sizeof (DXVA_PicParams_H264), 1, hPict);
//}
LOG_TOFILE(LOG_FILE_PICTURE, strRes);
@@ -806,14 +833,12 @@ static HRESULT STDMETHODCALLTYPE GetCompBufferInfoMine(IAMVideoAcceleratorC* Thi
LOG(_T("hr = %08x"), hr);
- //if (pdwNumTypesCompBuffers)
- //{
- // LOG(_T("[out] *pdwNumTypesCompBuffers = %d"), *pdwNumTypesCompBuffers);
-
- // if (pamvaUncompDataInfo)
- // {
- // LOGUDI(_T("[out] pamvaUncompDataInfo"), pamvaUncompDataInfo, *pdwNumTypesCompBuffers);
- // }
+ //if (pdwNumTypesCompBuffers) {
+ // LOG(_T("[out] *pdwNumTypesCompBuffers = %d"), *pdwNumTypesCompBuffers);
+ //
+ // if (pamvaUncompDataInfo) {
+ // LOGUDI(_T("[out] pamvaUncompDataInfo"), pamvaUncompDataInfo, *pdwNumTypesCompBuffers);
+ // }
//}
return hr;
@@ -905,7 +930,7 @@ static HRESULT STDMETHODCALLTYPE ReleaseBufferMine(IAMVideoAcceleratorC* This, D
}
static HRESULT STDMETHODCALLTYPE ExecuteMine(IAMVideoAcceleratorC* This, DWORD dwFunction, LPVOID lpPrivateInputData, DWORD cbPrivateInputData,
- LPVOID lpPrivateOutputData, DWORD cbPrivateOutputData, DWORD dwNumBuffers, const AMVABUFFERINFO* pamvaBufferInfo)
+ LPVOID lpPrivateOutputData, DWORD cbPrivateOutputData, DWORD dwNumBuffers, const AMVABUFFERINFO* pamvaBufferInfo)
{
#ifdef _DEBUG
LOG(_T("\nExecute"));
@@ -1034,73 +1059,77 @@ void HookAMVideoAccelerator(IAMVideoAcceleratorC* pAMVideoAcceleratorC)
g_nDXVAVersion = 0;
DWORD flOldProtect = 0;
- VirtualProtect(pAMVideoAcceleratorC->lpVtbl, sizeof(IAMVideoAcceleratorC), PAGE_WRITECOPY, &flOldProtect);
+ if (VirtualProtect(pAMVideoAcceleratorC->lpVtbl, sizeof(IAMVideoAcceleratorC), PAGE_WRITECOPY, &flOldProtect)) {
#ifdef _DEBUG
- if (GetVideoAcceleratorGUIDsOrg == nullptr) {
- GetVideoAcceleratorGUIDsOrg = pAMVideoAcceleratorC->lpVtbl->GetVideoAcceleratorGUIDs;
- }
- if (GetUncompFormatsSupportedOrg == nullptr) {
- GetUncompFormatsSupportedOrg = pAMVideoAcceleratorC->lpVtbl->GetUncompFormatsSupported;
- }
- if (GetInternalMemInfoOrg == nullptr) {
- GetInternalMemInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetInternalMemInfo;
- }
+ if (GetVideoAcceleratorGUIDsOrg == nullptr) {
+ GetVideoAcceleratorGUIDsOrg = pAMVideoAcceleratorC->lpVtbl->GetVideoAcceleratorGUIDs;
+ }
+ if (GetUncompFormatsSupportedOrg == nullptr) {
+ GetUncompFormatsSupportedOrg = pAMVideoAcceleratorC->lpVtbl->GetUncompFormatsSupported;
+ }
+ if (GetInternalMemInfoOrg == nullptr) {
+ GetInternalMemInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetInternalMemInfo;
+ }
#endif
- if (GetCompBufferInfoOrg == nullptr) {
- GetCompBufferInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetCompBufferInfo;
- }
+ if (GetCompBufferInfoOrg == nullptr) {
+ GetCompBufferInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetCompBufferInfo;
+ }
#ifdef _DEBUG
- if (GetInternalCompBufferInfoOrg == nullptr) {
- GetInternalCompBufferInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetInternalCompBufferInfo;
- }
- if (BeginFrameOrg == nullptr) {
- BeginFrameOrg = pAMVideoAcceleratorC->lpVtbl->BeginFrame;
- }
- if (EndFrameOrg == nullptr) {
- EndFrameOrg = pAMVideoAcceleratorC->lpVtbl->EndFrame;
- }
- if (GetBufferOrg == nullptr) {
- GetBufferOrg = pAMVideoAcceleratorC->lpVtbl->GetBuffer;
- }
- if (ReleaseBufferOrg == nullptr) {
- ReleaseBufferOrg = pAMVideoAcceleratorC->lpVtbl->ReleaseBuffer;
- }
- if (ExecuteOrg == nullptr) {
- ExecuteOrg = pAMVideoAcceleratorC->lpVtbl->Execute;
- }
- if (QueryRenderStatusOrg == nullptr) {
- QueryRenderStatusOrg = pAMVideoAcceleratorC->lpVtbl->QueryRenderStatus;
- }
- if (DisplayFrameOrg == nullptr) {
- DisplayFrameOrg = pAMVideoAcceleratorC->lpVtbl->DisplayFrame;
- }
+ if (GetInternalCompBufferInfoOrg == nullptr) {
+ GetInternalCompBufferInfoOrg = pAMVideoAcceleratorC->lpVtbl->GetInternalCompBufferInfo;
+ }
+ if (BeginFrameOrg == nullptr) {
+ BeginFrameOrg = pAMVideoAcceleratorC->lpVtbl->BeginFrame;
+ }
+ if (EndFrameOrg == nullptr) {
+ EndFrameOrg = pAMVideoAcceleratorC->lpVtbl->EndFrame;
+ }
+ if (GetBufferOrg == nullptr) {
+ GetBufferOrg = pAMVideoAcceleratorC->lpVtbl->GetBuffer;
+ }
+ if (ReleaseBufferOrg == nullptr) {
+ ReleaseBufferOrg = pAMVideoAcceleratorC->lpVtbl->ReleaseBuffer;
+ }
+ if (ExecuteOrg == nullptr) {
+ ExecuteOrg = pAMVideoAcceleratorC->lpVtbl->Execute;
+ }
+ if (QueryRenderStatusOrg == nullptr) {
+ QueryRenderStatusOrg = pAMVideoAcceleratorC->lpVtbl->QueryRenderStatus;
+ }
+ if (DisplayFrameOrg == nullptr) {
+ DisplayFrameOrg = pAMVideoAcceleratorC->lpVtbl->DisplayFrame;
+ }
- pAMVideoAcceleratorC->lpVtbl->GetVideoAcceleratorGUIDs = GetVideoAcceleratorGUIDsMine;
- pAMVideoAcceleratorC->lpVtbl->GetUncompFormatsSupported = GetUncompFormatsSupportedMine;
- pAMVideoAcceleratorC->lpVtbl->GetInternalMemInfo = GetInternalMemInfoMine;
+ pAMVideoAcceleratorC->lpVtbl->GetVideoAcceleratorGUIDs = GetVideoAcceleratorGUIDsMine;
+ pAMVideoAcceleratorC->lpVtbl->GetUncompFormatsSupported = GetUncompFormatsSupportedMine;
+ pAMVideoAcceleratorC->lpVtbl->GetInternalMemInfo = GetInternalMemInfoMine;
#endif
- pAMVideoAcceleratorC->lpVtbl->GetCompBufferInfo = GetCompBufferInfoMine; // Function sets global variable(s)
+ pAMVideoAcceleratorC->lpVtbl->GetCompBufferInfo = GetCompBufferInfoMine; // Function sets global variable(s)
#ifdef _DEBUG
- pAMVideoAcceleratorC->lpVtbl->GetInternalCompBufferInfo = GetInternalCompBufferInfoMine;
- pAMVideoAcceleratorC->lpVtbl->BeginFrame = BeginFrameMine;
- pAMVideoAcceleratorC->lpVtbl->EndFrame = EndFrameMine;
- pAMVideoAcceleratorC->lpVtbl->GetBuffer = GetBufferMine;
- pAMVideoAcceleratorC->lpVtbl->ReleaseBuffer = ReleaseBufferMine;
- pAMVideoAcceleratorC->lpVtbl->Execute = ExecuteMine;
- pAMVideoAcceleratorC->lpVtbl->QueryRenderStatus = QueryRenderStatusMine;
- pAMVideoAcceleratorC->lpVtbl->DisplayFrame = DisplayFrameMine;
-
- VirtualProtect(pAMVideoAcceleratorC->lpVtbl, sizeof(IAMVideoAcceleratorC), PAGE_EXECUTE, &flOldProtect);
-
-#if DXVA_LOGFILE_A
+ pAMVideoAcceleratorC->lpVtbl->GetInternalCompBufferInfo = GetInternalCompBufferInfoMine;
+ pAMVideoAcceleratorC->lpVtbl->BeginFrame = BeginFrameMine;
+ pAMVideoAcceleratorC->lpVtbl->EndFrame = EndFrameMine;
+ pAMVideoAcceleratorC->lpVtbl->GetBuffer = GetBufferMine;
+ pAMVideoAcceleratorC->lpVtbl->ReleaseBuffer = ReleaseBufferMine;
+ pAMVideoAcceleratorC->lpVtbl->Execute = ExecuteMine;
+ pAMVideoAcceleratorC->lpVtbl->QueryRenderStatus = QueryRenderStatusMine;
+ pAMVideoAcceleratorC->lpVtbl->DisplayFrame = DisplayFrameMine;
+#endif
+
+ VirtualProtect(pAMVideoAcceleratorC->lpVtbl, sizeof(IAMVideoAcceleratorC), PAGE_EXECUTE, &flOldProtect);
+ } else {
+ TRACE(_T("HookAMVideoAccelerator: Could not hook the VTable"));
+ ASSERT(FALSE);
+ }
+
+#if defined(_DEBUG) && DXVA_LOGFILE_A
::DeleteFile(LOG_FILE_DXVA);
::DeleteFile(LOG_FILE_PICTURE);
::DeleteFile(LOG_FILE_SLICELONG);
::DeleteFile(LOG_FILE_SLICESHORT);
::DeleteFile(LOG_FILE_BITSTREAM);
#endif
-#endif
}
@@ -1200,10 +1229,10 @@ public:
CString strBuffer;
LogDecodeBufferDesc(&pExecuteParams->pCompressedBuffers[i]);
- /*
- for (int j=0; j<4000 && j<pExecuteParams->pCompressedBuffers[i].DataSize; j++)
- strBuffer.AppendFormat (_T("%02x "), m_ppBuffer[pExecuteParams->pCompressedBuffers[i].CompressedBufferType][j]);
+ /*for (int j=0; j<4000 && j<pExecuteParams->pCompressedBuffers[i].DataSize; j++) {
+ strBuffer.AppendFormat (_T("%02x "), m_ppBuffer[pExecuteParams->pCompressedBuffers[i].CompressedBufferType][j]);
+ }
LOG (_T(" - Buffer type=%d, offset=%d, size=%d"),
pExecuteParams->pCompressedBuffers[i].CompressedBufferType,
pExecuteParams->pCompressedBuffers[i].DataOffset,
@@ -1350,11 +1379,11 @@ interface IDirectXVideoDecoderServiceC {
IDirectXVideoDecoderServiceCVtbl* g_pIDirectXVideoDecoderServiceCVtbl = nullptr;
static HRESULT(STDMETHODCALLTYPE* CreateVideoDecoderOrg)(IDirectXVideoDecoderServiceC* pThis,
- __in REFGUID Guid,
- __in const DXVA2_VideoDesc* pVideoDesc,
- __in const DXVA2_ConfigPictureDecode* pConfig,
- __in_ecount(NumRenderTargets)
- IDirect3DSurface9** ppDecoderRenderTargets, __in UINT NumRenderTargets, __deref_out IDirectXVideoDecoder** ppDecode) = nullptr;
+ __in REFGUID Guid,
+ __in const DXVA2_VideoDesc* pVideoDesc,
+ __in const DXVA2_ConfigPictureDecode* pConfig,
+ __in_ecount(NumRenderTargets)
+ IDirect3DSurface9** ppDecoderRenderTargets, __in UINT NumRenderTargets, __deref_out IDirectXVideoDecoder** ppDecode) = nullptr;
#ifdef _DEBUG
static HRESULT(STDMETHODCALLTYPE* GetDecoderDeviceGuidsOrg)(IDirectXVideoDecoderServiceC* pThis, __out UINT* pCount, __deref_out_ecount_opt(*pCount) GUID** pGuids) = nullptr;
static HRESULT(STDMETHODCALLTYPE* GetDecoderConfigurationsOrg)(IDirectXVideoDecoderServiceC* pThis, __in REFGUID Guid, __in const DXVA2_VideoDesc* pVideoDesc, __reserved void* pReserved, __out UINT* pCount, __deref_out_ecount_opt(*pCount) DXVA2_ConfigPictureDecode** ppConfigs) = nullptr;
@@ -1460,8 +1489,8 @@ static HRESULT STDMETHODCALLTYPE CreateVideoDecoderMine(
__in UINT NumRenderTargets,
__deref_out IDirectXVideoDecoder** ppDecode)
{
- // DebugBreak();
- // ((DXVA2_VideoDesc*)pVideoDesc)->Format = (D3DFORMAT)0x3231564E;
+ // DebugBreak();
+ // ((DXVA2_VideoDesc*)pVideoDesc)->Format = (D3DFORMAT)0x3231564E;
g_guidDXVADecoder = Guid;
g_nDXVAVersion = 2;
@@ -1504,8 +1533,8 @@ static HRESULT STDMETHODCALLTYPE CreateVideoDecoderMine(
#ifdef _DEBUG
static HRESULT STDMETHODCALLTYPE GetDecoderDeviceGuidsMine(IDirectXVideoDecoderServiceC* pThis,
- __out UINT* pCount,
- __deref_out_ecount_opt(*pCount) GUID** pGuids)
+ __out UINT* pCount,
+ __deref_out_ecount_opt(*pCount) GUID** pGuids)
{
HRESULT hr = GetDecoderDeviceGuidsOrg(pThis, pCount, pGuids);
LOG(_T("IDirectXVideoDecoderService::GetDecoderDeviceGuids hr = %08x\n"), hr);
@@ -1514,16 +1543,16 @@ static HRESULT STDMETHODCALLTYPE GetDecoderDeviceGuidsMine(IDirectXVideoDecoderS
}
static HRESULT STDMETHODCALLTYPE GetDecoderConfigurationsMine(IDirectXVideoDecoderServiceC* pThis,
- __in REFGUID Guid,
- __in const DXVA2_VideoDesc* pVideoDesc,
- __reserved void* pReserved,
- __out UINT* pCount,
- __deref_out_ecount_opt(*pCount) DXVA2_ConfigPictureDecode** ppConfigs)
+ __in REFGUID Guid,
+ __in const DXVA2_VideoDesc* pVideoDesc,
+ __reserved void* pReserved,
+ __out UINT* pCount,
+ __deref_out_ecount_opt(*pCount) DXVA2_ConfigPictureDecode** ppConfigs)
{
HRESULT hr = GetDecoderConfigurationsOrg(pThis, Guid, pVideoDesc, pReserved, pCount, ppConfigs);
// Force LongSlice decoding !
- // memcpy (&(*ppConfigs)[1], &(*ppConfigs)[0], sizeof(DXVA2_ConfigPictureDecode));
+ // memcpy (&(*ppConfigs)[1], &(*ppConfigs)[0], sizeof(DXVA2_ConfigPictureDecode));
return hr;
}
@@ -1535,29 +1564,35 @@ void HookDirectXVideoDecoderService(void* pIDirectXVideoDecoderService)
DWORD flOldProtect = 0;
- // Casimir666 : unhook previous VTables
+ // Unhook previous VTable
if (g_pIDirectXVideoDecoderServiceCVtbl) {
- VirtualProtect(g_pIDirectXVideoDecoderServiceCVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), PAGE_WRITECOPY, &flOldProtect);
- if (g_pIDirectXVideoDecoderServiceCVtbl->CreateVideoDecoder == CreateVideoDecoderMine) {
- g_pIDirectXVideoDecoderServiceCVtbl->CreateVideoDecoder = CreateVideoDecoderOrg;
- }
+ if (VirtualProtect(g_pIDirectXVideoDecoderServiceCVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
+ if (g_pIDirectXVideoDecoderServiceCVtbl->CreateVideoDecoder == CreateVideoDecoderMine) {
+ g_pIDirectXVideoDecoderServiceCVtbl->CreateVideoDecoder = CreateVideoDecoderOrg;
+ }
#ifdef _DEBUG
- if (g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderConfigurations == GetDecoderConfigurationsMine) {
- g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderConfigurations = GetDecoderConfigurationsOrg;
- }
+ if (g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderConfigurations == GetDecoderConfigurationsMine) {
+ g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderConfigurations = GetDecoderConfigurationsOrg;
+ }
- //if (g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderDeviceGuids == GetDecoderDeviceGuidsMine)
- // g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderDeviceGuids = GetDecoderDeviceGuidsOrg;
+ //if (g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderDeviceGuids == GetDecoderDeviceGuidsMine) {
+ // g_pIDirectXVideoDecoderServiceCVtbl->GetDecoderDeviceGuids = GetDecoderDeviceGuidsOrg;
+ //}
#endif
- VirtualProtect(g_pIDirectXVideoDecoderServiceCVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), flOldProtect, &flOldProtect);
+ VirtualProtect(g_pIDirectXVideoDecoderServiceCVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), flOldProtect, &flOldProtect);
- g_pIDirectXVideoDecoderServiceCVtbl = nullptr;
- CreateVideoDecoderOrg = nullptr;
+ g_pIDirectXVideoDecoderServiceCVtbl = nullptr;
+ CreateVideoDecoderOrg = nullptr;
#ifdef _DEBUG
- GetDecoderConfigurationsOrg = nullptr;
+ GetDecoderConfigurationsOrg = nullptr;
#endif
+ } else {
+ TRACE(_T("HookDirectXVideoDecoderService: Could not unhook the VTable"));
+ ASSERT(FALSE);
+ }
+
g_guidDXVADecoder = GUID_NULL;
g_nDXVAVersion = 0;
}
@@ -1569,21 +1604,25 @@ void HookDirectXVideoDecoderService(void* pIDirectXVideoDecoderService)
#endif
if (!g_pIDirectXVideoDecoderServiceCVtbl && pIDirectXVideoDecoderService) {
- VirtualProtect(pIDirectXVideoDecoderServiceC->lpVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), PAGE_WRITECOPY, &flOldProtect);
+ if (VirtualProtect(pIDirectXVideoDecoderServiceC->lpVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), PAGE_WRITECOPY, &flOldProtect)) {
- CreateVideoDecoderOrg = pIDirectXVideoDecoderServiceC->lpVtbl->CreateVideoDecoder;
- pIDirectXVideoDecoderServiceC->lpVtbl->CreateVideoDecoder = CreateVideoDecoderMine;
+ CreateVideoDecoderOrg = pIDirectXVideoDecoderServiceC->lpVtbl->CreateVideoDecoder;
+ pIDirectXVideoDecoderServiceC->lpVtbl->CreateVideoDecoder = CreateVideoDecoderMine;
#ifdef _DEBUG
- GetDecoderConfigurationsOrg = pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderConfigurations;
- pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderConfigurations = GetDecoderConfigurationsMine;
+ GetDecoderConfigurationsOrg = pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderConfigurations;
+ pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderConfigurations = GetDecoderConfigurationsMine;
- //GetDecoderDeviceGuidsOrg = pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderDeviceGuids;
- //pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderDeviceGuids = GetDecoderDeviceGuidsMine;
+ //GetDecoderDeviceGuidsOrg = pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderDeviceGuids;
+ //pIDirectXVideoDecoderServiceC->lpVtbl->GetDecoderDeviceGuids = GetDecoderDeviceGuidsMine;
#endif
- VirtualProtect(pIDirectXVideoDecoderServiceC->lpVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), flOldProtect, &flOldProtect);
+ VirtualProtect(pIDirectXVideoDecoderServiceC->lpVtbl, sizeof(IDirectXVideoDecoderServiceCVtbl), flOldProtect, &flOldProtect);
- g_pIDirectXVideoDecoderServiceCVtbl = pIDirectXVideoDecoderServiceC->lpVtbl;
+ g_pIDirectXVideoDecoderServiceCVtbl = pIDirectXVideoDecoderServiceC->lpVtbl;
+ } else {
+ TRACE(_T("HookDirectXVideoDecoderService: Could not hook the VTable"));
+ ASSERT(FALSE);
+ }
}
}
diff --git a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
index cafe9d121..0a3caaf96 100644
--- a/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
+++ b/src/filters/renderer/VideoRenderers/PixelShaderCompiler.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -26,9 +26,9 @@
CPixelShaderCompiler::CPixelShaderCompiler(IDirect3DDevice9* pD3DDev, bool fStaySilent)
: m_hDll(nullptr)
- , m_pD3DDev(pD3DDev)
, m_pD3DCompile(nullptr)
, m_pD3DDisassemble(nullptr)
+ , m_pD3DDev(pD3DDev)
{
m_hDll = LoadLibrary(D3DCOMPILER_DLL);
diff --git a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp
index 612ef7e11..fe149a963 100644
--- a/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/QT7AllocatorPresenter.cpp
@@ -46,6 +46,8 @@ HRESULT CQT7AllocatorPresenter::AllocSurfaces()
{
CAutoLock cAutoLock(this);
+ CheckPointer(m_pDD, E_POINTER);
+
m_pVideoSurfaceOff = nullptr;
DDSURFACEDESC2 ddsd;
diff --git a/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
index 3324f44a8..e39af0c01 100644
--- a/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/QT9AllocatorPresenter.cpp
@@ -43,6 +43,8 @@ STDMETHODIMP CQT9AllocatorPresenter::NonDelegatingQueryInterface(REFIID riid, vo
HRESULT CQT9AllocatorPresenter::AllocSurfaces()
{
+ CheckPointer(m_pD3DDev, E_POINTER);
+
HRESULT hr;
m_pVideoSurfaceOff = nullptr;
diff --git a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp
index d568696a2..879103f88 100644
--- a/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/RM7AllocatorPresenter.cpp
@@ -48,6 +48,8 @@ HRESULT CRM7AllocatorPresenter::AllocSurfaces()
{
CAutoLock cAutoLock(this);
+ CheckPointer(m_pDD, E_POINTER);
+
m_pVideoSurfaceOff = nullptr;
m_pVideoSurfaceYUY2 = nullptr;
diff --git a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
index f7469f1e6..b3c1ead15 100644
--- a/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/RM9AllocatorPresenter.cpp
@@ -48,6 +48,8 @@ HRESULT CRM9AllocatorPresenter::AllocSurfaces()
CAutoLock cAutoLock(this);
CAutoLock cRenderLock(&m_RenderLock);
+ CheckPointer(m_pD3DDev, E_POINTER);
+
m_pVideoSurfaceOff = nullptr;
m_pVideoSurfaceYUY2 = nullptr;
diff --git a/src/filters/renderer/VideoRenderers/SyncRenderer.cpp b/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
index f5bd188b4..cc25407b7 100644
--- a/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
+++ b/src/filters/renderer/VideoRenderers/SyncRenderer.cpp
@@ -529,12 +529,9 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
}
}
if (!bTryToReset) {
- if (FAILED(hr = m_pD3DEx->CreateDeviceEx(m_CurrentAdapter, D3DDEVTYPE_HAL, m_FocusThread->GetFocusWindow(),
- D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_ENABLE_PRESENTSTATS | D3DCREATE_NOWINDOWCHANGES,
- &pp, &DisplayMode, &m_pD3DDevEx))) {
- _Error += GetWindowsErrorMessage(hr, m_hD3D9);
- return hr;
- }
+ hr = m_pD3DEx->CreateDeviceEx(m_CurrentAdapter, D3DDEVTYPE_HAL, m_FocusThread->GetFocusWindow(),
+ D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_ENABLE_PRESENTSTATS | D3DCREATE_NOWINDOWCHANGES,
+ &pp, &DisplayMode, &m_pD3DDevEx);
}
if (m_pD3DDevEx) {
@@ -549,12 +546,9 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
}
}
if (!bTryToReset) {
- if (FAILED(hr = m_pD3D->CreateDevice(m_CurrentAdapter, D3DDEVTYPE_HAL, m_FocusThread->GetFocusWindow(),
- D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_NOWINDOWCHANGES,
- &pp, &m_pD3DDev))) {
- _Error += GetWindowsErrorMessage(hr, m_hD3D9);
- return hr;
- }
+ hr = m_pD3D->CreateDevice(m_CurrentAdapter, D3DDEVTYPE_HAL, m_FocusThread->GetFocusWindow(),
+ D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_NOWINDOWCHANGES,
+ &pp, &m_pD3DDev);
}
TRACE(_T("Created full-screen device\n"));
if (m_pD3DDev) {
@@ -602,10 +596,6 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
hr = m_pD3DEx->CreateDeviceEx(m_CurrentAdapter, D3DDEVTYPE_HAL, m_hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED | D3DCREATE_ENABLE_PRESENTSTATS,
&pp, nullptr, &m_pD3DDevEx);
- if (FAILED(hr) && hr != D3DERR_DEVICELOST && hr != D3DERR_DEVICENOTRESET) {
- _Error += GetWindowsErrorMessage(hr, m_hD3D9);
- return hr;
- }
}
if (m_pD3DDevEx) {
@@ -621,29 +611,30 @@ HRESULT CBaseAP::CreateDXDevice(CString& _Error)
hr = m_pD3D->CreateDevice(m_CurrentAdapter, D3DDEVTYPE_HAL, m_hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE | D3DCREATE_MULTITHREADED,
&pp, &m_pD3DDev);
- if (FAILED(hr) && hr != D3DERR_DEVICELOST && hr != D3DERR_DEVICENOTRESET) {
- _Error += GetWindowsErrorMessage(hr, m_hD3D9);
- return hr;
- }
}
TRACE(_T("Created windowed device\n"));
}
}
- while (hr == D3DERR_DEVICELOST) {
- TRACE(_T("D3DERR_DEVICELOST. Trying to Reset.\n"));
- hr = m_pD3DDev->TestCooperativeLevel();
- }
- if (hr == D3DERR_DEVICENOTRESET) {
- TRACE(_T("D3DERR_DEVICENOTRESET\n"));
- hr = m_pD3DDev->Reset(&pp);
+ if (m_pD3DDev) {
+ while (hr == D3DERR_DEVICELOST) {
+ TRACE(_T("D3DERR_DEVICELOST. Trying to Reset.\n"));
+ hr = m_pD3DDev->TestCooperativeLevel();
+ }
+ if (hr == D3DERR_DEVICENOTRESET) {
+ TRACE(_T("D3DERR_DEVICENOTRESET\n"));
+ hr = m_pD3DDev->Reset(&pp);
+ }
+
+ if (m_pD3DDevEx) {
+ m_pD3DDevEx->SetGPUThreadPriority(7);
+ }
}
- TRACE(_T("CreateDevice: %ld\n"), (LONG)hr);
- ASSERT(SUCCEEDED(hr));
+ if (FAILED(hr)) {
+ _Error.AppendFormat(_T("CreateDevice failed: %s\n"), GetWindowsErrorMessage(hr, m_hD3D9));
- if (m_pD3DDevEx) {
- m_pD3DDevEx->SetGPUThreadPriority(7);
+ return hr;
}
m_pPSC.Attach(DEBUG_NEW CPixelShaderCompiler(m_pD3DDev, true));
@@ -946,6 +937,8 @@ HRESULT CBaseAP::AllocSurfaces(D3DFORMAT Format)
CAutoLock cAutoLock(this);
CAutoLock cRenderLock(&m_allocatorLock);
+ CheckPointer(m_pD3DDev, E_POINTER);
+
const CRenderersSettings& r = GetRenderersSettings();
for (int i = 0; i < m_nDXSurface + 2; i++) {
@@ -2308,11 +2301,22 @@ STDMETHODIMP CBaseAP::GetDIB(BYTE* lpDib, DWORD* size)
{
CheckPointer(size, E_POINTER);
+ // Keep a reference so that we can safely work on the surface
+ // without having to lock everything
+ CComPtr<IDirect3DSurface9> pVideoSurface;
+ {
+ CAutoLock cAutoLock(this);
+ CheckPointer(m_pVideoSurface[m_nCurSurface], E_FAIL);
+ pVideoSurface = m_pVideoSurface[m_nCurSurface];
+ }
+
HRESULT hr;
D3DSURFACE_DESC desc;
ZeroMemory(&desc, sizeof(desc));
- m_pVideoSurface[m_nCurSurface]->GetDesc(&desc);
+ if (FAILED(hr = pVideoSurface->GetDesc(&desc))) {
+ return hr;
+ }
DWORD required = sizeof(BITMAPINFOHEADER) + (desc.Width * desc.Height * 32 >> 3);
if (!lpDib) {
@@ -2324,12 +2328,12 @@ STDMETHODIMP CBaseAP::GetDIB(BYTE* lpDib, DWORD* size)
}
*size = required;
- CComPtr<IDirect3DSurface9> pSurface = m_pVideoSurface[m_nCurSurface];
+ CComPtr<IDirect3DSurface9> pSurface = pVideoSurface;
D3DLOCKED_RECT r;
if (FAILED(hr = pSurface->LockRect(&r, nullptr, D3DLOCK_READONLY))) {
pSurface = nullptr;
if (FAILED(hr = m_pD3DDev->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &pSurface, nullptr))
- || FAILED(hr = m_pD3DDev->GetRenderTargetData(m_pVideoSurface[m_nCurSurface], pSurface))
+ || FAILED(hr = m_pD3DDev->GetRenderTargetData(pVideoSurface, pSurface))
|| FAILED(hr = pSurface->LockRect(&r, nullptr, D3DLOCK_READONLY))) {
return hr;
}
@@ -2344,10 +2348,9 @@ STDMETHODIMP CBaseAP::GetDIB(BYTE* lpDib, DWORD* size)
bih->biPlanes = 1;
bih->biSizeImage = bih->biWidth * bih->biHeight * bih->biBitCount >> 3;
- BitBltFromRGBToRGB(
- bih->biWidth, bih->biHeight,
- (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
- (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
+ BitBltFromRGBToRGB(bih->biWidth, bih->biHeight,
+ (BYTE*)(bih + 1), bih->biWidth * bih->biBitCount >> 3, bih->biBitCount,
+ (BYTE*)r.pBits + r.Pitch * (desc.Height - 1), -(int)r.Pitch, 32);
pSurface->UnlockRect();
@@ -3859,7 +3862,7 @@ HRESULT CSyncAP::GetFreeSample(IMFSample** ppSample)
HRESULT hr = S_OK;
if (m_FreeSamples.GetCount() > 1) { // Cannot use first free buffer (can be currently displayed)
- InterlockedIncrement(&m_nUsedBuffer);
+ m_nUsedBuffer++;
*ppSample = m_FreeSamples.RemoveHead().Detach();
} else {
hr = MF_E_SAMPLEALLOCATOR_EMPTY;
@@ -3887,7 +3890,8 @@ HRESULT CSyncAP::GetScheduledSample(IMFSample** ppSample, int& _Count)
void CSyncAP::MoveToFreeList(IMFSample* pSample, bool bTail)
{
CAutoLock lock(&m_SampleQueueLock);
- InterlockedDecrement(&m_nUsedBuffer);
+
+ m_nUsedBuffer--;
if (m_bPendingMediaFinished && m_nUsedBuffer == 0) {
m_bPendingMediaFinished = false;
m_pSink->Notify(EC_COMPLETE, 0, 0);
diff --git a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
index 017d4186e..c709d4564 100644
--- a/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
+++ b/src/filters/renderer/VideoRenderers/VideoRenderers.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
index 899aeba1e..0124367e6 100644
--- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
@@ -107,7 +107,7 @@ HRESULT CmadVRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
HRESULT hr = S_OK;
if (!m_pSubPicQueue) {
- CAutoLock(this);
+ CAutoLock cAutoLock(this);
m_pSubPicQueue = r.subPicQueueSettings.nSize > 0
? (ISubPicQueue*)DEBUG_NEW CSubPicQueue(r.subPicQueueSettings, m_pAllocator, &hr)
: (ISubPicQueue*)DEBUG_NEW CSubPicQueueNoThread(r.subPicQueueSettings, m_pAllocator, &hr);
diff --git a/src/filters/source/BaseSource/BaseSource.cpp b/src/filters/source/BaseSource/BaseSource.cpp
index a9a4d8f78..df2549943 100644
--- a/src/filters/source/BaseSource/BaseSource.cpp
+++ b/src/filters/source/BaseSource/BaseSource.cpp
@@ -34,11 +34,11 @@
CBaseStream::CBaseStream(TCHAR* name, CSource* pParent, HRESULT* phr)
: CSourceStream(name, phr, pParent, L"Output")
, CSourceSeeking(name, (IPin*)this, phr, &m_cSharedState)
- , m_bDiscontinuity(FALSE)
- , m_bFlushing(FALSE)
, m_AvgTimePerFrame(0)
, m_rtSampleTime(0)
, m_rtPosition(0)
+ , m_bDiscontinuity(FALSE)
+ , m_bFlushing(FALSE)
{
CAutoLock cAutoLock(&m_cSharedState);
m_rtDuration = m_rtStop = 0;
diff --git a/src/filters/source/BaseSource/BaseSource.vcxproj b/src/filters/source/BaseSource/BaseSource.vcxproj
index a9d3bac4d..01dc2c798 100644
--- a/src/filters/source/BaseSource/BaseSource.vcxproj
+++ b/src/filters/source/BaseSource/BaseSource.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/source/SubtitleSource/SubtitleSource.cpp b/src/filters/source/SubtitleSource/SubtitleSource.cpp
index 88fa45ef7..0a8983818 100644
--- a/src/filters/source/SubtitleSource/SubtitleSource.cpp
+++ b/src/filters/source/SubtitleSource/SubtitleSource.cpp
@@ -228,9 +228,9 @@ STDMETHODIMP CSubtitleSource::QueryFilterInfo(FILTER_INFO* pInfo)
CSubtitleStream::CSubtitleStream(const WCHAR* wfn, CSubtitleSource* pParent, HRESULT* phr)
: CSourceStream(NAME("SubtitleStream"), phr, pParent, L"Output")
, CSourceSeeking(NAME("SubtitleStream"), (IPin*)this, phr, &m_cSharedState)
+ , m_nPosition(0)
, m_bDiscontinuity(FALSE)
, m_bFlushing(FALSE)
- , m_nPosition(0)
, m_rts(nullptr)
{
CAutoLock cAutoLock(&m_cSharedState);
diff --git a/src/filters/switcher/AudioSwitcher/Audio.cpp b/src/filters/switcher/AudioSwitcher/Audio.cpp
index b53f4bd08..1313d82ea 100644
--- a/src/filters/switcher/AudioSwitcher/Audio.cpp
+++ b/src/filters/switcher/AudioSwitcher/Audio.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -178,14 +178,14 @@ static void make_downsample_filter(long* filter_bank, int filter_width, long sam
}
AudioStreamResampler::AudioStreamResampler(int bps, long orig_rate, long new_rate, bool fHighQuality)
- : samp_frac(0x80000)
- , bps(bps)
+ : ptsampleRout(audio_pointsample_16)
+ , dnsampleRout(audio_downsample_mono16)
+ , samp_frac(0x80000)
+ , accum(0)
, holdover(0)
, filter_bank(nullptr)
, filter_width(1)
- , accum(0)
- , ptsampleRout(audio_pointsample_16)
- , dnsampleRout(audio_downsample_mono16)
+ , bps(bps)
{
if (bps == 1) {
ptsampleRout = audio_pointsample_8;
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp b/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
index a652ff940..8df7df63a 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
@@ -86,13 +86,13 @@ CAudioSwitcherFilter::CAudioSwitcherFilter(LPUNKNOWN lpunk, HRESULT* phr)
, m_fCustomChannelMapping(false)
, m_fDownSampleTo441(false)
, m_rtAudioTimeShift(0)
- , m_rtNextStart(0)
- , m_rtNextStop(1)
, m_fNormalize(false)
, m_fNormalizeRecover(false)
, m_nMaxNormFactor(4.0)
, m_boostFactor(1.0)
, m_normalizeFactor(m_nMaxNormFactor)
+ , m_rtNextStart(0)
+ , m_rtNextStop(1)
{
ZeroMemory(m_pSpeakerToChannelMap, sizeof(m_pSpeakerToChannelMap));
diff --git a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
index 27dcb0122..3ed0a834d 100644
--- a/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
+++ b/src/filters/transform/BaseVideoFilter/BaseVideoFilter.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp b/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
index 0811d48cc..828b20bdf 100644
--- a/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
+++ b/src/filters/transform/VSFilter/DirectVobSubPropPage.cpp
@@ -122,9 +122,9 @@ STDMETHODIMP CDVSBasePPage::Activate(HWND hwndParent, LPCRECT pRect, BOOL fModal
CDVSBasePPage::CDVSBasePPage(TCHAR* pName, LPUNKNOWN lpunk, int DialogId, int TitleId)
: CBasePropertyPage(pName, lpunk, DialogId, TitleId)
+ , m_fDisableInstantUpdate(false)
, m_bIsInitialized(FALSE)
, m_fAttached(false)
- , m_fDisableInstantUpdate(false)
{
}
@@ -297,9 +297,9 @@ void CDVSBasePPage::BindControl(UINT id, CWnd& control)
CDVSMainPPage::CDVSMainPPage(LPUNKNOWN pUnk, HRESULT* phr)
: CDVSBasePPage(NAME("VSFilter Property Page (main)"), pUnk, IDD_DVSMAINPAGE, IDD_DVSMAINPAGE)
, m_fn()
+ , m_iSelectedLanguage(0)
, m_nLangs(0)
, m_ppLangs(nullptr)
- , m_iSelectedLanguage(0)
, m_fOverridePlacement(false)
, m_PlacementXperc(50)
, m_PlacementYperc(90)
diff --git a/src/filters/transform/VSFilter/VSFilter.cpp b/src/filters/transform/VSFilter/VSFilter.cpp
index 13e39ce41..8da330ec3 100644
--- a/src/filters/transform/VSFilter/VSFilter.cpp
+++ b/src/filters/transform/VSFilter/VSFilter.cpp
@@ -70,16 +70,6 @@ int CVSFilterApp::ExitInstance()
return CWinApp::ExitInstance();
}
-HINSTANCE CVSFilterApp::LoadAppLangResourceDLL()
-{
- CString fn;
- fn.ReleaseBufferSetLength(::GetModuleFileName(m_hInstance, fn.GetBuffer(MAX_PATH), MAX_PATH));
- fn = fn.Mid(fn.ReverseFind('\\') + 1);
- fn = fn.Left(fn.ReverseFind('.') + 1);
- fn = fn + _T("lang");
- return ::LoadLibrary(fn);
-}
-
CVSFilterApp theApp;
//////////////////////////////////////////////////////////////////////////
diff --git a/src/filters/transform/VSFilter/VSFilter.h b/src/filters/transform/VSFilter/VSFilter.h
index 16df82263..e614c6b59 100644
--- a/src/filters/transform/VSFilter/VSFilter.h
+++ b/src/filters/transform/VSFilter/VSFilter.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2012 see Authors.txt
+ * (C) 2006-2012,2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,9 +29,6 @@ public:
CVSFilterApp();
CString m_AppName;
-protected:
- HINSTANCE LoadAppLangResourceDLL();
-
public:
BOOL InitInstance();
BOOL ExitInstance();
diff --git a/src/filters/transform/VSFilter/VSFilter.vcxproj b/src/filters/transform/VSFilter/VSFilter.vcxproj
index ff7c49aaa..c521cf4b7 100644
--- a/src/filters/transform/VSFilter/VSFilter.vcxproj
+++ b/src/filters/transform/VSFilter/VSFilter.vcxproj
@@ -66,8 +66,6 @@
<Import Project="..\..\..\common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\thirdparty;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
diff --git a/src/filters/transform/VSFilter/installer/vsfilter_setup.iss b/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
index f5ab2980d..96506b364 100644
--- a/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
+++ b/src/filters/transform/VSFilter/installer/vsfilter_setup.iss
@@ -1,4 +1,4 @@
-; (C) 2012-2014 see Authors.txt
+; (C) 2012-2015 see Authors.txt
;
; This file is part of MPC-HC.
;
@@ -36,7 +36,7 @@
#include AddBackslash(top_dir) + "include\mpc-hc_config.h"
#include AddBackslash(top_dir) + "include\version.h"
-#define copyright_str "2001-2014"
+#define copyright_str "2001-2015"
#define app_name "VSFilter"
#define app_version str(VerMajor) + "." + str(VerMinor) + "." + str(MPC_VERSION_REV)
diff --git a/src/filters/transform/VSFilter/res/VSFilter.manifest b/src/filters/transform/VSFilter/res/VSFilter.manifest
index ad2b2bf1a..d5def26e8 100644
--- a/src/filters/transform/VSFilter/res/VSFilter.manifest
+++ b/src/filters/transform/VSFilter/res/VSFilter.manifest
@@ -32,6 +32,7 @@
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+ <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
diff --git a/src/mpc-hc/AboutDlg.cpp b/src/mpc-hc/AboutDlg.cpp
index ca1bd1bfd..d394a5073 100644
--- a/src/mpc-hc/AboutDlg.cpp
+++ b/src/mpc-hc/AboutDlg.cpp
@@ -28,7 +28,7 @@
#include "FileVersionInfo.h"
#include "VersionInfo.h"
#include "SysVersion.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include <afxole.h>
extern "C" char g_Gcc_Compiler[];
@@ -37,13 +37,6 @@ extern "C" char g_Gcc_Compiler[];
// CAboutDlg dialog used for App About
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
- , m_appname(_T(""))
- , m_strBuildNumber(_T(""))
- , m_MPCCompiler(_T(""))
- , m_LAVFilters(_T(""))
-#ifndef MPCHC_LITE
- , m_LAVFiltersVersion(_T(""))
-#endif
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
@@ -84,9 +77,9 @@ BOOL CAboutDlg::OnInitDialog()
#endif
// Build the path to Authors.txt
- m_AuthorsPath = GetProgramPath() + _T("Authors.txt");
+ m_AuthorsPath = PathUtils::CombinePaths(PathUtils::GetProgramPath(), _T("Authors.txt"));
// Check if the file exists
- if (FileExists(m_AuthorsPath)) {
+ if (PathUtils::Exists(m_AuthorsPath)) {
// If it does, we make the filename clickable
m_credits.Replace(_T("Authors.txt"), _T("<a>Authors.txt</a>"));
}
@@ -103,7 +96,9 @@ BOOL CAboutDlg::OnInitDialog()
#endif
#elif defined(_MSC_VER)
#if (_MSC_VER == 1800) // 2013
-#if (_MSC_FULL_VER == 180030723)
+#if (_MSC_FULL_VER == 180031101)
+ m_MPCCompiler = _T("MSVC 2013 Update 4");
+#elif (_MSC_FULL_VER == 180030723)
m_MPCCompiler = _T("MSVC 2013 Update 3");
#elif (_MSC_FULL_VER == 180030501)
m_MPCCompiler = _T("MSVC 2013 Update 2");
diff --git a/src/mpc-hc/AppSettings.cpp b/src/mpc-hc/AppSettings.cpp
index e2183d72a..381bd1dec 100644
--- a/src/mpc-hc/AppSettings.cpp
+++ b/src/mpc-hc/AppSettings.cpp
@@ -28,6 +28,7 @@
#include "VersionInfo.h"
#include "SysVersion.h"
#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include "Translations.h"
#include "UpdateChecker.h"
#include "moreuuids.h"
@@ -36,7 +37,7 @@
#pragma warning(push)
#pragma warning(disable: 4351) // new behavior: elements of array 'array' will be default initialized
CAppSettings::CAppSettings()
- : fInitialized(false)
+ : bInitialized(false)
, hAccel(nullptr)
, nCmdlnWebServerPort(-1)
, fShowDebugInfo(false)
@@ -60,7 +61,7 @@ CAppSettings::CAppSettings()
, iBDAScanFreqStart(474000)
, iBDAScanFreqEnd(858000)
, fBDAIgnoreEncryptedChannels(false)
- , nDVBLastChannel(1)
+ , nDVBLastChannel(INT_ERROR)
, nDVBStopFilterGraph(DVB_STOP_FG_WHEN_SWITCHING)
, nDVBRebuildFilterGraph(DVB_REBUILD_FG_WHEN_SWITCHING)
, fEnableAudioSwitcher(true)
@@ -575,6 +576,7 @@ void CAppSettings::CreateCommands()
ADDCMD((ID_AFTERPLAYBACK_LOGOFF, 0, FVIRTKEY | FNOINVERT, IDS_AFTERPLAYBACK_LOGOFF));
ADDCMD((ID_AFTERPLAYBACK_LOCK, 0, FVIRTKEY | FNOINVERT, IDS_AFTERPLAYBACK_LOCK));
ADDCMD((ID_AFTERPLAYBACK_MONITOROFF, 0, FVIRTKEY | FNOINVERT, IDS_AFTERPLAYBACK_MONITOROFF));
+ ADDCMD((ID_AFTERPLAYBACK_PLAYNEXT, 0, FVIRTKEY | FNOINVERT, IDS_AFTERPLAYBACK_PLAYNEXT));
ADDCMD((ID_VIEW_EDITLISTEDITOR, 0, FVIRTKEY | FNOINVERT, IDS_AG_TOGGLE_EDITLISTEDITOR));
ADDCMD((ID_EDL_IN, 0, FVIRTKEY | FNOINVERT, IDS_AG_EDL_IN));
@@ -653,7 +655,7 @@ void CAppSettings::SaveSettings()
CMPlayerCApp* pApp = AfxGetMyApp();
ASSERT(pApp);
- if (!fInitialized) {
+ if (!bInitialized) {
return;
}
@@ -823,14 +825,10 @@ void CAppSettings::SaveSettings()
pApp->WriteProfileInt(IDS_R_DVB, IDS_RS_DVB_REBUILD_FG, nDVBRebuildFilterGraph);
pApp->WriteProfileInt(IDS_R_DVB, IDS_RS_DVB_STOP_FG, nDVBStopFilterGraph);
- int iChannel = 0;
- POSITION pos = m_DVBChannels.GetHeadPosition();
- while (pos) {
- CString strTemp2;
- CDVBChannel& Channel = m_DVBChannels.GetNext(pos);
- strTemp2.Format(_T("%d"), iChannel);
- pApp->WriteProfileString(IDS_R_DVB, strTemp2, Channel.ToString());
- iChannel++;
+ for (size_t i = 0; i < m_DVBChannels.size(); i++) {
+ CString numChannel;
+ numChannel.Format(_T("%Iu"), i);
+ pApp->WriteProfileString(IDS_R_DVB, numChannel, m_DVBChannels[i].ToString());
}
pApp->WriteProfileInt(IDS_R_SETTINGS, IDS_RS_DVDPOS, fRememberDVDPos);
@@ -859,7 +857,7 @@ void CAppSettings::SaveSettings()
}
pApp->WriteProfileString(IDS_R_COMMANDS, nullptr, nullptr);
- pos = wmcmds.GetHeadPosition();
+ POSITION pos = wmcmds.GetHeadPosition();
for (int i = 0; pos;) {
wmcmd& wc = wmcmds.GetNext(pos);
if (wc.IsModified()) {
@@ -1177,7 +1175,7 @@ void CAppSettings::LoadSettings()
UINT len;
BYTE* ptr = nullptr;
- if (fInitialized) {
+ if (bInitialized) {
return;
}
@@ -1210,7 +1208,7 @@ void CAppSettings::LoadSettings()
fLoopForever = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_LOOP, FALSE);
iZoomLevel = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_ZOOM, 1);
iDSVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_DSVIDEORENDERERTYPE,
- SysVersion::IsVistaOrLater() ? (IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS) : VIDRNDT_DS_VMR7RENDERLESS);
+ SysVersion::IsVistaOrLater() ? (IsVideoRendererAvailable(VIDRNDT_DS_EVR_CUSTOM) ? VIDRNDT_DS_EVR_CUSTOM : VIDRNDT_DS_VMR9RENDERLESS) : VIDRNDT_DS_VMR7RENDERLESS);
iRMVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_RMVIDEORENDERERTYPE, VIDRNDT_RM_DEFAULT);
iQTVideoRendererType = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_QTVIDEORENDERERTYPE, VIDRNDT_QT_DEFAULT);
nVolumeStep = pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_VOLUMESTEP, 5);
@@ -1348,8 +1346,8 @@ void CAppSettings::LoadSettings()
{
CString temp = pApp->GetProfileString(IDS_R_SETTINGS, IDS_RS_SPSTYLE);
subtitlesDefStyle <<= temp;
- if (temp.IsEmpty()) {
- subtitlesDefStyle.relativeTo = STSStyle::AUTO; // default to auto mode
+ if (temp.IsEmpty()) { // Position the text subtitles relative to the video frame by default
+ subtitlesDefStyle.relativeTo = STSStyle::VIDEO;
}
}
fOverridePlacement = !!pApp->GetProfileInt(IDS_R_SETTINGS, IDS_RS_SPOVERRIDEPLACEMENT, FALSE);
@@ -1610,21 +1608,24 @@ void CAppSettings::LoadSettings()
fBDAUseOffset = !!pApp->GetProfileInt(IDS_R_DVB, IDS_RS_BDA_USE_OFFSET, FALSE);
iBDAOffset = pApp->GetProfileInt(IDS_R_DVB, IDS_RS_BDA_OFFSET, 166);
fBDAIgnoreEncryptedChannels = !!pApp->GetProfileInt(IDS_R_DVB, IDS_RS_BDA_IGNORE_ENCRYPTED_CHANNELS, FALSE);
- nDVBLastChannel = pApp->GetProfileInt(IDS_R_DVB, IDS_RS_DVB_LAST_CHANNEL, 1);
+ nDVBLastChannel = pApp->GetProfileInt(IDS_R_DVB, IDS_RS_DVB_LAST_CHANNEL, INT_ERROR);
nDVBRebuildFilterGraph = (DVB_RebuildFilterGraph) pApp->GetProfileInt(IDS_R_DVB, IDS_RS_DVB_REBUILD_FG, DVB_REBUILD_FG_WHEN_SWITCHING);
nDVBStopFilterGraph = (DVB_StopFilterGraph) pApp->GetProfileInt(IDS_R_DVB, IDS_RS_DVB_STOP_FG, DVB_STOP_FG_WHEN_SWITCHING);
for (int iChannel = 0; ; iChannel++) {
CString strTemp;
- CString strChannel;
- CDVBChannel channel;
strTemp.Format(_T("%d"), iChannel);
- strChannel = pApp->GetProfileString(IDS_R_DVB, strTemp);
+ CString strChannel = pApp->GetProfileString(IDS_R_DVB, strTemp);
if (strChannel.IsEmpty()) {
break;
}
- if (channel.FromString(strChannel)) {
- m_DVBChannels.AddTail(channel);
+ try {
+ m_DVBChannels.emplace_back(strChannel);
+ } catch (CException* e) {
+ // The tokenisation can fail if the input string was invalid
+ TRACE(_T("Failed to parse a DVB channel from string \"%s\""), strChannel);
+ ASSERT(FALSE);
+ e->Delete();
}
}
@@ -1662,7 +1663,7 @@ void CAppSettings::LoadSettings()
nCLSwitches |= CLSW_FULLSCREEN;
}
- fInitialized = true;
+ bInitialized = true;
}
bool CAppSettings::GetAllowMultiInst() const
@@ -1860,7 +1861,7 @@ CString CAppSettings::ParseFileName(CString const& param)
if (param.Find(_T(":")) < 0) {
fullPathName.ReleaseBuffer(GetFullPathName(param, MAX_PATH, fullPathName.GetBuffer(MAX_PATH), nullptr));
- if (!fullPathName.IsEmpty() && FileExists(fullPathName)) {
+ if (!fullPathName.IsEmpty() && PathUtils::Exists(fullPathName)) {
return fullPathName;
}
}
@@ -2004,6 +2005,8 @@ void CAppSettings::ParseCommandLine(CAtlList<CString>& cmdln)
nCLSwitches |= CLSW_RESET;
} else if (sw == _T("monitoroff")) {
nCLSwitches |= CLSW_MONITOROFF;
+ } else if (sw == _T("playnext")) {
+ nCLSwitches |= CLSW_PLAYNEXT;
} else {
nCLSwitches |= CLSW_HELP | CLSW_UNRECOGNIZEDSWITCH;
}
@@ -2091,21 +2094,17 @@ void CAppSettings::AddFav(favtype ft, CString s)
CDVBChannel* CAppSettings::FindChannelByPref(int nPrefNumber)
{
- POSITION pos = m_DVBChannels.GetHeadPosition();
- while (pos) {
- CDVBChannel& Channel = m_DVBChannels.GetNext(pos);
- if (Channel.GetPrefNumber() == nPrefNumber) {
- return &Channel;
- }
- }
+ auto it = find_if(m_DVBChannels.begin(), m_DVBChannels.end(), [&](CDVBChannel const & channel) {
+ return channel.GetPrefNumber() == nPrefNumber;
+ });
- return nullptr;
+ return it != m_DVBChannels.end() ? &(*it) : nullptr;
}
// Settings::CRecentFileAndURLList
CAppSettings::CRecentFileAndURLList::CRecentFileAndURLList(UINT nStart, LPCTSTR lpszSection,
- LPCTSTR lpszEntryFormat, int nSize,
- int nMaxDispLen)
+ LPCTSTR lpszEntryFormat, int nSize,
+ int nMaxDispLen)
: CRecentFileList(nStart, lpszSection, lpszEntryFormat, nSize, nMaxDispLen)
{
}
diff --git a/src/mpc-hc/AppSettings.h b/src/mpc-hc/AppSettings.h
index fbe6c33e1..bfd53c27a 100644
--- a/src/mpc-hc/AppSettings.h
+++ b/src/mpc-hc/AppSettings.h
@@ -58,8 +58,9 @@ enum : UINT64 {
CLSW_LOGOFF = CLSW_SHUTDOWN << 1,
CLSW_LOCK = CLSW_LOGOFF << 1,
CLSW_MONITOROFF = CLSW_LOCK << 1,
- CLSW_AFTERPLAYBACK_MASK = CLSW_CLOSE | CLSW_STANDBY | CLSW_SHUTDOWN | CLSW_HIBERNATE | CLSW_LOGOFF | CLSW_LOCK | CLSW_MONITOROFF,
- CLSW_FULLSCREEN = CLSW_MONITOROFF << 1,
+ CLSW_PLAYNEXT = CLSW_MONITOROFF << 1,
+ CLSW_AFTERPLAYBACK_MASK = CLSW_CLOSE | CLSW_STANDBY | CLSW_SHUTDOWN | CLSW_HIBERNATE | CLSW_LOGOFF | CLSW_LOCK | CLSW_MONITOROFF | CLSW_PLAYNEXT,
+ CLSW_FULLSCREEN = CLSW_PLAYNEXT << 1,
CLSW_NEW = CLSW_FULLSCREEN << 1,
CLSW_HELP = CLSW_NEW << 1,
CLSW_DVD = CLSW_HELP << 1,
@@ -81,7 +82,7 @@ enum : UINT64 {
CLSW_SLAVE = CLSW_ADMINOPTION << 1,
CLSW_AUDIORENDERER = CLSW_SLAVE << 1,
CLSW_RESET = CLSW_AUDIORENDERER << 1,
- CLSW_UNRECOGNIZEDSWITCH = CLSW_RESET << 1, // 32
+ CLSW_UNRECOGNIZEDSWITCH = CLSW_RESET << 1 // 33
};
enum MpcCaptionState {
@@ -280,7 +281,6 @@ public:
, mouseorg(NONE)
, mouseFS(NONE)
, mouseFSorg(NONE)
- , rmcmd("")
, rmrepcnt(0) {
this->cmd = cmd;
this->key = 0;
@@ -374,7 +374,7 @@ public:
class CAppSettings
{
- bool fInitialized;
+ bool bInitialized;
class CRecentFileAndURLList : public CRecentFileList
{
@@ -490,8 +490,7 @@ public:
UINT nVolumeStep;
UINT nSpeedStep;
- enum class AfterPlayback
- {
+ enum class AfterPlayback {
DO_NOTHING,
PLAY_NEXT,
REWIND,
@@ -518,8 +517,7 @@ public:
// Fullscreen
bool fLaunchfullscreen;
bool bHideFullscreenControls;
- enum class HideFullscreenControlsPolicy
- {
+ enum class HideFullscreenControlsPolicy {
SHOW_NEVER,
SHOW_WHEN_HOVERED,
SHOW_WHEN_CURSOR_MOVED,
@@ -547,8 +545,8 @@ public:
bool fBDAUseOffset;
int iBDAOffset;
bool fBDAIgnoreEncryptedChannels;
- UINT nDVBLastChannel;
- CAtlList<CDVBChannel> m_DVBChannels;
+ int nDVBLastChannel;
+ std::vector<CDVBChannel> m_DVBChannels;
DVB_RebuildFilterGraph nDVBRebuildFilterGraph;
DVB_StopFilterGraph nDVBStopFilterGraph;
@@ -722,9 +720,11 @@ public:
void SaveSettings();
void LoadSettings();
- void SaveExternalFilters() { if (fInitialized) { SaveExternalFilters(m_filters); } };
+ void SaveExternalFilters() { if (bInitialized) { SaveExternalFilters(m_filters); } };
void UpdateSettings();
+ void SetAsUninitialized() { bInitialized = false; };
+
void GetFav(favtype ft, CAtlList<CString>& sl) const;
void SetFav(favtype ft, CAtlList<CString>& sl);
void AddFav(favtype ft, CString s);
diff --git a/src/mpc-hc/AuthDlg.cpp b/src/mpc-hc/AuthDlg.cpp
index 421568cf7..496f5cc17 100644
--- a/src/mpc-hc/AuthDlg.cpp
+++ b/src/mpc-hc/AuthDlg.cpp
@@ -42,13 +42,13 @@ HRESULT PromptForCredentials(HWND hWnd, const CString& strCaptionText, const CSt
if (SysVersion::IsVistaOrLater()) {
// Define CredUI.dll functions for Windows Vista+
- const WinapiFunc<BOOL(DWORD, LPWSTR, LPWSTR, PBYTE, DWORD*)>
+ const WinapiFunc<decltype(CredPackAuthenticationBufferW)>
fnCredPackAuthenticationBufferW = { "CREDUI.DLL", "CredPackAuthenticationBufferW" };
- const WinapiFunc<DWORD(PCREDUI_INFOW, DWORD, ULONG*, LPCVOID, ULONG, LPVOID*, ULONG*, BOOL*, DWORD)>
+ const WinapiFunc<decltype(CredUIPromptForWindowsCredentialsW)>
fnCredUIPromptForWindowsCredentialsW = { "CREDUI.DLL", "CredUIPromptForWindowsCredentialsW" };
- const WinapiFunc<BOOL(DWORD, PVOID, DWORD, LPWSTR, DWORD*, LPWSTR, DWORD*, LPWSTR, DWORD*)>
+ const WinapiFunc<decltype(CredUnPackAuthenticationBufferW)>
fnCredUnPackAuthenticationBufferW = { "CREDUI.DLL", "CredUnPackAuthenticationBufferW" };
if (fnCredPackAuthenticationBufferW && fnCredUIPromptForWindowsCredentialsW && fnCredUnPackAuthenticationBufferW) {
@@ -92,10 +92,10 @@ HRESULT PromptForCredentials(HWND hWnd, const CString& strCaptionText, const CSt
}
} else if (SysVersion::IsXPOrLater()) {
// Define CredUI.dll functions for Windows XP
- const WinapiFunc<DWORD(PCREDUI_INFOW, PCWSTR, PCtxtHandle, DWORD, PCWSTR, ULONG, PCWSTR, ULONG, PBOOL, DWORD)>
+ const WinapiFunc<decltype(CredUIPromptForCredentialsW)>
fnCredUIPromptForCredentialsW = { "CREDUI.DLL", "CredUIPromptForCredentialsW" };
- const WinapiFunc<DWORD(PCWSTR, PWSTR, ULONG, PWSTR, ULONG)>
+ const WinapiFunc<decltype(CredUIParseUserNameW)>
fnCredUIParseUserNameW = { "CREDUI.DLL", "CredUIParseUserNameW" };
if (fnCredUIPromptForCredentialsW && fnCredUIParseUserNameW) {
@@ -107,7 +107,7 @@ HRESULT PromptForCredentials(HWND hWnd, const CString& strCaptionText, const CSt
}
DWORD dwResult = fnCredUIPromptForCredentialsW(&info, strDomain.Left(dwDomain), nullptr, dwAuthError,
- strUserDomain.GetBufferSetLength(dwUsername), dwUsername, strPassword.GetBufferSetLength(dwPassword), dwPassword, bSave, dwFlags);
+ strUserDomain.GetBufferSetLength(dwUsername), dwUsername, strPassword.GetBufferSetLength(dwPassword), dwPassword, bSave, dwFlags);
strUserDomain.ReleaseBuffer();
strPassword.ReleaseBuffer();
diff --git a/src/mpc-hc/ChildView.cpp b/src/mpc-hc/ChildView.cpp
index 5aed6e423..53e034205 100644
--- a/src/mpc-hc/ChildView.cpp
+++ b/src/mpc-hc/ChildView.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -116,15 +116,34 @@ void CChildView::SetVideoRect(const CRect& r)
void CChildView::LoadImg(const CString& imagePath)
{
+ CMPCPngImage img;
+
+ if (!imagePath.IsEmpty()) {
+ img.LoadFromFile(imagePath);
+ }
+
+ LoadImgInternal(img.Detach());
+}
+
+void CChildView::LoadImg(std::vector<BYTE> buffer)
+{
+ CMPCPngImage img;
+
+ if (!buffer.empty()) {
+ img.LoadFromBuffer(buffer.data(), (UINT)buffer.size());
+ }
+
+ LoadImgInternal(img.Detach());
+}
+
+void CChildView::LoadImgInternal(HGDIOBJ hImg)
+{
CAppSettings& s = AfxGetAppSettings();
bool bHaveLogo = false;
- m_bCustomImgLoaded = false;
m_img.DeleteObject();
-
- if (!imagePath.IsEmpty()) {
- m_bCustomImgLoaded = !!m_img.LoadFromFile(imagePath);
- }
+ m_resizedImg.Destroy();
+ m_bCustomImgLoaded = !!m_img.Attach(hImg);
if (!m_bCustomImgLoaded && s.fLogoExternal) {
bHaveLogo = !!m_img.LoadFromFile(s.strLogoFileName);
@@ -205,9 +224,17 @@ BOOL CChildView::OnEraseBkgnd(CDC* pDC)
r = CRect(CPoint(x, y), CSize(std::lround(dImgWidth), std::lround(dImgHeight)));
- int oldmode = pDC->SetStretchBltMode(STRETCH_HALFTONE);
- img.StretchBlt(*pDC, r, CRect(0, 0, img.GetWidth(), img.GetHeight()));
- pDC->SetStretchBltMode(oldmode);
+ if (m_resizedImg.IsNull() || r.Width() != m_resizedImg.GetWidth() || r.Height() != m_resizedImg.GetHeight() || img.GetBPP() != m_resizedImg.GetBPP()) {
+ m_resizedImg.Destroy();
+ m_resizedImg.Create(r.Width(), r.Height(), img.GetBPP());
+
+ HDC hDC = m_resizedImg.GetDC();
+ SetStretchBltMode(hDC, STRETCH_HALFTONE);
+ img.StretchBlt(hDC, 0, 0, r.Width(), r.Height(), SRCCOPY);
+ m_resizedImg.ReleaseDC();
+ }
+
+ m_resizedImg.BitBlt(*pDC, r.TopLeft());
pDC->ExcludeClipRect(r);
}
img.Detach();
diff --git a/src/mpc-hc/ChildView.h b/src/mpc-hc/ChildView.h
index b71fd3acd..1be07c44c 100644
--- a/src/mpc-hc/ChildView.h
+++ b/src/mpc-hc/ChildView.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,6 +29,7 @@ class CChildView : public CMouseWnd
CRect m_vrect;
CMPCPngImage m_img;
+ CImage m_resizedImg;
CMainFrame* m_pMainFrame;
@@ -40,6 +41,8 @@ class CChildView : public CMouseWnd
void EventCallback(MpcEvent ev);
+ void LoadImgInternal(HGDIOBJ hImg);
+
public:
CChildView(CMainFrame* pMainFrm);
virtual ~CChildView();
@@ -50,7 +53,9 @@ public:
CRect GetVideoRect() const { return m_vrect; }
void LoadImg(const CString& imagePath = _T(""));
+ void LoadImg(std::vector<BYTE> buffer);
CSize GetLogoSize();
+ bool IsCustomImgLoaded() const { return m_bCustomImgLoaded; };
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
diff --git a/src/mpc-hc/CoverArt.cpp b/src/mpc-hc/CoverArt.cpp
new file mode 100644
index 000000000..c167ab2df
--- /dev/null
+++ b/src/mpc-hc/CoverArt.cpp
@@ -0,0 +1,86 @@
+/*
+* (C) 2014 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC 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.
+*
+* MPC-HC 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 "DSUtil.h"
+#include "CoverArt.h"
+#include "DSMPropertyBag.h"
+
+CString CoverArt::FindExternal(const CString& path, const CString& author)
+{
+ if (!path.IsEmpty()) {
+ CAtlList<CString> files;
+ FindFiles(path + _T("\\*front*.png"), files);
+ FindFiles(path + _T("\\*front*.jp*g"), files);
+ FindFiles(path + _T("\\*front*.bmp"), files);
+ FindFiles(path + _T("\\*cover*.png"), files);
+ FindFiles(path + _T("\\*cover*.jp*g"), files);
+ FindFiles(path + _T("\\*cover*.bmp"), files);
+ FindFiles(path + _T("\\*folder*.png"), files);
+ FindFiles(path + _T("\\*folder*.jp*g"), files);
+ FindFiles(path + _T("\\*folder*.bmp"), files);
+ if (!author.IsEmpty()) {
+ FindFiles(path + _T("\\*") + author + _T("*.png"), files);
+ FindFiles(path + _T("\\*") + author + _T("*.jp*g"), files);
+ FindFiles(path + _T("\\*") + author + _T("*.bmp"), files);
+ }
+
+ if (!files.IsEmpty()) {
+ return files.GetHead();
+ }
+ }
+ return _T("");
+}
+
+bool CoverArt::FindEmbedded(CComPtr<IFilterGraph> pFilterGraph, std::vector<BYTE>& internalCover)
+{
+ internalCover.clear();
+
+ bool bGoodMatch = false;
+ BeginEnumFilters(pFilterGraph, pEF, pBF) {
+ if (CComQIPtr<IDSMResourceBag> pRB = pBF) {
+ for (DWORD j = 0; j < pRB->ResGetCount(); j++) {
+ CComBSTR name, desc, mime;
+ BYTE* pData = nullptr;
+ DWORD len = 0;
+
+ if (SUCCEEDED(pRB->ResGet(j, &name, &desc, &mime, &pData, &len, nullptr)) && len > 0) {
+ if (name == _T("EmbeddedCover.jpg")) { // Embedded cover as exported by our custom internal LAV Splitter
+ internalCover.assign(pData, pData + len);
+ break; // Always preferred
+ } else if (!bGoodMatch && CString(mime).MakeLower().Find(_T("image")) != -1) {
+ // Check if we have a good match
+ CString nameLower = CString(name).MakeLower();
+ bGoodMatch = nameLower.Find(_T("cover")) || nameLower.Find(_T("front"));
+ // Override the previous match only if we think this one is better
+ if (bGoodMatch || internalCover.empty()) {
+ internalCover.assign(pData, pData + len);
+ }
+ // Keep looking for a better match
+ }
+ CoTaskMemFree(pData);
+ }
+ }
+ }
+ }
+ EndEnumFilters;
+
+ return !internalCover.empty();
+}
diff --git a/src/mpc-hc/CoverArt.h b/src/mpc-hc/CoverArt.h
new file mode 100644
index 000000000..37d7aa6c0
--- /dev/null
+++ b/src/mpc-hc/CoverArt.h
@@ -0,0 +1,31 @@
+/*
+* (C) 2014 see Authors.txt
+*
+* This file is part of MPC-HC.
+*
+* MPC-HC 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.
+*
+* MPC-HC 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 <afx.h>
+#include <vector>
+
+namespace CoverArt
+{
+ CString FindExternal(const CString& path, const CString& author);
+
+ bool FindEmbedded(CComPtr<IFilterGraph> pFilterGraph, std::vector<BYTE>& internalCover);
+}
diff --git a/src/mpc-hc/DVBChannel.cpp b/src/mpc-hc/DVBChannel.cpp
index 1d79addae..48d2f81ba 100644
--- a/src/mpc-hc/DVBChannel.cpp
+++ b/src/mpc-hc/DVBChannel.cpp
@@ -23,105 +23,80 @@
#include "DVBChannel.h"
-CDVBChannel::CDVBChannel()
- : m_ulFrequency(0)
- , m_nPrefNumber(0)
- , m_nOriginNumber(0)
- , m_bEncrypted(false)
- , m_bNowNextFlag(false)
- , m_ulONID(0)
- , m_ulTSID(0)
- , m_ulSID(0)
- , m_ulPMT(0)
- , m_ulPCR(0)
- , m_ulVideoPID(0)
- , m_nVideoType(DVB_MPV)
- , m_nVideoFps(DVB_FPS_25_0)
- , m_nVideoChroma(DVB_Chroma_4_2_0)
- , m_nVideoWidth(0)
- , m_nVideoHeight(0)
- , m_nVideoAR(DVB_AR_NULL)
- , m_nAudioCount(0)
- , m_nDefaultAudio(0)
- , m_nSubtitleCount(0)
- , m_nDefaultSubtitle(-1)
+CDVBChannel::CDVBChannel(CString strChannel)
{
+ FromString(strChannel);
}
-CDVBChannel::~CDVBChannel()
+void CDVBChannel::FromString(CString strValue)
{
-}
-
-bool CDVBChannel::FromString(CString strValue)
-{
- try {
- int i = 0;
+ int i = 0;
- int nVersion = _tstol(strValue.Tokenize(_T("|"), i));
- // We don't try to parse versions newer than the one we support
- if (nVersion > FORMAT_VERSION_CURRENT) {
- return false;
- }
-
- m_strName = strValue.Tokenize(_T("|"), i);
- m_ulFrequency = _tstol(strValue.Tokenize(_T("|"), i));
- m_nPrefNumber = _tstol(strValue.Tokenize(_T("|"), i));
- 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));
- m_ulPMT = _tstol(strValue.Tokenize(_T("|"), i));
- m_ulPCR = _tstol(strValue.Tokenize(_T("|"), i));
- 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));
- if (nVersion > FORMAT_VERSION_2) {
- m_nDefaultSubtitle = _tstol(strValue.Tokenize(_T("|"), i));
- }
+ int nVersion = _tstol(strValue.Tokenize(_T("|"), i));
+ // We don't try to parse versions newer than the one we support
+ if (nVersion > FORMAT_VERSION_CURRENT) {
+ AfxThrowInvalidArgException();
+ }
- for (int j = 0; j < m_nAudioCount; j++) {
- m_Audios[j].PID = _tstol(strValue.Tokenize(_T("|"), i));
- m_Audios[j].Type = (DVB_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_Audios[j].PesType = (PES_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_Audios[j].Language = strValue.Tokenize(_T("|"), i);
- }
+ m_strName = strValue.Tokenize(_T("|"), i);
+ m_ulFrequency = _tstol(strValue.Tokenize(_T("|"), i));
+ m_nPrefNumber = _tstol(strValue.Tokenize(_T("|"), i));
+ 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));
+ m_ulPMT = _tstol(strValue.Tokenize(_T("|"), i));
+ m_ulPCR = _tstol(strValue.Tokenize(_T("|"), i));
+ 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));
+ if (nVersion > FORMAT_VERSION_2) {
+ m_nDefaultSubtitle = _tstol(strValue.Tokenize(_T("|"), i));
+ }
- for (int j = 0; j < m_nSubtitleCount; j++) {
- m_Subtitles[j].PID = _tstol(strValue.Tokenize(_T("|"), i));
- m_Subtitles[j].Type = (DVB_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_Subtitles[j].PesType = (PES_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_Subtitles[j].Language = strValue.Tokenize(_T("|"), i);
- }
+ for (int j = 0; j < m_nAudioCount; j++) {
+ m_Audios[j].ulPID = _tstol(strValue.Tokenize(_T("|"), i));
+ m_Audios[j].nType = (DVB_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_Audios[j].nPesType = (PES_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_Audios[j].sLanguage = strValue.Tokenize(_T("|"), i);
+ }
- if (nVersion > FORMAT_VERSION_3) {
- m_nVideoFps = (DVB_FPS_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_nVideoChroma = (DVB_CHROMA_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- m_nVideoWidth = _tstol(strValue.Tokenize(_T("|"), i));
- m_nVideoHeight = _tstol(strValue.Tokenize(_T("|"), i));
- m_nVideoAR = (DVB_AspectRatio_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
- }
- } catch (CException* e) {
- // The tokenisation can fail if the input string was invalid
- TRACE(_T("Failed to parse a DVB channel from string \"%s\""), strValue);
- e->Delete();
- return false;
+ for (int j = 0; j < m_nSubtitleCount; j++) {
+ m_Subtitles[j].ulPID = _tstol(strValue.Tokenize(_T("|"), i));
+ m_Subtitles[j].nType = (DVB_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_Subtitles[j].nPesType = (PES_STREAM_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_Subtitles[j].sLanguage = strValue.Tokenize(_T("|"), i);
}
- return true;
+ if (nVersion > FORMAT_VERSION_3) {
+ m_nVideoFps = (DVB_FPS_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_nVideoChroma = (DVB_CHROMA_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ m_nVideoWidth = _tstol(strValue.Tokenize(_T("|"), i));
+ m_nVideoHeight = _tstol(strValue.Tokenize(_T("|"), i));
+ m_nVideoAR = (DVB_AspectRatio_TYPE)_tstol(strValue.Tokenize(_T("|"), i));
+ }
}
-CString CDVBChannel::ToString()
+CString CDVBChannel::ToString() const
{
+ auto substituteEmpty = [](const CString & lang) -> CString {
+ if (lang.IsEmpty())
+ {
+ return _T(" ");
+ }
+ return lang;
+ };
+
CString strValue;
strValue.AppendFormat(_T("%d|%s|%lu|%d|%d|%d|%d|%lu|%lu|%lu|%lu|%lu|%lu|%d|%d|%d|%d|%d"),
FORMAT_VERSION_CURRENT,
@@ -144,17 +119,11 @@ CString CDVBChannel::ToString()
m_nDefaultSubtitle);
for (int i = 0; i < m_nAudioCount; i++) {
- if (m_Audios[i].Language.IsEmpty()) {
- m_Audios[i].Language = " ";
- }
- strValue.AppendFormat(_T("|%lu|%d|%d|%s"), m_Audios[i].PID, m_Audios[i].Type, m_Audios[i].PesType, m_Audios[i].Language);
+ strValue.AppendFormat(_T("|%lu|%d|%d|%s"), m_Audios[i].ulPID, m_Audios[i].nType, m_Audios[i].nPesType, substituteEmpty(m_Audios[i].sLanguage));
}
for (int i = 0; i < m_nSubtitleCount; i++) {
- if (m_Subtitles[i].Language.IsEmpty()) {
- m_Subtitles[i].Language = " ";
- }
- strValue.AppendFormat(_T("|%lu|%d|%d|%s"), m_Subtitles[i].PID, m_Subtitles[i].Type, m_Subtitles[i].PesType, m_Subtitles[i].Language);
+ strValue.AppendFormat(_T("|%lu|%d|%d|%s"), m_Subtitles[i].ulPID, m_Subtitles[i].nType, m_Subtitles[i].nPesType, substituteEmpty(m_Subtitles[i].sLanguage));
}
strValue.AppendFormat(_T("|%d|%d|%lu|%lu|%d"),
@@ -163,6 +132,7 @@ CString CDVBChannel::ToString()
m_nVideoWidth,
m_nVideoHeight,
m_nVideoAR);
+
return strValue;
}
@@ -188,19 +158,19 @@ void CDVBChannel::AddStreamInfo(ULONG ulPID, DVB_STREAM_TYPE nType, PES_STREAM_T
case DVB_EAC3:
case DVB_LATM:
if (m_nAudioCount < DVB_MAX_AUDIO) {
- m_Audios[m_nAudioCount].PID = ulPID;
- m_Audios[m_nAudioCount].Type = nType;
- m_Audios[m_nAudioCount].PesType = nPesType;
- m_Audios[m_nAudioCount].Language = strLanguage;
+ m_Audios[m_nAudioCount].ulPID = ulPID;
+ m_Audios[m_nAudioCount].nType = nType;
+ m_Audios[m_nAudioCount].nPesType = nPesType;
+ m_Audios[m_nAudioCount].sLanguage = strLanguage;
m_nAudioCount++;
}
break;
case DVB_SUBTITLE:
if (m_nSubtitleCount < DVB_MAX_SUBTITLE) {
- m_Subtitles[m_nSubtitleCount].PID = ulPID;
- m_Subtitles[m_nSubtitleCount].Type = nType;
- m_Subtitles[m_nSubtitleCount].PesType = nPesType;
- m_Subtitles[m_nSubtitleCount].Language = strLanguage;
+ m_Subtitles[m_nSubtitleCount].ulPID = ulPID;
+ m_Subtitles[m_nSubtitleCount].nType = nType;
+ m_Subtitles[m_nSubtitleCount].nPesType = nPesType;
+ m_Subtitles[m_nSubtitleCount].sLanguage = strLanguage;
m_nSubtitleCount++;
}
break;
diff --git a/src/mpc-hc/DVBChannel.h b/src/mpc-hc/DVBChannel.h
index 98f273f3e..d338fc1e0 100644
--- a/src/mpc-hc/DVBChannel.h
+++ b/src/mpc-hc/DVBChannel.h
@@ -20,6 +20,8 @@
#pragma once
+#include <vector>
+
#define FORMAT_VERSION_0 0
#define FORMAT_VERSION_1 1
#define FORMAT_VERSION_2 2
@@ -32,21 +34,14 @@
struct EventDescriptor {
CString eventName;
CString eventDesc;
- time_t startTime;
- time_t duration;
+ time_t startTime = 0;
+ time_t duration = 0;
CString strStartTime;
CString strEndTime;
- CArray<CString> extendedDescriptorsItemsDesc;
- CArray<CString> extendedDescriptorsItemsContent;
- CStringList extendedDescriptorsTexts;
- int parentalRating;
+ std::vector<std::pair<CString, CString>> extendedDescriptorsItems;
+ CString extendedDescriptorsText;
+ int parentalRating = -1;
CString content;
-
- EventDescriptor()
- : startTime(0)
- , duration(0)
- , parentalRating(-1)
- {};
};
enum DVB_STREAM_TYPE {
@@ -93,22 +88,22 @@ enum DVB_AspectRatio_TYPE {
};
struct DVBStreamInfo {
- ULONG PID;
- DVB_STREAM_TYPE Type;
- PES_STREAM_TYPE PesType;
- CString Language;
+ ULONG ulPID = 0;
+ DVB_STREAM_TYPE nType = DVB_UNKNOWN;
+ PES_STREAM_TYPE nPesType = INVALID;
+ CString sLanguage;
- LCID GetLCID() { return ISO6392ToLcid(CStringA(Language)); };
+ LCID GetLCID() { return ISO6392ToLcid(CStringA(sLanguage)); };
};
class CDVBChannel
{
public:
- CDVBChannel();
- ~CDVBChannel();
+ CDVBChannel() = default;
+ CDVBChannel(CString strChannel);
+ ~CDVBChannel() = default;
- bool FromString(CString strValue);
- CString ToString();
+ CString ToString() const;
/**
* @brief Output a JSON representation of a DVB channel.
* @note The object contains two elements : "index", which corresponds to
@@ -137,9 +132,9 @@ public:
DWORD GetVideoARx();
DWORD GetVideoARy();
DVB_STREAM_TYPE GetVideoType() const { return m_nVideoType; }
- ULONG GetDefaultAudioPID() const { return m_Audios[GetDefaultAudio()].PID; };
- DVB_STREAM_TYPE GetDefaultAudioType() const { return m_Audios[GetDefaultAudio()].Type; }
- ULONG GetDefaultSubtitlePID() const { return m_Subtitles[GetDefaultSubtitle()].PID; };
+ ULONG GetDefaultAudioPID() const { return m_Audios[GetDefaultAudio()].ulPID; };
+ DVB_STREAM_TYPE GetDefaultAudioType() const { return m_Audios[GetDefaultAudio()].nType; }
+ ULONG GetDefaultSubtitlePID() const { return m_Subtitles[GetDefaultSubtitle()].ulPID; };
int GetAudioCount() const { return m_nAudioCount; };
int GetDefaultAudio() const { return m_nDefaultAudio; };
int GetSubtitleCount() const { return m_nSubtitleCount; };
@@ -156,7 +151,7 @@ public:
void SetName(LPCTSTR Value) { m_strName = Value; };
void SetFrequency(ULONG Value) { m_ulFrequency = Value; };
void SetPrefNumber(int Value) { m_nPrefNumber = Value; };
- void SetOriginNumber(int Value) { m_nOriginNumber = m_nPrefNumber = Value; };
+ void SetOriginNumber(int Value) { m_nOriginNumber = Value; };
void SetEncrypted(bool Value) { m_bEncrypted = Value; };
void SetNowNextFlag(bool Value) { m_bNowNextFlag = Value; };
void SetONID(ULONG Value) { m_ulONID = Value; };
@@ -175,29 +170,40 @@ public:
void AddStreamInfo(ULONG ulPID, DVB_STREAM_TYPE nType, PES_STREAM_TYPE nPesType, LPCTSTR strLanguage);
+ bool operator < (CDVBChannel const& channel) const {
+ int aOriginNumber = GetOriginNumber();
+ int bOriginNumber = channel.GetOriginNumber();
+ return (aOriginNumber == 0 && bOriginNumber == 0) ? GetPrefNumber() < channel.GetPrefNumber() : (aOriginNumber == 0 || bOriginNumber == 0) ? bOriginNumber == 0 : aOriginNumber < bOriginNumber;
+ }
+
+ // Returns true for channels with the same place, doesn't necessarily need to be equal (i.e if internal streams were updated)
+ bool operator==(CDVBChannel const& channel) const { return GetPMT() == channel.GetPMT() && GetFrequency() == channel.GetFrequency(); }
+
private:
CString m_strName;
- ULONG m_ulFrequency;
- int m_nPrefNumber;
- int m_nOriginNumber;
- bool m_bEncrypted;
- bool m_bNowNextFlag;
- ULONG m_ulONID;
- ULONG m_ulTSID;
- ULONG m_ulSID;
- ULONG m_ulPMT;
- ULONG m_ulPCR;
- ULONG m_ulVideoPID;
- DVB_STREAM_TYPE m_nVideoType;
- DVB_FPS_TYPE m_nVideoFps;
- DVB_CHROMA_TYPE m_nVideoChroma;
- ULONG m_nVideoWidth;
- ULONG m_nVideoHeight;
- DVB_AspectRatio_TYPE m_nVideoAR;
- int m_nAudioCount;
- int m_nDefaultAudio;
- int m_nSubtitleCount;
- int m_nDefaultSubtitle;
- DVBStreamInfo m_Audios[DVB_MAX_AUDIO];
- DVBStreamInfo m_Subtitles[DVB_MAX_SUBTITLE];
+ ULONG m_ulFrequency = 0;
+ int m_nPrefNumber = 0;
+ int m_nOriginNumber = 0;
+ bool m_bEncrypted = false;
+ bool m_bNowNextFlag = false;
+ ULONG m_ulONID = 0;
+ ULONG m_ulTSID = 0;
+ ULONG m_ulSID = 0;
+ ULONG m_ulPMT = 0;
+ ULONG m_ulPCR = 0;
+ ULONG m_ulVideoPID = 0;
+ DVB_STREAM_TYPE m_nVideoType = DVB_MPV;
+ DVB_FPS_TYPE m_nVideoFps = DVB_FPS_25_0;
+ DVB_CHROMA_TYPE m_nVideoChroma = DVB_Chroma_4_2_0;
+ ULONG m_nVideoWidth = 0;
+ ULONG m_nVideoHeight = 0;
+ DVB_AspectRatio_TYPE m_nVideoAR = DVB_AR_NULL;
+ int m_nAudioCount = 0;
+ int m_nDefaultAudio = 0;
+ int m_nSubtitleCount = 0;
+ int m_nDefaultSubtitle = -1;
+ std::array<DVBStreamInfo, DVB_MAX_AUDIO> m_Audios;
+ std::array<DVBStreamInfo, DVB_MAX_SUBTITLE> m_Subtitles;
+
+ void FromString(CString strValue);
};
diff --git a/src/mpc-hc/DebugShadersDlg.cpp b/src/mpc-hc/DebugShadersDlg.cpp
index 698cfebc9..bfd94d1c6 100644
--- a/src/mpc-hc/DebugShadersDlg.cpp
+++ b/src/mpc-hc/DebugShadersDlg.cpp
@@ -50,8 +50,8 @@ void CModelessDialog::OnOK()
CDebugShadersDlg::CDebugShadersDlg()
: CModelessDialog(IDD)
- , m_Compiler(nullptr)
, m_timerOneTime(this, TIMER_ONETIME_START, TIMER_ONETIME_END - TIMER_ONETIME_START + 1)
+ , m_Compiler(nullptr)
{
EventRouter::EventSelection receives;
receives.insert(MpcEvent::SHADER_LIST_CHANGED);
@@ -251,7 +251,7 @@ void CDebugShadersDlg::OnRecompileShader()
}
CString disasm, msg;
if (SUCCEEDED(m_Compiler.CompileShaderFromFile(shader.filePath, "main", profile,
- D3DXSHADER_DEBUG, nullptr, &disasm, &msg))) {
+ D3DXSHADER_DEBUG, nullptr, &disasm, &msg))) {
if (!msg.IsEmpty()) {
msg += _T("\n");
}
diff --git a/src/mpc-hc/DebugShadersDlg.h b/src/mpc-hc/DebugShadersDlg.h
index bd8ef5c91..ab06cc7cb 100644
--- a/src/mpc-hc/DebugShadersDlg.h
+++ b/src/mpc-hc/DebugShadersDlg.h
@@ -1,5 +1,5 @@
/*
- * (C) 2013 see Authors.txt
+ * (C) 2013-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -47,8 +47,7 @@ public:
private:
enum { WM_APP_RECOMPILE_SHADER = WM_APP + 100 };
- enum class TimerOneTimeSubscriber
- {
+ enum class TimerOneTimeSubscriber {
SELECTED_SHADER_CHANGE_COOLDOWN,
};
OneTimeTimerPool<TimerOneTimeSubscriber> m_timerOneTime;
diff --git a/src/mpc-hc/EditListEditor.cpp b/src/mpc-hc/EditListEditor.cpp
index 5b729f4ef..e1c82e04e 100644
--- a/src/mpc-hc/EditListEditor.cpp
+++ b/src/mpc-hc/EditListEditor.cpp
@@ -72,11 +72,11 @@ CString CClip::GetOut() const
IMPLEMENT_DYNAMIC(CEditListEditor, CPlayerBar)
CEditListEditor::CEditListEditor()
- : m_pDragImage(nullptr)
- , m_curPos(nullptr)
+ : m_curPos(nullptr)
, m_bDragging(FALSE)
, m_nDragIndex(-1)
, m_nDropIndex(-1)
+ , m_pDragImage(nullptr)
, m_bFileOpen(false)
{
}
diff --git a/src/mpc-hc/EventDispatcher.h b/src/mpc-hc/EventDispatcher.h
index 438ad13e4..f5ea31c73 100644
--- a/src/mpc-hc/EventDispatcher.h
+++ b/src/mpc-hc/EventDispatcher.h
@@ -25,8 +25,7 @@
#include <memory>
#include <set>
-enum class MpcEvent
-{
+enum class MpcEvent {
SWITCHING_TO_FULLSCREEN,
SWITCHED_TO_FULLSCREEN,
SWITCHING_FROM_FULLSCREEN,
diff --git a/src/mpc-hc/FGFilterLAV.cpp b/src/mpc-hc/FGFilterLAV.cpp
index 9648e433b..7979e59a1 100644
--- a/src/mpc-hc/FGFilterLAV.cpp
+++ b/src/mpc-hc/FGFilterLAV.cpp
@@ -24,7 +24,7 @@
#include "MainFrm.h"
#include "DSUtil.h"
#include "FileVersionInfo.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include "SysVersion.h"
#include "AllocatorCommon7.h"
#include "AllocatorCommon.h"
@@ -65,21 +65,21 @@ CFGFilterLAV::CFGFilterLAV(const CLSID& clsid, CString path, CStringW name, bool
CString CFGFilterLAV::GetFilterPath(LAVFILTER_TYPE filterType)
{
// Default path
- CString filterPath = GetProgramPath() + LAVFILTERS_DIR;
+ CString filterPath = PathUtils::CombinePaths(PathUtils::GetProgramPath(), LAVFILTERS_DIR);
CLSID filterCLSID;
switch (filterType) {
case SPLITTER:
case SPLITTER_SOURCE:
- filterPath += CFGFilterLAVSplitterBase::filename;
+ filterPath = PathUtils::CombinePaths(filterPath, CFGFilterLAVSplitterBase::filename);
filterCLSID = GUID_LAVSplitter;
break;
case VIDEO_DECODER:
- filterPath += CFGFilterLAVVideo::filename;
+ filterPath = PathUtils::CombinePaths(filterPath, CFGFilterLAVVideo::filename);
filterCLSID = GUID_LAVVideo;
break;
case AUDIO_DECODER:
- filterPath += CFGFilterLAVAudio::filename;
+ filterPath = PathUtils::CombinePaths(filterPath, CFGFilterLAVAudio::filename);
filterCLSID = GUID_LAVAudio;
break;
default:
@@ -791,6 +791,9 @@ bool CFGFilterLAVVideo::Settings::SetSettings(CComQIPtr<ILAVVideoSettings> pLAVF
// Force RV1/2 and v210/v410 enabled, the user can control it from our own options
pLAVFSettings->SetFormatConfiguration(Codec_RV12, TRUE);
pLAVFSettings->SetFormatConfiguration(Codec_v210, TRUE);
+ // Enable Cinepack and QPEG so that they can be used in low-merit mode
+ pLAVFSettings->SetFormatConfiguration(Codec_Cinepak, TRUE);
+ pLAVFSettings->SetFormatConfiguration(Codec_QPEG, TRUE);
// Custom interface available only in patched build, will be removed after it's upstreamed
if (CComQIPtr<ILAVVideoSettingsMPCHCCustom> pLAVFSettingsMPCHCCustom = pLAVFSettings) {
diff --git a/src/mpc-hc/FGManager.cpp b/src/mpc-hc/FGManager.cpp
index 853e73075..d9308fc64 100644
--- a/src/mpc-hc/FGManager.cpp
+++ b/src/mpc-hc/FGManager.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2014 see Authors.txt
+ * (C) 2006-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,7 +25,7 @@
#include "FGManager.h"
#include "DSUtil.h"
#include "FileVersionInfo.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include "../filters/Filters.h"
#include "AllocatorCommon7.h"
#include "AllocatorCommon.h"
@@ -208,7 +208,9 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl
if (protocol.GetLength() <= 1 || protocol == L"file") {
hFile = CreateFile(CString(fn), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE)nullptr);
- if (hFile == INVALID_HANDLE_VALUE) {
+ // In case of audio CDs with extra content, the audio tracks
+ // cannot be accessed directly so we have to try opening it
+ if (hFile == INVALID_HANDLE_VALUE && ext != L".cda") {
return VFW_E_NOT_FOUND;
}
}
@@ -219,9 +221,6 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl
fl.Insert(LookupFilterRegistry(CLSID_StreamBufferSource, m_override, MERIT64_PREFERRED), 0);
}
- TCHAR buff[256];
- ULONG len;
-
if (hFile == INVALID_HANDLE_VALUE) {
// internal / protocol
@@ -273,6 +272,9 @@ HRESULT CFGManager::EnumSourceFilters(LPCWSTR lpcwstrFileName, CFGFilterList& fl
}
}
+ TCHAR buff[256];
+ ULONG len;
+
if (hFile == INVALID_HANDLE_VALUE) {
// protocol
@@ -2186,7 +2188,7 @@ CFGManagerCustom::CFGManagerCustom(LPCTSTR pName, LPUNKNOWN pUnk)
bOverrideBroadcom = true;
}
- if (fo->fDisabled || fo->type == FilterOverride::EXTERNAL && !CPath(MakeFullPath(fo->path)).FileExists()) {
+ if (fo->fDisabled || fo->type == FilterOverride::EXTERNAL && !PathUtils::Exists(MakeFullPath(fo->path))) {
continue;
}
@@ -2290,7 +2292,7 @@ CFGManagerPlayer::CFGManagerPlayer(LPCTSTR pName, LPUNKNOWN pUnk, HWND hWnd)
GUID guidsVideo[] = {MEDIATYPE_Video, MEDIASUBTYPE_NULL};
if (SUCCEEDED(m_pFM->EnumMatchingFilters(&pEM, 0, FALSE, MERIT_DO_NOT_USE + 1,
- TRUE, 1, guidsVideo, nullptr, nullptr, TRUE, FALSE, 0, nullptr, nullptr, nullptr))) {
+ TRUE, 1, guidsVideo, nullptr, nullptr, TRUE, FALSE, 0, nullptr, nullptr, nullptr))) {
for (CComPtr<IMoniker> pMoniker; S_OK == pEM->Next(1, &pMoniker, nullptr); pMoniker = nullptr) {
CFGFilterRegistry f(pMoniker);
// RDP DShow Redirection Filter's merit is so high that it flaws the graph building process so we ignore it.
@@ -2309,7 +2311,7 @@ CFGManagerPlayer::CFGManagerPlayer(LPCTSTR pName, LPUNKNOWN pUnk, HWND hWnd)
GUID guidsAudio[] = {MEDIATYPE_Audio, MEDIASUBTYPE_NULL};
if (SUCCEEDED(m_pFM->EnumMatchingFilters(&pEM, 0, FALSE, MERIT_DO_NOT_USE + 1,
- TRUE, 1, guidsAudio, nullptr, nullptr, TRUE, FALSE, 0, nullptr, nullptr, nullptr))) {
+ TRUE, 1, guidsAudio, nullptr, nullptr, TRUE, FALSE, 0, nullptr, nullptr, nullptr))) {
for (CComPtr<IMoniker> pMoniker; S_OK == pEM->Next(1, &pMoniker, nullptr); pMoniker = nullptr) {
CFGFilterRegistry f(pMoniker);
// Use the same RDP DShow Redirection Filter hack with audio, too
diff --git a/src/mpc-hc/FGManagerBDA.cpp b/src/mpc-hc/FGManagerBDA.cpp
index a576b3a1e..e73917178 100644
--- a/src/mpc-hc/FGManagerBDA.cpp
+++ b/src/mpc-hc/FGManagerBDA.cpp
@@ -96,10 +96,8 @@ static VIDEOINFOHEADER2 vih2_H264 = {
{
// bmiHeader
sizeof(BITMAPINFOHEADER), // biSize
- //720, // biWidth
- //576, // biHeight
- 1920, // biWidth
- 1080, // biHeight
+ 720, // biWidth
+ 576, // biHeight
1, // biPlanes
0, // biBitCount
FCC_h264 // biCompression
@@ -120,15 +118,43 @@ static AM_MEDIA_TYPE mt_H264 = {
(LPBYTE)& vih2_H264 // pbFormat
};
-/// Format, Audio (common)
-static const WAVEFORMATEX wf_Audio = {
- WAVE_FORMAT_PCM, // wFormatTag
- 2, // nChannels
- 48000, // nSamplesPerSec
- 4 * 48000, // nAvgBytesPerSec
- 4, // nBlockAlign
- 16, // wBitsPerSample
- 0 // cbSize
+// Format, Audio MPEG2
+static BYTE MPEG2AudioFormat[] = {
+ 0x50, 0x00, //wFormatTag
+ 0x02, 0x00, //nChannels
+ 0x80, 0xbb, 0x00, 0x00, //nSamplesPerSec
+ 0x00, 0x7d, 0x00, 0x00, //nAvgBytesPerSec
+ 0x01, 0x00, //nBlockAlign
+ 0x00, 0x00, //wBitsPerSample
+ 0x16, 0x00, //cbSize
+ 0x02, 0x00, //wValidBitsPerSample
+ 0x00, 0xe8, //wSamplesPerBlock
+ 0x03, 0x00, //wReserved
+ 0x01, 0x00, 0x01, 0x00, //dwChannelMask
+ 0x01, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+// Format, Audio (E)AC3
+static BYTE AC3AudioFormat[] = {
+ 0x00, 0x20, //wFormatTag
+ 0x06, 0x00, //nChannels
+ 0x80, 0xBB, 0x00, 0x00, //nSamplesPerSec
+ 0xC0, 0x5D, 0x00, 0x00, //nAvgBytesPerSec
+ 0x00, 0x03, //nBlockAlign
+ 0x00, 0x00, //wBitsPerSample
+ 0x00, 0x00 //cbSize
+};
+
+// Format, Audio AAC
+static BYTE AACAudioFormat[] = {
+ 0xFF, 0x00, //wFormatTag
+ 0x02, 0x00, //nChannels
+ 0x80, 0xBB, 0x00, 0x00, //nSamplesPerSec
+ 0xCE, 0x3E, 0x00, 0x00, //nAvgBytesPerSec
+ 0xAE, 0x02, //nBlockAlign
+ 0x00, 0x00, //wBitsPerSample
+ 0x02, 0x00, //cbSize
+ 0x11, 0x90
};
/// Media type, Audio MPEG2
@@ -140,8 +166,8 @@ static const AM_MEDIA_TYPE mt_Mpa = {
0, // lSampleSize
FORMAT_WaveFormatEx, // formattype
nullptr, // pUnk
- sizeof(wf_Audio), // cbFormat
- (LPBYTE)& wf_Audio // pbFormat
+ sizeof(MPEG2AudioFormat), // cbFormat
+ MPEG2AudioFormat // pbFormat
};
/// Media type, Audio AC3
@@ -153,8 +179,8 @@ static const AM_MEDIA_TYPE mt_Ac3 = {
0, // lSampleSize
FORMAT_WaveFormatEx, // formattype
nullptr, // pUnk
- sizeof(wf_Audio), // cbFormat
- (LPBYTE)& wf_Audio, // pbFormat
+ sizeof(AC3AudioFormat), // cbFormat
+ AC3AudioFormat, // pbFormat
};
/// Media type, Audio EAC3
@@ -166,8 +192,8 @@ static const AM_MEDIA_TYPE mt_Eac3 = {
0, // lSampleSize
FORMAT_WaveFormatEx, // formattype
nullptr, // pUnk
- sizeof(wf_Audio), // cbFormat
- (LPBYTE)& wf_Audio, // pbFormat
+ sizeof(AC3AudioFormat), // cbFormat
+ AC3AudioFormat, // pbFormat
};
/// Media type, Audio AAC LATM
@@ -179,8 +205,8 @@ static const AM_MEDIA_TYPE mt_latm = {
0, // lSampleSize
FORMAT_WaveFormatEx, // formattype
nullptr, // pUnk
- sizeof(wf_Audio), // cbFormat
- (LPBYTE)& wf_Audio, // pbFormat
+ sizeof(AACAudioFormat), // cbFormat
+ AACAudioFormat, // pbFormat
};
/// Media type, PSI
@@ -433,7 +459,7 @@ STDMETHODIMP CFGManagerBDA::RenderFile(LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayL
CComPtr<IBaseFilter> pReceiver;
LOG(_T("Creating BDA filters..."));
- CheckAndLog(CreateKSFilter(&pNetwork, KSCATEGORY_BDA_NETWORK_PROVIDER, s.strBDANetworkProvider), _T("BDA: Network provider creation"));
+ CheckAndLogBDA(CreateKSFilter(&pNetwork, KSCATEGORY_BDA_NETWORK_PROVIDER, s.strBDANetworkProvider), _T("Network provider creation"));
if (FAILED(hr = CreateKSFilter(&pTuner, KSCATEGORY_BDA_NETWORK_TUNER, s.strBDATuner))) {
MessageBox(AfxGetMyApp()->GetMainWnd()->m_hWnd, ResStr(IDS_BDA_ERROR_CREATE_TUNER), ResStr(IDS_BDA_ERROR), MB_ICONERROR | MB_OK);
TRACE(_T("BDA: Network tuner creation: 0x%08x\n"), hr);
@@ -579,12 +605,12 @@ STDMETHODIMP CFGManagerBDA::SetFrequency(ULONG freq)
CheckPointer(m_pBDAControl, E_FAIL);
CheckPointer(m_pBDAFreq, E_FAIL);
- CheckAndLog(m_pBDAControl->StartChanges(), _T("BDA: SetFrequency StartChanges"));
- m_pBDAFreq->put_FrequencyMultiplier(1000);
- CheckAndLog(m_pBDAFreq->put_Bandwidth(s.iBDABandwidth), _T("BDA: SetFrequency put_Bandwidth"));
- CheckAndLog(m_pBDAFreq->put_Frequency(freq), _T("BDA: SetFrequency put_Frequency"));
- CheckAndLog(m_pBDAControl->CheckChanges(), _T("BDA: SetFrequency CheckChanges"));
- CheckAndLog(m_pBDAControl->CommitChanges(), _T("BDA: SetFrequency CommitChanges"));
+ CheckAndLogBDA(m_pBDAControl->StartChanges(), _T(" SetFrequency StartChanges"));
+ CheckAndLogBDANoRet(m_pBDAFreq->put_FrequencyMultiplier(1000), _T(" SetFrequency put_FrequencyMultiplier"));
+ CheckAndLogBDANoRet(m_pBDAFreq->put_Bandwidth(s.iBDABandwidth), _T(" SetFrequency put_Bandwidth"));
+ CheckAndLogBDA(m_pBDAFreq->put_Frequency(freq), _T(" SetFrequency put_Frequency"));
+ CheckAndLogBDA(m_pBDAControl->CheckChanges(), _T(" SetFrequency CheckChanges"));
+ CheckAndLogBDA(m_pBDAControl->CommitChanges(), _T(" SetFrequency CommitChanges"));
int i = 50;
ULONG pState = BDA_CHANGES_PENDING;
@@ -727,21 +753,21 @@ STDMETHODIMP CFGManagerBDA::Enable(long lIndex, DWORD dwFlags)
if (lIndex >= 0 && lIndex < pChannel->GetAudioCount()) {
DVBStreamInfo* pStreamInfo = pChannel->GetAudio(lIndex);
if (pStreamInfo) {
- CDVBStream* pStream = &m_DVBStreams[pStreamInfo->Type];
+ CDVBStream* pStream = &m_DVBStreams[pStreamInfo->nType];
if (pStream) {
if (pStream->GetMappedPID()) {
pStream->Unmap(pStream->GetMappedPID());
}
FILTER_STATE nState = GetState();
- if (m_nCurAudioType != pStreamInfo->Type) {
+ if (m_nCurAudioType != pStreamInfo->nType) {
if ((s.nDVBStopFilterGraph == DVB_STOP_FG_ALWAYS) && (GetState() != State_Stopped)) {
ChangeState(State_Stopped);
}
- SwitchStream(m_nCurAudioType, pStreamInfo->Type);
- m_nCurAudioType = pStreamInfo->Type;
+ SwitchStream(m_nCurAudioType, pStreamInfo->nType);
+ m_nCurAudioType = pStreamInfo->nType;
CheckNoLog(Flush(m_nCurVideoType, m_nCurAudioType));
}
- pStream->Map(pStreamInfo->PID);
+ pStream->Map(pStreamInfo->ulPID);
ChangeState((FILTER_STATE)nState);
hr = S_OK;
@@ -755,7 +781,7 @@ STDMETHODIMP CFGManagerBDA::Enable(long lIndex, DWORD dwFlags)
DVBStreamInfo* pStreamInfo = pChannel->GetSubtitle(lIndex - pChannel->GetAudioCount());
if (pStreamInfo) {
- m_DVBStreams[DVB_SUB].Map(pStreamInfo->PID);
+ m_DVBStreams[DVB_SUB].Map(pStreamInfo->ulPID);
hr = S_OK;
}
} else if (lIndex > 0 && m_DVBStreams[DVB_SUB].GetMappedPID() && lIndex == pChannel->GetAudioCount() + pChannel->GetSubtitleCount()) {
@@ -783,7 +809,7 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
pCurrentStream = &m_DVBStreams[m_nCurAudioType];
pStreamInfo = pChannel->GetAudio(lIndex);
if (pStreamInfo) {
- pStream = &m_DVBStreams[pStreamInfo->Type];
+ pStream = &m_DVBStreams[pStreamInfo->nType];
}
if (pdwGroup) {
*pdwGroup = 1; // Audio group
@@ -792,7 +818,7 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
pCurrentStream = &m_DVBStreams[DVB_SUB];
pStreamInfo = pChannel->GetSubtitle(lIndex - pChannel->GetAudioCount());
if (pStreamInfo) {
- pStream = &m_DVBStreams[pStreamInfo->Type];
+ pStream = &m_DVBStreams[pStreamInfo->nType];
}
if (pdwGroup) {
*pdwGroup = 2; // Subtitle group
@@ -830,7 +856,7 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
*ppmt = CreateMediaType(pStream->GetMediaType());
}
if (pdwFlags) {
- *pdwFlags = (pCurrentStream->GetMappedPID() == pStreamInfo->PID) ? AMSTREAMSELECTINFO_ENABLED | AMSTREAMSELECTINFO_EXCLUSIVE : 0;
+ *pdwFlags = (pCurrentStream->GetMappedPID() == pStreamInfo->ulPID) ? AMSTREAMSELECTINFO_ENABLED | AMSTREAMSELECTINFO_EXCLUSIVE : 0;
}
if (plcid) {
*plcid = pStreamInfo->GetLCID();
@@ -844,11 +870,11 @@ STDMETHODIMP CFGManagerBDA::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFl
if (ppszName) {
CStringW str;
- str = StreamTypeToName(pStreamInfo->PesType);
+ str = StreamTypeToName(pStreamInfo->nPesType);
- if (!pStreamInfo->Language.IsEmpty() && pStreamInfo->GetLCID() == 0) {
+ if (!pStreamInfo->sLanguage.IsEmpty() && pStreamInfo->GetLCID() == 0) {
// Try to convert language code even if LCID was not found.
- str += _T(" [") + ISO6392ToLanguage(CStringA(pStreamInfo->Language)) + _T("]");
+ str += _T(" [") + ISO6392ToLanguage(CStringA(pStreamInfo->sLanguage)) + _T("]");
}
*ppszName = (WCHAR*)CoTaskMemAlloc((str.GetLength() + 1) * sizeof(WCHAR));
@@ -891,7 +917,7 @@ HRESULT CFGManagerBDA::CreateMicrosoftDemux(CComPtr<IBaseFilter>& pMpeg2Demux)
CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
if (pChannel && (m_nDVBRebuildFilterGraph == DVB_REBUILD_FG_ALWAYS)) {
for (int i = 0; i < pChannel->GetAudioCount(); i++) {
- switch ((pChannel->GetAudio(i))->Type) {
+ switch ((pChannel->GetAudio(i))->nType) {
case DVB_MPA:
bAudioMPA = true;
break;
@@ -980,7 +1006,8 @@ HRESULT CFGManagerBDA::CreateMicrosoftDemux(CComPtr<IBaseFilter>& pMpeg2Demux)
CheckNoLog(Connect(pPin, nullptr, false));
CComPtr<IPin> pPinTo;
pPin->ConnectedTo(&pPinTo);
- if (SUCCEEDED(hr = ((CMainFrame*)AfxGetMainWnd())->InsertTextPassThruFilter(pMpeg2Demux, pPin, pPinTo))) {
+ CMainFrame* pMainFrame = dynamic_cast<CMainFrame*>(AfxGetApp()->GetMainWnd());
+ if (pMainFrame && SUCCEEDED(hr = pMainFrame->InsertTextPassThruFilter(pMpeg2Demux, pPin, pPinTo))) {
Stream.SetPin(pPin);
LOG(_T("Filter connected to Demux for media type %d."), nType);
} else {
@@ -1032,7 +1059,6 @@ HRESULT CFGManagerBDA::SetChannelInternal(CDVBChannel* pChannel)
}
} else {
m_fHideWindow = true;
- ((CMainFrame*)AfxGetMainWnd())->HideVideoWindow(m_fHideWindow);
}
if (m_nCurAudioType != pChannel->GetDefaultAudioType()) {
@@ -1068,7 +1094,10 @@ HRESULT CFGManagerBDA::SetChannelInternal(CDVBChannel* pChannel)
if (bRadioToTV) {
m_fHideWindow = false;
Sleep(1800);
- ((CMainFrame*)AfxGetMainWnd())->HideVideoWindow(m_fHideWindow);
+ }
+
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
+ pMainFrame->HideVideoWindow(m_fHideWindow);
}
return hr;
@@ -1203,9 +1232,6 @@ void CFGManagerBDA::UpdateMediaType(VIDEOINFOHEADER2* NewVideoHeader, CDVBChanne
if (pChannel->GetVideoHeight()) {
NewVideoHeader->bmiHeader.biHeight = pChannel->GetVideoHeight();
NewVideoHeader->bmiHeader.biWidth = pChannel->GetVideoWidth();
- } else if (pChannel->GetVideoType() == DVB_H264) {
- NewVideoHeader->bmiHeader.biHeight = 1080; // 1080 was the default before this change (should be 576)
- NewVideoHeader->bmiHeader.biWidth = 1920; // 1920 was the default before this change (should be 720)
} else {
NewVideoHeader->bmiHeader.biHeight = 576;
NewVideoHeader->bmiHeader.biWidth = 720;
@@ -1246,10 +1272,11 @@ HRESULT CFGManagerBDA::ChangeState(FILTER_STATE nRequested)
QueryInterface(IID_PPV_ARGS(&pMC));
pMC->GetState(500, &nState);
if (nState != nRequested) {
+ CMainFrame* pMainFrame = AfxGetMainFrame();
switch (nRequested) {
case State_Stopped: {
- if (SUCCEEDED(hr = pMC->Stop())) {
- ((CMainFrame*)AfxGetMainWnd())->KillTimersStop();
+ if (SUCCEEDED(hr = pMC->Stop()) && pMainFrame) {
+ pMainFrame->KillTimersStop();
}
LOG(_T("IMediaControl stop: 0x%08x."), hr);
return hr;
@@ -1259,8 +1286,8 @@ HRESULT CFGManagerBDA::ChangeState(FILTER_STATE nRequested)
return pMC->Pause();
}
case State_Running: {
- if (SUCCEEDED(hr = pMC->Run()) && SUCCEEDED(hr = pMC->GetState(500, &nState)) && nState == State_Running) {
- ((CMainFrame*)AfxGetMainWnd())->SetTimersPlay();
+ if (SUCCEEDED(hr = pMC->Run()) && SUCCEEDED(hr = pMC->GetState(500, &nState)) && nState == State_Running && pMainFrame) {
+ pMainFrame->SetTimersPlay();
}
LOG(_T("IMediaControl play: 0x%08x."), hr);
return hr;
diff --git a/src/mpc-hc/FGManagerBDA.h b/src/mpc-hc/FGManagerBDA.h
index 83cda2d9f..b314b6f1b 100644
--- a/src/mpc-hc/FGManagerBDA.h
+++ b/src/mpc-hc/FGManagerBDA.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -30,17 +30,17 @@ class CDVBStream
{
public:
CDVBStream()
- : m_Name(L"")
+ : m_pmt(0)
, m_bFindExisting(false)
- , m_pmt(0)
+ , m_Name(L"")
, m_nMsc(MEDIA_TRANSPORT_PACKET)
, m_ulMappedPID(0) {
}
CDVBStream(LPWSTR strName, const AM_MEDIA_TYPE* pmt, bool bFindExisting = false, MEDIA_SAMPLE_CONTENT nMsc = MEDIA_ELEMENTARY_STREAM)
- : m_Name(strName)
+ : m_pmt(pmt)
, m_bFindExisting(bFindExisting)
- , m_pmt(pmt)
+ , m_Name(strName)
, m_nMsc(nMsc)
, m_ulMappedPID(0) {
}
@@ -174,12 +174,15 @@ private:
HRESULT SearchIBDATopology(const CComPtr<IBaseFilter>& pTuner, REFIID iid, CComPtr<IUnknown>& pUnk);
};
-#define LOG_FILE _T("bda.log")
-
#ifdef _DEBUG
#include <sys/types.h>
#include <sys/timeb.h>
+#define CheckAndLogBDA(x, msg) hr = ##x; if (FAILED(hr)) { LOG(msg _T(": 0x%08x\n"), hr); return hr; }
+#define CheckAndLogBDANoRet(x, msg) hr = ##x; if (FAILED(hr)) { LOG(msg _T(": 0x%08x\n"), hr); }
+
+#define LOG_FILE _T("bda.log")
+
static void LOG(LPCTSTR fmt, ...)
{
va_list args;
@@ -208,4 +211,6 @@ static void LOG(LPCTSTR fmt, ...)
}
#else
inline void LOG(LPCTSTR fmt, ...) {}
+#define CheckAndLogBDA(x, msg) hr = ##x; if (FAILED(hr)) { TRACE(msg _T(": 0x%08x\n"), hr); return hr; }
+#define CheckAndLogBDANoRet(x, msg) hr = ##x; if (FAILED(hr)) { TRACE(msg _T(": 0x%08x\n"), hr); }
#endif
diff --git a/src/mpc-hc/FakeFilterMapper2.cpp b/src/mpc-hc/FakeFilterMapper2.cpp
index 52b3fd65a..0513262a4 100644
--- a/src/mpc-hc/FakeFilterMapper2.cpp
+++ b/src/mpc-hc/FakeFilterMapper2.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,10 +29,10 @@
HRESULT(__stdcall* Real_CoCreateInstance)(CONST IID& a0,
- LPUNKNOWN a1,
- DWORD a2,
- CONST IID& a3,
- LPVOID* a4)
+ LPUNKNOWN a1,
+ DWORD a2,
+ CONST IID& a3,
+ LPVOID* a4)
= CoCreateInstance;
LONG(WINAPI* Real_RegCreateKeyExA)(HKEY a0,
@@ -705,8 +705,8 @@ STDMETHODIMP CFilterMapper2::RegisterFilter(REFCLSID clsidFilter, LPCWSTR Name,
}
STDMETHODIMP CFilterMapper2::EnumMatchingFilters(IEnumMoniker** ppEnum, DWORD dwFlags, BOOL bExactMatch, DWORD dwMerit,
- BOOL bInputNeeded, DWORD cInputTypes, const GUID* pInputTypes, const REGPINMEDIUM* pMedIn, const CLSID* pPinCategoryIn, BOOL bRender,
- BOOL bOutputNeeded, DWORD cOutputTypes, const GUID* pOutputTypes, const REGPINMEDIUM* pMedOut, const CLSID* pPinCategoryOut)
+ BOOL bInputNeeded, DWORD cInputTypes, const GUID* pInputTypes, const REGPINMEDIUM* pMedIn, const CLSID* pPinCategoryIn, BOOL bRender,
+ BOOL bOutputNeeded, DWORD cOutputTypes, const GUID* pOutputTypes, const REGPINMEDIUM* pMedOut, const CLSID* pPinCategoryOut)
{
if (CComQIPtr<IFilterMapper2> pFM2 = m_pFM2) {
return pFM2->EnumMatchingFilters(ppEnum, dwFlags, bExactMatch, dwMerit,
diff --git a/src/mpc-hc/FakeFilterMapper2.h b/src/mpc-hc/FakeFilterMapper2.h
index d06f30f8a..70f8e2a86 100644
--- a/src/mpc-hc/FakeFilterMapper2.h
+++ b/src/mpc-hc/FakeFilterMapper2.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -44,9 +44,9 @@ public:
: fDisabled(false)
, fTemporary(false)
, type(EXTERNAL)
+ , clsid(GUID_NULL)
, iLoadType(0)
- , dwMerit(0)
- , clsid(GUID_NULL) {
+ , dwMerit(0) {
}
FilterOverride(FilterOverride* f) {
fDisabled = f->fDisabled;
diff --git a/src/mpc-hc/FavoriteOrganizeDlg.cpp b/src/mpc-hc/FavoriteOrganizeDlg.cpp
index 6f5a29f5f..1da9156c0 100644
--- a/src/mpc-hc/FavoriteOrganizeDlg.cpp
+++ b/src/mpc-hc/FavoriteOrganizeDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,6 +20,7 @@
*/
#include "stdafx.h"
+#include <strsafe.h>
#include "mplayerc.h"
#include "MainFrm.h"
#include "FavoriteOrganizeDlg.h"
@@ -117,6 +118,7 @@ BEGIN_MESSAGE_MAP(CFavoriteOrganizeDlg, CResizableDialog)
ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST2, OnLvnEndlabeleditList2)
ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnPlayFavorite)
ON_NOTIFY(LVN_KEYDOWN, IDC_LIST2, OnKeyPressed)
+ ON_NOTIFY(LVN_GETINFOTIP, IDC_LIST2, OnLvnGetInfoTipList)
ON_WM_SIZE()
END_MESSAGE_MAP()
@@ -134,7 +136,7 @@ BOOL CFavoriteOrganizeDlg::OnInitDialog()
m_list.InsertColumn(0, _T(""));
m_list.InsertColumn(1, _T(""));
- m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
+ m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);
const CAppSettings& s = AfxGetAppSettings();
s.GetFav(FAV_FILE, m_sl[0]);
@@ -414,3 +416,18 @@ void CFavoriteOrganizeDlg::OnSize(UINT nType, int cx, int cy)
m_list.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);
}
}
+
+void CFavoriteOrganizeDlg::OnLvnGetInfoTipList(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLVGETINFOTIP pGetInfoTip = reinterpret_cast<LPNMLVGETINFOTIP>(pNMHDR);
+
+ CAtlList<CString> args;
+ ExplodeEsc(m_sl[m_tab.GetCurSel()].GetAt((POSITION)m_list.GetItemData(pGetInfoTip->iItem)), args, _T(';'));
+ CString path = args.RemoveTail();
+ // Relative to drive value is always third. If less args are available that means it is not included.
+ int rootLength = (args.GetCount() == 3 && args.RemoveTail() != _T("0")) ? CPath(path).SkipRoot() : 0;
+
+ StringCchCopy(pGetInfoTip->pszText, pGetInfoTip->cchTextMax, path.Mid(rootLength));
+
+ *pResult = 0;
+}
diff --git a/src/mpc-hc/FavoriteOrganizeDlg.h b/src/mpc-hc/FavoriteOrganizeDlg.h
index bda98bef3..f44025d69 100644
--- a/src/mpc-hc/FavoriteOrganizeDlg.h
+++ b/src/mpc-hc/FavoriteOrganizeDlg.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -75,4 +75,5 @@ public:
afx_msg void OnPlayFavorite(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKeyPressed(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSize(UINT nType, int cx, int cy);
+ afx_msg void OnLvnGetInfoTipList(NMHDR* pNMHDR, LRESULT* pResult);
};
diff --git a/src/mpc-hc/FileAssoc.cpp b/src/mpc-hc/FileAssoc.cpp
index 529270047..c33f237d7 100644
--- a/src/mpc-hc/FileAssoc.cpp
+++ b/src/mpc-hc/FileAssoc.cpp
@@ -24,7 +24,7 @@
#include "FileAssoc.h"
#include "resource.h"
#include "SysVersion.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
// TODO: change this along with the root key for settings and the mutex name to
@@ -64,13 +64,13 @@ void CFileAssoc::IconLib::SaveVersion() const
}
CFileAssoc::CFileAssoc()
- : m_iconLibPath(GetProgramPath() + _T("mpciconlib.dll"))
+ : m_iconLibPath(PathUtils::CombinePaths(PathUtils::GetProgramPath(), _T("mpciconlib.dll")))
, m_strRegisteredAppName(_T("Media Player Classic"))
, m_strOldAssocKey(_T("PreviousRegistration"))
, m_strRegisteredAppKey(_T("Software\\Clients\\Media\\Media Player Classic\\Capabilities"))
, m_strRegAppFileAssocKey(_T("Software\\Clients\\Media\\Media Player Classic\\Capabilities\\FileAssociations"))
- , m_strOpenCommand(_T("\"") + GetProgramPath(true) + _T("\" \"%1\""))
- , m_strEnqueueCommand(_T("\"") + GetProgramPath(true) + _T("\" /add \"%1\""))
+ , m_strOpenCommand(_T("\"") + PathUtils::GetProgramPath(true) + _T("\" \"%1\""))
+ , m_strEnqueueCommand(_T("\"") + PathUtils::GetProgramPath(true) + _T("\" /add \"%1\""))
, m_bNoRecentDocs(false)
, m_checkIconsAssocInactiveEvent(TRUE, TRUE) // initially set, manual reset
{
@@ -137,7 +137,7 @@ bool CFileAssoc::RegisterApp()
bool success = false;
if (m_pAAR) {
- CString appIcon = "\"" + GetProgramPath(true) + "\",0";
+ CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
// Register MPC-HC for the windows "Default application" manager
CRegKey key;
@@ -191,7 +191,7 @@ bool CFileAssoc::Register(CString ext, CString strLabel, bool bRegister, bool bR
key.DeleteValue(_T("NoRecentDocs"));
}
- CString appIcon = "\"" + GetProgramPath(true) + "\",0";
+ CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
// Add to playlist option
if (bRegisterContextMenuEntries) {
@@ -526,7 +526,7 @@ bool CFileAssoc::RegisterFolderContextMenuEntries(bool bRegister)
if (bRegister) {
success = false;
- CString appIcon = "\"" + GetProgramPath(true) + "\",0";
+ CString appIcon = "\"" + PathUtils::GetProgramPath(true) + "\",0";
if (ERROR_SUCCESS == key.Create(HKEY_CLASSES_ROOT, _T("Directory\\shell\\") PROGID _T(".enqueue"))) {
key.SetStringValue(nullptr, ResStr(IDS_ADD_TO_PLAYLIST));
@@ -577,7 +577,7 @@ bool CFileAssoc::AreRegisteredFolderContextMenuEntries() const
bool CFileAssoc::RegisterAutoPlay(autoplay_t ap, bool bRegister)
{
- CString exe = GetProgramPath(true);
+ CString exe = PathUtils::GetProgramPath(true);
size_t i = (size_t)ap;
if (i >= m_handlers.size()) {
@@ -632,7 +632,7 @@ bool CFileAssoc::IsAutoPlayRegistered(autoplay_t ap) const
{
ULONG len;
TCHAR buff[MAX_PATH];
- CString exe = GetProgramPath(true);
+ CString exe = PathUtils::GetProgramPath(true);
size_t i = (size_t)ap;
if (i >= m_handlers.size()) {
@@ -727,7 +727,7 @@ bool CFileAssoc::ReAssocIcons(const CAtlList<CString>& exts)
}
iconLib->SaveVersion();
- const CString progPath = GetProgramPath(true);
+ const CString progPath = PathUtils::GetProgramPath(true);
CRegKey key;
@@ -804,7 +804,7 @@ void CFileAssoc::CheckIconsAssocThread()
TaskDialogIndirect(&config, &nButtonPressed, nullptr, nullptr);
if (IDYES == nButtonPressed) {
- AfxGetMyApp()->RunAsAdministrator(GetProgramPath(true), _T("/iconsassoc"), true);
+ AfxGetMyApp()->RunAsAdministrator(PathUtils::GetProgramPath(true), _T("/iconsassoc"), true);
}
}
diff --git a/src/mpc-hc/GoToDlg.cpp b/src/mpc-hc/GoToDlg.cpp
index e1300f619..ecf670d66 100644
--- a/src/mpc-hc/GoToDlg.cpp
+++ b/src/mpc-hc/GoToDlg.cpp
@@ -30,8 +30,6 @@
IMPLEMENT_DYNAMIC(CGoToDlg, CDialog)
CGoToDlg::CGoToDlg(REFERENCE_TIME time, REFERENCE_TIME maxTime, double fps, CWnd* pParent /*=nullptr*/)
: CDialog(CGoToDlg::IDD, pParent)
- , m_timestr(_T(""))
- , m_framestr(_T(""))
, m_time(time)
, m_maxTime(maxTime)
, m_fps(fps)
diff --git a/src/mpc-hc/Ifo.cpp b/src/mpc-hc/Ifo.cpp
index 919f94b50..217170c4e 100644
--- a/src/mpc-hc/Ifo.cpp
+++ b/src/mpc-hc/Ifo.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2008-2013 see Authors.txt
+ * (C) 2008-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -86,9 +86,9 @@ uint32_t get4bytes(const BYTE* buf)
CIfo::CIfo()
: m_pBuffer(nullptr)
+ , m_dwSize(0)
, m_pPGCI(nullptr)
, m_pPGCIT(nullptr)
- , m_dwSize(0)
{
}
diff --git a/src/mpc-hc/MainFrm.cpp b/src/mpc-hc/MainFrm.cpp
index 4661c082e..c6a565e4f 100644
--- a/src/mpc-hc/MainFrm.cpp
+++ b/src/mpc-hc/MainFrm.cpp
@@ -94,6 +94,7 @@
#include <comdef.h>
#include "MPCPngImage.h"
#include "DSMPropertyBag.h"
+#include "CoverArt.h"
#include "../Subtitles/RTS.h"
#include "../Subtitles/STS.h"
@@ -218,6 +219,7 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_MESSAGE(WM_POSTOPEN, OnFilePostOpenmedia)
ON_MESSAGE(WM_OPENFAILED, OnOpenMediaFailed)
+ ON_MESSAGE(WM_DVB_EIT_DATA_READY, OnCurrentChannelInfoUpdated)
ON_COMMAND(ID_BOSS, OnBossKey)
@@ -465,6 +467,8 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_COMMAND_RANGE(ID_COLOR_BRIGHTNESS_INC, ID_COLOR_RESET, OnPlayColor)
ON_UPDATE_COMMAND_UI_RANGE(ID_AFTERPLAYBACK_CLOSE, ID_AFTERPLAYBACK_MONITOROFF, OnUpdateAfterplayback)
ON_COMMAND_RANGE(ID_AFTERPLAYBACK_CLOSE, ID_AFTERPLAYBACK_MONITOROFF, OnAfterplayback)
+ ON_UPDATE_COMMAND_UI(ID_AFTERPLAYBACK_PLAYNEXT, OnUpdateAfterplayback)
+ ON_COMMAND_RANGE(ID_AFTERPLAYBACK_PLAYNEXT, ID_AFTERPLAYBACK_PLAYNEXT, OnAfterplayback)
ON_COMMAND_RANGE(ID_NAVIGATE_SKIPBACK, ID_NAVIGATE_SKIPFORWARD, OnNavigateSkip)
ON_UPDATE_COMMAND_UI_RANGE(ID_NAVIGATE_SKIPBACK, ID_NAVIGATE_SKIPFORWARD, OnUpdateNavigateSkip)
@@ -709,7 +713,7 @@ CMainFrame::CMainFrame()
, m_fCapturing(false)
, m_fLiveWM(false)
, m_fOpeningAborted(false)
- , m_fBuffering(false)
+ , m_bBuffering(false)
, m_bUsingDXVA(false)
, m_fileDropTarget(this)
, m_bTrayIcon(false)
@@ -733,7 +737,6 @@ CMainFrame::CMainFrame()
, m_bIsBDPlay(false)
, m_bLockedZoomVideoWindow(false)
, m_nLockedZoomVideoWindow(0)
- , m_LastOpenBDPath(_T(""))
, m_fStartInD3DFullscreen(false)
, m_bRememberFilePos(false)
, m_wndView(this)
@@ -747,6 +750,7 @@ CMainFrame::CMainFrame()
, m_bOpeningInAutochangedMonitorMode(false)
, m_bPausedForAutochangeMonitorMode(false)
, m_wndPlaylistBar(this)
+ , m_wndCaptureBar(this)
, m_wndInfoBar(this)
, m_wndStatsBar(this)
, m_wndStatusBar(this)
@@ -758,8 +762,8 @@ CMainFrame::CMainFrame()
, m_iDVDDomain(DVD_DOMAIN_Stop)
, m_iDVDTitle(0)
, m_rtCurSubPos(0)
+ , m_bScanDlgOpened(false)
, m_bStopTunerScan(false)
- , m_fSetChannelActive(false)
, m_bAllowWindowZoom(false)
, m_dLastVideoScaleFactor(0)
, m_nLastVideoWidth(0)
@@ -806,7 +810,7 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
return -1;
}
- const WinapiFunc<BOOL(HWND, UINT, DWORD, PCHANGEFILTERSTRUCT)>
+ const WinapiFunc<decltype(ChangeWindowMessageFilterEx)>
fnChangeWindowMessageFilterEx = { "user32.dll", "ChangeWindowMessageFilterEx" };
// allow taskbar messages through UIPI
@@ -1879,9 +1883,22 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
m_OSD.DisplayMessage(OSD_TOPLEFT, m_wndStatusBar.GetStatusTimer());
}
break;
- case PM_DIGITAL_CAPTURE:
- m_wndStatusBar.SetStatusTimer(ResStr(IDS_CAPTURE_LIVE));
- break;
+ case PM_DIGITAL_CAPTURE: {
+ EventDescriptor& NowNext = m_pDVBState->NowNext;
+ time_t tNow;
+ time(&tNow);
+ if (NowNext.duration > 0 && tNow >= NowNext.startTime && tNow <= NowNext.startTime + NowNext.duration) {
+ REFERENCE_TIME rtNow = REFERENCE_TIME(tNow - NowNext.startTime) * 10000000;
+ REFERENCE_TIME rtDur = REFERENCE_TIME(NowNext.duration) * 10000000;
+ m_wndStatusBar.SetStatusTimer(rtNow, rtDur, false, TIME_FORMAT_MEDIA_TIME);
+ if (m_bRemainingTime) {
+ m_OSD.DisplayMessage(OSD_TOPLEFT, m_wndStatusBar.GetStatusTimer());
+ }
+ } else {
+ m_wndStatusBar.SetStatusTimer(ResStr(IDS_CAPTURE_LIVE));
+ }
+ }
+ break;
case PM_ANALOG_CAPTURE:
if (!m_fCapturing) {
CString str = ResStr(IDS_CAPTURE_LIVE);
@@ -2147,16 +2164,18 @@ void CMainFrame::OnTimer(UINT_PTR nIDEvent)
m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_SUBTITLES), Subtitles);
} else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- CComQIPtr<IBDATuner> pTun = m_pGB;
- BOOLEAN bPresent;
- BOOLEAN bLocked;
- LONG lDbStrength;
- LONG lPercentQuality;
- CString Signal;
-
- if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
- Signal.Format(ResStr(IDS_STATSBAR_SIGNAL_FORMAT), (int)lDbStrength, lPercentQuality);
- m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), Signal);
+ if (m_pDVBState->bActive) {
+ CComQIPtr<IBDATuner> pTun = m_pGB;
+ BOOLEAN bPresent, bLocked;
+ LONG lDbStrength, lPercentQuality;
+ CString Signal;
+
+ if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
+ Signal.Format(ResStr(IDS_STATSBAR_SIGNAL_FORMAT), (int)lDbStrength, lPercentQuality);
+ m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), Signal);
+ }
+ } else {
+ m_wndStatsBar.SetLine(ResStr(IDS_STATSBAR_SIGNAL), _T("-"));
}
} else if (GetPlaybackMode() == PM_FILE) {
OpenSetupInfoBar(false);
@@ -2242,6 +2261,12 @@ void CMainFrame::DoAfterPlaybackEvent()
m_fEndOfStream = true;
bExitFullScreen = true;
LockWorkStation();
+ } else if (s.nCLSwitches & CLSW_PLAYNEXT) {
+ if (!SearchInDir(true, (s.fLoopForever || m_nLoops < s.nLoops))) {
+ m_fEndOfStream = true;
+ bExitFullScreen = true;
+ bNoMoreMedia = true;
+ }
} else {
switch (s.eAfterPlayback) {
case CAppSettings::AfterPlayback::PLAY_NEXT:
@@ -2309,12 +2334,16 @@ void CMainFrame::GraphEventComplete()
}
}
+ bool bBreak = false;
if (m_wndPlaylistBar.IsAtEnd()) {
++m_nLoops;
+ bBreak = !!(s.nCLSwitches & CLSW_AFTERPLAYBACK_MASK);
}
if (s.fLoopForever || m_nLoops < s.nLoops) {
- if (m_wndPlaylistBar.GetCount() > 1) {
+ if (bBreak) {
+ DoAfterPlaybackEvent();
+ } else if (m_wndPlaylistBar.GetCount() > 1) {
int nLoops = m_nLoops;
SendMessage(WM_COMMAND, ID_NAVIGATE_SKIPFORWARD);
m_nLoops = nLoops;
@@ -2367,9 +2396,9 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
TRACE(_T("\thr = %08x\n"), (HRESULT)evParam1);
break;
case EC_BUFFERING_DATA:
- TRACE(_T("\t%ld, %Id\n"), (HRESULT)evParam1, evParam2);
+ TRACE(_T("\tBuffering data = %s\n"), evParam1 ? _T("true") : _T("false"));
- m_fBuffering = ((HRESULT)evParam1 != S_OK);
+ m_bBuffering = !!evParam1;
break;
case EC_STEP_COMPLETE:
if (m_fFrameSteppingActive) {
@@ -2738,7 +2767,6 @@ LRESULT CMainFrame::OnResetDevice(WPARAM wParam, LPARAM lParam)
if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
CComQIPtr<IBDATuner> pTun = m_pGB;
if (pTun) {
- m_fSetChannelActive = false;
SetChannel(AfxGetAppSettings().nDVBLastChannel);
}
}
@@ -3177,7 +3205,7 @@ void CMainFrame::OnUpdatePlayerStatus(CCmdUI* pCmdUI)
msg.AppendFormat(IDS_MAINFRM_42, nFreeVidBuffers, nFreeAudBuffers);
}
}
- } else if (m_fBuffering) {
+ } else if (m_bBuffering) {
BeginEnumFilters(m_pGB, pEF, pBF) {
if (CComQIPtr<IAMNetworkStatus, &IID_IAMNetworkStatus> pAMNS = pBF) {
long BufferingProgress = 0;
@@ -3958,31 +3986,33 @@ void CMainFrame::OnFileOpenmedia()
dlg.SetForegroundWindow();
return;
}
- if (dlg.DoModal() != IDOK || dlg.m_fns.IsEmpty()) {
+ if (dlg.DoModal() != IDOK || dlg.GetFileNames().IsEmpty()) {
return;
}
- if (!dlg.m_fAppendPlaylist) {
+ if (!dlg.GetAppendToPlaylist()) {
SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
ShowWindow(SW_SHOW);
SetForegroundWindow();
- if (!dlg.m_fMultipleFiles) {
- if (OpenBD(dlg.m_fns.GetHead())) {
+ CAtlList<CString> filenames;
+ filenames.AddHeadList(&dlg.GetFileNames());
+
+ if (!dlg.HasMultipleFiles()) {
+ if (OpenBD(filenames.GetHead())) {
return;
}
}
- if (dlg.m_fAppendPlaylist) {
- m_wndPlaylistBar.Append(dlg.m_fns, dlg.m_fMultipleFiles);
- return;
- }
-
- m_wndPlaylistBar.Open(dlg.m_fns, dlg.m_fMultipleFiles);
+ if (dlg.GetAppendToPlaylist()) {
+ m_wndPlaylistBar.Append(filenames, dlg.HasMultipleFiles());
+ } else {
+ m_wndPlaylistBar.Open(filenames, dlg.HasMultipleFiles());
- OpenCurPlaylistItem();
+ OpenCurPlaylistItem();
+ }
}
void CMainFrame::OnUpdateFileOpen(CCmdUI* pCmdUI)
@@ -4009,10 +4039,9 @@ BOOL CMainFrame::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCDS)
}
}
- /*
- if (m_iMediaLoadState == MLS::LOADING || !IsWindow(m_wndPlaylistBar))
+ if (m_bScanDlgOpened) {
return FALSE;
- */
+ }
DWORD len = *((DWORD*)pCDS->lpData);
TCHAR* pBuff = (TCHAR*)((DWORD*)pCDS->lpData + 1);
@@ -4246,7 +4275,7 @@ void CMainFrame::OnFileOpendvd()
if (!OpenBD(path)) {
CAutoPtr<OpenDVDData> p(DEBUG_NEW OpenDVDData());
p->path = path;
- p->path.Replace('/', '\\');
+ p->path.Replace(_T('/'), _T('\\'));
if (p->path[p->path.GetLength() - 1] != '\\') {
p->path += '\\';
}
@@ -4955,7 +4984,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().strSnapshotExt);
+ fn.Format(_T("%s_[%s]%s"), PathUtils::FilterInvalidCharsFromFileName(prefix), t.Format(_T("%Y.%m.%d_%H.%M.%S")), AfxGetAppSettings().strSnapshotExt);
return fn;
}
@@ -5015,10 +5044,11 @@ void CMainFrame::OnFileSaveImage()
CStringW prefix = _T("snapshot");
if (GetPlaybackMode() == PM_FILE) {
- CString path(PathUtils::FilterInvalidCharsFromFileName(GetFileName()));
- prefix.Format(_T("%s_snapshot_%s"), path, GetVidPos());
+ prefix.Format(_T("%s_snapshot_%s"), GetFileName(), GetVidPos());
} else if (GetPlaybackMode() == PM_DVD) {
prefix.Format(_T("dvd_snapshot_%s"), GetVidPos());
+ } else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
+ prefix.Format(_T("%s_snapshot"), m_pDVBState->sChannelName);
}
psrc.Combine(s.strSnapshotPath, MakeSnapshotFileName(prefix));
@@ -5075,10 +5105,11 @@ void CMainFrame::OnFileSaveImageAuto()
CStringW prefix = _T("snapshot");
if (GetPlaybackMode() == PM_FILE) {
- CString path(PathUtils::FilterInvalidCharsFromFileName(GetFileName()));
- prefix.Format(_T("%s_snapshot_%s"), path, GetVidPos());
+ prefix.Format(_T("%s_snapshot_%s"), GetFileName(), GetVidPos());
} else if (GetPlaybackMode() == PM_DVD) {
prefix.Format(_T("dvd_snapshot_%s"), GetVidPos());
+ } else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
+ prefix.Format(_T("%s_snapshot"), m_pDVBState->sChannelName);
}
CString fn;
@@ -5104,8 +5135,9 @@ void CMainFrame::OnFileSaveThumbnails()
CPath psrc(s.strSnapshotPath);
CStringW prefix = _T("thumbs");
if (GetPlaybackMode() == PM_FILE) {
- CString path(PathUtils::FilterInvalidCharsFromFileName(GetFileName()));
- prefix.Format(_T("%s_thumbs"), path);
+ prefix.Format(_T("%s_thumbs"), GetFileName());
+ } else {
+ ASSERT(FALSE);
}
psrc.Combine(s.strSnapshotPath, MakeSnapshotFileName(prefix));
@@ -5353,13 +5385,13 @@ void CMainFrame::OnUpdateFileISDBDownload(CCmdUI* pCmdUI)
void CMainFrame::OnFileProperties()
{
- CPPageFileInfoSheet fileinfo(m_wndPlaylistBar.GetCurFileName(), this, GetModalParent());
+ CPPageFileInfoSheet fileinfo(m_pDVBState ? m_pDVBState->sChannelName : m_wndPlaylistBar.GetCurFileName(), this, GetModalParent());
fileinfo.DoModal();
}
void CMainFrame::OnUpdateFileProperties(CCmdUI* pCmdUI)
{
- pCmdUI->Enable(GetLoadState() == MLS::LOADED && GetPlaybackMode() == PM_FILE);
+ pCmdUI->Enable(GetLoadState() == MLS::LOADED && GetPlaybackMode() != PM_ANALOG_CAPTURE);
}
void CMainFrame::OnFileCloseMedia()
@@ -6923,7 +6955,6 @@ void CMainFrame::OnPlayPlay()
CComQIPtr<IBDATuner> pTun = m_pGB;
if (pTun) {
bVideoWndNeedReset = false; // SetChannel deals with MoveVideoWindow
- m_fSetChannelActive = false;
SetChannel(s.nDVBLastChannel);
} else {
ASSERT(FALSE);
@@ -7098,7 +7129,12 @@ void CMainFrame::OnPlayStop()
m_pDVDC->SetOption(DVD_ResetOnStop, TRUE);
m_pMC->Stop();
m_pDVDC->SetOption(DVD_ResetOnStop, FALSE);
- } else if (GetPlaybackMode() != PM_NONE) {
+ } else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
+ m_pMC->Stop();
+ m_pDVBState->bActive = false;
+ OpenSetupWindowTitle();
+ m_wndStatusBar.SetStatusTimer(ResStr(IDS_CAPTURE_LIVE));
+ } else if (GetPlaybackMode() == PM_ANALOG_CAPTURE) {
m_pMC->Stop();
}
@@ -7760,7 +7796,6 @@ void CMainFrame::OnPlayShadersPresets(UINT nID)
// Called from GraphThread
void CMainFrame::OnPlayAudio(UINT nID)
{
- CAppSettings& s = AfxGetAppSettings();
int i = (int)nID - ID_AUDIO_SUBITEM_START;
CComQIPtr<IAMStreamSelect> pSS = FindFilter(__uuidof(CAudioSwitcherFilter), m_pGB);
@@ -7781,7 +7816,7 @@ void CMainFrame::OnPlayAudio(UINT nID)
} else if (GetPlaybackMode() == PM_FILE) {
OnNavStreamSelectSubMenu(i, 1);
} else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- if (CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel)) {
+ if (CDVBChannel* pChannel = m_pDVBState->pChannel) {
OnNavStreamSelectSubMenu(i, 1);
pChannel->SetDefaultAudio(i);
}
@@ -7809,7 +7844,7 @@ void CMainFrame::OnPlaySubtitles(UINT nID)
}
if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- if (CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel)) {
+ if (CDVBChannel* pChannel = m_pDVBState->pChannel) {
OnNavStreamSelectSubMenu(i, 2);
pChannel->SetDefaultSubtitle(i);
}
@@ -8099,46 +8134,50 @@ void CMainFrame::OnAfterplayback(UINT nID)
{
CAppSettings& s = AfxGetAppSettings();
WORD osdMsg = 0;
+ bool bDisable = false;
+
+ auto toogleOption = [&](UINT64 nID) {
+ bDisable = !!(s.nCLSwitches & nID);
+ s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | nID;
+ s.nCLSwitches ^= nID;
+ };
switch (nID) {
case ID_AFTERPLAYBACK_CLOSE:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_CLOSE;
- s.nCLSwitches ^= CLSW_CLOSE;
+ toogleOption(CLSW_CLOSE);
osdMsg = IDS_AFTERPLAYBACK_CLOSE;
break;
case ID_AFTERPLAYBACK_STANDBY:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_STANDBY;
- s.nCLSwitches ^= CLSW_STANDBY;
+ toogleOption(CLSW_STANDBY);
osdMsg = IDS_AFTERPLAYBACK_STANDBY;
break;
case ID_AFTERPLAYBACK_HIBERNATE:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_HIBERNATE;
- s.nCLSwitches ^= CLSW_HIBERNATE;
+ toogleOption(CLSW_HIBERNATE);
osdMsg = IDS_AFTERPLAYBACK_HIBERNATE;
break;
case ID_AFTERPLAYBACK_SHUTDOWN:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_SHUTDOWN;
- s.nCLSwitches ^= CLSW_SHUTDOWN;
+ toogleOption(CLSW_SHUTDOWN);
osdMsg = IDS_AFTERPLAYBACK_SHUTDOWN;
break;
case ID_AFTERPLAYBACK_LOGOFF:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_LOGOFF;
- s.nCLSwitches ^= CLSW_LOGOFF;
+ toogleOption(CLSW_LOGOFF);
osdMsg = IDS_AFTERPLAYBACK_LOGOFF;
break;
case ID_AFTERPLAYBACK_LOCK:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_LOCK;
- s.nCLSwitches ^= CLSW_LOCK;
+ toogleOption(CLSW_LOCK);
osdMsg = IDS_AFTERPLAYBACK_LOCK;
break;
case ID_AFTERPLAYBACK_MONITOROFF:
- s.nCLSwitches &= ~CLSW_AFTERPLAYBACK_MASK | CLSW_MONITOROFF;
- s.nCLSwitches ^= CLSW_MONITOROFF;
+ toogleOption(CLSW_MONITOROFF);
osdMsg = IDS_AFTERPLAYBACK_MONITOROFF;
break;
+ case ID_AFTERPLAYBACK_PLAYNEXT:
+ toogleOption(CLSW_PLAYNEXT);
+ osdMsg = IDS_AFTERPLAYBACK_PLAYNEXT;
+ break;
}
- m_OSD.DisplayMessage(OSD_TOPLEFT, ResStr(osdMsg));
+ m_OSD.DisplayMessage(OSD_TOPLEFT, bDisable ? ResStr(IDS_AFTERPLAYBACK_DONOTHING) : ResStr(osdMsg));
}
void CMainFrame::OnUpdateAfterplayback(CCmdUI* pCmdUI)
@@ -8168,6 +8207,9 @@ void CMainFrame::OnUpdateAfterplayback(CCmdUI* pCmdUI)
case ID_AFTERPLAYBACK_MONITOROFF:
bChecked = !!(s.nCLSwitches & CLSW_MONITOROFF);
break;
+ case ID_AFTERPLAYBACK_PLAYNEXT:
+ bChecked = !!(s.nCLSwitches & CLSW_PLAYNEXT);
+ break;
}
pCmdUI->Enable();
@@ -8375,7 +8417,7 @@ void CMainFrame::OnUpdateNavigateSkip(CCmdUI* pCmdUI)
&& m_iDVDDomain != DVD_DOMAIN_VideoTitleSetMenu)
|| (GetPlaybackMode() == PM_FILE && s.fUseSearchInFolder)
|| (GetPlaybackMode() == PM_FILE && !s.fUseSearchInFolder && (m_wndPlaylistBar.GetCount() > 1 || m_pCB->ChapGetCount() > 1))
- || (GetPlaybackMode() == PM_DIGITAL_CAPTURE && !m_fSetChannelActive)));
+ || (GetPlaybackMode() == PM_DIGITAL_CAPTURE && !m_pDVBState->bSetChannelActive)));
}
void CMainFrame::OnNavigateSkipFile(UINT nID)
@@ -8528,14 +8570,14 @@ void CMainFrame::OnNavigateJumpTo(UINT nID)
} else if (GetPlaybackMode() == PM_DVD) {
SeekToDVDChapter(nID - ID_NAVIGATE_JUMPTO_SUBITEM_START + 1);
} else if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- nID -= ID_NAVIGATE_JUMPTO_SUBITEM_START;
-
CComQIPtr<IBDATuner> pTun = m_pGB;
if (pTun) {
- if (s.nDVBLastChannel != nID) {
- if (SUCCEEDED(SetChannel(nID))) {
+ int nChannel = nID - ID_NAVIGATE_JUMPTO_SUBITEM_START;
+
+ if (s.nDVBLastChannel != nChannel) {
+ if (SUCCEEDED(SetChannel(nChannel))) {
if (m_controls.ControlChecked(CMainFrameControls::Panel::NAVIGATION)) {
- m_wndNavigationBar.m_navdlg.UpdatePos(nID);
+ m_wndNavigationBar.m_navdlg.UpdatePos(nChannel);
}
}
}
@@ -8589,8 +8631,10 @@ void CMainFrame::OnUpdateNavigateMenuItem(CCmdUI* pCmdUI)
void CMainFrame::OnTunerScan()
{
- CTunerScanDlg Dlg;
- Dlg.DoModal();
+ m_bScanDlgOpened = true;
+ CTunerScanDlg dlg(this);
+ dlg.DoModal();
+ m_bScanDlgOpened = false;
}
void CMainFrame::OnUpdateTunerScan(CCmdUI* pCmdUI)
@@ -8916,7 +8960,7 @@ void CMainFrame::PlayFavoriteFile(CString fav)
// All you have to do then is plug in your 500 gb drive, full with movies and/or music, start MPC-HC (from the 500 gb drive) with a preloaded playlist and press play.
if (bRelativeDrive) {
// Get the drive MPC-HC is on and apply it to the path list
- CString exePath = GetProgramPath(true);
+ CString exePath = PathUtils::GetProgramPath(true);
CPath exeDrive(exePath);
@@ -9809,7 +9853,7 @@ void CMainFrame::HideVideoWindow(bool fHide)
CSize CMainFrame::GetZoomWindowSize(double dScale)
{
const auto& s = AfxGetAppSettings();
- CSize ret(0, 0);
+ CSize ret;
if (dScale >= 0.0 && GetLoadState() == MLS::LOADED) {
MINMAXINFO mmi;
@@ -9830,13 +9874,23 @@ CSize CMainFrame::GetZoomWindowSize(double dScale)
videoSize.cy = s.nCoverArtSizeLimit;
}
}
+
+ if (videoSize.cx <= 1 || videoSize.cy <= 1) {
+ // Do not adjust window width if blank logo is used (1x1px) or cover-art size is limited
+ // to avoid shrinking window width too much and give ability to revert pre 94dc87c behavior
+ videoSize.SetSize(0, 0);
+ CRect windowRect;
+ GetWindowRect(windowRect);
+ mmi.ptMinTrackSize.x = std::max<long>(windowRect.Width(), mmi.ptMinTrackSize.x);
+ }
} else {
videoSize = GetVideoSize();
}
- CSize clientTargetSize(int(videoSize.cx * dScale + 0.5), int(videoSize.cy * dScale + 0.5));
+ CSize videoTargetSize(int(videoSize.cx * dScale + 0.5), int(videoSize.cy * dScale + 0.5));
+ CSize controlsSize;
const bool bToolbarsOnVideo = m_controls.ToolbarsCoverVideo();
const bool bPanelsOnVideo = m_controls.PanelsCoverVideo();
if (!bPanelsOnVideo) {
@@ -9845,29 +9899,47 @@ CSize CMainFrame::GetZoomWindowSize(double dScale)
if (bToolbarsOnVideo) {
uBottom -= m_controls.GetToolbarsHeight();
}
- clientTargetSize.cx += uLeft + uRight;
- clientTargetSize.cy += uTop + uBottom;
+ controlsSize.cx = uLeft + uRight;
+ controlsSize.cy = uTop + uBottom;
} else if (!bToolbarsOnVideo) {
- clientTargetSize.cy += m_controls.GetToolbarsHeight();
+ controlsSize.cy = m_controls.GetToolbarsHeight();
}
- CRect rect(CPoint(0, 0), clientTargetSize);
- if (AdjustWindowRectEx(rect, GetWindowStyle(m_hWnd), s.eCaptionMenuMode == MODE_SHOWCAPTIONMENU,
- GetWindowExStyle(m_hWnd))) {
- ret.cx = std::max<long>(rect.Width(), mmi.ptMinTrackSize.x);
- ret.cy = std::max<long>(rect.Height(), mmi.ptMinTrackSize.y);
- } else {
- ASSERT(FALSE);
- }
+ CRect decorationsRect;
+ VERIFY(AdjustWindowRectEx(decorationsRect, GetWindowStyle(m_hWnd), s.eCaptionMenuMode == MODE_SHOWCAPTIONMENU,
+ GetWindowExStyle(m_hWnd)));
- // don't go larger than the current monitor working area
- MONITORINFO mi = { sizeof(mi) };
- if (GetMonitorInfo(MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST), &mi)) {
- ret.cx = std::min<long>(ret.cx, (mi.rcWork.right - mi.rcWork.left));
- ret.cy = std::min<long>(ret.cy, (mi.rcWork.bottom - mi.rcWork.top));
+ CRect workRect;
+ CMonitors::GetNearestMonitor(this).GetWorkAreaRect(workRect);
+
+ if (workRect.Width() && workRect.Height()) {
+ // don't go larger than the current monitor working area and prevent black bars in this case
+ CSize videoSpaceSize = workRect.Size() - controlsSize - decorationsRect.Size();
+
+ // Do not adjust window size for video frame aspect ratio when video size is independent from window size
+ const bool bAdjustWindowAR = !(s.iDefaultVideoSize == DVS_HALF || s.iDefaultVideoSize == DVS_NORMAL || s.iDefaultVideoSize == DVS_DOUBLE);
+ const double videoAR = videoSize.cx / (double)videoSize.cy;
+
+ if (videoTargetSize.cx > videoSpaceSize.cx) {
+ videoTargetSize.cx = videoSpaceSize.cx;
+ if (bAdjustWindowAR) {
+ videoTargetSize.cy = std::lround(videoSpaceSize.cx / videoAR);
+ }
+ }
+
+ if (videoTargetSize.cy > videoSpaceSize.cy) {
+ videoTargetSize.cy = videoSpaceSize.cy;
+ if (bAdjustWindowAR) {
+ videoTargetSize.cx = std::lround(videoSpaceSize.cy * videoAR);
+ }
+ }
} else {
ASSERT(FALSE);
}
+
+ ret = videoTargetSize + controlsSize + decorationsRect.Size();
+ ret.cx = std::max(ret.cx, mmi.ptMinTrackSize.x);
+ ret.cy = std::max(ret.cy, mmi.ptMinTrackSize.y);
} else {
ASSERT(FALSE);
}
@@ -10604,7 +10676,7 @@ void CMainFrame::SetupDVDChapters()
CAtlList<CString> files;
CVobFile vob;
- if (vob.Open(path, files, TTN)) {
+ if (vob.Open(path, files, TTN, false)) {
int iChaptersCount = vob.GetChaptersCount();
if (ulNumOfChapters == (ULONG)iChaptersCount) {
for (int i = 0; i < iChaptersCount; i++) {
@@ -10634,7 +10706,7 @@ void CMainFrame::OpenDVD(OpenDVDData* pODD)
{
HRESULT hr = m_pGB->RenderFile(CStringW(pODD->path), nullptr);
- const CAppSettings& s = AfxGetAppSettings();
+ CAppSettings& s = AfxGetAppSettings();
if (s.fReportFailedPins) {
CComQIPtr<IGraphBuilderDeadEnd> pGBDE = m_pGB;
@@ -10667,7 +10739,15 @@ void CMainFrame::OpenDVD(OpenDVDData* pODD)
WCHAR buff[MAX_PATH];
ULONG len = 0;
if (SUCCEEDED(hr = m_pDVDI->GetDVDDirectory(buff, _countof(buff), &len))) {
- pODD->title = CString(CStringW(buff));
+ pODD->title = CString(CStringW(buff)).Trim(_T("\\"));
+ }
+
+ if (s.fKeepHistory) {
+ CRecentFileList* pMRU = &s.MRU;
+ pMRU->ReadList();
+ pMRU->Add(pODD->title);
+ pMRU->WriteList();
+ SHAddToRecentDocs(SHARD_PATH, pODD->title);
}
// TODO: resetdvd
@@ -10695,6 +10775,7 @@ HRESULT CMainFrame::OpenBDAGraph()
HRESULT hr = m_pGB->RenderFile(L"", L"");
if (SUCCEEDED(hr)) {
SetPlaybackMode(PM_DIGITAL_CAPTURE);
+ m_pDVBState = make_unique<DVBState>();
}
return hr;
}
@@ -10862,25 +10943,24 @@ void CMainFrame::OpenCustomizeGraph()
const CAppSettings& s = AfxGetAppSettings();
const CRenderersSettings& r = s.m_RenderersSettings;
if (r.m_AdvRendSets.bSynchronizeVideo && s.iDSVideoRendererType == VIDRNDT_DS_SYNC) {
- HRESULT hr;
+ HRESULT hr = S_OK;
m_pRefClock = DEBUG_NEW CSyncClockFilter(nullptr, &hr);
- CStringW name;
- name = L"SyncClock Filter";
- m_pGB->AddFilter(m_pRefClock, name);
- CComPtr<IReferenceClock> refClock;
- m_pRefClock->QueryInterface(IID_PPV_ARGS(&refClock));
- CComPtr<IMediaFilter> mediaFilter;
- m_pGB->QueryInterface(IID_PPV_ARGS(&mediaFilter));
- mediaFilter->SetSyncSource(refClock);
- mediaFilter = nullptr;
- refClock = nullptr;
+ if (SUCCEEDED(hr) && SUCCEEDED(m_pGB->AddFilter(m_pRefClock, L"SyncClock Filter"))) {
+ CComQIPtr<IReferenceClock> refClock = m_pRefClock;
+ CComQIPtr<IMediaFilter> mediaFilter = m_pGB;
- m_pRefClock->QueryInterface(IID_PPV_ARGS(&m_pSyncClock));
+ if (refClock && mediaFilter) {
+ VERIFY(SUCCEEDED(mediaFilter->SetSyncSource(refClock)));
+ mediaFilter = nullptr;
+ refClock = nullptr;
- CComQIPtr<ISyncClockAdviser> pAdviser = m_pCAP;
- if (pAdviser) {
- pAdviser->AdviseSyncClock(m_pSyncClock);
+ VERIFY(SUCCEEDED(m_pRefClock->QueryInterface(IID_PPV_ARGS(&m_pSyncClock))));
+ CComQIPtr<ISyncClockAdviser> pAdviser = m_pCAP;
+ if (pAdviser) {
+ VERIFY(SUCCEEDED(pAdviser->AdviseSyncClock(m_pSyncClock)));
+ }
+ }
}
}
@@ -11794,8 +11874,10 @@ void CMainFrame::CloseMediaPrivate()
}
m_fLiveWM = false;
m_fEndOfStream = false;
+ m_bBuffering = false;
m_rtDurationOverride = -1;
m_bUsingDXVA = false;
+ m_pDVBState = nullptr;
m_pCB.Release();
SetSubtitle(SubtitleInput(nullptr));
@@ -11962,12 +12044,13 @@ void CMainFrame::DoTunerScan(TunerScanData* pTSD)
for (ULONG ulFrequency = pTSD->FrequencyStart; ulFrequency <= pTSD->FrequencyStop; ulFrequency += pTSD->Bandwidth) {
bool bSucceeded = false;
for (int nOffsetPos = 0; nOffsetPos < nOffset && !bSucceeded; nOffsetPos++) {
- pTun->SetFrequency(ulFrequency + lOffsets[nOffsetPos]);
- Sleep(200); // Let the tuner some time to detect the signal
- if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
- ::SendMessage(pTSD->Hwnd, WM_TUNER_STATS, lDbStrength, lPercentQuality);
- pTun->Scan(ulFrequency + lOffsets[nOffsetPos], pTSD->Hwnd);
- bSucceeded = true;
+ if (SUCCEEDED(pTun->SetFrequency(ulFrequency + lOffsets[nOffsetPos]))) {
+ Sleep(200); // Let the tuner some time to detect the signal
+ if (SUCCEEDED(pTun->GetStats(bPresent, bLocked, lDbStrength, lPercentQuality)) && bPresent) {
+ ::SendMessage(pTSD->Hwnd, WM_TUNER_STATS, lDbStrength, lPercentQuality);
+ pTun->Scan(ulFrequency + lOffsets[nOffsetPos], pTSD->Hwnd);
+ bSucceeded = true;
+ }
}
}
@@ -12716,15 +12799,6 @@ void CMainFrame::SetupVideoStreamsSubMenu()
}
}
-static CString StripPath(CString path)
-{
- CString p = path;
- p.Replace('\\', '/');
- p.TrimRight('/');
- p = p.Mid(p.ReverseFind('/') + 1);
- return (p.IsEmpty() ? path : p);
-}
-
void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInsertPos /*= -1*/)
{
auto emptyMenu = [&](CMenu & menu) {
@@ -12779,7 +12853,7 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
UINT flags = MF_BYCOMMAND | MF_STRING | MF_ENABLED;
CHdmvClipInfo::PlaylistItem Item = m_MPLSPlaylist.GetNext(pos);
CString time = _T("[") + ReftimeToString2(Item.Duration()) + _T("]");
- CString name = StripPath(Item.m_strFileName);
+ CString name = PathUtils::StripPathOrUrl(Item.m_strFileName);
if (name == m_wndPlaylistBar.m_pl.GetHead().GetLabel()) {
idSelected = id;
@@ -12887,19 +12961,17 @@ void CMainFrame::SetupJumpToSubMenus(CMenu* parentMenu /*= nullptr*/, int iInser
const CAppSettings& s = AfxGetAppSettings();
menuStartRadioSection();
- POSITION pos = s.m_DVBChannels.GetHeadPosition();
- while (pos) {
- const CDVBChannel& channel = s.m_DVBChannels.GetNext(pos);
+ for (const auto& channel : s.m_DVBChannels) {
UINT flags = MF_BYCOMMAND | MF_STRING | MF_ENABLED;
- if ((UINT)channel.GetPrefNumber() == s.nDVBLastChannel) {
+ if (channel.GetPrefNumber() == s.nDVBLastChannel) {
idSelected = id;
}
VERIFY(m_channelsMenu.AppendMenu(flags, ID_NAVIGATE_JUMPTO_SUBITEM_START + channel.GetPrefNumber(), channel.GetName()));
id++;
}
menuEndRadioSection(m_channelsMenu);
- addSubMenuIfPossible(_T("Channels"), m_channelsMenu);
+ addSubMenuIfPossible(ResStr(IDS_NAVIGATE_CHANNELS), m_channelsMenu);
}
}
@@ -14262,8 +14334,19 @@ void CMainFrame::ShowOptions(int idPage/* = 0*/)
CPPageSheet options(ResStr(IDS_OPTIONS_CAPTION), m_pGB, GetModalParent(), idPage);
iRes = options.DoModal();
idPage = 0; // If we are to show the dialog again, always show the latest page
- } while (iRes == IDRETRY); // IDRETRY means we quited the dialog so that the language change is applied
- ASSERT(iRes > 0 && iRes != IDABORT);
+ } while (iRes == CPPageSheet::APPLY_LANGUAGE_CHANGE); // check if we exited the dialog so that the language change can be applied
+
+ switch (iRes) {
+ case CPPageSheet::RESET_SETTINGS:
+ // Request MPC-HC to close itself
+ SendMessage(WM_CLOSE);
+ // and immediately reopen
+ ShellExecute(nullptr, _T("open"), PathUtils::GetProgramPath(true), _T("/reset"), nullptr, SW_SHOWNORMAL);
+ break;
+ default:
+ ASSERT(iRes > 0 && iRes != CPPageSheet::APPLY_LANGUAGE_CHANGE);
+ break;
+ }
}
void CMainFrame::StartWebServer(int nPort)
@@ -14406,17 +14489,8 @@ void CMainFrame::OpenMedia(CAutoPtr<OpenMediaData> pOMD)
SetLoadState(MLS::LOADING);
// use the graph thread only for some media types
- bool fUseThread = m_pGraphThread && s.fEnableWorkerThreadForOpening;
- if (pFileData) {
- if (!pFileData->fns.IsEmpty()) {
- engine_t e = s.m_Formats.GetEngine(pFileData->fns.GetHead());
- if (e != DirectShow /*&& e != RealMedia && e != QuickTime*/) {
- fUseThread = false;
- }
- }
- } else if (pDeviceData) {
- fUseThread = false;
- }
+ bool bDirectShow = pFileData && !pFileData->fns.IsEmpty() && s.m_Formats.GetEngine(pFileData->fns.GetHead()) == DirectShow;
+ bool bUseThread = m_pGraphThread && s.fEnableWorkerThreadForOpening && (bDirectShow || !pFileData) && (s.iDefaultCaptureDevice == 1 || !pDeviceData);
// create d3dfs window if launching in fullscreen and d3dfs is enabled
if (s.IsD3DFullscreen() && m_fStartInD3DFullscreen) {
@@ -14437,10 +14511,13 @@ void CMainFrame::OpenMedia(CAutoPtr<OpenMediaData> pOMD)
m_wndStatusBar.SetStatusTypeIcon(LoadIcon(ext, true));
} else if (pDVDData) {
m_wndStatusBar.SetStatusTypeIcon(LoadIcon(_T(".ifo"), true));
+ } else {
+ // TODO: Create icons for pDeviceData
+ m_wndStatusBar.SetStatusTypeIcon(LoadIcon(_T(".unknown"), true));
}
// initiate graph creation, OpenMediaPrivate() will call OnFilePostOpenmedia()
- if (fUseThread) {
+ if (bUseThread) {
VERIFY(m_evOpenPrivateFinished.ResetEvent());
VERIFY(m_pGraphThread->PostThreadMessage(CGraphThread::TM_OPEN, 0, (LPARAM)pOMD.Detach()));
m_bOpenedThroughThread = true;
@@ -14574,6 +14651,14 @@ void CMainFrame::CloseMedia(bool bNextIsQueued/* = false*/)
void CMainFrame::StartTunerScan(CAutoPtr<TunerScanData> pTSD)
{
+ // Remove the old info during the scan
+ m_pDVBState->Reset();
+ m_wndInfoBar.RemoveAllLines();
+ m_wndNavigationBar.m_navdlg.SetChannelInfoAvailable(false);
+ RecalcLayout();
+ OpenSetupWindowTitle();
+ SendNowPlayingToSkype();
+
if (m_pGraphThread) {
m_pGraphThread->PostThreadMessage(CGraphThread::TM_TUNER_SCAN, 0, (LPARAM)pTSD.Detach());
} else {
@@ -14588,44 +14673,51 @@ void CMainFrame::StopTunerScan()
HRESULT CMainFrame::SetChannel(int nChannel)
{
- const CAppSettings& s = AfxGetAppSettings();
+ CAppSettings& s = AfxGetAppSettings();
HRESULT hr = S_OK;
CComQIPtr<IBDATuner> pTun = m_pGB;
+ CDVBChannel* pChannel = s.FindChannelByPref(nChannel);
- if (!m_fSetChannelActive) {
- m_fSetChannelActive = true;
+ if (s.m_DVBChannels.empty() && nChannel == INT_ERROR) {
+ hr = S_FALSE; // All channels have been cleared or it is the first start
+ } else if (pTun && pChannel && !m_pDVBState->bSetChannelActive) {
+ m_pDVBState->Reset();
+ m_wndInfoBar.RemoveAllLines();
+ m_wndNavigationBar.m_navdlg.SetChannelInfoAvailable(false);
+ RecalcLayout();
+ m_pDVBState->bSetChannelActive = true;
- if (pTun) {
- // Skip n intermediate ZoomVideoWindow() calls while the new size is stabilized:
- switch (s.iDSVideoRendererType) {
- case VIDRNDT_DS_MADVR:
- if (s.nDVBStopFilterGraph == DVB_STOP_FG_ALWAYS) {
- m_nLockedZoomVideoWindow = 3;
- } else {
- m_nLockedZoomVideoWindow = 0;
- }
- break;
- case VIDRNDT_DS_EVR_CUSTOM:
- m_nLockedZoomVideoWindow = 0;
- break;
- default:
- m_nLockedZoomVideoWindow = 0;
- }
- if (SUCCEEDED(hr = pTun->SetChannel(nChannel))) {
- if (hr == S_FALSE) {
- // Re-create all
+ // Skip n intermediate ZoomVideoWindow() calls while the new size is stabilized:
+ switch (s.iDSVideoRendererType) {
+ case VIDRNDT_DS_MADVR:
+ if (s.nDVBStopFilterGraph == DVB_STOP_FG_ALWAYS) {
+ m_nLockedZoomVideoWindow = 3;
+ } else {
m_nLockedZoomVideoWindow = 0;
- PostMessage(WM_COMMAND, ID_FILE_OPENDEVICE);
- return hr;
}
- ShowCurrentChannelInfo();
+ break;
+ case VIDRNDT_DS_EVR_CUSTOM:
+ m_nLockedZoomVideoWindow = 0;
+ break;
+ default:
+ m_nLockedZoomVideoWindow = 0;
+ }
+ if (SUCCEEDED(hr = pTun->SetChannel(nChannel))) {
+ if (hr == S_FALSE) {
+ // Re-create all
+ m_nLockedZoomVideoWindow = 0;
+ PostMessage(WM_COMMAND, ID_FILE_OPENDEVICE);
+ return hr;
}
- WINDOWPLACEMENT wp;
- wp.length = sizeof(wp);
- GetWindowPlacement(&wp);
- if (s.fRememberZoomLevel
- && !(m_fFullScreen || wp.showCmd == SW_SHOWMAXIMIZED || wp.showCmd == SW_SHOWMINIMIZED)) {
+ m_pDVBState->bActive = true;
+ m_pDVBState->pChannel = pChannel;
+ m_pDVBState->sChannelName = pChannel->GetName();
+
+ m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_CHANNEL), m_pDVBState->sChannelName);
+ RecalcLayout();
+
+ if (s.fRememberZoomLevel && !(m_fFullScreen || IsZoomed() || IsIconic())) {
ZoomVideoWindow();
}
MoveVideoWindow();
@@ -14635,24 +14727,52 @@ HRESULT CMainFrame::SetChannel(int nChannel)
m_bAllowWindowZoom = true;
m_timerOneTime.Subscribe(TimerOneTimeSubscriber::AUTOFIT_TIMEOUT, [this]
{ m_bAllowWindowZoom = false; }, 5000);
+
+ UpdateCurrentChannelInfo();
}
- m_fSetChannelActive = false;
+ m_pDVBState->bSetChannelActive = false;
+ } else {
+ hr = E_FAIL;
+ ASSERT(FALSE);
}
+
return hr;
}
-void CMainFrame::ShowCurrentChannelInfo(bool fShowOSD /*= true*/, bool fShowInfoBar /*= false*/)
+void CMainFrame::UpdateCurrentChannelInfo(bool bShowOSD /*= true*/, bool bShowInfoBar /*= false*/)
{
- CAppSettings& s = AfxGetAppSettings();
- CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
+ const CDVBChannel* pChannel = m_pDVBState->pChannel;
CComQIPtr<IBDATuner> pTun = m_pGB;
- if (pChannel && pTun) {
- EventDescriptor NowNext;
- // Get EIT information:
- HRESULT hr = pTun->UpdatePSI(pChannel, NowNext);
+ if (!m_pDVBState->bInfoActive && pChannel && pTun) {
+ if (m_pDVBState->infoData.valid()) {
+ m_pDVBState->bAbortInfo = true;
+ m_pDVBState->infoData.get();
+ }
+ m_pDVBState->bAbortInfo = false;
+ m_pDVBState->bInfoActive = true;
+ m_pDVBState->infoData = std::async(std::launch::async, [this, pChannel, pTun, bShowOSD, bShowInfoBar] {
+ DVBState::EITData infoData;
+ infoData.hr = pTun->UpdatePSI(pChannel, infoData.NowNext);
+ infoData.bShowOSD = bShowOSD;
+ infoData.bShowInfoBar = bShowInfoBar;
+ if (!m_pDVBState->bAbortInfo)
+ {
+ PostMessage(WM_DVB_EIT_DATA_READY);
+ }
+ return infoData;
+ });
+ }
+}
- if (hr != S_FALSE) {
+LRESULT CMainFrame::OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam)
+{
+ if (!m_pDVBState->bAbortInfo && m_pDVBState->infoData.valid()) {
+ EventDescriptor& NowNext = m_pDVBState->NowNext;
+ const auto infoData = m_pDVBState->infoData.get();
+ NowNext = infoData.NowNext;
+
+ if (infoData.hr != S_FALSE) {
// Set a timer to update the infos only if channel has now/next flag
time_t tNow;
time(&tNow);
@@ -14663,20 +14783,20 @@ void CMainFrame::ShowCurrentChannelInfo(bool fShowOSD /*= true*/, bool fShowInfo
// We set a 15s delay to let some room for the program infos to change
tElapse += 15;
m_timerOneTime.Subscribe(TimerOneTimeSubscriber::DVBINFO_UPDATE,
- [this] { ShowCurrentChannelInfo(false, false); },
+ [this] { UpdateCurrentChannelInfo(false, false); },
1000 * (UINT)tElapse);
- m_wndNavigationBar.m_navdlg.m_ButtonInfo.EnableWindow();
+ m_wndNavigationBar.m_navdlg.SetChannelInfoAvailable(true);
} else {
- m_wndNavigationBar.m_navdlg.m_ButtonInfo.EnableWindow(FALSE);
+ m_wndNavigationBar.m_navdlg.SetChannelInfoAvailable(false);
}
- CString sChannelInfo = pChannel->GetName();
+ CString sChannelInfo = m_pDVBState->sChannelName;
m_wndInfoBar.RemoveAllLines();
m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_CHANNEL), sChannelInfo);
- if (hr == S_OK) {
+ if (infoData.hr == S_OK) {
// EIT information parsed correctly
- if (fShowOSD) {
+ if (infoData.bShowOSD) {
sChannelInfo.AppendFormat(_T(" | %s (%s - %s)"), NowNext.eventName, NowNext.strStartTime, NowNext.strEndTime);
}
@@ -14698,26 +14818,25 @@ void CMainFrame::ShowCurrentChannelInfo(bool fShowOSD /*= true*/, bool fShowInfo
}
CString description = NowNext.eventDesc;
- if (!NowNext.extendedDescriptorsTexts.IsEmpty()) {
+ if (!NowNext.extendedDescriptorsText.IsEmpty()) {
if (!description.IsEmpty()) {
description += _T("; ");
}
- description += NowNext.extendedDescriptorsTexts.GetTail();
+ description += NowNext.extendedDescriptorsText;
}
m_wndInfoBar.SetLine(ResStr(IDS_INFOBAR_DESCRIPTION), description);
- for (int i = 0; i < NowNext.extendedDescriptorsItemsDesc.GetCount(); i++) {
- m_wndInfoBar.SetLine(NowNext.extendedDescriptorsItemsDesc.ElementAt(i), NowNext.extendedDescriptorsItemsContent.ElementAt(i));
+ for (const auto& item : NowNext.extendedDescriptorsItems) {
+ m_wndInfoBar.SetLine(item.first, item.second);
}
- if (fShowInfoBar) {
- s.nCS |= CS_INFOBAR;
- UpdateControlState(UPDATE_CONTROLS_VISIBILITY);
+ if (infoData.bShowInfoBar && !m_controls.ControlChecked(CMainFrameControls::Toolbar::INFO)) {
+ m_controls.ToggleControl(CMainFrameControls::Toolbar::INFO);
}
}
RecalcLayout();
- if (fShowOSD) {
+ if (infoData.bShowOSD) {
m_OSD.DisplayMessage(OSD_TOPLEFT, sChannelInfo, 3500);
}
@@ -14727,6 +14846,10 @@ void CMainFrame::ShowCurrentChannelInfo(bool fShowOSD /*= true*/, bool fShowInfo
} else {
ASSERT(FALSE);
}
+
+ m_pDVBState->bInfoActive = false;
+
+ return 0;
}
// ==== Added by CASIMIR666
@@ -16000,7 +16123,7 @@ void CMainFrame::OnSessionChange(UINT nSessionState, UINT nId)
void CMainFrame::WTSRegisterSessionNotification()
{
- const WinapiFunc<BOOL(HWND, DWORD)>
+ const WinapiFunc<BOOL WINAPI(HWND, DWORD)>
fnWtsRegisterSessionNotification = { "wtsapi32.dll", "WTSRegisterSessionNotification" };
if (fnWtsRegisterSessionNotification) {
@@ -16010,7 +16133,7 @@ void CMainFrame::WTSRegisterSessionNotification()
void CMainFrame::WTSUnRegisterSessionNotification()
{
- const WinapiFunc<BOOL(HWND)>
+ const WinapiFunc<BOOL WINAPI(HWND)>
fnWtsUnRegisterSessionNotification = { "wtsapi32.dll", "WTSUnRegisterSessionNotification" };
if (fnWtsUnRegisterSessionNotification) {
@@ -16069,10 +16192,19 @@ void CMainFrame::UpdateControlState(UpdateControlTarget target)
CString author;
m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_AUTHOR), author);
CString strPath = path;
- if (m_currentCoverPath != strPath || m_currentCoverAuthor != author) {
- m_wndView.LoadImg(FindCoverArt(strPath, author));
+
+ CComQIPtr<IFilterGraph> pFilterGraph = m_pGB;
+ std::vector<BYTE> internalCover;
+ if (CoverArt::FindEmbedded(pFilterGraph, internalCover)) {
+ m_wndView.LoadImg(internalCover);
+ m_currentCoverPath = m_wndPlaylistBar.GetCurFileName();
+ m_currentCoverAuthor = author;
+ } else if (m_currentCoverPath != strPath || m_currentCoverAuthor != author) {
+ m_wndView.LoadImg(CoverArt::FindExternal(strPath, author));
m_currentCoverPath = strPath;
m_currentCoverAuthor = author;
+ } else if (!m_wndView.IsCustomImgLoaded()) {
+ m_wndView.LoadImg();
}
} else {
m_currentCoverPath.Empty();
@@ -16134,6 +16266,9 @@ void CMainFrame::UpdateUILanguage()
// Reload the static bars
OpenSetupInfoBar();
+ if (GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
+ UpdateCurrentChannelInfo(false, false);
+ }
OpenSetupStatsBar();
// Reload the debug shaders dialog if need be
@@ -16336,26 +16471,23 @@ CString CMainFrame::GetFileName()
}
}
- return StripPath(path);
+ return PathUtils::StripPathOrUrl(path);
}
CString CMainFrame::GetCaptureTitle()
{
- CAppSettings& s = AfxGetAppSettings();
CString title;
title.LoadString(IDS_CAPTURE_LIVE);
- if (s.iDefaultCaptureDevice == 0) {
+ if (GetPlaybackMode() == PM_ANALOG_CAPTURE) {
CString devName = GetFriendlyName(m_VidDispName);
if (!devName.IsEmpty()) {
title.AppendFormat(_T(" | %s"), devName);
}
} else {
- CDVBChannel* pChannel = s.FindChannelByPref(s.nDVBLastChannel);
- if (pChannel) {
- title.AppendFormat(_T(" | %s"), pChannel->GetName());
- CString eventName;
- m_wndInfoBar.GetLine(ResStr(IDS_INFOBAR_TITLE), eventName);
+ CString& eventName = m_pDVBState->NowNext.eventName;
+ if (m_pDVBState->bActive) {
+ title.AppendFormat(_T(" | %s"), m_pDVBState->sChannelName);
if (!eventName.IsEmpty()) {
title.AppendFormat(_T(" - %s"), eventName);
}
diff --git a/src/mpc-hc/MainFrm.h b/src/mpc-hc/MainFrm.h
index 56479892d..c23732c2e 100644
--- a/src/mpc-hc/MainFrm.h
+++ b/src/mpc-hc/MainFrm.h
@@ -73,12 +73,12 @@
#include "SkypeMoodMsgHandler.h"
#include <memory>
+#include <future>
class CFullscreenWnd;
-enum class MLS
-{
+enum class MLS {
CLOSED,
LOADING,
LOADED,
@@ -158,16 +158,14 @@ interface ISubClock;
class CMainFrame : public CFrameWnd, public CDropTarget
{
public:
- enum class Timer32HzSubscriber
- {
+ enum class Timer32HzSubscriber {
TOOLBARS_HIDER,
CURSOR_HIDER,
CURSOR_HIDER_D3DFS,
};
OnDemandTimer<Timer32HzSubscriber> m_timer32Hz;
- enum class TimerOneTimeSubscriber
- {
+ enum class TimerOneTimeSubscriber {
TOOLBARS_DELAY_NOTLOADED,
CHILDVIEW_CURSOR_HACK,
DELAY_IDLE,
@@ -348,7 +346,7 @@ private:
DWORD m_dwLastRun;
- bool m_fBuffering;
+ bool m_bBuffering;
bool m_fLiveWM;
@@ -565,7 +563,42 @@ public:
virtual void RecalcLayout(BOOL bNotify = TRUE);
// DVB capture
- void ShowCurrentChannelInfo(bool fShowOSD = true, bool fShowInfoBar = false);
+ void UpdateCurrentChannelInfo(bool bShowOSD = true, bool bShowInfoBar = false);
+ LRESULT OnCurrentChannelInfoUpdated(WPARAM wParam, LPARAM lParam);
+
+ struct DVBState {
+ struct EITData {
+ HRESULT hr = E_FAIL;
+ EventDescriptor NowNext;
+ bool bShowOSD = true;
+ bool bShowInfoBar = false;
+ };
+
+ CString sChannelName; // Current channel name
+ CDVBChannel* pChannel = nullptr; // Pointer to current channel object
+ EventDescriptor NowNext; // Current channel EIT
+ bool bActive = false; // True when channel is active
+ bool bSetChannelActive = false; // True when channel change is in progress
+ bool bInfoActive = false; // True when EIT data update is in progress
+ bool bAbortInfo = true; // True when aborting current EIT update
+ std::future<DVBState::EITData> infoData;
+
+ void Reset() {
+ sChannelName.Empty();
+ pChannel = nullptr;
+ NowNext = EventDescriptor();
+ bActive = false;
+ bSetChannelActive = false;
+ bInfoActive = false;
+ bAbortInfo = true;
+ }
+
+ ~DVBState() {
+ bAbortInfo = true;
+ }
+ };
+
+ std::unique_ptr<DVBState> m_pDVBState = nullptr;
// Implementation
public:
@@ -949,10 +982,10 @@ public:
int m_nCurSubtitle;
long m_lSubtitleShift;
REFERENCE_TIME m_rtCurSubPos;
+ bool m_bScanDlgOpened;
bool m_bStopTunerScan;
bool m_bLockedZoomVideoWindow;
int m_nLockedZoomVideoWindow;
- bool m_fSetChannelActive;
void SetLoadState(MLS eState);
MLS GetLoadState() const;
diff --git a/src/mpc-hc/MainFrmControls.h b/src/mpc-hc/MainFrmControls.h
index 22d2fbe64..af53e75d3 100644
--- a/src/mpc-hc/MainFrmControls.h
+++ b/src/mpc-hc/MainFrmControls.h
@@ -57,8 +57,7 @@ public:
CMainFrameControls(CMainFrame* pMainFrame);
~CMainFrameControls();
- enum class Toolbar
- {
+ enum class Toolbar {
SEEKBAR,
CONTROLS,
INFO,
@@ -67,8 +66,7 @@ public:
};
std::map<Toolbar, CControlBar*> m_toolbars;
- enum class Panel
- {
+ enum class Panel {
SUBRESYNC,
PLAYLIST,
CAPTURE,
diff --git a/src/mpc-hc/MediaFormats.cpp b/src/mpc-hc/MediaFormats.cpp
index a80b8891f..c626ce21b 100644
--- a/src/mpc-hc/MediaFormats.cpp
+++ b/src/mpc-hc/MediaFormats.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -31,8 +31,8 @@
CMediaFormatCategory::CMediaFormatCategory()
: m_fAudioOnly(false)
- , m_fAssociable(true)
, m_engine(DirectShow)
+ , m_fAssociable(true)
{
}
diff --git a/src/mpc-hc/MediaTypesDlg.cpp b/src/mpc-hc/MediaTypesDlg.cpp
index 6ae214c5a..fdc489f2a 100644
--- a/src/mpc-hc/MediaTypesDlg.cpp
+++ b/src/mpc-hc/MediaTypesDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -32,8 +32,8 @@
CMediaTypesDlg::CMediaTypesDlg(IGraphBuilderDeadEnd* pGBDE, CWnd* pParent /*=nullptr*/)
: CResizableDialog(CMediaTypesDlg::IDD, pParent)
, m_pGBDE(pGBDE)
- , m_subtype(GUID_NULL)
, m_type(UNKNOWN)
+ , m_subtype(GUID_NULL)
{
}
diff --git a/src/mpc-hc/MiniDump.cpp b/src/mpc-hc/MiniDump.cpp
index 54cb47ae2..fcea88916 100644
--- a/src/mpc-hc/MiniDump.cpp
+++ b/src/mpc-hc/MiniDump.cpp
@@ -19,143 +19,97 @@
*/
#include "stdafx.h"
+#include <DbgHelp.h>
#include <atlpath.h>
#include "mplayerc.h"
-#include "MiniDump.h"
#include "resource.h"
-#include <DbgHelp.h>
-#include "mpc-hc_config.h"
-#include "VersionInfo.h"
#include "WinAPIUtils.h"
+#include "PathUtils.h"
+#include "WinApiFunc.h"
+#include "VersionInfo.h"
+#include "mpc-hc_config.h"
+#include "MiniDump.h"
-
-CMiniDump _Singleton;
-
-
-typedef BOOL (WINAPI* MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType,
- CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
- CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
- CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam
- );
-
-
-CMiniDump::CMiniDump()
+void CMiniDump::Enable()
{
#ifndef _DEBUG
-
- Enable();
-
- //#ifndef _WIN64
- // Enable catching in CRT (http://blog.kalmbachnet.de/?postid=75)
- // PreventSetUnhandledExceptionFilter();
- //#endif
+ SetUnhandledExceptionFilter(UnhandledExceptionFilter);
#endif
-}
+};
-CMiniDump::~CMiniDump()
+void CMiniDump::Disable()
{
-}
-
-LPTOP_LEVEL_EXCEPTION_FILTER WINAPI MyDummySetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
-{
- return nullptr;
-}
+#ifndef _DEBUG
+ SetUnhandledExceptionFilter(nullptr);
+#endif
+};
-BOOL CMiniDump::PreventSetUnhandledExceptionFilter()
+#ifndef _DEBUG
+LONG WINAPI CMiniDump::UnhandledExceptionFilter(EXCEPTION_POINTERS* pExceptionPointers)
{
- HMODULE hKernel32 = LoadLibrary(_T("kernel32.dll"));
- if (hKernel32 == nullptr) {
- return FALSE;
- }
-
- void* pOrgEntry = GetProcAddress(hKernel32, "SetUnhandledExceptionFilter");
- if (pOrgEntry == nullptr) {
- FreeLibrary(hKernel32);
- return FALSE;
- }
+ LONG retval = EXCEPTION_CONTINUE_SEARCH;
- unsigned char newJump[100];
- DWORD_PTR dwOrgEntryAddr = (DWORD_PTR)pOrgEntry;
- dwOrgEntryAddr += 5; // add 5 for 5 op-codes for jmp far
- void* pNewFunc = &MyDummySetUnhandledExceptionFilter;
- DWORD_PTR dwNewEntryAddr = (DWORD_PTR)pNewFunc;
- DWORD_PTR dwRelativeAddr = dwNewEntryAddr - dwOrgEntryAddr;
-
- newJump[0] = 0xE9; // JMP absolute
- memcpy(&newJump[1], &dwRelativeAddr, sizeof(pNewFunc));
- SIZE_T bytesWritten;
- BOOL bRet = WriteProcessMemory(GetCurrentProcess(), pOrgEntry, newJump, sizeof(pNewFunc) + 1, &bytesWritten);
- FreeLibrary(hKernel32);
- return bRet;
-}
-
-LONG WINAPI CMiniDump::UnhandledExceptionFilter(_EXCEPTION_POINTERS* lpTopLevelExceptionFilter)
-{
- LONG retval = EXCEPTION_CONTINUE_SEARCH;
- BOOL bDumpCreated = FALSE;
- TCHAR szResult[800];
- szResult[0] = _T('\0');
+#if ENABLE_MINIDUMP || ENABLE_FULLDUMP
+ CString strResult;
CPath dumpPath;
+ bool bDumpCreated = false;
+
+ const WinapiFunc<decltype(MiniDumpWriteDump)> fnMiniDumpWriteDump = { "DbgHelp.dll", "MiniDumpWriteDump" };
+
+ if (fnMiniDumpWriteDump && AfxGetMyApp()->GetAppSavePath(dumpPath) && (PathUtils::Exists(dumpPath) || CreateDirectory(dumpPath, nullptr))) {
+ dumpPath.Append(CString(AfxGetApp()->m_pszExeName) + _T(".exe.") + VersionInfo::GetVersionString() + _T(".dmp"));
+
+ HANDLE hFile = ::CreateFile(dumpPath, GENERIC_WRITE, FILE_SHARE_WRITE, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
+
+ if (hFile != INVALID_HANDLE_VALUE) {
+ MINIDUMP_EXCEPTION_INFORMATION ExInfo = { ::GetCurrentThreadId(), pExceptionPointers, FALSE };
+ MINIDUMP_TYPE dumpType = (MINIDUMP_TYPE)(
+#if ENABLE_FULLDUMP
+ MiniDumpWithFullMemory |
+ MiniDumpWithHandleData |
+ MiniDumpWithThreadInfo |
+ MiniDumpWithProcessThreadData |
+ MiniDumpWithFullMemoryInfo |
+ MiniDumpWithUnloadedModules |
+ MiniDumpIgnoreInaccessibleMemory |
+ MiniDumpWithTokenInformation
+#else
+ MiniDumpWithHandleData |
+ MiniDumpWithFullMemoryInfo |
+ MiniDumpWithThreadInfo |
+ MiniDumpWithUnloadedModules |
+ MiniDumpWithProcessThreadData
+#endif // ENABLE_FULLDUMP
+ );
-#if ENABLE_MINIDUMP
- HMODULE hDll = ::LoadLibrary(_T("dbghelp.dll"));
-
- if (hDll != nullptr) {
- MINIDUMPWRITEDUMP pMiniDumpWriteDump = (MINIDUMPWRITEDUMP)::GetProcAddress(hDll, "MiniDumpWriteDump");
- if (pMiniDumpWriteDump != nullptr && AfxGetMyApp()->GetAppSavePath(dumpPath)) {
- // Check that the folder actually exists
- if (!FileExists(dumpPath)) {
- VERIFY(CreateDirectory(dumpPath, nullptr));
- }
-
- CString strDumpName = AfxGetApp()->m_pszExeName;
- strDumpName.Append(_T(".exe.") + VersionInfo::GetVersionString() + _T(".dmp"));
- dumpPath.Append(strDumpName);
-
- // create the file
- HANDLE hFile = ::CreateFile(dumpPath, GENERIC_WRITE, FILE_SHARE_WRITE, nullptr, CREATE_ALWAYS,
- FILE_ATTRIBUTE_NORMAL, nullptr);
-
- if (hFile != INVALID_HANDLE_VALUE) {
- _MINIDUMP_EXCEPTION_INFORMATION ExInfo;
-
- ExInfo.ThreadId = ::GetCurrentThreadId();
- ExInfo.ExceptionPointers = lpTopLevelExceptionFilter;
- ExInfo.ClientPointers = FALSE;
-
- // write the dump
- bDumpCreated = pMiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &ExInfo, nullptr, nullptr);
- if (bDumpCreated) {
- _stprintf_s(szResult, _countof(szResult), ResStr(IDS_MPC_CRASH), dumpPath);
- retval = EXCEPTION_EXECUTE_HANDLER;
- } else {
- _stprintf_s(szResult, _countof(szResult), ResStr(IDS_MPC_MINIDUMP_FAIL), dumpPath, GetLastError());
- }
+ bDumpCreated = !!fnMiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, dumpType, (pExceptionPointers ? &ExInfo : nullptr), nullptr, nullptr);
- ::CloseHandle(hFile);
- } else {
- _stprintf_s(szResult, _countof(szResult), ResStr(IDS_MPC_MINIDUMP_FAIL), dumpPath, GetLastError());
- }
+ ::CloseHandle(hFile);
}
- FreeLibrary(hDll);
}
- if (szResult[0]) {
- switch (MessageBox(AfxGetMyApp()->GetMainWnd()->m_hWnd, szResult, _T("MPC-HC - Mini Dump"), (bDumpCreated ? MB_YESNO : MB_OK) | MB_TOPMOST)) {
- case IDYES:
- ShellExecute(nullptr, _T("open"), BUGS_URL, nullptr, nullptr, SW_SHOWDEFAULT);
- ExploreToFile(dumpPath);
- break;
- case IDNO:
- retval = EXCEPTION_CONTINUE_SEARCH; // rethrow the exception to make easier attaching a debugger
- break;
- }
+ if (bDumpCreated) {
+ strResult.Format(ResStr(IDS_MPC_CRASH), dumpPath);
+ retval = EXCEPTION_EXECUTE_HANDLER;
+ } else {
+ strResult.Format(ResStr(IDS_MPC_MINIDUMP_FAIL), dumpPath, GetLastError());
+ }
+
+ switch (MessageBox(AfxGetApp()->GetMainWnd()->GetSafeHwnd(), strResult, _T("MPC-HC - Mini Dump"), (bDumpCreated ? MB_YESNO : MB_OK) | MB_TOPMOST)) {
+ case IDYES:
+ ShellExecute(nullptr, _T("open"), BUGS_URL, nullptr, nullptr, SW_SHOWDEFAULT);
+ ExploreToFile(dumpPath);
+ break;
+ case IDNO:
+ retval = EXCEPTION_CONTINUE_SEARCH; // rethrow the exception to make easier attaching a debugger
+ break;
}
#else
- if (MessageBox(AfxGetMyApp()->GetMainWnd()->m_hWnd, ResStr(IDS_MPC_BUG_REPORT), ResStr(IDS_MPC_BUG_REPORT_TITLE), MB_YESNO | MB_TOPMOST) == IDYES) {
+ if (MessageBox(AfxGetApp()->GetMainWnd()->GetSafeHwnd(), ResStr(IDS_MPC_BUG_REPORT), ResStr(IDS_MPC_BUG_REPORT_TITLE), MB_YESNO | MB_TOPMOST) == IDYES) {
ShellExecute(nullptr, _T("open"), DOWNLOAD_URL, nullptr, nullptr, SW_SHOWDEFAULT);
}
#endif // DISABLE_MINIDUMP
return retval;
}
+#endif
diff --git a/src/mpc-hc/MiniDump.h b/src/mpc-hc/MiniDump.h
index 96ba8e0c1..38cb03a58 100644
--- a/src/mpc-hc/MiniDump.h
+++ b/src/mpc-hc/MiniDump.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,16 +20,12 @@
#pragma once
-class CMiniDump
+namespace CMiniDump
{
-public:
- CMiniDump();
- ~CMiniDump();
+ void Enable();
+ void Disable();
- static void Enable() { SetUnhandledExceptionFilter(UnhandledExceptionFilter); };
- static void Disable() { SetUnhandledExceptionFilter(nullptr); };
-
-private:
- static LONG WINAPI UnhandledExceptionFilter(_EXCEPTION_POINTERS* lpTopLevelExceptionFilter);
- static BOOL PreventSetUnhandledExceptionFilter();
+#ifndef _DEBUG
+ LONG WINAPI UnhandledExceptionFilter(EXCEPTION_POINTERS* pExceptionPointers);
+#endif
};
diff --git a/src/mpc-hc/MouseTouch.cpp b/src/mpc-hc/MouseTouch.cpp
index 23c84f2f7..0162ec5dd 100644
--- a/src/mpc-hc/MouseTouch.cpp
+++ b/src/mpc-hc/MouseTouch.cpp
@@ -291,7 +291,8 @@ void CMouse::InternalOnLButtonDown(UINT nFlags, const CPoint& point)
bool bDouble = false;
if (m_bLeftDoubleStarted &&
GetMessageTime() - m_leftDoubleStartTime < (int)GetDoubleClickTime() &&
- CMouse::PointEqualsImprecise(m_leftDoubleStartPoint, point)) {
+ CMouse::PointEqualsImprecise(m_leftDoubleStartPoint, point,
+ GetSystemMetrics(SM_CXDOUBLECLK) / 2, GetSystemMetrics(SM_CYDOUBLECLK) / 2)) {
m_bLeftDoubleStarted = false;
bDouble = true;
} else {
@@ -473,7 +474,8 @@ bool CMouse::TestDrag(const CPoint& screenPoint)
ASSERT(!IsOnFullscreenWindow());
bool bUpAssigned = !!AssignedToCmd(wmcmd::LUP, false);
if ((!bUpAssigned && screenPoint != m_beginDragPoint) ||
- (bUpAssigned && !PointEqualsImprecise(screenPoint, m_beginDragPoint))) {
+ (bUpAssigned && !PointEqualsImprecise(screenPoint, m_beginDragPoint,
+ GetSystemMetrics(SM_CXDRAG), GetSystemMetrics(SM_CYDRAG)))) {
VERIFY(ReleaseCapture());
m_pMainFrame->PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(m_beginDragPoint.x, m_beginDragPoint.y));
m_drag = Drag::DRAGGED;
diff --git a/src/mpc-hc/MouseTouch.h b/src/mpc-hc/MouseTouch.h
index 7ec4d5890..9948b835c 100644
--- a/src/mpc-hc/MouseTouch.h
+++ b/src/mpc-hc/MouseTouch.h
@@ -36,12 +36,11 @@ public:
virtual ~CMouse();
- static inline bool PointEqualsImprecise(long a, long b) {
- const unsigned uDelta = 1;
- return abs(a - b) <= uDelta;
+ static inline bool PointEqualsImprecise(long a, long b, long lDelta) {
+ return abs(a - b) <= abs(lDelta);
}
- static inline bool PointEqualsImprecise(const CPoint& a, const CPoint& b) {
- return PointEqualsImprecise(a.x, b.x) && PointEqualsImprecise(a.y, b.y);
+ static inline bool PointEqualsImprecise(const CPoint& a, const CPoint& b, long xDelta = 1, long yDelta = 1) {
+ return PointEqualsImprecise(a.x, b.x, xDelta) && PointEqualsImprecise(a.y, b.y, yDelta);
}
static UINT GetMouseFlags();
diff --git a/src/mpc-hc/MpcApi.h b/src/mpc-hc/MpcApi.h
index a205e6272..a4c675a1e 100644
--- a/src/mpc-hc/MpcApi.h
+++ b/src/mpc-hc/MpcApi.h
@@ -81,7 +81,7 @@ typedef enum {
typedef enum MPCAPI_COMMAND :
-unsigned int {
+ unsigned int {
// ==== Commands from MPC-HC to host
// Send after connection
diff --git a/src/mpc-hc/Mpeg2SectionData.cpp b/src/mpc-hc/Mpeg2SectionData.cpp
index df6b3e6ce..99bbc1259 100644
--- a/src/mpc-hc/Mpeg2SectionData.cpp
+++ b/src/mpc-hc/Mpeg2SectionData.cpp
@@ -255,6 +255,7 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
WORD wTSID;
WORD wONID;
WORD wSectionLength;
+ WORD serviceType;
CheckNoLog(m_pData->GetSection(PID_SDT, SI_SDT, &m_Filter, 15000, &pSectionList));
CheckNoLog(pSectionList->GetSectionData(0, &dwLength, &data));
@@ -283,7 +284,7 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
BeginEnumDescriptors(gb, nType, nLength) {
switch (nType) {
case DT_SERVICE:
- gb.BitRead(8); // service_type
+ serviceType = (WORD)gb.BitRead(8); // service_type
nLength = (WORD)gb.BitRead(8); // service_provider_name_length
gb.ReadBuffer(DescBuffer, nLength); // service_provider_name
@@ -302,7 +303,19 @@ HRESULT CMpeg2DataParser::ParseSDT(ULONG ulFreq)
if (!Channels.Lookup(Channel.GetSID())) {
- Channels [Channel.GetSID()] = Channel;
+ switch (serviceType) {
+ case DIGITAL_TV:
+ case DIGITAL_RADIO:
+ case AVC_DIGITAL_RADIO:
+ case MPEG2_HD_DIGITAL_TV:
+ case AVC_SD_TV:
+ case AVC_HD_TV:
+ Channels[Channel.GetSID()] = Channel;
+ break;
+ default:
+ TRACE(_T("DVB: Skipping not supported service: %-20s %lu\n"), Channel.GetName(), Channel.GetSID());
+ break;
+ }
}
}
@@ -455,31 +468,36 @@ HRESULT CMpeg2DataParser::ParsePMT(CDVBChannel& Channel)
HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
{
char descBuffer[10];
- time_t tTime1, tTime2;
- tm tmTime1, tmTime2;
+ time_t tNow, tTime;
+ tm tmTime;
long timezone;
- int daylight;
// init tm structures
- time(&tTime1);
- localtime_s(&tmTime1, &tTime1);
+ time(&tNow);
+ gmtime_s(&tmTime, &tNow);
_tzset();
_get_timezone(&timezone); // The difference in seconds between UTC and local time.
- if (tmTime1.tm_isdst && !_get_daylight(&daylight)) {
- timezone -= daylight * 3600;
- }
// Start time:
- tmTime1.tm_hour = (int)(gb.BitRead(4) * 10);
- tmTime1.tm_hour += (int)gb.BitRead(4);
- tmTime1.tm_min = (int)(gb.BitRead(4) * 10);
- tmTime1.tm_min += (int)gb.BitRead(4);
- tmTime1.tm_sec = (int)(gb.BitRead(4) * 10);
- tmTime1.tm_sec += (int)gb.BitRead(4);
- NowNext.startTime = tTime1 = mktime(&tmTime1) - timezone;
- localtime_s(&tmTime2, &tTime1);
- tTime1 = mktime(&tmTime2);
- strftime(descBuffer, 6, "%H:%M", &tmTime2);
+ tmTime.tm_hour = (int)(gb.BitRead(4) * 10);
+ tmTime.tm_hour += (int)gb.BitRead(4);
+ tmTime.tm_min = (int)(gb.BitRead(4) * 10);
+ tmTime.tm_min += (int)gb.BitRead(4);
+ tmTime.tm_sec = (int)(gb.BitRead(4) * 10);
+ tmTime.tm_sec += (int)gb.BitRead(4);
+ // Convert to time_t
+ // mktime() expect tm struct to be local time and since we are feeding it with GMT
+ // we need to compensate for timezone offset. Note that we don't compensate for DST.
+ // That is because tm_isdst is set to 0 (GMT) and in this case mktime() won't add any offset.
+ NowNext.startTime = tTime = mktime(&tmTime) - timezone;
+ while (tNow < tTime) {
+ // If current time is less than even start time it is likely that event started the day before.
+ // We go one day back
+ NowNext.startTime = tTime -= 86400;
+ }
+
+ localtime_s(&tmTime, &tTime);
+ strftime(descBuffer, 6, "%H:%M", &tmTime);
descBuffer[6] = '\0';
NowNext.strStartTime = descBuffer;
@@ -491,9 +509,9 @@ HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
NowNext.duration += (time_t)(10 * gb.BitRead(4));
NowNext.duration += (time_t)gb.BitRead(4);
- tTime2 = tTime1 + NowNext.duration;
- localtime_s(&tmTime2, &tTime2);
- strftime(descBuffer, 6, "%H:%M", &tmTime2);
+ tTime += NowNext.duration;
+ localtime_s(&tmTime, &tTime);
+ strftime(descBuffer, 6, "%H:%M", &tmTime);
descBuffer[6] = '\0';
NowNext.strEndTime = descBuffer;
@@ -502,22 +520,18 @@ HRESULT CMpeg2DataParser::SetTime(CGolombBuffer& gb, EventDescriptor& NowNext)
HRESULT CMpeg2DataParser::ParseEIT(ULONG ulSID, EventDescriptor& NowNext)
{
- HRESULT hr;
- CComPtr<ISectionList> pSectionList;
+ HRESULT hr = S_OK;
DWORD dwLength;
PSECTION data;
ULONG ulGetSID;
EventInformationSection InfoEvent;
- int nLen;
- int descriptorNumber;
- int itemsLength;
- CString itemDesc, itemText;
- CString text;
+ NowNext = EventDescriptor();
do {
+ CComPtr<ISectionList> pSectionList;
CheckNoLog(m_pData->GetSection(PID_EIT, SI_EIT_act, nullptr, 5000, &pSectionList));
-
CheckNoLog(pSectionList->GetSectionData(0, &dwLength, &data));
+
CGolombBuffer gb((BYTE*)data, dwLength);
InfoEvent.TableID = (UINT8)gb.BitRead(8);
@@ -527,153 +541,139 @@ HRESULT CMpeg2DataParser::ParseEIT(ULONG ulSID, EventDescriptor& NowNext)
ulGetSID = (ULONG)gb.BitRead(8);
ulGetSID += 0x100 * (ULONG)gb.BitRead(8);
InfoEvent.ServiceId = ulGetSID; // This is really strange, ServiceID should be uimsbf ???
- gb.BitRead(2);
- InfoEvent.VersionNumber = (UINT8)gb.BitRead(5);
- InfoEvent.CurrentNextIndicator = (UINT8)gb.BitRead(1);
-
- InfoEvent.SectionNumber = (UINT8)gb.BitRead(8);
- InfoEvent.LastSectionNumber = (UINT8)gb.BitRead(8);
- InfoEvent.TransportStreamID = (WORD)gb.BitRead(16);
- InfoEvent.OriginalNetworkID = (WORD)gb.BitRead(16);
- InfoEvent.SegmentLastSectionNumber = (UINT8)gb.BitRead(8);
- InfoEvent.LastTableID = (UINT8)gb.BitRead(8);
-
- // Info event
- InfoEvent.EventID = (WORD)gb.BitRead(16);
- InfoEvent.StartDate = (WORD)gb.BitRead(16);
- SetTime(gb, NowNext);
-
- InfoEvent.RunninStatus = (WORD)gb.BitRead(3);
- InfoEvent.FreeCAMode = (WORD)gb.BitRead(1);
-
- NowNext.extendedDescriptorsItemsDesc.RemoveAll();
- NowNext.extendedDescriptorsItemsContent.RemoveAll();
- NowNext.extendedDescriptorsTexts.RemoveAll();
- NowNext.parentalRating = -1;
- NowNext.content.Empty();
-
- 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 = (UINT8)gb.BitRead(8); // event_name_length
- gb.ReadBuffer(DescBuffer, nLen);
- if (IsFreeviewEPG(InfoEvent.OriginalNetworkID, DescBuffer, nLen)) {
- NowNext.eventName = DecodeFreeviewEPG(DescBuffer, nLen);
- } else {
- NowNext.eventName = ConvertString(DescBuffer, nLen);
- }
-
- nLen = (UINT8)gb.BitRead(8); // text_length
- gb.ReadBuffer(DescBuffer, nLen);
- if (IsFreeviewEPG(InfoEvent.OriginalNetworkID, DescBuffer, nLen)) {
- NowNext.eventDesc = DecodeFreeviewEPG(DescBuffer, nLen);
- } else {
- NowNext.eventDesc = ConvertString(DescBuffer, nLen);
- }
- break;
- case DT_EXTENDED_EVENT:
- descriptorNumber = (UINT8)gb.BitRead(4); // descriptor_number
- gb.BitRead(4); // last_descriptor_number
- gb.BitRead(24); // ISO_639_language_code
-
- itemsLength = (UINT8)gb.BitRead(8); // length_of_items
- while (itemsLength > 0) {
- nLen = (UINT8)gb.BitRead(8); // item_description_length
- gb.ReadBuffer(DescBuffer, nLen);
- itemDesc = ConvertString(DescBuffer, nLen);
- NowNext.extendedDescriptorsItemsDesc.Add(itemDesc);
- itemsLength -= nLen + 1;
-
- nLen = (UINT8)gb.BitRead(8); // item_length
- gb.ReadBuffer(DescBuffer, nLen);
- itemText = ConvertString(DescBuffer, nLen);
- NowNext.extendedDescriptorsItemsContent.Add(itemText);
- itemsLength -= nLen + 1;
- }
+ if (InfoEvent.ServiceId == ulSID) {
+ gb.BitRead(2);
+ InfoEvent.VersionNumber = (UINT8)gb.BitRead(5);
+ InfoEvent.CurrentNextIndicator = (UINT8)gb.BitRead(1);
+ if (InfoEvent.CurrentNextIndicator == 1) {
+ InfoEvent.SectionNumber = (UINT8)gb.BitRead(8);
+ InfoEvent.LastSectionNumber = (UINT8)gb.BitRead(8);
+ InfoEvent.TransportStreamID = (WORD)gb.BitRead(16);
+ InfoEvent.OriginalNetworkID = (WORD)gb.BitRead(16);
+ InfoEvent.SegmentLastSectionNumber = (UINT8)gb.BitRead(8);
+ InfoEvent.LastTableID = (UINT8)gb.BitRead(8);
+
+ // Info event
+ InfoEvent.EventID = (WORD)gb.BitRead(16);
+ InfoEvent.StartDate = (WORD)gb.BitRead(16);
+ SetTime(gb, NowNext);
+
+ InfoEvent.RunninStatus = (WORD)gb.BitRead(3);
+ InfoEvent.FreeCAMode = (WORD)gb.BitRead(1);
+ if (InfoEvent.RunninStatus == 4) {
+ UINT8 nLen;
+ UINT8 itemsLength;
+
+ // Descriptors:
+ BeginEnumDescriptors(gb, nType, nLength) {
+ switch (nType) {
+ case DT_SHORT_EVENT:
+ gb.BitRead(24); // ISO_639_language_code
+
+ nLen = (UINT8)gb.BitRead(8); // event_name_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ if (IsFreeviewEPG(InfoEvent.OriginalNetworkID, DescBuffer, nLen)) {
+ NowNext.eventName = DecodeFreeviewEPG(DescBuffer, nLen);
+ } else {
+ NowNext.eventName = ConvertString(DescBuffer, nLen);
+ }
- nLen = (UINT8)gb.BitRead(8); // text_length
- if (nLen > 0) {
- gb.ReadBuffer(DescBuffer, nLen);
- text = ConvertString(DescBuffer, nLen);
- if (descriptorNumber == 0) { // new descriptor set
- NowNext.extendedDescriptorsTexts.AddTail(text.TrimLeft());
- } else {
- NowNext.extendedDescriptorsTexts.GetTail().Append(text);
- }
- }
- break;
- case DT_PARENTAL_RATING: {
- ASSERT(nLength % 4 == 0);
- int rating = -1;
- while (nLength >= 4) {
- gb.BitRead(24); // ISO 3166 country_code
- rating = (int)gb.BitRead(8); // rating
- nLength -= 4;
- }
- if (rating >= 0 && rating <= 0x0f) {
- if (rating > 0) { // 0x00 undefined
- rating += 3; // 0x01 to 0x0F minimum age = rating + 3 years
- }
- NowNext.parentalRating = rating;
- }
- }
- break;
- case DT_CONTENT:
- ASSERT(nLength % 2 == 0);
- while (nLength >= 2) {
- BYTE content = (BYTE)gb.BitRead(4); // content_nibble_level_1
- gb.BitRead(4); // content_nibble_level_2
- gb.BitRead(8); // user_byte
- if (1 <= content && content <= 10) {
- if (!NowNext.content.IsEmpty()) {
- NowNext.content.Append(_T(", "));
+ nLen = (UINT8)gb.BitRead(8); // text_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ if (IsFreeviewEPG(InfoEvent.OriginalNetworkID, DescBuffer, nLen)) {
+ NowNext.eventDesc = DecodeFreeviewEPG(DescBuffer, nLen);
+ } else {
+ NowNext.eventDesc = ConvertString(DescBuffer, nLen);
+ }
+ break;
+ case DT_EXTENDED_EVENT:
+ gb.BitRead(4); // descriptor_number
+ gb.BitRead(4); // last_descriptor_number
+ gb.BitRead(24); // ISO_639_language_code
+
+ itemsLength = (UINT8)gb.BitRead(8); // length_of_items
+ while (itemsLength > 0) {
+ nLen = (UINT8)gb.BitRead(8); // item_description_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ CString itemDesc = ConvertString(DescBuffer, nLen);
+ itemsLength -= nLen + 1;
+
+ nLen = (UINT8)gb.BitRead(8); // item_length
+ gb.ReadBuffer(DescBuffer, nLen);
+ CString itemText = ConvertString(DescBuffer, nLen);
+ itemsLength -= nLen + 1;
+ NowNext.extendedDescriptorsItems.emplace_back(itemDesc, itemText);
}
- static UINT contents[] = {
- IDS_CONTENT_MOVIE_DRAMA,
- IDS_CONTENT_NEWS_CURRENTAFFAIRS,
- IDS_CONTENT_SHOW_GAMESHOW,
- IDS_CONTENT_SPORTS,
- IDS_CONTENT_CHILDREN_YOUTH_PROG,
- IDS_CONTENT_MUSIC_BALLET_DANCE,
- IDS_CONTENT_MUSIC_ART_CULTURE,
- IDS_CONTENT_SOCIAL_POLITICAL_ECO,
- IDS_CONTENT_EDUCATION_SCIENCE,
- IDS_CONTENT_LEISURE
- };
-
- NowNext.content.Append(ResStr(contents[content - 1]));
+ nLen = (UINT8)gb.BitRead(8); // text_length
+ if (nLen > 0) {
+ gb.ReadBuffer(DescBuffer, nLen);
+ NowNext.extendedDescriptorsText += ConvertString(DescBuffer, nLen);
+ }
+ break;
+ case DT_PARENTAL_RATING: {
+ ASSERT(nLength % 4 == 0);
+ int rating = -1;
+ while (nLength >= 4) {
+ gb.BitRead(24); // ISO 3166 country_code
+ rating = (int)gb.BitRead(8); // rating
+ nLength -= 4;
+ }
+ if (rating >= 0 && rating <= 0x0f) {
+ if (rating > 0) { // 0x00 undefined
+ rating += 3; // 0x01 to 0x0F minimum age = rating + 3 years
+ }
+ NowNext.parentalRating = rating;
+ }
}
- nLength -= 2;
+ break;
+ case DT_CONTENT:
+ ASSERT(nLength % 2 == 0);
+ while (nLength >= 2) {
+ BYTE content = (BYTE)gb.BitRead(4); // content_nibble_level_1
+ gb.BitRead(4); // content_nibble_level_2
+ gb.BitRead(8); // user_byte
+ if (1 <= content && content <= 10) {
+ if (!NowNext.content.IsEmpty()) {
+ NowNext.content.Append(_T(", "));
+ }
+
+ static UINT contents[] = {
+ IDS_CONTENT_MOVIE_DRAMA,
+ IDS_CONTENT_NEWS_CURRENTAFFAIRS,
+ IDS_CONTENT_SHOW_GAMESHOW,
+ IDS_CONTENT_SPORTS,
+ IDS_CONTENT_CHILDREN_YOUTH_PROG,
+ IDS_CONTENT_MUSIC_BALLET_DANCE,
+ IDS_CONTENT_MUSIC_ART_CULTURE,
+ IDS_CONTENT_SOCIAL_POLITICAL_ECO,
+ IDS_CONTENT_EDUCATION_SCIENCE,
+ IDS_CONTENT_LEISURE
+ };
+
+ NowNext.content.Append(ResStr(contents[content - 1]));
+ }
+ nLength -= 2;
+ }
+ break;
+ default:
+ SkipDescriptor(gb, nType, nLength);
+ break;
}
- break;
- default:
- SkipDescriptor(gb, nType, nLength);
- break;
+ }
+ EndEnumDescriptors;
}
}
- 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 = 0;
- NowNext.duration = 0;
- NowNext.strStartTime.Empty();
- NowNext.strEndTime.Empty();
- NowNext.eventName.Empty();
- NowNext.eventDesc.Empty();
- return E_FAIL;
+ } while ((InfoEvent.ServiceId != ulSID || InfoEvent.RunninStatus != 4) && m_Filter.SectionNumber <= 22);
+
+ if (m_Filter.SectionNumber > 22 || InfoEvent.CurrentNextIndicator != 1) {
+ NowNext = EventDescriptor();
+ hr = E_FAIL;
}
- return S_OK;
+ return hr;
}
HRESULT CMpeg2DataParser::ParseNIT()
diff --git a/src/mpc-hc/OpenDirHelper.cpp b/src/mpc-hc/OpenDirHelper.cpp
index 75593c833..0d5686fe2 100644
--- a/src/mpc-hc/OpenDirHelper.cpp
+++ b/src/mpc-hc/OpenDirHelper.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,7 +22,6 @@
#include "stdafx.h"
#include "MainFrm.h"
#include "OpenDirHelper.h"
-#include "WinAPIUtils.h"
WNDPROC COpenDirHelper::CBProc;
diff --git a/src/mpc-hc/OpenDlg.cpp b/src/mpc-hc/OpenDlg.cpp
index 2c0d91b4f..22c0e5d70 100644
--- a/src/mpc-hc/OpenDlg.cpp
+++ b/src/mpc-hc/OpenDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include <atlpath.h>
#include "mplayerc.h"
+#include "PathUtils.h"
#include "OpenDlg.h"
#include "OpenFileDlg.h"
@@ -31,10 +32,8 @@
//IMPLEMENT_DYNAMIC(COpenDlg, CResizableDialog)
COpenDlg::COpenDlg(CWnd* pParent /*=nullptr*/)
: CResizableDialog(COpenDlg::IDD, pParent)
- , m_path(_T(""))
- , m_path2(_T(""))
- , m_fMultipleFiles(false)
- , m_fAppendPlaylist(FALSE)
+ , m_bMultipleFiles(false)
+ , m_bAppendToPlaylist(FALSE)
{
}
@@ -46,19 +45,19 @@ void COpenDlg::DoDataExchange(CDataExchange* pDX)
{
__super::DoDataExchange(pDX);
DDX_Control(pDX, IDR_MAINFRAME, m_icon);
- DDX_Control(pDX, IDC_COMBO1, m_mrucombo);
+ DDX_Control(pDX, IDC_COMBO1, m_cbMRU);
DDX_CBString(pDX, IDC_COMBO1, m_path);
- DDX_Control(pDX, IDC_COMBO2, m_mrucombo2);
- DDX_CBString(pDX, IDC_COMBO2, m_path2);
- DDX_Control(pDX, IDC_STATIC1, m_label2);
- DDX_Check(pDX, IDC_CHECK1, m_fAppendPlaylist);
+ DDX_Control(pDX, IDC_COMBO2, m_cbMRUDub);
+ DDX_CBString(pDX, IDC_COMBO2, m_pathDub);
+ DDX_Control(pDX, IDC_STATIC1, m_labelDub);
+ DDX_Check(pDX, IDC_CHECK1, m_bAppendToPlaylist);
}
BEGIN_MESSAGE_MAP(COpenDlg, CResizableDialog)
- ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedBrowsebutton)
- ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedBrowsebutton2)
- ON_BN_CLICKED(IDOK, OnBnClickedOk)
+ ON_BN_CLICKED(IDC_BUTTON1, OnBrowseFile)
+ ON_BN_CLICKED(IDC_BUTTON2, OnBrowseDubFile)
+ ON_BN_CLICKED(IDOK, OnOk)
ON_UPDATE_COMMAND_UI(IDC_STATIC1, OnUpdateDub)
ON_UPDATE_COMMAND_UI(IDC_COMBO2, OnUpdateDub)
ON_UPDATE_COMMAND_UI(IDC_BUTTON2, OnUpdateDub)
@@ -78,36 +77,36 @@ BOOL COpenDlg::OnInitDialog()
CRecentFileList& MRU = s.MRU;
MRU.ReadList();
- m_mrucombo.ResetContent();
+ m_cbMRU.ResetContent();
for (int i = 0; i < MRU.GetSize(); i++) {
if (!MRU[i].IsEmpty()) {
- m_mrucombo.AddString(MRU[i]);
+ m_cbMRU.AddString(MRU[i]);
}
}
- CorrectComboListWidth(m_mrucombo);
+ CorrectComboListWidth(m_cbMRU);
CRecentFileList& MRUDub = s.MRUDub;
MRUDub.ReadList();
- m_mrucombo2.ResetContent();
+ m_cbMRUDub.ResetContent();
for (int i = 0; i < MRUDub.GetSize(); i++) {
if (!MRUDub[i].IsEmpty()) {
- m_mrucombo2.AddString(MRUDub[i]);
+ m_cbMRUDub.AddString(MRUDub[i]);
}
}
- CorrectComboListWidth(m_mrucombo2);
+ CorrectComboListWidth(m_cbMRUDub);
- if (m_mrucombo.GetCount() > 0) {
- m_mrucombo.SetCurSel(0);
+ if (m_cbMRU.GetCount() > 0) {
+ m_cbMRU.SetCurSel(0);
}
m_fns.RemoveAll();
- m_path = _T("");
- m_path2 = _T("");
- m_fMultipleFiles = false;
- m_fAppendPlaylist = FALSE;
+ m_path.Empty();
+ m_pathDub.Empty();
+ m_bMultipleFiles = false;
+ m_bAppendToPlaylist = FALSE;
- AddAnchor(m_mrucombo, TOP_LEFT, TOP_RIGHT);
- AddAnchor(m_mrucombo2, TOP_LEFT, TOP_RIGHT);
+ AddAnchor(m_cbMRU, TOP_LEFT, TOP_RIGHT);
+ AddAnchor(m_cbMRUDub, TOP_LEFT, TOP_RIGHT);
AddAnchor(IDC_BUTTON1, TOP_RIGHT);
AddAnchor(IDC_BUTTON2, TOP_RIGHT);
AddAnchor(IDOK, TOP_RIGHT);
@@ -132,7 +131,7 @@ static CString GetFileName(CString str)
return (LPCTSTR)p;
}
-void COpenDlg::OnBnClickedBrowsebutton()
+void COpenDlg::OnBrowseFile()
{
UpdateData();
@@ -171,15 +170,15 @@ void COpenDlg::OnBnClickedBrowsebutton()
|| m_fns.GetCount() == 1
&& (m_fns.GetHead()[m_fns.GetHead().GetLength() - 1] == '\\'
|| m_fns.GetHead()[m_fns.GetHead().GetLength() - 1] == '*')) {
- m_fMultipleFiles = true;
+ m_bMultipleFiles = true;
EndDialog(IDOK);
return;
}
- m_mrucombo.SetWindowText(fd.GetPathName());
+ m_cbMRU.SetWindowText(fd.GetPathName());
}
-void COpenDlg::OnBnClickedBrowsebutton2()
+void COpenDlg::OnBrowseDubFile()
{
UpdateData();
@@ -194,26 +193,26 @@ void COpenDlg::OnBnClickedBrowsebutton2()
dwFlags |= OFN_DONTADDTORECENT;
}
- COpenFileDlg fd(mask, false, nullptr, m_path2, dwFlags, filter, this);
+ COpenFileDlg fd(mask, false, nullptr, m_pathDub, dwFlags, filter, this);
if (fd.DoModal() != IDOK) {
return;
}
- m_mrucombo2.SetWindowText(fd.GetPathName());
+ m_cbMRUDub.SetWindowText(fd.GetPathName());
}
-void COpenDlg::OnBnClickedOk()
+void COpenDlg::OnOk()
{
UpdateData();
m_fns.RemoveAll();
- m_fns.AddTail(m_path);
- if (m_mrucombo2.IsWindowEnabled()) {
- m_fns.AddTail(m_path2);
+ m_fns.AddTail(PathUtils::Unquote(m_path));
+ if (m_cbMRUDub.IsWindowEnabled()) {
+ m_fns.AddTail(PathUtils::Unquote(m_pathDub));
}
- m_fMultipleFiles = false;
+ m_bMultipleFiles = false;
OnOK();
}
@@ -227,5 +226,5 @@ void COpenDlg::OnUpdateDub(CCmdUI* pCmdUI)
void COpenDlg::OnUpdateOk(CCmdUI* pCmdUI)
{
UpdateData();
- pCmdUI->Enable(!m_path.IsEmpty() || !m_path2.IsEmpty());
+ pCmdUI->Enable(!m_path.IsEmpty() || !m_pathDub.IsEmpty());
}
diff --git a/src/mpc-hc/OpenDlg.h b/src/mpc-hc/OpenDlg.h
index 6b2279c8a..dac1f61c9 100644
--- a/src/mpc-hc/OpenDlg.h
+++ b/src/mpc-hc/OpenDlg.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -30,35 +30,38 @@
class COpenDlg : public CResizableDialog
{
// DECLARE_DYNAMIC(COpenDlg)
+private:
+ CStatic m_icon;
+ CComboBox m_cbMRU;
+ CString m_path;
+ CComboBox m_cbMRUDub;
+ CString m_pathDub;
+ CStatic m_labelDub;
+ BOOL m_bAppendToPlaylist;
+
+ bool m_bMultipleFiles;
+ CAtlList<CString> m_fns;
public:
- COpenDlg(CWnd* pParent = nullptr); // standard constructor
+ COpenDlg(CWnd* pParent = nullptr);
virtual ~COpenDlg();
- bool m_fMultipleFiles;
- CAtlList<CString> m_fns;
-
// Dialog Data
enum { IDD = IDD_OPEN_DLG };
- CComboBox m_mrucombo;
- CString m_path;
- CComboBox m_mrucombo2;
- CString m_path2;
- CStatic m_label2;
- BOOL m_fAppendPlaylist;
-protected:
- CStatic m_icon;
+ const CAtlList<CString>& GetFileNames() const { return m_fns; }
+ bool HasMultipleFiles() const { return m_bMultipleFiles; }
+ bool GetAppendToPlaylist() const { return !!m_bAppendToPlaylist; }
+protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
-public:
- afx_msg void OnBnClickedBrowsebutton();
- afx_msg void OnBnClickedBrowsebutton2();
- afx_msg void OnBnClickedOk();
+ afx_msg void OnBrowseFile();
+ afx_msg void OnBrowseDubFile();
+ afx_msg void OnOk();
afx_msg void OnUpdateDub(CCmdUI* pCmdUI);
afx_msg void OnUpdateOk(CCmdUI* pCmdUI);
};
diff --git a/src/mpc-hc/PPageAccelTbl.cpp b/src/mpc-hc/PPageAccelTbl.cpp
index 434215a9b..94c6271e1 100644
--- a/src/mpc-hc/PPageAccelTbl.cpp
+++ b/src/mpc-hc/PPageAccelTbl.cpp
@@ -113,8 +113,8 @@ APP_COMMAND g_CommandList[] = {
IMPLEMENT_DYNAMIC(CPPageAccelTbl, CPPageBase)
CPPageAccelTbl::CPPageAccelTbl()
: CPPageBase(CPPageAccelTbl::IDD, CPPageAccelTbl::IDD)
- , m_list(0)
, m_counter(0)
+ , m_list(0)
, m_fWinLirc(FALSE)
, m_WinLircLink(_T("http://winlirc.sourceforge.net/"))
, m_fUIce(FALSE)
diff --git a/src/mpc-hc/PPageAdvanced.cpp b/src/mpc-hc/PPageAdvanced.cpp
index cbe31614a..aa38cb2b0 100644
--- a/src/mpc-hc/PPageAdvanced.cpp
+++ b/src/mpc-hc/PPageAdvanced.cpp
@@ -63,6 +63,9 @@ BOOL CPPageAdvanced::OnInitDialog()
GetDlgItem(IDC_RADIO2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
+ GetDlgItemText(IDC_RADIO1, m_strTrue);
+ GetDlgItemText(IDC_RADIO2, m_strFalse);
+
InitSettings();
for (int i = 0; i < m_list.GetHeaderCtrl()->GetItemCount(); ++i) {
@@ -79,7 +82,7 @@ void CPPageAdvanced::InitSettings()
auto addBoolItem = [this](int nItem, CString name, bool defaultValue, bool & settingReference, CString toolTipText) {
auto pItem = std::make_shared<SettingsBool>(name, defaultValue, settingReference, toolTipText);
int iItem = m_list.InsertItem(nItem, pItem->GetName());
- m_list.SetItemText(iItem, COL_VALUE, (pItem->GetValue() ? _T("true") : _T("false")));
+ m_list.SetItemText(iItem, COL_VALUE, (pItem->GetValue() ? m_strTrue : m_strFalse));
m_list.SetItemData(iItem, nItem);
m_hiddenOptions[static_cast<ADVANCED_SETTINGS>(nItem)] = pItem;
};
@@ -174,7 +177,7 @@ void CPPageAdvanced::OnBnClickedDefaultButton()
pItem->ResetDefault();
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
- str = pItemBool->GetValue() ? _T("true") : _T("false");
+ str = pItemBool->GetValue() ? m_strTrue : m_strFalse;
SetDlgItemText(IDC_EDIT1, str);
if (pItemBool->GetValue()) {
CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO1);
@@ -224,8 +227,8 @@ void CPPageAdvanced::OnNMDblclk(NMHDR* pNMHDR, LRESULT* pResult)
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
SetRedraw(FALSE);
pItemBool->Toggle();
- CString str = pItemBool->GetValue() ? _T("true") : _T("false");
- m_list.SetItemText(pNMItemActivate->iItem, COL_VALUE, str);
+ m_list.SetItemText(pNMItemActivate->iItem, COL_VALUE,
+ pItemBool->GetValue() ? m_strTrue : m_strFalse);
if (pItemBool->GetValue()) {
CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO1);
} else {
@@ -333,7 +336,7 @@ void CPPageAdvanced::OnBnClickedRadio1()
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
SetRedraw(FALSE);
pItemBool->SetValue(true);
- m_list.SetItemText(iItem, COL_VALUE, _T("true"));
+ m_list.SetItemText(iItem, COL_VALUE, m_strTrue);
UpdateData(FALSE);
SetRedraw(TRUE);
Invalidate();
@@ -352,7 +355,7 @@ void CPPageAdvanced::OnBnClickedRadio2()
if (auto pItemBool = std::dynamic_pointer_cast<SettingsBool>(pItem)) {
SetRedraw(FALSE);
pItemBool->SetValue(false);
- m_list.SetItemText(iItem, COL_VALUE, _T("false"));
+ m_list.SetItemText(iItem, COL_VALUE, m_strFalse);
UpdateData(FALSE);
SetRedraw(TRUE);
Invalidate();
diff --git a/src/mpc-hc/PPageAdvanced.h b/src/mpc-hc/PPageAdvanced.h
index 0ada429c7..ee67e9891 100644
--- a/src/mpc-hc/PPageAdvanced.h
+++ b/src/mpc-hc/PPageAdvanced.h
@@ -158,6 +158,9 @@ private:
int m_lastSelectedItem = -1;
+ CString m_strTrue;
+ CString m_strFalse;
+
void InitSettings();
bool IsDefault(ADVANCED_SETTINGS) const;
inline const int GetListSelectionMark() const {
diff --git a/src/mpc-hc/PPageAudioSwitcher.cpp b/src/mpc-hc/PPageAudioSwitcher.cpp
index 2d2eb605e..7a0f4f9b2 100644
--- a/src/mpc-hc/PPageAudioSwitcher.cpp
+++ b/src/mpc-hc/PPageAudioSwitcher.cpp
@@ -37,18 +37,18 @@ CPPageAudioSwitcher::CPPageAudioSwitcher(IFilterGraph* pFG)
#else
: CPPageBase(CPPageAudioSwitcher::IDD, CPPageAudioSwitcher::IDD)
#endif
+ , m_pSpeakerToChannelMap()
+ , m_dwChannelMask(0)
+ , m_fEnableAudioSwitcher(FALSE)
, m_fAudioNormalize(FALSE)
+ , m_nAudioMaxNormFactor(400)
, m_fAudioNormalizeRecover(FALSE)
+ , m_AudioBoostPos(0)
, m_fDownSampleTo441(FALSE)
, m_fCustomChannelMapping(FALSE)
, m_nChannels(0)
- , m_fEnableAudioSwitcher(FALSE)
- , m_dwChannelMask(0)
, m_tAudioTimeShift(0)
, m_fAudioTimeShift(FALSE)
- , m_AudioBoostPos(0)
- , m_nAudioMaxNormFactor(400)
- , m_pSpeakerToChannelMap()
{
CComQIPtr<IAudioSwitcherFilter> pASF = FindFilter(__uuidof(CAudioSwitcherFilter), pFG);
diff --git a/src/mpc-hc/PPageDVD.cpp b/src/mpc-hc/PPageDVD.cpp
index 9bce88544..bb4d9341c 100644
--- a/src/mpc-hc/PPageDVD.cpp
+++ b/src/mpc-hc/PPageDVD.cpp
@@ -185,7 +185,6 @@ CPPageDVD::CPPageDVD()
, m_idMenuLang(0)
, m_idAudioLang(0)
, m_idSubtitlesLang(0)
- , m_dvdpath(_T(""))
, m_fClosedCaptions(FALSE)
{
}
diff --git a/src/mpc-hc/PPageExternalFilters.cpp b/src/mpc-hc/PPageExternalFilters.cpp
index ec5d3b0ea..c2793121c 100644
--- a/src/mpc-hc/PPageExternalFilters.cpp
+++ b/src/mpc-hc/PPageExternalFilters.cpp
@@ -23,6 +23,7 @@
#include <atlpath.h>
#include <InitGuid.h>
#include <dmoreg.h>
+#include "PathUtils.h"
#include "mplayerc.h"
#include "PPageExternalFilters.h"
#include "ComPropertySheet.h"
@@ -81,8 +82,8 @@ BOOL CPPageExternalFiltersListBox::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESU
IMPLEMENT_DYNAMIC(CPPageExternalFilters, CPPageBase)
CPPageExternalFilters::CPPageExternalFilters()
: CPPageBase(CPPageExternalFilters::IDD, CPPageExternalFilters::IDD)
- , m_iLoadType(FilterOverride::PREFERRED)
, m_pLastSelFilter(nullptr)
+ , m_iLoadType(FilterOverride::PREFERRED)
{
}
@@ -358,7 +359,7 @@ BOOL CPPageExternalFilters::OnInitDialog()
if (f->fTemporary) {
name += _T(" <temporary>");
}
- if (!CPath(MakeFullPath(f->path)).FileExists()) {
+ if (!PathUtils::Exists(MakeFullPath(f->path))) {
name += _T(" <not found!>");
}
}
@@ -442,7 +443,7 @@ void CPPageExternalFilters::OnAddRegistered()
CString name = f->name;
if (f->type == FilterOverride::EXTERNAL) {
- if (!CPath(MakeFullPath(f->path)).FileExists()) {
+ if (!PathUtils::Exists(MakeFullPath(f->path))) {
name += _T(" <not found!>");
}
}
diff --git a/src/mpc-hc/PPageFileInfoClip.cpp b/src/mpc-hc/PPageFileInfoClip.cpp
index d81b30599..5ca098972 100644
--- a/src/mpc-hc/PPageFileInfoClip.cpp
+++ b/src/mpc-hc/PPageFileInfoClip.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,22 +25,23 @@
#include <atlbase.h>
#include <qnetwork.h>
#include "DSUtil.h"
+#include "PathUtils.h"
#include "WinAPIUtils.h"
// CPPageFileInfoClip dialog
IMPLEMENT_DYNAMIC(CPPageFileInfoClip, CPropertyPage)
-CPPageFileInfoClip::CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF)
+CPPageFileInfoClip::CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI)
: CPropertyPage(CPPageFileInfoClip::IDD, CPPageFileInfoClip::IDD)
+ , m_hIcon(nullptr)
, m_fn(path)
, m_path(path)
, m_clip(ResStr(IDS_AG_NONE))
, m_author(ResStr(IDS_AG_NONE))
, m_copyright(ResStr(IDS_AG_NONE))
, m_rating(ResStr(IDS_AG_NONE))
- , m_location_str(ResStr(IDS_AG_NONE))
- , m_hIcon(nullptr)
+ , m_location(ResStr(IDS_AG_NONE))
{
if (pFSF) {
LPOLESTR pFN;
@@ -48,38 +49,44 @@ CPPageFileInfoClip::CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSou
m_fn = pFN;
CoTaskMemFree(pFN);
}
+ } else if (pDVDI) {
+ ULONG len = 0;
+ if (SUCCEEDED(pDVDI->GetDVDDirectory(m_path.GetBufferSetLength(MAX_PATH), MAX_PATH, &len)) && len) {
+ m_path.ReleaseBuffer();
+ m_fn = m_path += _T("\\VIDEO_TS.IFO");
+ }
}
- bool fEmpty = true;
+ bool bFound = false;
BeginEnumFilters(pFG, pEF, pBF) {
if (CComQIPtr<IAMMediaContent, &IID_IAMMediaContent> pAMMC = pBF) {
CComBSTR bstr;
if (SUCCEEDED(pAMMC->get_Title(&bstr)) && bstr.Length()) {
m_clip = bstr.m_str;
- fEmpty = false;
+ bFound = true;
}
bstr.Empty();
if (SUCCEEDED(pAMMC->get_AuthorName(&bstr)) && bstr.Length()) {
m_author = bstr.m_str;
- fEmpty = false;
+ bFound = true;
}
bstr.Empty();
if (SUCCEEDED(pAMMC->get_Copyright(&bstr)) && bstr.Length()) {
m_copyright = bstr.m_str;
- fEmpty = false;
+ bFound = true;
}
bstr.Empty();
if (SUCCEEDED(pAMMC->get_Rating(&bstr)) && bstr.Length()) {
m_rating = bstr.m_str;
- fEmpty = false;
+ bFound = true;
}
bstr.Empty();
if (SUCCEEDED(pAMMC->get_Description(&bstr)) && bstr.Length()) {
- m_desctext = bstr.m_str;
- fEmpty = false;
+ m_desc = bstr.m_str;
+ bFound = true;
}
bstr.Empty();
- if (!fEmpty) {
+ if (bFound) {
break;
}
}
@@ -94,26 +101,6 @@ CPPageFileInfoClip::~CPPageFileInfoClip()
}
}
-BOOL CPPageFileInfoClip::PreTranslateMessage(MSG* pMsg)
-{
- if (pMsg->message == WM_LBUTTONDBLCLK && pMsg->hwnd == m_location.m_hWnd && !m_location_str.IsEmpty()) {
- CString path = m_location_str;
- if (path[path.GetLength() - 1] != '\\') {
- path += _T("\\");
- }
- path += m_fn;
-
- if (ExploreToFile(path)) {
- return TRUE;
- }
- }
-
- m_tooltip.RelayEvent(pMsg);
-
- return __super::PreTranslateMessage(pMsg);
-}
-
-
void CPPageFileInfoClip::DoDataExchange(CDataExchange* pDX)
{
__super::DoDataExchange(pDX);
@@ -123,17 +110,27 @@ void CPPageFileInfoClip::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_EDIT3, m_author);
DDX_Text(pDX, IDC_EDIT2, m_copyright);
DDX_Text(pDX, IDC_EDIT5, m_rating);
- DDX_Control(pDX, IDC_EDIT6, m_location);
- DDX_Control(pDX, IDC_EDIT7, m_desc);
+ DDX_Text(pDX, IDC_EDIT6, m_location);
+ DDX_Control(pDX, IDC_EDIT6, m_locationCtrl);
+ DDX_Text(pDX, IDC_EDIT7, m_desc);
}
-#define SETPAGEFOCUS (WM_APP + 252) // arbitrary number, can be changed if necessary
+BOOL CPPageFileInfoClip::PreTranslateMessage(MSG* pMsg)
+{
+ if (pMsg->message == WM_LBUTTONDBLCLK && pMsg->hwnd == m_locationCtrl && !m_location.IsEmpty()) {
+ if (OnDoubleClickLocation()) {
+ return TRUE;
+ }
+ }
+
+ m_tooltip.RelayEvent(pMsg);
+
+ return __super::PreTranslateMessage(pMsg);
+}
BEGIN_MESSAGE_MAP(CPPageFileInfoClip, CPropertyPage)
- ON_MESSAGE(SETPAGEFOCUS, OnSetPageFocus)
END_MESSAGE_MAP()
-
// CPPageFileInfoClip message handlers
BOOL CPPageFileInfoClip::OnInitDialog()
@@ -147,11 +144,11 @@ BOOL CPPageFileInfoClip::OnInitDialog()
m_fn.TrimRight('/');
int i = std::max(m_fn.ReverseFind('\\'), m_fn.ReverseFind('/'));
if (i >= 0 && i < m_fn.GetLength() - 1) {
- m_location_str = m_fn.Left(i);
+ m_location = m_fn.Left(i);
m_fn = m_fn.Mid(i + 1);
- if (m_location_str.GetLength() == 2 && m_location_str[1] == ':') {
- m_location_str += '\\';
+ if (m_location.GetLength() == 2 && m_location[1] == ':') {
+ m_location += '\\';
}
}
@@ -160,20 +157,16 @@ BOOL CPPageFileInfoClip::OnInitDialog()
m_icon.SetIcon(m_hIcon);
}
- m_location.SetWindowText(m_location_str);
-
m_tooltip.Create(this, TTS_NOPREFIX | TTS_ALWAYSTIP);
m_tooltip.SetDelayTime(TTDT_INITIAL, 0);
m_tooltip.SetDelayTime(TTDT_AUTOPOP, 2500);
m_tooltip.SetDelayTime(TTDT_RESHOW, 0);
- if (FileExists(m_path)) {
- m_tooltip.AddTool(&m_location, IDS_TOOLTIP_EXPLORE_TO_FILE);
+ if (PathUtils::Exists(m_path)) {
+ m_tooltip.AddTool(&m_locationCtrl, IDS_TOOLTIP_EXPLORE_TO_FILE);
}
- m_desc.SetWindowText(m_desctext);
-
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
@@ -184,15 +177,19 @@ BOOL CPPageFileInfoClip::OnSetActive()
{
BOOL ret = __super::OnSetActive();
- PostMessage(SETPAGEFOCUS, 0, 0L);
+ PostMessage(WM_NEXTDLGCTL, (WPARAM)GetParentSheet()->GetTabControl()->GetSafeHwnd(), TRUE);
+ GetDlgItem(IDC_EDIT1)->PostMessage(WM_KEYDOWN, VK_HOME);
return ret;
}
-LRESULT CPPageFileInfoClip::OnSetPageFocus(WPARAM wParam, LPARAM lParam)
+bool CPPageFileInfoClip::OnDoubleClickLocation()
{
- CPropertySheet* psheet = (CPropertySheet*) GetParent();
- psheet->GetTabControl()->SetFocus();
+ CString path = m_location;
+ if (path[path.GetLength() - 1] != _T('\\')) {
+ path += _T('\\');
+ }
+ path += m_fn;
- return 0;
-} \ No newline at end of file
+ return ExploreToFile(path);
+}
diff --git a/src/mpc-hc/PPageFileInfoClip.h b/src/mpc-hc/PPageFileInfoClip.h
index c37723510..1d4324049 100644
--- a/src/mpc-hc/PPageFileInfoClip.h
+++ b/src/mpc-hc/PPageFileInfoClip.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -33,13 +33,7 @@ class CPPageFileInfoClip : public CPropertyPage
private:
HICON m_hIcon;
CToolTipCtrl m_tooltip;
-
-public:
- CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF);
- virtual ~CPPageFileInfoClip();
-
- // Dialog Data
- enum { IDD = IDD_FILEPROPCLIP };
+ CEdit m_locationCtrl;
CStatic m_icon;
CString m_fn, m_path;
@@ -47,20 +41,23 @@ public:
CString m_author;
CString m_copyright;
CString m_rating;
- CString m_location_str;
- CString m_desctext;
- CEdit m_location;
- CEdit m_desc;
+ CString m_location;
+ CString m_desc;
+
+public:
+ CPPageFileInfoClip(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI);
+ virtual ~CPPageFileInfoClip();
+
+ // Dialog Data
+ enum { IDD = IDD_FILEPROPCLIP };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnInitDialog();
virtual BOOL PreTranslateMessage(MSG* pMsg);
+ virtual BOOL OnInitDialog();
virtual BOOL OnSetActive();
- virtual LRESULT OnSetPageFocus(WPARAM wParam, LPARAM lParam);
- BOOL OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
DECLARE_MESSAGE_MAP()
-public:
+ bool OnDoubleClickLocation();
};
diff --git a/src/mpc-hc/PPageFileInfoDetails.cpp b/src/mpc-hc/PPageFileInfoDetails.cpp
index d62e23fbe..26edf3e90 100644
--- a/src/mpc-hc/PPageFileInfoDetails.cpp
+++ b/src/mpc-hc/PPageFileInfoDetails.cpp
@@ -28,47 +28,22 @@
#include <d3d9.h>
#include <vmr9.h>
#include "moreuuids.h"
+#include "../SubPic/ISubPic.h"
-static bool GetProperty(IFilterGraph* pFG, LPCOLESTR propName, VARIANT* vt)
-{
- BeginEnumFilters(pFG, pEF, pBF) {
- if (CComQIPtr<IPropertyBag> pPB = pBF)
- if (SUCCEEDED(pPB->Read(propName, vt, nullptr))) {
- return true;
- }
- }
- EndEnumFilters;
-
- return false;
-}
-
-static CString FormatDateTime(FILETIME tm)
-{
- SYSTEMTIME st;
- FileTimeToSystemTime(&tm, &st);
- TCHAR buff[256];
- GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, &st, nullptr, buff, _countof(buff));
- CString ret(buff);
- ret += _T(" ");
- GetTimeFormat(LOCALE_USER_DEFAULT, 0, &st, nullptr, buff, _countof(buff));
- ret += buff;
- return ret;
-}
-
// CPPageFileInfoDetails dialog
IMPLEMENT_DYNAMIC(CPPageFileInfoDetails, CPropertyPage)
-CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, ISubPicAllocatorPresenter* pCAP, IFileSourceFilter* pFSF)
+CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, ISubPicAllocatorPresenter* pCAP, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI)
: CPropertyPage(CPPageFileInfoDetails::IDD, CPPageFileInfoDetails::IDD)
+ , m_hIcon(nullptr)
, m_fn(path)
, m_path(path)
- , m_hIcon(nullptr)
, m_type(ResStr(IDS_AG_NOT_KNOWN))
, m_size(ResStr(IDS_AG_NOT_KNOWN))
- , m_time(ResStr(IDS_AG_NOT_KNOWN))
- , m_res(ResStr(IDS_AG_NOT_KNOWN))
- , m_created(ResStr(IDS_AG_NOT_KNOWN))
+ , m_duration(ResStr(IDS_AG_NOT_KNOWN))
+ , m_resolution(ResStr(IDS_AG_NOT_KNOWN))
+ , m_creationDate(ResStr(IDS_AG_NOT_KNOWN))
{
if (pFSF) {
LPOLESTR pFN;
@@ -76,11 +51,50 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
m_fn = pFN;
CoTaskMemFree(pFN);
}
+ } else if (pDVDI) {
+ ULONG len = 0;
+ if (SUCCEEDED(pDVDI->GetDVDDirectory(m_path.GetBufferSetLength(MAX_PATH), MAX_PATH, &len)) && len) {
+ m_path.ReleaseBuffer();
+ m_fn = m_path += _T("\\VIDEO_TS.IFO");
+ }
}
- CString created;
+ auto getProperty = [](IFilterGraph * pFG, LPCOLESTR propName, VARIANT * vt) {
+ BeginEnumFilters(pFG, pEF, pBF) {
+ if (CComQIPtr<IPropertyBag> pPB = pBF)
+ if (SUCCEEDED(pPB->Read(propName, vt, nullptr))) {
+ return true;
+ }
+ }
+ EndEnumFilters;
+
+ return false;
+ };
+
+ auto formatDateTime = [](FILETIME tm) {
+ SYSTEMTIME st, stLocal;
+ VERIFY(FileTimeToSystemTime(&tm, &st));
+ VERIFY(SystemTimeToTzSpecificLocalTime(nullptr, &st, &stLocal));
+
+ CString formatedDateTime;
+ // Compute the size need to hold the formated date and time
+ int nLenght = GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, &stLocal, nullptr, nullptr, 0);
+ nLenght += GetTimeFormat(LOCALE_USER_DEFAULT, 0, &stLocal, nullptr, nullptr, 0);
+
+ LPTSTR szFormatedDateTime = formatedDateTime.GetBuffer(nLenght);
+ int nDateLenght = GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, &stLocal, nullptr, szFormatedDateTime, nLenght);
+ if (nDateLenght > 0) {
+ szFormatedDateTime[nDateLenght - 1] = _T(' '); // Replace the end of string character by a space
+ GetTimeFormat(LOCALE_USER_DEFAULT, 0, &stLocal, nullptr, &szFormatedDateTime[nDateLenght], nLenght - nDateLenght);
+ }
+ formatedDateTime.ReleaseBuffer();
+
+ return formatedDateTime;
+ };
+
+ CString creationDate;
CComVariant vt;
- if (::GetProperty(pFG, L"CurFile.TimeCreated", &vt)) {
+ if (getProperty(pFG, OLESTR("CurFile.TimeCreated"), &vt)) {
if (V_VT(&vt) == VT_UI8) {
ULARGE_INTEGER uli;
uli.QuadPart = V_UI8(&vt);
@@ -89,7 +103,7 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
ft.dwLowDateTime = uli.LowPart;
ft.dwHighDateTime = uli.HighPart;
- created = FormatDateTime(ft);
+ creationDate = formatDateTime(ft);
}
}
@@ -116,31 +130,31 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
size = (__int64(wfd.nFileSizeHigh) << 32) | wfd.nFileSizeLow;
}
- if (created.IsEmpty()) {
- created = FormatDateTime(wfd.ftCreationTime);
+ if (creationDate.IsEmpty()) {
+ creationDate = formatDateTime(wfd.ftCreationTime);
}
}
if (size > 0) {
- const int MAX_FILE_SIZE_BUFFER = 65;
+ const UINT MAX_FILE_SIZE_BUFFER = 16;
WCHAR szFileSize[MAX_FILE_SIZE_BUFFER];
StrFormatByteSizeW(size, szFileSize, MAX_FILE_SIZE_BUFFER);
CString szByteSize;
szByteSize.Format(_T("%I64d"), size);
- m_size.Format(_T("%s (%s bytes)"), szFileSize, FormatNumber(szByteSize));
+ m_size.Format(_T("%s (%s %s)"), szFileSize, FormatNumber(szByteSize), ResStr(IDS_SIZE_UNIT_BYTES));
}
- if (!created.IsEmpty()) {
- m_created = created;
+ if (!creationDate.IsEmpty()) {
+ m_creationDate = creationDate;
}
REFERENCE_TIME rtDur = 0;
CComQIPtr<IMediaSeeking> pMS = pFG;
if (pMS && SUCCEEDED(pMS->GetDuration(&rtDur)) && rtDur > 0) {
- m_time = ReftimeToString2(rtDur);
+ m_duration = ReftimeToString2(rtDur);
}
- CSize wh(0, 0), arxy(0, 0);
+ CSize wh, arxy;
if (pCAP) {
wh = pCAP->GetVideoSize(false);
@@ -177,7 +191,7 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
}
if (wh.cx > 0 && wh.cy > 0) {
- m_res.Format(_T("%dx%d"), wh.cx, wh.cy);
+ m_resolution.Format(_T("%dx%d"), wh.cx, wh.cy);
int gcd = GCD(arxy.cx, arxy.cy);
if (gcd > 1) {
@@ -186,92 +200,14 @@ CPPageFileInfoDetails::CPPageFileInfoDetails(CString path, IFilterGraph* pFG, IS
}
if (arxy.cx > 0 && arxy.cy > 0 && arxy.cx * wh.cy != arxy.cy * wh.cx) {
- CString ar;
- ar.Format(_T(" (AR %d:%d)"), arxy.cx, arxy.cy);
- m_res += ar;
+ m_resolution.AppendFormat(_T(" (") + ResStr(IDS_ASPECT_RATIO_FMT) + _T(")"), arxy.cx, arxy.cy);
}
}
- InitEncodingText(pFG);
+ InitTrackInfoText(pFG);
}
-CPPageFileInfoDetails::~CPPageFileInfoDetails()
-{
- if (m_hIcon) {
- DestroyIcon(m_hIcon);
- }
-}
-
-void CPPageFileInfoDetails::DoDataExchange(CDataExchange* pDX)
-{
- __super::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_DEFAULTICON, m_icon);
- DDX_Text(pDX, IDC_EDIT1, m_fn);
- DDX_Text(pDX, IDC_EDIT4, m_type);
- DDX_Text(pDX, IDC_EDIT3, m_size);
- DDX_Text(pDX, IDC_EDIT2, m_time);
- DDX_Text(pDX, IDC_EDIT5, m_res);
- DDX_Text(pDX, IDC_EDIT6, m_created);
- DDX_Control(pDX, IDC_EDIT7, m_encoding);
-}
-
-#define SETPAGEFOCUS (WM_APP + 252) // arbitrary number, can be changed if necessary
-
-BEGIN_MESSAGE_MAP(CPPageFileInfoDetails, CPropertyPage)
- ON_MESSAGE(SETPAGEFOCUS, OnSetPageFocus)
-END_MESSAGE_MAP()
-
-// CPPageFileInfoDetails message handlers
-
-BOOL CPPageFileInfoDetails::OnInitDialog()
-{
- __super::OnInitDialog();
-
- if (m_path.IsEmpty()) {
- m_path = m_fn;
- }
-
- m_fn.TrimRight('/');
- m_fn.Replace('\\', '/');
- m_fn = m_fn.Mid(m_fn.ReverseFind('/') + 1);
-
- CString ext = m_fn.Left(m_fn.Find(_T("://")) + 1).TrimRight(':');
- if (ext.IsEmpty() || !ext.CompareNoCase(_T("file"))) {
- ext = _T(".") + m_fn.Mid(m_fn.ReverseFind('.') + 1);
- }
-
- m_hIcon = LoadIcon(m_fn, false);
- if (m_hIcon) {
- m_icon.SetIcon(m_hIcon);
- }
-
- if (!LoadType(ext, m_type)) {
- m_type.LoadString(IDS_AG_NOT_KNOWN);
- }
-
- UpdateData(FALSE);
-
- m_encoding.SetWindowText(m_encodingtext);
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
-}
-
-BOOL CPPageFileInfoDetails::OnSetActive()
-{
- BOOL ret = __super::OnSetActive();
- PostMessage(SETPAGEFOCUS, 0, 0L);
- return ret;
-}
-
-LRESULT CPPageFileInfoDetails::OnSetPageFocus(WPARAM wParam, LPARAM lParam)
-{
- CPropertySheet* psheet = (CPropertySheet*) GetParent();
- psheet->GetTabControl()->SetFocus();
- return 0;
-}
-
-void CPPageFileInfoDetails::InitEncodingText(IFilterGraph* pFG)
+void CPPageFileInfoDetails::InitTrackInfoText(IFilterGraph* pFG)
{
CAtlList<CString> videoStreams;
CAtlList<CString> otherStreams;
@@ -352,9 +288,76 @@ void CPPageFileInfoDetails::InitEncodingText(IFilterGraph* pFG)
}
EndEnumFilters;
- m_encodingtext = Implode(videoStreams, _T("\r\n"));
- if (!m_encodingtext.IsEmpty()) {
- m_encodingtext += _T("\r\n");
+ m_trackInfo = Implode(videoStreams, _T("\r\n"));
+ if (!videoStreams.IsEmpty() && !otherStreams.IsEmpty()) {
+ m_trackInfo += _T("\r\n");
+ }
+ m_trackInfo += Implode(otherStreams, _T("\r\n"));
+}
+
+CPPageFileInfoDetails::~CPPageFileInfoDetails()
+{
+ if (m_hIcon) {
+ DestroyIcon(m_hIcon);
+ }
+}
+
+void CPPageFileInfoDetails::DoDataExchange(CDataExchange* pDX)
+{
+ __super::DoDataExchange(pDX);
+ DDX_Control(pDX, IDC_DEFAULTICON, m_icon);
+ DDX_Text(pDX, IDC_EDIT1, m_fn);
+ DDX_Text(pDX, IDC_EDIT4, m_type);
+ DDX_Text(pDX, IDC_EDIT3, m_size);
+ DDX_Text(pDX, IDC_EDIT2, m_duration);
+ DDX_Text(pDX, IDC_EDIT5, m_resolution);
+ DDX_Text(pDX, IDC_EDIT6, m_creationDate);
+ DDX_Text(pDX, IDC_EDIT7, m_trackInfo);
+}
+
+BEGIN_MESSAGE_MAP(CPPageFileInfoDetails, CPropertyPage)
+END_MESSAGE_MAP()
+
+// CPPageFileInfoDetails message handlers
+
+BOOL CPPageFileInfoDetails::OnInitDialog()
+{
+ __super::OnInitDialog();
+
+ if (m_path.IsEmpty()) {
+ m_path = m_fn;
}
- m_encodingtext += Implode(otherStreams, _T("\r\n"));
+
+ m_fn.TrimRight('/');
+ m_fn.Replace('\\', '/');
+ m_fn = m_fn.Mid(m_fn.ReverseFind('/') + 1);
+
+ CString ext = m_fn.Left(m_fn.Find(_T("://")) + 1).TrimRight(':');
+ if (ext.IsEmpty() || !ext.CompareNoCase(_T("file"))) {
+ ext = _T(".") + m_fn.Mid(m_fn.ReverseFind('.') + 1);
+ }
+
+ m_hIcon = LoadIcon(m_fn, false);
+ if (m_hIcon) {
+ m_icon.SetIcon(m_hIcon);
+ }
+
+ if (!LoadType(ext, m_type)) {
+ m_type.LoadString(IDS_AG_NOT_KNOWN);
+ }
+
+ UpdateData(FALSE);
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // EXCEPTION: OCX Property Pages should return FALSE
+}
+
+BOOL CPPageFileInfoDetails::OnSetActive()
+{
+ BOOL ret = __super::OnSetActive();
+
+ PostMessage(WM_NEXTDLGCTL, (WPARAM)GetParentSheet()->GetTabControl()->GetSafeHwnd(), TRUE);
+ GetDlgItem(IDC_EDIT1)->PostMessage(WM_KEYDOWN, VK_HOME);
+
+ return ret;
}
diff --git a/src/mpc-hc/PPageFileInfoDetails.h b/src/mpc-hc/PPageFileInfoDetails.h
index 4972c5dfa..f8026dd5a 100644
--- a/src/mpc-hc/PPageFileInfoDetails.h
+++ b/src/mpc-hc/PPageFileInfoDetails.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -21,7 +21,6 @@
#pragma once
-#include "../SubPic/ISubPic.h"
#include <afxwin.h>
@@ -33,33 +32,29 @@ class CPPageFileInfoDetails : public CPropertyPage
private:
HICON m_hIcon;
+ CStatic m_icon;
+
+ CString m_fn, m_path;
+ CString m_type;
+ CString m_size;
+ CString m_duration;
+ CString m_resolution;
+ CString m_creationDate;
+ CString m_trackInfo;
- void InitEncodingText(IFilterGraph* pFG);
+ void InitTrackInfoText(IFilterGraph* pFG);
public:
- CPPageFileInfoDetails(CString path, IFilterGraph* pFG, ISubPicAllocatorPresenter* pCAP, IFileSourceFilter* pFSF);
+ CPPageFileInfoDetails(CString path, IFilterGraph* pFG, ISubPicAllocatorPresenter* pCAP, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI);
virtual ~CPPageFileInfoDetails();
// Dialog Data
enum { IDD = IDD_FILEPROPDETAILS };
- CStatic m_icon;
- CString m_fn, m_path;
- CString m_type;
- CString m_size;
- CString m_time;
- CString m_res;
- CString m_created;
- CString m_encodingtext;
- CEdit m_encoding;
-
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
virtual BOOL OnSetActive();
- virtual LRESULT OnSetPageFocus(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
-
-public:
};
diff --git a/src/mpc-hc/PPageFileInfoRes.cpp b/src/mpc-hc/PPageFileInfoRes.cpp
index 02432bc63..a7d2b2ec7 100644
--- a/src/mpc-hc/PPageFileInfoRes.cpp
+++ b/src/mpc-hc/PPageFileInfoRes.cpp
@@ -29,8 +29,8 @@
IMPLEMENT_DYNAMIC(CPPageFileInfoRes, CPPageBase)
CPPageFileInfoRes::CPPageFileInfoRes(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF)
: CPPageBase(CPPageFileInfoRes::IDD, CPPageFileInfoRes::IDD)
- , m_fn(path)
, m_hIcon(nullptr)
+ , m_fn(path)
{
if (pFSF) {
LPOLESTR pFN = nullptr;
@@ -54,14 +54,8 @@ CPPageFileInfoRes::CPPageFileInfoRes(CString path, IFilterGraph* pFG, IFileSourc
BYTE* pData = nullptr;
DWORD len = 0;
if (SUCCEEDED(pRB->ResGet(j, &name, &desc, &mime, &pData, &len, nullptr))) {
- CDSMResource r;
- r.name = name;
- r.desc = desc;
- r.mime = mime;
- r.data.SetCount(len);
- memcpy(r.data.GetData(), pData, r.data.GetCount());
+ m_res.emplace_back(name, desc, mime, pData, len);
CoTaskMemFree(pData);
- m_res.push_back(std::move(r));
}
}
}
@@ -117,23 +111,32 @@ BOOL CPPageFileInfoRes::OnInitDialog()
// EXCEPTION: OCX Property Pages should return FALSE
}
-void CPPageFileInfoRes::OnSaveAs()
+BOOL CPPageFileInfoRes::OnSetActive()
{
- int i = m_list.GetSelectionMark();
- if (i < 0) {
- return;
- }
+ BOOL ret = __super::OnSetActive();
+
+ PostMessage(WM_NEXTDLGCTL, (WPARAM)GetParentSheet()->GetTabControl()->GetSafeHwnd(), TRUE);
+ GetDlgItem(IDC_EDIT1)->PostMessage(WM_KEYDOWN, VK_HOME);
- CDSMResource& r = m_res[m_list.GetItemData(i)];
+ return ret;
+}
- CFileDialog fd(FALSE, nullptr, CString(r.name),
- OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR,
- _T("All files|*.*||"), this, 0);
- if (fd.DoModal() == IDOK) {
- FILE* f = nullptr;
- if (!_tfopen_s(&f, fd.GetPathName(), _T("wb"))) {
- fwrite(r.data.GetData(), 1, r.data.GetCount(), f);
- fclose(f);
+void CPPageFileInfoRes::OnSaveAs()
+{
+ int i = m_list.GetSelectionMark();
+ if (i >= 0) {
+ const auto& r = m_res[m_list.GetItemData(i)];
+
+ CFileDialog fd(FALSE, nullptr, r.name,
+ OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR,
+ _T("All files|*.*||"), this, 0);
+
+ if (fd.DoModal() == IDOK) {
+ CFile file;
+ if (file.Open(fd.GetPathName(), CFile::modeCreate | CFile::modeWrite)) {
+ file.Write(r.data.GetData(), (UINT)r.data.GetCount());
+ file.Close();
+ }
}
}
}
@@ -146,21 +149,17 @@ void CPPageFileInfoRes::OnUpdateSaveAs(CCmdUI* pCmdUI)
void CPPageFileInfoRes::OnOpenEmbeddedResInBrowser(NMHDR* pNMHDR, LRESULT* pResult)
{
int i = m_list.GetSelectionMark();
- if (i < 0) {
- return;
- }
+ if (i >= 0) {
+ const CAppSettings& s = AfxGetAppSettings();
- const CAppSettings& s = AfxGetAppSettings();
+ if (s.fEnableWebServer) {
+ const auto& r = m_res[m_list.GetItemData(i)];
- if (s.fEnableWebServer) {
- CDSMResource& r = m_res[m_list.GetItemData(i)];
-
- CString url;
- url.Format(_T("http://localhost:%d/viewres.html?id=%Ix"), s.nWebServerPort, reinterpret_cast<uintptr_t>(&r));
- ShellExecute(nullptr, _T("open"), url, nullptr, nullptr, SW_SHOWDEFAULT);
- } else {
- AfxMessageBox(IDS_EMB_RESOURCES_VIEWER_INFO, MB_ICONINFORMATION);
+ CString url;
+ url.Format(_T("http://localhost:%d/viewres.html?id=%Ix"), s.nWebServerPort, reinterpret_cast<uintptr_t>(&r));
+ ShellExecute(nullptr, _T("open"), url, nullptr, nullptr, SW_SHOWDEFAULT);
+ } else {
+ AfxMessageBox(IDS_EMB_RESOURCES_VIEWER_INFO, MB_ICONINFORMATION);
+ }
}
-
- *pResult = 0;
}
diff --git a/src/mpc-hc/PPageFileInfoRes.h b/src/mpc-hc/PPageFileInfoRes.h
index 293836541..e373f4327 100644
--- a/src/mpc-hc/PPageFileInfoRes.h
+++ b/src/mpc-hc/PPageFileInfoRes.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -35,22 +35,25 @@ class CPPageFileInfoRes : public CPPageBase
private:
HICON m_hIcon;
+ CStatic m_icon;
+ CListCtrl m_list;
+
+ CString m_fn;
std::vector<CDSMResource> m_res;
public:
- CPPageFileInfoRes(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF); // standard constructor
+ CPPageFileInfoRes(CString path, IFilterGraph* pFG, IFileSourceFilter* pFSF);
virtual ~CPPageFileInfoRes();
// Dialog Data
enum { IDD = IDD_FILEPROPRES };
- CStatic m_icon;
- CString m_fn;
- CListCtrl m_list;
+ bool HasResources() const { return !m_res.empty(); };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
+ virtual BOOL OnSetActive();
DECLARE_MESSAGE_MAP()
diff --git a/src/mpc-hc/PPageFileInfoSheet.cpp b/src/mpc-hc/PPageFileInfoSheet.cpp
index 5f9e014a3..6e12a2668 100644
--- a/src/mpc-hc/PPageFileInfoSheet.cpp
+++ b/src/mpc-hc/PPageFileInfoSheet.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -31,30 +31,23 @@
IMPLEMENT_DYNAMIC(CPPageFileInfoSheet, CPropertySheet)
CPPageFileInfoSheet::CPPageFileInfoSheet(CString path, CMainFrame* pMainFrame, CWnd* pParentWnd)
: CPropertySheet(ResStr(IDS_PROPSHEET_PROPERTIES), pParentWnd, 0)
- , m_clip(path, pMainFrame->m_pGB, pMainFrame->m_pFSF)
- , m_details(path, pMainFrame->m_pGB, pMainFrame->m_pCAP, pMainFrame->m_pFSF)
+ , m_clip(path, pMainFrame->m_pGB, pMainFrame->m_pFSF, pMainFrame->m_pDVDI)
+ , m_details(path, pMainFrame->m_pGB, pMainFrame->m_pCAP, pMainFrame->m_pFSF, pMainFrame->m_pDVDI)
, m_res(path, pMainFrame->m_pGB, pMainFrame->m_pFSF)
- , m_mi(path, pMainFrame->m_pFSF)
+ , m_mi(path, pMainFrame->m_pFSF, pMainFrame->m_pDVDI, pMainFrame)
, m_path(path)
{
AddPage(&m_details);
AddPage(&m_clip);
- BeginEnumFilters(pMainFrame->m_pGB, pEF, pBF) {
- if (CComQIPtr<IDSMResourceBag> pRB = pBF)
- if (pRB && pRB->ResGetCount() > 0) {
- AddPage(&m_res);
- break;
- }
+ if (m_res.HasResources()) {
+ AddPage(&m_res);
}
- EndEnumFilters;
#if !USE_STATIC_MEDIAINFO
if (CPPageFileMediaInfo::HasMediaInfo())
#endif
- if (m_mi.HasInfo()) {
- AddPage(&m_mi);
- }
+ AddPage(&m_mi);
}
CPPageFileInfoSheet::~CPPageFileInfoSheet()
@@ -94,26 +87,5 @@ BOOL CPPageFileInfoSheet::OnInitDialog()
void CPPageFileInfoSheet::OnSaveAs()
{
- CString fn = m_mi.m_fn;
-
- fn.TrimRight('/');
- int i = max(fn.ReverseFind('\\'), fn.ReverseFind('/'));
- if (i >= 0 && i < fn.GetLength() - 1) {
- fn = fn.Mid(i + 1);
- }
- fn.Append(_T(".MediaInfo.txt"));
-
- CFileDialog filedlg(FALSE, _T("*.txt"), fn,
- OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_NOCHANGEDIR,
- _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), this, 0);
-
- if (filedlg.DoModal() == IDOK) { // user has chosen a file, so
- TCHAR bom = (TCHAR)0xFEFF;
- CFile mFile;
- if (mFile.Open(filedlg.GetPathName(), CFile::modeCreate | CFile::modeWrite)) {
- mFile.Write(&bom, sizeof(TCHAR));
- mFile.Write(LPCTSTR(m_mi.MI_Text), m_mi.MI_Text.GetLength()*sizeof(TCHAR));
- mFile.Close();
- }
- }
+ m_mi.OnSaveAs();
}
diff --git a/src/mpc-hc/PPageFileMediaInfo.cpp b/src/mpc-hc/PPageFileMediaInfo.cpp
index 48ed58e40..8725dc25c 100644
--- a/src/mpc-hc/PPageFileMediaInfo.cpp
+++ b/src/mpc-hc/PPageFileMediaInfo.cpp
@@ -23,6 +23,7 @@
#include "stdafx.h"
#include "mplayerc.h"
+#include "MainFrm.h"
#include "PPageFileMediaInfo.h"
#include "WinAPIUtils.h"
@@ -40,11 +41,11 @@ using namespace MediaInfoDLL;
// CPPageFileMediaInfo dialog
IMPLEMENT_DYNAMIC(CPPageFileMediaInfo, CPropertyPage)
-CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF)
+CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI, CMainFrame* pMainFrame)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
- , m_pCFont(nullptr)
+ , m_bSyncAnalysis(false)
{
CComQIPtr<IAsyncReader> pAR;
if (pFSF) {
@@ -62,70 +63,98 @@ CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF)
}
EndEnumPins;
}
+ } else if (pDVDI) {
+ ULONG len = 0;
+ if (SUCCEEDED(pDVDI->GetDVDDirectory(m_path.GetBufferSetLength(MAX_PATH), MAX_PATH, &len)) && len) {
+ m_path.ReleaseBuffer();
+ m_fn = m_path += _T("\\VIDEO_TS.IFO");
+ }
}
if (m_path.IsEmpty()) {
m_path = m_fn;
}
+ if (m_path.GetLength() > 1 && m_path[1] == _T(':')
+ && GetDriveType(m_path.Left(2) + _T('\\')) == DRIVE_CDROM) {
+ // If we are playing from an optical drive, we do the analysis synchronously
+ // when the user chooses to display the MediaInfo tab. We keep a reference
+ // on the async reader filter but it will not cause any issue even if the
+ // filter graph is destroyed before the analysis.
+ m_bSyncAnalysis = true;
+ }
+
+ m_futureMIText = std::async(m_bSyncAnalysis ? std::launch::deferred : std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
- MediaInfoLib::String f_name = m_path;
- MediaInfoLib::MediaInfo MI;
+ MediaInfoLib::String filename = m_path;
+ MediaInfoLib::MediaInfo MI;
#else
- MediaInfoDLL::String f_name = m_path;
- MediaInfo MI;
+ MediaInfoDLL::String filename = m_path;
+ MediaInfo MI;
#endif
+ // If we do a synchronous analysis on an optical drive, we pause the video during
+ // the analysis to avoid concurrent accesses to the drive. Note that due to the
+ // synchronous nature of the analysis, we are sure that the graph state will not
+ // change during the analysis.
+ bool bUnpause = false;
+ if (m_bSyncAnalysis && pMainFrame->GetMediaState() == State_Running) {
+ pMainFrame->SendMessage(WM_COMMAND, ID_PLAY_PAUSE);
+ bUnpause = true;
+ }
- MI.Option(_T("ParseSpeed"), _T("0.5"));
- MI.Option(_T("Complete"));
- MI.Option(_T("Language"), _T(" Config_Text_ColumnSize;30"));
+ MI.Option(_T("ParseSpeed"), _T("0.5"));
+ MI.Option(_T("Complete"));
+ MI.Option(_T("Language"), _T(" Config_Text_ColumnSize;30"));
- LONGLONG llSize, llAvailable;
- if (pAR && SUCCEEDED(pAR->Length(&llSize, &llAvailable))) {
- size_t ret = MI.Open_Buffer_Init((MediaInfo_int64u)llSize);
+ LONGLONG llSize, llAvailable;
+ if (pAR && SUCCEEDED(pAR->Length(&llSize, &llAvailable))) {
+ size_t ret = MI.Open_Buffer_Init((MediaInfo_int64u)llSize);
- std::vector<BYTE> buffer(MEDIAINFO_BUFFER_SIZE);
- LONGLONG llPosition = 0;
- while ((ret & 0x1) && !(ret & 0x8) && llPosition < llAvailable) { // While accepted and not finished
- size_t szLength = (size_t)std::min(llAvailable - llPosition, (LONGLONG)buffer.size());
- if (pAR->SyncRead(llPosition, (LONG)szLength, buffer.data()) != S_OK) {
- break;
- }
+ std::vector<BYTE> buffer(MEDIAINFO_BUFFER_SIZE);
+ LONGLONG llPosition = 0;
+ while ((ret & 0x1) && !(ret & 0x8) && llPosition < llAvailable) { // While accepted and not finished
+ size_t szLength = (size_t)std::min(llAvailable - llPosition, (LONGLONG)buffer.size());
+ if (pAR->SyncRead(llPosition, (LONG)szLength, buffer.data()) != S_OK) {
+ break;
+ }
- ret = MI.Open_Buffer_Continue(buffer.data(), szLength);
+ ret = MI.Open_Buffer_Continue(buffer.data(), szLength);
- // Seek to a different position if needed
- MediaInfo_int64u uiNeeded = MI.Open_Buffer_Continue_GoTo_Get();
- if (uiNeeded != MediaInfo_int64u(-1)) {
- llPosition = (LONGLONG)uiNeeded;
- // Inform MediaInfo of the seek
- MI.Open_Buffer_Init((MediaInfo_int64u)llSize, (MediaInfo_int64u)llPosition);
- } else {
- llPosition += (LONGLONG)szLength;
- }
+ // Seek to a different position if needed
+ MediaInfo_int64u uiNeeded = MI.Open_Buffer_Continue_GoTo_Get();
+ if (uiNeeded != MediaInfo_int64u(-1)) {
+ llPosition = (LONGLONG)uiNeeded;
+ // Inform MediaInfo of the seek
+ MI.Open_Buffer_Init((MediaInfo_int64u)llSize, (MediaInfo_int64u)llPosition);
+ } else {
+ llPosition += (LONGLONG)szLength;
+ }
- if (FAILED(pAR->Length(&llSize, &llAvailable))) {
- break;
+ if (FAILED(pAR->Length(&llSize, &llAvailable))) {
+ break;
+ }
}
+ MI.Open_Buffer_Finalize();
+ } else {
+ MI.Open(filename);
+ }
+
+ if (bUnpause) {
+ pMainFrame->SendMessage(WM_COMMAND, ID_PLAY_PLAY);
}
- MI.Open_Buffer_Finalize();
- MI_Text = MI.Inform().c_str();
- } else {
- MI.Open(f_name);
- MI_Text = MI.Inform().c_str();
- MI.Close();
+ CString info = MI.Inform().c_str();
- if (!MI_Text.Find(_T("Unable to load"))) {
- MI_Text = _T("");
+ if (info.IsEmpty() || !info.Find(_T("Unable to load"))) {
+ info = ResStr(IDS_MEDIAINFO_NO_INFO_AVAILABLE);
}
- }
+
+ return info;
+ }).share();
}
CPPageFileMediaInfo::~CPPageFileMediaInfo()
{
- delete m_pCFont;
- m_pCFont = nullptr;
}
void CPPageFileMediaInfo::DoDataExchange(CDataExchange* pDX)
@@ -134,59 +163,57 @@ void CPPageFileMediaInfo::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_MIEDIT, m_mediainfo);
}
+BOOL CPPageFileMediaInfo::PreTranslateMessage(MSG* pMsg)
+{
+ if (pMsg->message == WM_KEYDOWN && pMsg->hwnd == m_mediainfo) {
+ if (OnKeyDownInEdit(pMsg)) {
+ return TRUE;
+ }
+ }
+
+ return __super::PreTranslateMessage(pMsg);
+}
BEGIN_MESSAGE_MAP(CPPageFileMediaInfo, CPropertyPage)
ON_WM_SHOWWINDOW()
+ ON_WM_DESTROY()
+ ON_MESSAGE_VOID(WM_MEDIAINFO_READY, OnMediaInfoReady)
END_MESSAGE_MAP()
// CPPageFileMediaInfo message handlers
-static WNDPROC OldControlProc;
-
-static LRESULT CALLBACK ControlProc(HWND control, UINT message, WPARAM wParam, LPARAM lParam)
-{
- if (message == WM_KEYDOWN) {
- if ((LOWORD(wParam) == 'A' || LOWORD(wParam) == 'a')
- && (GetKeyState(VK_CONTROL) < 0)) {
- CEdit* pEdit = (CEdit*)CWnd::FromHandle(control);
- pEdit->SetSel(0, pEdit->GetWindowTextLength(), TRUE);
- return 0;
- }
- }
-
- return CallWindowProc(OldControlProc, control, message, wParam, lParam); // call edit control's own windowproc
-}
BOOL CPPageFileMediaInfo::OnInitDialog()
{
__super::OnInitDialog();
- if (!m_pCFont) {
- m_pCFont = DEBUG_NEW CFont;
- }
- if (!m_pCFont) {
- return TRUE;
- }
-
LOGFONT lf;
ZeroMemory(&lf, sizeof(lf));
lf.lfPitchAndFamily = DEFAULT_PITCH | FF_MODERN;
- // The empty string will fallback to the first font that matches the other specified attributes.
+ // The empty string will fall back to the first font that matches the other specified attributes.
LPCTSTR fonts[] = { _T("Lucida Console"), _T("Courier New"), _T("") };
// Use a negative value to match the character height instead of the cell height.
int fonts_size[] = { -10, -11, -11 };
- UINT i = 0;
- BOOL success;
+ size_t i = 0;
+ bool bSuccess;
do {
_tcscpy_s(lf.lfFaceName, fonts[i]);
lf.lfHeight = fonts_size[i];
- success = IsFontInstalled(fonts[i]) && m_pCFont->CreateFontIndirect(&lf);
+ bSuccess = IsFontInstalled(fonts[i]) && m_font.CreateFontIndirect(&lf);
i++;
- } while (!success && i < _countof(fonts));
- m_mediainfo.SetFont(m_pCFont);
- m_mediainfo.SetWindowText(MI_Text);
-
- // subclass the edit control
- OldControlProc = (WNDPROC)SetWindowLongPtr(m_mediainfo.m_hWnd, GWLP_WNDPROC, (LONG_PTR)ControlProc);
+ } while (!bSuccess && i < _countof(fonts));
+ m_mediainfo.SetFont(&m_font);
+
+ GetParent()->GetDlgItem(IDC_BUTTON_MI)->EnableWindow(FALSE); // Initially disable the "Save As" button
+
+ if (m_bSyncAnalysis) { // Wait until the analysis is finished
+ OnMediaInfoReady();
+ } else { // Spawn a thread that will asynchronously update the window
+ m_mediainfo.SetWindowText(ResStr(IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS));
+ m_threadSetText = std::thread([this]() {
+ m_futureMIText.wait(); // Wait for the info to be ready
+ PostMessage(WM_MEDIAINFO_READY); // then notify the window that MediaInfo analysis finished
+ });
+ }
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
@@ -195,11 +222,36 @@ BOOL CPPageFileMediaInfo::OnInitDialog()
void CPPageFileMediaInfo::OnShowWindow(BOOL bShow, UINT nStatus)
{
__super::OnShowWindow(bShow, nStatus);
- if (bShow) {
- GetParent()->GetDlgItem(IDC_BUTTON_MI)->ShowWindow(SW_SHOW);
- } else {
- GetParent()->GetDlgItem(IDC_BUTTON_MI)->ShowWindow(SW_HIDE);
+
+ GetParent()->GetDlgItem(IDC_BUTTON_MI)->ShowWindow(bShow ? SW_SHOW : SW_HIDE);
+}
+
+void CPPageFileMediaInfo::OnDestroy()
+{
+ if (m_threadSetText.joinable()) {
+ m_threadSetText.join();
+ }
+}
+
+void CPPageFileMediaInfo::OnMediaInfoReady()
+{
+ if (m_futureMIText.get() != ResStr(IDS_MEDIAINFO_NO_INFO_AVAILABLE)) {
+ GetParent()->GetDlgItem(IDC_BUTTON_MI)->EnableWindow(TRUE);
}
+ m_mediainfo.SetWindowText(m_futureMIText.get());
+}
+
+bool CPPageFileMediaInfo::OnKeyDownInEdit(MSG* pMsg)
+{
+ bool bHandled = false;
+
+ if ((LOWORD(pMsg->wParam) == _T('A') || LOWORD(pMsg->wParam) == _T('a'))
+ && (GetKeyState(VK_CONTROL) < 0)) {
+ m_mediainfo.SetSel(0, -1, TRUE);
+ bHandled = true;
+ }
+
+ return bHandled;
}
#if !USE_STATIC_MEDIAINFO
@@ -209,3 +261,29 @@ bool CPPageFileMediaInfo::HasMediaInfo()
return MI.IsReady();
}
#endif
+
+void CPPageFileMediaInfo::OnSaveAs()
+{
+ CString fn = m_fn;
+
+ fn.TrimRight(_T('/'));
+ int i = std::max(fn.ReverseFind(_T('\\')), fn.ReverseFind(_T('/')));
+ if (i >= 0 && i < fn.GetLength() - 1) {
+ fn = fn.Mid(i + 1);
+ }
+ fn.Append(_T(".MediaInfo.txt"));
+
+ CFileDialog fileDlg(FALSE, _T("*.txt"), fn,
+ OFN_EXPLORER | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_NOCHANGEDIR,
+ _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), this, 0);
+
+ if (fileDlg.DoModal() == IDOK) { // user has chosen a file
+ CFile file;
+ if (file.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite)) {
+ TCHAR bom = (TCHAR)0xFEFF;
+ file.Write(&bom, sizeof(TCHAR));
+ file.Write(LPCTSTR(m_futureMIText.get()), m_futureMIText.get().GetLength() * sizeof(TCHAR));
+ file.Close();
+ }
+ }
+}
diff --git a/src/mpc-hc/PPageFileMediaInfo.h b/src/mpc-hc/PPageFileMediaInfo.h
index d9482c8b5..511e591b0 100644
--- a/src/mpc-hc/PPageFileMediaInfo.h
+++ b/src/mpc-hc/PPageFileMediaInfo.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,35 +20,51 @@
#pragma once
+#include <future>
+#include "mpc-hc_config.h"
+
// CPPageFileMediaInfo dialog
class CPPageFileMediaInfo : public CPropertyPage
{
DECLARE_DYNAMIC(CPPageFileMediaInfo)
+private:
+ CEdit m_mediainfo;
+ CFont m_font;
+
+ CString m_fn, m_path;
+ bool m_bSyncAnalysis;
+ std::shared_future<CString> m_futureMIText;
+ std::thread m_threadSetText;
+
public:
- CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF);
+ CPPageFileMediaInfo(CString path, IFileSourceFilter* pFSF, IDvdInfo2* pDVDI, CMainFrame* pMainFrame);
virtual ~CPPageFileMediaInfo();
// Dialog Data
enum { IDD = IDD_FILEMEDIAINFO };
- CEdit m_mediainfo;
- CString m_fn, m_path;
- CFont* m_pCFont;
- CString MI_Text;
-
#if !USE_STATIC_MEDIAINFO
static bool HasMediaInfo();
#endif
+
+ void OnSaveAs();
+
protected:
+ enum {
+ WM_MEDIAINFO_READY = WM_APP + 1
+ };
+
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
-public:
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
+ afx_msg void OnDestroy();
+ afx_msg void OnMediaInfoReady();
- bool HasInfo() const { return !MI_Text.IsEmpty(); };
+ bool OnKeyDownInEdit(MSG* pMsg);
};
diff --git a/src/mpc-hc/PPageFormats.cpp b/src/mpc-hc/PPageFormats.cpp
index 4b10591c7..19183a2bd 100644
--- a/src/mpc-hc/PPageFormats.cpp
+++ b/src/mpc-hc/PPageFormats.cpp
@@ -23,8 +23,8 @@
#include "mplayerc.h"
#include "PPageFormats.h"
#include "FileAssoc.h"
+#include "PathUtils.h"
#include "SysVersion.h"
-#include "WinAPIUtils.h"
#include <psapi.h>
#include <string>
#include <atlimage.h>
@@ -37,10 +37,10 @@ IMPLEMENT_DYNAMIC(CPPageFormats, CPPageBase)
CPPageFormats::CPPageFormats()
: CPPageBase(CPPageFormats::IDD, CPPageFormats::IDD)
, m_list(0)
- , m_iRtspHandler(0)
- , m_fRtspFileExtFirst(FALSE)
, m_bInsufficientPrivileges(false)
, m_bFileExtChanged(false)
+ , m_iRtspHandler(0)
+ , m_fRtspFileExtFirst(FALSE)
, m_bHaveRegisteredCategory(false)
{
}
@@ -537,13 +537,10 @@ void CPPageFormats::OnClearAllAssociations()
void CPPageFormats::OnBnRunAsAdmin()
{
- TCHAR strApp[MAX_PATH];
CString strCmd;
-
- GetModuleFileNameEx(GetCurrentProcess(), AfxGetMyApp()->m_hInstance, strApp, MAX_PATH);
strCmd.Format(_T("/adminoption %d"), IDD);
- AfxGetMyApp()->RunAsAdministrator(strApp, strCmd, true);
+ AfxGetMyApp()->RunAsAdministrator(PathUtils::GetProgramPath(true), strCmd, true);
auto& s = AfxGetAppSettings();
s.m_Formats.UpdateData(false);
diff --git a/src/mpc-hc/PPageFullscreen.cpp b/src/mpc-hc/PPageFullscreen.cpp
index a0629c22f..4b68f305d 100644
--- a/src/mpc-hc/PPageFullscreen.cpp
+++ b/src/mpc-hc/PPageFullscreen.cpp
@@ -23,7 +23,6 @@
#include "MainFrm.h"
#include "mplayerc.h"
#include "PPageFullscreen.h"
-#include "WinAPIUtils.h"
#include "Monitors.h"
#include "MultiMonitor.h"
@@ -35,18 +34,18 @@
IMPLEMENT_DYNAMIC(CPPageFullscreen, CPPageBase)
CPPageFullscreen::CPPageFullscreen()
: CPPageBase(CPPageFullscreen::IDD, CPPageFullscreen::IDD)
+ , m_iFullScreenMonitor(0)
, m_bLaunchFullscreen(FALSE)
+ , m_fExitFullScreenAtTheEnd(FALSE)
, m_bHideFullscreenControls(FALSE)
, m_uHideFullscreenControlsDelay(0)
, m_bHideFullscreenDockedPanels(FALSE)
- , m_fExitFullScreenAtTheEnd(FALSE)
+ , m_nCurrentDisplayModeIndex(0)
, m_bAutoChangeFSModeEnabled(FALSE)
, m_bAutoChangeFSModeApplyDefModeAtFSExist(TRUE)
, m_bAutoChangeFSModeRestoreResAfterProgExit(TRUE)
, m_uAutoChangeFullscrResDelay(0)
- , m_iFullScreenMonitor(0)
, m_list(0)
- , m_nCurrentDisplayModeIndex(0)
{
}
diff --git a/src/mpc-hc/PPageInternalFilters.cpp b/src/mpc-hc/PPageInternalFilters.cpp
index c2738891b..49cd2ae25 100644
--- a/src/mpc-hc/PPageInternalFilters.cpp
+++ b/src/mpc-hc/PPageInternalFilters.cpp
@@ -29,8 +29,8 @@
IMPLEMENT_DYNAMIC(CPPageInternalFiltersListBox, CCheckListBox)
CPPageInternalFiltersListBox::CPPageInternalFiltersListBox(int n, const CArray<filter_t>& filters)
: CCheckListBox()
- , m_n(n)
, m_filters(filters)
+ , m_n(n)
{
for (int i = 0; i < FILTER_TYPE_NB; i++) {
m_nbFiltersPerType[i] = m_nbChecked[i] = 0;
@@ -116,21 +116,25 @@ void CPPageInternalFiltersListBox::UpdateCheckState()
void CPPageInternalFiltersListBox::OnContextMenu(CWnd* pWnd, CPoint point)
{
+ BOOL bOutside;
+
if (point.x == -1 && point.y == -1) {
// The context menu was triggered using the keyboard,
// get the coordinates of the currently selected item.
int iSel = GetCurSel();
CRect r;
- if (iSel != LB_ERR && GetItemRect(iSel, &r) != LB_ERR) {
- point = r.TopLeft();
+ if (GetItemRect(iSel, &r) != LB_ERR) {
+ point.SetPoint(r.left, r.bottom);
+ } else {
+ point.SetPoint(0, 0);
}
+ bOutside = iSel == LB_ERR;
} else {
ScreenToClient(&point);
+ ItemFromPoint(point, bOutside);
}
// Check that we really inside the list
- BOOL bOutside = TRUE;
- ItemFromPoint(point, bOutside);
if (bOutside) {
// Trigger the default behavior
ClientToScreen(&point);
diff --git a/src/mpc-hc/PPageLogo.cpp b/src/mpc-hc/PPageLogo.cpp
index d60fbe10c..7abec235a 100644
--- a/src/mpc-hc/PPageLogo.cpp
+++ b/src/mpc-hc/PPageLogo.cpp
@@ -104,7 +104,9 @@ BOOL CPPageLogo::OnApply()
s.strLogoFileName = m_logofn;
s.nLogoId = m_logoids.GetAt(m_logoidpos);
- ((CMainFrame*)AfxGetMainWnd())->UpdateControlState(CMainFrame::UPDATE_LOGO);
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
+ pMainFrame->UpdateControlState(CMainFrame::UPDATE_LOGO);
+ }
}
return __super::OnApply();
diff --git a/src/mpc-hc/PPageMisc.cpp b/src/mpc-hc/PPageMisc.cpp
index 124dc97c0..dd25a888a 100644
--- a/src/mpc-hc/PPageMisc.cpp
+++ b/src/mpc-hc/PPageMisc.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -25,7 +25,6 @@
#include "moreuuids.h"
#include "PPageMisc.h"
#include <psapi.h>
-#include "WinAPIUtils.h"
// CPPageMisc dialog
@@ -216,9 +215,10 @@ void CPPageMisc::OnUpdateDelayEditBox(CCmdUI* pCmdUI)
void CPPageMisc::OnResetSettings()
{
if (MessageBox(ResStr(IDS_RESET_SETTINGS_WARNING), ResStr(IDS_RESET_SETTINGS), MB_ICONEXCLAMATION | MB_YESNO | MB_DEFBUTTON2) == IDYES) {
- ((CMainFrame*)AfxGetMyApp()->GetMainWnd())->SendMessage(WM_CLOSE);
+ AfxGetAppSettings().SetAsUninitialized(); // Consider the settings as initialized
- ShellExecute(nullptr, _T("open"), GetProgramPath(true), _T("/reset"), nullptr, SW_SHOWNORMAL);
+ // Exit the Options dialog and inform the caller that we want to reset the settings
+ EndDialog(CPPageSheet::RESET_SETTINGS);
}
}
diff --git a/src/mpc-hc/PPageOutput.cpp b/src/mpc-hc/PPageOutput.cpp
index 85ca582d3..737429e70 100644
--- a/src/mpc-hc/PPageOutput.cpp
+++ b/src/mpc-hc/PPageOutput.cpp
@@ -32,6 +32,8 @@
IMPLEMENT_DYNAMIC(CPPageOutput, CPPageBase)
CPPageOutput::CPPageOutput()
: CPPageBase(CPPageOutput::IDD, CPPageOutput::IDD)
+ , m_tick(nullptr)
+ , m_cross(nullptr)
, m_iDSVideoRendererType(VIDRNDT_DS_DEFAULT)
, m_iRMVideoRendererType(VIDRNDT_RM_DEFAULT)
, m_iQTVideoRendererType(VIDRNDT_QT_DEFAULT)
@@ -40,14 +42,12 @@ CPPageOutput::CPPageOutput()
, m_iDX9Resizer(0)
, m_fVMR9MixerMode(FALSE)
, m_fVMR9MixerYUV(FALSE)
+ , m_fD3DFullscreen(FALSE)
, m_fVMR9AlterativeVSync(FALSE)
, m_fResetDevice(FALSE)
, m_iEvrBuffers(_T("5"))
- , m_fD3DFullscreen(FALSE)
, m_fD3D9RenderDevice(FALSE)
, m_iD3D9RenderDevice(-1)
- , m_tick(nullptr)
- , m_cross(nullptr)
{
}
diff --git a/src/mpc-hc/PPagePlayback.cpp b/src/mpc-hc/PPagePlayback.cpp
index 105c3492a..67e58087b 100644
--- a/src/mpc-hc/PPagePlayback.cpp
+++ b/src/mpc-hc/PPagePlayback.cpp
@@ -32,24 +32,22 @@
IMPLEMENT_DYNAMIC(CPPagePlayback, CPPageBase)
CPPagePlayback::CPPagePlayback()
: CPPageBase(CPPagePlayback::IDD, CPPagePlayback::IDD)
+ , m_oldVolume(0)
+ , m_nVolume(0)
+ , m_nBalance(0)
+ , m_nVolumeStep(0)
+ , m_nSpeedStep(0)
, m_iLoopForever(0)
, m_nLoops(0)
, m_iAfterPlayback(0)
, m_iZoomLevel(0)
, m_iRememberZoomLevel(FALSE)
, m_nAutoFitFactor(75)
- , m_nVolume(0)
- , m_oldVolume(0)
- , m_nBalance(0)
, m_fAutoloadAudio(FALSE)
, m_fAutoloadSubtitles(FALSE)
, m_fEnableWorkerThreadForOpening(FALSE)
, m_fReportFailedPins(FALSE)
- , m_subtitlesLanguageOrder(_T(""))
- , m_audiosLanguageOrder(_T(""))
, m_fAllowOverridingExternalSplitterChoice(FALSE)
- , m_nSpeedStep(0)
- , m_nVolumeStep(0)
{
}
@@ -92,6 +90,7 @@ BEGIN_MESSAGE_MAP(CPPagePlayback, CPPageBase)
ON_UPDATE_COMMAND_UI(IDC_EDIT1, OnUpdateLoopNum)
ON_UPDATE_COMMAND_UI(IDC_STATIC1, OnUpdateLoopNum)
ON_UPDATE_COMMAND_UI(IDC_COMBO1, OnUpdateAutoZoomCombo)
+ ON_UPDATE_COMMAND_UI(IDC_COMBO2, OnUpdateAfterPlayback)
ON_UPDATE_COMMAND_UI(IDC_SPEEDSTEP_SPIN, OnUpdateSpeedStep)
ON_UPDATE_COMMAND_UI(IDC_EDIT4, OnUpdateAutoZoomFactor)
ON_UPDATE_COMMAND_UI(IDC_STATIC2, OnUpdateAutoZoomFactor)
@@ -234,6 +233,11 @@ void CPPagePlayback::OnUpdateAutoZoomCombo(CCmdUI* pCmdUI)
pCmdUI->Enable(!!IsDlgButtonChecked(IDC_CHECK5));
}
+void CPPagePlayback::OnUpdateAfterPlayback(CCmdUI* pCmdUI)
+{
+ pCmdUI->Enable(!IsDlgButtonChecked(IDC_RADIO2));
+}
+
void CPPagePlayback::OnUpdateAutoZoomFactor(CCmdUI* pCmdUI)
{
int iZoomLevel = m_zoomlevelctrl.GetCurSel();
diff --git a/src/mpc-hc/PPagePlayback.h b/src/mpc-hc/PPagePlayback.h
index 29381ce9c..eb45c0acb 100644
--- a/src/mpc-hc/PPagePlayback.h
+++ b/src/mpc-hc/PPagePlayback.h
@@ -79,6 +79,7 @@ public:
afx_msg void OnBnClickedRadio12(UINT nID);
afx_msg void OnUpdateLoopNum(CCmdUI* pCmdUI);
afx_msg void OnUpdateAutoZoomCombo(CCmdUI* pCmdUI);
+ afx_msg void OnUpdateAfterPlayback(CCmdUI* pCmdUI);
afx_msg void OnUpdateAutoZoomFactor(CCmdUI* pCmdUI);
afx_msg void OnUpdateISREnabled(CCmdUI* pCmdUI);
afx_msg void OnUpdateSpeedStep(CCmdUI* pCmdUI);
diff --git a/src/mpc-hc/PPagePlayer.cpp b/src/mpc-hc/PPagePlayer.cpp
index d2daae20d..03762d99a 100644
--- a/src/mpc-hc/PPagePlayer.cpp
+++ b/src/mpc-hc/PPagePlayer.cpp
@@ -33,7 +33,6 @@ IMPLEMENT_DYNAMIC(CPPagePlayer, CPPageBase)
CPPagePlayer::CPPagePlayer()
: CPPageBase(CPPagePlayer::IDD, CPPagePlayer::IDD)
, m_iAllowMultipleInst(0)
- , m_fTrayIcon(FALSE)
, m_iTitleBarTextStyle(0)
, m_bTitleBarTextTitle(0)
, m_fRememberWindowPos(FALSE)
@@ -41,6 +40,7 @@ CPPagePlayer::CPPagePlayer()
, m_fSavePnSZoom(FALSE)
, m_fSnapToDesktopEdges(FALSE)
, m_fUseIni(FALSE)
+ , m_fTrayIcon(FALSE)
, m_fKeepHistory(FALSE)
, m_fHideCDROMsSubMenu(FALSE)
, m_priority(FALSE)
diff --git a/src/mpc-hc/PPageSheet.cpp b/src/mpc-hc/PPageSheet.cpp
index 6767f66c4..7a861b7dc 100644
--- a/src/mpc-hc/PPageSheet.cpp
+++ b/src/mpc-hc/PPageSheet.cpp
@@ -30,9 +30,9 @@ IMPLEMENT_DYNAMIC(CPPageSheet, CTreePropSheet)
CPPageSheet::CPPageSheet(LPCTSTR pszCaption, IFilterGraph* pFG, CWnd* pParentWnd, UINT idPage)
: CTreePropSheet(pszCaption, pParentWnd, 0)
- , m_audioswitcher(pFG)
, m_bLockPage(false)
, m_bLanguageChanged(false)
+ , m_audioswitcher(pFG)
{
EventRouter::EventSelection receives;
receives.insert(MpcEvent::CHANGING_UI_LANGUAGE);
@@ -132,10 +132,10 @@ void CPPageSheet::OnApply()
// Execute the default actions first
Default();
- // If the language was changed, we quit the dialog and return IDRETRY code
+ // If the language was changed, we quit the dialog and inform the caller about it
if (m_bLanguageChanged) {
m_bLanguageChanged = false;
- EndDialog(IDRETRY);
+ EndDialog(APPLY_LANGUAGE_CHANGE);
}
}
diff --git a/src/mpc-hc/PPageSheet.h b/src/mpc-hc/PPageSheet.h
index ec46c575e..cc784f9c7 100644
--- a/src/mpc-hc/PPageSheet.h
+++ b/src/mpc-hc/PPageSheet.h
@@ -67,6 +67,12 @@ class CPPageSheet : public TreePropSheet::CTreePropSheet
{
DECLARE_DYNAMIC(CPPageSheet)
+public:
+ enum {
+ APPLY_LANGUAGE_CHANGE = 100, // 100 is a magic number than won't collide with WinAPI constants
+ RESET_SETTINGS
+ };
+
private:
bool m_bLockPage;
bool m_bLanguageChanged;
diff --git a/src/mpc-hc/PPageSubMisc.cpp b/src/mpc-hc/PPageSubMisc.cpp
index f046cf7b9..bd7c9aee3 100644
--- a/src/mpc-hc/PPageSubMisc.cpp
+++ b/src/mpc-hc/PPageSubMisc.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -32,8 +32,6 @@ CPPageSubMisc::CPPageSubMisc()
, m_fPreferDefaultForcedSubtitles(TRUE)
, m_fPrioritizeExternalSubtitles(TRUE)
, m_fDisableInternalSubtitles(FALSE)
- , m_szAutoloadPaths("")
- , m_ISDb(_T(""))
{
}
diff --git a/src/mpc-hc/PPageSubStyle.cpp b/src/mpc-hc/PPageSubStyle.cpp
index 7560e1567..26ce6a4ff 100644
--- a/src/mpc-hc/PPageSubStyle.cpp
+++ b/src/mpc-hc/PPageSubStyle.cpp
@@ -30,6 +30,8 @@
IMPLEMENT_DYNAMIC(CPPageSubStyle, CPPageBase)
CPPageSubStyle::CPPageSubStyle()
: CPPageBase(CPPageSubStyle::IDD, CPPageSubStyle::IDD)
+ , m_stss(AfxGetAppSettings().subtitlesDefStyle)
+ , m_bDefaultStyle(true)
, m_iCharset(0)
, m_spacing(0)
, m_angle(0)
@@ -42,8 +44,6 @@ CPPageSubStyle::CPPageSubStyle()
, m_margin(0, 0, 0, 0)
, m_bLinkAlphaSliders(FALSE)
, m_iRelativeTo(0)
- , m_bDefaultStyle(true)
- , m_stss(AfxGetAppSettings().subtitlesDefStyle)
{
}
@@ -222,7 +222,7 @@ BOOL CPPageSubStyle::OnApply()
if (stss != m_stss) {
stss = m_stss;
- if (auto pMainFrame = dynamic_cast<CMainFrame*>(AfxGetMainWnd())) {
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
pMainFrame->UpdateSubDefaultStyle();
}
}
diff --git a/src/mpc-hc/PPageSubtitles.cpp b/src/mpc-hc/PPageSubtitles.cpp
index 04d2c9e8c..a471a3328 100644
--- a/src/mpc-hc/PPageSubtitles.cpp
+++ b/src/mpc-hc/PPageSubtitles.cpp
@@ -209,7 +209,7 @@ BOOL CPPageSubtitles::OnApply()
if (s.bSubtitleARCompensation != !!m_bSubtitleARCompensation) {
s.bSubtitleARCompensation = !!m_bSubtitleARCompensation;
- if (auto pMainFrame = dynamic_cast<CMainFrame*>(AfxGetMainWnd())) {
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
pMainFrame->UpdateSubAspectRatioCompensation();
}
}
@@ -220,7 +220,7 @@ BOOL CPPageSubtitles::OnApply()
s.fOverridePlacement = !!m_bOverridePlacement;
s.nHorPos = m_nHorPos;
s.nVerPos = m_nVerPos;
- if (auto pMainFrame = dynamic_cast<CMainFrame*>(AfxGetMainWnd())) {
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
pMainFrame->UpdateSubOverridePlacement();
}
}
diff --git a/src/mpc-hc/PPageTweaks.cpp b/src/mpc-hc/PPageTweaks.cpp
index 2dfcb14c9..1f18dfc51 100644
--- a/src/mpc-hc/PPageTweaks.cpp
+++ b/src/mpc-hc/PPageTweaks.cpp
@@ -34,16 +34,16 @@ CPPageTweaks::CPPageTweaks()
, m_nJumpDistS(0)
, m_nJumpDistM(0)
, m_nJumpDistL(0)
- , m_nOSDSize(0)
, m_fNotifySkype(TRUE)
, m_fPreventMinimize(FALSE)
, m_fUseWin7TaskBar(TRUE)
, m_fUseSearchInFolder(FALSE)
- , m_fLCDSupport(FALSE)
- , m_fFastSeek(FALSE)
- , m_fShowChapters(TRUE)
, m_fUseTimeTooltip(TRUE)
, m_bHideWindowedMousePointer(TRUE)
+ , m_nOSDSize(0)
+ , m_fFastSeek(FALSE)
+ , m_fShowChapters(TRUE)
+ , m_fLCDSupport(FALSE)
{
}
@@ -236,7 +236,9 @@ void CPPageTweaks::OnChngOSDCombo()
CString str;
m_nOSDSize = m_FontSize.GetCurSel() + 10;
m_FontType.GetLBText(m_FontType.GetCurSel(), str);
- ((CMainFrame*)AfxGetMainWnd())->m_OSD.DisplayMessage(OSD_TOPLEFT, _T("Test"), 2000, m_nOSDSize, str);
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
+ pMainFrame->m_OSD.DisplayMessage(OSD_TOPLEFT, _T("Test"), 2000, m_nOSDSize, str);
+ }
SetModified();
}
diff --git a/src/mpc-hc/PPageWebServer.cpp b/src/mpc-hc/PPageWebServer.cpp
index 92ec124e1..8be560c34 100644
--- a/src/mpc-hc/PPageWebServer.cpp
+++ b/src/mpc-hc/PPageWebServer.cpp
@@ -24,7 +24,7 @@
#include "MainFrm.h"
#include "PPageWebServer.h"
#include "SysVersion.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include <afxglobals.h>
@@ -38,11 +38,8 @@ CPPageWebServer::CPPageWebServer()
, m_launch(_T("http://localhost:13579/"))
, m_fWebServerPrintDebugInfo(FALSE)
, m_fWebServerUseCompression(FALSE)
- , m_fWebRoot(FALSE)
- , m_WebRoot(_T(""))
, m_fWebServerLocalhostOnly(FALSE)
- , m_WebServerCGI(_T(""))
- , m_WebDefIndex(_T(""))
+ , m_fWebRoot(FALSE)
{
}
@@ -71,14 +68,10 @@ BOOL CPPageWebServer::PreTranslateMessage(MSG* pMsg)
if (pMsg->message == WM_LBUTTONDOWN && pMsg->hwnd == m_launch.m_hWnd) {
UpdateData();
- const CAppSettings& s = AfxGetAppSettings();
-
- if (CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd()) {
- if (m_fEnableWebServer) {
- if (s.nWebServerPort != m_nWebServerPort) {
- AfxMessageBox(IDS_WEBSERVER_ERROR_TEST, MB_ICONEXCLAMATION | MB_OK, 0);
- return TRUE;
- }
+ if (m_fEnableWebServer) {
+ if (AfxGetAppSettings().nWebServerPort != m_nWebServerPort) {
+ AfxMessageBox(IDS_WEBSERVER_ERROR_TEST, MB_ICONEXCLAMATION | MB_OK, 0);
+ return TRUE;
}
}
}
@@ -136,14 +129,14 @@ BOOL CPPageWebServer::OnApply()
s.strWebDefIndex = m_WebDefIndex;
s.strWebServerCGI = m_WebServerCGI;
- if (CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd()) {
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
if (m_fEnableWebServer) {
if (fRestart) {
- pWnd->StopWebServer();
+ pMainFrame->StopWebServer();
}
- pWnd->StartWebServer(m_nWebServerPort);
+ pMainFrame->StartWebServer(m_nWebServerPort);
} else {
- pWnd->StopWebServer();
+ pMainFrame->StopWebServer();
}
}
@@ -159,7 +152,7 @@ CString CPPageWebServer::GetCurWebRoot()
WebRoot.Replace('/', '\\');
CPath path;
- path.Combine(GetProgramPath(), WebRoot);
+ path.Combine(PathUtils::GetProgramPath(), WebRoot);
return path.IsDirectory() ? (LPCTSTR)path : _T("");
}
@@ -248,7 +241,7 @@ void CPPageWebServer::OnBnClickedButton1()
CString dir = GetCurWebRoot();
if (PickDir(dir)) {
CPath path;
- if (path.RelativePathTo(GetProgramPath(), FILE_ATTRIBUTE_DIRECTORY, dir, FILE_ATTRIBUTE_DIRECTORY)) {
+ if (path.RelativePathTo(PathUtils::GetProgramPath(), FILE_ATTRIBUTE_DIRECTORY, dir, FILE_ATTRIBUTE_DIRECTORY)) {
dir = (LPCTSTR)path;
}
m_WebRoot = dir;
diff --git a/src/mpc-hc/PlayerBar.cpp b/src/mpc-hc/PlayerBar.cpp
index 010c46741..47ae1c592 100644
--- a/src/mpc-hc/PlayerBar.cpp
+++ b/src/mpc-hc/PlayerBar.cpp
@@ -24,9 +24,9 @@
IMPLEMENT_DYNAMIC(CPlayerBar, CSizingControlBarG)
CPlayerBar::CPlayerBar()
- : m_defDockBarID(0)
- , m_bAutohidden(false)
+ : m_bAutohidden(false)
, m_bHasActivePopup(false)
+ , m_defDockBarID(0)
{
EventRouter::EventSelection receives;
receives.insert(MpcEvent::CHANGING_UI_LANGUAGE);
diff --git a/src/mpc-hc/PlayerCaptureBar.cpp b/src/mpc-hc/PlayerCaptureBar.cpp
index 01a4cbb0f..4952b23a8 100644
--- a/src/mpc-hc/PlayerCaptureBar.cpp
+++ b/src/mpc-hc/PlayerCaptureBar.cpp
@@ -28,7 +28,8 @@
// CPlayerCaptureBar
IMPLEMENT_DYNAMIC(CPlayerCaptureBar, CPlayerBar)
-CPlayerCaptureBar::CPlayerCaptureBar()
+CPlayerCaptureBar::CPlayerCaptureBar(CMainFrame* pMainFrame)
+ : m_capdlg(pMainFrame)
{
}
diff --git a/src/mpc-hc/PlayerCaptureBar.h b/src/mpc-hc/PlayerCaptureBar.h
index 670dd1cc7..215b051cd 100644
--- a/src/mpc-hc/PlayerCaptureBar.h
+++ b/src/mpc-hc/PlayerCaptureBar.h
@@ -33,7 +33,7 @@ class CPlayerCaptureBar : public CPlayerBar
public:
CPlayerCaptureDialog m_capdlg;
- CPlayerCaptureBar();
+ CPlayerCaptureBar(CMainFrame* pMainFrame);
virtual ~CPlayerCaptureBar();
BOOL Create(CWnd* pParentWnd, UINT defDockBarID);
diff --git a/src/mpc-hc/PlayerCaptureDialog.cpp b/src/mpc-hc/PlayerCaptureDialog.cpp
index a71ec981f..52634979a 100644
--- a/src/mpc-hc/PlayerCaptureDialog.cpp
+++ b/src/mpc-hc/PlayerCaptureDialog.cpp
@@ -272,11 +272,8 @@ static void SetupMediaTypes(IAMStreamConfig* pAMSC, CFormatArray<T>& tfa, CCombo
if (mtCap.formattype == FORMAT_VideoInfo) {
VIDEOINFOHEADER* vih = (VIDEOINFOHEADER*)mtCap.pbFormat;
- if (!vih->bmiHeader.biHeight) {
- vih->bmiHeader.biHeight = 1;
- }
vih->bmiHeader.biWidth = presets[j].cx;
- vih->bmiHeader.biHeight = presets[j].cy * (vih->bmiHeader.biHeight / vih->bmiHeader.biHeight);
+ vih->bmiHeader.biHeight = presets[j].cy * (vih->bmiHeader.biHeight < 0 ? -1 : 1);
vih->bmiHeader.biSizeImage = presets[j].cx * presets[j].cy * vih->bmiHeader.biBitCount >> 3;
AM_MEDIA_TYPE* pmt = (AM_MEDIA_TYPE*)CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE));
@@ -303,11 +300,8 @@ static void SetupMediaTypes(IAMStreamConfig* pAMSC, CFormatArray<T>& tfa, CCombo
}
} else if (mtCap.formattype == FORMAT_VideoInfo2) {
VIDEOINFOHEADER2* vih2 = (VIDEOINFOHEADER2*)mtCap.pbFormat;
- if (!vih2->bmiHeader.biHeight) {
- vih2->bmiHeader.biHeight = 1;
- }
vih2->bmiHeader.biWidth = presets[j].cx;
- vih2->bmiHeader.biHeight = presets[j].cy * (vih2->bmiHeader.biHeight / vih2->bmiHeader.biHeight);
+ vih2->bmiHeader.biHeight = presets[j].cy * (vih2->bmiHeader.biHeight < 0 ? -1 : 1);
vih2->bmiHeader.biSizeImage = presets[j].cx * presets[j].cy * vih2->bmiHeader.biBitCount >> 3;
vih2->dwPictAspectRatioX = 4;
vih2->dwPictAspectRatioY = 3;
@@ -519,22 +513,23 @@ static int ShowPPage(CAtlArray<Codec>& codecs, const CComboBox& box, HWND hWnd =
// CPlayerCaptureDialog dialog
//IMPLEMENT_DYNAMIC(CPlayerCaptureDialog, CResizableDialog)
-CPlayerCaptureDialog::CPlayerCaptureDialog()
+CPlayerCaptureDialog::CPlayerCaptureDialog(CMainFrame* pMainFrame)
: CResizableDialog(CPlayerCaptureDialog::IDD, nullptr)
+ , m_pMainFrame(pMainFrame)
, m_bInitialized(false)
, m_vidfps(0)
+ , m_nVidBuffers(0)
+ , m_nAudBuffers(0)
+ , m_nRecordTimerID(0)
+ , m_fSepAudio(FALSE)
+ , m_muxtype(0)
+ , m_fEnableOgm(FALSE)
, m_fVidOutput(TRUE)
- , m_fAudOutput(TRUE)
, m_fVidPreview(FALSE)
+ , m_fAudOutput(TRUE)
, m_fAudPreview(FALSE)
- , m_fEnableOgm(FALSE)
- , m_nVidBuffers(0)
- , m_nAudBuffers(0)
, m_pVidBuffer(nullptr)
, m_pAudBuffer(nullptr)
- , m_fSepAudio(FALSE)
- , m_muxtype(0)
- , m_nRecordTimerID(0)
{
EmptyVideo();
EmptyAudio();
@@ -939,7 +934,7 @@ void CPlayerCaptureDialog::UpdateGraph()
{
UpdateMediaTypes();
- ((CMainFrame*)AfxGetMainWnd())->BuildGraphVideoAudio(m_fVidPreview, false, m_fAudPreview, false);
+ m_pMainFrame->BuildGraphVideoAudio(m_fVidPreview, false, m_fAudPreview, false);
UpdateUserDefinableControls();
}
@@ -1406,9 +1401,9 @@ void CPlayerCaptureDialog::OnVideoInput()
HRESULT hr = m_pAMVfwCD->ShowDialog(iSel, m_hWnd);
if (VFW_E_NOT_STOPPED == hr) {
- ((CMainFrame*)AfxGetMainWnd())->SendMessage(WM_COMMAND, ID_PLAY_STOP);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_PLAY_STOP);
hr = m_pAMVfwCD->ShowDialog(iSel, m_hWnd);
- ((CMainFrame*)AfxGetMainWnd())->SendMessage(WM_COMMAND, ID_PLAY_PLAY);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_PLAY_PLAY);
}
if (VFW_E_CANNOT_CONNECT == hr) {
@@ -1590,12 +1585,7 @@ void CPlayerCaptureDialog::OnRecord()
{
UpdateData();
- CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
- if (!pFrame) {
- return;
- }
-
- if (!pFrame->m_fCapturing) {
+ if (!m_pMainFrame->m_fCapturing) {
UpdateMuxer();
CComQIPtr<IFileSinkFilter2> pFSF = m_pMux;
@@ -1654,14 +1644,14 @@ void CPlayerCaptureDialog::OnRecord()
EnableControls(this, false);
- pFrame->StartCapture();
+ m_pMainFrame->StartCapture();
m_nRecordTimerID = SetTimer(1, 100, nullptr);
} else {
KillTimer(m_nRecordTimerID);
m_nRecordTimerID = 0;
- pFrame->StopCapture();
+ m_pMainFrame->StopCapture();
EnableControls(this, true);
m_pVidBuffer = nullptr;
@@ -1684,7 +1674,7 @@ void CPlayerCaptureDialog::OnChangeAudioBuffers()
void CPlayerCaptureDialog::OnTimer(UINT_PTR nIDEvent)
{
if (nIDEvent == m_nRecordTimerID) {
- if (((CMainFrame*)AfxGetMainWnd())->m_fCapturing) {
+ if (m_pMainFrame->m_fCapturing) {
ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
if (GetDiskFreeSpaceEx(m_file.Left(m_file.ReverseFind('\\') + 1), &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes)
&& FreeBytesAvailable.QuadPart < 1024i64 * 1024 * 10) {
diff --git a/src/mpc-hc/PlayerCaptureDialog.h b/src/mpc-hc/PlayerCaptureDialog.h
index e13264266..49c887820 100644
--- a/src/mpc-hc/PlayerCaptureDialog.h
+++ b/src/mpc-hc/PlayerCaptureDialog.h
@@ -353,6 +353,7 @@ class CPlayerCaptureDialog : public CResizableDialog
//DECLARE_DYNAMIC(CPlayerCaptureDialog)
private:
+ CMainFrame* m_pMainFrame;
bool m_bInitialized;
CComboBox m_vidinput;
@@ -437,7 +438,7 @@ public:
CComPtr<IBaseFilter> m_pVidEnc, m_pAudEnc, m_pMux, m_pDst, m_pAudMux, m_pAudDst;
CComPtr<IBaseFilter> m_pVidBuffer, m_pAudBuffer;
- CPlayerCaptureDialog();
+ CPlayerCaptureDialog(CMainFrame* pMainFrame);
virtual ~CPlayerCaptureDialog();
BOOL Create(CWnd* pParent = nullptr);
diff --git a/src/mpc-hc/PlayerListCtrl.cpp b/src/mpc-hc/PlayerListCtrl.cpp
index 44dac0a74..e008612f4 100644
--- a/src/mpc-hc/PlayerListCtrl.cpp
+++ b/src/mpc-hc/PlayerListCtrl.cpp
@@ -28,9 +28,9 @@
// CInPlaceHotKey
CInPlaceWinHotkey::CInPlaceWinHotkey(int iItem, int iSubItem, CString sInitText)
- : m_sInitText(sInitText)
- , m_iItem(iItem)
+ : m_iItem(iItem)
, m_iSubItem(iSubItem)
+ , m_sInitText(sInitText)
, m_bESC(FALSE)
{
}
@@ -124,9 +124,9 @@ int CInPlaceWinHotkey::OnCreate(LPCREATESTRUCT lpCreateStruct)
// CInPlaceEdit
CInPlaceEdit::CInPlaceEdit(int iItem, int iSubItem, CString sInitText)
- : m_sInitText(sInitText)
- , m_iItem(iItem)
+ : m_iItem(iItem)
, m_iSubItem(iSubItem)
+ , m_sInitText(sInitText)
, m_bESC(FALSE)
{
}
@@ -485,10 +485,10 @@ void CInPlaceListBox::OnNcDestroy()
IMPLEMENT_DYNAMIC(CPlayerListCtrl, CListCtrl)
CPlayerListCtrl::CPlayerListCtrl(int tStartEditingDelay)
- : m_tStartEditingDelay(tStartEditingDelay)
- , m_nTimerID(0)
- , m_nItemClicked(-1)
+ : m_nItemClicked(-1)
, m_nSubItemClicked(-1)
+ , m_tStartEditingDelay(tStartEditingDelay)
+ , m_nTimerID(0)
, m_fInPlaceDirty(false)
{
}
diff --git a/src/mpc-hc/PlayerNavigationBar.cpp b/src/mpc-hc/PlayerNavigationBar.cpp
index 2cab46cb5..04c21e4ed 100644
--- a/src/mpc-hc/PlayerNavigationBar.cpp
+++ b/src/mpc-hc/PlayerNavigationBar.cpp
@@ -19,11 +19,9 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
-#include "MainFrm.h"
#include "PlayerNavigationBar.h"
-#include <afxwin.h>
-
+#include "DSUtil.h"
+#include "mplayerc.h"
// CPlayerNavigationBar
@@ -34,10 +32,6 @@ CPlayerNavigationBar::CPlayerNavigationBar(CMainFrame* pMainFrame)
{
}
-CPlayerNavigationBar::~CPlayerNavigationBar()
-{
-}
-
BOOL CPlayerNavigationBar::Create(CWnd* pParentWnd, UINT defDockBarID)
{
if (!CPlayerBar::Create(ResStr(IDS_NAVIGATION_BAR), pParentWnd, ID_VIEW_NAVIGATION, defDockBarID, _T("Navigation Bar"))) {
diff --git a/src/mpc-hc/PlayerNavigationBar.h b/src/mpc-hc/PlayerNavigationBar.h
index 9b56569fd..92f9c616a 100644
--- a/src/mpc-hc/PlayerNavigationBar.h
+++ b/src/mpc-hc/PlayerNavigationBar.h
@@ -37,8 +37,9 @@ private:
public:
CPlayerNavigationDialog m_navdlg;
- CPlayerNavigationBar(CMainFrame* pMainFrame);
- virtual ~CPlayerNavigationBar();
+ CPlayerNavigationBar() = delete;
+ explicit CPlayerNavigationBar(CMainFrame* pMainFrame);
+ virtual ~CPlayerNavigationBar() = default;
BOOL Create(CWnd* pParentWnd, UINT defDockBarID);
virtual void ReloadTranslatableResources();
diff --git a/src/mpc-hc/PlayerNavigationDialog.cpp b/src/mpc-hc/PlayerNavigationDialog.cpp
index ac50d5acd..a7b2f42ba 100644
--- a/src/mpc-hc/PlayerNavigationDialog.cpp
+++ b/src/mpc-hc/PlayerNavigationDialog.cpp
@@ -19,28 +19,19 @@
*/
#include "stdafx.h"
-#include "mplayerc.h"
-#include "MainFrm.h"
#include "PlayerNavigationDialog.h"
#include "DSUtil.h"
-#include "moreuuids.h"
-
+#include "mplayerc.h"
+#include "MainFrm.h"
// CPlayerNavigationDialog dialog
-#pragma warning(push)
-#pragma warning(disable: 4351) // new behavior: elements of array 'array' will be default initialized
// IMPLEMENT_DYNAMIC(CPlayerNavigationDialog, CResizableDialog)
CPlayerNavigationDialog::CPlayerNavigationDialog(CMainFrame* pMainFrame)
: CResizableDialog(CPlayerNavigationDialog::IDD, nullptr)
, m_pMainFrame(pMainFrame)
+ , m_bChannelInfoAvailable(false)
, m_bTVStations(true)
- , p_nItems()
-{
-}
-#pragma warning(pop)
-
-CPlayerNavigationDialog::~CPlayerNavigationDialog()
{
}
@@ -61,10 +52,9 @@ BOOL CPlayerNavigationDialog::Create(CWnd* pParent)
void CPlayerNavigationDialog::DoDataExchange(CDataExchange* pDX)
{
__super::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_LISTCHANNELS, m_ChannelList);
- DDX_Control(pDX, IDC_NAVIGATION_INFO, m_ButtonInfo);
- DDX_Control(pDX, IDC_NAVIGATION_SCAN, m_ButtonScan);
- DDX_Control(pDX, IDC_NAVIGATION_FILTERSTATIONS, m_ButtonFilterStations);
+ DDX_Control(pDX, IDC_LISTCHANNELS, m_channelList);
+ DDX_Control(pDX, IDC_NAVIGATION_INFO, m_buttonInfo);
+ DDX_Control(pDX, IDC_NAVIGATION_FILTERSTATIONS, m_buttonFilterStations);
}
BOOL CPlayerNavigationDialog::PreTranslateMessage(MSG* pMsg)
@@ -72,7 +62,7 @@ BOOL CPlayerNavigationDialog::PreTranslateMessage(MSG* pMsg)
if (pMsg->message == WM_KEYDOWN) {
if (pMsg->wParam == VK_RETURN) {
CWnd* pFocused = GetFocus();
- if (pFocused && pFocused->m_hWnd == m_ChannelList.m_hWnd) {
+ if (pFocused && pFocused->m_hWnd == m_channelList.m_hWnd) {
return TRUE;
}
}
@@ -82,8 +72,10 @@ BOOL CPlayerNavigationDialog::PreTranslateMessage(MSG* pMsg)
BEGIN_MESSAGE_MAP(CPlayerNavigationDialog, CResizableDialog)
ON_WM_DESTROY()
+ ON_WM_CONTEXTMENU()
ON_LBN_SELCHANGE(IDC_LISTCHANNELS, OnChangeChannel)
- ON_BN_CLICKED(IDC_NAVIGATION_INFO, OnButtonInfo)
+ ON_BN_CLICKED(IDC_NAVIGATION_INFO, OnShowChannelInfo)
+ ON_UPDATE_COMMAND_UI(IDC_NAVIGATION_INFO, OnUpdateShowChannelInfoButton)
ON_BN_CLICKED(IDC_NAVIGATION_SCAN, OnTunerScan)
ON_BN_CLICKED(IDC_NAVIGATION_FILTERSTATIONS, OnTvRadioStations)
END_MESSAGE_MAP()
@@ -96,9 +88,9 @@ BOOL CPlayerNavigationDialog::OnInitDialog()
__super::OnInitDialog();
if (m_bTVStations) {
- m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
+ m_buttonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
} else {
- m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEETV));
+ m_buttonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEETV));
}
return TRUE; // return TRUE unless you set the focus to a control
@@ -107,36 +99,33 @@ BOOL CPlayerNavigationDialog::OnInitDialog()
void CPlayerNavigationDialog::OnDestroy()
{
- m_ChannelList.ResetContent();
+ m_channelList.ResetContent();
__super::OnDestroy();
}
void CPlayerNavigationDialog::OnChangeChannel()
{
- int nItem = p_nItems[m_ChannelList.GetCurSel()] + ID_NAVIGATE_JUMPTO_SUBITEM_START;
- m_pMainFrame->OnNavigateJumpTo(nItem);
+ int nItem = m_channelList.GetCurSel();
+ if (nItem != LB_ERR) {
+ UINT nChannelID = (UINT)m_channelList.GetItemData(nItem) + ID_NAVIGATE_JUMPTO_SUBITEM_START;
+ m_pMainFrame->OnNavigateJumpTo(nChannelID);
+ }
}
void CPlayerNavigationDialog::UpdateElementList()
{
- const CAppSettings& s = AfxGetAppSettings();
-
if (m_pMainFrame->GetPlaybackMode() == PM_DIGITAL_CAPTURE) {
- m_ChannelList.ResetContent();
-
- int nCurrentChannel = s.nDVBLastChannel;
- POSITION pos = s.m_DVBChannels.GetHeadPosition();
-
- while (pos) {
- const CDVBChannel& channel = s.m_DVBChannels.GetNext(pos);
- if (((m_bTVStations && channel.GetVideoPID() != 0) ||
- (!m_bTVStations && channel.GetVideoPID() == 0)) && channel.GetAudioCount() > 0) {
- int nItem = m_ChannelList.AddString(channel.GetName());
- if (nItem < MAX_CHANNELS_ALLOWED) {
- p_nItems [nItem] = channel.GetPrefNumber();
- }
- if (nCurrentChannel == channel.GetPrefNumber()) {
- m_ChannelList.SetCurSel(nItem);
+ const auto& s = AfxGetAppSettings();
+ m_channelList.ResetContent();
+
+ for (const auto& channel : s.m_DVBChannels) {
+ if (channel.GetAudioCount() && (m_bTVStations && channel.GetVideoPID() || !m_bTVStations && !channel.GetVideoPID())) {
+ int nItem = m_channelList.AddString(channel.GetName());
+ if (nItem != LB_ERR) {
+ m_channelList.SetItemData(nItem, (DWORD_PTR)channel.GetPrefNumber());
+ if (s.nDVBLastChannel == channel.GetPrefNumber()) {
+ m_channelList.SetCurSel(nItem);
+ }
}
}
}
@@ -145,23 +134,33 @@ void CPlayerNavigationDialog::UpdateElementList()
void CPlayerNavigationDialog::UpdatePos(int nID)
{
- for (int i = 0; i < MAX_CHANNELS_ALLOWED; i++) {
- if (p_nItems [i] == nID) {
- m_ChannelList.SetCurSel(i);
+ for (int i = 0, count = m_channelList.GetCount(); i < count; i++) {
+ if ((int)m_channelList.GetItemData(i) == nID) {
+ m_channelList.SetCurSel(i);
break;
}
}
}
+void CPlayerNavigationDialog::SetChannelInfoAvailable(bool bAvailable)
+{
+ m_bChannelInfoAvailable = bAvailable;
+}
+
void CPlayerNavigationDialog::OnTunerScan()
{
m_pMainFrame->OnTunerScan();
UpdateElementList();
}
-void CPlayerNavigationDialog::OnButtonInfo()
+void CPlayerNavigationDialog::OnShowChannelInfo()
+{
+ m_pMainFrame->UpdateCurrentChannelInfo(true, true);
+}
+
+void CPlayerNavigationDialog::OnUpdateShowChannelInfoButton(CCmdUI* pCmdUI)
{
- m_pMainFrame->ShowCurrentChannelInfo(true, true);
+ pCmdUI->Enable(m_bChannelInfoAvailable);
}
void CPlayerNavigationDialog::OnTvRadioStations()
@@ -170,8 +169,167 @@ void CPlayerNavigationDialog::OnTvRadioStations()
UpdateElementList();
if (m_bTVStations) {
- m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
+ m_buttonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEERADIO));
} else {
- m_ButtonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEETV));
+ m_buttonFilterStations.SetWindowText(ResStr(IDS_DVB_TVNAV_SEETV));
}
}
+
+void CPlayerNavigationDialog::OnContextMenu(CWnd* pWnd, CPoint point)
+{
+ auto& s = AfxGetAppSettings();
+ BOOL bOutside;
+ int nItem;
+ const int curSel = m_channelList.GetCurSel();
+ const int channelCount = m_channelList.GetCount();
+
+ if (point.x == -1 && point.y == -1) {
+ CRect r;
+ if (m_channelList.GetItemRect(curSel, r) != LB_ERR) {
+ point.SetPoint(r.left, r.bottom);
+ } else {
+ point.SetPoint(0, 0);
+ }
+ m_channelList.ClientToScreen(&point);
+ nItem = curSel;
+ bOutside = nItem == LB_ERR;
+ } else {
+ CPoint clientPoint = point;
+ m_channelList.ScreenToClient(&clientPoint);
+ nItem = (int)m_channelList.ItemFromPoint(clientPoint, bOutside);
+ }
+
+ CMenu m;
+ m.CreatePopupMenu();
+
+ enum {
+ M_WATCH = 1,
+ M_MOVE_UP,
+ M_MOVE_DOWN,
+ M_SORT,
+ M_REMOVE,
+ M_REMOVE_ALL
+ };
+
+ auto findChannelByItemNumber = [this](std::vector<CDVBChannel>& c, int nItem) {
+ int nPrefNumber = (int)m_channelList.GetItemData(nItem);
+ return find_if(c.begin(), c.end(), [&](CDVBChannel const & channel) {
+ return channel.GetPrefNumber() == nPrefNumber;
+ });
+ };
+
+ auto swapChannels = [&](int n1, int n2) {
+ auto it1 = findChannelByItemNumber(s.m_DVBChannels, n1);
+ auto it2 = findChannelByItemNumber(s.m_DVBChannels, n2);
+ int nPrefNumber1 = it1->GetPrefNumber(), nPrefNumber2 = it2->GetPrefNumber();
+ // Make sure the current channel number is updated if swapping the channel is going to change it
+ if (nPrefNumber1 == s.nDVBLastChannel) {
+ s.nDVBLastChannel = nPrefNumber2;
+ } else if (nPrefNumber2 == s.nDVBLastChannel) {
+ s.nDVBLastChannel = nPrefNumber1;
+ }
+ // The preferred number shouldn't be swapped so we swap it twice for no-op
+ it1->SetPrefNumber(nPrefNumber2);
+ it2->SetPrefNumber(nPrefNumber1);
+ // Actually swap the channels
+ iter_swap(it1, it2);
+ };
+
+ if (!bOutside) {
+ m_channelList.SetCurSel(nItem);
+
+ m.AppendMenu(MF_STRING | (curSel != nItem ? MF_ENABLED : (MF_DISABLED | MF_GRAYED)), M_WATCH, ResStr(IDS_NAVIGATION_WATCH));
+ m.AppendMenu(MF_SEPARATOR);
+ m.AppendMenu(MF_STRING | (nItem == 0 ? (MF_DISABLED | MF_GRAYED) : MF_ENABLED), M_MOVE_UP, ResStr(IDS_NAVIGATION_MOVE_UP));
+ m.AppendMenu(MF_STRING | (nItem == channelCount - 1 ? (MF_DISABLED | MF_GRAYED) : MF_ENABLED), M_MOVE_DOWN, ResStr(IDS_NAVIGATION_MOVE_DOWN));
+ }
+ m.AppendMenu(MF_STRING | (channelCount > 1 ? MF_ENABLED : (MF_DISABLED | MF_GRAYED)), M_SORT, ResStr(IDS_NAVIGATION_SORT));
+ m.AppendMenu(MF_SEPARATOR);
+ if (!bOutside) {
+ m.AppendMenu(MF_STRING | MF_ENABLED, M_REMOVE, ResStr(IDS_PLAYLIST_REMOVE));
+ }
+ m.AppendMenu(MF_STRING | (channelCount > 0 ? MF_ENABLED : (MF_DISABLED | MF_GRAYED)), M_REMOVE_ALL, ResStr(IDS_NAVIGATION_REMOVE_ALL));
+
+ int nID = (int)m.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RETURNCMD, point.x, point.y, this);
+
+ try {
+ switch (nID) {
+ case M_WATCH:
+ OnChangeChannel();
+ break;
+ case M_MOVE_UP:
+ swapChannels(nItem, nItem - 1);
+ UpdateElementList();
+ break;
+ case M_MOVE_DOWN:
+ swapChannels(nItem, nItem + 1);
+ UpdateElementList();
+ break;
+ case M_SORT: {
+ sort(s.m_DVBChannels.begin(), s.m_DVBChannels.end());
+ // Update the preferred numbers
+ int nPrefNumber = 0;
+ int nDVBLastChannel = s.nDVBLastChannel;
+ for (auto& channel : s.m_DVBChannels) {
+ // Make sure the current channel number will be updated
+ if (channel.GetPrefNumber() == s.nDVBLastChannel) {
+ nDVBLastChannel = nPrefNumber;
+ }
+ channel.SetPrefNumber(nPrefNumber++);
+ }
+ s.nDVBLastChannel = nDVBLastChannel;
+ UpdateElementList();
+ break;
+ }
+ case M_REMOVE: {
+ const auto it = findChannelByItemNumber(s.m_DVBChannels, nItem);
+ const int nRemovedPrefNumber = it->GetPrefNumber();
+ s.m_DVBChannels.erase(it);
+ // Update channels pref number
+ for (CDVBChannel& channel : s.m_DVBChannels) {
+ const int nPrefNumber = channel.GetPrefNumber();
+ ASSERT(nPrefNumber != nRemovedPrefNumber);
+ if (nPrefNumber > nRemovedPrefNumber) {
+ channel.SetPrefNumber(nPrefNumber - 1);
+ }
+ }
+ UpdateElementList();
+
+ int newCurSel = curSel;
+ if ((newCurSel >= nItem) && (channelCount - 1 == nItem || newCurSel > nItem)) {
+ --newCurSel;
+ }
+
+ const auto newChannelIt = findChannelByItemNumber(s.m_DVBChannels, newCurSel);
+ if (newChannelIt != s.m_DVBChannels.end()) {
+ // Update pref number of the current channel
+ s.nDVBLastChannel = newChannelIt->GetPrefNumber();
+ m_channelList.SetCurSel(newCurSel);
+ if (curSel == nItem) {
+ // Set closest channel on list after removing current channel
+ m_pMainFrame->SetChannel(s.nDVBLastChannel);
+ }
+ } else { // The last channel was removed
+ s.nDVBLastChannel = INT_ERROR;
+ }
+ }
+ break;
+ case M_REMOVE_ALL:
+ if (IDYES == AfxMessageBox(IDS_REMOVE_CHANNELS_QUESTION, MB_ICONQUESTION | MB_YESNO, 0)) {
+ s.m_DVBChannels.clear();
+ s.nDVBLastChannel = INT_ERROR;
+ UpdateElementList();
+ }
+ break;
+ default:
+ m_channelList.SetCurSel(curSel);
+ break;
+ }
+ } catch (std::exception& e) {
+ UNREFERENCED_PARAMETER(e);
+ TRACE(_T("Navigation Dialog requested operation failed: \"%s\""), e.what());
+ UpdateElementList();
+ ASSERT(FALSE);
+ }
+}
+
diff --git a/src/mpc-hc/PlayerNavigationDialog.h b/src/mpc-hc/PlayerNavigationDialog.h
index 2c5501e2b..020fce6f5 100644
--- a/src/mpc-hc/PlayerNavigationDialog.h
+++ b/src/mpc-hc/PlayerNavigationDialog.h
@@ -1,5 +1,5 @@
/*
- * (C) 2010-2013 see Authors.txt
+ * (C) 2010-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -20,39 +20,37 @@
#pragma once
-#include <afxwin.h>
-#include <afxcmn.h>
-#include "../filters/transform/BufferFilter/BufferFilter.h"
-#include "FloatEdit.h"
-#include "DVBChannel.h"
+#include <atlcoll.h>
#include "resource.h"
#include "ResizableLib/ResizableDialog.h"
-#define MAX_CHANNELS_ALLOWED 200
-
class CMainFrame;
class CPlayerNavigationDialog : public CResizableDialog
{
+private:
+ CListBox m_channelList;
+ CButton m_buttonInfo;
+ CButton m_buttonFilterStations;
+
+ CMainFrame* m_pMainFrame;
+ bool m_bChannelInfoAvailable;
+ bool m_bTVStations;
+
public:
+ CPlayerNavigationDialog() = delete;
CPlayerNavigationDialog(CMainFrame* pMainFrame);
- virtual ~CPlayerNavigationDialog();
+ virtual ~CPlayerNavigationDialog() = default;
BOOL Create(CWnd* pParent = nullptr);
- void UpdateElementList();
- void UpdatePos(int nID);
- int p_nItems[MAX_CHANNELS_ALLOWED];
- bool m_bTVStations;
// Dialog Data
enum { IDD = IDD_NAVIGATION_DLG };
- CMainFrame* m_pMainFrame;
+ void UpdateElementList();
+ void UpdatePos(int nID);
- CListBox m_ChannelList;
- CButton m_ButtonInfo;
- CButton m_ButtonScan;
- CButton m_ButtonFilterStations;
+ void SetChannelInfoAvailable(bool bAvailable);
protected:
virtual void DoDataExchange(CDataExchange* pDX);
@@ -64,6 +62,8 @@ protected:
afx_msg void OnDestroy();
afx_msg void OnChangeChannel();
afx_msg void OnTunerScan();
- afx_msg void OnButtonInfo();
+ afx_msg void OnShowChannelInfo();
+ afx_msg void OnUpdateShowChannelInfoButton(CCmdUI* pCmdUI);
afx_msg void OnTvRadioStations();
+ afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
};
diff --git a/src/mpc-hc/PlayerPlaylistBar.cpp b/src/mpc-hc/PlayerPlaylistBar.cpp
index e630ae550..368fa6483 100644
--- a/src/mpc-hc/PlayerPlaylistBar.cpp
+++ b/src/mpc-hc/PlayerPlaylistBar.cpp
@@ -37,11 +37,11 @@ IMPLEMENT_DYNAMIC(CPlayerPlaylistBar, CPlayerBar)
CPlayerPlaylistBar::CPlayerPlaylistBar(CMainFrame* pMainFrame)
: m_pMainFrame(pMainFrame)
, m_list(0)
+ , m_nTimeColWidth(0)
, m_pDragImage(nullptr)
+ , m_bDragging(FALSE)
, m_nDragIndex(0)
, m_nDropIndex(0)
- , m_nTimeColWidth(0)
- , m_bDragging(FALSE)
, m_bHiddenDueToFullscreen(false)
{
}
@@ -832,18 +832,16 @@ bool CPlayerPlaylistBar::SelectFileInPlaylist(LPCTSTR filename)
bool CPlayerPlaylistBar::DeleteFileInPlaylist(POSITION pos, bool recycle)
{
- CMainFrame* pMainFrm = (CMainFrame*)AfxGetMainWnd();
-
// release the file handle by changing to the next item or stopping playback
if (pos == m_pl.GetPos()) {
if (m_pl.GetCount() > 1) {
- pMainFrm->OnNavigateSkipFile(ID_NAVIGATE_SKIPFORWARDFILE);
+ m_pMainFrame->OnNavigateSkipFile(ID_NAVIGATE_SKIPFORWARDFILE);
} else {
- pMainFrm->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
}
- if (SUCCEEDED(FileDelete(m_pl.GetAt(pos).m_fns.GetHead(), pMainFrm->m_hWnd, recycle))) {
+ if (SUCCEEDED(FileDelete(m_pl.GetAt(pos).m_fns.GetHead(), m_pMainFrame->m_hWnd, recycle))) {
m_list.DeleteItem(FindItem(pos));
m_pl.RemoveAt(pos);
SavePlaylist();
@@ -882,7 +880,7 @@ void CPlayerPlaylistBar::SavePlaylist()
if (AfxGetAppSettings().bRememberPlaylistItems) {
// Only create this folder when needed
- if (!::PathFileExists(base)) {
+ if (!PathUtils::Exists(base)) {
::CreateDirectory(base, nullptr);
}
@@ -963,7 +961,7 @@ void CPlayerPlaylistBar::OnLvnKeyDown(NMHDR* pNMHDR, LRESULT* pResult)
while (pos) {
int i = items.GetNext(pos);
if (m_pl.RemoveAt(FindPos(i))) {
- AfxGetMainWnd()->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
m_list.DeleteItem(i);
}
@@ -979,9 +977,9 @@ void CPlayerPlaylistBar::OnLvnKeyDown(NMHDR* pNMHDR, LRESULT* pResult)
} else if (pLVKeyDown->wVKey == VK_SPACE && items.GetCount() == 1) {
m_pl.SetPos(FindPos(items.GetHead()));
- ((CMainFrame*)AfxGetMainWnd())->OpenCurPlaylistItem();
+ m_pMainFrame->OpenCurPlaylistItem();
- AfxGetMainWnd()->SetFocus();
+ m_pMainFrame->SetFocus();
*pResult = TRUE;
}
@@ -992,11 +990,9 @@ void CPlayerPlaylistBar::OnNMDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0) {
- CMainFrame* pMainFrame = static_cast<CMainFrame*>(AfxGetMainWnd());
-
POSITION pos = FindPos(lpnmlv->iItem);
// If the file is already playing, don't try to restore a previously saved position
- if (pMainFrame->GetPlaybackMode() == PM_FILE && pos == m_pl.GetPos()) {
+ if (m_pMainFrame->GetPlaybackMode() == PM_FILE && pos == m_pl.GetPos()) {
const CPlaylistItem& pli = m_pl.GetAt(pos);
CAppSettings& s = AfxGetAppSettings();
@@ -1005,10 +1001,10 @@ void CPlayerPlaylistBar::OnNMDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
m_pl.SetPos(pos);
}
m_list.Invalidate();
- pMainFrame->OpenCurPlaylistItem();
+ m_pMainFrame->OpenCurPlaylistItem();
}
- AfxGetMainWnd()->SetFocus();
+ m_pMainFrame->SetFocus();
*pResult = 0;
}
@@ -1360,18 +1356,36 @@ BOOL CPlayerPlaylistBar::OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResul
void CPlayerPlaylistBar::OnContextMenu(CWnd* /*pWnd*/, CPoint p)
{
LVHITTESTINFO lvhti;
- lvhti.pt = p;
- m_list.ScreenToClient(&lvhti.pt);
- m_list.SubItemHitTest(&lvhti);
- POSITION pos = FindPos(lvhti.iItem);
- bool bOnItem = !!(lvhti.flags & LVHT_ONITEM);
- if (!bOnItem && m_pl.GetSize() == 1) {
- bOnItem = true;
- pos = m_pl.GetHeadPosition();
- lvhti.iItem = 0;
+ bool bOnItem;
+ if (p.x == -1 && p.y == -1) {
+ lvhti.iItem = m_list.GetSelectionMark();
+
+ if (lvhti.iItem == -1 && m_pl.GetSize() == 1) {
+ lvhti.iItem = 0;
+ }
+
+ CRect r;
+ if (!!m_list.GetItemRect(lvhti.iItem, r, LVIR_BOUNDS)) {
+ p.SetPoint(r.left, r.bottom);
+ } else {
+ p.SetPoint(0, 0);
+ }
+ m_list.ClientToScreen(&p);
+ bOnItem = lvhti.iItem != -1;
+ } else {
+ lvhti.pt = p;
+ m_list.ScreenToClient(&lvhti.pt);
+ m_list.SubItemHitTest(&lvhti);
+ bOnItem = lvhti.iItem >= 0 && !!(lvhti.flags & LVHT_ONITEM);
+ if (!bOnItem && m_pl.GetSize() == 1) {
+ bOnItem = true;
+ lvhti.iItem = 0;
+ }
}
- bool bIsLocalFile = bOnItem ? FileExists(m_pl.GetAt(pos).m_fns.GetHead()) : false;
+
+ POSITION pos = FindPos(lvhti.iItem);
+ bool bIsLocalFile = bOnItem ? PathUtils::Exists(m_pl.GetAt(pos).m_fns.GetHead()) : false;
CMenu m;
m.CreatePopupMenu();
@@ -1397,7 +1411,7 @@ void CPlayerPlaylistBar::OnContextMenu(CWnd* /*pWnd*/, CPoint p)
CAppSettings& s = AfxGetAppSettings();
m.AppendMenu(MF_STRING | (!bOnItem ? (MF_DISABLED | MF_GRAYED) : MF_ENABLED), M_OPEN, ResStr(IDS_PLAYLIST_OPEN));
- if (((CMainFrame*)AfxGetMainWnd())->GetPlaybackMode() == PM_ANALOG_CAPTURE) {
+ if (m_pMainFrame->GetPlaybackMode() == PM_ANALOG_CAPTURE) {
m.AppendMenu(MF_STRING | MF_ENABLED, M_ADD, ResStr(IDS_PLAYLIST_ADD));
}
m.AppendMenu(MF_STRING | (!bOnItem ? (MF_DISABLED | MF_GRAYED) : MF_ENABLED), M_REMOVE, ResStr(IDS_PLAYLIST_REMOVE));
@@ -1420,22 +1434,20 @@ void CPlayerPlaylistBar::OnContextMenu(CWnd* /*pWnd*/, CPoint p)
m.AppendMenu(MF_SEPARATOR);
m.AppendMenu(MF_STRING | MF_ENABLED | (s.bHidePlaylistFullScreen ? MF_CHECKED : MF_UNCHECKED), M_HIDEFULLSCREEN, ResStr(IDS_PLAYLIST_HIDEFS));
- CMainFrame* pMainFrm = (CMainFrame*)AfxGetMainWnd();
-
int nID = (int)m.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RETURNCMD, p.x, p.y, this);
switch (nID) {
case M_OPEN:
m_pl.SetPos(pos);
m_list.Invalidate();
- pMainFrm->OpenCurPlaylistItem();
+ m_pMainFrame->OpenCurPlaylistItem();
break;
case M_ADD:
- pMainFrm->AddCurDevToPlaylist();
+ m_pMainFrame->AddCurDevToPlaylist();
m_pl.SetPos(m_pl.GetTailPosition());
break;
case M_REMOVE:
if (m_pl.RemoveAt(pos)) {
- pMainFrm->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
m_list.DeleteItem(lvhti.iItem);
SavePlaylist();
@@ -1445,7 +1457,7 @@ void CPlayerPlaylistBar::OnContextMenu(CWnd* /*pWnd*/, CPoint p)
break;
case M_CLEAR:
if (Empty()) {
- pMainFrm->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
+ m_pMainFrame->SendMessage(WM_COMMAND, ID_FILE_CLOSEMEDIA);
}
break;
case M_SORTBYID:
diff --git a/src/mpc-hc/PlayerSubresyncBar.cpp b/src/mpc-hc/PlayerSubresyncBar.cpp
index 228e32604..c54b81431 100644
--- a/src/mpc-hc/PlayerSubresyncBar.cpp
+++ b/src/mpc-hc/PlayerSubresyncBar.cpp
@@ -31,10 +31,9 @@ IMPLEMENT_DYNAMIC(CPlayerSubresyncBar, CPlayerBar)
CPlayerSubresyncBar::CPlayerSubresyncBar()
: m_pSubLock(nullptr)
, m_fps(0.0)
- , m_mode(NONE)
- , m_rt(0)
- //, m_bUnlink(false)
, m_lastSegment(-1)
+ , m_rt(0)
+ , m_mode(NONE)
{
}
@@ -220,7 +219,7 @@ void CPlayerSubresyncBar::ReloadSubtitle()
m_sts.Copy(*pRTS);
pRTS->Unlock();
m_sts.ConvertToTimeBased(m_fps);
- m_sts.Sort(true); /*!!m_bUnlink*/
+ m_sts.Sort(true);
m_list.InsertColumn(COL_START, ResStr(IDS_SUBRESYNC_CLN_TIME), LVCFMT_LEFT, 90);
m_list.InsertColumn(COL_END, ResStr(IDS_SUBRESYNC_CLN_END), LVCFMT_LEFT, 4);
@@ -286,122 +285,110 @@ void CPlayerSubresyncBar::ResetSubtitle()
void CPlayerSubresyncBar::SaveSubtitle()
{
- CMainFrame* pFrame = ((CMainFrame*)AfxGetMainWnd());
- if (!pFrame) {
- return;
- }
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
+ CLSID clsid;
+ m_pSubStream->GetClassID(&clsid);
- CLSID clsid;
- m_pSubStream->GetClassID(&clsid);
+ if (clsid == __uuidof(CVobSubFile) && m_mode == VOBSUB) {
+ CVobSubFile* pVSF = (CVobSubFile*)(ISubStream*)m_pSubStream;
- if (clsid == __uuidof(CVobSubFile) && m_mode == VOBSUB) {
- CVobSubFile* pVSF = (CVobSubFile*)(ISubStream*)m_pSubStream;
+ CAutoLock cAutoLock(m_pSubLock);
- CAutoLock cAutoLock(m_pSubLock);
+ ASSERT(pVSF->m_nLang < pVSF->m_langs.size());
+ CAtlArray<CVobSubFile::SubPos>& sp = pVSF->m_langs[pVSF->m_nLang].subpos;
- ASSERT(pVSF->m_nLang < pVSF->m_langs.size());
- CAtlArray<CVobSubFile::SubPos>& sp = pVSF->m_langs[pVSF->m_nLang].subpos;
+ for (size_t i = 0, j = sp.GetCount(); i < j; i++) {
+ sp[i].bValid = false;
+ }
- for (size_t i = 0, j = sp.GetCount(); i < j; i++) {
- sp[i].bValid = false;
- }
+ for (size_t i = 0, j = m_sts.GetCount(); i < j; i++) {
+ int spnum = m_sts[i].readorder;
- for (size_t i = 0, j = m_sts.GetCount(); i < j; i++) {
- int spnum = m_sts[i].readorder;
+ sp[spnum].start = m_sts[i].start;
+ sp[spnum].stop = m_sts[i].end;
+ sp[spnum].bValid = true;
+ }
+ } else if (clsid == __uuidof(CRenderedTextSubtitle) && m_mode == TEXTSUB) {
+ CRenderedTextSubtitle* pRTS = (CRenderedTextSubtitle*)(ISubStream*)m_pSubStream;
- sp[spnum].start = m_sts[i].start;
- sp[spnum].stop = m_sts[i].end;
- sp[spnum].bValid = true;
- }
- } else if (clsid == __uuidof(CRenderedTextSubtitle) && m_mode == TEXTSUB) {
- CRenderedTextSubtitle* pRTS = (CRenderedTextSubtitle*)(ISubStream*)m_pSubStream;
+ CAutoLock cAutoLock(m_pSubLock);
- CAutoLock cAutoLock(m_pSubLock);
+ pRTS->Copy(m_sts);
+ } else {
+ return;
+ }
- pRTS->Copy(m_sts);
- } else {
- return;
+ pMainFrame->InvalidateSubtitle();
}
-
- pFrame->InvalidateSubtitle();
}
void CPlayerSubresyncBar::UpdatePreview()
{
if (m_mode == VOBSUB || m_mode == TEXTSUB) {
- if (0/*m_bUnlink*/) {
- for (int i = 0, j = (int)m_sts.GetCount(); i < j; i++) {
- bool bStartMod, bEndMod, bStartAdj, bEndAdj;
- GetCheck(i, bStartMod, bEndMod, bStartAdj, bEndAdj);
- m_sts[i].start = (bStartMod || bStartAdj) ? m_subtimes[i].newStart : m_subtimes[i].orgStart;
- m_sts[i].end = (bEndMod || bEndAdj) ? m_subtimes[i].newEnd : m_subtimes[i].orgEnd;
- }
- } else {
- CAtlArray<int> schk;
+ CAtlArray<int> schk;
- for (int i = 0, j = (int)m_sts.GetCount(); i < j;) {
- schk.RemoveAll();
+ for (int i = 0, j = (int)m_sts.GetCount(); i < j;) {
+ schk.RemoveAll();
- int start = i, end;
+ int start = i, end;
- for (end = i; end < j; end++) {
- int data = m_displayData[end].flags;
- if ((data & TSEP) && end > i) {
- break;
- }
- if (data & (TSMOD | TSADJ)) {
- schk.Add(end);
- }
+ for (end = i; end < j; end++) {
+ int data = m_displayData[end].flags;
+ if ((data & TSEP) && end > i) {
+ break;
+ }
+ if (data & (TSMOD | TSADJ)) {
+ schk.Add(end);
}
+ }
- if (schk.IsEmpty()) {
- for (; start < end; start++) {
- m_sts[start].start = m_subtimes[start].orgStart;
- m_sts[start].end = m_subtimes[start].orgEnd;
- }
- } else if (schk.GetCount() == 1) {
- int k = schk[0];
- int dt = m_subtimes[k].newStart - m_subtimes[k].orgStart;
- for (; start < end; start++) {
- m_sts[start].start = m_subtimes[start].orgStart + dt;
- m_sts[start].end = (m_displayData[start].flags & TEMOD)
- ? m_subtimes[start].newEnd
- : (m_subtimes[start].orgEnd + dt);
- }
- } else if (schk.GetCount() >= 2) {
- int i0 = 0;
- int i1 = 0;
- int ti0 = 0;
- int ds = 0;
- double m = 0;
-
- int k, l;
- for (k = 0, l = (int)schk.GetCount() - 1; k < l; k++) {
- i0 = schk[k];
- i1 = schk[k + 1];
-
- ti0 = m_subtimes[i0].orgStart;
- ds = m_subtimes[i1].orgStart - ti0;
-
- if (ds == 0) {
- SetSTS0(start, i1, ti0);
- } else {
- m = double(m_subtimes[i1].newStart - m_subtimes[i0].newStart) / ds;
- SetSTS1(start, i1, ti0, m, i0);
- }
+ if (schk.IsEmpty()) {
+ for (; start < end; start++) {
+ m_sts[start].start = m_subtimes[start].orgStart;
+ m_sts[start].end = m_subtimes[start].orgEnd;
+ }
+ } else if (schk.GetCount() == 1) {
+ int k = schk[0];
+ int dt = m_subtimes[k].newStart - m_subtimes[k].orgStart;
+ for (; start < end; start++) {
+ m_sts[start].start = m_subtimes[start].orgStart + dt;
+ m_sts[start].end = (m_displayData[start].flags & TEMOD)
+ ? m_subtimes[start].newEnd
+ : (m_subtimes[start].orgEnd + dt);
+ }
+ } else if (schk.GetCount() >= 2) {
+ int i0 = 0;
+ int i1 = 0;
+ int ti0 = 0;
+ int ds = 0;
+ double m = 0;
- }
+ int k, l;
+ for (k = 0, l = (int)schk.GetCount() - 1; k < l; k++) {
+ i0 = schk[k];
+ i1 = schk[k + 1];
+
+ ti0 = m_subtimes[i0].orgStart;
+ ds = m_subtimes[i1].orgStart - ti0;
- ASSERT(k > 0);
if (ds == 0) {
- SetSTS0(start, end, ti0);
+ SetSTS0(start, i1, ti0);
} else {
- SetSTS1(start, end, ti0, m, i0);
+ m = double(m_subtimes[i1].newStart - m_subtimes[i0].newStart) / ds;
+ SetSTS1(start, i1, ti0, m, i0);
}
+
}
- i = end;
+ ASSERT(k > 0);
+ if (ds == 0) {
+ SetSTS0(start, end, ti0);
+ } else {
+ SetSTS1(start, end, ti0, m, i0);
+ }
}
+
+ i = end;
}
m_sts.CreateSegments();
@@ -1167,7 +1154,7 @@ void CPlayerSubresyncBar::OnNMDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)pNMHDR;
if (lpnmlv->iItem >= 0 && lpnmlv->iSubItem >= 0 && (m_mode == VOBSUB || m_mode == TEXTSUB)) {
- if (CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd()) {
+ if (CMainFrame* pMainFrame = AfxGetMainFrame()) {
int t = 0;
if (lpnmlv->iSubItem > COL_PREVEND || !ParseTime(m_list.GetItemText(lpnmlv->iItem, lpnmlv->iSubItem), t, false)) {
t = m_sts[lpnmlv->iItem].start;
@@ -1175,7 +1162,7 @@ void CPlayerSubresyncBar::OnNMDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
REFERENCE_TIME rt = (REFERENCE_TIME)t * 10000;
- pFrame->SeekTo(rt);
+ pMainFrame->SeekTo(rt);
}
}
diff --git a/src/mpc-hc/PlayerSubresyncBar.h b/src/mpc-hc/PlayerSubresyncBar.h
index 1e8ebc378..ebced00fe 100644
--- a/src/mpc-hc/PlayerSubresyncBar.h
+++ b/src/mpc-hc/PlayerSubresyncBar.h
@@ -78,8 +78,6 @@ private:
};
MODE m_mode;
- //bool m_bUnlink;
-
struct SubTime {
int orgStart, newStart, orgEnd, newEnd;
};
diff --git a/src/mpc-hc/PlayerToolBar.cpp b/src/mpc-hc/PlayerToolBar.cpp
index e81c35785..9dfa47684 100644
--- a/src/mpc-hc/PlayerToolBar.cpp
+++ b/src/mpc-hc/PlayerToolBar.cpp
@@ -27,7 +27,7 @@
#include "MPCPngImage.h"
#include "PlayerToolBar.h"
#include "MainFrm.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
// CPlayerToolBar
@@ -47,27 +47,24 @@ CPlayerToolBar::~CPlayerToolBar()
bool CPlayerToolBar::LoadExternalToolBar(CImage* image)
{
- bool success = true;
- CString path = GetProgramPath();
-
- // Try to load an external PNG toolbar first
- if (FAILED(image->Load(path + _T("toolbar.png")))) {
- // If it fails, try to load an external BMP toolbar
- if (FAILED(image->Load(path + _T("toolbar.bmp")))) {
- if (AfxGetMyApp()->GetAppDataPath(path)) {
- // Try to load logo from AppData path
- if (FAILED(image->Load(path + _T("\\toolbar.png")))) {
- if (FAILED(image->Load(path + _T("\\toolbar.bmp")))) {
- success = false;
- }
- }
- } else {
- success = false;
+ // Paths and extensions to try (by order of preference)
+ std::vector<CString> paths({ PathUtils::GetProgramPath() });
+ CString appDataPath;
+ if (AfxGetMyApp()->GetAppDataPath(appDataPath)) {
+ paths.emplace_back(appDataPath);
+ }
+ const std::vector<CString> extensions({ _T("png"), _T("bmp") });
+
+ // Try loading the external toolbar
+ for (const auto& path : paths) {
+ for (const auto& ext : extensions) {
+ if (SUCCEEDED(image->Load(PathUtils::CombinePaths(path, _T("toolbar.") + ext)))) {
+ return true;
}
}
}
- return success;
+ return false;
}
BOOL CPlayerToolBar::Create(CWnd* pParentWnd)
diff --git a/src/mpc-hc/Playlist.cpp b/src/mpc-hc/Playlist.cpp
index dae04bf47..5450ddd7b 100644
--- a/src/mpc-hc/Playlist.cpp
+++ b/src/mpc-hc/Playlist.cpp
@@ -22,6 +22,7 @@
#include "stdafx.h"
#include "mplayerc.h"
#include "Playlist.h"
+#include "PathUtils.h"
#include "SettingsDefines.h"
//
@@ -32,12 +33,12 @@ UINT CPlaylistItem::m_globalid = 0;
CPlaylistItem::CPlaylistItem()
: m_type(file)
- , m_fInvalid(false)
, m_duration(0)
, m_vinput(-1)
, m_vchannel(-1)
, m_ainput(-1)
, m_country(0)
+ , m_fInvalid(false)
{
m_id = m_globalid++;
}
@@ -83,15 +84,6 @@ POSITION CPlaylistItem::FindFile(LPCTSTR path)
return nullptr;
}
-static CString StripPath(CString path)
-{
- CString p = path;
- p.Replace('\\', '/');
- p.TrimRight('/');
- p = p.Mid(p.ReverseFind('/') + 1);
- return (p.IsEmpty() ? path : p);
-}
-
CString CPlaylistItem::GetLabel(int i)
{
CString str;
@@ -100,7 +92,7 @@ CString CPlaylistItem::GetLabel(int i)
if (!m_label.IsEmpty()) {
str = m_label;
} else if (!m_fns.IsEmpty()) {
- str = StripPath(m_fns.GetHead());
+ str = PathUtils::StripPathOrUrl(m_fns.GetHead());
}
} else if (i == 1) {
if (m_fInvalid) {
diff --git a/src/mpc-hc/PnSPresetsDlg.cpp b/src/mpc-hc/PnSPresetsDlg.cpp
index b795afd68..8cbe41d07 100644
--- a/src/mpc-hc/PnSPresetsDlg.cpp
+++ b/src/mpc-hc/PnSPresetsDlg.cpp
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -29,7 +29,6 @@
IMPLEMENT_DYNAMIC(CPnSPresetsDlg, CCmdUIDialog)
CPnSPresetsDlg::CPnSPresetsDlg(CWnd* pParent /*=nullptr*/)
: CCmdUIDialog(CPnSPresetsDlg::IDD, pParent)
- , m_label(_T(""))
{
}
diff --git a/src/mpc-hc/QuicktimeGraph.cpp b/src/mpc-hc/QuicktimeGraph.cpp
index 8a86ffb2a..b2e69bab2 100644
--- a/src/mpc-hc/QuicktimeGraph.cpp
+++ b/src/mpc-hc/QuicktimeGraph.cpp
@@ -20,6 +20,9 @@
*/
#include "stdafx.h"
+
+#ifndef _WIN64
+
#include <math.h>
#include "QuicktimeGraph.h"
#include "IQTVideoSurface.h"
@@ -38,8 +41,8 @@ using namespace QT;
CQuicktimeGraph::CQuicktimeGraph(HWND hWndParent, HRESULT& hr)
: CBaseGraph()
- , m_wndDestFrame(this)
, m_fQtInitialized(false)
+ , m_wndDestFrame(this)
{
hr = S_OK;
@@ -396,13 +399,13 @@ STDMETHODIMP_(engine_t) CQuicktimeGraph::GetEngine()
//
CQuicktimeWindow::CQuicktimeWindow(CQuicktimeGraph* pGraph)
- : m_pGraph(pGraph)
+ : m_offscreenGWorld(nullptr)
+ , m_pGraph(pGraph)
+ , m_fs(State_Stopped)
+ , m_idEndPoller(0)
, theMovie(nullptr)
, theMC(nullptr)
, m_size(0, 0)
- , m_idEndPoller(0)
- , m_fs(State_Stopped)
- , m_offscreenGWorld(nullptr)
{
}
@@ -710,3 +713,5 @@ void CQuicktimeWindow::OnTimer(UINT_PTR nIDEvent)
__super::OnTimer(nIDEvent);
}
+
+#endif
diff --git a/src/mpc-hc/QuicktimeGraph.h b/src/mpc-hc/QuicktimeGraph.h
index 00e48aed8..7c9498127 100644
--- a/src/mpc-hc/QuicktimeGraph.h
+++ b/src/mpc-hc/QuicktimeGraph.h
@@ -21,14 +21,13 @@
#pragma once
+#ifndef _WIN64
+
#include "BaseGraph.h"
#include "AllocatorCommon7.h"
#include "AllocatorCommon.h"
-#ifndef _WIN64
#include "qt/qt.h"
-#endif
-
namespace DSObjects
{
@@ -129,3 +128,4 @@ namespace DSObjects
};
}
+#endif
diff --git a/src/mpc-hc/RealMediaGraph.cpp b/src/mpc-hc/RealMediaGraph.cpp
index 2ffc24c9d..253848cf8 100644
--- a/src/mpc-hc/RealMediaGraph.cpp
+++ b/src/mpc-hc/RealMediaGraph.cpp
@@ -42,16 +42,16 @@ CRealMediaPlayer::CRealMediaPlayer(HWND hWndParent, CRealMediaGraph* pRMG)
: CUnknown(NAME("CRealMediaPlayer"), nullptr)
, m_pRMG(pRMG)
, m_hWndParent(hWndParent)
+ , m_VideoSize(0, 0)
+ , m_fVideoSizeChanged(true)
, m_fpCreateEngine(nullptr)
, m_fpCloseEngine(nullptr)
+ , m_fpSetDLLAccessPath(nullptr)
, m_hRealMediaCore(nullptr)
, m_State(State_Stopped)
, m_UserState(State_Stopped)
, m_nCurrent(0)
, m_nDuration(0)
- , m_VideoSize(0, 0)
- , m_fVideoSizeChanged(true)
- , m_fpSetDLLAccessPath(nullptr)
, m_unPercentComplete(0)
{
}
diff --git a/src/mpc-hc/RealMediaWindowlessSite.h b/src/mpc-hc/RealMediaWindowlessSite.h
index a55f1f859..4bf5cfe75 100644
--- a/src/mpc-hc/RealMediaWindowlessSite.h
+++ b/src/mpc-hc/RealMediaWindowlessSite.h
@@ -1,6 +1,6 @@
/*
* (C) 2003-2006 Gabest
- * (C) 2006-2013 see Authors.txt
+ * (C) 2006-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -51,10 +51,10 @@ namespace DSObjects
void* pOSRegion;
REGION()
- : rects(nullptr)
- , pOSRegion(nullptr)
- , size(0)
- , numRects(0) {
+ : size(0)
+ , numRects(0)
+ , rects(nullptr)
+ , pOSRegion(nullptr) {
ZeroMemory(&extents, sizeof(extents));
}
};
diff --git a/src/mpc-hc/SaveSubtitlesFileDialog.cpp b/src/mpc-hc/SaveSubtitlesFileDialog.cpp
index 40dc01d1b..789c44ec0 100644
--- a/src/mpc-hc/SaveSubtitlesFileDialog.cpp
+++ b/src/mpc-hc/SaveSubtitlesFileDialog.cpp
@@ -36,8 +36,8 @@ CSaveSubtitlesFileDialog::CSaveSubtitlesFileDialog(
: CSaveTextFileDialog(e, lpszDefExt, lpszFileName, lpszFilter, pParentWnd)
, m_types(types)
, m_bDisableEncoding(false)
- , m_delay(delay)
, m_bDisableExternalStyleCheckBox(false)
+ , m_delay(delay)
, m_bSaveExternalStyleFile(bSaveExternalStyleFile)
{
InitCustomization();
@@ -49,8 +49,8 @@ CSaveSubtitlesFileDialog::CSaveSubtitlesFileDialog(
LPCTSTR lpszFilter, CWnd* pParentWnd)
: CSaveTextFileDialog(CTextFile::ANSI, lpszDefExt, lpszFileName, lpszFilter, pParentWnd)
, m_bDisableEncoding(true)
- , m_delay(delay)
, m_bDisableExternalStyleCheckBox(true)
+ , m_delay(delay)
, m_bSaveExternalStyleFile(FALSE)
{
InitCustomization();
diff --git a/src/mpc-hc/SkypeMoodMsgHandler.cpp b/src/mpc-hc/SkypeMoodMsgHandler.cpp
index 32523356e..47bd642c2 100644
--- a/src/mpc-hc/SkypeMoodMsgHandler.cpp
+++ b/src/mpc-hc/SkypeMoodMsgHandler.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2013 see Authors.txt
+ * (C) 2013, 2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -36,7 +36,7 @@ void SkypeMoodMsgHandler::Connect(HWND hWnd)
{
m_hWnd = hWnd;
TRACE(_T("SkypeMoodMsgHandler::Connect --> hWnd = %p\n"), hWnd);
- ::SendMessage(HWND_BROADCAST, uSkypeControlAPIDiscover, (WPARAM)hWnd, 0);
+ ::SendNotifyMessage(HWND_BROADCAST, uSkypeControlAPIDiscover, (WPARAM)hWnd, 0);
}
LRESULT SkypeMoodMsgHandler::HandleAttach(WPARAM wParam, LPARAM lParam)
diff --git a/src/mpc-hc/SubtitleDlDlg.cpp b/src/mpc-hc/SubtitleDlDlg.cpp
index 21c84a622..9e7c8e17e 100644
--- a/src/mpc-hc/SubtitleDlDlg.cpp
+++ b/src/mpc-hc/SubtitleDlDlg.cpp
@@ -31,12 +31,12 @@
CSubtitleDlDlg::CSubtitleDlDlg(CWnd* pParent, const CStringA& url, const CString& filename)
: CResizableDialog(CSubtitleDlDlg::IDD, pParent)
- , m_url(url)
, m_ps(nullptr, 0, TRUE)
, m_defps(nullptr, filename)
- , m_status()
, m_pTA(nullptr)
+ , m_url(url)
, m_fReplaceSubs(false)
+ , m_status()
{
}
diff --git a/src/mpc-hc/Translations.cpp b/src/mpc-hc/Translations.cpp
index 134187345..434bebc8d 100644
--- a/src/mpc-hc/Translations.cpp
+++ b/src/mpc-hc/Translations.cpp
@@ -1,5 +1,5 @@
/*
-* (C) 2014 see Authors.txt
+* (C) 2014-2015 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -22,9 +22,9 @@
#include "Translations.h"
#include "FileVersionInfo.h"
#include "VersionInfo.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
-static const std::vector<const Translations::LanguageResource> languageResources = {
+static const std::vector<Translations::LanguageResource> languageResources = {
{ 1025, _T("Arabic"), _T("Lang\\mpcresources.ar.dll") },
{ 1067, _T("Armenian"), _T("Lang\\mpcresources.hy.dll") },
{ 1069, _T("Basque"), _T("Lang\\mpcresources.eu.dll") },
@@ -38,6 +38,7 @@ static const std::vector<const Translations::LanguageResource> languageResources
{ 1043, _T("Dutch"), _T("Lang\\mpcresources.nl.dll") },
{ 0, _T("English"), nullptr },
{ 2057, _T("English (British)"), _T("Lang\\mpcresources.en_GB.dll") },
+ { 1035, _T("Finnish"), _T("Lang\\mpcresources.fi.dll") },
{ 1036, _T("French"), _T("Lang\\mpcresources.fr.dll") },
{ 1110, _T("Galician"), _T("Lang\\mpcresources.gl.dll") },
{ 1031, _T("German"), _T("Lang\\mpcresources.de.dll") },
@@ -52,6 +53,7 @@ static const std::vector<const Translations::LanguageResource> languageResources
{ 1046, _T("Portuguese (Brazil)"), _T("Lang\\mpcresources.pt_BR.dll") },
{ 1048, _T("Romanian"), _T("Lang\\mpcresources.ro.dll") },
{ 1049, _T("Russian"), _T("Lang\\mpcresources.ru.dll") },
+ { 3098, _T("Serbian"), _T("Lang\\mpcresources.sr.dll") },
{ 1051, _T("Slovak"), _T("Lang\\mpcresources.sk.dll") },
{ 1060, _T("Slovenian"), _T("Lang\\mpcresources.sl.dll") },
{ 1053, _T("Swedish"), _T("Lang\\mpcresources.sv.dll") },
@@ -78,14 +80,14 @@ Translations::LanguageResource Translations::GetLanguageResourceByLocaleID(LANGI
return defaultResource;
}
-std::list<const Translations::LanguageResource> Translations::GetAvailableLanguageResources()
+std::list<Translations::LanguageResource> Translations::GetAvailableLanguageResources()
{
- std::list<const Translations::LanguageResource> availableResources;
+ std::list<Translations::LanguageResource> availableResources;
- CString appPath = GetProgramPath();
+ CString appPath = PathUtils::GetProgramPath();
for (auto& lr : languageResources) {
- if (0 == lr.localeID || FileExists(appPath + lr.dllPath)) {
+ if (0 == lr.localeID || PathUtils::Exists(PathUtils::CombinePaths(appPath, lr.dllPath))) {
availableResources.emplace_back(lr);
}
}
diff --git a/src/mpc-hc/Translations.h b/src/mpc-hc/Translations.h
index 81c744036..31da57eaf 100644
--- a/src/mpc-hc/Translations.h
+++ b/src/mpc-hc/Translations.h
@@ -43,7 +43,7 @@ namespace Translations
LanguageResource GetLanguageResourceByLocaleID(LANGID localeID);
- std::list<const LanguageResource> GetAvailableLanguageResources();
+ std::list<LanguageResource> GetAvailableLanguageResources();
LANGID SetDefaultLanguage();
bool SetLanguage(LanguageResource languageResource, bool showErrorMsg = true);
diff --git a/src/mpc-hc/TunerScanDlg.cpp b/src/mpc-hc/TunerScanDlg.cpp
index 668100de0..f673d5709 100644
--- a/src/mpc-hc/TunerScanDlg.cpp
+++ b/src/mpc-hc/TunerScanDlg.cpp
@@ -44,8 +44,9 @@ enum TSC_COLUMN {
IMPLEMENT_DYNAMIC(CTunerScanDlg, CDialog)
-CTunerScanDlg::CTunerScanDlg(CWnd* pParent /*=nullptr*/)
- : CDialog(CTunerScanDlg::IDD, pParent)
+CTunerScanDlg::CTunerScanDlg(CMainFrame* pMainFrame)
+ : CDialog(CTunerScanDlg::IDD, pMainFrame)
+ , m_pMainFrame(pMainFrame)
, m_bInProgress(false)
{
const CAppSettings& s = AfxGetAppSettings();
@@ -120,17 +121,38 @@ END_MESSAGE_MAP()
void CTunerScanDlg::OnBnClickedSave()
{
- CAppSettings& s = AfxGetAppSettings();
- s.m_DVBChannels.RemoveAll();
+ auto& DVBChannels = AfxGetAppSettings().m_DVBChannels;
+ const size_t maxChannelsNum = ID_NAVIGATE_JUMPTO_SUBITEM_END - ID_NAVIGATE_JUMPTO_SUBITEM_START + 1;
for (int i = 0; i < m_ChannelList.GetItemCount(); i++) {
- CDVBChannel channel;
- if (channel.FromString(m_ChannelList.GetItemText(i, TSCC_CHANNEL))) {
- channel.SetPrefNumber(i);
- s.m_DVBChannels.AddTail(channel);
+ try {
+ CDVBChannel channel(m_ChannelList.GetItemText(i, TSCC_CHANNEL));
+ auto it = std::find(std::begin(DVBChannels), std::end(DVBChannels), channel);
+ if (it != DVBChannels.end()) {
+ // replace existing channel
+ channel.SetPrefNumber(it->GetPrefNumber());
+ *it = channel;
+ } else {
+ // add new channel to the end
+ const size_t size = DVBChannels.size();
+ if (size < maxChannelsNum) {
+ channel.SetPrefNumber((int)size);
+ DVBChannels.push_back(channel);
+ } else {
+ // Just to be safe. We have 600 channels limit, but we never know what user might load there.
+ CString msg;
+ msg.Format(_T("Unable to add new channel \"%s\" to the list. Channels list is full. Please notify developers about the problem."), channel.GetName());
+ AfxMessageBox(msg, MB_OK | MB_ICONERROR);
+ }
+ }
+ } catch (CException* e) {
+ // The tokenisation can fail if the input string was invalid
+ TRACE(_T("Failed to parse a DVB channel from string \"%s\""), m_ChannelList.GetItemText(i, TSCC_CHANNEL));
+ ASSERT(FALSE);
+ e->Delete();
}
}
- ((CMainFrame*)AfxGetMainWnd())->SetChannel(0);
+ m_pMainFrame->SetChannel(0);
OnOK();
}
@@ -148,20 +170,20 @@ void CTunerScanDlg::OnBnClickedStart()
SaveScanSettings();
m_ChannelList.DeleteAllItems();
- ((CMainFrame*)AfxGetMainWnd())->StartTunerScan(pTSD);
+ m_pMainFrame->StartTunerScan(pTSD);
SetProgress(true);
} else {
- ((CMainFrame*)AfxGetMainWnd())->StopTunerScan();
+ m_pMainFrame->StopTunerScan();
}
}
void CTunerScanDlg::OnBnClickedCancel()
{
if (m_bInProgress) {
- ((CMainFrame*)AfxGetMainWnd())->StopTunerScan();
+ m_pMainFrame->StopTunerScan();
}
- ((CMainFrame*)AfxGetMainWnd())->SetChannel(AfxGetAppSettings().nDVBLastChannel);
+ m_pMainFrame->SetChannel(AfxGetAppSettings().nDVBLastChannel);
OnCancel();
}
@@ -193,56 +215,63 @@ LRESULT CTunerScanDlg::OnStats(WPARAM wParam, LPARAM lParam)
LRESULT CTunerScanDlg::OnNewChannel(WPARAM wParam, LPARAM lParam)
{
- CDVBChannel channel;
- CString strTemp;
-
- if (channel.FromString((LPCTSTR)lParam) && (!m_bIgnoreEncryptedChannels || !channel.IsEncrypted())) {
- int nItem, nChannelNumber;
-
- if (channel.GetOriginNumber() != 0) { // LCN is available
- nChannelNumber = channel.GetOriginNumber();
- // Insert new channel so that channels are sorted by their logical number
- for (nItem = 0; nItem < m_ChannelList.GetItemCount(); nItem++) {
- if ((int)m_ChannelList.GetItemData(nItem) > nChannelNumber || (int)m_ChannelList.GetItemData(nItem) == 0) {
- break;
+ try {
+ CDVBChannel channel((LPCTSTR)lParam);
+ if (!m_bIgnoreEncryptedChannels || !channel.IsEncrypted()) {
+ CString strTemp;
+ int nItem, nChannelNumber;
+
+ if (channel.GetOriginNumber() != 0) { // LCN is available
+ nChannelNumber = channel.GetOriginNumber();
+ // Insert new channel so that channels are sorted by their logical number
+ for (nItem = 0; nItem < m_ChannelList.GetItemCount(); nItem++) {
+ if ((int)m_ChannelList.GetItemData(nItem) > nChannelNumber || (int)m_ChannelList.GetItemData(nItem) == 0) {
+ break;
+ }
}
+ } else {
+ nChannelNumber = 0;
+ nItem = m_ChannelList.GetItemCount();
}
- } else {
- nChannelNumber = 0;
- 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("%lu"), channel.GetFrequency());
- m_ChannelList.SetItemText(nItem, TSCC_FREQUENCY, strTemp);
+ strTemp.Format(_T("%lu"), channel.GetFrequency());
+ m_ChannelList.SetItemText(nItem, TSCC_FREQUENCY, strTemp);
- strTemp = channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
- m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, strTemp);
- if (channel.GetVideoType() == DVB_H264) {
- strTemp = _T(" H.264");
- } else if (channel.GetVideoPID()) {
- strTemp = _T("MPEG-2");
- } else {
- strTemp = _T(" - ");
- }
- m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FORMAT, strTemp);
- strTemp = channel.GetVideoFpsDesc();
- m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FPS, strTemp);
- if (channel.GetVideoWidth() || channel.GetVideoHeight()) {
- strTemp.Format(_T("%lux%lu"), channel.GetVideoWidth(), channel.GetVideoHeight());
- } else {
- strTemp = _T(" - ");
+ strTemp = channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
+ m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, strTemp);
+ if (channel.GetVideoType() == DVB_H264) {
+ strTemp = _T(" H.264");
+ } else if (channel.GetVideoPID()) {
+ strTemp = _T("MPEG-2");
+ } else {
+ strTemp = _T(" - ");
+ }
+ m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FORMAT, strTemp);
+ strTemp = channel.GetVideoFpsDesc();
+ m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FPS, strTemp);
+ if (channel.GetVideoWidth() || channel.GetVideoHeight()) {
+ strTemp.Format(_T("%lux%lu"), channel.GetVideoWidth(), channel.GetVideoHeight());
+ } else {
+ strTemp = _T(" - ");
+ }
+ m_ChannelList.SetItemText(nItem, TSCC_VIDEO_RES, strTemp);
+ strTemp.Format(_T("%lu/%lu"), channel.GetVideoARy(), channel.GetVideoARx());
+ m_ChannelList.SetItemText(nItem, TSCC_VIDEO_AR, strTemp);
+ m_ChannelList.SetItemText(nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
}
- m_ChannelList.SetItemText(nItem, TSCC_VIDEO_RES, strTemp);
- strTemp.Format(_T("%lu/%lu"), channel.GetVideoARy(), channel.GetVideoARx());
- m_ChannelList.SetItemText(nItem, TSCC_VIDEO_AR, strTemp);
- m_ChannelList.SetItemText(nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
+ } catch (CException* e) {
+ // The tokenisation can fail if the input string was invalid
+ TRACE(_T("Failed to parse a DVB channel from string \"%s\""), (LPCTSTR)lParam);
+ ASSERT(FALSE);
+ e->Delete();
+ return FALSE;
}
return TRUE;
diff --git a/src/mpc-hc/TunerScanDlg.h b/src/mpc-hc/TunerScanDlg.h
index c44b7ff66..b8571f403 100644
--- a/src/mpc-hc/TunerScanDlg.h
+++ b/src/mpc-hc/TunerScanDlg.h
@@ -1,5 +1,5 @@
/*
- * (C) 2009-2013 see Authors.txt
+ * (C) 2009-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -28,10 +28,12 @@
class CTunerScanDlg : public CDialog
{
+ CMainFrame* m_pMainFrame;
+
DECLARE_DYNAMIC(CTunerScanDlg)
public:
- CTunerScanDlg(CWnd* pParent = nullptr); // standard constructor
+ CTunerScanDlg(CMainFrame* pMainFrame); // standard constructor
virtual ~CTunerScanDlg();
// Dialog Data
diff --git a/src/mpc-hc/UpdateChecker.cpp b/src/mpc-hc/UpdateChecker.cpp
index 664f0e361..5b19a24d7 100644
--- a/src/mpc-hc/UpdateChecker.cpp
+++ b/src/mpc-hc/UpdateChecker.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2012-2013 see Authors.txt
+ * (C) 2012-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -80,10 +80,10 @@ Update_Status UpdateChecker::IsUpdateAvailable(const Version& currentVersion)
headers.Format(headersFmt, osVersionStr);
CHttpFile* versionFile = (CHttpFile*) internet.OpenURL(versionFileURL,
- 1,
- INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_RELOAD,
- headers,
- DWORD(-1));
+ 1,
+ INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_RELOAD,
+ headers,
+ DWORD(-1));
if (versionFile) {
CString latestVersionStr;
diff --git a/src/mpc-hc/VMROSD.cpp b/src/mpc-hc/VMROSD.cpp
index bce431bfa..38493defb 100644
--- a/src/mpc-hc/VMROSD.cpp
+++ b/src/mpc-hc/VMROSD.cpp
@@ -34,22 +34,21 @@
CVMROSD::CVMROSD(CMainFrame* pMainFrame)
- : m_pMainFrame(pMainFrame)
+ : m_pVMB(nullptr)
+ , m_pMFVMB(nullptr)
+ , m_pMVTO(nullptr)
+ , m_pCB(nullptr)
+ , m_pMainFrame(pMainFrame)
, m_pWnd(nullptr)
+ , m_iFontSize(0)
+ , m_bCursorMoving(false)
+ , m_bShowSeekBar(false)
+ , m_bSeekBarVisible(false)
, m_llSeekMin(0)
, m_llSeekMax(0)
, m_llSeekPos(0)
- , m_nMessagePos(OSD_NOMESSAGE)
- , m_bShowSeekBar(false)
- , m_bSeekBarVisible(false)
- , m_bCursorMoving(false)
- , m_pMFVMB(nullptr)
- , m_pVMB(nullptr)
- , m_pMVTO(nullptr)
- , m_iFontSize(0)
- , m_fontName(_T(""))
, m_bShowMessage(true)
- , m_pCB(nullptr)
+ , m_nMessagePos(OSD_NOMESSAGE)
{
m_colors[OSD_TRANSPARENT] = RGB(0, 0, 0);
m_colors[OSD_BACKGROUND] = RGB(32, 40, 48);
diff --git a/src/mpc-hc/WebClientSocket.cpp b/src/mpc-hc/WebClientSocket.cpp
index aeb162bf5..c7f4bf8f2 100644
--- a/src/mpc-hc/WebClientSocket.cpp
+++ b/src/mpc-hc/WebClientSocket.cpp
@@ -34,8 +34,8 @@ CWebClientSocket::CWebClientSocket(CWebServer* pWebServer, CMainFrame* pMainFram
: m_pWebServer(pWebServer)
, m_pMainFrame(pMainFrame)
, m_buffLen(0)
- , m_buffLenProcessed(0)
, m_buffMaxLen(2048)
+ , m_buffLenProcessed(0)
, m_parsingState(PARSING_HEADER)
, m_dataLen(0)
{
@@ -958,18 +958,18 @@ bool CWebClientSocket::OnViewRes(CStringA& hdr, CStringA& body, CStringA& mime)
return true;
}
-static CStringA GetChannelsJSON(const CAtlList<CDVBChannel>& channels)
+static CStringA GetChannelsJSON(const std::vector<CDVBChannel>& channels)
{
// begin the JSON object with the "channels" array inside
CStringA jsonChannels = "{ \"channels\" : [";
- POSITION channelPos = channels.GetHeadPosition();
- while (channelPos) {
+ for (auto it = channels.begin(); it != channels.end();) {
// fill the array with individual channel objects
- jsonChannels += channels.GetNext(channelPos).ToJSON();
- if (channelPos) {
- jsonChannels += ",";
+ jsonChannels += it->ToJSON();
+ if (++it == channels.end()) {
+ break;
}
+ jsonChannels += ",";
}
// terminate the array and the object, and return.
diff --git a/src/mpc-hc/WebServer.cpp b/src/mpc-hc/WebServer.cpp
index 0bdd1b48f..9cd51e007 100644
--- a/src/mpc-hc/WebServer.cpp
+++ b/src/mpc-hc/WebServer.cpp
@@ -29,7 +29,7 @@
#include "WebClientSocket.h"
#include "WebServer.h"
#include "VersionInfo.h"
-#include "WinAPIUtils.h"
+#include "PathUtils.h"
CAtlStringMap<CWebServer::RequestHandler, CStringA> CWebServer::m_internalpages;
@@ -40,7 +40,7 @@ CWebServer::CWebServer(CMainFrame* pMainFrame, int nPort)
: m_pMainFrame(pMainFrame)
, m_nPort(nPort)
{
- m_webroot = CPath(GetProgramPath());
+ m_webroot = CPath(PathUtils::GetProgramPath());
const CAppSettings& s = AfxGetAppSettings();
CString WebRoot = s.strWebRoot;
@@ -664,7 +664,7 @@ bool CWebServer::CallCGI(CWebClientSocket* pClient, CStringA& hdr, CStringA& bod
envstr.GetLength() ? (LPVOID)(LPCSTR)envstr : nullptr,
dir, &siStartInfo, &piProcInfo)) {
DWORD ThreadId;
- CreateThread(nullptr, 0, KillCGI, (LPVOID)piProcInfo.hProcess, 0, &ThreadId);
+ VERIFY(CreateThread(nullptr, 0, KillCGI, (LPVOID)piProcInfo.hProcess, 0, &ThreadId));
static const int BUFFSIZE = 1024;
DWORD dwRead, dwWritten = 0;
diff --git a/src/mpc-hc/WinHotkeyCtrl.cpp b/src/mpc-hc/WinHotkeyCtrl.cpp
index 01afe09f4..c3d033b15 100644
--- a/src/mpc-hc/WinHotkeyCtrl.cpp
+++ b/src/mpc-hc/WinHotkeyCtrl.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2011-2013 see Authors.txt
+ * (C) 2011-2014 see Authors.txt
*
* This file is part of MPC-HC.
*
@@ -34,9 +34,9 @@ CWinHotkeyCtrl* CWinHotkeyCtrl::sm_pwhcFocus = nullptr;
IMPLEMENT_DYNAMIC(CWinHotkeyCtrl, CEdit)
CWinHotkeyCtrl::CWinHotkeyCtrl()
: m_vkCode(0)
+ , m_vkCode_def(0)
, m_fModSet(0)
, m_fModRel(0)
- , m_vkCode_def(0)
, m_fModSet_def(0)
, m_fIsPressed(FALSE)
{
diff --git a/src/mpc-hc/mpc-hc.rc b/src/mpc-hc/mpc-hc.rc
index 2df07027d..bb7f61f54 100644
--- a/src/mpc-hc/mpc-hc.rc
+++ b/src/mpc-hc/mpc-hc.rc
@@ -182,7 +182,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
ICON "",IDR_MAINFRAME,14,10,48,48
LTEXT "",IDC_STATIC1,60,8,200,8
- CONTROL "Copyright © 2002-2014 see Authors.txt",IDC_AUTHORS_LINK,
+ CONTROL "Copyright © 2002-2015 see Authors.txt",IDC_AUTHORS_LINK,
"SysLink",WS_TABSTOP,60,20,200,8
CONTROL "",IDC_HOMEPAGE_LINK,"SysLink",WS_TABSTOP,60,32,200,8
LTEXT "This program is freeware and released under the GNU General Public License.",IDC_STATIC,7,46,246,18
@@ -462,7 +462,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
ICON "",IDC_DEFAULTICON,5,5,21,20,SS_REALSIZEIMAGE
EDITTEXT IDC_EDIT1,32,13,186,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
- CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,10,30,211,1
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,10,30,212,1
LTEXT "Type:",IDC_STATIC,10,36,60,8
EDITTEXT IDC_EDIT4,72,36,151,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
LTEXT "Size:",IDC_STATIC,10,51,60,8
@@ -839,10 +839,10 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
ICON "",IDC_DEFAULTICON,5,5,21,20,SS_REALSIZEIMAGE
- EDITTEXT IDC_EDIT1,30,12,199,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
- CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,5,29,222,1
+ EDITTEXT IDC_EDIT1,32,13,186,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+ CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,10,30,212,1
+ CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,35,221,144
PUSHBUTTON "Save As...",IDC_BUTTON1,5,183,64,14
- CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,33,224,146
END
IDD_PPAGEMISC DIALOGEX 0, 0, 296, 241
@@ -1529,6 +1529,7 @@ BEGIN
MENUITEM "Log &Off", ID_AFTERPLAYBACK_LOGOFF
MENUITEM "&Lock", ID_AFTERPLAYBACK_LOCK
MENUITEM "Turn off the &monitor", ID_AFTERPLAYBACK_MONITOROFF
+ MENUITEM "Play &next file in the folder", ID_AFTERPLAYBACK_PLAYNEXT
END
END
POPUP "&Navigate"
@@ -1682,6 +1683,7 @@ BEGIN
MENUITEM "Log &Off", ID_AFTERPLAYBACK_LOGOFF
MENUITEM "&Lock", ID_AFTERPLAYBACK_LOCK
MENUITEM "Turn off the &monitor", ID_AFTERPLAYBACK_MONITOROFF
+ MENUITEM "Play &next file in the folder", ID_AFTERPLAYBACK_PLAYNEXT
END
MENUITEM SEPARATOR
POPUP "&View"
@@ -2021,6 +2023,7 @@ BEGIN
MENUITEM "Log &Off", ID_AFTERPLAYBACK_LOGOFF
MENUITEM "&Lock", ID_AFTERPLAYBACK_LOCK
MENUITEM "Turn off the &monitor", ID_AFTERPLAYBACK_MONITOROFF
+ MENUITEM "Play &next file in the folder", ID_AFTERPLAYBACK_PLAYNEXT
END
MENUITEM SEPARATOR
POPUP "R&enderer Settings"
@@ -2381,7 +2384,7 @@ END
STRINGTABLE
BEGIN
- IDC_TEXTURESURF2D "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+ IDC_TEXTURESURF2D "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
IDC_TEXTURESURF3D "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
IDC_DX9RESIZER_COMBO "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
IDC_DSVMR9LOADMIXER "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
@@ -2611,6 +2614,20 @@ BEGIN
IDS_SUBTITLE_DELAY_STEP_TOOLTIP
"The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
IDS_HOTKEY_NOT_DEFINED "<not defined>"
+ IDS_NAVIGATION_WATCH "Watch"
+ IDS_NAVIGATION_MOVE_UP "Move Up"
+ IDS_NAVIGATION_MOVE_DOWN "Move Down"
+END
+
+STRINGTABLE
+BEGIN
+ IDS_NAVIGATION_SORT "Sort by LCN"
+ IDS_NAVIGATION_REMOVE_ALL "Remove all"
+ IDS_REMOVE_CHANNELS_QUESTION
+ "Are you sure you want to remove all channels from the list?"
+ IDS_MEDIAINFO_NO_INFO_AVAILABLE "No information available"
+ IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS "Please wait, analysis in progress..."
+ IDS_ASPECT_RATIO_FMT "AR %d:%d"
END
STRINGTABLE
@@ -2682,8 +2699,8 @@ STRINGTABLE
BEGIN
IDS_AG_DECREASE_RATE "Decrease Rate"
IDS_AG_RESET_RATE "Reset Rate"
- IDS_MPLAYERC_21 "Audio Delay +10ms"
- IDS_MPLAYERC_22 "Audio Delay -10ms"
+ IDS_MPLAYERC_21 "Audio Delay +10 ms"
+ IDS_MPLAYERC_22 "Audio Delay -10 ms"
IDS_MPLAYERC_23 "Jump Forward (small)"
IDS_MPLAYERC_24 "Jump Backward (small)"
IDS_MPLAYERC_25 "Jump Forward (medium)"
@@ -2734,7 +2751,7 @@ BEGIN
IDS_SUBDL_DLG_DOWNLOADING "Downloading subtitle(s), please wait."
IDS_SUBDL_DLG_PARSING "Parsing list..."
IDS_SUBDL_DLG_NOT_FOUND "No subtitles found."
- IDS_SUBDL_DLG_SUBS_AVAIL " %d subtitle(s) available."
+ IDS_SUBDL_DLG_SUBS_AVAIL "%d subtitle(s) available."
IDS_UPDATE_CONFIG_AUTO_CHECK
"Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
IDS_ZOOM_50 "50%"
@@ -2841,8 +2858,8 @@ BEGIN
IDS_AG_FRAMES "Frames"
IDS_AG_BUFFERS "Buffers"
IDS_MAINFRM_9 "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
- IDS_MAINFRM_10 "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
- IDS_MAINFRM_11 "%s, %s %uHz %dbits %d %s"
+ IDS_MAINFRM_10 "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+ IDS_MAINFRM_11 "%s, %s %u Hz %d bits %d %s"
END
STRINGTABLE
@@ -2887,10 +2904,10 @@ STRINGTABLE
BEGIN
IDS_AG_ASPECT_RATIO "Aspect Ratio"
IDS_MAINFRM_37 ", Total: %ld, Dropped: %ld"
- IDS_MAINFRM_38 ", Size: %I64dKB"
- IDS_MAINFRM_39 ", Size: %I64dMB"
- IDS_MAINFRM_40 ", Free: %I64dKB"
- IDS_MAINFRM_41 ", Free: %I64dMB"
+ IDS_MAINFRM_38 ", Size: %I64d KB"
+ IDS_MAINFRM_39 ", Size: %I64d MB"
+ IDS_MAINFRM_40 ", Free: %I64d KB"
+ IDS_MAINFRM_41 ", Free: %I64d MB"
IDS_MAINFRM_42 ", Free V/A Buffers: %03d/%03d"
IDS_AG_ERROR "Error"
IDS_SUBTITLE_STREAM_OFF "Subtitle: off"
@@ -2923,7 +2940,7 @@ STRINGTABLE
BEGIN
IDS_MAINFRM_68 "Aspect Ratio: %ld:%ld"
IDS_MAINFRM_69 "Aspect Ratio: Default"
- IDS_MAINFRM_70 "Audio Delay: %I64dms"
+ IDS_MAINFRM_70 "Audio delay: %I64d ms"
IDS_AG_CHAPTER "Chapter %d"
IDS_AG_OUT_OF_MEMORY "Out of memory"
IDS_MAINFRM_77 "Error: Flash player for IE is required"
@@ -2999,7 +3016,7 @@ BEGIN
IDS_VOLUME_BOOST_DEC "Volume boost decrease"
IDS_VOLUME_BOOST_MIN "Volume boost Min"
IDS_VOLUME_BOOST_MAX "Volume boost Max"
- IDS_USAGE "Usage: mpc-hc.exe ""pathname"" [switches]\n\n""pathname""\tThe main file or directory to be loaded (wildcards\n\t\tallowed, ""-"" denotes standard input)\n/dub ""dubname""\tLoad an additional audio file\n/dubdelay ""file""\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains ""...DELAY XXms..."")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub ""subname""\tLoad an additional subtitle file\n/filter ""filtername""\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, ""pathname"" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t""pathname"" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd ""pathname"" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at ""ms"" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see ""Output"" settings)\n/shaderpreset ""Pr""\tStart using ""Pr"" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+ IDS_USAGE "Usage: mpc-hc.exe ""pathname"" [switches]\n\n""pathname""\tThe main file or directory to be loaded (wildcards\n\t\tallowed, ""-"" denotes standard input)\n/dub ""dubname""\tLoad an additional audio file\n/dubdelay ""file""\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains ""...DELAY XXms..."")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub ""subname""\tLoad an additional subtitle file\n/filter ""filtername""\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, ""pathname"" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t""pathname"" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd ""pathname"" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at ""ms"" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see ""Output"" settings)\n/shaderpreset ""Pr""\tStart using ""Pr"" shader preset\n/pns ""name""\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave ""hWnd""\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
IDS_UNKNOWN_SWITCH "Unrecognized switch(es) found in command line string: \n\n"
END
@@ -3292,6 +3309,7 @@ BEGIN
IDS_REGAIN_VOLUME "Toggle regain volume"
IDS_OSD_REGAIN_VOLUME_ON "Regain volume: On"
IDS_OSD_REGAIN_VOLUME_OFF "Regain volume: Off"
+ IDS_SIZE_UNIT_BYTES "bytes"
IDS_SIZE_UNIT_K "KB"
IDS_SIZE_UNIT_M "MB"
IDS_SIZE_UNIT_G "GB"
@@ -3363,6 +3381,8 @@ BEGIN
IDS_AFTERPLAYBACK_LOGOFF "After Playback: Log Off"
IDS_AFTERPLAYBACK_LOCK "After Playback: Lock"
IDS_AFTERPLAYBACK_MONITOROFF "After Playback: Turn off the monitor"
+ IDS_AFTERPLAYBACK_PLAYNEXT "After Playback: Play next file in the folder"
+ IDS_AFTERPLAYBACK_DONOTHING "After Playback: Do nothing"
IDS_OSD_BRIGHTNESS "Brightness: %s"
IDS_OSD_CONTRAST "Contrast: %s"
IDS_OSD_HUE "Hue: %s°"
diff --git a/src/mpc-hc/mpc-hc.vcxproj b/src/mpc-hc/mpc-hc.vcxproj
index bb2c104e9..cb521851a 100644
--- a/src/mpc-hc/mpc-hc.vcxproj
+++ b/src/mpc-hc/mpc-hc.vcxproj
@@ -320,6 +320,7 @@
<ClCompile Include="ColorButton.cpp" />
<ClCompile Include="ComPropertyPage.cpp" />
<ClCompile Include="ComPropertySheet.cpp" />
+ <ClCompile Include="CoverArt.cpp" />
<ClCompile Include="CShockwaveFlash.cpp" />
<ClCompile Include="DebugShadersDlg.cpp" />
<ClCompile Include="DeinterlacerFilter.cpp" />
@@ -438,9 +439,6 @@
<ClCompile Include="WinHotkeyCtrl.cpp" />
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\thirdparty\LAVFilters\LAVAudioSettings.h" />
- <ClInclude Include="..\thirdparty\LAVFilters\LAVSplitterSettings.h" />
- <ClInclude Include="..\thirdparty\LAVFilters\LAVVideoSettings.h" />
<ClInclude Include="AboutDlg.h" />
<ClInclude Include="AppSettings.h" />
<ClInclude Include="AuthDlg.h" />
@@ -450,6 +448,7 @@
<ClInclude Include="ColorButton.h" />
<ClInclude Include="ComPropertyPage.h" />
<ClInclude Include="ComPropertySheet.h" />
+ <ClInclude Include="CoverArt.h" />
<ClInclude Include="CShockwaveFlash.h" />
<ClInclude Include="DebugShadersDlg.h" />
<ClInclude Include="DeinterlacerFilter.h" />
@@ -627,7 +626,6 @@
<None Include="res\noaudio.bmp" />
<None Include="res\onoff.bmp" />
<None Include="res\shaders\final.psh" />
- <None Include="res\shaders\LCDAngleCorrection.psh" />
<None Include="res\single.ico" />
<None Include="res\stereo.bmp" />
<None Include="res\streamtypes.bmp" />
@@ -637,29 +635,8 @@
<None Include="res\tickcross.png" />
<None Include="res\toolbar.bmp" />
<None Include="res\toolbarw7.png" />
- <None Include="res\shaders\BT601BT709.psh" />
- <None Include="res\shaders\contour.psh" />
- <None Include="res\shaders\deinterlace (blend).psh" />
- <None Include="res\shaders\denoise.psh" />
- <None Include="res\shaders\EdgeSharpen.psh" />
- <None Include="res\shaders\emboss.psh" />
<None Include="res\shaders\empty.psh" />
- <None Include="res\shaders\grayscale.psh" />
- <None Include="res\shaders\invert.psh" />
- <None Include="res\shaders\letterbox.psh" />
- <None Include="res\shaders\levels.psh" />
- <None Include="res\shaders\levels2.psh" />
- <None Include="res\shaders\levels3.psh" />
- <None Include="res\shaders\nightvision.psh" />
- <None Include="res\shaders\procamp.psh" />
<None Include="res\shaders\resizer.psh" />
- <None Include="res\shaders\sharpen.psh" />
- <None Include="res\shaders\SharpenComplex.psh" />
- <None Include="res\shaders\SharpenComplex2.psh" />
- <None Include="res\shaders\sphere.psh" />
- <None Include="res\shaders\spotlight.psh" />
- <None Include="res\shaders\wave.psh" />
- <None Include="res\shaders\YV12ChromaUpsampling.psh" />
<None Include="res\web\404.html" />
<None Include="res\web\browser.html" />
<None Include="res\web\controls.html" />
diff --git a/src/mpc-hc/mpc-hc.vcxproj.filters b/src/mpc-hc/mpc-hc.vcxproj.filters
index 45e034940..dfd45f79d 100644
--- a/src/mpc-hc/mpc-hc.vcxproj.filters
+++ b/src/mpc-hc/mpc-hc.vcxproj.filters
@@ -1,13 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{a3fe93d1-ca72-4b39-b871-30903c306f42}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ <Filter Include="Player Config">
+ <UniqueIdentifier>{43c75f5f-5e94-4d15-8f45-b39b7c36bd62}</UniqueIdentifier>
</Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{b58fe0a5-ede5-4a66-88ee-b0802cf2ff72}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ <Filter Include="Graph">
+ <UniqueIdentifier>{77a009db-eea1-41f2-8671-661a4843634e}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Property Dialogs">
+ <UniqueIdentifier>{36ad4cd9-ded8-4c35-8a6d-1ffb3ddc2684}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="DVB">
+ <UniqueIdentifier>{ad577ec8-11b8-4fcf-8b57-72f6cdabf032}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Toolbars">
+ <UniqueIdentifier>{cf28b89c-1840-4771-ad84-96c85e9958b5}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Property Dialogs\LAV Filters Options">
+ <UniqueIdentifier>{cea104bc-b14e-42eb-9bf9-2201c523f77d}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Graph\Shockwave Flash">
+ <UniqueIdentifier>{ff5c37c3-46a0-4f57-b30e-02d892b73a00}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Helpers">
+ <UniqueIdentifier>{b48234f3-b7a0-4dc2-b23b-f4c33349aab1}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Build Info">
+ <UniqueIdentifier>{bd4abfc8-fc90-4a1d-adc4-7800f1ad7d31}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Integration">
+ <UniqueIdentifier>{aa019fb8-debd-45de-af25-ab3d5e22a7f3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Integration\Logitech LCD">
+ <UniqueIdentifier>{c65b298e-e9cf-447f-a27a-1d30b7bd7d81}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Panels">
+ <UniqueIdentifier>{6c92dae3-76cc-449a-aa1d-f6d72742e757}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{ee8489ea-968c-44c9-ae3a-35eb518513d2}</UniqueIdentifier>
@@ -16,780 +44,773 @@
<Filter Include="Resource Files\web">
<UniqueIdentifier>{26bd0b2a-4fea-4c63-b05b-f28243ac8d95}</UniqueIdentifier>
</Filter>
+ <Filter Include="Resource Files\web\img">
+ <UniqueIdentifier>{85c6230e-fa6b-497b-8d98-d4a066c86f48}</UniqueIdentifier>
+ </Filter>
<Filter Include="Resource Files\shaders">
<UniqueIdentifier>{662236d7-ad89-4026-bb57-bb27667da2e6}</UniqueIdentifier>
</Filter>
- <Filter Include="Resource Files\web\img">
- <UniqueIdentifier>{85c6230e-fa6b-497b-8d98-d4a066c86f48}</UniqueIdentifier>
+ <Filter Include="Property Dialogs\Player Options">
+ <UniqueIdentifier>{631eb474-a93b-4b48-a054-9758e8a1f959}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Property Dialogs\Player Options\Pages">
+ <UniqueIdentifier>{361375c5-889a-4432-90ba-83741194f7d1}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Property Dialogs\File Properties">
+ <UniqueIdentifier>{ef61c989-5105-4782-9fed-e8a56be95a46}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Property Dialogs\File Properties\Pages">
+ <UniqueIdentifier>{4a9b9989-f6a5-499e-9611-c7bfe024b7a3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Graph\Quicktime">
+ <UniqueIdentifier>{712820f7-6798-4c06-b4ff-f66492918e78}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Graph\RealMedia">
+ <UniqueIdentifier>{f4c95cb0-6f49-4d24-9e78-0a89d8a8cf1e}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Integration\Skype">
+ <UniqueIdentifier>{3e62affc-727b-4af9-95eb-76f4eb63918c}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Integration\Web">
+ <UniqueIdentifier>{d7f40587-25b5-46f1-90bb-6751caca4922}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Modal Dialogs">
+ <UniqueIdentifier>{c80b5d75-ba77-444e-98a0-c5af5d89a88c}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="Custom Controls">
+ <UniqueIdentifier>{acb8c198-52e0-46e0-9e15-8991856fcb18}</UniqueIdentifier>
</Filter>
- <Filter Include="Header Files\LAVFilters">
- <UniqueIdentifier>{3e7db9d0-2a51-4f12-b56d-220d267ef21b}</UniqueIdentifier>
+ <Filter Include="Main View">
+ <UniqueIdentifier>{0453474a-2716-4c52-b5f4-cf6bd9e31ed0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AppSettings.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Player Config</Filter>
</ClCompile>
- <ClCompile Include="AuthDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="AboutDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="BaseGraph.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="AuthDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="ChildView.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="CmdLineHelpDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="ComPropertyPage.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="ColorButton.cpp">
+ <Filter>Custom Controls</Filter>
</ClCompile>
- <ClCompile Include="ComPropertySheet.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="DebugShadersDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="CShockwaveFlash.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="EditListEditor.cpp">
+ <Filter>Custom Controls</Filter>
</ClCompile>
- <ClCompile Include="DeinterlacerFilter.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="EditWithButton.cpp">
+ <Filter>Custom Controls</Filter>
</ClCompile>
<ClCompile Include="DVBChannel.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="EditListEditor.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="FakeFilterMapper2.cpp">
- <Filter>Source Files</Filter>
+ <Filter>DVB</Filter>
</ClCompile>
<ClCompile Include="FavoriteAddDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="FavoriteOrganizeDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="FGFilter.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph</Filter>
+ </ClCompile>
+ <ClCompile Include="FGFilterLAV.cpp">
+ <Filter>Graph</Filter>
</ClCompile>
<ClCompile Include="FGManager.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph</Filter>
</ClCompile>
<ClCompile Include="FGManagerBDA.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph</Filter>
+ </ClCompile>
+ <ClCompile Include="GoToDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="OpenDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="OpenFileDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="PlayerSeekBar.cpp">
+ <Filter>Toolbars</Filter>
+ </ClCompile>
+ <ClCompile Include="PlayerStatusBar.cpp">
+ <Filter>Toolbars</Filter>
+ </ClCompile>
+ <ClCompile Include="ComPropertyPage.cpp">
+ <Filter>Property Dialogs\LAV Filters Options</Filter>
+ </ClCompile>
+ <ClCompile Include="ComPropertySheet.cpp">
+ <Filter>Property Dialogs\LAV Filters Options</Filter>
+ </ClCompile>
+ <ClCompile Include="CShockwaveFlash.cpp">
+ <Filter>Graph\Shockwave Flash</Filter>
+ </ClCompile>
+ <ClCompile Include="FileAssoc.cpp">
+ <Filter>Player Config</Filter>
</ClCompile>
<ClCompile Include="FileDropTarget.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
<ClCompile Include="FloatEdit.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="FullscreenWnd.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
- <ClCompile Include="GoToDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="FreeviewEPGDecode.cpp">
+ <Filter>DVB</Filter>
</ClCompile>
<ClCompile Include="Ifo.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
<ClCompile Include="ISDb.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="KeyProvider.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
<ClCompile Include="LcdSupport.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="MainFrm.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Integration\Logitech LCD</Filter>
</ClCompile>
<ClCompile Include="MediaFormats.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Player Config</Filter>
</ClCompile>
- <ClCompile Include="MediaTypesDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="MediaPositionList.cpp">
+ <Filter>Player Config</Filter>
</ClCompile>
- <ClCompile Include="MiniDump.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="MediaTypesDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="Monitors.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
- <ClCompile Include="Mpeg2SectionData.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="MPCPngImage.cpp">
+ <Filter>Helpers</Filter>
</ClCompile>
- <ClCompile Include="mplayerc.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="Mpeg2SectionData.cpp">
+ <Filter>DVB</Filter>
</ClCompile>
<ClCompile Include="MultiMonitor.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
<ClCompile Include="OpenDirHelper.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="OpenDlg.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="OpenFileDlg.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerCaptureBar.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Helpers</Filter>
</ClCompile>
- <ClCompile Include="PlayerCaptureDialog.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerBar.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
<ClCompile Include="PlayerInfoBar.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Toolbars</Filter>
</ClCompile>
<ClCompile Include="PlayerListCtrl.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerNavigationBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerNavigationDialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerPlaylistBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerSeekBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerStatusBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerSubresyncBar.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
<ClCompile Include="PlayerToolBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="Playlist.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Toolbars</Filter>
</ClCompile>
<ClCompile Include="PnSPresetsDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="PPageAccelTbl.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClCompile>
+ <ClCompile Include="PPageAdvanced.cpp">
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageAudioSwitcher.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageBase.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs</Filter>
</ClCompile>
<ClCompile Include="PPageCapture.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageDVD.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageExternalFilters.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClCompile>
+ <ClCompile Include="PPageFileInfoSheet.cpp">
+ <Filter>Property Dialogs\File Properties</Filter>
</ClCompile>
<ClCompile Include="PPageFileInfoClip.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageFileInfoDetails.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageFileInfoRes.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PPageFileInfoSheet.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageFileMediaInfo.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageFormats.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageFullscreen.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageInternalFilters.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageLogo.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageMisc.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageOutput.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPagePlayback.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPagePlayer.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClCompile>
+ <ClCompile Include="PPageShaders.cpp">
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageSheet.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options</Filter>
</ClCompile>
<ClCompile Include="PPageSubMisc.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageSubStyle.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageSubtitles.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageSync.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageTweaks.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="PPageWebServer.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClCompile>
<ClCompile Include="QuicktimeGraph.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph\Quicktime</Filter>
</ClCompile>
<ClCompile Include="RealMediaGraph.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph\RealMedia</Filter>
</ClCompile>
<ClCompile Include="RealMediaWindowlessSite.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph\RealMedia</Filter>
</ClCompile>
<ClCompile Include="RegFilterChooserDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="SaveDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="SaveImageDialog.cpp">
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="SaveSubtitlesFileDialog.cpp">
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="SaveTextFileDialog.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="SaveThumbnailsDialog.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
<ClCompile Include="SelectMediaType.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="Shaders.cpp">
+ <Filter>Player Config</Filter>
</ClCompile>
<ClCompile Include="ShockwaveGraph.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph\Shockwave Flash</Filter>
+ </ClCompile>
+ <ClCompile Include="SkypeMoodMsgHandler.cpp">
+ <Filter>Integration\Skype</Filter>
</ClCompile>
<ClCompile Include="StaticLink.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
<ClCompile Include="StatusLabel.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="stdafx.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
<ClCompile Include="SubtitleDlDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="TextPassThruFilter.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="Translations.cpp">
+ <Filter>Player Config</Filter>
</ClCompile>
<ClCompile Include="TunerScanDlg.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClCompile>
- <ClCompile Include="VMROSD.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="UpdateCheckerDlg.cpp">
+ <Filter>Modal Dialogs</Filter>
+ </ClCompile>
+ <ClCompile Include="VersionInfo.cpp">
+ <Filter>Build Info</Filter>
+ </ClCompile>
+ <ClCompile Include="vkCodes.cpp">
+ <Filter>Helpers</Filter>
</ClCompile>
<ClCompile Include="VolumeCtrl.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
<ClCompile Include="WebClientSocket.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClCompile>
<ClCompile Include="WebServer.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClCompile>
<ClCompile Include="WebServerSocket.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="vkCodes.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClCompile>
<ClCompile Include="WinHotkeyCtrl.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="EditWithButton.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="UpdateChecker.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClCompile>
- <ClCompile Include="UpdateCheckerDlg.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="PlayerBar.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="AboutDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="BaseGraph.cpp">
+ <Filter>Graph</Filter>
</ClCompile>
- <ClCompile Include="MPCPngImage.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="DeinterlacerFilter.cpp">
+ <Filter>Graph</Filter>
</ClCompile>
- <ClCompile Include="FileAssoc.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="FakeFilterMapper2.cpp">
+ <Filter>Graph</Filter>
</ClCompile>
<ClCompile Include="GraphThread.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="MediaPositionList.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Graph</Filter>
</ClCompile>
- <ClCompile Include="SaveSubtitlesFileDialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="SkypeMoodMsgHandler.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="FreeviewEPGDecode.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="KeyProvider.cpp">
+ <Filter>Graph</Filter>
</ClCompile>
- <ClCompile Include="FGFilterLAV.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="TextPassThruFilter.cpp">
+ <Filter>Graph</Filter>
+ </ClCompile>
+ <ClCompile Include="EventDispatcher.cpp" />
+ <ClCompile Include="MainFrm.cpp" />
+ <ClCompile Include="MainFrmControls.cpp" />
+ <ClCompile Include="MiniDump.cpp" />
+ <ClCompile Include="mplayerc.cpp" />
+ <ClCompile Include="Playlist.cpp" />
+ <ClCompile Include="stdafx.cpp" />
+ <ClCompile Include="UpdateChecker.cpp" />
+ <ClCompile Include="ChildView.cpp">
+ <Filter>Main View</Filter>
</ClCompile>
- <ClCompile Include="VersionInfo.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="CoverArt.cpp">
+ <Filter>Main View</Filter>
</ClCompile>
<ClCompile Include="MouseTouch.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="MainFrmControls.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="EventDispatcher.cpp">
- <Filter>Source Files</Filter>
+ <Filter>Main View</Filter>
</ClCompile>
- <ClCompile Include="Shaders.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="FullscreenWnd.cpp">
+ <Filter>Main View</Filter>
</ClCompile>
- <ClCompile Include="PPageShaders.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="VMROSD.cpp">
+ <Filter>Main View</Filter>
</ClCompile>
- <ClCompile Include="DebugShadersDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerCaptureBar.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
- <ClCompile Include="Translations.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerCaptureDialog.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
- <ClCompile Include="ColorButton.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerNavigationBar.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
- <ClCompile Include="PPageAdvanced.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerNavigationDialog.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
- <ClCompile Include="SaveImageDialog.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerSubresyncBar.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
- <ClCompile Include="CmdLineHelpDlg.cpp">
- <Filter>Source Files</Filter>
+ <ClCompile Include="PlayerPlaylistBar.cpp">
+ <Filter>Panels</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="AppSettings.h">
- <Filter>Header Files</Filter>
+ <Filter>Player Config</Filter>
</ClInclude>
- <ClInclude Include="AuthDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="AboutDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="BaseGraph.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="AuthDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="ChildView.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="CmdLineHelpDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="ComPropertyPage.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="ColorButton.h">
+ <Filter>Custom Controls</Filter>
</ClInclude>
- <ClInclude Include="ComPropertySheet.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="DebugShadersDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="CShockwaveFlash.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="EditListEditor.h">
+ <Filter>Custom Controls</Filter>
</ClInclude>
- <ClInclude Include="DeinterlacerFilter.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="EditWithButton.h">
+ <Filter>Custom Controls</Filter>
</ClInclude>
<ClInclude Include="DVBChannel.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="EditListEditor.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="FakeFilterMapper2.h">
- <Filter>Header Files</Filter>
+ <Filter>DVB</Filter>
</ClInclude>
<ClInclude Include="FavoriteAddDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="FavoriteOrganizeDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
+ </ClInclude>
+ <ClInclude Include="FGManagerBDA.h">
+ <Filter>Graph</Filter>
</ClInclude>
<ClInclude Include="FGFilter.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph</Filter>
+ </ClInclude>
+ <ClInclude Include="FGFilterLAV.h">
+ <Filter>Graph</Filter>
</ClInclude>
<ClInclude Include="FGManager.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="FGManagerBDA.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="GoToDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="FileDropTarget.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="OpenDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="FilterEnum.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="OpenFileDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="FloatEdit.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerSeekBar.h">
+ <Filter>Toolbars</Filter>
</ClInclude>
- <ClInclude Include="FullscreenWnd.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerStatusBar.h">
+ <Filter>Toolbars</Filter>
</ClInclude>
- <ClInclude Include="GoToDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="ComPropertyPage.h">
+ <Filter>Property Dialogs\LAV Filters Options</Filter>
</ClInclude>
- <ClInclude Include="Ifo.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="ComPropertySheet.h">
+ <Filter>Property Dialogs\LAV Filters Options</Filter>
</ClInclude>
- <ClInclude Include="IGraphBuilder2.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="CShockwaveFlash.h">
+ <Filter>Graph\Shockwave Flash</Filter>
+ </ClInclude>
+ <ClInclude Include="FileAssoc.h">
+ <Filter>Player Config</Filter>
+ </ClInclude>
+ <ClInclude Include="FileDropTarget.h">
+ <Filter>Helpers</Filter>
+ </ClInclude>
+ <ClInclude Include="FloatEdit.h">
+ <Filter>Custom Controls</Filter>
+ </ClInclude>
+ <ClInclude Include="FreeviewEPGDecode.h">
+ <Filter>DVB</Filter>
+ </ClInclude>
+ <ClInclude Include="Ifo.h">
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="InternalFiltersConfig.h">
- <Filter>Header Files</Filter>
+ <Filter>Player Config</Filter>
</ClInclude>
<ClInclude Include="ISDb.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="KeyProvider.h">
- <Filter>Header Files</Filter>
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="LcdSupport.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="MainFrm.h">
- <Filter>Header Files</Filter>
+ <Filter>Integration\Logitech LCD</Filter>
</ClInclude>
<ClInclude Include="MediaFormats.h">
- <Filter>Header Files</Filter>
+ <Filter>Player Config</Filter>
</ClInclude>
- <ClInclude Include="MediaTypesDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="MediaPositionList.h">
+ <Filter>Player Config</Filter>
</ClInclude>
- <ClInclude Include="MiniDump.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="MediaTypesDlg.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="Monitors.h">
- <Filter>Header Files</Filter>
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="MpcApi.h">
- <Filter>Header Files</Filter>
+ <Filter>Integration</Filter>
</ClInclude>
- <ClInclude Include="Mpeg2SectionData.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="MPCPngImage.h">
+ <Filter>Helpers</Filter>
</ClInclude>
- <ClInclude Include="mplayerc.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="Mpeg2SectionData.h">
+ <Filter>DVB</Filter>
</ClInclude>
<ClInclude Include="MultiMonitor.h">
- <Filter>Header Files</Filter>
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="OpenDirHelper.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="OpenDlg.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="OpenFileDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Helpers</Filter>
</ClInclude>
- <ClInclude Include="PlayerCaptureBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerCaptureDialog.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerBar.h">
+ <Filter>Panels</Filter>
</ClInclude>
<ClInclude Include="PlayerInfoBar.h">
- <Filter>Header Files</Filter>
+ <Filter>Toolbars</Filter>
</ClInclude>
<ClInclude Include="PlayerListCtrl.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerNavigationBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerNavigationDialog.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerPlaylistBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerSeekBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerStatusBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerSubresyncBar.h">
- <Filter>Header Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClInclude>
<ClInclude Include="PlayerToolBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Playlist.h">
- <Filter>Header Files</Filter>
+ <Filter>Toolbars</Filter>
</ClInclude>
<ClInclude Include="PnSPresetsDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="PPageAccelTbl.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClInclude>
+ <ClInclude Include="PPageAdvanced.h">
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageAudioSwitcher.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageBase.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs</Filter>
</ClInclude>
<ClInclude Include="PPageCapture.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageDVD.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageExternalFilters.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClInclude>
+ <ClInclude Include="PPageFileInfoSheet.h">
+ <Filter>Property Dialogs\File Properties</Filter>
</ClInclude>
<ClInclude Include="PPageFileInfoClip.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageFileInfoDetails.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageFileInfoRes.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PPageFileInfoSheet.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageFileMediaInfo.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\File Properties\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageFormats.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageFullscreen.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageInternalFilters.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageLogo.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageMisc.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageOutput.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPagePlayback.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPagePlayer.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClInclude>
+ <ClInclude Include="PPageShaders.h">
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageSheet.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options</Filter>
</ClInclude>
<ClInclude Include="PPageSubMisc.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageSubStyle.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
+ </ClInclude>
+ <ClInclude Include="PPageWebServer.h">
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageSubtitles.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageSync.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="PPageTweaks.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PPageWebServer.h">
- <Filter>Header Files</Filter>
+ <Filter>Property Dialogs\Player Options\Pages</Filter>
</ClInclude>
<ClInclude Include="QuicktimeGraph.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph\Quicktime</Filter>
</ClInclude>
<ClInclude Include="RealMediaGraph.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph\RealMedia</Filter>
</ClInclude>
<ClInclude Include="RealMediaWindowlessSite.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph\RealMedia</Filter>
</ClInclude>
<ClInclude Include="RegFilterChooserDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="resource.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="SaveThumbnailsDialog.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="SaveDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="SaveTextFileDialog.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="SaveImageDialog.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="SaveThumbnailsDialog.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="SaveSubtitlesFileDialog.h">
+ <Filter>Modal Dialogs</Filter>
+ </ClInclude>
+ <ClInclude Include="SaveTextFileDialog.h">
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="SelectMediaType.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
<ClInclude Include="SettingsDefines.h">
- <Filter>Header Files</Filter>
+ <Filter>Player Config</Filter>
+ </ClInclude>
+ <ClInclude Include="Shaders.h">
+ <Filter>Player Config</Filter>
</ClInclude>
<ClInclude Include="ShockwaveGraph.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph\Shockwave Flash</Filter>
+ </ClInclude>
+ <ClInclude Include="SkypeMoodMsgHandler.h">
+ <Filter>Integration\Skype</Filter>
</ClInclude>
<ClInclude Include="StaticLink.h">
- <Filter>Header Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClInclude>
<ClInclude Include="StatusLabel.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="stdafx.h">
- <Filter>Header Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClInclude>
<ClInclude Include="Struct.h">
- <Filter>Header Files</Filter>
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="SubtitleDlDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="TextPassThruFilter.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="TimerWrappers.h">
+ <Filter>Helpers</Filter>
+ </ClInclude>
+ <ClInclude Include="Translations.h">
+ <Filter>Player Config</Filter>
</ClInclude>
<ClInclude Include="TunerScanDlg.h">
- <Filter>Header Files</Filter>
+ <Filter>Modal Dialogs</Filter>
</ClInclude>
- <ClInclude Include="VMROSD.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="UpdateCheckerDlg.h">
+ <Filter>Modal Dialogs</Filter>
+ </ClInclude>
+ <ClInclude Include="VersionInfo.h">
+ <Filter>Build Info</Filter>
+ </ClInclude>
+ <ClInclude Include="vkCodes.h">
+ <Filter>Helpers</Filter>
</ClInclude>
<ClInclude Include="VolumeCtrl.h">
- <Filter>Header Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClInclude>
<ClInclude Include="WebClientSocket.h">
- <Filter>Header Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClInclude>
<ClInclude Include="WebServer.h">
- <Filter>Header Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClInclude>
<ClInclude Include="WebServerSocket.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="vkCodes.h">
- <Filter>Header Files</Filter>
+ <Filter>Integration\Web</Filter>
</ClInclude>
<ClInclude Include="WinHotkeyCtrl.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="EditWithButton.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="UpdateChecker.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="UpdateCheckerDlg.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="PlayerBar.h">
- <Filter>Header Files</Filter>
+ <Filter>Custom Controls</Filter>
</ClInclude>
- <ClInclude Include="AboutDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="BaseGraph.h">
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="..\..\include\version.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="DeinterlacerFilter.h">
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="MPCPngImage.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="FakeFilterMapper2.h">
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="FileAssoc.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="FilterEnum.h">
+ <Filter>Graph</Filter>
</ClInclude>
<ClInclude Include="GraphThread.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="MediaPositionList.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="SaveSubtitlesFileDialog.h">
- <Filter>Header Files</Filter>
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="SkypeMoodMsgHandler.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="FreeviewEPGDecode.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="FGFilterLAV.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\thirdparty\LAVFilters\LAVAudioSettings.h">
- <Filter>Header Files\LAVFilters</Filter>
+ <ClInclude Include="IGraphBuilder2.h">
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="..\thirdparty\LAVFilters\LAVSplitterSettings.h">
- <Filter>Header Files\LAVFilters</Filter>
+ <ClInclude Include="KeyProvider.h">
+ <Filter>Graph</Filter>
</ClInclude>
- <ClInclude Include="..\thirdparty\LAVFilters\LAVVideoSettings.h">
- <Filter>Header Files\LAVFilters</Filter>
+ <ClInclude Include="TextPassThruFilter.h">
+ <Filter>Graph</Filter>
+ </ClInclude>
+ <ClInclude Include="EventDispatcher.h" />
+ <ClInclude Include="MainFrm.h" />
+ <ClInclude Include="MainFrmControls.h" />
+ <ClInclude Include="MiniDump.h" />
+ <ClInclude Include="mplayerc.h" />
+ <ClInclude Include="Playlist.h" />
+ <ClInclude Include="resource.h" />
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="UpdateChecker.h" />
+ <ClInclude Include="CoverArt.h">
+ <Filter>Main View</Filter>
</ClInclude>
- <ClInclude Include="VersionInfo.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="ChildView.h">
+ <Filter>Main View</Filter>
</ClInclude>
<ClInclude Include="MouseTouch.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="TimerWrappers.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="MainFrmControls.h">
- <Filter>Header Files</Filter>
+ <Filter>Main View</Filter>
</ClInclude>
- <ClInclude Include="EventDispatcher.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="FullscreenWnd.h">
+ <Filter>Main View</Filter>
</ClInclude>
- <ClInclude Include="Shaders.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="VMROSD.h">
+ <Filter>Main View</Filter>
</ClInclude>
- <ClInclude Include="PPageShaders.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="..\..\include\version.h">
+ <Filter>Build Info</Filter>
</ClInclude>
- <ClInclude Include="DebugShadersDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerCaptureBar.h">
+ <Filter>Panels</Filter>
</ClInclude>
- <ClInclude Include="Translations.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerCaptureDialog.h">
+ <Filter>Panels</Filter>
</ClInclude>
- <ClInclude Include="ColorButton.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerNavigationBar.h">
+ <Filter>Panels</Filter>
</ClInclude>
- <ClInclude Include="PPageAdvanced.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerNavigationDialog.h">
+ <Filter>Panels</Filter>
</ClInclude>
- <ClInclude Include="SaveImageDialog.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerSubresyncBar.h">
+ <Filter>Panels</Filter>
</ClInclude>
- <ClInclude Include="CmdLineHelpDlg.h">
- <Filter>Header Files</Filter>
+ <ClInclude Include="PlayerPlaylistBar.h">
+ <Filter>Panels</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@@ -856,78 +877,15 @@
<None Include="res\toolbarw7.png">
<Filter>Resource Files</Filter>
</None>
- <None Include="res\shaders\BT601BT709.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\contour.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\deinterlace (blend).psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\denoise.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\EdgeSharpen.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\emboss.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
<None Include="res\shaders\empty.psh">
<Filter>Resource Files\shaders</Filter>
</None>
<None Include="res\shaders\final.psh">
<Filter>Resource Files\shaders</Filter>
</None>
- <None Include="res\shaders\grayscale.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\invert.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\letterbox.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\levels.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\levels2.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\levels3.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\nightvision.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\procamp.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
<None Include="res\shaders\resizer.psh">
<Filter>Resource Files\shaders</Filter>
</None>
- <None Include="res\shaders\sharpen.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\SharpenComplex.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\SharpenComplex2.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\sphere.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\spotlight.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\wave.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
- <None Include="res\shaders\YV12ChromaUpsampling.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
<None Include="res\logo.3.png">
<Filter>Resource Files</Filter>
</None>
@@ -1060,9 +1018,6 @@
<None Include="res\tickcross.png">
<Filter>Resource Files</Filter>
</None>
- <None Include="res\shaders\LCDAngleCorrection.psh">
- <Filter>Resource Files\shaders</Filter>
- </None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="mpc-hc.rc">
@@ -1080,11 +1035,6 @@
</CustomBuildStep>
</ItemGroup>
<ItemGroup>
- <Object Include="..\thirdparty\LAVFilters\src\bin_$(PlatformName)\ffmpeg\GCCInfo.o">
- <Filter>Source Files</Filter>
- </Object>
- </ItemGroup>
- <ItemGroup>
<Image Include="res\check_all.bmp">
<Filter>Resource Files</Filter>
</Image>
@@ -1098,4 +1048,9 @@
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
+ <ItemGroup>
+ <Object Include="..\thirdparty\LAVFilters\src\bin_$(PlatformName)\ffmpeg\GCCInfo.o">
+ <Filter>Build Info</Filter>
+ </Object>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
index 619b3e5f6..8164268ea 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-02 18:20+0000\n"
+"PO-Revision-Date: 2014-12-04 17:52+0000\n"
"Last-Translator: manxx55 <w6txz2@gmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -68,7 +68,7 @@ msgstr "معاينة"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
-msgstr "V/A Buffers:"
+msgstr "V/A المؤقتة:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
@@ -195,12 +195,12 @@ msgid "About"
msgstr "حول"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Authors.txt حقوق طبع © 2002-2014 انظر"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Authors.txt حقوق طبع © 2002-2015 انظر"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr " هذا البرنامج مجاني وأصدر تحت رخصة GNU رخصة جنو العمومية."
+msgstr "هذا البرنامج مجاني وأصدر تحت رخصة GNU رخصة جنو العمومية."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
@@ -472,7 +472,7 @@ msgstr "استعمل خيط العامل لبناء مخطط الÙلاتر"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
-msgstr "Report pins which fail to render"
+msgstr "عمل تقرير للهويات التي Ùشلت بالعارض"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
@@ -520,7 +520,7 @@ msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
-msgstr ""
+msgstr "تأخير الخطوة"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
@@ -596,7 +596,7 @@ msgstr "تشغيل مع"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr ""
+msgstr "استخدام إيقونة صيغة محددة"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
@@ -604,7 +604,7 @@ msgstr "تشغيل كمسؤول"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "تطبيق كإÙتراضي للبرنامج"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -688,7 +688,7 @@ msgstr "إستعمال مميزّات شريط المهام لويندوز 7"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open next/previous file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Ùتح (التالي / السابق) (رجوع خلÙÙŠ/ أمامي) ÙÙŠ الحاÙظة عندما تكون هناك مادة وحيدة ÙÙŠ قائمة التشغيل"
+msgstr "Ùتح (التالي / السابق) (رجوع خلÙÙŠ/ أمامي) ÙÙŠ الحاÙظة عندما تكون هناك مادة وحيدة ÙÙŠ قائمة التشغيل"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Use time tooltip:"
@@ -900,7 +900,7 @@ msgstr "تحذير"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
-msgstr "مشغل الوسائط الكلاسيكي - هوم سينما لا يستطيع أن يعيد البعض من التثبيت ÙÙŠ الرسم البياني، يحتمل أنه لا يوجد عندك الكودك المطلوب أو أن الÙلاتر غير مثبته على النظام"
+msgstr "مشغل الوسائط الكلاسيكي - هوم سينما لا يستطيع أن يعيد البعض من التثبيت ÙÙŠ الرسم البياني، يحتمل أنه لا يوجد عندك الكودك المطلوب أو أن الÙلاتر غير مثبته على النظام"
msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
msgid "The following pin(s) failed to find a connectable filter:"
@@ -992,11 +992,11 @@ msgstr "المساحات"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Angle (z,°)"
-msgstr "الزاوية (z,°)"
+msgstr "الزاوية (z,°)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Scale (x,%)"
-msgstr "المقياس (x,%)"
+msgstr "المقياس (x,%)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Scale (y,%)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
index f755194d2..8072e84ca 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Ahmad Abd-Elghany <tolpa1@gmail.com>, 2013-2014
@@ -9,9 +9,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 18:50+0000\n"
-"Last-Translator: Ahmad Abd-Elghany <tolpa1@gmail.com>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-12-01 22:49+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -233,11 +233,11 @@ msgstr "وضع ملء الشاشة D3D مع دعم واجهة المستخدم Ø
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
-msgstr "إخراج RGB 10-bit"
+msgstr "إخراج RGB 10-bit"
msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
msgid "Force 10-bit RGB &Input"
-msgstr "Ùرض إدخال RGB 10-bit"
+msgstr "Ùرض إدخال RGB 10-bit"
msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
msgid "&Full Floating Point Processing"
@@ -615,6 +615,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "أغلق الشاشة"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "تشغيل المل٠التالي ÙÙŠ المجلد"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "التنقل"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
index 9c0b10ed5..1140f59e5 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ar.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Abubakr Mohammed <bcs2610@hotmail.com>, 2014
@@ -12,9 +12,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-09-30 13:19+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-04 17:52+0000\n"
+"Last-Translator: manxx55 <w6txz2@gmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/mpc-hc/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -96,7 +96,7 @@ msgstr "المتوسط​​: %d مللي ثانية, المتوسط​​: %d Ù
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
-msgstr "Jitter"
+msgstr "الإهتزاز"
msgctxt "IDS_STATSBAR_BITRATE"
msgid "Bitrate"
@@ -104,7 +104,7 @@ msgstr "معدل البايت"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(avg/cur)"
+msgstr "(متوسط/الحالي)"
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -120,7 +120,7 @@ msgstr "الأستايلات"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "إذا ترك الـ rendering targeh غير معروÙØŒ سيتم إخراج ترجمات SSA / ASS بالنسبة لإطار الÙيديو ÙÙŠ حين سيتم إخراج جميع الترجمات الأخرى بالنسبة للناÙذة."
+msgstr "إذا ترك الـ rendering targeh غير معروÙØŒ سيتم إخراج ترجمات SSA / ASS بالنسبة لإطار الÙيديو ÙÙŠ حين سيتم إخراج جميع الترجمات الأخرى بالنسبة للناÙذة."
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -424,7 +424,7 @@ msgstr "&اعادة تعيين"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr " تأخير الترجمة -"
+msgstr "تأخير الترجمة -"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
@@ -628,7 +628,7 @@ msgstr "Ù†Ùس الـ VMR-9 ولكنه (عارض أقل)ØŒ لكن إستعمال
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
-msgstr "الإتصال بأيّ Ùيديو مثل نوع الوسائط وسيرسل العينات ليÙحصها ليس ÙÙŠ أي مكان. إستعمله إذا كنت لست بحاجة إلى عرض الÙيديو وأردت توÙير وحدة المعالجة المركزية من عمل غير ضروري."
+msgstr "الإتصال بأيّ Ùيديو مثل نوع الوسائط وسيرسل العينات ليÙحصها ليس ÙÙŠ أي مكان. إستعمله إذا كنت لست بحاجة إلى عرض الÙيديو وأردت توÙير وحدة المعالجة المركزية من عمل غير ضروري."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
@@ -656,11 +656,11 @@ msgstr "العارض الخاص لـ Real's. مخطوطات SMIL ستعمل، ل
msgctxt "IDC_RMDX7"
msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ناتج عارض محرّك لـ Real's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
+msgstr "ناتج عارض محرّك لـ Real's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "ناتج عارض محرّك لـ Real's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
+msgstr "ناتج عارض محرّك لـ Real's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
@@ -668,11 +668,11 @@ msgstr "عارض QuickTime's الخاص. يصبح بطيئاً إلى حدّ Ù…Ø
msgctxt "IDC_QTDX7"
msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
+msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX7 ويستند على خصائص متقدّمة من VMR-7 (عارض أقل)."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
+msgstr "ناتج عارض محرّك لـ QuickTime's من قبل DX9 ويستند على خصائص متقدّمة من VMR-9 (عارض أقل)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
@@ -795,7 +795,7 @@ msgid "Couldn't find all archive volumes"
msgstr "لا يستطيع أن يجد كلّ أحجام الأرشيÙ"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "سطح Ùيديو سيخصّص كتركيب لكن ما زالت وظائ٠2d ستكون مستعمله للنسخ وإمتداد للذاكرة المؤقتة. يتطلّب بطاقة Ùيديو الذي يمكن أن يخصّص 32 بت، RGBAØŒ بدون قوّة تحجيم التركيب وبحجم أقل ÙÙŠ تصميم الÙيديو."
msgctxt "IDC_TEXTURESURF3D"
@@ -856,7 +856,7 @@ msgstr "لا تسمح بتحريك الترجمة. تÙعيل هذا الخياØ
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr "زيادة معدل تخزين الصور الÙرعية ينبغي بصÙØ© عامة أن ÙŠÙحسن أداء الريندرنج على حساب معدل استخدام وحدة التخزين ÙÙŠ كارت الشاشة."
+msgstr "زيادة معدل تخزين الصور الÙرعية ينبغي بصÙØ© عامة أن ÙŠÙحسن أداء الريندرنج على حساب معدل استخدام وحدة التخزين ÙÙŠ كارت الشاشة."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -1336,11 +1336,47 @@ msgstr "الحد الأقصى (NxNpx) من الأغطية الÙنية يتم ت
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "سيتم Ø®Ùض التأخير للترجمة/بالنسبة لزيادة هذه القيمة ÙÙŠ كل مرة استخدم Ù…Ùاتيح التشغيل السريع المطابق للمستعملة (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<غير معرّÙ>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "الساعة"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "تحريك لإعلى"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "تحريك لإسÙÙ„"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "الترتيب بـLCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "إزالة الكل"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "هل أنت متأكد بأنك تريد إزالة جميع القنوات من القائمة؟"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "لا توجد معلومات متاحة"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "الرجاء الإنتظار، التحليل مستمرّ.."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1508,7 +1544,7 @@ msgstr "إعادة ضبظ الإعدادات"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "هل أنت متأكّد بأنك تريد إعادة MPC-HC إلى الضبط الأÙتراضي؟\nكن حذراً Ùكلّ الضبط الحالي ستÙقدة!"
+msgstr "هل أنت متأكّد بأنك تريد إعادة MPC-HC إلى الضبط الأÙتراضي؟\nكن حذراً Ùكلّ الضبط الحالي ستÙقدة!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1543,12 +1579,12 @@ msgid "Reset Rate"
msgstr "إعادة ضبط المعدل"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr " تأخير الصوت +10ms "
+msgid "Audio Delay +10 ms"
+msgstr "تأخير الصوت +10ms "
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr " تأخير الصوت -10ms "
+msgid "Audio Delay -10 ms"
+msgstr "تأخير الصوت -10ms "
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1600,7 +1636,7 @@ msgstr "المل٠السابق"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "تبديل D3D ملء الشاشة"
+msgstr "تبديل D3D ملء الشاشة"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
@@ -1703,12 +1739,12 @@ msgid "No subtitles found."
msgstr "لم يجد ترجمة"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d ترجمة متوÙرة"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "هل تريد الÙحص بشكل دوري على تحديثات MPC-HCØŸ\nيمكن تعطيل هذه الخاصية ÙÙŠ وقت لاحق من صÙحة الخيارات المتنوعة."
+msgstr "هل تريد الÙحص بشكل دوري على تحديثات MPC-HCØŸ\n\nيمكن تعطيل هذه الخاصية ÙÙŠ وقت لاحق من صÙحة الخيارات المتنوعة."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2031,12 +2067,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "الصوت: %02lu/%02luØŒ العنوان: %02lu/%02luØŒ الÙصل: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "الزاوية: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u هرتز %d بت %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2048,7 +2084,7 @@ msgstr "تشغيل مع MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "MPC-HC ليس لديه إمتيازات كاÙيه حتى يغيّر روابط صيغ الملÙات. الرجاء إنقر على زر \"تشغيل كمستخدم\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2143,19 +2179,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", الإجمالي: %ld، المسقطة: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", الحجم: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", الحجم: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", حر: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", حر: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2180,7 +2216,7 @@ msgstr "حدد المسار لـلـDVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "تم التحميل بنجاح"
+msgstr " تم التحميل بنجاح"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2243,7 +2279,7 @@ msgid "Aspect Ratio: Default"
msgstr "النسبة الباعية: اÙتراضي"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "تأخير الصوت: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2412,7 +2448,7 @@ msgstr "&الخصائص"
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "(دبوس) خصائص..."
+msgstr " (دبوس) خصائص..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2428,11 +2464,11 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(تعليقات المخرج 1)"
+msgstr " (تعليقات المخرج 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(تعليقات المخرج 2)"
+msgstr " (تعليقات المخرج 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2483,8 +2519,8 @@ msgid "Volume boost Max"
msgstr "أقصى تعزيز للصوت"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "طريقة الاستعمال: mpc-hc.exe \"pathname\" [المÙاتيح]\n\n\"pathname\"\tالمل٠الرئيسي او المجلد الذي سيتم تحميله (حر٠بدل\n\t\tمسموح, \"-\" يدل على المدخل القياسي)\n/dub \"dubname\"\tتحميل مل٠صوت إضاÙÙŠ\n/dubdelay \"file\"\tتحميل مل٠صوت إضاÙÙŠ مزاح بـ XXms (إذا كان\n\t\tالمل٠يحتوي على \"...DELAY XXms...\")\n/d3dfs\t\tبدء التصيير ÙÙŠ وضع ملء الشاشة D3D\n/sub \"subname\"\tتحميل مل٠ترجمة إضاÙÙŠ\n/filter \"filtername\"\tتحميل Ùلاتر DirectShow من مكتبة الروابط\n\t\tالديناميكية (أحر٠البدل مسموحة)\n/dvd\t\tتشغيل ÙÙŠ وضع DVD, \"pathname\" تعني الـDVD\n\t\tالمجلد (اختياري)\n/dvdpos T#C\tبدء التشغيل ÙÙŠ العنوان T, Ùصل C\n/dvdpos T#hh:mm\tبدء التشغيل ÙÙŠ العنوان T, موقع hh:mm:ss\n/cd\t\tتحميل كل مسارات audio cd أو (s)vcd,\n\t\t\"pathname\" يعني مسار محرك الأقراص (اختياري)\n/device\t\tÙتح جهاز الÙيديو الاÙتراضي\n/open\t\tاÙتح الملÙØŒ لا تبدأ التشغيل تلقائيا\n/play\t\tبدء تشغيل المل٠عند بدء\n\t\tالمشغل\n/close\t\tإغلاق المشغل بعد نهاية العرض (يعمل Ùقط عند\n\t\tاستعماله مع /play)\n/shutdown\tإيقا٠تشغيل نظام التشغيل بعد العرض\n/fullscreen\tالبدء ÙÙŠ وضع ملء الشاشة\n/minimized\tالبدء ÙÙŠ الوضع المصغر\n/new\t\tاستخدام مثيل جديد من المشغل\n/add\t\tإضاÙØ© \"pathname\" إلى قائمة التشغيل، يمكن دمجه\n\t\tمع /open Ùˆ /play\n/regvid\t\tإنشاء اقترانات الملÙات لملÙات الÙيديو\n/regaud\t\tإنشاء اقترانات الملÙات لملÙات الصوت\n/regpl\t\tإنشاء اقترانات الملÙات لملÙات قائمة التشغيل\n/regall\t\tإنشاء اقترانات الملÙات لجميع الملÙات المدعومة\n/unregall\t\tإزالة جميع اقترانات الملÙات\n/start ms\t\tبدء العرض عند \"ms\" (= ميلي ثانية)\n/startpos hh:mm:ss\tبدء العرض عند موضع hh:mm:ss\n/fixedsize w,h\tتعيين حجم ناÙذة ثابت\n/monitor N\tبدء المشغل على الشاشة NØŒ حيث N تبدأ من 1\n/audiorenderer N\tالبدء باستعمال مصيير الصوت NØŒ حيث N تبدأ من 1\n\t\t( راجع اعدادات \"المخرجات\" )\n/shaderpreset \"Pr\"\tالبدء باستعمال الاعدادات المسبقة \"Pr\" للمظلل\n/reset\t\tاستعادة الإعدادات الاÙتراضية\n/help /h /?\tعرض التعليمات حول Ù…Ùاتيح سطر الأوامر\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "طريقة الاستعمال: mpc-hc.exe \"pathname\" [المÙاتيح]\n\n\"pathname\"\tالمل٠الرئيسي او المجلد الذي سيتم تحميله (حر٠بدل\n\t\tمسموح, \"-\" يدل على المدخل القياسي)\n/dub \"dubname\"\tتحميل مل٠صوت إضاÙÙŠ\n/dubdelay \"file\"\tتحميل مل٠صوت إضاÙÙŠ مزاح بـ XXms (إذا كان\n\t\tالمل٠يحتوي على \"...DELAY XXms...\")\n/d3dfs\t\tبدء التصيير ÙÙŠ وضع ملء الشاشة D3D\n/sub \"subname\"\tتحميل مل٠ترجمة إضاÙÙŠ\n/filter \"filtername\"\tتحميل Ùلاتر DirectShow من مكتبة الروابط\n\t\tالديناميكية (أحر٠البدل مسموحة)\n/dvd\t\tتشغيل ÙÙŠ وضع DVD, \"pathname\" تعني الـDVD\n\t\tالمجلد (اختياري)\n/dvdpos T#C\tبدء التشغيل ÙÙŠ العنوان T, Ùصل C\n/dvdpos T#hh:mm\tبدء التشغيل ÙÙŠ العنوان T, موقع hh:mm:ss\n/cd\t\tتحميل كل مسارات audio cd أو (s)vcd,\n\t\t\"pathname\" يعني مسار محرك الأقراص (اختياري)\n/device\t\tÙتح جهاز الÙيديو الاÙتراضي\n/open\t\tاÙتح الملÙØŒ لا تبدأ التشغيل تلقائيا\n/play\t\tبدء تشغيل المل٠عند بدء\n\t\tالمشغل\n/close\t\tإغلاق المشغل بعد نهاية العرض (يعمل Ùقط عند\n\t\tاستعماله مع /play)\n/shutdown\tإيقا٠تشغيل نظام التشغيل بعد العرض\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tالبدء ÙÙŠ وضع ملء الشاشة\n/minimized\tالبدء ÙÙŠ الوضع المصغر\n/new\t\tاستخدام مثيل جديد من المشغل\n/add\t\tإضاÙØ© \"pathname\" إلى قائمة التشغيل، يمكن دمجه\n\t\tمع /open Ùˆ /play\n/regvid\t\tإنشاء اقترانات الملÙات لملÙات الÙيديو\n/regaud\t\tإنشاء اقترانات الملÙات لملÙات الصوت\n/regpl\t\tإنشاء اقترانات الملÙات لملÙات قائمة التشغيل\n/regall\t\tإنشاء اقترانات الملÙات لجميع الملÙات المدعومة\n/unregall\t\tإزالة جميع اقترانات الملÙات\n/start ms\t\tبدء العرض عند \"ms\" (= ميلي ثانية)\n/startpos hh:mm:ss\tبدء العرض عند موضع hh:mm:ss\n/fixedsize w,h\tتعيين حجم ناÙذة ثابت\n/monitor N\tبدء المشغل على الشاشة NØŒ حيث N تبدأ من 1\n/audiorenderer N\tالبدء باستعمال مصيير الصوت NØŒ حيث N تبدأ من 1\n\t\t( راجع اعدادات \"المخرجات\" )\n/shaderpreset \"Pr\"\tالبدء باستعمال الاعدادات المسبقة \"Pr\" للمظلل\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tاستعادة الإعدادات الاÙتراضية\n/help /h /?\tعرض التعليمات حول Ù…Ùاتيح سطر الأوامر\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3282,6 +3318,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "إستعادة المستوى: مغلق"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "بايت"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3344,11 +3384,11 @@ msgstr "لا يستطيع تأطير الخطوة، حاول بعارض Ùيدي
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr " \"Ø­Ùظ الصورة\" Ùˆ \"Ø­Ùظ المصغرات\" هذه الوظائ٠لاتعمل بعارض الÙيديو الإÙتراضي لـ RealMedia.\nاختر احدى عارض DirectX لـ RealMedia ÙÙŠ MPC-HC's لخيارات الناتج واعد Ùتح الملÙ."
+msgstr "\"Ø­Ùظ الصورة\" Ùˆ \"Ø­Ùظ المصغرات\" هذه الوظائ٠لاتعمل بعارض الÙيديو الإÙتراضي لـ RealMedia.\nاختر احدى عارض DirectX لـ RealMedia ÙÙŠ MPC-HC's لخيارات الناتج واعد Ùتح الملÙ."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr " \"Ø­Ùظ الصورة\" Ùˆ \"Ø­Ùظ المصغرات\" هذه الوظائ٠لاتعمل بعارض الÙيديو الإÙتراضي لـ QuickTime.\nاختر احدى عارض DirectX لـ QuickTime ÙÙŠ MPC-HC's لخيارات الناتج واعد Ùتح الملÙ."
+msgstr "\"Ø­Ùظ الصورة\" Ùˆ \"Ø­Ùظ المصغرات\" هذه الوظائ٠لاتعمل بعارض الÙيديو الإÙتراضي لـ QuickTime.\nاختر احدى عارض DirectX لـ QuickTime ÙÙŠ MPC-HC's لخيارات الناتج واعد Ùتح الملÙ."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3458,6 +3498,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "بعد التشغيل: أغلق الشاشة"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "بعد نهاية التشغيل: تشغيل المل٠التالي ÙÙŠ المجلد"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "بعد نهاية التشغيل: لا تÙعل شيئ"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "السطوع: %s"
@@ -3516,23 +3564,23 @@ msgstr "القنوات"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "إذا تم إختيار \"الإطار المÙتاحي الأحدث\"ØŒ إبحث عن الإطار المÙتاحي الأول قبل نقطة البحث الحالية\nإذا تم إختيار \"الإطار المÙتاحي الأقرب\"ØŒ إبحث عن الإطار المÙتاحي الأول قبل نقطة البحث الحالية إعتماداً علي أيها الأقرب"
+msgstr "إذا تم إختيار \"الإطار المÙتاحي الأحدث\"ØŒ إبحث عن الإطار المÙتاحي الأول قبل نقطة البحث الحالية\nإذا تم إختيار \"الإطار المÙتاحي الأقرب\"ØŒ إبحث عن الإطار المÙتاحي الأول قبل نقطة البحث الحالية إعتماداً علي أيها الأقرب"
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr ""
+msgstr "ربط مع كل الصيغ"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr ""
+msgstr "ربط مع صيغ الÙيديو Ùقط"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr ""
+msgstr "ربط مع صيغ الأصوات Ùقط"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr ""
+msgstr "إلغاء تحديد كل الصيغ"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
index b1bc6f272..4b1557c10 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -153,7 +153,7 @@ msgstr "Ðдкрыць"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "УвÑдзіце Ð°Ð´Ñ€Ð°Ñ Ñ„Ñ–Ð»ÑŒÐ¼Ð° або аўдыёфайла\n(у ІнтÑрнÑÑ‚ або на вашым кампутары)"
+msgstr "УвÑдзіце Ð°Ð´Ñ€Ð°Ñ Ñ„Ñ–Ð»ÑŒÐ¼Ð° або аўдыёфайла (у ІнтÑрнÑÑ‚ або на вашым кампутары)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -188,8 +188,8 @@ msgid "About"
msgstr "Пра праграму"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 глÑдзiце файл Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 глÑдзiце файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -689,7 +689,7 @@ msgstr "Паказваць чаÑ:"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "OSD font:"
-msgstr "OSD Шрыфт"
+msgstr "OSD Шрыфт"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
msgid "Enable Logitech LCD support (experimental)"
@@ -1497,7 +1497,7 @@ msgstr "Уніз"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
msgid "Apply default monitor mode on fullscreen exit"
-msgstr "УÑтал. Ñтандарт. налады пры выхадзе з поўнаÑкр. Ñ€Ñжыму"
+msgstr "УÑтал. Ñтандарт. налады пры выхадзе з поўнаÑкр. Ñ€Ñжыму"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
msgid "Restore resolution on program exit"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
index 42d52a1fe..5f0db9a5b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
msgid ""
@@ -611,6 +611,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&ÐавігацыÑ"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
index 354d03c01..e48214acd 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.be.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Underground78, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Belarusian (http://www.transifex.com/projects/p/mpc-hc/language/be/)\n"
"MIME-Version: 1.0\n"
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr ""
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ÐŸÐ°Ð²ÐµÑ€Ñ…Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð´Ñа вылучаецца Ñк Ñ‚ÑкÑтура, але Ð´Ð»Ñ ÐºÐ°Ð¿Ñ–ÑÐ²Ð°Ð½Ð½Ñ Ñ– раÑцÑжÑÐ½Ð½Ñ Ð²Ñ–Ð´Ñа Ñž буфер выкарыÑтоўваюцца функцыі 2D. Патрабуе наÑўнаÑці відÑакарты, ÑÐºÐ°Ñ Ð¼Ð¾Ð¶Ð° вылучаць 32bit RGBA Ñ‚ÑкÑтуры з памерамі не кратнымі 2, хоць бы Ñž адрозненні відÑа."
msgctxt "IDC_TEXTURESURF3D"
@@ -878,7 +878,7 @@ msgstr "Крок\nКрок"
msgctxt "ID_PLAY_DECRATE"
msgid "Decrease speed\nDecrease speed"
-msgstr "Паменшыць хуткаÑць\nПаменшыць хуткаÑць"
+msgstr "Паменшыць хуткаÑць\nПаменшыць хуткаÑць"
msgctxt "ID_PLAY_INCRATE"
msgid "Increase speed\nIncrease speed"
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "ВышÑй"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "ÐіжÑй"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Ðдкрыць прыладу"
@@ -1537,11 +1573,11 @@ msgid "Reset Rate"
msgstr "Скінуць хуткаÑць у 100%"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Затрымка аўдыё +10мÑ"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Затрымка аўдыё -10мÑ"
msgctxt "IDS_MPLAYERC_23"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "Субтытры Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Ñубтытраў даÑтупна."
+msgid "%d subtitle(s) available."
+msgstr "%d Ñубтытраў даÑтупна."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,11 +2061,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Том: %02lu/%02lu Падзел: %02lu/%02lu СцÑна: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Вугал: %02lu/%02lu %lux%lu %luГц %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s %s %u Гц %d біт %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2134,27 +2170,27 @@ msgstr "Прапорцыі"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
-msgstr " УÑÑго: %ld Страчана: %ld"
+msgstr ", УÑÑго: %ld Страчана: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr " Памер: %I64dКб"
+msgid ", Size: %I64d KB"
+msgstr ", Памер: %I64dКб"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr " Памер: %I64dМб"
+msgid ", Size: %I64d MB"
+msgstr ", Памер: %I64dМб"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr " Вольна: %I64dКб"
+msgid ", Free: %I64d KB"
+msgstr ", Вольна: %I64dКб"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr " Вольна: %I64dМб"
+msgid ", Free: %I64d MB"
+msgstr ", Вольна: %I64dМб"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr " Вольна буфераў: %03d/%03d"
+msgstr ", Вольна буфераў: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2237,7 +2273,7 @@ msgid "Aspect Ratio: Default"
msgstr "Прапорцыі: ÑтандартныÑ"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Затрымка аўдыё: %I64dмÑ"
msgctxt "IDS_AG_CHAPTER"
@@ -2298,7 +2334,7 @@ msgstr "БÑгучы"
msgctxt "IDS_MPC_CRASH"
msgid "MPC-HC terminated unexpectedly. To help us fix this problem, please send this file \"%s\" to our bug tracker.\n\nDo you want to open the folder containing the minidump file and visit the bug tracker now?"
-msgstr "Праца MPC-HC нечакана была Ñпынена. Каб дапамагчы нам выправіць гÑтую памылку, калі лаÑка, дашліце файл '%s' на mpchomecinema@gmail.com."
+msgstr ""
msgctxt "IDS_MPC_MINIDUMP_FAIL"
msgid "Failed to create dump file to \"%s\" (error %u)"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Узмацненне гучнаÑці - Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ВыкарыÑтанне: mpc-hc.exe \"шлÑÑ…\" [перамыкачы]\n\n\"шлÑÑ…\"\tФайл або каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– (Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ð¼Ð°Ñкі, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузiць дадатковы гукавы файл\n/dubdelay \"file\"\tЗагрузiць дадатковы гукавы файл Ñа зрушÑннем XXмÑ\n(калі файл утрымлівае \"...DELAY XXms...\")\n/d3dfs\t\tСтартаваць у поўнаÑкранным D3D Ñ€Ñжыме\n/sub \"subname\"\tЗагрузiць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ñубтытры\n/filter \"filtername\"\tЗагрузiць фільтры DirectShow з бібліÑÑ‚Ñкі (Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ð¼Ð°Ñкі)\n/dvd\t\tЗапуÑк у Ñ€Ñжыме DVD \"шлÑÑ…\" азначае каталог з DVD (апцыÑнальна)\n/cd\t\tЗагрузіць уÑе дарожкі Audio CD або (S)VCD \"шлÑÑ…\" азначае шлÑÑ… да кружÑлкі (апцыÑнальна)\n/device\t\tOpen the default video device\n/open\t\tТолькi адкрыць файл\n/play\t\tПачынаць прайграванне адразу паÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку\n/close\t\tЗакрыць па канчатку Ð¿Ñ€Ð°Ð¹Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ (працуе толькі з перамыкачом /play)\n/shutdown\tВыключыць кампутар па канчатку прайграваннÑ\n/fullscreen\tЗапуÑк у поўнаÑкранным Ñ€Ñжыме\n/minimized\tЗапуÑк у згорнутым выглÑдзе\n/new\t\tВыкарÑтаць новую копію прайгравальніка\n/add\t\tДадаць \"шлÑÑ…\" у плÑйліÑÑ‚ можна ÑумеÑна з /open Ñ– /play\n/regvid\t\tРÑгіÑтраваць відÑафарматы\n/regaud\t\tРÑгіÑтраваць аўдыёфарматы\n/unregvid\t\tРазрÑгіÑтраваць відÑафарматы\n/unregaud\tРазрÑгіÑтраваць аўдыёфарматы\n/start ms\t\tПрайграваць з пазіцыі \"ms\" (= міліÑекунды)\n/fixedsize wh\tУÑталÑваць фікÑаваны памер акна\n/monitor N\tЗапуÑкацца на маніторы N дзе N адлічваецца з 1\n/audiorenderer N\tВыкарыÑтаць аўдыёрÑндÑÑ€ N, дзе N адлічваецца з 1\n\t\t(глÑдзіце налады \"Вывад\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/help /h /?\tПаказвае гÑтую даведку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "ВыкарыÑтанне: mpc-hc.exe \"шлÑÑ…\" [перамыкачы]\n\n\"шлÑÑ…\"\tФайл або каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑ– (Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ð¼Ð°Ñкі, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузiць дадатковы гукавы файл\n/dubdelay \"file\"\tЗагрузiць дадатковы гукавы файл Ñа зрушÑннем XXмÑ\n(калі файл утрымлівае \"...DELAY XXms...\")\n/d3dfs\t\tСтартаваць у поўнаÑкранным D3D Ñ€Ñжыме\n/sub \"subname\"\tЗагрузiць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ñубтытры\n/filter \"filtername\"\tЗагрузiць фільтры DirectShow з бібліÑÑ‚Ñкі (Ð´Ð°Ð·Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ð¼Ð°Ñкі)\n/dvd\t\tЗапуÑк у Ñ€Ñжыме DVD \"шлÑÑ…\" азначае каталог з DVD (апцыÑнальна)\n/cd\t\tЗагрузіць уÑе дарожкі Audio CD або (S)VCD \"шлÑÑ…\" азначае шлÑÑ… да кружÑлкі (апцыÑнальна)\n/device\t\tOpen the default video device\n/open\t\tТолькi адкрыць файл\n/play\t\tПачынаць прайграванне адразу паÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку\n/close\t\tЗакрыць па канчатку Ð¿Ñ€Ð°Ð¹Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ (працуе толькі з перамыкачом /play)\n/shutdown\tВыключыць кампутар па канчатку прайграваннÑ\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуÑк у поўнаÑкранным Ñ€Ñжыме\n/minimized\tЗапуÑк у згорнутым выглÑдзе\n/new\t\tВыкарÑтаць новую копію прайгравальніка\n/add\t\tДадаць \"шлÑÑ…\" у плÑйліÑÑ‚ можна ÑумеÑна з /open Ñ– /play\n/regvid\t\tРÑгіÑтраваць відÑафарматы\n/regaud\t\tРÑгіÑтраваць аўдыёфарматы\n/unregvid\t\tРазрÑгіÑтраваць відÑафарматы\n/unregaud\tРазрÑгіÑтраваць аўдыёфарматы\n/start ms\t\tПрайграваць з пазіцыі \"ms\" (= міліÑекунды)\n/fixedsize wh\tУÑталÑваць фікÑаваны памер акна\n/monitor N\tЗапуÑкацца на маніторы N дзе N адлічваецца з 1\n/audiorenderer N\tВыкарыÑтаць аўдыёрÑндÑÑ€ N, дзе N адлічваецца з 1\n\t\t(глÑдзіце налады \"Вывад\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/help /h /?\tПаказвае гÑтую даведку\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "ÐднаўлÑць гучнаÑць: Ðдкл"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr ""
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "ЯркаÑць: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
index ecb6d35d0..bd3e2f9af 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# mehzad, 2014
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Bengali (http://www.transifex.com/projects/p/mpc-hc/language/bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "MPC-HC বিষয়ক"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "কপিরাইট © ২০০২-২০১৪ বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ দেখà§à¦¨ Authors.txtà¦"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "কপিরাইট © ২০০২-২০১৫ বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ দেখà§à¦¨ Authors.txtà¦"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
index 5a417b8c5..10f602a27 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# mehzad, 2014
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "মনিটর বনà§à¦§ করি(&M)"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "নà§à¦¯à¦¾à¦­à¦¿à¦—েট(&N)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
index bcee11e47..3841ec53a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.bn.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# mehzad, 2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Bengali (http://www.transifex.com/projects/p/mpc-hc/language/bn/)\n"
"MIME-Version: 1.0\n"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "সবগà§à¦²à§‹ আরà§à¦•à¦¾à¦‡à¦­ খনà§à¦¡ পাওয়া যাচà§à¦›à§‡ না"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ভিডিও উপরিতলটি à¦à¦•à¦Ÿà¦¿ টেকà§à¦¸à¦šà¦¾à¦° হিসেবে নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ হবে কিনà§à¦¤à§ তারপরও দà§à¦¬à¦¿à¦®à¦¾à¦¤à§à¦°à¦¿à¦• ফাংশনসমূহ সেটা পিছনবাফারে কপি à¦à¦¬à¦‚ বিসà§à¦¤à§ƒà¦¤à¦¿ করণে বà§à¦¯à¦¬à¦¹à§ƒà¦¤ হবে। à¦à¦®à¦¨ ভিডিও কারà§à¦¡ লাগবে যেটা 32bit, RGBA, দà§à¦‡à§Ÿà§‡à¦°-শকà§à¦¤à¦¿à¦¤à§‡-নয় à¦à¦®à¦¨ সাইজকৃত টেকà§à¦¸à¦šà¦¾à¦°à¦¸à¦®à§‚হ à¦à¦¬à¦‚ অনà§à¦¤à¦¤ ভিডিওর রেজà§à¦¯à§à¦²à§‚শন নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ করতে পারে।"
msgctxt "IDC_TEXTURESURF3D"
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "উপরে উঠাই"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "নিচে নামাই"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "ডিভাইস খà§à¦²à¦¿"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "গতি পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¾à¦¸ করি"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "অডিও বিলমà§à¦¬à¦¨ +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "অডিও বিলমà§à¦¬à¦¨ -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,8 +1734,8 @@ msgid "No subtitles found."
msgstr "কোনো সাবটাইটেল পাওয়া যায় নি।"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d টি সাবটাইটেল(সমূহ) পাওয়া গেছে"
+msgid "%d subtitle(s) available."
+msgstr "%d টি সাবটাইটেল(সমূহ) পাওয়া গেছে"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2026,12 +2062,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "ভলিউম: %02lu/%02lu, টাইটেল: %02lu/%02lu, পরিচà§à¦›à§‡à¦¦: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "কà§à¦¯à¦¾à¦®à§‡à¦°à¦¾ অà§à¦¯à¦¾à¦™à§à¦—েল: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", মোট: %ld, বাদ গেছে: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", সাইজ: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", সাইজ: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", খালি রয়েছে: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", খালি রয়েছে: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "অà§à¦¯à¦¾à¦¸à¦ªà§‡à¦•à§à¦Ÿ রেশিও: ডিফলà§à¦Ÿ"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "অডিও বিলমà§à¦¬à¦¨: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2423,7 +2459,7 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(পরিচালকের মনà§à¦¤à¦¬à§à¦¯à¦¸à¦®à§‚হ ১)"
+msgstr " (পরিচালকের মনà§à¦¤à¦¬à§à¦¯à¦¸à¦®à§‚হ ১)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "ভলিউমের উনà§à¦¨à¦¤à¦¿à¦¸à¦¾à¦§à¦¨ সরà§à¦¬à§‹à¦šà§à¦š"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦¬à¦¿à¦§à¦¿: mpc-hc.exe \"pathname\" [নিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦¸à¦®à§‚হ]\n\n\"pathname\"\tযে মূল ফাইল বা ডিরেকà§à¦Ÿà¦°à¦¿ লোড করা হবে (ওয়াইলà§à¦¡à¦•à¦¾à¦°à§à¦¡ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ\n\t\tবà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে, সাধারণ ইনপà§à¦Ÿà¦Ÿà¦¿ \"-\" চিহà§à¦¨ দà§à¦¬à¦¾à¦°à¦¾ সূচিত করà§à¦¨)\n/dub \"dubname\"\tঅতিরিকà§à¦¤ অডিও ফাইল লোড করণ\n/dubdelay \"file\"\tঅতিরিকà§à¦¤ অডিও ফাইল XXms সময়ের সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করে লোড করণ\n\t\t(যদি ফাইলটিতে \"...DELAY XXms...\" থেকে থাকে)\n/d3dfs\t\tD3D ফà§à¦²à¦¸à§à¦•à§à¦°à§€à¦¨ মà§à¦¡à§‡ রেনডার করা শà§à¦°à§ করণ\n/sub \"subname\"\tঅতিরিকà§à¦¤ সাবটাইটেল ফাইল লোড করণ\n/filter \"filtername\"\tডাইনামিক লিঙà§à¦• লাইবà§à¦°à§‡à¦°à¦¿ থেকে DirectShow ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ লোড\n\t\tকরণ (ওয়াইলà§à¦¡à¦•à¦¾à¦°à§à¦¡ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে)\n/dvd\t\tDVD মà§à¦¡à§‡ চালনা করণ, \"pathname\" হবে dvd ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ (à¦à¦šà§à¦›à¦¿à¦•)\n/dvdpos T#C\tটাইটেল T à¦à¦° পরিচà§à¦›à§‡à¦¦ C থেকে পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করণ\n/dvdpos T#hh:mm\tটাইটেল T à¦à¦° অবসà§à¦¥à¦¾à¦¨à¦•à¦¾à¦² hh:mm:ss থেকে পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করণ\n/cd\t\tcd বা (s)vcd à¦à¦° সকল টà§à¦°à§à¦¯à¦¾à¦•à¦¸à¦®à§‚হ লোড করণ, \"pathname\" হবে ডà§à¦°à¦¾à¦‡à¦­à§‡à¦°\n\t\tঠিকানাটি (à¦à¦šà§à¦›à¦¿à¦•)\n/device\t\tডিফলà§à¦Ÿ ভিডিও ডিভাইসটি চালনা করণ\n/open\t\tফাইলটি চালনা করণ, সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করবে না\n/play\t\tপà§à¦²à§‡à§Ÿà¦¾à¦°à¦Ÿà¦¿ চালনার সাথে সাথেই ফাইলটি পà§à¦²à§‡ করা শà§à¦°à§ করণ\n/close\t\tপà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শেষে পà§à¦²à§‡à§Ÿà¦¾à¦°à¦Ÿà¦¿ বনà§à¦§ করণ (শà§à¦§à§à¦®à¦¾à¦¤à§à¦° কাজ করবে যখন /play\n\t\tনিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦Ÿà¦¿à¦° সাথে বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হবে)\n/shutdown\tপà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শেষে অপারেটিং সিসà§à¦Ÿà§‡à¦®à¦Ÿà¦¿ শাটডাউন করণ\n/fullscreen\tফà§à¦²-সà§à¦•à§à¦°à§€à¦¨ মà§à¦¡à§‡ চালনা করণ\n/minimized\tমিনিমাইজডà§â€Œ মà§à¦¡à§‡ চালনা করণ\n/new\t\tনতà§à¦¨ আরেকটি পà§à¦²à§‡à§Ÿà¦¾à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦°\n/add\t\t\"pathname\" পà§à¦²à§‡à¦²à¦¿à¦¸à§à¦Ÿà§‡ যোগ করণ, /open আর /play à¦à¦° সাথে à¦à¦•à¦¤à§à¦°à§‡\n\t\tবà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে\n/regvid\t\tভিডিও ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regaud\t\tঅডিও ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regpl\t\tপà§à¦²à§‡à¦²à¦¿à¦¸à§à¦Ÿ ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regall\t\tসমরà§à¦¥à¦¨ করে à¦à¦®à¦¨ সকল ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/unregall\t\tসকল ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ অপসারণ\n/start ms\t\t\"ms\" (= মিলিসেকেনà§à¦¡) থেকে পà§à¦²à§‡ শà§à¦°à§ করণ\n/startpos hh:mm:ss\thh:mm:ss অবসà§à¦¥à¦¾à¦¨à¦•à¦¾à¦² থেকে পà§à¦²à§‡ শà§à¦°à§ করণ\n/fixedsize w,h\tউইনà§à¦¡à§‹à¦° সাইজ নিরà§à¦¦à¦¿à¦·à§à¦Ÿà¦•à¦°à¦£Set a fixed window size\n/monitor N\tমনিটর Nঠপà§à¦²à§‡à§Ÿà¦¾à¦° চালনা করণ, যেখানে Nà¦à¦° মান ১ থেকে শà§à¦°à§ হয়\n/audiorenderer N\tঅডিও রেনডারার N বà§à¦¯à¦¬à¦¹à¦¾à¦° শà§à¦°à§ করণ, যেখানে Nà¦à¦° মান ১\n\t\tথেকে শà§à¦°à§ হয় (বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ দেখà§à¦¨ \"Output\" সেটিংসমূহে)\n/shaderpreset \"Pr\"\t\"Pr\" শেইডার পà§à¦°à¦¿à¦¸à§‡à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦° শà§à¦°à§ করণ\n/reset\t\tডিফলà§à¦Ÿ সেটিংসমূহে পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¾à¦¸ করণ\n/help /h /?\tকমানà§à¦¡ লাইনের নিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦¸à¦®à§‚হ সমà§à¦ªà¦°à§à¦•à§‡ সহায়িকা পà§à¦°à¦¦à¦°à§à¦¶à¦¨\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦¬à¦¿à¦§à¦¿: mpc-hc.exe \"pathname\" [নিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦¸à¦®à§‚হ]\n\n\"pathname\"\tযে মূল ফাইল বা ডিরেকà§à¦Ÿà¦°à¦¿ লোড করা হবে (ওয়াইলà§à¦¡à¦•à¦¾à¦°à§à¦¡ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ\n\t\tবà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে, সাধারণ ইনপà§à¦Ÿà¦Ÿà¦¿ \"-\" চিহà§à¦¨ দà§à¦¬à¦¾à¦°à¦¾ সূচিত করà§à¦¨)\n/dub \"dubname\"\tঅতিরিকà§à¦¤ অডিও ফাইল লোড করণ\n/dubdelay \"file\"\tঅতিরিকà§à¦¤ অডিও ফাইল XXms সময়ের সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করে লোড করণ\n\t\t(যদি ফাইলটিতে \"...DELAY XXms...\" থেকে থাকে)\n/d3dfs\t\tD3D ফà§à¦²à¦¸à§à¦•à§à¦°à§€à¦¨ মà§à¦¡à§‡ রেনডার করা শà§à¦°à§ করণ\n/sub \"subname\"\tঅতিরিকà§à¦¤ সাবটাইটেল ফাইল লোড করণ\n/filter \"filtername\"\tডাইনামিক লিঙà§à¦• লাইবà§à¦°à§‡à¦°à¦¿ থেকে DirectShow ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ লোড\n\t\tকরণ (ওয়াইলà§à¦¡à¦•à¦¾à¦°à§à¦¡ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ বà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে)\n/dvd\t\tDVD মà§à¦¡à§‡ চালনা করণ, \"pathname\" হবে dvd ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ (à¦à¦šà§à¦›à¦¿à¦•)\n/dvdpos T#C\tটাইটেল T à¦à¦° পরিচà§à¦›à§‡à¦¦ C থেকে পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করণ\n/dvdpos T#hh:mm\tটাইটেল T à¦à¦° অবসà§à¦¥à¦¾à¦¨à¦•à¦¾à¦² hh:mm:ss থেকে পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করণ\n/cd\t\tcd বা (s)vcd à¦à¦° সকল টà§à¦°à§à¦¯à¦¾à¦•à¦¸à¦®à§‚হ লোড করণ, \"pathname\" হবে ডà§à¦°à¦¾à¦‡à¦­à§‡à¦°\n\t\tঠিকানাটি (à¦à¦šà§à¦›à¦¿à¦•)\n/device\t\tডিফলà§à¦Ÿ ভিডিও ডিভাইসটি চালনা করণ\n/open\t\tফাইলটি চালনা করণ, সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শà§à¦°à§ করবে না\n/play\t\tপà§à¦²à§‡à§Ÿà¦¾à¦°à¦Ÿà¦¿ চালনার সাথে সাথেই ফাইলটি পà§à¦²à§‡ করা শà§à¦°à§ করণ\n/close\t\tপà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শেষে পà§à¦²à§‡à§Ÿà¦¾à¦°à¦Ÿà¦¿ বনà§à¦§ করণ (শà§à¦§à§à¦®à¦¾à¦¤à§à¦° কাজ করবে যখন /play\n\t\tনিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦Ÿà¦¿à¦° সাথে বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হবে)\n/shutdown\tপà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦• শেষে অপারেটিং সিসà§à¦Ÿà§‡à¦®à¦Ÿà¦¿ শাটডাউন করণ\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tফà§à¦²-সà§à¦•à§à¦°à§€à¦¨ মà§à¦¡à§‡ চালনা করণ\n/minimized\tমিনিমাইজডà§â€Œ মà§à¦¡à§‡ চালনা করণ\n/new\t\tনতà§à¦¨ আরেকটি পà§à¦²à§‡à§Ÿà¦¾à¦° বà§à¦¯à¦¬à¦¹à¦¾à¦°\n/add\t\t\"pathname\" পà§à¦²à§‡à¦²à¦¿à¦¸à§à¦Ÿà§‡ যোগ করণ, /open আর /play à¦à¦° সাথে à¦à¦•à¦¤à§à¦°à§‡\n\t\tবà§à¦¯à¦¬à¦¹à¦¾à¦° করা যাবে\n/regvid\t\tভিডিও ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regaud\t\tঅডিও ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regpl\t\tপà§à¦²à§‡à¦²à¦¿à¦¸à§à¦Ÿ ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/regall\t\tসমরà§à¦¥à¦¨ করে à¦à¦®à¦¨ সকল ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ সà§à¦¥à¦¾à¦ªà¦¨\n/unregall\t\tসকল ফাইলসমূহের সাথে সংশà§à¦²à¦¿à¦·à§à¦Ÿà¦¤à¦¾ অপসারণ\n/start ms\t\t\"ms\" (= মিলিসেকেনà§à¦¡) থেকে পà§à¦²à§‡ শà§à¦°à§ করণ\n/startpos hh:mm:ss\thh:mm:ss অবসà§à¦¥à¦¾à¦¨à¦•à¦¾à¦² থেকে পà§à¦²à§‡ শà§à¦°à§ করণ\n/fixedsize w,h\tউইনà§à¦¡à§‹à¦° সাইজ নিরà§à¦¦à¦¿à¦·à§à¦Ÿà¦•à¦°à¦£Set a fixed window size\n/monitor N\tমনিটর Nঠপà§à¦²à§‡à§Ÿà¦¾à¦° চালনা করণ, যেখানে Nà¦à¦° মান ১ থেকে শà§à¦°à§ হয়\n/audiorenderer N\tঅডিও রেনডারার N বà§à¦¯à¦¬à¦¹à¦¾à¦° শà§à¦°à§ করণ, যেখানে Nà¦à¦° মান ১\n\t\tথেকে শà§à¦°à§ হয় (বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ দেখà§à¦¨ \"Output\" সেটিংসমূহে)\n/shaderpreset \"Pr\"\t\"Pr\" শেইডার পà§à¦°à¦¿à¦¸à§‡à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦° শà§à¦°à§ করণ\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tডিফলà§à¦Ÿ সেটিংসমূহে পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¾à¦¸ করণ\n/help /h /?\tকমানà§à¦¡ লাইনের নিরà§à¦¦à§‡à¦¶à¦¨à¦¾à¦¸à¦®à§‚হ সমà§à¦ªà¦°à§à¦•à§‡ সহায়িকা পà§à¦°à¦¦à¦°à§à¦¶à¦¨\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "ভলিউম পà§à¦¨à¦°à§à¦¬à§ƒà¦¦à§à¦§à¦¿: বনà§à¦§ করা হল"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "পà§à¦²à§‡à¦¬à§à¦¯à¦¾à¦•à§‡à¦° পরে: মনিটর বনà§à¦§ করি"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "উজà§à¦œà§à¦¬à¦²à¦¤à¦¾: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
index cf17b9f55..76535df05 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.dialogs.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
-# papu <papu@openmailbox.org>, 2014
+# Adolfo Jayme Barrientos, 2015
+# Adolfo Jayme Barrientos, 2014
+# papu <papu@openmailbox.org>, 2014-2015
# papu <papu@openmailbox.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-26 23:00+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"PO-Revision-Date: 2015-01-23 09:11+0000\n"
+"Last-Translator: Adolfo Jayme Barrientos\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,11 +21,11 @@ msgstr ""
msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
msgid "Select Media Type"
-msgstr "Seleccioni Tipus de Mitjà"
+msgstr "Trieu el tipus de mitjà"
msgctxt "IDD_SELECTMEDIATYPE_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
msgid "Cancel"
@@ -36,7 +37,7 @@ msgstr "Vídeo"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
msgid "Set"
-msgstr "Fixar"
+msgstr "Estableix"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "Audio"
@@ -48,23 +49,23 @@ msgstr "Sortida"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
msgid "Record Video"
-msgstr "Gravar Vídeo"
+msgstr "Enregistra vídeo"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
msgid "Preview"
-msgstr "Vista prèvia"
+msgstr "Previsualitza"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
msgid "Record Audio"
-msgstr "Gravar Àudio"
+msgstr "Enregistra àudio"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
msgid "Preview"
-msgstr "Vista prèvia"
+msgstr "Previsualitza"
msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
msgid "V/A Buffers:"
-msgstr "Buffers V/A:"
+msgstr "Memòria intermèdia d’A/V:"
msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
msgid "Audio to wav"
@@ -72,7 +73,7 @@ msgstr "Àudio a WAV"
msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
msgid "Record"
-msgstr "Gravar"
+msgstr "Enregistra"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
@@ -80,11 +81,11 @@ msgstr "Activar interruptor del filtre d'àudio intern (requereix inicialitzar)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
-msgstr "Normalitzar"
+msgstr "Normalitza"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr "Amplificació Màxima:"
+msgstr "Amplificació màx.:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
@@ -120,11 +121,11 @@ msgstr "Canals d'entrada:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
msgid "Hold shift for immediate changes when clicking something "
-msgstr "Prem la tecla \"shift\" per aplicar els canvis al moment"
+msgstr "Premeu Maj en fer clic a les opcions per aplicar-les al moment"
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
-msgstr "Anar A..."
+msgstr "Vés a…"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
@@ -136,7 +137,7 @@ msgstr "Temps"
msgctxt "IDD_GOTO_DLG_IDC_OK1"
msgid "Go!"
-msgstr "Ves!"
+msgstr "Vés-hi"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
@@ -148,15 +149,15 @@ msgstr "Fotograma"
msgctxt "IDD_GOTO_DLG_IDC_OK2"
msgid "Go!"
-msgstr "Ves!"
+msgstr "Vés-hi"
msgctxt "IDD_OPEN_DLG_CAPTION"
msgid "Open"
-msgstr "Obrir"
+msgstr "Obre"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Escriu el camí de l'arxiu multimèdia ( a Internet o al teu ordinador) y el reproductor l'obrirà per tu."
+msgstr "Escriu el camí del fitxer multimèdia (a Internet o al ordinador) y el reproductor l’obrirà per vós."
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -176,11 +177,11 @@ msgstr "Explorar..."
msgctxt "IDD_OPEN_DLG_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_OPEN_DLG_IDCANCEL"
msgid "Cancel"
-msgstr "Cancel.lar"
+msgstr "Cancel·la"
msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
msgid "Add to playlist without opening"
@@ -191,8 +192,8 @@ msgid "About"
msgstr "Quant a"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 veure l'arxiu Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 Vegeu el fitxer Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -200,7 +201,7 @@ msgstr "Aquet programa és gratuït i distribuït sota la Llicència Pública Ge
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traducció al català per l'Enric"
+msgstr "Traducció al català per l’Enric, l’Adolf i altres"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -220,7 +221,7 @@ msgstr "No s'utilitza"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
-msgstr "Data de Compilació:"
+msgstr "Data de compilació:"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Operating system"
@@ -236,11 +237,11 @@ msgstr "Copiar al porta-retalls"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Open options"
-msgstr "Opcions d'obertura"
+msgstr "Opcions d’obertura"
msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
msgid "Use the same player for each media file"
@@ -252,7 +253,7 @@ msgstr "Obrir un nou reproductor per cada arxiu de mitjans que es reprodueixi"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Language"
-msgstr "Llenguatge"
+msgstr "Idioma"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Title bar"
@@ -620,23 +621,23 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Mirar primer l'extensió"
+msgstr "Comprova primer l’extensió del fitxer"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
-msgstr "Menú contextual del gestor d'arxius"
+msgstr "Menú contextual de l’Explorador"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK6"
msgid "Directory"
-msgstr "Directori"
+msgstr "Carpeta"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK7"
msgid "File(s)"
-msgstr "Arxiu(s)"
+msgstr "Fitxer(s)"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
msgid "Autoplay"
-msgstr "Reproducció Automàtica"
+msgstr "Reproducció automàtica"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
msgid "Video"
@@ -652,7 +653,7 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "CDs d'Àudio"
+msgstr "CD d’àudio"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
@@ -740,7 +741,7 @@ msgstr "Afegir Subtipus..."
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
msgid "Delete"
-msgstr "Borrar"
+msgstr "Suprimeix"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
msgid "Reset List"
@@ -752,7 +753,7 @@ msgstr "Tipus:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Size:"
-msgstr "Tamany:"
+msgstr "Mida:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Media length:"
@@ -760,7 +761,7 @@ msgstr "Duració:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Video size:"
-msgstr "Tamany del vídeo:"
+msgstr "Mida del vídeo:"
msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
msgid "Created:"
@@ -776,11 +777,11 @@ msgstr "Autor:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Copyright:"
-msgstr "Copyright:"
+msgstr "Drets d’autor:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Rating:"
-msgstr "Clasificació:"
+msgstr "Classificació:"
msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
msgid "Location:"
@@ -804,11 +805,11 @@ msgstr "Recordar posició"
msgctxt "IDD_FAVADD_IDCANCEL"
msgid "Cancel"
-msgstr "Cancel.lar"
+msgstr "Cancel·la"
msgctxt "IDD_FAVADD_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_FAVADD_IDC_CHECK2"
msgid "Relative drive"
@@ -820,7 +821,7 @@ msgstr "Organitzar Favorits"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
msgid "Rename"
-msgstr "Renombrar"
+msgstr "Reanomena"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
@@ -832,11 +833,11 @@ msgstr "Baixar"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
-msgstr "Borrar"
+msgstr "Suprimeix"
msgctxt "IDD_FAVORGANIZE_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_PNSPRESET_DLG_CAPTION"
msgid "Pan&Scan Presets"
@@ -848,7 +849,7 @@ msgstr "Nou"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON3"
msgid "Delete"
-msgstr "Borrar"
+msgstr "Suprimeix"
msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
msgid "Up"
@@ -864,11 +865,11 @@ msgstr "&Posar"
msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
msgid "&Cancel"
-msgstr "&Cancel.lar"
+msgstr "&Cancel·la"
msgctxt "IDD_PNSPRESET_DLG_IDOK"
msgid "&Save"
-msgstr "&Desar"
+msgstr "&Desa"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Pos: 0.0 -> 1.0"
@@ -884,7 +885,7 @@ msgstr "Tecles multimèdia globals"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
-msgstr "Seleccionar Tots"
+msgstr "Selecciona-ho tot"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
msgid "Reset Selected"
@@ -904,23 +905,23 @@ msgstr "Els seguents conectors no han trobat un filtre conectable:"
msgctxt "IDD_MEDIATYPES_DLG_IDOK"
msgid "Close"
-msgstr "Buscar codecs a la xarxa"
+msgstr "Tanca"
msgctxt "IDD_SAVE_DLG_CAPTION"
msgid "Saving..."
-msgstr "Desant..."
+msgstr "S’està desant…"
msgctxt "IDD_SAVE_DLG_IDCANCEL"
msgid "Cancel"
-msgstr "Cancel.lar"
+msgstr "Cancel·la"
msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
-msgstr "Codificant:"
+msgstr "Codificació:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
msgid "Encoding:"
-msgstr "Codificant:"
+msgstr "Codificació:"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
msgid "Delay:"
@@ -932,7 +933,7 @@ msgstr "ms"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
msgid "Save custom style"
-msgstr "Gravar estil personalitzat"
+msgstr "Desa l’estil personalitzat"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
@@ -944,7 +945,7 @@ msgstr "Miniatures:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "rows"
-msgstr "files"
+msgstr "fileres"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "columns"
@@ -960,7 +961,7 @@ msgstr "píxels"
msgctxt "IDD_ADDREGFILTER_CAPTION"
msgid "Select Filter"
-msgstr "Seleccionar Filtre"
+msgstr "Trieu un filtre"
msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
msgid "Browse..."
@@ -968,11 +969,11 @@ msgstr "Explorar..."
msgctxt "IDD_ADDREGFILTER_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
msgctxt "IDD_ADDREGFILTER_IDCANCEL"
msgid "Cancel"
-msgstr "Cancel.lar"
+msgstr "Cancel·la"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Font"
@@ -1000,7 +1001,7 @@ msgstr "Escala (y,%)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Border Style"
-msgstr "Estil de les Vores"
+msgstr "Estil de les vores"
msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
msgid "Outline"
@@ -1012,7 +1013,7 @@ msgstr "Caixa opaca"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Width"
-msgstr "Vora"
+msgstr "Amplada"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Shadow"
@@ -1244,7 +1245,7 @@ msgstr "Remplaçar els subtítols actuals"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
-msgstr "Desar Com a.."
+msgstr "Anomena i desa…"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
@@ -1272,7 +1273,7 @@ msgstr "Inicialitzar"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr "Comprovació d'actualitzacions"
+msgstr "Comprovació d’actualitzacions"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
@@ -1280,7 +1281,7 @@ msgstr "Activar comprovació automàtica d'actualitzacions"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Delay between each check:"
-msgstr "Comprovar cada: "
+msgstr "Comprovar cada:"
msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
msgid "day(s)"
@@ -1332,7 +1333,7 @@ msgstr "Ignorar canals encriptats"
msgctxt "IDD_TUNER_SCAN_ID_SAVE"
msgid "Save"
-msgstr "Desar"
+msgstr "Desa"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "S"
@@ -1420,11 +1421,11 @@ msgstr "Ajustar freqüència:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC3"
msgid "lines"
-msgstr "Línies"
+msgstr "fileres"
msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
msgid "columns"
-msgstr "Columnes"
+msgstr "columnes"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
@@ -1484,7 +1485,7 @@ msgstr "Usar mode de monitor a pantalla completa automàtic"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
msgid "Add"
-msgstr "Afegir"
+msgstr "Afegeix"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
msgid "Del"
@@ -1516,7 +1517,7 @@ msgstr "s"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
msgid "Info"
-msgstr "Info"
+msgstr "Informació"
msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
msgid "Scan"
@@ -1536,7 +1537,7 @@ msgstr "No carregar subtítols encastats"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
-msgstr "Camí de càrrega automàtica"
+msgstr "Camins de càrrega automàtica"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
msgid "Reset"
@@ -1548,27 +1549,27 @@ msgstr "Base de dades en línia"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Base URL of the online subtitle database:"
-msgstr "La URL de la base de dades de subtítols en línia"
+msgstr "L’URL de la base de dades de subtítols en línia"
msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
msgid "Test"
-msgstr "Provar"
+msgstr "Prova"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
-msgstr "Actualitzar verificador"
+msgstr "Comprovador d’actualitzacions"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
msgid "&Download now"
-msgstr "&Decarregar ara"
+msgstr "&Baixa-la ara"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
-msgstr "Recordarme &més tard"
+msgstr "Recorda-m’ho &més tard"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
-msgstr "&Ignorar aquesta actualització"
+msgstr "&Ignora aquesta actualització"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
@@ -1600,11 +1601,11 @@ msgstr "Carregar"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
msgid "Save"
-msgstr "Desar"
+msgstr "Desa"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON5"
msgid "Delete"
-msgstr "Borrar"
+msgstr "Suprimeix"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
@@ -1660,9 +1661,9 @@ msgstr "Qualitat JPEG:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
-msgstr "Ajuda de la línia de Comandaments"
+msgstr "Ajuda de la línia d’ordres"
msgctxt "IDD_CMD_LINE_HELP_IDOK"
msgid "OK"
-msgstr "D'acord"
+msgstr "D’acord"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
index c95c7407a..22769aac7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.menus.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos, 2015
+# Adolfo Jayme Barrientos, 2014
# papu <papu@openmailbox.org>, 2014
# papu <papu@openmailbox.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-25 13:00+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2015-01-10 11:00+0000\n"
+"Last-Translator: Adolfo Jayme Barrientos\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,15 +25,15 @@ msgstr "&Fitxer"
msgctxt "ID_FILE_OPENQUICK"
msgid "&Quick Open File..."
-msgstr "Obrir Arxiu &Ràpid..."
+msgstr "Obre un fitxer &ràpid…"
msgctxt "ID_FILE_OPENMEDIA"
msgid "&Open File..."
-msgstr "&Obrir Arxiu..."
+msgstr "&Obre un fitxer…"
msgctxt "ID_FILE_OPENDVDBD"
msgid "Open &DVD/BD..."
-msgstr "Obrir &DVD/BD..."
+msgstr "Obre un &DVD/BD…"
msgctxt "ID_FILE_OPENDEVICE"
msgid "Open De&vice..."
@@ -48,7 +49,7 @@ msgstr "Obrir Di&sc"
msgctxt "ID_RECENT_FILES"
msgid "Recent &Files"
-msgstr "&Arxius recents"
+msgstr "&Fitxers recents"
msgctxt "ID_FILE_CLOSE_AND_RESTORE"
msgid "&Close"
@@ -180,7 +181,7 @@ msgstr "&100%"
msgctxt "ID_VIEW_ZOOM_200"
msgid "&200%"
-msgstr "%200%"
+msgstr "&200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
@@ -340,7 +341,7 @@ msgstr "&Disminuir compensació de vsync"
msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
msgid "&Increase VSync Offset"
-msgstr "&Augmentar compensació de vsync"
+msgstr "&Augmentar compensació de vsync"
msgctxt "POPUP"
msgid "&GPU Control"
@@ -536,7 +537,7 @@ msgstr "Avançar un &Fotograma"
msgctxt "ID_PLAY_DECRATE"
msgid "&Decrease Rate"
-msgstr "Au&gmentar Velocitat"
+msgstr "Au&gmentar Velocitat"
msgctxt "ID_PLAY_INCRATE"
msgid "&Increase Rate"
@@ -614,6 +615,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Apagar el &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Reprodueix l'arxiu &següent dins la carpeta"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "Na&vegar"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
index 880a09390..613b50589 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ca.strings.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos, 2014-2015
+# Adolfo Jayme Barrientos, 2014
# papu <papu@openmailbox.org>, 2014
# papu <papu@openmailbox.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 13:10+0000\n"
-"Last-Translator: papu <papu@openmailbox.org>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2015-01-23 09:01+0000\n"
+"Last-Translator: Adolfo Jayme Barrientos\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -44,19 +45,19 @@ msgstr "completant..."
msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
msgid "Play Video"
-msgstr "Reproduir Vídeo"
+msgstr "Reprodueix vídeo"
msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
msgid "Play Music"
-msgstr "Reproduir Música"
+msgstr "Reprodueix música"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "Reproduir CD de Àudio"
+msgstr "Reprodueix CD d’àudio"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
-msgstr "Reproduir Película en DVD"
+msgstr "Reprodueix pel·lícula en DVD"
msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
@@ -136,7 +137,7 @@ msgstr "No és compatible amb alguns dispositius. Dos descodificadors de vídeo
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Ràpid excepte en canviar entre diferents fluxos de vídeo. Només un descodificador de vídeo present en el filter graph."
+msgstr "Ràpid excepte en canviar entre diferents fluxos de vídeo. Només un descodificador de vídeo present en el filter graph."
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -220,7 +221,7 @@ msgstr "ID del VOB"
msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
msgid "Cell ID"
-msgstr "ID de la cèl·lula"
+msgstr "Id. de la cel·la"
msgctxt "IDS_SUBRESYNC_CLN_FORCED"
msgid "Forced"
@@ -264,7 +265,7 @@ msgstr "No es pot obrir el controlador de captació."
msgctxt "IDS_INVALID_PARAMS_ERROR"
msgid "Can't open, invalid input parameters"
-msgstr "No es pot obrir, paràmetres d'entrada no vàlids"
+msgstr "No es pot obrir, paràmetres d'entrada no vàlids"
msgctxt "IDS_EDIT_LIST_EDITOR"
msgid "Edit List Editor"
@@ -600,7 +601,7 @@ msgstr "Aquet es el renderitzador predeterminat per Windows 9x/Me/2K. Depenent d
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Sempre renderitzador amb Overlay. Generalment només es permeten els formats YUV, però es presenten directament sense cap conversió de color a RGB. Aquesta manera de renderitzat es el més ràpid i l'únic on pots estar segur sobre el Video Mirroring a pantalla completa quant actives la sortida de TV."
+msgstr "Sempre renderitzador amb Overlay. Generalment només es permeten els formats YUV, però es presenten directament sense cap conversió de color a RGB. Aquesta manera de renderitzat es el més ràpid i l'únic on pots estar segur sobre el Video Mirroring a pantalla completa quant actives la sortida de TV."
msgctxt "IDC_DSVMR7WIN"
msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
@@ -608,7 +609,7 @@ msgstr "El renderitzat predeterminat de XP. Molt estable i només es una mica mÃ
msgctxt "IDC_DSVMR9WIN"
msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Només disponible si tens instal·lat DirectX 9. Té les mateixes habilitats que VMR-7 (de finestra), pero mai usarà el renderitzat Overlay i per aquesta raó podria ser una mica més lent que VMR-7 (de finestra)."
+msgstr "Només disponible si tens instal·lat DirectX 9. Té les mateixes habilitats que VMR-7 (de finestra), pero mai usarà el renderitzat Overlay i per aquesta raó podria ser una mica més lent que VMR-7 (de finestra)."
msgctxt "IDC_DSVMR7REN"
msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
@@ -624,7 +625,7 @@ msgstr "Igual que VMR-9 (sense res), pero usa un redimensionador real de dues pa
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
-msgstr "Conecta a cualsevol tipus de mitjà de vídeo i manda les mostres a cap lloc. Utilitza'l quant no necesitis veure el vídeo, i vulguis evitar l'ús no necessari de la cpu."
+msgstr "Conecta a cualsevol tipus de mitjà de vídeo i manda les mostres a cap lloc. Utilitza'l quant no necesitis veure el vídeo, i vulguis evitar l'ús no necessari de la cpu."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
@@ -791,7 +792,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Falten porcions de l'arxiu"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "La superfície de vídeo serà asiganada como una textura pero encara les funciones 2D serán usadas per copiar i estirar-se sobre el backbuffer. Eequereix una tarjeta de vídeo que pugui aplicar RGBA de 32 bits, com a mínim textures de potència de dos en la resolució del vídeo."
msgctxt "IDC_TEXTURESURF3D"
@@ -844,7 +845,7 @@ msgstr "VSync precisa"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr "Si l' objectiu del renderitzador es deixa sense definir, s' hereta l 'estil predeterminat."
+msgstr "Si l' objectiu del renderitzador es deixa sense definir, s' hereta l 'estil predeterminat."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
@@ -1272,7 +1273,7 @@ msgstr "Oculta els controls i panells també en mode de finestra."
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "Evitar la càrrega del renderitzador de subtítols extern quant l'intern està en ús."
+msgstr "Evitar la càrrega del renderitzador de subtítols extern quant l'intern està en ús."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1332,12 +1333,48 @@ msgstr "Mida màxima (NxNpx) de l'art de les portades carregada només en el mod
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "El retartd del subtítol es reduirà / s'incrementarà en funció d'aquest valor cada vegada que s'utilitzen les tecles d'accés directe corresponents (% s /% s)."
+msgstr "El retartd del subtítol es reduirà / s'incrementarà en funció d'aquest valor cada vegada que s'utilitzen les tecles d'accés directe corresponents (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
+msgstr "<sense definir>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
msgstr ""
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Pujar"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Baixar"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Ordenar per LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Traieu tot"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Segur que vols eliminar tots els canals de la llista?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "No hi ha informació disponible"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Si us plau esperi, l'anàlisi en curs ..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "RA %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Obre un dispositiu"
@@ -1400,7 +1437,7 @@ msgstr "Vés a"
msgctxt "IDS_AG_INCREASE_RATE"
msgid "Increase Rate"
-msgstr "Augmentar Velocitat"
+msgstr "Augmentar Velocitat"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
@@ -1539,11 +1576,11 @@ msgid "Reset Rate"
msgstr "Inicialitzar Velocitat"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ajust d'Àudio en +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ajust d'Àudio en -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1600,7 +1637,7 @@ msgstr "Commutar el Direct3D a Pantalla completa"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Anar a Subtítol Previ"
+msgstr "Anar a Subtítol Previ"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
@@ -1699,12 +1736,12 @@ msgid "No subtitles found."
msgstr "No s'han trobat subtítols."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d subtítols disponibles."
+msgid "%d subtitle(s) available."
+msgstr "%d subtítols disponibles."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Vols comprovar periòdicament si hi ha actualitzacions del MPC-HC?\n\nAquesta funció pot ser desactivada més tard a Miscel.lània en menú d'opcions."
+msgstr "Vols comprovar periòdicament si hi ha actualitzacions del MPC-HC?\n\nAquesta funció pot ser desactivada més tard a Miscel.lània en menú d'opcions."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2027,12 +2064,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volum: %02lu/%02lu, Títol: %02lu/%02lu, Capítol: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2139,19 +2176,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Total: %ld, Perduts: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Tamany: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Tamany: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Lliure: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Lliure: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2176,7 +2213,7 @@ msgstr "Seleccioneu la ruta d'accés del DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "Carregat amb èxit"
+msgstr " carregat amb èxit"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2239,7 +2276,7 @@ msgid "Aspect Ratio: Default"
msgstr "Relació d'Aspecte: Original"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Diferència entre Vídeo i Àudio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2292,7 +2329,7 @@ msgstr "Augmentar : +%u%%"
msgctxt "IDS_BALANCE_OSD"
msgid "Balance: %s"
-msgstr "Balanç"
+msgstr "Balanç: %s"
msgctxt "IDS_FULLSCREENMONITOR_CURRENT"
msgid "Current"
@@ -2440,7 +2477,7 @@ msgstr "Angle N° %u"
msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
msgid "Increase VSync Offset"
-msgstr "Augmentar desajustament del Vsync"
+msgstr "Augmentar desajustament del Vsync"
msgctxt "IDS_AG_DISABLED"
msgid "Disabled"
@@ -2479,8 +2516,8 @@ msgid "Volume boost Max"
msgstr "Guany de volum màxim"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Ús: mpc-hc.exe \"camí\" [switches]\n\n\"camí\"\tL'arxiu o directori principal a cargar-se (comodins permesos, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile ambtains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D Mode a Pantalla completa\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary. (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tRegister Vídeo formats\n/regaud\t\tRegister audio formats\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tUnregister Vídeo formats\n/start ms\t\tStart playing at \"ms\" (= milliseambds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tMostra l' ajuda de la línea de comandaments(no traduït)\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Ús: mpc-hc.exe \"camí\" [switches]\n\n\"camí\"\t\tL'arxiu o directori principal a cargar-se\n(comodins permesos, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile ambtains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D Mode a Pantalla completa\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary. (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tRegister Vídeo formats\n/regaud\t\tRegister audio formats\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tUnregister Vídeo formats\n/start ms\t\tStart playing at \"ms\" (= milliseambds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tMostra l' ajuda de la línea de comandaments(no traduït)\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3315,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Recuperar volum: Off"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3495,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Després de reproducció: Apagar el monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Després de la reproducció: Reproduir el seguent arxiu dins la carperta"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Després de la reproducció: No fer res"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Brillantor: %s"
@@ -3472,11 +3521,11 @@ msgstr "Saturació: %s"
msgctxt "IDS_OSD_RESET_COLOR"
msgid "Color settings restored"
-msgstr "Configuarció de color restaurat"
+msgstr "S’han restaurat els paràmetres de color"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
-msgstr "Control de color no està suportat"
+msgstr "El control de color no és compatible"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
@@ -3488,15 +3537,15 @@ msgstr "Introdueixi els seves idiomes preferits aquí.\nPer exemple, escriu: \"e
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
-msgstr "Els splitters externs poden tenir les seves pròpies opcions de preferències d'idioma per tant el comportament predeterminat MPC-HC no és per canviar la seva elecció inicial.\nActiveu aquesta opció si voleu MPC-HC controli els splitters externs."
+msgstr "Els splitters externs poden tenir les seves pròpies opcions de preferències d'idioma per tant el comportament predeterminat MPC-HC no és per canviar la seva elecció inicial.\nActiveu aquesta opció si voleu MPC-HC controli els splitters externs."
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
-msgstr "Listes de Reproducció &Blu-Ray"
+msgstr "Llistes de reproducció &Blu-Ray"
msgctxt "IDS_NAVIGATE_PLAYLIST"
msgid "&Playlist"
-msgstr "&Llista de Reproducció"
+msgstr "&Llista de reproducció"
msgctxt "IDS_NAVIGATE_CHAPTERS"
msgid "&Chapters"
@@ -3516,21 +3565,21 @@ msgstr "Si \"últim fotograma clau\" està seleccionat, anar al primer fotograma
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr "Associar amb tots els formats"
+msgstr "Associa’t amb tots els formats"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr "Associat només amb formats de vídeo"
+msgstr "Associa’t només amb formats de vídeo"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "Associatnomés amb formats d'àudio"
+msgstr "Associa’t només amb formats d’àudio"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr "Netejar totes les associacions"
+msgstr "Neteja totes les associacions"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
-msgstr "Configuració"
+msgstr "Paràmetres"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
index b840fac6f..f663a83d0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# khagaroth, 2013-2014
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-21 14:40+0000\n"
+"PO-Revision-Date: 2014-10-26 09:38+0000\n"
"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -189,12 +189,12 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014, viz soubor Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015, viz soubor Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
-msgstr "Tento program je freeware vydaný pod\nGNU General Public License."
+msgstr "Tento program je freeware vydaný pod GNU General Public License."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
@@ -654,7 +654,7 @@ msgstr "Audio CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
-msgstr "Velikosti skoků [malý | střední | velký] (ms)"
+msgstr "Velikosti skoků [malý | střední | velký] (ms)"
msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
msgid "Default"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
index ea37c9bc2..e017154d9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-14 08:42+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 16:00+0000\n"
"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Vypnout &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Přehrát &další soubor v adresáři"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "Přejí&t"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
index 7d3913e87..52db4e64a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.cs.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jan Košata <kosata6@seznam.cz>, 2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-09-30 16:11+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-02 09:10+0000\n"
"Last-Translator: khagaroth\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/mpc-hc/language/cs/)\n"
"MIME-Version: 1.0\n"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Nepodařilo se nalézt všechny díly archivu"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Plocha videa bude vymezena jako textura ale pro její kopírování a roztahování do přípravné vyrovnávací paměti budou stále používány 2D funkce. Vyžaduje video kartu schopnou alokovat 32bitové, RGBA textury s rozměry stran neodpovídajícími druhým mocninám a o minimálně stejné velikosti jako má video."
msgctxt "IDC_TEXTURESURF3D"
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<není nastaveno>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Sledovat"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Nahoru"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Dolů"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Seřadit podle LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Odebrat vše"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Opravdu chcete ze seznamu odebrat všechny kanály?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "K dispozici nejsou žádné informace"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Čekejte, probíhá analýza..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "PS %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Otevřít zařízení"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Výchozí rychlost"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Posun zvuku +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Posun zvuku -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,8 +1734,8 @@ msgid "No subtitles found."
msgstr "Titulky nenalezeny."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " k dispozici je %d titulků."
+msgid "%d subtitle(s) available."
+msgstr "k dispozici je %d titulků."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Díl: %02lu/%02lu, Titul: %02lu/%02lu, Kapitola: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Úhel: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbitů %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Celkem: %ld, Zahozeno: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Velikost: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Velikost: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Volný: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Volný: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "Poměr stran: Výchozí"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Zpoždění zvuku: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Zesílení - maximální"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Použití: mpc-hc.exe \"cesta\" [parametry]\n\n\"cesta\"\t\tSoubor nebo adresář, který má být otevÅ™en\n\t\t(povoleny masky, \"-\" oznaÄuje standardní vstup)\n/dub \"soubor\"\tNaÄte soubor se zvukovou stopou\n/dubdelay \"soubor\"\tNaÄte soubor se zvukovou stopou posunutou\n\t\to XXms (pokud název souboru obsahuje\n\t\t\"...DELAY XXms...\")\n/d3dfs\t\tSpustí vykreslování v D3D fullscreen režimu\n/sub \"soubor\"\tNaÄte soubor s titulky\n/filter \"soubor\"\tNaÄte DirectShow filtr (*.ax nebo *.dll, povoleny\n\t\tmasky)\n/dvd\t\tSpustí MPC-HC v DVD režimu, volitelný parametr\n\t\t\"cesta\" urÄuje DVD adresář\n/dvdpos T#K\tSpustí pÅ™ehrávání titulu T, kapitoly K\n/dvdpos T#hh:mm\tSpustí pÅ™ehrávání titulu T, pozice hh:mm:ss\n/cd\t\tNaÄte vÅ¡echny stopy AudioCD/(S)VCD, volitelný\n\t\tparametr \"cesta\" udává písmeno CD mechaniky\n/device\t\tOtevÅ™e výchozí video zařízení\n/open\t\tNaÄte soubor, ale nespustí pÅ™ehrávání\n/play\t\tNaÄte soubor a pÅ™ehraje ho\n/close\t\tPo ukonÄení pÅ™ehrávání zavÅ™e pÅ™ehrávaÄ (funkÄní\n\t\tjen v kombinaci s /play)\n/shutdown\tPo ukonÄení pÅ™ehrávání vypne poÄítaÄ\n/fullscreen\tSpustí pÅ™ehrávaÄ v režimu na celou obrazovku\n/minimized\tSpustí pÅ™ehrávaÄ minimalizovaný\n/new\t\tOtevÅ™e novou instanci MPC-HC\n/add\t\tPÅ™idá \"cestu\" do playlistu, může být kombinován\n\t\ts /open a /play\n/regvid\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované video formáty\n/regaud\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované zvukové formáty\n/regpl\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované seznamy stop\n/regall\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tvÅ¡echny podporované formáty\n/unregall\t\tZruší asociaci MPC-HC se vÅ¡emi formáty\n\t\t(vÄetnÄ› playlistů)\n/start ms\t\tSpustí pÅ™ehrávání od zadané pozice\n\t\t(ms = milisekundy)\n/startpos hh:mm:ss\tSpustí pÅ™ehrávání od pozice hh:mm:ss\n/fixedsize w,h\tSpustí pÅ™ehrávaÄ se zadanou velikostí okna\n/monitor N\tSpustí pÅ™ehrávání na monitoru N, kde N\n\t\tzaÄíná od 1\n/audiorenderer N\tPoužije audiorenderer N, kde N zaÄíná od 1\n\t\t(viz nastavení \"Výstup\")\n/shaderpreset \"PÅ™\"\tPoužije pÅ™edvolbu shaderů \"PÅ™\"\n/reset\t\tObnoví výchozí nastavení\n/help /h /?\tZobrazí tento dialog\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Použití: mpc-hc.exe \"cesta\" [parametry]\n\n\"cesta\"\t\tSoubor nebo adresář, který má být otevÅ™en\n\t\t(povoleny masky, \"-\" oznaÄuje standardní vstup)\n/dub \"soubor\"\tNaÄte soubor se zvukovou stopou\n/dubdelay \"soubor\"\tNaÄte soubor se zvukovou stopou posunutou o XXms\n\t\t(pokud název souboru obsahuje \"...DELAY XXms...\")\n/d3dfs\t\tSpustí vykreslování v D3D fullscreen režimu\n/sub \"soubor\"\tNaÄte soubor s titulky\n/filter \"soubor\"\tNaÄte DirectShow filtr (*.ax nebo *.dll, povoleny\n\t\tmasky)\n/dvd\t\tSpustí MPC-HC v DVD režimu, volitelný parametr\n\t\t\"cesta\" urÄuje DVD adresář\n/dvdpos T#K\tSpustí pÅ™ehrávání titulu T, kapitoly K\n/dvdpos T#hh:mm\tSpustí pÅ™ehrávání titulu T, pozice hh:mm:ss\n/cd\t\tNaÄte vÅ¡echny stopy AudioCD/(S)VCD, volitelný\n\t\tparametr \"cesta\" udává písmeno CD mechaniky\n/device\t\tOtevÅ™e výchozí video zařízení\n/open\t\tNaÄte soubor, ale nespustí pÅ™ehrávání\n/play\t\tNaÄte soubor a pÅ™ehraje ho\n/close\t\tPo ukonÄení pÅ™ehrávání zavÅ™e pÅ™ehrávaÄ (funkÄní\n\t\tjen v kombinaci s /play)\n/shutdown\tPo ukonÄení pÅ™ehrávání vypne poÄítaÄ\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tSpustí pÅ™ehrávaÄ v režimu na celou obrazovku\n/minimized\tSpustí pÅ™ehrávaÄ minimalizovaný\n/new\t\tOtevÅ™e novou instanci MPC-HC\n/add\t\tPÅ™idá \"cestu\" do playlistu, může být kombinován\n\t\ts /open a /play\n/regvid\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované video formáty\n/regaud\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované zvukové formáty\n/regpl\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tpodporované seznamy stop\n/regall\t\tNastaví MPC-HC jako výchozí pÅ™ehrávaÄ pro\n\t\tvÅ¡echny podporované formáty\n/unregall\t\tZruší asociaci MPC-HC se vÅ¡emi formáty\n\t\t(vÄetnÄ› playlistů)\n/start ms\t\tSpustí pÅ™ehrávání od zadané pozice\n\t\t(ms = milisekundy)\n/startpos hh:mm:ss\tSpustí pÅ™ehrávání od pozice hh:mm:ss\n/fixedsize w,h\tSpustí pÅ™ehrávaÄ se zadanou velikostí okna\n/monitor N\tSpustí pÅ™ehrávání na monitoru N, kde N\n\t\tzaÄíná od 1\n/audiorenderer N\tPoužije audiorenderer N, kde N zaÄíná od 1\n\t\t(viz nastavení \"Výstup\")\n/shaderpreset \"PÅ™\"\tPoužije pÅ™edvolbu shaderů \"PÅ™\"\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tObnoví výchozí nastavení\n/help /h /?\tZobrazí tento dialog\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Obnovení hlasitosti: Vypnuto"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bajty"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "kB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Po přehrání: Vypnout monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Po přehráni: Přehrát další soubor v adresáři"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Po přehrání: Nedělat nic"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Jas: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
index d857d2a52..29876f000 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gaugg_Markus, 2014
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-04 20:00+0000\n"
+"PO-Revision-Date: 2014-11-16 15:41+0000\n"
"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "&Aufnahme"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Internen Audio-Umschalter aktivieren (Neustart notwendig)"
+msgstr "Internen Audio-Switcher aktivieren (Neustart notwendig)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -103,7 +103,7 @@ msgstr "Tonverstärkung:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
msgid "Down-sample to 44100 Hz"
-msgstr "Auf 44.100 Hz umrechnen"
+msgstr "Abtastrate auf 44.1 kHz verringern"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
@@ -111,7 +111,7 @@ msgstr "Audioverzögerung (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Benutzerdefinierte Kanalzuweisung aktivieren"
+msgstr "Benutzerdefinierte Kanalzuordnung aktivieren"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for "
@@ -194,8 +194,8 @@ msgid "About"
msgstr "Ãœber"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 siehe Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 siehe Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -527,7 +527,7 @@ msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Textur-Einstellungen (Neuladen des Videos notwendig)"
+msgstr "Untertitel-Textur (Neuladen des Videos notwendig)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
@@ -563,7 +563,7 @@ msgstr "Untertitelbilder bei verzögerter Warteschlange verwerfen"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
-msgstr "Renderer-Layout"
+msgstr "Untertitel-Layout"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
@@ -687,7 +687,7 @@ msgstr "Windows-Taskbarfunktionen verwenden (ab Windows 7)"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open next/previous file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "Nächste Mediendatei im Ordner bei nur einem Eintrag in der Wiedergabeliste durch\n\"Vorwärts/Rückwärts springen\" öffnen"
+msgstr "Nächste Ordnerdatei bei nur einem Eintrag in der Wiedergabeliste durch \"Vorwärts/Rückwärts springen\" öffnen"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Use time tooltip:"
@@ -1527,15 +1527,15 @@ msgstr "Scan"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "Vorgegebene Untertitelspuren bevorzugen"
+msgstr "Erzwungene Anzeige und Standardspur bevorzugen"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "Externe Untertitel bevorzugen"
+msgstr "Untertiteldateien gegenüber eingebetteten Untertiteln bevorzugen"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
-msgstr "Interne Untertitel nicht verwenden"
+msgstr "Eingebettete Untertitel nicht verwenden"
msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
msgid "Autoload paths"
@@ -1647,11 +1647,11 @@ msgstr "Folgende Werte bitte nur bei genauer Kenntnis der jeweiligen Einstellung
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
-msgstr "true"
+msgstr "wahr"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
-msgstr "false"
+msgstr "falsch"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
index e3b733c08..869bb8941 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# JellyFrog, 2014
@@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-04 17:40+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-15 20:30+0000\n"
"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -210,15 +210,15 @@ msgstr "&Restzeitanzeige"
msgctxt "POPUP"
msgid "&Output Range"
-msgstr "&EVR-Farbraum"
+msgstr "A&usgabebereich"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
@@ -254,7 +254,7 @@ msgstr "&Windows-Desktopgestaltung (Aero) deaktivieren"
msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time &Correction"
-msgstr "&Bildzeit-Korrektur"
+msgstr "&Bildzeitkorrektur"
msgctxt "POPUP"
msgid "&Color Management"
@@ -362,7 +362,7 @@ msgstr "&Auf geleerte GPU warten"
msgctxt "POPUP"
msgid "R&eset"
-msgstr "Ein&stellungen"
+msgstr "&Einstellungen"
msgctxt "ID_VIEW_RESET_DEFAULT"
msgid "Reset to &default renderer settings"
@@ -602,19 +602,23 @@ msgstr "&Ruhezustand (falls verfügbar)"
msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
msgid "Shut&down"
-msgstr "&Computer herunterfahren"
+msgstr "Computer &herunterfahren"
msgctxt "ID_AFTERPLAYBACK_LOGOFF"
msgid "Log &Off"
-msgstr "Benutzer &abmelden"
+msgstr "&Benutzer abmelden"
msgctxt "ID_AFTERPLAYBACK_LOCK"
msgid "&Lock"
-msgstr "Benutzer &sperren"
+msgstr "Computer &sperren"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "&Bildschirm ausschalten"
+msgstr "B&ildschirm ausschalten"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "&Nächste Ordnerdatei öffnen"
msgctxt "POPUP"
msgid "&Navigate"
@@ -674,7 +678,7 @@ msgstr "&Auf Update prüfen"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
-msgstr "Hilfe für &Befehlszeile"
+msgstr "H&ilfe für Befehlszeile"
msgctxt "ID_HELP_TOOLBARIMAGES"
msgid "Download &Toolbar Images"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
index 91657ac33..79ea1c589 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.de.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gaugg_Markus, 2014
@@ -13,8 +13,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-03 13:10+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-16 15:51+0000\n"
"Last-Translator: Luan <luanmail@gmx.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/mpc-hc/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -81,7 +81,7 @@ msgstr "DVDs"
msgctxt "IDS_INFOBAR_CHANNEL"
msgid "Channel"
-msgstr "Kanal"
+msgstr "Sender"
msgctxt "IDS_INFOBAR_TIME"
msgid "Time"
@@ -113,7 +113,7 @@ msgstr "Signal"
msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
msgid "Strength: %d dB, Quality: %ld%%"
-msgstr "Stärke: %d dB, Qualität: %ld%%"
+msgstr "Stärke: %d dB, Qualität: %ld %%"
msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
msgid "Styles"
@@ -281,7 +281,7 @@ msgstr "Die angegebene Zeit überschreitet die Laufzeit der Mediendatei."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Icon-Bibliothek \"mpciconlib.dll\" nicht gefunden. Diese wird für die Darstellung der Dateizuordnung benötigt. Um die Datei wiederherzustellen, kann der MPC-HC neu installiert werden."
+msgstr "Icon-Bibliothek \"mpciconlib.dll\" nicht gefunden.\nDiese wird für die Darstellung der Dateizuordnung benötigt.\nUm die Datei wiederherzustellen, kann der MPC-HC neu installiert werden."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -417,7 +417,7 @@ msgstr "&Löschen"
msgctxt "IDS_SUBRESYNC_DUPLICATE"
msgid "D&uplicate"
-msgstr "D&uplizieren"
+msgstr "&Duplizieren"
msgctxt "IDS_SUBRESYNC_RESET"
msgid "&Reset"
@@ -425,11 +425,11 @@ msgstr "&Zurücksetzen"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr "Untertitelverzögerung verringern"
+msgstr "Untertitelverzögerung (-)"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
-msgstr "Untertitelverzögerung erhöhen"
+msgstr "Untertitelverzögerung (+)"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
@@ -461,7 +461,7 @@ msgstr "Optimierungen"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Interne Filter::Audio-Umschalter"
+msgstr "Interne Filter::Audio-Switcher"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
@@ -473,7 +473,7 @@ msgstr "Wiedergabe::Shader"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
-msgstr "Audio-Umschalter"
+msgstr "Audio-Switcher"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
@@ -485,7 +485,7 @@ msgstr "Icons neu zuordnen?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Diese Neuzuordnung behebt Darstellungsfehler der Icons, deren Bibliothek aktualisiert wurde. Dabei bleibt die zuvor festgelegte Dateizuordnung aber unverändert."
+msgstr "Diese Neuzuordnung behebt Darstellungsfehler der Icons, deren Bibliothek aktualisiert wurde.\nDabei bleibt die zuvor festgelegte Dateizuordnung aber unverändert."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
@@ -761,7 +761,7 @@ msgstr "MIME-Typ"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Um eingebettete Ressourcen im Browser anzuzeigen, muss das Web-Interface aktiviert werden. Zum Speichern der Information bitte den Button \"Speichern unter\" verwenden."
+msgstr "Um eingebettete Ressourcen im Browser anzuzeigen, muss das Web-Interface aktiviert werden.\n\nZum Speichern der Information bitte den Button \"Speichern unter\" verwenden."
msgctxt "IDS_DOWNLOAD_SUBS"
msgid "Download subtitles"
@@ -796,8 +796,8 @@ msgid "Couldn't find all archive volumes"
msgstr "Archiv-Volumen unvollständig"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Die Video-Oberfläche ist eine Textur-Oberfläche. 2D-Funktionen werden aber noch genutzt, um das Bild in den Hintergrundpuffer zu kopieren und zu strecken. Benötigt eine Grafikkarte, die 32-Bit, RGBA und Nicht-Zweierpotenztexturen in Videoauflösung unterstützt."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Die Video-Oberfläche ist eine Textur-Oberfläche. 2D-Funktionen werden aber noch genutzt, um das Bild in den Hintergrundpuffer zu kopieren und zu strecken. Benötigt eine Grafikkarte, die 32-Bit, RGBA und Nicht-Zweierpotenztexturen in Auflösung des Videos oder höher unterstützt."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -913,11 +913,11 @@ msgstr "Vorwärts springen\nVorwärts springen"
msgctxt "IDS_SUBRESYNC_ORIGINAL"
msgid "&Original"
-msgstr "&Original"
+msgstr "&Originalzeit"
msgctxt "IDS_SUBRESYNC_CURRENT"
msgid "&Current"
-msgstr "&Aktuell"
+msgstr "&Wiedergabezeit"
msgctxt "IDS_SUBRESYNC_EDIT"
msgid "&Edit"
@@ -997,7 +997,7 @@ msgstr "EDL-Clip speichern"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "Bildzeit-Korrektur (ein/aus)"
+msgstr "Bildzeitkorrektur (ein/aus)"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
@@ -1057,7 +1057,7 @@ msgstr "Stopp"
msgctxt "IDS_CONTROLS_BUFFERING"
msgid "Buffering... (%d%%)"
-msgstr "Fülle Puffer... (%d%%)"
+msgstr "Fülle Puffer... (%d %%)"
msgctxt "IDS_CONTROLS_CAPTURING"
msgid "Capturing..."
@@ -1221,19 +1221,19 @@ msgstr "L = R"
msgctxt "IDS_BALANCE_L"
msgid "L +%d%%"
-msgstr "L +%d%%"
+msgstr "L +%d %%"
msgctxt "IDS_BALANCE_R"
msgid "R +%d%%"
-msgstr "R +%d%%"
+msgstr "R +%d %%"
msgctxt "IDS_VOLUME"
msgid "%d%%"
-msgstr "%d%%"
+msgstr "%d %%"
msgctxt "IDS_BOOST"
msgid "+%d%%"
-msgstr "+%d%%"
+msgstr "+%d %%"
msgctxt "IDS_PLAYLIST_ADDFOLDER"
msgid "Add containing folder"
@@ -1305,7 +1305,7 @@ msgstr "Keine Aktion"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
-msgstr "Nächste Mediendatei öffnen"
+msgstr "Nächste Ordnerdatei öffnen"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
@@ -1343,9 +1343,45 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<nicht definiert>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "&Öffnen"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Nach &oben"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Nach &unten"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Nach &LCN sortieren"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "&Alle entfernen"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Wirklich alle Sender von der Liste entfernen?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Keine Informationen verfügbar"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Analysiere..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
-msgstr "Videogerät öffnen"
+msgstr "Gerät öffnen"
msgctxt "IDS_AG_SAVE_AS"
msgid "Save As"
@@ -1473,11 +1509,11 @@ msgstr "Shader-Einrichtung für Pre-Resize fehlgeschlagen"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Bildzeit-Korrektur: Ein"
+msgstr "Bildzeitkorrektur: Ein"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Bildzeit-Korrektur: Aus"
+msgstr "Bildzeitkorrektur: Aus"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
@@ -1489,7 +1525,7 @@ msgstr "VSync-Offset: %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
-msgstr "Tempo: x%.2lf"
+msgstr "Tempo: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
@@ -1509,7 +1545,7 @@ msgstr "Programm-Einstellungen zurücksetzen"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Alle aktuellen Einstellungen gehen verloren!\n\nEinstellungen wirklich auf Standard-Einstellungen zurücksetzen?"
+msgstr "Alle aktuellen Einstellungen gehen verloren!\nEinstellungen wirklich auf Standard-Einstellungen zurücksetzen?"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
@@ -1544,12 +1580,12 @@ msgid "Reset Rate"
msgstr "Tempo zurücksetzen"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Audioverzögerung (+10ms)"
+msgid "Audio Delay +10 ms"
+msgstr "Audioverzögerung (+10 ms)"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Audioverzögerung (-10ms)"
+msgid "Audio Delay -10 ms"
+msgstr "Audioverzögerung (-10 ms)"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1593,11 +1629,11 @@ msgstr "Rückwärts (springen)"
msgctxt "IDS_AG_NEXT_FILE"
msgid "Next File"
-msgstr "Nächste Mediendatei öffnen"
+msgstr "Mediendatei vor"
msgctxt "IDS_AG_PREVIOUS_FILE"
msgid "Previous File"
-msgstr "Vorherige Mediendatei öffnen"
+msgstr "Mediendatei zurück"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
@@ -1605,19 +1641,19 @@ msgstr "Direct3D-Vollbildmodus (ein/aus)"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Untertitel rückwärts springen"
+msgstr "Untertitel-Item zurück"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Untertitel vorwärts springen"
+msgstr "Untertitel-Item vor"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
-msgstr "Untertitelverschiebung (links)"
+msgstr "Untertitelverschiebung (-100 ms)"
msgctxt "IDS_MPLAYERC_103"
msgid "Shift Subtitle Right"
-msgstr "Untertitelverschiebung (rechts)"
+msgstr "Untertitelverschiebung (+100 ms)"
msgctxt "IDS_AG_DISPLAY_STATS"
msgid "Display Stats"
@@ -1693,19 +1729,19 @@ msgstr "Pan&Scan: Höhe verringern"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
msgid "Downloading subtitle(s), please wait."
-msgstr "Untertitel werden heruntergeladen..."
+msgstr "Lade Untertitel herunter..."
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
-msgstr "Analyse..."
+msgstr "Analysiere..."
msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
msgid "No subtitles found."
msgstr "Keine Untertitel gefunden"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Untertitel verfügbar"
+msgid "%d subtitle(s) available."
+msgstr "%d Untertitel verfügbar"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -1713,15 +1749,15 @@ msgstr "Wahlweise kann bei Verfügbarkeit einer aktualisierten Programmversion e
msgctxt "IDS_ZOOM_50"
msgid "50%"
-msgstr "50%"
+msgstr "50 %"
msgctxt "IDS_ZOOM_100"
msgid "100%"
-msgstr "100%"
+msgstr "100 %"
msgctxt "IDS_ZOOM_200"
msgid "200%"
-msgstr "200%"
+msgstr "200 %"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
@@ -1805,55 +1841,55 @@ msgstr "Stummschaltung (ein/aus)"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
-msgstr "DVD-Menü: Titelmenü"
+msgstr "DVD: Titelmenü"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr "DVD-Menü: Hauptmenü"
+msgstr "DVD: Hauptmenü"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
-msgstr "DVD-Menü: Untertitelmenü"
+msgstr "DVD: Untertitelmenü"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
-msgstr "DVD-Menü: Audiomenü"
+msgstr "DVD: Audiomenü"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "DVD-Menü: Blickwinkelmenü"
+msgstr "DVD: Blickwinkelmenü"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
-msgstr "DVD-Menü: Kapitelmenü"
+msgstr "DVD: Kapitelmenü"
msgctxt "IDS_AG_DVD_MENU_LEFT"
msgid "DVD Menu Left"
-msgstr "DVD-Menü: Nach links bewegen"
+msgstr "DVD: Menü nach links"
msgctxt "IDS_MPLAYERC_70"
msgid "DVD Menu Right"
-msgstr "DVD-Menü: Nach rechts bewegen"
+msgstr "DVD: Menü nach rechts"
msgctxt "IDS_AG_DVD_MENU_UP"
msgid "DVD Menu Up"
-msgstr "DVD-Menü: Nach oben bewegen"
+msgstr "DVD: Menü nach oben"
msgctxt "IDS_AG_DVD_MENU_DOWN"
msgid "DVD Menu Down"
-msgstr "DVD-Menü: Nach unten bewegen"
+msgstr "DVD: Menü nach unten"
msgctxt "IDS_MPLAYERC_73"
msgid "DVD Menu Activate"
-msgstr "DVD-Menü: Aktivieren"
+msgstr "DVD: Menü aktivieren"
msgctxt "IDS_AG_DVD_MENU_BACK"
msgid "DVD Menu Back"
-msgstr "DVD-Menü: Zurück"
+msgstr "DVD: Menü zurück"
msgctxt "IDS_MPLAYERC_75"
msgid "DVD Menu Leave"
-msgstr "DVD-Menü: Verlassen"
+msgstr "DVD: Menü verlassen"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
@@ -1877,19 +1913,19 @@ msgstr "Optionen"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio"
-msgstr "Audio vor"
+msgstr "Audiospur vor"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio"
-msgstr "Audio zurück"
+msgstr "Audiospur zurück"
msgctxt "IDS_AG_NEXT_SUBTITLE"
msgid "Next Subtitle"
-msgstr "Untertitel vor"
+msgstr "Untertitelspur vor"
msgctxt "IDS_AG_PREV_SUBTITLE"
msgid "Prev Subtitle"
-msgstr "Untertitel zurück"
+msgstr "Untertitelspur zurück"
msgctxt "IDS_MPLAYERC_85"
msgid "On/Off Subtitle"
@@ -1901,47 +1937,47 @@ msgstr "Untertitel neu laden"
msgctxt "IDS_MPLAYERC_87"
msgid "Next Audio (OGM)"
-msgstr "OGM-Spur: Audio vor"
+msgstr "OGM: Audiospur vor"
msgctxt "IDS_MPLAYERC_88"
msgid "Prev Audio (OGM)"
-msgstr "OGM-Spur: Audio zurück"
+msgstr "OGM: Audiospur zurück"
msgctxt "IDS_MPLAYERC_89"
msgid "Next Subtitle (OGM)"
-msgstr "OGM-Spur: Untertitel vor"
+msgstr "OGM: Untertitelspur vor"
msgctxt "IDS_MPLAYERC_90"
msgid "Prev Subtitle (OGM)"
-msgstr "OGM-Spur: Untertitel zurück"
+msgstr "OGM: Untertitelspur zurück"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
-msgstr "DVD-Spur: Blickwinkel vor"
+msgstr "DVD: Blickwinkel vor"
msgctxt "IDS_MPLAYERC_92"
msgid "Prev Angle (DVD)"
-msgstr "DVD-Spur: Blickwinkel zurück"
+msgstr "DVD: Blickwinkel zurück"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio (DVD)"
-msgstr "DVD-Spur: Audio vor"
+msgstr "DVD: Audiospur vor"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio (DVD)"
-msgstr "DVD-Spur: Audio zurück"
+msgstr "DVD: Audiospur zurück"
msgctxt "IDS_MPLAYERC_95"
msgid "Next Subtitle (DVD)"
-msgstr "DVD-Spur: Untertitel vor"
+msgstr "DVD: Untertitelspur vor"
msgctxt "IDS_MPLAYERC_96"
msgid "Prev Subtitle (DVD)"
-msgstr "DVD-Spur: Untertitel zurück"
+msgstr "DVD: Untertitelspur zurück"
msgctxt "IDS_MPLAYERC_97"
msgid "On/Off Subtitle (DVD)"
-msgstr "DVD-Spur: Untertitel (ein/aus)"
+msgstr "DVD: Untertitel (ein/aus)"
msgctxt "IDS_MPLAYERC_98"
msgid "Remaining Time"
@@ -1957,7 +1993,7 @@ msgstr "Zu Favoriten schnell hinzufügen"
msgctxt "IDS_DVB_CHANNEL_NUMBER"
msgid "N"
-msgstr "Nr."
+msgstr "Nummer"
msgctxt "IDS_DVB_CHANNEL_NAME"
msgid "Name"
@@ -1985,7 +2021,7 @@ msgstr "&Start"
msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
msgid "Stop"
-msgstr "Stopp"
+msgstr "&Stopp"
msgctxt "IDS_DVB_TVNAV_SEERADIO"
msgid "Radio stations"
@@ -2032,12 +2068,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Band: %02lu/%02lu, Titel: %02lu/%02lu, Kapitel: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Blickwinkel: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Blickwinkel: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2053,7 +2089,7 @@ msgstr "Um die Dateizuordnung zu ändern, werden weitere Zugriffsrechte benötig
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "Der MPC-HC ist ein äußerst schlanker, quelloffener Media-Player für Windows. Er unterstützt alle gängigen Audio- und Videoformate. Er ist zu 100% frei von Spyware und beinhaltet keinerlei Werbung oder Browser-Symbolleisten."
+msgstr "Der MPC-HC ist ein äußerst schlanker, quelloffener Media-Player für Windows. Er unterstützt alle gängigen Audio- und Videoformate. Er ist zu 100 % frei von Spyware und beinhaltet keinerlei Werbung oder Browser-Symbolleisten."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2105,7 +2141,7 @@ msgstr "Der Direct3D-Vollbildmodus dient dazu, Tearing-Effekte während der Vide
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
-msgstr "Untertitelverzögerung: %ldms"
+msgstr "Untertitelverzögerung: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
@@ -2144,20 +2180,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Gesamt: %ld, Verworfen: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", Größe: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", Größe: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", Größe: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", Größe: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", Frei: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", Frei: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", Frei: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", Frei: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2173,7 +2209,7 @@ msgstr "Untertitel: Aus"
msgctxt "IDS_SUBTITLE_STREAM"
msgid "Subtitle: %s"
-msgstr "Untertitel: %s"
+msgstr "Untertitelspur: %s"
msgctxt "IDS_MAINFRM_46"
msgid "Select the path for the DVD/BD:"
@@ -2181,7 +2217,7 @@ msgstr "DVD/BD öffnen"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr " erfolgreich geladen."
+msgstr " erfolgreich geladen"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2225,7 +2261,7 @@ msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Dateiname: %s\\N%sAuflösung
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
-msgstr "Miniaturansichten können in dieser geringen Größe nicht erstellt werden. Bitte die Anzahl der Miniaturansichten verringern oder deren Gesamtgröße erhöhen."
+msgstr "Miniaturansichten können in dieser geringen Größe nicht erstellt werden.\n\nBitte die Anzahl der Miniaturansichten verringern oder deren Gesamtgröße erhöhen."
msgctxt "IDS_CANNOT_LOAD_SUB"
msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
@@ -2244,8 +2280,8 @@ msgid "Aspect Ratio: Default"
msgstr "Seitenverhältnis: Auto"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Audioverzögerung: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "Audioverzögerung: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2289,11 +2325,11 @@ msgstr "Kapitel: "
msgctxt "IDS_VOLUME_OSD"
msgid "Vol: %d%%"
-msgstr "Lautstärke: %d%%"
+msgstr "Lautstärke: %d %%"
msgctxt "IDS_BOOST_OSD"
msgid "Boost: +%u%%"
-msgstr "Tonverstärkung: +%u%%"
+msgstr "Tonverstärkung: +%u %%"
msgctxt "IDS_BALANCE_OSD"
msgid "Balance: %s"
@@ -2465,7 +2501,7 @@ msgstr "Format unbekannt"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
-msgstr "Untertitelverschiebung: %ld"
+msgstr "Untertitelverschiebung: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
@@ -2477,19 +2513,19 @@ msgstr "Tonverstärkung verringern"
msgctxt "IDS_VOLUME_BOOST_MIN"
msgid "Volume boost Min"
-msgstr "Tonverstärkung (+0%)"
+msgstr "Tonverstärkung: +0 % (min)"
msgctxt "IDS_VOLUME_BOOST_MAX"
msgid "Volume boost Max"
-msgstr "Tonverstärkung (+300%)"
+msgstr "Tonverstärkung: +300 % (max)"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Aufruf: mpc-hc.exe \"Pfadname\" [Optionen]\n\n\"Pfadname\"\tGibt Datei oder Verzeichnis zur Wiedergabe an.\n\t\t(Wildcards sind möglich. Standardeingabe kann\n\t\tals \"-\" angegeben werden.)\n/dub \"Datei\"\tÖffnet zusätzliche Audiodatei.\n/dubdelay \"Datei\"\tÖffnet zusätzliche Audiodatei, deren Wiedergabe\n\t\tum X ms versetzt wird. (Dateiname muss\n\t\t\"DELAY Xms\" enthalten.)\n/d3dfs\t\tStartet Player im Direct3D-Vollbildmodus.\n/sub \"Datei\"\tÖffnet zusätzliche Untertiteldatei.\n/filter \"Filtername\"\tLädt DirectShow-Filter aus einer\n\t\tLaufzeitbibliothek. (Wildcards sind möglich.)\n/dvd\t\tStartet Player im DVD-Modus. (DVD-Verzeichnis\n\t\tkann als \"Pfadname\" angegeben werden.)\n/dvdpos T#C\tStartet DVD-Wiedergabe bei Titel T, Kapitel C.\n/dvdpos T#P\tStartet DVD-Wiedergabe bei Titel T, Position P\n\t\t(hh:mm:ss).\n/cd\t\tÖffnet Audio-CD oder (S)VCD. (Laufwerk kann\n\t\tals \"Pfadname\" angegeben werden.)\n/device\t\tÖffnet Videogerät.\n/open\t\tÖffnet Medieninhalt und pausiert Wiedergabe.\n/play\t\tÖffnet Medieninhalt und startet Wiedergabe.\n/close\t\tBeendet Player nach Wiedergabe (in\n\t\tKombination mit \"/play\").\n/shutdown\tFährt System nach Wiedergabe herunter.\n/fullscreen\tStartet Wiedergabe im Vollbild.\n/minimized\tStartet Player minimiert.\n/new\t\tÖffnet neues Playerfenster.\n/add\t\tFügt \"Pfadname\" zur Wiedergabeliste hinzu\n\t\t(in Kombination mit \"/open\" oder \"/play\").\n/regvid\t\tRegistriert alle verfügbaren Videoformate.\n/regaud\t\tRegistriert alle verfügbaren Audioformate.\n/regpl\t\tRegistriert alle verfügbaren Wiedergabelisten.\n/regall\t\tRegistriert alle verfügbaren Medienformate.\n/unregall\t\tDeregistriert alle verfügbaren Medienformate.\n/start X\t\tStartet Wiedergabe bei X ms.\n/startpos P\tStartet Wiedergabe bei Position P (hh:mm:ss).\n/fixedsize W,H\tFixiert Fenstergröße bei Breite W und Höhe H.\n/monitor N\tStartet Wiedergabe auf Monitor N (wobei N>0).\n/audiorenderer N\tLädt Audio-Renderer N (wobei N>0, siehe\n\t\tAusgabe-Optionen).\n/shaderpreset \"S\"\tStartet Player mit Shader-Profil \"S\".\n/reset\t\tSetzt alle Programm-Einstellungen zurück.\n/help /h /?\tZeigt diese Hilfe an.\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Aufruf: mpc-hc.exe \"Pfadname\" [Optionen]\n\n\"Pfadname\"\tGibt Mediendatei oder Verzeichnis an.\n\t\t(Wildcards sind möglich. Standardeingabe kann\n\t\tals \"-\" angegeben werden.)\n/dub \"Datei\"\tÖffnet zusätzliche Audiodatei.\n/dubdelay \"Datei\"\tÖffnet zusätzliche Audiodatei, deren Wiedergabe\n\t\tum X ms versetzt wird. (Dateiname muss\n\t\t\"DELAY Xms\" enthalten.)\n/d3dfs\t\tStartet Player im Direct3D-Vollbildmodus.\n/sub \"Datei\"\tÖffnet zusätzliche Untertiteldatei.\n/filter \"F\"\t\tLädt DirectShow-Filter \"F\" aus\n\t\tLaufzeitbibliothek. (Wildcards sind möglich.)\n/dvd\t\tStartet Player im DVD-Modus. (DVD-Verzeichnis\n\t\tkann als \"Pfadname\" angegeben werden.)\n/dvdpos T#C\tStartet DVD-Wiedergabe bei Titel T, Kapitel C.\n/dvdpos T#P\tStartet DVD-Wiedergabe bei Titel T, Position P\n\t\t(hh:mm:ss).\n/cd\t\tÖffnet Audio-CD oder (S)VCD. (Laufwerk kann\n\t\tals \"Pfadname\" angegeben werden.)\n/device\t\tÖffnet Gerät.\n/open\t\tÖffnet Mediendatei und pausiert Wiedergabe.\n/play\t\tÖffnet Mediendatei und startet Wiedergabe.\n/close\t\tBeendet Player (nach Wiedergabe) (in\n\t\tKombination mit \"/play\").\n/shutdown\tFährt Computer herunter (nach Wiedergabe).\n/standby\t\tSpart Energie (nach Wiedergabe).\n/hibernate\tWechselt in Ruhezustand (nach Wiedergabe).\n/logoff\t\tMeldet Benutzer ab (nach Wiedergabe).\n/lock\t\tSperrt Computer (nach Wiedergabe).\n/monitoroff\tSchaltet Bildschirm aus (nach Wiedergabe).\n/playnext\t\tÖffnet nächste Ordnerdatei (nach Wiedergabe).\n/fullscreen\tStartet Player im Vollbild.\n/minimized\tStartet Player minimiert.\n/new\t\tÖffnet Mediendatei mit neuem Player.\n/add\t\tFügt \"Pfadname\" zur Wiedergabeliste hinzu\n\t\t(in Kombination mit \"/open\" oder \"/play\").\n/regvid\t\tRegistriert alle Videoformate.\n/regaud\t\tRegistriert alle Audioformate.\n/regpl\t\tRegistriert alle Wiedergabelisten.\n/regall\t\tRegistriert alle Medienformate.\n/unregall\t\tDeregistriert alle Medienformate.\n/start X\t\tStartet Wiedergabe bei X ms.\n/startpos P\tStartet Wiedergabe bei Position P (hh:mm:ss).\n/fixedsize W,H\tFixiert Fenstergröße bei Breite W und Höhe H.\n/monitor N\tStartet Player auf Monitor N (wobei N > 0).\n/audiorenderer N\tLädt Audio-Renderer N (wobei N > 0, siehe\n\t\tAusgabe-Optionen).\n/shaderpreset \"P\"\tLädt Shader-Profil \"P\".\n/pns \"P\"\t\tLädt Pan&Scan-Profil \"P\".\n/iconsassoc\tOrdnet Format-Icons neu zu.\n/nofocus\t\tStartet Player im Hintergrund.\n/webport N\tVerwendet Web-Interface mit Portnummer N.\n/debug\t\tZeigt Debug-Information im OSD an.\n/nominidump\tErstellt keine Minidump-Datei.\n/slave \"T\"\t\tÖffnet Mediendatei mit gestartetem Player,\n\t\tversehen mit Fenstertitel \"T\".\n/reset\t\tSetzt alle Programm-Einstellungen zurück.\n/help /h /?\tZeigt diese Hilfe an.\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Unbekannte Option in der Befehlszeile:\n"
+msgstr "Unbekannte Option in der Befehlszeile:\n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
@@ -2521,15 +2557,15 @@ msgstr "Shader-Debugger (ein/aus)"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
-msgstr "Zoom: 50%"
+msgstr "Zoom: 50 %"
msgctxt "IDS_AG_ZOOM_100"
msgid "Zoom 100%"
-msgstr "Zoom: 100%"
+msgstr "Zoom: 100 %"
msgctxt "IDS_AG_ZOOM_200"
msgid "Zoom 200%"
-msgstr "Zoom: 200%"
+msgstr "Zoom: 200 %"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
@@ -2773,7 +2809,7 @@ msgstr "Fenster von außen berühren"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
-msgstr "Audio: %s"
+msgstr "Audiospur: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
@@ -3233,7 +3269,7 @@ msgstr "MPC-HC %s ist verfügbar. Zurzeit wird noch Version %s verwendet.\n\nAkt
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr "Update-Server nicht gefunden. Bitte die Internetverbindung prüfen oder später erneut versuchen."
+msgstr "Update-Server nicht gefunden.\n\nBitte die Internetverbindung prüfen oder später erneut versuchen."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3241,7 +3277,7 @@ msgstr "&Schließen"
msgctxt "IDS_OSD_ZOOM"
msgid "Zoom: %.0lf%%"
-msgstr "Zoom: %.0lf%%"
+msgstr "Zoom: %.0lf %%"
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
@@ -3283,6 +3319,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Lautstärke zurücksetzen: Aus"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "Bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3345,11 +3385,11 @@ msgstr "Einzelbildschaltung nicht möglich. Bitte einen anderen Video-Renderer v
msgctxt "IDS_SCREENSHOT_ERROR_REAL"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von RealMedia nicht verwendet werden. Bitte einen VMR-Renderer für RealMedia-Video in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
+msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von RealMedia nicht verwendet werden.\nBitte einen VMR-Renderer für RealMedia-Video in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SCREENSHOT_ERROR_QT"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von QuickTime nicht verwendet werden. Bitte einen VMR-Renderer für QuickTime-Video in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
+msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Standard-Renderer von QuickTime nicht verwendet werden.\nBitte einen VMR-Renderer für QuickTime-Video in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
@@ -3357,7 +3397,7 @@ msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" kÃ
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Overlay-Mixer nicht verwendet werden. Bitte einen geeigneten Video-Renderer in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
+msgstr "Die Funktionen \"Bild speichern\" und \"Miniaturansichten speichern\" können mit dem Overlay-Mixer nicht verwendet werden.\nBitte einen geeigneten Video-Renderer in den Ausgabe-Optionen wählen und die Mediendatei erneut öffnen."
msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
msgid "Cannot connect to the online subtitles database."
@@ -3453,12 +3493,20 @@ msgstr "Nach Wiedergabe: Benutzer abmelden"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr "Nach Wiedergabe: Benutzer sperren"
+msgstr "Nach Wiedergabe: Computer sperren"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Nach Wiedergabe: Bildschirm ausschalten"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Nach Wiedergabe: Nächste Ordnerdatei öffnen"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Nach Wiedergabe: Keine Aktion"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Helligkeit: %s"
@@ -3497,7 +3545,7 @@ msgstr "Ãœbergeht die Auswahl der Sprachspur externer Splitter und verwendet die
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
-msgstr "&Wiedergabelisten"
+msgstr "&Wiedergabeliste"
msgctxt "IDS_NAVIGATE_PLAYLIST"
msgid "&Playlist"
@@ -3513,11 +3561,11 @@ msgstr "&Titel"
msgctxt "IDS_NAVIGATE_CHANNELS"
msgid "&Channels"
-msgstr "&Kanäle"
+msgstr "&Sender"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Verwendet bei \"Mit näherem Keyframe\" richtungsunabhängig den nächstgelegenen Keyframe. Alternativ springt der Suchlauf bei \"Mit letztem Keyframe\" immer zum vorherigen Keyframe zurück."
+msgstr "Verwendet bei \"Mit näherem Keyframe\" richtungsunabhängig den nächstgelegenen Keyframe.\nAlternativ springt der Suchlauf bei \"Mit letztem Keyframe\" immer zum vorherigen Keyframe zurück."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
index 51df9234c..78c6a1be3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.dialogs.pot
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
@@ -186,7 +186,7 @@ msgid "About"
msgstr ""
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
msgstr ""
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
index f1034c724..dc2ce9301 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <admin@geogeo.gr>, 2013-2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-22 01:00+0000\n"
-"Last-Translator: firespin <dartworldgr@hotmail.com>\n"
+"PO-Revision-Date: 2014-10-27 06:10+0000\n"
+"Last-Translator: geogeo.gr <admin@geogeo.gr>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "ΠεÏί"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 βλέπε Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 βλέπε Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -599,7 +599,7 @@ msgstr "Εκτέλεση ως &διαχειÏιστής"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr "ΟÏισμός ως &Ï€Ïοεπιλεγμένο Ï€ÏόγÏαμμα"
+msgstr "ΟÏισμός ως &Ï€Ïοεπιλ/νο Ï€ÏόγÏαμμα"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
index ebd714ae0..30bf9d231 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <admin@geogeo.gr>, 2014
@@ -8,9 +8,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-26 22:50+0000\n"
-"Last-Translator: firespin <dartworldgr@hotmail.com>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 06:10+0000\n"
+"Last-Translator: geogeo.gr <admin@geogeo.gr>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -612,7 +612,11 @@ msgstr "Κλείδωμα"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "Σβήσε την &οθόνη"
+msgstr "ΑπενεÏγοποίηση &οθόνης"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Αναπ/γωγή &επόμενου αÏχείου στο φάκελο"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
index 341d63a73..a4d5bcc2f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.el.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# geogeo.gr <admin@geogeo.gr>, 2013-2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-09-30 20:38+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-13 22:50+0000\n"
"Last-Translator: firespin <dartworldgr@hotmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/mpc-hc/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Δεν ήταν δυνατή η εÏÏεση όλων των τόμων της αÏχειοθήκης"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Η επιφάνεια του βίντεο θα διατεθεί ως υφή, αλλά οι λειτουÏγίες 2D θα μποÏοÏν να χÏησιμοποιηθοÏν για αντιγÏαφή και επιμήκυνση στην backbuffer. Απαιτεί μια κάÏτα γÏαφικών που να διαθέσει 32bit, RGBA, υφές διαστάσεων όχι-δυνάμεων του δÏο και τουλάχιστον στην ανάλυση του βίντεο."
msgctxt "IDC_TEXTURESURF3D"
@@ -1315,7 +1315,7 @@ msgstr "Έξοδος"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr "Σβήσε την οθόνη"
+msgstr "ΑπενεÏγοποίηση οθόνης"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
@@ -1327,7 +1327,7 @@ msgstr "Ποιότητα (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr "Μέγιστο μέγεθος (NxNpx) από ένα εξώφυλλο που έχει φοÏτωθεί στην λειτουÏγία μόνο ήχου."
+msgstr "Μέγιστο μέγεθος (NxNpx) από ένα εξώφυλλο που έχει φοÏτωθεί στην λειτουÏγία μόνο ήχου."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<not defined>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "ΠαÏακολοÏθηση"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Μετακίν. πάνω"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Μετακίν. κάτω"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Ταξινόμηση κατά LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "ΚατάÏγηση όλων"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Είστε βέβαιος ότι θέλετε να καταÏγήσετε όλα τα κανάλια από τη λίστα;"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Δεν υπάÏχουν διαθέσιμες πληÏοφοÏίες"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "ΠαÏακαλώ πεÏιμένετε. Ανάλυση σε εξέλιξη..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Άνοιγμα συσκευής"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "ΕπαναφοÏά Ïοής"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "ΚαθυστέÏηση ήχου +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "ΚαθυστέÏηση ήχου -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,8 +1734,8 @@ msgid "No subtitles found."
msgstr "Δεν βÏέθηκαν υπότιτλοι."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d υπότιτλοι είναι διαθέσιμοι."
+msgid "%d subtitle(s) available."
+msgstr "%d υπότιτλοι είναι διαθέσιμοι."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2026,12 +2062,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Τόμος: %02lu/%02lu, Τίτλος: %02lu/%02lu, Κεφάλαιο: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Γωνία: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2095,7 +2131,7 @@ msgstr "DVD: Μη συμβατές πεÏιοχές δίσκου και αποκ
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Η επιλογή αυτή έχει σχεδιαστεί για την αποφυγή σχισίματος. Ωστόσο, θα αποτÏέψει επίσης το MPC-HC\nαπό την εμφάνιση των Î¼ÎµÎ½Î¿Ï Ï€ÎµÏιβάλλοντος και παÏαθÏÏων διαλόγου κατά την αναπαÏαγωγή.\n\nΓια να βγείτε από την αναπαÏαγωγή Direct3D πλήÏους οθόνης, Ï€Ïέπει να πιέσετε: Ctrl + C.\n\nΕίστε βέβαιος ότι θέλετε να ενεÏγοποιήσετε αυτήν την επιλογή;"
+msgstr ""
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", ΣÏνολο: %ld, ΑποÏÏίφθηκαν: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Μέγεθος: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Μέγεθος: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", ΕλεÏθεÏη: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", ΕλεÏθεÏη: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "Αναλογία πλευÏών: ΠÏοεπιλογή"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "ΚαθυστέÏηση ήχου: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2423,11 +2459,11 @@ msgstr "ΚατακόÏυφος συγχÏονισμός (VSync)"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Σχόλια σκηνοθέτη 1)"
+msgstr " (Σχόλια σκηνοθέτη 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Σχόλια σκηνοθέτη 2)"
+msgstr " (Σχόλια σκηνοθέτη 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Μέγιστη ώθηση έντασης"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ΧÏήση: mpc-hc.exe \"κατάλογος\" [παÏάμετÏοι]\n\n\"κατάλογος\"\tΤο κÏÏιο αÏχείο ή ο κατάλογος που θα φοÏτωθεί\n\t\t(επιτÏέπονται τα Î¼Ï€Î±Î»Î±Î½Ï„Î­Ï \"-\" υποδηλώνει τυπική είσοδο)\n/dub \"αÏχείο ήχου\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου ήχου\n/dubdelay \"αÏχείο\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου ήχου μετατοπισμένο με XXms\n\t\t(εάν το αÏχείο πεÏιέχει \"...DELAY XXms...\")\n/d3dfs\t\tΕκκίνηση απόδοσης σε λειτουÏγία D3D πλήÏους οθόνης\n/sub \"όνομα υπότιτλων\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου υποτίτλων\n/filter \"όνομα φίλτÏου\"\tΦόÏτωση φίλτÏων DirectShow από ένα dll\n\t\t(επιτÏέπονται τα μπαλαντέÏ)\n/dvd\t\tΕκτέλεση σε λειτουÏγία DVD. Ως \"κατάλογος\" εννοείται\n\t\tο φάκελος του DVD (Ï€ÏοαιÏετικά)\n/dvdpos T#C\tΈναÏξη αναπαÏαγωγής στον τίτλο T, κεφάλαιο C\n/dvdpos T#hh:mm\tΈναÏξη αναπαÏαγωγής στον τίτλο T, θέση hh:mm:ss\n/cd\t\tΦόÏτωση όλων των κομματιών από ένα CD ή (S)VCD.\n\t\tΩς \"κατάλογος\" εννοείται της συσκευής οδήγησης (Ï€ÏοαιÏετικά)\n/device\t\tΆνοιγμα της Ï€Ïοεπιλεγμένης συσκευής βίντεο\n/open\t\tΆνοιγμα του αÏχείου χωÏίς αυτόματη έναÏξη αναπαÏαγωγής\n/play\t\tΈναÏξη αναπαÏαγωγής του αÏχείου με την εκκίνηση του\n\t\tÏ€ÏογÏάμματος αναπαÏαγωγής\n/close\t\tΚλείσιμο του Ï€ÏογÏάμματος μετά την αναπαÏαγωγή\n\t\t(δουλεÏει μόνο όταν χÏησιμοποιείται με το /play)\n/shutdown\tΤεÏματισμός του συστήματος μετά την αναπαÏαγωγή\n/fullscreen\tΈκκίνηση σε λειτουÏγία πλήÏους οθόνης\n/minimized\tΈκκίνηση σε ελαχιστοποιημένη λειτουÏγία\n/new\t\tΕκκινεί μια νέα παÏουσία του MPC-HC\n/add\t\tΠÏοσθήκη του \"κατάλογος\" στη λίστα αναπαÏαγωγής.\n\t\tΜποÏεί να συνδυαστεί με /open και /play\n/regvid\t\tΔημιουÏγεί συσχετίσεις για αÏχεία βίντεο\n/regaud\t\tΔημιουÏγεί συσχετίσεις για αÏχεία ήχου\n/regpl\t\tΔημιουÏγεί συσχετίσεις για αÏχεία λίστας αναπαÏαγωγής\n/regall\t\tΔημιουÏγεί συσχετίσεις αÏχείων\n\t\tγια όλους τους υποστηÏιζόμενους Ï„Ïπους αÏχείων\n/unregall\t\tΚαταÏγεί όλες τις συσχετίσεις αÏχείων\n/start ms\t\tΈναÏξη αναπαÏαγωγής στα \"ms\" (= χιλιοστά δευτεÏολέπτου)\n/startpos hh:mm:ss\tΈναÏξη αναπαÏαγωγής στη θέση hh:mm:ss\n/fixedsize w,h\tΟÏίζει το μέγεθος ενός σταθεÏÎ¿Ï Ï€Î±ÏαθÏÏου\n/monitor N\tΕκκίνηση του MPC-HC στην οθόνη N (όπου το N ξεκινά από 1)\n/audiorenderer N\tΈναÏξη απόδοσης ήχου με χÏήση του N (όπου το N ξεκινά από 1)\n\t\t(βλέπε Ïυθμίσεις \"Έξοδος\")\n/shaderpreset \"Pr\"\tΈναÏξη με χÏήση της Ï€ÏοÏÏθμισης σκίασης \"Pr\"\n/reset\t\tΕπαναφοÏά Ï€Ïοεπιλεγμένων Ïυθμίσεων\n/help /h /?\tΕμφάνιση βοήθειας σχετικά με τις παÏαμέτÏους της γÏαμμής εντολών\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "ΧÏήση: mpc-hc.exe \"κατάλογος\" [παÏάμετÏοι]\n\n\"κατάλογος\"\tΤο κÏÏιο αÏχείο ή ο κατάλογος που θα φοÏτωθεί\n\t\t(επιτÏέπονται τα Î¼Ï€Î±Î»Î±Î½Ï„Î­Ï \"-\" υποδηλώνει τυπική είσοδο)\n/dub \"αÏχείο ήχου\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου ήχου\n/dubdelay \"αÏχείο\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου ήχου μετατοπισμένο με XXms\n\t\t(εάν το αÏχείο πεÏιέχει \"...DELAY XXms...\")\n/d3dfs\t\tΕκκίνηση απόδοσης σε λειτουÏγία D3D πλήÏους οθόνης\n/sub \"όνομα υπότιτλων\"\tΦόÏτωση ενός Ï€Ïόσθετου αÏχείου υποτίτλων\n/filter \"όνομα φίλτÏου\"\tΦόÏτωση φίλτÏων DirectShow από ένα dll\n\t\t(επιτÏέπονται τα μπαλαντέÏ)\n/dvd\t\tΕκτέλεση σε λειτουÏγία DVD. Ως \"κατάλογος\" εννοείται\n\t\tο φάκελος του DVD (Ï€ÏοαιÏετικά)\n/dvdpos T#C\tΈναÏξη αναπαÏαγωγής στον τίτλο T, κεφάλαιο C\n/dvdpos T#hh:mm\tΈναÏξη αναπαÏαγωγής στον τίτλο T, θέση hh:mm:ss\n/cd\t\tΦόÏτωση όλων των κομματιών από ένα CD ή (S)VCD.\n\t\tΩς \"κατάλογος\" εννοείται της συσκευής οδήγησης (Ï€ÏοαιÏετικά)\n/device\t\tΆνοιγμα της Ï€Ïοεπιλεγμένης συσκευής βίντεο\n/open\t\tΆνοιγμα του αÏχείου χωÏίς αυτόματη έναÏξη αναπαÏαγωγής\n/play\t\tΈναÏξη αναπαÏαγωγής του αÏχείου με την εκκίνηση του\n\t\tÏ€ÏογÏάμματος αναπαÏαγωγής\n/close\t\tΚλείσιμο του Ï€ÏογÏάμματος μετά την αναπαÏαγωγή\n\t\t(δουλεÏει μόνο όταν χÏησιμοποιείται με το /play)\n/shutdown\tΤεÏματισμός του συστήματος μετά την αναπαÏαγωγή\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tΈκκίνηση σε λειτουÏγία πλήÏους οθόνης\n/minimized\tΈκκίνηση σε ελαχιστοποιημένη λειτουÏγία\n/new\t\tΕκκινεί μια νέα παÏουσία του MPC-HC\n/add\t\tΠÏοσθήκη του \"κατάλογος\" στη λίστα αναπαÏαγωγής.\n\t\tΜποÏεί να συνδυαστεί με /open και /play\n/regvid\t\tΔημιουÏγεί συσχετίσεις για αÏχεία βίντεο\n/regaud\t\tΔημιουÏγεί συσχετίσεις για αÏχεία ήχου\n/regpl\t\tΔημιουÏγεί συσχετίσεις για αÏχεία λίστας αναπαÏαγωγής\n/regall\t\tΔημιουÏγεί συσχετίσεις αÏχείων\n\t\tγια όλους τους υποστηÏιζόμενους Ï„Ïπους αÏχείων\n/unregall\t\tΚαταÏγεί όλες τις συσχετίσεις αÏχείων\n/start ms\t\tΈναÏξη αναπαÏαγωγής στα \"ms\" (= χιλιοστά δευτεÏολέπτου)\n/startpos hh:mm:ss\tΈναÏξη αναπαÏαγωγής στη θέση hh:mm:ss\n/fixedsize w,h\tΟÏίζει το μέγεθος ενός σταθεÏÎ¿Ï Ï€Î±ÏαθÏÏου\n/monitor N\tΕκκίνηση του MPC-HC στην οθόνη N (όπου το N ξεκινά από 1)\n/audiorenderer N\tΈναÏξη απόδοσης ήχου με χÏήση του N (όπου το N ξεκινά από 1)\n\t\t(βλέπε Ïυθμίσεις \"Έξοδος\")\n/shaderpreset \"Pr\"\tΈναÏξη με χÏήση της Ï€ÏοÏÏθμισης σκίασης \"Pr\"\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tΕπαναφοÏά Ï€Ïοεπιλεγμένων Ïυθμίσεων\n/help /h /?\tΕμφάνιση βοήθειας σχετικά με τις παÏαμέτÏους της γÏαμμής εντολών\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3223,7 +3259,7 @@ msgstr "Η Ï„Ïέχουσα έκδοσή σας είναι η v%s.\n\nΗ νεώÏ
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "Η έκδοση MPC-HC v%s είναι Ï„ÏŽÏα διαθέσιμη.\nΧÏησιμοποιείτε την v%s.\n\nΘέλετε να επισκεφθείτε τον ιστότοπο του MPC-HC για λήψη;"
+msgstr "Η έκδοση MPC-HC v%s είναι Ï„ÏŽÏα διαθέσιμη.\n\nΧÏησιμοποιείτε την v%s.\n\nΘέλετε να επισκεφθείτε τον ιστότοπο του MPC-HC για λήψη;"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Ανάκτηση έντασης: Όχι"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3451,7 +3491,15 @@ msgstr "Μετά την αναπαÏαγωγή: Κλείδωμα"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr "Μετά την ΑναπαÏαγωγή: Σβήσε την οθόνη"
+msgstr "Μετά την ΑναπαÏαγωγή: ΑπενεÏγοποίηση οθόνης"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Μετά την αναπαÏαγωγή: Αναπ/γωγή επόμενου αÏχείου στο φάκελο"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Μετά την αναπαÏαγωγή: Καμία ενέÏγεια"
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
index bacec3994..43ccfd226 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2014
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-27 19:40+0000\n"
+"PO-Revision-Date: 2014-11-08 03:46+0000\n"
"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "About"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 see Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 see Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
index 2499b1335..f0f462b33 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-23 01:00+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-08 03:46+0000\n"
"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Turn off the &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Play &next file in the folder"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
index 311d41d23..ecdfdcbb9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.en_GB.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-27 19:40+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-06 13:39+0000\n"
"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/mpc-hc/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -789,8 +789,8 @@ msgid "Couldn't find all archive volumes"
msgstr "Couldn't find all archive volumes"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -1334,7 +1334,43 @@ msgstr "The subtitle delay will be decreased/increased by this value each time t
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<not defined>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Watch"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Move Up"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Move Down"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sort by LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Remove all"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Are you sure you want to remove all channels from the list?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "No information available"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Please wait, analysis in progress..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1537,12 +1573,12 @@ msgid "Reset Rate"
msgstr "Reset Rate"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
+msgstr "Audio Delay +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
+msgstr "Audio Delay -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "No subtitles found."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
+msgstr "%d subtitle(s) available."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,12 +2061,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2137,20 +2173,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Total: %ld, Dropped: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", Size: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", Size: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", Free: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", Free: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2237,8 +2273,8 @@ msgid "Aspect Ratio: Default"
msgstr "Aspect Ratio: Default"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "Audio delay: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Volume boost Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimised mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimised mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Regain volume: Off"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "After Playback: Turn off the monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "After Playback: Play next file in the folder"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "After Playback: Do nothing"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Brightness: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
index 61ee8aa49..4688ac64f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-22 08:00+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos <fito@libreoffice.org>\n"
+"PO-Revision-Date: 2014-12-01 22:46+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -91,7 +91,7 @@ msgstr "Amplificación máxima:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
-msgstr " %"
+msgstr "%"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
msgid "Regain volume"
@@ -167,7 +167,7 @@ msgstr "Abrir:"
msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Examinar..."
+msgstr "Examinar…"
msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
msgid "Dub:"
@@ -175,7 +175,7 @@ msgstr "Doblaje:"
msgctxt "IDD_OPEN_DLG_IDC_BUTTON2"
msgid "Browse..."
-msgstr "Examinar..."
+msgstr "Examinar…"
msgctxt "IDD_OPEN_DLG_IDOK"
msgid "OK"
@@ -194,8 +194,8 @@ msgid "About"
msgstr "Acerca de"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "© 2002-2014. Consulte el archivo Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "© 2002-2015. Consulte el archivo Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -203,7 +203,7 @@ msgstr "Este programa es gratuito y está publicado bajo la Licencia Pública Ge
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "English translation made by MPC-HC Team"
-msgstr "Traducción al español: SquallMX, XPC y Fitoschido."
+msgstr "Traducción: SquallMX, XPC, Fitoschido."
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
@@ -275,7 +275,7 @@ msgstr "No mostrar nada"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
msgid "Replace file name with title"
-msgstr "Usar titulo como nombre"
+msgstr "Usar título como nombre de archivo"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "Other"
@@ -343,7 +343,7 @@ msgstr "Recordar tamaño de la ventana"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
msgid "Remember last Pan-n-Scan Zoom"
-msgstr "Recordar el último zoom Pan & scan"
+msgstr "Recordar el último reencuadramiento"
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "\"Open DVD/BD\" behavior"
@@ -443,7 +443,7 @@ msgstr "Factor de ajuste automático:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
msgid "%"
-msgstr " %"
+msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
@@ -491,7 +491,7 @@ msgstr "Salto de volumen:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "%"
-msgstr " %"
+msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Speed step:"
@@ -507,7 +507,7 @@ msgstr "Horizontal:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC2"
msgid "%"
-msgstr " %"
+msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC3"
msgid "Vertical:"
@@ -515,7 +515,7 @@ msgstr "Vertical:"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC4"
msgid "%"
-msgstr " %"
+msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
@@ -707,7 +707,7 @@ msgstr "Ocultar automáticamente el ratón durante la reproducción en modo vent
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
msgid "Add Filter..."
-msgstr "Agregar filtro..."
+msgstr "Añadir filtro…"
msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON2"
msgid "Remove"
@@ -879,7 +879,7 @@ msgstr "Posición: 0.0 -> 1.0"
msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
msgid "Zoom: 0.2 -> 3.0"
-msgstr "Zoom: 0.2 -> 3.0"
+msgstr "Escala: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
@@ -1111,7 +1111,7 @@ msgstr "Externo:"
msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
msgid "Browse..."
-msgstr "Examinar..."
+msgstr "Examinar…"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DirectShow Video"
@@ -1199,7 +1199,7 @@ msgstr "Escuchar el puerto:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Abrir en navegador web..."
+msgstr "Abrir en navegador web…"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1219,11 +1219,11 @@ msgstr "Servir páginas desde:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
-msgstr "Examinar..."
+msgstr "Examinar…"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
msgid "Deploy..."
-msgstr "Desplegar..."
+msgstr "Desplegar…"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "Default page:"
@@ -1231,7 +1231,7 @@ msgstr "Página predeterminada:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
-msgstr "Tratantes de CGI: (.ext1=ruta1;.ext2=ruta2;...)"
+msgstr "Tratantes de CGI: (.ext1=ruta1;.ext2=ruta2;…)"
msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
msgid "Subtitles available online"
@@ -1247,7 +1247,7 @@ msgstr "Remplazar los subtítulos cargados actualmente"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
-msgstr "Guardar como..."
+msgstr "Guardar como…"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
index bd8838c33..c275d4b1b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.menus.po
@@ -1,15 +1,17 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
# JellyFrog, 2013
# squallmx <squallmx@users.sourceforge.net>, 2014
+# strel, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-16 16:41+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 16:10+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fito@libreoffice.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -392,19 +394,19 @@ msgstr "A&justar a la ventana"
msgctxt "ID_VIEW_VF_FROMINSIDE"
msgid "Touch Window From &Inside"
-msgstr "Tocar Ventana desde A&fuera"
+msgstr "&Tocar ventana desde adentro"
msgctxt "ID_VIEW_VF_ZOOM1"
msgid "Zoom &1"
-msgstr "Ampliación &1"
+msgstr "Escala &1"
msgctxt "ID_VIEW_VF_ZOOM2"
msgid "Zoom &2"
-msgstr "Ampliación &2"
+msgstr "Escala &2"
msgctxt "ID_VIEW_VF_FROMOUTSIDE"
msgid "Touch Window From &Outside"
-msgstr "Tocar Ventana desde Ad&entro"
+msgstr "Tocar ventana desde a&fuera"
msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
msgid "&Keep Aspect Ratio"
@@ -614,6 +616,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Apagar el &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Reproducir &siguiente archivo en la carpeta"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navegar"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
index 6a62c4041..755ed94ad 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.es.strings.po
@@ -1,8 +1,8 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014-2015
# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
# Ernesto Avilés Vzqz <whippiii@gmail.com>, 2013
# fdelacruz <freddy@delacruz.cl>, 2014
@@ -14,8 +14,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2015-01-10 11:00+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fito@libreoffice.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -426,15 +426,15 @@ msgstr "&Restablecer"
msgctxt "IDS_MPLAYERC_104"
msgid "Subtitle Delay -"
-msgstr "Retraso de Subs -"
+msgstr "Reducir retardo de subtítulos"
msgctxt "IDS_MPLAYERC_105"
msgid "Subtitle Delay +"
-msgstr "Retraso de Subs +"
+msgstr "Aumentar retardo de subtítulos"
msgctxt "IDS_FILE_SAVE_THUMBNAILS"
msgid "Save thumbnails"
-msgstr "Guardar vistas previas"
+msgstr "Guardar miniaturas"
msgctxt "IDD_PPAGEPLAYBACK"
msgid "Playback"
@@ -797,7 +797,7 @@ msgid "Couldn't find all archive volumes"
msgstr "No se pudieron encontrar todos los pedazos del comprimido"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "La superficie de video será distribuida como una textura pero aun así las funciones 2D serán usadas para copiar y alargar en el backbuffer. Requiere una tarjeta de video que pueda alocar RGBA de 32 bits, por lo menos a la resolución del video."
msgctxt "IDC_TEXTURESURF3D"
@@ -982,7 +982,7 @@ msgstr "En pausa"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
-msgstr "EDL Nuevo Clip"
+msgstr "Clip nuevo EDL"
msgctxt "IDS_RECENT_FILES_CLEAR"
msgid "&Clear list"
@@ -1034,7 +1034,7 @@ msgstr "Rotar PnS Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "Prueba de Parpadeo"
+msgstr "Prueba de parpadeo"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1174,7 +1174,7 @@ msgstr "Abrir DVD/BD"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "Fallido al configurar sombras post-redimensionadas"
+msgstr "Falló la configuración de los «shaders» posredimensionamiento"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
@@ -1344,6 +1344,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<sin definir>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Observar"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Bajar"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Ordenar por número de canal lógico (LCN)"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Eliminar todos"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "¿Está seguro de que quiere eliminar todos los canales de la lista?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "No hay información disponible"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Por favor espere, análisis en marcha..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "RdA %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Abrir un dispositivo"
@@ -1450,7 +1486,7 @@ msgstr "Último fotograma clave"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Fotograma clave más cercano"
+msgstr "Fotograma clave más cercano"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
@@ -1545,11 +1581,11 @@ msgid "Reset Rate"
msgstr "Restablecer velocidad"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Retardo de audio de +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Retardo de audio de -10 ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1606,11 +1642,11 @@ msgstr "Interruptor de Direct3D en Pantalla Completa"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Ir a Sub Previo"
+msgstr "Ir al subtítulo anterior"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Ir a Sub Siguiente"
+msgstr "Ir al subtítulo siguiente"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
@@ -1705,7 +1741,7 @@ msgid "No subtitles found."
msgstr "No se encontraron subtítulos."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d subtítulos disponibles."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2033,12 +2069,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volumen: %02lu/%02lu, título: %02lu/%02lu, capítulo: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Ãngulo: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2145,19 +2181,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Total: %ld, perdidos: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Tamaño: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Tamaño: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Libre: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Libre: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2182,7 +2218,7 @@ msgstr "Seleccione la ruta del DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "cargado correctamente"
+msgstr " cargado correctamente"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2245,7 +2281,7 @@ msgid "Aspect Ratio: Default"
msgstr "Relación de aspecto: original"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Retardo del audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2485,8 +2521,8 @@ msgid "Volume boost Max"
msgstr "Aumento de Volumen Maximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"ruta\" [parámetros]\n\n\"ruta\"\tEl fichero o directorio principal a cargarse (comodines\n\t\tpermitidos, \"-\" denota entrada estandar)\n/dub \"nombredeaudiodedoblaje\"\tCarga un fichero de audio adicional\n/dubdelay \"fichero\"\tCarga un fichero de audio adicional desplazado XXms (si\n\t\tel fichero contiene \"...DELAY XXms...\")\n/d3dfs\t\tInicia el renderizado en modo D3D a pantalla completa\n/sub \"nombredesubtítulo\"\tCarga un fichero de subtítulos adicional\n/filter \"nombredefiltro\"\tCarga filtros DirectShow desde una (.dll) biblioteca de vínculos\n\t\tdinámicos (comodines permitidos)\n/dvd\t\tEjecuta en modo DVD, \"ruta\" significa la carpeta de\n\t\tDVD (opcional)\n/dvdpos T#C\tInicia la reproducción en el título T, capítulo C\n/dvdpos T#hh:mm\tInicia la reproducción en el título T, posición hh:mm:ss\n/cd\t\tCarga todas las pistas de un CD de audio o S(VCD),\n\t\t\"ruta\" significa la ruta de la unidad (opcional)\n/device\t\tAbre el dispositivo de vídeo predeterminado\n/open\t\tAbre el fichero, no inicia automáticamente la reproducción\n/play\t\tComienza a reproducir el fichero tan pronto como el reproductor sea\n\t\tcargado\n/close\t\tCierra el reproductor después de la reproducción (sólo funciona cuando\n\t\tse usa con /play)\n/shutdown\tCierra el sistema operativo después de la reproducción\n/fullscreen\tSe inicia en modo pantalla-completa\n/minimized\tSe inicia en modo minimizado\n/new\t\tUsa una nueva instancia del reproductor\n/add\t\tAñade \"ruta\" a la lista de reproducción, puede combinarse\n\t\tcon /open y /play\n/regvid\t\tCrea asociaciones de fichero para ficheros de vídeos\n/regaud\t\tCrea asociaciones de fichero para ficheros de audio\n/regpl\t\tCrea asociaciones de fichero para ficheros de tipo lista de reproducción\n/regall\t\tCrea asociaciones de fichero para todos los tipos de fichero soportados\n/unregall\t\tElimina todas las asociaciones de fichero\n/start ms\t\tSe inicia reproduciendo desde \"ms\" (= milisegundos)\n/startpos hh:mm:ss\tSe inicia reproduciendo desde la posición hh:mm:ss\n/fixedsize w,h\tEstablece un tamaño fijo de ventana\n/monitor N\tInicia el reproductor en el monitor N, donde N comienza a contar desde 1\n/audiorenderer N\tSe inicia usando el renderizador de audio N, donde N comienza a contar desde 1\n\t\t(vea las configuraciones de \"Salida\")\n/shaderpreset \"Pr\"\tSe inicia usando los preajustes \"Pr\" del sombreador\n/reset\t\tRestablece las configuraciones por defecto\n/help /h /?\tMuestra la ayuda de parámetros de línea de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Uso: mpc-hc.exe \"ruta\" [parámetros]\n\n\"ruta\"\tEl fichero o directorio principal a cargarse (comodines\n\t\tpermitidos, \"-\" denota entrada estandar)\n/dub \"nombredeaudiodedoblaje\"\tCarga un fichero de audio adicional\n/dubdelay \"fichero\"\tCarga un fichero de audio adicional desplazado XXms (si\n\t\tel fichero contiene \"...DELAY XXms...\")\n/d3dfs\t\tInicia el renderizado en modo D3D a pantalla completa\n/sub \"nombredesubtítulo\"\tCarga un fichero de subtítulos adicional\n/filter \"nombredefiltro\"\tCarga filtros DirectShow desde una (.dll) biblioteca de vínculos\n\t\tdinámicos (comodines permitidos)\n/dvd\t\tEjecuta en modo DVD, \"ruta\" significa la carpeta de\n\t\tDVD (opcional)\n/dvdpos T#C\tInicia la reproducción en el título T, capítulo C\n/dvdpos T#hh:mm\tInicia la reproducción en el título T, posición hh:mm:ss\n/cd\t\tCarga todas las pistas de un CD de audio o S(VCD),\n\t\t\"ruta\" significa la ruta de la unidad (opcional)\n/device\t\tAbre el dispositivo de vídeo predeterminado\n/open\t\tAbre el fichero, no inicia automáticamente la reproducción\n/play\t\tComienza a reproducir el fichero tan pronto como el reproductor sea\n\t\tcargado\n/close\t\tCierra el reproductor después de la reproducción (sólo funciona cuando\n\t\tse usa con /play)\n/shutdown\tCierra el sistema operativo después de la reproducción\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tSe inicia en modo pantalla-completa\n/minimized\tSe inicia en modo minimizado\n/new\t\tUsa una nueva instancia del reproductor\n/add\t\tAñade \"ruta\" a la lista de reproducción, puede combinarse\n\t\tcon /open y /play\n/regvid\t\tCrea asociaciones de fichero para ficheros de vídeos\n/regaud\t\tCrea asociaciones de fichero para ficheros de audio\n/regpl\t\tCrea asociaciones de fichero para ficheros de tipo lista de reproducción\n/regall\t\tCrea asociaciones de fichero para todos los tipos de fichero soportados\n/unregall\t\tElimina todas las asociaciones de fichero\n/start ms\t\tSe inicia reproduciendo desde \"ms\" (= milisegundos)\n/startpos hh:mm:ss\tSe inicia reproduciendo desde la posición hh:mm:ss\n/fixedsize w,h\tEstablece un tamaño fijo de ventana\n/monitor N\tInicia el reproductor en el monitor N, donde N comienza a contar desde 1\n/audiorenderer N\tSe inicia usando el renderizador de audio N, donde N comienza a contar desde 1\n\t\t(vea las configuraciones de \"Salida\")\n/shaderpreset \"Pr\"\tSe inicia usando los preajustes \"Pr\" del sombreador\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestablece las configuraciones por defecto\n/help /h /?\tMuestra la ayuda de parámetros de línea de comandos\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3284,6 +3320,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Recuperación apagada"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "kB"
@@ -3460,6 +3500,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Tras la reproducción: apagar el monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Tras la reproducción: reproducir el archivo siguiente en la carpeta"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Tras la reproducción: no hacer nada"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Brillo: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
index 7fd708a0c..e99102610 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2014
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 11:30+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Honi buruz"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyrighta © 2002-2014 ikusi Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyrighta © 2002-2015 ikusi Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -294,7 +294,7 @@ msgstr "Finkatu mahigain hertzetara"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Biltegiratu ezarpenak .ini agirira"
+msgstr "Biltegiratu ezarpenak .ini agirian"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
@@ -1638,7 +1638,7 @@ msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr "Ezarpen Aurreratuak, ez editatu zer egiten ari bazen jakinez gero ezik."
+msgstr "Ezarpen Aurreratuak, ez editatu zer egiten ari zaren jakinez gero ezik."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
index 01d8c17e1..210b0151f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:50+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 15:40+0000\n"
"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Itzali &monitorea"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Irakurri &agiritegiko hurrengoa"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Nabigatu"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
index d572f8051..487d8b095 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.eu.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Xabier Aramendi <azpidatziak@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-04 09:50+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-01 16:30+0000\n"
"Last-Translator: Xabier Aramendi <azpidatziak@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/mpc-hc/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Ezinezkoa agiritegiko bolumen guztiak aurkitzea"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Bideo azalera egitura bat bezala banatuko da baina oraindik 2d eginkizunak atzebufferrean kopiatzeko eta luzatzeko erabiliko dira. Behar du 32 bit izendatu ditzakeen bideo txartel bat, RGBA, non-power-of-two neurritutako egiturak eta gutxienez bideoaren bereizmenean."
msgctxt "IDC_TEXTURESURF3D"
@@ -854,7 +854,7 @@ msgstr "Azpirudi buffer zenbatekoa handitzeak orokorrean aurkezpen egintza hobet
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "Botoi hau sakatu ondoren, hautatutako multzo heuskarri egoerak MPC-HC-rentzat oraingo agiri elkarketa adieraziko du. Berriki gehitutako hedapen ba arrunt urdinabarrago ikusiko da, hortaz ez ahaztu hura berriro hautatzeaz elkarrizketa hau itxitakoan!"
+msgstr "Botoi hau sakatu ondoren, hautatutako multzo heuskarri egoerak MPC-HC-rentzat oraingo agiri elkarketa adieraziko du. Berriki gehitutako hedapen ba arrunt urdinabarrago ikusiko da, hortaz ez ahaztu hura berriro hautatzeaz elkarrizketa hau itxitakoan!"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<zehaztu gabe>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Behatu"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Mugitu Gora"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Mugitu Behera"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Antolatu LCN-z"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Kendu denak"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Zihur zaude bide guztiak kentzea nahi dituzula zerrendatik?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Ez dago argibiderik eskuragarri"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Mesedez itxaron, azterketa garatzen..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "IM %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Ireki Gailua"
@@ -1537,12 +1573,12 @@ msgid "Reset Rate"
msgstr "Berrezarri Neurria"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Audio Atzerapena +10sm"
+msgid "Audio Delay +10 ms"
+msgstr "Audio Atzerapena +10 sm"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Audio Atzerapena -10sm"
+msgid "Audio Delay -10 ms"
+msgstr "Audio Atzerapena -10 sm"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "Ez da azpidatzirik aurkitu."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d azpidatzi eskuragarri."
+msgid "%d subtitle(s) available."
+msgstr "%d azpidatzi eskuragarri."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,12 +2061,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Bolumena: %02lu/%02lu, Izenburua: %02lu/%02lu, Atala: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Angelua: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Angelua: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbit %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2137,20 +2173,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Guztira: %ld, Utzita: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", Neurria: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", Neurria: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", Neurria: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", Neurria: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", Aske: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", Aske: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", Aske: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", Aske: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2237,8 +2273,8 @@ msgid "Aspect Ratio: Default"
msgstr "Ikuspegi Maila: Berezkoa"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Audio Atzerapena: %I64dsm"
+msgid "Audio delay: %I64d ms"
+msgstr "Audio Atzerapena: %I64d sm"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Bolumen bultzada Gehiena"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Erabilpena: mpc-hc.exe \"helburu-izena\" [aldagailuak]\n\n\"pathname\"\tGertatzeko agiri edo zuzenbide nagusia\n\t\t(ordezhizkiak ahal dira, \"-\"-k sarrera estandarra adierazten du)\n/dub \"dubname\"\tGertatu audio agiri gehigarri bat\n/dubdelay \"file\"\tGertatu audio agiri gehigarri bat XXsm aldatuta\n\t\t(baldin agiriak baditu \"...ATZERAPENA XXsM...\")\n/d3dfs\t\tHasi aurkezpena D3D ikusleiho-osoko moduan\n/sub \"subname\"\tGertatu azpidatzi agiri gehigarri bat\n/filter \"filtername\"\tGertatu DirectShow iragazkiak lotura dinamiko\n\t\tliburutegi batetik (ordezhizkiak ahal dira)\n/dvd\t\tEkin dvd moduan, \"helburu-izena\" esanahi du\n\t\tdvd agiritegia (aukerazkoa)\n/dvdpos T#C\tHasi irakurketa I izenburuan, A atalean\n/dvdpos T#hh:mm\tHasi irakurketa I izenburuan, kokapena oo:mn:sg\n/cd\t\tGertatu cd edo (s)vcd audio bide guztiak,\n\t\t\"helburu-izena\" esanahi du gidagailu helburua\n\t\t(aukerazkoa)\n/device\t\tIreki berezko bideo gailua\n/open\t\tIreki agiria, ez hasi irakurketa berezgaitasunez\n/play\t\tHasi agiriaren irakurketa irakurgailua abiaraziz\n\t\tbezain laister\n/close\t\tItxi irakurgailua irakurketaren ondoren\n\t\t(bakarrik lan egiten du /irakurri erabiltzen denean)\n/shutdown\tItzali sistema eragilea irakurketaren ondoren\n/fullscreen\tHasi ikusleiho-osoko moduan\n/minimized\tHasi txikien moduan\n/new\t\tErabili irakurgailuaren eskabide berri bat\n/add\t\tGehitu \"helburu-izena\" irakur-zerrendara,\n\t\tnahastu daiteke /ireki eta /irakurrirekin\n/regvid\t\tSortu agiri elkarketak bideo agirientzat\n/regaud\t\tSortu agiri elkarketak audio agirientzat\n/regpl\t\tSortu agiri elkarketak irakur-zerrendentzat\n/regall\t\tSortu agiri elkarketak sostengatutako\n\t\tagiri mota guztientzat\n/unregall\t\tKendu agiri elkarketa guztiak\n/start ms\t\tHasi irakurketa \"sm\" (= segundumilaenetan)\n/startpos hh:mm:ss\tHasi irakurketa kokapen honetan oo:mn:sg\n/fixedsize w,h\tEzarri zuzendutako leiho neurria\n/monitor N\tHasi irakurketa N monitorean,\n\t\tnon N hasten den 1-etik\n/audiorenderer N\tHasi N audio-aurkezlea erabiliz,\n\t\tnon N hasten den 1-etik (ikusi \"Irteera\" ezarpenak)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tBerrezarri berezko ezarpenak\n/help /h /?\tErakutsi komando lerro aldaketa laguntza\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Erabilpena: mpc-hc.exe \"helburu-izena\" [aldagailuak]\n\n\"pathname\"\tGertatzeko agiri edo zuzenbide nagusia\n\t\t(ordezhizkiak ahal dira, \"-\"-k sarrera estandarra adierazten du)\n/dub \"dubname\"\tGertatu audio agiri gehigarri bat\n/dubdelay \"file\"\tGertatu audio agiri gehigarri bat XXsm aldatuta\n\t\t(baldin agiriak baditu \"...ATZERAPENA XXsM...\")\n/d3dfs\t\tHasi aurkezpena D3D ikusleiho-osoko moduan\n/sub \"subname\"\tGertatu azpidatzi agiri gehigarri bat\n/filter \"filtername\"\tGertatu DirectShow iragazkiak lotura dinamiko\n\t\tliburutegi batetik (ordezhizkiak ahal dira)\n/dvd\t\tEkin dvd moduan, \"helburu-izena\" esanahi du\n\t\tdvd agiritegia (aukerazkoa)\n/dvdpos T#C\tHasi irakurketa I izenburuan, A atalean\n/dvdpos T#hh:mm\tHasi irakurketa I izenburuan, kokapena oo:mn:sg\n/cd\t\tGertatu cd edo (s)vcd audio bide guztiak,\n\t\t\"helburu-izena\" esanahi du gidagailu helburua\n\t\t(aukerazkoa)\n/device\t\tIreki berezko bideo gailua\n/open\t\tIreki agiria, ez hasi irakurketa berezgaitasunez\n/play\t\tHasi agiriaren irakurketa irakurgailua abiaraziz\n\t\tbezain laister\n/close\t\tItxi irakurgailua irakurketaren ondoren\n\t\t(bakarrik lan egiten du /irakurri erabiltzen denean)\n/shutdown\tItzali sistema eragilea irakurketaren ondoren\n/standby\t\tJarri sistema eragilea egonean irakurketaren ondoren\n/hibernate\tNeguratu sistema eragilea irakurketaren ondoren\n/logoff\t\tAmaitu saioa irakurketaren ondoren\n/lock\t\tBlokeatu langunea irakurketaren ondoren\n/monitoroff\tItzali monitorea irakurketaren ondoren\n/playnext\t\tIreki agiritegiko hurrengo agiria irakurketaren ondoren\n/fullscreen\tHasi ikusleiho-osoko moduan\n/minimized\tHasi txikien moduan\n/new\t\tErabili irakurgailuaren eskabide berri bat\n/add\t\tGehitu \"helburu-izena\" irakur-zerrendara,\n\t\tnahastu daiteke /ireki eta /irakurrirekin\n/regvid\t\tSortu agiri elkarketak bideo agirientzat\n/regaud\t\tSortu agiri elkarketak audio agirientzat\n/regpl\t\tSortu agiri elkarketak irakur-zerrendentzat\n/regall\t\tSortu agiri elkarketak sostengatutako\n\t\tagiri mota guztientzat\n/unregall\t\tKendu agiri elkarketa guztiak\n/start ms\t\tHasi irakurketa \"sm\" (= segundumilaenetan)\n/startpos hh:mm:ss\tHasi irakurketa kokapen honetan oo:mn:sg\n/fixedsize w,h\tEzarri zuzendutako leiho neurria\n/monitor N\tHasi irakurketa N monitorean,\n\t\tnon N hasten den 1-etik\n/audiorenderer N\tHasi N audio-aurkezlea erabiliz,\n\t\tnon N hasten den 1-etik (ikusi \"Irteera\" ezarpenak)\n/shaderpreset \"Pr\"\tHasi \"Pr\" itzal aurrezarpena erabiliz\n/pns \"name\"\tAdierazi erabiltzeko Pan-Scan aurrezarpen izena\n/iconsassoc\tBerrelkartu heuskarri ikurrak\n/nofocus\t\tIreki MPC-HC barrenean\n/webport N\tHasi web interfazea adierazitako atakan\n/debug\t\tErakutsi garbiketa argibideak IGE-n\n/nominidump\tEzgaitu minidump sortzea\n/slave \"hWnd\"\tErabili MPC-HC esklabu bezala\n/reset\t\tBerrezarri berezko ezarpenak\n/help /h /?\tErakutsi komando lerro aldaketa laguntza\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Berrirabazi bolumena: Etenda"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "byte"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Irakurri Ondoren: Itzali monitorea"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Irakurketaren ondoren: Irakurri agiritegiko hurrengo agiria"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Irakurketaren ondoren: Ez egin ezer"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Dizdira: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po
new file mode 100644
index 000000000..f80051878
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.dialogs.po
@@ -0,0 +1,1668 @@
+# MPC-HC - Strings extracted from dialogs
+# Copyright (C) 2002 - 2015 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Khaida <mrktarvainen@gmail.com>, 2014
+# phewi <phewnix@gmail.com>, 2014
+# Raimo K. Talvio, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Khaida <mrktarvainen@gmail.com>\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
+msgid "Select Media Type"
+msgstr "Valitse mediatyyppi"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
+msgid "Set"
+msgstr "Aseta"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Audio"
+msgstr "Ääni"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Output"
+msgstr "Ulostulo"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
+msgid "Record Video"
+msgstr "Nauhoita video"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
+msgid "Preview"
+msgstr "Esikatsele"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
+msgid "Record Audio"
+msgstr "Nauhoita ääntä"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
+msgid "Preview"
+msgstr "Esikatselu"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "V/A Buffers:"
+msgstr "V/A Puskurit:"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
+msgid "Audio to wav"
+msgstr "Audio wav-muotoon"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
+msgid "Record"
+msgstr "Nauhoita"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
+msgid "Enable built-in audio switcher filter (requires restart)"
+msgstr "Käytä sisäistä äänivaihtosuodinta [vaatii uudelleenkäynnistyksen]"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
+msgid "Normalize"
+msgstr "Normalisoi"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
+msgid "Max amplification:"
+msgstr "Maksimivahvistus"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
+msgid "Regain volume"
+msgstr "Säädä voimakkuus"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
+msgid "Boost:"
+msgstr "Voimistus:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
+msgid "Down-sample to 44100 Hz"
+msgstr "Laske näytetaajuus 44100 Hz:iin"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
+msgid "Audio time shift (ms):"
+msgstr "Äänen ajansiirto (ms)"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
+msgid "Enable custom channel mapping"
+msgstr "Käytä yksilöllistä kanavakartoitusta"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
+msgid "Speaker configuration for "
+msgstr "Kaiutinmäärittely"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
+msgid "input channels:"
+msgstr "Sisääntulokanavat"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
+msgid "Hold shift for immediate changes when clicking something "
+msgstr "Pidä vaihto-näppäin pohjassa tehdäksesi muutokset heti klikattaessa"
+
+msgctxt "IDD_GOTO_DLG_CAPTION"
+msgid "Go To..."
+msgstr "Mene..."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
+msgstr "Anna aikakoodi muodossa [hh:]mm:ss.ms hypätäksesi haluttuun aikaan. Erottimia ei tarvitse antaa täsmällisesti."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Time"
+msgstr "Aika"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK1"
+msgid "Go!"
+msgstr "Mene!"
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
+msgstr "Anna kaksi numeroa hypätäksesi haluttuun kehykseen, ensimmäinen on kehysnumero, toinen kehysnopeus."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Frame"
+msgstr "Kehys"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK2"
+msgid "Go!"
+msgstr "Mene!"
+
+msgctxt "IDD_OPEN_DLG_CAPTION"
+msgid "Open"
+msgstr "Avaa"
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
+msgstr "Kirjoita elokuva- tai audiotiedoston osoite (Internetissä tai tietokoneessa) ja soitin avaa sen sinulle."
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Open:"
+msgstr "Avaa:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Selaa..."
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
+msgid "Dub:"
+msgstr "Dubbaa:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "Selaa..."
+
+msgctxt "IDD_OPEN_DLG_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_OPEN_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
+msgid "Add to playlist without opening"
+msgstr "Lisää soittolistaan avaamatta"
+
+msgctxt "IDD_ABOUTBOX_CAPTION"
+msgid "About"
+msgstr "Tietoja"
+
+msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Tekijänoikeudet © 2002-2015 katso Authors.txt"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "This program is freeware and released under the GNU General Public License."
+msgstr "Tämä ohjelma on ilmainen ja se on julkaistu GNU General Public Licensen alla."
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "English translation made by MPC-HC Team"
+msgstr "Englanninkielinen käännös tehty MPC-HC:n tiimin toimesta"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build information"
+msgstr "Versiotiedot"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Version:"
+msgstr "Versio:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Compiler:"
+msgstr "Kääntäjä:"
+
+msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
+msgid "Not used"
+msgstr "Ei käytössä"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build date:"
+msgstr "Version päiväys:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Operating system"
+msgstr "Käyttöjärjestelmä"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Name:"
+msgstr "Nimi:"
+
+msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
+msgid "Copy to clipboard"
+msgstr "Kopioi leikepöydälle"
+
+msgctxt "IDD_ABOUTBOX_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Open options"
+msgstr "Avaa asetukset"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
+msgid "Use the same player for each media file"
+msgstr "Käytä samaa soitinta jokaiselle mediatiedostolle"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
+msgid "Open a new player for each media file played"
+msgstr "Avaa uusi ikkuna jokaiselle toistettavalle mediatiedostolle"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Language"
+msgstr "Kieli"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Title bar"
+msgstr "Otsikkopalkki"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
+msgid "Display full path"
+msgstr "Näytä koko tiedostopolku"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
+msgid "File name only"
+msgstr "Vain tiedostonimi"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
+msgid "Don't prefix anything"
+msgstr "Älä aseta etuliitettä"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
+msgid "Replace file name with title"
+msgstr "Korvaa tiedostonnimi otsikolla"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Other"
+msgstr "Muu"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
+msgid "Tray icon"
+msgstr "Ilmoitusalueen ikoni"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
+msgid "Show OSD (requires restart)"
+msgstr "Näytä Graafinen käyttöliittymä (vaatii uudelleenkäynnistyksen)"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
+msgid "Limit window proportions on resize"
+msgstr "Rajoita ikkunan suhteet kokoa muutettaessa"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
+msgid "Snap to desktop edges"
+msgstr "Laajenna näytön reunoihin"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
+msgid "Store settings in .ini file"
+msgstr "Tallenna asetukset .ini-tiedostoon"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
+msgid "Disable \"Open Disc\" menu"
+msgstr "Poista käytöstä \"Avaa levy\" -valikko"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
+msgid "Process priority above normal"
+msgstr "Prosessin ensisijaisuus normaalia suurempi"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
+msgid "Enable cover-art support"
+msgstr "Ota käyttöön levykansituki"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "History"
+msgstr "Historia"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
+msgid "Keep history of recently opened files"
+msgstr "Muista viimeksi avatut tiedostot"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
+msgid "Remember last playlist"
+msgstr "Muista viimeisin soittolista"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
+msgid "Remember File position"
+msgstr "Muista tiedoston sijainti"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
+msgid "Remember DVD position"
+msgstr "Muista DVD:n sijainti"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
+msgid "Remember last window position"
+msgstr "Muista viimeisin ikkunan sijainti"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
+msgid "Remember last window size"
+msgstr "Muista viimeisin ikkunan koko"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
+msgid "Remember last Pan-n-Scan Zoom"
+msgstr "Muista viimeisen zoomauksen koko"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "\"Open DVD/BD\" behavior"
+msgstr "\"Avaa DVD/BD\" toiminta"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
+msgid "Prompt for location"
+msgstr "Kysy sijainti"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
+msgid "Always open the default location:"
+msgstr "Avaa aina oletussijainti:"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Preferred language for DVD Navigator and the external OGM Splitter"
+msgstr "Esivalittu kieli DVD-selaimelle ja ulkoiselle OGM-jakajalle "
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
+msgid "Menu"
+msgstr "Valikko"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
+msgid "Audio"
+msgstr "Ääni"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
+msgid "Subtitles"
+msgstr "Tekstitykset"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Additional settings"
+msgstr "Lisäasetukset"
+
+msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
+msgid "Allow closed captions in \"Line 21 Decoder\""
+msgstr "Salli Closed Captions-tekstitykset \"Line 21 Dekooderissa\""
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio"
+msgstr "Ääni"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume"
+msgstr "Äänenvoimakkuus"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Min"
+msgstr "Minimi"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Max"
+msgstr "Maksimi"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
+msgid "Balance"
+msgstr "Balanssi"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "L"
+msgstr "L"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "R"
+msgstr "R"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Playback"
+msgstr "Toisto"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
+msgid "Play"
+msgstr "Toista"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
+msgid "Repeat forever"
+msgstr "Toista uudelleen ikuisesti"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
+msgid "time(s)"
+msgstr "kerta(a)"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "After Playback"
+msgstr "Toiston jälkeen"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Output"
+msgstr "Ulostulo"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
+msgid "Auto-zoom:"
+msgstr "Automaattinen zoomaus"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
+msgid "Auto fit factor:"
+msgstr "Automaattinen kuvasuhde:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Default track preference"
+msgstr "Oletusraita-asetukset"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Subtitles:"
+msgstr "Tekstitykset:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio:"
+msgstr "Ääni:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
+msgid "Allow overriding external splitter choice"
+msgstr "Salli ulkoisen jakajan valinnan ohitus"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Open settings"
+msgstr "Avaa asetukset"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
+msgid "Use worker thread to construct the filter graph"
+msgstr "Käytä työsäijettä grafiikkasuotimen muodostamiseksi"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
+msgid "Report pins which fail to render"
+msgstr "Raportoi kohdat, joiden renderöinti epäonnistui"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
+msgid "Auto-load audio files"
+msgstr "Lataa automaattisesti äänitiedostot"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK3"
+msgid "Use the built-in subtitle renderer"
+msgstr "Käytä sisäistä tekstitysrenderöintiä"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Control"
+msgstr "Valvonta"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume step:"
+msgstr "Äänenvoimakkuusaskel:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Speed step:"
+msgstr "Nopeusaskel:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
+msgid "Override placement"
+msgstr "Korvaa sijoittaminen"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
+msgid "Horizontal:"
+msgstr "Vaakasuuntainen:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC2"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC3"
+msgid "Vertical:"
+msgstr "Pystysuuntainen:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC4"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Delay step"
+msgstr "Viive vaihe"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Texture settings (open the video again to see the changes)"
+msgstr "Tekstuuriasetukset (avaa video uudelleen nähdäksesi muutokset)"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Sub pictures to buffer:"
+msgstr "Tekstitykset puskuriin:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Maximum texture resolution:"
+msgstr "Tekstuurien maksimiresoluutio"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
+msgid "Never animate the subtitles"
+msgstr "Älä animoi koskaan tekstityksiä"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
+msgid "Render at"
+msgstr "Renderöi kohdassa"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
+msgid "% of the animation"
+msgstr "% animaatiota"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
+msgid "Animate at"
+msgstr "Animoi kohdassa"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
+msgid "% of the video frame rate"
+msgstr "% videon kehysnopeutta"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Allow dropping some subpictures if the queue is running late"
+msgstr "Salli joidenkin tekstitysten pois jättäminen, jos jono on myöhässä"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Renderer Layout"
+msgstr "Renderöintisuunnitelma"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
+msgid "Apply aspect ratio compensation for anamorphic videos"
+msgstr "Käytä kuvasuhteen kompensaatiota anamorfisille videoille"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Warning"
+msgstr "Varoitus"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your cpu."
+msgstr "Jos pakotat ja otat käyttöön kokoruututilan antialiasoinnin näytönohjaimesi asetuksissa, tekstitykset eivät näy yhtään paremmin mutta syövät prosessoritehoa."
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
+msgid "File extensions"
+msgstr "Tiedostopäätteet"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
+msgid "Default"
+msgstr "Oletus"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
+msgid "Set"
+msgstr "Aseta"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
+msgid "Association"
+msgstr "Kytkentä"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
+msgid "Use the format-specific icons"
+msgstr "Käytä tiedostotyyppien ikoneita"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
+msgid "Run as &administrator"
+msgstr "Suorita järjestelmänvalvojana"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
+msgid "Set as &default program"
+msgstr "Aseta oletussovellukseksi"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
+msgstr "Tosiaikaisen striimausprotokollan käsittelijä (rtsp://... osoitteille)"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
+msgid "RealMedia"
+msgstr "RealMedia"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO2"
+msgid "QuickTime"
+msgstr "QuickTime"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO3"
+msgid "DirectShow"
+msgstr "DirectShow"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
+msgid "Check file extension first"
+msgstr "Tarkista ensin tiedostopääte"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Explorer Context Menu"
+msgstr "Resurssienhallinnan kontekstivalikko"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK6"
+msgid "Directory"
+msgstr "Hakemisto"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK7"
+msgid "File(s)"
+msgstr "Tiedosto(t)"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
+msgid "Autoplay"
+msgstr "Automaattinen toisto"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK2"
+msgid "Music"
+msgstr "Musiikki"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK4"
+msgid "DVD"
+msgstr "DVD"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
+msgid "Audio CD"
+msgstr "Audio-CD"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "Jump distances (small, medium, large in ms)"
+msgstr "Hyppäysvälit (pieni, keski, laaja millisekunteina)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
+msgid "Default"
+msgstr "Oletus"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
+msgid "Fast seek (on keyframe)"
+msgstr "Pikahaku (avainkehys)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
+msgid "Show chapter marks in seek bar"
+msgstr "Näytä kappalemerkit hakupalkissa"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
+msgid "Display \"Now Playing\" information in Skype's mood message"
+msgstr "Näytä \"Nyt toistetaan\"-tiedot Skypen moodiviestissä"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
+msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
+msgstr "Estä kokoruututilassa soittimen pienentäminen muulla kuin oletusnäytöllä"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_WIN7"
+msgid "Use Windows 7 Taskbar features"
+msgstr "Käytä Windows 7 tehtäväpalkkiominaisuuksia"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
+msgid "Open next/previous file in folder on \"Skip back/forward\" when there is only one item in playlist"
+msgstr "Avaa kansion seuraava/edellinen tiedosto toiminnossa \"Takaisin/eteenpäin\", kun toistolistassa on vain yksi nimike."
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
+msgid "Use time tooltip:"
+msgstr "Käytä aika-työkaluvihjettä:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "OSD font:"
+msgstr "OSD:n fontti:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
+msgid "Enable Logitech LCD support (experimental)"
+msgstr "Ota käyttöön Logitechin LCD-tuki (kokeellinen)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
+msgid "Auto-hide the mouse pointer during playback in windowed mode"
+msgstr "Piilota kursori automaattisesti toistettaessa ikkunatilassa"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
+msgid "Add Filter..."
+msgstr "Lisää suodatin..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON2"
+msgid "Remove"
+msgstr "Poista"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO1"
+msgid "Prefer"
+msgstr "Suosi"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO2"
+msgid "Block"
+msgstr "Estä"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO3"
+msgid "Set merit:"
+msgstr "Aseta kiitokset:"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
+msgid "Up"
+msgstr "Ylös"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON4"
+msgid "Down"
+msgstr "Alas"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
+msgid "Add Media Type..."
+msgstr "Lisää mediatyyppi..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
+msgid "Add Sub Type..."
+msgstr "Lisää tekstitystyyppi..."
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
+msgid "Delete"
+msgstr "Poista"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
+msgid "Reset List"
+msgstr "Nollaa lista"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Type:"
+msgstr "Tyyppi:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Size:"
+msgstr "Koko:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Media length:"
+msgstr "Median pituus:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Video size:"
+msgstr "Videon koko:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Created:"
+msgstr "Luotu:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Clip:"
+msgstr "Leike:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Author:"
+msgstr "Tekijä:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Copyright:"
+msgstr "Tekijänoikeudet:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Rating:"
+msgstr "Arvostelu:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Location:"
+msgstr "Sijainti:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Description:"
+msgstr "Kuvaus:"
+
+msgctxt "IDD_FAVADD_CAPTION"
+msgid "Add Favorite"
+msgstr "Lisää suosikki"
+
+msgctxt "IDD_FAVADD_IDC_STATIC"
+msgid "Choose a name for your shortcut:"
+msgstr "Valitse pikakuvakkeen nimi:"
+
+msgctxt "IDD_FAVADD_IDC_CHECK1"
+msgid "Remember position"
+msgstr "Muista sijainti"
+
+msgctxt "IDD_FAVADD_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_FAVADD_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_FAVADD_IDC_CHECK2"
+msgid "Relative drive"
+msgstr "Vastaava asema"
+
+msgctxt "IDD_FAVORGANIZE_CAPTION"
+msgid "Organize Favorites"
+msgstr "Muokkaa suosikkeja"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
+msgid "Rename"
+msgstr "Nimeä uudelleen"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
+msgid "Move Up"
+msgstr "Siirrä ylös"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
+msgid "Move Down"
+msgstr "Siirrä alas"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
+msgid "Delete"
+msgstr "Poista"
+
+msgctxt "IDD_FAVORGANIZE_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_PNSPRESET_DLG_CAPTION"
+msgid "Pan&Scan Presets"
+msgstr "Pan&Scan-asetukset"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
+msgid "New"
+msgstr "Uusi"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON3"
+msgid "Delete"
+msgstr "Poista"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
+msgid "Up"
+msgstr "Ylös"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
+msgid "Down"
+msgstr "Alas"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
+msgid "&Set"
+msgstr "Aseta"
+
+msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
+msgid "&Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_PNSPRESET_DLG_IDOK"
+msgid "&Save"
+msgstr "Tallenna"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Pos: 0.0 -> 1.0"
+msgstr "Sijainti: 0.0 .> 1.0"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Zoom: 0.2 -> 3.0"
+msgstr "Zoomaus: 0.2 -> 3.0"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
+msgid "Global Media Keys"
+msgstr "Yleiset medianäppäimet"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
+msgid "Select All"
+msgstr "Valitse kaikki"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
+msgid "Reset Selected"
+msgstr "Palauta valitut"
+
+msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
+msgid "Warning"
+msgstr "Varoitus"
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
+msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
+msgstr "MPC-HC ei voi renderöidä joitakin grafiikan osia. Tarvittavia koodekkeja tai suotimia ei luultavasti ole asennettu järjestelmään."
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
+msgid "The following pin(s) failed to find a connectable filter:"
+msgstr "Seuraaville kohdille ei löydy kytkettävää suodinta: "
+
+msgctxt "IDD_MEDIATYPES_DLG_IDOK"
+msgid "Close"
+msgstr "Sulje"
+
+msgctxt "IDD_SAVE_DLG_CAPTION"
+msgid "Saving..."
+msgstr "Tallentaa..."
+
+msgctxt "IDD_SAVE_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Koodataan:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Koodataan:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "Delay:"
+msgstr "Viive:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
+msgid "Save custom style"
+msgstr "Tallenna oma tyyli"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "JPEG -laatu"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Thumbnails:"
+msgstr "Pienoiskuvat:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "rows"
+msgstr "riviä"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "columns"
+msgstr "saraketta"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Image width:"
+msgstr "Kuvan leveys:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "pixels"
+msgstr "pikseliä"
+
+msgctxt "IDD_ADDREGFILTER_CAPTION"
+msgid "Select Filter"
+msgstr "Valitse suodatin"
+
+msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Selaa..."
+
+msgctxt "IDD_ADDREGFILTER_IDOK"
+msgid "OK"
+msgstr "OK"
+
+msgctxt "IDD_ADDREGFILTER_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Font"
+msgstr "Fontti"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_BUTTON1"
+msgid "Font"
+msgstr "Fontti"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Spacing"
+msgstr "Tiheys"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Angle (z,°)"
+msgstr "Kulma (z,°)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (x,%)"
+msgstr "Skaala (x,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (y,%)"
+msgstr "Skaala (y,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Border Style"
+msgstr "Reunojen tyyli"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
+msgid "Outline"
+msgstr "Ulkoraja"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
+msgid "Opaque box"
+msgstr "Läpinäkyvä laatikko"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Width"
+msgstr "Leveys"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Shadow"
+msgstr "Varjo"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Screen Alignment && Margins"
+msgstr ""
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Left"
+msgstr "Vasen"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Right"
+msgstr "Oikea"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Top"
+msgstr "Yläreuna"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Bottom"
+msgstr "Alareuna"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
+msgid "Position subtitles relative to the video frame"
+msgstr "Tekstitysten sijainti suhteessa videokehykseen"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Colors && Transparency"
+msgstr "Värit ja läpikuultavuus"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "0%"
+msgstr "0%"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "100%"
+msgstr "100 %"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Primary"
+msgstr "Ensisijainen"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Secondary"
+msgstr "Toissijainen"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Outline"
+msgstr "Ulkoraja"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
+msgid "Link alpha channels"
+msgstr "Linkitä alfakanavat"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
+msgstr "Jos haluat käyttää näiden suotimien omia versioita tai muita korvaavia, poista ne käytöstä tässä."
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Source Filters"
+msgstr "Lähdesuotimet"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Transform Filters"
+msgstr "Muunnetut suotimet"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Internal LAV Filters settings"
+msgstr "Sisäisten LAV-suotimien asetukset"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
+msgid "Splitter"
+msgstr "Jakaja"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
+msgid "Video decoder"
+msgstr "Videodekooderi"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
+msgid "Audio decoder"
+msgstr "Audiodekooderi"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
+msgid "Internal:"
+msgstr "Sisäinen:"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO2"
+msgid "External:"
+msgstr "Ulkoinen:"
+
+msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "Selaa..."
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DirectShow Video"
+msgstr "DirectShow Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "RealMedia Video"
+msgstr "RealMedia Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "QuickTime Video"
+msgstr "QuickTime Video"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Audio Renderer"
+msgstr "Audiorenderöitsijä"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
+msgstr "VMR-7/VMR-9 (renderöimätön) ja EVR (CP) asetukset"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Surface:"
+msgstr "Pinta:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Resizer:"
+msgstr "Koon muuttaja:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
+msgid "Select D3D9 Render Device"
+msgstr "Valitse D3D9 renderöintilaite"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
+msgid "Reinitialize when changing display"
+msgstr "Määritä uudelleen näyttöä vaihdettaessa"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "D3D Fullscreen"
+msgstr "D3D kokonäyttö"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Alternative VSync"
+msgstr "Vaihtoehtoinen VSync"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
+msgid "VMR-9 Mixer Mode"
+msgstr "VMR-9 sekoitustila"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
+msgid "YUV Mixing"
+msgstr "YUV sekoitus"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
+msgid "EVR Buffers:"
+msgstr "EVR puskurit:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DXVA"
+msgstr "DXVA"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Subtitles *"
+msgstr "Tekstitykset *"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Screenshot"
+msgstr "Kuvankaappaus"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Shaders"
+msgstr "Varjostimet"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Rotation"
+msgstr "Kääntö"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "* External filters (such as VSFilter) can display subtitles on all renderers."
+msgstr "* Ulkoiset suotimet (kuten VSFilter) voivan näyttää tekstitykset kaikilla renderöijillä."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
+msgid "Listen on port:"
+msgstr "Kuuntele porttia:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
+msgid "Launch in web browser..."
+msgstr "Avaa selaimessa:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
+msgid "Enable compression"
+msgstr "Käytä pakkausta"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
+msgid "Allow access from localhost only"
+msgstr "Salli saanto vain paikallisesti"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
+msgid "Print debug information"
+msgstr "Tulosta virheenkorjaustiedot"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
+msgid "Serve pages from:"
+msgstr "Sivujen tarjoilu sijainnista:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "Selaa..."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
+msgid "Deploy..."
+msgstr "Käytä..."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "Default page:"
+msgstr "Oletussivu:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
+msgstr "CGI käsittelijät: (.ext1=path1;.ext2=path2;...)"
+
+msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
+msgid "Subtitles available online"
+msgstr "Tekstitykset saatavissa online:"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download && Open"
+msgstr "Lataa && Avaa"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
+msgid "Replace currently loaded subtitles"
+msgstr "Korvaa nykyiset ladatut tekstitykset"
+
+msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
+msgid "Save As..."
+msgstr "Tallenna nimellä..."
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Color controls (for VMR-9, EVR and madVR)"
+msgstr "Värien valvonta ( VMR-9:lle, EVR:lle ja madVR:lle)"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Brightness"
+msgstr "Kirkkaus"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Contrast"
+msgstr "Kontrasti"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Hue"
+msgstr "Sävy"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Saturation"
+msgstr "Kylläisyys"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET"
+msgid "Reset"
+msgstr "Palauta"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Update check"
+msgstr "Päivitysten tarkistus"
+
+msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
+msgid "Enable automatic update check"
+msgstr "Salli päivitysten automaattinen tarkistus"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
+msgid "Delay between each check:"
+msgstr "Tarkistusten väliaika:"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
+msgid "day(s)"
+msgstr "päivää"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Settings management"
+msgstr "Asetusten valvonta"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
+msgid "Reset"
+msgstr "Palauta"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
+msgid "Export"
+msgstr "Vienti"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
+msgid "Export keys"
+msgstr "Vientiavaimet"
+
+msgctxt "IDD_TUNER_SCAN_CAPTION"
+msgid "Tuner scan"
+msgstr "Virittimen asemanhaku"
+
+msgctxt "IDD_TUNER_SCAN_ID_START"
+msgid "Start"
+msgstr "Käynnistä"
+
+msgctxt "IDD_TUNER_SCAN_IDCANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. Start"
+msgstr "Taajuus aloitus"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Bandwidth"
+msgstr "Kaistan leveys"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. End"
+msgstr "Taajuus lopetus"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
+msgid "Ignore encrypted channels"
+msgstr "Ohita salatut kanavat"
+
+msgctxt "IDD_TUNER_SCAN_ID_SAVE"
+msgid "Save"
+msgstr "Tallenna"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "S"
+msgstr "S"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Q"
+msgstr "Q"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
+msgid "Use an offset"
+msgstr "Käytä vakiota"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Default Device"
+msgstr "Oletuslaite"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
+msgid "Analog"
+msgstr "Analoginen"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO2"
+msgid "Digital"
+msgstr "Digitaalinen"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Analog settings"
+msgstr "Analogiasetukset"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC1"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC2"
+msgid "Audio"
+msgstr "Ääni"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC3"
+msgid "Country"
+msgstr "Maa"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Digital settings (BDA)"
+msgstr "Digitaaliasetukset (BDA)"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
+msgid "Network Provider"
+msgstr "Verkon toimittaja"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
+msgid "Tuner"
+msgstr "Viritin"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC6"
+msgid "Receiver"
+msgstr "Vastaanotin"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
+msgid "Channel switching approach:"
+msgstr "Kanavan vaihdon lähestyminen"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
+msgid "Rebuild filter graph"
+msgstr "Rakenna grafiikkasuodin uudelleen"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
+msgid "Stop filter graph"
+msgstr "Pysäytä grafiikkasuodin"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
+msgid "Sync video to display"
+msgstr "Videon synkronointi näyttöön"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC1"
+msgid "Frequency adjustment:"
+msgstr "Taajuuden säätö:"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
+msgid "Sync display to video"
+msgstr "Näytön synkronointi videoon"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
+msgid "Frequency adjustment:"
+msgstr "Taajuuden säätö:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC3"
+msgid "lines"
+msgstr "riviä"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
+msgid "columns"
+msgstr "saraketta"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
+msgid "Present at nearest VSync"
+msgstr "Esiintymä lähimmässä VSync:issa"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
+msgid "Target sync offset:"
+msgstr "Kohde synkronointioffset"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC7"
+msgid "Control limits:"
+msgstr "Säätörajat:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
+msgid "+/-"
+msgstr "+/-"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC9"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
+msgid "Changes take effect after the playback has been closed and restarted."
+msgstr "Muutokset astuvat voimaan kun toisto on lopetettu ja käynnistetty uudelleen."
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
+msgid "Launch files in fullscreen"
+msgstr "Käynnistä tiedostot koko näytössä"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
+msgid "Hide controls in fullscreen"
+msgstr "Kätke säätimet kokoruututilassa"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
+msgid "ms"
+msgstr "ms"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK6"
+msgid "Hide docked panels"
+msgstr "Piilota telakoidut paneelit"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
+msgid "Exit fullscreen at the end of playback"
+msgstr "Poistu kokonäyttötilasta toiston loputtua"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Fullscreen monitor"
+msgstr "Kokoruutumonitori"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
+msgid "Use autochange fullscreen monitor mode"
+msgstr "Käytä automaattisesti kokonäyttötilan monitoritilaa"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
+msgid "Add"
+msgstr "Lisää"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
+msgid "Del"
+msgstr "Poista"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
+msgid "Up"
+msgstr "Ylös"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON4"
+msgid "Down"
+msgstr "Alas"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
+msgid "Apply default monitor mode on fullscreen exit"
+msgstr "Siirry oletusnäyttötilaan poistuttaessa kokonäyttötilasta"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
+msgid "Restore resolution on program exit"
+msgstr "Palauta resoluutio poistuttaessa ohjelmasta"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Delay"
+msgstr "Viive"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
+msgid "s"
+msgstr "s"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
+msgid "Info"
+msgstr "Tiedot"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
+msgid "Scan"
+msgstr "Skannaa"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
+msgid "Prefer forced and/or default subtitles tracks"
+msgstr "Suosi pakotettuja ja/tai oletustekstitysraitoja"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
+msgid "Prefer external subtitles over embedded subtitles"
+msgstr "Suosi ulkoisia tekstityksiä sulautettujen asemesta"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
+msgid "Ignore embedded subtitles"
+msgstr "Ohita sulautetut tekstitykset"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Autoload paths"
+msgstr "Lataa polut automaattisesti"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
+msgid "Reset"
+msgstr "Palauta"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Online database"
+msgstr "Online-tietokanta"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Base URL of the online subtitle database:"
+msgstr "Online-tekstitysten tietokannan perus-URL-osoite"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
+msgid "Test"
+msgstr "Testi"
+
+msgctxt "IDD_UPDATE_DIALOG_CAPTION"
+msgid "Update Checker"
+msgstr "Päivityksien tarkistus"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
+msgid "&Download now"
+msgstr "Lataa nyt"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
+msgid "Remind me &later"
+msgstr "Muistuta minua myöhemmin"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
+msgid "&Ignore this update"
+msgstr "Älä huomioi tätä päivitystä"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shaders contain special effects which can be added to the video rendering process."
+msgstr "Varjostimet sisältävät erikoisefektejä, jotka voidaan lisätä videon renderöintiprosessiin."
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
+msgid "Add shader file"
+msgstr "Lisää varjostintiedosto"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
+msgid "Remove"
+msgstr "Poista"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
+msgid "Add to pre-resize"
+msgstr "Lisää esi-koonvaihtoon"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
+msgid "Add to post-resize"
+msgstr "Lisää jälki-koonvaihtoon"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shader presets"
+msgstr "Varjostimen esiasetukset"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
+msgid "Load"
+msgstr "Lataa"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
+msgid "Save"
+msgstr "Tallenna"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON5"
+msgid "Delete"
+msgstr "Poista"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active pre-resize shaders"
+msgstr "Aktiiviset esi-koonvaihtovarjostimet"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active post-resize shaders"
+msgstr "Aktiiviset jälki-koonvaihtovarjostimet"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
+msgid "Debug Shaders"
+msgstr "Viankorjausvarjostimet"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
+msgid "Debug Information"
+msgstr "Viankorjaustiedot"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
+msgid "PS 2.0"
+msgstr "PS 2.0"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO2"
+msgid "PS 2.0b"
+msgstr "PS 2.0b"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO3"
+msgid "PS 2.0a"
+msgstr "PS 2.0a"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO4"
+msgid "PS 3.0"
+msgstr "PS 3.0"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
+msgid "Advanced Settings, do not edit unless you know what you are doing."
+msgstr "Edistyneet asetukset. Älä muokkaa, jollet tiedä, mitä olet tekemässä!"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
+msgid "True"
+msgstr "Tosi"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
+msgid "False"
+msgstr "Epätosi"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
+msgid "Default"
+msgstr "Oletus"
+
+msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "JPEG -laatu"
+
+msgctxt "IDD_CMD_LINE_HELP_CAPTION"
+msgid "Command line help"
+msgstr "Komentorivin ohje"
+
+msgctxt "IDD_CMD_LINE_HELP_IDOK"
+msgid "OK"
+msgstr "OK"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po
new file mode 100644
index 000000000..269731dbe
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.menus.po
@@ -0,0 +1,691 @@
+# MPC-HC - Strings extracted from menus
+# Copyright (C) 2002 - 2015 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# phewi <phewnix@gmail.com>, 2014
+# Raimo K. Talvio, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-04 09:11+0000\n"
+"Last-Translator: phewi <phewnix@gmail.com>\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "POPUP"
+msgid "&File"
+msgstr "Tiedosto"
+
+msgctxt "ID_FILE_OPENQUICK"
+msgid "&Quick Open File..."
+msgstr "Tiedoston pika-avaus"
+
+msgctxt "ID_FILE_OPENMEDIA"
+msgid "&Open File..."
+msgstr "Avaa tiedosto..."
+
+msgctxt "ID_FILE_OPENDVDBD"
+msgid "Open &DVD/BD..."
+msgstr "Avaa DVD/BD..."
+
+msgctxt "ID_FILE_OPENDEVICE"
+msgid "Open De&vice..."
+msgstr "Avaa laite"
+
+msgctxt "ID_FILE_OPENDIRECTORY"
+msgid "Open Dir&ectory..."
+msgstr "Avaa hakemisto"
+
+msgctxt "ID_FILE_OPENDISC"
+msgid "O&pen Disc"
+msgstr "Avaa levy"
+
+msgctxt "ID_RECENT_FILES"
+msgid "Recent &Files"
+msgstr "Edelliset tiedostot"
+
+msgctxt "ID_FILE_CLOSE_AND_RESTORE"
+msgid "&Close"
+msgstr "Sulje"
+
+msgctxt "ID_FILE_SAVE_COPY"
+msgid "&Save a Copy..."
+msgstr "Tallenna kopio..."
+
+msgctxt "ID_FILE_SAVE_IMAGE"
+msgid "Save &Image..."
+msgstr "Tallenna kuva..."
+
+msgctxt "ID_FILE_SAVE_THUMBNAILS"
+msgid "Save &Thumbnails..."
+msgstr "Tallenna pienoiskuvat..."
+
+msgctxt "ID_FILE_LOAD_SUBTITLE"
+msgid "&Load Subtitle..."
+msgstr "&Lataa tekstitykset..."
+
+msgctxt "ID_FILE_SAVE_SUBTITLE"
+msgid "Save S&ubtitle..."
+msgstr "Tallenna tekstitykset..."
+
+msgctxt "POPUP"
+msgid "Subtitle Data&base"
+msgstr "Tekstitystietokanta"
+
+msgctxt "ID_FILE_ISDB_SEARCH"
+msgid "&Search..."
+msgstr "Etsi..."
+
+msgctxt "ID_FILE_ISDB_UPLOAD"
+msgid "&Upload..."
+msgstr "Lähetä..."
+
+msgctxt "ID_FILE_ISDB_DOWNLOAD"
+msgid "&Download..."
+msgstr "Lataa..."
+
+msgctxt "ID_FILE_PROPERTIES"
+msgid "P&roperties"
+msgstr "Ominaisuudet"
+
+msgctxt "ID_FILE_EXIT"
+msgid "E&xit"
+msgstr "Poistu"
+
+msgctxt "POPUP"
+msgid "&View"
+msgstr "Näytä"
+
+msgctxt "ID_VIEW_CAPTIONMENU"
+msgid "Caption&&Menu"
+msgstr "Otsikkovalikko"
+
+msgctxt "ID_VIEW_SEEKER"
+msgid "See&k Bar"
+msgstr "Etsintäpalkki"
+
+msgctxt "ID_VIEW_CONTROLS"
+msgid "&Controls"
+msgstr "Säätimet"
+
+msgctxt "ID_VIEW_INFORMATION"
+msgid "&Information"
+msgstr "Tiedot"
+
+msgctxt "ID_VIEW_STATISTICS"
+msgid "&Statistics"
+msgstr "Tilastoja"
+
+msgctxt "ID_VIEW_STATUS"
+msgid "St&atus"
+msgstr "Tila"
+
+msgctxt "ID_VIEW_SUBRESYNC"
+msgid "Su&bresync"
+msgstr "Synkronoi tektitykset"
+
+msgctxt "ID_VIEW_PLAYLIST"
+msgid "Pla&ylist"
+msgstr "Soittolista"
+
+msgctxt "ID_VIEW_CAPTURE"
+msgid "Captu&re"
+msgstr "Kaappaa"
+
+msgctxt "ID_VIEW_NAVIGATION"
+msgid "Na&vigation"
+msgstr "Navigointi"
+
+msgctxt "ID_VIEW_DEBUGSHADERS"
+msgid "&Debug Shaders"
+msgstr "Vianetsinnän varjostimet"
+
+msgctxt "POPUP"
+msgid "&Presets..."
+msgstr "Esiasetukset..."
+
+msgctxt "ID_VIEW_PRESETS_MINIMAL"
+msgid "&Minimal"
+msgstr "Minimaalinen"
+
+msgctxt "ID_VIEW_PRESETS_COMPACT"
+msgid "&Compact"
+msgstr "Kompakti"
+
+msgctxt "ID_VIEW_PRESETS_NORMAL"
+msgid "&Normal"
+msgstr "Normaali"
+
+msgctxt "ID_VIEW_FULLSCREEN"
+msgid "F&ull Screen"
+msgstr "Koko näyttö"
+
+msgctxt "POPUP"
+msgid "&Zoom"
+msgstr "Zoomaa"
+
+msgctxt "ID_VIEW_ZOOM_50"
+msgid "&50%"
+msgstr "&50%"
+
+msgctxt "ID_VIEW_ZOOM_100"
+msgid "&100%"
+msgstr "&100%"
+
+msgctxt "ID_VIEW_ZOOM_200"
+msgid "&200%"
+msgstr "&200%"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT"
+msgid "Auto &Fit"
+msgstr "Sovita automaattisesti"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (&Larger Only)"
+msgstr "Sovita automaattisesti (vain suurempaan)"
+
+msgctxt "POPUP"
+msgid "R&enderer Settings"
+msgstr "Renderöintiasetukset"
+
+msgctxt "ID_VIEW_TEARING_TEST"
+msgid "&Tearing Test"
+msgstr "Pikatesti"
+
+msgctxt "ID_VIEW_DISPLAYSTATS"
+msgid "&Display Stats"
+msgstr "Näytä tilastot"
+
+msgctxt "ID_VIEW_REMAINING_TIME"
+msgid "&Remaining Time"
+msgstr "Aika jäljellä"
+
+msgctxt "POPUP"
+msgid "&Output Range"
+msgstr "Tulostealue"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
+msgid "&0 - 255"
+msgstr "&0 - 255"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
+msgid "&16 - 235"
+msgstr "&16 - 235"
+
+msgctxt "POPUP"
+msgid "&Presentation"
+msgstr "Esitys"
+
+msgctxt "ID_VIEW_D3DFULLSCREEN"
+msgid "D3D Fullscreen &Mode"
+msgstr "D3D Kokonäyttötila"
+
+msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
+msgid "D3D Fullscreen &GUI Support"
+msgstr "D3D Kokonäyttö & Käyttöliittymätuki"
+
+msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
+msgid "10-bit &RGB Output"
+msgstr "10-bit &RGB Output"
+
+msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
+msgid "Force 10-bit RGB &Input"
+msgstr "Pakota 10-bit RGB &syöttö"
+
+msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
+msgid "&Full Floating Point Processing"
+msgstr "Täysi liukulukuprosessointi"
+
+msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
+msgid "&Half Floating Point Processing"
+msgstr "Puoli liukulukuprosessointi"
+
+msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
+msgid "Disable desktop composition (&Aero)"
+msgstr "Poista käytöstä työpöytäkompositio (&Aero)"
+
+msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time &Correction"
+msgstr "Salli kehysaikakorjaus"
+
+msgctxt "POPUP"
+msgid "&Color Management"
+msgstr "Värin hallinta"
+
+msgctxt "ID_VIEW_CM_ENABLE"
+msgid "&Enable"
+msgstr "Salli"
+
+msgctxt "POPUP"
+msgid "&Input Type"
+msgstr "Syöttötyyppi"
+
+msgctxt "ID_VIEW_CM_INPUT_AUTO"
+msgid "&Auto-Detect"
+msgstr "Automaattinen havainti"
+
+msgctxt "ID_VIEW_CM_INPUT_HDTV"
+msgid "&HDTV"
+msgstr "HDTV"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_NTSC"
+msgid "SDTV &NTSC"
+msgstr "SDTV & NTSC"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_PAL"
+msgid "SDTV &PAL"
+msgstr "SDTV & PAL"
+
+msgctxt "POPUP"
+msgid "Ambient &Light"
+msgstr "Ympäristön valaistus"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
+msgid "&Bright (2.2 Gamma)"
+msgstr "Kirkas (2.2 Gamma)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
+msgid "&Dim (2.35 Gamma)"
+msgstr "Hämärä (2.35 Gamma)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
+msgid "D&ark (2.4 Gamma)"
+msgstr "Pimeä (2.4 Gamma)"
+
+msgctxt "POPUP"
+msgid "&Rendering Intent"
+msgstr "Renderöinnin tarkoitus"
+
+msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
+msgid "&Perceptual"
+msgstr "Havaittava"
+
+msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
+msgid "&Relative Colorimetric"
+msgstr "Kolorimetrinen suhde"
+
+msgctxt "ID_VIEW_CM_INTENT_SATURATION"
+msgid "&Saturation"
+msgstr "Kylläisyys"
+
+msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
+msgid "&Absolute Colorimetric"
+msgstr "Kolorimetrinen ehdottomuus"
+
+msgctxt "POPUP"
+msgid "&VSync"
+msgstr "VSync"
+
+msgctxt "ID_VIEW_VSYNC"
+msgid "&VSync"
+msgstr "VSync"
+
+msgctxt "ID_VIEW_VSYNCACCURATE"
+msgid "&Accurate VSync"
+msgstr "Täsmällinen VSync"
+
+msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
+msgid "A&lternative VSync"
+msgstr "Vaihtoehtoinen VSync"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
+msgid "&Decrease VSync Offset"
+msgstr "Lisää VSync offsetia"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
+msgid "&Increase VSync Offset"
+msgstr "Vähennä VSync offsetia"
+
+msgctxt "POPUP"
+msgid "&GPU Control"
+msgstr "GPU:n valvonta"
+
+msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
+msgid "Flush GPU &before VSync"
+msgstr "Kiihdytä GPU ennen VSync:ia"
+
+msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
+msgid "Flush GPU &after Present"
+msgstr "Kiihdytä GPU nykyisen jälkeen"
+
+msgctxt "ID_VIEW_FLUSHGPU_WAIT"
+msgid "&Wait for flushes"
+msgstr "Odota kiindytystä"
+
+msgctxt "POPUP"
+msgid "R&eset"
+msgstr "Nollaa"
+
+msgctxt "ID_VIEW_RESET_DEFAULT"
+msgid "Reset to &default renderer settings"
+msgstr "Aseta renderöinnin oletusasetuksiin"
+
+msgctxt "ID_VIEW_RESET_OPTIMAL"
+msgid "Reset to &optimal renderer settings"
+msgstr "Aseta renderöinnin ihanneasetuksiin"
+
+msgctxt "POPUP"
+msgid "Video &Frame"
+msgstr "Videokehys"
+
+msgctxt "ID_VIEW_VF_HALF"
+msgid "&Half Size"
+msgstr "Puolikoko"
+
+msgctxt "ID_VIEW_VF_NORMAL"
+msgid "&Normal Size"
+msgstr "Normaali koko"
+
+msgctxt "ID_VIEW_VF_DOUBLE"
+msgid "&Double Size"
+msgstr "Kaksinkertainen koko"
+
+msgctxt "ID_VIEW_VF_STRETCH"
+msgid "&Stretch To Window"
+msgstr "Venytä ikkunaan"
+
+msgctxt "ID_VIEW_VF_FROMINSIDE"
+msgid "Touch Window From &Inside"
+msgstr "Ikkunakoko sisäpuolelta"
+
+msgctxt "ID_VIEW_VF_ZOOM1"
+msgid "Zoom &1"
+msgstr "Zoom &1"
+
+msgctxt "ID_VIEW_VF_ZOOM2"
+msgid "Zoom &2"
+msgstr "Zoom &2"
+
+msgctxt "ID_VIEW_VF_FROMOUTSIDE"
+msgid "Touch Window From &Outside"
+msgstr "Ikkunakoko ulkopuolelta"
+
+msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
+msgid "&Keep Aspect Ratio"
+msgstr "Säilytä kuvasuhde"
+
+msgctxt "POPUP"
+msgid "Override &Aspect Ratio"
+msgstr "Pakota kuvasuhde"
+
+msgctxt "ID_ASPECTRATIO_SOURCE"
+msgid "&Default"
+msgstr "Oletus"
+
+msgctxt "ID_ASPECTRATIO_4_3"
+msgid "&4:3"
+msgstr "&4:3"
+
+msgctxt "ID_ASPECTRATIO_5_4"
+msgid "&5:4"
+msgstr "&5:4"
+
+msgctxt "ID_ASPECTRATIO_16_9"
+msgid "&16:9"
+msgstr "&16:9"
+
+msgctxt "ID_ASPECTRATIO_235_100"
+msgid "&235:100"
+msgstr "&235:100"
+
+msgctxt "ID_ASPECTRATIO_185_100"
+msgid "1&85:100"
+msgstr "185:100"
+
+msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
+msgid "&Correct Monitor/Desktop AR Diff"
+msgstr "Korjaa näytön/työpöydän AR ero"
+
+msgctxt "POPUP"
+msgid "Pa&n&&Scan"
+msgstr "Panoroi ja skannaa"
+
+msgctxt "ID_VIEW_INCSIZE"
+msgid "&Increase Size"
+msgstr "Suurenna"
+
+msgctxt "ID_VIEW_DECSIZE"
+msgid "&Decrease Size"
+msgstr "Pienennä"
+
+msgctxt "ID_VIEW_INCWIDTH"
+msgid "I&ncrease Width"
+msgstr "Levennä"
+
+msgctxt "ID_VIEW_DECWIDTH"
+msgid "D&ecrease Width"
+msgstr "Kavenna"
+
+msgctxt "ID_VIEW_INCHEIGHT"
+msgid "In&crease Height"
+msgstr "Lisää korkeutta"
+
+msgctxt "ID_VIEW_DECHEIGHT"
+msgid "Decre&ase Height"
+msgstr "Vähennä korkeutta"
+
+msgctxt "ID_PANSCAN_MOVERIGHT"
+msgid "Move &Right"
+msgstr "Siirrä oikeaan"
+
+msgctxt "ID_PANSCAN_MOVELEFT"
+msgid "Move &Left"
+msgstr "Siirrä vasempaan"
+
+msgctxt "ID_PANSCAN_MOVEUP"
+msgid "Move &Up"
+msgstr "Siirrä ylös"
+
+msgctxt "ID_PANSCAN_MOVEDOWN"
+msgid "Move &Down"
+msgstr "Siirrä alas"
+
+msgctxt "ID_PANSCAN_CENTER"
+msgid "Cen&ter"
+msgstr "Keskelle"
+
+msgctxt "ID_VIEW_RESET"
+msgid "Re&set"
+msgstr "Nollaa"
+
+msgctxt "POPUP"
+msgid "On &Top"
+msgstr "Yläreunassa"
+
+msgctxt "ID_ONTOP_DEFAULT"
+msgid "&Default"
+msgstr "Oletus"
+
+msgctxt "ID_ONTOP_ALWAYS"
+msgid "&Always"
+msgstr "Aina"
+
+msgctxt "ID_ONTOP_WHILEPLAYING"
+msgid "While &Playing"
+msgstr "toistettaessa"
+
+msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
+msgid "While Playing &Video"
+msgstr "toistettaessa videota"
+
+msgctxt "ID_VIEW_OPTIONS"
+msgid "&Options..."
+msgstr "Vaihtoehdot"
+
+msgctxt "POPUP"
+msgid "&Play"
+msgstr "Toista"
+
+msgctxt "ID_PLAY_PLAYPAUSE"
+msgid "&Play/Pause"
+msgstr "Toisto/tauko"
+
+msgctxt "ID_PLAY_STOP"
+msgid "&Stop"
+msgstr "Pysäytä"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "F&rame Step"
+msgstr "Kehyksen askel"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "&Decrease Rate"
+msgstr "Vähennä kehysnopeutta"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "&Increase Rate"
+msgstr "Lisää kehysnopeutta"
+
+msgctxt "ID_PLAY_RESETRATE"
+msgid "R&eset Rate"
+msgstr "Nollaa kehysnopeus"
+
+msgctxt "ID_FILTERS"
+msgid "&Filters"
+msgstr "Suotimet"
+
+msgctxt "ID_SHADERS"
+msgid "S&haders"
+msgstr "Varjostimet"
+
+msgctxt "ID_AUDIOS"
+msgid "&Audio"
+msgstr "Audio"
+
+msgctxt "ID_SUBTITLES"
+msgid "Su&btitles"
+msgstr "Tekstitykset"
+
+msgctxt "ID_VIDEO_STREAMS"
+msgid "&Video Stream"
+msgstr "Videostriimi"
+
+msgctxt "POPUP"
+msgid "&Volume"
+msgstr "Äänen voimakkuus"
+
+msgctxt "ID_VOLUME_UP"
+msgid "&Up"
+msgstr "Ylös"
+
+msgctxt "ID_VOLUME_DOWN"
+msgid "&Down"
+msgstr "Alas"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "&Mute"
+msgstr "Vaimennus"
+
+msgctxt "POPUP"
+msgid "Af&ter Playback"
+msgstr "Toiston jälkeen"
+
+msgctxt "ID_AFTERPLAYBACK_CLOSE"
+msgid "&Exit"
+msgstr "Poistu"
+
+msgctxt "ID_AFTERPLAYBACK_STANDBY"
+msgid "&Stand By"
+msgstr "valmiustila"
+
+msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
+msgid "&Hibernate"
+msgstr "lepotila"
+
+msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
+msgid "Shut&down"
+msgstr "Sulje kone"
+
+msgctxt "ID_AFTERPLAYBACK_LOGOFF"
+msgid "Log &Off"
+msgstr "Kirjaudu ulos"
+
+msgctxt "ID_AFTERPLAYBACK_LOCK"
+msgid "&Lock"
+msgstr "Lukitse"
+
+msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
+msgid "Turn off the &monitor"
+msgstr "Sulje näyttö"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Toista seuraava tiedosto kansiosta"
+
+msgctxt "POPUP"
+msgid "&Navigate"
+msgstr "Navigoi"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "&Previous"
+msgstr "Edellinen"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "&Next"
+msgstr "Seuraava"
+
+msgctxt "ID_NAVIGATE_GOTO"
+msgid "&Go To..."
+msgstr "Mene..."
+
+msgctxt "ID_NAVIGATE_TITLEMENU"
+msgid "&Title Menu"
+msgstr "Otsikkovalikko"
+
+msgctxt "ID_NAVIGATE_ROOTMENU"
+msgid "&Root Menu"
+msgstr "Juurivalikko"
+
+msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
+msgid "&Subtitle Menu"
+msgstr "Tekstitysvalikko"
+
+msgctxt "ID_NAVIGATE_AUDIOMENU"
+msgid "&Audio Menu"
+msgstr "Audiovalikko"
+
+msgctxt "ID_NAVIGATE_ANGLEMENU"
+msgid "An&gle Menu"
+msgstr "Kuvakulmavalikko"
+
+msgctxt "ID_NAVIGATE_CHAPTERMENU"
+msgid "&Chapter Menu"
+msgstr "Kappalevalikko"
+
+msgctxt "ID_FAVORITES"
+msgid "F&avorites"
+msgstr "Suosikit"
+
+msgctxt "POPUP"
+msgid "&Help"
+msgstr "Apua"
+
+msgctxt "ID_HELP_HOMEPAGE"
+msgid "&Home Page"
+msgstr "Kotisivu"
+
+msgctxt "ID_HELP_CHECKFORUPDATE"
+msgid "Check for &updates"
+msgstr "Tarkista päivitykset"
+
+msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
+msgid "&Command Line Switches"
+msgstr "Komentorivin vaihtoehdot"
+
+msgctxt "ID_HELP_TOOLBARIMAGES"
+msgid "Download &Toolbar Images"
+msgstr "Lataa työkalupalkin kuvat"
+
+msgctxt "ID_HELP_DONATE"
+msgid "&Donate"
+msgstr "Lahjoita"
+
+msgctxt "ID_HELP_ABOUT"
+msgid "&About..."
+msgstr "Tietoja..."
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po
new file mode 100644
index 000000000..b6496d882
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fi.strings.po
@@ -0,0 +1,3583 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2015 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# phewi <phewnix@gmail.com>, 2014
+# Raimo K. Talvio, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-04 09:31+0000\n"
+"Last-Translator: phewi <phewnix@gmail.com>\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "IDS_INFOBAR_LOCATION"
+msgid "Location"
+msgstr "Sijainti"
+
+msgctxt "IDS_INFOBAR_VIDEO"
+msgid "Video"
+msgstr "Video"
+
+msgctxt "IDS_INFOBAR_AUDIO"
+msgid "Audio"
+msgstr "Ääni"
+
+msgctxt "IDS_INFOBAR_SUBTITLES"
+msgid "Subtitles"
+msgstr "Tekstitykset"
+
+msgctxt "IDS_INFOBAR_CHAPTER"
+msgid "Chapter"
+msgstr "Kappale"
+
+msgctxt "IDS_CONTROLS_COMPLETING"
+msgid "Completing..."
+msgstr "Viimeistellään..."
+
+msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
+msgid "Play Video"
+msgstr "Toista video"
+
+msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
+msgid "Play Music"
+msgstr "Soita musiikkia"
+
+msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
+msgid "Play Audio CD"
+msgstr "Soita audio-CD"
+
+msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
+msgid "Play DVD Movie"
+msgstr "Toista DVD-elokuva"
+
+msgctxt "IDS_PROPSHEET_PROPERTIES"
+msgid "Properties"
+msgstr "Ominaisuudet"
+
+msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
+msgid "&Default Style"
+msgstr "Oletustyyli"
+
+msgctxt "IDS_FAVFILES"
+msgid "Files"
+msgstr "Tiedostot"
+
+msgctxt "IDS_FAVDVDS"
+msgid "DVDs"
+msgstr "DVD:t"
+
+msgctxt "IDS_INFOBAR_CHANNEL"
+msgid "Channel"
+msgstr "Kanava"
+
+msgctxt "IDS_INFOBAR_TIME"
+msgid "Time"
+msgstr "Aika"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET"
+msgid "Sync Offset"
+msgstr "Synkronointioffset"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
+msgid "avg: %d ms, dev: %d ms"
+msgstr ""
+
+msgctxt "IDS_STATSBAR_JITTER"
+msgid "Jitter"
+msgstr "Värinä"
+
+msgctxt "IDS_STATSBAR_BITRATE"
+msgid "Bitrate"
+msgstr "Bittinopeus"
+
+msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
+msgid "(avg/cur)"
+msgstr "(keskim/nyk)"
+
+msgctxt "IDS_STATSBAR_SIGNAL"
+msgid "Signal"
+msgstr "Signaali"
+
+msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
+msgid "Strength: %d dB, Quality: %ld%%"
+msgstr "Voimakkuus: %d dB, laatu: %ld%%"
+
+msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
+msgid "Styles"
+msgstr "Tyylit"
+
+msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
+msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
+msgstr "Jos muunnoskohdetta ei ole määritetty, SSA/ASS -tekstitykset muunnetaan suhteessa videokehykseen, kun kaikki muut tekstimuotoiset tekstitykset muunnetaan suhteutettuna ikkunaan."
+
+msgctxt "IDS_PPAGE_CAPTURE_FG0"
+msgid "Never (fastest approach)"
+msgstr "Ei koskaan (nopein lähestyminen)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG1"
+msgid "Only when switching different video types (default)"
+msgstr "Vain vaihdettaessa eri videotyyppejä (oletus)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG2"
+msgid "Always (slowest option)"
+msgstr "Aina (hitain vaihtoehto)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
+msgid "Not supported by some devices. Two video decoders always present in the filter graph."
+msgstr "Jotkin laitteet eivät tue. Kaksi videodekooderia aina käytössä grafiikkasuotimessa."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
+msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
+msgstr "Nopea paitsi vaihdettaessa eri videovirtojen välillä. Vain yksi videodekooderi suodinkaaviossa."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
+msgid "Not recommended. Only for testing purposes."
+msgstr "Ei suositella. Vain testaukseen."
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG0"
+msgid "Never if possible (fastest, but not supported by most filters)"
+msgstr "Ei koskaan jos mahdollista (nopein, mutta useimmat suotimet eivät tue)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG1"
+msgid "Only when switching different video types (default)"
+msgstr "Vain vaihdettaessa eri videotyyppejä (oletus)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG2"
+msgid "Always (may be required by some devices)"
+msgstr "Aina (jotkin laitteet edellyttävät)"
+
+msgctxt "IDS_INFOBAR_PARENTAL_RATING"
+msgid "Parental rating"
+msgstr "Ikäkausiluokitus"
+
+msgctxt "IDS_PARENTAL_RATING"
+msgid "%d+"
+msgstr "%d+"
+
+msgctxt "IDS_NO_PARENTAL_RATING"
+msgid "Not rated"
+msgstr "Ei määritetty"
+
+msgctxt "IDS_INFOBAR_CONTENT"
+msgid "Content"
+msgstr "Sisältö"
+
+msgctxt "IDS_CONTENT_MOVIE_DRAMA"
+msgid "Movie/Drama"
+msgstr "Elokuva/Draama"
+
+msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
+msgid "News/Current affairs"
+msgstr "Uutiset/Nykyiset asiat"
+
+msgctxt "IDS_SPEED_UNIT_G"
+msgid "GB/s"
+msgstr "GB/sek."
+
+msgctxt "IDS_FILE_FAV_ADDED"
+msgid "File added to favorites"
+msgstr "Tiedosto lisätty suosikkeihin"
+
+msgctxt "IDS_DVD_FAV_ADDED"
+msgid "DVD added to favorites"
+msgstr "DVD lisätty suosikkeihin"
+
+msgctxt "IDS_CAPTURE_SETTINGS"
+msgid "Capture Settings"
+msgstr "Tallennusasetukset"
+
+msgctxt "IDS_NAVIGATION_BAR"
+msgid "Navigation Bar"
+msgstr "Navigointipalkki"
+
+msgctxt "IDS_SUBRESYNC_CAPTION"
+msgid "Subresync"
+msgstr "Tekstityksen synkronointi"
+
+msgctxt "IDS_SUBRESYNC_CLN_TIME"
+msgid "Time"
+msgstr "Aika"
+
+msgctxt "IDS_SUBRESYNC_CLN_END"
+msgid "End"
+msgstr "Loppu"
+
+msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
+msgid "Preview"
+msgstr "Esikatselu"
+
+msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
+msgid "Vob ID"
+msgstr "Vob ID"
+
+msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
+msgid "Cell ID"
+msgstr "Solun ID"
+
+msgctxt "IDS_SUBRESYNC_CLN_FORCED"
+msgid "Forced"
+msgstr "Pakotettu"
+
+msgctxt "IDS_SUBRESYNC_CLN_TEXT"
+msgid "Text"
+msgstr "Teksti"
+
+msgctxt "IDS_SUBRESYNC_CLN_STYLE"
+msgid "Style"
+msgstr "Tyyli"
+
+msgctxt "IDS_SUBRESYNC_CLN_FONT"
+msgid "Font"
+msgstr "Fontti"
+
+msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
+msgid "Failed to render some of the pins of the DVD Navigator filter"
+msgstr "Joidenkin DVD-navigaattorin nastojen muunto epäonnistui"
+
+msgctxt "IDS_DVD_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for DVD playback"
+msgstr "DVD-toiston tarvittavien liittymien kysely epäonnistui"
+
+msgctxt "IDS_CAPTURE_LIVE"
+msgid "Live"
+msgstr "Live"
+
+msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
+msgid "Can't add video capture filter to the graph"
+msgstr "Videokaappaussuodinta ei voi lisätä kaavioon"
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
+msgid "Can't add audio capture filter to the graph"
+msgstr "Audiokaappaussuodinta ei voi lisätä kaavioon"
+
+msgctxt "IDS_CAPTURE_ERROR_DEVICE"
+msgid "Could not open capture device."
+msgstr "Kaappauslaitetta ei voi avata."
+
+msgctxt "IDS_INVALID_PARAMS_ERROR"
+msgid "Can't open, invalid input parameters"
+msgstr "Ei voi avata, tuloparametrit eivät kelpaa"
+
+msgctxt "IDS_EDIT_LIST_EDITOR"
+msgid "Edit List Editor"
+msgstr "Muokkaa luettelomuokkainta"
+
+msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
+msgid "The entered time is greater than the file duration."
+msgstr "Annettu aika on suurempi kuin tiedoston kesto."
+
+msgctxt "IDS_MISSING_ICONS_LIB"
+msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
+msgstr "Ikonikirjastoa \"mpciconlib.dll\" ei löydy.\nSoittimen oletusikonia käytetään tiedostojen kytkentään.\nOle hyvä ja asenna MPC-HC uudelleen \"mpciconlib.dll\":n saamiseksi."
+
+msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
+msgid "File"
+msgstr "Tiedosto"
+
+msgctxt "IDS_SUBDL_DLG_LANGUAGE_COL"
+msgid "Language"
+msgstr "Kieli"
+
+msgctxt "IDS_SUBDL_DLG_FORMAT_COL"
+msgid "Format"
+msgstr "Formaatti"
+
+msgctxt "IDS_SUBDL_DLG_DISC_COL"
+msgid "Disc"
+msgstr "Levy"
+
+msgctxt "IDS_SUBDL_DLG_TITLES_COL"
+msgid "Title(s)"
+msgstr "Nimike (eet)"
+
+msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
+msgid "CharSet"
+msgstr "Merkistö"
+
+msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
+msgid "Unicode"
+msgstr "Unicode"
+
+msgctxt "IDS_SUBRESYNC_CLN_LAYER"
+msgid "Layer"
+msgstr "Taso"
+
+msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
+msgid "Actor"
+msgstr "Näyttelijä"
+
+msgctxt "IDS_SUBRESYNC_CLN_EFFECT"
+msgid "Effect"
+msgstr "Efekti"
+
+msgctxt "IDS_PLAYLIST_CAPTION"
+msgid "Playlist"
+msgstr "Soittolista"
+
+msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
+msgid "On/Off"
+msgstr "Päällä/pois"
+
+msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
+msgid "From fps"
+msgstr "Kehysnopeudesta"
+
+msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
+msgid "To fps"
+msgstr "kehysnopeuteen"
+
+msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
+msgid "Display mode (Hz)"
+msgstr "Näyttötila (Hz)"
+
+msgctxt "IDS_PPAGE_FS_DEFAULT"
+msgid "Default"
+msgstr "Oletus"
+
+msgctxt "IDS_PPAGE_FS_OTHER"
+msgid "Other"
+msgstr "Muu"
+
+msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
+msgid "System Default"
+msgstr "Järjestelmän oletus"
+
+msgctxt "IDS_GRAPH_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for playback"
+msgstr "Toiston vaatimien liittymien kysely epäonnistui."
+
+msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
+msgid "Could not set target window for graph notification"
+msgstr "Kohdeikkunaa ei voi asettaa kaavion huomautukselle."
+
+msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
+msgid "Failed to render all pins of the DVD Navigator filter"
+msgstr "DVD-navigaattorisuotimen kaikkien nastojen muunnos epäonnistui."
+
+msgctxt "IDS_PLAYLIST_OPEN"
+msgid "&Open"
+msgstr "Avaa"
+
+msgctxt "IDS_PLAYLIST_ADD"
+msgid "A&dd"
+msgstr "Lisää"
+
+msgctxt "IDS_PLAYLIST_REMOVE"
+msgid "&Remove"
+msgstr "Poista"
+
+msgctxt "IDS_PLAYLIST_CLEAR"
+msgid "C&lear"
+msgstr "Tyhjennä"
+
+msgctxt "IDS_PLAYLIST_COPYTOCLIPBOARD"
+msgid "&Copy to clipboard"
+msgstr "Kopioi leikepöydälle"
+
+msgctxt "IDS_PLAYLIST_SAVEAS"
+msgid "&Save As..."
+msgstr "Tallenna nimellä..."
+
+msgctxt "IDS_PLAYLIST_SORTBYLABEL"
+msgid "Sort by &label"
+msgstr "Lajittele nimikkeen mukaan"
+
+msgctxt "IDS_PLAYLIST_SORTBYPATH"
+msgid "Sort by &path"
+msgstr "Lajittele polun mukaan"
+
+msgctxt "IDS_PLAYLIST_RANDOMIZE"
+msgid "R&andomize"
+msgstr "Satunnainen"
+
+msgctxt "IDS_PLAYLIST_RESTORE"
+msgid "R&estore"
+msgstr "Palauta"
+
+msgctxt "IDS_SUBRESYNC_SEPARATOR"
+msgid "&Separator"
+msgstr "Erotin"
+
+msgctxt "IDS_SUBRESYNC_DELETE"
+msgid "&Delete"
+msgstr "Poista"
+
+msgctxt "IDS_SUBRESYNC_DUPLICATE"
+msgid "D&uplicate"
+msgstr "Tuplaa"
+
+msgctxt "IDS_SUBRESYNC_RESET"
+msgid "&Reset"
+msgstr "Nollaa"
+
+msgctxt "IDS_MPLAYERC_104"
+msgid "Subtitle Delay -"
+msgstr "Tekstityksen viive -"
+
+msgctxt "IDS_MPLAYERC_105"
+msgid "Subtitle Delay +"
+msgstr "Tekstityksen viive +"
+
+msgctxt "IDS_FILE_SAVE_THUMBNAILS"
+msgid "Save thumbnails"
+msgstr "Tallenna pienoiskuvat"
+
+msgctxt "IDD_PPAGEPLAYBACK"
+msgid "Playback"
+msgstr "Toisto"
+
+msgctxt "IDD_PPAGEPLAYER"
+msgid "Player"
+msgstr "Soitin"
+
+msgctxt "IDD_PPAGEDVD"
+msgid "Playback::DVD/OGM"
+msgstr "Toisto::DVD/OGM"
+
+msgctxt "IDD_PPAGESUBTITLES"
+msgid "Subtitles"
+msgstr "Tekstitykset"
+
+msgctxt "IDD_PPAGEFORMATS"
+msgid "Player::Formats"
+msgstr "Soitin::Formaatit"
+
+msgctxt "IDD_PPAGETWEAKS"
+msgid "Tweaks"
+msgstr "Toimintavihjeet"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER"
+msgid "Internal Filters::Audio Switcher"
+msgstr "Sisäiset suotimet::Audiovaihtaja"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS"
+msgid "External Filters"
+msgstr "Ulkoiset suotimet"
+
+msgctxt "IDD_PPAGESHADERS"
+msgid "Playback::Shaders"
+msgstr "Toisto::Varjostimet"
+
+msgctxt "IDS_AUDIOSWITCHER"
+msgid "Audio Switcher"
+msgstr "Audiovaihtaja"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
+msgid "New version of the icon library"
+msgstr "Ikonikirjaston uusi versio"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
+msgid "Do you want to reassociate the icons?"
+msgstr "Haluatko kytkeä ikonit uudelleen?"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
+msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
+msgstr "Tämä korjaa ikonikirjaston päivityksen jälkeen virheellisesti näytetyt ikonit.\nTiedostojen kytkentöjä ei muokata, vain vastaavat ikonit uusitaan."
+
+msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
+msgid "Old Video Renderer"
+msgstr "Vanha videomuunnin"
+
+msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
+msgid "Overlay Mixer Renderer"
+msgstr "Peittokuvamikserimuunnin"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
+msgid "Video Mixing Renderer 7 (windowed)"
+msgstr "Videomiksausmuunnin 7 (ikkunoitu)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
+msgid "Video Mixing Renderer 9 (windowed)"
+msgstr "Videomiksausmuunnin 9 (ikkunoitu)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
+msgid "Video Mixing Renderer 7 (renderless)"
+msgstr "Videomiksausmuunnin 7 (ei muunnosta)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
+msgid "Video Mixing Renderer 9 (renderless)"
+msgstr "Videomiksausmuunnin 9 (ei muunnosta)"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR"
+msgid "Enhanced Video Renderer"
+msgstr "Laajennettu videomuunnin"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
+msgid "Enhanced Video Renderer (custom presenter)"
+msgstr "Laajennettu videomuunnin (oma esittäjä)"
+
+msgctxt "IDS_PPAGE_OUTPUT_DXR"
+msgid "Haali Video Renderer"
+msgstr "Haali Videomuunnin"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Ei mitään (mikä vain)"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Ei mitään (pakkaamaton)"
+
+msgctxt "IDS_PPAGE_OUTPUT_MADVR"
+msgid "madVR"
+msgstr "madVR"
+
+msgctxt "IDD_PPAGEACCELTBL"
+msgid "Player::Keys"
+msgstr "Soitin::Näppäimet"
+
+msgctxt "IDD_PPAGESUBSTYLE"
+msgid "Subtitles::Default Style"
+msgstr "Tekstitykset::Oletustyyli"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS"
+msgid "Internal Filters"
+msgstr "Sisäiset suotimet"
+
+msgctxt "IDD_PPAGELOGO"
+msgid "Player::Logo"
+msgstr "Soitin::Logo"
+
+msgctxt "IDD_PPAGEOUTPUT"
+msgid "Playback::Output"
+msgstr "Toisto::Lähtö"
+
+msgctxt "IDD_PPAGEWEBSERVER"
+msgid "Player::Web Interface"
+msgstr "Soitin::Nettiliittymä"
+
+msgctxt "IDD_PPAGESUBDB"
+msgid "Subtitles::Database"
+msgstr "Tekstitykset::Tietokanta"
+
+msgctxt "IDD_FILEPROPRES"
+msgid "Resources"
+msgstr "Resurssit"
+
+msgctxt "IDD_PPAGEMISC"
+msgid "Miscellaneous"
+msgstr "Sekalaista"
+
+msgctxt "IDD_FILEMEDIAINFO"
+msgid "MediaInfo"
+msgstr "Median tiedot"
+
+msgctxt "IDD_PPAGECAPTURE"
+msgid "Playback::Capture"
+msgstr "Toisto::Kaappaus"
+
+msgctxt "IDD_PPAGESYNC"
+msgid "Playback::Sync Renderer Settings"
+msgstr "Toisto::Sync -muuntimen asetukset"
+
+msgctxt "IDD_PPAGEFULLSCREEN"
+msgid "Playback::Fullscreen"
+msgstr "Toisto::Kokonäyttö"
+
+msgctxt "IDD_FILEPROPDETAILS"
+msgid "Details"
+msgstr "Yksityiskohdat"
+
+msgctxt "IDD_FILEPROPCLIP"
+msgid "Clip"
+msgstr "Leike"
+
+msgctxt "IDC_DSSYSDEF"
+msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
+msgstr "DirectShown oletusvideomuunnin. Jos muita ei voi jostain syystä ladata, käytetään oletusta. Windows XP:ssä tämä on sama kuin VMR-7 (ikkunoitu)."
+
+msgctxt "IDC_DSOLD"
+msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
+msgstr "Tämä on Windows 9x/ME/2K:n oletusmuunnin. Videoikkunan ja näytönohjaimen ominaisuuksista riippuen se vaihtaa dynaamisesti GDI-, DirectDraw- ja peittokovatilojen välillä."
+
+msgctxt "IDC_DSOVERLAYMIXER"
+msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
+msgstr "Muuntaa aina peittokuvamuodossa. Yleensä vain YUV-muodot on sallittu, mutta ne esiintyvät suodaan ilman värimuunnosta RGB:hen. Tämä on nopein muuntotapa ja ainoa, jossa voit varma täyskuvapeilauksesta TV:n aktivointiin."
+
+msgctxt "IDC_DSVMR7WIN"
+msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
+msgstr "Windows XP:n oletusmuunnin. Hyvin vakaa ja vain vähän hitaampi kuin peittokuvamikseri. Käyttää DirectDraw:ta ja toimii peittokuvamuodossa, kun voi niin tehdä."
+
+msgctxt "IDC_DSVMR9WIN"
+msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
+msgstr "Käytettävissä vain jos DirectX 9 on asennettu. Sisältää samat toiminnot kuin VMR-7 (ikkunoitu), mutta ei käytä koskaan peittokuvamuunnosta koska se voi olla hieman hitaampi kuin VMR-7 (ikkunoitu)"
+
+msgctxt "IDC_DSVMR7REN"
+msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
+msgstr "Sama kuin VMR-7 (ikkunoitu), mutta sisältää MPC-HC:n sijoitus-esittäjäpluginin tekstitystä varten. Peittokuvavideopeilaus EI toimi. \"True Color\"-näyttötilaa suositellaan. "
+
+msgctxt "IDC_DSVMR9REN"
+msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
+msgstr "Sama kuin VMR-9 (ikkunoitu), mutta sisältää MPC-HC:n sijoittaja-esittäjä-pluginin tekstityksiä varten. Peittokuvavideon peilaus VOI toimia. \"True Color\"-näyttötilaa suositellaan. Suositeltu Windows XP:lle."
+
+msgctxt "IDC_DSDXR"
+msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
+msgstr "Sama kuin VMR-9 (muuntamaton), mutta käyttää true two-pass bicubic-koon muuttajaa."
+
+msgctxt "IDC_DSNULL_COMP"
+msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
+msgstr "Yhdistää mihin tahansa videon omaiseen mediatyyppiin eikä lähetä tulonäytettä minnekään- Käytä, kun et tarvitse videonäyttöä ja haluat säästää CPU:ta tarpeettomattomalta käytöltä."
+
+msgctxt "IDC_DSNULL_UNCOMP"
+msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
+msgstr "Sama kuin normaali Nollamuunnin, mutta vämä yhdistää vain pakkaamattomiin tyyppeihin."
+
+msgctxt "IDC_DSEVR"
+msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
+msgstr "Käytettävissä vain Vistassa tai myöhemmissä tai Windows XP:ssä ja vähintään .NET Framework 3.5 asennettuna"
+
+msgctxt "IDC_DSEVR_CUSTOM"
+msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
+msgstr "Sama kuin EVR, mutta mutta sisältää MPC-HC:n sijoittaja-esittäjä-pluginin tekstitystä ja jälkikäsittelyä varten. Suositellaan Windows Vistaan tai myöhempään."
+
+msgctxt "IDC_DSMADVR"
+msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
+msgstr "Korkealaatuinen muunnin, edellyttää GPU:ta, joka tukee D3D9:ä tai myöhäisempää."
+
+msgctxt "IDC_DSSYNC"
+msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
+msgstr "Sama kuin EVR (CP), mutta tarjoaa useita vaihtoehtoja videon kehysnopeuden synkronointiin näytön virkistystaajuuteen ohitettujen tai kaksoisvideoruutujen välttämiseksi"
+
+msgctxt "IDC_RMSYSDEF"
+msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
+msgstr "Realin oma muunnin. SMIL-skriptit toimivat, mutta vuorovaikutus luultavasti ei. Käyttää DirectDrawia ja toimii peittokuvassa, kun voi."
+
+msgctxt "IDC_RMDX7"
+msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "VMR-7:n (muuntamaton) DX7-pohjaisen Sijoittaja-Esittäjän avulla muunnetun Realin koneen lähtö."
+
+msgctxt "IDC_RMDX9"
+msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "VMR-9:n (muuntamaton) DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun Realin koneen lähtö."
+
+msgctxt "IDC_QTSYSDEF"
+msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
+msgstr "QuickTimen oma muunnin. Hidastuu vähän, kun videon alueen kokoa muunnetaan tai toinen ikkuna varjostaa sitä. Kun peittokuvaa ei voi käyttöö, se tahtoo pudota takaisin GDI:hin."
+
+msgctxt "IDC_QTDX7"
+msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "DX7-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-7 (muuntamaton) QuickTimen koneen lähtö."
+
+msgctxt "IDC_QTDX9"
+msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "DX9-pohjaisen Sijoittaja-Esittäjän avulla muunnetun VMR-9 (muuntamaton) QuickTime-koneen lähtö."
+
+msgctxt "IDC_REGULARSURF"
+msgid "Video surface will be allocated as a regular offscreen surface."
+msgstr "Videopinta sijoitetaan kuten tavallinen kuvaruudun ulkopuolinen pinta."
+
+msgctxt "IDC_AUDRND_COMBO"
+msgid "MPC Audio Renderer is broken, do not use."
+msgstr "MPC-audiomuuntimessa on vikaa, älä käytä."
+
+msgctxt "IDS_PPAGE_OUTPUT_SYNC"
+msgid "Sync Renderer"
+msgstr "Synkronointimuunnin"
+
+msgctxt "IDS_MPC_BUG_REPORT_TITLE"
+msgid "MPC-HC - Reporting a bug"
+msgstr "MPC-HC - Virheen raportointi"
+
+msgctxt "IDS_MPC_BUG_REPORT"
+msgid "MPC-HC just crashed but this build was compiled without debug information.\nIf you want to report this bug, you should first try an official build.\n\nDo you want to visit the download page now?"
+msgstr "MPC-HC kaatui äsken, mutta tässä versiossa ei ole virheenkorjaustietoja.\nJos haluat raportoida tämän virheen kannattaisi ensin kokeilla virallista versiota.\n\nHaluatko vierailla nyt lataussivulla?"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
+msgid "Regular offscreen plain surface"
+msgstr "Tavallinen näytön ulkopuolinen taso"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
+msgid "2D surfaces"
+msgstr "2D pinnat"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
+msgid "3D surfaces (recommended)"
+msgstr "3D pinnat (suositeltu)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
+msgid "Nearest neighbor"
+msgstr "Lähin naapuri"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
+msgid "Bilinear"
+msgstr "Bilineaarinen"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
+msgid "Bilinear (PS 2.0)"
+msgstr "Bilineaarinen (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
+msgid "Bicubic A=-0.60 (PS 2.0)"
+msgstr "Bicubic A=-0.60 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
+msgid "Bicubic A=-0.75 (PS 2.0)"
+msgstr "Bicubic A=-0.75 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
+msgid "Bicubic A=-1.00 (PS 2.0)"
+msgstr "Bicubic A=-1.00 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
+msgid "**unavailable**"
+msgstr "**ei käytettävissä**"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
+msgid "The selected renderer is not installed."
+msgstr "Valittua muunninta ei ole asennettu."
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Ei mitään (mikä vaan)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Ei mitään (pakkaamaton)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
+msgid "MPC-HC Audio Renderer"
+msgstr "MPC-HC Audiomuunnin"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
+msgid "Name"
+msgstr "Nimi"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
+msgid "MIME Type"
+msgstr "MIME-tyyppi"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
+msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
+msgstr "Jos haluat näyttää selaimesi sisäisiä resursseja on web-liittymä otettava käyttöön.\n\nKäytä nappulaa \"Tallenna nimellä\" jos haluat ainoastaan tallentaa tiedot."
+
+msgctxt "IDS_DOWNLOAD_SUBS"
+msgid "Download subtitles"
+msgstr "Imuroi tekstitykset"
+
+msgctxt "IDS_SUBFILE_DELAY"
+msgid "Delay (ms):"
+msgstr "Viive (ms):"
+
+msgctxt "IDS_SPEEDSTEP_AUTO"
+msgid "Auto"
+msgstr "Automaattinen"
+
+msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
+msgid "There are no customized keys to export."
+msgstr "Yksilöllisiä avaimia ei ole vietäväksi."
+
+msgctxt "IDS_RFS_NO_FILES"
+msgid "No media files found in the archive"
+msgstr "Arkistosta ei löydy mediatiedostoja"
+
+msgctxt "IDS_RFS_COMPRESSED"
+msgid "Compressed files are not supported"
+msgstr "Pakattuja tiedostoja ei tueta"
+
+msgctxt "IDS_RFS_ENCRYPTED"
+msgid "Encrypted files are not supported"
+msgstr "Salattuja tiedostoja ei tueta"
+
+msgctxt "IDS_RFS_MISSING_VOLS"
+msgid "Couldn't find all archive volumes"
+msgstr "Kaikkia arkistonimikkeitä ei löydy"
+
+msgctxt "IDC_TEXTURESURF2D"
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Videotaso sijoitetaan pinnaksi mutta silti 2d-funktioita käytetään kopiointiin ja venyttämiseen taustapuskuriin. Vaatii näyttökortin, joka kykenee sijoittamaan 32-bittisiä RGBA, non-power-of-two -kokoisia pintoja ja viimein videon resoluutioon."
+
+msgctxt "IDC_TEXTURESURF3D"
+msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
+msgstr "Videotaso sijoitetaan pinnaksi ja piirretään kuten kaksi kolmiota 3d:ssä. Antialiasoinnin käytöllä näyttöasetuksissa voi olla huono vaikutus muuntonopeuteen."
+
+msgctxt "IDC_DX9RESIZER_COMBO"
+msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
+msgstr "Jos Pixel Shader 2.0 tukea ei ole, yksinkertaista bilineaarista käytetään automaattisesti."
+
+msgctxt "IDC_DSVMR9LOADMIXER"
+msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
+msgstr "Asettaa VMR-9 (muuntamaton) sekoitustilaan, jossa sen ominaisuussivun säädöt toimivat ja se käyttää erillistä toimintosäiettä kehysmuunnokseen."
+
+msgctxt "IDC_DSVMR9YUVMIXER"
+msgid "Improves performance at the cost of some compatibility of the renderer."
+msgstr "Lisää tehoa joidenkin muuntimen yhteensopivuuden kustannuksella."
+
+msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "Reduces tearing but prevents the toolbar from being shown."
+msgstr "Rajoittaa kuvan hajoamista mutta estää työkalupalkin näkymisen."
+
+msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Reduces tearing by bypassing the default VSync built into D3D."
+msgstr "Rajoittaa kuvan hajoamista ohittamalla oletusarvoisen D3D:n sisäisen VSyncin"
+
+msgctxt "IDS_SRC_VTS"
+msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
+msgstr "Avaa VTS_xx_0.ifo ladatakseen VTS_xx_x.vob-tiedostot yhteen kappaleeseen."
+
+msgctxt "IDS_SRC_RFS"
+msgid "Based on RARFileSource, doesn't support compressed files"
+msgstr "Koska pohjautuu RARFileSourceen ei tue pakattuja tiedostoja."
+
+msgctxt "IDS_INTERNAL_LAVF"
+msgid "Uses LAV Filters"
+msgstr "Käyttää LAV Filters-suotimia"
+
+msgctxt "IDS_INTERNAL_LAVF_WMV"
+msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
+msgstr "Käyttää LAV Filters-suotimia. Ne on oletuksena poistettu käytöstä, koska Microsoftin suotimet ovat yleensä vakaampia noille formaateille.\nJos päätät käyttää sisäisiä suotimia, ota ne käyttöön sekä lähteeseen että dekoodaukseen paremman toistokokemuksen saamiseksi."
+
+msgctxt "IDS_AG_TOGGLE_NAVIGATION"
+msgid "Toggle Navigation Bar"
+msgstr "Navigointipalkki päällä/pois"
+
+msgctxt "IDS_AG_VSYNCACCURATE"
+msgid "Accurate VSync"
+msgstr "Tarkka VSync"
+
+msgctxt "IDC_CHECK_RELATIVETO"
+msgid "If the rendering target is left undefined, it will be inherited from the default style."
+msgstr "Jos muuntokohde on jätetty määrittelemättä käytetään oletustyyliä "
+
+msgctxt "IDC_CHECK_NO_SUB_ANIM"
+msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
+msgstr "Poista käytöstä tekstitysten animointi. Tämän vaihtoehdon käyttöönotto vähentää prosessorin käyttöä. Voit käyttää sitä, jos kokeilet vilkkuvia tekstityksiä."
+
+msgctxt "IDC_SUBPIC_TO_BUFFER"
+msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
+msgstr "Puskuroitujen alikuvien määrän noston pitäisi periaatteessa lisätä muunnostehoa näyttökortin videomuistin korkeamman käytön kustannuksella."
+
+msgctxt "IDC_BUTTON_EXT_SET"
+msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
+msgstr "Tämän napin klikkauksen jälkeen formaattiryhmän tarkistettu tila heijastaa MPC-HC:n todellista tiedostokytkentää. Vastalisätty tiedostopääte näkyy yleensä harmaana, joten älä unohda merkitä sitä uudelleen ennen tämän dialogin sulkemista."
+
+msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
+msgstr "Tämän vaihtoehdon käytöstä poisto saattaa estää tekstitysten vilkkumisen, mutta voi aiheuttaa sen, että videomuunnin ohittaa joitakin videoruutuja."
+
+msgctxt "ID_PLAY_PLAY"
+msgid "Play\nPlay"
+msgstr "Toista\nToista"
+
+msgctxt "ID_PLAY_PAUSE"
+msgid "Pause\nPause"
+msgstr "Tauko\nTauko"
+
+msgctxt "ID_PLAY_STOP"
+msgid "Stop\nStop"
+msgstr "Lopeta\nLopeta"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "Step\nStep"
+msgstr "Askel\nAskel"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "Decrease speed\nDecrease speed"
+msgstr "Vähennä nopeutta\nVähennä nopeutta"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "Increase speed\nIncrease speed"
+msgstr "Lisää nopeutta\nLisää nopeutta"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "Mute"
+msgstr "Vaimenna"
+
+msgctxt "ID_VOLUME_MUTE_ON"
+msgid "Unmute"
+msgstr "Poista vaimennus"
+
+msgctxt "ID_VOLUME_MUTE_DISABLED"
+msgid "No audio"
+msgstr "Ei audiota"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "Skip back\nSkip back"
+msgstr "Hyppää taakse\nHyppää taakse"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "Skip forward\nSkip forward"
+msgstr "Hyppää eteen\nHyppää eteen"
+
+msgctxt "IDS_SUBRESYNC_ORIGINAL"
+msgid "&Original"
+msgstr "&Alkuperäinen"
+
+msgctxt "IDS_SUBRESYNC_CURRENT"
+msgid "&Current"
+msgstr "&Nykyinen"
+
+msgctxt "IDS_SUBRESYNC_EDIT"
+msgid "&Edit"
+msgstr "&Muokkaa"
+
+msgctxt "IDS_SUBRESYNC_YES"
+msgid "&Yes"
+msgstr "&Kyllä"
+
+msgctxt "IDS_SUBRESYNC_NO"
+msgid "&No"
+msgstr "&Ei"
+
+msgctxt "IDS_SUBRESYNC_DECREASE"
+msgid "&Decrease"
+msgstr "&Vähennä"
+
+msgctxt "IDS_SUBRESYNC_INCREASE"
+msgid "&Increase"
+msgstr "&Lisää"
+
+msgctxt "IDS_OPTIONS_CAPTION"
+msgid "Options"
+msgstr "Vaihtoehdot"
+
+msgctxt "IDS_SHADERS_SELECT"
+msgid "&Select Shaders..."
+msgstr "&Valitse varjostimet"
+
+msgctxt "IDS_SHADERS_DEBUG"
+msgid "&Debug Shaders..."
+msgstr "&Debuggaa varjostimet..."
+
+msgctxt "IDS_FAVORITES_ADD"
+msgid "&Add to Favorites..."
+msgstr "&Lisää Suosikkeihin"
+
+msgctxt "IDS_FAVORITES_ORGANIZE"
+msgid "&Organize Favorites..."
+msgstr "&Järjestä Suosikit"
+
+msgctxt "IDS_PLAYLIST_SHUFFLE"
+msgid "Shuffle"
+msgstr "Järjestä uudelleen"
+
+msgctxt "IDS_PLAYLIST_SHOWFOLDER"
+msgid "Open file location"
+msgstr "Avaa tiedostosijainti"
+
+msgctxt "IDS_CONTROLS_CLOSING"
+msgid "Closing..."
+msgstr "Suljetaan..."
+
+msgctxt "IDS_CONTROLS_PLAYING"
+msgid "Playing"
+msgstr "Toistetaan"
+
+msgctxt "IDS_CONTROLS_PAUSED"
+msgid "Paused"
+msgstr "Pysäytetty"
+
+msgctxt "IDS_AG_EDL_NEW_CLIP"
+msgid "EDL new clip"
+msgstr "EDL uusi leike"
+
+msgctxt "IDS_RECENT_FILES_CLEAR"
+msgid "&Clear list"
+msgstr "&Tyhjennä lista"
+
+msgctxt "IDS_RECENT_FILES_QUESTION"
+msgid "Are you sure that you want to delete recent files list?"
+msgstr "Haluatko varmasti tuhota nykyisen tiedostoluettelon?"
+
+msgctxt "IDS_AG_EDL_SAVE"
+msgid "EDL save"
+msgstr "EDL tallennus"
+
+msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time Correction"
+msgstr "Salli kehyksen aikakorjaus"
+
+msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
+msgid "Toggle EDL window"
+msgstr "EDL-ikkuna päällä/pois"
+
+msgctxt "IDS_AG_EDL_IN"
+msgid "EDL set In"
+msgstr "EDL asetus sisään"
+
+msgctxt "IDS_AG_EDL_OUT"
+msgid "EDL set Out"
+msgstr "EDL asetus ulos"
+
+msgctxt "IDS_AG_PNS_ROTATEX_M"
+msgid "PnS Rotate X-"
+msgstr "PnS Käännä X-"
+
+msgctxt "IDS_AG_PNS_ROTATEY_P"
+msgid "PnS Rotate Y+"
+msgstr "PnS Käännä Y+"
+
+msgctxt "IDS_AG_PNS_ROTATEY_M"
+msgid "PnS Rotate Y-"
+msgstr "PnS Käännä Y-"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_P"
+msgid "PnS Rotate Z+"
+msgstr "PnS Käännä Z+"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_M"
+msgid "PnS Rotate Z-"
+msgstr "PnS Käännä Z-"
+
+msgctxt "IDS_AG_TEARING_TEST"
+msgid "Tearing Test"
+msgstr "Särkymistesti"
+
+msgctxt "IDS_SCALE_16_9"
+msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "Skaalaa suhteeseen 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_WIDESCREEN"
+msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zoomaa laajakuvanäyttöön,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_ULTRAWIDE"
+msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zoomaa Ultra-laajakuvanäyttöön,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_PLAYLIST_HIDEFS"
+msgid "Hide on Fullscreen"
+msgstr "Piilota Kokonäytössä"
+
+msgctxt "IDS_CONTROLS_STOPPED"
+msgid "Stopped"
+msgstr "Pysäytetty"
+
+msgctxt "IDS_CONTROLS_BUFFERING"
+msgid "Buffering... (%d%%)"
+msgstr "Puskuroidaan... (%d%%)"
+
+msgctxt "IDS_CONTROLS_CAPTURING"
+msgid "Capturing..."
+msgstr "Kaapataan..."
+
+msgctxt "IDS_CONTROLS_OPENING"
+msgid "Opening..."
+msgstr "Avataan..."
+
+msgctxt "IDS_CONTROLS_CLOSED"
+msgid "Closed"
+msgstr "Suljettu"
+
+msgctxt "IDS_SUBTITLES_OPTIONS"
+msgid "&Options..."
+msgstr "Vaihtoehdot"
+
+msgctxt "IDS_SUBTITLES_STYLES"
+msgid "&Styles..."
+msgstr "&Tyylit..."
+
+msgctxt "IDS_SUBTITLES_RELOAD"
+msgid "&Reload"
+msgstr "&Lataa uudelleen"
+
+msgctxt "IDS_SUBTITLES_ENABLE"
+msgid "&Enable"
+msgstr "Salli"
+
+msgctxt "IDS_PANSCAN_EDIT"
+msgid "&Edit..."
+msgstr "&Muokkaa..."
+
+msgctxt "IDS_INFOBAR_TITLE"
+msgid "Title"
+msgstr "Nimike"
+
+msgctxt "IDS_INFOBAR_AUTHOR"
+msgid "Author"
+msgstr "Julkaisija"
+
+msgctxt "IDS_INFOBAR_COPYRIGHT"
+msgid "Copyright"
+msgstr "Copyright"
+
+msgctxt "IDS_INFOBAR_RATING"
+msgid "Rating"
+msgstr "Luokitus"
+
+msgctxt "IDS_INFOBAR_DESCRIPTION"
+msgid "Description"
+msgstr "Kuvaus"
+
+msgctxt "IDS_INFOBAR_DOMAIN"
+msgid "Domain"
+msgstr "Domain"
+
+msgctxt "IDS_AG_CLOSE"
+msgid "Close"
+msgstr "Sulje"
+
+msgctxt "IDS_AG_NONE"
+msgid "None"
+msgstr "Ei mitään"
+
+msgctxt "IDS_AG_COMMAND"
+msgid "Command"
+msgstr "Komento"
+
+msgctxt "IDS_AG_KEY"
+msgid "Key"
+msgstr "Avain"
+
+msgctxt "IDS_AG_MOUSE"
+msgid "Mouse Windowed"
+msgstr "Hiiri ikkunoitu"
+
+msgctxt "IDS_AG_MOUSE_FS"
+msgid "Mouse Fullscreen"
+msgstr "Hiiri Kokonäyttö"
+
+msgctxt "IDS_AG_APP_COMMAND"
+msgid "App Command"
+msgstr "Ohjelmakomento"
+
+msgctxt "IDS_AG_MEDIAFILES"
+msgid "Media files (all types)"
+msgstr "Mediatiedostot (kaikki tyypit)"
+
+msgctxt "IDS_AG_ALLFILES"
+msgid "All files (*.*)|*.*|"
+msgstr "Kaikki tiedostot (*.*)|*.*|"
+
+msgctxt "IDS_AG_AUDIOFILES"
+msgid "Audio files (all types)"
+msgstr "Audiotiedostot (kaikki tyypit)"
+
+msgctxt "IDS_AG_NOT_KNOWN"
+msgid "Not known"
+msgstr "Tuntematon"
+
+msgctxt "IDS_MPLAYERC_0"
+msgid "Quick Open File"
+msgstr "Pika-avaa tiedosto"
+
+msgctxt "IDS_AG_OPEN_FILE"
+msgid "Open File"
+msgstr "Avaa tiedosto"
+
+msgctxt "IDS_AG_OPEN_DVD"
+msgid "Open DVD/BD"
+msgstr "Avaa DVD/BD"
+
+msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
+msgid "Failed to set post-resize shaders"
+msgstr "Koon muutoksen jälkeisten varjostimien asettaminen epäonnistui"
+
+msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
+msgid "Failed to set both pre-resize and post-resize shaders"
+msgstr "Sekä koon muutoksen jälkeisten että muutosta edeltävien varjostimien asettaminen epäonnistui"
+
+msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
+msgid "Shaders are recompiled automatically when the corresponding files are modified."
+msgstr "Varjostimet kootaan uudelleen automaattisesti kun vastaavia tiedostoja on muokattu."
+
+msgctxt "IDS_SHADER_DLL_ERR_0"
+msgid "Cannot load %s, pixel shaders will not work."
+msgstr "%s ei voi ladata, pikselivarjostimet eivät toimi."
+
+msgctxt "IDS_SHADER_DLL_ERR_1"
+msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
+msgstr "%s:n tarpeellisen funktion pääsykohtia ei löydy, pikselivarjostimet eivät toimi."
+
+msgctxt "IDS_OSD_SHADERS_PRESET"
+msgid "Shader preset: %s"
+msgstr "Varjostimen esiasetus: %s"
+
+msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
+msgid "Next Shader Preset"
+msgstr "Seuraava varjostimen esiasetus"
+
+msgctxt "IDS_AG_SHADERS_PRESET_PREV"
+msgid "Prev Shader Preset"
+msgstr "Edellinen varjostimen esiasetus"
+
+msgctxt "IDS_STRING_COLON"
+msgid "%s:"
+msgstr "%s:"
+
+msgctxt "IDS_RECORD_START"
+msgid "Record"
+msgstr "Tallenna"
+
+msgctxt "IDS_RECORD_STOP"
+msgid "Stop"
+msgstr "Seis"
+
+msgctxt "IDS_BALANCE"
+msgid "L = R"
+msgstr "V = O"
+
+msgctxt "IDS_BALANCE_L"
+msgid "L +%d%%"
+msgstr "V +%d%%"
+
+msgctxt "IDS_BALANCE_R"
+msgid "R +%d%%"
+msgstr "O +%d%%"
+
+msgctxt "IDS_VOLUME"
+msgid "%d%%"
+msgstr "%d%%"
+
+msgctxt "IDS_BOOST"
+msgid "+%d%%"
+msgstr "+%d%%"
+
+msgctxt "IDS_PLAYLIST_ADDFOLDER"
+msgid "Add containing folder"
+msgstr "Lisää sisältökansio"
+
+msgctxt "IDS_HW_INDICATOR"
+msgid "[H/W]"
+msgstr "[H/W]"
+
+msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
+msgid "Software Decoding"
+msgstr "Ohjelmallinen dekoodaus"
+
+msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
+msgid "Playback rate"
+msgstr "Toistonopeus"
+
+msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
+msgid "&Copy filters list to clipboard"
+msgstr "&Kopioi suodinlista leikepöydälle"
+
+msgctxt "IDS_CREDENTIALS_SERVER"
+msgid "Enter server credentials"
+msgstr "Syötä palvelimen kirjautumistiedot"
+
+msgctxt "IDS_CREDENTIALS_CONNECT"
+msgid "Enter your credentials to connect"
+msgstr "Syötä kirjautumistietosi yhdistämistä varten"
+
+msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
+msgid "Save custom style"
+msgstr "Tallenna yksilöllinen tyyli"
+
+msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
+msgid "Education/Science/Factual topics"
+msgstr "Opetus/Tiede/Fakta-otsikot"
+
+msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
+msgid "Hides controls and panels also in windowed mode."
+msgstr "Piilottaa säätimet ja panelit myös ikkunoidussa tilassa."
+
+msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
+msgid "Prevent external subtitle renderer to be loaded when internal is in use."
+msgstr "Estää ulkoisen tekstitysmuuntimen latauksen sisäistä käytettäessä."
+
+msgctxt "IDS_PPAGEADVANCED_COL_NAME"
+msgid "Name"
+msgstr "Nimi"
+
+msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
+msgid "Value"
+msgstr "Arvo"
+
+msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
+msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
+msgstr "\"Edelliset tiedostot\"-hakemistossa näytettävien tiedostojen enimmäismäärä, joiden sijainti mahdollisesti tallennetaan."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
+msgid "Remember file position only for files longer than N minutes."
+msgstr "Muista vain pidempien kuin N minuutin pituisten tiedostojen sijainti."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
+msgid "Remember file position also for audio files."
+msgstr "Muista myös audiotiedostojen sijainti."
+
+msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
+msgid "Do Nothing"
+msgstr "Älä tee mitään"
+
+msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
+msgid "Play next file in the folder"
+msgstr "Toista kansion seuraava tiedosto"
+
+msgctxt "IDS_AFTER_PLAYBACK_REWIND"
+msgid "Rewind current file"
+msgstr "Kelaa nykyinen tiedosto taaksepäin."
+
+msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
+msgid "Close"
+msgstr "Sulje"
+
+msgctxt "IDS_AFTER_PLAYBACK_EXIT"
+msgid "Exit"
+msgstr "Poistu"
+
+msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
+msgid "Turn off the monitor"
+msgstr "Sulje näyttö"
+
+msgctxt "IDS_IMAGE_JPEG_QUALITY"
+msgid "JPEG Image"
+msgstr "JPEG-kuva"
+
+msgctxt "IDS_IMAGE_QUALITY"
+msgid "Quality (%):"
+msgstr "Laatu (%):"
+
+msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
+msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
+msgstr "Vain audio-tilassa ladattavan kansikuvan enimmäiskoko (NxNpx)"
+
+msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
+msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
+msgstr "Tekstityksen viivettä lisätään/vähennetään tämän (%s/%s) arvon verran aina kun vastaavia pikanäppäimiä käytetään."
+
+msgctxt "IDS_HOTKEY_NOT_DEFINED"
+msgid "<not defined>"
+msgstr "<ei määritelty>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Katso"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Siirrä ylös"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Siirrä alas"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Lajittele kanavanumeron mukaan"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Poista kaikki"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Haluatko varmasti poistaa kaikki kanavat listalta?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Ei tietoa saatavilla"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Odota, analyysi on käynnissä..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "Kuvasuhde %d:%d"
+
+msgctxt "IDS_AG_OPEN_DEVICE"
+msgid "Open Device"
+msgstr "Avaa laite"
+
+msgctxt "IDS_AG_SAVE_AS"
+msgid "Save As"
+msgstr "Tallenna nimellä"
+
+msgctxt "IDS_AG_SAVE_IMAGE"
+msgid "Save Image"
+msgstr "Tallenna kuva"
+
+msgctxt "IDS_MPLAYERC_6"
+msgid "Save Image (auto)"
+msgstr "Tallenna kuva (automaattinen)"
+
+msgctxt "IDS_OSD_IMAGE_SAVED"
+msgid "Image saved successfully"
+msgstr "Kuvan tallennus onnistui"
+
+msgctxt "IDS_AG_LOAD_SUBTITLE"
+msgid "Load Subtitle"
+msgstr "Lataa tekstitys"
+
+msgctxt "IDS_AG_SAVE_SUBTITLE"
+msgid "Save Subtitle"
+msgstr "Tallenna tekstitys"
+
+msgctxt "IDS_AG_PROPERTIES"
+msgid "Properties"
+msgstr "Ominaisuudet"
+
+msgctxt "IDS_AG_EXIT"
+msgid "Exit"
+msgstr "Poistu"
+
+msgctxt "IDS_AG_PLAYPAUSE"
+msgid "Play/Pause"
+msgstr "Toisto/Tauko"
+
+msgctxt "IDS_AG_PLAY"
+msgid "Play"
+msgstr "Toista"
+
+msgctxt "IDS_AG_STOP"
+msgid "Stop"
+msgstr "Pysäytä"
+
+msgctxt "IDS_AG_FRAMESTEP"
+msgid "Framestep"
+msgstr "Kehysaskel"
+
+msgctxt "IDS_MPLAYERC_16"
+msgid "Framestep back"
+msgstr "Kehysaskel taakse"
+
+msgctxt "IDS_AG_GO_TO"
+msgid "Go To"
+msgstr "Mene"
+
+msgctxt "IDS_AG_INCREASE_RATE"
+msgid "Increase Rate"
+msgstr "Lisää nopeutta"
+
+msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
+msgid "Show/Game show"
+msgstr "Näytä/Pelinäyttö"
+
+msgctxt "IDS_CONTENT_SPORTS"
+msgid "Sports"
+msgstr "Urheilu"
+
+msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
+msgid "Children's/Youth programmes"
+msgstr "Lasten/Nuorten ohjelmat"
+
+msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
+msgid "Music/Ballet/Dance"
+msgstr "Musiikki/Baletti/Tanssi"
+
+msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
+msgid "Arts/Culture"
+msgstr "Taide/Kulttuuri"
+
+msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
+msgid "Social/Political issues/Economics"
+msgstr "Sosiaaliset/Poliittiset aiheet/Talous"
+
+msgctxt "IDS_CONTENT_LEISURE"
+msgid "Leisure hobbies"
+msgstr "Vapaa-ajan harrasteet"
+
+msgctxt "IDS_FILE_RECYCLE"
+msgid "Move to Recycle Bin"
+msgstr "Siirrä roskakoriin"
+
+msgctxt "IDS_AG_SAVE_COPY"
+msgid "Save a Copy"
+msgstr "Tallenna kopio"
+
+msgctxt "IDS_FASTSEEK_LATEST"
+msgid "Latest keyframe"
+msgstr "Viimeisin avainkehys"
+
+msgctxt "IDS_FASTSEEK_NEAREST"
+msgid "Nearest keyframe"
+msgstr "Lähin avainkehys"
+
+msgctxt "IDS_HOOKS_FAILED"
+msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
+msgstr "MPC-HC havaitsi virheen alustuksen aikana. DVD-toisto ei ehkä toimi oikein. Tämä voi aiheutua joidenkin turvatyökalujen yhteensopimattomuudesta.\n\nHaluatko raportoida ongelman?"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
+msgid "Never show"
+msgstr "Älä näytä koskaan"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
+msgid "Show when moving the cursor, hide after:"
+msgstr "Näytä kursoria liikutettaessa, piilota jälkeen:"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
+msgid "Show when hovering control, hide after:"
+msgstr "Näytä ohjauksen ollessa paikallaan, piilota jälkeen:"
+
+msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
+msgid "Failed to set pre-resize shaders"
+msgstr "Esi-koonmuutosvarjostimien asetus epäonnistui"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
+msgid "Frame Time Correction: On"
+msgstr "Kehyksen aikakorjaus: päällä"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
+msgid "Frame Time Correction: Off"
+msgstr "Kehyksen aikakorjaus: pois päältä"
+
+msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
+msgid "Target VSync Offset: %.1f"
+msgstr "Kohteen VSync Offset: %.1f"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
+msgid "VSync Offset: %d"
+msgstr "VSync Offset: %d"
+
+msgctxt "IDS_OSD_SPEED"
+msgid "Speed: %.2lfx"
+msgstr "Nopeus: %.2lfx"
+
+msgctxt "IDS_OSD_THUMBS_SAVED"
+msgid "Thumbnails saved successfully"
+msgstr "Pienoiskuvien tallennus onnistui"
+
+msgctxt "IDS_MENU_VIDEO_STREAM"
+msgid "&Video Stream"
+msgstr "Videovirta"
+
+msgctxt "IDS_MENU_VIDEO_ANGLE"
+msgid "Video Ang&le"
+msgstr "Videon Kulma"
+
+msgctxt "IDS_RESET_SETTINGS"
+msgid "Reset settings"
+msgstr "Nollaa asetukset"
+
+msgctxt "IDS_RESET_SETTINGS_WARNING"
+msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
+msgstr "Tahdotko varmasti palauttaa MPC-HC:n oletusasetuksiin?\nVaroitus: KAIKKI nykyiset asetukset menetetään!"
+
+msgctxt "IDS_RESET_SETTINGS_MUTEX"
+msgid "Please close all instances of MPC-HC so that the default settings can be restored."
+msgstr "Ole hyvä ja sulje kaikki auki olevat MPC-HC:n instanssit, jotta oletusarvot voidaan palauttaa."
+
+msgctxt "IDS_EXPORT_SETTINGS"
+msgid "Export settings"
+msgstr "Vie asetukset"
+
+msgctxt "IDS_EXPORT_SETTINGS_WARNING"
+msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
+msgstr "Joitakin muutoksia ei ole vielä tallennettu.\nHaluatko tallentaa ne ennen vientiä?"
+
+msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
+msgid "The settings have been successfully exported."
+msgstr "Asetusten vienti onnistui."
+
+msgctxt "IDS_EXPORT_SETTINGS_FAILED"
+msgid "The export failed! This can happen when you don't have the correct rights."
+msgstr "Vienti epäonnistui! Näin voi tapahtua, jos oikeutesi eivät ole oikeat."
+
+msgctxt "IDS_BDA_ERROR"
+msgid "BDA Error"
+msgstr "BDA-virhe"
+
+msgctxt "IDS_AG_DECREASE_RATE"
+msgid "Decrease Rate"
+msgstr "Pienennä nopeutta"
+
+msgctxt "IDS_AG_RESET_RATE"
+msgid "Reset Rate"
+msgstr "Nollaa nopeus"
+
+msgctxt "IDS_MPLAYERC_21"
+msgid "Audio Delay +10 ms"
+msgstr "Audion viive +10ms"
+
+msgctxt "IDS_MPLAYERC_22"
+msgid "Audio Delay -10 ms"
+msgstr "Audion viive -10ms"
+
+msgctxt "IDS_MPLAYERC_23"
+msgid "Jump Forward (small)"
+msgstr "Hyppää eteenpäin (vähän)"
+
+msgctxt "IDS_MPLAYERC_24"
+msgid "Jump Backward (small)"
+msgstr "Hyppää taaksepäin (vähän)"
+
+msgctxt "IDS_MPLAYERC_25"
+msgid "Jump Forward (medium)"
+msgstr "Hyppää eteenpäin (keski)"
+
+msgctxt "IDS_MPLAYERC_26"
+msgid "Jump Backward (medium)"
+msgstr "Hyppää taaksepäin (keski)"
+
+msgctxt "IDS_MPLAYERC_27"
+msgid "Jump Forward (large)"
+msgstr "Hyppää eteenpäin (paljon)"
+
+msgctxt "IDS_MPLAYERC_28"
+msgid "Jump Backward (large)"
+msgstr "Hyppää taaksepäin (paljon)"
+
+msgctxt "IDS_MPLAYERC_29"
+msgid "Jump Forward (keyframe)"
+msgstr "Hyppää eteenpäin (avainkehys)"
+
+msgctxt "IDS_MPLAYERC_30"
+msgid "Jump Backward (keyframe)"
+msgstr "Hyppää taaksepäin (avainkehys)"
+
+msgctxt "IDS_AG_NEXT"
+msgid "Next"
+msgstr "Seuraava"
+
+msgctxt "IDS_AG_PREVIOUS"
+msgid "Previous"
+msgstr "Edellinen"
+
+msgctxt "IDS_AG_NEXT_FILE"
+msgid "Next File"
+msgstr "Seuraava tiedosto"
+
+msgctxt "IDS_AG_PREVIOUS_FILE"
+msgid "Previous File"
+msgstr "Edellinen tiedosto"
+
+msgctxt "IDS_MPLAYERC_99"
+msgid "Toggle Direct3D fullscreen"
+msgstr "Direct3D kokonäyttö päällä/pois"
+
+msgctxt "IDS_MPLAYERC_100"
+msgid "Goto Prev Subtitle"
+msgstr "Mene edelliseen tekstitykseen"
+
+msgctxt "IDS_MPLAYERC_101"
+msgid "Goto Next Subtitle"
+msgstr "Mene seuraavaan tekstitykseen"
+
+msgctxt "IDS_MPLAYERC_102"
+msgid "Shift Subtitle Left"
+msgstr "Siirrä tekstitystä vasempaan"
+
+msgctxt "IDS_MPLAYERC_103"
+msgid "Shift Subtitle Right"
+msgstr "Siirrä tekstitystä oikeaan"
+
+msgctxt "IDS_AG_DISPLAY_STATS"
+msgid "Display Stats"
+msgstr "Näytä tilastot"
+
+msgctxt "IDS_AG_SEEKSET"
+msgid "Jump to Beginning"
+msgstr "Hyppää alkuun"
+
+msgctxt "IDS_AG_VIEW_MINIMAL"
+msgid "View Minimal"
+msgstr "Näytä pienenä"
+
+msgctxt "IDS_AG_VIEW_COMPACT"
+msgid "View Compact"
+msgstr "Näytä kompaktina"
+
+msgctxt "IDS_AG_VIEW_NORMAL"
+msgid "View Normal"
+msgstr "Näytä normaalina"
+
+msgctxt "IDS_AG_FULLSCREEN"
+msgid "Fullscreen"
+msgstr "Kokonäyttö"
+
+msgctxt "IDS_MPLAYERC_39"
+msgid "Fullscreen (w/o res.change)"
+msgstr "Kokonäyttö (ilman res.vaihtoa)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT"
+msgid "Zoom Auto Fit"
+msgstr "Zoomaa näyttöön automaattisesti"
+
+msgctxt "IDS_AG_VIDFRM_HALF"
+msgid "VidFrm Half"
+msgstr "VidFrm Puoli"
+
+msgctxt "IDS_AG_VIDFRM_NORMAL"
+msgid "VidFrm Normal"
+msgstr "VidFrm Normaali"
+
+msgctxt "IDS_AG_VIDFRM_DOUBLE"
+msgid "VidFrm Double"
+msgstr "VidFrm Kaksinkertainen"
+
+msgctxt "IDS_AG_ALWAYS_ON_TOP"
+msgid "Always On Top"
+msgstr "Aina päällimmäisenä"
+
+msgctxt "IDS_AG_PNS_INC_SIZE"
+msgid "PnS Inc Size"
+msgstr "PnS Lis.Kokoa"
+
+msgctxt "IDS_AG_PNS_INC_WIDTH"
+msgid "PnS Inc Width"
+msgstr "PnS Lis.Leveyttä"
+
+msgctxt "IDS_MPLAYERC_47"
+msgid "PnS Inc Height"
+msgstr "PnS Lis.Korkeutta"
+
+msgctxt "IDS_AG_PNS_DEC_SIZE"
+msgid "PnS Dec Size"
+msgstr "PnS Väh.Kokoa"
+
+msgctxt "IDS_AG_PNS_DEC_WIDTH"
+msgid "PnS Dec Width"
+msgstr "PnS Väh.Leveyttä"
+
+msgctxt "IDS_MPLAYERC_50"
+msgid "PnS Dec Height"
+msgstr "PnS Väh.Korkeutta"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
+msgid "Downloading subtitle(s), please wait."
+msgstr "Imuroidaan tekstityksiä, ole hyvä ja odota."
+
+msgctxt "IDS_SUBDL_DLG_PARSING"
+msgid "Parsing list..."
+msgstr "Tutkitaan luetteloa..."
+
+msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
+msgid "No subtitles found."
+msgstr "Tekstityksiä ei löydy."
+
+msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
+msgid "%d subtitle(s) available."
+msgstr "%d tekstitystä tarjolla."
+
+msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
+msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
+msgstr "Haluatko tarkistaa ajoittain MPC-HC:n päivitykset?\n\nTämä ominaisuus voidaan poistaa myöhemmin käytöstä Sekalaista-vaihtoehtosivulta."
+
+msgctxt "IDS_ZOOM_50"
+msgid "50%"
+msgstr "50%"
+
+msgctxt "IDS_ZOOM_100"
+msgid "100%"
+msgstr "100 %"
+
+msgctxt "IDS_ZOOM_200"
+msgid "200%"
+msgstr "200%"
+
+msgctxt "IDS_ZOOM_AUTOFIT"
+msgid "Auto Fit"
+msgstr "Automaattinen sovitus"
+
+msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (Larger Only)"
+msgstr "Automaattinen sovitus (Vain suurempi)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
+msgid "Zoom Auto Fit (Larger Only)"
+msgstr "Zoomaus sovita automaattisesti (Vain suurempi)"
+
+msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
+msgid "Zoom: Auto (Larger Only)"
+msgstr "Zoom: Automaattinen (Vain suurempi)"
+
+msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
+msgid "Double click to open file location"
+msgstr "Kaksoisklikkaa avataksesi tiedostosijainnin"
+
+msgctxt "IDS_TOOLTIP_REMAINING_TIME"
+msgid "Toggle between elapsed and remaining time"
+msgstr "Vaihda kuluneen ja jäljellä olevan ajan välillä"
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
+msgid "Invalid delay"
+msgstr "Viive ei kelpaa"
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
+msgid "Please enter a number between 1 and 365."
+msgstr "Syötä numero väliltä 1 ja 365, ole hyvä."
+
+msgctxt "IDS_AG_PNS_CENTER"
+msgid "PnS Center"
+msgstr "PnS Keskelle"
+
+msgctxt "IDS_AG_PNS_LEFT"
+msgid "PnS Left"
+msgstr "PnS Vasemmalle"
+
+msgctxt "IDS_AG_PNS_RIGHT"
+msgid "PnS Right"
+msgstr "PnS Oikealle"
+
+msgctxt "IDS_AG_PNS_UP"
+msgid "PnS Up"
+msgstr "PnS Ylös"
+
+msgctxt "IDS_AG_PNS_DOWN"
+msgid "PnS Down"
+msgstr "PnS Alas"
+
+msgctxt "IDS_AG_PNS_UPLEFT"
+msgid "PnS Up/Left"
+msgstr "PnS Ylös/Vasemmalle"
+
+msgctxt "IDS_AG_PNS_UPRIGHT"
+msgid "PnS Up/Right"
+msgstr "PnS Ylös/Oikealle"
+
+msgctxt "IDS_AG_PNS_DOWNLEFT"
+msgid "PnS Down/Left"
+msgstr "PnS Alas/Vasemmalle"
+
+msgctxt "IDS_MPLAYERC_59"
+msgid "PnS Down/Right"
+msgstr "PnS Alas/Oikealle"
+
+msgctxt "IDS_AG_VOLUME_UP"
+msgid "Volume Up"
+msgstr "Lisää äänen voimakkuutta"
+
+msgctxt "IDS_AG_VOLUME_DOWN"
+msgid "Volume Down"
+msgstr "Vähennä äänen voimakkuutta"
+
+msgctxt "IDS_AG_VOLUME_MUTE"
+msgid "Volume Mute"
+msgstr "Vaimenna ääni"
+
+msgctxt "IDS_MPLAYERC_63"
+msgid "DVD Title Menu"
+msgstr "DVD Otsikkovalikko"
+
+msgctxt "IDS_AG_DVD_ROOT_MENU"
+msgid "DVD Root Menu"
+msgstr "DVD Juurivalikko"
+
+msgctxt "IDS_MPLAYERC_65"
+msgid "DVD Subtitle Menu"
+msgstr "DVD Tekstitysvalikko"
+
+msgctxt "IDS_MPLAYERC_66"
+msgid "DVD Audio Menu"
+msgstr "DVD Äänivalikko"
+
+msgctxt "IDS_MPLAYERC_67"
+msgid "DVD Angle Menu"
+msgstr "DVD Kulmavalikko"
+
+msgctxt "IDS_MPLAYERC_68"
+msgid "DVD Chapter Menu"
+msgstr "DVD Kappalevalikko"
+
+msgctxt "IDS_AG_DVD_MENU_LEFT"
+msgid "DVD Menu Left"
+msgstr "DVD Valikko vasemmalle"
+
+msgctxt "IDS_MPLAYERC_70"
+msgid "DVD Menu Right"
+msgstr "DVD Valikko oikealle"
+
+msgctxt "IDS_AG_DVD_MENU_UP"
+msgid "DVD Menu Up"
+msgstr "DVD Valikko ylös"
+
+msgctxt "IDS_AG_DVD_MENU_DOWN"
+msgid "DVD Menu Down"
+msgstr "DVD Valikko alas"
+
+msgctxt "IDS_MPLAYERC_73"
+msgid "DVD Menu Activate"
+msgstr "DVD Valikko Aktivointi"
+
+msgctxt "IDS_AG_DVD_MENU_BACK"
+msgid "DVD Menu Back"
+msgstr "DVD Valikko Takaisin"
+
+msgctxt "IDS_MPLAYERC_75"
+msgid "DVD Menu Leave"
+msgstr "DVD Valikko Poistu"
+
+msgctxt "IDS_AG_BOSS_KEY"
+msgid "Boss key"
+msgstr "Pomo-näppäin"
+
+msgctxt "IDS_MPLAYERC_77"
+msgid "Player Menu (short)"
+msgstr "Soittimen valikko (lyhyt)"
+
+msgctxt "IDS_MPLAYERC_78"
+msgid "Player Menu (long)"
+msgstr "Soittimen valikko (pitkä)"
+
+msgctxt "IDS_AG_FILTERS_MENU"
+msgid "Filters Menu"
+msgstr "Suodinvalikko"
+
+msgctxt "IDS_AG_OPTIONS"
+msgid "Options"
+msgstr "Vaihtoehdot"
+
+msgctxt "IDS_AG_NEXT_AUDIO"
+msgid "Next Audio"
+msgstr "Seuraava audio"
+
+msgctxt "IDS_AG_PREV_AUDIO"
+msgid "Prev Audio"
+msgstr "Edellinen audio"
+
+msgctxt "IDS_AG_NEXT_SUBTITLE"
+msgid "Next Subtitle"
+msgstr "Seuraava tekstitys"
+
+msgctxt "IDS_AG_PREV_SUBTITLE"
+msgid "Prev Subtitle"
+msgstr "Edellinen tekstitys"
+
+msgctxt "IDS_MPLAYERC_85"
+msgid "On/Off Subtitle"
+msgstr "Tekstitys päällä/pois"
+
+msgctxt "IDS_MPLAYERC_86"
+msgid "Reload Subtitles"
+msgstr "Lataa tekstitykset uudelleen"
+
+msgctxt "IDS_MPLAYERC_87"
+msgid "Next Audio (OGM)"
+msgstr "Seuraava audio (OGM)"
+
+msgctxt "IDS_MPLAYERC_88"
+msgid "Prev Audio (OGM)"
+msgstr "Edellinen audio (OGM)"
+
+msgctxt "IDS_MPLAYERC_89"
+msgid "Next Subtitle (OGM)"
+msgstr "Seuraava tekstitys (OGM)"
+
+msgctxt "IDS_MPLAYERC_90"
+msgid "Prev Subtitle (OGM)"
+msgstr "Edellinen tekstitys (OGM)"
+
+msgctxt "IDS_MPLAYERC_91"
+msgid "Next Angle (DVD)"
+msgstr "Seuraava kulma (DVD)"
+
+msgctxt "IDS_MPLAYERC_92"
+msgid "Prev Angle (DVD)"
+msgstr "Edellinen kulma (DVD)"
+
+msgctxt "IDS_MPLAYERC_93"
+msgid "Next Audio (DVD)"
+msgstr "Seuraava audio (DVD)"
+
+msgctxt "IDS_MPLAYERC_94"
+msgid "Prev Audio (DVD)"
+msgstr "Edellinen audio (DVD)"
+
+msgctxt "IDS_MPLAYERC_95"
+msgid "Next Subtitle (DVD)"
+msgstr "Seuraava tekstitys (DVD)"
+
+msgctxt "IDS_MPLAYERC_96"
+msgid "Prev Subtitle (DVD)"
+msgstr "Edellinen tekstitys (DVD)"
+
+msgctxt "IDS_MPLAYERC_97"
+msgid "On/Off Subtitle (DVD)"
+msgstr "Tekstitys päällä/pois (DVD)"
+
+msgctxt "IDS_MPLAYERC_98"
+msgid "Remaining Time"
+msgstr "Jäljellä oleva aika"
+
+msgctxt "IDS_PPAGEWEBSERVER_0"
+msgid "Select the directory"
+msgstr "Valitse hakemisto"
+
+msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
+msgid "Quick add favorite"
+msgstr "Suosikin pikalisäys"
+
+msgctxt "IDS_DVB_CHANNEL_NUMBER"
+msgid "N"
+msgstr "N"
+
+msgctxt "IDS_DVB_CHANNEL_NAME"
+msgid "Name"
+msgstr "Nimi"
+
+msgctxt "IDS_DVB_CHANNEL_FREQUENCY"
+msgid "Frequency"
+msgstr "Taajuus"
+
+msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
+msgid "Encrypted"
+msgstr "Salattu"
+
+msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgid "Yes"
+msgstr "Kyllä"
+
+msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgid "No"
+msgstr "Ei"
+
+msgctxt "IDS_DVB_CHANNEL_START_SCAN"
+msgid "Start"
+msgstr "Käynnistä"
+
+msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
+msgid "Stop"
+msgstr "Seis"
+
+msgctxt "IDS_DVB_TVNAV_SEERADIO"
+msgid "Radio stations"
+msgstr "Radioasemat"
+
+msgctxt "IDS_DVB_TVNAV_SEETV"
+msgid "TV stations"
+msgstr "TV-asemat"
+
+msgctxt "IDS_DVB_CHANNEL_FORMAT"
+msgid "Format"
+msgstr "Formaatti"
+
+msgctxt "IDS_MAINFRM_2"
+msgid "Focus lost to: %s - %s"
+msgstr "Tarkennus hävinnyt: %s-%s"
+
+msgctxt "IDS_AG_SUBTITLES_SAVED"
+msgid "Subtitles saved"
+msgstr "Tekstitykset tallennettu"
+
+msgctxt "IDS_MAINFRM_4"
+msgid "Cannot save subtitles"
+msgstr "Tekstityksiä ei voi tallentaa"
+
+msgctxt "IDS_AG_FRAMERATE"
+msgid "Frame rate"
+msgstr "Kehysnopeus"
+
+msgctxt "IDS_MAINFRM_6"
+msgid "drawn: %d, dropped: %d"
+msgstr "piirretty: %d, pudotettu: %d"
+
+msgctxt "IDS_AG_FRAMES"
+msgid "Frames"
+msgstr "Kehystä"
+
+msgctxt "IDS_AG_BUFFERS"
+msgid "Buffers"
+msgstr "Puskurit"
+
+msgctxt "IDS_MAINFRM_9"
+msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
+msgstr "Levy: %02lu/%02lu, Nimike: %02lu/%02lu, Kappale: %02lu/%02lu"
+
+msgctxt "IDS_MAINFRM_10"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Kulma: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+
+msgctxt "IDS_MAINFRM_11"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %uHz %dbittiä %d %s"
+
+msgctxt "IDS_ADD_TO_PLAYLIST"
+msgid "Add to MPC-HC Playlist"
+msgstr "Lisää MPC-HC:n soittolistaan"
+
+msgctxt "IDS_OPEN_WITH_MPC"
+msgid "Play with MPC-HC"
+msgstr "Toista MPC-HC:lla"
+
+msgctxt "IDS_CANNOT_CHANGE_FORMAT"
+msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
+msgstr "MPC-HC:n oikeudet eivät riitä tiedostomuotojen kytkentöjen vaihtamiseksi. Klikkaa \"Suorita järjestelmänvalvojana\"-vaihtoehtoa."
+
+msgctxt "IDS_APP_DESCRIPTION"
+msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
+msgstr "MPC-HC on erittäin kevyt avoimen lähdekoodin mediasoitin Windowsille. Se tukee kaikkien yleisten video- ja audiotiedostomuotojen toistoa. Olemme 100% vapaita vakoiluohjelmista, mainoksia tai työkalupalkkeja ei ole."
+
+msgctxt "IDS_MAINFRM_12"
+msgid "channel"
+msgstr "kanava"
+
+msgctxt "IDS_MAINFRM_13"
+msgid "channels"
+msgstr "kanavat"
+
+msgctxt "IDS_AG_TITLE"
+msgid "Title %u"
+msgstr "Nimike %u"
+
+msgctxt "IDS_MAINFRM_16"
+msgid "DVD: Unexpected error"
+msgstr "DVD: odottamaton virhe"
+
+msgctxt "IDS_MAINFRM_17"
+msgid "DVD: Copy-Protect Fail"
+msgstr "DVD: Kopiosuojausvirhe"
+
+msgctxt "IDS_MAINFRM_18"
+msgid "DVD: Invalid DVD 1.x Disc"
+msgstr "DVD: DVD 1.x levy ei kelpaa"
+
+msgctxt "IDS_MAINFRM_19"
+msgid "DVD: Invalid Disc Region"
+msgstr "DVD: Levyn aluekoodi ei kelpaa"
+
+msgctxt "IDS_MAINFRM_20"
+msgid "DVD: Low Parental Level"
+msgstr "DVD: alhainen ikäkausivalvontataso"
+
+msgctxt "IDS_MAINFRM_21"
+msgid "DVD: Macrovision Fail"
+msgstr "DVD: Macrovisio-virhe"
+
+msgctxt "IDS_MAINFRM_22"
+msgid "DVD: Incompatible System And Decoder Regions"
+msgstr "DVD: Väärät järjestelmä- ja dekooderialueet"
+
+msgctxt "IDS_MAINFRM_23"
+msgid "DVD: Incompatible Disc And Decoder Regions"
+msgstr "DVD: Väärät levy- ja dekooderialueet"
+
+msgctxt "IDS_D3DFS_WARNING"
+msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
+msgstr "Tämä vaihtoehto on suunniteltu hajoamisen välttämiseen. Kuitenkin se estää toistettaessa myöskin MPC-HC:ta näyttämästä pikavalikkoa ja mitään muutakaan valintaikkunaa.\n\nHaluatko tosiaan käyttää tätä vaihtoehtoa?"
+
+msgctxt "IDS_MAINFRM_139"
+msgid "Sub delay: %ld ms"
+msgstr "Sub-viive: %ld ms"
+
+msgctxt "IDS_AG_TITLE2"
+msgid "Title: %02d/%02d"
+msgstr "Nimike: %02d/%02d"
+
+msgctxt "IDS_REALVIDEO_INCOMPATIBLE"
+msgid "Filename contains unsupported characters (use only A-Z, 0-9)"
+msgstr "Tiedostonimi sisältää merkkejä, joita ei tueta (käytä vain A-Z, 0-9)"
+
+msgctxt "IDS_THUMB_ROWNUMBER"
+msgid "Rows:"
+msgstr "Rivejä:"
+
+msgctxt "IDS_THUMB_COLNUMBER"
+msgid "Columns:"
+msgstr "Sarakkeita:"
+
+msgctxt "IDS_THUMB_IMAGE_WIDTH"
+msgid "Image width"
+msgstr "Kuvan leveys"
+
+msgctxt "IDS_PPSDB_URLCORRECT"
+msgid "The URL appears to be correct!"
+msgstr "URL tuntuu olevan oikea!"
+
+msgctxt "IDS_PPSDB_PROTOCOLERR"
+msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
+msgstr "Protokollan versio ei sovi, ole hyvä ja päivitä soittimesi tai valitse toinen osoite!"
+
+msgctxt "IDS_AG_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "Kuvasuhde"
+
+msgctxt "IDS_MAINFRM_37"
+msgid ", Total: %ld, Dropped: %ld"
+msgstr ", Kaikkiaan: %ld, Pudotettu: %ld"
+
+msgctxt "IDS_MAINFRM_38"
+msgid ", Size: %I64d KB"
+msgstr ", Koko: %I64dKB"
+
+msgctxt "IDS_MAINFRM_39"
+msgid ", Size: %I64d MB"
+msgstr ", Koko: %I64dMB"
+
+msgctxt "IDS_MAINFRM_40"
+msgid ", Free: %I64d KB"
+msgstr ", Vapaa: %I64dKB"
+
+msgctxt "IDS_MAINFRM_41"
+msgid ", Free: %I64d MB"
+msgstr ", Vapaa: %I64dMB"
+
+msgctxt "IDS_MAINFRM_42"
+msgid ", Free V/A Buffers: %03d/%03d"
+msgstr ", Vapaita V/A-puskureita: %03d/%03d"
+
+msgctxt "IDS_AG_ERROR"
+msgid "Error"
+msgstr "Virhe"
+
+msgctxt "IDS_SUBTITLE_STREAM_OFF"
+msgid "Subtitle: off"
+msgstr "Tekstitys: pois"
+
+msgctxt "IDS_SUBTITLE_STREAM"
+msgid "Subtitle: %s"
+msgstr "Tekstitys: %s"
+
+msgctxt "IDS_MAINFRM_46"
+msgid "Select the path for the DVD/BD:"
+msgstr "Valitse DVD/BD:n polku:"
+
+msgctxt "IDS_SUB_LOADED_SUCCESS"
+msgid " loaded successfully"
+msgstr " lataus onnistui"
+
+msgctxt "IDS_ALL_FILES_FILTER"
+msgid "All files (*.*)|*.*||"
+msgstr "Kaikki tiedostot (*.*)|*.*||"
+
+msgctxt "IDS_GETDIB_FAILED"
+msgid "GetDIB failed, hr = %08x"
+msgstr "GetDIB epäonnistui, hr = %08x"
+
+msgctxt "IDS_GETCURRENTIMAGE_FAILED"
+msgid "GetCurrentImage failed, hr = %08x"
+msgstr "GetCurrentImage epäonnistui, hr = %08x"
+
+msgctxt "IDS_SCREENSHOT_ERROR"
+msgid "Cannot create file"
+msgstr "Tiedostoa ei voi luoda"
+
+msgctxt "IDS_THUMBNAILS_NO_DURATION"
+msgid "Cannot create thumbnails for files with no duration"
+msgstr "Tiedostoille, joilla ei ole kestoa, ei voi luoda pienoiskuvaa."
+
+msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
+msgid "Failed to get video frame size"
+msgstr "Videokehyksen koon saanti epäonnistui"
+
+msgctxt "IDS_OUT_OF_MEMORY"
+msgid "Out of memory, go buy some more!"
+msgstr "Muisti on lopussa, mene ostamaan lisää!"
+
+msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
+msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
+msgstr "Virheellinen kuvaformaatti, pienoiskuvia ei voi luoda %d bpp dibs."
+
+msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
+msgid "File Size: %s (%s bytes)\\N"
+msgstr "Tiedostokoko: %s (%s tavua)\\N"
+
+msgctxt "IDS_THUMBNAILS_INFO_HEADER"
+msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Tiedostonimi: %s\\N%sResoluutio: %dx%d %s\\NKesto: %02d:%02d:%02d"
+
+msgctxt "IDS_THUMBNAIL_TOO_SMALL"
+msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
+msgstr "Pienoiskuvista tulisi liian pieniä, tiedostoa ei voi luoda .\n\nYritä vähentää pienoiskuvien määrää tai suurenna kokonaiskokoa."
+
+msgctxt "IDS_CANNOT_LOAD_SUB"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Tekstityksien latausta varten on vaihdettava videomuunnintyyppiä ja avattava tiedosto uudelleen.\n- DirectShow: VMR-7/VMR-9 (muuntamaton), EVR (CP), Sync, madVR tai Haali\n- RealMedia: RealMedian erikoismuunnin, tai avaus DirectShow'n kautta.\n- QuickTime: QuickTimen DX7- tai DX9-muunnin\n - ShockWave: n/a"
+
+msgctxt "IDS_SUBTITLE_FILES_FILTER"
+msgid "Subtitle files"
+msgstr "Tekstitystiedostot"
+
+msgctxt "IDS_MAINFRM_68"
+msgid "Aspect Ratio: %ld:%ld"
+msgstr "Kuvasuhde: %ld:%ld"
+
+msgctxt "IDS_MAINFRM_69"
+msgid "Aspect Ratio: Default"
+msgstr "Kuvasuhde: Oletus"
+
+msgctxt "IDS_MAINFRM_70"
+msgid "Audio delay: %I64d ms"
+msgstr "Audioviive: %I64dms"
+
+msgctxt "IDS_AG_CHAPTER"
+msgid "Chapter %d"
+msgstr "Kappale %d"
+
+msgctxt "IDS_AG_OUT_OF_MEMORY"
+msgid "Out of memory"
+msgstr "Muisti lopussa"
+
+msgctxt "IDS_MAINFRM_77"
+msgid "Error: Flash player for IE is required"
+msgstr "Virhe: IE:n Flash player vaaditaan"
+
+msgctxt "IDS_MAINFRM_78"
+msgid "QuickTime not yet supported for X64 (apple library not available)"
+msgstr "QuickTime ei ole vielä tuettu X64:ssä (Apple-kirjastoa ei saatavissa)"
+
+msgctxt "IDS_MAINFRM_80"
+msgid "Failed to create the filter graph object"
+msgstr "Suotimen graph objektin luonti epäonnistui"
+
+msgctxt "IDS_MAINFRM_81"
+msgid "Invalid argument"
+msgstr "Perustelu ei kelpaa"
+
+msgctxt "IDS_MAINFRM_82"
+msgid "Opening aborted"
+msgstr "Avaaminen keskeytetty"
+
+msgctxt "IDS_MAINFRM_83"
+msgid "Failed to render the file"
+msgstr "Tiedoston muunto epäonnistui"
+
+msgctxt "IDS_PPSDB_BADURL"
+msgid "Bad URL, could not locate subtitle database there!"
+msgstr "Huono URL, tekstitystietokantaa ei löydy!"
+
+msgctxt "IDS_AG_CHAPTER2"
+msgid "Chapter: "
+msgstr "Kappale:"
+
+msgctxt "IDS_VOLUME_OSD"
+msgid "Vol: %d%%"
+msgstr "Voimakkuus: %d%%"
+
+msgctxt "IDS_BOOST_OSD"
+msgid "Boost: +%u%%"
+msgstr "Vahvistus: +%u%%"
+
+msgctxt "IDS_BALANCE_OSD"
+msgid "Balance: %s"
+msgstr "Balanssi: %s"
+
+msgctxt "IDS_FULLSCREENMONITOR_CURRENT"
+msgid "Current"
+msgstr "Nykyinen"
+
+msgctxt "IDS_MPC_CRASH"
+msgid "MPC-HC terminated unexpectedly. To help us fix this problem, please send this file \"%s\" to our bug tracker.\n\nDo you want to open the folder containing the minidump file and visit the bug tracker now?"
+msgstr "MPC-HC pysähtyi odottamatta. Auttaaksesi meitä korjaamaan ongelman, ole hyvä ja lähetä tiedosto \"%s\" virhehakuumme.\n\nHaluatko avata minidump-tiedoston sisältävän kansion ja käydä nyt virheen etsinnässä?"
+
+msgctxt "IDS_MPC_MINIDUMP_FAIL"
+msgid "Failed to create dump file to \"%s\" (error %u)"
+msgstr "Dump-tiedoston luonti kohteeseen \"%s\" epäonnistui (virhe %u)"
+
+msgctxt "IDS_MAINFRM_DIR_TITLE"
+msgid "Select Directory"
+msgstr "Valitse hakemisto"
+
+msgctxt "IDS_MAINFRM_DIR_CHECK"
+msgid "Include subdirectories"
+msgstr "Sisällytä alihakemistot"
+
+msgctxt "IDS_AG_PAUSE"
+msgid "Pause"
+msgstr "Tauko"
+
+msgctxt "IDS_AG_TOGGLE_CAPTION"
+msgid "Toggle Caption&Menu"
+msgstr "Tekstitysvalikko päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_SEEKER"
+msgid "Toggle Seeker"
+msgstr "Etsintä päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_CONTROLS"
+msgid "Toggle Controls"
+msgstr "Hallinta päällä/pois"
+
+msgctxt "IDS_MAINFRM_84"
+msgid "Invalid file name"
+msgstr "Tiedostonimi ei kelpaa"
+
+msgctxt "IDS_MAINFRM_86"
+msgid "Cannot connect the filters"
+msgstr "Suotimia ei voi yhdistää"
+
+msgctxt "IDS_MAINFRM_87"
+msgid "Cannot load any source filter"
+msgstr "Yhtään lähdesuodinta ei voi ladata"
+
+msgctxt "IDS_MAINFRM_88"
+msgid "Cannot render the file"
+msgstr "Tiedostoa ei voi muuntaa"
+
+msgctxt "IDS_MAINFRM_89"
+msgid "Invalid file format"
+msgstr "Tiedoston formaatti ei kelpaa"
+
+msgctxt "IDS_MAINFRM_90"
+msgid "File not found"
+msgstr "Tiedostoa ei löydy"
+
+msgctxt "IDS_MAINFRM_91"
+msgid "Unknown file type"
+msgstr "Tuntematon tiedostotyyppi"
+
+msgctxt "IDS_MAINFRM_92"
+msgid "Unsupported stream"
+msgstr "Virtaa ei tueta"
+
+msgctxt "IDS_MAINFRM_93"
+msgid "Cannot find DVD directory"
+msgstr "DVD-hakemistoa ei löydy"
+
+msgctxt "IDS_MAINFRM_94"
+msgid "Can't create the DVD Navigator filter"
+msgstr "DVD navigointisuodinta ei voi luoda"
+
+msgctxt "IDS_AG_FAILED"
+msgid "Failed"
+msgstr "Epäonnistui"
+
+msgctxt "IDS_MAINFRM_96"
+msgid "Can't create video capture filter"
+msgstr "Videokaappaussuodinta ei voi luoda"
+
+msgctxt "IDS_MAINFRM_98"
+msgid "No capture filters"
+msgstr "Ei kaappaussuotimia"
+
+msgctxt "IDS_MAINFRM_99"
+msgid "Can't create capture graph builder object"
+msgstr "Kaappauskaavion rakentajaobjektia ei voi luoda"
+
+msgctxt "IDS_MAINFRM_108"
+msgid "Couldn't open any device"
+msgstr "Mitään laitetta ei voi avata"
+
+msgctxt "IDS_AG_SOUND"
+msgid "Sound"
+msgstr "Sointi"
+
+msgctxt "IDS_MAINFRM_114"
+msgid "%s was not found, please insert media containing this file."
+msgstr "%s ei löydy, aseta tiedoston sisältävä media."
+
+msgctxt "IDS_AG_ABORTED"
+msgid "Aborted"
+msgstr "Keskeytetty"
+
+msgctxt "IDS_MAINFRM_116"
+msgid "&Properties..."
+msgstr "&Ominaisuudet..."
+
+msgctxt "IDS_MAINFRM_117"
+msgid " (pin) properties..."
+msgstr " (nasta) ominaisuudet..."
+
+msgctxt "IDS_AG_UNKNOWN_STREAM"
+msgid "Unknown Stream"
+msgstr "Tuntematon virta"
+
+msgctxt "IDS_AG_UNKNOWN"
+msgid "Unknown %u"
+msgstr "Tuntematon %u"
+
+msgctxt "IDS_AG_VSYNC"
+msgid "VSync"
+msgstr "VSync"
+
+msgctxt "IDS_MAINFRM_121"
+msgid " (Director Comments 1)"
+msgstr " (Ohjaajan kommentit 1)"
+
+msgctxt "IDS_MAINFRM_122"
+msgid " (Director Comments 2)"
+msgstr " (Ohjaajan kommentit 2)"
+
+msgctxt "IDS_DVD_SUBTITLES_ENABLE"
+msgid "Enable DVD subtitles"
+msgstr "Ota käyttöön DVD:n tekstitykset"
+
+msgctxt "IDS_AG_ANGLE"
+msgid "Angle %u"
+msgstr "Kulma %u"
+
+msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
+msgid "Increase VSync Offset"
+msgstr "Lisää VSync Offsetia"
+
+msgctxt "IDS_AG_DISABLED"
+msgid "Disabled"
+msgstr "Ei käytössä"
+
+msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
+msgid "Decrease VSync Offset"
+msgstr "Pienennä VSync Offsetia"
+
+msgctxt "IDS_MAINFRM_136"
+msgid "MPC-HC D3D Fullscreen"
+msgstr "MPC-HC D3D Kokonäyttö"
+
+msgctxt "IDS_MAINFRM_137"
+msgid "Unknown format"
+msgstr "Tuntematon formaatti"
+
+msgctxt "IDS_MAINFRM_138"
+msgid "Sub shift: %ld ms"
+msgstr "Sub-siirto: %ld ms"
+
+msgctxt "IDS_VOLUME_BOOST_INC"
+msgid "Volume boost increase"
+msgstr "Lisää äänenvoimakkuuden vahvistusta"
+
+msgctxt "IDS_VOLUME_BOOST_DEC"
+msgid "Volume boost decrease"
+msgstr "Vähennä äänenvoimakkuuden vahvistusta"
+
+msgctxt "IDS_VOLUME_BOOST_MIN"
+msgid "Volume boost Min"
+msgstr "Äänenvoimakkuuden vahvistus Min."
+
+msgctxt "IDS_VOLUME_BOOST_MAX"
+msgid "Volume boost Max"
+msgstr "Äänenvoimakkuuden vahvistus Max."
+
+msgctxt "IDS_USAGE"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Käyttö: mpc-hc.exe \"pathname\" [switsit]\n\n\"pathname\"\tLadattava tiedosto tai hakemisto\n\t\t(villit kortit sallittu, \"-\" tarkoittaa oletussyöttöä)\n/dub \"dubname\"\tLataa lisäaudiotiedoston\n/dubdelay \"file\"\tLataa XX ms viivästetyn lisäaudiotiedoston\n\t\t(jos tiedosto sisältää \"...DELAY XXms...\")\n/d3dfs\t\tAloittaa muunnon D3D kokoruututilassa\n/sub \"subname\"\tLataa lisätekstitystiedoston\n/filter \"filtername\"\tLataa -suotimet dynaamisesta linkkikirjastosta\n\t\t(villit kortit sallittu)\n/dvd\t\tToimii DVD-tilassa, \"pathname\" tarkoittaa\n\t\tkansiota (valinnainen)\n/dvdpos T#C\tAlkaa toiston nimikkeestä T,\n\t\tkappaleesta C\n/dvdpos T#hh:mm\tAlkaa toiston nimikkeestä T,\n\t\tsijainnista hh:mm:ss\n/cd\t\tLataa kaikki audio-CD:n tai (s)vcd:n raidat\n\t\t\"pathname\" tarkoittaa aseman polkua (valinnainen)\n/device\t\tAvaa oletusvideolaitteen\n/open\t\tAvaa tiedoston, ei aloita toistoa automaattisesti\n/play\t\tAloittaa toiston heti kun soitin on käynnistetty\n/close\t\tSulkee soittimen toiston jälkeen (toimii vain \n\t\tyhdessä /play:n kanssa)\n/shutdown\tSulkee käyttöjärjestelmän toiston jälkeen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tKäynnistys kokonäyttö-tilassa\n/minimized\tKäynnistys minimitilassa\n/new\t\tKäyttää toista soittimen instanssia\n/add\t\tLisää \"pathname\" toistolistaan, voidaan\n\t\tkäyttää yhdessä /open ja /play kanssa\n/regvid\t\tLuo tiedostokytkennän videotietostoille \n/regaud\t\tLuo tiedostokytkennän audiotietostoille\n/regpl\t\tLuo tiedostokytkennän soittoluettelotiedostoille\n/regall\t\tLuo tiedostokytkennän kaikille tuetuille tiedostotyypeille\n/unregall\t\tPoistaa kaikki tiedostokytkennät\n/start ms\t\tAloittaa toiston kohdasta \"ms\" (= millisekuntia)\n/startpos hh:mm:ss\tAloittaa toiston kohdasta hh:mm:ss\n/fixedsize w,h\tAsettaa kiinteän ikkunakoon\n/monitor N\tKäynnistää soittimen näyttö N:llä, \n\t\tjossa N aloittaa 1:stä\n/audiorenderer N\tKäynnistää käyttäen audiomuunnin\n\t\tN:ää, jossa N alkaa 1:stä (katso \"Output\"-asetukset)\n/shaderpreset \"Pr\"\tKäynnistä käyttäen \"Pr\" varjostin-asetuksia\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tPalauttaa oletusasetukset\n/help /h /?\tNäyttää komentorivin svitsien ohjeen\n"
+
+msgctxt "IDS_UNKNOWN_SWITCH"
+msgid "Unrecognized switch(es) found in command line string: \n\n"
+msgstr "Komentorivin merkkijonosta löytynyt tuntematon (-ia)\nswitsi (-ejä)\n"
+
+msgctxt "IDS_AG_TOGGLE_INFO"
+msgid "Toggle Information"
+msgstr "Tiedot päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_STATS"
+msgid "Toggle Statistics"
+msgstr "Tilastot päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_STATUS"
+msgid "Toggle Status"
+msgstr "Tila päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
+msgid "Toggle Subresync Bar"
+msgstr "Subresync-palkki päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_PLAYLIST"
+msgid "Toggle Playlist Bar"
+msgstr "Toistoluettelopalkki päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_CAPTURE"
+msgid "Toggle Capture Bar"
+msgstr "Kaappauspalkki päällä/pois"
+
+msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
+msgid "Toggle Debug Shaders"
+msgstr "Varjostimien virheenkorjaus päällä/pois"
+
+msgctxt "IDS_AG_ZOOM_50"
+msgid "Zoom 50%"
+msgstr "Zoomaa 50%"
+
+msgctxt "IDS_AG_ZOOM_100"
+msgid "Zoom 100%"
+msgstr "Zoomaa 100%"
+
+msgctxt "IDS_AG_ZOOM_200"
+msgid "Zoom 200%"
+msgstr "Zoomaa 200%"
+
+msgctxt "IDS_AG_NEXT_AR_PRESET"
+msgid "Next AR Preset"
+msgstr "Seuraava AR -esiasetus"
+
+msgctxt "IDS_AG_VIDFRM_STRETCH"
+msgid "VidFrm Stretch"
+msgstr "VidFrm venytys"
+
+msgctxt "IDS_AG_VIDFRM_INSIDE"
+msgid "VidFrm Inside"
+msgstr "VidFrm Sisäpuoli"
+
+msgctxt "IDS_AG_VIDFRM_OUTSIDE"
+msgid "VidFrm Outside"
+msgstr "VidFrm Ulkopuoli"
+
+msgctxt "IDS_AG_PNS_RESET"
+msgid "PnS Reset"
+msgstr "PnS nollaus"
+
+msgctxt "IDS_AG_PNS_ROTATEX_P"
+msgid "PnS Rotate X+"
+msgstr "PnS Kääntö X+"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM1"
+msgid "VidFrm Zoom 1"
+msgstr "VidFrm Zoom 1"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM2"
+msgid "VidFrm Zoom 2"
+msgstr "VidFrm Zoom 2"
+
+msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
+msgid "VidFrm Switch Zoom"
+msgstr "VidFrm Zoom vaihto"
+
+msgctxt "IDS_ENABLE_ALL_FILTERS"
+msgid "&Enable all filters"
+msgstr "&Ota käyttöön kaikki suotimet"
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Virittimen asemanhaku"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Tekstityksiä ei ladattu tai muunninta ei tueta."
+
+msgctxt "IDS_LOGO_AUTHOR"
+msgid "Author unknown. Contact us if you made this logo!"
+msgstr "Tekijä tuntematon. Ota meihin yhteyttä jos teit tämän logon!"
+
+msgctxt "IDS_NO_MORE_MEDIA"
+msgid "No more media in the current folder."
+msgstr "Nykyisessä kansiossa ei ole enempää mediaa."
+
+msgctxt "IDS_FIRST_IN_FOLDER"
+msgid "The first file of the folder is already loaded."
+msgstr "Tämän kansion ensimmäinen tiedosto on jo ladattu."
+
+msgctxt "IDS_LAST_IN_FOLDER"
+msgid "The last file of the folder is already loaded."
+msgstr "Tämän kansion viimeinen tiedosto on jo ladattu."
+
+msgctxt "IDS_FRONT_LEFT"
+msgid "Front Left"
+msgstr "EtuVasen"
+
+msgctxt "IDS_FRONT_RIGHT"
+msgid "Front Right"
+msgstr "EtuOikea"
+
+msgctxt "IDS_FRONT_CENTER"
+msgid "Front Center"
+msgstr "EtuKeskusta"
+
+msgctxt "IDS_LOW_FREQUENCY"
+msgid "Low Frequency"
+msgstr "Matala taajuus"
+
+msgctxt "IDS_BACK_LEFT"
+msgid "Back Left"
+msgstr "TakaVasen"
+
+msgctxt "IDS_BACK_RIGHT"
+msgid "Back Right"
+msgstr "TakaOikea"
+
+msgctxt "IDS_FRONT_LEFT_OF_CENTER"
+msgid "Front Left of Center"
+msgstr "EtuVasempaan keskeltä"
+
+msgctxt "IDS_FRONT_RIGHT_OF_CENTER"
+msgid "Front Right of Center"
+msgstr "EtuOikeaan keskeltä"
+
+msgctxt "IDS_BACK_CENTER"
+msgid "Back Center"
+msgstr "TakaKeskusta"
+
+msgctxt "IDS_SIDE_LEFT"
+msgid "Side Left"
+msgstr "Sivu Vasen"
+
+msgctxt "IDS_SIDE_RIGHT"
+msgid "Side Right"
+msgstr "Sivu Oikea"
+
+msgctxt "IDS_TOP_CENTER"
+msgid "Top Center"
+msgstr "YläKeskusta"
+
+msgctxt "IDS_TOP_FRONT_LEFT"
+msgid "Top Front Left"
+msgstr "YläEtuVasen"
+
+msgctxt "IDS_TOP_FRONT_CENTER"
+msgid "Top Front Center"
+msgstr "YläEtuKeskusta"
+
+msgctxt "IDS_TOP_FRONT_RIGHT"
+msgid "Top Front Right"
+msgstr "YläEtuOikea"
+
+msgctxt "IDS_TOP_BACK_LEFT"
+msgid "Top Back Left"
+msgstr "YläTakaVasen"
+
+msgctxt "IDS_TOP_BACK_CENTER"
+msgid "Top Back Center"
+msgstr "YläTakaKeskusta"
+
+msgctxt "IDS_TOP_BACK_RIGHT"
+msgid "Top Back Right"
+msgstr "YläTakaOikea"
+
+msgctxt "IDS_AG_RESET_STATS"
+msgid "Reset Display Stats"
+msgstr "Nollaa näyttötilastot"
+
+msgctxt "IDD_PPAGESUBMISC"
+msgid "Subtitles::Misc"
+msgstr "Tekstitykset::Sekal"
+
+msgctxt "IDS_VIEW_BORDERLESS"
+msgid "Hide &borders"
+msgstr "Kätke &rajat"
+
+msgctxt "IDS_VIEW_FRAMEONLY"
+msgid "Frame Only"
+msgstr "Vain kehys"
+
+msgctxt "IDS_VIEW_CAPTIONMENU"
+msgid "Sho&w Caption&&Menu"
+msgstr "Näytä Caption&&Valikko"
+
+msgctxt "IDS_VIEW_HIDEMENU"
+msgid "Hide &Menu"
+msgstr "Kätke &valikko"
+
+msgctxt "IDD_PPAGEADVANCED"
+msgid "Advanced"
+msgstr "Kehittynyt"
+
+msgctxt "IDS_TIME_TOOLTIP_ABOVE"
+msgid "Above seekbar"
+msgstr "Etsintäpalkin yläpuolella"
+
+msgctxt "IDS_TIME_TOOLTIP_BELOW"
+msgid "Below seekbar"
+msgstr "Etsintäpalkin alapuolella"
+
+msgctxt "IDS_VIDEO_STREAM"
+msgid "Video: %s"
+msgstr "Video: %s"
+
+msgctxt "IDS_APPLY"
+msgid "Apply"
+msgstr "Käytä"
+
+msgctxt "IDS_CLEAR"
+msgid "Clear"
+msgstr "Tyhjennä"
+
+msgctxt "IDS_CANCEL"
+msgid "Cancel"
+msgstr "Peruuta"
+
+msgctxt "IDS_THUMB_THUMBNAILS"
+msgid "Layout"
+msgstr "Layout"
+
+msgctxt "IDS_THUMB_PIXELS"
+msgid "Pixels:"
+msgstr "Pikseleitä:"
+
+msgctxt "IDS_TEXTFILE_ENC"
+msgid "Encoding:"
+msgstr "Koodataan:"
+
+msgctxt "IDS_DISABLE_ALL_FILTERS"
+msgid "&Disable all filters"
+msgstr "&Poista kaikki suotimet käytöstä"
+
+msgctxt "IDS_ENABLE_AUDIO_FILTERS"
+msgid "Enable all audio decoders"
+msgstr "Ota käyttöön kaikki audiodekooderit"
+
+msgctxt "IDS_DISABLE_AUDIO_FILTERS"
+msgid "Disable all audio decoders"
+msgstr "Poista käytöstä kaikki audiodekooderit"
+
+msgctxt "IDS_ENABLE_VIDEO_FILTERS"
+msgid "Enable all video decoders"
+msgstr "Ota käyttöön kaikki videodekooderit"
+
+msgctxt "IDS_DISABLE_VIDEO_FILTERS"
+msgid "Disable all video decoders"
+msgstr "Poista käytöstä kaikki videodekooderit"
+
+msgctxt "IDS_STRETCH_TO_WINDOW"
+msgid "Stretch To Window"
+msgstr "Venytä ikkunaan"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
+msgid "Touch Window From Inside"
+msgstr "Kosketa Ikkunaa sisäpuolelta"
+
+msgctxt "IDS_ZOOM1"
+msgid "Zoom 1"
+msgstr "Zoomaus 1"
+
+msgctxt "IDS_ZOOM2"
+msgid "Zoom 2"
+msgstr "Zoomaus 2"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
+msgid "Touch Window From Outside"
+msgstr "Kosketa Ikkunaa ulkopuolelta"
+
+msgctxt "IDS_AUDIO_STREAM"
+msgid "Audio: %s"
+msgstr "Audio: %s"
+
+msgctxt "IDS_AG_REOPEN"
+msgid "Reopen File"
+msgstr "Avaa tiedosto uudelleen"
+
+msgctxt "IDS_MFMT_AVI"
+msgid "AVI"
+msgstr "AVI"
+
+msgctxt "IDS_MFMT_MPEG"
+msgid "MPEG"
+msgstr "MPEG"
+
+msgctxt "IDS_MFMT_MPEGTS"
+msgid "MPEG-TS"
+msgstr "MPEG-TS"
+
+msgctxt "IDS_MFMT_DVDVIDEO"
+msgid "DVD-Video"
+msgstr "DVD-Video"
+
+msgctxt "IDS_MFMT_MKV"
+msgid "Matroska"
+msgstr "Matroska"
+
+msgctxt "IDS_MFMT_WEBM"
+msgid "WebM"
+msgstr "WebM"
+
+msgctxt "IDS_MFMT_MP4"
+msgid "MP4"
+msgstr "MP4"
+
+msgctxt "IDS_MFMT_MOV"
+msgid "QuickTime Movie"
+msgstr "QuickTime-elokuva"
+
+msgctxt "IDS_MFMT_3GP"
+msgid "3GP"
+msgstr "3GP"
+
+msgctxt "IDS_MFMT_3G2"
+msgid "3G2"
+msgstr "3G2"
+
+msgctxt "IDS_MFMT_FLV"
+msgid "Flash Video"
+msgstr "Flash-video"
+
+msgctxt "IDS_MFMT_OGM"
+msgid "Ogg Media"
+msgstr "Ogg Media"
+
+msgctxt "IDS_MFMT_RM"
+msgid "Real Media"
+msgstr "Real Media"
+
+msgctxt "IDS_MFMT_RT"
+msgid "Real Script"
+msgstr "Real Script"
+
+msgctxt "IDS_MFMT_WMV"
+msgid "Windows Media Video"
+msgstr "Windows Media Video"
+
+msgctxt "IDS_MFMT_BINK"
+msgid "Smacker/Bink Video"
+msgstr "Smacker/Bink-video"
+
+msgctxt "IDS_MFMT_FLIC"
+msgid "FLIC Animation"
+msgstr "FLIC Animaatio"
+
+msgctxt "IDS_MFMT_DSM"
+msgid "DirectShow Media"
+msgstr "DirectShow Media"
+
+msgctxt "IDS_MFMT_IVF"
+msgid "Indeo Video Format"
+msgstr "Indeo Video-formaatti"
+
+msgctxt "IDS_MFMT_OTHER"
+msgid "Other"
+msgstr "Muu"
+
+msgctxt "IDS_MFMT_SWF"
+msgid "Shockwave Flash"
+msgstr "Shockwave Flash"
+
+msgctxt "IDS_MFMT_OTHER_AUDIO"
+msgid "Other Audio"
+msgstr "Muu audio"
+
+msgctxt "IDS_MFMT_AC3"
+msgid "AC-3/DTS"
+msgstr "AC-3/DTS"
+
+msgctxt "IDS_MFMT_AIFF"
+msgid "AIFF"
+msgstr "AIFF"
+
+msgctxt "IDS_MFMT_ALAC"
+msgid "Apple Lossless"
+msgstr "Apple Häviötön"
+
+msgctxt "IDS_MFMT_AMR"
+msgid "AMR"
+msgstr "AM´R"
+
+msgctxt "IDS_MFMT_APE"
+msgid "Monkey's Audio"
+msgstr "Monkey's Audio"
+
+msgctxt "IDS_MFMT_AU"
+msgid "AU/SND"
+msgstr "AU/SND"
+
+msgctxt "IDS_MFMT_CDA"
+msgid "Audio CD track"
+msgstr "Audio-CD:n raita"
+
+msgctxt "IDS_MFMT_FLAC"
+msgid "FLAC"
+msgstr "FLAC"
+
+msgctxt "IDS_MFMT_M4A"
+msgid "MPEG-4 Audio"
+msgstr "MPEG-4 Audio"
+
+msgctxt "IDS_MFMT_MIDI"
+msgid "MIDI"
+msgstr "MIDI"
+
+msgctxt "IDS_MFMT_MKA"
+msgid "Matroska audio"
+msgstr "Matroska audio"
+
+msgctxt "IDS_MFMT_MP3"
+msgid "MP3"
+msgstr "MP3"
+
+msgctxt "IDS_MFMT_MPA"
+msgid "MPEG audio"
+msgstr "MPEG audio"
+
+msgctxt "IDS_MFMT_MPC"
+msgid "Musepack"
+msgstr "Musepack"
+
+msgctxt "IDS_MFMT_OFR"
+msgid "OptimFROG"
+msgstr "OptimFROG"
+
+msgctxt "IDS_MFMT_OGG"
+msgid "Ogg Vorbis"
+msgstr "Ogg Vorbis"
+
+msgctxt "IDS_MFMT_RA"
+msgid "Real Audio"
+msgstr "Real Audio"
+
+msgctxt "IDS_MFMT_TAK"
+msgid "TAK"
+msgstr "TAK"
+
+msgctxt "IDS_MFMT_TTA"
+msgid "True Audio"
+msgstr "True Audio"
+
+msgctxt "IDS_MFMT_WAV"
+msgid "WAV"
+msgstr "WAV"
+
+msgctxt "IDS_MFMT_WMA"
+msgid "Windows Media Audio"
+msgstr "Windows Media Audio"
+
+msgctxt "IDS_MFMT_WV"
+msgid "WavPack"
+msgstr "WavPack"
+
+msgctxt "IDS_MFMT_OPUS"
+msgid "Opus Audio Codec"
+msgstr "Opus Audio Codec"
+
+msgctxt "IDS_MFMT_PLS"
+msgid "Playlist"
+msgstr "Soittolista"
+
+msgctxt "IDS_MFMT_BDPLS"
+msgid "Blu-ray playlist"
+msgstr "Blu-ray soittoluettelo"
+
+msgctxt "IDS_MFMT_RAR"
+msgid "RAR Archive"
+msgstr "RAR-arkisto"
+
+msgctxt "IDS_DVB_CHANNEL_FPS"
+msgid "FPS"
+msgstr "FPS"
+
+msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
+msgid "Resolution"
+msgstr "Resoluutio"
+
+msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "Kuvasuhde"
+
+msgctxt "IDS_ARS_WASAPI_MODE"
+msgid "Use WASAPI (restart playback)"
+msgstr "Käytä WASAPIa (käynnistä toisto uudelleen)"
+
+msgctxt "IDS_ARS_MUTE_FAST_FORWARD"
+msgid "Mute on fast forward"
+msgstr "Vaienna pikakelauksessa eteen"
+
+msgctxt "IDS_ARS_SOUND_DEVICE"
+msgid "Sound Device:"
+msgstr "Äänilaite:"
+
+msgctxt "IDS_OSD_RS_VSYNC_ON"
+msgid "VSync: On"
+msgstr "VSync: Päällä"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFF"
+msgid "VSync: Off"
+msgstr "VSync: Pois päältä"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
+msgid "Accurate VSync: On"
+msgstr "Accurate VSync: Päällä"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
+msgid "Accurate VSync: Off"
+msgstr "Accurate VSync: Pois päältä"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
+msgid "Synchronize Video to Display: On"
+msgstr "Synkronoi video näyttöön: Päällä"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
+msgid "Synchronize Video to Display: Off"
+msgstr "Synkronoi video näyttöön: Pois päältä"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
+msgid "Synchronize Display to Video: On"
+msgstr "Synkronoi näyttö videoon: Päällä"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
+msgid "Synchronize Display to Video: Off"
+msgstr "Synkronoi näyttö videoon: Pois päältä"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
+msgid "Present at Nearest VSync: On"
+msgstr "Nykyinen lähimmässä VSync:ssa: Päällä"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
+msgid "Present at Nearest VSync: Off"
+msgstr "Nykyinen lähimmässä VSync:ssa: Pois päältä"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
+msgid "Color Management: On"
+msgstr "Värin hallinta: Päällä"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
+msgid "Color Management: Off"
+msgstr "Värin hallinta: Pois päältä"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
+msgid "Input Type: Auto-Detect"
+msgstr "Tulon tyyppi: Automaattinen tunnistus"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
+msgid "Input Type: HDTV"
+msgstr "Tulon tyyppi: HDTV"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
+msgid "Input Type: SDTV NTSC"
+msgstr "Tulon tyyppi: SDTV NTSC"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
+msgid "Input Type: SDTV PAL"
+msgstr "Tulon tyyppi: SDTV PAL"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
+msgid "Ambient Light: Bright (2.2 Gamma)"
+msgstr "Ympäristön valoisuus: Kirkas (2.2 Gamma)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
+msgid "Ambient Light: Dim (2.35 Gamma)"
+msgstr "Ympäristön valoisuus: Hämärä (2.35 Gamma)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
+msgid "Ambient Light: Dark (2.4 Gamma)"
+msgstr "Ympäristön valoisuus: Pimeä (2.4 Gamma)"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
+msgid "Rendering Intent: Perceptual"
+msgstr "Muuntoperuste: Havaittava"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
+msgid "Rendering Intent: Relative Colorimetric"
+msgstr "Muuntoperuste: Suhteellisen kolorimetrinen"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
+msgid "Rendering Intent: Saturation"
+msgstr "Muuntoperuste: Kylläisyys"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
+msgid "Rendering Intent: Absolute Colorimetric"
+msgstr "Muuntoperuste: Ehdottoman kolorimetrinen"
+
+msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
+msgid "Output Range: %s"
+msgstr "Tulostusalue: %s"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
+msgid "Flush GPU before VSync: On"
+msgstr "Kiihdytä GPU ennen VSync: Päällä"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
+msgid "Flush GPU before VSync: Off"
+msgstr "Kiihdytä GPU ennen VSync: Pois päältä"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
+msgid "Flush GPU after Present: On"
+msgstr "Kiihdytä GPU nykyisen jälkeen: Päällä"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
+msgid "Flush GPU after Present: Off"
+msgstr "Kiihdytä GPU nykyisen jälkeen: Pois päältä"
+
+msgctxt "IDS_OSD_RS_WAIT_ON"
+msgid "Wait for GPU Flush: On"
+msgstr "Odota GPU:n kiihdytystä: Päällä"
+
+msgctxt "IDS_OSD_RS_WAIT_OFF"
+msgid "Wait for GPU Flush: Off"
+msgstr "Odota GPU:n kiihdytystä: Pois päältä"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
+msgid "D3D Fullscreen: On"
+msgstr "D3D Kokonäyttö: Päällä"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
+msgid "D3D Fullscreen: Off"
+msgstr "D3D Kokonäyttö: Pois päältä"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
+msgid "Disable desktop composition: On"
+msgstr "Älä käytä työpöydän muokkausta: Päällä"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
+msgid "Disable desktop composition: Off"
+msgstr "Älä käytä työpöydän muokkausta: Pois päältä"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
+msgid "Alternative VSync: On"
+msgstr "Vaihtoehtoinen VSync: Päällä"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
+msgid "Alternative VSync: Off"
+msgstr "Vaihtoehtoinen VSync: Pois päältä"
+
+msgctxt "IDS_OSD_RS_RESET_DEFAULT"
+msgid "Renderer settings reset to default"
+msgstr "Muuntoasetusten nollaus oletusarvoihin"
+
+msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
+msgid "Renderer settings reset to optimal"
+msgstr "Muuntoasetusten nollaus optimaalisiksi"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
+msgid "D3D Fullscreen GUI Support: On"
+msgstr "D3D Kokonäytön GUI:n tuki: Päällä"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
+msgid "D3D Fullscreen GUI Support: Off"
+msgstr "D3D Kokonäytön GUI:n tuki: Pois päältä"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
+msgid "10-bit RGB Output: On"
+msgstr "10 bitin RGB-lähtö: Päällä"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
+msgid "10-bit RGB Output: Off"
+msgstr "10 bitin RGB-lähtö: Pois päältä"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
+msgid "Force 10-bit RGB Input: On"
+msgstr "10 bitin RGB-tulon pakotus: Päällä"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
+msgid "Force 10-bit RGB Input: Off"
+msgstr "10 bitin RGB-tulon pakotus: Pois päältä"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
+msgid "Full Floating Point Processing: On"
+msgstr "Täysi liukulukuprosessointi: Päällä"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
+msgid "Full Floating Point Processing: Off"
+msgstr "Täysi liukulukuprosessointi: Pois päältä"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
+msgid "Half Floating Point Processing: On"
+msgstr "Puoli liukulukuprosessointi: Päällä"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
+msgid "Half Floating Point Processing: Off"
+msgstr "Puoli liukulukuprosessointi: Pois päältä"
+
+msgctxt "IDS_BRIGHTNESS_DEC"
+msgid "Brightness decrease"
+msgstr "Vähennä kirkkautta"
+
+msgctxt "IDS_CONTRAST_INC"
+msgid "Contrast increase"
+msgstr "Lisää kontrastia"
+
+msgctxt "IDS_CONTRAST_DEC"
+msgid "Contrast decrease"
+msgstr "Vähennä kontrastia"
+
+msgctxt "IDS_HUE_INC"
+msgid "Hue increase"
+msgstr "Lisää sävyä"
+
+msgctxt "IDS_HUE_DEC"
+msgid "Hue decrease"
+msgstr "Vähennä sävyä"
+
+msgctxt "IDS_SATURATION_INC"
+msgid "Saturation increase"
+msgstr "Lisää kylläisyyttä"
+
+msgctxt "IDS_SATURATION_DEC"
+msgid "Saturation decrease"
+msgstr "Vähennä kylläisyyttä"
+
+msgctxt "IDS_RESET_COLOR"
+msgid "Reset color settings"
+msgstr "Nollaa väriasetukset"
+
+msgctxt "IDS_USING_LATEST_STABLE"
+msgid "\nYou are already using the latest stable version."
+msgstr "\nKäytät jo viimeistä vakaata versiota."
+
+msgctxt "IDS_USING_NEWER_VERSION"
+msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
+msgstr "Nykyinen versiosi on v%s.\n\nViimeinen vakaa versio on v%s."
+
+msgctxt "IDS_NEW_UPDATE_AVAILABLE"
+msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
+msgstr "MPC-HC v%s on nyt saatavilla. Käytät versiota v%s.\n\nHaluatko vierailla MPC-HC:n nettisivulla lataamista varten?"
+
+msgctxt "IDS_UPDATE_ERROR"
+msgid "Update server not found.\n\nPlease check your internet connection or try again later."
+msgstr "Päivityspalvelinta ei löydy.\n\nTarkista internet-yhteytesi ja yritä myöhemmin uudelleen, ole hyvä."
+
+msgctxt "IDS_UPDATE_CLOSE"
+msgid "&Close"
+msgstr "Sulje"
+
+msgctxt "IDS_OSD_ZOOM"
+msgid "Zoom: %.0lf%%"
+msgstr "Zoom: %.0lf%%"
+
+msgctxt "IDS_OSD_ZOOM_AUTO"
+msgid "Zoom: Auto"
+msgstr "Zoom: Automaattinen"
+
+msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
+msgid "Toggle custom channel mapping"
+msgstr "Muokattu kanavakartoitus päällä/pois"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
+msgid "Custom channel mapping: On"
+msgstr "Muokattu kanavakartoitus: Päällä"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
+msgid "Custom channel mapping: Off"
+msgstr "Muokattu kanavakartoitus: Pois päältä"
+
+msgctxt "IDS_NORMALIZE"
+msgid "Toggle normalization"
+msgstr "Normalisointi päällä/pois"
+
+msgctxt "IDS_OSD_NORMALIZE_ON"
+msgid "Normalization: On"
+msgstr "Normalisointi: Päällä"
+
+msgctxt "IDS_OSD_NORMALIZE_OFF"
+msgid "Normalization: Off"
+msgstr "Normalisointi: Pois päältä"
+
+msgctxt "IDS_REGAIN_VOLUME"
+msgid "Toggle regain volume"
+msgstr "Äänen palautus päällä/pois"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
+msgid "Regain volume: On"
+msgstr "Äänen palautus: Päällä"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
+msgid "Regain volume: Off"
+msgstr "Äänen palautus: Pois päältä"
+
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "tavua"
+
+msgctxt "IDS_SIZE_UNIT_K"
+msgid "KB"
+msgstr "KB"
+
+msgctxt "IDS_SIZE_UNIT_M"
+msgid "MB"
+msgstr "MB"
+
+msgctxt "IDS_SIZE_UNIT_G"
+msgid "GB"
+msgstr "GB"
+
+msgctxt "IDS_SPEED_UNIT_K"
+msgid "KB/s"
+msgstr "KB/sek"
+
+msgctxt "IDS_SPEED_UNIT_M"
+msgid "MB/s"
+msgstr "MB/sek"
+
+msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
+msgid "Could not create the tuner."
+msgstr "Viritintä ei voi luoda."
+
+msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
+msgid "Could not create the receiver."
+msgstr "Vastaanotinta ei voi luoda."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
+msgid "Could not connect the network and the tuner."
+msgstr "Verkkoon ja virittimeen ei voi yhdistää."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
+msgid "Could not connect the tuner and the receiver."
+msgstr "Viritintä ja vastaanotinta ei voi yhdistää."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
+msgid "Could not connect the tuner."
+msgstr "Viritintä ei voi yhdistää."
+
+msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
+msgid "Could not create the demultiplexer."
+msgstr "Demultiplekseriä ei voi luoda."
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
+msgid "Error parsing the entered time!"
+msgstr "Virhe jäsennettäessä annettua aikaa!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TEXT"
+msgid "Error parsing the entered text!"
+msgstr "Virhe jäsennettäessä annettua tekstiä!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
+msgid "Error parsing the entered frame rate!"
+msgstr "Virhe jäsennettäessä annettua kehysnopeutta!"
+
+msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
+msgid "Cannot frame step, try a different video renderer."
+msgstr "Kehystä ei voi askeltaa, yritä eri videomuuntimella."
+
+msgctxt "IDS_SCREENSHOT_ERROR_REAL"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi RealMedian oletusvideomuuntimella.\nValitse jokin DirectX:n RealMedian muuntimista MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
+
+msgctxt "IDS_SCREENSHOT_ERROR_QT"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi QuickTimen oletusvideomuuntimella.\nValitse jokin DirectX:n QuickTimen muuntimista MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
+
+msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi Shockwawe-tiedostoissa."
+
+msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
+msgstr "\"Tallenna kuva\" ja \"Tallenna pienoiskuvat\" -toiminnot eivät toimi Peittokuvamikseri-videomuuntimella.\nVaihda videomuunnin MPC-HC:n lähtövaihtoehdoista ja avaa tiedosto uudelleen."
+
+msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
+msgid "Cannot connect to the online subtitles database."
+msgstr "Verkon tekstitystietokantaan ei voi yhdistää."
+
+msgctxt "IDS_MB_SHOW_EDL_EDITOR"
+msgid "Do you want to activate the EDL editor?"
+msgstr "Haluatko aktivoida EDL-muokkaimen?"
+
+msgctxt "IDS_CAPTURE_ERROR"
+msgid "Capture Error"
+msgstr "Kaappausvirhe"
+
+msgctxt "IDS_CAPTURE_ERROR_VIDEO"
+msgid "video"
+msgstr "video"
+
+msgctxt "IDS_CAPTURE_ERROR_AUDIO"
+msgid "audio"
+msgstr "audio"
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
+msgid "Can't add the %s buffer filter to the graph."
+msgstr "%s puskurisuodinta ei voi lisätä kaavioon."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
+msgid "Can't connect the %s buffer filter to the graph."
+msgstr "%s puskurisuodinta ei voi yhdistää kaavioon."
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
+msgid "Can't add the %s encoder filter to the graph."
+msgstr "%s enkooderisuodinta ei voi lisätä kaavioon."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
+msgid "Can't connect the %s encoder filter to the graph."
+msgstr "%s enkooderisuodinta ei voi yhdistää kaavioon."
+
+msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
+msgid "Can't set the compression format on the %s encoder filter."
+msgstr "%s enkooderisuotimen pakkausformaattia ei voi asettaa."
+
+msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
+msgid "Can't connect the %s stream to the multiplexer filter."
+msgstr "%s virtaa ei voi yhdistää multiplekserisuotimeen."
+
+msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
+msgid "No video capture pin was found."
+msgstr "Videokaappausnastaa ei löydy."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
+msgid "No audio capture pin was found."
+msgstr "Audiokaappausnastaa ei löydy."
+
+msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
+msgid "Error initializing the output file."
+msgstr "Lähtötiedoston alustus epäonnistui."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
+msgid "Error initializing the audio output file."
+msgstr "Audiolähtötiedoston alustus epäonnistui."
+
+msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
+msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
+msgstr "Oikea aikamuoto on [-]hh:mm:ss.ms (esim. 01:23:45.678)."
+
+msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
+msgid "This type is already in the list!"
+msgstr "Tämä tyyppi on jo luettelossa!"
+
+msgctxt "IDS_WEBSERVER_ERROR_TEST"
+msgid "You need to apply the new settings before testing them."
+msgstr "Sinun on otettava uudet asetukset käyttöön ennen niiden testaamista."
+
+msgctxt "IDS_AFTERPLAYBACK_CLOSE"
+msgid "After Playback: Exit"
+msgstr "Toiston jälkeen: Lopeta"
+
+msgctxt "IDS_AFTERPLAYBACK_STANDBY"
+msgid "After Playback: Stand By"
+msgstr "Toiston jälkeen: Horrostila"
+
+msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
+msgid "After Playback: Hibernate"
+msgstr "Toiston jälkeen: Lepotila"
+
+msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
+msgid "After Playback: Shutdown"
+msgstr "Toiston jälkeen: Sulje tietokone"
+
+msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
+msgid "After Playback: Log Off"
+msgstr "Toiston jälkeen: Kirjaudu ulos"
+
+msgctxt "IDS_AFTERPLAYBACK_LOCK"
+msgid "After Playback: Lock"
+msgstr "Toiston jälkeen: Lukitse"
+
+msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
+msgid "After Playback: Turn off the monitor"
+msgstr "Toiston jälkeen: Sulje näyttö"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Toiston jälkeen: Toista seuraava tiedosto kansiosta"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Toiston jälkeen: Älä tee mitään"
+
+msgctxt "IDS_OSD_BRIGHTNESS"
+msgid "Brightness: %s"
+msgstr "Kirkkaus: %s"
+
+msgctxt "IDS_OSD_CONTRAST"
+msgid "Contrast: %s"
+msgstr "Kontrasti: %s"
+
+msgctxt "IDS_OSD_HUE"
+msgid "Hue: %s°"
+msgstr "Sävy: %s"
+
+msgctxt "IDS_OSD_SATURATION"
+msgid "Saturation: %s"
+msgstr "Kylläisyys: %s"
+
+msgctxt "IDS_OSD_RESET_COLOR"
+msgid "Color settings restored"
+msgstr "Väriasetukset palautettu"
+
+msgctxt "IDS_OSD_NO_COLORCONTROL"
+msgid "Color control is not supported"
+msgstr "Värin säätöä ei tueta"
+
+msgctxt "IDS_BRIGHTNESS_INC"
+msgid "Brightness increase"
+msgstr "Lisää kirkkautta"
+
+msgctxt "IDS_LANG_PREF_EXAMPLE"
+msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
+msgstr "Anna haluamasi kielet tähän.\nEsim. kirjoita \"eng jap swe\""
+
+msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
+msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
+msgstr "Ulkoisilla jakajilla on niiden omat kielivaihtoehtonsa, joten MPC-HC oletuksena ei vaihda niiden alkuperäistä valintaa.\nValitse tämä vaihtoehto jos haluat MPC-HC:n valvovan ulkoisia jakajia."
+
+msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
+msgid "&Blu-Ray playlists"
+msgstr "&Blu-Ray soittolistat"
+
+msgctxt "IDS_NAVIGATE_PLAYLIST"
+msgid "&Playlist"
+msgstr "&Soittolista"
+
+msgctxt "IDS_NAVIGATE_CHAPTERS"
+msgid "&Chapters"
+msgstr "&Kappaleet"
+
+msgctxt "IDS_NAVIGATE_TITLES"
+msgid "&Titles"
+msgstr "&Nimikkeet"
+
+msgctxt "IDS_NAVIGATE_CHANNELS"
+msgid "&Channels"
+msgstr "&Kanavat"
+
+msgctxt "IDC_FASTSEEK_CHECK"
+msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
+msgstr "Jos \"viimeisin avainkehys\" on valittu etsi ensin varsinaista hakukontaa edeltävä ensimmäinen avainkehys.\nJos \"lähin avainkehys\" on valittu etsi ensimmäinen avainkehys ennen tai jälkeen etsimiskohtaa riippuen siitä, kumpi on lähempänä."
+
+msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
+msgid "Associate with all formats"
+msgstr "Kytke kaikkiin formaatteihin"
+
+msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
+msgid "Associate with video formats only"
+msgstr "Kytke vain videoformaatteihin"
+
+msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
+msgid "Associate with audio formats only"
+msgstr "Kytke vain audioformaatteihin"
+
+msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
+msgid "Clear all associations"
+msgstr "Poista kaikki kytkennät"
+
+msgctxt "IDS_FILTER_SETTINGS_CAPTION"
+msgid "Settings"
+msgstr "Asetukset"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
index 85f319b61..3660b1f4f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Underground78, 2013-2014
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
+"PO-Revision-Date: 2014-11-11 11:21+0000\n"
"Last-Translator: Underground78\n"
"Language-Team: French (http://www.transifex.com/projects/p/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "A propos"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 voir le fichier Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 voir le fichier Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -294,7 +294,7 @@ msgstr "Aimanter sur les bords du bureau"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
msgid "Store settings in .ini file"
-msgstr "Configuration stockée dans un fichier .ini"
+msgstr "Stocker la configuration dans un fichier .ini"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
@@ -630,7 +630,7 @@ msgstr "Répertoires"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK7"
msgid "File(s)"
-msgstr "Fichiers"
+msgstr "Fichier(s)"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
msgid "Autoplay"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
index b0a454e4f..24f54174c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Underground78, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:11+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-11 11:11+0000\n"
"Last-Translator: Underground78\n"
"Language-Team: French (http://www.transifex.com/projects/p/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -410,11 +410,11 @@ msgstr "&Conserver les proportions"
msgctxt "POPUP"
msgid "Override &Aspect Ratio"
-msgstr "Modifier les proportions"
+msgstr "Modifier les &proportions"
msgctxt "ID_ASPECTRATIO_SOURCE"
msgid "&Default"
-msgstr "Par défaut"
+msgstr "Par &défaut"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
@@ -438,7 +438,7 @@ msgstr "1&85:100"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
-msgstr "Corriger le différentiel bureau/écran"
+msgstr "&Corriger le différentiel de proportion bureau/écran"
msgctxt "POPUP"
msgid "Pa&n&&Scan"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Éteindre l'&écran"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Lire le fichier &suivant dans le répertoire"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigation"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
index 8f5c74698..fb0ee7e9d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.fr.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Underground78, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-09-30 15:01+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-11 11:31+0000\n"
"Last-Translator: Underground78\n"
"Language-Team: French (http://www.transifex.com/projects/p/mpc-hc/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Certaines parties de l'archive sont manquantes"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "La surface vidéo sera allouée comme une texture mais les fonctions 2D seront toujours utilisées pour la copier et l'étendre sur la mémoire tampon d'arrière-plan. Nécessite une carte vidéo qui peut allouer des surfaces 32 bits RVBA de taille pas nécessairement multiple d'une puissance de deux et au moins dans la résolution de la vidéo."
msgctxt "IDC_TEXTURESURF3D"
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<non défini>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Regarder"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Monter"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Descendre"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Trier par numéro de chaîne"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Tout supprimer"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Êtes-vous sûr de vouloir supprimer toutes les chaînes de la liste ?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Aucune information n'est disponible"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Veuillez patienter, l'analyse est en cours..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Ouvrir un périphérique"
@@ -1537,12 +1573,12 @@ msgid "Reset Rate"
msgstr "Vitesse normale"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Décalage audio +10ms"
+msgid "Audio Delay +10 ms"
+msgstr "Décalage audio +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Décalage audio -10ms"
+msgid "Audio Delay -10 ms"
+msgstr "Décalage audio -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "Aucun sous-titre trouvé."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d sous-titre(s) disponible(s)."
+msgid "%d subtitle(s) available."
+msgstr "%d sous-titre(s) disponible(s)."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,11 +2061,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume : %02lu/%02lu, Titre : %02lu/%02lu, Chapitre : %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Angle : %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2137,19 +2173,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Totales : %ld, Perdues : %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Taille : %I64d Ko"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Taille : %I64d Mo"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Libre : %I64d Ko"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Libre : %I64d Mo"
msgctxt "IDS_MAINFRM_42"
@@ -2237,7 +2273,7 @@ msgid "Aspect Ratio: Default"
msgstr "Proportions : par défaut"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Décalage audio : %I64d ms"
msgctxt "IDS_AG_CHAPTER"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Amplification du volume maximale"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilisation : mpc-hc.exe \"chemin du fichier\" [options]\n\n\"chemin du fichier\"\tFichier principal ou répertoire à charger (jokers\n\t\tautorisés, \"-\" désigne l'entrée standard)\n/dub \"fichier audio\"\tCharge un fichier audio supplémentaire\n/dubdelay \"fichier\"\tCharge un fichier audio avec décalage de XXms (si\n\t\tle nom contient \"...DELAY XXms...\")\n/d3dfs\t\tLance l'affichage en mode plein écran D3D (réduit le\n\t\t\"tearing\")\n/sub \"fichier ST\"\tCharge un fichier de sous-titres\n/filter \"nom\"\tCharge un filtre DirectShow à partir d'une DLL\n\t\t(jokers autorisés)\n/dvd\t\tDémarre en mode DVD (possibilité de fournir le\n\t\tnom du répertoire)\n/dvdpos T#C\tDémarre la lecture du titre T, à partir du chapitre C\n/dvdpos T#hh:mm\tDémarre la lecture du titre T, à partir de la position hh:mm:ss\n/cd\t\tCharge toutes les pistes d'un CD audio ou d'un (S)Vcd\n/device\t\tOuvrir le périphérique vidéo par défaut\n/open\t\tOuvrir un fichier en pause\n/play\t\tOuvrir un fichier et commencer la lecture\n/close\t\tQuitte automatiquement après la lecture\n/shutdown\tÉteindre la machine après la lecture\n/fullscreen\tDémarrer en plein écran\n/minimized\tDémarrer en mode minimisé\n/new\t\tLance une nouvelle instance de MPC-HC\n/add\t\tAjoute un fichier à la playlist\n/regvid\t\tAssocie les formats vidéo à MPC-HC\n/regaud\t\tAssocie les formats audio à MPC-HC\n/regpl\t\tAssocie les listes de lecture à MPC-HC\n/regall\t\tAssocie tous les fichiers supportés à MPC-HC\n/unregall\t\tSupprime l'association des fichiers à MPC-HC\n/start ms\t\tDémarre la lecture à \"ms\" (millisecondes)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize L,H\tFixe la taille de la fenêtre vidéo à LxH\n/monitor N\tDémarre MPC-HC sur l'écran N (N à partir de 1)\n/audiorenderer N\tUtiliser le moteur de rendu audio N, où N commence à partir de 1\n\t\t(cf. \"Sortie audio\" dans les options)\n/shaderpreset \"Pr\"\tUtiliser la présélection d'effets vidéo \"Pr\"\n/reset\t\tRestaure les paramètres par défaut\n/help /h /?\tAffiche l'aide pour les options de la ligne de commande\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Utilisation : mpc-hc.exe \"chemin du fichier\" [options]\n\n\"chemin du fichier\"\tFichier principal ou répertoire à charger (jokers\n\t\tautorisés, \"-\" désigne l'entrée standard)\n/dub \"fichier audio\"\tCharge un fichier audio supplémentaire\n/dubdelay \"fichier\"\tCharge un fichier audio avec décalage de XXms (si\n\t\tle nom contient \"...DELAY XXms...\")\n/d3dfs\t\tLance l'affichage en mode plein écran D3D (réduit le\n\t\t\"tearing\")\n/sub \"fichier ST\"\tCharge un fichier de sous-titres\n/filter \"nom\"\tCharge un filtre DirectShow à partir d'une DLL\n\t\t(jokers autorisés)\n/dvd\t\tDémarre en mode DVD (il est possible de fournir le\n\t\tnom du répertoire)\n/dvdpos T#C\tDémarre la lecture du titre T, à partir du chapitre C\n/dvdpos T#hh:mm\tDémarre la lecture du titre T, à partir de la position hh:mm:ss\n/cd\t\tCharge toutes les pistes d'un CD audio ou d'un (S)Vcd\n/device\t\tOuvre le périphérique vidéo par défaut\n/open\t\tOuvre le fichier et met MPC-HC en pause\n/play\t\tOuvre le fichier et commence la lecture\n/close\t\tQuitte automatiquement après la lecture\n/shutdown\tÉteint la machine après la lecture\n/standby\t\tMet la machine en veille après la lecture\n/hibernate\tMet la machine en veille prolongée après la lecture\n/logoff\t\tDéconnecte la session après la lecture\n/lock\t\tVerrouille la session après la lecture\n/monitoroff\tÉteint l'écran après la lecture\n/playnext\t\tOuvre le fichier suivant dans le répertoire après la lecture\n/fullscreen\tDémarre en plein écran\n/minimized\tDémarre en mode minimisé\n/new\t\tDémarre une nouvelle instance de MPC-HC\n/add\t\tAjoute un fichier à la playlist\n/regvid\t\tAssocie les formats vidéo à MPC-HC\n/regaud\t\tAssocie les formats audio à MPC-HC\n/regpl\t\tAssocie les listes de lecture à MPC-HC\n/regall\t\tAssocie tous les fichiers supportés à MPC-HC\n/unregall\t\tSupprime l'association des fichiers à MPC-HC\n/start ms\t\tDémarre la lecture à \"ms\" (millisecondes)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize L,H\tFixe la taille de la fenêtre vidéo à LxH\n/monitor N\tDémarre MPC-HC sur l'écran N (N à partir de 1)\n/audiorenderer N\tUtiliser le moteur de rendu audio N, où N commence à partir de 1\n\t\t(cf. \"Sortie audio\" dans les options)\n/shaderpreset \"Pr\"\tUtiliser la présélection d'effets vidéo \"Pr\"\n/pns \"nom\"\tSpécifie la présélection \"Pan & Scan\" à utiliser\n/iconsassoc\tRéassocie les icônes spécifiques aux formats\n/nofocus\t\tDémarre MPC-HC en arrière-plan\n/webport N\tDémarre l'interface web sur le port spécifié\n/debug\t\tAffiche des informations de débogage via l'OSD\n/nominidump\tDésactive la création de minidump\n/slave \"hWnd\"\tDémarre MPC-HC en mode \"esclave\"\n/reset\t\tRestaure les paramètres par défaut\n/help /h /?\tAffiche l'aide pour les options de la ligne de commande\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3050,7 +3086,7 @@ msgstr "Type d'entrée : Définition standard NTSC"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
msgid "Input Type: SDTV PAL"
-msgstr "Type d'entrée : Définition standard PAL"
+msgstr "Type d'entrée : Définition standard PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Restauration adaptative de l'amplification : Désactivée"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "octets"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "Ko"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "En fin de lecture : Éteindre l'écran"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "En fin de lecture : Lire le fichier suivant dans le répertoire"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "En fin de lecture : Ne rien faire"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Luminosité : %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
index aed4ecc2e..1f667b2ec 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Rubén <feiticeiro2010@hotmail.es>, 2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-02 00:20+0000\n"
-"Last-Translator: Toño Calo <enfeitizador@gmail.com>\n"
+"PO-Revision-Date: 2014-12-23 18:52+0000\n"
+"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -127,7 +127,7 @@ msgstr "Ir a..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
-msgstr "insere unha hora usando o formato [hh]:mm:ss:ms para saltar a un tempo especificado. Non precisas inserir os separadores de forma explícita."
+msgstr "insere unha hora usando o formato [hh]:mm:ss:ms para saltar a un tempo especificado. Non precisas inserir os separadores de forma explícita."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Time"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Acerca De"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Dereitos do autor © 2002-2014 vexa o ficheiro Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Dereitos do autor © 2002-2015 vexa o ficheiro Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -987,7 +987,7 @@ msgstr "Espazamento"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Angle (z,°)"
-msgstr "Angulo (z,°)"
+msgstr "Ãngulo (z,°)"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Scale (x,%)"
@@ -1071,7 +1071,7 @@ msgstr "Vincular canles alpha"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
-msgstr "Se prefire utilizar as versións independentes de estes filtros ou algún outro reemplazo, desactiveos aquí."
+msgstr "Se prefire utilizar as versións independentes destes filtros ou algún outro cambio, desactiveos aquí."
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Source Filters"
@@ -1239,7 +1239,7 @@ msgstr "Baixar e abrir"
msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
msgid "Replace currently loaded subtitles"
-msgstr "Remplazar os subtítulos cargados actualmente"
+msgstr "Substitue os subtítulos cargados actualmente"
msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
msgid "Save As..."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
index 3b4266162..ce680454e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Rubén <feiticeiro2010@hotmail.es>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-06 00:40+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-12-23 18:52+0000\n"
"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Apagar o &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Reproducir o &próximo ficheiro do cartafol"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navegar"
@@ -646,11 +650,11 @@ msgstr "Menú do &Audio"
msgctxt "ID_NAVIGATE_ANGLEMENU"
msgid "An&gle Menu"
-msgstr "Menú de An&gulos"
+msgstr "Menú de Ãn&gulos"
msgctxt "ID_NAVIGATE_CHAPTERMENU"
msgid "&Chapter Menu"
-msgstr "Menú de &Capitulos"
+msgstr "Menú de &Capítulos"
msgctxt "ID_FAVORITES"
msgid "F&avorites"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
index 059f2d686..6c2b952ef 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.gl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Rubén <feiticeiro2010@hotmail.es>, 2014
@@ -7,9 +7,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-02 00:20+0000\n"
-"Last-Translator: Toño Calo <enfeitizador@gmail.com>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-23 18:52+0000\n"
+"Last-Translator: Rubén <feiticeiro2010@hotmail.es>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -275,7 +275,7 @@ msgstr "O tempo inserido é maior que a duración do ficheiro."
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
-msgstr "Non se atopa a Libraría de iconas \"mpciconlib.dll\".\nA icona predeterminada do reproductor será usada para as asociacións de ficheiros.\nPor favor, reinstale MPC-HC para obter o \"mpciconlib.dll\"."
+msgstr "Non se atopa a biblioteca de iconas \"mpciconlib.dll\".\nA icona predeterminada do reproductor será usada para as asociacións de ficheiros.\nPor favor, reinstale MPC-HC para obter o \"mpciconlib.dll\"."
msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
msgid "File"
@@ -471,7 +471,7 @@ msgstr "Cambia Audio"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
-msgstr "Nova versión da libraría de iconas"
+msgstr "Nova versión da biblioteca de iconas"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
@@ -479,7 +479,7 @@ msgstr "Desexas reasociar as iconas?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "Isto corrixirá as íconas que aparecen incorretamente despois dunha actualización da libraría das iconas.\nAs asociacións das iconas non serán modificadas, soamente as iconas correspondentes serán atualizadas."
+msgstr "Isto corrixirá as íconas que aparecen incorretamente despois dunha actualización da biblioteca das iconas.\nAs asociacións das iconas non serán modificadas, soamente as iconas correspondentes serán atualizadas."
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
@@ -615,7 +615,7 @@ msgstr "O mesmo que VMR-7 (xanela), pero co complemento \"Allocator-Presenter\"
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "O mesmo que VMR-9 (xanela), pero co complemento \"Allocator-Presenter\" de MPC-HC para o subtitulado. O espelo de Overlay TALVEZ funcionara. Recomendase a profundidade de cor do escritorio \"Cor Verdadeiro\"."
+msgstr "O mesmo que VMR-9 (xanela), pero co complemento \"Allocator-Presenter\" de MPC-HC para o subtitulado. O espelo de Overlay TALVEZ funcionara. Recomendase a profundidade de cor do escritorio \"Cor Verdadeiro\"."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
@@ -635,7 +635,7 @@ msgstr "Só dispoñible en Vista ou superior ou en XP tendo polo menos o Marco d
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Igual que EVR, pero con Asignación-Presentación do MPC-HC por subtitulado e postprocesamento. Recomendado para Windows Vista ou posterior."
+msgstr "Igual que EVR, pero con Asignación-Presentación do MPC-HC por subtitulado e postprocesamento. Recomendado para Windows Vista ou posterior."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
@@ -643,7 +643,7 @@ msgstr "Renderizador de alta calidade, require un GPU que soporte D3D9 ou superi
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr "O mesmo que EVR (CP), pero ofrece bastantes opcións para sincronizar a taxa de marcos do vídeo coa taxa de actualización de visualización para eliminar marcos de vídeo saltados ou duplicados."
+msgstr "O mesmo que EVR (CP), pero ofrece bastantes opcións para sincronizar a taxa de marcos do vídeo coa taxa de actualización de visualización para eliminar marcos de vídeo saltados ou duplicados."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Faltan porcións do arquivo"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "A superficie de vídeo será distribuida como unha textura pero ainda asi as funcións 2D serán usadas para copiar e alongar no backbuffer. Require unha tarxeta de vídeo que poida aplicar RGBA de 32 bits, polo menos á resolución do vídeo."
msgctxt "IDC_TEXTURESURF3D"
@@ -803,7 +803,7 @@ msgstr "Se non hai soporte para Pixel Shader 2.0, usarase automáticamente o red
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Pon a VMR-9 (sen renderizador) no modo do mesturador, isto significa que a maioría dos controis da páxina de propiedades funcionaran e usara un proceso de traballo separado para renderizar cadros."
+msgstr "Pon a VMR-9 (sen renderizador) no modo do mesturador, isto significa que a maioría dos controis da páxina de propiedades funcionaran e usara un proceso de traballo separado para renderizar cadros."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<Non definido>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Observar"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Baixar"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Agrupar por LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Eliminar todos"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Estas seguro de que desexas eliminar todas as canles da lista?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Non hai información dispoñible"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Por favor, agarde. Análise en progreso..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Abrir Dispositivo"
@@ -1447,7 +1483,7 @@ msgstr "Fotograma clave máis preto"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC atopou o problema durante o inicio. A reprodución do DVD podería funcionar incorrectamente. Isto pode ser causado por algúnhas incompatibilidades con certas ferramentas de seguridade.\n\nDesexas reportar este problema?"
+msgstr "MPC-HC atopou o problema durante o inicio. A reprodución do DVD podería funcionar incorrectamente. Isto pode ser causado por algúnhas incompatibilidades con certas ferramentas de seguridade.\n\nDesexas reportar este problema?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1507,7 +1543,7 @@ msgstr "Estás seguro de que desexas restaurar MPC-HC ás súas configuracións
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Por favor pecha todas as instancias de MPC-HC para que as configuracións predefinidas poidan ser restauradas."
+msgstr "Por favor pecha todas as instancias de MPC-HC para que as configuracións predefinidas poidan ser restauradas."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Reiniciar Velocidade"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Axuste de Audio de +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Axuste de Audio de -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,7 +1734,7 @@ msgid "No subtitles found."
msgstr "Non se atoparon subtítulos."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d subtítulo(s) dispoñible(s)."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -1911,11 +1947,11 @@ msgstr "Subtítulo Previo (OGM)"
msgctxt "IDS_MPLAYERC_91"
msgid "Next Angle (DVD)"
-msgstr "Angulo Seguinte (DVD)"
+msgstr "Ãngulo seguinte (DVD)"
msgctxt "IDS_MPLAYERC_92"
msgid "Prev Angle (DVD)"
-msgstr "Angulo Previo (DVD)"
+msgstr "Ãngulo previo (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio (DVD)"
@@ -2023,15 +2059,15 @@ msgstr "Búferes"
msgctxt "IDS_MAINFRM_9"
msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
-msgstr "Volume: %02lu/%02lu, Titulo: %02lu/%02lu, Capitulo: %02lu/%02lu"
+msgstr "Volume: %02lu/%02lu, Titulo: %02lu/%02lu, Capítulo: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Ãngulo: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2047,7 +2083,7 @@ msgstr "MPC-HC non ten suficientes privilexios para cambiar as asociacións de f
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC é un reproductor de medios de código aberto extremamente lixeiro para Windows. É compatible con todos os formatos comúns de ficheiros de audio e vídeo dispoñibles para a súa reprodución. Estamos 100% libre de spyware, no hai anuncios ou barras de ferramentas."
+msgstr "MPC-HC é un reproductor de medios de código aberto extremamente lixeiro para Windows. É compatible con todos os formatos comúns de ficheiros de audio e vídeo dispoñibles para a súa reprodución. Estamos 100% libre de spyware, no hai anuncios ou barras de ferramentas."
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Total: %ld, Perdidos: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Tamaño: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Tamaño: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Libre: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Libre: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,12 +2274,12 @@ msgid "Aspect Ratio: Default"
msgstr "Relación de Aspecto: Orixinal"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Diferenza entre Video e Audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
-msgstr "Capitulo %d"
+msgstr "Capítulo %d"
msgctxt "IDS_AG_OUT_OF_MEMORY"
msgid "Out of memory"
@@ -2255,7 +2291,7 @@ msgstr "Erro: Flash para IE non instalado"
msgctxt "IDS_MAINFRM_78"
msgid "QuickTime not yet supported for X64 (apple library not available)"
-msgstr "QuickTime aínda non é compatible coa versión X64 (non hai unha libraría de apple dispoñible)"
+msgstr "QuickTime aínda non é compatible coa versión X64 (non hai unha biblioteca de apple dispoñible)"
msgctxt "IDS_MAINFRM_80"
msgid "Failed to create the filter graph object"
@@ -2407,7 +2443,7 @@ msgstr "&Propiedades..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "Propiedades (do pin)..."
+msgstr " propiedades (do pin)..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2423,11 +2459,11 @@ msgstr "VSync (Sincronia Vertical)"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Comentario do Director N° 1)"
+msgstr " (Comentario do Director N° 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Comentario do Director N° 2)"
+msgstr " (Comentario do Director N° 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2478,12 +2514,12 @@ msgid "Volume boost Max"
msgstr "Aumento de Volume Maximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO ficheiro principal ou directorio vaise cargar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCargar un ficheiro de audio adicional\n/dubdelay \"file\"\tCargar un ficheiro de Audio adicional alterado con XXms (se\n\t\to ficheiro contén \"...DELAY XXms...\")\n/d3dfs\t\tIniciar renderizamento en D3D modo pantalla completa\n/sub \"subname\"\tCargar un ficheiro de subtítulos adicional\n/filter \"filtername\"\tCargar filtros DirectShow dunha ligazón dinámica\n\t\t (wildcards allowed)\n/dvd\t\tExecutar en modo DVD, \"pathname\" significa o cartafol\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCargar todas as pistas dun CD de Audio ou (s)vcd,\n\t\t\"pathname\" significa a ruta do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o ficheiro, non inicia automaticamente a reprodución\n/play\t\tInicia a reprodución do ficheiro cando o reproductor este\n\t\taberto\n/close\t\tPecha o programa despois da reprodución (Só funciona cando é\n\t\tusado con /play)\n/shutdown\tDesliza o sistema operacional despois da reprodución\n/fullscreen\tInicia en modo pantalla completa\n/minimized\tInicia en modo minimizado\n/new\t\tUsa o programa nunha nova estancia\n/add\t\tadiciona \"pathname\" á lista de reprodución, pode ser combinada\n\t\tcon /open e con /play\n/regvid\t\tRexistra formatos de vídeo\n/regaud\t\tRexistra formatos de Audio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tFacer rexistro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodución en \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAxusta tamaño fixo da xanela\n/monitor N\tInicia monitoramento N, onde N inicia en 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestaura as configuracións por defecto \n/help /h /?\tAmosa axuda sobre as opcións da liña de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO ficheiro principal ou directorio vaise cargar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCargar un ficheiro de audio adicional\n/dubdelay \"file\"\tCargar un ficheiro de Audio adicional alterado con XXms (se\n\t\to ficheiro contén \"...DELAY XXms...\")\n/d3dfs\t\tIniciar renderizamento en D3D modo pantalla completa\n/sub \"subname\"\tCargar un ficheiro de subtítulos adicional\n/filter \"filtername\"\tCargar filtros DirectShow dunha ligazón dinámica\n\t\t (wildcards allowed)\n/dvd\t\tExecutar en modo DVD, \"pathname\" significa o cartafol\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCargar todas as pistas dun CD de Audio ou (s)vcd,\n\t\t\"pathname\" significa a ruta do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o ficheiro, non inicia automaticamente a reprodución\n/play\t\tInicia a reprodución do ficheiro cando o reproductor este\n\t\taberto\n/close\t\tPecha o programa despois da reprodución (Só funciona cando é\n\t\tusado con /play)\n/shutdown\tDesliza o sistema operacional despois da reprodución\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tInicia en modo pantalla completa\n/minimized\tInicia en modo minimizado\n/new\t\tUsa o programa nunha nova estancia\n/add\t\tadiciona \"pathname\" á lista de reprodución, pode ser combinada\n\t\tcon /open e con /play\n/regvid\t\tRexistra formatos de vídeo\n/regaud\t\tRexistra formatos de Audio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tFacer rexistro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodución en \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAxusta tamaño fixo da xanela\n/monitor N\tInicia monitoramento N, onde N inicia en 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestaura as configuracións por defecto \n/help /h /?\tAmosa axuda sobre as opcións da liña de comandos\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "Atopouse opción(s) descoñecida(s) na liña de Comandos:\n"
+msgstr "Atopouse opción(s) descoñecida(s) na liña de Comandos:\n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
@@ -2667,7 +2703,7 @@ msgstr "Reiniciar Estatísticas"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Subtítulos::Misc"
+msgstr "Subtítulos::Outras Opcións"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Recuperar volume: Apagado"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Tras a reprodución: apagar o monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Despois da reprodución: Reproducir o próximo ficheiro do cartafol"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Despois da reprodución: Non facer nada"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Brillo: %s"
@@ -3483,7 +3531,7 @@ msgstr "Aumentar brillo"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Insira o seu idioma preferido aqui.\nPor exemplo, tipo: \"eng jap swe\"\n "
+msgstr "Insira o seu idioma preferido aqui.\nPor exemplo, tipo: \"eng jap swe\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
@@ -3511,7 +3559,7 @@ msgstr "&Canles"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr "Se \"O último fotograma clave\" está seleccionado, buscarase o primeiro fotograma clave (\"keyframe\") anterior ao punto de búsqueda actual.\nSe \"O fotograma clave que está máis preto\" está seleccionado, buscarase o primeiro fotograma clave anterior ou posterior ao punto de búsqueda dependendo de cal sexa o que está máis preto. "
+msgstr "Se \"O último fotograma clave\" está seleccionado, buscarase o primeiro fotograma clave (\"keyframe\") anterior ao punto de búsqueda actual.\nSe \"O fotograma clave que está máis preto\" está seleccionado, buscarase o primeiro fotograma clave anterior ou posterior ao punto de búsqueda dependendo de cal sexa o que está máis preto. "
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
index b4fb9baf5..e2d83b005 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "×ודות"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "כל הזכויות שמורות © 2002-2014 ×§×¨× ×ת קובץ ×”×™×•×¦×¨×™× (Authors.txt)"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "כל הזכויות שמורות © 2002-2015 ×§×¨× ×ת קובץ ×”×™×•×¦×¨×™× (Authors.txt)"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
index 70875063b..dea8f4fcc 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "ניווט"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
index 56e56550f..023b8f7b7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.he.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Superb, 2013
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/mpc-hc/language/he/)\n"
"MIME-Version: 1.0\n"
@@ -790,8 +790,8 @@ msgid "Couldn't find all archive volumes"
msgstr "×œ× × ×™×ª×Ÿ ×”×™×” ×œ×ž×¦×•× ×ת כל חלקי ×”×רכיון"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "משטח הויד×ו יוקצה כמרק×, ×ך פונקציות ×”-2D עדיין ישמשו להעתיק ולמתוח ×ותו ×ל החוצץ ×”×חורי. דורש כרטיס גרפי המסוגל להקצות מרקמי 32ביט, RGBA, ×œ×œ× ×›×¤×•×œ×•×ª של 2 ולפחות ברזולוצייה של הויד×ו."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "משטח הויד×ו יוקצה כמרק×, ×ך פונקציות ×”-2D עדיין ישמשו להעתיק ולמתוח ×ותו ×ל החוצץ ×”×חורי. דורש כרטיס גרפי המסוגל להקצות מרקמי 32ביט, RGBA, ×œ×œ× ×›×¤×•×œ×•×ª של 2 ולפחות ברזולוצייה של הויד×ו."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "הזז למעלה"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "הזז למטה"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "פתח התקן"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "×פס מהירות"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "שיהוי שמע +10מילי-שניות"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "שיהוי שמע -10מילי-שניות"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,8 +1734,8 @@ msgid "No subtitles found."
msgstr "×œ× × ×ž×¦×ו כתוביות."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d כתוביות זמינות."
+msgid "%d subtitle(s) available."
+msgstr "%d כתוביות זמינות."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "עצמת שמע: %02lu/%02lu, כותרת: %02lu/%02lu, פרק: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "זווית: %02lu/%02lu, %lux%lu %luהרץ %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uהרץ %d×‘×™×˜×™× %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", סף הכל: %ld, הושמש: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", גודל: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", גודל: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", ריק: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", ריק: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "יחס גובה-רוחב: ברירת מחדל"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "שיהוי שמע: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "המרצת עוצמת שמע מקסימלית"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile contains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched.\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tfile contains \"...DELAY XXms...\")\n/d3dfs\t\tstart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playing\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched.\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet fixed window size\n/monitor N\tStart on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "הגעה מחדש לעצמת קול: כבויה"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "בהירות: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
index b3c17aecb..f973cdb7d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# schop <aprcel00@fesb.hr>, 2014
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
-"Last-Translator: schop <aprcel00@fesb.hr>\n"
+"PO-Revision-Date: 2014-12-12 12:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -193,8 +193,8 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Zaštićeno © 2002-2014 - pogledaj Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Zaštićeno © 2002-2015 - pogledaj Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
index 4acbd6f32..26fa03413 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# schop <aprcel00@fesb.hr>, 2014
@@ -8,9 +8,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-08 13:20+0000\n"
-"Last-Translator: streger <stjepan.treger@gmail.com>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 08:00+0000\n"
+"Last-Translator: schop <aprcel00@fesb.hr>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -614,6 +614,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "IskljuÄiti &ekran"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Reproduciraj slijedeću datoteku iz mape"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Kretanje"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
index d24c2d9a5..211a9cc9e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hr.strings.po
@@ -1,18 +1,19 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# schop <aprcel00@fesb.hr>, 2014
# iivana24 <iivana24@gmail.com>, 2014
# streger <stjepan.treger@gmail.com>, 2014
# vBm <the.vbm@gmail.com>, 2014
+# Underground78, 2014
# Ico2005 <vukasinac@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
-"Last-Translator: schop <aprcel00@fesb.hr>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-14 11:00+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/mpc-hc/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -438,7 +439,7 @@ msgstr "Reprodukcija"
msgctxt "IDD_PPAGEPLAYER"
msgid "Player"
-msgstr "Player"
+msgstr "IzvoÄ‘aÄ"
msgctxt "IDD_PPAGEDVD"
msgid "Playback::DVD/OGM"
@@ -450,7 +451,7 @@ msgstr "Podnapisi"
msgctxt "IDD_PPAGEFORMATS"
msgid "Player::Formats"
-msgstr "Player::Formati"
+msgstr "IzvoÄ‘aÄ::Formati"
msgctxt "IDD_PPAGETWEAKS"
msgid "Tweaks"
@@ -466,7 +467,7 @@ msgstr "Eksterni filtri"
msgctxt "IDD_PPAGESHADERS"
msgid "Playback::Shaders"
-msgstr "Playback::Shaders"
+msgstr "Reprodukcija::Shaderi"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
@@ -534,7 +535,7 @@ msgstr "madVR"
msgctxt "IDD_PPAGEACCELTBL"
msgid "Player::Keys"
-msgstr "Player::Tipke"
+msgstr "IzvoÄ‘aÄ::Tipke"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
@@ -546,15 +547,15 @@ msgstr "Interni filtri"
msgctxt "IDD_PPAGELOGO"
msgid "Player::Logo"
-msgstr "Player::Logo"
+msgstr "IzvoÄ‘aÄ::Logo"
msgctxt "IDD_PPAGEOUTPUT"
msgid "Playback::Output"
-msgstr "Prikaz::Izlaz"
+msgstr "Reprodukcija::Izlaz"
msgctxt "IDD_PPAGEWEBSERVER"
msgid "Player::Web Interface"
-msgstr "Player::Web suÄelje"
+msgstr "IzvoÄ‘aÄ::Web suÄelje"
msgctxt "IDD_PPAGESUBDB"
msgid "Subtitles::Database"
@@ -602,87 +603,87 @@ msgstr "Zadani renderer za Windows 9x/ME/2k. Ovisno o vidljivosti video prozora
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
+msgstr "Uvijek prikazuje u gornjem sloju. Općenito samo YUV formati su dozvoljeni ali su prikazani direktno bez konverzije boje u RGB. Ovo je najbrža metoda prikazivanja od svih i jedina kojom možete biti sigurni da je prikaz na cijelom ekranu zrcaljen sa aktiviranje tv-izlaza."
msgctxt "IDC_DSVMR7WIN"
msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
-msgstr "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
+msgstr "Zadani prikazivaÄ za Windows XP. Stabilan i neÅ¡to sporiji od Overlay miksera. Koristi DirectDraw i radi sa Overlay-om kad može."
msgctxt "IDC_DSVMR9WIN"
msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
-msgstr "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
+msgstr "Dostupno samo ako imate DirectX 9 instaliran. Ima iste mogućnosti kao VMR-7 (u prozoru), ali nikad ne koristi Overlay prikazivanje i zbog toga može biti sporiji nego VMR-7 (u prozoru)."
msgctxt "IDC_DSVMR7REN"
msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
-msgstr "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
+msgstr "Isti kao VMR-7 (u prozoru) ali sa Allocator-Presenter dodatkom MPC-HC za titlove. Prikaz u gornjem sloju zrcaljenjem NEĆE raditi. \"True Color\" sustav boja radne povrÅ¡ine preporuÄljiv."
msgctxt "IDC_DSVMR9REN"
msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
-msgstr "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
+msgstr "Isti kao VMR-9 (u prozoru) ali sa Allocator-Presenter dodatkom MPC-HC za titlove. Prikaz u gornjem sloju zrcaljenjem će MOŽDA raditi. \"True Color\" sustav boja radne povrÅ¡ine preporuÄljiv. PreporuÄljivo za Windows XP."
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
+msgstr "Isti kao VMR-9 (renderless) ali koristi pravi dvoprolazni bikubni mjenjaÄ veliÄina."
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
-msgstr "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
+msgstr "Spaja se na bilo medijski tip sliÄan videu i Å¡alje dolazeće uzorke nigdje. Koristite ga kad vam ne treba video prikaz i kad želite smanjiti upotrebu CPU-a."
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "Same as the normal Null renderer, but this will only connect to uncompressed types."
+msgstr "Isti kao normalni Null prikazivaÄ ali ovaj se samo spaja na nekompresirane tipove."
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
+msgstr "Dostupno samo za Vista i noviji ili na XP-u sa barem .NET Framework 3.5 instaliranim."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
+msgstr "Isti kao EVR ali sa Allocator-Presenter MPC-HC za titlove i postprocesiranje. PreporuÄljivo za Windows Vista ili noviji. "
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr "High-quality renderer, requires a GPU that supports D3D9 or later."
+msgstr "PrikazivaÄ visoke kvalitete i zahtjeva GPU koji podržava D3D9 ili noviji."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
+msgstr "Isti kao EVR (CP) ali nudi nekoliko opcija za sinkroniziranje brzine prikaza slike sa brzinom osvježavanja ekrana kako bi se eliminirale preskoÄene ili duple video slike."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
-msgstr "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
+msgstr "PrikazivaÄ Real. SMIL skripte će raditi ali interakcija nije vjerojatna. Koristi DirectDraw i radi u Overlay kad može."
msgctxt "IDC_RMDX7"
msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "Izlaz Real prikazan sa DX7 temeljenom na Allocator-Presenter VMR-7 (renderless)."
msgctxt "IDC_RMDX9"
msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Izlaz Real prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (renderless)."
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
+msgstr "QuickTime prikazivaÄ. Postaje sporiji kad se poveća video ili kad je prekriven sa drugim prozorom. Kada Overlay nije dostupan vraća se na GDI."
msgctxt "IDC_QTDX7"
msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
-msgstr "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "Izlaz QuickTime prikazan sa DX7 temeljenom na Allocator-Presenter VMR-7 (renderless)."
msgctxt "IDC_QTDX9"
msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
-msgstr "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Izlaz QuickTime prikazan sa DX9 temeljenom na Allocator-Presenter VMR-9 (renderless)."
msgctxt "IDC_REGULARSURF"
msgid "Video surface will be allocated as a regular offscreen surface."
-msgstr "Video surface will be allocated as a regular offscreen surface."
+msgstr "Video površina će biti dodijeljena kao normalna površina van ekrana."
msgctxt "IDC_AUDRND_COMBO"
msgid "MPC Audio Renderer is broken, do not use."
-msgstr "MPC Audio Renderer is broken, do not use."
+msgstr "MPC audio pogon je nevaljan, nemojte ga koristiti."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr "Sync Renderer"
+msgstr "Sync prikazivaÄ"
msgctxt "IDS_MPC_BUG_REPORT_TITLE"
msgid "MPC-HC - Reporting a bug"
@@ -734,7 +735,7 @@ msgstr "**nedostupno**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr "The selected renderer is not installed."
+msgstr "Odabrani prikazivaÄ nije instaliran."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
@@ -746,7 +747,7 @@ msgstr "Null (uncompressed)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
msgid "MPC-HC Audio Renderer"
-msgstr "MPC-HC Audio Renderer"
+msgstr "MPC-HC audio pogon"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -758,7 +759,7 @@ msgstr "MIME Type"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "n order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
+msgstr "Kako bi vidjeli ugraÄ‘eni resurs u vaÅ¡em internet pregledniku morate omogućiti web suÄelje.\n\nKoristite \"Spremi kao\" gumb ako samo spremate informaciju."
msgctxt "IDS_DOWNLOAD_SUBS"
msgid "Download subtitles"
@@ -766,7 +767,7 @@ msgstr "Skini podnapise"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
-msgstr "Delay (ms):"
+msgstr "Kašnjenje (ms):"
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
@@ -774,7 +775,7 @@ msgstr "Auto"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr "There are no customized keys to export."
+msgstr "Ne postoje prilagođene tipke za izvoz."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
@@ -790,23 +791,23 @@ msgstr "Kriptirane datoteke nisu podržane"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr "Couldn't find all archive volumes"
+msgstr "Nemoguće pronaći svu arhivsku građu."
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Video povrÅ¡ina će biti dodijeljena kao tekstura ali će druge funkcije biti koriÅ¡tene za kopiranje i razvlaÄenje na pozadinski spremnik. Zahtjeva video karticu koja može dodijeliti 32-bitni RGBA, NPOT veliÄinu teksture i rezoluciju barem veliÄine videa."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
-msgstr "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
+msgstr "Video povrÅ¡ina će biti dodijeljena kao tekstura i iscrtana kao dva trokuta u 3D-u. UkljuÄivanje izbjegavanja nazubljenosti u postavkama prikaza može imati loÅ¡ utjecaj na brzinu prikazivanja."
msgctxt "IDC_DX9RESIZER_COMBO"
msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
-msgstr "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
+msgstr "Ako nema podrške za Pixel Shader 2.0 automatski je korišten jednostavni bilinearni."
msgctxt "IDC_DSVMR9LOADMIXER"
msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
-msgstr "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
+msgstr "Stavlja VMR-9 (renderless) u mikser naÄin, ovo znaÄi da će raditi većina kontrola na stranici svojstva, a koristiti će odvojenu radniÄku nit za prikazujuće slike."
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
@@ -818,31 +819,31 @@ msgstr "Smanjuje 'tearing' ali sprjeÄava da se prikažu upravljaÄki elementi."
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
-msgstr "Reduces tearing by bypassing the default VSync built into D3D."
+msgstr "Smanjuje kidanje zaobilazeći zadani VSync ugrađen u D3D."
msgctxt "IDS_SRC_VTS"
msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
-msgstr "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
+msgstr "Otvorite VTS_xx_0.ifo kako bi pokrenuli VTS_xx_0.vob datoteke u jednom komadu."
msgctxt "IDS_SRC_RFS"
msgid "Based on RARFileSource, doesn't support compressed files"
-msgstr "Based on RARFileSource, doesn't support compressed files"
+msgstr "Temeljeno na RAR datoteÄnom izvoru, ne podržava komprimirane datoteke."
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr "Uses LAV Filters"
+msgstr "Koristi LAV filtere"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\n\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
+msgstr "Koristi LAV filtere. Onemogućeno po zadanoj postavci zato Å¡to su Microsoft filteri uobiÄajeno stabilniji za te formate.\nAko odaberete ugraÄ‘ene filtere omogućite ih i za izvor i dekodiranje kako bi imali bolje iskustvo reprodukcije."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr "Toggle Navigation Bar"
+msgstr "Namjestiti navigacijsku traku"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr "Accurate VSync"
+msgstr "Precizan VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
@@ -858,7 +859,7 @@ msgstr "Povećavanje broja spremljenih podslika trebalo bi općenito poboljšati
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
-msgstr "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
+msgstr "Nakon klikanja ovog gumba provjereno stanje grupe formata će se odraziti na trenutnu datoteÄnu povezanost za MPC-HC. Novo dodani nastavak će uobiÄajeno biti zasivljen, nemojte zaboraviti provjeriti joÅ¡ jednom prije zatvaranja ovog dijaloÅ¡kog okvira!"
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
@@ -942,19 +943,19 @@ msgstr "Opcije"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr "&Select Shaders..."
+msgstr "Odaberi &shadere..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Debug Shaders..."
+msgstr "Ispravi grešku sha&dera..."
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
-msgstr "&Add to Favorites..."
+msgstr "Dod&aj u omiljene..."
msgctxt "IDS_FAVORITES_ORGANIZE"
msgid "&Organize Favorites..."
-msgstr "&Organize Favorites..."
+msgstr "&Organiziraj omiljene..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
msgid "Shuffle"
@@ -994,39 +995,39 @@ msgstr "EDL snimi"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
-msgstr "Enable Frame Time Correction"
+msgstr "Omogući ispravku vremena slike"
msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
msgid "Toggle EDL window"
-msgstr "Toggle EDL window"
+msgstr "Namjestiti EDL prozor"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
-msgstr "EDL set In"
+msgstr "EDL namješten Na"
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL set In"
+msgstr "EDL namješten Iz"
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
-msgstr "PnS Rotate X-"
+msgstr "PnS rotacija X-"
msgctxt "IDS_AG_PNS_ROTATEY_P"
msgid "PnS Rotate Y+"
-msgstr "PnS Rotate Y+"
+msgstr "PnS rotacija Y+"
msgctxt "IDS_AG_PNS_ROTATEY_M"
msgid "PnS Rotate Y-"
-msgstr "PnS Rotate Y-"
+msgstr "PnS rotacija Y-"
msgctxt "IDS_AG_PNS_ROTATEZ_P"
msgid "PnS Rotate Z+"
-msgstr "PnS Rotate Z+"
+msgstr "PnS rotacija Z+"
msgctxt "IDS_AG_PNS_ROTATEZ_M"
msgid "PnS Rotate Z-"
-msgstr "PnS Rotate Z-"
+msgstr "PnS rotacija Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
@@ -1034,23 +1035,23 @@ msgstr "Tearing Test"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
-msgstr "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "Skaliraj na 16:9 TV,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_WIDESCREEN"
msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zumiraj na Å¡iroki zaslon,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_SCALE_ULTRAWIDE"
msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
-msgstr "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Zumiraj na ultra Å¡iroki ekran,%.3f,%.3f,%.3f,%.3f"
msgctxt "IDS_PLAYLIST_HIDEFS"
msgid "Hide on Fullscreen"
-msgstr "Hide on Fullscreen"
+msgstr "Sakrij u cijelom zaslonu"
msgctxt "IDS_CONTROLS_STOPPED"
msgid "Stopped"
-msgstr "Stopped"
+msgstr "Zaustavljeno"
msgctxt "IDS_CONTROLS_BUFFERING"
msgid "Buffering... (%d%%)"
@@ -1058,7 +1059,7 @@ msgstr "UÄitava... (%d%%)"
msgctxt "IDS_CONTROLS_CAPTURING"
msgid "Capturing..."
-msgstr "Capturing..."
+msgstr "Snimanje..."
msgctxt "IDS_CONTROLS_OPENING"
msgid "Opening..."
@@ -1074,11 +1075,11 @@ msgstr "Opcije"
msgctxt "IDS_SUBTITLES_STYLES"
msgid "&Styles..."
-msgstr "&Styles..."
+msgstr "&Stilovi..."
msgctxt "IDS_SUBTITLES_RELOAD"
msgid "&Reload"
-msgstr "&Reload"
+msgstr "Ponovno pok&reni"
msgctxt "IDS_SUBTITLES_ENABLE"
msgid "&Enable"
@@ -1086,7 +1087,7 @@ msgstr "Omogući"
msgctxt "IDS_PANSCAN_EDIT"
msgid "&Edit..."
-msgstr "&Edit..."
+msgstr "Ur&edi..."
msgctxt "IDS_INFOBAR_TITLE"
msgid "Title"
@@ -1110,7 +1111,7 @@ msgstr "Opis"
msgctxt "IDS_INFOBAR_DOMAIN"
msgid "Domain"
-msgstr "Domain"
+msgstr "Domena"
msgctxt "IDS_AG_CLOSE"
msgid "Close"
@@ -1118,7 +1119,7 @@ msgstr "Zatvori"
msgctxt "IDS_AG_NONE"
msgid "None"
-msgstr "None"
+msgstr "Ništa"
msgctxt "IDS_AG_COMMAND"
msgid "Command"
@@ -1126,19 +1127,19 @@ msgstr "Komanda"
msgctxt "IDS_AG_KEY"
msgid "Key"
-msgstr "Key"
+msgstr "Tipka"
msgctxt "IDS_AG_MOUSE"
msgid "Mouse Windowed"
-msgstr "Mouse Windowed"
+msgstr "Miš u prozoru"
msgctxt "IDS_AG_MOUSE_FS"
msgid "Mouse Fullscreen"
-msgstr "Mouse Fullscreen"
+msgstr "Miš u cijelom zaslonu"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
-msgstr "App Command"
+msgstr "Naredbe aplikacije"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
@@ -1340,6 +1341,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<nije definirano>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Pogledaj"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Pomakni gore"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Pomakni dolje"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sortiraj po LNC"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Ukloni sve"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Jeste li sigurni da želite ukloniti sve kanale s liste?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nema informacija"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Molimo priÄekajte, u tijeku je analiza..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Otvori uređaj"
@@ -1390,11 +1427,11 @@ msgstr "stani"
msgctxt "IDS_AG_FRAMESTEP"
msgid "Framestep"
-msgstr "Framestep"
+msgstr "Korak slike"
msgctxt "IDS_MPLAYERC_16"
msgid "Framestep back"
-msgstr "Framestep back"
+msgstr "Korak slike nazad"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
@@ -1402,11 +1439,11 @@ msgstr "Idi na..."
msgctxt "IDS_AG_INCREASE_RATE"
msgid "Increase Rate"
-msgstr "Increase Rate"
+msgstr "Povećaj brzinu"
msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
msgid "Show/Game show"
-msgstr "Show/Game show"
+msgstr "Serija/Igrana serija"
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
@@ -1414,23 +1451,23 @@ msgstr "Sport"
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr "Children's/Youth programmes"
+msgstr "DjeÄji/Program za mlade"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
-msgstr "Music/Ballet/Dance"
+msgstr "Glazba/Balet/Ples"
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
-msgstr "Arts/Culture"
+msgstr "Umjetnost/Kultura"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
-msgstr "Social/Political issues/Economics"
+msgstr "Socijalno/Politika/Ekonomija"
msgctxt "IDS_CONTENT_LEISURE"
msgid "Leisure hobbies"
-msgstr "Leisure hobbies"
+msgstr "Hobiji za opuštanje"
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
@@ -1442,15 +1479,15 @@ msgstr "Snimi kopiju"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr "Latest keyframe"
+msgstr "Posljednja glavna slika"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr "Nearest keyframe"
+msgstr "Najbliža glavna slika"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
+msgstr "MPC-HC je naišao na problem tijekom inicijalizacije. DVD reprodukcija možda neće raditi ispravno. Ovo je možda uzrokovano nekompatibilnošću sa određenim sigurnosnim alatima.\n\nŽelite li prijaviti ovu grešku?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1458,11 +1495,11 @@ msgstr "Nikad ne pokazuj"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr "Show when moving the cursor, hide after:"
+msgstr "Prikaži kada se pomiÄe pokazivaÄ, sakrij kasnije:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
-msgstr "Show when hovering control, hide after:"
+msgstr "Prikaži kada kontrole lebde, sakrij kasnije:"
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
@@ -1470,27 +1507,27 @@ msgstr "Pre-resize-shader nije moguće postaviti"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
-msgstr "Frame Time Correction: On"
+msgstr "Ispravak vremena slike: UkljuÄen"
msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
msgid "Frame Time Correction: Off"
-msgstr "Frame Time Correction: Off"
+msgstr "Ispravak vremena slike: IskljuÄen"
msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
msgid "Target VSync Offset: %.1f"
-msgstr "Target VSync Offset: %.1f"
+msgstr "Pogodi VSync istup: %.1f"
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
-msgstr "VSync Offset: %d"
+msgstr "VSync istup: %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
-msgstr "Speed: %.2lfx"
+msgstr "Brzina: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
-msgstr "Thumbnails saved successfully"
+msgstr "Minijature uspješno spremljene"
msgctxt "IDS_MENU_VIDEO_STREAM"
msgid "&Video Stream"
@@ -1498,7 +1535,7 @@ msgstr "Video protok"
msgctxt "IDS_MENU_VIDEO_ANGLE"
msgid "Video Ang&le"
-msgstr "Video Ang&le"
+msgstr "Video &kut"
msgctxt "IDS_RESET_SETTINGS"
msgid "Reset settings"
@@ -1506,63 +1543,63 @@ msgstr "Resetiraj postavke"
msgctxt "IDS_RESET_SETTINGS_WARNING"
msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
-msgstr "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
+msgstr "Jeste li sigurni da želite vratiti MPC-HC na zadane postavke?\nSVE vaše trenutne postavke će biti izgubljene!"
msgctxt "IDS_RESET_SETTINGS_MUTEX"
msgid "Please close all instances of MPC-HC so that the default settings can be restored."
-msgstr "Please close all instances of MPC-HC so that the default settings can be restored."
+msgstr "Molim zatvorite sve instance MPC-HC kako bi se zadane postavke mogle vratiti."
msgctxt "IDS_EXPORT_SETTINGS"
msgid "Export settings"
-msgstr "Export settings"
+msgstr "Postavke izvoza"
msgctxt "IDS_EXPORT_SETTINGS_WARNING"
msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
-msgstr "Some changes have not been saved yet.\nDo you want to save them before exporting?"
+msgstr "Neke promjene još nisu spremljene.\nŽelite li ih spremiti prije izvoza?"
msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
msgid "The settings have been successfully exported."
-msgstr "The settings have been successfully exported."
+msgstr "Postavke su uspješno izvezene."
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr "The export failed! This can happen when you don't have the correct rights."
+msgstr "Izvoz neuspješan! Ovo se može dogoditi kada nemate ispravna dopuštenja."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
-msgstr "BDA Error"
+msgstr "BDA greška"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
-msgstr "Decrease Rate"
+msgstr "Smanji brzinu"
msgctxt "IDS_AG_RESET_RATE"
msgid "Reset Rate"
-msgstr "Reset Rate"
+msgstr "Vrati brzinu na poÄetnu"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
+msgstr "Audio kašnjenje +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
+msgstr "Audio kašnjenje -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
-msgstr "Jump Forward (small)"
+msgstr "SkoÄi naprijed (malo)"
msgctxt "IDS_MPLAYERC_24"
msgid "Jump Backward (small)"
-msgstr "Jump Backward (small)"
+msgstr "SkoÄi nazad (malo)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "Jump Forward (medium)"
+msgstr "SkoÄi naprijed (srednje)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "Jump Backward (medium)"
+msgstr "SkoÄi nazad (srednje)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
@@ -1598,23 +1635,23 @@ msgstr "prethodna datoteka"
msgctxt "IDS_MPLAYERC_99"
msgid "Toggle Direct3D fullscreen"
-msgstr "Toggle Direct3D fullscreen"
+msgstr "Namjestiti Direct3D cijeli zaslon"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "Goto Prev Subtitle"
+msgstr "Idi na prošli titl"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "Goto Next Subtitle"
+msgstr "Idi na slijedeće titl"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
-msgstr "Shift Subtitle Left"
+msgstr "Pomakni titl lijevo"
msgctxt "IDS_MPLAYERC_103"
msgid "Shift Subtitle Right"
-msgstr "Shift Subtitle Right"
+msgstr "Pomakni titl desno"
msgctxt "IDS_AG_DISPLAY_STATS"
msgid "Display Stats"
@@ -1626,39 +1663,39 @@ msgstr "Idi na pocetak"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
-msgstr "View Minimal"
+msgstr "Prikaži minimalno"
msgctxt "IDS_AG_VIEW_COMPACT"
msgid "View Compact"
-msgstr "View Compact"
+msgstr "Prikaži kompaktno"
msgctxt "IDS_AG_VIEW_NORMAL"
msgid "View Normal"
-msgstr "View Normal"
+msgstr "Prikaži normalno"
msgctxt "IDS_AG_FULLSCREEN"
msgid "Fullscreen"
-msgstr "Fullsrceen"
+msgstr "Cijeli zaslon"
msgctxt "IDS_MPLAYERC_39"
msgid "Fullscreen (w/o res.change)"
-msgstr "Fullscreen (w/o res.change)"
+msgstr "Cijeli zaslon (bez promjene rezolucije)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT"
msgid "Zoom Auto Fit"
-msgstr "zoom auto fit"
+msgstr "Zumiraj automatski"
msgctxt "IDS_AG_VIDFRM_HALF"
msgid "VidFrm Half"
-msgstr "VidFrm Half"
+msgstr "VidFrm poloviÄna"
msgctxt "IDS_AG_VIDFRM_NORMAL"
msgid "VidFrm Normal"
-msgstr "VidFrm Normal"
+msgstr "VidFrm normalna"
msgctxt "IDS_AG_VIDFRM_DOUBLE"
msgid "VidFrm Double"
-msgstr "VidFrm Double"
+msgstr "VidFrm dupla"
msgctxt "IDS_AG_ALWAYS_ON_TOP"
msgid "Always On Top"
@@ -1666,27 +1703,27 @@ msgstr "uvijek na vrhu"
msgctxt "IDS_AG_PNS_INC_SIZE"
msgid "PnS Inc Size"
-msgstr "PnS Inc Size"
+msgstr "PnS povećaj veliÄinu"
msgctxt "IDS_AG_PNS_INC_WIDTH"
msgid "PnS Inc Width"
-msgstr "PnS Inc Width"
+msgstr "PnS povećaj širinu"
msgctxt "IDS_MPLAYERC_47"
msgid "PnS Inc Height"
-msgstr "PnS Inc Height"
+msgstr "PnS povećaj visinu"
msgctxt "IDS_AG_PNS_DEC_SIZE"
msgid "PnS Dec Size"
-msgstr "PnS Dec Size"
+msgstr "PnS smanji veliÄinu"
msgctxt "IDS_AG_PNS_DEC_WIDTH"
msgid "PnS Dec Width"
-msgstr "PnS Dec Width"
+msgstr "PnS smanji Å¡irinu"
msgctxt "IDS_MPLAYERC_50"
msgid "PnS Dec Height"
-msgstr "PnS Dec Height"
+msgstr "PnS smanji visinu"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
msgid "Downloading subtitle(s), please wait."
@@ -1694,19 +1731,19 @@ msgstr "ucitavam titlove, molim pricekajte"
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
-msgstr "Parsing list..."
+msgstr "Lista raÅ¡Älambe..."
msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
msgid "No subtitles found."
msgstr "Titlovi nisu pronadjeni"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d pronadjenih titlova"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
+msgstr "Želite li periodiÄno provjeravati MPC-HC ažuriranje?\n\nOvo svojstvo se može kasnije onemogućiti na stranici Razne postavke."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -1722,19 +1759,19 @@ msgstr "200%"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
-msgstr "Autio fit"
+msgstr "Automatski namjesti"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr "Auto Fit (Larger Only)"
+msgstr "Automatski namjesti (samo veliko)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
-msgstr "Zoom Auto Fit (Larger Only)"
+msgstr "Zumiraj automatski (samo veliko)"
msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
msgid "Zoom: Auto (Larger Only)"
-msgstr "Zoom: Auto (Larger Only)"
+msgstr "Zumiraj: Automatski (samo veliko)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
@@ -1742,7 +1779,7 @@ msgstr "Dvoklik za otvaranje lokacije datoteke"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
-msgstr "Toggle between elapsed and remaining time"
+msgstr "Namjesti između proteklog i preostalog vremena"
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
@@ -1802,23 +1839,23 @@ msgstr "Mute zvuk"
msgctxt "IDS_MPLAYERC_63"
msgid "DVD Title Menu"
-msgstr "DVD Title Menu."
+msgstr "DVD naslovni izbornik"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr "DvD root menu"
+msgstr "DVD korijenski izbornik"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
-msgstr "DVD subtitle menu"
+msgstr "DVD izbornik titlova"
msgctxt "IDS_MPLAYERC_66"
msgid "DVD Audio Menu"
-msgstr "DvD audio menu"
+msgstr "DVD audio izbornik"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "Dvd Angle menu"
+msgstr "DVD izbornik kuteva kamere"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
@@ -1854,19 +1891,19 @@ msgstr "Napusti DVD-izbornik"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
-msgstr "Boss key"
+msgstr "Glavna tipka"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu (short)"
-msgstr "player menu (kratki)"
+msgstr "Izbornik izvoÄ‘aÄa (kratki)"
msgctxt "IDS_MPLAYERC_78"
msgid "Player Menu (long)"
-msgstr "Player menu (dugi)"
+msgstr "Izbornik izvoÄ‘aÄa (dugi)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
-msgstr "Filters menu"
+msgstr "Izbornik filtera"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
@@ -1874,7 +1911,7 @@ msgstr "Opcije"
msgctxt "IDS_AG_NEXT_AUDIO"
msgid "Next Audio"
-msgstr "next audio"
+msgstr "Slijedeći audio"
msgctxt "IDS_AG_PREV_AUDIO"
msgid "Prev Audio"
@@ -1898,7 +1935,7 @@ msgstr "ponovno ucitaj titlove"
msgctxt "IDS_MPLAYERC_87"
msgid "Next Audio (OGM)"
-msgstr "next audio (OGM)"
+msgstr "Slijedeći audio (OGM)"
msgctxt "IDS_MPLAYERC_88"
msgid "Prev Audio (OGM)"
@@ -1922,7 +1959,7 @@ msgstr "prethodni kut (DVD)"
msgctxt "IDS_MPLAYERC_93"
msgid "Next Audio (DVD)"
-msgstr "iduci audio (DVD)"
+msgstr "iduci audio (DVD)"
msgctxt "IDS_MPLAYERC_94"
msgid "Prev Audio (DVD)"
@@ -2029,11 +2066,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu."
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Kut: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbits %d %s."
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2074,19 +2111,19 @@ msgstr "DVD: copy/protect greska"
msgctxt "IDS_MAINFRM_18"
msgid "DVD: Invalid DVD 1.x Disc"
-msgstr "DVD: invalid DVD 1.x Disc"
+msgstr "DVD: Nevaljani DVD 1.x disk"
msgctxt "IDS_MAINFRM_19"
msgid "DVD: Invalid Disc Region"
-msgstr "DVD: Invalid Disc Region."
+msgstr "DVD: Nevaljana regija diska"
msgctxt "IDS_MAINFRM_20"
msgid "DVD: Low Parental Level"
-msgstr "DVD: Low Parental Level."
+msgstr "DVD: Nizak nivo roditeljske kontrole"
msgctxt "IDS_MAINFRM_21"
msgid "DVD: Macrovision Fail"
-msgstr "DVD: Macrovision Fail."
+msgstr "DVD: Macrovision neuspješan"
msgctxt "IDS_MAINFRM_22"
msgid "DVD: Incompatible System And Decoder Regions"
@@ -2106,7 +2143,7 @@ msgstr "Kasnjenje titla: %ld ms"
msgctxt "IDS_AG_TITLE2"
msgid "Title: %02d/%02d"
-msgstr "Naslov: %02d/%o2d"
+msgstr "Naslov: %02d/%02d"
msgctxt "IDS_REALVIDEO_INCOMPATIBLE"
msgid "Filename contains unsupported characters (use only A-Z, 0-9)"
@@ -2138,27 +2175,27 @@ msgstr "Aspect ratio"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
-msgstr "Total: %ld, Dropped: %ld"
+msgstr ", Ukupno: %ld, Ispušteno: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr "velicina: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", velicina: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr " Size: %I64dMB."
+msgid ", Size: %I64d MB"
+msgstr ", VeliÄina: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr "slobodno %I64KB"
+msgid ", Free: %I64d KB"
+msgstr ", slobodno %I64KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr "Free: %I64dMB."
+msgid ", Free: %I64d MB"
+msgstr ", Slobodno: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr "Free V/A Buffers: %03d/%03d."
+msgstr ", Slobodni V/A bufferi: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2178,7 +2215,7 @@ msgstr "odaberi putanju za DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "uspjesno ucitano"
+msgstr " uspjesno ucitano"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2214,7 +2251,7 @@ msgstr "Neispravan format slike, ne mogu se kreirati sliÄice s %d bpp dibs."
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
-msgstr "File Size: %s (%s bytes)\\N."
+msgstr "VeliÄina datoteke: %s (%s bytes)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
@@ -2226,7 +2263,7 @@ msgstr "SliÄice bi bile premalene, nemoguće je kreirati datoteku.\n\nPokuÅ¡ajt
msgctxt "IDS_CANNOT_LOAD_SUB"
msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
-msgstr "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a."
+msgstr "Za pokretanje titlova promijenite tip video prikazivaÄa i ponovno otvorite datoteku.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR ili Haali\n- RealMedia: Posebni prikazivaÄ za RealMedia ili otvorite direktno sa DirectShow\n- QuickTime: DX7 ili DX9 prikazivaÄ za QuickTime\n- ShockWave: n/a"
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
@@ -2241,7 +2278,7 @@ msgid "Aspect Ratio: Default"
msgstr "Omjer: Zadano"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Kasnjenje audia: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2410,7 +2447,7 @@ msgstr "&Svojstva..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "(pin) svojstva..."
+msgstr " (pin) svojstva..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2426,11 +2463,11 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Komentari redatelja 1)"
+msgstr " (Komentari redatelja 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Komentari redatelja 2)"
+msgstr " (Komentari redatelja 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2454,7 +2491,7 @@ msgstr "Smanji pomak VSynca"
msgctxt "IDS_MAINFRM_136"
msgid "MPC-HC D3D Fullscreen"
-msgstr "MPC-HC D3D Fullscreen"
+msgstr "MPC-HC D3D cijeli zaslon"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
@@ -2481,8 +2518,8 @@ msgid "Volume boost Max"
msgstr "PojaÄanje glasnoće max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "KoriÅ¡tenje: mpc-hc.exe \"putanja\" [prekidaÄi]\n\n\"putanja\"⇥Glavna datoteka ili mapa za pokrenuti(zamjenski znakovi\n⇥⇥dopuÅ¡teni, \"-\" oznaÄava standardni ulaz)\n/dub \"naziv sinkronizacije\"⇥Pokrenuti dodatnu zvuÄnu datoteku\n/dubdelay \"datoteka\"⇥Pokrenuti dodatnu audio datoteku pomaknutu\n⇥⇥ za XXms (ako datoteka sadrži \"...POMAK XXms...\")\n/d3dfs⇥⇥ZapoÄni izvoÄ‘enje u D3D naÄinu punog ekrana\n/sub \"naziv titla\"⇥Pokreni dodatnu titl datoteku\n/filter \"naziv filtera\"⇥Pokreni DirectShow filtere iz knjižnice\n⇥⇥dinamiÄkog linka (zamjenski znakovi dopuÅ¡teni)\n/dvd⇥⇥Pokreni u dvd naÄinu, \"putanja\" znaÄi dvd\n⇥⇥mapa (opcionalno)\n/dvdpos T#C⇥ZapoÄeti reprodukciju na nazivu T, poglavlju C\n/dvdpos T#hh:mm⇥ZapoÄeti reprodukciju na nazivu T, pozicija hh:mm:ss\n/cd⇥⇥Pokreni sve trake zvuÄnog cd ili (s)vcd,\n⇥⇥\"putanja\" znaÄi ureÄ‘aja (opcionalno)\n/device⇥⇥Otvori zadani video ureÄ‘aj\n/open⇥⇥Otvori datoteku bez automatskog pokretanja reprodukcije\n/play⇥⇥ZapoÄeti reprodukciju datoteke Äim je izvoÄ‘aÄ\n⇥⇥pokrenut\n/close⇥⇥Zatvori izvoÄ‘aÄ nakon reprodukcije (radi samo kad\n⇥⇥se koristi sa /play)\n/shutdown⇥Ugasi operativni sustav nakon reprodukcije\n/fullscreen⇥ZapoÄeti u naÄinu punog ekrana\n/minimized⇥ZapoÄeti u minimaliziranom naÄinu\n/new⇥⇥Koristiti novu instancu izvoÄ‘aÄa\n/add⇥⇥Dodati \"putanju\" u listu izvoÄ‘enja, može biti kombinirano\n⇥⇥sa /open i /play\n/regvid⇥⇥Stvoriti povezanost nastavaka za video datoteke\n/regaud⇥⇥Stvoriti povezanost nastavaka za zvuÄne datoteke\n/regpl⇥⇥Stvoriti povezanost nastavaka za datoteke lista izvoÄ‘enja\n/regall⇥⇥Stvoriti povezanost nastavaka za sve podržane datoteke\n/unregall⇥⇥Maknuti sve povezanosti datoteÄnih nastavaka\n/start ms⇥⇥ZapoÄeti reprodukciju u \"ms\" (= milisekundi)\n/startpos hh:mm:ss⇥ZapoÄeti reprodukciju na poziciji hh:mm:ss\n/fixedsize w,h⇥Namjestiti fiksiranu veliÄinu prozora\n/monitor N⇥ZapoÄeti izvoÄ‘aÄ na ekranu N, gdje N poÄinje od 1\n/audiorenderer N⇥ZapoÄeti zvuÄni izvoÄ‘aÄ N, gdje N poÄinje od 1\n⇥⇥(pogledati \"Izlaz\" postavke)\n/shaderpreset \"Pr\"⇥ZapoÄeti koristiti \"Pr\" shader postavku\n/reset⇥⇥Vratiti zadane postavke\n/help /h /?⇥Prikazati pomoć prekidaÄa komandne linije\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "KoriÅ¡tenje: mpc-hc.exe \"putanja\" [prekidaÄi]\n\n\"putanja\"⇥Glavna datoteka ili mapa za pokrenuti(zamjenski znakovi\n⇥⇥dopuÅ¡teni, \"-\" oznaÄava standardni ulaz)\n/dub \"naziv sinkronizacije\"⇥Pokrenuti dodatnu zvuÄnu datoteku\n/dubdelay \"datoteka\"⇥Pokrenuti dodatnu audio datoteku pomaknutu\n⇥⇥ za XXms (ako datoteka sadrži \"...POMAK XXms...\")\n/d3dfs⇥⇥ZapoÄni izvoÄ‘enje u D3D naÄinu punog ekrana\n/sub \"naziv titla\"⇥Pokreni dodatnu titl datoteku\n/filter \"naziv filtera\"⇥Pokreni DirectShow filtere iz knjižnice\n⇥⇥dinamiÄkog linka (zamjenski znakovi dopuÅ¡teni)\n/dvd⇥⇥Pokreni u dvd naÄinu, \"putanja\" znaÄi dvd\n⇥⇥mapa (opcionalno)\n/dvdpos T#C⇥ZapoÄeti reprodukciju na nazivu T, poglavlju C\n/dvdpos T#hh:mm⇥ZapoÄeti reprodukciju na nazivu T, pozicija hh:mm:ss\n/cd⇥⇥Pokreni sve trake zvuÄnog cd ili (s)vcd,\n⇥⇥\"putanja\" znaÄi ureÄ‘aja (opcionalno)\n/device⇥⇥Otvori zadani video ureÄ‘aj\n/open⇥⇥Otvori datoteku bez automatskog pokretanja reprodukcije\n/play⇥⇥ZapoÄeti reprodukciju datoteke Äim je izvoÄ‘aÄ\n⇥⇥pokrenut\n/close⇥⇥Zatvori izvoÄ‘aÄ nakon reprodukcije (radi samo kad\n⇥⇥se koristi sa /play)\n/shutdown⇥Ugasi operativni sustav nakon reprodukcije\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen⇥ZapoÄeti u naÄinu punog ekrana\n/minimized⇥ZapoÄeti u minimaliziranom naÄinu\n/new⇥⇥Koristiti novu instancu izvoÄ‘aÄa\n/add⇥⇥Dodati \"putanju\" u listu izvoÄ‘enja, može biti kombinirano\n⇥⇥sa /open i /play\n/regvid⇥⇥Stvoriti povezanost nastavaka za video datoteke\n/regaud⇥⇥Stvoriti povezanost nastavaka za zvuÄne datoteke\n/regpl⇥⇥Stvoriti povezanost nastavaka za datoteke lista izvoÄ‘enja\n/regall⇥⇥Stvoriti povezanost nastavaka za sve podržane datoteke\n/unregall⇥⇥Maknuti sve povezanosti datoteÄnih nastavaka\n/start ms⇥⇥ZapoÄeti reprodukciju u \"ms\" (= milisekundi)\n/startpos hh:mm:ss⇥ZapoÄeti reprodukciju na poziciji hh:mm:ss\n/fixedsize w,h⇥Namjestiti fiksiranu veliÄinu prozora\n/monitor N⇥ZapoÄeti izvoÄ‘aÄ na ekranu N, gdje N poÄinje od 1\n/audiorenderer N⇥ZapoÄeti zvuÄni izvoÄ‘aÄ N, gdje N poÄinje od 1\n⇥⇥(pogledati \"Izlaz\" postavke)\n/shaderpreset \"Pr\"⇥ZapoÄeti koristiti \"Pr\" shader postavku\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset⇥⇥Vratiti zadane postavke\n/help /h /?⇥Prikazati pomoć prekidaÄa komandne linije\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2518,15 +2555,15 @@ msgstr "Namjestiti ispravljanje shadera"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
-msgstr "Zoom 50%"
+msgstr "Zumiraj 50%"
msgctxt "IDS_AG_ZOOM_100"
msgid "Zoom 100%"
-msgstr "Zoom 100%"
+msgstr "Zumiraj 100%"
msgctxt "IDS_AG_ZOOM_200"
msgid "Zoom 200%"
-msgstr "Zoom 200%"
+msgstr "Zumiraj 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
@@ -2534,11 +2571,11 @@ msgstr "Sljedeći AR profil"
msgctxt "IDS_AG_VIDFRM_STRETCH"
msgid "VidFrm Stretch"
-msgstr "VidFrm Stretch"
+msgstr "VidFrm rastezanje"
msgctxt "IDS_AG_VIDFRM_INSIDE"
msgid "VidFrm Inside"
-msgstr "Unutarnji VidFrm"
+msgstr "VidFrm unutar"
msgctxt "IDS_AG_VIDFRM_OUTSIDE"
msgid "VidFrm Outside"
@@ -2554,11 +2591,11 @@ msgstr "Rotiraj PnS X+"
msgctxt "IDS_AG_VIDFRM_ZOOM1"
msgid "VidFrm Zoom 1"
-msgstr "VidFrm Zoom 1"
+msgstr "VidFrm zum 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr "VidFrm Zoom 2"
+msgstr "VidFrm zum 2"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
@@ -2758,15 +2795,15 @@ msgstr "Zumiranje preko cijelog ekrana"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
-msgstr "Zoom 1"
+msgstr "Zum 1"
msgctxt "IDS_ZOOM2"
msgid "Zoom 2"
-msgstr "Zoom 2"
+msgstr "Zum 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr "Touch Window From Outside"
+msgstr "Dodiruje prozor izvana"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
@@ -3238,11 +3275,11 @@ msgstr "Zatvori"
msgctxt "IDS_OSD_ZOOM"
msgid "Zoom: %.0lf%%"
-msgstr "Zoom: %.0lf%%"
+msgstr "Zumiraj: %.0lf%%"
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
-msgstr "Zoom: Auto"
+msgstr "Zumiraj: automatski"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
@@ -3280,6 +3317,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Vraćanje glasnoće: IskljuÄeno"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bajtova"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3302,7 +3343,7 @@ msgstr "MB/s"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
-msgstr "Nemoguće stvoriti pretvaraÄ."
+msgstr "Nemoguće stvoriti pretvaraÄ."
msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
msgid "Could not create the receiver."
@@ -3354,7 +3395,7 @@ msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa Shockwave d
msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
-msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa sa Overlay Mixer video izvoÄ‘aÄem. \nPromijenite video izvoÄ‘aÄ u MPC-HC-ovim opcijama i ponovno otvorite datoteku."
+msgstr "Funkcije \"Spremi sliku\" i \"Spremi minijature\" ne rade sa sa Overlay Mixer video izvoÄ‘aÄem. \nPromijenite video izvoÄ‘aÄ u MPC-HC-ovim opcijama i ponovno otvorite datoteku."
msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
msgid "Cannot connect to the online subtitles database."
@@ -3456,6 +3497,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Nakon reprodukcije: Ugasiti ekran"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Nakon reprodukcije: Pokreni slijedeću datoteku u mapi"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Nakon reprodukcije: Nemoj uÄiniti niÅ¡ta"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Svjetlina: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
index 9b6e1af0a..802fa821d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Máté <lang.mate@gmail.com>, 2014
+# Máté <lang.mate@gmail.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 11:50+0000\n"
+"PO-Revision-Date: 2015-01-14 22:41+0000\n"
"Last-Translator: Máté <lang.mate@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -102,7 +102,7 @@ msgstr "Mintavételezés csökkentése 44100 Hz-re"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
msgid "Audio time shift (ms):"
-msgstr "Audió időzítés-eltolása:\n(ezredmásodpercben)"
+msgstr ""
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Névjegy"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Szerzői jog © 2002-2014 lásd Authors.txt fájl"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Szerzői jog © 2002-2015 lásd Authors.txt fájl"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -1146,7 +1146,7 @@ msgstr "Újrainicializálás képernyők közötti váltáskor"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
-msgstr "Direct3D Teljes képernyő\n(megszünteti a képszétválást - page tearing)"
+msgstr "D3D Teljes képernyő"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
index 39fac49e0..89a298381 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Máté <lang.mate@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-13 22:09+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-31 14:21+0000\n"
"Last-Translator: Máté <lang.mate@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Kapcsolja ki a monitort"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Játssza le a mappában következő fájlt"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "N&avigálás"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
index c2637820b..8eed18f2b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hu.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Máté <lang.mate@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 17:20+0000\n"
-"Last-Translator: Máté <lang.mate@gmail.com>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-02 20:10+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr ""
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "A videó-felület textúraként lesz lefoglalva, de így is a 2D funkciók lesznek használva, hogy azt rámásoljuk és rányújtsuk a hátoldali-pufferre (backbuffer). Egy olyan videokártya szükséges hozzá, ami képes lefoglalni 32bites, RGBA és nem kettő hatványának megfelelő textúrákat legalább akkora méretben, mint maga a videó."
msgctxt "IDC_TEXTURESURF3D"
@@ -1270,7 +1270,7 @@ msgstr ""
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr ""
+msgstr "Külső felirat renderelő használatának megakadályozása, amikor a belső van használatban."
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Mozgatás fel"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Mozgatás le"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Rendezés LCN szerint"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Mindegyik eltávolítása"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nem áll rendelkezésre információ"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Kérem várjon, analízis folyamatban..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Eszköz megnyitása"
@@ -1537,11 +1573,11 @@ msgid "Reset Rate"
msgstr "Sebesség alaphelyzetbe állítása"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Audió késleltetés +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Audió késleltetés -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1554,11 +1590,11 @@ msgstr "Ugrás vissza (kicsi)"
msgctxt "IDS_MPLAYERC_25"
msgid "Jump Forward (medium)"
-msgstr "Ugrás előre (közepes)"
+msgstr "Ugrás előre (közepes)"
msgctxt "IDS_MPLAYERC_26"
msgid "Jump Backward (medium)"
-msgstr "Ugrás vissza (közepes)"
+msgstr "Ugrás vissza (közepes)"
msgctxt "IDS_MPLAYERC_27"
msgid "Jump Forward (large)"
@@ -1697,7 +1733,7 @@ msgid "No subtitles found."
msgstr "Nem talált feliratot."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d felirat elérhető."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -1734,7 +1770,7 @@ msgstr "Nagyítás: Automatikus illesztés (csak nagyobbnál)"
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
-msgstr ""
+msgstr "Klikkeljen duplán a fájl mappa megnyitásához"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
@@ -2025,11 +2061,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Kötet: %02lu/%02lu, Cím: %02lu/%02lu, Fejezet: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Látószög: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2137,19 +2173,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Összes: %ld, Elejtett: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Méret: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Méret: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Szabad: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Szabad: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2237,7 +2273,7 @@ msgid "Aspect Ratio: Default"
msgstr "Képméretarány: Alapértelmezés"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Audió késleltetés: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2406,7 +2442,7 @@ msgstr "&Tulajdonságok..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "Csatlakozó tulajdonságok..."
+msgstr ""
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Hangerő erősítés Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Használat: mpc-hc.exe \"pathname\" [kapcsolók]\n\n\"pathname\"\tA fÅ‘ betöltendÅ‘ fájl vagy mappa helye (spec. helyettesítÅ‘ karakterek \n\t\tengedélyezve, \"-\" denotes standard input)\n/dub \"dubname\"\tBetölt egy külön audió fájlt\n/dubdelay \"file\"\tBetölt egy külön audió fájlt XX ms-al eltolva (ha a\n\t\tfájl tartalmaz \"...DELAY XXms...\")\n/d3dfs\t\tlejátszó indítása D3D teljes képernyÅ‘s módban\n/sub \"subname\"\tBetölt egy külön felirat fájlt\n/filter \"filtername\"\tDirectShow szűrÅ‘ket tölt be egy dynamic link\n\t\tlibrary-ból (spec. helyettesítÅ‘ karakterek tengedélyezve)\n/dvd\t\tDVD módban való futtatás, a \"pathname\" a dvd \n\t\tmappáját jelenti (opcionális)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tBetölti egy audió CD vagy egy (s)vcd összes műsorszámát, a\n\t\t\"pathname\" a meghajtó betűjelét jelenti (opcionális)\n/device\t\tOpen the default video device\n/open\t\tMegnyitja a fájlt, de nem kezdi el automatikusan eljátszani\n/play\t\tKezdje el lejátszani a fájlt, amint a lejátszó\n\t\telindul\n/close\t\tZárja be a lejátszót a műsör befejezÅ‘dése után (csak a /play kapcsolóval\n\t\tegyütt használható)\n/shutdown\tÃllítsa le a rendszert a műsor lejátszásának befejezÅ‘dése után\n/fullscreen\tIndítás teljes képernyÅ‘s módban\n/minimized\tMinimalizált formában való indítás\n/new\t\tA lejátszó egy új példányának használata\n/add\t\tA \"pathname\" hozzáadása a lejátszási listához, összekombinálható \n\t\taz /open és /play kapcsolóval\n/regvid\t\tVideó formátumok beregisztrálása\n/regaud\t\tAudió formátumok beregisztrálása\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVideó formátumok beregisztráltságának megszüntetése\n/start ms\t\tX \"ms\" (= ezredmásodperc) után induljon a lejátszás\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tFix ablakméret beállítása\n/monitor N\tIndítás az N. monitoron, ahol N egytÅ‘l indul\n/audiorenderer N\tN. audió átalakító használata, ahol N egytÅ‘l indul\n\t\t(lásd \"Kimenet\" beállítások)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tMegmutatja a parancssori kapcsolókról szóló súgót\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Használat: mpc-hc.exe \"pathname\" [kapcsolók]\n\n\"pathname\"\tA fÅ‘ betöltendÅ‘ fájl vagy mappa helye (spec. helyettesítÅ‘ karakterek \n\t\tengedélyezve, \"-\" denotes standard input)\n/dub \"dubname\"\tBetölt egy külön audió fájlt\n/dubdelay \"file\"\tBetölt egy külön audió fájlt XX ms-al eltolva (ha a\n\t\tfájl tartalmaz \"...DELAY XXms...\")\n/d3dfs\t\tlejátszó indítása D3D teljes képernyÅ‘s módban\n/sub \"subname\"\tBetölt egy külön felirat fájlt\n/filter \"filtername\"\tDirectShow szűrÅ‘ket tölt be egy dynamic link\n\t\tlibrary-ból (spec. helyettesítÅ‘ karakterek tengedélyezve)\n/dvd\t\tDVD módban való futtatás, a \"pathname\" a dvd \n\t\tmappáját jelenti (opcionális)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tBetölti egy audió CD vagy egy (s)vcd összes műsorszámát, a\n\t\t\"pathname\" a meghajtó betűjelét jelenti (opcionális)\n/device\t\tOpen the default video device\n/open\t\tMegnyitja a fájlt, de nem kezdi el automatikusan eljátszani\n/play\t\tKezdje el lejátszani a fájlt, amint a lejátszó\n\t\telindul\n/close\t\tZárja be a lejátszót a műsör befejezÅ‘dése után (csak a /play kapcsolóval\n\t\tegyütt használható)\n/shutdown\tÃllítsa le a rendszert a műsor lejátszásának befejezÅ‘dése után\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tIndítás teljes képernyÅ‘s módban\n/minimized\tMinimalizált formában való indítás\n/new\t\tA lejátszó egy új példányának használata\n/add\t\tA \"pathname\" hozzáadása a lejátszási listához, összekombinálható \n\t\taz /open és /play kapcsolóval\n/regvid\t\tVideó formátumok beregisztrálása\n/regaud\t\tAudió formátumok beregisztrálása\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVideó formátumok beregisztráltságának megszüntetése\n/start ms\t\tX \"ms\" (= ezredmásodperc) után induljon a lejátszás\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tFix ablakméret beállítása\n/monitor N\tIndítás az N. monitoron, ahol N egytÅ‘l indul\n/audiorenderer N\tN. audió átalakító használata, ahol N egytÅ‘l indul\n\t\t(lásd \"Kimenet\" beállítások)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tMegmutatja a parancssori kapcsolókról szóló súgót\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3222,7 +3258,7 @@ msgstr "Ezt a verziót használja: v%s.\n\nA legfrissebb stabil verzió: v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s elérhető. Jelenlegi verzió: v%s\n\nSzeretnéd meglátogatni az MPC-HC oldalát és letölteni az újabb verziót?"
+msgstr "MPC-HC v%s elérhető. Jelenlegi verzió: v%s\n\nSzeretnéd meglátogatni az MPC-HC oldalát és letölteni az újabb verziót?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Hangerő visszanyerés: Kikapcsolva"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bájt"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Lejátszás után: kapcsolja ki a monitort"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Lejátszás után: A mappában következő fájl lejátszása"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Lejátszás után: Ne csináljon semmit"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Fényerő: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
index a7ded3575..cfda97f3a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Armenian (http://www.transifex.com/projects/p/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -154,7 +154,7 @@ msgstr "Ô²Õ¡ÖÕ¥Õ¬"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Ô³Ö€Õ¥Ö„ Ö†Õ«Õ¬Õ´Õ« Õ¯Õ¡Õ´ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬Õ« Õ°Õ¡Õ½ÖÕ¥Õ¶\n(Õ€Õ¡Õ´Õ¡ÖÕ¡Õ¶ÖÕ¸Ö‚Õ´ Õ¯Õ¡Õ´ ÕÕ¥Ö€ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¹Õ¸Ö‚Õ´)"
+msgstr "Ô³Ö€Õ¥Ö„ Ö†Õ«Õ¬Õ´Õ« Õ¯Õ¡Õ´ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬Õ« Õ°Õ¡Õ½ÖÕ¥Õ¶ (Õ€Õ¡Õ´Õ¡ÖÕ¡Õ¶ÖÕ¸Ö‚Õ´ Õ¯Õ¡Õ´ ÕÕ¥Ö€ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ¹Õ¸Ö‚Õ´)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Ô¾Ö€Õ¡Õ£Ö€Õ« Õ´Õ¡Õ½Õ«Õ¶"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014, Õ¯Õ¡Ö€Õ¤Õ¡ÖÕ¥Õ›Ö„ Authors.txt Ö†Õ¡ÕµÕ¬Õ¨"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015, Õ¯Õ¡Ö€Õ¤Õ¡ÖÕ¥Õ›Ö„ Authors.txt Ö†Õ¡ÕµÕ¬Õ¨"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -454,7 +454,7 @@ msgstr "ÕÕ¡ÕµÕ¶Õ«"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Ô¹Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬ Õ¡Ö€Õ¿Õ¡Ö„Õ«Õ¶ Õ¢Õ¡ÕªÕ¡Õ¶Õ«Õ¹Õ¶Õ¥Ö€Õ« Õ¾Õ¥Ö€Õ¡Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¨"
+msgstr "Ô¹Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬ Õ¡Ö€Õ¿Õ¡Ö„Õ«Õ¶ Õ¢Õ¡ÕªÕ¡Õ¶Õ«Õ¹Õ¶Õ¥Ö€Õ« Õ¾Õ¥Ö€Õ¡Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¨"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
index 2c2695b8c..defb2fd00 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014
@@ -222,11 +222,11 @@ msgstr "&Õ†Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ¸Ö‚Õ´"
msgctxt "ID_VIEW_D3DFULLSCREEN"
msgid "D3D Fullscreen &Mode"
-msgstr "Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ D3D"
+msgstr "Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ D3D"
msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
msgid "D3D Fullscreen &GUI Support"
-msgstr "Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ D3DÕ GUI-Õ« Õ¡Õ»Õ¡Õ¯ÖÕ´Õ¡Õ´Õ¢"
+msgstr "Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ D3DÕ GUI-Õ« Õ¡Õ»Õ¡Õ¯ÖÕ´Õ¡Õ´Õ¢"
msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
msgid "10-bit &RGB Output"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Ô¿Õ¡Õ¼Õ¡Õ¾Õ¡Ö€Õ¸Ö‚Õ´"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
index 648ff4a56..3e8a677f3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.hy.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Hrant Ohanyan <h.ohanyan@haysoft.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Armenian (http://www.transifex.com/projects/p/mpc-hc/language/hy/)\n"
"MIME-Version: 1.0\n"
@@ -134,7 +134,7 @@ msgstr "ÕˆÖ€Õ¸Õ· Õ½Õ¡Ö€Ö„Õ¥Ö€ Õ¹Õ¥Õ¶ Õ¡Õ»Õ¡Õ¯ÖÕ¸Ö‚Õ´:ÔµÖ€Õ¯Õ¸Ö‚ Õ¿Õ¥Õ½Õ¡Õ¯Õ¸Õ¤Õ
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "Ô±Ö€Õ¡Õ£ Õ¢Õ¡ÖÕ¡Õ¼Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶, Õ¥Ö€Õ¢ Õ¡Õ¶ÖÕ¸Ö‚Õ´ Õ§ Õ¯Õ¡Õ¿Õ¡Ö€Õ¾Õ¸Ö‚Õ´ Õ¿Õ¡Ö€Õ¢Õ¥Ö€ Õ¿Õ¥Õ½Õ¡Õ°Õ¸Õ½Ö„Õ¥Ö€Õ« Õ´Õ«Õ»Ö‡: Õ„Õ«Õ¡ÕµÕ¶ Õ´Õ¥Õ¯ Õ¿Õ¥Õ½Õ¡Õ¯Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ«Õ¹ Õ§ Õ¶Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ¾Õ¡Õ® Ö†Õ«Õ¬Õ¿Ö€Õ« Õ£Ö€Õ¡Ö†Õ¡ÕµÕ¸Ö‚Õ´:"
+msgstr "Ô±Ö€Õ¡Õ£ Õ¢Õ¡ÖÕ¡Õ¼Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶, Õ¥Ö€Õ¢ Õ¡Õ¶ÖÕ¸Ö‚Õ´ Õ§ Õ¯Õ¡Õ¿Õ¡Ö€Õ¾Õ¸Ö‚Õ´ Õ¿Õ¡Ö€Õ¢Õ¥Ö€ Õ¿Õ¥Õ½Õ¡Õ°Õ¸Õ½Ö„Õ¥Ö€Õ« Õ´Õ«Õ»Ö‡: Õ„Õ«Õ¡ÕµÕ¶ Õ´Õ¥Õ¯ Õ¿Õ¥Õ½Õ¡Õ¯Õ¸Õ¤Õ¡Õ¾Õ¸Ö€Õ«Õ¹ Õ§ Õ¶Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ¾Õ¡Õ® Ö†Õ«Õ¬Õ¿Ö€Õ« Õ£Ö€Õ¡Ö†Õ¡ÕµÕ¸Ö‚Õ´:"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -478,7 +478,7 @@ msgstr "ÕŽÕ¥Ö€Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¶Õ¥ÕžÕ¬ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨:"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
-msgstr "ÕÕ¡ Õ¯Õ¸Ö‚Õ²Õ²Õ« Õ½Õ­Õ¡Õ¬ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¾Õ¸Õ² ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨, Õ«Õ¶Õ¹Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ§ ÕºÕ¡Õ¿Õ¡Õ°Õ¥Õ¬ Õ­ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ« Õ·Õ¿Õ¥Õ´Õ¡Ö€Õ¡Õ¶Õ¨ Õ©Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬Õ«Õ½:\nÕ–Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ Õ¹Õ¥Õ¶ ÖƒÕ¸ÖƒÕ¸Õ­Õ¾Õ«, ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨ ÕºÕ¡Ö€Õ¦Õ¡ÕºÕ¥Õ½ Õ¯Õ©Õ¡Ö€Õ´Õ¡ÖÕ¾Õ¥Õ¶:"
+msgstr "ÕÕ¡ Õ¯Õ¸Ö‚Õ²Õ²Õ« Õ½Õ­Õ¡Õ¬ ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¾Õ¸Õ² ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨, Õ«Õ¶Õ¹Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ§ ÕºÕ¡Õ¿Õ¡Õ°Õ¥Õ¬ Õ­ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ« Õ·Õ¿Õ¥Õ´Õ¡Ö€Õ¡Õ¶Õ¨ Õ©Õ¡Ö€Õ´Õ¡ÖÕ¶Õ¥Õ¬Õ«Õ½:\nÕ–Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨ Õ¹Õ¥Õ¶ ÖƒÕ¸ÖƒÕ¸Õ­Õ¾Õ«, ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¶Õ¥Ö€Õ¨ ÕºÕ¡Ö€Õ¦Õ¡ÕºÕ¥Õ½ Õ¯Õ©Õ¡Ö€Õ´Õ¡ÖÕ¾Õ¥Õ¶:"
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
@@ -598,7 +598,7 @@ msgstr "Õ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ´Õ¡Õ¶ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¨ Õ¨Õ½Õ¿ Õ®Ö€Õ¡Õ£Ö€Õ¡ÕµÕ«Õ¶Õ« Windows
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "Õ€Õ«Õ´Õ¶Õ¡Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ« Õ¥Õ¶ Õ´Õ«Õ¡ÕµÕ¶ YUV Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨, Õ¢Õ¡ÕµÖ Õ¤Ö€Õ¡Õ¶Ö„ Õ¶Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ¾Õ¸Ö‚Õ´ Õ¥Õ¶ Õ¸Ö‚Õ²Õ²Õ¡Õ¯Õ«Õ¸Ö€Õ¥Õ¶Õ Õ¡Õ¼Õ¡Õ¶Ö Õ±Ö‡Õ¡ÖƒÕ¸Õ­Õ´Õ¡Õ¶ RGB-Õ«Ö‰ ÕÕ¡ Õ¡Õ´Õ¥Õ¶Õ¡Õ¡Ö€Õ¡Õ£ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¶ Õ§ Õ¢Õ¸Õ¬Õ¸Ö€Õ«Ö Ö‡ Õ´Õ«Õ¡ÕµÕ¶ Õ¡ÕµÕ½Õ¿Õ¥Õ² Õ§, Õ¸Ö€ Õ°Õ¡Õ´Õ¡Õ¹Õ¡ÖƒÕ¸Ö€Õ¥Õ¶ Õ¡Õ·Õ­Õ¡Õ¿Õ¸Ö‚Õ´ Õ§ Õ¿Õ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« \"Õ°Õ¡ÕµÕ¥Õ¬Õ¡ÕµÕ«Õ¶\" Õ¡Ö€Õ¿Õ¡Õ®Õ¸Ö‚Õ´Õ¨ (TV-OUT-Õ« Õ¾Ö€Õ¡)Ö‰"
+msgstr "Õ€Õ«Õ´Õ¶Õ¡Õ¯Õ¡Õ¶Õ¸Ö‚Õ´ Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ« Õ¥Õ¶ Õ´Õ«Õ¡ÕµÕ¶ YUV Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨, Õ¢Õ¡ÕµÖ Õ¤Ö€Õ¡Õ¶Ö„ Õ¶Õ¥Ö€Õ¯Õ¡ÕµÕ¡ÖÕ¾Õ¸Ö‚Õ´ Õ¥Õ¶ Õ¸Ö‚Õ²Õ²Õ¡Õ¯Õ«Õ¸Ö€Õ¥Õ¶Õ Õ¡Õ¼Õ¡Õ¶Ö Õ±Ö‡Õ¡ÖƒÕ¸Õ­Õ´Õ¡Õ¶ RGB-Õ«Ö‰ ÕÕ¡ Õ¡Õ´Õ¥Õ¶Õ¡Õ¡Ö€Õ¡Õ£ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¶ Õ§ Õ¢Õ¸Õ¬Õ¸Ö€Õ«Ö Ö‡ Õ´Õ«Õ¡ÕµÕ¶ Õ¡ÕµÕ½Õ¿Õ¥Õ² Õ§, Õ¸Ö€ Õ°Õ¡Õ´Õ¡Õ¹Õ¡ÖƒÕ¸Ö€Õ¥Õ¶ Õ¡Õ·Õ­Õ¡Õ¿Õ¸Ö‚Õ´ Õ§ Õ¿Õ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« \"Õ°Õ¡ÕµÕ¥Õ¬Õ¡ÕµÕ«Õ¶\" Õ¡Ö€Õ¿Õ¡Õ®Õ¸Ö‚Õ´Õ¨ (TV-OUT-Õ« Õ¾Ö€Õ¡)Ö‰"
msgctxt "IDC_DSVMR7WIN"
msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Ô±Ö€Õ­Õ«Õ¾Õ« Õ¢Õ¸Õ¬Õ¸Ö€ Õ°Õ¡Õ¿Õ¸Ö€Õ¶Õ¥Ö€Õ¨ Õ¹Õ¥Õ¶ Õ£Õ¿Õ¶Õ¾Õ¥Õ¬"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ÕÕ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« Õ´Õ¡Õ¯Õ¥Ö€Õ¥Õ½Õ¨ Õ¡Õ¼Õ¡Õ¶Õ±Õ¶Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ Õ¸Ö€ÕºÕ¥Õ½ Õ¡Ö€Õ¿Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¸Ö‚Õ´, Õ¢Õ¡ÕµÖ Õ¿Õ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« ÕºÕ¡Õ¿Õ³Õ¥Õ¶Õ´Õ¡Õ¶ Ö‡ Õ±Õ£Õ´Õ¡Õ¶ Õ°Õ¡Õ´Õ¡Ö€ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¾Õ¸Ö‚Õ´ Õ§ 2D Ö†Õ¸Ö‚Õ¶Õ¯ÖÕ«Õ¡Õ¶Ö‰ ÕŠÕ¡Õ°Õ¡Õ¶Õ»Õ¸Ö‚Õ´ Õ§ Õ¿Õ¥Õ½Õ¡Ö„Õ¡Ö€Õ¿Õ« Õ¡Õ¼Õ¯Õ¡ÕµÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶, Õ¸Ö€Õ¨ Õ¯Õ¡Ö€Õ¸Õ² Õ§ Õ¯Õ¡Õ¿Õ¡Ö€Õ¥Õ¬ 32bit RGBA Õ¡Ö€Õ¿Õ¡ÕºÕ¡Õ¿Õ¯Õ¥Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Ö‰"
msgctxt "IDC_TEXTURESURF3D"
@@ -882,7 +882,7 @@ msgstr "Õ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨\nÕ“Õ¸Ö„Ö€Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£
msgctxt "ID_PLAY_INCRATE"
msgid "Increase speed\nIncrease speed"
-msgstr "Õ„Õ¥Õ®Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨\nÕ„Õ¥Õ®Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨"
+msgstr "Õ„Õ¥Õ®Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨\nÕ„Õ¥Õ®Õ¡ÖÕ¶Õ¥Õ¬ Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨"
msgctxt "ID_VOLUME_MUTE"
msgid "Mute"
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "ÕŽÕ¥Ö€"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "ÕŽÕ¡Ö€"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Ô²Õ¡ÖÕ¥Õ¬ Õ½Õ¡Ö€Ö„Õ¨"
@@ -1537,11 +1573,11 @@ msgid "Reset Rate"
msgstr "ÔµÕ¿Õ¡Ö€Õ¯Õ¥Õ¬"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "ÕÕ¡ÕµÕ¶Õ« Õ¤Õ¡Õ¤Õ¡Ö€ +10Õ´Õ¾"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "ÕÕ¡ÕµÕ¶Õ« Õ¤Õ¡Õ¤Õ¡Ö€ -10Õ´Õ¾"
msgctxt "IDS_MPLAYERC_23"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "ÕÕ¸Õ²Õ¡Õ£Ö€Õ¥Ö€ Õ¹Õ¯Õ¡Õ¶Ö‰"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Õ¿Õ¸Õ²Õ¡Õ£Ö€Õ¥Ö€ Õ¥Õ¶ Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ«Ö‰"
+msgid "%d subtitle(s) available."
+msgstr "%d Õ¿Õ¸Õ²Õ¡Õ£Ö€Õ¥Ö€ Õ¥Õ¶ Õ°Õ¡Õ½Õ¡Õ¶Õ¥Õ¬Õ«Ö‰"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,11 +2061,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Õ€Õ¡Õ¿Õ¸Ö€Õ¨. %02lu/%02lu, Ô±Õ¶Õ¸Ö‚Õ¶Õ¨. %02lu/%02lu, Ô³Õ¬Õ¸Ö‚Õ­Õ¨. %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Ô±Õ¶Õ¯ÕµÕ¸Ö‚Õ¶Õ¨. %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2137,19 +2173,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Ô¸Õ¶Õ¤Õ¡Õ´Õ¥Õ¶Õ¨. %ld, Õ¯Õ¸Ö€Õ½Õ¾Õ¥Õ¬ Õ§. %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Õ‰Õ¡ÖƒÕ¨. %I64dÔ¿Ô²"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Õ‰Õ¡ÖƒÕ¨. %I64dÕ„Ô²"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Ô±Õ¦Õ¡Õ¿ Õ§. %I64dÔ¿Ô²"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Ô±Õ¦Õ¡Õ¿ Õ§. %I64dÕ„Ô²"
msgctxt "IDS_MAINFRM_42"
@@ -2237,7 +2273,7 @@ msgid "Aspect Ratio: Default"
msgstr "Õ€Õ¡Õ´Õ¡Õ´Õ¡Õ½Õ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€. Õ½Õ¿Õ¡Õ¶Õ¤Õ¡Ö€Õ¿"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "ÕÕ¡ÕµÕ¶Õ« Õ¤Õ¡Õ¤Õ¡Ö€. %I64dÕ´Õ¾"
msgctxt "IDS_AG_CHAPTER"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "ÕÕ¡ÕµÕ¶Õ¨Õ Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¾Õ¸Ö‚Õ´ Õ§. mpc-hc.exe \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" [ÖƒÕ¸Õ­Õ¡Õ¶ÖÕ«Õ¹Õ¶Õ¥Ö€]\n\n\"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\"\tÕ¢Õ¥Õ¼Õ¶Õ´Õ¡Õ¶ Ö†Õ¡ÕµÕ¬Õ¨ Õ¯Õ¡Õ´ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨Ö‰ \n/dub \"dubname\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬\n/dubdelay \"file\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬Õ XXÕ´Õ¾\n(Õ¥Õ©Õ¥ Ö†Õ¡ÕµÕ¬Õ¨ Õ¸Ö‚Õ¶Õ« \"...DELAY XXms...\")Ö‰\n/d3dfs\t\tÕÕ¯Õ½Õ¥Õ¬ Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾Õ D3D Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾Ö‰\n/sub \"subname\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ¿Õ¸Õ²Õ¡Õ£Ö€Õ¥Ö€Ö‰\n/filter \"filtername\"\tÔ²Õ¡ÖÕ¥Õ¬ DirectShow Ö†Õ«Õ¬Õ¿Ö€Õ¥Ö€ Õ£Ö€Õ¡Õ¤Õ¡Ö€Õ¡Õ¶Õ«ÖÖ‰\n/dvd\t\tÔ²Õ¡ÖÕ¥Õ¬ DVD Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾, \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ¶Õ·Õ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ§ DVD-Õ« Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨Ö‰\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tÔ²Õ¥Õ¼Õ¶Õ¥Õ¬ Audio CD--Õ« Õ¢Õ¸Õ¬Õ¸Ö€ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ Õ¯Õ¡Õ´ (S)VCD, \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ¶Õ·Õ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ§ ÕºÕ¶Õ¡Õ¯Õ« Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨Ö‰\n/device\t\tOpen the default video device\n/open\t\tÕ„Õ«Õ¡ÕµÕ¶ Ô²Õ¡ÖÕ¥Õ¬ Õ–Õ¡ÕµÕ¬Õ¨Ö‰\n/play\t\tÕÕ¯Õ½Õ¥Õ¬ ÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨Õ Õ¡Õ¶Õ´Õ«Õ»Õ¡ÕºÕ¥Õ½ Õ¢Õ¡ÖÕ¥Õ¬Õ«Õ½Ö‰\n/close\t\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨ Õ¡Õ¾Õ¡Ö€Õ¿Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ ÖƒÕ¡Õ¯Õ¥Õ¬ (Õ¡Õ·Õ­Õ¡Õ¿Õ¸Ö‚Õ´ Õ§ Õ´Õ«Õ¡ÕµÕ¶ /play ÖƒÕ¸Õ­Õ¡Õ¶ÖÕ«Õ¹Õ« Õ°Õ¥Õ¿)Ö‰\n/shutdown\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨ Õ¡Õ¾Õ¡Ö€Õ¿Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ¡Õ¶Õ»Õ¡Õ¿Õ¥Õ¬ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ«Õ¹Õ¨Ö‰\n/fullscreen\tÔ²Õ¡ÖÕ¥Õ¬ Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾Ö‰\n/minimized\tÔ²Õ¡ÖÕ¥Õ¬Õ Õ§Õ¯Ö€Õ¡Õ¶Õ« Õ¶Õ¥Ö€Ö„Ö‡Õ¸Ö‚Õ´ Õ¾Õ«Õ³Õ¡Õ¯Õ¸Ö‚Õ´Ö‰\n/new\t\tÕ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¾Õ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ«Õ¹Õ« Õ¶Õ¸Ö€ Ö…Ö€Õ«Õ¶Õ¡Õ¯Ö‰\n/add\t\tÔ±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ­Õ¡Õ²Õ¡ÖÕ¡Õ¶Õ¯Õ¸Ö‚Õ´, Õ¯Õ¡Ö€Õ¥Õ¬Õ« Õ§ /open Ö‡ /play-Õ« Õ°Õ¥Õ¿ Õ°Õ¡Õ´Õ¡Õ¿Õ¥Õ²Ö‰\n/regvid\t\tÔ³Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ¿Õ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨Ö‰\n/regaud\t\tÔ³Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨Ö‰\n/regpl\t\tÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€ Õ­Õ¡Õ²Õ¡ÖÕ¡Õ¶Õ¯Õ« Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€\n/regall\t\tÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¢Õ¸Õ¬Õ¸Ö€ Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Õ² Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€s\n/unregall\t\tÕ€Õ¥Õ¿Õ£Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€Õ¨Ö‰\n/start ms\t\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¥Õ¬ \"ms\" Õ¤Õ«Ö€Ö„Õ«Ö (= Õ´Õ«Õ¬Õ«Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶Õ¶Õ¥Ö€)Ö‰\n/startpos hh:mm:ss\tÕÕ¯Õ½Õ¥Õ¬ Õ¾Õ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨Õ hh:mm:ss\n/fixedsize w,h\tÕ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ« Ö†Õ«Õ¯Õ½Õ¾Õ¡Õ® Õ¹Õ¡ÖƒÖ‰\n/monitor N\tÔ²Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ N Õ´Õ¸Õ¶Õ«Õ¿Õ¸Ö€Õ« Õ¾Ö€Õ¡, Õ¸Ö€Õ¿Õ¥Õ² N-Õ¨ Õ°Õ¡Õ·Õ¾Õ¾Õ¸Ö‚Õ´ Õ§ 1-Õ«ÖÖ‰\n/audiorenderer N\tÕ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ N ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ«Õ¹Õ¨, Õ¸Ö€Õ¿Õ¥Õ² N-Õ¨ Õ°Õ¡Õ·Õ¾Õ¾Õ¸Ö‚Õ´ Õ§ 1-Õ«Ö\n\t\t(Õ¶Õ¡ÕµÕ¥Ö„ \"Ô±Ö€Õ¿Õ¡Õ®Õ´Õ¡Õ¶\" Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨)Ö‰\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tÕŽÕ¥Ö€Õ¡Õ¯Õ¡Õ¶Õ£Õ¶Õ¥Õ¬ Õ°Õ«Õ´Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨\n/help /h /?\tÕ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ°Õ¸Ö‚Õ·Õ¸Ö‚Õ´\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Õ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¾Õ¸Ö‚Õ´ Õ§. mpc-hc.exe \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" [ÖƒÕ¸Õ­Õ¡Õ¶ÖÕ«Õ¹Õ¶Õ¥Ö€]\n\n\"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\"\tÕ¢Õ¥Õ¼Õ¶Õ´Õ¡Õ¶ Ö†Õ¡ÕµÕ¬Õ¨ Õ¯Õ¡Õ´ Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨Ö‰ \n/dub \"dubname\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬\n/dubdelay \"file\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Ö†Õ¡ÕµÕ¬Õ XXÕ´Õ¾\n\t\t(Õ¥Õ©Õ¥ Ö†Õ¡ÕµÕ¬Õ¨ Õ¸Ö‚Õ¶Õ« \"...DELAY XXms...\")Ö‰\n/d3dfs\t\tÕÕ¯Õ½Õ¥Õ¬ Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾Õ D3D Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾Ö‰\n/sub \"subname\"\tÔ²Õ¡ÖÕ¥Õ¬ Õ¬Ö€Õ¡ÖÕ¸Ö‚ÖÕ«Õ¹ Õ¿Õ¸Õ²Õ¡Õ£Ö€Õ¥Ö€Ö‰\n/filter \"filtername\"\tÔ²Õ¡ÖÕ¥Õ¬ DirectShow Ö†Õ«Õ¬Õ¿Ö€Õ¥Ö€ Õ£Ö€Õ¡Õ¤Õ¡Ö€Õ¡Õ¶Õ«ÖÖ‰\n/dvd\t\tÔ²Õ¡ÖÕ¥Õ¬ DVD Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾, \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ¶Õ·Õ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ§ DVD-Õ« Õ©Õ²Õ©Õ¡ÕºÕ¡Õ¶Õ¡Õ¯Õ¨Ö‰\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tÔ²Õ¥Õ¼Õ¶Õ¥Õ¬ Audio CD--Õ« Õ¢Õ¸Õ¬Õ¸Ö€ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ¨ Õ¯Õ¡Õ´ (S)VCD, \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ¶Õ·Õ¡Õ¶Õ¡Õ¯Õ¸Ö‚Õ´ Õ§ ÕºÕ¶Õ¡Õ¯Õ« Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨Ö‰\n/device\t\tOpen the default video device\n/open\t\tÕ„Õ«Õ¡ÕµÕ¶ Ô²Õ¡ÖÕ¥Õ¬ Õ–Õ¡ÕµÕ¬Õ¨Ö‰\n/play\t\tÕÕ¯Õ½Õ¥Õ¬ ÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨Õ Õ¡Õ¶Õ´Õ«Õ»Õ¡ÕºÕ¥Õ½ Õ¢Õ¡ÖÕ¥Õ¬Õ«Õ½Ö‰\n/close\t\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨ Õ¡Õ¾Õ¡Ö€Õ¿Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ ÖƒÕ¡Õ¯Õ¥Õ¬ (Õ¡Õ·Õ­Õ¡Õ¿Õ¸Ö‚Õ´ Õ§ Õ´Õ«Õ¡ÕµÕ¶ /play ÖƒÕ¸Õ­Õ¡Õ¶ÖÕ«Õ¹Õ« Õ°Õ¥Õ¿)Ö‰\n/shutdown\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨ Õ¡Õ¾Õ¡Ö€Õ¿Õ¥Õ¬Õ¸Ö‚Ö Õ°Õ¥Õ¿Õ¸ Õ¡Õ¶Õ»Õ¡Õ¿Õ¥Õ¬ Õ°Õ¡Õ´Õ¡Õ¯Õ¡Ö€Õ£Õ«Õ¹Õ¨Ö‰\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tÔ²Õ¡ÖÕ¥Õ¬ Ô±Õ´Õ¢Õ¸Õ²Õ» Õ§Õ¯Ö€Õ¡Õ¶Õ¸Õ¾ Õ¥Õ²Õ¡Õ¶Õ¡Õ¯Õ¸Õ¾Ö‰\n/minimized\tÔ²Õ¡ÖÕ¥Õ¬Õ Õ§Õ¯Ö€Õ¡Õ¶Õ« Õ¶Õ¥Ö€Ö„Ö‡Õ¸Ö‚Õ´ Õ¾Õ«Õ³Õ¡Õ¯Õ¸Ö‚Õ´Ö‰\n/new\t\tÕ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ Õ¾Õ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ«Õ¹Õ« Õ¶Õ¸Ö€ Ö…Ö€Õ«Õ¶Õ¡Õ¯Ö‰\n/add\t\tÔ±Õ¾Õ¥Õ¬Õ¡ÖÕ¶Õ¥Õ¬ \"Õ³Õ¡Õ¶Õ¡ÕºÕ¡Ö€Õ°Õ¨\" Õ­Õ¡Õ²Õ¡ÖÕ¡Õ¶Õ¯Õ¸Ö‚Õ´, Õ¯Õ¡Ö€Õ¥Õ¬Õ« Õ§ /open Ö‡ /play-Õ« Õ°Õ¥Õ¿ Õ°Õ¡Õ´Õ¡Õ¿Õ¥Õ²Ö‰\n/regvid\t\tÔ³Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ¿Õ¥Õ½Õ¡Õ¶ÕµÕ¸Ö‚Õ©Õ« Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨Ö‰\n/regaud\t\tÔ³Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ±Õ¡ÕµÕ¶Õ¡ÕµÕ«Õ¶ Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¨Ö‰\n/regpl\t\tÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€ Õ­Õ¡Õ²Õ¡ÖÕ¡Õ¶Õ¯Õ« Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€\n/regall\t\tÕÕ¿Õ¥Õ²Õ®Õ¥Õ¬ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¡Õ½Õ¸ÖÕ«Õ¡ÖÕ¸Ö‚Õ´Õ¶Õ¥Ö€ Ö†Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ¢Õ¸Õ¬Õ¸Ö€ Õ¡Õ»Õ¡Õ¯ÖÕ¾Õ¸Õ² Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ« Õ°Õ¡Õ´Õ¡Ö€s\n/unregall\t\tÕ€Õ¥Õ¿Õ£Ö€Õ¡Õ¶ÖÕ¥Õ¬ Õ¢Õ¸Õ¬Õ¸Ö€Õ¨Ö‰\n/start ms\t\tÕŽÕ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¥Õ¬ \"ms\" Õ¤Õ«Ö€Ö„Õ«Ö (= Õ´Õ«Õ¬Õ«Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶Õ¶Õ¥Ö€)Ö‰\n/startpos hh:mm:ss\tÕÕ¯Õ½Õ¥Õ¬ Õ¾Õ¥Ö€Õ¡Ö€Õ¿Õ¡Õ¤Ö€Õ¸Ö‚Õ´Õ¨Õ hh:mm:ss\n/fixedsize w,h\tÕ€Õ¡Õ½Õ¿Õ¡Õ¿Õ¥Õ¬ ÕºÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶Õ« Ö†Õ«Õ¯Õ½Õ¾Õ¡Õ® Õ¹Õ¡ÖƒÖ‰\n/monitor N\tÔ²Õ¡ÖÕ¾Õ¸Ö‚Õ´ Õ§ N Õ´Õ¸Õ¶Õ«Õ¿Õ¸Ö€Õ« Õ¾Ö€Õ¡, Õ¸Ö€Õ¿Õ¥Õ² N-Õ¨ Õ°Õ¡Õ·Õ¾Õ¾Õ¸Ö‚Õ´ Õ§ 1-Õ«ÖÖ‰\n/audiorenderer N\tÕ•Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¥Õ¬ N ÖÕ¸Ö‚ÖÕ¡Õ¤Ö€Õ«Õ¹Õ¨, Õ¸Ö€Õ¿Õ¥Õ² N-Õ¨ Õ°Õ¡Õ·Õ¾Õ¾Õ¸Ö‚Õ´ Õ§ 1-Õ«Ö\n\t\t(Õ¶Õ¡ÕµÕ¥Ö„ \"Ô±Ö€Õ¿Õ¡Õ®Õ´Õ¡Õ¶\" Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨)Ö‰\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tÕŽÕ¥Ö€Õ¡Õ¯Õ¡Õ¶Õ£Õ¶Õ¥Õ¬ Õ°Õ«Õ´Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¡Ö€Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ´Õ¶Õ¥Ö€Õ¨\n/help /h /?\tÕ‘Õ¸Ö‚ÖÕ¡Õ¤Ö€Õ¥Õ¬ Õ°Õ¸Ö‚Õ·Õ¸Ö‚Õ´\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2554,7 +2590,7 @@ msgstr "Ô¿Õ¡Õ¤Ö€Õ« Õ¹Õ¡ÖƒÕ¨ 1"
msgctxt "IDS_AG_VIDFRM_ZOOM2"
msgid "VidFrm Zoom 2"
-msgstr "Ô¿Õ¡Õ¤Ö€Õ« Õ¹Õ¡ÖƒÕ¨ 2"
+msgstr "Ô¿Õ¡Õ¤Ö€Õ« Õ¹Õ¡ÖƒÕ¨ 2"
msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
msgid "VidFrm Switch Zoom"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Õ‡Ö€Õ»Õ¡Õ¶Õ« Õ±Õ¡ÕµÕ¶Õ¨. Ô±Õ¶Õ»."
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "Ô¿Ô²"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Ô²Õ¡ÖÕ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨. %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
index 459844aea..5ba8ea96b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ca.strings.po
@@ -2,8 +2,8 @@
# Copyright (C) 2002 - 2014 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
-# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos, 2014
+# Adolfo Jayme Barrientos, 2014
# papu <papu@openmailbox.org>, 2014
# papu <papu@openmailbox.org>, 2014
msgid ""
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
"PO-Revision-Date: 2014-09-14 21:20+0000\n"
-"Last-Translator: Adolfo Jayme Barrientos <fito@libreoffice.org>\n"
+"Last-Translator: Adolfo Jayme Barrientos\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/mpc-hc/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
index 14e9f00bb..54c780d5d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.es.strings.po
@@ -3,11 +3,12 @@
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
+# Adolfo Jayme Barrientos <fito@libreoffice.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-08 16:12+0000\n"
+"PO-Revision-Date: 2014-10-05 19:20+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fito@libreoffice.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mpc-hc/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -22,7 +23,7 @@ msgstr "Este programa instalará [name] en el equipo.\n\nSe recomienda que cierr
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] requiere Windows XP Service Pack 3 o posterior para funcionar."
+msgstr "[name] necesita Windows XP Service Pack 3 o posterior para funcionar."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po
new file mode 100644
index 000000000..47760d032
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.fi.strings.po
@@ -0,0 +1,82 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2014 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Raimo K. Talvio, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
+"PO-Revision-Date: 2014-08-17 09:40+0000\n"
+"Last-Translator: Raimo K. Talvio\n"
+"Language-Team: Finnish (http://www.transifex.com/projects/p/mpc-hc/language/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "Messages_WelcomeLabel2"
+msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
+msgstr "Tämä asentaa [name] tietokoneellesi.\n\n On suositeltavaa, että suljet kaikki muut ohjelmat ennenkuin jatkat."
+
+msgctxt "Messages_WinVersionTooLowError"
+msgid "[name] requires Windows XP Service Pack 3 or newer to run."
+msgstr "[name] vaatii toimiakseen Windows XP Service Pack 3 tai uudempaa "
+
+msgctxt "CustomMessages_comp_mpciconlib"
+msgid "Icon Library"
+msgstr "Ikonikirjasto"
+
+msgctxt "CustomMessages_comp_mpcresources"
+msgid "Translations"
+msgstr "Käännökset"
+
+msgctxt "CustomMessages_msg_DeleteSettings"
+msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
+msgstr "Haluatko poistaa myöskin MPC-HC:n asetukset?\n\nJos aiot asentaa MPC-HC:n uudelleen, niitä ei tarvitse poistaa."
+
+msgctxt "CustomMessages_msg_SetupIsRunningWarning"
+msgid "MPC-HC setup is already running!"
+msgstr "MPC-HC:n asennus on jo käynnissä!"
+
+msgctxt "CustomMessages_msg_simd_sse"
+msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
+msgstr "MPC-HC:n tämä versio edellyttää CPU:lta SSE-laajennusten tukea.\n\nProsessorissasi ei ole niitä ominaisuuksia."
+
+msgctxt "CustomMessages_msg_simd_sse2"
+msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
+msgstr "MPC-HC:n tämä versio edellyttää CPU:lta SSE2-laajennusten tukea.\n\nProsessorissasi ei ole niitä ominaisuuksia."
+
+msgctxt "CustomMessages_run_DownloadToolbarImages"
+msgid "Visit our Wiki page to download toolbar images"
+msgstr "Vieraile Wiki-sivustollamme imuroidaksesi työkalupalkin kuvat"
+
+msgctxt "CustomMessages_tsk_AllUsers"
+msgid "For all users"
+msgstr "Kaikille käyttäjille"
+
+msgctxt "CustomMessages_tsk_CurrentUser"
+msgid "For the current user only"
+msgstr "Vain nykyiselle käyttäjälle"
+
+msgctxt "CustomMessages_tsk_Other"
+msgid "Other tasks:"
+msgstr "Muut tehtävät:"
+
+msgctxt "CustomMessages_tsk_ResetSettings"
+msgid "Reset settings"
+msgstr "Nollaa asetukset"
+
+msgctxt "CustomMessages_types_DefaultInstallation"
+msgid "Default installation"
+msgstr "Oletusasennus"
+
+msgctxt "CustomMessages_types_CustomInstallation"
+msgid "Custom installation"
+msgstr "Yksilöllinen asennus"
+
+msgctxt "CustomMessages_ViewChangelog"
+msgid "View Changelog"
+msgstr "Näytä muutosloki"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
index 6a30c0d1c..257c8f512 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.gl.strings.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-10-02 00:20+0000\n"
-"Last-Translator: Toño Calo <enfeitizador@gmail.com>\n"
+"PO-Revision-Date: 2014-12-01 23:04+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/mpc-hc/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,7 +35,7 @@ msgstr "Traducións"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr " Tamén queres eliminar os axustes de MPC-HC?\n\nSe te plantexas instalar MPC-HC outra vez entón non o tes que eliminar."
+msgstr "Tamén queres eliminar os axustes de MPC-HC?\n\nSe te plantexas instalar MPC-HC outra vez entón non o tes que eliminar."
msgctxt "CustomMessages_msg_SetupIsRunningWarning"
msgid "MPC-HC setup is already running!"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
index 1095eca19..f711c2b45 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.hu.strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-08-07 13:10+0000\n"
+"PO-Revision-Date: 2014-12-10 10:11+0000\n"
"Last-Translator: Máté <lang.mate@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/mpc-hc/language/hu/)\n"
"MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Ez telepíteni fogja a(z) [name]-t a számítógépére.\nAjánlott, hogy minden más alkalmazást zárjon be a folytatás előtt."
+msgstr "Ez telepíteni fogja a(z) [name]-t a számítógépére.\n\nAjánlott, hogy minden más alkalmazást zárjon be a folytatás előtt."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
@@ -74,7 +74,7 @@ msgstr "Szokásos telepítés"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
-msgstr "Egyedi telepítés"
+msgstr "Egyéni telepítés"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
index 38f8c5732..da9f86832 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.it.strings.po
@@ -19,7 +19,7 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Questo installerà [name] sul tuo computer.\nE' consigliato chiudere tutte le altre applicazioni prima di continuare."
+msgstr "Questo installerà [name] sul tuo computer.\n\nE' consigliato chiudere tutte le altre applicazioni prima di continuare."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
index 37294a80f..d76a4cc9e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ja.strings.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-09-26 10:30+0000\n"
+"PO-Revision-Date: 2014-10-12 11:31+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
index 8704b7964..82c7d4706 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.ko.strings.po
@@ -2,12 +2,13 @@
# Copyright (C) 2002 - 2014 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Level ASMer <zx132435@naver.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-07 08:49+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-13 10:51+0000\n"
+"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,11 +18,11 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "ì´ ì„¤ì¹˜í”„ë¡œê·¸ëž¨ì€ [name] 를(ì„) ë‹¹ì‹ ì˜ ì»´í“¨í„°ì— ì„¤ì¹˜í•©ë‹ˆë‹¤.\n\n설치를 계ì†í•˜ê¸° ì „ì— ë‹¤ë¥¸ 모든 í”„ë¡œê·¸ëž¨ì„ ì¢…ë£Œí•˜ëŠ” ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤."
+msgstr "ì´ê²ƒì€ [name] 를(ì„) ë‹¹ì‹ ì˜ ì»´í“¨í„°ì— ì„¤ì¹˜í•©ë‹ˆë‹¤.\n\n설치를 계ì†í•˜ê¸° ì „ì— ë‹¤ë¥¸ 모든 í”„ë¡œê·¸ëž¨ì„ ì¢…ë£Œí•˜ëŠ” ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
-msgstr "[name] 는(ì€) Windows XP Service Pack 3 ë˜ëŠ” ê·¸ ì´ìƒì˜ 버전ì—서만 설치할 수 있습니다."
+msgstr "[name] 는(ì€) Windows XP Service Pack 3 ë˜ëŠ” ê·¸ ì´ìƒì˜ 버전ì—서만 설치할 수 있습니다."
msgctxt "CustomMessages_comp_mpciconlib"
msgid "Icon Library"
@@ -33,11 +34,11 @@ msgstr "번역"
msgctxt "CustomMessages_msg_DeleteSettings"
msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
-msgstr "MPC-HC ì˜ ì„¤ì •ë„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n\nMPC-HC 를 다시 설치할 계íšì´ë¼ë©´ ì„¤ì •ë“¤ì„ ì‚­ì œí•  필요가 없습니다."
+msgstr "MPC-HC ì˜ ì„¤ì •ë„ ì‚­ì œ 하시겠습니까?\n\nMPC-HC 를 다시 설치할 계íšì´ë¼ë©´ ì„¤ì •ë“¤ì„ ì‚­ì œí•  필요가 없습니다."
msgctxt "CustomMessages_msg_SetupIsRunningWarning"
msgid "MPC-HC setup is already running!"
-msgstr "MPC-HC ì„¤ì¹˜í”„ë¡œê·¸ëž¨ì´ ì´ë¯¸ 실행중입니다!"
+msgstr "MPC-HC 설치 í”„ë¡œê·¸ëž¨ì´ ì´ë¯¸ 실행 중입니다!"
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
@@ -49,7 +50,7 @@ msgstr "ì´ ë²„ì „ì˜ MPC-HC 는 SSE2 ê¸°ìˆ ì„ ì§€ì›í•˜ëŠ” CPUê°€ 필요합니
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr ""
+msgstr "툴바 ì´ë¯¸ì§€ë“¤ì„ 다운로드하기 위해 위키 페ì´ì§€ë¡œ 방문."
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
@@ -73,7 +74,7 @@ msgstr "기본 설치"
msgctxt "CustomMessages_types_CustomInstallation"
msgid "Custom installation"
-msgstr "사용ìžì •ì˜ 설치"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì„¤ì¹˜"
msgctxt "CustomMessages_ViewChangelog"
msgid "View Changelog"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
index 85bf1f644..83e6320b0 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.nl.strings.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Devrim Yolo <devrim.extra@gmail.com>, 2014
+# DennisW, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-07 08:49+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-31 08:50+0000\n"
+"Last-Translator: DennisW\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -50,7 +51,7 @@ msgstr "Deze versie van MPC-HC heeft een processor nodig die SSE2 ondersteunt.\n
msgctxt "CustomMessages_run_DownloadToolbarImages"
msgid "Visit our Wiki page to download toolbar images"
-msgstr ""
+msgstr "Bezoek onze Wiki pagina om de werkbalk afbeeldingen te downloaden"
msgctxt "CustomMessages_tsk_AllUsers"
msgid "For all users"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po
new file mode 100644
index 000000000..264b632ca
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sr.strings.po
@@ -0,0 +1,83 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2014 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Rancher <djordje.vasiljevich@gmail.com>, 2014
+# Zlatan Vasović <legospace9876@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
+"PO-Revision-Date: 2014-12-10 21:41+0000\n"
+"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "Messages_WelcomeLabel2"
+msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
+msgstr "Овим ћете инÑталирати [name] на ваш рачунар.\n\nПрепоручује Ñе да затворите Ñве друге програме пре него што наÑтавите."
+
+msgctxt "Messages_WinVersionTooLowError"
+msgid "[name] requires Windows XP Service Pack 3 or newer to run."
+msgstr "[name] захтева Windows XP Service Pack 3 или новији за покретање."
+
+msgctxt "CustomMessages_comp_mpciconlib"
+msgid "Icon Library"
+msgstr "Библиотека Ñа иконама"
+
+msgctxt "CustomMessages_comp_mpcresources"
+msgid "Translations"
+msgstr "Преводи"
+
+msgctxt "CustomMessages_msg_DeleteSettings"
+msgid "Do you also want to delete MPC-HC settings?\n\nIf you plan on installing MPC-HC again then you do not have to delete them."
+msgstr "Желите ли да обришете и поÑтавке MPC-HC-а?\n\nÐе морате их бриÑати ако планирате поново да инÑталирате MPC-HC."
+
+msgctxt "CustomMessages_msg_SetupIsRunningWarning"
+msgid "MPC-HC setup is already running!"
+msgstr "ИнÑталација MPC-HC-а је већ покренута!"
+
+msgctxt "CustomMessages_msg_simd_sse"
+msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
+msgstr "Ова верзија MPC-HC-а захтева процеÑор Ñа подршком за SSE проширења.\n\nВаш процеÑор нема те могућноÑти."
+
+msgctxt "CustomMessages_msg_simd_sse2"
+msgid "This build of MPC-HC requires a CPU with SSE2 extension support.\n\nYour CPU does not have those capabilities."
+msgstr "Ова верзија MPC-HC-а захтева процеÑор Ñа подршком за SSE2 проширења.\n\nВаш процеÑор нема те могућноÑти."
+
+msgctxt "CustomMessages_run_DownloadToolbarImages"
+msgid "Visit our Wiki page to download toolbar images"
+msgstr "ПоÑети вики Ñтраницу ради преузимања Ñлика траке Ñа алаткама"
+
+msgctxt "CustomMessages_tsk_AllUsers"
+msgid "For all users"
+msgstr "За Ñве кориÑнике"
+
+msgctxt "CustomMessages_tsk_CurrentUser"
+msgid "For the current user only"
+msgstr "Само за тренутног кориÑника"
+
+msgctxt "CustomMessages_tsk_Other"
+msgid "Other tasks:"
+msgstr "ОÑтали задаци:"
+
+msgctxt "CustomMessages_tsk_ResetSettings"
+msgid "Reset settings"
+msgstr "Врати подразумеване поÑтавке"
+
+msgctxt "CustomMessages_types_DefaultInstallation"
+msgid "Default installation"
+msgstr "Уобичајена инÑталација"
+
+msgctxt "CustomMessages_types_CustomInstallation"
+msgid "Custom installation"
+msgstr "Прилагођена инÑталација"
+
+msgctxt "CustomMessages_ViewChangelog"
+msgid "View Changelog"
+msgstr "Погледај евиденцију промена"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
index 35023235d..b1de5876a 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.sv.strings.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-31 13:51+0000\n"
+"PO-Revision-Date: 2014-12-02 00:15+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -39,7 +39,7 @@ msgstr "Vill du också ta bort inställningarna för MPC-HC?\n\nOm du planerar a
msgctxt "CustomMessages_msg_SetupIsRunningWarning"
msgid "MPC-HC setup is already running!"
-msgstr "Konfigurering av MPC-HC pågår redan!"
+msgstr "Installation av MPC-HC pågår redan!"
msgctxt "CustomMessages_msg_simd_sse"
msgid "This build of MPC-HC requires a CPU with SSE extension support.\n\nYour CPU does not have those capabilities."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
index ce0087fe1..b6c598ac1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.installer.vi.strings.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dat Luong Anh <datanhlg@gmail.com>, 2014
-# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014
+# TRẦN ANH MINH <anhminhvks@yahoo.com>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-06-17 15:23:34+0000\n"
-"PO-Revision-Date: 2014-07-09 14:31+0000\n"
+"PO-Revision-Date: 2015-01-21 03:24+0000\n"
"Last-Translator: TRẦN ANH MINH <anhminhvks@yahoo.com>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
msgctxt "Messages_WelcomeLabel2"
msgid "This will install [name] on your computer.\n\nIt is recommended that you close all other applications before continuing."
-msgstr "Chuẩn bị cài [name] vào máy tính của bạn.\n\nÄá» nghị bạn đóng tất cả các ứng dụng khác trÆ°á»›c khi tiếp tục."
+msgstr "Chuẩn bị cài đặt [name] vào máy tính của bạn.\n\nÄá» nghị bạn đóng tất cả các ứng dụng khác trÆ°á»›c khi tiếp tục."
msgctxt "Messages_WinVersionTooLowError"
msgid "[name] requires Windows XP Service Pack 3 or newer to run."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
index dea15cf2c..c7d2ed4a2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <gabrixs@outlook.com>, 2014
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-11-27 17:50+0000\n"
+"Last-Translator: Tummarellox <tummarellox@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "Informazioni"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 vedi file Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 vedi file Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -596,11 +596,11 @@ msgstr ""
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "Esegui come &amministratore"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "Imposta come programma &predefinito"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
index 8e98ab781..02cf0248c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <gabrixs@outlook.com>, 2014
@@ -7,9 +7,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-14 00:30+0000\n"
-"Last-Translator: Gabrix <gabrixs@outlook.com>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-26 22:47+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Spegni il &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigazione"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
index 00e21b9e7..9bd745454 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.it.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Gabrix <gabrixs@outlook.com>, 2014
@@ -8,9 +8,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-27 17:50+0000\n"
+"Last-Translator: Tummarellox <tummarellox@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/mpc-hc/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -88,7 +88,7 @@ msgstr "Compensazione Sincronia"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr "avg: %d ms, dev: %d ms"
+msgstr ""
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -96,11 +96,11 @@ msgstr "Jitter"
msgctxt "IDS_STATSBAR_BITRATE"
msgid "Bitrate"
-msgstr "Bitrate"
+msgstr ""
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(avg/cur)"
+msgstr ""
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -791,7 +791,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Npn posso trovare tutti i volumi archivio"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "La superficie video sarà allocata come texture ma verranno comunque usate le funzioni 2d per copiarla e ridimensionata nel backbuffer. Richiede una scheda video in grado di allocare texture RGBA a 32 bit di dimensioni non-potenza-di-due e almeno alla risoluzione del video."
msgctxt "IDC_TEXTURESURF3D"
@@ -944,7 +944,7 @@ msgstr "&Seleziona shaders..."
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr "&Debug Shaders..."
+msgstr ""
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -1000,11 +1000,11 @@ msgstr "Mostra finestra EDL"
msgctxt "IDS_AG_EDL_IN"
msgid "EDL set In"
-msgstr "EDL set In"
+msgstr ""
msgctxt "IDS_AG_EDL_OUT"
msgid "EDL set Out"
-msgstr "EDL set Out"
+msgstr ""
msgctxt "IDS_AG_PNS_ROTATEX_M"
msgid "PnS Rotate X-"
@@ -1332,11 +1332,47 @@ msgstr "Dimensione massima (NxNpx) di una cover-art caricata in modalità solo a
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "Il ritardo dei sottotitoli verrà aumentato/diminuito di questo valore ogni volta che i tasti corrispondenti saranno premuti (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<not defined>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Guarda"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Sposta su"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Sposta giù"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Ordina per LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Rimuovi tutto"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Sei sicuro di rimuovere tutti i canali dalla lista?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nessuna informazione disponibile"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Attendi, analisi in corso..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1539,11 +1575,11 @@ msgid "Reset Rate"
msgstr "Reimposta velocità"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ritardo audio +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ritardo audio -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1699,8 +1735,8 @@ msgid "No subtitles found."
msgstr "Nessun sottotitolo trovato."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d sottotitoli disponibili."
+msgid "%d subtitle(s) available."
+msgstr "%d sottotitoli disponibili."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2027,11 +2063,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume: %02lu/%02lu, Titolo: %02lu/%02lu, Capitolo: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Angolazione: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2044,7 +2080,7 @@ msgstr "Riproduci con MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "MPC-HC non ha privilegi sufficienti per modificare le associazioni ai file nei vari formati. Avvia il programma come amministratore."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2139,19 +2175,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Totale: %ld, Scartati: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Dimensioni: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Dimensioni: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Liberi: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Liberi: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2239,7 +2275,7 @@ msgid "Aspect Ratio: Default"
msgstr "Proporzioni: predefinite"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Ritardo Audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2479,8 +2515,8 @@ msgid "Volume boost Max"
msgstr "Amplificazione volume: massimo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilizzo: mpc-hc.exe \"percorso\" [opzioni]\n\n\"percorso\"\tIl file o cartella principale da caricare\n\t\t(wildcards ammesse, \"-\" denotes standard input)\n/dub \"nomedub\"\tCarica un file audio aggiuntivo\n/dubdelay \"file\"\tCarica un file audio aggiuntivo con ritardo\n\t\tdi XXms (se il file contiene\n\t\t\"...DELAY XXms...\")\n/d3dfs\t\tInizia il rendering in modalità D3D a schermo\n\t\tintero\n/sub \"subname\"\tCarica un file di sottotitoli aggiuntivo\n/filter \"nomefiltro\"\tCarica i filtri DirectShow da una DLL\n\t\t(wildcards ammesse)\n/dvd\t\tAvvia in modalità dvd, \"percorso\" indica la\n\t\tcartella del dvd (opzionale)\n/dvdpos T#C\tInizia riproduzione al titolo T, capitolo C\n/dvdpos T#hh:mm\tInizia riproduzione al titolo T,\n\t\tposizione hh:mm:ss\n/cd\t\tCarica tutte le tracce di un cd audio o (s)vcd;\n\t\t\"percorso\" indica il percorso del drive\n\t\t(opzionale)\n/device\t\tOpen the default video device\n/open\t\tApre il file, senza iniziare la riproduzione\n/play\t\tInizia la riproduzione del file non appena il\n\t\tlettore viene aperto\n/close\t\tChiudi il lettore dopo la riproduzione\n\t\t(funziona solo insieme a /play)\n/shutdown\tSpegni il computer dopo la riproduzione\n/fullscreen\tAvvia a schermo intero\n/minimized\tAvvia minimizzato\n/new\t\tUsa una nuova istanza del lettore\n/add\t\tAggiunge \"percorso\" alla playlist, può essere\n\t\tin combinazione con /open e /play\n/regvid\t\tRegistra i formati video\n/regaud\t\tRegistra i formati audio\n/regpl\t\tCrea le associazioni dei file di tipo playlist\n/regall\t\tCrea le associazioni dei file per tutti i formati\n\t\tsupportati\n/unregall\t\tRimuove tutte le associazioni dei file\n/start ms\t\tInizia la riproduzione a \"ms\" (= millisecondi)\n/startpos hh:mm:ss\tInizia la riproduzione alla posizione hh:mm:ss\n/fixedsize w,h\tImposta la dimensione fissa della finestra\n/monitor N\tAvvia nello schermo N, dove N inizia da 1\n/audiorenderer N\tAvvia con renderer audio N, dove N inizia da 1\n\t\t(vedi impostazioni di \"Output\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRipristina le impostazioni predefinite\n/help /h /?\tVisualizza l'aiuto sulle opzioni a riga di comando\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Utilizzo: mpc-hc.exe \"percorso\" [opzioni]\n\n\"percorso\"\tIl file o cartella principale da caricare\n\t\t(wildcards ammesse, \"-\" denotes standard input)\n/dub \"nomedub\"\tCarica un file audio aggiuntivo\n/dubdelay \"file\"\tCarica un file audio aggiuntivo con ritardo\n\t\tdi XXms (se il file contiene \"...DELAY XXms...\")\n/d3dfs\t\tInizia il rendering in modalità D3D a schermo intero\n/sub \"subname\"\tCarica un file di sottotitoli aggiuntivo\n/filter \"nomefiltro\"\tCarica i filtri DirectShow da una DLL\n\t\t(wildcards ammesse)\n/dvd\t\tAvvia in modalità dvd, \"percorso\" indica la\n\t\tcartella del dvd (opzionale)\n/dvdpos T#C\tInizia riproduzione al titolo T, capitolo C\n/dvdpos T#hh:mm\tInizia riproduzione al titolo T,\n\t\tposizione hh:mm:ss\n/cd\t\tCarica tutte le tracce di un cd audio o (s)vcd;\n\t\t\"percorso\" indica il percorso del drive (opzionale)\n/device\t\tOpen the default video device\n/open\t\tApre il file, senza iniziare la riproduzione\n/play\t\tInizia la riproduzione del file non appena il\n\t\tlettore viene aperto\n/close\t\tChiudi il lettore dopo la riproduzione\n\t\t(funziona solo insieme a /play)\n/shutdown\tSpegni il computer dopo la riproduzione\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tAvvia a schermo intero\n/minimized\tAvvia minimizzato\n/new\t\tUsa una nuova istanza del lettore\n/add\t\tAggiunge \"percorso\" alla playlist, può essere\n\t\tin combinazione con /open e /play\n/regvid\t\tRegistra i formati video\n/regaud\t\tRegistra i formati audio\n/regpl\t\tCrea le associazioni dei file di tipo playlist\n/regall\t\tCrea le associazioni dei file per tutti i formati\n\t\tsupportati\n/unregall\t\tRimuove tutte le associazioni dei file\n/start ms\t\tInizia la riproduzione a \"ms\" (= millisecondi)\n/startpos hh:mm:ss\tInizia la riproduzione alla posizione hh:mm:ss\n/fixedsize w,h\tImposta la dimensione fissa della finestra\n/monitor N\tAvvia nello schermo N, dove N inizia da 1\n/audiorenderer N\tAvvia con renderer audio N, dove N inizia da 1\n\t\t(vedi impostazioni di \"Output\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRipristina le impostazioni predefinite\n/help /h /?\tVisualizza l'aiuto sulle opzioni a riga di comando\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3314,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Riguadagno volume: Off"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3494,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Dopo la riproduzione: Spegnere il monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Dopo la riproduzione: esegui il prossimo file nella cartella"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Dopo la riproduzione: non fare nulla"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Luminosità: %s"
@@ -3516,19 +3564,19 @@ msgstr "Se si seleziona \"ultimo keyframe\", il primo keyframe viene cercato pri
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr ""
+msgstr "Associa con tutti i formati"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr ""
+msgstr "Associa solo con i formati video"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr ""
+msgstr "Associa solo con i formati audio"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr ""
+msgstr "Elimina tutte le associazioni"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
index c1b6ef4e6..7188ddcc8 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.dialogs.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014
+# ever_green, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-28 02:20+0000\n"
+"PO-Revision-Date: 2015-01-23 11:01+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -122,7 +122,7 @@ msgstr "Shift キーを押ã—ãŸã¾ã¾ã‚¯ãƒªãƒƒã‚¯ã™ã‚‹ã¨ã€å³åº§ã«å¤‰æ›´ã•
msgctxt "IDD_GOTO_DLG_CAPTION"
msgid "Go To..."
-msgstr "å†ç”Ÿä½ç½®ã‚’移動..."
+msgstr "指定ä½ç½®ã«ç§»å‹•..."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
@@ -189,8 +189,8 @@ msgid "About"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 (Authors.txt ファイルをå‚ç…§)"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 (Authors.txt ファイルをå‚ç…§)"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -286,7 +286,7 @@ msgstr "OSD を表示ã™ã‚‹ (å†èµ·å‹•ãŒå¿…è¦)"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
msgid "Limit window proportions on resize"
-msgstr "リサイズ時ã«ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ サイズã®ç¸¦æ¨ªæ¯”を固定ã™ã‚‹"
+msgstr "サイズ変更時ã«ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ サイズã®ç¸¦æ¨ªæ¯”を固定ã™ã‚‹"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
msgid "Snap to desktop edges"
@@ -454,7 +454,7 @@ msgstr "音声:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "外部スプリッタã§ã®é¸æŠžã‚’上書ãã§ãるよã†ã«ã™ã‚‹"
+msgstr "外部スプリッタã§ã®é¸æŠžã®ä¸Šæ›¸ãを許å¯ã™ã‚‹"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -470,7 +470,7 @@ msgstr "表示ã§ããªã„ピンを報告ã™ã‚‹"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
msgid "Auto-load audio files"
-msgstr "音声ファイルを自動ã§èª­ã¿è¾¼ã‚€"
+msgstr "オーディオ ファイルを自動ã§èª­ã¿è¾¼ã‚€"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK3"
msgid "Use the built-in subtitle renderer"
@@ -554,7 +554,7 @@ msgstr "% ã§ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³åŒ–ã™ã‚‹"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "キューãŒé…ã‚Œã¦å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹å ´åˆã€ã‚µãƒ–ピクãƒãƒ£ã®ãƒ‰ãƒ­ãƒƒãƒ—を許å¯ã™ã‚‹"
+msgstr "キューãŒé…ã‚Œã¦å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹å ´åˆã€ã‚µãƒ–ピクãƒãƒ£ã®è„±è½ã‚’許å¯ã™ã‚‹"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -570,7 +570,7 @@ msgstr "警告"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your cpu."
-msgstr "ビデオカードã®è¨­å®šã§å…¨ç”»é¢è¡¨ç¤ºã®ã‚¢ãƒ³ãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’有効ã«ã—ãŸå ´åˆã€CPU を消費ã™ã‚‹ã®ã¿ã§å­—幕ã¯å°‘ã—も綺麗ã«ãªã‚Šã¾ã›ã‚“。"
+msgstr "字幕ã®é…置を強制的ã«æŒ‡å®šã—ã€ãƒ“デオカードã®è¨­å®šã§å…¨ç”»é¢è¡¨ç¤ºã®ã‚¢ãƒ³ãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’有効ã«ã—ãŸå ´åˆã€CPU を消費ã™ã‚‹ã®ã¿ã§å­—幕ã¯å°‘ã—も綺麗ã«ãªã‚Šã¾ã›ã‚“。"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -650,7 +650,7 @@ msgstr "DVD"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
msgid "Audio CD"
-msgstr "オーディオ CD"
+msgstr "音楽 CD"
msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
msgid "Jump distances (small, medium, large in ms)"
@@ -674,7 +674,7 @@ msgstr "「ç¾åœ¨å†ç”Ÿä¸­ã€ ã®ãƒ•ã‚¡ã‚¤ãƒ«æƒ…報を Skype ã®ãƒ ãƒ¼ãƒ‰ メッ
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
-msgstr "既定ã®ãƒ¢ãƒ‹ã‚¿ä»¥å¤–ã§å…¨ç”»é¢è¡¨ç¤ºã—ã¦ã„ã‚‹å ´åˆã€ãƒ—レーヤーを最å°åŒ–ã—ãªã„"
+msgstr "既定ã®ãƒ¢ãƒ‹ã‚¿ä»¥å¤–ã§å…¨ç”»é¢è¡¨ç¤ºã—ã¦ã„ã‚‹å ´åˆã€ãƒ—レーヤーを最å°åŒ–ã§ããªã„よã†ã«ã™ã‚‹"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_WIN7"
msgid "Use Windows 7 Taskbar features"
@@ -682,7 +682,7 @@ msgstr "Windows 7 ã®ã‚¿ã‚¹ã‚¯ãƒãƒ¼ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
msgid "Open next/previous file in folder on \"Skip back/forward\" when there is only one item in playlist"
-msgstr "一ã¤ã®é …ç›®ã®ã¿ãŒå†ç”Ÿãƒªã‚¹ãƒˆã«æ®‹ã£ã¦ã„ã‚‹å ´åˆã€ 「å‰ã¸/次ã¸ã€ ã§ãƒ•ã‚©ãƒ«ãƒ€å†…ã®å‰/次ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã"
+msgstr "å†ç”Ÿãƒªã‚¹ãƒˆå†…ã«ä¸€ã¤ã®é …ç›®ã®ã¿ãŒã‚ã‚‹å ´åˆã€ 「å‰ã¸/次ã¸ã€ ã§ãƒ•ã‚©ãƒ«ãƒ€å†…ã®å‰/次ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã"
msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
msgid "Use time tooltip:"
@@ -822,11 +822,11 @@ msgstr "åå‰ã®å¤‰æ›´"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
msgid "Move Up"
-msgstr "上ã¸"
+msgstr "上ã¸ç§»å‹•"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
msgid "Move Down"
-msgstr "下ã¸"
+msgstr "下ã¸ç§»å‹•"
msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
msgid "Delete"
@@ -1134,15 +1134,15 @@ msgstr "サーフェス:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Resizer:"
-msgstr "補間方法:"
+msgstr "リサイザ:"
msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
msgid "Select D3D9 Render Device"
-msgstr "Direct3D 9 レンダラ デãƒã‚¤ã‚¹ã‚’é¸æŠž"
+msgstr "Direct3D 9 レンダラ デãƒã‚¤ã‚¹ã‚’é¸æŠžã™ã‚‹"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "表示変更時ã«å†åˆæœŸåŒ–ã™ã‚‹"
+msgstr "ディスプレイ変更時ã«å†åˆæœŸåŒ–ã™ã‚‹"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
@@ -1210,7 +1210,7 @@ msgstr "デãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
msgid "Serve pages from:"
-msgstr "サーãƒã®ãƒ«ãƒ¼ãƒˆ ディレクトリ:"
+msgstr "サーãƒãƒ¼ã®ãƒ«ãƒ¼ãƒˆ ディレクトリ:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
@@ -1246,7 +1246,7 @@ msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜..."
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Color controls (for VMR-9, EVR and madVR)"
-msgstr "カラー コントロール (VMR-9, EVR åŠã³ madVR 用)"
+msgstr "カラー コントロール (VMR-9, EVR ãŠã‚ˆã³ madVR 用)"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Brightness"
@@ -1274,7 +1274,7 @@ msgstr "æ›´æ–°ã®ç¢ºèª"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr "自動更新ã®ç¢ºèªã‚’有効ã«ã™ã‚‹"
+msgstr "æ›´æ–°ã®è‡ªå‹•ç¢ºèªã‚’有効ã«ã™ã‚‹"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Delay between each check:"
@@ -1522,11 +1522,11 @@ msgstr "スキャン"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
msgid "Prefer forced and/or default subtitles tracks"
-msgstr "強制字幕åŠã³æ—¢å®šã®å­—幕トラックã¾ãŸã¯ãã®ã©ã¡ã‚‰ã‹ã‚’é¸æŠžã™ã‚‹"
+msgstr "強制字幕トラックãŠã‚ˆã³ã¾ãŸã¯æ—¢å®šã®å­—幕トラックを優先ã™ã‚‹"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
msgid "Prefer external subtitles over embedded subtitles"
-msgstr "埋ã‚è¾¼ã¾ã‚ŒãŸå­—幕ã§ã¯ãªã外部字幕をé¸æŠžã™ã‚‹"
+msgstr "埋ã‚è¾¼ã¾ã‚ŒãŸå­—幕ã§ã¯ãªã外部字幕を優先ã™ã‚‹"
msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
msgid "Ignore embedded subtitles"
@@ -1582,11 +1582,11 @@ msgstr "消去"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
msgid "Add to pre-resize"
-msgstr "リサイズå‰ã®ã‚·ã‚§ãƒ¼ãƒ€ã«è¿½åŠ "
+msgstr "サイズ変更å‰ã®ã‚·ã‚§ãƒ¼ãƒ€ã«è¿½åŠ "
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
msgid "Add to post-resize"
-msgstr "リサイズ後ã®ã‚·ã‚§ãƒ¼ãƒ€ã«è¿½åŠ "
+msgstr "サイズ変更後ã®ã‚·ã‚§ãƒ¼ãƒ€ã«è¿½åŠ "
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shader presets"
@@ -1606,11 +1606,11 @@ msgstr "削除"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active pre-resize shaders"
-msgstr "アクティブãªãƒªã‚µã‚¤ã‚ºå‰ã®ã‚·ã‚§ãƒ¼ãƒ€"
+msgstr "アクティブãªã‚µã‚¤ã‚ºå¤‰æ›´å‰ã®ã‚·ã‚§ãƒ¼ãƒ€"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Active post-resize shaders"
-msgstr "アクティブãªãƒªã‚µã‚¤ã‚ºå¾Œã®ã‚·ã‚§ãƒ¼ãƒ€"
+msgstr "アクティブãªã‚µã‚¤ã‚ºå¤‰æ›´å¾Œã®ã‚·ã‚§ãƒ¼ãƒ€"
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
index 9bfc57125..1fa1bec58 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# ever_green, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-27 11:57+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-12-28 10:21+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "モニタã®é›»æºã‚’切る(&M)"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "フォルダ内を順次å†ç”Ÿã™ã‚‹(&N)"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "æ“作(&N)"
@@ -626,7 +630,7 @@ msgstr "次ã¸(&N)"
msgctxt "ID_NAVIGATE_GOTO"
msgid "&Go To..."
-msgstr "å†ç”Ÿä½ç½®ã‚’移動(&G)..."
+msgstr "指定ä½ç½®ã«ç§»å‹•(&G)..."
msgctxt "ID_NAVIGATE_TITLEMENU"
msgid "&Title Menu"
@@ -666,7 +670,7 @@ msgstr "ホームページ(&H)"
msgctxt "ID_HELP_CHECKFORUPDATE"
msgid "Check for &updates"
-msgstr "更新を確èªã™ã‚‹(&U)"
+msgstr "æ›´æ–°ã®ç¢ºèª(&U)"
msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
msgid "&Command Line Switches"
@@ -678,7 +682,7 @@ msgstr "ツールãƒãƒ¼ã®ç”»åƒã‚’ダウンロード(&T)"
msgctxt "ID_HELP_DONATE"
msgid "&Donate"
-msgstr "寄付ã™ã‚‹(&D)"
+msgstr "寄付(&D)"
msgctxt "ID_HELP_ABOUT"
msgid "&About..."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
index 7483a9796..efe2af281 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ja.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# ever_green, 2014
+# ever_green, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-02 11:31+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2015-01-23 14:41+0000\n"
"Last-Translator: ever_green\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/mpc-hc/language/ja/)\n"
"MIME-Version: 1.0\n"
@@ -50,7 +50,7 @@ msgstr "音楽ã®å†ç”Ÿ"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "オーディオ CD ã®å†ç”Ÿ"
+msgstr "音楽 CD ã®å†ç”Ÿ"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
@@ -122,7 +122,7 @@ msgstr "何もã—ãªã„ (最速ã®ã‚¢ãƒ—ローãƒ)"
msgctxt "IDS_PPAGE_CAPTURE_FG1"
msgid "Only when switching different video types (default)"
-msgstr "ç•°ãªã‚‹ãƒ“デオ タイプã«åˆ‡ã‚Šæ›¿ãˆã‚‹å ´åˆã«ã®ã¿ (既定)"
+msgstr "ç•°ãªã‚‹ãƒ“デオ タイプã«åˆ‡ã‚Šæ›¿ãˆãŸå ´åˆã«ã®ã¿ (既定)"
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
@@ -134,7 +134,7 @@ msgstr "一部ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„。二ã¤ã®ãƒ“デ
msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
-msgstr "ç•°ãªã‚‹ãƒ“デオ ストリームã«åˆ‡ã‚Šæ›¿ãˆã‚‹å ´åˆã‚’除ã„ã¦é€Ÿã„。一ã¤ã®ãƒ“デオ デコーダã®ã¿ãŒãƒ•ã‚£ãƒ«ã‚¿ グラフã«å­˜åœ¨ã™ã‚‹ã€‚"
+msgstr "ç•°ãªã‚‹ãƒ“デオ ストリームã«åˆ‡ã‚Šæ›¿ãˆãŸå ´åˆã‚’除ã„ã¦é€Ÿã„。一ã¤ã®ãƒ“デオ デコーダã®ã¿ãŒãƒ•ã‚£ãƒ«ã‚¿ グラフã«å­˜åœ¨ã™ã‚‹ã€‚"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
msgid "Not recommended. Only for testing purposes."
@@ -146,7 +146,7 @@ msgstr "ã§ãã‚Œã°ä½¿ç”¨ã—ãªã„ (最速ã ãŒã€ã»ã¨ã‚“ã©ã®ãƒ•ã‚£ãƒ«ã‚¿ã
msgctxt "IDS_PPAGE_CAPTURE_SFG1"
msgid "Only when switching different video types (default)"
-msgstr "ç•°ãªã‚‹ãƒ“デオ タイプã«åˆ‡ã‚Šæ›¿ãˆã‚‹å ´åˆã«ã®ã¿ (既定)"
+msgstr "ç•°ãªã‚‹ãƒ“デオ タイプã«åˆ‡ã‚Šæ›¿ãˆãŸå ´åˆã«ã®ã¿ (既定)"
msgctxt "IDS_PPAGE_CAPTURE_SFG2"
msgid "Always (may be required by some devices)"
@@ -254,7 +254,7 @@ msgstr "グラフ㫠ビデオ キャプãƒãƒ£ フィルタを追加ã§ãã¾ã›
msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
msgid "Can't add audio capture filter to the graph"
-msgstr "グラフ㫠オーディオ キャプãƒãƒ£ フィルタを追加ã§ãã¾ã›ã‚“"
+msgstr "グラフã«ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª キャプãƒãƒ£ フィルタを追加ã§ãã¾ã›ã‚“"
msgctxt "IDS_CAPTURE_ERROR_DEVICE"
msgid "Could not open capture device."
@@ -270,7 +270,7 @@ msgstr "編集リストエディタ"
msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
msgid "The entered time is greater than the file duration."
-msgstr "入力ã—ãŸæ™‚é–“ãŒãƒ•ã‚¡ã‚¤ãƒ«ã®å†ç”Ÿæ™‚間よりも大ãããªã£ã¦ã„ã¾ã™ã€‚"
+msgstr "入力ã•ã‚ŒãŸæ™‚é–“ãŒãƒ•ã‚¡ã‚¤ãƒ«ã®å†ç”Ÿæ™‚間よりも大ãããªã£ã¦ã„ã¾ã™ã€‚"
msgctxt "IDS_MISSING_ICONS_LIB"
msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
@@ -386,11 +386,11 @@ msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜(&S)..."
msgctxt "IDS_PLAYLIST_SORTBYLABEL"
msgid "Sort by &label"
-msgstr "åå‰é †ã§ä¸¦ã³æ›¿ãˆ(&L)"
+msgstr "åå‰é †ã«ä¸¦ã¹æ›¿ãˆã‚‹(&L)"
msgctxt "IDS_PLAYLIST_SORTBYPATH"
msgid "Sort by &path"
-msgstr "パス順ã§ä¸¦ã³æ›¿ãˆ(&P)"
+msgstr "パス順ã«ä¸¦ã¹æ›¿ãˆã‚‹(&P)"
msgctxt "IDS_PLAYLIST_RANDOMIZE"
msgid "R&andomize"
@@ -514,7 +514,7 @@ msgstr "EVR (カスタム プレゼンタ)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr "Haali ビデオ レンダラ"
+msgstr "Haali Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
@@ -522,7 +522,7 @@ msgstr "無効 (ã™ã¹ã¦)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "無効 (無圧縮)"
+msgstr "無効 (éžåœ§ç¸®)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -618,15 +618,15 @@ msgstr "VMR-9 (ウィンドウ) ã¨åŒã˜ã§ã™ãŒã€å­—幕用㮠MPC-HC ã®ã‚¢ã
msgctxt "IDC_DSDXR"
msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
-msgstr "VMR-9 (レンダーレス) ã¨åŒã˜ã§ã™ãŒã€çœŸã® 2 パス ãƒã‚¤ã‚­ãƒ¥ãƒ¼ãƒ“ック リサイザを使用ã—ã¾ã™ã€‚"
+msgstr "VMR-9 (レンダーレス) ã¨åŒã˜ã§ã™ãŒã€æœ‰åŠ¹ãª 2 パス ãƒã‚¤ã‚­ãƒ¥ãƒ¼ãƒ“ック リサイザを使用ã—ã¾ã™ã€‚"
msgctxt "IDC_DSNULL_COMP"
msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
-msgstr "ã©ã‚“ãªå‹•ç”»ã®ã‚ˆã†ãªãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã«ã‚‚接続ã—ã€å…¥åŠ›ã‚µãƒ³ãƒ—ルをã©ã“ã«ã‚‚出力ã—ã¾ã›ã‚“。映åƒã®è¡¨ç¤ºãŒä¸è¦ã§ã€CPU ã«ç„¡é§„ãªå‹•ä½œã‚’ã•ã›ãŸããªã„å ´åˆã«ä½¿ç”¨ã—ã¦ãã ã•ã„。"
+msgstr "ã©ã‚“ãªå‹•ç”»ã®ã‚ˆã†ãªãƒ¡ãƒ‡ã‚£ã‚¢ タイプã«ã‚‚接続ã—ã€å…¥åŠ›ã‚µãƒ³ãƒ—ルをã©ã“ã«ã‚‚出力ã—ã¾ã›ã‚“。映åƒã®è¡¨ç¤ºãŒä¸è¦ã§ã€CPU ã«ç„¡é§„ãªå‹•ä½œã‚’ã•ã›ãŸããªã„å ´åˆã«ä½¿ç”¨ã—ã¦ãã ã•ã„。"
msgctxt "IDC_DSNULL_UNCOMP"
msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
-msgstr "無効 (ã™ã¹ã¦) ã¨åŒã˜ã§ã™ãŒã€ã“ã¡ã‚‰ã¯ç„¡åœ§ç¸®ã‚¿ã‚¤ãƒ—ã«ã®ã¿æŽ¥ç¶šã—ã¾ã™ã€‚"
+msgstr "無効 (ã™ã¹ã¦) ã¨åŒã˜ã§ã™ãŒã€ã“ã¡ã‚‰ã¯éžåœ§ç¸®ã‚¿ã‚¤ãƒ—ã«ã®ã¿æŽ¥ç¶šã—ã¾ã™ã€‚"
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
@@ -658,7 +658,7 @@ msgstr "VMR-9 (レンダーレス) ã® DirectX 9 ベースã®ã‚¢ãƒ­ã‚±ãƒ¼ã‚¿ プ
msgctxt "IDC_QTSYSDEF"
msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
-msgstr "QuickTime 独自ã®ãƒ¬ãƒ³ãƒ€ãƒ©ã§ã™ã€‚映åƒã®è¡¨ç¤ºé ˜åŸŸãŒãƒªã‚µã‚¤ã‚ºã•ã‚ŒãŸã‚Šã€ä»–ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ã‚ˆã£ã¦éƒ¨åˆ†çš„ã«éš ã•ã‚ŒãŸã‚Šã™ã‚‹ã¨å°‘ã—é…ããªã‚Šã¾ã™ã€‚オーãƒãƒ¼ãƒ¬ã‚¤ãŒä½¿ç”¨ã§ããªã„å ´åˆã€ GDI ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
+msgstr "QuickTime 独自ã®ãƒ¬ãƒ³ãƒ€ãƒ©ã§ã™ã€‚ビデオã®è¡¨ç¤ºé ˜åŸŸãŒã‚µã‚¤ã‚ºå¤‰æ›´ã•ã‚ŒãŸã‚Šã€ä»–ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ã‚ˆã£ã¦éƒ¨åˆ†çš„ã«éš ã•ã‚ŒãŸã‚Šã™ã‚‹ã¨å°‘ã—é…ããªã‚Šã¾ã™ã€‚オーãƒãƒ¼ãƒ¬ã‚¤ãŒä½¿ç”¨ã§ããªã„å ´åˆã€ GDI ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
msgctxt "IDC_QTDX7"
msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
@@ -674,7 +674,7 @@ msgstr "ビデオ サーフェスを通常ã®ã‚ªãƒ•ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ サーフェã
msgctxt "IDC_AUDRND_COMBO"
msgid "MPC Audio Renderer is broken, do not use."
-msgstr "MPC オーディオ レンダラã¯å£Šã‚Œã¦ã„ã¾ã™ã€‚使用ã—ãªã„ã§ãã ã•ã„。"
+msgstr "MPC Audio Renderer ã¯å£Šã‚Œã¦ã„ã¾ã™ã€‚使用ã—ãªã„ã§ãã ã•ã„。"
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
@@ -738,11 +738,11 @@ msgstr "無効 (ã™ã¹ã¦)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr "無効 (無圧縮)"
+msgstr "無効 (éžåœ§ç¸®)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
msgid "MPC-HC Audio Renderer"
-msgstr "MPC-HC オーディオ レンダラ"
+msgstr "MPC-HC Audio Renderer"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -789,8 +789,8 @@ msgid "Couldn't find all archive volumes"
msgstr "ã™ã¹ã¦ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ– ボリュームを見ã¤ã‘られã¾ã›ã‚“ã§ã—ãŸ"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "ビデオ サーフェスをテクスãƒãƒ£ã¨ã—ã¦å‰²ã‚Šå½“ã¦ã¾ã™ãŒã€ãƒãƒƒã‚¯ãƒãƒƒãƒ•ã‚¡ã¸ã®ã‚³ãƒ”ーã¨ä¼¸å¼µã«ã¯ 2D 関数を使用ã—ã¾ã™ã€‚å°‘ãªãã¨ã‚‚映åƒã®è§£åƒåº¦ã®è¡¨ç¤ºã§ã€32 ビットã€RGBAã€2 ã®ç´¯ä¹—ã§ãªã„サイズã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’割り当ã¦ã‚‹ã“ã¨ãŒã§ãるビデオカードãŒå¿…è¦ã§ã™ã€‚"
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "ビデオ サーフェスをテクスãƒãƒ£ã¨ã—ã¦å‰²ã‚Šå½“ã¦ã¾ã™ãŒã€ãƒãƒƒã‚¯ãƒãƒƒãƒ•ã‚¡ã¸ã®ã‚³ãƒ”ーã¨ä¼¸å¼µã«ã¯ 2D 関数を使用ã—ã¾ã™ã€‚å°‘ãªãã¨ã‚‚ビデオã®è§£åƒåº¦ã®è¡¨ç¤ºã§ã€32 ビットã€RGBAã€2 ã®ç´¯ä¹—ã§ãªã„サイズã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’割り当ã¦ã‚‹ã“ã¨ãŒã§ãるビデオ カードãŒå¿…è¦ã§ã™ã€‚"
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -810,7 +810,7 @@ msgstr "レンダラã®äº’æ›æ€§ã‚’犠牲ã«ã—ã¦ãƒ‘フォーマンスをå‘上
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
-msgstr "テアリングを減らã—ã¾ã™ãŒã€ãƒ„ールãƒãƒ¼ã‚’表示ã§ãã¾ã›ã‚“。"
+msgstr "テアリングを減らã—ã¾ã™ãŒã€ãƒ„ールãƒãƒ¼ãŒè¡¨ç¤ºã•ã‚Œãªããªã‚Šã¾ã™ã€‚"
msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Reduces tearing by bypassing the default VSync built into D3D."
@@ -830,7 +830,7 @@ msgstr "LAV Filters を使用ã—ã¾ã™"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr "LAV Filters を使用ã—ã¾ã™ã€‚マイクロソフトã®ãƒ•ã‚£ãƒ«ã‚¿ãŒã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã«ã¯ã‚ˆã‚Šå®‰å®šã—ã¦ã„ã‚‹ã®ã§ã€æ—¢å®šã§ç„¡åŠ¹ã«ãªã‚Šã¾ã—ãŸã€‚\n内部フィルタを使用ã™ã‚‹å ´åˆã€ã‚ˆã‚Šè‰¯ã„å†ç”Ÿç’°å¢ƒã‚’å¾—ã‚‹ãŸã‚ã«ã‚½ãƒ¼ã‚¹ã¨ãƒ‡ã‚³ãƒ¼ãƒ‰ã§ã“れらを有効ã«ã—ã¦ãã ã•ã„。"
+msgstr "LAV Filters を使用ã—ã¾ã™ã€‚マイクロソフトã®ãƒ•ã‚£ãƒ«ã‚¿ãŒã“れらã®ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã«ã¯ã‚ˆã‚Šå®‰å®šã—ã¦ã„ã‚‹ã®ã§ã€æ—¢å®šã§ç„¡åŠ¹ã«ãªã‚Šã¾ã—ãŸã€‚\n内部フィルタを使用ã™ã‚‹å ´åˆã€ã‚ˆã‚Šè‰¯ã„å†ç”Ÿç’°å¢ƒã‚’å¾—ã‚‹ãŸã‚ã«ã‚½ãƒ¼ã‚¹ãŠã‚ˆã³ãƒ‡ã‚³ãƒ¼ãƒ‰ã§ã“れらを有効ã«ã—ã¦ãã ã•ã„。"
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
@@ -1146,7 +1146,7 @@ msgstr "ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ« (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "音声ファイル (ã™ã¹ã¦ã®ç¨®é¡ž)"
+msgstr "オーディオ ファイル (ã™ã¹ã¦ã®ç¨®é¡ž)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1166,11 +1166,11 @@ msgstr "DVD/BD ã‚’é–‹ã"
msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
msgid "Failed to set post-resize shaders"
-msgstr "リサイズ後ã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "サイズ変更後ã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
msgid "Failed to set both pre-resize and post-resize shaders"
-msgstr "リサイズå‰ã¨ãƒªã‚µã‚¤ã‚ºå¾Œã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "サイズ変更å‰ã¨ã‚µã‚¤ã‚ºå¤‰æ›´å¾Œã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
msgid "Shaders are recompiled automatically when the corresponding files are modified."
@@ -1270,7 +1270,7 @@ msgstr "ウィンドウ モードã§ã‚‚コントロールやパãƒãƒ«ã‚’éš ã—ã
msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
msgid "Prevent external subtitle renderer to be loaded when internal is in use."
-msgstr "内蔵ã®å­—幕レンダラを使用ã—ã¦ã„ã‚‹å ´åˆã€å¤–部ã®å­—幕レンダラを読ã¿è¾¼ã¿ã¾ã›ã‚“。"
+msgstr "内蔵ã®å­—幕レンダラを使用ã—ã¦ã„ã‚‹å ´åˆã€å¤–部ã®å­—幕レンダラを読ã¿è¾¼ã¾ãªã„よã†ã«ã—ã¾ã™ã€‚"
msgctxt "IDS_PPAGEADVANCED_COL_NAME"
msgid "Name"
@@ -1336,6 +1336,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<未定義>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "視è´"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "上ã¸ç§»å‹•"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "下ã¸ç§»å‹•"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "LCN é †ã«ä¸¦ã¹æ›¿ãˆã‚‹"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "ã™ã¹ã¦å‰Šé™¤"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "リストã‹ã‚‰ã™ã¹ã¦ã®ãƒãƒ£ãƒ³ãƒãƒ«ã‚’削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "利用ã§ãる情報ã¯ã‚ã‚Šã¾ã›ã‚“"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "ãŠå¾…ã¡ãã ã•ã„。分æžä¸­..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "縦横比 %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "デãƒã‚¤ã‚¹ã‚’é–‹ã"
@@ -1394,7 +1430,7 @@ msgstr "コマ戻ã—"
msgctxt "IDS_AG_GO_TO"
msgid "Go To"
-msgstr "å†ç”Ÿä½ç½®ã‚’移動"
+msgstr "指定ä½ç½®ã«ç§»å‹•"
msgctxt "IDS_AG_INCREASE_RATE"
msgid "Increase Rate"
@@ -1462,7 +1498,7 @@ msgstr "コントロールをホãƒãƒªãƒ³ã‚°ã—ã¦ã„る時ã¯è¡¨ç¤ºã™ã‚‹ã€‚ 
msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
msgid "Failed to set pre-resize shaders"
-msgstr "リサイズå‰ã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "サイズ変更å‰ã®ã‚·ã‚§ãƒ¼ãƒ€ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
msgid "Frame Time Correction: On"
@@ -1537,12 +1573,12 @@ msgid "Reset Rate"
msgstr "å†ç”Ÿé€Ÿåº¦ 標準"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "音声ã®é…延 +10ms"
+msgid "Audio Delay +10 ms"
+msgstr "音声ã®é…延 +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "音声ã®é…延 -10ms"
+msgid "Audio Delay -10 ms"
+msgstr "音声ã®é…延 -10 ms"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1598,11 +1634,11 @@ msgstr "Direct3D フルスクリーンã«åˆ‡ã‚Šæ›¿ãˆ"
msgctxt "IDS_MPLAYERC_100"
msgid "Goto Prev Subtitle"
-msgstr "å‰ã®å­—幕ã¸"
+msgstr "å‰ã®å­—幕ã«ç§»å‹•"
msgctxt "IDS_MPLAYERC_101"
msgid "Goto Next Subtitle"
-msgstr "次ã®å­—幕ã¸"
+msgstr "次ã®å­—幕ã«ç§»å‹•"
msgctxt "IDS_MPLAYERC_102"
msgid "Shift Subtitle Left"
@@ -1697,12 +1733,12 @@ msgid "No subtitles found."
msgstr "字幕ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d 個ã®å­—幕ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "MPC-HC ã®æ›´æ–°ã‚’定期的ã«ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ\n\nã“ã®æ©Ÿèƒ½ã¯ã‚ªãƒ—ションã®ãã®ä»–ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰å¾Œã§ç„¡åŠ¹ã«ã§ãã¾ã™ã€‚"
+msgstr "MPC-HC ã®æ›´æ–°ã‚’定期的ã«ç¢ºèªã—ã¾ã™ã‹ï¼Ÿ\n\nã“ã®æ©Ÿèƒ½ã¯ãã®ä»–ã®ã‚ªãƒ—ションã®ãƒšãƒ¼ã‚¸ã‹ã‚‰å¾Œã§ç„¡åŠ¹ã«ã§ãã¾ã™ã€‚"
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2025,12 +2061,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "ボリューム: %02lu/%02lu, タイトル: %02lu/%02lu, ãƒãƒ£ãƒ—ター: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "アングル: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "アングル: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dビット %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d ビット %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2046,7 +2082,7 @@ msgstr "MPC-HC ã¯ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã®é–¢é€£ä»˜ã‘を変更ã™ã‚‹å分ãªæ¨©é™
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
-msgstr "MPC-HC ã¯éžå¸¸ã«è»½é‡ãª Windows 用オープン ソースã®ãƒ¡ãƒ‡ã‚£ã‚¢ プレーヤーã§ã™ã€‚å†ç”Ÿã«ä½¿ç”¨ã•ã‚Œã‚‹ä¸€èˆ¬çš„ãªã™ã¹ã¦ã®ãƒ“デオåŠã³ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª ファイル形å¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ç§ãŸã¡ã¯ 100ï¼… スパイウェアをå«ã¾ãšã€åºƒå‘Šã‚„ツールãƒãƒ¼ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "MPC-HC ã¯éžå¸¸ã«è»½é‡ãª Windows 用オープン ソースã®ãƒ¡ãƒ‡ã‚£ã‚¢ プレーヤーã§ã™ã€‚å†ç”Ÿã«ä½¿ç”¨ã•ã‚Œã‚‹ä¸€èˆ¬çš„ãªã™ã¹ã¦ã®ãƒ“デオãŠã‚ˆã³ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª ファイル形å¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ç§ãŸã¡ã¯ 100ï¼… スパイウェアをå«ã¾ãšã€åºƒå‘Šã‚„ツールãƒãƒ¼ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
msgctxt "IDS_MAINFRM_12"
msgid "channel"
@@ -2094,7 +2130,7 @@ msgstr "DVD: ディスクã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã¨ãƒ‡ã‚³ãƒ¼ãƒ€ã®ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã®ä
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "ã“ã®ã‚ªãƒ—ションã¯ãƒ†ã‚¢ãƒªãƒ³ã‚°ã‚’除去ã™ã‚‹ãŸã‚ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ãŒã€å‹•ç”»ã®å†ç”Ÿä¸­ã«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ メニューã¨ãƒ€ã‚¤ã‚¢ãƒ­ã‚° ボックスを表示ã§ããªããªã‚Šã¾ã™ã€‚\n\n本当ã«ã“ã®ã‚ªãƒ—ションを有効ã«ã—ã¾ã™ã‹ï¼Ÿ"
+msgstr "ã“ã®ã‚ªãƒ—ションã¯ãƒ†ã‚¢ãƒªãƒ³ã‚°ã‚’除去ã™ã‚‹ãŸã‚ã«è¨­è¨ˆã•ã‚Œã¦ã„ã¾ã™ãŒã€å†ç”Ÿä¸­ã«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ メニューã¨ãƒ€ã‚¤ã‚¢ãƒ­ã‚° ボックスを表示ã§ããªããªã‚Šã¾ã™ã€‚\n\n本当ã«ã“ã®ã‚ªãƒ—ションを有効ã«ã—ã¾ã™ã‹ï¼Ÿ"
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2137,20 +2173,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", åˆè¨ˆ: %ld, 破棄: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", サイズ: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", サイズ: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", サイズ: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", サイズ: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", フリー: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", フリー: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", フリー: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", フリー: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2174,7 +2210,7 @@ msgstr "DVD/BD ã®ãƒ‘スをé¸æŠžã—ã¦ãã ã•ã„:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "正常ã«èª­ã¿è¾¼ã¾ã‚Œã¾ã—ãŸ"
+msgstr " 正常ã«èª­ã¿è¾¼ã¾ã‚Œã¾ã—ãŸ"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2237,8 +2273,8 @@ msgid "Aspect Ratio: Default"
msgstr "縦横比: 標準"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "音声ã®é…延: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "音声ã®é…延: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2406,7 +2442,7 @@ msgstr "プロパティ(&R)..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "ピンã®ãƒ—ロパティ..."
+msgstr " (ピン) プロパティ..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "音é‡ã®ãƒ–ースト 最大"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "使用方法: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\t最åˆã®ãƒ•ã‚¡ã‚¤ãƒ«ã‹ãƒ•ã‚©ãƒ«ãƒ€ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ (ワイルドカードã®ä½¿ç”¨å¯, \"-\" ãŒæ¨™æº–入力を表ã™)\n/dub \"dubname\"\t追加ã®éŸ³å£°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã‚€\n/dubdelay \"file\"\t追加ã®éŸ³å£°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ XXms シフトã—ã¦èª­ã¿è¾¼ã‚€ (ファイル㌠\"...DELAY XXms...\" ã‚’å«ã‚€å ´åˆ)\n/d3dfs\t\tDirect3D フルスクリーン モードã§èµ·å‹•ã™ã‚‹\n/sub \"subname\"\t追加ã®å­—幕ファイルを読ã¿è¾¼ã‚€\n/filter \"filtername\"\tDLL ã‹ã‚‰ DirectShow フィルタを読ã¿è¾¼ã‚€ (ワイルドカードã®ä½¿ç”¨å¯)\n/dvd\t\tDVD モードã§èµ·å‹•ã™ã‚‹, \"pathname\" 㯠DVD フォルダを表㙠(çœç•¥å¯èƒ½)\n/dvdpos T#C\tタイトル T ã®ãƒãƒ£ãƒ—ター C ã‹ã‚‰å†ç”Ÿã™ã‚‹\n/dvdpos T#hh:mm\tタイトル T ã®ä½ç½® hh:mm:ss ã‹ã‚‰å†ç”Ÿã™ã‚‹\n/cd\t\tオーディオ CD ã¾ãŸã¯ (S)VCD ã®å…¨ãƒˆãƒ©ãƒƒã‚¯ã‚’読ã¿è¾¼ã‚€, \"pathname\" ã¯ãƒ‰ãƒ©ã‚¤ãƒ– パスを指定ã™ã‚‹ (çœç•¥å¯èƒ½)\n/device\t\t既定ã®ãƒ“デオ デãƒã‚¤ã‚¹ã‚’é–‹ã\n/open\t\t自動ã§å†ç”Ÿã‚’開始ã›ãšã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã\n/play\t\tプレーヤーã®èµ·å‹•ã¨åŒæ™‚ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å†ç”Ÿã™ã‚‹\n/close\t\tå†ç”Ÿçµ‚了後ã«ãƒ—レーヤーを終了ã™ã‚‹ (/play 使用時ã®ã¿æœ‰åŠ¹)\n/shutdown \tå†ç”Ÿçµ‚了後㫠OS をシャットダウンã™ã‚‹\n/fullscreen\t全画é¢è¡¨ç¤ºãƒ¢ãƒ¼ãƒ‰ã§èµ·å‹•ã™ã‚‹\n/minimized\t最å°åŒ–モードã§èµ·å‹•ã™ã‚‹\n/new\t\tæ–°ã—ã„プレーヤーを起動ã™ã‚‹\n/add\t\t\"pathname\" ã‚’å†ç”Ÿãƒªã‚¹ãƒˆã«è¿½åŠ ã™ã‚‹, /open åŠã³ /play ã¨åŒæ™‚ã«ä½¿ç”¨ã§ãã‚‹\n/regvid\t\t動画ファイルを関連付ã‘ã‚‹\n/regaud\t\t音声ファイルを関連付ã‘ã‚‹\n/regpl\t\tå†ç”Ÿãƒªã‚¹ãƒˆ ファイルを関連付ã‘ã‚‹\n/regall\t\tサãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã‚’関連付ã‘ã‚‹\n/unregall\t\tã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®é–¢é€£ä»˜ã‘を解除ã™ã‚‹\n/start ms\t\t\"ms\" (ミリ秒) ã®ä½ç½®ã‹ã‚‰å†ç”Ÿã™ã‚‹\n/startpos hh:mm:ss\thh:mm:ss ã®ä½ç½®ã‹ã‚‰å†ç”Ÿã™ã‚‹\n/fixedsize w,h\tウィンドウ サイズを固定ã™ã‚‹\n/monitor N\tN 番目ã®ãƒ¢ãƒ‹ã‚¿ã§èµ·å‹•ã™ã‚‹ (N 㯠1 ã‹ã‚‰å§‹ã¾ã‚‹) \n/audiorenderer N\tN 番目ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª レンダラを使用ã™ã‚‹ (N 㯠1 ã‹ã‚‰å§‹ã¾ã‚‹) \n\t\t(\"出力\" 設定をå‚ç…§)\n/shaderpreset \"Pr\"\t\"Pr\" シェーダ プリセットを使用ã™ã‚‹\n/reset\t\t既定ã®è¨­å®šã‚’復元ã™ã‚‹\n/help /h /?\tコマンド ライン スイッãƒã®ãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "使用方法: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\t最åˆã®ãƒ•ã‚¡ã‚¤ãƒ«ã‹ãƒ•ã‚©ãƒ«ãƒ€ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ (ワイルドカードã®ä½¿ç”¨å¯, \"-\" ãŒæ¨™æº–入力を表ã™)\n/dub \"dubname\"\t追加ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª ファイルを読ã¿è¾¼ã‚€\n/dubdelay \"file\"\t追加ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª ファイルを XXms シフトã—ã¦èª­ã¿è¾¼ã‚€ (ファイル㌠\"...DELAY XXms...\" ã‚’å«ã‚€å ´åˆ)\n/d3dfs\t\tDirect3D フルスクリーン モードã§èµ·å‹•ã™ã‚‹\n/sub \"subname\"\t追加ã®å­—幕ファイルを読ã¿è¾¼ã‚€\n/filter \"filtername\"\tDLL ã‹ã‚‰ DirectShow フィルタを読ã¿è¾¼ã‚€ (ワイルドカードã®ä½¿ç”¨å¯)\n/dvd\t\tDVD モードã§èµ·å‹•ã™ã‚‹, \"pathname\" 㯠DVD フォルダを表㙠(çœç•¥å¯èƒ½)\n/dvdpos T#C\tタイトル T ã®ãƒãƒ£ãƒ—ター C ã‹ã‚‰å†ç”Ÿã‚’開始ã™ã‚‹\n/dvdpos T#hh:mm\tタイトル T ã® hh:mm:ss ã®ä½ç½®ã‹ã‚‰å†ç”Ÿã‚’開始ã™ã‚‹\n/cd\t\t音楽 CD ã¾ãŸã¯ (S)VCD ã®å…¨ãƒˆãƒ©ãƒƒã‚¯ã‚’読ã¿è¾¼ã‚€, \"pathname\" ã¯ãƒ‰ãƒ©ã‚¤ãƒ– パスを指定ã™ã‚‹ (çœç•¥å¯èƒ½)\n/device\t\t既定ã®ãƒ“デオ デãƒã‚¤ã‚¹ã‚’é–‹ã\n/open\t\t自動ã§å†ç”Ÿã‚’開始ã›ãšã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã\n/play\t\tプレーヤーã®èµ·å‹•ã¨åŒæ™‚ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å†ç”Ÿã™ã‚‹\n/close\t\tå†ç”Ÿçµ‚了後ã«ãƒ—レーヤーを終了ã™ã‚‹ (/play ã®ä½¿ç”¨æ™‚ã®ã¿æœ‰åŠ¹)\n/shutdown \tå†ç”Ÿçµ‚了後㫠OS をシャットダウンã™ã‚‹\n/standby\t\tå†ç”Ÿçµ‚了後㫠OS をスタンãƒã‚¤ モードã«ã™ã‚‹\n/hibernate\t\tå†ç”Ÿçµ‚了後㫠OS を休止状態ã«ã™ã‚‹\n/logoff\t\tå†ç”Ÿçµ‚了後ã«ãƒ­ã‚°ã‚ªãƒ•ã™ã‚‹\n/lock\t\tå†ç”Ÿçµ‚了後ã«ãƒ¯ãƒ¼ã‚¯ã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ロックã™ã‚‹\n/monitoroff\tå†ç”Ÿçµ‚了後ã«ãƒ¢ãƒ‹ã‚¿ã®é›»æºã‚’切る\n/playnext\t\tå†ç”Ÿçµ‚了後ã«ãƒ•ã‚©ãƒ«ãƒ€å†…ã®æ¬¡ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã\n/fullscreen\t全画é¢è¡¨ç¤ºãƒ¢ãƒ¼ãƒ‰ã§èµ·å‹•ã™ã‚‹\n/minimized\t最å°åŒ–モードã§èµ·å‹•ã™ã‚‹\n/new\t\tæ–°ã—ã„プレーヤーを起動ã™ã‚‹\n/add\t\t\"pathname\" ã‚’å†ç”Ÿãƒªã‚¹ãƒˆã«è¿½åŠ ã™ã‚‹, /open ãŠã‚ˆã³ /play ã¨åŒæ™‚ã«ä½¿ç”¨ã§ãã‚‹\n/regvid\t\tビデオ ファイルを関連付ã‘ã‚‹\n/regaud\t\tオーディオ ファイルを関連付ã‘ã‚‹\n/regpl\t\tå†ç”Ÿãƒªã‚¹ãƒˆ ファイルを関連付ã‘ã‚‹\n/regall\t\tサãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ç¨®é¡žã‚’関連付ã‘ã‚‹\n/unregall\t\tã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®é–¢é€£ä»˜ã‘を解除ã™ã‚‹\n/start ms\t\t\"ms\" (ミリ秒) ã®ä½ç½®ã‹ã‚‰å†ç”Ÿã‚’開始ã™ã‚‹\n/startpos hh:mm:ss\thh:mm:ss ã®ä½ç½®ã‹ã‚‰å†ç”Ÿã‚’開始ã™ã‚‹\n/fixedsize w,h\tウィンドウ サイズを固定ã™ã‚‹\n/monitor N\tN 番目 (N 㯠1 ã‹ã‚‰å§‹ã¾ã‚‹) ã®ãƒ¢ãƒ‹ã‚¿ã§èµ·å‹•ã™ã‚‹\n/audiorenderer N\tN 番目 (N 㯠1 ã‹ã‚‰å§‹ã¾ã‚‹) ã®ã‚ªãƒ¼ãƒ‡ã‚£ã‚ª レンダラを使用ã™ã‚‹\n\t\t(\"出力\" 設定をå‚ç…§)\n/shaderpreset \"Pr\"\t\"Pr\" シェーダ プリセットを使用ã™ã‚‹\n/pns \"name\"\t使用ã™ã‚‹ãƒ‘ン&スキャンã®ãƒ—リセットåを指定ã™ã‚‹\n/iconsassoc\tファイル形å¼ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’å†åº¦é–¢é€£ä»˜ã‘ã‚‹\n/nofocus\t\tãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ MPC-HC ã‚’é–‹ã\n/webport N\t指定ã—ãŸãƒãƒ¼ãƒˆä¸Šã§ã‚¦ã‚§ãƒ– インターフェイスを開始ã™ã‚‹\n/debug\t\tOSD ã§ãƒ‡ãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹\n/nominidump\tミニダンプã®ä½œæˆã‚’無効ã«ã™ã‚‹\n/slave \"hWnd\"\tスレーブã¨ã—㦠MPC-HC を使用ã™ã‚‹\n/reset\t\t既定ã®è¨­å®šã‚’復元ã™ã‚‹\n/help /h /?\tコマンド ライン スイッãƒã®ãƒ˜ãƒ«ãƒ—を表示ã™ã‚‹\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2690,15 +2726,15 @@ msgstr "高度ãªè¨­å®š"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seekbar"
-msgstr "シークãƒãƒ¼ã®ä¸Š"
+msgstr "シークãƒãƒ¼ã®ä¸Šã«è¡¨ç¤º"
msgctxt "IDS_TIME_TOOLTIP_BELOW"
msgid "Below seekbar"
-msgstr "シークãƒãƒ¼ã®ä¸‹"
+msgstr "シークãƒãƒ¼ã®ä¸‹ã«è¡¨ç¤º"
msgctxt "IDS_VIDEO_STREAM"
msgid "Video: %s"
-msgstr "ビデオ: %s"
+msgstr "映åƒ: %s"
msgctxt "IDS_APPLY"
msgid "Apply"
@@ -2766,7 +2802,7 @@ msgstr "縦ã‹æ¨ªã«åˆã‚ã›ã¦ã‚«ãƒƒãƒˆ"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
-msgstr "オーディオ: %s"
+msgstr "音声: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "音é‡ã®å›žå¾©: オフ"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "ãƒã‚¤ãƒˆ"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3366,11 +3406,11 @@ msgstr "キャプãƒãƒ£ エラー"
msgctxt "IDS_CAPTURE_ERROR_VIDEO"
msgid "video"
-msgstr "ビデオ"
+msgstr "映åƒ"
msgctxt "IDS_CAPTURE_ERROR_AUDIO"
msgid "audio"
-msgstr "オーディオ"
+msgstr "音声"
msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
msgid "Can't add the %s buffer filter to the graph."
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "å†ç”Ÿçµ‚了後: モニタã®é›»æºã‚’切る"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "å†ç”Ÿçµ‚了後: フォルダ内を順次å†ç”Ÿã™ã‚‹ "
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "å†ç”Ÿçµ‚了後: 何もã—ãªã„"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "明るã•: %s"
@@ -3518,11 +3566,11 @@ msgstr "ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã«é–¢é€£ä»˜ã‘ã¾ã™"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr "動画ファイル形å¼ã«ã®ã¿é–¢é€£ä»˜ã‘ã¾ã™"
+msgstr "ビデオ ファイル形å¼ã«ã®ã¿é–¢é€£ä»˜ã‘ã¾ã™"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr "音声ファイル形å¼ã«ã®ã¿é–¢é€£ä»˜ã‘ã¾ã™"
+msgstr "オーディオ ファイル形å¼ã«ã®ã¿é–¢é€£ä»˜ã‘ã¾ã™"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
index b8ea0db4c..cb97be7fa 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.dialogs.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Level ASMer <zx132435@naver.com>, 2014
# limeburst <me@limeburst.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-11-02 09:10+0000\n"
+"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -82,7 +83,7 @@ msgstr "노멀ë¼ì´ì¦ˆ"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
msgid "Max amplification:"
-msgstr ""
+msgstr "최대 ì¦í­:"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
msgid "%"
@@ -189,8 +190,8 @@ msgid "About"
msgstr "ì •ë³´"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 'Authors.txt' íŒŒì¼ ì°¸ì¡°"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 'Authors.txt' íŒŒì¼ ì°¸ì¡°"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -202,7 +203,7 @@ msgstr "한글번역제공: XNeo(xneokr@naver.com)"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build information"
-msgstr ""
+msgstr "빌드 정보"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Version:"
@@ -214,7 +215,7 @@ msgstr "컴파ì¼ëŸ¬:"
msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
msgid "Not used"
-msgstr ""
+msgstr "사용ë˜ì§€ ì•ŠìŒ"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "Build date:"
@@ -230,7 +231,7 @@ msgstr "ì´ë¦„:"
msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
msgid "Copy to clipboard"
-msgstr ""
+msgstr "í´ë¦½ë³´ë“œì— 복사"
msgctxt "IDD_ABOUTBOX_IDOK"
msgid "OK"
@@ -306,7 +307,7 @@ msgstr "프로세스 우선순위 높ì´ê¸°"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr ""
+msgstr "커버 아트 지ì›ì‹œ 활성화"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -318,7 +319,7 @@ msgstr "ìµœê·¼ì— ì—´ì—ˆë˜ íŒŒì¼ëª©ë¡ 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
msgid "Remember last playlist"
-msgstr ""
+msgstr "마지막 ìž¬ìƒ ëª©ë¡ë¥¼ 기억"
msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
msgid "Remember File position"
@@ -478,7 +479,7 @@ msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Control"
-msgstr ""
+msgstr "컨트롤"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Volume step:"
@@ -594,11 +595,11 @@ msgstr ""
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "ê´€ë¦¬ìž ê¶Œí•œìœ¼ë¡œ 실행"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "기본 프로그램으로 설정"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -930,11 +931,11 @@ msgstr "밀리초"
msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
msgid "Save custom style"
-msgstr ""
+msgstr "ì‚¬ìš©ìž ì •ì˜ ìŠ¤íƒ€ì¼ ì €ìž¥"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr ""
+msgstr "JPEG 품질:"
msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
msgid "Thumbnails:"
@@ -1082,7 +1083,7 @@ msgstr "변환 필터"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
msgid "Internal LAV Filters settings"
-msgstr ""
+msgstr "내장 LAV 필터 설정"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
msgid "Splitter"
@@ -1090,11 +1091,11 @@ msgstr ""
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
msgid "Video decoder"
-msgstr ""
+msgstr "비디오 디코ë”"
msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
msgid "Audio decoder"
-msgstr ""
+msgstr "오디오 디코ë”"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
@@ -1166,19 +1167,19 @@ msgstr "EVR 버í¼:"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "DXVA"
-msgstr ""
+msgstr "DXVA"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Subtitles *"
-msgstr ""
+msgstr "ìžë§‰ *"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Screenshot"
-msgstr ""
+msgstr "스í¬ë¦°ìƒ·"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Shaders"
-msgstr ""
+msgstr "ì…°ì´ë”"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Rotation"
@@ -1270,11 +1271,11 @@ msgstr "리셋"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Update check"
-msgstr ""
+msgstr "ì—…ë°ì´íŠ¸ 확ì¸"
msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
msgid "Enable automatic update check"
-msgstr ""
+msgstr "ìžë™ìœ¼ë¡œ ì—…ë°ì´íŠ¸ í™•ì¸ í™œì„±í™”"
msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
msgid "Delay between each check:"
@@ -1282,7 +1283,7 @@ msgstr ""
msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
msgid "day(s)"
-msgstr ""
+msgstr "ì¼"
msgctxt "IDD_PPAGEMISC_IDC_STATIC"
msgid "Settings management"
@@ -1398,7 +1399,7 @@ msgstr ""
msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
msgid "Stop filter graph"
-msgstr ""
+msgstr "필터 그래프 중단"
msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
msgid "Sync video to display"
@@ -1554,19 +1555,19 @@ msgstr "테스트"
msgctxt "IDD_UPDATE_DIALOG_CAPTION"
msgid "Update Checker"
-msgstr ""
+msgstr "ì—…ë°ì´íŠ¸ 검사"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
msgid "&Download now"
-msgstr ""
+msgstr "지금 다운로드"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
msgid "Remind me &later"
-msgstr ""
+msgstr "ë‚˜ì¤‘ì— ì•Œë¦¼"
msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
msgid "&Ignore this update"
-msgstr ""
+msgstr "ì´ ì—…ë°ì´íŠ¸ë¥¼ 무시"
msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
msgid "Shaders contain special effects which can be added to the video rendering process."
@@ -1574,7 +1575,7 @@ msgstr ""
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
msgid "Add shader file"
-msgstr ""
+msgstr "ì…°ì´ë” íŒŒì¼ ì¶”ê°€"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
msgid "Remove"
@@ -1594,7 +1595,7 @@ msgstr ""
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
msgid "Load"
-msgstr ""
+msgstr "불러오기"
msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
msgid "Save"
@@ -1614,31 +1615,31 @@ msgstr ""
msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
msgid "Debug Shaders"
-msgstr ""
+msgstr "ì…°ì´ë” 디버그"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
msgid "Debug Information"
-msgstr ""
+msgstr "디버그 정보"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
msgid "PS 2.0"
-msgstr ""
+msgstr "PS 2.0"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO2"
msgid "PS 2.0b"
-msgstr ""
+msgstr "PS 2.0b"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO3"
msgid "PS 2.0a"
-msgstr ""
+msgstr "PS 2.0a"
msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO4"
msgid "PS 3.0"
-msgstr ""
+msgstr "PS 3.0"
msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
msgid "Advanced Settings, do not edit unless you know what you are doing."
-msgstr ""
+msgstr "고급 설정, ë‹¹ì‹ ì´ ë¬´ì—‡ì„ í•˜ëŠ”ì§€ 모르시면 편집하지 마십시오."
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
@@ -1654,11 +1655,11 @@ msgstr "기본값"
msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
msgid "JPEG quality:"
-msgstr ""
+msgstr "JPEG 품질:"
msgctxt "IDD_CMD_LINE_HELP_CAPTION"
msgid "Command line help"
-msgstr ""
+msgstr "명령 ìž…ë ¥ ë„움ë§"
msgctxt "IDD_CMD_LINE_HELP_IDOK"
msgid "OK"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
index f2b1495d0..3db821391 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.menus.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Level ASMer <zx132435@naver.com>, 2014
# limeburst <me@limeburst.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:01+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-02 09:01+0000\n"
+"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -610,7 +611,11 @@ msgstr "잠그기"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr ""
+msgstr "모니터를 ë„기"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "í´ë”ì˜ ë‹¤ìŒ íŒŒì¼ì„ 재ìƒ"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
index 28e0d0085..77901bb1e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ko.strings.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
+# Level ASMer <zx132435@naver.com>, 2014
# limeburst <me@limeburst.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-22 03:50+0000\n"
+"Last-Translator: Level ASMer <zx132435@naver.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/mpc-hc/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -50,15 +51,15 @@ msgstr "ìŒì•… 재ìƒ"
msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
msgid "Play Audio CD"
-msgstr "오디오CD 재ìƒ"
+msgstr "오디오 CD 재ìƒ"
msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
msgid "Play DVD Movie"
-msgstr "DVD 재ìƒ"
+msgstr "DVD ì˜í™” 재ìƒ"
msgctxt "IDS_PROPSHEET_PROPERTIES"
msgid "Properties"
-msgstr "등ë¡ì •ë³´"
+msgstr "ë“±ë¡ ì •ë³´"
msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
msgid "&Default Style"
@@ -98,7 +99,7 @@ msgstr "비트레ì´íŠ¸"
msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
msgid "(avg/cur)"
-msgstr "(avg/cur)"
+msgstr ""
msgctxt "IDS_STATSBAR_SIGNAL"
msgid "Signal"
@@ -126,7 +127,7 @@ msgstr ""
msgctxt "IDS_PPAGE_CAPTURE_FG2"
msgid "Always (slowest option)"
-msgstr ""
+msgstr "í•­ìƒ (ëŠë¦° 옵션)"
msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
msgid "Not supported by some devices. Two video decoders always present in the filter graph."
@@ -170,7 +171,7 @@ msgstr ""
msgctxt "IDS_CONTENT_MOVIE_DRAMA"
msgid "Movie/Drama"
-msgstr ""
+msgstr "ì˜í™”/ë“œë¼ë§ˆ"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
@@ -186,15 +187,15 @@ msgstr ""
msgctxt "IDS_DVD_FAV_ADDED"
msgid "DVD added to favorites"
-msgstr ""
+msgstr "DVD를 ì¦ê²¨ì°¾ê¸°ì— 추가"
msgctxt "IDS_CAPTURE_SETTINGS"
msgid "Capture Settings"
-msgstr ""
+msgstr "ìº¡ì³ ì„¤ì •"
msgctxt "IDS_NAVIGATION_BAR"
msgid "Navigation Bar"
-msgstr ""
+msgstr "내비게ì´ì…˜ ë°”"
msgctxt "IDS_SUBRESYNC_CAPTION"
msgid "Subresync"
@@ -322,7 +323,7 @@ msgstr "재ìƒëª©ë¡"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
-msgstr "온/오프"
+msgstr "켬/ë”"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From fps"
@@ -346,7 +347,7 @@ msgstr "그외"
msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
msgid "System Default"
-msgstr ""
+msgstr "시스템 기본값"
msgctxt "IDS_GRAPH_INTERFACES_ERROR"
msgid "Failed to query the needed interfaces for playback"
@@ -450,7 +451,7 @@ msgstr "플레ì´ì–´::형ì‹"
msgctxt "IDD_PPAGETWEAKS"
msgid "Tweaks"
-msgstr "최ì í™”"
+msgstr "시스템 설정"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
@@ -482,27 +483,27 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
msgid "Old Video Renderer"
-msgstr ""
+msgstr "ì˜¤ëž˜ëœ ë¹„ë””ì˜¤ ë Œë”러"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr ""
+msgstr "ì˜¤ë²„ë ˆì´ ë¯¹ì„œ ë Œë”러"
msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
msgid "Video Mixing Renderer 7 (windowed)"
-msgstr ""
+msgstr "비디오 믹싱 ë Œë”러 7 (윈ë„ìš°)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr ""
+msgstr "비디오 믹싱 ë Œë”러 9 (윈ë„ìš°)"
msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
msgid "Video Mixing Renderer 7 (renderless)"
-msgstr ""
+msgstr "비디오 믹싱 ë Œë”러 7 (ë Œë” ì ê²Œ)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr ""
+msgstr "비디오 믹싱 ë Œë”러 9 (ë Œë” ì ê²Œ)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
@@ -522,7 +523,7 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Null (무압축)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -566,7 +567,7 @@ msgstr "기타"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr ""
+msgstr "미디어 정보"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -598,7 +599,7 @@ msgstr "ì´ê²ƒì€ 윈ë„ìš° 9x/ME/2000 ì—ì„œ 사용하는 ë Œë”러입니다. ê
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
-msgstr "í•­ìƒ ë¹„ë””ì˜¤ë¥¼ 오버레ì´ìƒíƒœë¡œ ë Œë”ë§í•©ë‹ˆë‹¤. ì¼ë°˜ì ìœ¼ë¡œ YUVì˜ ìƒ‰ê³µê°„ë§Œì„ í—ˆìš©í•˜ê³ , RGB색ìƒë³€í™˜ì„ 하지않고 그대로 표현하게 ë©ë‹ˆë‹¤. 다른 모드들과 비êµí•´ì„œ 가장 빠른ì†ë„를 가졌지만 TV-OUT ê¸°ëŠ¥ì„ í™œì„±í™”í–ˆì„때만 전체화면 미러ë§ì´ ìž‘ë™í•©ë‹ˆë‹¤."
+msgstr "í•­ìƒ ë¹„ë””ì˜¤ë¥¼ 오버레ì´ìƒíƒœë¡œ ë Œë”ë§í•©ë‹ˆë‹¤. ì¼ë°˜ì ìœ¼ë¡œ YUVì˜ ìƒ‰ê³µê°„ë§Œì„ í—ˆìš©í•˜ê³ , RGB색ìƒë³€í™˜ì„ 하지않고 그대로 표현하게 ë©ë‹ˆë‹¤. 다른 모드들과 비êµí•´ì„œ 가장 빠른ì†ë„를 가졌지만 TV-OUT ê¸°ëŠ¥ì„ í™œì„±í™”í–ˆì„때만 전체화면 미러ë§ì´ ìž‘ë™í•©ë‹ˆë‹¤."
msgctxt "IDC_DSVMR7WIN"
msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
@@ -674,15 +675,15 @@ msgstr "재ìƒí•˜ëŠ” 비디오 í‘œë©´ì„ í‘œì¤€ 오프스í¬ë¦°ìœ¼ë¡œ 위치시í
msgctxt "IDC_AUDRND_COMBO"
msgid "MPC Audio Renderer is broken, do not use."
-msgstr ""
+msgstr "MPC 오디오 ë Œë”러가 깨졌으므로 사용하지 마십시오."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr ""
+msgstr "ì‹±í¬ ë Œë”러"
msgctxt "IDS_MPC_BUG_REPORT_TITLE"
msgid "MPC-HC - Reporting a bug"
-msgstr ""
+msgstr "MPC-HC - 버그 신고"
msgctxt "IDS_MPC_BUG_REPORT"
msgid "MPC-HC just crashed but this build was compiled without debug information.\nIf you want to report this bug, you should first try an official build.\n\nDo you want to visit the download page now?"
@@ -694,11 +695,11 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
-msgstr ""
+msgstr "2D 표면"
msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
msgid "3D surfaces (recommended)"
-msgstr ""
+msgstr "3D 표면 (권장)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
@@ -726,11 +727,11 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
-msgstr ""
+msgstr "**비활성화**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr ""
+msgstr "ì„ íƒëœ ë Œë”러가 설치 ë˜ì§€ 않았습니다."
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
@@ -738,11 +739,11 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Null (무압축)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
msgid "MPC-HC Audio Renderer"
-msgstr ""
+msgstr "MPC-HC 오디오 ë Œë”러"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -758,7 +759,7 @@ msgstr ""
msgctxt "IDS_DOWNLOAD_SUBS"
msgid "Download subtitles"
-msgstr ""
+msgstr "ìžë§‰ 다운로드"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
@@ -766,7 +767,7 @@ msgstr ""
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
-msgstr ""
+msgstr "ìžë™"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
@@ -778,7 +779,7 @@ msgstr ""
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
-msgstr ""
+msgstr "압축 ëœ íŒŒì¼ì´ 지ì›ë˜ì§€ 않습니다"
msgctxt "IDS_RFS_ENCRYPTED"
msgid "Encrypted files are not supported"
@@ -789,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr ""
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "비디오 í‘œë©´ì„ í…스ì³ì²˜ëŸ¼ 처리하고 2Dëª¨ë“œì˜ ë²„í¼ê°€ ê°€ë“찰때까지 복사/늘ì´ê¸°ë¥¼ 반복합니다. ì´ ëª¨ë“œë¥¼ 사용하기 위해서는 그래픽카드ì—ì„œ \"32비트, RGBA, 비디오 í•´ìƒë„ í¬ê¸°ì˜ í…스ì³\" 를 2가지 ì´ìƒ ë™ì‹œì— 처리할수 있어야 합니다."
msgctxt "IDC_TEXTURESURF3D"
@@ -826,7 +827,7 @@ msgstr ""
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr ""
+msgstr "LAV 필터 사용"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
@@ -1234,11 +1235,11 @@ msgstr ""
msgctxt "IDS_HW_INDICATOR"
msgid "[H/W]"
-msgstr ""
+msgstr "[H/W]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr ""
+msgstr "소프트웨어 디코딩"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
@@ -1258,7 +1259,7 @@ msgstr ""
msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
msgid "Save custom style"
-msgstr ""
+msgstr "ì‚¬ìš©ìž ì •ì˜ ìŠ¤íƒ€ì¼ ì €ìž¥"
msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
msgid "Education/Science/Factual topics"
@@ -1278,7 +1279,7 @@ msgstr "ì´ë¦„"
msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
msgid "Value"
-msgstr ""
+msgstr "ê°’"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
@@ -1294,7 +1295,7 @@ msgstr ""
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
-msgstr ""
+msgstr "ì•„ë¬´ê²ƒë„ í•˜ì§€ì•ŠìŒ"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
@@ -1314,15 +1315,15 @@ msgstr "종료"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr ""
+msgstr "모니터를 ë„기"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
-msgstr ""
+msgstr "JPEG ì´ë¯¸ì§€"
msgctxt "IDS_IMAGE_QUALITY"
msgid "Quality (%):"
-msgstr ""
+msgstr "품질 (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
@@ -1336,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "보기"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "위로"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "아래로"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "LCN순 정렬"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "ëª¨ë‘ ì œê±°"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "기다려 주세요, ë¶„ì„ ì§„í–‰ 중 입니다."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "장치 열기"
@@ -1350,7 +1387,7 @@ msgstr "ì´ë¯¸ì§€ 저장"
msgctxt "IDS_MPLAYERC_6"
msgid "Save Image (auto)"
-msgstr " (ìžë™)"
+msgstr ""
msgctxt "IDS_OSD_IMAGE_SAVED"
msgid "Image saved successfully"
@@ -1406,11 +1443,11 @@ msgstr ""
msgctxt "IDS_CONTENT_SPORTS"
msgid "Sports"
-msgstr ""
+msgstr "스í¬ì¸ "
msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
msgid "Children's/Youth programmes"
-msgstr ""
+msgstr "어린ì´/청소년 프로그램들"
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
@@ -1418,7 +1455,7 @@ msgstr ""
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
-msgstr ""
+msgstr "예술/문화"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
@@ -1430,11 +1467,11 @@ msgstr ""
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
-msgstr ""
+msgstr "휴지통으로 ì´ë™"
msgctxt "IDS_AG_SAVE_COPY"
msgid "Save a Copy"
-msgstr ""
+msgstr "다른 ì´ë¦„으로 저장"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
@@ -1450,7 +1487,7 @@ msgstr ""
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
-msgstr ""
+msgstr "보여주지 ì•ŠìŒ"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
@@ -1526,7 +1563,7 @@ msgstr "내보내기 실패! 올바른 ê¶Œí•œì„ ê°€ì§€ê³  있는지 확ì¸í•˜ì‹
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
-msgstr ""
+msgstr "BDA 오류"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
@@ -1537,11 +1574,11 @@ msgid "Reset Rate"
msgstr "초기화"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "오디오 ë”œë ˆì´ +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "오디오 ë”œë ˆì´ -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1618,7 +1655,7 @@ msgstr "ë””ìŠ¤í”Œë ˆì´ ìƒíƒœ"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
-msgstr ""
+msgstr "처ìŒìœ¼ë¡œ ì´ë™"
msgctxt "IDS_AG_VIEW_MINIMAL"
msgid "View Minimal"
@@ -1697,12 +1734,12 @@ msgid "No subtitles found."
msgstr "ìžë§‰ 파ì¼ì´ 없습니다."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d ìžë§‰ 사용가능."
+msgid "%d subtitle(s) available."
+msgstr "%d ìžë§‰ 사용가능."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr ""
+msgstr "MPC-HC ì—…ë°ì´íŠ¸ë¥¼ 정기ì ìœ¼ë¡œ 확ì¸í•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n\nì´ ê¸°ëŠ¥ì€ ê¸°íƒ€ 옵션 페ì´ì§€ì—ì„œ ë‚˜ì¤‘ì— ë¹„í™œì„±í™” í•  수 있습니다."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2025,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "볼륨: %02lu/%02lu, 타ì´í‹€: %02lu/%02lu, 챕터: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "앵글: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2130,26 +2167,26 @@ msgstr "프로토콜 ë²„ì „ì´ ë‹¤ë¦…ë‹ˆë‹¤. 플레ì´ì–´ë¥¼ 업그레ì´ë“œí•˜ê
msgctxt "IDS_AG_ASPECT_RATIO"
msgid "Aspect Ratio"
-msgstr "화면비율"
+msgstr "화면 비율"
msgctxt "IDS_MAINFRM_37"
msgid ", Total: %ld, Dropped: %ld"
msgstr ", ì´: %ld, 실패: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", í¬ê¸°: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", í¬ê¸°: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", 여유: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", 여유: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2158,7 +2195,7 @@ msgstr ", 여유 V/A 버í¼: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
-msgstr "ì—러"
+msgstr "오류"
msgctxt "IDS_SUBTITLE_STREAM_OFF"
msgid "Subtitle: off"
@@ -2226,7 +2263,7 @@ msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
-msgstr ""
+msgstr "ìžë§‰ 파ì¼"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
@@ -2237,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "화면 비율: 기본값"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "오디오 지연: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2306,7 +2343,7 @@ msgstr "ë¤í”„파ì¼ì„ ë§Œë“œëŠ”ë° ì‹¤íŒ¨ '%s' (error %u)"
msgctxt "IDS_MAINFRM_DIR_TITLE"
msgid "Select Directory"
-msgstr "디렉토리 ì„ íƒ"
+msgstr "í´ë” ì„ íƒ"
msgctxt "IDS_MAINFRM_DIR_CHECK"
msgid "Include subdirectories"
@@ -2430,7 +2467,7 @@ msgstr " (ìŒì„± 해설 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
-msgstr ""
+msgstr "DVD ìžë§‰ 활성화"
msgctxt "IDS_AG_ANGLE"
msgid "Angle %u"
@@ -2454,7 +2491,7 @@ msgstr "MPC-HC D3D 전체화면"
msgctxt "IDS_MAINFRM_137"
msgid "Unknown format"
-msgstr "ì•Œë ¤ì§€ì§€ì•Šì€ í˜•ì‹"
+msgstr "ì•Œ 수 없는 형ì‹"
msgctxt "IDS_MAINFRM_138"
msgid "Sub shift: %ld ms"
@@ -2477,16 +2514,16 @@ msgid "Volume boost Max"
msgstr "볼륨 부스트 최대"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "사용법: mpc-hc.exe \"경로ì´ë¦„\" [스위치]\n\n\"경로ì´ë¦„\"\t로드할 파ì¼ì´ë‚˜ 디렉토리. (와ì¼ë“œì¹´ë“œ\n\t\t사용가능, \"-\" denotes standard input)\n/dub \"ë”빙파ì¼\"\t추가ì ì¸ 오디오 파ì¼\n/dubdelay \"파ì¼\"\tXXms 딜레ì´ëœ 추가ì ì¸ 오디오 íŒŒì¼ (\n\t\t파ì¼ì´ 다ìŒì„ í¬í•¨ \"...DELAY XXms...\")\n/d3dfs\t\tD3D 전체화면모드ì—ì„œ ë Œë”ë§\n/sub \"ìžë§‰íŒŒì¼\"\t추가ì ì¸ ìžë§‰íŒŒì¼\n/filter \"필터파ì¼\"\tDLL파ì¼ì—ì„œ 다ì´ë ‰íŠ¸ì‡¼ 필터를 로드함 (와ì¼ë“œì¹´ë“œì‚¬ìš©ê°€ëŠ¥)\n/dvd\t\tdvd재ìƒëª¨ë“œ, \"경로ì´ë¦„\" ì„ ì§€ì •í–ˆì„ ê²½ìš°, DVD í´ë”를 ì˜ë§ˆí•¨ (옵션)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\t오디오CD ë˜ëŠ” (S)VCDì˜ ëª¨ë“  íŠ¸ëž™ì„ ë¡œë“œí•¨,\n\t\t\"경로ì´ë¦„\" ì„ ì§€ì •í–ˆì„ ê²½ìš° ë“œë¼ì´ë¸Œë¥¼ ì˜ë¯¸í•¨ (옵션)\n/device\t\tOpen the default video device\n/open\t\t파ì¼ì„ ì—´ê³  재ìƒì„ 시작하지는 ì•ŠìŒ\n/play\t\t파ì¼ì„ ì—´ê³  재ìƒì„ 시작함\n/close\t\t재ìƒì´ ë나면 플레ì´ì–´ 종료 (/play 스위치를 ê°™ì´ ì¨ì•¼í•¨)\n/shutdown\t재ìƒì´ ë나면 시스템 종료\n/fullscreen\t전체화면모드로 재ìƒì‹œìž‘\n/minimized\t최소화모드로 재ìƒì‹œìž‘\n/new\t\t플레ì´ì–´ ì°½ì„ í•˜ë‚˜ ë” ìƒì„±\n/add\t\t재ìƒëª©ë¡ì— 지정한 \"경로ì´ë¦„\"ì„ ì¶”ê°€,\n\t\t/open ê³¼ /play 스위치와 ê°™ì´ ì‚¬ìš©ê°€ëŠ¥\n/regvid\t\t비디오 íŒŒì¼ í™•ìž¥ëª…ì„ MPC-HCë¡œ ì—°ê²°\n/regaud\t\t오디오 íŒŒì¼ í™•ìž¥ëª…ì„ MPC-HCë¡œ ì—°ê²°\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tMPC-HCë¡œ ì—°ê²°í–ˆë˜ í™•ìž¥ëª… í•´ì œ\n/start ms\t\t지정한 \"ms\" (= 밀리초)위치ì—ì„œ 재ìƒì‹œìž‘\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\t지정한 가로(w), 세로(h) í¬ê¸°ë¡œ ê³ ì •\n/monitor N\tN번 모니터ì—ì„œ 시작(Nì€ 1ì´ìƒì´ì–´ì•¼í•¨)\n/audiorenderer N\t오디오렌ë”러 N 번(1부터 시작)ì„ ì‚¬ìš©í•´ì„œ 시작\n\t\t(\"출력\" ì„¤ì •ì„ ì°¸ê³ í•˜ì„¸ìš”)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\t명령입력 스위치 ì˜µì…˜ì„ ì¶œë ¥\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "사용법: mpc-hc.exe \"경로ì´ë¦„\" [스위치]\n\n\"경로ì´ë¦„\"\t로드할 파ì¼ì´ë‚˜ 디렉토리. (와ì¼ë“œì¹´ë“œ\n\t\t사용가능, \"-\" denotes standard input)\n/dub \"ë”빙파ì¼\"\t추가ì ì¸ 오디오 파ì¼\n/dubdelay \"파ì¼\"\tXXms 딜레ì´ëœ 추가ì ì¸ 오디오 íŒŒì¼ (\n\t\t파ì¼ì´ 다ìŒì„ í¬í•¨ \"...DELAY XXms...\")\n/d3dfs\t\tD3D 전체화면모드ì—ì„œ ë Œë”ë§\n/sub \"ìžë§‰íŒŒì¼\"\t추가ì ì¸ ìžë§‰íŒŒì¼\n/filter \"필터파ì¼\"\tDLL파ì¼ì—ì„œ 다ì´ë ‰íŠ¸ì‡¼ 필터를 로드함 (와ì¼ë“œì¹´ë“œì‚¬ìš©ê°€ëŠ¥)\n/dvd\t\tdvd재ìƒëª¨ë“œ, \"경로ì´ë¦„\" ì„ ì§€ì •í–ˆì„ ê²½ìš°, DVD í´ë”를 ì˜ë§ˆí•¨ (옵션)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\t오디오CD ë˜ëŠ” (S)VCDì˜ ëª¨ë“  íŠ¸ëž™ì„ ë¡œë“œí•¨,\n\t\t\"경로ì´ë¦„\" ì„ ì§€ì •í–ˆì„ ê²½ìš° ë“œë¼ì´ë¸Œë¥¼ ì˜ë¯¸í•¨ (옵션)\n/device\t\tOpen the default video device\n/open\t\t파ì¼ì„ ì—´ê³  재ìƒì„ 시작하지는 ì•ŠìŒ\n/play\t\t파ì¼ì„ ì—´ê³  재ìƒì„ 시작함\n/close\t\t재ìƒì´ ë나면 플레ì´ì–´ 종료 (/play 스위치를 ê°™ì´ ì¨ì•¼í•¨)\n/shutdown\t재ìƒì´ ë나면 시스템 종료\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\t전체화면모드로 재ìƒì‹œìž‘\n/minimized\t최소화모드로 재ìƒì‹œìž‘\n/new\t\t플레ì´ì–´ ì°½ì„ í•˜ë‚˜ ë” ìƒì„±\n/add\t\t재ìƒëª©ë¡ì— 지정한 \"경로ì´ë¦„\"ì„ ì¶”ê°€,\n\t\t/open ê³¼ /play 스위치와 ê°™ì´ ì‚¬ìš©ê°€ëŠ¥\n/regvid\t\t비디오 íŒŒì¼ í™•ìž¥ëª…ì„ MPC-HCë¡œ ì—°ê²°\n/regaud\t\t오디오 íŒŒì¼ í™•ìž¥ëª…ì„ MPC-HCë¡œ ì—°ê²°\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tMPC-HCë¡œ ì—°ê²°í–ˆë˜ í™•ìž¥ëª… í•´ì œ\n/start ms\t\t지정한 \"ms\" (= 밀리초)위치ì—ì„œ 재ìƒì‹œìž‘\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\t지정한 가로(w), 세로(h) í¬ê¸°ë¡œ ê³ ì •\n/monitor N\tN번 모니터ì—ì„œ 시작(Nì€ 1ì´ìƒì´ì–´ì•¼í•¨)\n/audiorenderer N\t오디오렌ë”러 N 번(1부터 시작)ì„ ì‚¬ìš©í•´ì„œ 시작\n\t\t(\"출력\" ì„¤ì •ì„ ì°¸ê³ í•˜ì„¸ìš”)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\t명령입력 스위치 ì˜µì…˜ì„ ì¶œë ¥\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
-msgstr "ì¸ì‹ë¶ˆê°€ëŠ¥í•œ 스위치가 사용ë¨: \n\n"
+msgstr "ì¸ì‹ 불가능한 스위치가 사용ë¨: \n\n"
msgctxt "IDS_AG_TOGGLE_INFO"
msgid "Toggle Information"
-msgstr "파ì¼ì •ë³´ 토글"
+msgstr "íŒŒì¼ ì •ë³´ 토글"
msgctxt "IDS_AG_TOGGLE_STATS"
msgid "Toggle Statistics"
@@ -2510,7 +2547,7 @@ msgstr "ìº¡ì³ í† ê¸€"
msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
msgid "Toggle Debug Shaders"
-msgstr ""
+msgstr "ì…°ì´ë” 디버그 토글"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
@@ -2686,7 +2723,7 @@ msgstr "메뉴 숨기기"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr ""
+msgstr "고급"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seekbar"
@@ -2702,7 +2739,7 @@ msgstr "비디오: %s"
msgctxt "IDS_APPLY"
msgid "Apply"
-msgstr ""
+msgstr "ì ìš©"
msgctxt "IDS_CLEAR"
msgid "Clear"
@@ -2730,19 +2767,19 @@ msgstr "모든 필터 사용안함(&D)"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr ""
+msgstr "모든 오디오 ë””ì½”ë” ì‚¬ìš©"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr ""
+msgstr "모든 ë””ì½”ë” ì‚¬ìš©ì•ˆí•¨"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
-msgstr ""
+msgstr "모든 비디오 ë””ì½”ë” ì‚¬ìš©"
msgctxt "IDS_DISABLE_VIDEO_FILTERS"
msgid "Disable all video decoders"
-msgstr ""
+msgstr "모든 비디오 ë””ì½”ë” ì‚¬ìš©ì•ˆí•¨"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
@@ -2954,11 +2991,11 @@ msgstr "Opus Audio Codec"
msgctxt "IDS_MFMT_PLS"
msgid "Playlist"
-msgstr "재ìƒëª©ë¡"
+msgstr "ìž¬ìƒ ëª©ë¡"
msgctxt "IDS_MFMT_BDPLS"
msgid "Blu-ray playlist"
-msgstr ""
+msgstr "ë¸”ë£¨ë ˆì´ ìž¬ìƒ ëª©ë¡"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
@@ -2970,7 +3007,7 @@ msgstr "FPS"
msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
msgid "Resolution"
-msgstr ""
+msgstr "í•´ìƒë„"
msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
msgid "Aspect Ratio"
@@ -3238,7 +3275,7 @@ msgstr ""
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
-msgstr ""
+msgstr "확대: ìžë™"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
@@ -3276,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr ""
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3450,6 +3491,14 @@ msgstr "재ìƒì´ ë나면: 컴퓨터 잠금모드"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
+msgstr "재ìƒì´ ë나면: 모니터를 ë„기"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
msgstr ""
msgctxt "IDS_OSD_BRIGHTNESS"
@@ -3506,7 +3555,7 @@ msgstr "타ì´í‹€(&T)"
msgctxt "IDS_NAVIGATE_CHANNELS"
msgid "&Channels"
-msgstr "채ë„(%C)"
+msgstr "채ë„(&C)"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
index 5be386a05..7ec9519e7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.menus.pot
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -609,6 +609,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
index 9a118b18d..b809043a7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# abuyop <abuyop@gmail.com>, 2014
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-24 20:36+0000\n"
+"PO-Revision-Date: 2014-12-18 18:40+0000\n"
"Last-Translator: abuyop <abuyop@gmail.com>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Perihal"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Hakcipta © 2002-2014 sila rujuk Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Hakcipta © 2002-2015 sila rujuk Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
index 6ad3d5320..8988f04c7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# abuyop <abuyop@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-01 10:40+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-29 05:40+0000\n"
"Last-Translator: abuyop <abuyop@gmail.com>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Matikan &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Main fail &berikutnya di dalam folder"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigasi"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
index 143b55758..7b522fdb3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ms_MY.strings.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# abuyop <abuyop@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 23:30+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-18 18:40+0000\n"
"Last-Translator: abuyop <abuyop@gmail.com>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/mpc-hc/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -789,7 +789,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Tidak dapat cari semua volum arkib"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Permukaan video akan diperuntuk sebagai tekstur tetapi fungsi 2d masih digunakan untuk menyalin dan meregang ia ke penimbal belakang. Perlukan kad video yang dapat peruntuk 32bit, RGBA, tekstri bersaiz dua-tanpa-kuasa dan sekurang-kurangnya dalam resolusi video."
msgctxt "IDC_TEXTURESURF3D"
@@ -1334,7 +1334,43 @@ msgstr "Lengahan sarikata akan dikurangkan/ditingkatkan dengan nilai ini setiap
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr "<not defined>"
+msgstr "<tidak ditakrif>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Tonton"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Alih ke Atas"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Alih ke Bawah"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Isih mengikut LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Buang semua"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Anda pasti mahu buang semua saluran dari senarai?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Tiada maklumat tersedia"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Tunggu sebentar, analisis dalam proses..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1537,11 +1573,11 @@ msgid "Reset Rate"
msgstr "Tetap Semula Kadar"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Lengah Audio +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Lengah Audio -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1697,7 +1733,7 @@ msgid "No subtitles found."
msgstr "Tiada sarikata ditemui."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d sarikata(s) tersedia."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2025,11 +2061,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volum: %02lu/%02lu, Tajuk: %02lu/%02lu, Bab: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Sudut: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2137,19 +2173,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Jumlah: %ld, Dilepas: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Saiz: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Saiz: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Bebas: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Bebas: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2174,7 +2210,7 @@ msgstr "Pilih laluan untuk DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "berjaya dimuatkan"
+msgstr " berjaya dimuatkan"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2237,7 +2273,7 @@ msgid "Aspect Ratio: Default"
msgstr "Nisbah Bidang: Lalai"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Lengah Audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2406,7 +2442,7 @@ msgstr "Si&fat..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "(cemat) sifat..."
+msgstr " (cemat) sifat..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2422,11 +2458,11 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Ulasan Pengarah 1)"
+msgstr " (Ulasan Pengarah 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Ulasan Pengarah 2)"
+msgstr " (Ulasan Pengarah 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "Galak volum Maks"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Penggunaan: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tFail atau direktori utama akan dimuatkan (kad liar\n\t\tdibenarkan, \"-\" melibatkan input piawai)\n/dub \"dubname\"\tMuat satu fail audio tambahan\n/dubdelay \"file\"\tMuat fail audio tambahan yang dianjak denga XXms (jika\n\t\tfail mengandungi \"...DELAY XXms...\")\n/d3dfs\t\tMula menerap dalam mod skrin penuh D3D\n/sub \"subname\"\tMuat fail sarikata tambahan\n/filter \"filtername\"\tMuat penapis DirectShow dari pustaka pautan dinamik\n\t\t(kad liar dibenarkan)\n/dvd\t\tJalan dalam mod dvd, \"pathname\" bermaksud folder dvd\n\t\t(pilihan)\n/dvdpos T#C\tMula main balik pada tajuk T, bab C\n/dvdpos T#hh:mm\tMula main balik pada tajuk T, kedudukan hh:mm:ss\n/cd\t\tMuat semua trek cd audio atau (s)vcd,\n\t\t\"pathname\" bermaksud laluan pemacu (pilihan)\n/device\t\tBuka peranti video lalai\n/open\t\tBuka fail, jangan mula main balik secara automatik\n/play\t\tMula memainkan fail sebaik sahaja pemain\n\t\tdilancarkan\n/close\t\tTutup pemain selepas main balik (hanya berfungsi\n\t\tbila digunakan dengan /play)\n/shutdown\tMatikan sistem pengoperasian selepas main balik\n/fullscreen\tMula dalam mod skrin-penuh\n/minimized\tMula dalam mod diminimumkan\n/new\t\tGuna kejadian baharu pemain\n/add\t\tTambah \"pathname\" ke senarai main, boleh digabung\n\t\tdengan /open dan /play\n/regvid\t\tCipta perkaitan fail untuk fail video\n/regaud\t\tCipta perkaitan fail untuk fail audio\n/regpl\t\tCipta perkaitan fail untuk fail senarai main\n/regall\t\tCipta perkaitan fail untuk semua jenis fail disokong\n/unregall\t\tBuang semua perkaitan fail\n/start ms\t\tMula bermain pada \"ms\" (= milisaat)\n/startpos hh:mm:ss\tMula bermain pada kedudukan hh:mm:ss\n/fixedsize w,h\tTetakan saiz tetingkap tetap\n/monitor N\tMula pemain pada monitor N, dimana N bermula dari 1\n/audiorenderer N\tMula menggunakan penerap audio N, dimana N bermula dari 1\n\t\t(rujuk tetapan \"Output\")\n/shaderpreset \"Pr\"\tMula menggunakan praset pelorek \"Pr\"\n/reset\t\tPulih tetapan lalai\n/help /h /?\tTunjuk bantuan mengenai suis baris perintah\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Penggunaan: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tFail atau direktori utama akan dimuatkan (kad liar\n\t\tdibenarkan, \"-\" melibatkan input piawai)\n/dub \"dubname\"\tMuat satu fail audio tambahan\n/dubdelay \"file\"\tMuat fail audio tambahan yang dianjak denga XXms (jika\n\t\tfail mengandungi \"...DELAY XXms...\")\n/d3dfs\t\tMula menerap dalam mod skrin penuh D3D\n/sub \"subname\"\tMuat fail sarikata tambahan\n/filter \"filtername\"\tMuat penapis DirectShow dari pustaka pautan dinamik\n\t\t(kad liar dibenarkan)\n/dvd\t\tJalan dalam mod dvd, \"pathname\" bermaksud folder dvd\n\t\t(pilihan)\n/dvdpos T#C\tMula main balik pada tajuk T, bab C\n/dvdpos T#hh:mm\tMula main balik pada tajuk T, kedudukan hh:mm:ss\n/cd\t\tMuat semua trek cd audio atau (s)vcd,\n\t\t\"pathname\" bermaksud laluan pemacu (pilihan)\n/device\t\tBuka peranti video lalai\n/open\t\tBuka fail, jangan mula main balik secara automatik\n/play\t\tMula memainkan fail sebaik sahaja pemain\n\t\tdilancarkan\n/close\t\tTutup pemain selepas main balik (hanya berfungsi\n\t\tbila digunakan dengan /play)\n/shutdown\tMatikan sistem pengoperasian selepas main balik\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tMula dalam mod skrin-penuh\n/minimized\tMula dalam mod diminimumkan\n/new\t\tGuna kejadian baharu pemain\n/add\t\tTambah \"pathname\" ke senarai main, boleh digabung\n\t\tdengan /open dan /play\n/regvid\t\tCipta perkaitan fail untuk fail video\n/regaud\t\tCipta perkaitan fail untuk fail audio\n/regpl\t\tCipta perkaitan fail untuk fail senarai main\n/regall\t\tCipta perkaitan fail untuk semua jenis fail disokong\n/unregall\t\tBuang semua perkaitan fail\n/start ms\t\tMula bermain pada \"ms\" (= milisaat)\n/startpos hh:mm:ss\tMula bermain pada kedudukan hh:mm:ss\n/fixedsize w,h\tTetakan saiz tetingkap tetap\n/monitor N\tMula pemain pada monitor N, dimana N bermula dari 1\n/audiorenderer N\tMula menggunakan penerap audio N, dimana N bermula dari 1\n\t\t(rujuk tetapan \"Output\")\n/shaderpreset \"Pr\"\tMula menggunakan praset pelorek \"Pr\"\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tPulih tetapan lalai\n/help /h /?\tTunjuk bantuan mengenai suis baris perintah\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Volum gandaan-semula: Mati"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bait"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Selepas Main Balik: Matikan monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Selepas Main Balik: Main fail berikutnya di dalam folder"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Selepas Main Balik: Jangan buat apa-apa "
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Kecerahan: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
index 1724bc02b..4a2475e22 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.dialogs.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
# Devrim Yolo <devrim.extra@gmail.com>, 2013-2014
+# DennisW, 2014
# rjongejan <ruben.jongejan@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2015-01-12 18:41+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -191,8 +192,8 @@ msgid "About"
msgstr "Info"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 zie Authors.txt bestand"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 zie Authors.txt bestand"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -516,7 +517,7 @@ msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
-msgstr ""
+msgstr "Vertragings stap"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
@@ -592,15 +593,15 @@ msgstr "Koppeling"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr ""
+msgstr "Gebruik de formaat-specifieke iconen"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "Start als administrator"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "Gebruik als standaard programma"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -1444,7 +1445,7 @@ msgstr "Beperkt tot:"
msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
msgid "+/-"
-msgstr "+/-+"
+msgstr "+/-"
msgctxt "IDD_PPAGESYNC_IDC_STATIC9"
msgid "ms"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
index ddb7bff00..2cd9a0843 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.menus.po
@@ -1,17 +1,18 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
# Devrim Yolo <devrim.extra@gmail.com>, 2013-2014
+# DennisW, 2014
# kasper93, 2013
# rjongejan <ruben.jongejan@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-09-13 22:09+0000\n"
-"Last-Translator: Dennis Gerritsen <frostflame@hotmail.com>\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-31 08:50+0000\n"
+"Last-Translator: DennisW\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -615,6 +616,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Schakel de &monitor uit"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Speel &volgend bestand af in map"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigatie"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
index 4d7f9ee9c..a01d2eb75 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.nl.strings.po
@@ -1,15 +1,18 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dennis Gerritsen <frostflame@hotmail.com>, 2014
+# dragnadh <dragnadh@gmail.com>, 2015
+# DennisW, 2014
# rjongejan <ruben.jongejan@gmail.com>, 2014
+# Tom <tom@boksma.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2015-01-22 17:01+0000\n"
+"Last-Translator: dragnadh <dragnadh@gmail.com>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/mpc-hc/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,7 +90,7 @@ msgstr "Synchronisatie compensatie"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr "avg: %d ms, dev: %d ms"
+msgstr "gem.: %d ms, afw.: %d ms"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -311,7 +314,7 @@ msgstr "Laag"
msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
msgid "Actor"
-msgstr ""
+msgstr "Acteur"
msgctxt "IDS_SUBRESYNC_CLN_EFFECT"
msgid "Effect"
@@ -487,43 +490,43 @@ msgstr "Oude Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
msgid "Overlay Mixer Renderer"
-msgstr ""
+msgstr "Overlay Mixer Renderer"
msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
msgid "Video Mixing Renderer 7 (windowed)"
-msgstr ""
+msgstr "Video Mixing Renderer 7 (windowed)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
msgid "Video Mixing Renderer 9 (windowed)"
-msgstr ""
+msgstr "Video Mixing Renderer 9 (windowed)"
msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
msgid "Video Mixing Renderer 7 (renderless)"
-msgstr ""
+msgstr "Video Mixing Renderer 7 (renderless)"
msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
msgid "Video Mixing Renderer 9 (renderless)"
-msgstr ""
+msgstr "Video Mixing Renderer 9 (renderless)"
msgctxt "IDS_PPAGE_OUTPUT_EVR"
msgid "Enhanced Video Renderer"
-msgstr ""
+msgstr "Enhanced Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
msgid "Enhanced Video Renderer (custom presenter)"
-msgstr ""
+msgstr "Enhanced Video Renderer (custom presenter)"
msgctxt "IDS_PPAGE_OUTPUT_DXR"
msgid "Haali Video Renderer"
-msgstr ""
+msgstr "Haali Video Renderer"
msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
msgid "Null (anything)"
-msgstr ""
+msgstr "Ontbrekend (alles)"
msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Ontbrekend (ongecomprimeerd)"
msgctxt "IDS_PPAGE_OUTPUT_MADVR"
msgid "madVR"
@@ -567,7 +570,7 @@ msgstr "Overige"
msgctxt "IDD_FILEMEDIAINFO"
msgid "MediaInfo"
-msgstr ""
+msgstr "MediaInfo"
msgctxt "IDD_PPAGECAPTURE"
msgid "Playback::Capture"
@@ -583,11 +586,11 @@ msgstr "Weergave::Volledig Scherm"
msgctxt "IDD_FILEPROPDETAILS"
msgid "Details"
-msgstr ""
+msgstr "Details"
msgctxt "IDD_FILEPROPCLIP"
msgid "Clip"
-msgstr ""
+msgstr "Fragment"
msgctxt "IDC_DSSYSDEF"
msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
@@ -631,19 +634,19 @@ msgstr "Hetzelfde als de normale Null renderer, maar deze zal alleen verbinding
msgctxt "IDC_DSEVR"
msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
-msgstr ""
+msgstr "Alleen beschikbaar op Vista of later, of op XP met minstens .NET Framework 3.5 geïnstalleerd."
msgctxt "IDC_DSEVR_CUSTOM"
msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
-msgstr ""
+msgstr "Zelfde als de EVR, maar met de Allocator-Presenter van MPC-HC voor ondertiteling and postprocessing. Aanbevolen voor Windows Vista of later."
msgctxt "IDC_DSMADVR"
msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
-msgstr ""
+msgstr "Hoge kwaliteit renderer, een GPU dat D3D9 of later ondersteund is vereist."
msgctxt "IDC_DSSYNC"
msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
-msgstr ""
+msgstr "Zelfde als de EVER (CP), maar biedt verscheidende opties om video framerate te synchroniseren met display refresh rate om dubbele of overgeslagen frames tegen te gaan."
msgctxt "IDC_RMSYSDEF"
msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
@@ -675,19 +678,19 @@ msgstr "Video oppervlak is een normaal offscreen oppervlak."
msgctxt "IDC_AUDRND_COMBO"
msgid "MPC Audio Renderer is broken, do not use."
-msgstr ""
+msgstr "MPC Audio renderer is defect, niet gebruiken."
msgctxt "IDS_PPAGE_OUTPUT_SYNC"
msgid "Sync Renderer"
-msgstr ""
+msgstr "Sync Renderer"
msgctxt "IDS_MPC_BUG_REPORT_TITLE"
msgid "MPC-HC - Reporting a bug"
-msgstr ""
+msgstr "MPC-HC - Raporteer een bug"
msgctxt "IDS_MPC_BUG_REPORT"
msgid "MPC-HC just crashed but this build was compiled without debug information.\nIf you want to report this bug, you should first try an official build.\n\nDo you want to visit the download page now?"
-msgstr ""
+msgstr "MPC-HC is gecrasht, maar deze build is gecompileerd zonder debug informatie.\nAls U deze bug wilt rapporteren, raden we aan om eerst een officiële build te proberen.\n\nWilt U de download pagina nu bezoeken?"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
@@ -695,55 +698,55 @@ msgstr ""
msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
msgid "2D surfaces"
-msgstr ""
+msgstr "2D oppervlaktes"
msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
msgid "3D surfaces (recommended)"
-msgstr ""
+msgstr "3D oppervlaktes (aanbevolen)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
-msgstr ""
+msgstr "Naaste buur"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
msgid "Bilinear"
-msgstr ""
+msgstr "Bilinear"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
msgid "Bilinear (PS 2.0)"
-msgstr ""
+msgstr "Bilinear (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
msgid "Bicubic A=-0.60 (PS 2.0)"
-msgstr ""
+msgstr "Bicubic A=-0.60 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
msgid "Bicubic A=-0.75 (PS 2.0)"
-msgstr ""
+msgstr "Bicubic A=-0.75 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
msgid "Bicubic A=-1.00 (PS 2.0)"
-msgstr ""
+msgstr "Bicubic A=-1.00 (PS 2.0)"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
msgid "**unavailable**"
-msgstr ""
+msgstr "**onbeschikbaar**"
msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
msgid "The selected renderer is not installed."
-msgstr ""
+msgstr "The geselecteerde renderer is niet geïnstalleerd "
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
msgid "Null (anything)"
-msgstr ""
+msgstr "Ontbrekend (alles)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
msgid "Null (uncompressed)"
-msgstr ""
+msgstr "Ontbrekend (ongecomprimeerd)"
msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
msgid "MPC-HC Audio Renderer"
-msgstr ""
+msgstr "MPC-HC Audio Renderer"
msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
msgid "Name"
@@ -751,46 +754,46 @@ msgstr "Naam"
msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
msgid "MIME Type"
-msgstr ""
+msgstr "MIME Type"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr ""
+msgstr "Om een ingebedde bron in uw browser te bekijken dient de web interface geactiveerd te zijn.\n\nGebruik de \"Opslaan Als\" knop als u alleen de informatie wilt opslaan."
msgctxt "IDS_DOWNLOAD_SUBS"
msgid "Download subtitles"
-msgstr ""
+msgstr "Download ondertiteling"
msgctxt "IDS_SUBFILE_DELAY"
msgid "Delay (ms):"
-msgstr ""
+msgstr "Vertraging (ms):"
msgctxt "IDS_SPEEDSTEP_AUTO"
msgid "Auto"
-msgstr ""
+msgstr "Automatisch"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr ""
+msgstr "Er zijn geen aangepaste toetsen om te exporteren."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
-msgstr ""
+msgstr "Geen media bestanden gevonden in het archief"
msgctxt "IDS_RFS_COMPRESSED"
msgid "Compressed files are not supported"
-msgstr ""
+msgstr "Gecomprimeerde bestanden worden niet ondersteund"
msgctxt "IDS_RFS_ENCRYPTED"
msgid "Encrypted files are not supported"
-msgstr ""
+msgstr "Gecodeerde bestanden worden niet ondersteund"
msgctxt "IDS_RFS_MISSING_VOLS"
msgid "Couldn't find all archive volumes"
-msgstr ""
+msgstr "Kan niet alle gearchiveerde volumes vinden"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Video oppervlak is een texture-oppervlak, maar de 2Dd functies worden gebruikt om het beeld in de backbuffer te kopieren en te spreiden. Vereist een grafische kaart die 32bit, RGBA, non-power-of-two textures ondersteunt, binnen de resolutie van de video."
msgctxt "IDC_TEXTURESURF3D"
@@ -807,7 +810,7 @@ msgstr "Zet VMR-9 (renderless) in de mixer-modus. Dit betekent dat bij eigenscha
msgctxt "IDC_DSVMR9YUVMIXER"
msgid "Improves performance at the cost of some compatibility of the renderer."
-msgstr ""
+msgstr "Verbeter prestatie ten koste van de compatibiliteit van de renderer."
msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
msgid "Reduces tearing but prevents the toolbar from being shown."
@@ -827,19 +830,19 @@ msgstr ""
msgctxt "IDS_INTERNAL_LAVF"
msgid "Uses LAV Filters"
-msgstr ""
+msgstr "Gebruikt LAV Filters"
msgctxt "IDS_INTERNAL_LAVF_WMV"
msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
-msgstr ""
+msgstr "Gebruik LAV Filters. Standaard uitgeschakeld aangezien Microsoft filters stabieler zijn voor dit formaat.\nAls u interne filters wilt gebruiken, schakel deze dan voor zowel de bron als decoding in voor een betere afspeel ervaring."
msgctxt "IDS_AG_TOGGLE_NAVIGATION"
msgid "Toggle Navigation Bar"
-msgstr ""
+msgstr "Navigatie balk aan/uit"
msgctxt "IDS_AG_VSYNCACCURATE"
msgid "Accurate VSync"
-msgstr ""
+msgstr "Accurate VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
@@ -891,7 +894,7 @@ msgstr "Dempen"
msgctxt "ID_VOLUME_MUTE_ON"
msgid "Unmute"
-msgstr ""
+msgstr "Dempen opheffen"
msgctxt "ID_VOLUME_MUTE_DISABLED"
msgid "No audio"
@@ -939,11 +942,11 @@ msgstr "Opties"
msgctxt "IDS_SHADERS_SELECT"
msgid "&Select Shaders..."
-msgstr ""
+msgstr "&Selecteer Shaders"
msgctxt "IDS_SHADERS_DEBUG"
msgid "&Debug Shaders..."
-msgstr ""
+msgstr "&Foutopsporing Shaders"
msgctxt "IDS_FAVORITES_ADD"
msgid "&Add to Favorites..."
@@ -955,7 +958,7 @@ msgstr "Favorieten indelen..."
msgctxt "IDS_PLAYLIST_SHUFFLE"
msgid "Shuffle"
-msgstr ""
+msgstr "Schuifelen"
msgctxt "IDS_PLAYLIST_SHOWFOLDER"
msgid "Open file location"
@@ -987,7 +990,7 @@ msgstr "Recente bestandenlijst leegmaken ?"
msgctxt "IDS_AG_EDL_SAVE"
msgid "EDL save"
-msgstr ""
+msgstr "EDL opslaan"
msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
msgid "Enable Frame Time Correction"
@@ -1131,7 +1134,7 @@ msgstr ""
msgctxt "IDS_AG_MOUSE_FS"
msgid "Mouse Fullscreen"
-msgstr ""
+msgstr "Muis Volledig scherm"
msgctxt "IDS_AG_APP_COMMAND"
msgid "App Command"
@@ -1191,11 +1194,11 @@ msgstr ""
msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
msgid "Next Shader Preset"
-msgstr ""
+msgstr "Volgende Shader voorinstelling"
msgctxt "IDS_AG_SHADERS_PRESET_PREV"
msgid "Prev Shader Preset"
-msgstr ""
+msgstr "Vorige Shader voorinstelling"
msgctxt "IDS_STRING_COLON"
msgid "%s:"
@@ -1239,23 +1242,23 @@ msgstr "[H/W]"
msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
msgid "Software Decoding"
-msgstr ""
+msgstr "Software decodering"
msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
msgid "Playback rate"
-msgstr ""
+msgstr "Afspeel snelheid"
msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
msgid "&Copy filters list to clipboard"
-msgstr ""
+msgstr "&Kopieer filters naar klembord"
msgctxt "IDS_CREDENTIALS_SERVER"
msgid "Enter server credentials"
-msgstr ""
+msgstr "Voer server credentials in"
msgctxt "IDS_CREDENTIALS_CONNECT"
msgid "Enter your credentials to connect"
-msgstr ""
+msgstr "Voer je inloggegevens in om te verbinden"
msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
msgid "Save custom style"
@@ -1279,7 +1282,7 @@ msgstr "Naam"
msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
msgid "Value"
-msgstr ""
+msgstr "Waarde"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
@@ -1295,11 +1298,11 @@ msgstr ""
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
-msgstr ""
+msgstr "Niets doen"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
-msgstr ""
+msgstr "Speel volgend bestand af"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
@@ -1315,15 +1318,15 @@ msgstr "Afsluiten"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr ""
+msgstr "Schakel de monitor uit"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
-msgstr ""
+msgstr "JPEG Afbeelding"
msgctxt "IDS_IMAGE_QUALITY"
msgid "Quality (%):"
-msgstr ""
+msgstr "Kwaliteit (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
@@ -1337,6 +1340,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Bekijk"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Omhoog"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Omlaag"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sorteer op LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Verwijder alles"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Geen informatie beschikbaar"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Even geduld, analyse bezig..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Apparaat openen"
@@ -1415,15 +1454,15 @@ msgstr ""
msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
msgid "Music/Ballet/Dance"
-msgstr ""
+msgstr "Muziek/Ballet/Dans"
msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
msgid "Arts/Culture"
-msgstr ""
+msgstr "Kunst/Cultuur"
msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
msgid "Social/Political issues/Economics"
-msgstr ""
+msgstr "Sociaal/Politiek/Economie"
msgctxt "IDS_CONTENT_LEISURE"
msgid "Leisure hobbies"
@@ -1431,7 +1470,7 @@ msgstr ""
msgctxt "IDS_FILE_RECYCLE"
msgid "Move to Recycle Bin"
-msgstr ""
+msgstr "Verplaats naar prullenbak"
msgctxt "IDS_AG_SAVE_COPY"
msgid "Save a Copy"
@@ -1439,11 +1478,11 @@ msgstr "Kopie opslaan"
msgctxt "IDS_FASTSEEK_LATEST"
msgid "Latest keyframe"
-msgstr ""
+msgstr "Laatste keyframe"
msgctxt "IDS_FASTSEEK_NEAREST"
msgid "Nearest keyframe"
-msgstr ""
+msgstr "Dichtstbijzijnde keyframe"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
@@ -1451,11 +1490,11 @@ msgstr ""
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
-msgstr ""
+msgstr "Nooit tonen"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
msgid "Show when moving the cursor, hide after:"
-msgstr ""
+msgstr "Toon aanwijzer tijdens bewegen, verberg na:"
msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
msgid "Show when hovering control, hide after:"
@@ -1479,11 +1518,11 @@ msgstr ""
msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
msgid "VSync Offset: %d"
-msgstr ""
+msgstr "VSync compensatie: %d"
msgctxt "IDS_OSD_SPEED"
msgid "Speed: %.2lfx"
-msgstr ""
+msgstr "Snelheid: %.2lfx"
msgctxt "IDS_OSD_THUMBS_SAVED"
msgid "Thumbnails saved successfully"
@@ -1523,11 +1562,11 @@ msgstr ""
msgctxt "IDS_EXPORT_SETTINGS_FAILED"
msgid "The export failed! This can happen when you don't have the correct rights."
-msgstr ""
+msgstr "Export gefaald! Dit kan gebeuren als U niet de correcte rechten heeft."
msgctxt "IDS_BDA_ERROR"
msgid "BDA Error"
-msgstr ""
+msgstr "BDA Fout"
msgctxt "IDS_AG_DECREASE_RATE"
msgid "Decrease Rate"
@@ -1538,11 +1577,11 @@ msgid "Reset Rate"
msgstr "Normaal"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Audio vertragingDelay +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Audio vertraging -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1687,7 +1726,7 @@ msgstr "PnS Dec Hoogte"
msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
msgid "Downloading subtitle(s), please wait."
-msgstr ""
+msgstr "Ondertiteling downloaden, even geduld."
msgctxt "IDS_SUBDL_DLG_PARSING"
msgid "Parsing list..."
@@ -1698,8 +1737,8 @@ msgid "No subtitles found."
msgstr "Geen ondertitels gevonden."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr ""
+msgid "%d subtitle(s) available."
+msgstr "%d ondertitel(s) beschikbaar."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -1719,11 +1758,11 @@ msgstr "200%"
msgctxt "IDS_ZOOM_AUTOFIT"
msgid "Auto Fit"
-msgstr ""
+msgstr "Autom. passend"
msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
msgid "Auto Fit (Larger Only)"
-msgstr ""
+msgstr "Autom. passend (Alleen groter)"
msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
msgid "Zoom Auto Fit (Larger Only)"
@@ -1735,19 +1774,19 @@ msgstr ""
msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
msgid "Double click to open file location"
-msgstr ""
+msgstr "Dubbelklik om bestandlocatie te openen"
msgctxt "IDS_TOOLTIP_REMAINING_TIME"
msgid "Toggle between elapsed and remaining time"
-msgstr ""
+msgstr "Schakel tussen verstreken en resterende tijd"
msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
msgid "Invalid delay"
-msgstr ""
+msgstr "Ongeldige vertraging"
msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
msgid "Please enter a number between 1 and 365."
-msgstr ""
+msgstr "Voer een getal in tussen 1 en 365"
msgctxt "IDS_AG_PNS_CENTER"
msgid "PnS Center"
@@ -1803,7 +1842,7 @@ msgstr "DVD Titel Menu"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr ""
+msgstr "DVD Root menu"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
@@ -1983,11 +2022,11 @@ msgstr "Stoppen"
msgctxt "IDS_DVB_TVNAV_SEERADIO"
msgid "Radio stations"
-msgstr ""
+msgstr "Radio stations"
msgctxt "IDS_DVB_TVNAV_SEETV"
msgid "TV stations"
-msgstr ""
+msgstr "TV Stations"
msgctxt "IDS_DVB_CHANNEL_FORMAT"
msgid "Format"
@@ -2015,23 +2054,23 @@ msgstr "gemaakt: %d, verworpen: %d"
msgctxt "IDS_AG_FRAMES"
msgid "Frames"
-msgstr ""
+msgstr "Beelden"
msgctxt "IDS_AG_BUFFERS"
msgid "Buffers"
-msgstr ""
+msgstr "Buffers"
msgctxt "IDS_MAINFRM_9"
msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume: %02lu/%02lu, Title: %02lu/%02lu, Hoofdstuk: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Camerahoek: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2043,7 +2082,7 @@ msgstr "Afspelen met MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "MPC-HC heeft niet genoeg rechten om bestand associaties te veranderen. Klik op \"Uitvoeren als Administrator\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2119,7 +2158,7 @@ msgstr "Kolommen:"
msgctxt "IDS_THUMB_IMAGE_WIDTH"
msgid "Image width"
-msgstr ""
+msgstr "Beeldbreedte"
msgctxt "IDS_PPSDB_URLCORRECT"
msgid "The URL appears to be correct!"
@@ -2138,24 +2177,24 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Totaal: %ld, Verworpen: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Grootte: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Grootte: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Beschikbaar: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Beschikbaar: %I64dMB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
-msgstr ",Beschikbare V/A Buffers: %03d/%03d"
+msgstr ", Beschikbare V/A Buffers: %03d/%03d"
msgctxt "IDS_AG_ERROR"
msgid "Error"
@@ -2227,7 +2266,7 @@ msgstr ""
msgctxt "IDS_SUBTITLE_FILES_FILTER"
msgid "Subtitle files"
-msgstr ""
+msgstr "Ondertiteling bestanden"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
@@ -2238,7 +2277,7 @@ msgid "Aspect Ratio: Default"
msgstr "Beeldverhouding: Default"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Audio vertraging: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2478,8 +2517,8 @@ msgid "Volume boost Max"
msgstr ""
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Gebruik: mpc-hc.exe \"padnaam\" [parameters]\n\n\"padnaam\"\tHet te laden bestand of map (wildcards\n\t\ttoegestaan, \"-\" denotes standard input)\n/dub \"dubnaam\"\tLaad nog een geluidsbestand\n/dubdelay \"best\"\tLaad nog een geluidsbestand met een\n\t\tverschuiving van XXms\n\t\t (als bestand \"..vertraging XXms..\" heeft)\n/d3dfs\t\tStart renderen in D3D Volledig Scherm modus\n/sub \"ondertitel\"\tLaad nog een ondertitelingsbestand\n/filter \"filternaam\"\tLaad DirectShow filters van een DLL\n\t\t(wildcards toegestaan)\n/dvd\t\tStart in DVD-modus, \"padnaam\" betekent de DVD\n\t\tmap (hoeft niet)\n/dvdpos T#H\tStart afspelen bij titel T, hoofdstuk H\n/dvdpos T#uu:mm\tStart afspelen bij titel T, positie uu:mm:ss\n/cd\t\tLaad alle nummers van een audio cd of (s)vcd\n\t\t\"padnaam\" betekent het stationspad (hoeft niet)\n/device\t\tOpen the default video device\n/open\t\tOpen het bestand zonder automatisch af te spelen\n/play\t\tDirect afspelen, wanneer de speler wordt geopend\n/close\t\tSluit de speler af na afspelen (werkt alleen samen \n\t\tmet /play)\n/shutdown\tWindows afsluiten na afspelen\n/fullscreen\tStart in Volldig Scherm modus\n/minimized\tStart geminimaliseerd\n/new\t\tEen nieuwe speler openen\n/add\t\tVoegt \"padnaam\" aan de afspeellijst toe\n\t\tKan gecombineerd worden met /open en /play\n/regvid\t\tMaak bestandskoppelingen voor videobestanden\n/regaud\t\tMaak bestandskoppelingen voor\n\t\tgeluidsbestanden\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVerwijder alle bestandskoppelingen\n/start ms\t\tStart afspelen op \"ms\" (= milliseconden)\n/startpos uu:mm:ss\tStart afspelen op positie uu:mm:ss\n/fixedsize B,H\tZet venstergrootte op BxH\n/monitor N\tStart op schermmonitor N (N start bij 1)\n/audiorenderer N\tStart met audiorenderer N (N start bij 1)\n\t\t(zie \"Uitgangs\" instellingen)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tToon help over opdrachtprompt parameters\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Gebruik: mpc-hc.exe \"padnaam\" [parameters]\n\n\"padnaam\"\tHet te laden bestand of map (wildcards\n\t\ttoegestaan, \"-\" denotes standard input)\n/dub \"dubnaam\"\tLaad nog een geluidsbestand\n/dubdelay \"best\"\tLaad nog een geluidsbestand met een\n\t\tverschuiving van XXms\n\t\t (als bestand \"..vertraging XXms..\" heeft)\n/d3dfs\t\tStart renderen in D3D Volledig Scherm modus\n/sub \"ondertitel\"\tLaad nog een ondertitelingsbestand\n/filter \"filternaam\"\tLaad DirectShow filters van een DLL\n\t\t(wildcards toegestaan)\n/dvd\t\tStart in DVD-modus, \"padnaam\" betekent de DVD\n\t\tmap (hoeft niet)\n/dvdpos T#H\tStart afspelen bij titel T, hoofdstuk H\n/dvdpos T#uu:mm\tStart afspelen bij titel T, positie uu:mm:ss\n/cd\t\tLaad alle nummers van een audio cd of (s)vcd\n\t\t\"padnaam\" betekent het stationspad (hoeft niet)\n/device\t\tOpen the default video device\n/open\t\tOpen het bestand zonder automatisch af te spelen\n/play\t\tDirect afspelen, wanneer de speler wordt geopend\n/close\t\tSluit de speler af na afspelen (werkt alleen samen \n\t\tmet /play)\n/shutdown\tWindows afsluiten na afspelen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in Volldig Scherm modus\n/minimized\tStart geminimaliseerd\n/new\t\tEen nieuwe speler openen\n/add\t\tVoegt \"padnaam\" aan de afspeellijst toe\n\t\tKan gecombineerd worden met /open en /play\n/regvid\t\tMaak bestandskoppelingen voor videobestanden\n/regaud\t\tMaak bestandskoppelingen voor\n\t\tgeluidsbestanden\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tVerwijder alle bestandskoppelingen\n/start ms\t\tStart afspelen op \"ms\" (= milliseconden)\n/startpos uu:mm:ss\tStart afspelen op positie uu:mm:ss\n/fixedsize B,H\tZet venstergrootte op BxH\n/monitor N\tStart op schermmonitor N (N start bij 1)\n/audiorenderer N\tStart met audiorenderer N (N start bij 1)\n\t\t(zie \"Uitgangs\" instellingen)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tToon help over opdrachtprompt parameters\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2579,15 +2618,15 @@ msgstr "Auteur onbekend. Neem contact op als je dit logo hebt gemaakt!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr ""
+msgstr "Geen media meer in de huidige folder."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
-msgstr ""
+msgstr "Het eerste bestand in de folder is al geladen."
msgctxt "IDS_LAST_IN_FOLDER"
msgid "The last file of the folder is already loaded."
-msgstr ""
+msgstr "Het laatste bestand in de folder is al geladen."
msgctxt "IDS_FRONT_LEFT"
msgid "Front Left"
@@ -2687,19 +2726,19 @@ msgstr "Verberg menu"
msgctxt "IDD_PPAGEADVANCED"
msgid "Advanced"
-msgstr ""
+msgstr "Geavanceerd"
msgctxt "IDS_TIME_TOOLTIP_ABOVE"
msgid "Above seekbar"
-msgstr ""
+msgstr "Boven zoekbalk"
msgctxt "IDS_TIME_TOOLTIP_BELOW"
msgid "Below seekbar"
-msgstr ""
+msgstr "Onder zoekbalk"
msgctxt "IDS_VIDEO_STREAM"
msgid "Video: %s"
-msgstr ""
+msgstr "Video: %s"
msgctxt "IDS_APPLY"
msgid "Apply"
@@ -2707,7 +2746,7 @@ msgstr "Toepassen"
msgctxt "IDS_CLEAR"
msgid "Clear"
-msgstr ""
+msgstr "Leegmaken"
msgctxt "IDS_CANCEL"
msgid "Cancel"
@@ -2715,7 +2754,7 @@ msgstr "Annuleren"
msgctxt "IDS_THUMB_THUMBNAILS"
msgid "Layout"
-msgstr ""
+msgstr "Layout"
msgctxt "IDS_THUMB_PIXELS"
msgid "Pixels:"
@@ -2731,27 +2770,27 @@ msgstr "&Deactiveer alle filters"
msgctxt "IDS_ENABLE_AUDIO_FILTERS"
msgid "Enable all audio decoders"
-msgstr ""
+msgstr "Activeer alle audio decoders"
msgctxt "IDS_DISABLE_AUDIO_FILTERS"
msgid "Disable all audio decoders"
-msgstr ""
+msgstr "Deactiveer alle audio decoders"
msgctxt "IDS_ENABLE_VIDEO_FILTERS"
msgid "Enable all video decoders"
-msgstr ""
+msgstr "Activeer alle video decoders"
msgctxt "IDS_DISABLE_VIDEO_FILTERS"
msgid "Disable all video decoders"
-msgstr ""
+msgstr "Deactiveer alle video decoders"
msgctxt "IDS_STRETCH_TO_WINDOW"
msgid "Stretch To Window"
-msgstr ""
+msgstr "Spreiden"
msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
msgid "Touch Window From Inside"
-msgstr ""
+msgstr "Pas venster vanuit binnen aan"
msgctxt "IDS_ZOOM1"
msgid "Zoom 1"
@@ -2763,15 +2802,15 @@ msgstr "Zoom 2"
msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
msgid "Touch Window From Outside"
-msgstr ""
+msgstr "Pas venster vanaf buiten aan"
msgctxt "IDS_AUDIO_STREAM"
msgid "Audio: %s"
-msgstr ""
+msgstr "Audio: %s"
msgctxt "IDS_AG_REOPEN"
msgid "Reopen File"
-msgstr ""
+msgstr "Bestand heropenen"
msgctxt "IDS_MFMT_AVI"
msgid "AVI"
@@ -2859,7 +2898,7 @@ msgstr "Shockwave Flash"
msgctxt "IDS_MFMT_OTHER_AUDIO"
msgid "Other Audio"
-msgstr ""
+msgstr "Ander audio"
msgctxt "IDS_MFMT_AC3"
msgid "AC-3/DTS"
@@ -2887,7 +2926,7 @@ msgstr "AU/SND"
msgctxt "IDS_MFMT_CDA"
msgid "Audio CD track"
-msgstr ""
+msgstr "Audio CD nummer"
msgctxt "IDS_MFMT_FLAC"
msgid "FLAC"
@@ -2931,7 +2970,7 @@ msgstr "Real Audio"
msgctxt "IDS_MFMT_TAK"
msgid "TAK"
-msgstr ""
+msgstr "TAK"
msgctxt "IDS_MFMT_TTA"
msgid "True Audio"
@@ -2959,11 +2998,11 @@ msgstr "Afspeellijst"
msgctxt "IDS_MFMT_BDPLS"
msgid "Blu-ray playlist"
-msgstr ""
+msgstr "Blu-ray afspeellijst"
msgctxt "IDS_MFMT_RAR"
msgid "RAR Archive"
-msgstr ""
+msgstr "RAR Archief"
msgctxt "IDS_DVB_CHANNEL_FPS"
msgid "FPS"
@@ -2979,11 +3018,11 @@ msgstr "Beeldverhouding"
msgctxt "IDS_ARS_WASAPI_MODE"
msgid "Use WASAPI (restart playback)"
-msgstr ""
+msgstr "Gebruik WASAPI (herstart afspelen)"
msgctxt "IDS_ARS_MUTE_FAST_FORWARD"
msgid "Mute on fast forward"
-msgstr ""
+msgstr "Demp bij vooruitspoelen"
msgctxt "IDS_ARS_SOUND_DEVICE"
msgid "Sound Device:"
@@ -2999,11 +3038,11 @@ msgstr "VSync: Uit"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
msgid "Accurate VSync: On"
-msgstr ""
+msgstr "Accurate VSync: Aan"
msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
msgid "Accurate VSync: Off"
-msgstr ""
+msgstr "Accurate VSync: Uit"
msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
msgid "Synchronize Video to Display: On"
@@ -3031,27 +3070,27 @@ msgstr ""
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
msgid "Color Management: On"
-msgstr ""
+msgstr "Kleurbeheer: Aan"
msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
msgid "Color Management: Off"
-msgstr ""
+msgstr "Kleurbeheer: Uit"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
-msgstr ""
+msgstr "Invoer-type: Autom. Detecteren"
msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
msgid "Input Type: HDTV"
-msgstr ""
+msgstr "Invoer-type: HDTV"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
msgid "Input Type: SDTV NTSC"
-msgstr ""
+msgstr "Invoer-type: SDTV NTSC"
msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
msgid "Input Type: SDTV PAL"
-msgstr ""
+msgstr "Invoer-type: SDTV PAL"
msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
msgid "Ambient Light: Bright (2.2 Gamma)"
@@ -3103,19 +3142,19 @@ msgstr ""
msgctxt "IDS_OSD_RS_WAIT_ON"
msgid "Wait for GPU Flush: On"
-msgstr ""
+msgstr "Wacht voor GPU leeg: Aan"
msgctxt "IDS_OSD_RS_WAIT_OFF"
msgid "Wait for GPU Flush: Off"
-msgstr ""
+msgstr "Wacht voor GPU leeg: Uit"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
msgid "D3D Fullscreen: On"
-msgstr ""
+msgstr "D3D Volledig scherm: Aan"
msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
msgid "D3D Fullscreen: Off"
-msgstr ""
+msgstr "D3D Volledig scherm: Uit"
msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
msgid "Disable desktop composition: On"
@@ -3127,11 +3166,11 @@ msgstr ""
msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
msgid "Alternative VSync: On"
-msgstr ""
+msgstr "Alternatieve VSync: Aan"
msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
msgid "Alternative VSync: Off"
-msgstr ""
+msgstr "Alternatieve VSync: Uit"
msgctxt "IDS_OSD_RS_RESET_DEFAULT"
msgid "Renderer settings reset to default"
@@ -3183,35 +3222,35 @@ msgstr ""
msgctxt "IDS_BRIGHTNESS_DEC"
msgid "Brightness decrease"
-msgstr ""
+msgstr "Helderheid verlagen"
msgctxt "IDS_CONTRAST_INC"
msgid "Contrast increase"
-msgstr ""
+msgstr "Contrast verhogen"
msgctxt "IDS_CONTRAST_DEC"
msgid "Contrast decrease"
-msgstr ""
+msgstr "Helderheid verlagen"
msgctxt "IDS_HUE_INC"
msgid "Hue increase"
-msgstr ""
+msgstr "Tint verhogen"
msgctxt "IDS_HUE_DEC"
msgid "Hue decrease"
-msgstr ""
+msgstr "Tint verlagen"
msgctxt "IDS_SATURATION_INC"
msgid "Saturation increase"
-msgstr ""
+msgstr "Verzadiging verhogen"
msgctxt "IDS_SATURATION_DEC"
msgid "Saturation decrease"
-msgstr ""
+msgstr "Verzadiging verlagen"
msgctxt "IDS_RESET_COLOR"
msgid "Reset color settings"
-msgstr ""
+msgstr "Kleurinstellingen resetten"
msgctxt "IDS_USING_LATEST_STABLE"
msgid "\nYou are already using the latest stable version."
@@ -3219,15 +3258,15 @@ msgstr ""
msgctxt "IDS_USING_NEWER_VERSION"
msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
-msgstr ""
+msgstr "Geïnstalleerde versie: v%s.\n\nDe laatste stabiele versie is v%s."
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr ""
+msgstr "MPC-HC v%s is beschikbaar. U gebruikt v%s.\n\nWilt u de nieuwste MPC-HC versie downloaden van de website?"
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
-msgstr ""
+msgstr "Update server niet gevonden.\n\nControlleer uw internet verbinding en probeer opnieuw."
msgctxt "IDS_UPDATE_CLOSE"
msgid "&Close"
@@ -3239,7 +3278,7 @@ msgstr "Zoom: %.0lf%%"
msgctxt "IDS_OSD_ZOOM_AUTO"
msgid "Zoom: Auto"
-msgstr ""
+msgstr "Zoom: Automatisch"
msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
msgid "Toggle custom channel mapping"
@@ -3277,6 +3316,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr ""
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3419,67 +3462,75 @@ msgstr ""
msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
msgid "This type is already in the list!"
-msgstr ""
+msgstr "Dit type staat al in de lijst!"
msgctxt "IDS_WEBSERVER_ERROR_TEST"
msgid "You need to apply the new settings before testing them."
-msgstr ""
+msgstr "Je moet de nieuwe instellingen toepassen voordat je ze test. "
msgctxt "IDS_AFTERPLAYBACK_CLOSE"
msgid "After Playback: Exit"
-msgstr ""
+msgstr "Na weergave: Sluiten"
msgctxt "IDS_AFTERPLAYBACK_STANDBY"
msgid "After Playback: Stand By"
-msgstr ""
+msgstr "Na weergave: Stand By"
msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
msgid "After Playback: Hibernate"
-msgstr ""
+msgstr "Na weergave: Slaap modus"
msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
msgid "After Playback: Shutdown"
-msgstr ""
+msgstr "Na weergave: Afsluiten"
msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
msgid "After Playback: Log Off"
-msgstr ""
+msgstr "Na weergave: Uitloggen"
msgctxt "IDS_AFTERPLAYBACK_LOCK"
msgid "After Playback: Lock"
-msgstr ""
+msgstr "Na weergave: Vergrendelen"
msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
-msgstr ""
+msgstr "Na weergave: Monitor uitschakelen"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Na weergave: Speel volgend bestand af in map"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Na weergave: Niets doen"
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
-msgstr ""
+msgstr "Helderheid: %s"
msgctxt "IDS_OSD_CONTRAST"
msgid "Contrast: %s"
-msgstr ""
+msgstr "Contrast: %s"
msgctxt "IDS_OSD_HUE"
msgid "Hue: %s°"
-msgstr ""
+msgstr "Tint: %s°"
msgctxt "IDS_OSD_SATURATION"
msgid "Saturation: %s"
-msgstr ""
+msgstr "Verzadiging: %s"
msgctxt "IDS_OSD_RESET_COLOR"
msgid "Color settings restored"
-msgstr ""
+msgstr "Kleurinstellingen hersteld"
msgctxt "IDS_OSD_NO_COLORCONTROL"
msgid "Color control is not supported"
-msgstr ""
+msgstr "Kleur controlle wordt niet ondersteund"
msgctxt "IDS_BRIGHTNESS_INC"
msgid "Brightness increase"
-msgstr ""
+msgstr "Helderheid verhogen"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
@@ -3491,7 +3542,7 @@ msgstr ""
msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
msgid "&Blu-Ray playlists"
-msgstr ""
+msgstr "&Blu-Ray afspeellijsten"
msgctxt "IDS_NAVIGATE_PLAYLIST"
msgid "&Playlist"
@@ -3515,19 +3566,19 @@ msgstr ""
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr ""
+msgstr "Associeer met alle formaten"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr ""
+msgstr "Alleen met videoformaten associëren "
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr ""
+msgstr "Alleen met audioformaten associëren "
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr ""
+msgstr "Verwijder alle associaties"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
index fc01217a2..c1af6d236 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 16:00+0000\n"
+"PO-Revision-Date: 2014-10-27 10:19+0000\n"
"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "O programie"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 szczegóły w pliku Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 szczegóły w pliku Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
index 360b18f78..ff89f360f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 16:31+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 10:21+0000\n"
"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Wyłącz &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Otwórz &następny plik w folderze"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "P&rzejdź"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
index 062d30373..998ac34e4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-03 12:56+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-17 14:10+0000\n"
"Last-Translator: kasper93\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/mpc-hc/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Nie można znaleźć wszystkich wolumenów archiwum"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Alokuje płaszczyznę wideo jako teksturę, ale do kopiowania i rozciągania jej w tle bufora ramki nadal używa funkcji dwuwymiarowych. Wymaga karty graficznej, która potrafi wyświetlać 32-bitowy obraz RGBA, tekstury o rozmiarze innym niż potęga dwóch i rozdzielczości odpowiadającej odtwarzanemu wideo."
msgctxt "IDC_TEXTURESURF3D"
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<nie określono>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "OglÄ…daj"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "W górę"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "W dół"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sortuj wg LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Usuń wszystkie"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Czy na pewno chcesz usunąć wszystkie kanały z listy?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Brak dostępnych informacji"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Proszę czekać, analiza w toku..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Otwórz urządzenie"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Zwykłe tempo odtwarzania"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Zwiększ przesunięcie dźwięku o 10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Zmniejsz przesunięcie dźwięku o 10 ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,7 +1734,7 @@ msgid "No subtitles found."
msgstr "Nie znaleziono napisów."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "Dostępnych napisów: %d"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Nośnik: %02lu/%02lu, tytuł: %02lu/%02lu, rozdział: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Kamera: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %u Hz %d bitów %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", wszystkich: %ld, porzuconych: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", rozmiar: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", rozmiar: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", wolne: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", wolne: %I64d MB"
msgctxt "IDS_MAINFRM_42"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "Proporcje obrazu: domyślne"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Przesunięcie dźwięku: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Maksymalne wzmocnienie głośności"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Użycie: mpc-hc.exe „ścieżka†[parametry]\n\n„ścieżkaâ€\t\tOkreÅ›la plik lub folder do otwarcia (symbole\n\t\twieloznaczne dozwolone, „-†oznacza\n\t\tstandardowe wejÅ›cie)\n/dub „plikâ€\tOtwiera dodatkowÄ… Å›cieżkÄ™ dźwiÄ™kowÄ…\n/dubdelay „plikâ€\tOtwiera dodatkowÄ… Å›cieżkÄ™ dźwiÄ™kowÄ… opóźnionÄ…\n\t\to XX ms jeÅ›li nazwa pliku zawiera ciÄ…g\n\t\t„DELAY XXmsâ€\n/d3dfs\t\tUruchamia odtwarzanie peÅ‚noekranowe w D3D\n/sub „plikâ€\tWczytuje dodatkowe napisy\n/filter „plikâ€\tWczytuje filtr DirectShow z biblioteki dll (symbole\n\t\twieloznaczne dozwolone)\n/dvd\t\tOtwiera pÅ‚ytÄ™ DVD, „ścieżka†wskazuje folder DVD\n\t\t(opcjonalnie)\n/dvdpos T#C\tUruchamia odtwarzanie tytuÅ‚u T, rozdziaÅ‚ C\n/dvdpos T#hh:mm\tUruchamia odtwarzanie tytuÅ‚u T, pozycja\n\t\thh:mm:ss\n/cd\t\tOtwiera wszystkie Å›cieżki CD-Audio lub (s)vcd\n\t\t„Ścieżka†wskazuje literÄ™ napÄ™du (opcjonalnie)\n/device\t\tOpen the default video device\n/open\t\tOtwiera plik, nie rozpoczyna odtwarzania\n/play\t\tRozpoczyna odtwarzanie po uruchomieniu\n\t\tprogramu\n/close\t\tKoÅ„czy program po zakoÅ„czeniu odtwarzania\n\t\t(dziaÅ‚a z parametrem /play)\n/shutdown\tZamyka system operacyjny po zakoÅ„czeniu\n\t\todtwarzania\n/fullscreen\tUruchamia w trybie peÅ‚nego ekranu\n/minimized\tUruchamia zminimalizowany\n/new\t\tUruchamia nowe wystÄ…pienie programu\n/add\t\tDodaje „ścieżkę†do listy odtwarzania. Można\n\t\tÅ‚Ä…czyć z parametrami /open i /play\n/regvid\t\tRejestruje formaty wideo\n/regaud\t\tRejestruje formaty dźwiÄ™kowe\n/regpl\t\tRejestruje formaty list odtwarzania\n/regall\t\tRejestruje wszystkie obsÅ‚ugiwane formaty\n/unregall\t\tWyrejestrowuje wszystkie formaty\n/start ms\t\tRozpoczyna odtwarzanie od okreÅ›lonego\n\t\tpoÅ‚ożenia wyrażonego w ms\n/startpos hh:mm:ss\tRozpoczyna odtwarzanie od okreÅ›lonego\n\t\tpoÅ‚ożenia wyrażonego w gg:mm:ss\n/fixedsize x,y\tOkreÅ›la rozmiar okna programu\n/monitor N\tUruchamia na N-tym ekranie, gdzie numer\n\t\tpierwszego ekranu to 1\n/audiorenderer N\tRenderuje dźwiÄ™k za pomocÄ… sterownika N,\n\t\tgdzie numer pierwszego sterownika to 1\n\t\t(ustawienia „StrumieÅ„ wyjÅ›ciowyâ€)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tPrzywraca ustawienia domyÅ›lne\n/help /h /?\tWyÅ›wietla listÄ™ parametrów wiersza poleceÅ„\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Użycie: mpc-hc.exe „ścieżka†[parametry]\n\n„ścieżkaâ€\t\tOkreÅ›la plik lub folder do otwarcia (symbole\n\t\twieloznaczne dozwolone, „-†oznacza\n\t\tstandardowe wejÅ›cie)\n/dub „plikâ€\tOtwiera dodatkowÄ… Å›cieżkÄ™ dźwiÄ™kowÄ…\n/dubdelay „plikâ€\tOtwiera dodatkowÄ… Å›cieżkÄ™ dźwiÄ™kowÄ… opóźnionÄ…\n\t\to XX ms jeÅ›li nazwa pliku zawiera ciÄ…g\n\t\t„DELAY XXmsâ€\n/d3dfs\t\tUruchamia odtwarzanie peÅ‚noekranowe w D3D\n/sub „plikâ€\tWczytuje dodatkowe napisy\n/filter „plikâ€\tWczytuje filtr DirectShow z biblioteki dll (symbole\n\t\twieloznaczne dozwolone)\n/dvd\t\tOtwiera pÅ‚ytÄ™ DVD, „ścieżka†wskazuje folder DVD\n\t\t(opcjonalnie)\n/dvdpos T#C\tUruchamia odtwarzanie tytuÅ‚u T, rozdziaÅ‚ C\n/dvdpos T#hh:mm\tUruchamia odtwarzanie tytuÅ‚u T, pozycja\n\t\thh:mm:ss\n/cd\t\tOtwiera wszystkie Å›cieżki CD-Audio lub (s)vcd\n\t\t„Ścieżka†wskazuje literÄ™ napÄ™du (opcjonalnie)\n/device\t\tOpen the default video device\n/open\t\tOtwiera plik, nie rozpoczyna odtwarzania\n/play\t\tRozpoczyna odtwarzanie po uruchomieniu\n\t\tprogramu\n/close\t\tKoÅ„czy program po zakoÅ„czeniu odtwarzania\n\t\t(dziaÅ‚a z parametrem /play)\n/shutdown\tZamyka system operacyjny po zakoÅ„czeniu\n\t\todtwarzania\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tUruchamia w trybie peÅ‚nego ekranu\n/minimized\tUruchamia zminimalizowany\n/new\t\tUruchamia nowe wystÄ…pienie programu\n/add\t\tDodaje „ścieżkę†do listy odtwarzania. Można\n\t\tÅ‚Ä…czyć z parametrami /open i /play\n/regvid\t\tRejestruje formaty wideo\n/regaud\t\tRejestruje formaty dźwiÄ™kowe\n/regpl\t\tRejestruje formaty list odtwarzania\n/regall\t\tRejestruje wszystkie obsÅ‚ugiwane formaty\n/unregall\t\tWyrejestrowuje wszystkie formaty\n/start ms\t\tRozpoczyna odtwarzanie od okreÅ›lonego\n\t\tpoÅ‚ożenia wyrażonego w ms\n/startpos hh:mm:ss\tRozpoczyna odtwarzanie od okreÅ›lonego\n\t\tpoÅ‚ożenia wyrażonego w gg:mm:ss\n/fixedsize x,y\tOkreÅ›la rozmiar okna programu\n/monitor N\tUruchamia na N-tym ekranie, gdzie numer\n\t\tpierwszego ekranu to 1\n/audiorenderer N\tRenderuje dźwiÄ™k za pomocÄ… sterownika N,\n\t\tgdzie numer pierwszego sterownika to 1\n\t\t(ustawienia „StrumieÅ„ wyjÅ›ciowyâ€)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tPrzywraca ustawienia domyÅ›lne\n/help /h /?\tWyÅ›wietla listÄ™ parametrów wiersza poleceÅ„\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Utrzymywanie głośności: wyłączone"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bajtów"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Po zakończeniu odtwarzania: Wyłącz monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Po zakończeniu odtwarzania: Odtworzenie następnego pliku z folderu"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "After Playback: Nic nie rób"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Jasność: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
index 26df3e619..00da26123 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-02 02:00+0000\n"
-"Last-Translator: Alex Luís Silva <alex.mooca@hotmail.com>\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -195,8 +195,8 @@ msgid "About"
msgstr "Sobre"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 - veja o arquivo Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 - veja o arquivo Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
index e9412ea92..22689a71b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-10-01 23:40+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 15:00+0000\n"
"Last-Translator: Alex Luís Silva <alex.mooca@hotmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -614,6 +614,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Desligar o &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Reproduzir o próximo arquivo na pasta"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navegar"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
index d1720e088..0bbe4065b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.pt_BR.strings.po
@@ -1,20 +1,22 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
# Alex Luís Silva <alex.mooca@hotmail.com>, 2014
# brunoarmanelli <brunoarmanelli@me.com>, 2014
+# Erick Simões <erick.simoes@yahoo.com.br>, 2014-2015
# Roger Filipe <lipe2000@outlook.com>, 2013-2014
# Luis Henrique <henriqlh@gmail.com>, 2014
# mvpetri <mvpetri@gmail.com>, 2014
# Raphael Mendonça, 2014
+# Underground78, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 23:40+0000\n"
-"Last-Translator: Alex Luís Silva <alex.mooca@hotmail.com>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2015-01-03 02:30+0000\n"
+"Last-Translator: Erick Simões <erick.simoes@yahoo.com.br>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mpc-hc/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -92,7 +94,7 @@ msgstr "Compensação de sincronia"
msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
msgid "avg: %d ms, dev: %d ms"
-msgstr "avg: %d ms, dev: %d ms"
+msgstr "méd: %d ms, desv: %d ms"
msgctxt "IDS_STATSBAR_JITTER"
msgid "Jitter"
@@ -795,7 +797,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Não foi possivel encontrar todos volumes do arquivo"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "A superfície de vídeo será alocada como uma textura mas permanecerão as funções 2D usadas para copiar e alargar no backbuffer. Exige uma placa de vídeo que possa alocar RGBA de 32 bits, pelo menos a resolução do Vídeo."
msgctxt "IDC_TEXTURESURF3D"
@@ -1342,6 +1344,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<não definido>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Assistir"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Subir"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Descer"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Agrupar por LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Remover todos"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Tem certeza de que deseja remover todos os canais da lista?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nenhuma informação disponível"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Por favor, aguarde. Análise em andamento..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "RA %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Abrir dispositivo"
@@ -1543,11 +1581,11 @@ msgid "Reset Rate"
msgstr "Voltar para velocidade normal"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ajuste de áudio em +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ajuste de áudio em -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1703,8 +1741,8 @@ msgid "No subtitles found."
msgstr "Nenhuma legenda foi encontrada."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d legendas(s) disponíveis."
+msgid "%d subtitle(s) available."
+msgstr "%d legendas(s) disponíveis."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2031,12 +2069,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volume: %02lu/%02lu, Título: %02lu/%02lu, Capítulo: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Ângulo: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2143,19 +2181,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Total: %ld, Perdidos: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Tamanho: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Tamanho: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Livre: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Livre: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2180,7 +2218,7 @@ msgstr "Selecione o caminho para o DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "Carregado com sucesso"
+msgstr " carregado com sucesso"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2236,14 +2274,14 @@ msgstr "Arquivos de legendas"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
-msgstr "Aspecto proporcional: %ld:%ld"
+msgstr "Razão de aspecto: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
msgid "Aspect Ratio: Default"
-msgstr "Aspecto proporcional de vídeo: Original"
+msgstr "Proporção de vídeo: Original"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Diferença entre vídeo e áudio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2412,7 +2450,7 @@ msgstr "&Propriedades..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "Propriedades (Pin)..."
+msgstr " (pino) propriedades..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2428,11 +2466,11 @@ msgstr "VSync (Sincronização Vertical de Tela)"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Comentário do Diretor N° 1)"
+msgstr " (Comentário do Diretor N° 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Comentário do Diretor N° 2)"
+msgstr " (Comentário do Diretor N° 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2483,8 +2521,8 @@ msgid "Volume boost Max"
msgstr "Ganho de volume máximo"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO arquivo principal ou diretório a se carregar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCarregar um arquivo de áudio adicional\n/dubdelay \"file\"\tCarregar um arquivo de Ãudio adicional alterado com XXms (se\n\t\to arquivo contém \"...DELAY XXms...\")\n/d3dfs\t\tIniciar rendering em D3D modo tela cheia\n/sub \"subname\"\tCarregar um arquivo de legendas adicional\n/filter \"filtername\"\tCarregar filtros DirectShow de um link dinâmico\n\t\t (wildcards allowed)\n/dvd\t\tExecutar em modo DVD, \"pathname\" significa a pasta\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCarregar todas as faixas de um CD de Ãudio ou (s)vcd,\n\t\t\"pathname\" significa o caminho do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o arquivo, não inicia automaticamente a reprodução\n/play\t\tInicia a reprodução do arquivo assim que o tocado estiver\n\t\taberto\n/close\t\tFecha o programa após a reprodução (Só funciona quando\n\t\tusado com /play)\n/shutdown\tDesliga o sistema operacional após a reprodução\n/fullscreen\tInicia em modo tela cheia\n/minimized\tInicia em modo minimizado\n/new\t\tUsa o programa em uma nova instância\n/add\t\tadiciona \"pathname\" a lista de reprodução, pode ser combinada\n\t\tcom /open e com /play\n/regvid\t\tRegistra formatos de vídeo\n/regaud\t\tRegistra formatos de Ãudio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tTira o registro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodução em \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAjusta tamanho fixo da janela\n/monitor N\tInicia monitoramento N, onde N inicia em 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestaura as configurações padrões\n/help /h /?\tMostra ajuda sobre as opções de linha de comandos\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Uso: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tO arquivo principal ou diretório a se carregar (wildcards\n\t\tpermitidos, \"-\" denotes standard input)\n/dub \"dubname\"\tCarregar um arquivo de áudio adicional\n/dubdelay \"file\"\tCarregar um arquivo de Ãudio adicional alterado com XXms (se\n\t\to arquivo contém \"...DELAY XXms...\")\n/d3dfs\t\tIniciar rendering em D3D modo tela cheia\n/sub \"subname\"\tCarregar um arquivo de legendas adicional\n/filter \"filtername\"\tCarregar filtros DirectShow de um link dinâmico\n\t\t (wildcards allowed)\n/dvd\t\tExecutar em modo DVD, \"pathname\" significa a pasta\n\t\tdo dvd (opcional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tCarregar todas as faixas de um CD de Ãudio ou (s)vcd,\n\t\t\"pathname\" significa o caminho do drive (opcional)\n/device\t\tOpen the default video device\n/open\t\tAbrir o arquivo, não inicia automaticamente a reprodução\n/play\t\tInicia a reprodução do arquivo assim que o tocado estiver\n\t\taberto\n/close\t\tFecha o programa após a reprodução (Só funciona quando\n\t\tusado com /play)\n/shutdown\tDesliga o sistema operacional após a reprodução\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tInicia em modo tela cheia\n/minimized\tInicia em modo minimizado\n/new\t\tUsa o programa em uma nova instância\n/add\t\tadiciona \"pathname\" a lista de reprodução, pode ser combinada\n\t\tcom /open e com /play\n/regvid\t\tRegistra formatos de vídeo\n/regaud\t\tRegistra formatos de Ãudio\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tTira o registro de todos os formatos de vídeo\n/start ms\t\tInicia a reprodução em \"ms\" (= millisegundos)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tAjusta tamanho fixo da janela\n/monitor N\tInicia monitoramento N, onde N inicia em 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestaura as configurações padrões\n/help /h /?\tMostra ajuda sobre as opções de linha de comandos\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3282,6 +3320,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Recuperar volume: Não"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3458,6 +3500,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Após reprodução: Desligar o monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Após a reprodução: Reproduzir o próximo arquivo na pasta"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Após a reprodução: Fazer nada"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Brilho: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
index 8617461a6..08e63b0f3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Daniel <danny34ever@yahoo.com>, 2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 17:30+0000\n"
-"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Despre"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Drepturi de autor © 2002-2014 vedeți Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Drepturi de autor © 2002-2015 vedeți Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
index 73b835f58..62b24b306 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Daniel <danny34ever@yahoo.com>, 2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-22 12:40+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 16:30+0000\n"
"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "ÃŽnchide &monitorul"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Redă &următorul fișier din dosar"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigare"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
index 9ce48b889..60d899c26 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ro.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Daniel <danny34ever@yahoo.com>, 2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 18:10+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-01 11:03+0000\n"
"Last-Translator: lordkag <lord.kagula@gmail.com>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/mpc-hc/language/ro/)\n"
"MIME-Version: 1.0\n"
@@ -790,8 +790,8 @@ msgid "Couldn't find all archive volumes"
msgstr "Nu s-au găsit toate volumele arhivei"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Suprafața video va fi alocată ca o textură dar tot funcțiile 2D vor fi folosite pentru copierea și întinderea în backbuffer. Este necesară o placă video care poate aloca texturi pe 32 de biți RGBA, de mărimi care nu sunt puteri ale lui doi și cel puțin la rezoluția videoului."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Suprafața video va fi alocată ca o textură, dar tot funcțiile 2D vor fi folosite pentru copierea și întinderea în backbuffer. Este necesară o placă video care poate aloca texturi pe 32 de biți RGBA, de mărimi care nu sunt puteri ale lui doi și cel puțin la rezoluția videoului."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -1335,7 +1335,43 @@ msgstr "Întârzierea subtitrării va scade/crește cu această valoare de fieca
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<nedefinit>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Vizualizează"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Mută în sus"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Mută în jos"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sortează după numărul logic al canalului - LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Elimină toate"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Sigur doriți să ștergeți toate canalele din listă?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nu sunt disponibile informații"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Vă rugăm să așteptați, analiza este în curs..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "RA %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Resetează rata"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Întârziere audio +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Întârziere audio -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,7 +1734,7 @@ msgid "No subtitles found."
msgstr "Nu s-au găsit subtitrări."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "Nr. subtitrări disponibile: %d"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volum: %02lu/%02lu, Titlu: %02lu/%02lu, Capitol: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Unghi: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbiți %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Totale: %ld, Pierdute: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Mărime: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Mărime: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Liberă: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Liberă: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2211,7 +2247,7 @@ msgstr "Format de imagine nevalid, nu pot fi create miniaturi de %d bpp."
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
-msgstr "Dimensiune fișier: %s (%s bytes)\\N"
+msgstr "Dimensiune fișier: %s (%s octeți)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "Raport de aspect: Implicit"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Întârziere audio: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Amplificare volum maximă"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Utilizare: mpc-hc.exe \"cale\" [comutatoare]\n\n\"cale\"\t\tFișierul principal sau directorul ce trebuie încărcat (metacaractere\n\t\tpermise, \"-\" indică intrare standard)\n/dub \"dublaj\"\tÎncarcă un fișier audio adițional\n/dubdelay \"fișier\"\tÎncarcă un fișier audio adițional decalat cu XXms (dacă\n\t\tfișierul conține \"...DELAY XXms...\")\n/d3dfs\t\tPornește randare în mod ecran complet D3D\n/sub \"subtitrare\"\tÎncarcă o subtitrare adițională\n/filter \"nume filtru\"\tÎncarcă filtre DirectShow dintr-o librărie\n\t\tcu încărcare dinamică (metacaractere permise)\n/dvd\t\tRulează în mod DVD, \"cale\" înseamnă dosarul\n\t\tdvd-ului (opțional)\n/dvdpos T#C\tPornește redarea la titlul T, capitolul C\n/dvdpos T#hh:mm\tPornește redarea la titlul T, poziția hh:mm:ss\n/cd\t\tÎncarcă toate pistele unui CD audio sau (S)VCD,\n\t\t\"cale\" înseamnă calea unității (opțional)\n/device\t\tDeschide dispozitivul video implicit\n/open\t\tDeschide fișierul, nu porni redarea în mod automat\n/play\t\tÎncepe redarea fișierului imediat ce playerul este lansat\n/close\t\tÎnchide playerul după redare (funcționează doar când\n\t\teste folosit cu /play)\n/shutdown\tÎnchide sistemul după redare\n/fullscreen\tPornește în modul ecran complet\n/minimized\tPornește în modul minimizat\n/new\t\tFolosește o instanță nouă a playerului\n/add\t\tAdaugă \"cale\" la lista de redare, poate fi combinat\n\t\tcu /open și /play\n/regvid\t\tCreează asocieri de fișiere pentru fișiere video\n/regaud\t\tCreează asocieri de fișiere pentru fișiere audio\n/regpl\t\tCreează asocieri de fișiere pentru fișiere listă de redare\n/regall\t\tCreează asocieri de fișiere pentru toate tipurile de fișiere suportate\n/unregall\t\tElimină toate asocierile de fișiere\n/start ms\t\tPornește redarea la \"ms\" (= milisecunde)\n/startpos hh:mm:ss\tPornește redarea la poziția hh:mm:ss\n/fixedsize L,l\tSetează o dimensiune fixă Lxl pentru fereastră\n/monitor N\tPornește redarea pe monitorul N, unde N începe de la 1\n/audiorenderer N\tPornește folosind randorul audio N, unde N începe de la 1\n\t\t(vedeți setările \"Ieșire\")\n/shaderpreset \"Pr\"\tFolosește setarea implicită \"Pr\" pentru shader\n/reset\t\tRestaurează setări implicite\n/help /h /?\tArată ajutor pentru comutatoarele din linia de comandă\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Utilizare: mpc-hc.exe \"cale\" [comutatoare]\n\n\"cale\"\t\tFișierul principal sau directorul ce trebuie încărcat (metacaractere\n\t\tpermise, \"-\" indică intrare standard)\n/dub \"dublaj\"\tÎncarcă un fișier audio adițional\n/dubdelay \"fișier\"\tÎncarcă un fișier audio adițional decalat cu XXms (dacă\n\t\tfișierul conține \"...DELAY XXms...\")\n/d3dfs\t\tPornește randarea în mod ecran complet D3D\n/sub \"subtitrare\"\tÎncarcă o subtitrare adițională\n/filter \"filtru\"\tÎncarcă filtre DirectShow dintr-o librărie\n\t\tcu încărcare dinamică (metacaractere permise)\n/dvd\t\tRulează în mod DVD, \"cale\" înseamnă dosarul\n\t\tdvd-ului (opțional)\n/dvdpos T#C\tPornește redarea de la titlul T, capitolul C\n/dvdpos T#hh:mm\tPornește redarea de la titlul T, poziția hh:mm:ss\n/cd\t\tÎncarcă toate pistele unui CD audio sau (S)VCD,\n\t\t\"cale\" înseamnă calea unității (opțional)\n/device\t\tDeschide dispozitivul video implicit\n/open\t\tDeschide fișierul, nu porni redarea în mod automat\n/play\t\tÎncepe redarea fișierului imediat ce playerul este lansat\n/close\t\tÎnchide playerul după redare (funcționează doar când\n\t\teste folosit cu /play)\n/shutdown\tÎnchide sistemul după redare\n/standby\t\tIntră în repaus după redare\n/hibernate\tIntră în hibernare după redare\n/logoff\t\tÎnchide sesiunea după redare\n/lock\t\tBlochează desktopul după redare\n/monitoroff\tÎnchide monitorul după redare\n/playnext\t\tRedă următorul fișier din dosar după redare\n/fullscreen\tPornește în modul ecran complet\n/minimized\tPornește în modul minimizat\n/new\t\tFolosește o instanță nouă a playerului\n/add\t\tAdaugă \"cale\" la lista de redare, poate fi combinat\n\t\tcu /open și /play\n/regvid\t\tCreează asocieri de fișiere pentru fișiere video\n/regaud\t\tCreează asocieri de fișiere pentru fișiere audio\n/regpl\t\tCreează asocieri de fișiere pentru fișiere listă de redare\n/regall\t\tCreează asocieri de fișiere pentru toate tipurile de fișiere suportate\n/unregall\t\tElimină toate asocierile de fișiere\n/start ms\t\tPornește redarea la \"ms\" (= milisecunde)\n/startpos hh:mm:ss\tPornește redarea la poziția hh:mm:ss\n/fixedsize L,l\tSetează o dimensiune fixă Lxl pentru fereastră\n/monitor N\tPornește redarea pe monitorul N, unde N începe de la 1\n/audiorenderer N\tPornește folosind randorul audio N, unde N începe de la 1\n\t\t(vedeți setările \"Ieșire\")\n/shaderpreset \"Pr\"\tPornește folosind setarea predefinită \"Pr\" pentru shader\n/pns \"name\"\tSpecifică numele setării predefinite Pan&Scan ce va fi folosită\n/iconsassoc\tReasociază iconițele specifice formatelor\n/nofocus\t\tDeschide MPC-HC în fundal\n/webport N\tPornește interfața web pe portul specificat\n/debug\t\tArată informații de depanare în OSD\n/nominidump\tDezactivează crearea imaginilor de depanare\n/slave \"hWnd\"\tFolosește MPC-HC în modul sclav sau dependent\n/reset\t\tRestaurează setări implicite\n/help /h /?\tArată ajutor pentru comutatoarele din linia de comandă\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Restabilire volum: Dezactivată"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "octeți"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3299,7 +3339,7 @@ msgstr "MB/s"
msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
msgid "Could not create the tuner."
-msgstr "Tunerul nu poate fi creat."
+msgstr "Tunerul nu poate fi creat."
msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
msgid "Could not create the receiver."
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "După redare: Închide monitorul"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "După redare: Redă următorul fișier din dosar"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "După redare: Nicio acțiune"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Luminozitate: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
index 6a7e1b361..92ceeb84d 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.dialogs.po
@@ -1,16 +1,17 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
# sayanvd <sayanvd@yandex.ru>, 2014
# stryaponoff <stryaponoff@gmail.com>, 2014
+# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:20+0000\n"
-"Last-Translator: Alexander Gorishnyak <kefir500@gmail.com>\n"
+"PO-Revision-Date: 2014-12-01 22:46+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -156,7 +157,7 @@ msgstr "Открыть"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ñ„Ð¸Ð»ÑŒÐ¼Ð° или аудиофайла\n(в Интернете или на вашем компьютере)"
+msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ñ„Ð¸Ð»ÑŒÐ¼Ð° или аудиофайла (в Интернете или на вашем компьютере)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -191,8 +192,8 @@ msgid "About"
msgstr "О программе"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014, Ñмотрите файл Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015, Ñмотрите файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -308,7 +309,7 @@ msgstr "Повышенный приоритет процеÑÑа"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
-msgstr ""
+msgstr "Включить поддержку обложки"
msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
msgid "History"
@@ -536,27 +537,27 @@ msgstr "МакÑимальный размер текÑтуры:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
msgid "Never animate the subtitles"
-msgstr ""
+msgstr "Ðикогда не анимировать Ñубтитры"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
msgid "Render at"
-msgstr ""
+msgstr "Рендерить"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
msgid "% of the animation"
-msgstr ""
+msgstr "% анимации"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
msgid "Animate at"
-msgstr ""
+msgstr "Ðнимировать"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr ""
+msgstr "% кадра видео"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr ""
+msgstr "Включить выпадение некоторых кадров, при запазывании."
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -592,15 +593,15 @@ msgstr "ÐÑÑоциации"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr ""
+msgstr "ИÑпользовать Ñпециальные иконки"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "ЗапуÑк от имени &ÐдминиÑтратора"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "УÑтановить как программу &по умолчанию"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
@@ -1644,11 +1645,11 @@ msgstr "РаÑширенные наÑтройки. УбедитеÑÑŒ, в том
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
msgid "True"
-msgstr ""
+msgstr "Верно"
msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
msgid "False"
-msgstr ""
+msgstr "Ðе верно"
msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
msgid "Default"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
index a89f129b1..40d8e7511 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.menus.po
@@ -1,14 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# sayanvd <sayanvd@yandex.ru>, 2014
+# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:01+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-21 14:11+0000\n"
+"Last-Translator: SmilyCarrot <twisted-transistor@yandex.ru>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -610,7 +611,11 @@ msgstr "Блокировать компьютер"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr ""
+msgstr "Выключить &монитор"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "ВоÑпроизвеÑти &Ñледующий файл в папке"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
index e64e08356..a11c0f35e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.ru.strings.po
@@ -1,18 +1,19 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
# Arkady Shapkin <arkadiy_s@inbox.ru>, 2014
# sayanvd <sayanvd@yandex.ru>, 2014
# stryaponoff <stryaponoff@gmail.com>, 2014
+# SmilyCarrot <twisted-transistor@yandex.ru>, 2014
# Underground78, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:10+0000\n"
-"Last-Translator: Alexander Gorishnyak <kefir500@gmail.com>\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-03 11:31+0000\n"
+"Last-Translator: sayanvd <sayanvd@yandex.ru>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/mpc-hc/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -118,7 +119,7 @@ msgstr "Стили"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr ""
+msgstr "ЕÑли цель рендеринга не определена, SSA/ASS Ñубтитры будут отрендерены отноÑительно видео кадра, а вÑе другие текÑтовые Ñубтитры будут отрендерены отноÑительно окна."
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -793,7 +794,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Ðе могу найти вÑе архивные тома"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ПоверхноÑÑ‚ÑŒ Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾ выделÑетÑÑ ÐºÐ°Ðº текÑтура, но Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ раÑÑ‚ÑÐ¶ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ в буфер иÑпользуютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ 2D. Требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ°Ñ€Ñ‚Ñ‹, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ выделÑÑ‚ÑŒ 32bit RGBA текÑтуры, Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°Ð¼Ð¸ не кратными 2, Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ в разрешении видео."
msgctxt "IDC_TEXTURESURF3D"
@@ -846,15 +847,15 @@ msgstr "Ðккуратный VSync"
msgctxt "IDC_CHECK_RELATIVETO"
msgid "If the rendering target is left undefined, it will be inherited from the default style."
-msgstr ""
+msgstr "ЕÑли цель рендеринга не определена, то она будет взÑта из ÑÑ‚Ð¸Ð»Ñ Ð¿Ð¾ умолчанию."
msgctxt "IDC_CHECK_NO_SUB_ANIM"
msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
-msgstr ""
+msgstr "Отключить анимацию Ñубтитров. Включение данной опции замедлÑет работу ЦПУ. "
msgctxt "IDC_SUBPIC_TO_BUFFER"
msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
-msgstr ""
+msgstr "Увеличение чиÑла буферных фрагментов Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ увеличивает ÑкороÑÑ‚ÑŒ рендеринга за Ñчет более выÑокого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð°Ð¼Ñти на GPU."
msgctxt "IDC_BUTTON_EXT_SET"
msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
@@ -862,7 +863,7 @@ msgstr "ПоÑле Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ñтой кнопки, выбранное Ñо
msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
-msgstr ""
+msgstr "Отключение Ñтой опции предотвратит мигание Ñубтитров, но Ñто может привеÑти к пропуÑку некоторых видеокадров при рендеренге."
msgctxt "ID_PLAY_PLAY"
msgid "Play\nPlay"
@@ -1286,15 +1287,15 @@ msgstr "Значение"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr ""
+msgstr "МакÑимальное количеÑтво отображаемых в меню \"ПроÑмотренных\" файлов и на какой позиции Ñохранены."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
-msgstr ""
+msgstr "Запоминать позицию Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² длиннее чем N минут."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
msgid "Remember file position also for audio files."
-msgstr ""
+msgstr "Запоминать также позицию Ð´Ð»Ñ Ð°ÑƒÐ´Ð¸Ð¾Ñ„Ð°Ð¹Ð»Ð¾Ð²."
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
@@ -1302,7 +1303,7 @@ msgstr "Ðичего не делать"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
-msgstr ""
+msgstr "ВоÑпроизвеÑти Ñледующий файл в папке"
msgctxt "IDS_AFTER_PLAYBACK_REWIND"
msgid "Rewind current file"
@@ -1330,14 +1331,50 @@ msgstr "КачеÑтво (%):"
msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
-msgstr ""
+msgstr "МакÑимальный размер (NxNpx) обложки загружать только в режиме аудио."
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "Задержка Ñубтитров будет уменьшатьÑÑ/увеличиваетÑÑ Ð½Ð° Ñто значение при каждом нажатии горÑчих клавиш (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
+msgstr "<not defined>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Смотреть"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Выше"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Ðиже"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "УпорÑдочить по LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Удалить вÑÑ‘"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Ð’Ñ‹ уверены, что хотите удалить вÑе каналы из ÑпиÑка?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "ПожалуйÑта, подождите. Идёт анализ..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
msgstr ""
msgctxt "IDS_AG_OPEN_DEVICE"
@@ -1541,11 +1578,11 @@ msgid "Reset Rate"
msgstr "СброÑить ÑкороÑÑ‚ÑŒ в 100%"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Задержка аудио +10мÑ"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Задержка аудио -10мÑ"
msgctxt "IDS_MPLAYERC_23"
@@ -1701,8 +1738,8 @@ msgid "No subtitles found."
msgstr "Субтитры не найдены."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Ñубтитров доÑтупно."
+msgid "%d subtitle(s) available."
+msgstr "%d Ñубтитров доÑтупно."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2029,11 +2066,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Том: %02lu/%02lu, Раздел: %02lu/%02lu, Глава: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Угол: %02lu/%02lu, %lux%lu %luГц %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %u Гц %d бит %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2046,7 +2083,7 @@ msgstr "ВоÑпроизвеÑти в MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "MPC-HC не имеет доÑтаточно прав Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð°ÑÑоциаций Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸. Ðажмите \"ЗапуÑк от имени админиÑтратора\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2141,19 +2178,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Ð’Ñего: %ld, ПотерÑно: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Размер: %I64dКб"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Размер: %I64dМб"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Свободно: %I64dКб"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Свободно: %I64dМб"
msgctxt "IDS_MAINFRM_42"
@@ -2241,7 +2278,7 @@ msgid "Aspect Ratio: Default"
msgstr "Пропорции: Ñтандартные"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Задержка аудио: %I64dмÑ"
msgctxt "IDS_AG_CHAPTER"
@@ -2481,8 +2518,8 @@ msgid "Volume boost Max"
msgstr "УÑиление громкоÑти - Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ИÑпользование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ (разрешены \n\t\tмаÑки, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл Ñо Ñмещением XXмÑ\n\t\t(еÑли файл Ñодержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноÑкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные Ñубтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маÑки)\n/dvd\t\tЗапуÑк в режиме DVD, \"путь\" означает каталог\n\t\tÑ DVD (опционально)\n/dvdpos T#C\tÐачать воÑпроизведение Ñ title T, chapter C\n/dvdpos T#hh:mm\tÐачать воÑпроизведение Ñ title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить вÑе дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диÑку (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tÐачинать воÑпроизведение Ñразу поÑле запуÑка\n/close\t\tЗакрыть по окончании воÑпроизведениÑ\n\t\t(работает только Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¼ /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоÑпроизведениÑ\n/fullscreen\tЗапуÑк в полноÑкранном режиме\n/minimized\tЗапуÑк в Ñвернутом виде\n/new\t\tИÑпользовать новую копию проигрывателÑ\n/add\t\tДобавить \"путь\" в плейлиÑÑ‚, можно ÑовмеÑтно\n\t\tÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ /open и /play\n/regvid\t\tРегиÑтрировать видеоформаты\n/regaud\t\tРегиÑтрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегиÑтрировать вÑе форматы\n/start ms\t\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ \"ms\"\n\t\t(миллиÑекунды)\n/startpos hh:mm:ss\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ hh:mm:ss\n/fixedsize w,h\tУÑтановить фикÑированный размер окна\n/monitor N\tЗапуÑкатьÑÑ Ð½Ð° мониторе N, где N\n\t\tотÑчитываетÑÑ Ñ 1\n/audiorenderer N\tИÑпользовать аудиорендер N, где N\n\t\tотÑчитываетÑÑ Ñ 1 (Ñмотрите наÑтройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tВоÑтановить наÑтройки по умолчанию\n/help /h /?\tПоказывает Ñту Ñправку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "ИÑпользование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ (разрешены \n\t\tмаÑки, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл Ñо Ñмещением XXмÑ\n\t\t(еÑли файл Ñодержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноÑкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные Ñубтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маÑки)\n/dvd\t\tЗапуÑк в режиме DVD, \"путь\" означает каталог\n\t\tÑ DVD (опционально)\n/dvdpos T#C\tÐачать воÑпроизведение Ñ title T, chapter C\n/dvdpos T#hh:mm\tÐачать воÑпроизведение Ñ title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить вÑе дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диÑку (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tÐачинать воÑпроизведение Ñразу поÑле запуÑка\n/close\t\tЗакрыть по окончании воÑпроизведениÑ\n\t\t(работает только Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¼ /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоÑпроизведениÑ\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуÑк в полноÑкранном режиме\n/minimized\tЗапуÑк в Ñвернутом виде\n/new\t\tИÑпользовать новую копию проигрывателÑ\n/add\t\tДобавить \"путь\" в плейлиÑÑ‚, можно ÑовмеÑтно\n\t\tÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ /open и /play\n/regvid\t\tРегиÑтрировать видеоформаты\n/regaud\t\tРегиÑтрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегиÑтрировать вÑе форматы\n/start ms\t\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ \"ms\"\n\t\t(миллиÑекунды)\n/startpos hh:mm:ss\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ hh:mm:ss\n/fixedsize w,h\tУÑтановить фикÑированный размер окна\n/monitor N\tЗапуÑкатьÑÑ Ð½Ð° мониторе N, где N\n\t\tотÑчитываетÑÑ Ñ 1\n/audiorenderer N\tИÑпользовать аудиорендер N, где N\n\t\tотÑчитываетÑÑ Ñ 1 (Ñмотрите наÑтройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tВоÑтановить наÑтройки по умолчанию\n/help /h /?\tПоказывает Ñту Ñправку\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3280,6 +3317,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "ВоÑÑтанавливать громкоÑÑ‚ÑŒ: отключено"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "байт"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "КБ"
@@ -3456,6 +3497,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "По окончании воÑпроизведениÑ: выключить монитор"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "По окончании воÑпроизведениÑ: перейти к Ñледующему файлу в папке"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "По окончании воÑпроизведениÑ: ничего не делать"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "ЯркоÑÑ‚ÑŒ: %s"
@@ -3514,7 +3563,7 @@ msgstr "&Каналы"
msgctxt "IDC_FASTSEEK_CHECK"
msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
-msgstr ""
+msgstr "ЕÑли выбран \"поÑледний ключевой кадр\", то ищетÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ ключевой кадр перед поиÑковой точкой.\nЕÑли выбран \"ближайший ключевой кадр\", то ищетÑÑ ÐºÐ»ÑŽÑ‡ÐµÐ²Ð¾Ð¹ кадр до или поÑле точки поиÑка которых ближе вÑего."
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
index ecae86113..a8c963d93 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013-2014
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 12:20+0000\n"
+"PO-Revision-Date: 2014-11-13 11:39+0000\n"
"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/projects/p/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "O programe"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014, pozrite si súbor Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015, pozrite si súbor Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
index 30f403f99..d52b83215 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 16:31+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-30 18:21+0000\n"
"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/projects/p/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Vypnúť &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "PrehraÅ¥ Ä&alší súbor v prieÄinku"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigácia"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
index 2d015d077..f0ac061d6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sk.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Marián Hikaník <podnety@mojepreklady.net>, 2013-2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 12:21+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-01 18:50+0000\n"
"Last-Translator: Marián Hikaník <podnety@mojepreklady.net>\n"
"Language-Team: Slovak (http://www.transifex.com/projects/p/mpc-hc/language/sk/)\n"
"MIME-Version: 1.0\n"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Nemožno nájsť všetky archívne jednotky"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Plocha videa sa vymedzí ako textúra ale na kopírovanie a presúvanie do spätnej pamäte sa budú stále používať 2D funkcie. Táto funkcia vyžaduje grafickú kartu s podporou 32-bitovej alokácie, RGBA, textúr s neumocňovanou veľkosťou a minimálne v rozlíšení videa."
msgctxt "IDC_TEXTURESURF3D"
@@ -1335,7 +1335,43 @@ msgstr "Oneskorenie titulkov sa zníži/zvýši o túto hodnotu vždy pri stlaÄ
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<nedefinované>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Sledovať"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Posunúť hore"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Posunúť dole"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "ZoradiÅ¥ podľa logického Äíslovania kanálov (LCN)"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Odstrániť všetko"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Naozaj chcete odstrániť všetky kanály zo zoznamu?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Nie je dostupná žiadna informácia"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Prosím Äakajte, prebieha analýza..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "Pomer strán %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Obnoviť pôvodnú rýchlosť"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Oneskorenie zvuku +10 ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Oneskorenie zvuku -10 ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,7 +1734,7 @@ msgid "No subtitles found."
msgstr "Nenašli sa žiadne titulky."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "Je dostupných %d titulkov."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Hlasitosť: %02lu/%02lu, titul: %02lu/%02lu, kapitola: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Uhol: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %u Hz %d bitov %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,20 +2174,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", spolu: %ld, preskoÄené: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", veľkosť: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", veľkosť: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", veľkosť: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", veľkosť: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", voľné: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", voľné: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", voľné: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", voľné: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2238,8 +2274,8 @@ msgid "Aspect Ratio: Default"
msgstr "Stranový pomer: Predvolený"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Oneskorenie zvuku: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "Oneskorenie zvuku: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Zvýraznenie hlasitosti Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Pouzitie: mpc-hc.exe \"cesta\" [prepinace]\n\n\"cesta\"\tHlavny subor alebo priecinok, ktoreho obsah sa nacita (zastupne znaky\n\t\tsu povolene, znakom \"-\" oznacite standardny vstup)\n/dub \"zvukova stopa\"\tNacitat dalsi zvukovy subor\n/dubdelay \"subor\"\t Nacitat dalsi zvukovy subor, oneskoreny o XX ms (ak\n\t\tsubor obsahuje \"...DELAY XXms...\")\n/d3dfs\t\tspustit vykreslovanie v rezime na celu obrazovku D3D\n/sub \"nazov titulkov\"\tNacitat pridavny subor s titulkami\n/filter \"nazov filtra\"\t Nacitat filtre DirectShow z dynamicky linkovanej\n\t\tkniznice (zastupne znaky su povolene)\n/dvd\t\tSpustit v rezime DVD, \"cesta\" oznacuje priecinok na\n\t\tDVD (volitelne)\n/dvdpos T#C\tSpustit prehravanie titulu T, kapitoly C\n/dvdpos T#hh:mm\tSpustit prehravanie titulu T, na pozicii hh:mm:ss\n/cd\t\tNacitat vsetky stopy zvukoveho CD alebo (S)VCD,\n\t\t\"cesta\" - cesta k jednotke (volitelne)\n/device\t\tOtvorit predvolene zariadenie pre video\n/open\t\tOtvorit subor, neprehrat automaticky\n/play\t\tSpustit prehravanie ihned po spusteni \n\t\tprehravaca\n/close\t\tZatvorit prehravac po prehrati (funguje len s prepinacom\n\t\t /play)\n/shutdown\tVypnut operacny system po prehrati\n/fullscreen\tSpustit v rezime na celu obrazovku\n/minimized\tSpustiť minimalizovane\n/new\t\tPouzit novu instanciu prehravaca\n/add\t\tPridat \"cestu\" k playlistu, parameter mozno kombinovat s prepinacmi\n\t\t /open a /play\n/regvid\t\tZaregistrovat formaty videa\n/regaud\t\tZaregistrovat formaty zvuku\n/regpl\t\tVytvorit asociacie k suborom pre subory v playliste\n/regall\t\tVytvorit asociacie k suborom pre vsetky podporovane typy suborov\n/unregall\t\tOdstranit vsetky asociacie k suborom\n/start ms\t\tSpustit prehravanie na pozicii v \"ms\" (= milisekundach)\n/startpos hh:mm:ss\tSpustit prehravanie na pozicii hh:mm:ss\n/fixedsize w,h\tNastavit fixnu sirku okna\n/monitor N\tSpustit na monitore N, pricom cislo N zacina na hodnote 1\n/audiorenderer N\tSpustit s pouzitim vykreslovaca zvuku N, kde N sa zacina na hodnote 1\n\t\t(pozrite si nastavenia v casti \"Vystup\")\n/shaderpreset \"Pr\"\tSpustit s pouzitim prednastavenia shadera \"Pr\"\n/reset\t\tObnovit predvolene nastavenia\n/help /h /?\tZobrazit pomocnika prepinacom na prikazovom riadku\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Pouzitie: mpc-hc.exe \"cesta\" [prepinace]\n\n\"cesta\"\tHlavny subor alebo priecinok, ktoreho obsah sa nacita (zastupne znaky\n\t\tsu povolene, znakom \"-\" oznacite standardny vstup)\n/dub \"zvukova stopa\"\tNacitat dalsi zvukovy subor\n/dubdelay \"subor\"\t Nacitat dalsi zvukovy subor, oneskoreny o XX ms (ak\n\t\tsubor obsahuje \"...DELAY XXms...\")\n/d3dfs\t\tspustit vykreslovanie v rezime na celu obrazovku D3D\n/sub \"nazov titulkov\"\tNacitat pridavny subor s titulkami\n/filter \"nazov filtra\"\t Nacitat filtre DirectShow z dynamicky prepojenej\n\t\tkniznice (zastupne znaky su povolene)\n/dvd\t\tSpustit v rezime DVD, \"cesta\" oznacuje priecinok na\n\t\tDVD (volitelne)\n/dvdpos T#C\tSpustit prehravanie titulu T, kapitoly C\n/dvdpos T#hh:mm\tSpustit prehravanie titulu T, na pozicii hh:mm:ss\n/cd\t\tNacitat vsetky stopy zvukoveho CD alebo (S)VCD,\n\t\t\"cesta\" - cesta k jednotke (volitelne)\n/device\t\tOtvorit predvolene zariadenie pre video\n/open\t\tOtvorit subor, neprehrat automaticky\n/play\t\tSpustit prehravanie ihned po spusteni \n\t\tprehravaca\n/close\t\tZatvorit prehravac po prehrati (funguje len s prepinacom\n\t\t /play)\n/shutdown\tVypnut operacny system po prehrati\n/standby\t\tPrepnut operacny system do pohotovostneho rezimu pre prehrati\n/hibernate\tPrepnut operacny system do rezimu hibernacie po prehrati\n/logoff\t\tPo prehrati odhlasit\n/lock\t\tPo prehrati uzamknut pocitac\n/monitoroff\tPo prehrati vypnut monitor\n/playnext\t\tPo prehrati otvorit dalsi subor v priecinku\n/fullscreen\tSpustit v rezime na celu obrazovku\n/minimized\tSpustiť minimalizovane\n/new\t\tPouzit novu instanciu prehravaca\n/add\t\tPridat \"cestu\" k playlistu, parameter mozno kombinovat s prepinacmi\n\t\t /open a /play\n/regvid\t\tVytvorit asociacie k suborom s videom\n/regaud\t\tVytvorit asociacie k suborom so zvukom\n/regpl\t\tVytvorit asociacie k suborom playlistov\n/regall\t\tVytvorit asociacie k vsetkym podporovanym suborom\n/unregall\t\tOdstranit vsetky asociacie k suborom\n/start ms\t\tSpustit prehravanie na pozicii v \"ms\" (= milisekundach)\n/startpos hh:mm:ss\tSpustit prehravanie na pozicii hh:mm:ss\n/fixedsize w,h\tNastavit fixnu sirku okna\n/monitor N\tSpustit prehravac na monitore N, pricom cislo N zacina na hodnote 1\n/audiorenderer N\tSpustit s pouzitim vykreslovaca zvuku N, pricom N sa zacina na hodnote 1\n\t\t(pozrite si nastavenia v casti \"Vystup\")\n/shaderpreset \"Pr\"\tSpustit s pouzitim prednastavenia shaderov \"Pr\"\n/pns \"name\"\tUrcit prednastavenia funkcie Pan&Scan ktore sa maju pouzit\n/iconsassoc\tZnovu asociovat ikony formatov\n/nofocus\t\tOtvorit program MPC-HC na pozadi\n/webport N\tSpustit webove rozhranie na specifikovanom porte\n/debug\t\tZobrazit informaciu pre ladenie v OSD\n/nominidump\tVypnut vytvaranie mini-vypisu pamate\n/slave \"hWnd\"\tPouzit MPC-HC ako druhotnu aplikaciu\n/reset\t\tObnovit predvolene nastavenia\n/help /h /?\tZobrazit pomocnika k prepinacom na prikazovom riadku\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Obnovenie hlasitosti: vypnuté"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytov"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Po prehratí: Vypnúť monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Po prehratí: prehraÅ¥ Äalší súbor v prieÄinku"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Po prehratí: neurobiÅ¥ niÄ"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Jas: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
index 5c48592e5..542d5c138 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# fubuzz <knedlc@gmail.com>, 2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
-"Last-Translator: shvala <simon.hvala@hotmail.com>\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/mpc-hc/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "O programu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Avtorske pravice © 2002-2014, glej Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Avtorske pravice © 2002-2015, glej Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -455,7 +455,7 @@ msgstr "Zvok:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "(Primer: eng jap swe)"
+msgstr ""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
index e635ff43d..d1d48e5ec 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013-2014
@@ -614,6 +614,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Izklopi &monitor"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Krmarjenje"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
index 8a8ae531f..acc544df1 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sl.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# fubuzz <knedlc@gmail.com>, 2014
@@ -8,9 +8,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
-"Last-Translator: shvala <simon.hvala@hotmail.com>\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/mpc-hc/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -791,7 +791,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Ne najdem vseh arhivskih izvodov"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Video povrÅ¡ina bo dodeljena kot tekstura, vendar bodo 2D funkcije uporabljene za kopiranje in raztegovanje na medpomnilnik ozadja. Zahteva video kartico, ki lahko dodeli teksture 32bit, RGBA, ki niso velikosti potence od 2 in najmanj v loÄljivosti videa."
msgctxt "IDC_TEXTURESURF3D"
@@ -1284,7 +1284,7 @@ msgstr "Vrednost"
msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
-msgstr "NajveÄje Å¡tevilo datotek prikazanih v meniju \"Nedavne datoteke\", za katere je položaj potencialno shranjen. "
+msgstr "NajveÄje Å¡tevilo datotek prikazanih v meniju \"Nedavne datoteke\", za katere je položaj potencialno shranjen."
msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
msgid "Remember file position only for files longer than N minutes."
@@ -1338,6 +1338,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<nedefinirano>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Premakni gor"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Premakni dol"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Odpri napravo"
@@ -1539,11 +1575,11 @@ msgid "Reset Rate"
msgstr "Ponastavi hitrost"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Zakasnitev zvoka +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Zakasnitev zvoka -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1699,8 +1735,8 @@ msgid "No subtitles found."
msgstr "Ne najdem podnapisov."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d podnapis(ov) na voljo."
+msgid "%d subtitle(s) available."
+msgstr "%d podnapis(ov) na voljo."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2027,12 +2063,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Glasnost: %02lu/%02lu, Naslov: %02lu/%02lu, Poglavje: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Kot: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2096,7 +2132,7 @@ msgstr "DVD: Nezdružljive regije diska in dekoderja"
msgctxt "IDS_D3DFS_WARNING"
msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
-msgstr "Ta možnost je naÄrtovana v izogib trganju. Bo pa poleg tega prepreÄila MPC-HC, da prikaže priroÄni meni ali katerokoli drugo pogovorno okno med predvajanjem.\n\nZa izhod iz Direct3D celozaslonsko in zaustavitev predvajanja je potrebno pritisniti: Ctrl + C.\n\nRes želiÅ¡ aktivirati to možnost?"
+msgstr ""
msgctxt "IDS_MAINFRM_139"
msgid "Sub delay: %ld ms"
@@ -2139,19 +2175,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Skupno: %ld, IzpuÅ¡Äenih: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Velikost: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Velikost: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Prosto: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Prosto: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2239,7 +2275,7 @@ msgid "Aspect Ratio: Default"
msgstr "Razmerje stranic: Privzeto"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Zakasnitev zvoka: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2479,8 +2515,8 @@ msgid "Volume boost Max"
msgstr "OjaÄitev glasnosti maks"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Uporaba: mpc-hc.exe \"pot\" [stikala]\n\n\"pot\"\t\tGlavna datoteka ali imenik, ki naj bo naložen\n\t\t(nadomestni znaki dovoljeni)\n/dub \"ime\"\tNaloži dodatno zvoÄno datoteko\n/dubdelay \"ime\"\tNaloži dodatno zvoÄno datoteko zamaknjeno za XXms\n\t\t(Äe datoteka vsebuje \"...DELAY XXms...\")\n/d3dfs\t\tZaÄni izrisovanje v D3D celozaslonskem naÄinu\n/sub \"ime\"\tNaloži dodatno datoteko podnapisov\n/filter \"ime filtra\"\tNaloži DirectShow filtre iz dinamiÄno povezane\n\t\tknjižnice (nadomestni znaki dovoljeni)\n/dvd\t\tZaženi v dvd naÄinu, \"pot\" pomeni dvd\n\t\timenik (opcija)\n/dvdpos T#C\tZaÄni predvajanje z naslovom T, poglavje C\n/dvdpos T#hh:mm\tZaÄni predvajanje z naslovom T, pozicijo hh:mm:ss\n/cd\t\tNaloži vse zapise zvoÄnega CDja ali (s)vcd,\n\t\t\"ime datoteke\" pomeni pot pogona (opcija)\n/open\t\tOdpri datoteko, ne zaÄni samodejno predvajati\n/play\t\tZaÄni predvajati datoteko takoj ko se predvajalnik\n\t\tzažene\n/close\t\tZapri prevajalnik po predvajanju (deluje samo ko\n\t\tje uporabljen skupaj s /play)\n/shutdown\tZaustavi operacijski sistem po predvajanju\n/fullscreen\tZaÄni v celozaslonskem naÄinu\n/minimized\tZaÄni minimirano\n/new\t\tUporabi novo inaÄico predvajalnika\n/add\t\tDodaj \"pot\" v seznam predvajanja, lahko je\n\t\tkombinirano z /open in /play\n/regvid\t\tUstvari povezave za video datoteke\n/regaud\t\tUstvari povezave za zvoÄne datoteke\n/regpl\t\tUstvari povezave za datoteke seznama predvajanja\n/regall\t\tustvari povezave za vse podprte vrste datotek\n/unregall\t\tOdstrani vse povezave datotek\n/start ms\t\tZaÄni predvajanje pri \"ms\" (= milisekund)\n/startpos hh:mm:ss\tZaÄni predvajanje pri poziciji hh:mm:ss\n/fixedsize w,h\tNastavi okno fiksne velikosti\n/monitor N\tZaÄni predvajalnik na zaslonu N, N se zaÄne z 1\n/audiorenderer N\tZaÄni uporabljati zvoÄni predvajalnik N, N se zaÄne z 1\n\t\t(glej nastavitve \"Izhod\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tPonastavi privzete nastavitve\n/help /h /?\tPrikaži pomoÄ glede stikal ukazne vrstice\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Uporaba: mpc-hc.exe \"pot\" [stikala]\n\n\"pot\"\t\tGlavna datoteka ali imenik, ki naj bo naložen\n\t\t(nadomestni znaki dovoljeni)\n/dub \"ime\"\tNaloži dodatno zvoÄno datoteko\n/dubdelay \"ime\"\tNaloži dodatno zvoÄno datoteko zamaknjeno za XXms\n\t\t(Äe datoteka vsebuje \"...DELAY XXms...\")\n/d3dfs\t\tZaÄni izrisovanje v D3D celozaslonskem naÄinu\n/sub \"ime\"\tNaloži dodatno datoteko podnapisov\n/filter \"ime filtra\"\tNaloži DirectShow filtre iz dinamiÄno povezane\n\t\tknjižnice (nadomestni znaki dovoljeni)\n/dvd\t\tZaženi v dvd naÄinu, \"pot\" pomeni dvd\n\t\timenik (opcija)\n/dvdpos T#C\tZaÄni predvajanje z naslovom T, poglavje C\n/dvdpos T#hh:mm\tZaÄni predvajanje z naslovom T, pozicijo hh:mm:ss\n/cd\t\tNaloži vse zapise zvoÄnega CDja ali (s)vcd,\n\t\t\"ime datoteke\" pomeni pot pogona (opcija)\n/open\t\tOdpri datoteko, ne zaÄni samodejno predvajati\n/play\t\tZaÄni predvajati datoteko takoj ko se predvajalnik\n\t\tzažene\n/close\t\tZapri prevajalnik po predvajanju (deluje samo ko\n\t\tje uporabljen skupaj s /play)\n/shutdown\tZaustavi operacijski sistem po predvajanju\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tZaÄni v celozaslonskem naÄinu\n/minimized\tZaÄni minimirano\n/new\t\tUporabi novo inaÄico predvajalnika\n/add\t\tDodaj \"pot\" v seznam predvajanja, lahko je\n\t\tkombinirano z /open in /play\n/regvid\t\tUstvari povezave za video datoteke\n/regaud\t\tUstvari povezave za zvoÄne datoteke\n/regpl\t\tUstvari povezave za datoteke seznama predvajanja\n/regall\t\tustvari povezave za vse podprte vrste datotek\n/unregall\t\tOdstrani vse povezave datotek\n/start ms\t\tZaÄni predvajanje pri \"ms\" (= milisekund)\n/startpos hh:mm:ss\tZaÄni predvajanje pri poziciji hh:mm:ss\n/fixedsize w,h\tNastavi okno fiksne velikosti\n/monitor N\tZaÄni predvajalnik na zaslonu N, N se zaÄne z 1\n/audiorenderer N\tZaÄni uporabljati zvoÄni predvajalnik N, N se zaÄne z 1\n\t\t(glej nastavitve \"Izhod\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tPonastavi privzete nastavitve\n/help /h /?\tPrikaži pomoÄ glede stikal ukazne vrstice\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3314,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Ponastavi jakost zvoka: Izklj."
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3494,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Po predvajanju: IzkljuÄi monitor"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Svetlost: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po
new file mode 100644
index 000000000..b8b226c7f
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.dialogs.po
@@ -0,0 +1,1668 @@
+# MPC-HC - Strings extracted from dialogs
+# Copyright (C) 2002 - 2013 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Rancher <djordje.vasiljevich@gmail.com>, 2014
+# vBm <the.vbm@gmail.com>, 2014
+# vBm <the.vbm@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
+"PO-Revision-Date: 2014-12-11 18:21+0000\n"
+"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "IDD_SELECTMEDIATYPE_CAPTION"
+msgid "Select Media Type"
+msgstr "Избор типа медија"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_SELECTMEDIATYPE_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC1"
+msgid "Video"
+msgstr "Видео"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON1"
+msgid "Set"
+msgstr "ПоÑтави"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Audio"
+msgstr "Ðудио"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "Output"
+msgstr "Излаз"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK1"
+msgid "Record Video"
+msgstr "Снимање видео-запиÑа"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK2"
+msgid "Preview"
+msgstr "Преглед"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK3"
+msgid "Record Audio"
+msgstr "Сними аудио"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK4"
+msgid "Preview"
+msgstr "Преглед"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_STATIC"
+msgid "V/A Buffers:"
+msgstr "Бафери:"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_CHECK5"
+msgid "Audio to wav"
+msgstr "Ðудио у WAV"
+
+msgctxt "IDD_CAPTURE_DLG_IDC_BUTTON2"
+msgid "Record"
+msgstr "Сними"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
+msgid "Enable built-in audio switcher filter (requires restart)"
+msgstr "Уграђени филтер за промену звука (захтева поновно покретање)"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
+msgid "Normalize"
+msgstr "Ðормализуј"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC4"
+msgid "Max amplification:"
+msgstr "МакÑимално појачање:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC5"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK6"
+msgid "Regain volume"
+msgstr "Врати јачину звука"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC6"
+msgid "Boost:"
+msgstr "Појачање:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK3"
+msgid "Down-sample to 44100 Hz"
+msgstr "Претвори у 44100 Hz"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK4"
+msgid "Audio time shift (ms):"
+msgstr "Померање времена звука (мÑ):"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
+msgid "Enable custom channel mapping"
+msgstr "Мапирање прилагођених канала"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
+msgid "Speaker configuration for "
+msgstr "Подешавање звучника за"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC2"
+msgid "input channels:"
+msgstr "улазна канала:"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC3"
+msgid "Hold shift for immediate changes when clicking something "
+msgstr "Држите Shift да биÑте измене видели одмах након клика."
+
+msgctxt "IDD_GOTO_DLG_CAPTION"
+msgid "Go To..."
+msgstr "Прелазак на…"
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter a timecode using the format [hh:]mm:ss.ms to jump to a specified time. You do not need to enter the separators explicitly."
+msgstr "УнеÑите време у формату [hh:]mm:ss.ms да биÑте преÑкочили на одређено време. Разделнике није потребно уноÑити."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Time"
+msgstr "Време"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK1"
+msgid "Go!"
+msgstr "&Пређи"
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
+msgstr "УнеÑите два броја ради преÑкакања на одређени кадар: први је број кадра а други његова брзина."
+
+msgctxt "IDD_GOTO_DLG_IDC_STATIC"
+msgid "Frame"
+msgstr "Кадар"
+
+msgctxt "IDD_GOTO_DLG_IDC_OK2"
+msgid "Go!"
+msgstr "&Пређи"
+
+msgctxt "IDD_OPEN_DLG_CAPTION"
+msgid "Open"
+msgstr "Отвори"
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
+msgstr "УнеÑите адреÑу аудио или видео датотеке (на рачунару или интернету) и програм ће је отворити."
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC"
+msgid "Open:"
+msgstr "Отвори:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "&Потражи…"
+
+msgctxt "IDD_OPEN_DLG_IDC_STATIC1"
+msgid "Dub:"
+msgstr "Ðудио-запиÑ:"
+
+msgctxt "IDD_OPEN_DLG_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "&Потражи…"
+
+msgctxt "IDD_OPEN_DLG_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_OPEN_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_OPEN_DLG_IDC_CHECK1"
+msgid "Add to playlist without opening"
+msgstr "Додај у плеј-лиÑту без отварања"
+
+msgctxt "IDD_ABOUTBOX_CAPTION"
+msgid "About"
+msgstr "О програму"
+
+msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "ÐуторÑка права © 2002–2015 погледајте Authors.txt"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "This program is freeware and released under the GNU General Public License."
+msgstr "Овај програм је беÑплатан и издат је под GNU-овом општом јавном лиценцом."
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "English translation made by MPC-HC Team"
+msgstr "Превео Ђорђе ВаÑиљевић"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build information"
+msgstr "Информације"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Version:"
+msgstr "Верзија:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Compiler:"
+msgstr "Компилатор:"
+
+msgctxt "IDD_ABOUTBOX_IDC_LAVFILTERS_VERSION"
+msgid "Not used"
+msgstr "Ðе кориÑти Ñе"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Build date:"
+msgstr "Датум издања:"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Operating system"
+msgstr "Оперативни ÑиÑтем"
+
+msgctxt "IDD_ABOUTBOX_IDC_STATIC"
+msgid "Name:"
+msgstr "Име:"
+
+msgctxt "IDD_ABOUTBOX_IDC_BUTTON1"
+msgid "Copy to clipboard"
+msgstr "&Копирај"
+
+msgctxt "IDD_ABOUTBOX_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Open options"
+msgstr "Опције отварања"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO1"
+msgid "Use the same player for each media file"
+msgstr "ИÑти плејер за Ñваку датотеку"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO2"
+msgid "Open a new player for each media file played"
+msgstr "Ðови плејер за Ñваку датотеку"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Language"
+msgstr "Језик"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Title bar"
+msgstr "ÐаÑловна трака"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO3"
+msgid "Display full path"
+msgstr "Прикажи пуну путању"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO4"
+msgid "File name only"
+msgstr "Само име датотеке"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_RADIO5"
+msgid "Don't prefix anything"
+msgstr "Ðе Ñтављај префикÑ"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK13"
+msgid "Replace file name with title"
+msgstr "Замени име датотеке Ñа наÑловом"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "Other"
+msgstr "Друго"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK3"
+msgid "Tray icon"
+msgstr "Икона у ÑиÑтемÑкој палети"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_SHOW_OSD"
+msgid "Show OSD (requires restart)"
+msgstr "OSD (захтева поновно покретање)"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK4"
+msgid "Limit window proportions on resize"
+msgstr "Пропорције прозора Ñразмерне видео-кадру"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK12"
+msgid "Snap to desktop edges"
+msgstr "Прилепи за углове радне површине"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK8"
+msgid "Store settings in .ini file"
+msgstr "СмеÑти поÑтавке у .ini датотеку"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
+msgid "Disable \"Open Disc\" menu"
+msgstr "Онемогући мени „Отвори диÑк“"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
+msgid "Process priority above normal"
+msgstr "Приоритет процеÑа изнад нормале"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
+msgid "Enable cover-art support"
+msgstr "Подршка за омоте"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_STATIC"
+msgid "History"
+msgstr "ИÑторија"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK1"
+msgid "Keep history of recently opened files"
+msgstr "Задржи иÑторију Ñкорашњих датотека"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK2"
+msgid "Remember last playlist"
+msgstr "Запамти поÑледњу плеј-лиÑту"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_FILE_POS"
+msgid "Remember File position"
+msgstr "Запамти позицију датотеке"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_DVD_POS"
+msgid "Remember DVD position"
+msgstr "Запамти позицију DVD-а"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK6"
+msgid "Remember last window position"
+msgstr "Запамти позицију поÑледњег прозора"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK7"
+msgid "Remember last window size"
+msgstr "Запамти величину поÑледњег прозора"
+
+msgctxt "IDD_PPAGEPLAYER_IDC_CHECK11"
+msgid "Remember last Pan-n-Scan Zoom"
+msgstr "Запамти поÑледњи зум"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "\"Open DVD/BD\" behavior"
+msgstr "Понашање команде „Отвори DVD/BD“"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
+msgid "Prompt for location"
+msgstr "Питај за локацију"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
+msgid "Always open the default location:"
+msgstr "Увек отвори подразумевану локацију:"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Preferred language for DVD Navigator and the external OGM Splitter"
+msgstr "Жељени језик DVD навигатора и Ñпољног OGM разделника"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO3"
+msgid "Menu"
+msgstr "Мени"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO4"
+msgid "Audio"
+msgstr "Ðудио"
+
+msgctxt "IDD_PPAGEDVD_IDC_RADIO5"
+msgid "Subtitles"
+msgstr "Титлови"
+
+msgctxt "IDD_PPAGEDVD_IDC_STATIC"
+msgid "Additional settings"
+msgstr "Додатне поÑтавке"
+
+msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
+msgid "Allow closed captions in \"Line 21 Decoder\""
+msgstr "Помоћни титлови у Line 21 Decoder-у"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio"
+msgstr "Ðудио"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume"
+msgstr "Јачина звука"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Min"
+msgstr "мин."
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Max"
+msgstr "макÑ."
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC_BALANCE"
+msgid "Balance"
+msgstr "БаланÑ"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "L"
+msgstr "Л"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "R"
+msgstr "Д"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Playback"
+msgstr "Репродукција"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO1"
+msgid "Play"
+msgstr "Репродукуј"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_RADIO2"
+msgid "Repeat forever"
+msgstr "Понављај"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC1"
+msgid "time(s)"
+msgstr "време"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "After Playback"
+msgstr "Ðакон репродукције"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Output"
+msgstr "Излаз"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK5"
+msgid "Auto-zoom:"
+msgstr "ÐутоматÑки зум:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC2"
+msgid "Auto fit factor:"
+msgstr "Фактор уклапања:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC3"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Default track preference"
+msgstr "Подразумевани запиÑ"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Subtitles:"
+msgstr "Титлови:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Audio:"
+msgstr "Ðудио:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
+msgid "Allow overriding external splitter choice"
+msgstr "ПотиÑни избор Ñпољног разделника"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Open settings"
+msgstr "ПоÑтавке отварања датотека"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
+msgid "Use worker thread to construct the filter graph"
+msgstr "КориÑти радну нит за израду графикона филтера"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
+msgid "Report pins which fail to render"
+msgstr "Пријави пинове који не могу да Ñе обраде"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK2"
+msgid "Auto-load audio files"
+msgstr "ÐутоматÑки учитај аудио-датотеке"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK3"
+msgid "Use the built-in subtitle renderer"
+msgstr "КориÑти уграђени рендерер титлова"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Control"
+msgstr "Управљање"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Volume step:"
+msgstr "Корак јач. звука:"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
+msgid "Speed step:"
+msgstr "Корак брзине:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
+msgid "Override placement"
+msgstr "Промени положај"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
+msgid "Horizontal:"
+msgstr "Водоравно:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC2"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC3"
+msgid "Vertical:"
+msgstr "УÑправно:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC4"
+msgid "%"
+msgstr "%"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Delay step"
+msgstr "Корак кашњења"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "ms"
+msgstr "мÑ"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Texture settings (open the video again to see the changes)"
+msgstr "ТекÑтура (потребно поновно покретање видео-запиÑа)"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Sub pictures to buffer:"
+msgstr "Број подÑлика у баферу:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Maximum texture resolution:"
+msgstr "МакÑимална резолуција текÑтуре:"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_NO_SUB_ANIM"
+msgid "Never animate the subtitles"
+msgstr "Ðикад не анимирај титлове"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC5"
+msgid "Render at"
+msgstr "Рендеруј"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC6"
+msgid "% of the animation"
+msgstr "% анимације"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC7"
+msgid "Animate at"
+msgstr "Ðнимирај"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
+msgid "% of the video frame rate"
+msgstr "% учеÑталоÑти кадрова"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Allow dropping some subpictures if the queue is running late"
+msgstr "Дозволи иÑпуштање подÑлика ако ред каÑни"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Renderer Layout"
+msgstr "РаÑпоред рендерера"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
+msgid "Apply aspect ratio compensation for anamorphic videos"
+msgstr "Компензуј Ð¾Ð´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина за анаморфне видео-запиÑе"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "Warning"
+msgstr "Упозорење"
+
+msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
+msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your cpu."
+msgstr "Ðко негде у поÑтавкама графичке картице омогућите уклањање назубљеноÑти у режиму целог екрана, титлови неће изгледати боље, већ ћете Ñамо оптеретити процеÑор."
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
+msgid "File extensions"
+msgstr "ÐаÑтавци датотека"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON2"
+msgid "Default"
+msgstr "Подразумевано"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON_EXT_SET"
+msgid "Set"
+msgstr "ПоÑтави"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
+msgid "Association"
+msgstr "ПовезаноÑÑ‚"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
+msgid "Use the format-specific icons"
+msgstr "КориÑти иконе за одређене формате"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
+msgid "Run as &administrator"
+msgstr "Покрени као &админиÑтратор"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
+msgid "Set as &default program"
+msgstr "ПоÑтави као &подразумевани програм"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
+msgstr "Руковалац Real-Time Streaming Protocol-а (за rtsp:// адреÑе)"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
+msgid "RealMedia"
+msgstr "RealMedia"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO2"
+msgid "QuickTime"
+msgstr "QuickTime"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_RADIO3"
+msgid "DirectShow"
+msgstr "DirectShow"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
+msgid "Check file extension first"
+msgstr "Прво провери наÑтавак датот."
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
+msgid "Explorer Context Menu"
+msgstr "КонтекÑтуални мени у Explorer-у"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK6"
+msgid "Directory"
+msgstr "ФаÑцикла"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK7"
+msgid "File(s)"
+msgstr "Датотека"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_STATIC1"
+msgid "Autoplay"
+msgstr "ÐутоматÑка репродукција"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK1"
+msgid "Video"
+msgstr "Видео"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK2"
+msgid "Music"
+msgstr "Музика"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK4"
+msgid "DVD"
+msgstr "DVD"
+
+msgctxt "IDD_PPAGEFORMATS_IDC_CHECK3"
+msgid "Audio CD"
+msgstr "Audio CD"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "Jump distances (small, medium, large in ms)"
+msgstr "Интервал преÑкока (мали, Ñредњи и велики; у милиÑекундама)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_BUTTON1"
+msgid "Default"
+msgstr "Подразумевано"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_FASTSEEK_CHECK"
+msgid "Fast seek (on keyframe)"
+msgstr "Брзо премотавање (по кључним кадровима):"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK2"
+msgid "Show chapter marks in seek bar"
+msgstr "Ознаке поглавља у траци за премотавање"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK4"
+msgid "Display \"Now Playing\" information in Skype's mood message"
+msgstr "Информација „Репродукује Ñе“ на ÑтатуÑу Skype-а"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK6"
+msgid "Prevent minimizing the player when in fullscreen on a non default monitor"
+msgstr "Спречи умањивање плејера у режиму целог екрана на Ñекундарном монитору"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_WIN7"
+msgid "Use Windows 7 Taskbar features"
+msgstr "Функције траке задатака из ОС Windows 7"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK7"
+msgid "Open next/previous file in folder on \"Skip back/forward\" when there is only one item in playlist"
+msgstr "Отвори претходну/Ñледећу датотеку у фаÑцикли при коришћењу опције „ПреÑкочи уназад/унапред“ када је у плеј-лиÑти Ñамо једна датотека"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK8"
+msgid "Use time tooltip:"
+msgstr "Прикажи време:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_STATIC"
+msgid "OSD font:"
+msgstr "Фонт OSD-а:"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK_LCD"
+msgid "Enable Logitech LCD support (experimental)"
+msgstr "Подршка за Logitech LCD (екÑпериментално)"
+
+msgctxt "IDD_PPAGETWEAKS_IDC_CHECK3"
+msgid "Auto-hide the mouse pointer during playback in windowed mode"
+msgstr "Сакриј курÑор миша при репродукцији у режиму приказа у прозору"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON1"
+msgid "Add Filter..."
+msgstr "&Додај филтер…"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON2"
+msgid "Remove"
+msgstr "&Уклони"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO1"
+msgid "Prefer"
+msgstr "Преферирај"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO2"
+msgid "Block"
+msgstr "Блокирај"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_RADIO3"
+msgid "Set merit:"
+msgstr "ВредноÑÑ‚:"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON3"
+msgid "Up"
+msgstr "&Горе"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON4"
+msgid "Down"
+msgstr "&Доле"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON5"
+msgid "Add Media Type..."
+msgstr "Додај тип &медија…"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON6"
+msgid "Add Sub Type..."
+msgstr "Додај тип &титла…"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON7"
+msgid "Delete"
+msgstr "&Обриши"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS_IDC_BUTTON8"
+msgid "Reset List"
+msgstr "&Поништи ÑпиÑак"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Type:"
+msgstr "Тип:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Size:"
+msgstr "Величина:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Media length:"
+msgstr "Трајање:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Video size:"
+msgstr "Резолуција:"
+
+msgctxt "IDD_FILEPROPDETAILS_IDC_STATIC"
+msgid "Created:"
+msgstr "Креирано:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Clip:"
+msgstr "Клип:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Author:"
+msgstr "Ðутор:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Copyright:"
+msgstr "ÐуторÑка права:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Rating:"
+msgstr "Оцена:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Location:"
+msgstr "Локација:"
+
+msgctxt "IDD_FILEPROPCLIP_IDC_STATIC"
+msgid "Description:"
+msgstr "ОпиÑ:"
+
+msgctxt "IDD_FAVADD_CAPTION"
+msgid "Add Favorite"
+msgstr "Додавање у омиљено"
+
+msgctxt "IDD_FAVADD_IDC_STATIC"
+msgid "Choose a name for your shortcut:"
+msgstr "Именујте пречицу:"
+
+msgctxt "IDD_FAVADD_IDC_CHECK1"
+msgid "Remember position"
+msgstr "&Запамти позицију"
+
+msgctxt "IDD_FAVADD_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_FAVADD_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_FAVADD_IDC_CHECK2"
+msgid "Relative drive"
+msgstr "&Важи за Ñве погонÑке јединице"
+
+msgctxt "IDD_FAVORGANIZE_CAPTION"
+msgid "Organize Favorites"
+msgstr "Организовање омиљених"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON1"
+msgid "Rename"
+msgstr "&Преименуј"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON3"
+msgid "Move Up"
+msgstr "Помери на&горе"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON4"
+msgid "Move Down"
+msgstr "Помери на&доле"
+
+msgctxt "IDD_FAVORGANIZE_IDC_BUTTON2"
+msgid "Delete"
+msgstr "&Обриши"
+
+msgctxt "IDD_FAVORGANIZE_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_PNSPRESET_DLG_CAPTION"
+msgid "Pan&Scan Presets"
+msgstr "Шаблони размера и положаја"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON2"
+msgid "New"
+msgstr "&Ðово"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON3"
+msgid "Delete"
+msgstr "&Обриши"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON4"
+msgid "Up"
+msgstr "&Горе"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON5"
+msgid "Down"
+msgstr "&Доле"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_BUTTON1"
+msgid "&Set"
+msgstr "&ПоÑтави"
+
+msgctxt "IDD_PNSPRESET_DLG_IDCANCEL"
+msgid "&Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_PNSPRESET_DLG_IDOK"
+msgid "&Save"
+msgstr "&Сачувај"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Pos: 0.0 -> 1.0"
+msgstr "Позиција: 0.0 -> 1.0"
+
+msgctxt "IDD_PNSPRESET_DLG_IDC_STATIC"
+msgid "Zoom: 0.2 -> 3.0"
+msgstr "Зум: 0.2 -> 3.0"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
+msgid "Global Media Keys"
+msgstr "Глобални таÑтери за медије"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
+msgid "Select All"
+msgstr "&Изабери Ñве"
+
+msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON2"
+msgid "Reset Selected"
+msgstr "&Врати подразумевано"
+
+msgctxt "IDD_MEDIATYPES_DLG_CAPTION"
+msgid "Warning"
+msgstr "Упозорење"
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC1"
+msgid "MPC-HC could not render some of the pins in the graph, you may not have the needed codecs or filters installed on the system."
+msgstr "MPC-HC не може да обради неке од пинова у графикону. Вероватно немате потребне кодеке или филтере на ÑиÑтему."
+
+msgctxt "IDD_MEDIATYPES_DLG_IDC_STATIC2"
+msgid "The following pin(s) failed to find a connectable filter:"
+msgstr "Следећи пинови не могу да пронађу филтер Ñ ÐºÐ¾Ñ˜Ð¸Ð¼ би Ñе повезали:"
+
+msgctxt "IDD_MEDIATYPES_DLG_IDOK"
+msgid "Close"
+msgstr "&Затвори"
+
+msgctxt "IDD_SAVE_DLG_CAPTION"
+msgid "Saving..."
+msgstr "Чувам…"
+
+msgctxt "IDD_SAVE_DLG_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_SAVETEXTFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Кодирање:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC1"
+msgid "Encoding:"
+msgstr "Кодирање:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "Delay:"
+msgstr "Кашњење:"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_STATIC"
+msgid "ms"
+msgstr "мÑ"
+
+msgctxt "IDD_SAVESUBTITLESFILEDIALOGTEMPL_IDC_CHECK1"
+msgid "Save custom style"
+msgstr "Сачувај прилагођени Ñтил"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "Квалитет JPEG-а:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Thumbnails:"
+msgstr "Сличице:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "rows"
+msgstr "редова"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "columns"
+msgstr "колона"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "Image width:"
+msgstr "Ширина Ñлике:"
+
+msgctxt "IDD_SAVETHUMBSDIALOGTEMPL_IDC_STATIC"
+msgid "pixels"
+msgstr "пикÑела"
+
+msgctxt "IDD_ADDREGFILTER_CAPTION"
+msgid "Select Filter"
+msgstr "Избор филтера"
+
+msgctxt "IDD_ADDREGFILTER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "&Потражи…"
+
+msgctxt "IDD_ADDREGFILTER_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
+msgctxt "IDD_ADDREGFILTER_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Font"
+msgstr "Фонт"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_BUTTON1"
+msgid "Font"
+msgstr "Фонт"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Spacing"
+msgstr "Проред"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Angle (z,°)"
+msgstr "Угао (z,°)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (x,%)"
+msgstr "Размера (x,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Scale (y,%)"
+msgstr "Размера (y,%)"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Border Style"
+msgstr "Стил ивице"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO1"
+msgid "Outline"
+msgstr "Контура"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_RADIO2"
+msgid "Opaque box"
+msgstr "Ðепровидни оквир"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Width"
+msgstr "Ширина"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Shadow"
+msgstr "Сенка"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Screen Alignment && Margins"
+msgstr "Поравнање и маргине"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Left"
+msgstr "Лево"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Right"
+msgstr "ДеÑно"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Top"
+msgstr "Врх"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Bottom"
+msgstr "Дно"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK_RELATIVETO"
+msgid "Position subtitles relative to the video frame"
+msgstr "СмеÑти титлове у одноÑу на видео-кадар"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Colors && Transparency"
+msgstr "Боје и провидноÑÑ‚"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "0%"
+msgstr "0%"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "100%"
+msgstr "100%"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Primary"
+msgstr "Примарна"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Secondary"
+msgstr "Секундарна"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
+msgid "Outline"
+msgstr "Контура"
+
+msgctxt "IDD_PPAGESUBSTYLE_IDC_CHECK1"
+msgid "Link alpha channels"
+msgstr "Повежи алфа канале"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "If you would like to use the stand-alone versions of these filters or another replacement, disable them here."
+msgstr "Ðко желите да кориÑтите ÑамоÑталне верзије ових филтера или желите замену, овде их онемогућите."
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Source Filters"
+msgstr "Филтери извора"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Transform Filters"
+msgstr "Декодери"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_STATIC"
+msgid "Internal LAV Filters settings"
+msgstr "Унутрашње поÑтавке LAV Filters-а"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_SPLITTER_CONF"
+msgid "Splitter"
+msgstr "Разделник…"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_VIDEO_DEC_CONF"
+msgid "Video decoder"
+msgstr "Видео-декодер…"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS_IDC_AUDIO_DEC_CONF"
+msgid "Audio decoder"
+msgstr "Ðудио-декодер…"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
+msgid "Internal:"
+msgstr "Унутрашњи:"
+
+msgctxt "IDD_PPAGELOGO_IDC_RADIO2"
+msgid "External:"
+msgstr "Спољашњи:"
+
+msgctxt "IDD_PPAGELOGO_IDC_BUTTON2"
+msgid "Browse..."
+msgstr "&Потражи…"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DirectShow Video"
+msgstr "DirectShow видео"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "RealMedia Video"
+msgstr "RealMedia видео"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "QuickTime Video"
+msgstr "QuickTime видео"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Audio Renderer"
+msgstr "Ðудио-рендерер"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
+msgstr "ПоÑтавке рендерера VMR-7/VMR-9 (без рендера) и EVR (CP)"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Surface:"
+msgstr "Површина:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Resizer:"
+msgstr "Интерполација:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_D3D9DEVICE"
+msgid "Select D3D9 Render Device"
+msgstr "Изабери D3D9 уређај за рендер."
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
+msgid "Reinitialize when changing display"
+msgstr "Поново покрени при промени приказа"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "D3D Fullscreen"
+msgstr "D3D режим целог екрана"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Alternative VSync"
+msgstr "Ðлтернативна верт. Ñинхр."
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
+msgid "VMR-9 Mixer Mode"
+msgstr "VMR-9 микÑер"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9YUVMIXER"
+msgid "YUV Mixing"
+msgstr "YUV микÑовање"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_EVR_BUFFERS_TXT"
+msgid "EVR Buffers:"
+msgstr "EVR бафера:"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "DXVA"
+msgstr "DXVA"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Subtitles *"
+msgstr "Титлови *"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Screenshot"
+msgstr "Снимак екрана"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Shaders"
+msgstr "Модули за Ñенчење"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "Rotation"
+msgstr "Ротација"
+
+msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
+msgid "* External filters (such as VSFilter) can display subtitles on all renderers."
+msgstr "* Спољни филтери (попут VSFilter-а) могу да прикажу титлове на Ñвим рендерерима."
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
+msgid "Listen on port:"
+msgstr "Порт за Ñлушање:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
+msgid "Launch in web browser..."
+msgstr "Покрени у веб-прегледачу…"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
+msgid "Enable compression"
+msgstr "Компримирање"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK5"
+msgid "Allow access from localhost only"
+msgstr "Дозволи приÑтуп Ñамо Ñа локалног хоÑта"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK2"
+msgid "Print debug information"
+msgstr "Одштампај извод"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
+msgid "Serve pages from:"
+msgstr "УÑлужи Ñтранице из:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
+msgid "Browse..."
+msgstr "&Потражи…"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
+msgid "Deploy..."
+msgstr "РаÑпореди…"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "Default page:"
+msgstr "Подразумевана Ñтраница:"
+
+msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
+msgid "CGI handlers: (.ext1=path1;.ext2=path2;...)"
+msgstr "CGI руковаоци (.ext1=path1;.ext2=path2;…):"
+
+msgctxt "IDD_SUBTITLEDL_DLG_CAPTION"
+msgid "Subtitles available online"
+msgstr "Преузимање титлова Ñа интернета"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDOK"
+msgid "Download && Open"
+msgstr "&Преузми и отвори"
+
+msgctxt "IDD_SUBTITLEDL_DLG_IDC_CHECK1"
+msgid "Replace currently loaded subtitles"
+msgstr "Замени тренутно учитане титлове"
+
+msgctxt "IDD_FILEPROPRES_IDC_BUTTON1"
+msgid "Save As..."
+msgstr "Сачувај као…"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Color controls (for VMR-9, EVR and madVR)"
+msgstr "Управљање бојом (за VMR-9, EVR и madVR)"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Brightness"
+msgstr "ОÑветљеноÑÑ‚"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Contrast"
+msgstr "КонтраÑÑ‚"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Hue"
+msgstr "ÐијанÑа"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Saturation"
+msgstr "ЗаÑићеноÑÑ‚"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET"
+msgid "Reset"
+msgstr "Подразумевано"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Update check"
+msgstr "Ðжурирање"
+
+msgctxt "IDD_PPAGEMISC_IDC_CHECK1"
+msgid "Enable automatic update check"
+msgstr "ÐутоматÑка потражња ажурирања"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC5"
+msgid "Delay between each check:"
+msgstr "ЗаÑтој између Ñваке провере:"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC6"
+msgid "day(s)"
+msgstr "дана"
+
+msgctxt "IDD_PPAGEMISC_IDC_STATIC"
+msgid "Settings management"
+msgstr "Управљање поÑтавкама"
+
+msgctxt "IDD_PPAGEMISC_IDC_RESET_SETTINGS"
+msgid "Reset"
+msgstr "Подразумевано"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_SETTINGS"
+msgid "Export"
+msgstr "Извези"
+
+msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
+msgid "Export keys"
+msgstr "Извези таÑтере"
+
+msgctxt "IDD_TUNER_SCAN_CAPTION"
+msgid "Tuner scan"
+msgstr "Скенирање тјунера"
+
+msgctxt "IDD_TUNER_SCAN_ID_START"
+msgid "Start"
+msgstr "Покрени"
+
+msgctxt "IDD_TUNER_SCAN_IDCANCEL"
+msgid "Cancel"
+msgstr "&Откажи"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. Start"
+msgstr "УчеÑталоÑÑ‚ покретања"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Bandwidth"
+msgstr "ПропуÑни опÑег"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Freq. End"
+msgstr "УчеÑталоÑÑ‚ завршавања"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
+msgid "Ignore encrypted channels"
+msgstr "Занемари шифроване канале"
+
+msgctxt "IDD_TUNER_SCAN_ID_SAVE"
+msgid "Save"
+msgstr "&Сачувај"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "S"
+msgstr "S"
+
+msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
+msgid "Q"
+msgstr "Q"
+
+msgctxt "IDD_TUNER_SCAN_IDC_CHECK_OFFSET"
+msgid "Use an offset"
+msgstr "КориÑти помак"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Default Device"
+msgstr "Подразумевани уређај"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO1"
+msgid "Analog"
+msgstr "Ðналогни"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_RADIO2"
+msgid "Digital"
+msgstr "Дигитални"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Analog settings"
+msgstr "ПоÑтавке аналогног уређаја"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC1"
+msgid "Video"
+msgstr "Видео"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC2"
+msgid "Audio"
+msgstr "Ðудио"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC3"
+msgid "Country"
+msgstr "Земља"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC"
+msgid "Digital settings (BDA)"
+msgstr "ПоÑтавке дигиталног уређаја (BDA)"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC4"
+msgid "Network Provider"
+msgstr "Добављач мреже"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC5"
+msgid "Tuner"
+msgstr "Тјунер"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_STATIC6"
+msgid "Receiver"
+msgstr "Пријемник"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST10"
+msgid "Channel switching approach:"
+msgstr "Пребацивање канала:"
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST11"
+msgid "Rebuild filter graph"
+msgstr "Изради граф. филт."
+
+msgctxt "IDD_PPAGECAPTURE_IDC_PPAGECAPTURE_ST12"
+msgid "Stop filter graph"
+msgstr "ЗауÑтави граф. филт."
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCVIDEO"
+msgid "Sync video to display"
+msgstr "Синхронизуј видео Ñа приказом"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC1"
+msgid "Frequency adjustment:"
+msgstr "УчеÑталоÑÑ‚:"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCDISPLAY"
+msgid "Sync display to video"
+msgstr "Синхронизуј приказ Ñа видеом"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC2"
+msgid "Frequency adjustment:"
+msgstr "УчеÑталоÑÑ‚:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC3"
+msgid "lines"
+msgstr "редова"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC4"
+msgid "columns"
+msgstr "колона"
+
+msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
+msgid "Present at nearest VSync"
+msgstr "Прикажи Ñа најближом верт. Ñинхр."
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
+msgid "Target sync offset:"
+msgstr "Циљни помак верт. Ñинхр.:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC6"
+msgid "ms"
+msgstr "мÑ"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC7"
+msgid "Control limits:"
+msgstr "Границе управљања:"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC8"
+msgid "+/-"
+msgstr "+/-"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC9"
+msgid "ms"
+msgstr "мÑ"
+
+msgctxt "IDD_PPAGESYNC_IDC_STATIC10"
+msgid "Changes take effect after the playback has been closed and restarted."
+msgstr "Измене Ñтупају на Ñнагу након што поново покренете репродукцију."
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK1"
+msgid "Launch files in fullscreen"
+msgstr "Покрени датотеке преко целог екрана"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK4"
+msgid "Hide controls in fullscreen"
+msgstr "Сакриј контроле у режиму целог екрана"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC1"
+msgid "ms"
+msgstr "мÑ"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK6"
+msgid "Hide docked panels"
+msgstr "Сакриј уÑидрене панеле"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
+msgid "Exit fullscreen at the end of playback"
+msgstr "Изађи из режима целог екрана на крају репродукције"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Fullscreen monitor"
+msgstr "Монитор за цео екран"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK2"
+msgid "Use autochange fullscreen monitor mode"
+msgstr "Режим монитора у режиму целог екрана"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON1"
+msgid "Add"
+msgstr "&Додај"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON2"
+msgid "Del"
+msgstr "&Обриши"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON3"
+msgid "Up"
+msgstr "&Горе"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_BUTTON4"
+msgid "Down"
+msgstr "&Доле"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK3"
+msgid "Apply default monitor mode on fullscreen exit"
+msgstr "Подразумевани режим монитора при излаÑку из целог екрана"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_RESTORERESCHECK"
+msgid "Restore resolution on program exit"
+msgstr "Врати резолуцију при излаÑку из програма"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
+msgid "Delay"
+msgstr "Кашњење"
+
+msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC2"
+msgid "s"
+msgstr "Ñ"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_INFO"
+msgid "Info"
+msgstr "Информације"
+
+msgctxt "IDD_NAVIGATION_DLG_IDC_NAVIGATION_SCAN"
+msgid "Scan"
+msgstr "Скенирај"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK1"
+msgid "Prefer forced and/or default subtitles tracks"
+msgstr "Преферирај наметнуте или подразумеване титлове"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK2"
+msgid "Prefer external subtitles over embedded subtitles"
+msgstr "Преферирај Ñпољне титлове над уграђеним"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_CHECK3"
+msgid "Ignore embedded subtitles"
+msgstr "Занемари уграђене титлове"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Autoload paths"
+msgstr "Путање за аутоматÑко учитавање"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON1"
+msgid "Reset"
+msgstr "Подразумевано"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Online database"
+msgstr "Базе на мрежи"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_STATIC"
+msgid "Base URL of the online subtitle database:"
+msgstr "URL базе Ñа титловима:"
+
+msgctxt "IDD_PPAGESUBMISC_IDC_BUTTON2"
+msgid "Test"
+msgstr "ТеÑтирај"
+
+msgctxt "IDD_UPDATE_DIALOG_CAPTION"
+msgid "Update Checker"
+msgstr "Потражња ажурирања"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_DL_BUTTON"
+msgid "&Download now"
+msgstr "&Преузми Ñад"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_LATER_BUTTON"
+msgid "Remind me &later"
+msgstr "ПодÑети ме &каÑније"
+
+msgctxt "IDD_UPDATE_DIALOG_IDC_UPDATE_IGNORE_BUTTON"
+msgid "&Ignore this update"
+msgstr "&Занемари ово ажурирање"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shaders contain special effects which can be added to the video rendering process."
+msgstr "Модули за Ñенчење Ñадрже Ñпецијалне ефекте које можете додати за време рендеровања видео-запиÑа."
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON12"
+msgid "Add shader file"
+msgstr "&Додај датотеку модула…"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON13"
+msgid "Remove"
+msgstr "&Уклони"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON1"
+msgid "Add to pre-resize"
+msgstr "П&ре промене величине"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON2"
+msgid "Add to post-resize"
+msgstr "ПоÑ&ле промене величине"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Shader presets"
+msgstr "Унапред дефиниÑани модули"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON3"
+msgid "Load"
+msgstr "&Учитај"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON4"
+msgid "Save"
+msgstr "&Сачувај"
+
+msgctxt "IDD_PPAGESHADERS_IDC_BUTTON5"
+msgid "Delete"
+msgstr "&Обриши"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active pre-resize shaders"
+msgstr "Ðктивни модули (пре промене величине):"
+
+msgctxt "IDD_PPAGESHADERS_IDC_STATIC"
+msgid "Active post-resize shaders"
+msgstr "Ðктивни модули (поÑле промене величине):"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_CAPTION"
+msgid "Debug Shaders"
+msgstr "Отклањање грешака модула за Ñенчење"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_STATIC"
+msgid "Debug Information"
+msgstr "Извод"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO1"
+msgid "PS 2.0"
+msgstr "PS 2.0"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO2"
+msgid "PS 2.0b"
+msgstr "PS 2.0b"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO3"
+msgid "PS 2.0a"
+msgstr "PS 2.0a"
+
+msgctxt "IDD_DEBUGSHADERS_DLG_IDC_RADIO4"
+msgid "PS 3.0"
+msgstr "PS 3.0"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_STATIC"
+msgid "Advanced Settings, do not edit unless you know what you are doing."
+msgstr "Ðапредне поÑтавке; не мењајте их оÑим ако знате шта радите."
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO1"
+msgid "True"
+msgstr "Тачно"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_RADIO2"
+msgid "False"
+msgstr "Ðетачно"
+
+msgctxt "IDD_PPAGEADVANCED_IDC_BUTTON1"
+msgid "Default"
+msgstr "Подразумевано"
+
+msgctxt "IDD_SAVEIMAGEDIALOGTEMPL_IDC_STATIC"
+msgid "JPEG quality:"
+msgstr "Квалитет JPEG-а:"
+
+msgctxt "IDD_CMD_LINE_HELP_CAPTION"
+msgid "Command line help"
+msgstr "Помоћ око командне линије"
+
+msgctxt "IDD_CMD_LINE_HELP_IDOK"
+msgid "OK"
+msgstr "&У реду"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po
new file mode 100644
index 000000000..1adf875fe
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.menus.po
@@ -0,0 +1,692 @@
+# MPC-HC - Strings extracted from menus
+# Copyright (C) 2002 - 2013 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Rancher <djordje.vasiljevich@gmail.com>, 2014
+# vBm <the.vbm@gmail.com>, 2014
+# Zlatan Vasović <legospace9876@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-12-11 19:01+0000\n"
+"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "POPUP"
+msgid "&File"
+msgstr "&Датотека"
+
+msgctxt "ID_FILE_OPENQUICK"
+msgid "&Quick Open File..."
+msgstr "&Брзо отвори датотеку…"
+
+msgctxt "ID_FILE_OPENMEDIA"
+msgid "&Open File..."
+msgstr "&Отвори датотеку…"
+
+msgctxt "ID_FILE_OPENDVDBD"
+msgid "Open &DVD/BD..."
+msgstr "Отвори &DVD/BD…"
+
+msgctxt "ID_FILE_OPENDEVICE"
+msgid "Open De&vice..."
+msgstr "Отвори &уређај…"
+
+msgctxt "ID_FILE_OPENDIRECTORY"
+msgid "Open Dir&ectory..."
+msgstr "Отвори &фаÑциклу…"
+
+msgctxt "ID_FILE_OPENDISC"
+msgid "O&pen Disc"
+msgstr "Отвори &диÑк"
+
+msgctxt "ID_RECENT_FILES"
+msgid "Recent &Files"
+msgstr "Скора&шње датотеке"
+
+msgctxt "ID_FILE_CLOSE_AND_RESTORE"
+msgid "&Close"
+msgstr "&Затвори"
+
+msgctxt "ID_FILE_SAVE_COPY"
+msgid "&Save a Copy..."
+msgstr "Сачувај &копију…"
+
+msgctxt "ID_FILE_SAVE_IMAGE"
+msgid "Save &Image..."
+msgstr "Сачувај &Ñлику…"
+
+msgctxt "ID_FILE_SAVE_THUMBNAILS"
+msgid "Save &Thumbnails..."
+msgstr "Сачувај Ñ&личице…"
+
+msgctxt "ID_FILE_LOAD_SUBTITLE"
+msgid "&Load Subtitle..."
+msgstr "&Учитај титл…"
+
+msgctxt "ID_FILE_SAVE_SUBTITLE"
+msgid "Save S&ubtitle..."
+msgstr "С&ачувај титл…"
+
+msgctxt "POPUP"
+msgid "Subtitle Data&base"
+msgstr "База тит&лова"
+
+msgctxt "ID_FILE_ISDB_SEARCH"
+msgid "&Search..."
+msgstr "&Претражи…"
+
+msgctxt "ID_FILE_ISDB_UPLOAD"
+msgid "&Upload..."
+msgstr "&Отпреми…"
+
+msgctxt "ID_FILE_ISDB_DOWNLOAD"
+msgid "&Download..."
+msgstr "Пр&еузми…"
+
+msgctxt "ID_FILE_PROPERTIES"
+msgid "P&roperties"
+msgstr "С&војÑтва"
+
+msgctxt "ID_FILE_EXIT"
+msgid "E&xit"
+msgstr "&Изађи"
+
+msgctxt "POPUP"
+msgid "&View"
+msgstr "&Приказ"
+
+msgctxt "ID_VIEW_CAPTIONMENU"
+msgid "Caption&&Menu"
+msgstr "&ÐаÑлов и мени"
+
+msgctxt "ID_VIEW_SEEKER"
+msgid "See&k Bar"
+msgstr "Трака за пр&емотавање"
+
+msgctxt "ID_VIEW_CONTROLS"
+msgid "&Controls"
+msgstr "&Контроле"
+
+msgctxt "ID_VIEW_INFORMATION"
+msgid "&Information"
+msgstr "&Информације"
+
+msgctxt "ID_VIEW_STATISTICS"
+msgid "&Statistics"
+msgstr "&СтатиÑтика"
+
+msgctxt "ID_VIEW_STATUS"
+msgid "St&atus"
+msgstr "С&татуÑ"
+
+msgctxt "ID_VIEW_SUBRESYNC"
+msgid "Su&bresync"
+msgstr "Син&хронизација титлова"
+
+msgctxt "ID_VIEW_PLAYLIST"
+msgid "Pla&ylist"
+msgstr "&Плеј-лиÑта"
+
+msgctxt "ID_VIEW_CAPTURE"
+msgid "Captu&re"
+msgstr "Снима&ње"
+
+msgctxt "ID_VIEW_NAVIGATION"
+msgid "Na&vigation"
+msgstr "Ðа&вигација"
+
+msgctxt "ID_VIEW_DEBUGSHADERS"
+msgid "&Debug Shaders"
+msgstr "&Отклањање грешака при Ñенчењу"
+
+msgctxt "POPUP"
+msgid "&Presets..."
+msgstr "Про&фили"
+
+msgctxt "ID_VIEW_PRESETS_MINIMAL"
+msgid "&Minimal"
+msgstr "&Минимално"
+
+msgctxt "ID_VIEW_PRESETS_COMPACT"
+msgid "&Compact"
+msgstr "&Компактно"
+
+msgctxt "ID_VIEW_PRESETS_NORMAL"
+msgid "&Normal"
+msgstr "&Ðормално"
+
+msgctxt "ID_VIEW_FULLSCREEN"
+msgid "F&ull Screen"
+msgstr "&Цео екран"
+
+msgctxt "POPUP"
+msgid "&Zoom"
+msgstr "&Зумирање"
+
+msgctxt "ID_VIEW_ZOOM_50"
+msgid "&50%"
+msgstr "&50%"
+
+msgctxt "ID_VIEW_ZOOM_100"
+msgid "&100%"
+msgstr "&100%"
+
+msgctxt "ID_VIEW_ZOOM_200"
+msgid "&200%"
+msgstr "&200%"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT"
+msgid "Auto &Fit"
+msgstr "&Уклопи"
+
+msgctxt "ID_VIEW_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (&Larger Only)"
+msgstr "Уклопи (Ñамо &веће)"
+
+msgctxt "POPUP"
+msgid "R&enderer Settings"
+msgstr "ПоÑтавке &рендерера"
+
+msgctxt "ID_VIEW_TEARING_TEST"
+msgid "&Tearing Test"
+msgstr "&ТеÑÑ‚ на цепање Ñлике"
+
+msgctxt "ID_VIEW_DISPLAYSTATS"
+msgid "&Display Stats"
+msgstr "&СтатиÑтика"
+
+msgctxt "ID_VIEW_REMAINING_TIME"
+msgid "&Remaining Time"
+msgstr "Пр&еоÑтало време"
+
+msgctxt "POPUP"
+msgid "&Output Range"
+msgstr "&Излазни опÑег"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
+msgid "&0 - 255"
+msgstr "&0–255"
+
+msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
+msgid "&16 - 235"
+msgstr "&16–235"
+
+msgctxt "POPUP"
+msgid "&Presentation"
+msgstr "&Презентација"
+
+msgctxt "ID_VIEW_D3DFULLSCREEN"
+msgid "D3D Fullscreen &Mode"
+msgstr "&D3D режим целог екрана"
+
+msgctxt "ID_VIEW_FULLSCREENGUISUPPORT"
+msgid "D3D Fullscreen &GUI Support"
+msgstr "D&3D режим целог екрана уз GUI"
+
+msgctxt "ID_VIEW_HIGHCOLORRESOLUTION"
+msgid "10-bit &RGB Output"
+msgstr "10-битни &RGB излаз"
+
+msgctxt "ID_VIEW_FORCEINPUTHIGHCOLORRESOLUTION"
+msgid "Force 10-bit RGB &Input"
+msgstr "Ðаметни 10-битни R&GB улаз"
+
+msgctxt "ID_VIEW_FULLFLOATINGPOINTPROCESSING"
+msgid "&Full Floating Point Processing"
+msgstr "&Обрада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа потпуном прецизношћу"
+
+msgctxt "ID_VIEW_HALFFLOATINGPOINTPROCESSING"
+msgid "&Half Floating Point Processing"
+msgstr "О&брада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа половичном прецизношћу"
+
+msgctxt "ID_VIEW_DISABLEDESKTOPCOMPOSITION"
+msgid "Disable desktop composition (&Aero)"
+msgstr "О&немогући ÑаÑтављање радне површине (Aero)"
+
+msgctxt "ID_VIEW_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time &Correction"
+msgstr "ИÑправљање &времена кадрова"
+
+msgctxt "POPUP"
+msgid "&Color Management"
+msgstr "Управљање &бојама"
+
+msgctxt "ID_VIEW_CM_ENABLE"
+msgid "&Enable"
+msgstr "&Омогући"
+
+msgctxt "POPUP"
+msgid "&Input Type"
+msgstr "&Тип улаза"
+
+msgctxt "ID_VIEW_CM_INPUT_AUTO"
+msgid "&Auto-Detect"
+msgstr "&ÐутоматÑки"
+
+msgctxt "ID_VIEW_CM_INPUT_HDTV"
+msgid "&HDTV"
+msgstr "&HDTV"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_NTSC"
+msgid "SDTV &NTSC"
+msgstr "SDTV &NTSC"
+
+msgctxt "ID_VIEW_CM_INPUT_SDTV_PAL"
+msgid "SDTV &PAL"
+msgstr "SDTV &PAL"
+
+msgctxt "POPUP"
+msgid "Ambient &Light"
+msgstr "О&колна оÑветљеноÑÑ‚"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_BRIGHT"
+msgid "&Bright (2.2 Gamma)"
+msgstr "&Светло (гама 2.2)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DIM"
+msgid "&Dim (2.35 Gamma)"
+msgstr "&Затамњено (гама 2.35)"
+
+msgctxt "ID_VIEW_CM_AMBIENTLIGHT_DARK"
+msgid "D&ark (2.4 Gamma)"
+msgstr "&Тамно (гама 2.4)"
+
+msgctxt "POPUP"
+msgid "&Rendering Intent"
+msgstr "&Циљ рендеровања"
+
+msgctxt "ID_VIEW_CM_INTENT_PERCEPTUAL"
+msgid "&Perceptual"
+msgstr "&Перцепција"
+
+msgctxt "ID_VIEW_CM_INTENT_RELATIVECOLORIMETRIC"
+msgid "&Relative Colorimetric"
+msgstr "&Релативна колориметрија"
+
+msgctxt "ID_VIEW_CM_INTENT_SATURATION"
+msgid "&Saturation"
+msgstr "&ЗаÑићеноÑÑ‚"
+
+msgctxt "ID_VIEW_CM_INTENT_ABSOLUTECOLORIMETRIC"
+msgid "&Absolute Colorimetric"
+msgstr "&ÐпÑолутна колориметрија"
+
+msgctxt "POPUP"
+msgid "&VSync"
+msgstr "&Вертикална Ñинхронизација"
+
+msgctxt "ID_VIEW_VSYNC"
+msgid "&VSync"
+msgstr "&Вертикална Ñинхронизација"
+
+msgctxt "ID_VIEW_VSYNCACCURATE"
+msgid "&Accurate VSync"
+msgstr "&Прецизна вертикална Ñинхронизација"
+
+msgctxt "ID_VIEW_ALTERNATIVEVSYNC"
+msgid "A&lternative VSync"
+msgstr "&Ðлтернативна вертикална Ñинхронизација"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_DECREASE"
+msgid "&Decrease VSync Offset"
+msgstr "&Смањи помак Ñинхронизације"
+
+msgctxt "ID_VIEW_VSYNCOFFSET_INCREASE"
+msgid "&Increase VSync Offset"
+msgstr "П&овећај помак Ñинхронизације"
+
+msgctxt "POPUP"
+msgid "&GPU Control"
+msgstr "Управљање &GPU-ом"
+
+msgctxt "ID_VIEW_FLUSHGPU_BEFOREVSYNC"
+msgid "Flush GPU &before VSync"
+msgstr "ИÑпразни GPU &пре верт. Ñинхр."
+
+msgctxt "ID_VIEW_FLUSHGPU_AFTERPRESENT"
+msgid "Flush GPU &after Present"
+msgstr "ИÑпразни GPU &након верт. Ñинхр."
+
+msgctxt "ID_VIEW_FLUSHGPU_WAIT"
+msgid "&Wait for flushes"
+msgstr "&Чекај на пражњење"
+
+msgctxt "POPUP"
+msgid "R&eset"
+msgstr "&УÑпоÑтављање почетних вредноÑти"
+
+msgctxt "ID_VIEW_RESET_DEFAULT"
+msgid "Reset to &default renderer settings"
+msgstr "Врати &подразумеване поÑтавке рендерера"
+
+msgctxt "ID_VIEW_RESET_OPTIMAL"
+msgid "Reset to &optimal renderer settings"
+msgstr "Врати &оптималне поÑтавке рендерера"
+
+msgctxt "POPUP"
+msgid "Video &Frame"
+msgstr "&Видео-кадар"
+
+msgctxt "ID_VIEW_VF_HALF"
+msgid "&Half Size"
+msgstr "&Половична величина"
+
+msgctxt "ID_VIEW_VF_NORMAL"
+msgid "&Normal Size"
+msgstr "&Ðормална величина"
+
+msgctxt "ID_VIEW_VF_DOUBLE"
+msgid "&Double Size"
+msgstr "&ДвоÑтрука величина"
+
+msgctxt "ID_VIEW_VF_STRETCH"
+msgid "&Stretch To Window"
+msgstr "&РаÑтегни до величине прозора"
+
+msgctxt "ID_VIEW_VF_FROMINSIDE"
+msgid "Touch Window From &Inside"
+msgstr "Додирни прозор &изнутра"
+
+msgctxt "ID_VIEW_VF_ZOOM1"
+msgid "Zoom &1"
+msgstr "Зум &1"
+
+msgctxt "ID_VIEW_VF_ZOOM2"
+msgid "Zoom &2"
+msgstr "Зум &2"
+
+msgctxt "ID_VIEW_VF_FROMOUTSIDE"
+msgid "Touch Window From &Outside"
+msgstr "Додирни прозор &Ñпоља"
+
+msgctxt "ID_VIEW_VF_KEEPASPECTRATIO"
+msgid "&Keep Aspect Ratio"
+msgstr "&Задржи Ð¾Ð´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина"
+
+msgctxt "POPUP"
+msgid "Override &Aspect Ratio"
+msgstr "По&тиÑни Ð¾Ð´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина"
+
+msgctxt "ID_ASPECTRATIO_SOURCE"
+msgid "&Default"
+msgstr "&Подразумевано"
+
+msgctxt "ID_ASPECTRATIO_4_3"
+msgid "&4:3"
+msgstr "&4:3"
+
+msgctxt "ID_ASPECTRATIO_5_4"
+msgid "&5:4"
+msgstr "&5:4"
+
+msgctxt "ID_ASPECTRATIO_16_9"
+msgid "&16:9"
+msgstr "&16:9"
+
+msgctxt "ID_ASPECTRATIO_235_100"
+msgid "&235:100"
+msgstr "&235:100"
+
+msgctxt "ID_ASPECTRATIO_185_100"
+msgid "1&85:100"
+msgstr "1&85:100"
+
+msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
+msgid "&Correct Monitor/Desktop AR Diff"
+msgstr "&ИÑправи разлику размере Ñлике на монитору/радној површини"
+
+msgctxt "POPUP"
+msgid "Pa&n&&Scan"
+msgstr "Размера и положај &кадра"
+
+msgctxt "ID_VIEW_INCSIZE"
+msgid "&Increase Size"
+msgstr "&Повећај размеру"
+
+msgctxt "ID_VIEW_DECSIZE"
+msgid "&Decrease Size"
+msgstr "&Смањи размеру"
+
+msgctxt "ID_VIEW_INCWIDTH"
+msgid "I&ncrease Width"
+msgstr "П&овећај ширину"
+
+msgctxt "ID_VIEW_DECWIDTH"
+msgid "D&ecrease Width"
+msgstr "С&мањи ширину"
+
+msgctxt "ID_VIEW_INCHEIGHT"
+msgid "In&crease Height"
+msgstr "По&већај виÑину"
+
+msgctxt "ID_VIEW_DECHEIGHT"
+msgid "Decre&ase Height"
+msgstr "См&ањи виÑину"
+
+msgctxt "ID_PANSCAN_MOVERIGHT"
+msgid "Move &Right"
+msgstr "Помери у&деÑно"
+
+msgctxt "ID_PANSCAN_MOVELEFT"
+msgid "Move &Left"
+msgstr "Помери у&лево"
+
+msgctxt "ID_PANSCAN_MOVEUP"
+msgid "Move &Up"
+msgstr "Помери на&горе"
+
+msgctxt "ID_PANSCAN_MOVEDOWN"
+msgid "Move &Down"
+msgstr "Помери на&доле"
+
+msgctxt "ID_PANSCAN_CENTER"
+msgid "Cen&ter"
+msgstr "&Центрирај"
+
+msgctxt "ID_VIEW_RESET"
+msgid "Re&set"
+msgstr "&УÑпоÑтави почетне вредноÑти"
+
+msgctxt "POPUP"
+msgid "On &Top"
+msgstr "Ðа вр&ху"
+
+msgctxt "ID_ONTOP_DEFAULT"
+msgid "&Default"
+msgstr "&Подразумевано"
+
+msgctxt "ID_ONTOP_ALWAYS"
+msgid "&Always"
+msgstr "&Увек"
+
+msgctxt "ID_ONTOP_WHILEPLAYING"
+msgid "While &Playing"
+msgstr "Приликом &репродукције"
+
+msgctxt "ID_ONTOP_WHILEPLAYINGVIDEO"
+msgid "While Playing &Video"
+msgstr "Приликом репродукције &видео-запиÑа"
+
+msgctxt "ID_VIEW_OPTIONS"
+msgid "&Options..."
+msgstr "&Опције…"
+
+msgctxt "POPUP"
+msgid "&Play"
+msgstr "&Репродукција"
+
+msgctxt "ID_PLAY_PLAYPAUSE"
+msgid "&Play/Pause"
+msgstr "&Репродукуј/паузирај"
+
+msgctxt "ID_PLAY_STOP"
+msgid "&Stop"
+msgstr "З&ауÑтави"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "F&rame Step"
+msgstr "По &кадровима"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "&Decrease Rate"
+msgstr "У&Ñпори"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "&Increase Rate"
+msgstr "У&брзај"
+
+msgctxt "ID_PLAY_RESETRATE"
+msgid "R&eset Rate"
+msgstr "&Првобитна брзина"
+
+msgctxt "ID_FILTERS"
+msgid "&Filters"
+msgstr "&Филтери"
+
+msgctxt "ID_SHADERS"
+msgid "S&haders"
+msgstr "Модули за &Ñенчење"
+
+msgctxt "ID_AUDIOS"
+msgid "&Audio"
+msgstr "&Звук"
+
+msgctxt "ID_SUBTITLES"
+msgid "Su&btitles"
+msgstr "&Титлови"
+
+msgctxt "ID_VIDEO_STREAMS"
+msgid "&Video Stream"
+msgstr "Ток &видео-запиÑа"
+
+msgctxt "POPUP"
+msgid "&Volume"
+msgstr "&Јачина звука"
+
+msgctxt "ID_VOLUME_UP"
+msgid "&Up"
+msgstr "&Појачај"
+
+msgctxt "ID_VOLUME_DOWN"
+msgid "&Down"
+msgstr "&Смањи"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "&Mute"
+msgstr "&ИÑкључи"
+
+msgctxt "POPUP"
+msgid "Af&ter Playback"
+msgstr "&Ðакон репродукције"
+
+msgctxt "ID_AFTERPLAYBACK_CLOSE"
+msgid "&Exit"
+msgstr "&Изађи из програма"
+
+msgctxt "ID_AFTERPLAYBACK_STANDBY"
+msgid "&Stand By"
+msgstr "Пређи у Ñтање &приправноÑти"
+
+msgctxt "ID_AFTERPLAYBACK_HIBERNATE"
+msgid "&Hibernate"
+msgstr "Пређи у &хибернацију"
+
+msgctxt "ID_AFTERPLAYBACK_SHUTDOWN"
+msgid "Shut&down"
+msgstr "ИÑкључи &рачунар"
+
+msgctxt "ID_AFTERPLAYBACK_LOGOFF"
+msgid "Log &Off"
+msgstr "&Одјави кориÑника"
+
+msgctxt "ID_AFTERPLAYBACK_LOCK"
+msgid "&Lock"
+msgstr "&Закључај рачунар"
+
+msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
+msgid "Turn off the &monitor"
+msgstr "ИÑкључи &монитор"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "ПуÑти &Ñледећу датотеку"
+
+msgctxt "POPUP"
+msgid "&Navigate"
+msgstr "&Ðавигација"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "&Previous"
+msgstr "&Претходно"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "&Next"
+msgstr "&Следеће"
+
+msgctxt "ID_NAVIGATE_GOTO"
+msgid "&Go To..."
+msgstr "Пр&еђи на…"
+
+msgctxt "ID_NAVIGATE_TITLEMENU"
+msgid "&Title Menu"
+msgstr "Мени &наÑлова"
+
+msgctxt "ID_NAVIGATE_ROOTMENU"
+msgid "&Root Menu"
+msgstr "ОÑновни &мени"
+
+msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
+msgid "&Subtitle Menu"
+msgstr "Мени &титлова"
+
+msgctxt "ID_NAVIGATE_AUDIOMENU"
+msgid "&Audio Menu"
+msgstr "Мени &звука"
+
+msgctxt "ID_NAVIGATE_ANGLEMENU"
+msgid "An&gle Menu"
+msgstr "Мени &углова"
+
+msgctxt "ID_NAVIGATE_CHAPTERMENU"
+msgid "&Chapter Menu"
+msgstr "Мени п&оглавља"
+
+msgctxt "ID_FAVORITES"
+msgid "F&avorites"
+msgstr "&Омиљено"
+
+msgctxt "POPUP"
+msgid "&Help"
+msgstr "&Помоћ"
+
+msgctxt "ID_HELP_HOMEPAGE"
+msgid "&Home Page"
+msgstr "&Почетна Ñтраница"
+
+msgctxt "ID_HELP_CHECKFORUPDATE"
+msgid "Check for &updates"
+msgstr "Потражи &ажурирања"
+
+msgctxt "ID_HELP_SHOWCOMMANDLINESWITCHES"
+msgid "&Command Line Switches"
+msgstr "Прекидачи &командне линије"
+
+msgctxt "ID_HELP_TOOLBARIMAGES"
+msgid "Download &Toolbar Images"
+msgstr "&Слике траке Ñа алаткама"
+
+msgctxt "ID_HELP_DONATE"
+msgid "&Donate"
+msgstr "&Донирај"
+
+msgctxt "ID_HELP_ABOUT"
+msgid "&About..."
+msgstr "&О програму…"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po
new file mode 100644
index 000000000..07b9edfb7
--- /dev/null
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sr.strings.po
@@ -0,0 +1,3584 @@
+# MPC-HC - Strings extracted from string tables
+# Copyright (C) 2002 - 2013 see Authors.txt
+# This file is distributed under the same license as the MPC-HC package.
+# Translators:
+# Rancher <djordje.vasiljevich@gmail.com>, 2014
+# vBm <the.vbm@gmail.com>, 2014
+# vBm <the.vbm@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: MPC-HC\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-11 19:52+0000\n"
+"Last-Translator: Rancher <djordje.vasiljevich@gmail.com>\n"
+"Language-Team: Serbian (http://www.transifex.com/projects/p/mpc-hc/language/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgctxt "IDS_INFOBAR_LOCATION"
+msgid "Location"
+msgstr "Локација"
+
+msgctxt "IDS_INFOBAR_VIDEO"
+msgid "Video"
+msgstr "Видео"
+
+msgctxt "IDS_INFOBAR_AUDIO"
+msgid "Audio"
+msgstr "Ðудио"
+
+msgctxt "IDS_INFOBAR_SUBTITLES"
+msgid "Subtitles"
+msgstr "Титлови"
+
+msgctxt "IDS_INFOBAR_CHAPTER"
+msgid "Chapter"
+msgstr "Поглавље"
+
+msgctxt "IDS_CONTROLS_COMPLETING"
+msgid "Completing..."
+msgstr "Завршавам…"
+
+msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
+msgid "Play Video"
+msgstr "Репродуковање видео-запиÑа"
+
+msgctxt "IDS_AUTOPLAY_PLAYMUSIC"
+msgid "Play Music"
+msgstr "Репродуковање музике"
+
+msgctxt "IDS_AUTOPLAY_PLAYAUDIOCD"
+msgid "Play Audio CD"
+msgstr "Репродуковање аудио CD-а"
+
+msgctxt "IDS_AUTOPLAY_PLAYDVDMOVIE"
+msgid "Play DVD Movie"
+msgstr "Репродуковање DVD-а"
+
+msgctxt "IDS_PROPSHEET_PROPERTIES"
+msgid "Properties"
+msgstr "СвојÑтва"
+
+msgctxt "IDS_SUBTITLES_DEFAULT_STYLE"
+msgid "&Default Style"
+msgstr "По&дразумевани Ñтил"
+
+msgctxt "IDS_FAVFILES"
+msgid "Files"
+msgstr "Датотеке"
+
+msgctxt "IDS_FAVDVDS"
+msgid "DVDs"
+msgstr "DVD-ови"
+
+msgctxt "IDS_INFOBAR_CHANNEL"
+msgid "Channel"
+msgstr "Канал"
+
+msgctxt "IDS_INFOBAR_TIME"
+msgid "Time"
+msgstr "Време"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET"
+msgid "Sync Offset"
+msgstr "Помак Ñинхронизације"
+
+msgctxt "IDS_STATSBAR_SYNC_OFFSET_FORMAT"
+msgid "avg: %d ms, dev: %d ms"
+msgstr "проÑек: %d мÑ, отклон: %d мÑ"
+
+msgctxt "IDS_STATSBAR_JITTER"
+msgid "Jitter"
+msgstr "Трзање"
+
+msgctxt "IDS_STATSBAR_BITRATE"
+msgid "Bitrate"
+msgstr "Брзина протока"
+
+msgctxt "IDS_STATSBAR_BITRATE_AVG_CUR"
+msgid "(avg/cur)"
+msgstr "(проÑечна/тренутна)"
+
+msgctxt "IDS_STATSBAR_SIGNAL"
+msgid "Signal"
+msgstr "Сигнал"
+
+msgctxt "IDS_STATSBAR_SIGNAL_FORMAT"
+msgid "Strength: %d dB, Quality: %ld%%"
+msgstr "Јачина: %d dB, квалитет: %ld%%"
+
+msgctxt "IDS_SUBTITLES_STYLES_CAPTION"
+msgid "Styles"
+msgstr "Стилови"
+
+msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
+msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
+msgstr "Ðко не наведете циљ рендеровања, SSA/ASS титлови ће бити рендеровани у одноÑу на видео-кадар, док ће Ñе Ñви други текÑтуални титлови приказивати у одноÑу на прозор."
+
+msgctxt "IDS_PPAGE_CAPTURE_FG0"
+msgid "Never (fastest approach)"
+msgstr "Ðикад (брзо)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG1"
+msgid "Only when switching different video types (default)"
+msgstr "Само при мењању на друге типове видео-запиÑа (подразумевано)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FG2"
+msgid "Always (slowest option)"
+msgstr "Увек (Ñпоро)"
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC0"
+msgid "Not supported by some devices. Two video decoders always present in the filter graph."
+msgstr "Ðеки уређаји не подржавају ову опцију. У графикону филтера Ñу увек приÑутна два видео-декодера."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC1"
+msgid "Fast except when switching between different video streams. Only one video decoder present in the filter graph."
+msgstr "Брзо оÑим приликом промене тока видео-запиÑа. ПриÑутан је Ñамо један видео-декодер у графикону филтера."
+
+msgctxt "IDS_PPAGE_CAPTURE_FGDESC2"
+msgid "Not recommended. Only for testing purposes."
+msgstr "Ðе препоручује Ñе. Само у Ñврхе теÑтирања."
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG0"
+msgid "Never if possible (fastest, but not supported by most filters)"
+msgstr "Ðикад, ако је могуће (најбрже, али не подржавају многи филтери)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG1"
+msgid "Only when switching different video types (default)"
+msgstr "Само при мењању на друге типове видео-запиÑа (подразумевано)"
+
+msgctxt "IDS_PPAGE_CAPTURE_SFG2"
+msgid "Always (may be required by some devices)"
+msgstr "Увек (потребно неким уређајима)"
+
+msgctxt "IDS_INFOBAR_PARENTAL_RATING"
+msgid "Parental rating"
+msgstr "РодитељÑка оцена"
+
+msgctxt "IDS_PARENTAL_RATING"
+msgid "%d+"
+msgstr "%d+"
+
+msgctxt "IDS_NO_PARENTAL_RATING"
+msgid "Not rated"
+msgstr "Ðије оцењено"
+
+msgctxt "IDS_INFOBAR_CONTENT"
+msgid "Content"
+msgstr "Садржај"
+
+msgctxt "IDS_CONTENT_MOVIE_DRAMA"
+msgid "Movie/Drama"
+msgstr "Филм/драма"
+
+msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
+msgid "News/Current affairs"
+msgstr "ÐовоÑти/актуелне афере"
+
+msgctxt "IDS_SPEED_UNIT_G"
+msgid "GB/s"
+msgstr "GB/Ñ"
+
+msgctxt "IDS_FILE_FAV_ADDED"
+msgid "File added to favorites"
+msgstr "Датотека је додата у омиљене"
+
+msgctxt "IDS_DVD_FAV_ADDED"
+msgid "DVD added to favorites"
+msgstr "DVD је додат у омиљене"
+
+msgctxt "IDS_CAPTURE_SETTINGS"
+msgid "Capture Settings"
+msgstr "ПоÑтавке Ñнимања"
+
+msgctxt "IDS_NAVIGATION_BAR"
+msgid "Navigation Bar"
+msgstr "Ðавигациона трака"
+
+msgctxt "IDS_SUBRESYNC_CAPTION"
+msgid "Subresync"
+msgstr "Синхронизација титлова"
+
+msgctxt "IDS_SUBRESYNC_CLN_TIME"
+msgid "Time"
+msgstr "Време"
+
+msgctxt "IDS_SUBRESYNC_CLN_END"
+msgid "End"
+msgstr "Крај"
+
+msgctxt "IDS_SUBRESYNC_CLN_PREVIEW"
+msgid "Preview"
+msgstr "Преглед"
+
+msgctxt "IDS_SUBRESYNC_CLN_VOB_ID"
+msgid "Vob ID"
+msgstr "ID VOB-а"
+
+msgctxt "IDS_SUBRESYNC_CLN_CELL_ID"
+msgid "Cell ID"
+msgstr "ID ћелије"
+
+msgctxt "IDS_SUBRESYNC_CLN_FORCED"
+msgid "Forced"
+msgstr "Ðаметнуто"
+
+msgctxt "IDS_SUBRESYNC_CLN_TEXT"
+msgid "Text"
+msgstr "ТекÑÑ‚"
+
+msgctxt "IDS_SUBRESYNC_CLN_STYLE"
+msgid "Style"
+msgstr "Стил"
+
+msgctxt "IDS_SUBRESYNC_CLN_FONT"
+msgid "Font"
+msgstr "Фонт"
+
+msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
+msgid "Failed to render some of the pins of the DVD Navigator filter"
+msgstr "Ðе могу да обрадим неке од пинова филтера DVD навигатор"
+
+msgctxt "IDS_DVD_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for DVD playback"
+msgstr "Ðе могу да питам потребне интерфејÑе за репродуковање DVD-а"
+
+msgctxt "IDS_CAPTURE_LIVE"
+msgid "Live"
+msgstr "Уживо"
+
+msgctxt "IDS_CAPTURE_ERROR_VID_FILTER"
+msgid "Can't add video capture filter to the graph"
+msgstr "Ðе могу да додам филтер за Ñнимање видео-запиÑа у графикон"
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_FILTER"
+msgid "Can't add audio capture filter to the graph"
+msgstr "Ðе могу да додам филтер за Ñнимање аудио-запиÑа у графикон"
+
+msgctxt "IDS_CAPTURE_ERROR_DEVICE"
+msgid "Could not open capture device."
+msgstr "Ðе могу да отворим уређај за Ñнимање."
+
+msgctxt "IDS_INVALID_PARAMS_ERROR"
+msgid "Can't open, invalid input parameters"
+msgstr "Отварање није уÑпело због неиÑправних улазних параметара"
+
+msgctxt "IDS_EDIT_LIST_EDITOR"
+msgid "Edit List Editor"
+msgstr "Уређивач ÑпиÑка измена"
+
+msgctxt "IDS_GOTO_ERROR_INVALID_TIME"
+msgid "The entered time is greater than the file duration."
+msgstr "Ðаведено време је веће од трајања датотеке."
+
+msgctxt "IDS_MISSING_ICONS_LIB"
+msgid "The icons library \"mpciconlib.dll\" is missing.\nThe player's default icon will be used for file associations.\nPlease, reinstall MPC-HC to get \"mpciconlib.dll\"."
+msgstr "ÐедоÑтаје библиотека икона „mpciconlib.dll“.\nКориÑтиће Ñе подразумевана икона плејера за повезаноÑти датотека.\nПоново инÑталирајте MPC-HC да биÑте имали „mpciconlib.dll“."
+
+msgctxt "IDS_SUBDL_DLG_FILENAME_COL"
+msgid "File"
+msgstr "Датотека"
+
+msgctxt "IDS_SUBDL_DLG_LANGUAGE_COL"
+msgid "Language"
+msgstr "Језик"
+
+msgctxt "IDS_SUBDL_DLG_FORMAT_COL"
+msgid "Format"
+msgstr "Формат"
+
+msgctxt "IDS_SUBDL_DLG_DISC_COL"
+msgid "Disc"
+msgstr "ДиÑк"
+
+msgctxt "IDS_SUBDL_DLG_TITLES_COL"
+msgid "Title(s)"
+msgstr "ÐаÑлови"
+
+msgctxt "IDS_SUBRESYNC_CLN_CHARSET"
+msgid "CharSet"
+msgstr "Кодирање"
+
+msgctxt "IDS_SUBRESYNC_CLN_UNICODE"
+msgid "Unicode"
+msgstr "Unicode"
+
+msgctxt "IDS_SUBRESYNC_CLN_LAYER"
+msgid "Layer"
+msgstr "Слој"
+
+msgctxt "IDS_SUBRESYNC_CLN_ACTOR"
+msgid "Actor"
+msgstr "Глумац"
+
+msgctxt "IDS_SUBRESYNC_CLN_EFFECT"
+msgid "Effect"
+msgstr "Ефекат"
+
+msgctxt "IDS_PLAYLIST_CAPTION"
+msgid "Playlist"
+msgstr "Плеј-лиÑта"
+
+msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
+msgid "On/Off"
+msgstr "Укључено/иÑкључено"
+
+msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
+msgid "From fps"
+msgstr "Од (FPS)"
+
+msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
+msgid "To fps"
+msgstr "До (FPS)"
+
+msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
+msgid "Display mode (Hz)"
+msgstr "Режим приказа (Hz)"
+
+msgctxt "IDS_PPAGE_FS_DEFAULT"
+msgid "Default"
+msgstr "Подразумеван"
+
+msgctxt "IDS_PPAGE_FS_OTHER"
+msgid "Other"
+msgstr "Други"
+
+msgctxt "IDS_PPAGE_OUTPUT_SYS_DEF"
+msgid "System Default"
+msgstr "По ÑиÑтему"
+
+msgctxt "IDS_GRAPH_INTERFACES_ERROR"
+msgid "Failed to query the needed interfaces for playback"
+msgstr "Ðе могу да питам потребне интерфејÑе за репродуковање"
+
+msgctxt "IDS_GRAPH_TARGET_WND_ERROR"
+msgid "Could not set target window for graph notification"
+msgstr "Ðе могу да поÑтавим прозор за приказ графикона"
+
+msgctxt "IDS_DVD_NAV_ALL_PINS_ERROR"
+msgid "Failed to render all pins of the DVD Navigator filter"
+msgstr "Ðе могу да обрадим Ñве пинове филтера DVD навигатор"
+
+msgctxt "IDS_PLAYLIST_OPEN"
+msgid "&Open"
+msgstr "&Отвори"
+
+msgctxt "IDS_PLAYLIST_ADD"
+msgid "A&dd"
+msgstr "&Додај"
+
+msgctxt "IDS_PLAYLIST_REMOVE"
+msgid "&Remove"
+msgstr "&Уклони"
+
+msgctxt "IDS_PLAYLIST_CLEAR"
+msgid "C&lear"
+msgstr "О&чиÑти"
+
+msgctxt "IDS_PLAYLIST_COPYTOCLIPBOARD"
+msgid "&Copy to clipboard"
+msgstr "&Копирај"
+
+msgctxt "IDS_PLAYLIST_SAVEAS"
+msgid "&Save As..."
+msgstr "&Сачувај као…"
+
+msgctxt "IDS_PLAYLIST_SORTBYLABEL"
+msgid "Sort by &label"
+msgstr "Сортирај по &ознаци"
+
+msgctxt "IDS_PLAYLIST_SORTBYPATH"
+msgid "Sort by &path"
+msgstr "Сортирај по &путањи"
+
+msgctxt "IDS_PLAYLIST_RANDOMIZE"
+msgid "R&andomize"
+msgstr "&ÐаÑумично"
+
+msgctxt "IDS_PLAYLIST_RESTORE"
+msgid "R&estore"
+msgstr "&Врати"
+
+msgctxt "IDS_SUBRESYNC_SEPARATOR"
+msgid "&Separator"
+msgstr "&Разделник"
+
+msgctxt "IDS_SUBRESYNC_DELETE"
+msgid "&Delete"
+msgstr "О&бриши"
+
+msgctxt "IDS_SUBRESYNC_DUPLICATE"
+msgid "D&uplicate"
+msgstr "&Дуплирај"
+
+msgctxt "IDS_SUBRESYNC_RESET"
+msgid "&Reset"
+msgstr "Врати &подразумевано"
+
+msgctxt "IDS_MPLAYERC_104"
+msgid "Subtitle Delay -"
+msgstr "Смањи кашњење титла"
+
+msgctxt "IDS_MPLAYERC_105"
+msgid "Subtitle Delay +"
+msgstr "Повећај кашњење титла"
+
+msgctxt "IDS_FILE_SAVE_THUMBNAILS"
+msgid "Save thumbnails"
+msgstr "Сачувај Ñличице"
+
+msgctxt "IDD_PPAGEPLAYBACK"
+msgid "Playback"
+msgstr "Репродукција"
+
+msgctxt "IDD_PPAGEPLAYER"
+msgid "Player"
+msgstr "Плејер"
+
+msgctxt "IDD_PPAGEDVD"
+msgid "Playback::DVD/OGM"
+msgstr "Репродукција::DVD/OGM"
+
+msgctxt "IDD_PPAGESUBTITLES"
+msgid "Subtitles"
+msgstr "Титлови"
+
+msgctxt "IDD_PPAGEFORMATS"
+msgid "Player::Formats"
+msgstr "Плејер::Формати"
+
+msgctxt "IDD_PPAGETWEAKS"
+msgid "Tweaks"
+msgstr "Оптимизације"
+
+msgctxt "IDD_PPAGEAUDIOSWITCHER"
+msgid "Internal Filters::Audio Switcher"
+msgstr "Унутрашњи филтери::Промена аудио-запиÑа"
+
+msgctxt "IDD_PPAGEEXTERNALFILTERS"
+msgid "External Filters"
+msgstr "Спољни филтери"
+
+msgctxt "IDD_PPAGESHADERS"
+msgid "Playback::Shaders"
+msgstr "Репродукција::Модули за Ñенчење"
+
+msgctxt "IDS_AUDIOSWITCHER"
+msgid "Audio Switcher"
+msgstr "Промена аудио-запиÑа"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
+msgid "New version of the icon library"
+msgstr "Ðова верзија библиотеке Ñа иконама"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
+msgid "Do you want to reassociate the icons?"
+msgstr "Желите ли да поново повежете иконе?"
+
+msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
+msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
+msgstr "Овим ћете иÑправити иконе које Ñу неиÑправно приказане након ажурирања библиотеке икона.\nПовезаноÑти датотека неће бити промењене, већ ће Ñамо одговарајуће иконе бити ажуриране."
+
+msgctxt "IDS_PPAGE_OUTPUT_OLDRENDERER"
+msgid "Old Video Renderer"
+msgstr "Стари видео-рендерер"
+
+msgctxt "IDS_PPAGE_OUTPUT_OVERLAYMIXER"
+msgid "Overlay Mixer Renderer"
+msgstr "Overlay Mixer Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR7WINDOWED"
+msgid "Video Mixing Renderer 7 (windowed)"
+msgstr "Video Mixing Renderer 7 (у прозору)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9WINDOWED"
+msgid "Video Mixing Renderer 9 (windowed)"
+msgstr "Video Mixing Renderer 9 (у прозору)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR7RENDERLESS"
+msgid "Video Mixing Renderer 7 (renderless)"
+msgstr "Video Mixing Renderer 7 (без рендера)"
+
+msgctxt "IDS_PPAGE_OUTPUT_VMR9RENDERLESS"
+msgid "Video Mixing Renderer 9 (renderless)"
+msgstr "Video Mixing Renderer 9 (без рендера)"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR"
+msgid "Enhanced Video Renderer"
+msgstr "Enhanced Video Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_EVR_CUSTOM"
+msgid "Enhanced Video Renderer (custom presenter)"
+msgstr "Enhanced Video Renderer (прилагођени излагач)"
+
+msgctxt "IDS_PPAGE_OUTPUT_DXR"
+msgid "Haali Video Renderer"
+msgstr "Haali Video Renderer"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Null (Ñве)"
+
+msgctxt "IDS_PPAGE_OUTPUT_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Null (без компримирања)"
+
+msgctxt "IDS_PPAGE_OUTPUT_MADVR"
+msgid "madVR"
+msgstr "madVR"
+
+msgctxt "IDD_PPAGEACCELTBL"
+msgid "Player::Keys"
+msgstr "Плејер::ТаÑтери"
+
+msgctxt "IDD_PPAGESUBSTYLE"
+msgid "Subtitles::Default Style"
+msgstr "Титлови::Подразумевани Ñтил"
+
+msgctxt "IDD_PPAGEINTERNALFILTERS"
+msgid "Internal Filters"
+msgstr "Унутрашњи филтери"
+
+msgctxt "IDD_PPAGELOGO"
+msgid "Player::Logo"
+msgstr "Плејер::Логотип"
+
+msgctxt "IDD_PPAGEOUTPUT"
+msgid "Playback::Output"
+msgstr "Репродукција::Излаз"
+
+msgctxt "IDD_PPAGEWEBSERVER"
+msgid "Player::Web Interface"
+msgstr "Плејер::Веб-интерфејÑ"
+
+msgctxt "IDD_PPAGESUBDB"
+msgid "Subtitles::Database"
+msgstr "Титлови::База"
+
+msgctxt "IDD_FILEPROPRES"
+msgid "Resources"
+msgstr "РеÑурÑи"
+
+msgctxt "IDD_PPAGEMISC"
+msgid "Miscellaneous"
+msgstr "Разно"
+
+msgctxt "IDD_FILEMEDIAINFO"
+msgid "MediaInfo"
+msgstr "MediaInfo"
+
+msgctxt "IDD_PPAGECAPTURE"
+msgid "Playback::Capture"
+msgstr "Репродукција::Снимање"
+
+msgctxt "IDD_PPAGESYNC"
+msgid "Playback::Sync Renderer Settings"
+msgstr "Репродукција::Sync Renderer"
+
+msgctxt "IDD_PPAGEFULLSCREEN"
+msgid "Playback::Fullscreen"
+msgstr "Репродукција::Цео екран"
+
+msgctxt "IDD_FILEPROPDETAILS"
+msgid "Details"
+msgstr "Подаци"
+
+msgctxt "IDD_FILEPROPCLIP"
+msgid "Clip"
+msgstr "Клип"
+
+msgctxt "IDC_DSSYSDEF"
+msgid "Default video renderer filter for DirectShow. Others will fall back to this one when they can't be loaded for some reason. On Windown XP this is the same as VMR-7 (windowed)."
+msgstr "Подразумевани филтер DirectShow-а за рендеровање видео-запиÑа. Други филтери ће прећи на овај уколико дође до грешке. Ðа Windows XP-у, овај филтер је иÑти као VMR-7 (у прозору)."
+
+msgctxt "IDC_DSOLD"
+msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
+msgstr "Ово је подразумевани рендерер ОС Windows 9x/ME/2000. У завиÑноÑти од видљивоÑти прозора за видео и могућноÑти ваше графичке картице, режими за рендеровање ће Ñе динамички мењати."
+
+msgctxt "IDC_DSOVERLAYMIXER"
+msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
+msgstr "Увек рендерује методом прекривања. Обично Ñу доÑтупни Ñамо YUV формати, али Ñу они приказани директно, без претварања боје у RGB. Ово је најбржи начин рендеровања од Ñвих и једини који гарантује ваљано преÑликавање видео-запиÑа у режиму целог екрана на друге уређаје."
+
+msgctxt "IDC_DSVMR7WIN"
+msgid "The default renderer of Windows XP. Very stable and just a little slower than the Overlay mixer. Uses DirectDraw and runs in Overlay when it can."
+msgstr "Подразумевани рендерер Windows XP-а. Веома Ñтабилан и мало Ñпорији од Overlay Mixer-а. КориÑти DirectDraw и прекривање, када је то могуће."
+
+msgctxt "IDC_DSVMR9WIN"
+msgid "Only available if you have DirectX 9 installed. Has the same abilities as VMR-7 (windowed), but it will never use Overlay rendering and because of this it may be a little slower than VMR-7 (windowed)."
+msgstr "ДоÑтупно Ñамо ако инÑталирате DirectX 9. Има иÑте могућноÑти као VMR-7 (у прозору), али никад не рендерује методом прекривања. Због тога може бити Ñпорији од рендерера VMR-7 (у прозору)."
+
+msgctxt "IDC_DSVMR7REN"
+msgid "Same as the VMR-7 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring WILL NOT work. \"True Color\" desktop color space recommended."
+msgstr "ИÑто као VMR-7 (у прозору), али Ñа додатком додељивач-излагач за титловање. ПреÑликавање прекривајућег видео-запиÑа неће радити. Препоручује Ñе да активирате пун Ñпектар боја."
+
+msgctxt "IDC_DSVMR9REN"
+msgid "Same as the VMR-9 (windowed), but with the Allocator-Presenter plugin of MPC-HC for subtitling. Overlay video mirroring MIGHT work. \"True Color\" desktop color space recommended. Recommended for Windows XP."
+msgstr "ИÑто као VMR-9 (у прозору), али Ñа додатком додељивач-излагач за титловање. ПреÑликавање прекривајућег видео-запиÑа ће можда радити. Препоручује Ñе да активирате пун Ñпектар боја. Погодно за ОС Windows XP."
+
+msgctxt "IDC_DSDXR"
+msgid "Same as the VMR-9 (renderless), but uses a true two-pass bicubic resizer."
+msgstr "ИÑто као и VMR-9 (без рендера), али кориÑти двопролазни бикубни модул за промену величине."
+
+msgctxt "IDC_DSNULL_COMP"
+msgid "Connects to any video-like media type and will send the incoming samples to nowhere. Use it when you don't need the video display and want to save the cpu from working unnecessarily."
+msgstr "Повезује Ñе Ñа било којим медијем попут видео-запиÑа и нигде не шаље долазне узорке. КориÑтите када вам није потребан приказ видеа у Ñврху штење процеÑорÑке Ñнаге."
+
+msgctxt "IDC_DSNULL_UNCOMP"
+msgid "Same as the normal Null renderer, but this will only connect to uncompressed types."
+msgstr "ИÑти као и обичан Null рендерер, али овај ће Ñе повезати Ñамо Ñа некомпримираним типовима."
+
+msgctxt "IDC_DSEVR"
+msgid "Only available on Vista or later or on XP with at least .NET Framework 3.5 installed."
+msgstr "ДоÑтупно Ñамо на ОС Vista или новијем, или на XP-у Ñа инÑталираним .NET Framework-ом 3.5."
+
+msgctxt "IDC_DSEVR_CUSTOM"
+msgid "Same as the EVR, but with the Allocator-Presenter of MPC-HC for subtitling and postprocessing. Recommended for Windows Vista or later."
+msgstr "ИÑто као EVR, али Ñа додатком додељивач-излагач за титловање и накнадну обраду. Погодно за ОС Windows Vista или новији."
+
+msgctxt "IDC_DSMADVR"
+msgid "High-quality renderer, requires a GPU that supports D3D9 or later."
+msgstr "ВиÑококвалитетни рендерер захтева GPU који подржава D3D9 или новији."
+
+msgctxt "IDC_DSSYNC"
+msgid "Same as the EVR (CP), but offers several options to synchronize the video frame rate with the display refresh rate to eliminate skipped or duplicated video frames."
+msgstr "ИÑто као EVR (CP), али пружа поједине опције за Ñинхронизовање учеÑталоÑти кадрова Ñа учеÑталошћу оÑвежавања екрана ради елиминиÑања преÑкочених или двоÑтруких видео-кадрова."
+
+msgctxt "IDC_RMSYSDEF"
+msgid "Real's own renderer. SMIL scripts will work, but interaction not likely. Uses DirectDraw and runs in Overlay when it can."
+msgstr "СопÑтвени рендерер RealMedia формата. SMIL Ñкрипти ће радити, али интеракција вероватно неће. КориÑти DirectDraw и прекривање, када је то могуће."
+
+msgctxt "IDC_RMDX7"
+msgid "The output of Real's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "Излаз модула RealMedia који је обрађен помоћу додатка додељивач-излагач у VMR-7 (без рендера)."
+
+msgctxt "IDC_RMDX9"
+msgid "The output of Real's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Излаз модула RealMedia који је обрађен помоћу додатка додељивач-излагач у VMR-9 (без рендера)."
+
+msgctxt "IDC_QTSYSDEF"
+msgid "QuickTime's own renderer. Gets a little slow when its video area is resized or partially covered by another window. When Overlay is not available it likes to fall back to GDI."
+msgstr "СопÑтвени рендерер QuickTime формата. Може уÑпорити приликом промене величине прозора за видео или његовог делимичног покривања. Када није доÑтупан Overlay, кориÑти Ñе GDI."
+
+msgctxt "IDC_QTDX7"
+msgid "The output of QuickTime's engine rendered by the DX7-based Allocator-Presenter of VMR-7 (renderless)."
+msgstr "Излаз модула QuickTime-а који је обрађен помоћу додатка додељивач-излагач у VMR-7 (без рендера)."
+
+msgctxt "IDC_QTDX9"
+msgid "The output of QuickTime's engine rendered by the DX9-based Allocator-Presenter of VMR-9 (renderless)."
+msgstr "Излаз модула QuickTime-а који је обрађен помоћу додатка додељивач-излагач у VMR-9 (без рендера)."
+
+msgctxt "IDC_REGULARSURF"
+msgid "Video surface will be allocated as a regular offscreen surface."
+msgstr "Површина за видео ће бити додељена као обична површина ван екрана."
+
+msgctxt "IDC_AUDRND_COMBO"
+msgid "MPC Audio Renderer is broken, do not use."
+msgstr "MPC Audio Renderer је неиÑправан. Ðе кориÑтите га."
+
+msgctxt "IDS_PPAGE_OUTPUT_SYNC"
+msgid "Sync Renderer"
+msgstr "Sync Renderer"
+
+msgctxt "IDS_MPC_BUG_REPORT_TITLE"
+msgid "MPC-HC - Reporting a bug"
+msgstr "MPC-HC – пријављивање грешке"
+
+msgctxt "IDS_MPC_BUG_REPORT"
+msgid "MPC-HC just crashed but this build was compiled without debug information.\nIf you want to report this bug, you should first try an official build.\n\nDo you want to visit the download page now?"
+msgstr "Дошло је до пада MPC-HC-а. Ова верзија је издата без модула за отклањање грешака.\nÐко желите да пријавите ову грешку, инÑталирајте званичну верзију.\n\nЖелите ли да поÑетите Ñтраницу за преузимање програма?"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
+msgid "Regular offscreen plain surface"
+msgstr "Обична површина ван екрана"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_2D"
+msgid "2D surfaces"
+msgstr "2D површина"
+
+msgctxt "IDS_PPAGE_OUTPUT_SURF_3D"
+msgid "3D surfaces (recommended)"
+msgstr "3D површина (препоручује Ñе)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
+msgid "Nearest neighbor"
+msgstr "најближи ÑуÑед"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
+msgid "Bilinear"
+msgstr "билинеарна"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BIL_PS"
+msgid "Bilinear (PS 2.0)"
+msgstr "билинеарна (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB1"
+msgid "Bicubic A=-0.60 (PS 2.0)"
+msgstr "бикубна A=-0.60 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB2"
+msgid "Bicubic A=-0.75 (PS 2.0)"
+msgstr "бикубна A=-0.75 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BICUB3"
+msgid "Bicubic A=-1.00 (PS 2.0)"
+msgstr "бикубна A=-1.00 (PS 2.0)"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLE"
+msgid "**unavailable**"
+msgstr "**недоÑтупно**"
+
+msgctxt "IDS_PPAGE_OUTPUT_UNAVAILABLEMSG"
+msgid "The selected renderer is not installed."
+msgstr "Изабрани рендерер није инÑталиран."
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_COMP"
+msgid "Null (anything)"
+msgstr "Null (Ñве)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_NULL_UNCOMP"
+msgid "Null (uncompressed)"
+msgstr "Null (без компримирања)"
+
+msgctxt "IDS_PPAGE_OUTPUT_AUD_MPC_HC_REND"
+msgid "MPC-HC Audio Renderer"
+msgstr "MPC-HC Audio Renderer"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_NAME"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_TYPE"
+msgid "MIME Type"
+msgstr "MIME тип"
+
+msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
+msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
+msgstr "Да биÑте видели уграђени реÑÑƒÑ€Ñ Ñƒ прегледачу, потребно је да омогућите веб-интерфејÑ.\n\nКликните на дугме „Сачувај као“ ако Ñамо желите да Ñачувате информацију."
+
+msgctxt "IDS_DOWNLOAD_SUBS"
+msgid "Download subtitles"
+msgstr "Преузми титл"
+
+msgctxt "IDS_SUBFILE_DELAY"
+msgid "Delay (ms):"
+msgstr "Кашњење (мÑ):"
+
+msgctxt "IDS_SPEEDSTEP_AUTO"
+msgid "Auto"
+msgstr "аутом."
+
+msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
+msgid "There are no customized keys to export."
+msgstr "Ðема прилагођених таÑтера за извоз."
+
+msgctxt "IDS_RFS_NO_FILES"
+msgid "No media files found in the archive"
+msgstr "У архиви нема медијÑких датотека"
+
+msgctxt "IDS_RFS_COMPRESSED"
+msgid "Compressed files are not supported"
+msgstr "Компримиране датотеке ниÑу подржане"
+
+msgctxt "IDS_RFS_ENCRYPTED"
+msgid "Encrypted files are not supported"
+msgstr "Шифроване датотеке ниÑу подржане"
+
+msgctxt "IDS_RFS_MISSING_VOLS"
+msgid "Couldn't find all archive volumes"
+msgstr "Ðе могу да пронађем Ñве волумене архиве"
+
+msgctxt "IDC_TEXTURESURF2D"
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Површина за видео ће бити додељена као текÑтура, али за раÑтезање и копирање видео-запиÑа у позадинÑки бафер и даље ће Ñе кориÑтити 2D функција. Захтева графичку картицу која може да додели 32-битне RGBA и NPOT текÑтуре у резолуцији видео-запиÑа."
+
+msgctxt "IDC_TEXTURESURF3D"
+msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
+msgstr "Површина за видео ће бити додељена као текÑтура и нацртана као два троугла у 3D-у. Уклањање назубљеноÑти може да има лош утицај на брзину рендеровања."
+
+msgctxt "IDC_DX9RESIZER_COMBO"
+msgid "If there is no Pixel Shader 2.0 support, simple bilinear is used automatically."
+msgstr "Ðко нема подршке за Pixel Shader 2.0, кориÑтиће Ñе билинеарни филтер."
+
+msgctxt "IDC_DSVMR9LOADMIXER"
+msgid "Puts VMR-9 (renderless) into mixer mode, this means most of the controls on its property page will work and it will use a separate worker thread to renderer frames."
+msgstr "Додаје VMR-9 (без рендера) у режим микÑера. Ово значи да ће већина контрола на Ñтраници Ñа ÑвојÑтвима радити; биће коришћена и поÑебна радна нит за рендеровање кадрова."
+
+msgctxt "IDC_DSVMR9YUVMIXER"
+msgid "Improves performance at the cost of some compatibility of the renderer."
+msgstr "Побољшава перформанÑе на рачун компатибилноÑти рендерера."
+
+msgctxt "IDC_FULLSCREEN_MONITOR_CHECK"
+msgid "Reduces tearing but prevents the toolbar from being shown."
+msgstr "Смањује цепање Ñлике, али Ñакрива траку Ñа алаткама."
+
+msgctxt "IDC_DSVMR9ALTERNATIVEVSYNC"
+msgid "Reduces tearing by bypassing the default VSync built into D3D."
+msgstr "Смањује цепање Ñлике заобилажењем вертикалне Ñинхронизације уграђене у D3D."
+
+msgctxt "IDS_SRC_VTS"
+msgid "Open VTS_xx_0.ifo to load VTS_xx_x.vob files in one piece"
+msgstr "Отвори VTS_xx_0.ifo ради учитавања VTS_xx_x.vob датотека из једног дела"
+
+msgctxt "IDS_SRC_RFS"
+msgid "Based on RARFileSource, doesn't support compressed files"
+msgstr "ЗаÑновано на RARFileSource-у. Ðе подржава компримиране датотеке"
+
+msgctxt "IDS_INTERNAL_LAVF"
+msgid "Uses LAV Filters"
+msgstr "КориÑти LAV Filters"
+
+msgctxt "IDS_INTERNAL_LAVF_WMV"
+msgid "Uses LAV Filters. Disabled by default since Microsoft filters are usually more stable for those formats.\nIf you choose to use the internal filters, enable them for both source and decoding to have a better playback experience."
+msgstr "КориÑти LAV Filters. Онемогућено по подразумеваном јер Ñу Microsoft-ови филтери обично Ñтабилнији за дате формате.\nÐко изаберете да кориÑтите унутрашње филтере, омогућите их и за извор и за декодирање ради боље репродукције."
+
+msgctxt "IDS_AG_TOGGLE_NAVIGATION"
+msgid "Toggle Navigation Bar"
+msgstr "Укључи/иÑкључи навигациону траку"
+
+msgctxt "IDS_AG_VSYNCACCURATE"
+msgid "Accurate VSync"
+msgstr "Прецизна вертикална Ñинхронизација"
+
+msgctxt "IDC_CHECK_RELATIVETO"
+msgid "If the rendering target is left undefined, it will be inherited from the default style."
+msgstr "Ðко не наведете циљ рендеровања, он ће бити преузет из подразумеваног Ñтила."
+
+msgctxt "IDC_CHECK_NO_SUB_ANIM"
+msgid "Disallow subtitle animation. Enabling this option will lower CPU usage. You can use it if you experience flashing subtitles."
+msgstr "Спречите анимирање титлова. Ðко омогућите ову опцију, Ñмањићете употребу процеÑора. Можете је кориÑтити ако вам титлови трепте."
+
+msgctxt "IDC_SUBPIC_TO_BUFFER"
+msgid "Increasing the number of buffered subpictures should in general improve the rendering performance at the cost of a higher video RAM usage on the GPU."
+msgstr "Повећавањем броја баферованих подÑлика обично ћете побољшати перформанÑе рендеровања на рачун веће употребе RAM меморије."
+
+msgctxt "IDC_BUTTON_EXT_SET"
+msgid "After clicking this button, the checked state of the format group will reflect the actual file association for MPC-HC. A newly added extension will usually make it grayed, so don't forget to check it again before closing this dialog!"
+msgstr "Ðакон што кликнете на ово дугме, проверено Ñтање групе формата ће одÑликавати Ñтварну повезаноÑÑ‚ датотека за MPC-HC. Ðови наÑтавак ће обично обојити Ñтање у Ñиво, зато не заборавите да га поново проверите пре него што затворите овај дијалог!"
+
+msgctxt "IDC_CHECK_ALLOW_DROPPING_SUBPIC"
+msgid "Disabling this option will prevent the subtitles from blinking but it may cause the video renderer to skip some video frames."
+msgstr "Ðко онемогућите ову опцију, титлови више неће трептати, али може доћи до преÑкакања неких видео-кадрова."
+
+msgctxt "ID_PLAY_PLAY"
+msgid "Play\nPlay"
+msgstr "Репродукуј\nРепродукуј"
+
+msgctxt "ID_PLAY_PAUSE"
+msgid "Pause\nPause"
+msgstr "Паузирај\nПаузирај"
+
+msgctxt "ID_PLAY_STOP"
+msgid "Stop\nStop"
+msgstr "ЗауÑтави\nЗауÑтави"
+
+msgctxt "ID_PLAY_FRAMESTEP"
+msgid "Step\nStep"
+msgstr "По корак\nПо корак"
+
+msgctxt "ID_PLAY_DECRATE"
+msgid "Decrease speed\nDecrease speed"
+msgstr "УÑпори\nУÑпори"
+
+msgctxt "ID_PLAY_INCRATE"
+msgid "Increase speed\nIncrease speed"
+msgstr "Убрзај\nУбрзај"
+
+msgctxt "ID_VOLUME_MUTE"
+msgid "Mute"
+msgstr "ИÑкључи звук"
+
+msgctxt "ID_VOLUME_MUTE_ON"
+msgid "Unmute"
+msgstr "Укључи звук"
+
+msgctxt "ID_VOLUME_MUTE_DISABLED"
+msgid "No audio"
+msgstr "Без звука"
+
+msgctxt "ID_NAVIGATE_SKIPBACK"
+msgid "Skip back\nSkip back"
+msgstr "Уназад\nУназад"
+
+msgctxt "ID_NAVIGATE_SKIPFORWARD"
+msgid "Skip forward\nSkip forward"
+msgstr "Унапред\nУнапред"
+
+msgctxt "IDS_SUBRESYNC_ORIGINAL"
+msgid "&Original"
+msgstr "&Изворни"
+
+msgctxt "IDS_SUBRESYNC_CURRENT"
+msgid "&Current"
+msgstr "&Тренутни"
+
+msgctxt "IDS_SUBRESYNC_EDIT"
+msgid "&Edit"
+msgstr "&Уреди"
+
+msgctxt "IDS_SUBRESYNC_YES"
+msgid "&Yes"
+msgstr "&Да"
+
+msgctxt "IDS_SUBRESYNC_NO"
+msgid "&No"
+msgstr "&Ðе"
+
+msgctxt "IDS_SUBRESYNC_DECREASE"
+msgid "&Decrease"
+msgstr "&Смањи"
+
+msgctxt "IDS_SUBRESYNC_INCREASE"
+msgid "&Increase"
+msgstr "&Повећај"
+
+msgctxt "IDS_OPTIONS_CAPTION"
+msgid "Options"
+msgstr "Опције"
+
+msgctxt "IDS_SHADERS_SELECT"
+msgid "&Select Shaders..."
+msgstr "&Изабери модуле…"
+
+msgctxt "IDS_SHADERS_DEBUG"
+msgid "&Debug Shaders..."
+msgstr "&Отклони грешке…"
+
+msgctxt "IDS_FAVORITES_ADD"
+msgid "&Add to Favorites..."
+msgstr "&Додај…"
+
+msgctxt "IDS_FAVORITES_ORGANIZE"
+msgid "&Organize Favorites..."
+msgstr "&Организуј…"
+
+msgctxt "IDS_PLAYLIST_SHUFFLE"
+msgid "Shuffle"
+msgstr "Ме&шање"
+
+msgctxt "IDS_PLAYLIST_SHOWFOLDER"
+msgid "Open file location"
+msgstr "Отвори &локацију датотеке"
+
+msgctxt "IDS_CONTROLS_CLOSING"
+msgid "Closing..."
+msgstr "Затварам…"
+
+msgctxt "IDS_CONTROLS_PLAYING"
+msgid "Playing"
+msgstr "Репродукује Ñе"
+
+msgctxt "IDS_CONTROLS_PAUSED"
+msgid "Paused"
+msgstr "Паузирано"
+
+msgctxt "IDS_AG_EDL_NEW_CLIP"
+msgid "EDL new clip"
+msgstr "EDL – нови клип"
+
+msgctxt "IDS_RECENT_FILES_CLEAR"
+msgid "&Clear list"
+msgstr "&ОчиÑти ÑпиÑак"
+
+msgctxt "IDS_RECENT_FILES_QUESTION"
+msgid "Are you sure that you want to delete recent files list?"
+msgstr "ЗаиÑта желите да обришете ÑпиÑак Ñкорашњих датотека?"
+
+msgctxt "IDS_AG_EDL_SAVE"
+msgid "EDL save"
+msgstr "EDL – Ñачувај"
+
+msgctxt "IDS_AG_ENABLEFRAMETIMECORRECTION"
+msgid "Enable Frame Time Correction"
+msgstr "ИÑправљање времена кадрова"
+
+msgctxt "IDS_AG_TOGGLE_EDITLISTEDITOR"
+msgid "Toggle EDL window"
+msgstr "Отвори/затвори прозор EDL-а"
+
+msgctxt "IDS_AG_EDL_IN"
+msgid "EDL set In"
+msgstr "EDL – поÑтави изнутра"
+
+msgctxt "IDS_AG_EDL_OUT"
+msgid "EDL set Out"
+msgstr "EDL – поÑтави Ñпоља"
+
+msgctxt "IDS_AG_PNS_ROTATEX_M"
+msgid "PnS Rotate X-"
+msgstr "Ротирај кадар по оÑи X-"
+
+msgctxt "IDS_AG_PNS_ROTATEY_P"
+msgid "PnS Rotate Y+"
+msgstr "Ротирај кадар по оÑи Y+"
+
+msgctxt "IDS_AG_PNS_ROTATEY_M"
+msgid "PnS Rotate Y-"
+msgstr "Ротирај кадар по оÑи Y-"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_P"
+msgid "PnS Rotate Z+"
+msgstr "Ротирај кадар по оÑи Z+"
+
+msgctxt "IDS_AG_PNS_ROTATEZ_M"
+msgid "PnS Rotate Z-"
+msgstr "Ротирај кадар по оÑи Z-"
+
+msgctxt "IDS_AG_TEARING_TEST"
+msgid "Tearing Test"
+msgstr "ТеÑÑ‚ на цепање Ñлике"
+
+msgctxt "IDS_SCALE_16_9"
+msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+msgstr "ПодеÑи размеру на 16:9 TV,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_WIDESCREEN"
+msgid "Zoom To Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Зумирај за широки екран,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_SCALE_ULTRAWIDE"
+msgid "Zoom To Ultra-Widescreen,%.3f,%.3f,%.3f,%.3f"
+msgstr "Зумирај за ултрашироки екран,%.3f,%.3f,%.3f,%.3f"
+
+msgctxt "IDS_PLAYLIST_HIDEFS"
+msgid "Hide on Fullscreen"
+msgstr "Сакриј у режиму &целог екрана"
+
+msgctxt "IDS_CONTROLS_STOPPED"
+msgid "Stopped"
+msgstr "ЗауÑтављено"
+
+msgctxt "IDS_CONTROLS_BUFFERING"
+msgid "Buffering... (%d%%)"
+msgstr "Стављам у бафер… (%d%%)"
+
+msgctxt "IDS_CONTROLS_CAPTURING"
+msgid "Capturing..."
+msgstr "Снимам…"
+
+msgctxt "IDS_CONTROLS_OPENING"
+msgid "Opening..."
+msgstr "Отварам…"
+
+msgctxt "IDS_CONTROLS_CLOSED"
+msgid "Closed"
+msgstr "Затворено"
+
+msgctxt "IDS_SUBTITLES_OPTIONS"
+msgid "&Options..."
+msgstr "&Опције…"
+
+msgctxt "IDS_SUBTITLES_STYLES"
+msgid "&Styles..."
+msgstr "&Стилови…"
+
+msgctxt "IDS_SUBTITLES_RELOAD"
+msgid "&Reload"
+msgstr "&Поново учитај"
+
+msgctxt "IDS_SUBTITLES_ENABLE"
+msgid "&Enable"
+msgstr "О&могући"
+
+msgctxt "IDS_PANSCAN_EDIT"
+msgid "&Edit..."
+msgstr "&Уреди…"
+
+msgctxt "IDS_INFOBAR_TITLE"
+msgid "Title"
+msgstr "ÐаÑлов"
+
+msgctxt "IDS_INFOBAR_AUTHOR"
+msgid "Author"
+msgstr "Ðутор"
+
+msgctxt "IDS_INFOBAR_COPYRIGHT"
+msgid "Copyright"
+msgstr "Ðутор. права"
+
+msgctxt "IDS_INFOBAR_RATING"
+msgid "Rating"
+msgstr "Оцена"
+
+msgctxt "IDS_INFOBAR_DESCRIPTION"
+msgid "Description"
+msgstr "ОпиÑ"
+
+msgctxt "IDS_INFOBAR_DOMAIN"
+msgid "Domain"
+msgstr "Домен"
+
+msgctxt "IDS_AG_CLOSE"
+msgid "Close"
+msgstr "Затвори"
+
+msgctxt "IDS_AG_NONE"
+msgid "None"
+msgstr "нема"
+
+msgctxt "IDS_AG_COMMAND"
+msgid "Command"
+msgstr "Команда"
+
+msgctxt "IDS_AG_KEY"
+msgid "Key"
+msgstr "ТаÑтер"
+
+msgctxt "IDS_AG_MOUSE"
+msgid "Mouse Windowed"
+msgstr "Миш у прозору"
+
+msgctxt "IDS_AG_MOUSE_FS"
+msgid "Mouse Fullscreen"
+msgstr "Миш на целом екрану"
+
+msgctxt "IDS_AG_APP_COMMAND"
+msgid "App Command"
+msgstr "Команда програма"
+
+msgctxt "IDS_AG_MEDIAFILES"
+msgid "Media files (all types)"
+msgstr "МедијÑке датотеке (Ñви типови)"
+
+msgctxt "IDS_AG_ALLFILES"
+msgid "All files (*.*)|*.*|"
+msgstr "Све датотеке (*.*)|*.*|"
+
+msgctxt "IDS_AG_AUDIOFILES"
+msgid "Audio files (all types)"
+msgstr "Ðудио-датотеке (Ñви типови)"
+
+msgctxt "IDS_AG_NOT_KNOWN"
+msgid "Not known"
+msgstr "Ðепознато"
+
+msgctxt "IDS_MPLAYERC_0"
+msgid "Quick Open File"
+msgstr "Брзо отвори датотеку"
+
+msgctxt "IDS_AG_OPEN_FILE"
+msgid "Open File"
+msgstr "Отвори датотеку"
+
+msgctxt "IDS_AG_OPEN_DVD"
+msgid "Open DVD/BD"
+msgstr "Отвори DVD/BD"
+
+msgctxt "IDS_MAINFRM_POST_SHADERS_FAILED"
+msgid "Failed to set post-resize shaders"
+msgstr "Ðе могу да поÑтавим модуле за Ñенчење који Ñе извршавају након промене величине"
+
+msgctxt "IDS_MAINFRM_BOTH_SHADERS_FAILED"
+msgid "Failed to set both pre-resize and post-resize shaders"
+msgstr "Ðе могу да поÑтавим модуле за Ñенчење који Ñе извршавају пре промене величине и након ње"
+
+msgctxt "IDS_DEBUGSHADERS_FIRSTRUN_MSG"
+msgid "Shaders are recompiled automatically when the corresponding files are modified."
+msgstr "Модули за Ñенчење Ñе аутоматÑки компилирају када дође до промене одговарајућих датотека."
+
+msgctxt "IDS_SHADER_DLL_ERR_0"
+msgid "Cannot load %s, pixel shaders will not work."
+msgstr "Ðе могу да учитам %s. Модули за Ñенчење пикÑела неће радити."
+
+msgctxt "IDS_SHADER_DLL_ERR_1"
+msgid "Cannot find necessary function entry points in %s, pixel shaders will not work."
+msgstr "Ðе могу да пронађем потребне улазне тачке функције у %s. Модули за Ñенчење пикÑела неће радити."
+
+msgctxt "IDS_OSD_SHADERS_PRESET"
+msgid "Shader preset: %s"
+msgstr "Шаблон модула за Ñенчење: %s"
+
+msgctxt "IDS_AG_SHADERS_PRESET_NEXT"
+msgid "Next Shader Preset"
+msgstr "Следећи шаблон модула за Ñенчење"
+
+msgctxt "IDS_AG_SHADERS_PRESET_PREV"
+msgid "Prev Shader Preset"
+msgstr "Претходни шаблон модула за Ñенчење"
+
+msgctxt "IDS_STRING_COLON"
+msgid "%s:"
+msgstr "%s:"
+
+msgctxt "IDS_RECORD_START"
+msgid "Record"
+msgstr "Сними"
+
+msgctxt "IDS_RECORD_STOP"
+msgid "Stop"
+msgstr "ЗауÑтави"
+
+msgctxt "IDS_BALANCE"
+msgid "L = R"
+msgstr "Л = Д"
+
+msgctxt "IDS_BALANCE_L"
+msgid "L +%d%%"
+msgstr "Л +%d%%"
+
+msgctxt "IDS_BALANCE_R"
+msgid "R +%d%%"
+msgstr "Д +%d%%"
+
+msgctxt "IDS_VOLUME"
+msgid "%d%%"
+msgstr "%d%%"
+
+msgctxt "IDS_BOOST"
+msgid "+%d%%"
+msgstr "+%d%%"
+
+msgctxt "IDS_PLAYLIST_ADDFOLDER"
+msgid "Add containing folder"
+msgstr "Додај &фаÑциклу Ñа Ñадржајем"
+
+msgctxt "IDS_HW_INDICATOR"
+msgid "[H/W]"
+msgstr "[H/W]"
+
+msgctxt "IDS_TOOLTIP_SOFTWARE_DECODING"
+msgid "Software Decoding"
+msgstr "СофтверÑко декодирање"
+
+msgctxt "IDS_STATSBAR_PLAYBACK_RATE"
+msgid "Playback rate"
+msgstr "Брзина репродукције"
+
+msgctxt "IDS_FILTERS_COPY_TO_CLIPBOARD"
+msgid "&Copy filters list to clipboard"
+msgstr "&Копирај ÑпиÑак филтера"
+
+msgctxt "IDS_CREDENTIALS_SERVER"
+msgid "Enter server credentials"
+msgstr "УнеÑите податке за пријаву на Ñервер"
+
+msgctxt "IDS_CREDENTIALS_CONNECT"
+msgid "Enter your credentials to connect"
+msgstr "УнеÑите податке за пријаву ради повезивања"
+
+msgctxt "IDS_SUB_SAVE_EXTERNAL_STYLE_FILE"
+msgid "Save custom style"
+msgstr "Сачувај прилагођени Ñтил"
+
+msgctxt "IDS_CONTENT_EDUCATION_SCIENCE"
+msgid "Education/Science/Factual topics"
+msgstr "Образовање/наука/Ñтручне теме"
+
+msgctxt "IDS_PPAGEADVANCED_HIDE_WINDOWED"
+msgid "Hides controls and panels also in windowed mode."
+msgstr "Сакрива контроле и панеле и у режиму прозора."
+
+msgctxt "IDS_PPAGEADVANCED_BLOCK_VSFILTER"
+msgid "Prevent external subtitle renderer to be loaded when internal is in use."
+msgstr "Спречите учитавање Ñпољног рендерера титлова док Ñе кориÑти унутрашњи."
+
+msgctxt "IDS_PPAGEADVANCED_COL_NAME"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "IDS_PPAGEADVANCED_COL_VALUE"
+msgid "Value"
+msgstr "ВредноÑÑ‚"
+
+msgctxt "IDS_PPAGEADVANCED_RECENT_FILES_NUMBER"
+msgid "Maximum number of files shown in the \"Recent files\" menu and for which the position is potentially saved."
+msgstr "МакÑималан број датотека у менију „Скорашње датотеке“."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_LONGER"
+msgid "Remember file position only for files longer than N minutes."
+msgstr "Запамтите позицију Ñамо датотекама дужим од N минута."
+
+msgctxt "IDS_PPAGEADVANCED_FILE_POS_AUDIO"
+msgid "Remember file position also for audio files."
+msgstr "Запамтите позицију и за аудио-датотеке."
+
+msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
+msgid "Do Nothing"
+msgstr "Ðе ради ништа"
+
+msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
+msgid "Play next file in the folder"
+msgstr "ПуÑти Ñледећу датотеку у фаÑцикли"
+
+msgctxt "IDS_AFTER_PLAYBACK_REWIND"
+msgid "Rewind current file"
+msgstr "Премотај тренутну датотеку"
+
+msgctxt "IDS_AFTER_PLAYBACK_CLOSE"
+msgid "Close"
+msgstr "Затвори"
+
+msgctxt "IDS_AFTER_PLAYBACK_EXIT"
+msgid "Exit"
+msgstr "Изађи из програма"
+
+msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
+msgid "Turn off the monitor"
+msgstr "ИÑкључи монитор"
+
+msgctxt "IDS_IMAGE_JPEG_QUALITY"
+msgid "JPEG Image"
+msgstr "JPEG Ñлика"
+
+msgctxt "IDS_IMAGE_QUALITY"
+msgid "Quality (%):"
+msgstr "Квалитет (%):"
+
+msgctxt "IDS_PPAGEADVANCED_COVER_SIZE_LIMIT"
+msgid "Maximum size (NxNpx) of a cover-art loaded in the audio only mode."
+msgstr "МакÑимална величина (NxNpx) омота у режиму репродукције звука."
+
+msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
+msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
+msgstr "Кашњење титла ће бити Ñмањено/повећано овом вредношћу Ñваки пут када притиÑнете одговарајуће пречице на таÑтатури (%s/%s)."
+
+msgctxt "IDS_HOTKEY_NOT_DEFINED"
+msgid "<not defined>"
+msgstr "<није дефиниÑано>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Погледај"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Помери нагоре"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Помери надоле"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Сортирај по LCN-у"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Уклони Ñве"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "ЗаиÑта желите да обришете Ñве канале Ñа ÑпиÑка?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Ðема доÑтупних информација"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Ðнализирам…"
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
+msgctxt "IDS_AG_OPEN_DEVICE"
+msgid "Open Device"
+msgstr "Отвори уређај"
+
+msgctxt "IDS_AG_SAVE_AS"
+msgid "Save As"
+msgstr "Чување"
+
+msgctxt "IDS_AG_SAVE_IMAGE"
+msgid "Save Image"
+msgstr "Сачувај Ñлику"
+
+msgctxt "IDS_MPLAYERC_6"
+msgid "Save Image (auto)"
+msgstr "Сачувај Ñлику (аутоматÑки)"
+
+msgctxt "IDS_OSD_IMAGE_SAVED"
+msgid "Image saved successfully"
+msgstr "Слика је уÑпешно Ñачувана"
+
+msgctxt "IDS_AG_LOAD_SUBTITLE"
+msgid "Load Subtitle"
+msgstr "Учитај титл"
+
+msgctxt "IDS_AG_SAVE_SUBTITLE"
+msgid "Save Subtitle"
+msgstr "Сачувај титл"
+
+msgctxt "IDS_AG_PROPERTIES"
+msgid "Properties"
+msgstr "СвојÑтва"
+
+msgctxt "IDS_AG_EXIT"
+msgid "Exit"
+msgstr "Изађи из програма"
+
+msgctxt "IDS_AG_PLAYPAUSE"
+msgid "Play/Pause"
+msgstr "Репродукуј/паузирај"
+
+msgctxt "IDS_AG_PLAY"
+msgid "Play"
+msgstr "Репродукуј"
+
+msgctxt "IDS_AG_STOP"
+msgid "Stop"
+msgstr "ЗауÑтави"
+
+msgctxt "IDS_AG_FRAMESTEP"
+msgid "Framestep"
+msgstr "Корак унапред"
+
+msgctxt "IDS_MPLAYERC_16"
+msgid "Framestep back"
+msgstr "Корак уназад"
+
+msgctxt "IDS_AG_GO_TO"
+msgid "Go To"
+msgstr "Пређи на"
+
+msgctxt "IDS_AG_INCREASE_RATE"
+msgid "Increase Rate"
+msgstr "Убрзај"
+
+msgctxt "IDS_CONTENT_SHOW_GAMESHOW"
+msgid "Show/Game show"
+msgstr "Шоу / играни шоу"
+
+msgctxt "IDS_CONTENT_SPORTS"
+msgid "Sports"
+msgstr "Спорт"
+
+msgctxt "IDS_CONTENT_CHILDREN_YOUTH_PROG"
+msgid "Children's/Youth programmes"
+msgstr "Дечји програм / програм за младе"
+
+msgctxt "IDS_CONTENT_MUSIC_BALLET_DANCE"
+msgid "Music/Ballet/Dance"
+msgstr "Музика/балет/плеÑ"
+
+msgctxt "IDS_CONTENT_MUSIC_ART_CULTURE"
+msgid "Arts/Culture"
+msgstr "УметноÑÑ‚/култура"
+
+msgctxt "IDS_CONTENT_SOCIAL_POLITICAL_ECO"
+msgid "Social/Political issues/Economics"
+msgstr "Друштвено-политички проблеми/економија"
+
+msgctxt "IDS_CONTENT_LEISURE"
+msgid "Leisure hobbies"
+msgstr "Слободно време и забава"
+
+msgctxt "IDS_FILE_RECYCLE"
+msgid "Move to Recycle Bin"
+msgstr "Пр&емеÑти у корпу за отпатке"
+
+msgctxt "IDS_AG_SAVE_COPY"
+msgid "Save a Copy"
+msgstr "Сачувај копију"
+
+msgctxt "IDS_FASTSEEK_LATEST"
+msgid "Latest keyframe"
+msgstr "поÑледњи кључни кадар"
+
+msgctxt "IDS_FASTSEEK_NEAREST"
+msgid "Nearest keyframe"
+msgstr "најближи кључни кадар"
+
+msgctxt "IDS_HOOKS_FAILED"
+msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
+msgstr "Дошло је до проблема при покретању. Репродуковање DVD-а можда неће иÑправно радити. Разлог томе је вероватно некомпатибилни безбедноÑни Ñофтвер.\n\nЖелите ли да пријавите грешку?"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
+msgid "Never show"
+msgstr "Ðикад не приказуј"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOWMOVED"
+msgid "Show when moving the cursor, hide after:"
+msgstr "Прикажи приликом померања курÑора, Ñакриј након:"
+
+msgctxt "IDS_PPAGEFULLSCREEN_SHOHHOVERED"
+msgid "Show when hovering control, hide after:"
+msgstr "Прикажи приликом задржавања курÑора над контролом, Ñакриј након:"
+
+msgctxt "IDS_MAINFRM_PRE_SHADERS_FAILED"
+msgid "Failed to set pre-resize shaders"
+msgstr "Ðе могу да поÑтавим модуле за Ñенчење који Ñе извршавају пре промене величине"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_ON"
+msgid "Frame Time Correction: On"
+msgstr "ИÑправљање времена кадрова: укључено"
+
+msgctxt "IDS_OSD_RS_FT_CORRECTION_OFF"
+msgid "Frame Time Correction: Off"
+msgstr "ИÑправљање времена кадрова: иÑкључено"
+
+msgctxt "IDS_OSD_RS_TARGET_VSYNC_OFFSET"
+msgid "Target VSync Offset: %.1f"
+msgstr "Циљни помак вертикалне Ñинхронизације: %.1f"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFFSET"
+msgid "VSync Offset: %d"
+msgstr "Помак вертикалне Ñинхронизације: %d"
+
+msgctxt "IDS_OSD_SPEED"
+msgid "Speed: %.2lfx"
+msgstr "Брзина: %.2lfx"
+
+msgctxt "IDS_OSD_THUMBS_SAVED"
+msgid "Thumbnails saved successfully"
+msgstr "Сличице Ñу уÑпешно Ñачуване"
+
+msgctxt "IDS_MENU_VIDEO_STREAM"
+msgid "&Video Stream"
+msgstr "Ток &видео-запиÑа"
+
+msgctxt "IDS_MENU_VIDEO_ANGLE"
+msgid "Video Ang&le"
+msgstr "&Угао видео-запиÑа"
+
+msgctxt "IDS_RESET_SETTINGS"
+msgid "Reset settings"
+msgstr "Врати подразумеване поÑтавке"
+
+msgctxt "IDS_RESET_SETTINGS_WARNING"
+msgid "Are you sure you want to restore MPC-HC to its default settings?\nBe warned that ALL your current settings will be lost!"
+msgstr "ЗаиÑта желите да уÑпоÑтавите почетне вредноÑти MPC-HC-а?\nИмајте на уму да ће Ñве тренутне поÑтавке бити изгубљене!"
+
+msgctxt "IDS_RESET_SETTINGS_MUTEX"
+msgid "Please close all instances of MPC-HC so that the default settings can be restored."
+msgstr "Затворите Ñве примерке MPC-HC-а како биÑте вратили подразумеване поÑтавке."
+
+msgctxt "IDS_EXPORT_SETTINGS"
+msgid "Export settings"
+msgstr "ПоÑтавке извоза"
+
+msgctxt "IDS_EXPORT_SETTINGS_WARNING"
+msgid "Some changes have not been saved yet.\nDo you want to save them before exporting?"
+msgstr "Ðеке измене још увек ниÑу Ñачуване.\nЖелите ли да их Ñачувате пре извоза?"
+
+msgctxt "IDS_EXPORT_SETTINGS_SUCCESS"
+msgid "The settings have been successfully exported."
+msgstr "ПоÑтавке Ñу уÑпешно извезене."
+
+msgctxt "IDS_EXPORT_SETTINGS_FAILED"
+msgid "The export failed! This can happen when you don't have the correct rights."
+msgstr "Извоз није уÑпео. Вероватно немате одговарајућа права."
+
+msgctxt "IDS_BDA_ERROR"
+msgid "BDA Error"
+msgstr "Грешка у BDA-у"
+
+msgctxt "IDS_AG_DECREASE_RATE"
+msgid "Decrease Rate"
+msgstr "УÑпори"
+
+msgctxt "IDS_AG_RESET_RATE"
+msgid "Reset Rate"
+msgstr "Првобитна брзина"
+
+msgctxt "IDS_MPLAYERC_21"
+msgid "Audio Delay +10 ms"
+msgstr "Повећај кашњење звука за 10 мÑ"
+
+msgctxt "IDS_MPLAYERC_22"
+msgid "Audio Delay -10 ms"
+msgstr "Смањи кашњење звука за 10 мÑ"
+
+msgctxt "IDS_MPLAYERC_23"
+msgid "Jump Forward (small)"
+msgstr "ПреÑкочи унапред (мало)"
+
+msgctxt "IDS_MPLAYERC_24"
+msgid "Jump Backward (small)"
+msgstr "ПреÑкочи уназад (мало)"
+
+msgctxt "IDS_MPLAYERC_25"
+msgid "Jump Forward (medium)"
+msgstr "ПреÑкочи унапред (Ñредње)"
+
+msgctxt "IDS_MPLAYERC_26"
+msgid "Jump Backward (medium)"
+msgstr "ПреÑкочи уназад (Ñредње)"
+
+msgctxt "IDS_MPLAYERC_27"
+msgid "Jump Forward (large)"
+msgstr "ПреÑкочи унапред (много)"
+
+msgctxt "IDS_MPLAYERC_28"
+msgid "Jump Backward (large)"
+msgstr "ПреÑкочи уназад (много)"
+
+msgctxt "IDS_MPLAYERC_29"
+msgid "Jump Forward (keyframe)"
+msgstr "ПреÑкочи унапред (по кључном кадру)"
+
+msgctxt "IDS_MPLAYERC_30"
+msgid "Jump Backward (keyframe)"
+msgstr "ПреÑкочи уназад (по кључном кадру)"
+
+msgctxt "IDS_AG_NEXT"
+msgid "Next"
+msgstr "Следеће"
+
+msgctxt "IDS_AG_PREVIOUS"
+msgid "Previous"
+msgstr "Претходно"
+
+msgctxt "IDS_AG_NEXT_FILE"
+msgid "Next File"
+msgstr "Следећа датотека"
+
+msgctxt "IDS_AG_PREVIOUS_FILE"
+msgid "Previous File"
+msgstr "Претходна датотека"
+
+msgctxt "IDS_MPLAYERC_99"
+msgid "Toggle Direct3D fullscreen"
+msgstr "Укључи/иÑкључи цео екран (Direct3D)"
+
+msgctxt "IDS_MPLAYERC_100"
+msgid "Goto Prev Subtitle"
+msgstr "Пређи на претходни титл"
+
+msgctxt "IDS_MPLAYERC_101"
+msgid "Goto Next Subtitle"
+msgstr "Пређи на Ñледећи титл"
+
+msgctxt "IDS_MPLAYERC_102"
+msgid "Shift Subtitle Left"
+msgstr "Помери титл улево"
+
+msgctxt "IDS_MPLAYERC_103"
+msgid "Shift Subtitle Right"
+msgstr "Помери титл удеÑно"
+
+msgctxt "IDS_AG_DISPLAY_STATS"
+msgid "Display Stats"
+msgstr "СтатиÑтика"
+
+msgctxt "IDS_AG_SEEKSET"
+msgid "Jump to Beginning"
+msgstr "Пређи на почетак"
+
+msgctxt "IDS_AG_VIEW_MINIMAL"
+msgid "View Minimal"
+msgstr "Минимални приказ"
+
+msgctxt "IDS_AG_VIEW_COMPACT"
+msgid "View Compact"
+msgstr "Компактни приказ"
+
+msgctxt "IDS_AG_VIEW_NORMAL"
+msgid "View Normal"
+msgstr "Ðормални приказ"
+
+msgctxt "IDS_AG_FULLSCREEN"
+msgid "Fullscreen"
+msgstr "Цео екран"
+
+msgctxt "IDS_MPLAYERC_39"
+msgid "Fullscreen (w/o res.change)"
+msgstr "Цео екран (без промене резолуције)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT"
+msgid "Zoom Auto Fit"
+msgstr "Уклопи"
+
+msgctxt "IDS_AG_VIDFRM_HALF"
+msgid "VidFrm Half"
+msgstr "Половични видео-кадар"
+
+msgctxt "IDS_AG_VIDFRM_NORMAL"
+msgid "VidFrm Normal"
+msgstr "Ðормални видео-кадар"
+
+msgctxt "IDS_AG_VIDFRM_DOUBLE"
+msgid "VidFrm Double"
+msgstr "ДвоÑтруки видео-кадар"
+
+msgctxt "IDS_AG_ALWAYS_ON_TOP"
+msgid "Always On Top"
+msgstr "Увек на врху"
+
+msgctxt "IDS_AG_PNS_INC_SIZE"
+msgid "PnS Inc Size"
+msgstr "Повећај размеру кадра"
+
+msgctxt "IDS_AG_PNS_INC_WIDTH"
+msgid "PnS Inc Width"
+msgstr "Повећај ширину кадра"
+
+msgctxt "IDS_MPLAYERC_47"
+msgid "PnS Inc Height"
+msgstr "Повећај виÑину кадра"
+
+msgctxt "IDS_AG_PNS_DEC_SIZE"
+msgid "PnS Dec Size"
+msgstr "Смањи размеру кадра"
+
+msgctxt "IDS_AG_PNS_DEC_WIDTH"
+msgid "PnS Dec Width"
+msgstr "Смањи ширину кадра"
+
+msgctxt "IDS_MPLAYERC_50"
+msgid "PnS Dec Height"
+msgstr "Смањи виÑину кадра"
+
+msgctxt "IDS_SUBDL_DLG_DOWNLOADING"
+msgid "Downloading subtitle(s), please wait."
+msgstr "Преузимам титл…"
+
+msgctxt "IDS_SUBDL_DLG_PARSING"
+msgid "Parsing list..."
+msgstr "Ðнализирам ÑпиÑак…"
+
+msgctxt "IDS_SUBDL_DLG_NOT_FOUND"
+msgid "No subtitles found."
+msgstr "Ðема титлова."
+
+msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
+msgid "%d subtitle(s) available."
+msgstr "ДоÑтупно титлова: %d."
+
+msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
+msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
+msgstr "Желите ли да MPC-HC аутоматÑки тражи ажурирања?\n\nОву функцију можете каÑније онемогућити из одељка „Разно“ у опцијама."
+
+msgctxt "IDS_ZOOM_50"
+msgid "50%"
+msgstr "50%"
+
+msgctxt "IDS_ZOOM_100"
+msgid "100%"
+msgstr "100%"
+
+msgctxt "IDS_ZOOM_200"
+msgid "200%"
+msgstr "200%"
+
+msgctxt "IDS_ZOOM_AUTOFIT"
+msgid "Auto Fit"
+msgstr "Уклопи"
+
+msgctxt "IDS_ZOOM_AUTOFIT_LARGER"
+msgid "Auto Fit (Larger Only)"
+msgstr "Уклопи (Ñамо веће)"
+
+msgctxt "IDS_AG_ZOOM_AUTO_FIT_LARGER"
+msgid "Zoom Auto Fit (Larger Only)"
+msgstr "Зум: уклопи (Ñамо веће)"
+
+msgctxt "IDS_OSD_ZOOM_AUTO_LARGER"
+msgid "Zoom: Auto (Larger Only)"
+msgstr "Зум: аутоматÑки (Ñамо веће)"
+
+msgctxt "IDS_TOOLTIP_EXPLORE_TO_FILE"
+msgid "Double click to open file location"
+msgstr "Двокликните да биÑте отворили локацију датотеке"
+
+msgctxt "IDS_TOOLTIP_REMAINING_TIME"
+msgid "Toggle between elapsed and remaining time"
+msgstr "Пребацивање између протеклог и преоÑталог времена"
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_TITLE"
+msgid "Invalid delay"
+msgstr "ÐеиÑправно кашњење"
+
+msgctxt "IDS_UPDATE_DELAY_ERROR_MSG"
+msgid "Please enter a number between 1 and 365."
+msgstr "УнеÑите број између 1 и 365."
+
+msgctxt "IDS_AG_PNS_CENTER"
+msgid "PnS Center"
+msgstr "Центрирај кадар"
+
+msgctxt "IDS_AG_PNS_LEFT"
+msgid "PnS Left"
+msgstr "Помери кадар улево"
+
+msgctxt "IDS_AG_PNS_RIGHT"
+msgid "PnS Right"
+msgstr "Помери кадар удеÑно"
+
+msgctxt "IDS_AG_PNS_UP"
+msgid "PnS Up"
+msgstr "Помери кадар нагоре"
+
+msgctxt "IDS_AG_PNS_DOWN"
+msgid "PnS Down"
+msgstr "Помери кадар надоле"
+
+msgctxt "IDS_AG_PNS_UPLEFT"
+msgid "PnS Up/Left"
+msgstr "Помери кадар горе лево"
+
+msgctxt "IDS_AG_PNS_UPRIGHT"
+msgid "PnS Up/Right"
+msgstr "Помери кадар горе деÑно"
+
+msgctxt "IDS_AG_PNS_DOWNLEFT"
+msgid "PnS Down/Left"
+msgstr "Помери кадар доле лево"
+
+msgctxt "IDS_MPLAYERC_59"
+msgid "PnS Down/Right"
+msgstr "Помери кадар доле деÑно"
+
+msgctxt "IDS_AG_VOLUME_UP"
+msgid "Volume Up"
+msgstr "Појачај"
+
+msgctxt "IDS_AG_VOLUME_DOWN"
+msgid "Volume Down"
+msgstr "Смањи"
+
+msgctxt "IDS_AG_VOLUME_MUTE"
+msgid "Volume Mute"
+msgstr "ИÑкључи звук"
+
+msgctxt "IDS_MPLAYERC_63"
+msgid "DVD Title Menu"
+msgstr "DVD – мени наÑлова"
+
+msgctxt "IDS_AG_DVD_ROOT_MENU"
+msgid "DVD Root Menu"
+msgstr "DVD – оÑновни мени"
+
+msgctxt "IDS_MPLAYERC_65"
+msgid "DVD Subtitle Menu"
+msgstr "DVD – мени титлова"
+
+msgctxt "IDS_MPLAYERC_66"
+msgid "DVD Audio Menu"
+msgstr "DVD – мени звука"
+
+msgctxt "IDS_MPLAYERC_67"
+msgid "DVD Angle Menu"
+msgstr "DVD – мени углова"
+
+msgctxt "IDS_MPLAYERC_68"
+msgid "DVD Chapter Menu"
+msgstr "DVD – мени поглавља"
+
+msgctxt "IDS_AG_DVD_MENU_LEFT"
+msgid "DVD Menu Left"
+msgstr "DVD мени – улево"
+
+msgctxt "IDS_MPLAYERC_70"
+msgid "DVD Menu Right"
+msgstr "DVD мени – удеÑно"
+
+msgctxt "IDS_AG_DVD_MENU_UP"
+msgid "DVD Menu Up"
+msgstr "DVD мени – нагоре"
+
+msgctxt "IDS_AG_DVD_MENU_DOWN"
+msgid "DVD Menu Down"
+msgstr "DVD мени – надоле"
+
+msgctxt "IDS_MPLAYERC_73"
+msgid "DVD Menu Activate"
+msgstr "DVD мени – активирај"
+
+msgctxt "IDS_AG_DVD_MENU_BACK"
+msgid "DVD Menu Back"
+msgstr "DVD мени – назад"
+
+msgctxt "IDS_MPLAYERC_75"
+msgid "DVD Menu Leave"
+msgstr "DVD мени – напуÑти"
+
+msgctxt "IDS_AG_BOSS_KEY"
+msgid "Boss key"
+msgstr "Главни таÑтер"
+
+msgctxt "IDS_MPLAYERC_77"
+msgid "Player Menu (short)"
+msgstr "Мени плејера (кратак)"
+
+msgctxt "IDS_MPLAYERC_78"
+msgid "Player Menu (long)"
+msgstr "Мени плејера (дуг)"
+
+msgctxt "IDS_AG_FILTERS_MENU"
+msgid "Filters Menu"
+msgstr "Мени филтера"
+
+msgctxt "IDS_AG_OPTIONS"
+msgid "Options"
+msgstr "Опције"
+
+msgctxt "IDS_AG_NEXT_AUDIO"
+msgid "Next Audio"
+msgstr "Следећи аудио"
+
+msgctxt "IDS_AG_PREV_AUDIO"
+msgid "Prev Audio"
+msgstr "Претходни аудио"
+
+msgctxt "IDS_AG_NEXT_SUBTITLE"
+msgid "Next Subtitle"
+msgstr "Следећи титл"
+
+msgctxt "IDS_AG_PREV_SUBTITLE"
+msgid "Prev Subtitle"
+msgstr "Претходни титл"
+
+msgctxt "IDS_MPLAYERC_85"
+msgid "On/Off Subtitle"
+msgstr "Укључи/иÑкључи титл"
+
+msgctxt "IDS_MPLAYERC_86"
+msgid "Reload Subtitles"
+msgstr "Поново учитај титл"
+
+msgctxt "IDS_MPLAYERC_87"
+msgid "Next Audio (OGM)"
+msgstr "Следећи аудио (OGM)"
+
+msgctxt "IDS_MPLAYERC_88"
+msgid "Prev Audio (OGM)"
+msgstr "Претходни аудио (OGM)"
+
+msgctxt "IDS_MPLAYERC_89"
+msgid "Next Subtitle (OGM)"
+msgstr "Следећи титл (OGM)"
+
+msgctxt "IDS_MPLAYERC_90"
+msgid "Prev Subtitle (OGM)"
+msgstr "Претходни титл (OGM)"
+
+msgctxt "IDS_MPLAYERC_91"
+msgid "Next Angle (DVD)"
+msgstr "Следећи угао (DVD)"
+
+msgctxt "IDS_MPLAYERC_92"
+msgid "Prev Angle (DVD)"
+msgstr "Претходни угао (DVD)"
+
+msgctxt "IDS_MPLAYERC_93"
+msgid "Next Audio (DVD)"
+msgstr "Следећи аудио (DVD)"
+
+msgctxt "IDS_MPLAYERC_94"
+msgid "Prev Audio (DVD)"
+msgstr "Претходни аудио (DVD)"
+
+msgctxt "IDS_MPLAYERC_95"
+msgid "Next Subtitle (DVD)"
+msgstr "Следећи титл (DVD)"
+
+msgctxt "IDS_MPLAYERC_96"
+msgid "Prev Subtitle (DVD)"
+msgstr "Претходни титл (DVD)"
+
+msgctxt "IDS_MPLAYERC_97"
+msgid "On/Off Subtitle (DVD)"
+msgstr "Укључи/иÑкључи титл (DVD)"
+
+msgctxt "IDS_MPLAYERC_98"
+msgid "Remaining Time"
+msgstr "ПреоÑтало време"
+
+msgctxt "IDS_PPAGEWEBSERVER_0"
+msgid "Select the directory"
+msgstr "Изаберите фаÑциклу"
+
+msgctxt "IDS_FAVORITES_QUICKADDFAVORITE"
+msgid "Quick add favorite"
+msgstr "Брзо додај у омиљене"
+
+msgctxt "IDS_DVB_CHANNEL_NUMBER"
+msgid "N"
+msgstr "â„–"
+
+msgctxt "IDS_DVB_CHANNEL_NAME"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "IDS_DVB_CHANNEL_FREQUENCY"
+msgid "Frequency"
+msgstr "УчеÑталоÑÑ‚"
+
+msgctxt "IDS_DVB_CHANNEL_ENCRYPTION"
+msgid "Encrypted"
+msgstr "Шифровано"
+
+msgctxt "IDS_DVB_CHANNEL_ENCRYPTED"
+msgid "Yes"
+msgstr "Да"
+
+msgctxt "IDS_DVB_CHANNEL_NOT_ENCRYPTED"
+msgid "No"
+msgstr "Ðе"
+
+msgctxt "IDS_DVB_CHANNEL_START_SCAN"
+msgid "Start"
+msgstr "Покрени"
+
+msgctxt "IDS_DVB_CHANNEL_STOP_SCAN"
+msgid "Stop"
+msgstr "ЗауÑтави"
+
+msgctxt "IDS_DVB_TVNAV_SEERADIO"
+msgid "Radio stations"
+msgstr "Радио-Ñтанице"
+
+msgctxt "IDS_DVB_TVNAV_SEETV"
+msgid "TV stations"
+msgstr "ТВ Ñтанице"
+
+msgctxt "IDS_DVB_CHANNEL_FORMAT"
+msgid "Format"
+msgstr "Формат"
+
+msgctxt "IDS_MAINFRM_2"
+msgid "Focus lost to: %s - %s"
+msgstr "Ð¤Ð¾ÐºÑƒÑ Ñ˜Ðµ прешао на: %s - %s"
+
+msgctxt "IDS_AG_SUBTITLES_SAVED"
+msgid "Subtitles saved"
+msgstr "Титлови Ñу Ñачувани"
+
+msgctxt "IDS_MAINFRM_4"
+msgid "Cannot save subtitles"
+msgstr "Ðе могу да Ñачувам титлове"
+
+msgctxt "IDS_AG_FRAMERATE"
+msgid "Frame rate"
+msgstr "УчеÑталоÑÑ‚ кадрова"
+
+msgctxt "IDS_MAINFRM_6"
+msgid "drawn: %d, dropped: %d"
+msgstr "запиÑано: %d, иÑпуштено: %d"
+
+msgctxt "IDS_AG_FRAMES"
+msgid "Frames"
+msgstr "Кадрови"
+
+msgctxt "IDS_AG_BUFFERS"
+msgid "Buffers"
+msgstr "Бафери"
+
+msgctxt "IDS_MAINFRM_9"
+msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
+msgstr "Јачина звука: %02lu/%02lu, наÑлов: %02lu/%02lu, поглавље: %02lu/%02lu"
+
+msgctxt "IDS_MAINFRM_10"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Угао: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+
+msgctxt "IDS_MAINFRM_11"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d бита %d %s"
+
+msgctxt "IDS_ADD_TO_PLAYLIST"
+msgid "Add to MPC-HC Playlist"
+msgstr "Додај у плеј-лиÑту MPC-HC-а"
+
+msgctxt "IDS_OPEN_WITH_MPC"
+msgid "Play with MPC-HC"
+msgstr "Репродукуј помоћу MPC-HC-а"
+
+msgctxt "IDS_CANNOT_CHANGE_FORMAT"
+msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
+msgstr "MPC-HC нема довољно овлашћења за промену повезаноÑти датотека. Кликните на дугме „Покрени као админиÑтратор“."
+
+msgctxt "IDS_APP_DESCRIPTION"
+msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
+msgstr "MPC-HC је изузетно једноÑтаван медијÑки плејер за Windows отвореног кода. Подржава репродуковање Ñвих уобичајених аудио и видео формата. Ðе Ñадржи шпијунÑки Ñофтвер, оглаÑе нити траке Ñа алаткама трећих Ñтрана."
+
+msgctxt "IDS_MAINFRM_12"
+msgid "channel"
+msgstr "канал"
+
+msgctxt "IDS_MAINFRM_13"
+msgid "channels"
+msgstr "канала"
+
+msgctxt "IDS_AG_TITLE"
+msgid "Title %u"
+msgstr "ÐаÑлов %u"
+
+msgctxt "IDS_MAINFRM_16"
+msgid "DVD: Unexpected error"
+msgstr "DVD: неочекивана грешка"
+
+msgctxt "IDS_MAINFRM_17"
+msgid "DVD: Copy-Protect Fail"
+msgstr "DVD: проблем Ñа заштитом од копирања"
+
+msgctxt "IDS_MAINFRM_18"
+msgid "DVD: Invalid DVD 1.x Disc"
+msgstr "DVD: неиÑправан DVD 1.x диÑк"
+
+msgctxt "IDS_MAINFRM_19"
+msgid "DVD: Invalid Disc Region"
+msgstr "DVD: неиÑправан регион диÑка"
+
+msgctxt "IDS_MAINFRM_20"
+msgid "DVD: Low Parental Level"
+msgstr "DVD: низак ниво родитељÑке контроле"
+
+msgctxt "IDS_MAINFRM_21"
+msgid "DVD: Macrovision Fail"
+msgstr "DVD: проблем Ñа Macrovision-ом"
+
+msgctxt "IDS_MAINFRM_22"
+msgid "DVD: Incompatible System And Decoder Regions"
+msgstr "DVD: неиÑправни региони ÑиÑтема и декодера"
+
+msgctxt "IDS_MAINFRM_23"
+msgid "DVD: Incompatible Disc And Decoder Regions"
+msgstr "DVD: некомпатибилни региони диÑка и декодера"
+
+msgctxt "IDS_D3DFS_WARNING"
+msgid "This option is designed to avoid tearing. However, it will also prevent MPC-HC from displaying the context menu and any dialog box during playback.\n\nDo you really want to activate this option?"
+msgstr "Ова опција је намењена у Ñврхе Ñпречавања цепања. Ипак, за време репродукције, контекÑтуални мени MPC-HC-а и било који дијалог неће моћи да Ñе прикажу.\n\nЗаиÑта желите да активирате ову опцију?"
+
+msgctxt "IDS_MAINFRM_139"
+msgid "Sub delay: %ld ms"
+msgstr "Кашњење титла: %ld мÑ"
+
+msgctxt "IDS_AG_TITLE2"
+msgid "Title: %02d/%02d"
+msgstr "ÐаÑлов: %02d/%02d"
+
+msgctxt "IDS_REALVIDEO_INCOMPATIBLE"
+msgid "Filename contains unsupported characters (use only A-Z, 0-9)"
+msgstr "Име датотеке Ñадржи неподржане знакове (кориÑтите Ñамо A–Z, 0–9)"
+
+msgctxt "IDS_THUMB_ROWNUMBER"
+msgid "Rows:"
+msgstr "Редова:"
+
+msgctxt "IDS_THUMB_COLNUMBER"
+msgid "Columns:"
+msgstr "Колона:"
+
+msgctxt "IDS_THUMB_IMAGE_WIDTH"
+msgid "Image width"
+msgstr "Ширина Ñлике"
+
+msgctxt "IDS_PPSDB_URLCORRECT"
+msgid "The URL appears to be correct!"
+msgstr "URL је иÑправан."
+
+msgctxt "IDS_PPSDB_PROTOCOLERR"
+msgid "Protocol version mismatch, please upgrade your player or choose a different address!"
+msgstr "Верзија протокола Ñе не подудара. Ðжурирајте плејер или изаберите другу адреÑу."
+
+msgctxt "IDS_AG_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "ÐžÐ´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина"
+
+msgctxt "IDS_MAINFRM_37"
+msgid ", Total: %ld, Dropped: %ld"
+msgstr ", укупно: %ld, иÑпуштено: %ld"
+
+msgctxt "IDS_MAINFRM_38"
+msgid ", Size: %I64d KB"
+msgstr ", величина: %I64d KB"
+
+msgctxt "IDS_MAINFRM_39"
+msgid ", Size: %I64d MB"
+msgstr ", величина: %I64d MB"
+
+msgctxt "IDS_MAINFRM_40"
+msgid ", Free: %I64d KB"
+msgstr ", Ñлободно: %I64d KB"
+
+msgctxt "IDS_MAINFRM_41"
+msgid ", Free: %I64d MB"
+msgstr ", Ñлободно: %I64d MB"
+
+msgctxt "IDS_MAINFRM_42"
+msgid ", Free V/A Buffers: %03d/%03d"
+msgstr ", Ñлободно бафера: %03d/%03d"
+
+msgctxt "IDS_AG_ERROR"
+msgid "Error"
+msgstr "Грешка"
+
+msgctxt "IDS_SUBTITLE_STREAM_OFF"
+msgid "Subtitle: off"
+msgstr "Титл: иÑкључен"
+
+msgctxt "IDS_SUBTITLE_STREAM"
+msgid "Subtitle: %s"
+msgstr "Титл: %s"
+
+msgctxt "IDS_MAINFRM_46"
+msgid "Select the path for the DVD/BD:"
+msgstr "Изаберите путању DVD-а/BD-а:"
+
+msgctxt "IDS_SUB_LOADED_SUCCESS"
+msgid " loaded successfully"
+msgstr "уÑпешно учитано"
+
+msgctxt "IDS_ALL_FILES_FILTER"
+msgid "All files (*.*)|*.*||"
+msgstr "Све датотеке (*.*)|*.*||"
+
+msgctxt "IDS_GETDIB_FAILED"
+msgid "GetDIB failed, hr = %08x"
+msgstr "Проблем Ñа GetDIB-ом, hr = %08x"
+
+msgctxt "IDS_GETCURRENTIMAGE_FAILED"
+msgid "GetCurrentImage failed, hr = %08x"
+msgstr "Проблем Ñа GetCurrentImage-ом, hr = %08x"
+
+msgctxt "IDS_SCREENSHOT_ERROR"
+msgid "Cannot create file"
+msgstr "Ðе могу да креирам датотеку"
+
+msgctxt "IDS_THUMBNAILS_NO_DURATION"
+msgid "Cannot create thumbnails for files with no duration"
+msgstr "Ðе могу да креирам Ñличице за датотеке које немају трајање"
+
+msgctxt "IDS_THUMBNAILS_NO_FRAME_SIZE"
+msgid "Failed to get video frame size"
+msgstr "Ðе могу да преузмем величину видео-кадра"
+
+msgctxt "IDS_OUT_OF_MEMORY"
+msgid "Out of memory, go buy some more!"
+msgstr "Ðема довољно Ñлободног проÑтора!"
+
+msgctxt "IDS_THUMBNAILS_INVALID_FORMAT"
+msgid "Invalid image format, cannot create thumbnails out of %d bpp dibs."
+msgstr "ÐеиÑправан формат Ñлике. Ðе могу да креирам Ñличице од битмапа %d bpp."
+
+msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
+msgid "File Size: %s (%s bytes)\\N"
+msgstr "Величина датотеке: %s (%s bytes)\\N"
+
+msgctxt "IDS_THUMBNAILS_INFO_HEADER"
+msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Име датотеке: %s\\N%sРезолуција: %dx%d %s\\NТрајање: %02d:%02d:%02d"
+
+msgctxt "IDS_THUMBNAIL_TOO_SMALL"
+msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
+msgstr "Ðе могу да креирам Ñличице јер би биле премале.\n\nПробајте да Ñмањите број Ñличица или повећате укупну величину."
+
+msgctxt "IDS_CANNOT_LOAD_SUB"
+msgid "To load subtitles you have to change the video renderer type and reopen the file.\n- DirectShow: VMR-7/VMR-9 (renderless), EVR (CP), Sync, madVR or Haali\n- RealMedia: Special renderer for RealMedia, or open it through DirectShow\n- QuickTime: DX7 or DX9 renderer for QuickTime\n- ShockWave: n/a"
+msgstr "Да биÑте могли да учитате титл, потребно је да промените видео-рендерер и поново покренете датотеку.\n– DirectShow: VMR-7/VMR-9 (без рендера), EVR (CP), Sync, madVR или Haali\n– RealMedia: поÑебан рендерер за RealMedia формат; могуће је отварање и кроз DirectShow\n– QuickTime: DX7 или DX9 рендерер за QuickTime\n– ShockWave: недоÑтупно"
+
+msgctxt "IDS_SUBTITLE_FILES_FILTER"
+msgid "Subtitle files"
+msgstr "Датотеке титлова"
+
+msgctxt "IDS_MAINFRM_68"
+msgid "Aspect Ratio: %ld:%ld"
+msgstr "ÐžÐ´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина: %ld:%ld"
+
+msgctxt "IDS_MAINFRM_69"
+msgid "Aspect Ratio: Default"
+msgstr "ÐžÐ´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина: подразумевано"
+
+msgctxt "IDS_MAINFRM_70"
+msgid "Audio delay: %I64d ms"
+msgstr "Кашњење звука: %I64d мÑ"
+
+msgctxt "IDS_AG_CHAPTER"
+msgid "Chapter %d"
+msgstr "Поглавље %d"
+
+msgctxt "IDS_AG_OUT_OF_MEMORY"
+msgid "Out of memory"
+msgstr "Ðема меморије"
+
+msgctxt "IDS_MAINFRM_77"
+msgid "Error: Flash player for IE is required"
+msgstr "Грешка: потребан је Flash Player за IE"
+
+msgctxt "IDS_MAINFRM_78"
+msgid "QuickTime not yet supported for X64 (apple library not available)"
+msgstr "СиÑтеми Ñа 64 бита још увек не подржавају QuickTime (Apple-ова библиотека није доÑтупна)"
+
+msgctxt "IDS_MAINFRM_80"
+msgid "Failed to create the filter graph object"
+msgstr "Ðе могу да креирам објекат у графикону филтера"
+
+msgctxt "IDS_MAINFRM_81"
+msgid "Invalid argument"
+msgstr "ÐеиÑправан аргумент"
+
+msgctxt "IDS_MAINFRM_82"
+msgid "Opening aborted"
+msgstr "Отварање је прекинуто"
+
+msgctxt "IDS_MAINFRM_83"
+msgid "Failed to render the file"
+msgstr "Ðе могу да обрадим датотеку"
+
+msgctxt "IDS_PPSDB_BADURL"
+msgid "Bad URL, could not locate subtitle database there!"
+msgstr "ÐеиÑправан URL. Ðе могу да пронађем базу титлова одатле."
+
+msgctxt "IDS_AG_CHAPTER2"
+msgid "Chapter: "
+msgstr "Поглавље: "
+
+msgctxt "IDS_VOLUME_OSD"
+msgid "Vol: %d%%"
+msgstr "Јачина звука: %d%%"
+
+msgctxt "IDS_BOOST_OSD"
+msgid "Boost: +%u%%"
+msgstr "Појачање: +%u%%"
+
+msgctxt "IDS_BALANCE_OSD"
+msgid "Balance: %s"
+msgstr "БаланÑ: %s"
+
+msgctxt "IDS_FULLSCREENMONITOR_CURRENT"
+msgid "Current"
+msgstr "тренутни"
+
+msgctxt "IDS_MPC_CRASH"
+msgid "MPC-HC terminated unexpectedly. To help us fix this problem, please send this file \"%s\" to our bug tracker.\n\nDo you want to open the folder containing the minidump file and visit the bug tracker now?"
+msgstr "Дошло је до неочекиваног пада. Да биÑте нам помогли да решимо проблем, пошаљите датотеку „%s“ на наш ÑиÑтем за праћење грешака.\n\nЖелите ли да отворите фаÑциклу која Ñадржи датотеку Ñа иÑпиÑом Ñтања меморије и поÑетите Ñајт?"
+
+msgctxt "IDS_MPC_MINIDUMP_FAIL"
+msgid "Failed to create dump file to \"%s\" (error %u)"
+msgstr "Ðе могу да креирам датотеку иÑпиÑа Ñтања „%s“ (грешка %u)"
+
+msgctxt "IDS_MAINFRM_DIR_TITLE"
+msgid "Select Directory"
+msgstr "Изабери фаÑциклу"
+
+msgctxt "IDS_MAINFRM_DIR_CHECK"
+msgid "Include subdirectories"
+msgstr "Укључи потфаÑцикле"
+
+msgctxt "IDS_AG_PAUSE"
+msgid "Pause"
+msgstr "Паузирај"
+
+msgctxt "IDS_AG_TOGGLE_CAPTION"
+msgid "Toggle Caption&Menu"
+msgstr "Укључи/иÑкључи наÑлов и мени"
+
+msgctxt "IDS_AG_TOGGLE_SEEKER"
+msgid "Toggle Seeker"
+msgstr "Укључи/иÑкључи траку за премотавање"
+
+msgctxt "IDS_AG_TOGGLE_CONTROLS"
+msgid "Toggle Controls"
+msgstr "Укључи/иÑкључи контроле"
+
+msgctxt "IDS_MAINFRM_84"
+msgid "Invalid file name"
+msgstr "ÐеиÑправно име датотеке"
+
+msgctxt "IDS_MAINFRM_86"
+msgid "Cannot connect the filters"
+msgstr "Ðе могу да повежем филтере"
+
+msgctxt "IDS_MAINFRM_87"
+msgid "Cannot load any source filter"
+msgstr "Ðе могу да учитам ниједан изворни филтер"
+
+msgctxt "IDS_MAINFRM_88"
+msgid "Cannot render the file"
+msgstr "Ðе могу да обрадим датотеку"
+
+msgctxt "IDS_MAINFRM_89"
+msgid "Invalid file format"
+msgstr "ÐеиÑправан формат датотеке"
+
+msgctxt "IDS_MAINFRM_90"
+msgid "File not found"
+msgstr "Датотека није пронађена"
+
+msgctxt "IDS_MAINFRM_91"
+msgid "Unknown file type"
+msgstr "Ðепознат тип датотеке"
+
+msgctxt "IDS_MAINFRM_92"
+msgid "Unsupported stream"
+msgstr "Ðеподржан ток"
+
+msgctxt "IDS_MAINFRM_93"
+msgid "Cannot find DVD directory"
+msgstr "Ðе могу да пронађем фаÑциклу DVD-а"
+
+msgctxt "IDS_MAINFRM_94"
+msgid "Can't create the DVD Navigator filter"
+msgstr "Ðе могу да креирам филтер DVD навигатора"
+
+msgctxt "IDS_AG_FAILED"
+msgid "Failed"
+msgstr "ÐеуÑпело"
+
+msgctxt "IDS_MAINFRM_96"
+msgid "Can't create video capture filter"
+msgstr "Ðе могу да креирам филтер за Ñнимање видео-запиÑа"
+
+msgctxt "IDS_MAINFRM_98"
+msgid "No capture filters"
+msgstr "Ðема филтера за Ñнимање"
+
+msgctxt "IDS_MAINFRM_99"
+msgid "Can't create capture graph builder object"
+msgstr "Ðе могу да креирам објекат алатке за израду графикона Ñнимања"
+
+msgctxt "IDS_MAINFRM_108"
+msgid "Couldn't open any device"
+msgstr "Ðе могу да отворим ниједан уређај"
+
+msgctxt "IDS_AG_SOUND"
+msgid "Sound"
+msgstr "Звук"
+
+msgctxt "IDS_MAINFRM_114"
+msgid "%s was not found, please insert media containing this file."
+msgstr "%s није пронађен. УнеÑите медијум Ñа овом датотеком."
+
+msgctxt "IDS_AG_ABORTED"
+msgid "Aborted"
+msgstr "Прекинуто"
+
+msgctxt "IDS_MAINFRM_116"
+msgid "&Properties..."
+msgstr "&СвојÑтва…"
+
+msgctxt "IDS_MAINFRM_117"
+msgid " (pin) properties..."
+msgstr " (pin) ÑвојÑтва…"
+
+msgctxt "IDS_AG_UNKNOWN_STREAM"
+msgid "Unknown Stream"
+msgstr "Ðепознат ток"
+
+msgctxt "IDS_AG_UNKNOWN"
+msgid "Unknown %u"
+msgstr "Ðепознат %u"
+
+msgctxt "IDS_AG_VSYNC"
+msgid "VSync"
+msgstr "Вертикална Ñинхронизација"
+
+msgctxt "IDS_MAINFRM_121"
+msgid " (Director Comments 1)"
+msgstr " (коментари режиÑера 1)"
+
+msgctxt "IDS_MAINFRM_122"
+msgid " (Director Comments 2)"
+msgstr " (коментари режиÑера 2)"
+
+msgctxt "IDS_DVD_SUBTITLES_ENABLE"
+msgid "Enable DVD subtitles"
+msgstr "Омогући титлове DVD-а"
+
+msgctxt "IDS_AG_ANGLE"
+msgid "Angle %u"
+msgstr "Угао %u"
+
+msgctxt "IDS_AG_VSYNCOFFSET_INCREASE"
+msgid "Increase VSync Offset"
+msgstr "Повећај помак вертикалне Ñинхронизације"
+
+msgctxt "IDS_AG_DISABLED"
+msgid "Disabled"
+msgstr "Онемогућено"
+
+msgctxt "IDS_AG_VSYNCOFFSET_DECREASE"
+msgid "Decrease VSync Offset"
+msgstr "Смањи помак вертикалне Ñинхронизације"
+
+msgctxt "IDS_MAINFRM_136"
+msgid "MPC-HC D3D Fullscreen"
+msgstr "MPC-HC D3D режим целог екрана"
+
+msgctxt "IDS_MAINFRM_137"
+msgid "Unknown format"
+msgstr "Ðепознат формат"
+
+msgctxt "IDS_MAINFRM_138"
+msgid "Sub shift: %ld ms"
+msgstr "Померање титла: %ld мÑ"
+
+msgctxt "IDS_VOLUME_BOOST_INC"
+msgid "Volume boost increase"
+msgstr "ПовиÑи појачање звука"
+
+msgctxt "IDS_VOLUME_BOOST_DEC"
+msgid "Volume boost decrease"
+msgstr "Понизи појачање звука"
+
+msgctxt "IDS_VOLUME_BOOST_MIN"
+msgid "Volume boost Min"
+msgstr "Минимално појачање звука"
+
+msgctxt "IDS_VOLUME_BOOST_MAX"
+msgid "Volume boost Max"
+msgstr "МакÑимално појачање звука"
+
+msgctxt "IDS_USAGE"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Употреба: mpc-hc.exe „pathname“ [прекидачи]\n\n„pathname“\tДатотека или фаÑцикла за отварање (дозвољени Ñу џокери; цртица (-) означава Ñтандардни улаз)\n/dub „dubname“\tУчитајте додатну аудио-датотеку\n/dubdelay „file“\tУчитајте додатну аудио-датотеку уз померање за XX Ð¼Ñ (ако датотека Ñадржи „…DELAY XXms…“)\n/d3dfs\t\tПокрени рендеровање у D3D режиму целог екрана\n/sub „subname“\tУчитајте додатну датотеку титла\n/filter „filtername“\tУчитајте филтере DirectShow-а из DLL-а (дозвољени Ñу џокери)\n/dvd\t\tПокрените у режиму DVD-а; „pathname“ означава фаÑциклу DVD-а (необавезно)\n/dvdpos T#C\tРепродукујте од наÑлова Ð, поглавља П\n/dvdpos T#hh:mm\tРепродукујте од наÑлова Ð, позиције hh:mm:ss\n/cd\t\tУчитајте Ñве запиÑе аудио CD-а или (S)VCD-а;\n\t\t„pathname“ означава путању погонÑке јединице (необавезно)\n/device\t\tОтворите подразумевани видео-уређај\n/open\t\tОтворите датотеку без покретања репродукције\n/play\t\tЗапочните репродукцију одмах по покретању плејера\n/close\t\tЗатворите плејер након репродукције (ради Ñамо у комбинацији Ñа „/play“)\n/shutdown\tИÑкључите рачунар након репродукције\n/standby\t\tПребаците рачунар у Ñтање приправноÑти након репродукције\n/hibernate\tПребаците рачунар у хибернацију након репродукције\n/logoff\t\tОдјавите Ñе након репродукције\n/lock\t\tЗакључајте рачунар након репродукције\n/monitoroff\tИÑкључите монитор након репродукције\n/playnext\t\tОтворите Ñледећу датотеку у фаÑцикли након репродукције\n/fullscreen\tЗапочните у режиму целог екрана\n/minimized\tЗапочните у режиму приказа у прозору\n/new\t\tОтворите нови примерак плејера\n/add\t\tДодајте „pathname“ у плеј-лиÑту; може да Ñе комбинује Ñа „/open“ и „/play“\n/regvid\t\tПовежите програм Ñа датотекама видео-запиÑа\n/regaud\t\tПовежите програм Ñа датотекама аудио-запиÑа\n/regpl\t\tПовежите програм Ñа датотекама плеј-лиÑти\n/regall\t\tПовежите програм Ñа Ñвим подржаним форматима\n/unregall\t\tУклоните повезаноÑÑ‚ Ñа Ñвим датотекама\n/start ms\t\tЗапочните репродукцију у милиÑекундама\n/startpos hh:mm:ss\tЗапочните репродукцију на позицији hh:mm:ss\n/fixedsize w,h\tПоÑтавите фикÑну величину прозора\n/monitor N\tПокрените плејер на монитору N, где је N – 1 па навише\n/audiorenderer N\tКориÑтите аудио-рендерер N, где је N – 1 па навише\n\t\t(погледајте излазне опције)\n/shaderpreset „Pr“\tКориÑтите шаблон „Pr“ модула за Ñенчење\n/pns „name“\tИзаберите име шаблона за размеру и положај кадра\n/iconsassoc\tПоново повежите иконе Ñа форматима\n/nofocus\t\tОтворите MPC-HC у позадини\n/webport N\tПокрените веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð½Ð° наведеном порту\n/debug\t\tПрикажите извод модула за отклањање грешака у OSD-у\n/nominidump\tОнемогућите креирање мини-иÑпиÑа Ñтања меморије\n/slave „hWnd“\tКориÑтите MPC-HC као роба\n/reset\t\tУÑпоÑтавите почетне вредноÑти\n/help /h /?\tПрикажите помоћ у вези Ñа прекидачима командне линије\n"
+
+msgctxt "IDS_UNKNOWN_SWITCH"
+msgid "Unrecognized switch(es) found in command line string: \n\n"
+msgstr "У командној линији Ñу пронађени непознати прекидачи: \n\n"
+
+msgctxt "IDS_AG_TOGGLE_INFO"
+msgid "Toggle Information"
+msgstr "Укључи/иÑкључи информације"
+
+msgctxt "IDS_AG_TOGGLE_STATS"
+msgid "Toggle Statistics"
+msgstr "Укључи/иÑкључи ÑтатиÑтику"
+
+msgctxt "IDS_AG_TOGGLE_STATUS"
+msgid "Toggle Status"
+msgstr "Укључи/иÑкључи ÑтатуÑну траку"
+
+msgctxt "IDS_AG_TOGGLE_SUBRESYNC"
+msgid "Toggle Subresync Bar"
+msgstr "Укључи/иÑкључи траку за Ñинхронизовање титлова"
+
+msgctxt "IDS_AG_TOGGLE_PLAYLIST"
+msgid "Toggle Playlist Bar"
+msgstr "Укључи/иÑкључи траку плеј-лиÑте"
+
+msgctxt "IDS_AG_TOGGLE_CAPTURE"
+msgid "Toggle Capture Bar"
+msgstr "Укључи/иÑкључи траку за Ñнимање"
+
+msgctxt "IDS_AG_TOGGLE_DEBUGSHADERS"
+msgid "Toggle Debug Shaders"
+msgstr "Укључи/иÑкључи отклањање грешака модула за Ñенчење"
+
+msgctxt "IDS_AG_ZOOM_50"
+msgid "Zoom 50%"
+msgstr "Зум 50%"
+
+msgctxt "IDS_AG_ZOOM_100"
+msgid "Zoom 100%"
+msgstr "Зум 100%"
+
+msgctxt "IDS_AG_ZOOM_200"
+msgid "Zoom 200%"
+msgstr "Зум 200%"
+
+msgctxt "IDS_AG_NEXT_AR_PRESET"
+msgid "Next AR Preset"
+msgstr "Следећи шаблон пропорција"
+
+msgctxt "IDS_AG_VIDFRM_STRETCH"
+msgid "VidFrm Stretch"
+msgstr "Видео-кадар: раÑтегни до величине прозора"
+
+msgctxt "IDS_AG_VIDFRM_INSIDE"
+msgid "VidFrm Inside"
+msgstr "Видео-кадар: додирни прозор изнутра"
+
+msgctxt "IDS_AG_VIDFRM_OUTSIDE"
+msgid "VidFrm Outside"
+msgstr "Видео-кадар: додирни прозор Ñпоља"
+
+msgctxt "IDS_AG_PNS_RESET"
+msgid "PnS Reset"
+msgstr "Врати подразумевано"
+
+msgctxt "IDS_AG_PNS_ROTATEX_P"
+msgid "PnS Rotate X+"
+msgstr "Ротирај кадар по оÑи X+"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM1"
+msgid "VidFrm Zoom 1"
+msgstr "Видео-кадар: зум 1"
+
+msgctxt "IDS_AG_VIDFRM_ZOOM2"
+msgid "VidFrm Zoom 2"
+msgstr "Видео-кадар: зум 2"
+
+msgctxt "IDS_AG_VIDFRM_SWITCHZOOM"
+msgid "VidFrm Switch Zoom"
+msgstr "Видео-кадар: промени зум"
+
+msgctxt "IDS_ENABLE_ALL_FILTERS"
+msgid "&Enable all filters"
+msgstr "&Омогући Ñве филтере"
+
+msgctxt "IDS_NAVIGATE_TUNERSCAN"
+msgid "Tuner scan"
+msgstr "Скенирање тјунера"
+
+msgctxt "IDS_SUBTITLES_ERROR"
+msgid "Subtitles are not loaded or unsupported renderer."
+msgstr "Титлови ниÑу учитани или је рендерер неподржан."
+
+msgctxt "IDS_LOGO_AUTHOR"
+msgid "Author unknown. Contact us if you made this logo!"
+msgstr "Ðутор је непознат. Контактирајте Ð½Ð°Ñ Ð°ÐºÐ¾ Ñте то ви!"
+
+msgctxt "IDS_NO_MORE_MEDIA"
+msgid "No more media in the current folder."
+msgstr "Ðема више медија у тренутној фаÑцикли."
+
+msgctxt "IDS_FIRST_IN_FOLDER"
+msgid "The first file of the folder is already loaded."
+msgstr "Прва датотека фаÑцикле је већ учитана."
+
+msgctxt "IDS_LAST_IN_FOLDER"
+msgid "The last file of the folder is already loaded."
+msgstr "ПоÑледња датотека фаÑцикле је већ учитана."
+
+msgctxt "IDS_FRONT_LEFT"
+msgid "Front Left"
+msgstr "Предњи леви"
+
+msgctxt "IDS_FRONT_RIGHT"
+msgid "Front Right"
+msgstr "Предњи деÑни"
+
+msgctxt "IDS_FRONT_CENTER"
+msgid "Front Center"
+msgstr "Предњи центар"
+
+msgctxt "IDS_LOW_FREQUENCY"
+msgid "Low Frequency"
+msgstr "Сабвуфер"
+
+msgctxt "IDS_BACK_LEFT"
+msgid "Back Left"
+msgstr "Задњи леви"
+
+msgctxt "IDS_BACK_RIGHT"
+msgid "Back Right"
+msgstr "Задњи деÑни"
+
+msgctxt "IDS_FRONT_LEFT_OF_CENTER"
+msgid "Front Left of Center"
+msgstr "Предњи леви од центра"
+
+msgctxt "IDS_FRONT_RIGHT_OF_CENTER"
+msgid "Front Right of Center"
+msgstr "Предњи деÑни од центра"
+
+msgctxt "IDS_BACK_CENTER"
+msgid "Back Center"
+msgstr "Задњи центар"
+
+msgctxt "IDS_SIDE_LEFT"
+msgid "Side Left"
+msgstr "Леви Ñа Ñтране"
+
+msgctxt "IDS_SIDE_RIGHT"
+msgid "Side Right"
+msgstr "ДеÑни Ñа Ñтране"
+
+msgctxt "IDS_TOP_CENTER"
+msgid "Top Center"
+msgstr "Врх центар"
+
+msgctxt "IDS_TOP_FRONT_LEFT"
+msgid "Top Front Left"
+msgstr "Врх предњи леви"
+
+msgctxt "IDS_TOP_FRONT_CENTER"
+msgid "Top Front Center"
+msgstr "Врх предњи центар"
+
+msgctxt "IDS_TOP_FRONT_RIGHT"
+msgid "Top Front Right"
+msgstr "Врх предњи деÑни"
+
+msgctxt "IDS_TOP_BACK_LEFT"
+msgid "Top Back Left"
+msgstr "Врх задњи леви"
+
+msgctxt "IDS_TOP_BACK_CENTER"
+msgid "Top Back Center"
+msgstr "Врх задњи центар"
+
+msgctxt "IDS_TOP_BACK_RIGHT"
+msgid "Top Back Right"
+msgstr "Врх задњи деÑни"
+
+msgctxt "IDS_AG_RESET_STATS"
+msgid "Reset Display Stats"
+msgstr "Поништи ÑтатиÑтику"
+
+msgctxt "IDD_PPAGESUBMISC"
+msgid "Subtitles::Misc"
+msgstr "Титлови::Разно"
+
+msgctxt "IDS_VIEW_BORDERLESS"
+msgid "Hide &borders"
+msgstr "Сакриј &ивице"
+
+msgctxt "IDS_VIEW_FRAMEONLY"
+msgid "Frame Only"
+msgstr "Само кадар"
+
+msgctxt "IDS_VIEW_CAPTIONMENU"
+msgid "Sho&w Caption&&Menu"
+msgstr "Прикажи &наÑлов и мени"
+
+msgctxt "IDS_VIEW_HIDEMENU"
+msgid "Hide &Menu"
+msgstr "Сакриј &мени"
+
+msgctxt "IDD_PPAGEADVANCED"
+msgid "Advanced"
+msgstr "Ðапредно"
+
+msgctxt "IDS_TIME_TOOLTIP_ABOVE"
+msgid "Above seekbar"
+msgstr "изнад траке за премотавање"
+
+msgctxt "IDS_TIME_TOOLTIP_BELOW"
+msgid "Below seekbar"
+msgstr "иÑпод траке за премотавање"
+
+msgctxt "IDS_VIDEO_STREAM"
+msgid "Video: %s"
+msgstr "Видео: %s"
+
+msgctxt "IDS_APPLY"
+msgid "Apply"
+msgstr "Примени"
+
+msgctxt "IDS_CLEAR"
+msgid "Clear"
+msgstr "ОчиÑти"
+
+msgctxt "IDS_CANCEL"
+msgid "Cancel"
+msgstr "Откажи"
+
+msgctxt "IDS_THUMB_THUMBNAILS"
+msgid "Layout"
+msgstr "РаÑпоред"
+
+msgctxt "IDS_THUMB_PIXELS"
+msgid "Pixels:"
+msgstr "ПикÑела:"
+
+msgctxt "IDS_TEXTFILE_ENC"
+msgid "Encoding:"
+msgstr "Кодирање:"
+
+msgctxt "IDS_DISABLE_ALL_FILTERS"
+msgid "&Disable all filters"
+msgstr "&Онемогући Ñве филтере"
+
+msgctxt "IDS_ENABLE_AUDIO_FILTERS"
+msgid "Enable all audio decoders"
+msgstr "Омогући Ñве аудио-декодере"
+
+msgctxt "IDS_DISABLE_AUDIO_FILTERS"
+msgid "Disable all audio decoders"
+msgstr "Онемогући Ñве аудио-декодере"
+
+msgctxt "IDS_ENABLE_VIDEO_FILTERS"
+msgid "Enable all video decoders"
+msgstr "Омогући Ñве видео-декодере"
+
+msgctxt "IDS_DISABLE_VIDEO_FILTERS"
+msgid "Disable all video decoders"
+msgstr "Онемогући Ñве видео-декодере"
+
+msgctxt "IDS_STRETCH_TO_WINDOW"
+msgid "Stretch To Window"
+msgstr "РаÑтегни до величине прозора"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_INSIDE"
+msgid "Touch Window From Inside"
+msgstr "Додирни прозор изнутра"
+
+msgctxt "IDS_ZOOM1"
+msgid "Zoom 1"
+msgstr "Зум 1"
+
+msgctxt "IDS_ZOOM2"
+msgid "Zoom 2"
+msgstr "Зум 2"
+
+msgctxt "IDS_TOUCH_WINDOW_FROM_OUTSIDE"
+msgid "Touch Window From Outside"
+msgstr "Додирни прозор Ñпоља"
+
+msgctxt "IDS_AUDIO_STREAM"
+msgid "Audio: %s"
+msgstr "Ðудио: %s"
+
+msgctxt "IDS_AG_REOPEN"
+msgid "Reopen File"
+msgstr "Поново отвори датотеку"
+
+msgctxt "IDS_MFMT_AVI"
+msgid "AVI"
+msgstr "AVI"
+
+msgctxt "IDS_MFMT_MPEG"
+msgid "MPEG"
+msgstr "MPEG"
+
+msgctxt "IDS_MFMT_MPEGTS"
+msgid "MPEG-TS"
+msgstr "MPEG-TS"
+
+msgctxt "IDS_MFMT_DVDVIDEO"
+msgid "DVD-Video"
+msgstr "DVD-Video"
+
+msgctxt "IDS_MFMT_MKV"
+msgid "Matroska"
+msgstr "Matroska"
+
+msgctxt "IDS_MFMT_WEBM"
+msgid "WebM"
+msgstr "WebM"
+
+msgctxt "IDS_MFMT_MP4"
+msgid "MP4"
+msgstr "MP4"
+
+msgctxt "IDS_MFMT_MOV"
+msgid "QuickTime Movie"
+msgstr "QuickTime Movie"
+
+msgctxt "IDS_MFMT_3GP"
+msgid "3GP"
+msgstr "3GP"
+
+msgctxt "IDS_MFMT_3G2"
+msgid "3G2"
+msgstr "3G2"
+
+msgctxt "IDS_MFMT_FLV"
+msgid "Flash Video"
+msgstr "Flash Video"
+
+msgctxt "IDS_MFMT_OGM"
+msgid "Ogg Media"
+msgstr "Ogg Media"
+
+msgctxt "IDS_MFMT_RM"
+msgid "Real Media"
+msgstr "RealMedia"
+
+msgctxt "IDS_MFMT_RT"
+msgid "Real Script"
+msgstr "Real Script"
+
+msgctxt "IDS_MFMT_WMV"
+msgid "Windows Media Video"
+msgstr "Windows Media Video"
+
+msgctxt "IDS_MFMT_BINK"
+msgid "Smacker/Bink Video"
+msgstr "Smacker/Bink Video"
+
+msgctxt "IDS_MFMT_FLIC"
+msgid "FLIC Animation"
+msgstr "FLIC Animation"
+
+msgctxt "IDS_MFMT_DSM"
+msgid "DirectShow Media"
+msgstr "DirectShow Media"
+
+msgctxt "IDS_MFMT_IVF"
+msgid "Indeo Video Format"
+msgstr "Indeo Video Format"
+
+msgctxt "IDS_MFMT_OTHER"
+msgid "Other"
+msgstr "Друго"
+
+msgctxt "IDS_MFMT_SWF"
+msgid "Shockwave Flash"
+msgstr "Shockwave Flash"
+
+msgctxt "IDS_MFMT_OTHER_AUDIO"
+msgid "Other Audio"
+msgstr "Други аудио-формати"
+
+msgctxt "IDS_MFMT_AC3"
+msgid "AC-3/DTS"
+msgstr "AC-3/DTS"
+
+msgctxt "IDS_MFMT_AIFF"
+msgid "AIFF"
+msgstr "AIFF"
+
+msgctxt "IDS_MFMT_ALAC"
+msgid "Apple Lossless"
+msgstr "Apple Lossless"
+
+msgctxt "IDS_MFMT_AMR"
+msgid "AMR"
+msgstr "AMR"
+
+msgctxt "IDS_MFMT_APE"
+msgid "Monkey's Audio"
+msgstr "Monkey's Audio"
+
+msgctxt "IDS_MFMT_AU"
+msgid "AU/SND"
+msgstr "AU/SND"
+
+msgctxt "IDS_MFMT_CDA"
+msgid "Audio CD track"
+msgstr "Audio CD Track"
+
+msgctxt "IDS_MFMT_FLAC"
+msgid "FLAC"
+msgstr "FLAC"
+
+msgctxt "IDS_MFMT_M4A"
+msgid "MPEG-4 Audio"
+msgstr "MPEG-4 Audio"
+
+msgctxt "IDS_MFMT_MIDI"
+msgid "MIDI"
+msgstr "MIDI"
+
+msgctxt "IDS_MFMT_MKA"
+msgid "Matroska audio"
+msgstr "Matroska Audio"
+
+msgctxt "IDS_MFMT_MP3"
+msgid "MP3"
+msgstr "MP3"
+
+msgctxt "IDS_MFMT_MPA"
+msgid "MPEG audio"
+msgstr "MPEG audio"
+
+msgctxt "IDS_MFMT_MPC"
+msgid "Musepack"
+msgstr "Musepack"
+
+msgctxt "IDS_MFMT_OFR"
+msgid "OptimFROG"
+msgstr "OptimFROG"
+
+msgctxt "IDS_MFMT_OGG"
+msgid "Ogg Vorbis"
+msgstr "Ogg Vorbis"
+
+msgctxt "IDS_MFMT_RA"
+msgid "Real Audio"
+msgstr "Real Audio"
+
+msgctxt "IDS_MFMT_TAK"
+msgid "TAK"
+msgstr "TAK"
+
+msgctxt "IDS_MFMT_TTA"
+msgid "True Audio"
+msgstr "True Audio"
+
+msgctxt "IDS_MFMT_WAV"
+msgid "WAV"
+msgstr "WAV"
+
+msgctxt "IDS_MFMT_WMA"
+msgid "Windows Media Audio"
+msgstr "Windows Media Audio"
+
+msgctxt "IDS_MFMT_WV"
+msgid "WavPack"
+msgstr "WavPack"
+
+msgctxt "IDS_MFMT_OPUS"
+msgid "Opus Audio Codec"
+msgstr "Opus Audio Codec"
+
+msgctxt "IDS_MFMT_PLS"
+msgid "Playlist"
+msgstr "Плеј-лиÑта"
+
+msgctxt "IDS_MFMT_BDPLS"
+msgid "Blu-ray playlist"
+msgstr "Blu-ray плеј-лиÑта"
+
+msgctxt "IDS_MFMT_RAR"
+msgid "RAR Archive"
+msgstr "RAR архива"
+
+msgctxt "IDS_DVB_CHANNEL_FPS"
+msgid "FPS"
+msgstr "FPS"
+
+msgctxt "IDS_DVB_CHANNEL_RESOLUTION"
+msgid "Resolution"
+msgstr "Резолуција"
+
+msgctxt "IDS_DVB_CHANNEL_ASPECT_RATIO"
+msgid "Aspect Ratio"
+msgstr "ÐžÐ´Ð½Ð¾Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑина"
+
+msgctxt "IDS_ARS_WASAPI_MODE"
+msgid "Use WASAPI (restart playback)"
+msgstr "WASAPI (потребна поновна репродукција)"
+
+msgctxt "IDS_ARS_MUTE_FAST_FORWARD"
+msgid "Mute on fast forward"
+msgstr "ИÑкључи звук при премотавању"
+
+msgctxt "IDS_ARS_SOUND_DEVICE"
+msgid "Sound Device:"
+msgstr "Уређај за звук:"
+
+msgctxt "IDS_OSD_RS_VSYNC_ON"
+msgid "VSync: On"
+msgstr "Вертикална Ñинхронизација: укључено"
+
+msgctxt "IDS_OSD_RS_VSYNC_OFF"
+msgid "VSync: Off"
+msgstr "Вертикална Ñинхронизација: иÑкључено"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_ON"
+msgid "Accurate VSync: On"
+msgstr "Прецизна вертикална Ñинхронизација: укључено"
+
+msgctxt "IDS_OSD_RS_ACCURATE_VSYNC_OFF"
+msgid "Accurate VSync: Off"
+msgstr "Прецизна вертикална Ñинхронизација: иÑкључено"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_ON"
+msgid "Synchronize Video to Display: On"
+msgstr "Синхронизовање видеа Ñа приказом: укључено"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_DISPLAY_OFF"
+msgid "Synchronize Video to Display: Off"
+msgstr "Синхронизовање видеа Ñа приказом: иÑкључено"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_ON"
+msgid "Synchronize Display to Video: On"
+msgstr "Синхронизовање приказа Ñа видеом: укључено"
+
+msgctxt "IDS_OSD_RS_SYNC_TO_VIDEO_OFF"
+msgid "Synchronize Display to Video: Off"
+msgstr "Синхронизовање приказа Ñа видеом: иÑкључено"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_ON"
+msgid "Present at Nearest VSync: On"
+msgstr "Прикажи Ñа најближом верт. Ñинхр.: укључено"
+
+msgctxt "IDS_OSD_RS_PRESENT_NEAREST_OFF"
+msgid "Present at Nearest VSync: Off"
+msgstr "Прикажи Ñа најближом верт. Ñинхр.: иÑкључено"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_ON"
+msgid "Color Management: On"
+msgstr "Управљање бојама: укључено"
+
+msgctxt "IDS_OSD_RS_COLOR_MANAGEMENT_OFF"
+msgid "Color Management: Off"
+msgstr "Управљање бојама: иÑкључено"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
+msgid "Input Type: Auto-Detect"
+msgstr "Тип улаза: аутоматÑки"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
+msgid "Input Type: HDTV"
+msgstr "Тип улаза: HDTV"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_NTSC"
+msgid "Input Type: SDTV NTSC"
+msgstr "Тип улаза: SDTV NTSC"
+
+msgctxt "IDS_OSD_RS_INPUT_TYPE_SD_PAL"
+msgid "Input Type: SDTV PAL"
+msgstr "Тип улаза: SDTV PAL"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_BRIGHT"
+msgid "Ambient Light: Bright (2.2 Gamma)"
+msgstr "Околна оÑветљеноÑÑ‚: Ñветло (гама 2.2)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DIM"
+msgid "Ambient Light: Dim (2.35 Gamma)"
+msgstr "Околна оÑветљеноÑÑ‚: затамњено (гама 2.35)"
+
+msgctxt "IDS_OSD_RS_AMBIENT_LIGHT_DARK"
+msgid "Ambient Light: Dark (2.4 Gamma)"
+msgstr "Околна оÑветљеноÑÑ‚: тамно (гама 2.4)"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_PERCEPT"
+msgid "Rendering Intent: Perceptual"
+msgstr "Циљ рендеровања: перцепција"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_RELATIVE"
+msgid "Rendering Intent: Relative Colorimetric"
+msgstr "Циљ рендеровања: релативна колориметрија"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_SATUR"
+msgid "Rendering Intent: Saturation"
+msgstr "Циљ рендеровања: заÑићеноÑÑ‚"
+
+msgctxt "IDS_OSD_RS_REND_INTENT_ABSOLUTE"
+msgid "Rendering Intent: Absolute Colorimetric"
+msgstr "Циљ рендеровања: апÑолутна колориметрија"
+
+msgctxt "IDS_OSD_RS_OUTPUT_RANGE"
+msgid "Output Range: %s"
+msgstr "Излазни опÑег: %s"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_ON"
+msgid "Flush GPU before VSync: On"
+msgstr "ИÑпразни GPU пре верт. Ñинхр.: укључено"
+
+msgctxt "IDS_OSD_RS_FLUSH_BEF_VSYNC_OFF"
+msgid "Flush GPU before VSync: Off"
+msgstr "ИÑпразни GPU пре верт. Ñинхр.: иÑкључено"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_ON"
+msgid "Flush GPU after Present: On"
+msgstr "ИÑпразни GPU након репродукције: укључено"
+
+msgctxt "IDS_OSD_RS_FLUSH_AFT_PRES_OFF"
+msgid "Flush GPU after Present: Off"
+msgstr "ИÑпразни GPU након репродукције: иÑкључено"
+
+msgctxt "IDS_OSD_RS_WAIT_ON"
+msgid "Wait for GPU Flush: On"
+msgstr "Чекај на пражњење GPU-а: укључено"
+
+msgctxt "IDS_OSD_RS_WAIT_OFF"
+msgid "Wait for GPU Flush: Off"
+msgstr "Чекај на пражњење GPU-а: иÑкључено"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_ON"
+msgid "D3D Fullscreen: On"
+msgstr "D3D режим целог екрана: укључено"
+
+msgctxt "IDS_OSD_RS_D3D_FULLSCREEN_OFF"
+msgid "D3D Fullscreen: Off"
+msgstr "D3D режим целог екрана: иÑкључено"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_ON"
+msgid "Disable desktop composition: On"
+msgstr "Онемогући ÑаÑтављање радне површине: укључено"
+
+msgctxt "IDS_OSD_RS_NO_DESKTOP_COMP_OFF"
+msgid "Disable desktop composition: Off"
+msgstr "Онемогући ÑаÑтављање радне површине: иÑкључено"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_ON"
+msgid "Alternative VSync: On"
+msgstr "Ðлтернативна вертикална Ñинхронизација: укључено"
+
+msgctxt "IDS_OSD_RS_ALT_VSYNC_OFF"
+msgid "Alternative VSync: Off"
+msgstr "Ðлтернативна вертикална Ñинхронизација: иÑкључено"
+
+msgctxt "IDS_OSD_RS_RESET_DEFAULT"
+msgid "Renderer settings reset to default"
+msgstr "ПоÑтавке рендерера Ñу враћене на подразумеване"
+
+msgctxt "IDS_OSD_RS_RESET_OPTIMAL"
+msgid "Renderer settings reset to optimal"
+msgstr "ПоÑтавке рендерера Ñу враћене на оптималне"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_ON"
+msgid "D3D Fullscreen GUI Support: On"
+msgstr "D3D режим целог екрана уз GUI: укључено"
+
+msgctxt "IDS_OSD_RS_D3D_FS_GUI_SUPP_OFF"
+msgid "D3D Fullscreen GUI Support: Off"
+msgstr "D3D режим целог екрана уз GUI: иÑкључено"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_ON"
+msgid "10-bit RGB Output: On"
+msgstr "10-битни RGB излаз: укључено"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_OUT_OFF"
+msgid "10-bit RGB Output: Off"
+msgstr "10-битни RGB излаз: иÑкључено"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_ON"
+msgid "Force 10-bit RGB Input: On"
+msgstr "Ðаметни 10-битни RGB улаз: укључено"
+
+msgctxt "IDS_OSD_RS_10BIT_RBG_IN_OFF"
+msgid "Force 10-bit RGB Input: Off"
+msgstr "Ðаметни 10-битни RGB улаз: иÑкључено"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_ON"
+msgid "Full Floating Point Processing: On"
+msgstr "Обрада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа потпуном прецизношћу: укључено"
+
+msgctxt "IDS_OSD_RS_FULL_FP_PROCESS_OFF"
+msgid "Full Floating Point Processing: Off"
+msgstr "Обрада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа потпуном прецизношћу: иÑкључено"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_ON"
+msgid "Half Floating Point Processing: On"
+msgstr "Обрада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа половичном прецизношћу: укључено"
+
+msgctxt "IDS_OSD_RS_HALF_FP_PROCESS_OFF"
+msgid "Half Floating Point Processing: Off"
+msgstr "Обрада броја Ñ Ð¿Ð¾ÐºÑ€ÐµÑ‚Ð½Ð¸Ð¼ зарезом Ñа половичном прецизношћу: иÑкључено"
+
+msgctxt "IDS_BRIGHTNESS_DEC"
+msgid "Brightness decrease"
+msgstr "Смањи оÑветљеноÑÑ‚"
+
+msgctxt "IDS_CONTRAST_INC"
+msgid "Contrast increase"
+msgstr "Повећај контраÑÑ‚"
+
+msgctxt "IDS_CONTRAST_DEC"
+msgid "Contrast decrease"
+msgstr "Смањи контраÑÑ‚"
+
+msgctxt "IDS_HUE_INC"
+msgid "Hue increase"
+msgstr "Повећај нијанÑе"
+
+msgctxt "IDS_HUE_DEC"
+msgid "Hue decrease"
+msgstr "Смањи нијанÑе"
+
+msgctxt "IDS_SATURATION_INC"
+msgid "Saturation increase"
+msgstr "Повећај заÑићеноÑÑ‚"
+
+msgctxt "IDS_SATURATION_DEC"
+msgid "Saturation decrease"
+msgstr "Смањи заÑићеноÑÑ‚"
+
+msgctxt "IDS_RESET_COLOR"
+msgid "Reset color settings"
+msgstr "Врати подразумеване поÑтавке боје"
+
+msgctxt "IDS_USING_LATEST_STABLE"
+msgid "\nYou are already using the latest stable version."
+msgstr "\nВећ кориÑтите најновију Ñтабилну верзију."
+
+msgctxt "IDS_USING_NEWER_VERSION"
+msgid "Your current version is v%s.\n\nThe latest stable version is v%s."
+msgstr "Ваша тренутна верзија је %s.\n\nÐајновија Ñтабилна верзија је %s."
+
+msgctxt "IDS_NEW_UPDATE_AVAILABLE"
+msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
+msgstr "MPC-HC %s је доÑтупан. Ви кориÑтите верзију %s.\n\nЖелите ли да поÑетите веб-Ñајт MPC-HC-а и преузмете нову верзију?"
+
+msgctxt "IDS_UPDATE_ERROR"
+msgid "Update server not found.\n\nPlease check your internet connection or try again later."
+msgstr "Сервер за ажурирања није пронађен.\n\nПроверите везу Ñа интернетом или покушајте каÑније."
+
+msgctxt "IDS_UPDATE_CLOSE"
+msgid "&Close"
+msgstr "&Затвори"
+
+msgctxt "IDS_OSD_ZOOM"
+msgid "Zoom: %.0lf%%"
+msgstr "Зум: %.0lf%%"
+
+msgctxt "IDS_OSD_ZOOM_AUTO"
+msgid "Zoom: Auto"
+msgstr "Зум: аутоматÑки"
+
+msgctxt "IDS_CUSTOM_CHANNEL_MAPPING"
+msgid "Toggle custom channel mapping"
+msgstr "Укључи/иÑкључи мапирање прилагођених канала"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_ON"
+msgid "Custom channel mapping: On"
+msgstr "Мапирање прилагођених канала: укључено"
+
+msgctxt "IDS_OSD_CUSTOM_CH_MAPPING_OFF"
+msgid "Custom channel mapping: Off"
+msgstr "Мапирање прилагођених канала: иÑкључено"
+
+msgctxt "IDS_NORMALIZE"
+msgid "Toggle normalization"
+msgstr "Укључи/иÑкључи нормализацију"
+
+msgctxt "IDS_OSD_NORMALIZE_ON"
+msgid "Normalization: On"
+msgstr "Ðормализација: укључено"
+
+msgctxt "IDS_OSD_NORMALIZE_OFF"
+msgid "Normalization: Off"
+msgstr "Ðормализација: иÑкључено"
+
+msgctxt "IDS_REGAIN_VOLUME"
+msgid "Toggle regain volume"
+msgstr "Укључи/иÑкључи враћање јачине звука"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_ON"
+msgid "Regain volume: On"
+msgstr "Враћање јачине звука: укључено"
+
+msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
+msgid "Regain volume: Off"
+msgstr "Враћање јачине звука: иÑкључено"
+
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "бајтова"
+
+msgctxt "IDS_SIZE_UNIT_K"
+msgid "KB"
+msgstr "KB"
+
+msgctxt "IDS_SIZE_UNIT_M"
+msgid "MB"
+msgstr "MB"
+
+msgctxt "IDS_SIZE_UNIT_G"
+msgid "GB"
+msgstr "GB"
+
+msgctxt "IDS_SPEED_UNIT_K"
+msgid "KB/s"
+msgstr "KB/Ñ"
+
+msgctxt "IDS_SPEED_UNIT_M"
+msgid "MB/s"
+msgstr "MB/Ñ"
+
+msgctxt "IDS_BDA_ERROR_CREATE_TUNER"
+msgid "Could not create the tuner."
+msgstr "Ðе могу да креирам тјунер."
+
+msgctxt "IDS_BDA_ERROR_CREATE_RECEIVER"
+msgid "Could not create the receiver."
+msgstr "Ðе могу да креирам пријемник."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_NW_TUNER"
+msgid "Could not connect the network and the tuner."
+msgstr "Ðе могу да повежем мрежу и тјунер."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER_REC"
+msgid "Could not connect the tuner and the receiver."
+msgstr "Ðе могу да повежем тјунер и пријемник."
+
+msgctxt "IDS_BDA_ERROR_CONNECT_TUNER"
+msgid "Could not connect the tuner."
+msgstr "Ðе могу да повежем тјунер."
+
+msgctxt "IDS_BDA_ERROR_DEMULTIPLEXER"
+msgid "Could not create the demultiplexer."
+msgstr "Ðе могу да креирам демултиплекÑер."
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TIME"
+msgid "Error parsing the entered time!"
+msgstr "Грешка приликом обраде наведеног времена!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_TEXT"
+msgid "Error parsing the entered text!"
+msgstr "Грешка приликом обраде наведеног текÑта!"
+
+msgctxt "IDS_GOTO_ERROR_PARSING_FPS"
+msgid "Error parsing the entered frame rate!"
+msgstr "Грешка приликом обраде наведене учеÑталоÑти кадрова!"
+
+msgctxt "IDS_FRAME_STEP_ERROR_RENDERER"
+msgid "Cannot frame step, try a different video renderer."
+msgstr "Ðе могу да премотавам по кадровима. Пробајте други видео-рендерер."
+
+msgctxt "IDS_SCREENSHOT_ERROR_REAL"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for RealMedia.\nSelect one of the DirectX renderers for RealMedia in MPC-HC's output options and reopen the file."
+msgstr "Функције „Сачувај Ñлику“ и „Сачувај Ñличице“ не раде Ñа подразумеваним видео-рендерером за RealMedia.\nИзаберите један од DirectX рендерера за RealMedia у MPC-HC-овим излазним опцијама и поново отворите датотеку."
+
+msgctxt "IDS_SCREENSHOT_ERROR_QT"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the default video renderer for QuickTime.\nSelect one of the DirectX renderers for QuickTime in MPC-HC's output options and reopen the file."
+msgstr "Функције „Сачувај Ñлику“ и „Сачувај Ñличице“ не раде Ñа подразумеваним видео-рендерером за QuickTime.\nИзаберите један од DirectX рендерера за QuickTime у MPC-HC-овим излазним опцијама и поново отворите датотеку."
+
+msgctxt "IDS_SCREENSHOT_ERROR_SHOCKWAVE"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work for Shockwave files."
+msgstr "Функције „Сачувај Ñлику“ и „Сачувај Ñличице“ не раде Ñа Shockwave датотекама."
+
+msgctxt "IDS_SCREENSHOT_ERROR_OVERLAY"
+msgid "The \"Save Image\" and \"Save Thumbnails\" functions do not work with the Overlay Mixer video renderer.\nChange the video renderer in MPC's output options and reopen the file."
+msgstr "Функције „Сачувај Ñлику“ и „Сачувај Ñличице“ не раде Ñа видео-рендерером Overlay Mixer.\nПромените га у MPC-HC-овим излазним опцијама и поново отворите датотеку."
+
+msgctxt "IDS_SUBDL_DLG_CONNECT_ERROR"
+msgid "Cannot connect to the online subtitles database."
+msgstr "Ðе могу да Ñе повежем Ñа базом титлова на мрежи."
+
+msgctxt "IDS_MB_SHOW_EDL_EDITOR"
+msgid "Do you want to activate the EDL editor?"
+msgstr "Желите ли да активирате EDL уређивач?"
+
+msgctxt "IDS_CAPTURE_ERROR"
+msgid "Capture Error"
+msgstr "Грешка при Ñнимању"
+
+msgctxt "IDS_CAPTURE_ERROR_VIDEO"
+msgid "video"
+msgstr "видео"
+
+msgctxt "IDS_CAPTURE_ERROR_AUDIO"
+msgid "audio"
+msgstr "аудио"
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_BUFFER"
+msgid "Can't add the %s buffer filter to the graph."
+msgstr "Ðе могу да додам филтер бафера %s у графикон."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_BUFF"
+msgid "Can't connect the %s buffer filter to the graph."
+msgstr "Ðе могу да повежем филтер бафера %s Ñа графиконом."
+
+msgctxt "IDS_CAPTURE_ERROR_ADD_ENCODER"
+msgid "Can't add the %s encoder filter to the graph."
+msgstr "Ðе могу да додам филтер за кодирање %s у графикон."
+
+msgctxt "IDS_CAPTURE_ERROR_CONNECT_ENC"
+msgid "Can't connect the %s encoder filter to the graph."
+msgstr "Ðе могу да повежем филтер за кодирање %s Ñа графиконом."
+
+msgctxt "IDS_CAPTURE_ERROR_COMPRESSION"
+msgid "Can't set the compression format on the %s encoder filter."
+msgstr "Ðе могу да поÑтавим формат за компримирање на филтер за кодирање %s."
+
+msgctxt "IDS_CAPTURE_ERROR_MULTIPLEXER"
+msgid "Can't connect the %s stream to the multiplexer filter."
+msgstr "Ðе могу да повежем ток %s Ñа филтером за мултиплекÑирање."
+
+msgctxt "IDS_CAPTURE_ERROR_VID_CAPT_PIN"
+msgid "No video capture pin was found."
+msgstr "Ðије пронађен пин за Ñнимање видео-запиÑа."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_CAPT_PIN"
+msgid "No audio capture pin was found."
+msgstr "Ðије пронађен пин за Ñнимање аудио-запиÑа."
+
+msgctxt "IDS_CAPTURE_ERROR_OUT_FILE"
+msgid "Error initializing the output file."
+msgstr "Грешка при покретању излазне датотеке."
+
+msgctxt "IDS_CAPTURE_ERROR_AUD_OUT_FILE"
+msgid "Error initializing the audio output file."
+msgstr "Грешка при покретању излазне аудио-датотеке."
+
+msgctxt "IDS_SUBRESYNC_TIME_FORMAT"
+msgid "The correct time format is [-]hh:mm:ss.ms (e.g. 01:23:45.678)."
+msgstr "ИÑправан формат времена је [-]hh:mm:ss.ms (нпр. 01:23:45.678)."
+
+msgctxt "IDS_EXTERNAL_FILTERS_ERROR_MT"
+msgid "This type is already in the list!"
+msgstr "Овај тип је већ на ÑпиÑку!"
+
+msgctxt "IDS_WEBSERVER_ERROR_TEST"
+msgid "You need to apply the new settings before testing them."
+msgstr "Потребно је да примените нове поÑтавке пре њиховог теÑтирања."
+
+msgctxt "IDS_AFTERPLAYBACK_CLOSE"
+msgid "After Playback: Exit"
+msgstr "Ðакон репродукције: изађи из програма"
+
+msgctxt "IDS_AFTERPLAYBACK_STANDBY"
+msgid "After Playback: Stand By"
+msgstr "Ðакон репродукције: пређи у Ñтање приправноÑти"
+
+msgctxt "IDS_AFTERPLAYBACK_HIBERNATE"
+msgid "After Playback: Hibernate"
+msgstr "Ðакон репродукције: пређи у хибернацију"
+
+msgctxt "IDS_AFTERPLAYBACK_SHUTDOWN"
+msgid "After Playback: Shutdown"
+msgstr "Ðакон репродукције: иÑкључи рачунар"
+
+msgctxt "IDS_AFTERPLAYBACK_LOGOFF"
+msgid "After Playback: Log Off"
+msgstr "Ðакон репродукције: одјави кориÑника"
+
+msgctxt "IDS_AFTERPLAYBACK_LOCK"
+msgid "After Playback: Lock"
+msgstr "Ðакон репродукције: закључај рачунар"
+
+msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
+msgid "After Playback: Turn off the monitor"
+msgstr "Ðакон репродукције: иÑкључи монитор"
+
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Ðакон репродукције: пуÑти Ñледећу датотеку"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Ðакон репродукције: не ради ништа"
+
+msgctxt "IDS_OSD_BRIGHTNESS"
+msgid "Brightness: %s"
+msgstr "ОÑветљеноÑÑ‚: %s"
+
+msgctxt "IDS_OSD_CONTRAST"
+msgid "Contrast: %s"
+msgstr "КонтраÑÑ‚: %s"
+
+msgctxt "IDS_OSD_HUE"
+msgid "Hue: %s°"
+msgstr "ÐијанÑа: %s°"
+
+msgctxt "IDS_OSD_SATURATION"
+msgid "Saturation: %s"
+msgstr "ЗаÑићеноÑÑ‚: %s"
+
+msgctxt "IDS_OSD_RESET_COLOR"
+msgid "Color settings restored"
+msgstr "Враћене Ñу поÑтавке боје"
+
+msgctxt "IDS_OSD_NO_COLORCONTROL"
+msgid "Color control is not supported"
+msgstr "Управљање бојама није подржано"
+
+msgctxt "IDS_BRIGHTNESS_INC"
+msgid "Brightness increase"
+msgstr "Повећај оÑветљеноÑÑ‚"
+
+msgctxt "IDS_LANG_PREF_EXAMPLE"
+msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
+msgstr "Овде унеÑите жељене језике.\nÐа пример: „eng jap swe“"
+
+msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
+msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
+msgstr "Спољни разделници могу да имају ÑопÑтвене поÑтавке језика; подразумевано понашање MPC-HC-а је да не мења њихов првобитни избор.\nОмогућите ову опцију ако желите да MPC-HC управља Ñпољним разделницима."
+
+msgctxt "IDS_NAVIGATE_BD_PLAYLISTS"
+msgid "&Blu-Ray playlists"
+msgstr "&Blu-ray плеј-лиÑте"
+
+msgctxt "IDS_NAVIGATE_PLAYLIST"
+msgid "&Playlist"
+msgstr "&Плеј-лиÑта"
+
+msgctxt "IDS_NAVIGATE_CHAPTERS"
+msgid "&Chapters"
+msgstr "По&главља"
+
+msgctxt "IDS_NAVIGATE_TITLES"
+msgid "&Titles"
+msgstr "&ÐаÑлови"
+
+msgctxt "IDS_NAVIGATE_CHANNELS"
+msgid "&Channels"
+msgstr "&Канали"
+
+msgctxt "IDC_FASTSEEK_CHECK"
+msgid "If \"latest keyframe\" is selected, seek to the first keyframe before the actual seek point.\nIf \"nearest keyframe\" is selected, seek to the first keyframe before or after the seek point depending on which is the closest."
+msgstr "Ðко је изабран „поÑледњи кључни кадар“, премотајте на први кључни кадар пре жељене тачке.\nУ Ñлучају да је изабран „најближи кључни кадар“, онда премотајте на први кључни кадар пре жељене тачке или поÑле ње, завиÑно од тога који је ближи."
+
+msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
+msgid "Associate with all formats"
+msgstr "Повежи Ñа Ñвим форматима"
+
+msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
+msgid "Associate with video formats only"
+msgstr "Повежи Ñамо Ñа форматима видео-запиÑа"
+
+msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
+msgid "Associate with audio formats only"
+msgstr "Повежи Ñамо Ñа форматима аудио-запиÑа"
+
+msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
+msgid "Clear all associations"
+msgstr "ОчиÑти Ñве повезаноÑти"
+
+msgctxt "IDS_FILTER_SETTINGS_CAPTION"
+msgid "Settings"
+msgstr "ПоÑтавке"
+
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot b/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
index 3e38c3f37..b82d9e9b5 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.strings.pot
@@ -1,10 +1,10 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -786,7 +786,7 @@ msgid "Couldn't find all archive volumes"
msgstr ""
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr ""
msgctxt "IDC_TEXTURESURF3D"
@@ -1333,6 +1333,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr ""
@@ -1534,11 +1570,11 @@ msgid "Reset Rate"
msgstr ""
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr ""
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr ""
msgctxt "IDS_MPLAYERC_23"
@@ -1694,7 +1730,7 @@ msgid "No subtitles found."
msgstr ""
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr ""
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2022,11 +2058,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr ""
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr ""
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2134,19 +2170,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ""
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ""
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ""
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ""
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ""
msgctxt "IDS_MAINFRM_42"
@@ -2234,7 +2270,7 @@ msgid "Aspect Ratio: Default"
msgstr ""
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr ""
msgctxt "IDS_AG_CHAPTER"
@@ -2474,7 +2510,7 @@ msgid "Volume boost Max"
msgstr ""
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
msgstr ""
msgctxt "IDS_UNKNOWN_SWITCH"
@@ -3273,6 +3309,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr ""
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr ""
@@ -3449,6 +3489,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr ""
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
index 0e33797b4..ce35bfaa8 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.dialogs.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
-# JellyFrog, 2013
+# JellyFrog, 2013-2014
# Apa <sakcheen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 19:20+0000\n"
+"PO-Revision-Date: 2014-12-09 03:30+0000\n"
"Last-Translator: Apa <sakcheen@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -75,7 +75,7 @@ msgstr "Spela in"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK2"
msgid "Enable built-in audio switcher filter (requires restart)"
-msgstr "Aktivera inbyggt ljudväxelfilter (omstart krävs)"
+msgstr "Aktivera inbyggt ljudomkopplings-filter (omstart krävs)"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK5"
msgid "Normalize"
@@ -107,7 +107,7 @@ msgstr "Ljudtidsförskjutning (ms):"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_CHECK1"
msgid "Enable custom channel mapping"
-msgstr "Aktivera anpassad kanalkartläggning"
+msgstr "Aktivera anpassad kanalmappning"
msgctxt "IDD_PPAGEAUDIOSWITCHER_IDC_STATIC1"
msgid "Speaker configuration for "
@@ -139,7 +139,7 @@ msgstr "GÃ¥!"
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Enter two numbers to jump to a specified frame, the first is the frame number, the second is the frame rate."
-msgstr "Ange två nummer för att gå till en viss bildruta, det första är numret för bildrutan, det andra är bildhastigheten."
+msgstr "Ange två nummer för att gå till en viss bildruta, det första är numret för bildrutan, det andra är bildfrekvensen."
msgctxt "IDD_GOTO_DLG_IDC_STATIC"
msgid "Frame"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Om"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 se Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 se Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -303,7 +303,7 @@ msgstr "Inaktivera \"Öppna Skiva\"-menyn"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
-msgstr "Processens prioritet högre än normal"
+msgstr "Spelarens prioritet högre än normal"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK14"
msgid "Enable cover-art support"
@@ -347,11 +347,11 @@ msgstr "\"Öppna DVD/BD\"-beteende"
msgctxt "IDD_PPAGEDVD_IDC_RADIO1"
msgid "Prompt for location"
-msgstr "Fråga efter plats"
+msgstr "Fråga efter sökväg"
msgctxt "IDD_PPAGEDVD_IDC_RADIO2"
msgid "Always open the default location:"
-msgstr "Öppna alltid standardplatsen: "
+msgstr "Öppna alltid standard-sökvägen: "
msgctxt "IDD_PPAGEDVD_IDC_STATIC"
msgid "Preferred language for DVD Navigator and the external OGM Splitter"
@@ -375,7 +375,7 @@ msgstr "Ytterligare inställningar"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "Tillåt dold text i \"linje 21-dekodern\""
+msgstr "Tillåt dold text i \"Line 21 Decoder\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -443,7 +443,7 @@ msgstr "%"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Default track preference"
-msgstr "Föredraget språkval"
+msgstr "Föredraget språk"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Subtitles:"
@@ -455,7 +455,7 @@ msgstr "Ljud:"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK4"
msgid "Allow overriding external splitter choice"
-msgstr "Tillåt att kringgå externa demultiplexers val"
+msgstr "Åsidosätt externa demultiplexers inställningar"
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Open settings"
@@ -463,7 +463,7 @@ msgstr "Öppna-inställningar"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK7"
msgid "Use worker thread to construct the filter graph"
-msgstr "Använd arbetstråden för att bygga filtergrafen"
+msgstr "Använd arbetstråden för att bygga filter-grafen"
msgctxt "IDD_PPAGEPLAYBACK_IDC_CHECK6"
msgid "Report pins which fail to render"
@@ -495,7 +495,7 @@ msgstr "Hastighetssteg:"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK3"
msgid "Override placement"
-msgstr "Åsidosätt placering"
+msgstr "Tvingad placering"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC1"
msgid "Horizontal:"
@@ -523,7 +523,7 @@ msgstr "ms"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Texture settings (open the video again to see the changes)"
-msgstr "Texturinställningar (öppna videon igen för att se förändringarna)"
+msgstr "Texturinställningar (ladda om videon för att se förändringarna)"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Sub pictures to buffer:"
@@ -551,11 +551,11 @@ msgstr "Animera vid"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC8"
msgid "% of the video frame rate"
-msgstr "% av videons bildhastighet"
+msgstr "% av videons bildfrekvens"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Tillåt att skippa några undertextbilder om kön ligger efter"
+msgstr "Hoppa över undertextbilder om kön ligger efter"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -563,7 +563,7 @@ msgstr "Renderarlayout"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_SUB_AR_COMPENSATION"
msgid "Apply aspect ratio compensation for anamorphic videos"
-msgstr "Använd bildförhållandekompensation för video med anamorfiskt format"
+msgstr "Använd bildförhållande-kompensering för videos med anamorfiskt format"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Warning"
@@ -571,7 +571,7 @@ msgstr "Varning"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "If you override and enable full-screen antialiasing somewhere at your videocard's settings, subtitles aren't going to look any better but it will surely eat your cpu."
-msgstr "Om du aktiverar helskärmskantutjämning i ditt grafikkorts inställningar kommer undertexter inte se bättre ut, men det kommer säkerligen att belasta din processor."
+msgstr "Om du aktiverar helskärmskantutjämning i ditt grafikkorts inställningar kommer undertexter inte se bättre ut, men det kommer troligen att belasta din processor."
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC2"
msgid "File extensions"
@@ -603,7 +603,7 @@ msgstr "Ange som stan&dardprogram"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
-msgstr "Real-Time Streaming Protocol-hanterare (för rtsp://... webbadresser)"
+msgstr "Real-Time Streaming Protocol-hanterare (för rtsp://... URLer)"
msgctxt "IDD_PPAGEFORMATS_IDC_RADIO1"
msgid "RealMedia"
@@ -619,7 +619,7 @@ msgstr "DirectShow"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK5"
msgid "Check file extension first"
-msgstr "Titta på filnamnstillägget först"
+msgstr "Kolla filnamnstillägget först"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Explorer Context Menu"
@@ -1047,11 +1047,11 @@ msgstr "Färger && Transparens"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "0%"
-msgstr "0 %"
+msgstr "0%"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "100%"
-msgstr "100 %"
+msgstr "100%"
msgctxt "IDD_PPAGESUBSTYLE_IDC_STATIC"
msgid "Primary"
@@ -1099,7 +1099,7 @@ msgstr "Ljuddekoder"
msgctxt "IDD_PPAGELOGO_IDC_RADIO1"
msgid "Internal:"
-msgstr "Intern:"
+msgstr "Inbyggd:"
msgctxt "IDD_PPAGELOGO_IDC_RADIO2"
msgid "External:"
@@ -1123,7 +1123,7 @@ msgstr "QuickTime Video"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "Audio Renderer"
-msgstr "DirectShow Ljud"
+msgstr "Ljudrenderare"
msgctxt "IDD_PPAGEOUTPUT_IDC_STATIC"
msgid "VMR-7/VMR-9 (renderless) and EVR (CP) settings"
@@ -1143,7 +1143,7 @@ msgstr "Välj D3D9 Render-enhet"
msgctxt "IDD_PPAGEOUTPUT_IDC_RESETDEVICE"
msgid "Reinitialize when changing display"
-msgstr "Ominitialisera när man växlar skärm"
+msgstr "Initiera om vid byte av skärm"
msgctxt "IDD_PPAGEOUTPUT_IDC_FULLSCREEN_MONITOR_CHECK"
msgid "D3D Fullscreen"
@@ -1195,7 +1195,7 @@ msgstr "Lyssna på port:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
-msgstr "Starta i webbläsare..."
+msgstr "Öppna i webbläsaren..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK3"
msgid "Enable compression"
@@ -1211,7 +1211,7 @@ msgstr "Skriv ut felsökningsinformation"
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK4"
msgid "Serve pages from:"
-msgstr "Leverera sidor från:"
+msgstr "Visa sidor från:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON1"
msgid "Browse..."
@@ -1219,7 +1219,7 @@ msgstr "Bläddra..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_BUTTON2"
msgid "Deploy..."
-msgstr "Distribuera..."
+msgstr "Exportera..."
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC"
msgid "Default page:"
@@ -1299,7 +1299,7 @@ msgstr "Exportera"
msgctxt "IDD_PPAGEMISC_IDC_EXPORT_KEYS"
msgid "Export keys"
-msgstr "Exportera knappar"
+msgstr "Exportera kortkommandon"
msgctxt "IDD_TUNER_SCAN_CAPTION"
msgid "Tuner scan"
@@ -1467,11 +1467,11 @@ msgstr "ms"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK6"
msgid "Hide docked panels"
-msgstr "Göm förankrade paneler"
+msgstr "Göm dockade paneler"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_CHECK5"
msgid "Exit fullscreen at the end of playback"
-msgstr "Avsluta helskärmsläge i slutet av uppspelningen"
+msgstr "Avsluta helskärmsläget efter uppspelningen"
msgctxt "IDD_PPAGEFULLSCREEN_IDC_STATIC"
msgid "Fullscreen monitor"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
index 709461154..02c9553da 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.menus.po
@@ -1,15 +1,15 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kasper93, 2013
-# JellyFrog, 2013
+# JellyFrog, 2013-2014
# Apa <sakcheen@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 21:10+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-12-09 03:30+0000\n"
"Last-Translator: Apa <sakcheen@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -172,15 +172,15 @@ msgstr "&Zoom"
msgctxt "ID_VIEW_ZOOM_50"
msgid "&50%"
-msgstr "&50 %"
+msgstr "&50%"
msgctxt "ID_VIEW_ZOOM_100"
msgid "&100%"
-msgstr "&100 %"
+msgstr "&100%"
msgctxt "ID_VIEW_ZOOM_200"
msgid "&200%"
-msgstr "&200 %"
+msgstr "&200%"
msgctxt "ID_VIEW_ZOOM_AUTOFIT"
msgid "Auto &Fit"
@@ -212,11 +212,11 @@ msgstr "Utmatningsomfång"
msgctxt "ID_VIEW_EVROUTPUTRANGE_0_255"
msgid "&0 - 255"
-msgstr "0 - 255"
+msgstr "&0 - 255"
msgctxt "ID_VIEW_EVROUTPUTRANGE_16_235"
msgid "&16 - 235"
-msgstr "16 - 235"
+msgstr "&16 - 235"
msgctxt "POPUP"
msgid "&Presentation"
@@ -420,23 +420,23 @@ msgstr "Standard"
msgctxt "ID_ASPECTRATIO_4_3"
msgid "&4:3"
-msgstr "4:3"
+msgstr "&4:3"
msgctxt "ID_ASPECTRATIO_5_4"
msgid "&5:4"
-msgstr "5:4"
+msgstr "&5:4"
msgctxt "ID_ASPECTRATIO_16_9"
msgid "&16:9"
-msgstr "16:9"
+msgstr "&16:9"
msgctxt "ID_ASPECTRATIO_235_100"
msgid "&235:100"
-msgstr "235:100"
+msgstr "&235:100"
msgctxt "ID_ASPECTRATIO_185_100"
msgid "1&85:100"
-msgstr "185:100"
+msgstr "1&85:100"
msgctxt "ID_VIEW_VF_COMPMONDESKARDIFF"
msgid "&Correct Monitor/Desktop AR Diff"
@@ -614,6 +614,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Stäng av &bildskärmen"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Spela &nästa fil i mappen"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Navigera"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
index e5f31d59c..12fa04c5e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.sv.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# JellyFrog, 2013-2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 23:00+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-09 03:40+0000\n"
"Last-Translator: Apa <sakcheen@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/mpc-hc/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -39,7 +39,7 @@ msgstr "Kapitel"
msgctxt "IDS_CONTROLS_COMPLETING"
msgid "Completing..."
-msgstr "Kompletterar..."
+msgstr "Slutför..."
msgctxt "IDS_AUTOPLAY_PLAYVIDEO"
msgid "Play Video"
@@ -163,7 +163,7 @@ msgstr "%d+"
msgctxt "IDS_NO_PARENTAL_RATING"
msgid "Not rated"
-msgstr "Ej klassificerad"
+msgstr "Ingen klassificering"
msgctxt "IDS_INFOBAR_CONTENT"
msgid "Content"
@@ -175,7 +175,7 @@ msgstr "Film/Drama"
msgctxt "IDS_CONTENT_NEWS_CURRENTAFFAIRS"
msgid "News/Current affairs"
-msgstr "Nyheter"
+msgstr "Nyheter/Aktuellt"
msgctxt "IDS_SPEED_UNIT_G"
msgid "GB/s"
@@ -235,7 +235,7 @@ msgstr "Stil"
msgctxt "IDS_SUBRESYNC_CLN_FONT"
msgid "Font"
-msgstr "Typsnitt"
+msgstr "Teckensnitt"
msgctxt "IDS_DVD_NAV_SOME_PINS_ERROR"
msgid "Failed to render some of the pins of the DVD Navigator filter"
@@ -323,15 +323,15 @@ msgstr "Spelningslista"
msgctxt "IDS_PPAGE_FS_CLN_ON_OFF"
msgid "On/Off"
-msgstr "PÃ¥/Av"
+msgstr "Aktiverat"
msgctxt "IDS_PPAGE_FS_CLN_FROM_FPS"
msgid "From fps"
-msgstr "Från fps"
+msgstr "Från FPS"
msgctxt "IDS_PPAGE_FS_CLN_TO_FPS"
msgid "To fps"
-msgstr "Till fps"
+msgstr "Till FPS"
msgctxt "IDS_PPAGE_FS_CLN_DISPLAY_MODE"
msgid "Display mode (Hz)"
@@ -455,7 +455,7 @@ msgstr "Småjusteringar"
msgctxt "IDD_PPAGEAUDIOSWITCHER"
msgid "Internal Filters::Audio Switcher"
-msgstr "Interna Filter::Ljudväxel"
+msgstr "Interna Filter:: Ljudomkopplare"
msgctxt "IDD_PPAGEEXTERNALFILTERS"
msgid "External Filters"
@@ -467,7 +467,7 @@ msgstr "Uppspelning::Shaders"
msgctxt "IDS_AUDIOSWITCHER"
msgid "Audio Switcher"
-msgstr "Ljudväxel"
+msgstr "Ljudomkopplare"
msgctxt "IDS_ICONS_REASSOC_DLG_TITLE"
msgid "New version of the icon library"
@@ -531,7 +531,7 @@ msgstr "madVR"
msgctxt "IDD_PPAGEACCELTBL"
msgid "Player::Keys"
-msgstr "Spelare::Knappar"
+msgstr "Spelare::Kortkommandon"
msgctxt "IDD_PPAGESUBSTYLE"
msgid "Subtitles::Default Style"
@@ -703,7 +703,7 @@ msgstr "3D-ytor (rekommenderas)"
msgctxt "IDS_PPAGE_OUTPUT_RESIZE_NN"
msgid "Nearest neighbor"
-msgstr "Närmast intilliggande"
+msgstr "Angränsande"
msgctxt "IDS_PPAGE_OUTPUT_RESIZER_BILIN"
msgid "Bilinear"
@@ -771,7 +771,7 @@ msgstr "Auto"
msgctxt "IDS_EXPORT_SETTINGS_NO_KEYS"
msgid "There are no customized keys to export."
-msgstr "Det finns inga anpassade knappar att exportera."
+msgstr "Det finns inga anpassade kortkommandon att exportera."
msgctxt "IDS_RFS_NO_FILES"
msgid "No media files found in the archive"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Kunde inte hitta alla arkivets volymer"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Videoytan kommer att allokeras som en textur, men 2D-funktionerna kommer fortfarande att användas för att kopiera och sträcka den till bakbufferten. Kräver ett grafikkort som kan allokera 32-bitars-, RGBA-, icke-tvåpotens-upplösta texturer och åtminstone i samma upplösning som videon."
msgctxt "IDC_TEXTURESURF3D"
@@ -891,7 +891,7 @@ msgstr "Ljud av"
msgctxt "ID_VOLUME_MUTE_ON"
msgid "Unmute"
-msgstr "Ljud av"
+msgstr "Ljud på"
msgctxt "ID_VOLUME_MUTE_DISABLED"
msgid "No audio"
@@ -975,7 +975,7 @@ msgstr "Pausad"
msgctxt "IDS_AG_EDL_NEW_CLIP"
msgid "EDL new clip"
-msgstr "EDL ny klip"
+msgstr "EDL nytt klipp"
msgctxt "IDS_RECENT_FILES_CLEAR"
msgid "&Clear list"
@@ -1027,7 +1027,7 @@ msgstr "PnS Rotera Z-"
msgctxt "IDS_AG_TEARING_TEST"
msgid "Tearing Test"
-msgstr "&Tearingtest"
+msgstr "Tearingtest"
msgctxt "IDS_SCALE_16_9"
msgid "Scale to 16:9 TV,%.3f,%.3f,%.3f,%.3f"
@@ -1055,7 +1055,7 @@ msgstr "Buffrar... (%d%%)"
msgctxt "IDS_CONTROLS_CAPTURING"
msgid "Capturing..."
-msgstr "FÃ¥ngar..."
+msgstr "Spelar in..."
msgctxt "IDS_CONTROLS_OPENING"
msgid "Opening..."
@@ -1139,7 +1139,7 @@ msgstr "App-kommando"
msgctxt "IDS_AG_MEDIAFILES"
msgid "Media files (all types)"
-msgstr "Media filer (alla typer)"
+msgstr "Mediefiler (alla typer)"
msgctxt "IDS_AG_ALLFILES"
msgid "All files (*.*)|*.*|"
@@ -1147,7 +1147,7 @@ msgstr "All filer (*.*)|*.*|"
msgctxt "IDS_AG_AUDIOFILES"
msgid "Audio files (all types)"
-msgstr "Ljud filer (alla typer)"
+msgstr "Ljudfiler (alla typer)"
msgctxt "IDS_AG_NOT_KNOWN"
msgid "Not known"
@@ -1155,7 +1155,7 @@ msgstr "Ej känt"
msgctxt "IDS_MPLAYERC_0"
msgid "Quick Open File"
-msgstr "Snabb Öppna fil"
+msgstr "Snabböppna fil"
msgctxt "IDS_AG_OPEN_FILE"
msgid "Open File"
@@ -1331,12 +1331,48 @@ msgstr "Maximal storlek (N x N px) på omslagsbilderna som läses in i \"enbart
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr "Undertextfördröjningen kommer att minskas/ökas med detta värde varje gång motsvarande snabbkommando används (%s/%s)."
+msgstr "Undertextfördröjningen kommer att minskas/ökas med detta värde varje gång motsvarande kortkommando används (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<inte definierad>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Kolla"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Flytta Upp"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Flytta Ner"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Sortera efter LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Ta bort alla"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Är du säker på att du vill ta bort alla kanaler från listan?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Ingen information tillgänglig"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Var vänlig vänta, analys pågår..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "Bildformat %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Öppna Enhet"
@@ -1359,11 +1395,11 @@ msgstr "Bilden sparades framgångsrikt"
msgctxt "IDS_AG_LOAD_SUBTITLE"
msgid "Load Subtitle"
-msgstr "Load Undertext"
+msgstr "Läs in Undertext"
msgctxt "IDS_AG_SAVE_SUBTITLE"
msgid "Save Subtitle"
-msgstr "Save Undertext"
+msgstr "Spara Undertext"
msgctxt "IDS_AG_PROPERTIES"
msgid "Properties"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Återställ Hastighet"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ljud Fördröjning +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ljud Fördröjning -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1615,7 +1651,7 @@ msgstr "Shift Undertext Höger"
msgctxt "IDS_AG_DISPLAY_STATS"
msgid "Display Stats"
-msgstr "Visa Stats"
+msgstr "Visa Statistik"
msgctxt "IDS_AG_SEEKSET"
msgid "Jump to Beginning"
@@ -1698,8 +1734,8 @@ msgid "No subtitles found."
msgstr "Inga undertexter hittades."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d undertext(er) tillgänglig."
+msgid "%d subtitle(s) available."
+msgstr "%d undertext(er) tillgängliga."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -1803,7 +1839,7 @@ msgstr "DVD Titel Meny"
msgctxt "IDS_AG_DVD_ROOT_MENU"
msgid "DVD Root Menu"
-msgstr "DVD Root Meny"
+msgstr "DVD Rot Meny"
msgctxt "IDS_MPLAYERC_65"
msgid "DVD Subtitle Menu"
@@ -1815,7 +1851,7 @@ msgstr "DVD Ljud Meny"
msgctxt "IDS_MPLAYERC_67"
msgid "DVD Angle Menu"
-msgstr "DVD Angle Meny"
+msgstr "DVD Vinkel Meny"
msgctxt "IDS_MPLAYERC_68"
msgid "DVD Chapter Menu"
@@ -1851,19 +1887,19 @@ msgstr "DVD Meny Lämna"
msgctxt "IDS_AG_BOSS_KEY"
msgid "Boss key"
-msgstr "Boss knappen"
+msgstr "Boss-knapp"
msgctxt "IDS_MPLAYERC_77"
msgid "Player Menu (short)"
-msgstr "Player Meny (short)"
+msgstr "Spelarmeny (kort)"
msgctxt "IDS_MPLAYERC_78"
msgid "Player Menu (long)"
-msgstr "Player Meny (long)"
+msgstr "Spelarmeny (lång)"
msgctxt "IDS_AG_FILTERS_MENU"
msgid "Filters Menu"
-msgstr "Filter Meny"
+msgstr "Filtermeny"
msgctxt "IDS_AG_OPTIONS"
msgid "Options"
@@ -2007,7 +2043,7 @@ msgstr "Kan inte spara Undertexter"
msgctxt "IDS_AG_FRAMERATE"
msgid "Frame rate"
-msgstr "Bild-hastighet"
+msgstr "Bildfrekvens"
msgctxt "IDS_MAINFRM_6"
msgid "drawn: %d, dropped: %d"
@@ -2026,12 +2062,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Volym: %02lu/%02lu, Titel: %02lu/%02lu, Kapitel: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Vinkel: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bitar %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Totalt: %ld, Förlorade: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Storlek: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Storlek: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Ledigt: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Ledigt: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2211,11 +2247,11 @@ msgstr "Ogiltigt bildformat, kan inte skapa miniatyrer ut av %d bpp dibs."
msgctxt "IDS_THUMBNAILS_INFO_FILESIZE"
msgid "File Size: %s (%s bytes)\\N"
-msgstr "Fil Storlek: %s (%s bytes)\\N"
+msgstr "Filstorlek: %s (%s bytes)\\N"
msgctxt "IDS_THUMBNAILS_INFO_HEADER"
msgid "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}File Name: %s\\N%sResolution: %dx%d %s\\NDuration: %02d:%02d:%02d"
-msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Filnamn: %s\\N%Upplösning: %dx%d %s\\NLängd: %02d:%02d:%02d"
+msgstr "{\\an7\\1c&H000000&\\fs16\\b0\\bord0\\shad0}Filnamn: %s\\N%sUpplösning: %dx%d %s\\NLängd: %02d:%02d:%02d"
msgctxt "IDS_THUMBNAIL_TOO_SMALL"
msgid "The thumbnails would be too small, impossible to create the file.\n\nTry lowering the number of thumbnails or increasing the total size."
@@ -2231,15 +2267,15 @@ msgstr "Undertextfiler"
msgctxt "IDS_MAINFRM_68"
msgid "Aspect Ratio: %ld:%ld"
-msgstr "Aspekt Förhålland: %ld:%ld"
+msgstr "Bildförhållande: %ld:%ld"
msgctxt "IDS_MAINFRM_69"
msgid "Aspect Ratio: Default"
-msgstr "Aspekt Förhålland: Standard"
+msgstr "Bildförhållande: Standard"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Ljud Fördröjning: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "Ljudfördröjning: %I64dms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2359,7 +2395,7 @@ msgstr "Okänd filtyp"
msgctxt "IDS_MAINFRM_92"
msgid "Unsupported stream"
-msgstr "Strömen stöds ej"
+msgstr "Strömmen stöds inte"
msgctxt "IDS_MAINFRM_93"
msgid "Cannot find DVD directory"
@@ -2423,11 +2459,11 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Regissörens kommentarer 1)"
+msgstr " (Regissörens kommentarer 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Regissörens kommentarer 2)"
+msgstr " (Regissörens kommentarer 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2463,23 +2499,23 @@ msgstr "Undertextförskjutning: %ld ms"
msgctxt "IDS_VOLUME_BOOST_INC"
msgid "Volume boost increase"
-msgstr "Volym boost ökning"
+msgstr "Volym-boost ökning"
msgctxt "IDS_VOLUME_BOOST_DEC"
msgid "Volume boost decrease"
-msgstr "Volym boost minskning"
+msgstr "Volym-boost minskning"
msgctxt "IDS_VOLUME_BOOST_MIN"
msgid "Volume boost Min"
-msgstr "Volym boost Min"
+msgstr "Volym-boost Min"
msgctxt "IDS_VOLUME_BOOST_MAX"
msgid "Volume boost Max"
-msgstr "Volym boost Max"
+msgstr "Volym-boost Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Användning: mpc-hc.exe \"sökväg\" [växlar]\n\n\"sökväg\"\t\tHuvudfilen eller katalog för att ladda (jokertecken\n\t\tstödjs, \"-\" denotes standard input)\n/dub \"fil\"\t\tLägg till ytterligare en ljudfil\n/dubdelay \"fil\"\tLägg till ytterligare en ljudfil skiftat med XXms (om\n\t\tfilen innehåller \"...DELAY XXms...\")\n/d3dfs\t\tBörja rendering i D3D helskärmsläge\n/sub \"fil\"\t\tLägg till ytterligare en undertextfil\n/filter \"filternamn\"\tLadda DirectShow filter från ett dynamiskt länk\n\t\tbibliotek (jokertecken stödjs)\n/dvd\t\tKör i DVD-läge, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStarta uppspelningen vid titel T, kapitel C\n/dvdpos T#hh:mm\tStarta uppspelningen vid titel T, tid hh:mm:ss\n/cd\t\tLadda alla spår av en ljud-CD eller (S)VCD,\n\t\t\"pathname\" innebär att enhetssökväg (valfritt)\n/device\t\tOpen the default video device\n/open\t\tÖppna filen, börja inte spela automatiskt\n/play\t\tBörja spela filen så fort spelaren\n\t\tstartar\n/close\t\tStäng spelaren efter uppspelningen (fungerar bara när\n\t\tanvänds med /play)\n/shutdown\tStänga av operativsystemet efter uppspelningen\n/fullscreen\tStarta i fullskärmsläge\n/minimerad\tStarta i minimerat läge\n/ny\t\tAnvänd en ny instans av spelaren\n/add\t\tLägg till \"pathname\" i spelningslista, kan kombineras\n\t\tmed /open och /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tSkapa filassociationer för ljudfiler\n/regpl\t\tSkapa filassociationer för spelningslista\n/regall\t\tSkapa filassociationer för för alla filtyper som stödjs\n/unregall\t\tTa bort alla filassociationer \n/start ms\t\tBörja spela vid \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tBörja spela vid tid hh:mm:ss\n/fixedsize w,h\tSätt fast fönsterstorlek\n/monitor N\tStart på bildskärm N, där N börjar från 1\n/ljudrenderare N\tBörja användaljudrenderare N, där N börjar från 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tÅterställ standardinställningar\n/help /h /?\tVisa hjälp för kommandoradsväxlar\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Användning: mpc-hc.exe \"sökväg\" [växlar]\n\n\"sökväg\"\t\tHuvudfilen eller katalog för att ladda (jokertecken\n\t\tstödjs, \"-\" denotes standard input)\n/dub \"fil\"\t\tLägg till ytterligare en ljudfil\n/dubdelay \"fil\"\tLägg till ytterligare en ljudfil skiftat med XXms (om\n\t\tfilen innehåller \"...DELAY XXms...\")\n/d3dfs\t\tBörja rendering i D3D helskärmsläge\n/sub \"fil\"\t\tLägg till ytterligare en undertextfil\n/filter \"filternamn\"\tLadda DirectShow filter från ett dynamiskt länk\n\t\tbibliotek (jokertecken stödjs)\n/dvd\t\tKör i DVD-läge, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStarta uppspelningen vid titel T, kapitel C\n/dvdpos T#hh:mm\tStarta uppspelningen vid titel T, tid hh:mm:ss\n/cd\t\tLadda alla spår av en ljud-CD eller (S)VCD,\n\t\t\"pathname\" innebär att enhetssökväg (valfritt)\n/device\t\tOpen the default video device\n/open\t\tÖppna filen, börja inte spela automatiskt\n/play\t\tBörja spela filen så fort spelaren\n\t\tstartar\n/close\t\tStäng spelaren efter uppspelningen (fungerar bara när\n\t\tanvänds med /play)\n/shutdown\tStänga av operativsystemet efter uppspelningen\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStarta i fullskärmsläge\n/minimerad\tStarta i minimerat läge\n/ny\t\tAnvänd en ny instans av spelaren\n/add\t\tLägg till \"pathname\" i spelningslista, kan kombineras\n\t\tmed /open och /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tSkapa filassociationer för ljudfiler\n/regpl\t\tSkapa filassociationer för spelningslista\n/regall\t\tSkapa filassociationer för för alla filtyper som stödjs\n/unregall\t\tTa bort alla filassociationer \n/start ms\t\tBörja spela vid \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tBörja spela vid tid hh:mm:ss\n/fixedsize w,h\tSätt fast fönsterstorlek\n/monitor N\tStart på bildskärm N, där N börjar från 1\n/ljudrenderare N\tBörja användaljudrenderare N, där N börjar från 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tÅterställ standardinställningar\n/help /h /?\tVisa hjälp för kommandoradsväxlar\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -2515,15 +2551,15 @@ msgstr "Växla Felsöknings-shaders"
msgctxt "IDS_AG_ZOOM_50"
msgid "Zoom 50%"
-msgstr "Zoom 50 %"
+msgstr "Zoom 50%"
msgctxt "IDS_AG_ZOOM_100"
msgid "Zoom 100%"
-msgstr "Zoom 100 %"
+msgstr "Zoom 100%"
msgctxt "IDS_AG_ZOOM_200"
msgid "Zoom 200%"
-msgstr "Zoom 200 %"
+msgstr "Zoom 200%"
msgctxt "IDS_AG_NEXT_AR_PRESET"
msgid "Next AR Preset"
@@ -2579,7 +2615,7 @@ msgstr "Författare okänd. Kontakta oss om du har gjort den här loggan!"
msgctxt "IDS_NO_MORE_MEDIA"
msgid "No more media in the current folder."
-msgstr "Inga fler medierfiler i den aktuella mappen."
+msgstr "Inga fler mediafiler i den aktuella mappen."
msgctxt "IDS_FIRST_IN_FOLDER"
msgid "The first file of the folder is already loaded."
@@ -2667,7 +2703,7 @@ msgstr "Återställ visningsstatistik"
msgctxt "IDD_PPAGESUBMISC"
msgid "Subtitles::Misc"
-msgstr "Undertexter::Misc"
+msgstr "Undertexter::Div"
msgctxt "IDS_VIEW_BORDERLESS"
msgid "Hide &borders"
@@ -2679,7 +2715,7 @@ msgstr "Endast Ram"
msgctxt "IDS_VIEW_CAPTIONMENU"
msgid "Sho&w Caption&&Menu"
-msgstr "Visa Bildtext&&Meny"
+msgstr "Visa Rubrik && Meny"
msgctxt "IDS_VIEW_HIDEMENU"
msgid "Hide &Menu"
@@ -3039,7 +3075,7 @@ msgstr "&Färghantering: Av"
msgctxt "IDS_OSD_RS_INPUT_TYPE_AUTO"
msgid "Input Type: Auto-Detect"
-msgstr " Inmatningstyp: Automatiskt"
+msgstr "Inmatningstyp: Automatiskt"
msgctxt "IDS_OSD_RS_INPUT_TYPE_HDTV"
msgid "Input Type: HDTV"
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Återfå volym: Av"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Efter Uppspelning: Stäng av bildskärmen"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Efter Uppspelning: Spela nästa fil i mappen"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Efter Uppspelning: Gör inget"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Ljusstyrka: %s"
@@ -3483,7 +3531,7 @@ msgstr "Öka Ljusstyrka"
msgctxt "IDS_LANG_PREF_EXAMPLE"
msgid "Enter your preferred languages here.\nFor example, type: \"eng jap swe\""
-msgstr "Skriv in dina föredragna språk här.\nTill exempel, skriv: \"eng jap swe\""
+msgstr "Skriv in dina föredragna språk här.\nTill exempel: \"eng jap swe\""
msgctxt "IDS_OVERRIDE_EXT_SPLITTER_CHOICE"
msgid "External splitters can have their own language preference options thus MPC-HC default behavior is not to change their initial choice.\nEnable this option if you want MPC-HC to control external splitters."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
index 218c24473..84006570e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# M. Somsak, 2014
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
+"PO-Revision-Date: 2014-10-26 05:00+0000\n"
"Last-Translator: M. Somsak\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "สงวนลิขสิทธิ์ © 2002-2014 ดูที่ Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "สงวนลิขสิทธิ์ © 2002-2015 ดูที่ Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -375,7 +375,7 @@ msgstr "à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเพิ่มเติม"
msgctxt "IDD_PPAGEDVD_IDC_CHECK2"
msgid "Allow closed captions in \"Line 21 Decoder\""
-msgstr "อนุà¸à¸²à¸•à¸¨à¸±à¸žà¸—์บรรยายเหตุà¸à¸²à¸£à¸“์ ใน \"Line 21 Decoder\""
+msgstr "อนุà¸à¸²à¸•à¸¨à¸±à¸žà¸—์บรรยายเหตุà¸à¸²à¸£à¸“์ ใน \"Line 21 Decoder\""
msgctxt "IDD_PPAGEPLAYBACK_IDC_STATIC"
msgid "Audio"
@@ -879,7 +879,7 @@ msgstr "ซูม: 0.2 -> 3.0"
msgctxt "IDD_PPAGEACCELTBL_IDC_CHECK2"
msgid "Global Media Keys"
-msgstr "ปุ่มคีย์ของสื่อโดยทั่วไป"
+msgstr "ปุ่มคีย์ของสื่อทั่วทั้งหมด"
msgctxt "IDD_PPAGEACCELTBL_IDC_BUTTON1"
msgid "Select All"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
index f8dd616dd..ee47bd1a9 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# M. Somsak, 2014
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 01:20+0000\n"
"Last-Translator: M. Somsak\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "ปิด&จอภาพ"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "เล่นไฟล์&ถัดไปในโฟลเดอร์"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&นำทาง"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
index d670ccc1d..f9b787a5c 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.th_TH.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# M. Somsak, 2014
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-01 18:03+0000\n"
+"POT-Creation-Date: 2014-10-26 21:31:55+0000\n"
+"PO-Revision-Date: 2014-10-27 01:20+0000\n"
"Last-Translator: M. Somsak\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/mpc-hc/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -116,7 +116,7 @@ msgstr "ลัà¸à¸©à¸“ะ"
msgctxt "IDS_TEXT_SUB_RENDERING_TARGET"
msgid "If the rendering target is left undefined, SSA/ASS subtitles will be rendered relative to the video frame while all other text subtitles will be rendered relative to the window."
-msgstr "ถ้าเป้าหมายà¸à¸²à¸£à¹à¸›à¸¥à¸œà¸¥à¹„ม่ถูà¸à¸£à¸°à¸šà¸¸, ศัพท์บรรยาย SSA/ASS จะถูà¸à¹à¸›à¸¥à¸œà¸¥à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¹€à¸Ÿà¸£à¸¡à¸§à¸´à¸”ีโอ ในขณะที่ศัพท์ฯข้อความอื่นๆ จะถูà¸à¹à¸›à¸¥à¸œà¸¥à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡ "
+msgstr "ถ้าเป้าหมายà¸à¸²à¸£à¹à¸›à¸¥à¸œà¸¥à¹„ม่ถูà¸à¸£à¸°à¸šà¸¸, ศัพท์บรรยาย SSA/ASS จะถูà¸à¹à¸›à¸¥à¸œà¸¥à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¹€à¸Ÿà¸£à¸¡à¸§à¸´à¸”ีโอ ในขณะที่ศัพท์ฯข้อความอื่นๆ จะถูà¸à¹à¸›à¸¥à¸œà¸¥à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¸«à¸™à¹‰à¸²à¸•à¹ˆà¸²à¸‡"
msgctxt "IDS_PPAGE_CAPTURE_FG0"
msgid "Never (fastest approach)"
@@ -596,7 +596,7 @@ msgstr "ตัวà¸à¸£à¸­à¸‡à¸§à¸´à¸”ีโอตั้งต้นสำหร
msgctxt "IDC_DSOLD"
msgid "This is the default renderer of Windows 9x/me/2k. Depending on the visibility of the video window and your video card's abilities, it will switch between GDI, DirectDraw, Overlay rendering modes dynamically."
-msgstr "นี่คือตัวà¹à¸›à¸¥à¸œà¸¥à¸•à¸±à¹‰à¸‡à¸•à¹‰à¸™à¸‚อง Windows 9x/me/2k ขึ้นà¸à¸±à¸šà¸—ัศนวิสัยหน้าต่างวิดีโอà¹à¸¥à¸°à¸„วามสามารถของà¸à¸²à¸£à¹Œà¸”จอของคุณ, มันจะสลับอย่างà¹à¸›à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹„ด้ระหว่างà¸à¸²à¸£à¹à¸›à¸¥à¸œà¸¥ GDI, DirectDraw, Overlay"
+msgstr "นี่คือตัวà¹à¸›à¸¥à¸œà¸¥à¸•à¸±à¹‰à¸‡à¸•à¹‰à¸™à¸‚อง Windows 9x/me/2k ขึ้นà¸à¸±à¸šà¸—ัศนวิสัยหน้าต่างวิดีโอà¹à¸¥à¸°à¸„วามสามารถของà¸à¸²à¸£à¹Œà¸”จอของคุณ, มันจะสลับอย่างà¹à¸›à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹„ด้ระหว่างà¸à¸²à¸£à¹à¸›à¸¥à¸œà¸¥ GDI, DirectDraw, Overlay"
msgctxt "IDC_DSOVERLAYMIXER"
msgid "Always renders in overlay. Generally only YUV formats are allowed, but they are presented directly without any color conversion to RGB. This is the fastest rendering method of all and the only where you can be sure about fullscreen video mirroring to tv-out activating."
@@ -791,7 +791,7 @@ msgid "Couldn't find all archive volumes"
msgstr "ไม่สามารถหาเอà¸à¸ªà¸²à¸£à¹„ด้ครบทุà¸à¸ à¸²à¸„ส่วน"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ผิวหน้าวิดีโอจะถูà¸à¸ˆà¸±à¸”สรรเป็นพื้นผิว à¹à¸•à¹ˆà¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™ 2d ยังคงถูà¸à¹ƒà¸Šà¹‰à¹€à¸žà¸·à¹ˆà¸­à¸„ัดลอà¸à¹à¸¥à¸°à¸¢à¸·à¸”มันไปยังบัฟเฟอร์เบื้องหลัง ต้องà¸à¸²à¸£à¸à¸²à¸£à¹Œà¸”จอที่สามารถà¹à¸šà¹ˆà¸‡ 32bit, RGBA, non-power-of-two sized textures à¹à¸¥à¸°à¸­à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸­à¸¢à¹ƒà¸™à¸„วามละเอียดของวิดีโอ"
msgctxt "IDC_TEXTURESURF3D"
@@ -1338,6 +1338,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<ไม่ได้à¸à¸³à¸«à¸™à¸”>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "รับชม"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "ย้ายขึ้น"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "ย้ายลง"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "เรียงตาม LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "ลบออà¸à¸—ั้งหมด"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "คุณต้องà¸à¸²à¸£à¸¥à¸šà¸Šà¹ˆà¸­à¸‡à¸—ั้งหมด ออà¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸«à¸£à¸·à¸­à¹„ม่?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "ไม่มีข้อมูล"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "โปรดรอ, à¸à¸²à¸£à¸§à¸´à¹€à¸„ราะห์à¸à¸³à¸¥à¸±à¸‡à¸”ำเนิน..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "เปิดอุปà¸à¸£à¸“์"
@@ -1539,11 +1575,11 @@ msgid "Reset Rate"
msgstr "คืนค่าอัตรา"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "เสียงหน่วง +10 มว."
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "เสียงหน่วง -10 มว."
msgctxt "IDS_MPLAYERC_23"
@@ -1699,8 +1735,8 @@ msgid "No subtitles found."
msgstr "ไม่พบศัพท์บรรยาย"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d ศัพท์บรรยายที่มี"
+msgid "%d subtitle(s) available."
+msgstr "%d ศัพท์บรรยายที่มี"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -1904,7 +1940,7 @@ msgstr "เสียงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸² (OGM)"
msgctxt "IDS_MPLAYERC_89"
msgid "Next Subtitle (OGM)"
-msgstr "ศัพท์บรรยายถัดไป (OGM)"
+msgstr "ศัพท์บรรยายถัดไป (OGM)"
msgctxt "IDS_MPLAYERC_90"
msgid "Prev Subtitle (OGM)"
@@ -2027,12 +2063,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "ฉบับ: %02lu/%02lu, หัวเรื่อง: %02lu/%02lu, ตอน: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "มุมà¸à¸¥à¹‰à¸­à¸‡: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bits %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2139,19 +2175,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", ทั้งหมด: %ld, ตà¸à¸«à¸¥à¹ˆà¸™: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", ขนาด: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", ขนาด: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", ว่าง: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", ว่าง: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2176,7 +2212,7 @@ msgstr "เลือà¸à¹€à¸ªà¹‰à¸™à¸—างสำหรับดีวีดี
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "โหลดสำเร็จà¹à¸¥à¹‰à¸§"
+msgstr " โหลดสำเร็จà¹à¸¥à¹‰à¸§"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2239,7 +2275,7 @@ msgid "Aspect Ratio: Default"
msgstr "อัตราส่วนภาพ: ตั้งต้น"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "เสียงหน่วง: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2479,8 +2515,8 @@ msgid "Volume boost Max"
msgstr "เสริมความดัง สูงสุด"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "วิธีใช้: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "วิธีใช้: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3314,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "ฟื้นค่าความดัง: ปิด"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3494,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "หลังเล่นจบ: ปิดจอภาพ"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "หลังà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™: เล่นไฟล์ถัดไปในโฟลเดอร์"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "หลังà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™: ไม่ต้องทำอะไร"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "ความสว่าง: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
index 2f9b239c5..4861ba83f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Burak <burakgarci@gmail.com>, 2013
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 19:20+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "Hakkında"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Telif Hakkı © 2002-2014, Authors.txt dosyasına bakınız"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Telif Hakkı © 2002-2015, Authors.txt dosyasına bakınız"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -300,7 +300,7 @@ msgstr "Ayarları .ini dosyasında sakla"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK10"
msgid "Disable \"Open Disc\" menu"
-msgstr "CD-ROM Açma özelliğini kapat"
+msgstr "\"CD-ROM aç\" menüsünü kapat"
msgctxt "IDD_PPAGEPLAYER_IDC_CHECK9"
msgid "Process priority above normal"
@@ -592,7 +592,7 @@ msgstr "Ä°liÅŸkilendirme"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr "Her dosya biçimi için ayrı simge kullan"
+msgstr "Her dosya biçimi için ayrı bir simge kullan"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
@@ -1152,7 +1152,7 @@ msgstr "Tam Ekran Direct3D (kopuklukları sil)"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9ALTERNATIVEVSYNC"
msgid "Alternative VSync"
-msgstr "DeÄŸiÅŸken EÅŸzam."
+msgstr "DeÄŸiÅŸken EÅŸzamanlama"
msgctxt "IDD_PPAGEOUTPUT_IDC_DSVMR9LOADMIXER"
msgid "VMR-9 Mixer Mode"
@@ -1192,7 +1192,7 @@ msgstr "* VSFilter gibi harici süzgeçler alt yazıları tüm çeviricilerde gÃ
msgctxt "IDD_PPAGEWEBSERVER_IDC_CHECK1"
msgid "Listen on port:"
-msgstr "B. Noktası dinle:"
+msgstr "Bağlantı noktasını dinle:"
msgctxt "IDD_PPAGEWEBSERVER_IDC_STATIC1"
msgid "Launch in web browser..."
@@ -1428,7 +1428,7 @@ msgstr "sütun"
msgctxt "IDD_PPAGESYNC_IDC_SYNCNEAREST"
msgid "Present at nearest VSync"
-msgstr "En yakın eşzamanlılık örneği"
+msgstr "En yakın eşzamanlılık örneğini kullan"
msgctxt "IDD_PPAGESYNC_IDC_STATIC5"
msgid "Target sync offset:"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
index ad8fac48d..f8987a47e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Burak <burakgarci@gmail.com>, 2013
@@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-22 19:12+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-11-26 19:41+0000\n"
"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -146,7 +146,7 @@ msgstr "Yö&nlendirme"
msgctxt "ID_VIEW_DEBUGSHADERS"
msgid "&Debug Shaders"
-msgstr "&Tonlama hata ayıklaması"
+msgstr "&Tonlama Hata Ayıklaması"
msgctxt "POPUP"
msgid "&Presets..."
@@ -194,7 +194,7 @@ msgstr "Sığdır (&Sadece büyütme)"
msgctxt "POPUP"
msgid "R&enderer Settings"
-msgstr "Ç&evirici ayarları"
+msgstr "Ç&evirici Ayarları"
msgctxt "ID_VIEW_TEARING_TEST"
msgid "&Tearing Test"
@@ -616,6 +616,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "E&kranı kapat"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Klasördeki &sıradaki dosyayı yürüt"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Yönetim"
@@ -642,7 +646,7 @@ msgstr "&Kök Menüsü"
msgctxt "ID_NAVIGATE_SUBPICTUREMENU"
msgid "&Subtitle Menu"
-msgstr "&Alt yazı Menüsü"
+msgstr "&Alt Yazı Menüsü"
msgctxt "ID_NAVIGATE_AUDIOMENU"
msgid "&Audio Menu"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
index cae576998..403c84a3b 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tr.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Burak <burakgarci@gmail.com>, 2013
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-02 19:20+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-12-08 16:40+0000\n"
"Last-Translator: Sinan H.\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/mpc-hc/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -791,8 +791,8 @@ msgid "Couldn't find all archive volumes"
msgstr "Tüm arşiv parçaları bulunamadı"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "Video yüzeyi bir doku olarak ayrılacaktır, ancak hala 2d özellikleri arka tamponlamaya kopyalamak ve uzatılmakta kullanılacaktır. 32bit, RGBA, çift boyutlu doku ayırabilen ve en az, geçerli video çözünürlüğünü destekleyebilen bir ekran kartı gerektirir."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Video yüzeyi bir doku olarak ayrılacaktır, ancak 2d özellikleri hala arka tamponlamaya kopyalamak ve uzatılmakta kullanılacaktır. 32bit, RGBA, çift boyutlu doku ayırabilen ve en az, geçerli video çözünürlüğünü destekleyebilen bir ekran kartı gerektirir."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -1316,7 +1316,7 @@ msgstr "Çıkış"
msgctxt "IDS_AFTER_PLAYBACK_MONITOROFF"
msgid "Turn off the monitor"
-msgstr "Ekranı kapat"
+msgstr "Ekranı Kapat"
msgctxt "IDS_IMAGE_JPEG_QUALITY"
msgid "JPEG Image"
@@ -1338,6 +1338,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<tanımlanmamış>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "Ä°zle"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Yukarı Taşı"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Aşağı Taşı"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "LCN'ye göre sırala - Mantıksal kanal sayısı"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Tümünü sil"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Tüm kanal listesini temizlemek istediğinizden emin misiniz?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Bir bilgi bulunmuyor"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Lütfen bekleyiniz, inceleme devam ediyor..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "AR %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Aygıt Aç"
@@ -1539,11 +1575,11 @@ msgid "Reset Rate"
msgstr "Oranı Sıfırla"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ses Gecikmesi +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ses Gecikmesi -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1699,8 +1735,8 @@ msgid "No subtitles found."
msgstr "Bir alt yazı bulunamadı."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d alt yazı bulundu."
+msgid "%d subtitle(s) available."
+msgstr "%d adet alt yazı bulundu."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2027,12 +2063,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Ses: %02lu/%02lu, Başlık: %02lu/%02lu, Bölüm: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Açı: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Açı: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbit %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Hz %d bit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2139,20 +2175,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Toplam: %ld, Atlanan: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", Boyut: %I64dKB"
+msgid ", Size: %I64d KB"
+msgstr ", Boyut: %I64d KB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", Boyut: %I64dMB"
+msgid ", Size: %I64d MB"
+msgstr ", Boyut: %I64d MB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", BoÅŸ: %I64dKB"
+msgid ", Free: %I64d KB"
+msgstr ", BoÅŸ: %I64d KB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", BoÅŸ: %I64dMB"
+msgid ", Free: %I64d MB"
+msgstr ", BoÅŸ: %I64d MB"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2239,8 +2275,8 @@ msgid "Aspect Ratio: Default"
msgstr "Taraf Oranı: Varsayılan"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Ses Gecikmesi: %I64dms"
+msgid "Audio delay: %I64d ms"
+msgstr "Ses Gecikmesi: %I64d ms"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2408,7 +2444,7 @@ msgstr "&Özellikler..."
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "(süzgeç) özellikleri..."
+msgstr " (süzgeç) özellikleri..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2479,8 +2515,8 @@ msgid "Volume boost Max"
msgstr "Ses yüksekliği en fazla"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Kullanım: mpc-hc.exe \"konum\" [anahtarlar]\n\n\"yol_adı\"\t\tYüklenecek dosya veya klasör (özel\n\t\tkarakterler desteklenir, \"-\" varsayılan girişi gösterir)\n/dub \"dublaj_adı\"\tHarici bir ses dosyası yüklemek için\n/dubdelay \"dosya\"\tXXms olarak atlanacak harici bir ses dosyası yüklemek\n için (eğer dosya \"...GECİKME_XXms...\" içeriyorsa)\n/d3dfs\t\tTam ekran D3D kipinde oynatmak için\n/sub \"alt_yazı\"\t Harici bir alt yazı kullanmak için\n/filter \"filtre_adı\" Değişken bir bağlantıdan DirectShow süzgeçlerini\n\t\tyüklemek için (karakterler desteklenir)\n/dvd\t\tDVD kipinde çalıştırmak için, \"konum\" DVD klasörünü\n gösterir (seçmeli)\n/dvdpos T#C\tOynatma T başlığının, C bölümünden başlar\n/dvdpos T#ss:dd\t Oynatma T başlığının, ss:dd:ss süresinden başlar\n/cd\t\tSes veya (s)vcd'den tüm parçaları yüklemek için,\n\t\t\"konum\" Sürücü yolunu gösterir (seçmeli)\n/device\t\tVarsayılan video aygıtını açar\n/open\t\tDosya açılır, ancak otomatik olarak oynatılmaz\n/play \t\tOynatıcı açılır açılmaz yürütme \n\t\tbaşlatılır\n/close \t\tYürütmeden sonra oynatıcı kapatılır (sadece /play komutuyla\n\t\t kullanılır)\n/shutdown\t Oynatmadan sonra bilgisayar kapatılır\n/fullscreen \tTam ekran kipinde başlatılır\n/minimized \tSimge durumunda başlatılır\n/new \t\tYeni bir oynatıcı penceresi kullanılır\n/add \t\t\"konum\" oynatma listesine eklenir, bu komutlarla birlikte\n\t\tkullanılabilir: /open ve /play\n/regvid\t\t Video biçimleri ilişkilendirilir\n/regaud \t\tSes biçimleri ilişkilendirilir\n/regpl\t\tOynatma listesi uygulamayla ilişkilendirilir\n/regall\t\tTüm dosya biçimleri uygulamayla ilişkilendirilir\n/unregall\t\tVideo biçimleri geri alınır\n/start ms \t\tOynatmaya \"ms\" (= mili saniye) sonra başlanılır\n/startpos ss:dd:ss \tOynatmaya ss:dd:ss süresinden başlanılır\n/fixedsize w,h\t Sabit pencere boyutu kullanılır\n/monitor N\tN monitöründe başlatılır; N, 1'den başlar\n/audiorenderer N \tSes çeviricisi N ile başlanılır; N, 1 ile başlar\n\t\t(\"Çıkış\" ayarlarına bakınız)\n/shaderpreset \"Pr\" \tKomut ile \"Pr\" tonlayıcı hazır ayarı kullanılır\n/reset\t\t Varsayılan ayarlara geri dönülür\n/help /h /? \tKomut satırı anahtarları yardımı görüntülenir\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Kullanım: mpc-hc.exe \"konum\" [anahtarlar]\n\n\"yol_adı\"\t\tYüklenecek dosya veya klasör (özel\n\t\tkarakterler desteklenir, \"-\" varsayılan girişi gösterir)\n/dub \"dublaj_adı\"\tHarici bir ses dosyası yüklemek için\n/dubdelay \"dosya\"\tXXms olarak atlanacak harici bir ses dosyası yüklemek\n için (eğer dosya \"...GECİKME_XXms...\" içeriyorsa)\n/d3dfs\t\tTam ekran D3D kipinde oynatmak için\n/sub \"alt_yazı\"\t Harici bir alt yazı kullanmak için\n/filter \"filtre_adı\" Değişken bir bağlantıdan DirectShow süzgeçlerini\n\t\tyüklemek için (karakterler desteklenir)\n/dvd\t\tDVD kipinde çalıştırmak için, \"konum\" DVD klasörünü\n gösterir (seçmeli)\n/dvdpos T#C\tOynatma T başlığının, C bölümünden başlar\n/dvdpos T#ss:dd\t Oynatma T başlığının, ss:dd:ss süresinden başlar\n/cd\t\tSes veya (s)vcd'den tüm parçaları yüklemek için,\n\t\t\"konum\" Sürücü yolunu gösterir (seçmeli)\n/device\t\tVarsayılan video aygıtını açar\n/open\t\tDosya açılır, ancak otomatik olarak oynatılmaz\n/play \t\tOynatıcı açılır açılmaz yürütme \n\t\tbaşlatılır\n/close \t\tYürütmeden sonra oynatıcı kapatılır (sadece /play komutuyla\n\t\t kullanılır)\n/shutdown\t Oynatmadan sonra bilgisayar kapatılır\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen \tTam ekran kipinde başlatılır\n/minimized \tSimge durumunda başlatılır\n/new \t\tYeni bir oynatıcı penceresi kullanılır\n/add \t\t\"konum\" oynatma listesine eklenir, bu komutlarla birlikte\n\t\tkullanılabilir: /open ve /play\n/regvid\t\t Video biçimleri ilişkilendirilir\n/regaud \t\tSes biçimleri ilişkilendirilir\n/regpl\t\tOynatma listesi uygulamayla ilişkilendirilir\n/regall\t\tTüm dosya biçimleri uygulamayla ilişkilendirilir\n/unregall\t\tVideo biçimleri geri alınır\n/start ms \t\tOynatmaya \"ms\" (= mili saniye) sonra başlanılır\n/startpos ss:dd:ss \tOynatmaya ss:dd:ss süresinden başlanılır\n/fixedsize w,h\t Sabit pencere boyutu kullanılır\n/monitor N\tN monitöründe başlatılır; N, 1'den başlar\n/audiorenderer N \tSes çeviricisi N ile başlanılır; N, 1 ile başlar\n\t\t(\"Çıkış\" ayarlarına bakınız)\n/shaderpreset \"Pr\" \tKomut ile \"Pr\" tonlayıcı hazır ayarı kullanılır\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\t Varsayılan ayarlara geri dönülür\n/help /h /? \tKomut satırı anahtarları yardımı görüntülenir\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3314,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Ses yükseltmesi: Kapalı"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bayt"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3494,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Oynatmadan Sonra: Ekranı kapat"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Oynatmadan Sonra: Sıradaki Dosyayı Oynat"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Oynatmadan Sonra: Bir Ä°ÅŸlem Yapma"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Parlaklık: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
index 4eab41c3a..177b6dfb2 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -156,7 +156,7 @@ msgstr "Ðчарга"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Фильм Ñки аудиофайл адреÑын кертегез\n(Интернетта Ñки Ñезнең Ñанакта)"
+msgstr "Фильм Ñки аудиофайл адреÑын кертегез (Интернетта Ñки Ñезнең Ñанакта)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -191,8 +191,8 @@ msgid "About"
msgstr "Программа турында"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Барлык хокуклар Ñакланган © 2002-2014, Authors.txt файлын карагыз"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Барлык хокуклар Ñакланган © 2002-2015, Authors.txt файлын карагыз"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
index 74d50e729..5c00919f6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# кери <khazirek@mail.ru>, 2014
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&ÐавигациÑ"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
index a4b1f242b..832ad3b44 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.tt.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Alexander Gorishnyak <kefir500@gmail.com>, 2014
@@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Tatar (http://www.transifex.com/projects/p/mpc-hc/language/tt/)\n"
"MIME-Version: 1.0\n"
@@ -793,7 +793,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Барлык архив томнарын таба алмыйм"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "ПоверхноÑÑ‚ÑŒ Ð´Ð»Ñ Ð²Ð¸Ð´ÐµÐ¾ выделÑетÑÑ ÐºÐ°Ðº текÑтура, но Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ раÑÑ‚ÑÐ¶ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ в буфер иÑпользуютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ 2D. Требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ°Ñ€Ñ‚Ñ‹, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ выделÑÑ‚ÑŒ 32bit RGBA текÑтуры, Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°Ð¼Ð¸ не кратными 2, Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ в разрешении видео."
msgctxt "IDC_TEXTURESURF3D"
@@ -1340,6 +1340,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Ó¨Ñкәрәк"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "ÐÑкарак"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Җиһазны ачарга..."
@@ -1541,11 +1577,11 @@ msgid "Reset Rate"
msgstr "Тизлекне 100% ташлау 100%"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Ðудионы тоткарлау +10мÑ"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Ðудионы тоткарлау -10мÑ"
msgctxt "IDS_MPLAYERC_23"
@@ -1701,8 +1737,8 @@ msgid "No subtitles found."
msgstr "Субтитрлар табылмады."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Ñубтитр бар."
+msgid "%d subtitle(s) available."
+msgstr "%d Ñубтитр бар."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2029,11 +2065,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Том: %02lu/%02lu, Раздел: %02lu/%02lu, Глава: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Угол: %02lu/%02lu, %lux%lu %luГц %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %u Гц %d бит %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2141,19 +2177,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", БарыÑÑ‹: %ld, Югалды: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Зурлыгы: %I64dКб"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Зурлыгы: %I64dМб"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Буш: %I64dКб"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Буш: %I64dМб"
msgctxt "IDS_MAINFRM_42"
@@ -2241,7 +2277,7 @@ msgid "Aspect Ratio: Default"
msgstr "ПропорциÑ: Ñтандарт"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Ðудио тоткарлау: %I64dмÑ"
msgctxt "IDS_AG_CHAPTER"
@@ -2481,8 +2517,8 @@ msgid "Volume boost Max"
msgstr "Тавыш көчен арттыру - Max"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ИÑпользование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ (разрешены \n\t\tмаÑки, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл Ñо Ñмещением XXмÑ\n\t\t(еÑли файл Ñодержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноÑкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные Ñубтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маÑки)\n/dvd\t\tЗапуÑк в режиме DVD, \"путь\" означает каталог\n\t\tÑ DVD (опционально)\n/dvdpos T#C\tÐачать воÑпроизведение Ñ title T, chapter C\n/dvdpos T#hh:mm\tÐачать воÑпроизведение Ñ title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить вÑе дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диÑку (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tÐачинать воÑпроизведение Ñразу поÑле запуÑка\n/close\t\tЗакрыть по окончании воÑпроизведениÑ\n\t\t(работает только Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¼ /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоÑпроизведениÑ\n/fullscreen\tЗапуÑк в полноÑкранном режиме\n/minimized\tЗапуÑк в Ñвернутом виде\n/new\t\tИÑпользовать новую копию проигрывателÑ\n/add\t\tДобавить \"путь\" в плейлиÑÑ‚, можно ÑовмеÑтно\n\t\tÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ /open и /play\n/regvid\t\tРегиÑтрировать видеоформаты\n/regaud\t\tРегиÑтрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегиÑтрировать вÑе форматы\n/start ms\t\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ \"ms\"\n\t\t(миллиÑекунды)\n/startpos hh:mm:ss\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ hh:mm:ss\n/fixedsize w,h\tУÑтановить фикÑированный размер окна\n/monitor N\tЗапуÑкатьÑÑ Ð½Ð° мониторе N, где N\n\t\tотÑчитываетÑÑ Ñ 1\n/audiorenderer N\tИÑпользовать аудиорендер N, где N\n\t\tотÑчитываетÑÑ Ñ 1 (Ñмотрите наÑтройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tВоÑтановить наÑтройки по умолчанию\n/help /h /?\tПоказывает Ñту Ñправку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "ИÑпользование: mpc-hc.exe \"путь\" [переключатели]\n\n\"путь\"\t\tФайл или каталог Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ (разрешены \n\t\tмаÑки, \"-\" denotes standard input)\n/dub \"dubname\"\tЗагрузить дополнительный звуковой файл\n/dubdelay \"file\"\tЗагрузить звуковой файл Ñо Ñмещением XXмÑ\n\t\t(еÑли файл Ñодержит \"...DELAY XXms...\")\n/d3dfs\t\tСтартовать в полноÑкранном D3D режиме\n/sub \"subname\"\tЗагрузить дополнительные Ñубтитры\n/filter \"filtername\"\tЗагрузить фильтры DirectShow из библиотеки\n\t\t(разрешены маÑки)\n/dvd\t\tЗапуÑк в режиме DVD, \"путь\" означает каталог\n\t\tÑ DVD (опционально)\n/dvdpos T#C\tÐачать воÑпроизведение Ñ title T, chapter C\n/dvdpos T#hh:mm\tÐачать воÑпроизведение Ñ title T, позиции\n\t\thh:mm:ss\n/cd\t\tЗагрузить вÑе дорожки Audio CD или (S)VCD,\n\t\t\"путь\" означает путь к диÑку (опционально)\n/device\t\tOpen the default video device\n/open\t\tТолько открыть файл\n/play\t\tÐачинать воÑпроизведение Ñразу поÑле запуÑка\n/close\t\tЗакрыть по окончании воÑпроизведениÑ\n\t\t(работает только Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¼ /play)\n/shutdown\tВыключить компьютер по окончании\n\t\tвоÑпроизведениÑ\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tЗапуÑк в полноÑкранном режиме\n/minimized\tЗапуÑк в Ñвернутом виде\n/new\t\tИÑпользовать новую копию проигрывателÑ\n/add\t\tДобавить \"путь\" в плейлиÑÑ‚, можно ÑовмеÑтно\n\t\tÑ ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ /open и /play\n/regvid\t\tРегиÑтрировать видеоформаты\n/regaud\t\tРегиÑтрировать аудиоформаты\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tРазрегиÑтрировать вÑе форматы\n/start ms\t\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ \"ms\"\n\t\t(миллиÑекунды)\n/startpos hh:mm:ss\tВоÑпроизводить Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ hh:mm:ss\n/fixedsize w,h\tУÑтановить фикÑированный размер окна\n/monitor N\tЗапуÑкатьÑÑ Ð½Ð° мониторе N, где N\n\t\tотÑчитываетÑÑ Ñ 1\n/audiorenderer N\tИÑпользовать аудиорендер N, где N\n\t\tотÑчитываетÑÑ Ñ 1 (Ñмотрите наÑтройки\n\t\t\"Вывод\")\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tВоÑтановить наÑтройки по умолчанию\n/help /h /?\tПоказывает Ñту Ñправку\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3280,6 +3316,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "ВоÑÑтанавливать громкоÑÑ‚ÑŒ: отключено"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "КБ"
@@ -3456,6 +3496,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Яктылык: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
index 245a78fbc..f0650dec7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# arestarh1986 <arestarh@ukr.net>, 2014
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-11-02 13:20+0000\n"
+"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -154,7 +154,7 @@ msgstr "Відкрити"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Type the address of a movie or audio file (on the Internet or your computer) and the player will open it for you."
-msgstr "Введіть шлÑÑ… до фільму або аудіофайлу\n(в мережі або на вашому комп'ютері)"
+msgstr "Введіть шлÑÑ… до фільму або аудіофайлу (в мережі або на вашому комп'ютері)"
msgctxt "IDD_OPEN_DLG_IDC_STATIC"
msgid "Open:"
@@ -189,8 +189,8 @@ msgid "About"
msgstr "Про програму"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014, див. файл Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015, див. файл Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -514,7 +514,7 @@ msgstr "%"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Delay step"
-msgstr ""
+msgstr "Крок затримки"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "ms"
@@ -554,7 +554,7 @@ msgstr "% від швидк. відтвор. відео"
msgctxt "IDD_PPAGESUBTITLES_IDC_CHECK_ALLOW_DROPPING_SUBPIC"
msgid "Allow dropping some subpictures if the queue is running late"
-msgstr "Дозволити Ð²Ð¸Ð¿Ð°Ð´Ð°Ð½Ð½Ñ Ð´ÐµÑких фрагментів Ñубтитрів Ñкщо черга запущена пізно"
+msgstr "Дозволити випадан. деÑких фрагмен. Ñубтитрів Ñкщо черга запущена пізно"
msgctxt "IDD_PPAGESUBTITLES_IDC_STATIC"
msgid "Renderer Layout"
@@ -586,19 +586,19 @@ msgstr "Ð’Ñтановити"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC3"
msgid "Association"
-msgstr "ÐÑÑоціації"
+msgstr "ÐÑоціації"
msgctxt "IDD_PPAGEFORMATS_IDC_CHECK8"
msgid "Use the format-specific icons"
-msgstr ""
+msgstr "ВикориÑтовувати Ñпецифічні Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ файла іконки"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON1"
msgid "Run as &administrator"
-msgstr ""
+msgstr "ЗапуÑтити від імені &адмініÑтратора"
msgctxt "IDD_PPAGEFORMATS_IDC_BUTTON7"
msgid "Set as &default program"
-msgstr ""
+msgstr "Ð’Ñтановити Ñк &типову програму"
msgctxt "IDD_PPAGEFORMATS_IDC_STATIC"
msgid "Real-Time Streaming Protocol handler (for rtsp://... URLs)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
index 1156a998f..f37fb564f 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.menus.po
@@ -1,13 +1,13 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# arestarh1986 <arestarh@ukr.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-21 11:41+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 11:01+0000\n"
"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -612,6 +612,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Вимкнути &монітор"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "Відтворити &наÑтупний файл у теці"
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&ÐавігаціÑ"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
index ed561ff34..7e441ba16 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.uk.strings.po
@@ -1,14 +1,14 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# arestarh1986 <arestarh@ukr.net>, 2014
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
-"Last-Translator: JellyFrog\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-11-02 13:20+0000\n"
+"Last-Translator: arestarh1986 <arestarh@ukr.net>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/mpc-hc/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -789,8 +789,8 @@ msgid "Couldn't find all archive volumes"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ вÑÑ– томи архіва"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
-msgstr "ÐŸÐ¾Ð²ÐµÑ€Ñ…Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð´ÐµÐ¾ виділÑєтьÑÑ Ñк текÑтура, але Ð´Ð»Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° маÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾ в буфер викориÑтовуютьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— 2D. Відеокарта повинна вміти виділÑти буфер текÑтур 32bit RGBA з розмірами не Ñтепеню 2, Ñ– не менше розміру відео."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgstr "Поверхню Ð´Ð»Ñ Ð²Ñ–Ð´ÐµÐ¾ буде виділено Ñк текÑтуру, але Ð´Ð»Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° маÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾ в зворотній буфер будуть викориÑтовуватиÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— 2D. Відеокарта повинна вміти виділÑти буфер текÑтур 32bit RGBA з розмірами не Ñтепеню 2, Ñ– не менше розміру відео."
msgctxt "IDC_TEXTURESURF3D"
msgid "Video surface will be allocated as a texture and drawn as two triangles in 3d. Antialiasing turned on at the display settings may have a bad effect on the rendering speed."
@@ -1330,11 +1330,47 @@ msgstr "МакÑимальний розмір (NxNpx) обкладинки, за
msgctxt "IDS_SUBTITLE_DELAY_STEP_TOOLTIP"
msgid "The subtitle delay will be decreased/increased by this value each time the corresponding hotkeys are used (%s/%s)."
-msgstr ""
+msgstr "Затримка Ñубтитрів буде зменшена/збільшена на дане Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ разу, коли викориÑтовуватимутьÑÑ Ð³Ð°Ñ€Ñчі клавіші (%s/%s)."
msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
-msgstr ""
+msgstr "<не задано>"
+
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "ПереглÑд"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Догори"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Донизу"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "Сортувати за LCN"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "Видалити уÑÑ–"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "Ви впевнені, що хочете видалити уÑÑ– канали зі ÑпиÑку?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "Жодної інформації не доÑтупно"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "Будь лаÑка, зачекайте, йде аналіз..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "Спів. Ñтор. %d:%d"
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
@@ -1537,12 +1573,12 @@ msgid "Reset Rate"
msgstr "Ðормальна швидкіÑÑ‚ÑŒ"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
-msgstr "Затримка аудіо +10мÑ"
+msgid "Audio Delay +10 ms"
+msgstr "Затримка аудіо +10 мÑ"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
-msgstr "Затримка аудіо -10мÑ"
+msgid "Audio Delay -10 ms"
+msgstr "Затримка аудіо -10 мÑ"
msgctxt "IDS_MPLAYERC_23"
msgid "Jump Forward (small)"
@@ -1697,8 +1733,8 @@ msgid "No subtitles found."
msgstr "Субтитрів не знайдено."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
-msgstr " %d Ñубтитрів доÑтупно."
+msgid "%d subtitle(s) available."
+msgstr "%d Ñубтитрів доÑтупно."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
@@ -2025,12 +2061,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Том: %02lu/%02lu, Розділ: %02lu/%02lu, Сцена: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
-msgstr "Кут: %02lu/%02lu, %lux%lu %luГц %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
+msgstr "Кут: %02lu/%02lu, %lux%lu %lu Гц %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uГц %dбіт %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr "%s, %s %u Гц %d біт %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2042,7 +2078,7 @@ msgstr "Відтворити в MPC-HC"
msgctxt "IDS_CANNOT_CHANGE_FORMAT"
msgid "MPC-HC has not enough privileges to change files formats associations. Please click on the \"Run as administrator\" button."
-msgstr ""
+msgstr "У MPC-HC не доÑтатньо прав Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ аÑоціацій форматів файлів. Будь лаÑка, натиÑніть кнопку \"ЗапуÑтити від імені адмініÑтратора\"."
msgctxt "IDS_APP_DESCRIPTION"
msgid "MPC-HC is an extremely light-weight, open source media player for Windows. It supports all common video and audio file formats available for playback. We are 100% spyware free, there are no advertisements or toolbars."
@@ -2137,20 +2173,20 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Разом: %ld, Втрачено: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
-msgstr ", Розмір: %I64dКб"
+msgid ", Size: %I64d KB"
+msgstr ", Розмір: %I64d Кб"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
-msgstr ", Розмір: %I64dМб"
+msgid ", Size: %I64d MB"
+msgstr ", Розмір: %I64d Мб"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
-msgstr ", Вільно: %I64dКб"
+msgid ", Free: %I64d KB"
+msgstr ", Вільно: %I64d Кб"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
-msgstr ", Вільно: %I64dМб"
+msgid ", Free: %I64d MB"
+msgstr ", Вільно: %I64d Мб"
msgctxt "IDS_MAINFRM_42"
msgid ", Free V/A Buffers: %03d/%03d"
@@ -2237,8 +2273,8 @@ msgid "Aspect Ratio: Default"
msgstr "Пропорції: Ñтандартні"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
-msgstr "Затримка аудіо: %I64dмÑ"
+msgid "Audio delay: %I64d ms"
+msgstr "Затримка аудіо: %I64d мÑ"
msgctxt "IDS_AG_CHAPTER"
msgid "Chapter %d"
@@ -2477,8 +2513,8 @@ msgid "Volume boost Max"
msgstr "ПідÑÐ¸Ð»ÐµÐ½Ð½Ñ - МакÑ."
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "ВикориÑтаннÑ: mpc-hc.exe \"шлÑÑ…\" [перемикачі]\n\n\"шлÑÑ…\"\tФайл або тека Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (дозволені маÑки, \"-\" перевизначають Ñтандартне введеннÑ)\n/dub \"dubname\"\tЗавантажити додатковий дублÑж\n/dubdelay \"file\"\tЗавантажити додатковий дублÑж з затримкою XXмÑ\n(Ñкщо ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ міÑтить \"...DELAY XXms...\")\n/d3dfs\t\tСтартувати в повноекранному D3D режимі\n/sub \"subname\"\tЗавантажити додаткові Ñубтитри\n/filter \"filtername\"\tЗавантажити фільтри DirectShow з бібліотеки (дозволені маÑки)\n/dvd\t\tЗапуÑк в режимі DVD, \"шлÑÑ…\" вказує на вміÑÑ‚ DVD (опціонально)\n/dvdpos T#C\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· заголовку T, розділу C\n/dvdpos T#hh:mm\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· заголовку T, позиції hh:mm:ss\n/cd\t\tЗавантажити вÑÑ– доріжки Audio CD або (S)VCD, \"шлÑÑ…\" вказує на вміÑÑ‚ диÑку (опціонально)\n/device\t\tВідкрити типовий приÑтрій Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾\n/open\t\tЛише відкрити файл, не відтворювати\n/play\t\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ€Ð°Ð·Ñƒ піÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку\n/close\t\tЗакрити піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (працює лише з /play)\n/shutdown\tВимкнути комп'ютер піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/fullscreen\tЗапуÑк в повноекранному режимі\n/minimized\tЗапуÑк в згорнутому виглÑді\n/new\t\tЗапуÑкати нову копію програвача\n/add\t\tДодати \"шлÑÑ…\" в ÑпиÑок відтвореннÑ, можна Ñпільно з /open та /play\n/regvid\t\tЗареєÑтрувати аÑоціації відеоформатів\n/regaud\t\tЗареєÑтрувати аÑоціації аудіоформатів\n/regpl\t\tЗареєÑтрувати аÑоціації Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² ÑпиÑків відтвореннÑ\n/regall\t\tЗареєÑтрувати аÑоціації Ð´Ð»Ñ Ð²ÑÑ–Ñ… підтримуваних типів файлів\n/unregall\t\tВідреєÑтрувати аÑоціації відеоформатів\n/start ms\t\tВідтворювати починаючи з позиції \"ms\" (= міліÑекунди)\n/startpos hh:mm:ss\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· позиції hh:mm:ss\n/fixedsize w,h\tÐ’Ñтановити фікÑований розмір вікна\n/monitor N\tЗапуÑтити на моніторі N, Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð· 1\n/audiorenderer N\tЗапуÑтити з аудіорендерером N, Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð· 1\n\t\t(див. \"Вивід\" в налаштуваннÑÑ…)\n/shaderpreset \"Pr\"\tЗапуÑтити з викориÑтаннÑм \"Pr\" Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ñ–Ð²\n/reset\t\tВідновити типові налаштуваннÑ\n/help /h /?\tПоказати цю довідку\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "ВикориÑтаннÑ: mpc-hc.exe \"шлÑÑ…\" [перемикачі]\n\n\"шлÑÑ…\"\tФайл або тека Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (дозволені маÑки, \"-\" перевизначають Ñтандартне введеннÑ)\n/dub \"dubname\"\tЗавантажити додатковий дублÑж\n/dubdelay \"file\"\tЗавантажити додатковий дублÑж з затримкою XXмÑ\n(Ñкщо ім'Ñ Ñ„Ð°Ð¹Ð»Ñƒ міÑтить \"...DELAY XXms...\")\n/d3dfs\t\tСтартувати в повноекранному D3D режимі\n/sub \"subname\"\tЗавантажити додаткові Ñубтитри\n/filter \"filtername\"\tЗавантажити фільтри DirectShow з бібліотеки (дозволені маÑки)\n/dvd\t\tЗапуÑк в режимі DVD, \"шлÑÑ…\" вказує на вміÑÑ‚ DVD (опціонально)\n/dvdpos T#C\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· заголовку T, розділу C\n/dvdpos T#hh:mm\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· заголовку T, позиції hh:mm:ss\n/cd\t\tЗавантажити вÑÑ– доріжки Audio CD або (S)VCD, \"шлÑÑ…\" вказує на вміÑÑ‚ диÑку (опціонально)\n/device\t\tВідкрити типовий приÑтрій Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾\n/open\t\tЛише відкрити файл, не відтворювати\n/play\t\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ€Ð°Ð·Ñƒ піÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку\n/close\t\tЗакрити піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (працює лише з /play)\n/shutdown\tВимкнути комп'ютер піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/standby\t\tПеревеÑти ÑиÑтему в режим Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/hibernate\t\tПеревеÑти ÑиÑтему в режим Ñну піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/logoff\t\tЗавершити ÑÐµÐ°Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кориÑтувача піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/lock\t\tЗаблокувати комп'ютер піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/monitoroff\tВимкнути монітор піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/playnext\t\tВідкрити наÑтупний файл в теці піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ\n/fullscreen\t\tЗапуÑк в повноекранному режимі\n/minimized\tЗапуÑк в згорнутому виглÑді\n/new\t\tЗапуÑкати нову копію програвача\n/add\t\tДодати \"шлÑÑ…\" в ÑпиÑок відтвореннÑ, можна Ñпільно з /open та /play\n/regvid\t\tЗареєÑтрувати аÑоціації відеоформатів\n/regaud\t\tЗареєÑтрувати аÑоціації аудіоформатів\n/regpl\t\tЗареєÑтрувати аÑоціації Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² ÑпиÑків відтвореннÑ\n/regall\t\tЗареєÑтрувати аÑоціації Ð´Ð»Ñ Ð²ÑÑ–Ñ… підтримуваних типів файлів\n/unregall\t\tВідреєÑтрувати аÑоціації відеоформатів\n/start ms\t\tВідтворювати починаючи з позиції \"ms\" (= міліÑекунди)\n/startpos hh:mm:ss\tПочинати Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· позиції hh:mm:ss\n/fixedsize w,h\tÐ’Ñтановити фікÑований розмір вікна\n/monitor N\tЗапуÑтити на моніторі N, Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð· 1\n/audiorenderer N\tЗапуÑтити з аудіорендерером N, Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ð· 1\n\t\t(див. \"Вивід\" в налаштуваннÑÑ…)\n/shaderpreset \"Pr\"\tЗапуÑтити з викориÑтаннÑм \"Pr\" Ð¿Ñ€Ð¾Ñ„Ñ–Ð»Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ñ–Ð²\n/pns \"name\"\tЗадати преÑет \"name\" Pan&Scan\n/iconsassoc\tПовторно аÑоціювати іконки форматів\n/nofocus\t\tВідкрити MPC-HC у фоні\n/webport N\tЗапуÑтити веб-Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° вказаному порті\n/debug\t\tВідображати відлагоджувальну інформацію у OSD\n/nominidump\tЗаборонити ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð´Ð°Ð¼Ð¿Ñ–Ð²\n/slave \"hWnd\"\tВикориÑтовувати MPC-HC іншим вікном з деÑкриптором \"hWnd\"\n/reset\t\tВідновити типові налаштуваннÑ\n/help /h /?\tПоказати цю довідку\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3276,6 +3312,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Ð’Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð¾ÑÑ‚Ñ–: Вимк."
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "байт"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "КБ"
@@ -3452,6 +3492,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "ПіÑÐ»Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ: Вимкнути монітор"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "Ðаприкінці відтвореннÑ: Відтворити наÑтупний файл в теці"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "Ðаприкінці відтвореннÑ: Ðічого не робити"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "ЯÑкравіÑÑ‚ÑŒ: %s"
@@ -3514,19 +3562,19 @@ msgstr "Якщо вибрано \"ОÑтанній ключовий кадр\",
msgctxt "IDC_ASSOCIATE_ALL_FORMATS"
msgid "Associate with all formats"
-msgstr ""
+msgstr "ÐÑоціювати з уÑіма форматами"
msgctxt "IDC_ASSOCIATE_VIDEO_FORMATS"
msgid "Associate with video formats only"
-msgstr ""
+msgstr "ÐÑоціювати лише з форматами відео"
msgctxt "IDC_ASSOCIATE_AUDIO_FORMATS"
msgid "Associate with audio formats only"
-msgstr ""
+msgstr "ÐÑоціювати лише з форматами аудіо"
msgctxt "IDC_CLEAR_ALL_ASSOCIATIONS"
msgid "Clear all associations"
-msgstr ""
+msgstr "Скинути уÑÑ– аÑоціації"
msgctxt "IDS_FILTER_SETTINGS_CAPTION"
msgid "Settings"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
index e5e66abca..361338e59 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dat Luong Anh <datanhlg@gmail.com>, 2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-10-03 17:40+0000\n"
-"Last-Translator: Dat Luong Anh <datanhlg@gmail.com>\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "Giới thiệu"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Bản quyá»n © 2002-2014 xem Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Bản quyá»n © 2002-2015 xem Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
@@ -1323,7 +1323,7 @@ msgstr "Băng thông"
msgctxt "IDD_TUNER_SCAN_IDC_STATIC"
msgid "Freq. End"
-msgstr "Tần số kết thúc "
+msgstr "Tần số kết thúc "
msgctxt "IDD_TUNER_SCAN_IDC_CHECK_IGNORE_ENCRYPTED"
msgid "Ignore encrypted channels"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
index 039ec6ef0..9238ed356 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dat Luong Anh <datanhlg@gmail.com>, 2014
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr "Tắt &màn hình"
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "&Äiá»u hÆ°á»›ng"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
index 8aa55fa54..ce40550f6 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.vi.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Dat Luong Anh <datanhlg@gmail.com>, 2014
@@ -7,9 +7,9 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-10-03 17:40+0000\n"
-"Last-Translator: Dat Luong Anh <datanhlg@gmail.com>\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: JellyFrog\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/mpc-hc/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -687,7 +687,7 @@ msgstr "MPC-HC - Báo cáo lỗi"
msgctxt "IDS_MPC_BUG_REPORT"
msgid "MPC-HC just crashed but this build was compiled without debug information.\nIf you want to report this bug, you should first try an official build.\n\nDo you want to visit the download page now?"
-msgstr "MPC-HC đã há»ng nhÆ°ng xây dá»±ng này đã được biên soạn không có thông tin gỡ lá»—i.\nNếu bạn muốn báo cáo lá»—i này, trÆ°á»›c tiên bạn nên thá»­ má»™t bản dá»±ng tốt.\nBạn có muốn truy cập vào trang tải bây giá»?"
+msgstr "MPC-HC đã há»ng nhÆ°ng xây dá»±ng này đã được biên soạn không có thông tin gỡ lá»—i.\nNếu bạn muốn báo cáo lá»—i này, trÆ°á»›c tiên bạn nên thá»­ má»™t bản dá»±ng tốt.\n\nBạn có muốn truy cập vào trang tải bây giá»?"
msgctxt "IDS_PPAGE_OUTPUT_SURF_OFFSCREEN"
msgid "Regular offscreen plain surface"
@@ -755,7 +755,7 @@ msgstr "Loại MIME"
msgctxt "IDS_EMB_RESOURCES_VIEWER_INFO"
msgid "In order to view an embedded resource in your browser you have to enable the web interface.\n\nUse the \"Save As\" button if you only want to save the information."
-msgstr "Äể xem má»™t nguồn tài nguyên nhúng trong trình duyệt của bạn, bạn phải kích hoạt giao diện web.\nSá»­ dụng \"LÆ°u dạng nút nếu bạn chỉ muốn để lÆ°u thông tin."
+msgstr "Äể xem má»™t nguồn tài nguyên nhúng trong trình duyệt của bạn, bạn phải kích hoạt giao diện web.\n\nSá»­ dụng \"LÆ°u dạng nút nếu bạn chỉ muốn để lÆ°u thông tin."
msgctxt "IDS_DOWNLOAD_SUBS"
msgid "Download subtitles"
@@ -790,7 +790,7 @@ msgid "Couldn't find all archive volumes"
msgstr "Không thể tìm thấy tất cả các khối lưu trữ"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "Bá» mặt video sẽ được phân bổ nhÆ° má»™t kết cấu nhÆ°ng vẫn còn các chức năng 2d sẽ được sá»­ dụng để sao chép và kéo nó vào backbuffer. Äòi há»i má»™t card video mà có thể phân bổ 32bit, RGBA, không quyá»n lá»±c-của-hai kết cấu có kích thÆ°á»›c và ít nhất ở Ä‘á»™ phân giải của video."
msgctxt "IDC_TEXTURESURF3D"
@@ -1337,6 +1337,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<không xác định>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "Lên trên"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "Xuống dưới"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "Mở thiết bị"
@@ -1447,7 +1483,7 @@ msgstr "Khung hình gần nhất"
msgctxt "IDS_HOOKS_FAILED"
msgid "MPC-HC encountered a problem during initialization. DVD playback may not work correctly. This might be caused by some incompatibilities with certain security tools.\n\nDo you want to report this issue?"
-msgstr "MPC-HC gặp má»™t vấn Ä‘á» trong quá trình khởi tạo. Phát lại DVD có thể không hoạt Ä‘á»™ng chính xác. Äiá»u này có thể được gây ra bởi má»™t số không tÆ°Æ¡ng thích vá»›i các công cụ bảo mật nhất định.\nBạn có muốn báo cáo vấn Ä‘á» này?"
+msgstr "MPC-HC gặp má»™t vấn Ä‘á» trong quá trình khởi tạo. Phát lại DVD có thể không hoạt Ä‘á»™ng chính xác. Äiá»u này có thể được gây ra bởi má»™t số không tÆ°Æ¡ng thích vá»›i các công cụ bảo mật nhất định.\n\nBạn có muốn báo cáo vấn Ä‘á» này?"
msgctxt "IDS_PPAGEFULLSCREEN_SHOWNEVER"
msgid "Never show"
@@ -1538,11 +1574,11 @@ msgid "Reset Rate"
msgstr "Äặt lại đánh giá"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "Äá»™ trá»… âm +10 giây"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "Äá»™ trá»… âm -10 giây"
msgctxt "IDS_MPLAYERC_23"
@@ -1698,12 +1734,12 @@ msgid "No subtitles found."
msgstr "Không tìm thấy phụ Ä‘á»."
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "%d phụ Ä‘á»(s) có sẵn."
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
msgid "Do you want to check periodically for MPC-HC updates?\n\nThis feature can be disabled later from the Miscellaneous options page."
-msgstr "Bạn có muốn kiểm tra định kỳ cho cập nhật MPC-HC?\nTính năng này có thể bị vô hiệu hóa sau từ trang tùy chá»n khác."
+msgstr "Bạn có muốn kiểm tra định kỳ cho cập nhật MPC-HC?\n\nTính năng này có thể bị vô hiệu hóa sau từ trang tùy chá»n khác."
msgctxt "IDS_ZOOM_50"
msgid "50%"
@@ -2026,11 +2062,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "Âm lượng: %02lu/%02lu, Tiêu Ä‘á»: %02lu/%02lu, ChÆ°Æ¡ng: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "Góc: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %dbit %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2138,19 +2174,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", Tổng cộng: %ld, BỠsót: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", Kích thước: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", Kích thước: %I64dKB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", Trống: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", Trống: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2175,7 +2211,7 @@ msgstr "Chá»n Ä‘Æ°á»ng dẫn cho DVD/BD:"
msgctxt "IDS_SUB_LOADED_SUCCESS"
msgid " loaded successfully"
-msgstr "đã nạp thành công"
+msgstr " đã nạp thành công"
msgctxt "IDS_ALL_FILES_FILTER"
msgid "All files (*.*)|*.*||"
@@ -2238,7 +2274,7 @@ msgid "Aspect Ratio: Default"
msgstr "Tỉ lệ khung hình: Mặc định"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "Äá»™ trá»… âm: %I64dgiây"
msgctxt "IDS_AG_CHAPTER"
@@ -2299,7 +2335,7 @@ msgstr "Hiện tại"
msgctxt "IDS_MPC_CRASH"
msgid "MPC-HC terminated unexpectedly. To help us fix this problem, please send this file \"%s\" to our bug tracker.\n\nDo you want to open the folder containing the minidump file and visit the bug tracker now?"
-msgstr "MPC-HC chấm dứt Ä‘á»™t ngá»™t. Äể giúp chúng tôi khắc phục vấn Ä‘á» này, xin vui lòng gá»­i tập tin này \"%s\" vá» theo dõi lá»—i của chúng tôi.\nBạn có muốn mở thÆ° mục chứa các tập tin minidump và truy cập vào theo dõi lá»—i bây giá»?"
+msgstr "MPC-HC chấm dứt Ä‘á»™t ngá»™t. Äể giúp chúng tôi khắc phục vấn Ä‘á» này, xin vui lòng gá»­i tập tin này \"%s\" vá» theo dõi lá»—i của chúng tôi.\n\nBạn có muốn mở thÆ° mục chứa các tập tin minidump và truy cập vào theo dõi lá»—i bây giá»?"
msgctxt "IDS_MPC_MINIDUMP_FAIL"
msgid "Failed to create dump file to \"%s\" (error %u)"
@@ -2407,7 +2443,7 @@ msgstr "&Thuộc tính"
msgctxt "IDS_MAINFRM_117"
msgid " (pin) properties..."
-msgstr "thuộc tính (pin)..."
+msgstr " thuộc tính (pin)..."
msgctxt "IDS_AG_UNKNOWN_STREAM"
msgid "Unknown Stream"
@@ -2423,11 +2459,11 @@ msgstr "VSync"
msgctxt "IDS_MAINFRM_121"
msgid " (Director Comments 1)"
-msgstr "(Giám đốc bình luận 1)"
+msgstr " (Giám đốc bình luận 1)"
msgctxt "IDS_MAINFRM_122"
msgid " (Director Comments 2)"
-msgstr "(Giám đốc bình luận 2)"
+msgstr " (Giám đốc bình luận 2)"
msgctxt "IDS_DVD_SUBTITLES_ENABLE"
msgid "Enable DVD subtitles"
@@ -2478,8 +2514,8 @@ msgid "Volume boost Max"
msgstr "Khối lượng âm lớn nhất"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "Cách sá»­ dụng: mpc-hc.exe \"pathname\" [chuyển]\n\n\"pathname\"\tCác tập tin hoặc thÆ° mục chính được nạp (ký tá»± đại diện\n\t\tcho phép, \"-\" biểu thị đầu vào tiêu chuẩn)\n/dub \"dubname\"\tNạp má»™t tập tin âm thanh khác\n/dubdelay \"file\"\tNạp má»™t tập tin âm thanh thêm dịch chuyển XXms (nếu\n\t\ttệp chứa \"...Äá»™ trá»… XX giây...\")\n/d3dfs\t\tBắt đầu dá»±ng hình trong chế Ä‘á»™ toàn màn hình D3D\n/sub \"subname\"\tNạp má»™t file phụ Ä‘á» thêm\n/filter \"filtername\"\tBá»™ lá»c DirectShow tải từ má»™t liên thÆ° viện\n\t\tkết Ä‘á»™ng(ký tá»± đại diện)\n/dvd\t\tChạy chế Ä‘á»™ dvd, \"pathname\" nghÄ©a là thÆ° mục\n\t\tDVD(tùy chá»n)\n/dvdpos T#C\tBắt đầu phát lại tại tiêu Ä‘á» T, chÆ°Æ¡ng C\n/dvdpos T#hh:mm\tPhát lại tại tiêu Ä‘á» T, vị trí gg:pp:gg\n/cd\t\tTải tất cả các bài hát của má»™t Ä‘Ä©a CD âm thanh hoặc (s) VCD,\n\t\t\"pathname\" nghÄ©a là Ä‘Æ°á»ng dẫn cd(tùy chá»n)\n/device\t\tMở thiết bị video mặc định\n/open\t\tMở tập tin, không tá»± Ä‘á»™ng bắt đầu phát lại\n/play\t\tBắt đầu chÆ¡i các tập tin ngay sau trình phát nhạc\n\t\tđã chạy\n/close\t\tÄóng trình phát nhạc sau khi phát lại (chỉ hoạt Ä‘á»™ng khi\n\t\tdùng vá»›i /phát)\n/shutdown\tTắt máy tính, hệ Ä‘iá»u hành sau khi phát lại\n/fullscreen\tBắt đầu trong chế Ä‘á»™ toàn màn hình\n/minimized\tBắt đầu trong chế Ä‘á»™ giảm thiểu\n/new\t\tSá»­ dụng má»™t trÆ°á»ng hợp má»›i của trình phát nhạc\n/add\t\tThêm\"pathname\" vào danh sách phát, sẽ kết hợp\n\t\tvá»›i/mở và/phát\n/regvid\t\tTạo ra các phần mở rá»™ng cho các tập tin video\n/regaud\t\tTạo ra các phần mở rá»™ng cho các tập tin âm thanh\n/regpl\t\tTạo ra các phần mở rá»™ng cho các tập tin danh sách phát\n/regall\t\tTạo ra các phần mở rá»™ng cho các tất cả các tập tin \n/unregall\t\tLoại bá» phần mở rá»™ng\n/start ms\t\tBắt đầu phát lúc \"mlg\" (= mili giây)\n/startpos hh:mm:ss\tPhát tại vị trí gg:pp:gg\n/fixedsize w,h\tThiết lập má»™t kích thÆ°á»›c cá»­a sổ cố định\n/monitor N\tBắt đầu chÆ¡i trên màn hình N, trong đó N bắt đầu từ 1\n/audiorenderer N\tBắt đầu sá»­ dụng trình âm N, trong đó N bắt đầu từ 1\n\t\t(xem thiết lập\"Ngõ ra\")\n/shaderpreset \"Pr\"\tBắt đầu sá»­ dụng \"Pr\" tạo bóng đặt trÆ°á»›c\n/reset\t\tKhôi phục cài đặt mặc định\n/help /h /?\tHiện giúp đỡ vá» chuyển dòng lệnh\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "Cách sá»­ dụng: mpc-hc.exe \"pathname\" [chuyển]\n\n\"pathname\"\tCác tập tin hoặc thÆ° mục chính được nạp (ký tá»± đại diện\n\t\tcho phép, \"-\" biểu thị đầu vào tiêu chuẩn)\n/dub \"dubname\"\tNạp má»™t tập tin âm thanh khác\n/dubdelay \"file\"\tNạp má»™t tập tin âm thanh thêm dịch chuyển XXms (nếu\n\t\ttệp chứa \"...Äá»™ trá»… XX giây...\")\n/d3dfs\t\tBắt đầu dá»±ng hình trong chế Ä‘á»™ toàn màn hình D3D\n/sub \"subname\"\tNạp má»™t file phụ Ä‘á» thêm\n/filter \"filtername\"\tBá»™ lá»c DirectShow tải từ má»™t liên thÆ° viện\n\t\tkết Ä‘á»™ng(ký tá»± đại diện)\n/dvd\t\tChạy chế Ä‘á»™ dvd, \"pathname\" nghÄ©a là thÆ° mục\n\t\tDVD(tùy chá»n)\n/dvdpos T#C\tBắt đầu phát lại tại tiêu Ä‘á» T, chÆ°Æ¡ng C\n/dvdpos T#hh:mm\tPhát lại tại tiêu Ä‘á» T, vị trí gg:pp:gg\n/cd\t\tTải tất cả các bài hát của má»™t Ä‘Ä©a CD âm thanh hoặc (s) VCD,\n\t\t\"pathname\" nghÄ©a là Ä‘Æ°á»ng dẫn cd(tùy chá»n)\n/device\t\tMở thiết bị video mặc định\n/open\t\tMở tập tin, không tá»± Ä‘á»™ng bắt đầu phát lại\n/play\t\tBắt đầu chÆ¡i các tập tin ngay sau trình phát nhạc\n\t\tđã chạy\n/close\t\tÄóng trình phát nhạc sau khi phát lại (chỉ hoạt Ä‘á»™ng khi\n\t\tdùng vá»›i /phát)\n/shutdown\tTắt máy tính, hệ Ä‘iá»u hành sau khi phát lại\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tBắt đầu trong chế Ä‘á»™ toàn màn hình\n/minimized\tBắt đầu trong chế Ä‘á»™ giảm thiểu\n/new\t\tSá»­ dụng má»™t trÆ°á»ng hợp má»›i của trình phát nhạc\n/add\t\tThêm\"pathname\" vào danh sách phát, sẽ kết hợp\n\t\tvá»›i/mở và/phát\n/regvid\t\tTạo ra các phần mở rá»™ng cho các tập tin video\n/regaud\t\tTạo ra các phần mở rá»™ng cho các tập tin âm thanh\n/regpl\t\tTạo ra các phần mở rá»™ng cho các tập tin danh sách phát\n/regall\t\tTạo ra các phần mở rá»™ng cho các tất cả các tập tin \n/unregall\t\tLoại bá» phần mở rá»™ng\n/start ms\t\tBắt đầu phát lúc \"mlg\" (= mili giây)\n/startpos hh:mm:ss\tPhát tại vị trí gg:pp:gg\n/fixedsize w,h\tThiết lập má»™t kích thÆ°á»›c cá»­a sổ cố định\n/monitor N\tBắt đầu chÆ¡i trên màn hình N, trong đó N bắt đầu từ 1\n/audiorenderer N\tBắt đầu sá»­ dụng trình âm N, trong đó N bắt đầu từ 1\n\t\t(xem thiết lập\"Ngõ ra\")\n/shaderpreset \"Pr\"\tBắt đầu sá»­ dụng \"Pr\" tạo bóng đặt trÆ°á»›c\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tKhôi phục cài đặt mặc định\n/help /h /?\tHiện giúp đỡ vá» chuyển dòng lệnh\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3223,7 +3259,7 @@ msgstr "Phiên bản hiện tại của bạn là v%s.\n\nPhiên bản ổn Ä‘á»
msgctxt "IDS_NEW_UPDATE_AVAILABLE"
msgid "MPC-HC v%s is now available. You are using v%s.\n\nDo you want to visit MPC-HC's website to download it?"
-msgstr "MPC-HC v%s bây giỠđã có. Bạn đang sử dụng v%s."
+msgstr ""
msgctxt "IDS_UPDATE_ERROR"
msgid "Update server not found.\n\nPlease check your internet connection or try again later."
@@ -3277,6 +3313,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "Lấy lại khối lượng: Tắt"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3453,6 +3493,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "Sau khi phát lại: Tắt màn hình"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "Äá»™ sáng: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
index 1fbbc3971..9c1b563f3 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:40+0000\n"
-"Last-Translator: Ming Chen <yzonline@gmail.com>\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -190,8 +190,8 @@ msgid "About"
msgstr "关于"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "版æƒæ‰€æœ‰ © 2002-2014 请查看 Authors.txt"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "版æƒæ‰€æœ‰ © 2002-2015 请查看 Authors.txt"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
index 7488cd730..042e4c2c7 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-08-19 21:10:25+0000\n"
-"PO-Revision-Date: 2014-08-20 10:11+0000\n"
+"POT-Creation-Date: 2014-10-25 18:58:24+0000\n"
+"PO-Revision-Date: 2014-10-27 07:42+0000\n"
"Last-Translator: Ming Chen <yzonline@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -612,7 +612,11 @@ msgstr "é”定(&L)"
msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
-msgstr "关闭显示器(&m)"
+msgstr "关闭显示器(&M)"
+
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr "播放文件夹中的下一个文件(&N)"
msgctxt "POPUP"
msgid "&Navigate"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
index 2e9e40fd0..e989e2d68 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_CN.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# bruce55 <bruce.luo+transifex@nyu.edu>, 2014
@@ -8,8 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-29 21:09:08+0000\n"
-"PO-Revision-Date: 2014-09-30 14:50+0000\n"
+"POT-Creation-Date: 2014-10-30 22:04:38+0000\n"
+"PO-Revision-Date: 2014-10-31 12:00+0000\n"
"Last-Translator: Ming Chen <yzonline@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mpc-hc/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -476,7 +476,7 @@ msgstr "新版本的图标库"
msgctxt "IDS_ICONS_REASSOC_DLG_INSTR"
msgid "Do you want to reassociate the icons?"
-msgstr "您è¦å…³è”图标å—?"
+msgstr "您想è¦é‡æ–°å…³è”图标å—?"
msgctxt "IDS_ICONS_REASSOC_DLG_CONTENT"
msgid "This will fix the icons being incorrectly displayed after an update of the icon library.\nThe file associations will not be modified, only the corresponding icons will be refreshed."
@@ -791,7 +791,7 @@ msgid "Couldn't find all archive volumes"
msgstr "找ä¸åˆ°å…¨éƒ¨æ¡£æ¡ˆå·"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "视频表é¢å°†è¢«åˆ†é…为一个纹ç†ä½†ä»ä½¿ç”¨ 2d 功能æ¥å¤åˆ¶å’Œæ‹‰ä¼¸å®ƒåˆ°åŽå°ç¼“存中。它需è¦ä¸€å—å¯ä»¥åˆ†é… 32 ä½, RGBA, 无二次幂é™åˆ¶å°ºå¯¸çº¹ç†å¹¶è‡³å°‘支æŒå’Œå½“å‰è§†é¢‘分辨率相åŒçš„显å¡æ”¯æŒã€‚"
msgctxt "IDC_TEXTURESURF3D"
@@ -1296,7 +1296,7 @@ msgstr "对音频文件也记忆播放ä½ç½®ã€‚"
msgctxt "IDS_AFTER_PLAYBACK_DO_NOTHING"
msgid "Do Nothing"
-msgstr "什么也ä¸åš"
+msgstr "什么都ä¸åš"
msgctxt "IDS_AFTER_PLAYBACK_PLAY_NEXT"
msgid "Play next file in the folder"
@@ -1338,6 +1338,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr "<没有定义>"
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr "观看"
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "å‘上移动"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "å‘下移动"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr "LCN æ­£åº"
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr "移除所有"
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr "您是å¦ç¡®è®¤è¦ä»Žåˆ—表中移除所有频é“?"
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr "没有å¯ç”¨ä¿¡æ¯"
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr "请ç¨ç­‰ï¼Œåˆ†æžæ­£åœ¨è¿›è¡Œä¸­..."
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr "高宽比 %d:%d"
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "打开设备"
@@ -1539,11 +1575,11 @@ msgid "Reset Rate"
msgstr "é‡ç½®é€ŸçŽ‡"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "音频延迟 +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "音频延迟 -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1699,7 +1735,7 @@ msgid "No subtitles found."
msgstr "找ä¸åˆ°å­—幕。"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "有 %d æ¡å­—幕å¯ç”¨ã€‚"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2027,11 +2063,11 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "音é‡: %02lu/%02lu, 标题: %02lu/%02lu, 章节: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "视角: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
msgstr "%s, %s %uHz %d ä½ %d %s"
msgctxt "IDS_ADD_TO_PLAYLIST"
@@ -2139,19 +2175,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", 总计: %ld, 已丢弃: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", 大å°: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", 大å°: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", 空闲: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", 空闲: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2239,7 +2275,7 @@ msgid "Aspect Ratio: Default"
msgstr "高宽比: 默认"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "音频延迟: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2304,7 +2340,7 @@ msgstr "MPC-HC 已被异常终止。è¦å¸®åŠ©æˆ‘们修å¤æ­¤é—®é¢˜, 请将此文
msgctxt "IDS_MPC_MINIDUMP_FAIL"
msgid "Failed to create dump file to \"%s\" (error %u)"
-msgstr "创建转储文件到 \"%s\" 失败 (错误 %u)"
+msgstr "创建转储文件到 \"%s\" 失败 (错误 %u)"
msgctxt "IDS_MAINFRM_DIR_TITLE"
msgid "Select Directory"
@@ -2479,8 +2515,8 @@ msgid "Volume boost Max"
msgstr "最大音é‡æŽ¨è¿›"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "用法: mpc-hc.exe \"路径å\" [开关]\n\n\"路径å\"\t\t表示è¦è½½å…¥çš„主文件或目录 (å…许通é…符, \"-\" 表示标准输入)\n/dub \"é…音å\"\t载入一个附加的音频文件\n/dubdelay \t\"文件\"载入音频文件延迟 XXms (å¦‚æžœè¯¥æ–‡ä»¶åŒ…å« \"...延迟 XXms...\")\n/d3dfs\t\t在 D3D å…¨å±å¹•æ¨¡å¼å¼€å§‹æ¸²æŸ“\n/sub \"字幕å\"\t载入一个附加的字幕文件\n/filter \"滤镜å\"\t从一个动æ€é“¾æŽ¥åº“中载入 DirectShow 滤镜 (å…许通é…符)\n/dvd\t\tè¿è¡Œ DVD 模å¼, \"路径å\" 表示 dvd 文件夹 (å¯é€‰)\n/dvdpos T#C\t从标题 T, 章节 C 开始播放\n/dvdpos T#hh:mm\t从标题 T, ä½ç½® hh:mm:ss 开始播放\n/cd\t\t从一张音频 CD 或 (S)VCD 中载入所有音轨, \"路径å\" 表示驱动器路径 (å¯é€‰)\n/device\t\t打开默认的视频设备\n/open\t\t打开文件, ä¸è‡ªåŠ¨å¼€å§‹å›žæ”¾\n/play\t\t在播放器å¯åŠ¨åŽæ’­æ”¾æ–‡ä»¶\n/close\t\t在播放åŽå…³é—­æ’­æ”¾å™¨ (仅能和 /play åŒæ—¶ä½¿ç”¨)\n/shutdown\t在播放完毕åŽå…³é—­æ“作系统\n/fullscreen\t以全å±å¹•æ¨¡å¼å¯åŠ¨\n/minimized\t以最å°åŒ–模å¼å¯åŠ¨\n/new\t\tå¯åŠ¨ä¸€ä¸ªæ–°çš„播放器实例\n/add\t\t添加 \"路径å\" 到播放列表中,å¯ä»¥å’Œ /open 与 /play 组åˆä½¿ç”¨\n/regvid\t\t为视频文件创建文件关è”\n/regaud\t\t为音频文件创建文件关è”\n/regpl\t\t为播放列表创建文件关è”\n/regall\t\t为所有支æŒçš„文件类型创建文件关è”\n/unregall\t\t移除所有文件关è”\n/start ms\t\t在 \"ms\" (= 毫秒) 处开始播放\n/startpos hh:mm:ss\t在ä½ç½® hh:mm:ss 开始播放\n/fixedsize w,h\t设置一个固定的窗å£å¤§å°\n/monitor N\t在显示器 N 上å¯åŠ¨, N 从 1 开始\n/audiorenderer N\t使用音频渲染器 N å¯åŠ¨, N 从 1 开始\n\t\t(请查阅 \"输出\" 设置)\n/shaderpreset \"Pr\"\t开始使用 \"Pr\" ç€è‰²å™¨é¢„设\n/reset\t\tæ¢å¤é»˜è®¤è®¾ç½®\n/help /h /?\t显示此命令行开关帮助对è¯æ¡†\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "用法: mpc-hc.exe \"路径å\" [开关]\n\n\"路径å\"\t\t表示è¦è½½å…¥çš„主文件或目录 (å…许通é…符, \"-\" 表示标准输入)\n/dub \"é…音å\"\t载入一个附加的音频文件\n/dubdelay \t\"文件\"载入音频文件延迟 XXms (å¦‚æžœè¯¥æ–‡ä»¶åŒ…å« \"...延迟 XXms...\")\n/d3dfs\t\t在 D3D å…¨å±å¹•æ¨¡å¼å¼€å§‹æ¸²æŸ“\n/sub \"字幕å\"\t载入一个附加的字幕文件\n/filter \"滤镜å\"\t从一个动æ€é“¾æŽ¥åº“中载入 DirectShow 滤镜 (å…许通é…符)\n/dvd\t\tè¿è¡Œ DVD 模å¼, \"路径å\" 表示 dvd 文件夹 (å¯é€‰)\n/dvdpos T#C\t从标题 T, 章节 C 开始播放\n/dvdpos T#hh:mm\t从标题 T, ä½ç½® hh:mm:ss 开始播放\n/cd\t\t从一张音频 CD 或 (S)VCD 中载入所有音轨, \"路径å\" 表示驱动器路径 (å¯é€‰)\n/device\t\t打开默认的视频设备\n/open\t\t打开文件, ä¸è‡ªåŠ¨å¼€å§‹å›žæ”¾\n/play\t\t在播放器å¯åŠ¨åŽæ’­æ”¾æ–‡ä»¶\n/close\t\t回放结æŸåŽå…³é—­æ’­æ”¾å™¨ (仅能和 /play åŒæ—¶ä½¿ç”¨)\n/shutdown\t回放结æŸåŽå…³é—­æ“作系统\n/standby\t\t回放结æŸåŽå°†æ“作系统设置为待机模å¼\n/hibernate\t回放结æŸåŽä¼‘眠æ“作系统\n/logoff\t\t回放结æŸåŽæ³¨é”€\n/lock\t\t回放结æŸåŽé”定计算机\n/monitoroff\t回放结æŸåŽå…³é—­æ˜¾ç¤ºå™¨\n/playnext\t\t回放结æŸåŽæ‰“开文件夹中的下一个文件\n/fullscreen\t以全å±å¹•æ¨¡å¼å¯åŠ¨\n/minimized\t以最å°åŒ–模å¼å¯åŠ¨\n/new\t\tå¯åŠ¨ä¸€ä¸ªæ–°çš„播放器实例\n/add\t\t添加 \"路径å\" 到播放列表中,å¯ä»¥å’Œ /open 与 /play 组åˆä½¿ç”¨\n/regvid\t\t为视频文件创建文件关è”\n/regaud\t\t为音频文件创建文件关è”\n/regpl\t\t为播放列表创建文件关è”\n/regall\t\t为所有支æŒçš„文件类型创建文件关è”\n/unregall\t\t移除所有文件关è”\n/start ms\t\t在 \"ms\" (= 毫秒) 处开始播放\n/startpos hh:mm:ss\t在ä½ç½® hh:mm:ss 开始播放\n/fixedsize w,h\t设置一个固定的窗å£å¤§å°\n/monitor N\t在显示器 N 上å¯åŠ¨, N 从 1 开始\n/audiorenderer N\t使用音频渲染器 N å¯åŠ¨, N 从 1 开始\n\t\t(请查阅 \"输出\" 设置)\n/shaderpreset \"Pr\"\t开始使用 \"Pr\" ç€è‰²å™¨é¢„设\n/pns \"name\"\t指定è¦ä½¿ç”¨çš„全景和扫æ预设å称\n/iconsassoc\té‡æ–°å…³è”æ ¼å¼å›¾æ ‡\n/nofocus\t\t在åŽå°æ‰“å¼€MPC-HC\n/webport N\t在指定端å£å¯åŠ¨web ç•Œé¢\n/debug\t\t显示调试信æ¯\n/nominidump\tç¦æ­¢åˆ›å»ºå°å­˜å‚¨å™¨è½¬å‚¨æ–‡ä»¶\n/slave \"hWnd\"\t使用MPC-HC为从\n/reset\t\tæ¢å¤é»˜è®¤è®¾ç½®\n/help /h /?\t显示此命令行开关帮助对è¯æ¡†\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3278,6 +3314,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "增益音é‡: å…³"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr "bytes"
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3454,6 +3494,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr "回放结æŸåŽ: 关闭显示器"
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr "回放结æŸåŽ: 播放文件夹中的下一个文件"
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr "回放结æŸåŽ: 什么都ä¸åš"
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "亮度: %s"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
index 26459862b..8c6100db4 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.dialogs.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from dialogs
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jeff Huang <s8321414@gmail.com>, 2014
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 10:30+0000\n"
-"Last-Translator: JellyFrog\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
+"Last-Translator: Underground78\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mpc-hc/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -193,8 +193,8 @@ msgid "About"
msgstr "關於"
msgctxt "IDD_ABOUTBOX_IDC_AUTHORS_LINK"
-msgid "Copyright © 2002-2014 see Authors.txt"
-msgstr "Copyright © 2002-2014 請見 Authors.txt 檔案"
+msgid "Copyright © 2002-2015 see Authors.txt"
+msgstr "Copyright © 2002-2015 請見 Authors.txt 檔案"
msgctxt "IDD_ABOUTBOX_IDC_STATIC"
msgid "This program is freeware and released under the GNU General Public License."
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
index 1c1b1e500..e999cac2e 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.menus.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from menus
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# kenelin <kenelin@gmail.com>, 2013
@@ -613,6 +613,10 @@ msgctxt "ID_AFTERPLAYBACK_MONITOROFF"
msgid "Turn off the &monitor"
msgstr ""
+msgctxt "ID_AFTERPLAYBACK_PLAYNEXT"
+msgid "Play &next file in the folder"
+msgstr ""
+
msgctxt "POPUP"
msgid "&Navigate"
msgstr "導覽(&N)"
diff --git a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
index d6c1eb6e4..597232fda 100644
--- a/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
+++ b/src/mpc-hc/mpcresources/PO/mpc-hc.zh_TW.strings.po
@@ -1,5 +1,5 @@
# MPC-HC - Strings extracted from string tables
-# Copyright (C) 2002 - 2013 see Authors.txt
+# Copyright (C) 2002 - 2015 see Authors.txt
# This file is distributed under the same license as the MPC-HC package.
# Translators:
# Jeff Huang <s8321414@gmail.com>, 2014
@@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: MPC-HC\n"
-"POT-Creation-Date: 2014-09-19 20:08:04+0000\n"
-"PO-Revision-Date: 2014-09-20 09:58+0000\n"
+"POT-Creation-Date: 2014-10-19 22:15:16+0000\n"
+"PO-Revision-Date: 2014-10-20 10:21+0000\n"
"Last-Translator: JellyFrog\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mpc-hc/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -793,7 +793,7 @@ msgid "Couldn't find all archive volumes"
msgstr "找ä¸åˆ°æ‰€æœ‰çš„分割檔"
msgctxt "IDC_TEXTURESURF2D"
-msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
+msgid "Video surface will be allocated as a texture but still the 2d functions will be used to copy and stretch it onto the backbuffer. Requires a video card which can allocate 32-bit, RGBA, non-power-of-two sized textures and at least in the resolution of the video."
msgstr "螢幕繪圖é æœƒç•¶ä½œæ質é…ç½®, 但ä¾èˆŠæœƒä½¿ç”¨ 2D 函å¼ä¾†è¤‡è£½èˆ‡å»¶å±•åˆ°å¾Œç·©è¡å€ã€‚這需è¦èƒ½é…ç½® 32-bit, RGBA, æ質大å°éžäºŒçš„乘方, 與最少能é…置視訊解æžåº¦çš„顯示å¡ã€‚"
msgctxt "IDC_TEXTURESURF3D"
@@ -1340,6 +1340,42 @@ msgctxt "IDS_HOTKEY_NOT_DEFINED"
msgid "<not defined>"
msgstr ""
+msgctxt "IDS_NAVIGATION_WATCH"
+msgid "Watch"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_MOVE_UP"
+msgid "Move Up"
+msgstr "上移"
+
+msgctxt "IDS_NAVIGATION_MOVE_DOWN"
+msgid "Move Down"
+msgstr "下移"
+
+msgctxt "IDS_NAVIGATION_SORT"
+msgid "Sort by LCN"
+msgstr ""
+
+msgctxt "IDS_NAVIGATION_REMOVE_ALL"
+msgid "Remove all"
+msgstr ""
+
+msgctxt "IDS_REMOVE_CHANNELS_QUESTION"
+msgid "Are you sure you want to remove all channels from the list?"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_NO_INFO_AVAILABLE"
+msgid "No information available"
+msgstr ""
+
+msgctxt "IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS"
+msgid "Please wait, analysis in progress..."
+msgstr ""
+
+msgctxt "IDS_ASPECT_RATIO_FMT"
+msgid "AR %d:%d"
+msgstr ""
+
msgctxt "IDS_AG_OPEN_DEVICE"
msgid "Open Device"
msgstr "é–‹å•Ÿè£ç½®"
@@ -1541,11 +1577,11 @@ msgid "Reset Rate"
msgstr "é‡è¨­é »çŽ‡"
msgctxt "IDS_MPLAYERC_21"
-msgid "Audio Delay +10ms"
+msgid "Audio Delay +10 ms"
msgstr "éŸ³è¨Šå»¶é² +10ms"
msgctxt "IDS_MPLAYERC_22"
-msgid "Audio Delay -10ms"
+msgid "Audio Delay -10 ms"
msgstr "éŸ³è¨Šå»¶é² -10ms"
msgctxt "IDS_MPLAYERC_23"
@@ -1701,7 +1737,7 @@ msgid "No subtitles found."
msgstr "找ä¸åˆ°å­—幕。"
msgctxt "IDS_SUBDL_DLG_SUBS_AVAIL"
-msgid " %d subtitle(s) available."
+msgid "%d subtitle(s) available."
msgstr "有 %d 個字幕å¯ç”¨ã€‚"
msgctxt "IDS_UPDATE_CONFIG_AUTO_CHECK"
@@ -2029,12 +2065,12 @@ msgid "Volume: %02lu/%02lu, Title: %02lu/%02lu, Chapter: %02lu/%02lu"
msgstr "音é‡: %02lu/%02lu, 標題: %02lu/%02lu, 章節: %02lu/%02lu"
msgctxt "IDS_MAINFRM_10"
-msgid "Angle: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
+msgid "Angle: %02lu/%02lu, %lux%lu %lu Hz %lu:%lu"
msgstr "角度: %02lu/%02lu, %lux%lu %luHz %lu:%lu"
msgctxt "IDS_MAINFRM_11"
-msgid "%s, %s %uHz %dbits %d %s"
-msgstr "%s, %s %uHz %dbits %d %s"
+msgid "%s, %s %u Hz %d bits %d %s"
+msgstr ""
msgctxt "IDS_ADD_TO_PLAYLIST"
msgid "Add to MPC-HC Playlist"
@@ -2141,19 +2177,19 @@ msgid ", Total: %ld, Dropped: %ld"
msgstr ", 總和: %ld, ç•¥éŽ: %ld"
msgctxt "IDS_MAINFRM_38"
-msgid ", Size: %I64dKB"
+msgid ", Size: %I64d KB"
msgstr ", 大å°: %I64dKB"
msgctxt "IDS_MAINFRM_39"
-msgid ", Size: %I64dMB"
+msgid ", Size: %I64d MB"
msgstr ", 大å°: %I64dMB"
msgctxt "IDS_MAINFRM_40"
-msgid ", Free: %I64dKB"
+msgid ", Free: %I64d KB"
msgstr ", 剩餘: %I64dKB"
msgctxt "IDS_MAINFRM_41"
-msgid ", Free: %I64dMB"
+msgid ", Free: %I64d MB"
msgstr ", 剩餘: %I64dMB"
msgctxt "IDS_MAINFRM_42"
@@ -2241,7 +2277,7 @@ msgid "Aspect Ratio: Default"
msgstr "長寬比例: é è¨­å€¼"
msgctxt "IDS_MAINFRM_70"
-msgid "Audio Delay: %I64dms"
+msgid "Audio delay: %I64d ms"
msgstr "音訊延é²: %I64dms"
msgctxt "IDS_AG_CHAPTER"
@@ -2481,8 +2517,8 @@ msgid "Volume boost Max"
msgstr "最大音é‡å¢žå¹…"
msgctxt "IDS_USAGE"
-msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
-msgstr "用法: mpc-hc.exe \"路徑å稱\" [é¸é …]\n\n\"路徑å稱\"\tè¦è¼‰å…¥çš„主è¦æª”案或資料夾。(å¯ä½¿ç”¨è¬ç”¨å­—å…ƒ, \"-\" 表示標準輸入)\n/dub \"音æºå稱\"\t載入é¡å¤–的音訊檔案\n/dubdelay \"檔案\"\t以平移 XXms 的時間載入é¡å¤–的音訊檔案。\n\t\t(如果檔案å«æœ‰ \"...DELAY XXms...\")\n/d3dfs\t\t在 D3D 全螢幕模å¼å•Ÿå‹•ç¹ªè£½\n/sub \"字幕å稱\"\t載入é¡å¤–的字幕檔\n/filter \"篩é¸å™¨å\"\t從動態連çµå‡½å¼åº«è¼‰å…¥ DirectShow 篩é¸å™¨ã€‚\n\t\t(å…許è¬ç”¨å­—å…ƒ)\n/dvd\t\t執行 DVD 模å¼, \"路徑å稱\" 代表該 DVD 資料夾\n\t\t(é¸ç”¨)\n/dvdpos T#C\t從第 T 標題, 第 C 章節開始播放\n/dvdpos T#hh:mm\t從第 T 標題, 時間 hh:mm:ss 開始播放\n/cd\t\t載入音樂 CD 或是 (S)VCD 的所有音軌, \"路徑å稱\"\n\t\t表示光碟機路徑 (é¸ç”¨)\n/device\t\té–‹å•Ÿé è¨­è¦–訊設備\n/open\t\t開啟檔案, 但ä¸è‡ªå‹•æ’­æ”¾\n/play\t\t播放程å¼ä¸€å•Ÿå‹•å°±æ’­æ”¾æª”案\n/close\t\tæ’­æ”¾å®Œç•¢å¾Œå°±é—œé–‰æ’­æ”¾ç¨‹å¼ (æ­é… /play\n\t\t一起用æ‰æœ‰æ•ˆ)\n/shutdown\t播放完之後關閉作業系統\n/fullscreen\t以全螢幕模å¼å•Ÿå‹•\n/minimized\t以最å°åŒ–模å¼å•Ÿå‹•\n/new\t\t使用新的播放程å¼å¯¦é«”\n/add\t\t新增 \"路徑å稱\" 到播放清單, å¯èˆ‡ /open å’Œ /play\n\t\tåˆä½µä½¿ç”¨\n/regvid\t\t建立視訊格å¼æª”案關è¯\n/regaud\t\t建立音訊格å¼æª”案關è¯\n/regpl\t\t建立播放清單檔案關è¯\n/regall\t\t建立所有支æ´æ ¼å¼çš„檔案關è¯\n/unregall\t\t移除所有檔案關è¯\n/start ms\t\t從第 ms 毫秒開始播放\n/startpos hh:mm:ss\t從時間 hh:mm:ss 開始播放\n/fixedsize w,h\t設定固定的視窗大å°\n/monitor N\t在第 N 顯示器啟動, N 從 1 開始\n/audiorenderer N\t使用第 N 音訊譜製器啟動, N 從 1 開始\n\t\t(請見 \"輸出\" 設定)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/reset\t\t回復é è¨­è¨­å®š\n/help /h /?\t顯示命令列é¸é …的說明\n"
+msgid "Usage: mpc-hc.exe \"pathname\" [switches]\n\n\"pathname\"\tThe main file or directory to be loaded (wildcards\n\t\tallowed, \"-\" denotes standard input)\n/dub \"dubname\"\tLoad an additional audio file\n/dubdelay \"file\"\tLoad an additional audio file shifted with XXms (if\n\t\tthe file contains \"...DELAY XXms...\")\n/d3dfs\t\tStart rendering in D3D fullscreen mode\n/sub \"subname\"\tLoad an additional subtitle file\n/filter \"filtername\"\tLoad DirectShow filters from a dynamic link\n\t\tlibrary (wildcards allowed)\n/dvd\t\tRun in dvd mode, \"pathname\" means the dvd\n\t\tfolder (optional)\n/dvdpos T#C\tStart playback at title T, chapter C\n/dvdpos T#hh:mm\tStart playback at title T, position hh:mm:ss\n/cd\t\tLoad all the tracks of an audio cd or (s)vcd,\n\t\t\"pathname\" means the drive path (optional)\n/device\t\tOpen the default video device\n/open\t\tOpen the file, don't automatically start playback\n/play\t\tStart playing the file as soon the player is\n\t\tlaunched\n/close\t\tClose the player after playback (only works when\n\t\tused with /play)\n/shutdown\tShutdown the operating system after playback\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\tStart in full-screen mode\n/minimized\tStart in minimized mode\n/new\t\tUse a new instance of the player\n/add\t\tAdd \"pathname\" to playlist, can be combined\n\t\twith /open and /play\n/regvid\t\tCreate file associations for video files\n/regaud\t\tCreate file associations for audio files\n/regpl\t\tCreate file associations for playlist files\n/regall\t\tCreate file associations for all supported file types\n/unregall\t\tRemove all file associations\n/start ms\t\tStart playing at \"ms\" (= milliseconds)\n/startpos hh:mm:ss\tStart playing at position hh:mm:ss\n/fixedsize w,h\tSet a fixed window size\n/monitor N\tStart player on monitor N, where N starts from 1\n/audiorenderer N\tStart using audiorenderer N, where N starts from 1\n\t\t(see \"Output\" settings)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\tRestore default settings\n/help /h /?\tShow help about command line switches\n"
+msgstr "用法: mpc-hc.exe \"路徑å稱\" [é¸é …]\n\n\"路徑å稱\"\tè¦è¼‰å…¥çš„主è¦æª”案或資料夾。(å¯ä½¿ç”¨è¬ç”¨å­—å…ƒ, \"-\" 表示標準輸入)\n/dub \"音æºå稱\"\t載入é¡å¤–的音訊檔案\n/dubdelay \"檔案\"\t以平移 XXms 的時間載入é¡å¤–的音訊檔案。\n\t\t(如果檔案å«æœ‰ \"...DELAY XXms...\")\n/d3dfs\t\t在 D3D 全螢幕模å¼å•Ÿå‹•ç¹ªè£½\n/sub \"字幕å稱\"\t載入é¡å¤–的字幕檔\n/filter \"篩é¸å™¨å\"\t從動態連çµå‡½å¼åº«è¼‰å…¥ DirectShow 篩é¸å™¨ã€‚\n\t\t(å…許è¬ç”¨å­—å…ƒ)\n/dvd\t\t執行 DVD 模å¼, \"路徑å稱\" 代表該 DVD 資料夾\n\t\t(é¸ç”¨)\n/dvdpos T#C\t從第 T 標題, 第 C 章節開始播放\n/dvdpos T#hh:mm\t從第 T 標題, 時間 hh:mm:ss 開始播放\n/cd\t\t載入音樂 CD 或是 (S)VCD 的所有音軌, \"路徑å稱\"\n\t\t表示光碟機路徑 (é¸ç”¨)\n/device\t\té–‹å•Ÿé è¨­è¦–訊設備\n/open\t\t開啟檔案, 但ä¸è‡ªå‹•æ’­æ”¾\n/play\t\t播放程å¼ä¸€å•Ÿå‹•å°±æ’­æ”¾æª”案\n/close\t\tæ’­æ”¾å®Œç•¢å¾Œå°±é—œé–‰æ’­æ”¾ç¨‹å¼ (æ­é… /play\n\t\t一起用æ‰æœ‰æ•ˆ)\n/shutdown\t播放完之後關閉作業系統\n/standby\t\tPut the operating system in standby mode after playback\n/hibernate\tHibernate operating system after playback\n/logoff\t\tLog off after playback\n/lock\t\tLock workstation after playback\n/monitoroff\tTurn off the monitor after playback\n/playnext\t\tOpen next file in the folder after playback\n/fullscreen\t以全螢幕模å¼å•Ÿå‹•\n/minimized\t以最å°åŒ–模å¼å•Ÿå‹•\n/new\t\t使用新的播放程å¼å¯¦é«”\n/add\t\t新增 \"路徑å稱\" 到播放清單, å¯èˆ‡ /open å’Œ /play\n\t\tåˆä½µä½¿ç”¨\n/regvid\t\t建立視訊格å¼æª”案關è¯\n/regaud\t\t建立音訊格å¼æª”案關è¯\n/regpl\t\t建立播放清單檔案關è¯\n/regall\t\t建立所有支æ´æ ¼å¼çš„檔案關è¯\n/unregall\t\t移除所有檔案關è¯\n/start ms\t\t從第 ms 毫秒開始播放\n/startpos hh:mm:ss\t從時間 hh:mm:ss 開始播放\n/fixedsize w,h\t設定固定的視窗大å°\n/monitor N\t在第 N 顯示器啟動, N 從 1 開始\n/audiorenderer N\t使用第 N 音訊譜製器啟動, N 從 1 開始\n\t\t(請見 \"輸出\" 設定)\n/shaderpreset \"Pr\"\tStart using \"Pr\" shader preset\n/pns \"name\"\tSpecify Pan&Scan preset name to use\n/iconsassoc\tReassociate format icons\n/nofocus\t\tOpen MPC-HC in background\n/webport N\tStart web interface on specified port\n/debug\t\tShow debug information in OSD\n/nominidump\tDisable minidump creation\n/slave \"hWnd\"\tUse MPC-HC as slave\n/reset\t\t回復é è¨­è¨­å®š\n/help /h /?\t顯示命令列é¸é …的說明\n"
msgctxt "IDS_UNKNOWN_SWITCH"
msgid "Unrecognized switch(es) found in command line string: \n\n"
@@ -3280,6 +3316,10 @@ msgctxt "IDS_OSD_REGAIN_VOLUME_OFF"
msgid "Regain volume: Off"
msgstr "回復音é‡: 關閉"
+msgctxt "IDS_SIZE_UNIT_BYTES"
+msgid "bytes"
+msgstr ""
+
msgctxt "IDS_SIZE_UNIT_K"
msgid "KB"
msgstr "KB"
@@ -3456,6 +3496,14 @@ msgctxt "IDS_AFTERPLAYBACK_MONITOROFF"
msgid "After Playback: Turn off the monitor"
msgstr ""
+msgctxt "IDS_AFTERPLAYBACK_PLAYNEXT"
+msgid "After Playback: Play next file in the folder"
+msgstr ""
+
+msgctxt "IDS_AFTERPLAYBACK_DONOTHING"
+msgid "After Playback: Do nothing"
+msgstr ""
+
msgctxt "IDS_OSD_BRIGHTNESS"
msgid "Brightness: %s"
msgstr "亮度: %s"
diff --git a/src/mpc-hc/mpcresources/cfg/mpc-hc.fi.cfg b/src/mpc-hc/mpcresources/cfg/mpc-hc.fi.cfg
new file mode 100644
index 000000000..59d179279
--- /dev/null
+++ b/src/mpc-hc/mpcresources/cfg/mpc-hc.fi.cfg
@@ -0,0 +1,8 @@
+[Info]
+langName: Finnish
+LangShortName: fi
+langDefine: LANG_FINNISH, SUBLANG_FINNISH_FINLAND
+langDefineMFC: AFX_TARG_FIN
+langID: 1035
+fileDesc: Finnish language resource for MPC-HC
+font: FONT 8, "MS Shell Dlg", 400, 0, 0x1
diff --git a/src/mpc-hc/mpcresources/cfg/mpc-hc.sr.cfg b/src/mpc-hc/mpcresources/cfg/mpc-hc.sr.cfg
new file mode 100644
index 000000000..db8b25dd3
--- /dev/null
+++ b/src/mpc-hc/mpcresources/cfg/mpc-hc.sr.cfg
@@ -0,0 +1,8 @@
+[Info]
+langName: Serbian (Cyrillic)
+LangShortName: sr
+langDefine: LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
+langDefineMFC: AFX_TARG_FUL
+langID: 3098
+fileDesc: Serbian (Cyrillic) language resource for MPC-HC
+font: FONT 8, "MS Shell Dlg", 400, 0, 0x1
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ar.rc b/src/mpc-hc/mpcresources/mpc-hc.ar.rc
index e224b8fc3..33247abec 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ar.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ar.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.be.rc b/src/mpc-hc/mpcresources/mpc-hc.be.rc
index 3bd5ae898..0c62601cc 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.be.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.be.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.bn.rc b/src/mpc-hc/mpcresources/mpc-hc.bn.rc
index 51b6bbf26..167383ae2 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.bn.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.bn.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ca.rc b/src/mpc-hc/mpcresources/mpc-hc.ca.rc
index 37ee2eeb8..47d48c9e3 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ca.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ca.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.cs.rc b/src/mpc-hc/mpcresources/mpc-hc.cs.rc
index d6844e238..819f1f3c8 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.cs.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.cs.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.de.rc b/src/mpc-hc/mpcresources/mpc-hc.de.rc
index 8a615f503..07f4bebb0 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.de.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.de.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.el.rc b/src/mpc-hc/mpcresources/mpc-hc.el.rc
index 2b235497c..0f73db55b 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.el.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.el.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.en_GB.rc b/src/mpc-hc/mpcresources/mpc-hc.en_GB.rc
index fa69f6ce6..7418b81a8 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.en_GB.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.en_GB.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.es.rc b/src/mpc-hc/mpcresources/mpc-hc.es.rc
index 9f54f48da..09fbcf2e9 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.es.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.es.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.eu.rc b/src/mpc-hc/mpcresources/mpc-hc.eu.rc
index 5d163f2ef..de61ceee0 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.eu.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.eu.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.fi.rc b/src/mpc-hc/mpcresources/mpc-hc.fi.rc
new file mode 100644
index 000000000..1e35b241a
--- /dev/null
+++ b/src/mpc-hc/mpcresources/mpc-hc.fi.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.fr.rc b/src/mpc-hc/mpcresources/mpc-hc.fr.rc
index b0f82deb8..57e4a2ab3 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.fr.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.fr.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.gl.rc b/src/mpc-hc/mpcresources/mpc-hc.gl.rc
index 86aa96f50..2e99eb184 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.gl.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.gl.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.he.rc b/src/mpc-hc/mpcresources/mpc-hc.he.rc
index 752b0d389..4e2d0b489 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.he.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.he.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.hr.rc b/src/mpc-hc/mpcresources/mpc-hc.hr.rc
index fdff52dbe..9242664db 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.hr.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.hr.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.hu.rc b/src/mpc-hc/mpcresources/mpc-hc.hu.rc
index 44b821bd9..53d6319ef 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.hu.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.hu.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.hy.rc b/src/mpc-hc/mpcresources/mpc-hc.hy.rc
index c55fd0c20..f987d93dd 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.hy.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.hy.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.it.rc b/src/mpc-hc/mpcresources/mpc-hc.it.rc
index efb35f8b9..2c0c87f10 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.it.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.it.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ja.rc b/src/mpc-hc/mpcresources/mpc-hc.ja.rc
index 9d3a668d5..f8ded07e1 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ja.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ja.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ko.rc b/src/mpc-hc/mpcresources/mpc-hc.ko.rc
index 594e2d0dc..b0d50a9e0 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ko.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ko.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ms_MY.rc b/src/mpc-hc/mpcresources/mpc-hc.ms_MY.rc
index fc94b9534..6ffe06578 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ms_MY.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ms_MY.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.nl.rc b/src/mpc-hc/mpcresources/mpc-hc.nl.rc
index cd75cb8ca..0cd6849e8 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.nl.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.nl.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.pl.rc b/src/mpc-hc/mpcresources/mpc-hc.pl.rc
index 3d7287810..00387f2e4 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.pl.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.pl.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.pt_BR.rc b/src/mpc-hc/mpcresources/mpc-hc.pt_BR.rc
index 88f4c8cef..5a47e4538 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.pt_BR.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.pt_BR.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ro.rc b/src/mpc-hc/mpcresources/mpc-hc.ro.rc
index b2ded6f9c..96bb7285a 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ro.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ro.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.ru.rc b/src/mpc-hc/mpcresources/mpc-hc.ru.rc
index 2c7127423..fc8099eaf 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.ru.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.ru.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.sk.rc b/src/mpc-hc/mpcresources/mpc-hc.sk.rc
index ff6e15cc5..8eea61a67 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.sk.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.sk.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.sl.rc b/src/mpc-hc/mpcresources/mpc-hc.sl.rc
index 131e19e2f..80c4c9358 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.sl.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.sl.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.sr.rc b/src/mpc-hc/mpcresources/mpc-hc.sr.rc
new file mode 100644
index 000000000..87b08f712
--- /dev/null
+++ b/src/mpc-hc/mpcresources/mpc-hc.sr.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.sv.rc b/src/mpc-hc/mpcresources/mpc-hc.sv.rc
index 9c0448487..5e3e5eec1 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.sv.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.sv.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.th_TH.rc b/src/mpc-hc/mpcresources/mpc-hc.th_TH.rc
index ccb1c38fe..078621184 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.th_TH.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.th_TH.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.tr.rc b/src/mpc-hc/mpcresources/mpc-hc.tr.rc
index ad4c6cab8..93a1c87b4 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.tr.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.tr.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.tt.rc b/src/mpc-hc/mpcresources/mpc-hc.tt.rc
index 385f28196..9ce1b71d1 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.tt.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.tt.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.uk.rc b/src/mpc-hc/mpcresources/mpc-hc.uk.rc
index ce9e7ae90..7f20d2b52 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.uk.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.uk.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.vi.rc b/src/mpc-hc/mpcresources/mpc-hc.vi.rc
index 0616ee908..284b56b92 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.vi.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.vi.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.zh_CN.rc b/src/mpc-hc/mpcresources/mpc-hc.zh_CN.rc
index f83a38005..38ebddc6f 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.zh_CN.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.zh_CN.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpc-hc.zh_TW.rc b/src/mpc-hc/mpcresources/mpc-hc.zh_TW.rc
index 261c76999..f8755bfad 100644
--- a/src/mpc-hc/mpcresources/mpc-hc.zh_TW.rc
+++ b/src/mpc-hc/mpcresources/mpc-hc.zh_TW.rc
Binary files differ
diff --git a/src/mpc-hc/mpcresources/mpcresources.vcxproj b/src/mpc-hc/mpcresources/mpcresources.vcxproj
index faf073914..3b861b415 100644
--- a/src/mpc-hc/mpcresources/mpcresources.vcxproj
+++ b/src/mpc-hc/mpcresources/mpcresources.vcxproj
@@ -97,6 +97,14 @@
<Configuration>Release English (British)</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release Finnish|Win32">
+ <Configuration>Release Finnish</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release Finnish|x64">
+ <Configuration>Release Finnish</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release French|Win32">
<Configuration>Release French</Configuration>
<Platform>Win32</Platform>
@@ -209,6 +217,14 @@
<Configuration>Release Russian</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Release Serbian|Win32">
+ <Configuration>Release Serbian</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release Serbian|x64">
+ <Configuration>Release Serbian</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
<ProjectConfiguration Include="Release Slovak|Win32">
<Configuration>Release Slovak</Configuration>
<Platform>Win32</Platform>
@@ -318,6 +334,7 @@
<TargetName Condition="'$(Configuration)'=='Release Czech'">$(ProjectName).cs</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Dutch'">$(ProjectName).nl</TargetName>
<TargetName Condition="'$(Configuration)'=='Release English (British)'">$(ProjectName).en_GB</TargetName>
+ <TargetName Condition="'$(Configuration)'=='Release Finnish'">$(ProjectName).fi</TargetName>
<TargetName Condition="'$(Configuration)'=='Release French'">$(ProjectName).fr</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Galician'">$(ProjectName).gl</TargetName>
<TargetName Condition="'$(Configuration)'=='Release German'">$(ProjectName).de</TargetName>
@@ -332,6 +349,7 @@
<TargetName Condition="'$(Configuration)'=='Release Portuguese (Brazil)'">$(ProjectName).pt_BR</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Romanian'">$(ProjectName).ro</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Russian'">$(ProjectName).ru</TargetName>
+ <TargetName Condition="'$(Configuration)'=='Release Serbian'">$(ProjectName).sr</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Slovak'">$(ProjectName).sk</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Slovenian'">$(ProjectName).sl</TargetName>
<TargetName Condition="'$(Configuration)'=='Release Spanish'">$(ProjectName).es</TargetName>
@@ -384,6 +402,9 @@
<ResourceCompile Include="mpc-hc.eu.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release Basque'">true</ExcludedFromBuild>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.fi.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)'!='Release Finnish'">true</ExcludedFromBuild>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.fr.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release French'">true</ExcludedFromBuild>
</ResourceCompile>
@@ -435,6 +456,9 @@
<ResourceCompile Include="mpc-hc.sl.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release Slovenian'">true</ExcludedFromBuild>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.sr.rc">
+ <ExcludedFromBuild Condition="'$(Configuration)'!='Release Serbian'">true</ExcludedFromBuild>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.sv.rc">
<ExcludedFromBuild Condition="'$(Configuration)'!='Release Swedish'">true</ExcludedFromBuild>
</ResourceCompile>
diff --git a/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters b/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
index 6b1d15101..6f02a9893 100644
--- a/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
+++ b/src/mpc-hc/mpcresources/mpcresources.vcxproj.filters
@@ -41,6 +41,9 @@
<ResourceCompile Include="mpc-hc.eu.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.fi.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.fr.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
@@ -92,6 +95,9 @@
<ResourceCompile Include="mpc-hc.sl.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
+ <ResourceCompile Include="mpc-hc.sr.rc">
+ <Filter>Resource Files</Filter>
+ </ResourceCompile>
<ResourceCompile Include="mpc-hc.sv.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
diff --git a/src/mpc-hc/mplayerc.cpp b/src/mpc-hc/mplayerc.cpp
index 6fa1b6a4d..da6764ae9 100644
--- a/src/mpc-hc/mplayerc.cpp
+++ b/src/mpc-hc/mplayerc.cpp
@@ -33,6 +33,7 @@
#include "Ifo.h"
#include "Monitors.h"
#include "WinAPIUtils.h"
+#include "PathUtils.h"
#include "FileAssoc.h"
#include "UpdateChecker.h"
#include "winddk/ntddcdvd.h"
@@ -45,6 +46,7 @@
#include "mpc-hc_config.h"
#include "../MathLibFix/MathLibFix.h"
#include "CmdLineHelpDlg.h"
+#include "MiniDump.h"
#define HOOKS_BUGS_URL _T("https://trac.mpc-hc.org/ticket/3739")
@@ -87,6 +89,12 @@ HICON LoadIcon(CString fn, bool bSmallIcon)
}
}
+ if (!ext.CompareNoCase(_T(".unknown"))) {
+ if (HICON hIcon = loadIcon(MAKEINTRESOURCE(IDI_UNKNOWN))) {
+ return hIcon;
+ }
+ }
+
do {
CRegKey key;
TCHAR buff[256];
@@ -605,16 +613,13 @@ void SetHandCursor(HWND m_hWnd, UINT nID)
CMPlayerCApp::CMPlayerCApp()
: m_hNTDLL(nullptr)
- , m_fClosingState(false)
+ , m_bDelayingIdle(false)
, m_bProfileInitialized(false)
, m_bQueuedProfileFlush(false)
, m_dwProfileLastAccessTick(0)
- , m_bDelayingIdle(false)
+ , m_fClosingState(false)
{
- TCHAR strApp[MAX_PATH];
-
- GetModuleFileNameEx(GetCurrentProcess(), m_hInstance, strApp, MAX_PATH);
- m_strVersion = FileVersionInfo::GetFileVersionStr(strApp);
+ m_strVersion = FileVersionInfo::GetFileVersionStr(PathUtils::GetProgramPath(true));
ZeroMemory(&m_ColorControl, sizeof(m_ColorControl));
ResetColorControlRange();
@@ -730,20 +735,20 @@ bool CMPlayerCApp::StoreSettingsToRegistry()
CString CMPlayerCApp::GetIniPath() const
{
- CString path = GetProgramPath(true);
+ CString path = PathUtils::GetProgramPath(true);
path = path.Left(path.ReverseFind('.') + 1) + _T("ini");
return path;
}
bool CMPlayerCApp::IsIniValid() const
{
- return FileExists(GetIniPath());
+ return PathUtils::Exists(GetIniPath());
}
bool CMPlayerCApp::GetAppSavePath(CString& path)
{
if (IsIniValid()) { // If settings ini file found, store stuff in the same folder as the exe file
- path = GetProgramPath();
+ path = PathUtils::GetProgramPath();
} else {
return GetAppDataPath(path);
}
@@ -848,7 +853,7 @@ void CMPlayerCApp::InitProfile()
m_dwProfileLastAccessTick = GetTickCount();
ASSERT(m_pszProfileName);
- if (!FileExists(m_pszProfileName)) {
+ if (!PathUtils::Exists(m_pszProfileName)) {
return;
}
@@ -1447,6 +1452,7 @@ BOOL CMPlayerCApp::InitInstance()
// Remove the working directory from the search path to work around the DLL preloading vulnerability
SetDllDirectory(_T(""));
+ CMiniDump::Enable();
WorkAroundMathLibraryBug();
if (!HeapSetInformation(nullptr, HeapEnableTerminationOnCorruption, nullptr, 0)) {
@@ -1530,7 +1536,7 @@ BOOL CMPlayerCApp::InitInstance()
m_s->ParseCommandLine(m_cmdln);
- VERIFY(SetCurrentDirectory(GetProgramPath()));
+ VERIFY(SetCurrentDirectory(PathUtils::GetProgramPath()));
if (m_s->nCLSwitches & (CLSW_HELP | CLSW_UNRECOGNIZEDSWITCH)) { // show commandline help window
m_s->LoadSettings();
@@ -1579,7 +1585,7 @@ BOOL CMPlayerCApp::InitInstance()
VERIFY(key.Close() == ERROR_SUCCESS);
// Set ExePath value to prevent settings migration
key.Attach(GetAppRegistryKey());
- VERIFY(key.SetStringValue(_T("ExePath"), GetProgramPath(true)) == ERROR_SUCCESS);
+ VERIFY(key.SetStringValue(_T("ExePath"), PathUtils::GetProgramPath(true)) == ERROR_SUCCESS);
VERIFY(key.Close() == ERROR_SUCCESS);
}
@@ -1589,7 +1595,7 @@ BOOL CMPlayerCApp::InitInstance()
CPath playlistPath;
playlistPath.Combine(strSavePath, _T("default.mpcpl"));
- if (FileExists(playlistPath)) {
+ if (playlistPath.FileExists()) {
CFile::Remove(playlistPath);
}
}
@@ -1715,7 +1721,7 @@ BOOL CMPlayerCApp::InitInstance()
}
}
- key.SetStringValue(_T("ExePath"), GetProgramPath(true));
+ key.SetStringValue(_T("ExePath"), PathUtils::GetProgramPath(true));
}
}
diff --git a/src/mpc-hc/mplayerc.h b/src/mpc-hc/mplayerc.h
index dc47e41fc..4dbe6a304 100644
--- a/src/mpc-hc/mplayerc.h
+++ b/src/mpc-hc/mplayerc.h
@@ -74,7 +74,8 @@ enum {
WM_TUNER_SCAN_PROGRESS,
WM_TUNER_SCAN_END,
WM_TUNER_STATS,
- WM_TUNER_NEW_CHANNEL
+ WM_TUNER_NEW_CHANNEL,
+ WM_DVB_EIT_DATA_READY
};
enum ControlType {
diff --git a/src/mpc-hc/res/mpc-hc.exe.manifest.conf b/src/mpc-hc/res/mpc-hc.exe.manifest.conf
index f905b63b1..7de320989 100644
--- a/src/mpc-hc/res/mpc-hc.exe.manifest.conf
+++ b/src/mpc-hc/res/mpc-hc.exe.manifest.conf
@@ -32,6 +32,7 @@
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+ <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
diff --git a/src/mpc-hc/resource.h b/src/mpc-hc/resource.h
index 11bad3bbf..5b276b919 100644
--- a/src/mpc-hc/resource.h
+++ b/src/mpc-hc/resource.h
@@ -218,6 +218,7 @@
#define ID_BOSS 944
#define ID_DUMMYSEPARATOR 945
#define ID_BUTTONSEP 946
+#define ID_AFTERPLAYBACK_PLAYNEXT 947
#define ID_MENU_PLAYER_SHORT 949
#define ID_MENU_PLAYER_LONG 950
#define ID_MENU_FILTERS 951
@@ -288,8 +289,8 @@
#define ID_SHADERS_PRESETS_START 4201
#define ID_SHADERS_PRESETS_END 4299
#define ID_NAVIGATE_JUMPTO_SUBITEM_START 4300
-#define ID_NAVIGATE_JUMPTO_SUBITEM_END 4499
-#define ID_VIEW_ZOOM_AUTOFIT_LARGER 4500
+#define ID_NAVIGATE_JUMPTO_SUBITEM_END 4899
+#define ID_VIEW_ZOOM_AUTOFIT_LARGER 4900
// filters
#define IDS_FILTER_SETTINGS_CAPTION 7000
#define IDS_ARS_WASAPI_MODE 7100
@@ -1222,6 +1223,8 @@
#define IDS_AFTERPLAYBACK_LOGOFF 41300
#define IDS_AFTERPLAYBACK_LOCK 41301
#define IDS_AFTERPLAYBACK_MONITOROFF 41302
+#define IDS_AFTERPLAYBACK_PLAYNEXT 41303
+#define IDS_AFTERPLAYBACK_DONOTHING 41304
#define IDS_OSD_BRIGHTNESS 41305
#define IDS_OSD_CONTRAST 41306
#define IDS_OSD_HUE 41307
@@ -1254,6 +1257,7 @@
#define IDS_REGAIN_VOLUME 41335
#define IDS_OSD_REGAIN_VOLUME_ON 41336
#define IDS_OSD_REGAIN_VOLUME_OFF 41337
+#define IDS_SIZE_UNIT_BYTES 41338
#define IDS_SIZE_UNIT_K 41339
#define IDS_SIZE_UNIT_M 41340
#define IDS_SIZE_UNIT_G 41341
@@ -1452,6 +1456,15 @@
#define IDS_PPAGEADVANCED_COVER_SIZE_LIMIT 57418
#define IDS_SUBTITLE_DELAY_STEP_TOOLTIP 57419
#define IDS_HOTKEY_NOT_DEFINED 57420
+#define IDS_NAVIGATION_WATCH 57421
+#define IDS_NAVIGATION_MOVE_UP 57422
+#define IDS_NAVIGATION_MOVE_DOWN 57423
+#define IDS_NAVIGATION_SORT 57424
+#define IDS_NAVIGATION_REMOVE_ALL 57425
+#define IDS_REMOVE_CHANNELS_QUESTION 57426
+#define IDS_MEDIAINFO_NO_INFO_AVAILABLE 57427
+#define IDS_MEDIAINFO_ANALYSIS_IN_PROGRESS 57428
+#define IDS_ASPECT_RATIO_FMT 57429
// Next default values for new objects
//
diff --git a/src/thirdparty/AsyncReader/AsyncReader.vcxproj b/src/thirdparty/AsyncReader/AsyncReader.vcxproj
index 537a59369..89677058c 100644
--- a/src/thirdparty/AsyncReader/AsyncReader.vcxproj
+++ b/src/thirdparty/AsyncReader/AsyncReader.vcxproj
@@ -48,48 +48,46 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/AsyncReader/asyncio.cpp b/src/thirdparty/AsyncReader/asyncio.cpp
index 3cb264cc0..ada6e4815 100644
--- a/src/thirdparty/AsyncReader/asyncio.cpp
+++ b/src/thirdparty/AsyncReader/asyncio.cpp
@@ -96,16 +96,16 @@ CAsyncRequest::Complete()
// note - all events created manual reset
CAsyncIo::CAsyncIo(CAsyncStream *pStream)
- : m_hThread(NULL),
- m_evWork(TRUE),
- m_evDone(TRUE),
- m_evStop(TRUE),
+ : m_pStream(pStream),
+ m_bFlushing(FALSE),
m_listWork(NAME("Work list")),
m_listDone(NAME("Done list")),
- m_bFlushing(FALSE),
+ m_evWork(TRUE),
+ m_evDone(TRUE),
m_cItemsOut(0),
m_bWaiting(FALSE),
- m_pStream(pStream)
+ m_evStop(TRUE),
+ m_hThread(NULL)
{
}
diff --git a/src/thirdparty/AsyncReader/asyncrdr.cpp b/src/thirdparty/AsyncReader/asyncrdr.cpp
index f6ef5d846..ab7a9ec31 100644
--- a/src/thirdparty/AsyncReader/asyncrdr.cpp
+++ b/src/thirdparty/AsyncReader/asyncrdr.cpp
@@ -401,12 +401,13 @@ CAsyncReader::CAsyncReader(
clsid, // MPC-HC patch
NULL
),
+ m_Io(pStream),
m_OutputPin(
phr,
this,
&m_Io,
- &m_csFilter),
- m_Io(pStream)
+ &m_csFilter)
+
{
}
diff --git a/src/thirdparty/BaseClasses/BaseClasses.vcxproj b/src/thirdparty/BaseClasses/BaseClasses.vcxproj
index eaba9edce..3720a7b14 100644
--- a/src/thirdparty/BaseClasses/BaseClasses.vcxproj
+++ b/src/thirdparty/BaseClasses/BaseClasses.vcxproj
@@ -52,27 +52,28 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -82,7 +83,6 @@
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -92,7 +92,6 @@
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -102,7 +101,6 @@
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>streams.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>strmiids.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
diff --git a/src/thirdparty/BaseClasses/amfilter.cpp b/src/thirdparty/BaseClasses/amfilter.cpp
index 02407c4d2..072041c7a 100644
--- a/src/thirdparty/BaseClasses/amfilter.cpp
+++ b/src/thirdparty/BaseClasses/amfilter.cpp
@@ -3269,7 +3269,12 @@ CMediaSample::CMediaSample(__in_opt LPCTSTR pName,
m_cRef(0), // 0 ref count
m_dwTypeSpecificFlags(0), // Type specific flags
m_dwStreamId(AM_STREAM_MEDIA), // Stream id
- m_pAllocator(pAllocator) // Allocator
+ m_pAllocator(pAllocator), // Allocator
+ m_pNext(NULL),
+ m_Start(0),
+ m_End(0),
+ m_MediaStart(0),
+ m_MediaEnd(0)
{
#ifdef DXMPERF
PERFLOG_CTOR( pName ? pName : L"CMediaSample", (IMediaSample *) this );
@@ -3300,7 +3305,12 @@ CMediaSample::CMediaSample(__in_opt LPCSTR pName,
m_cRef(0), // 0 ref count
m_dwTypeSpecificFlags(0), // Type specific flags
m_dwStreamId(AM_STREAM_MEDIA), // Stream id
- m_pAllocator(pAllocator) // Allocator
+ m_pAllocator(pAllocator), // Allocator
+ m_pNext(NULL),
+ m_Start(0),
+ m_End(0),
+ m_MediaStart(0),
+ m_MediaEnd(0)
{
#ifdef DXMPERF
PERFLOG_CTOR( L"CMediaSample", (IMediaSample *) this );
diff --git a/src/thirdparty/BaseClasses/ctlutil.cpp b/src/thirdparty/BaseClasses/ctlutil.cpp
index 793f97ace..04870767d 100644
--- a/src/thirdparty/BaseClasses/ctlutil.cpp
+++ b/src/thirdparty/BaseClasses/ctlutil.cpp
@@ -1914,7 +1914,8 @@ CDeferredCommand::CDeferredCommand(
m_DispParams(nArgs, pDispParams, phr),
m_pvarResult(pvarResult),
m_bStream(bStream),
- m_hrResult(E_ABORT)
+ m_hrResult(E_ABORT),
+ m_DispId(0)
{
// convert REFTIME to REFERENCE_TIME
diff --git a/src/thirdparty/BaseClasses/pullpin.cpp b/src/thirdparty/BaseClasses/pullpin.cpp
index 6cdc39c2c..c979270c9 100644
--- a/src/thirdparty/BaseClasses/pullpin.cpp
+++ b/src/thirdparty/BaseClasses/pullpin.cpp
@@ -19,7 +19,11 @@
CPullPin::CPullPin()
: m_pReader(NULL),
m_pAlloc(NULL),
- m_State(TM_Exit)
+ m_State(TM_Exit),
+ m_tStart(0),
+ m_tStop(0),
+ m_tDuration(0),
+ m_bSync(FALSE)
{
#ifdef DXMPERF
PERFLOG_CTOR( L"CPullPin", this );
diff --git a/src/thirdparty/BaseClasses/refclock.cpp b/src/thirdparty/BaseClasses/refclock.cpp
index 57bd63d60..993204e11 100644
--- a/src/thirdparty/BaseClasses/refclock.cpp
+++ b/src/thirdparty/BaseClasses/refclock.cpp
@@ -59,7 +59,7 @@ CBaseReferenceClock::~CBaseReferenceClock()
TriggerThread();
WaitForSingleObject( m_hThread, INFINITE );
EXECUTE_ASSERT( CloseHandle(m_hThread) );
- m_hThread = 0;
+ m_hThread = NULL;
EXECUTE_ASSERT( CloseHandle(m_pSchedule->GetEvent()) );
delete m_pSchedule;
}
@@ -77,7 +77,8 @@ CBaseReferenceClock::CBaseReferenceClock( __in_opt LPCTSTR pName,
, m_TimerResolution(0)
, m_bAbort( FALSE )
, m_pSchedule( pShed ? pShed : new CAMSchedule(CreateEvent(NULL, FALSE, FALSE, NULL)) )
-, m_hThread(0)
+, m_hThread(NULL)
+, m_rtNextAdvise(0)
{
#ifdef DXMPERF
diff --git a/src/thirdparty/BaseClasses/schedule.h b/src/thirdparty/BaseClasses/schedule.h
index 058d76442..c35e0098b 100644
--- a/src/thirdparty/BaseClasses/schedule.h
+++ b/src/thirdparty/BaseClasses/schedule.h
@@ -41,6 +41,12 @@ private:
{
public:
CAdvisePacket()
+ : m_next(NULL)
+ , m_rtEventTime(0)
+ , m_dwAdviseCookie(0)
+ , m_rtPeriod(0)
+ , m_hNotify(NULL)
+ , m_bPeriodic(FALSE)
{}
CAdvisePacket * m_next;
@@ -50,7 +56,13 @@ private:
HANDLE m_hNotify; // Handle to event or semephore
BOOL m_bPeriodic; // TRUE => Periodic event
- CAdvisePacket( __inout_opt CAdvisePacket * next, LONGLONG time ) : m_next(next), m_rtEventTime(time)
+ CAdvisePacket( __inout_opt CAdvisePacket * next, LONGLONG time )
+ : m_next(next)
+ , m_rtEventTime(time)
+ , m_dwAdviseCookie(0)
+ , m_rtPeriod(0)
+ , m_hNotify(NULL)
+ , m_bPeriodic(FALSE)
{}
void InsertAfter( __inout CAdvisePacket * p )
diff --git a/src/thirdparty/BaseClasses/strmctl.cpp b/src/thirdparty/BaseClasses/strmctl.cpp
index f13bed699..846b0d243 100644
--- a/src/thirdparty/BaseClasses/strmctl.cpp
+++ b/src/thirdparty/BaseClasses/strmctl.cpp
@@ -22,6 +22,9 @@ CBaseStreamControl::CBaseStreamControl(__inout HRESULT *phr)
, m_FilterState(State_Stopped)
, m_bIsFlushing(FALSE)
, m_bStopSendExtra(FALSE)
+, m_bStopExtraSent(FALSE)
+, m_pSink(NULL)
+, m_tRunStart(0)
{}
CBaseStreamControl::~CBaseStreamControl()
diff --git a/src/thirdparty/BaseClasses/vtrans.cpp b/src/thirdparty/BaseClasses/vtrans.cpp
index 72794ca46..e20e48360 100644
--- a/src/thirdparty/BaseClasses/vtrans.cpp
+++ b/src/thirdparty/BaseClasses/vtrans.cpp
@@ -21,6 +21,7 @@ CVideoTransformFilter::CVideoTransformFilter
, m_tDecodeStart(0)
, m_itrAvgDecode(300000) // 30mSec - probably allows skipping
, m_bQualityChanged(FALSE)
+ , m_nWaitForKey(0)
{
#ifdef PERF
RegisterPerfId();
diff --git a/src/thirdparty/BaseClasses/vtrans.h b/src/thirdparty/BaseClasses/vtrans.h
index 49b1509b1..7fda41491 100644
--- a/src/thirdparty/BaseClasses/vtrans.h
+++ b/src/thirdparty/BaseClasses/vtrans.h
@@ -130,7 +130,7 @@ class CVideoTransformFilter : public CTransformFilter
int m_tDecodeStart; // timeGetTime when decode started.
int m_itrAvgDecode; // Average decode time in reference units.
- BOOL m_bNoSkip; // debug - no skipping.
+ //BOOL m_bNoSkip; // debug - no skipping.
// We send an EC_QUALITY_CHANGE notification to the app if we have to degrade.
// We send one when we start degrading, not one for every frame, this means
diff --git a/src/thirdparty/BaseClasses/winutil.cpp b/src/thirdparty/BaseClasses/winutil.cpp
index 08bc6a03d..205567c6a 100644
--- a/src/thirdparty/BaseClasses/winutil.cpp
+++ b/src/thirdparty/BaseClasses/winutil.cpp
@@ -35,9 +35,12 @@ CBaseWindow::CBaseWindow(BOOL bDoGetDC, bool bDoPostToDestroy) :
m_bRealizing(FALSE),
#endif
m_bNoRealize(FALSE),
- m_bDoPostToDestroy(bDoPostToDestroy)
+ m_bDoPostToDestroy(bDoPostToDestroy),
+ m_bDoGetDC(bDoGetDC),
+ m_Width(0),
+ m_Height(0),
+ m_RealizePalette(0)
{
- m_bDoGetDC = bDoGetDC;
}
@@ -1457,7 +1460,8 @@ CImageAllocator::CImageAllocator(__inout CBaseFilter *pFilter,
__in_opt LPCTSTR pName,
__inout HRESULT *phr) :
CBaseAllocator(pName,NULL,phr,TRUE,TRUE),
- m_pFilter(pFilter)
+ m_pFilter(pFilter),
+ m_pMediaType(NULL)
{
ASSERT(phr);
ASSERT(pFilter);
@@ -1742,6 +1746,7 @@ CImageSample::CImageSample(__inout CBaseAllocator *pAllocator,
CMediaSample(pName,pAllocator,phr,pBuffer,length),
m_bInit(FALSE)
{
+ ZeroMemory(&m_DibData, sizeof(DIBDATA));
ASSERT(pAllocator);
ASSERT(pBuffer);
}
diff --git a/src/thirdparty/BaseClasses/winutil.h b/src/thirdparty/BaseClasses/winutil.h
index 27358f9fd..79c4642ab 100644
--- a/src/thirdparty/BaseClasses/winutil.h
+++ b/src/thirdparty/BaseClasses/winutil.h
@@ -54,7 +54,9 @@ protected:
HPALETTE m_hPalette; // Handle to any palette we may have
BYTE m_bNoRealize; // Don't realize palette now
BYTE m_bBackground; // Should we realise in background
+#ifdef _DEBUG
BYTE m_bRealizing; // already realizing the palette
+#endif
CCritSec m_WindowLock; // Serialise window object access
BOOL m_bDoGetDC; // Should this window get a DC
bool m_bDoPostToDestroy; // Use PostMessage to destroy
diff --git a/src/thirdparty/BaseClasses/wxlist.h b/src/thirdparty/BaseClasses/wxlist.h
index 900792883..4cb819446 100644
--- a/src/thirdparty/BaseClasses/wxlist.h
+++ b/src/thirdparty/BaseClasses/wxlist.h
@@ -79,9 +79,9 @@ public:
class CNode {
#endif
- CNode *m_pPrev; /* Previous node in the list */
- CNode *m_pNext; /* Next node in the list */
- void *m_pObject; /* Pointer to the object */
+ CNode *m_pPrev = NULL; /* Previous node in the list */
+ CNode *m_pNext = NULL; /* Next node in the list */
+ void *m_pObject = NULL; /* Pointer to the object */
public:
diff --git a/src/thirdparty/BaseClasses/wxutil.cpp b/src/thirdparty/BaseClasses/wxutil.cpp
index 16f6a3844..89333c953 100644
--- a/src/thirdparty/BaseClasses/wxutil.cpp
+++ b/src/thirdparty/BaseClasses/wxutil.cpp
@@ -99,9 +99,11 @@ BOOL CAMMsgEvent::WaitMsg(DWORD dwTimeout)
CAMThread::CAMThread(__inout_opt HRESULT *phr)
: m_EventSend(TRUE, phr), // must be manual-reset for CheckRequest()
- m_EventComplete(FALSE, phr)
+ m_EventComplete(FALSE, phr),
+ m_hThread(NULL),
+ m_dwParam(0),
+ m_dwReturnVal(0)
{
- m_hThread = NULL;
}
CAMThread::~CAMThread() {
diff --git a/src/thirdparty/BaseClasses/wxutil.h b/src/thirdparty/BaseClasses/wxutil.h
index c084a0e2b..1a44c255e 100644
--- a/src/thirdparty/BaseClasses/wxutil.h
+++ b/src/thirdparty/BaseClasses/wxutil.h
@@ -213,7 +213,7 @@ public:
// Return TRUE if the thread exists. FALSE otherwise
BOOL ThreadExists(void) const
{
- if (m_hThread == 0) {
+ if (m_hThread == NULL) {
return FALSE;
} else {
return TRUE;
diff --git a/src/thirdparty/LAVFilters/build_ffmpeg.sh b/src/thirdparty/LAVFilters/build_ffmpeg.sh
index 9e136b236..5d49520f8 100755
--- a/src/thirdparty/LAVFilters/build_ffmpeg.sh
+++ b/src/thirdparty/LAVFilters/build_ffmpeg.sh
@@ -47,8 +47,6 @@ configure() {
--enable-version3 \
--enable-w32threads \
--disable-demuxer=matroska \
- --disable-decoder=opus \
- --disable-parser=opus \
--disable-filters \
--enable-filter=yadif \
--enable-filter=scale \
@@ -73,7 +71,6 @@ configure() {
--enable-libspeex \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
- --enable-libopus \
--enable-avresample \
--enable-avisynth \
--disable-avdevice \
@@ -104,7 +101,7 @@ configure() {
build() {
echo Building...
- make -j8 2>&1 | tee make.log
+ make -j$(($NUMBER_OF_PROCESSORS+1)) 2>&1 | tee make.log
## Check the return status and the log to detect possible errors
[ ${PIPESTATUS[0]} -eq 0 ] && ! grep -q -F "rerun configure" make.log
}
diff --git a/src/thirdparty/LAVFilters/build_lavfilters.bat b/src/thirdparty/LAVFilters/build_lavfilters.bat
index 0b3da5b40..44528289e 100755
--- a/src/thirdparty/LAVFilters/build_lavfilters.bat
+++ b/src/thirdparty/LAVFilters/build_lavfilters.bat
@@ -1,5 +1,5 @@
@ECHO OFF
-REM (C) 2013-2014 see Authors.txt
+REM (C) 2013-2015 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -141,9 +141,9 @@ PUSHD src
REM Build LAVFilters
IF /I "%ARCH%" == "x86" (SET "ARCHVS=Win32") ELSE (SET "ARCHVS=x64")
-devenv /nologo LAVFilters.sln /%BUILDTYPE% "%RELEASETYPE%|%ARCHVS%"
+MSBuild.exe LAVFilters.sln /nologo /consoleloggerparameters:Verbosity=minimal /nodeReuse:true /m /t:%BUILDTYPE% /property:Configuration=%RELEASETYPE%;Platform=%ARCHVS%
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "'devenv /nologo LAVFilters.sln /%BUILDTYPE% "%RELEASETYPE%-%ARCHVS%"' failed!"
+ CALL :SubMsg "ERROR" "'MSBuild.exe LAVFilters.sln /nologo /consoleloggerparameters:Verbosity=minimal /nodeReuse:true /m /t:%BUILDTYPE% /property:Configuration=%RELEASETYPE%;Platform=%ARCHVS%' failed!"
EXIT /B
)
diff --git a/src/thirdparty/LAVFilters/src b/src/thirdparty/LAVFilters/src
-Subproject 7ffa7652ab6952ac46701133408858b39dc7eca
+Subproject 5f45b5782b3e785ab34338cf84f544e1eb089ff
diff --git a/src/thirdparty/LCDUI/LCDUI.vcxproj b/src/thirdparty/LCDUI/LCDUI.vcxproj
index 6cccda94d..66629b3be 100644
--- a/src/thirdparty/LCDUI/LCDUI.vcxproj
+++ b/src/thirdparty/LCDUI/LCDUI.vcxproj
@@ -48,18 +48,22 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
@@ -67,10 +71,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- <DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -80,10 +82,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- <DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -93,10 +93,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- <DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -106,10 +104,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <EnablePREfast>false</EnablePREfast>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>LCDUI.h</PrecompiledHeaderFile>
- <DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>lgLcd.lib;%(AdditionalDependencies)</AdditionalDependencies>
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.cpp b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.cpp
index 6acc5b335..e42326b41 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.cpp
@@ -250,17 +250,26 @@ void File_Pcm::Streams_Finish()
//***************************************************************************
//---------------------------------------------------------------------------
-#if MEDIAINFO_DEMUX
void File_Pcm::Read_Buffer_Continue()
{
- if (Demux_UnpacketizeContainer && !Status[IsAccepted])
+ //Testing if we get enough data
+ if (SamplingRate && BitDepth && Channels)
{
- Frame_Count_Valid_Demux++;
- if (Frame_Count_Valid_Demux<Frame_Count_Valid)
- Element_WaitForMoreData();
+ int64u BitRate=SamplingRate*BitDepth*Channels;
+ int64u ByteRate=BitRate/8;
+ if (Buffer_Size>=ByteRate/4) // 1/4 of second is enough for detection
+ Frame_Count_Valid=2;
}
+
+ #if MEDIAINFO_DEMUX
+ if (Demux_UnpacketizeContainer && !Status[IsAccepted])
+ {
+ Frame_Count_Valid_Demux++;
+ if (Frame_Count_Valid_Demux<Frame_Count_Valid)
+ Element_WaitForMoreData();
+ }
+ #endif //MEDIAINFO_DEMUX
}
-#endif //MEDIAINFO_DEMUX
//***************************************************************************
// Buffer - File header
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.h b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.h
index 7c6c1e075..a120e614c 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_Pcm.h
@@ -40,8 +40,8 @@ public :
int8u Sign;
//Buffer - Global
- #if MEDIAINFO_DEMUX
void Read_Buffer_Continue ();
+ #if MEDIAINFO_DEMUX
int64u Frame_Count_Valid_Demux;
#endif //MEDIAINFO_DEMUX
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0331.cpp b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0331.cpp
index 64e53a737..dee766da1 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0331.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0331.cpp
@@ -48,10 +48,10 @@ const char* Smpte_St0331_ChannelsPositions(int8u number_channels)
{
switch (number_channels)
{
- case 0 : return "Front: L R"; //2 channels
- case 1 : return "Front: L C R, LFE"; //4 channels
- case 2 : return "Front: L C R, Side: L R, LFE"; //6 channels
- case 3 : return "Front: L C R, Side: L R, Back: L R, LFE"; //8 channels
+ case 2 : return "Front: L R"; //2 channels
+ case 4 : return "Front: L C R, LFE"; //4 channels
+ case 6 : return "Front: L C R, Side: L R, LFE"; //6 channels
+ case 8 : return "Front: L C R, Side: L R, Back: L R, LFE"; //8 channels
default : return "";
}
}
@@ -61,10 +61,10 @@ const char* Smpte_St0331_ChannelsPositions2(int8u number_channels)
{
switch (number_channels)
{
- case 0 : return "2/0/0.0"; //2 channels
- case 1 : return "3/0/0.1"; //4 channels
- case 2 : return "3/2/0.1"; //6 channels
- case 3 : return "3/2/2.1"; //8 channels
+ case 2 : return "2/0/0.0"; //2 channels
+ case 4 : return "3/0/0.1"; //4 channels
+ case 6 : return "3/2/0.1"; //6 channels
+ case 8 : return "3/2/2.1"; //8 channels
default : return "";
}
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0337.cpp b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0337.cpp
index 68bbed40d..2302b3cea 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0337.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Audio/File_SmpteSt0337.cpp
@@ -738,7 +738,7 @@ bool File_SmpteSt0337::Synched_Test()
case 24 :
switch (Stream_Bits)
{
- case 16 : if (CC6(Buffer+Buffer_Offset)!=0xF872004E1F00LL) {Synched=false; return true;} break;
+ case 16 : if (CC6(Buffer+Buffer_Offset)!=0x00F872004E1FLL) {Synched=false; return true;} break;
case 20 : if (CC6(Buffer+Buffer_Offset)!=0x6F872054E1F0LL) {Synched=false; return true;} break;
case 24 : if (CC6(Buffer+Buffer_Offset)!=0x96F872A54E1FLL) {Synched=false; return true;} break;
default : ;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Export/Export_EbuCore.cpp b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_EbuCore.cpp
index d51b7973b..fd5a6861d 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Export/Export_EbuCore.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_EbuCore.cpp
@@ -1143,7 +1143,7 @@ Ztring Export_EbuCore::Transform(MediaInfo_Internal &MI)
//format - technicalAttributeString - overallBitRate
if (!MI.Get(Stream_General, 0, General_OverallBitRate).empty())
{
- ToReturn+=__T("\t\t\t<ebucore:technicalAttributeString typeLabel=\"overallBitRate\">\">")+MI.Get(Stream_General, 0, General_OverallBitRate)+__T("</ebucore:technicalAttributeString>\n");
+ ToReturn+=__T("\t\t\t<ebucore:technicalAttributeString typeLabel=\"overallBitRate\">")+MI.Get(Stream_General, 0, General_OverallBitRate)+__T("</ebucore:technicalAttributeString>\n");
}
//format - dateCreated
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.cpp b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.cpp
new file mode 100644
index 000000000..6758949af
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.cpp
@@ -0,0 +1,576 @@
+/* Copyright (c) 2009-2013 MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+//
+// Contributor: Dave Rice, dave@dericed.com
+//
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//---------------------------------------------------------------------------
+// Pre-compilation
+#include "MediaInfo/PreComp.h"
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Setup.h"
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Export/Export_PBCore2.h"
+#include "MediaInfo/File__Analyse_Automatic.h"
+#include <ctime>
+using namespace std;
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//---------------------------------------------------------------------------
+extern MediaInfo_Config Config;
+//---------------------------------------------------------------------------
+
+//***************************************************************************
+// Infos
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+Ztring PBCore2_MediaType(MediaInfo_Internal &MI)
+{
+ if (MI.Count_Get(Stream_Video))
+ return __T("Moving Image");
+ else if (MI.Count_Get(Stream_Audio))
+ return __T("Sound");
+ else if (MI.Count_Get(Stream_Image))
+ return __T("Static Image");
+ else if (MI.Count_Get(Stream_Text))
+ return __T("Text");
+ else
+ return Ztring();
+}
+
+//***************************************************************************
+// Constructor/Destructor
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+Export_PBCore2::Export_PBCore2 ()
+{
+}
+
+//---------------------------------------------------------------------------
+Export_PBCore2::~Export_PBCore2 ()
+{
+}
+
+//***************************************************************************
+// Input
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void PBCore2_Transform(Ztring &ToReturn, MediaInfo_Internal &MI, stream_t StreamKind, size_t StreamPos)
+{
+ //Menu: only if TimeCode
+ if (StreamKind==Stream_Menu && MI.Get(Stream_Menu, StreamPos, Menu_Format)!=__T("TimeCode"))
+ return;
+
+ ToReturn+=__T("\t<instantiationEssenceTrack>\n");
+
+ //essenceTrackType
+ Ztring essenceTrackType;
+ switch (StreamKind)
+ {
+ case Stream_Video:
+ essenceTrackType=__T("Video");
+ break;
+ case Stream_Audio:
+ essenceTrackType=__T("Audio");
+ break;
+ case Stream_Image:
+ essenceTrackType=__T("Image");
+ break;
+ case Stream_Text:
+ {
+ Ztring Format=MI.Get(Stream_Text, StreamPos, Text_Format);
+ if (Format==__T("EIA-608") || Format==__T("EIA-708"))
+ essenceTrackType=__T("CC");
+ else
+ essenceTrackType=__T("Text");
+ }
+ break;
+ case Stream_Menu:
+ if (MI.Get(Stream_Menu, StreamPos, Menu_Format)==__T("TimeCode"))
+ {
+ essenceTrackType=__T("TimeCode");
+ break;
+ }
+ else
+ return; //Not supported
+ default: return; //Not supported
+ }
+ ToReturn+=__T("\t\t<essenceTrackType>");
+ ToReturn+=essenceTrackType;
+ ToReturn+=__T("</essenceTrackType>\n");
+
+ //essenceTrackIdentifier
+ if (!MI.Get(StreamKind, StreamPos, __T("ID")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackIdentifier source=\"ID (Mediainfo)\">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("ID"));
+ ToReturn+=__T("</essenceTrackIdentifier>\n");
+ }
+ if (!MI.Get(Stream_General, 0, General_UniqueID).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackIdentifier source=\"UniqueID (Mediainfo)\">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("UniqueID"));
+ ToReturn+=__T("</essenceTrackIdentifier>\n");
+ }
+ if (!MI.Get(StreamKind, StreamPos, __T("StreamKindID")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackIdentifier source=\"StreamKindID (Mediainfo)\">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("StreamKindID"));
+ ToReturn+=__T("</essenceTrackIdentifier>\n");
+ }
+ if (!MI.Get(StreamKind, StreamPos, __T("StreamOrder")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackIdentifier source=\"StreamOrder (Mediainfo)\">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("StreamOrder"));
+ ToReturn+=__T("</essenceTrackIdentifier>\n");
+ }
+
+ //essenceTrackStandard
+ if (StreamKind==Stream_Video && !MI.Get(Stream_Video, StreamPos, Video_Standard).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackStandard>");
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_Standard);
+ ToReturn+=__T("</essenceTrackStandard>\n");
+ }
+
+ //essenceTrackEncoding
+ if (!MI.Get(StreamKind, StreamPos, __T("Format")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackEncoding");
+ if (!MI.Get(StreamKind, StreamPos, __T("CodecID")).empty())
+ {
+ ToReturn+=__T(" ref=\"codecid:");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("CodecID"));
+ ToReturn+=__T("\"");
+ }
+ if (!MI.Get(StreamKind, StreamPos, __T("Format_Version")).empty())
+ {
+ ToReturn+=__T(" version=\"");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("Format_Version"));
+ ToReturn+=__T("\"");
+ }
+ if (!MI.Get(StreamKind, StreamPos, __T("Format_Profile")).empty())
+ {
+ ToReturn+=__T(" annotation=\"profile:");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("Format_Profile"));
+ ToReturn+=__T("\"");
+ }
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("Format"));
+ ToReturn+=__T("</essenceTrackEncoding>\n");
+ }
+
+ //essenceTrackDataRate
+ if (!MI.Get(StreamKind, StreamPos, __T("BitRate")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackDataRate");
+ ToReturn+=__T(" unitsOfMeasure=\"bits/second\"");
+ if (!MI.Get(StreamKind, StreamPos, __T("BitRate_Mode")).empty())
+ {
+ ToReturn+=__T(" annotation=\"");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("BitRate_Mode"));
+ ToReturn+=__T("\"");
+ }
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("BitRate"));
+ ToReturn+=__T("</essenceTrackDataRate>\n");
+ }
+
+ //essenceTrackFrameRate
+ if (StreamKind==Stream_Video && !MI.Get(Stream_Video, StreamPos, Video_FrameRate).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackFrameRate");
+ if (!MI.Get(Stream_Video, StreamPos, Video_FrameRate_Mode).empty())
+ {
+ ToReturn+=__T(" annotation=\"");
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_FrameRate_Mode);
+ ToReturn+=__T("\"");
+ }
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_FrameRate);
+ ToReturn+=__T("</essenceTrackFrameRate>\n");
+ }
+
+ //essenceTrackSamplingRate
+ if (StreamKind==Stream_Audio && !MI.Get(Stream_Audio, StreamPos, Audio_SamplingRate).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackSamplingRate");
+ ToReturn+=__T(" unitsOfMeasure=\"Hz\"");
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(Stream_Audio, StreamPos, Audio_SamplingRate);
+ ToReturn+=__T("</essenceTrackSamplingRate>\n");
+ }
+
+ //essenceTrackBitDepth
+ if (!MI.Get(StreamKind, StreamPos, __T("BitDepth")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackBitDepth>");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("BitDepth"));
+ ToReturn+=__T("</essenceTrackBitDepth>\n");
+ }
+
+ //essenceTrackFrameSize
+ if (StreamKind==Stream_Video && !MI.Get(Stream_Video, StreamPos, Video_Width).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackFrameSize>");
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_Width);
+ ToReturn+=__T('x');
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_Height);
+ ToReturn+=__T("</essenceTrackFrameSize>\n");
+ }
+
+ //essenceTrackAspectRatio
+ if (StreamKind==Stream_Video && !MI.Get(Stream_Video, StreamPos, Video_DisplayAspectRatio).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackAspectRatio>");
+ ToReturn+=MI.Get(Stream_Video, StreamPos, Video_DisplayAspectRatio);
+ ToReturn+=__T("</essenceTrackAspectRatio>\n");
+ }
+
+ //essenceTrackDuration
+ if (!MI.Get(StreamKind, StreamPos, __T("Duration_String3")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackDuration>");
+ ToReturn+=MI.Get(StreamKind, StreamPos, __T("Duration_String3"));
+ ToReturn+=__T("</essenceTrackDuration>\n");
+ }
+
+ //essenceTrackLanguage
+ if (!MI.Get(StreamKind, StreamPos, __T("Language")).empty())
+ {
+ ToReturn+=__T("\t\t<essenceTrackLanguage>");
+ ToReturn+=MediaInfoLib::Config.Iso639_2_Get(MI.Get(StreamKind, StreamPos, __T("Language")));
+ ToReturn+=__T("</essenceTrackLanguage>\n");
+ }
+
+ //essenceTrackAnnotation - all fields (except *_String* and a blacklist)
+ for (size_t Pos=0; Pos<MI.Count_Get(StreamKind, StreamPos); Pos++)
+ if (
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name).find(__T("String"))==std::string::npos &&
+ !MI.Get(StreamKind, StreamPos, Pos).empty() &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Bits-(Pixel*Frame)") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("BitDepth") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("BitRate") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("BitRate_Mode") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("ChannelPositions") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec_Profile") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec_Settings") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec_Settings_CABAC") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec_Settings_RefFrames") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec/CC") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec/Family") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec/Info") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec/Url") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("CodecID") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("CodecID/Info") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("CodecID/Url") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Codec_Settings_Floor") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Colorimetry") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Count") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("DisplayAspectRatio") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Duration") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Encoded_Date") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Encoded_Library") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format/Info") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format/Url") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format_Commercial") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format_Profile") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Format_Version") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("FrameRate") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("FrameRate_Mode") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Height") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("ID") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("InternetMediaType") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Language") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Resolution") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("SamplingRate") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Standard") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamCount") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamKind") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamKindID") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamKindPos") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamOrder") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("StreamSize_Proportion") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Tagged_Date") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("UniqueID") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_DisplayAspectRatio") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_FrameRate") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_FrameRate_Mode") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_Height") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_Standard") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Video_Width") &&
+ MI.Get(StreamKind, StreamPos, Pos, Info_Name)!=__T("Width")
+ )
+ {
+ ToReturn+=__T("\t\t<essenceTrackAnnotation");
+ ToReturn+=__T(" annotationType=\"");
+ ToReturn+=MI.Get(StreamKind, StreamPos, Pos, Info_Name);
+ ToReturn+=__T("\">");
+ ToReturn+=MI.Get(StreamKind, StreamPos, Pos);
+ ToReturn+=__T("</essenceTrackAnnotation>\n");
+ }
+ ToReturn+=__T("\t</instantiationEssenceTrack>\n");
+}
+
+//---------------------------------------------------------------------------
+Ztring Export_PBCore2::Transform(MediaInfo_Internal &MI)
+{
+ //Current date/time is ISO format
+ time_t Time=time(NULL);
+ Ztring TimeS; TimeS.Date_From_Seconds_1970((int32u)Time);
+ TimeS.FindAndReplace(__T("UTC "), __T(""));
+ TimeS.FindAndReplace(__T(" "), __T("T"));
+ TimeS+=__T('Z');
+
+ Ztring ToReturn;
+ ToReturn+=__T("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ ToReturn+=__T("<pbcoreInstantiationDocument xsi:schemaLocation=\"http://www.pbcore.org/PBCore/PBCoreNamespace.html http://pbcore.org/xsd/pbcore-2.0.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://www.pbcore.org/PBCore/PBCoreNamespace.html\">\n");
+ ToReturn+=__T("<!-- Generated at ")+TimeS+__T(" by ")+MediaInfoLib::Config.Info_Version_Get()+__T(" -->\n");
+
+ //instantiationIdentifier
+ ToReturn+=__T("\t<instantiationIdentifier source=\"File Name\">");
+ ToReturn+=MI.Get(Stream_General, 0, General_FileName);
+ if (!MI.Get(Stream_General, 0, General_FileExtension).empty())
+ {
+ ToReturn+=__T(".");
+ ToReturn+=MI.Get(Stream_General, 0, General_FileExtension);
+ }
+ ToReturn+=__T("</instantiationIdentifier>\n");
+
+ // need to figure out how to get to non-internally-declared-values
+ //if (!MI.Get(Stream_General, 0, General_Media/UUID).empty())
+ //{
+ // ToReturn+=__T("\t<instantiationIdentifier source=\"Media UUID\">")+MI.Get(Stream_General, 0, General_Media/UUID)+__T("</instantiationIdentifier>\n");
+ //}
+
+ //instantiationDates
+ //dateIssued
+ if (!MI.Get(Stream_General, 0, General_Recorded_Date).empty())
+ {
+ Ztring dateIssued=MI.Get(Stream_General, 0, General_Recorded_Date);
+ dateIssued.FindAndReplace(__T("UTC"), __T(""));
+ dateIssued.FindAndReplace(__T(" "), __T("T"));
+ dateIssued+=__T('Z');
+ ToReturn+=__T("\t<instantiationDate dateType=\"issued\">");
+ ToReturn+=dateIssued+__T("</instantiationDate>\n");
+ }
+
+ //dateFileModified
+ if (!MI.Get(Stream_General, 0, General_File_Modified_Date).empty())
+ {
+ Ztring dateModified=MI.Get(Stream_General, 0, General_File_Modified_Date);
+ dateModified.FindAndReplace(__T("UTC "), __T(""));
+ dateModified.FindAndReplace(__T(" "), __T("T"));
+ dateModified+=__T('Z');
+ ToReturn+=__T("\t<instantiationDate dateType=\"file modification\">");
+ ToReturn+=dateModified+__T("</instantiationDate>\n");
+ }
+
+ //dateEncoder
+ if (!MI.Get(Stream_General, 0, General_Encoded_Date).empty())
+ {
+ Ztring dateEncoded=MI.Get(Stream_General, 0, General_Encoded_Date);
+ dateEncoded.FindAndReplace(__T("UTC "), __T(""));
+ dateEncoded.FindAndReplace(__T(" "), __T("T"));
+ dateEncoded+=__T('Z');
+ ToReturn+=__T("\t<instantiationDate dateType=\"encoded\">");
+ ToReturn+=dateEncoded+__T("</instantiationDate>\n");
+ }
+
+ //dateTagged
+ if (!MI.Get(Stream_General, 0, General_Tagged_Date).empty())
+ {
+ Ztring dateTagged=MI.Get(Stream_General, 0, General_Tagged_Date);
+ dateTagged.FindAndReplace(__T("UTC "), __T(""));
+ dateTagged.FindAndReplace(__T(" "), __T("T"));
+ dateTagged+=__T('Z');
+ ToReturn+=__T("\t<instantiationDate dateType=\"tagged\">");
+ ToReturn+=dateTagged+__T("</instantiationDate>\n");
+ }
+
+ //formatDigital
+ if (!MI.Get(Stream_General, 0, General_InternetMediaType).empty())
+ {
+ ToReturn+=__T("\t<instantiationDigital>");
+ ToReturn+=MI.Get(Stream_General, 0, General_InternetMediaType);
+ ToReturn+=__T("</instantiationDigital>\n");
+ }
+ else
+ {
+ //TODO: how to implement formats without Media Type?
+ ToReturn+=__T("\t<instantiationDigital>");
+ if (MI.Count_Get(Stream_Video))
+ ToReturn+=__T("video/x-");
+ else if (MI.Count_Get(Stream_Image))
+ ToReturn+=__T("image/x-");
+ else if (MI.Count_Get(Stream_Audio))
+ ToReturn+=__T("audio/x-");
+ else
+ ToReturn+=__T("application/x-");
+ ToReturn+=Ztring(MI.Get(Stream_General, 0, __T("Format"))).MakeLowerCase();
+ ToReturn+=__T("</instantiationDigital>\n");
+ }
+
+ //formatLocation
+ ToReturn+=__T("\t<instantiationLocation>");
+ ToReturn+=MI.Get(Stream_General, 0, General_CompleteName);
+ ToReturn+=__T("</instantiationLocation>\n");
+
+ //formatMediaType
+ if (!PBCore2_MediaType(MI).empty())
+ {
+ ToReturn+=__T("\t<instantiationMediaType>");
+ ToReturn+=PBCore2_MediaType(MI);
+ ToReturn+=__T("</instantiationMediaType>\n");
+ }
+
+ //formatFileSize
+ if (!MI.Get(Stream_General, 0, General_FileSize).empty())
+ {
+ ToReturn+=__T("\t<instantiationFileSize");
+ ToReturn+=__T(" unitsOfMeasure=\"bytes\"");
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(Stream_General, 0, General_FileSize);
+ ToReturn+=__T("</instantiationFileSize>\n");
+ }
+
+ //formatTimeStart
+ if (!MI.Get(Stream_Video, 0, Video_Delay_Original_String3).empty())
+ {
+ ToReturn+=__T("\t<instantiationTimeStart>");
+ ToReturn+=MI.Get(Stream_Video, 0, Video_Delay_Original_String3);
+ ToReturn+=__T("</instantiationTimeStart>\n");
+ }
+ else if (!MI.Get(Stream_Video, 0, Video_Delay_String3).empty())
+ {
+ ToReturn+=__T("\t<instantiationTimeStart>");
+ ToReturn+=MI.Get(Stream_Video, 0, Video_Delay_String3);
+ ToReturn+=__T("</instantiationTimeStart>\n");
+ }
+
+ //formatDuration
+ if (!MI.Get(Stream_General, 0, General_Duration_String3).empty())
+ {
+ ToReturn+=__T("\t<instantiationDuration>");
+ ToReturn+=MI.Get(Stream_General, 0, General_Duration_String3);
+ ToReturn+=__T("</instantiationDuration>\n");
+ }
+
+ //formatDataRate
+ if (!MI.Get(Stream_General, 0, General_OverallBitRate).empty())
+ {
+ ToReturn+=__T("\t<instantiationDataRate");
+ ToReturn+=__T(" unitsOfMeasure=\"bits/second\"");
+ if (!MI.Get(Stream_General, 0, General_OverallBitRate_Mode).empty())
+ {
+ ToReturn+=__T(" annotation=\"");
+ ToReturn+=MI.Get(Stream_General, 0, General_OverallBitRate_Mode);
+ ToReturn+=__T("\"");
+ }
+ ToReturn+=__T(">");
+ ToReturn+=MI.Get(Stream_General, 0, General_OverallBitRate);
+ ToReturn+=__T("</instantiationDataRate>\n");
+ }
+
+ //formatTracks
+ ToReturn+=__T("\t<instantiationTracks>")+Ztring::ToZtring(MI.Count_Get(Stream_Video)+MI.Count_Get(Stream_Audio)+MI.Count_Get(Stream_Image)+MI.Count_Get(Stream_Text))+__T("</instantiationTracks>\n");
+
+ //Streams
+ for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<MI.Count_Get((stream_t)StreamKind); StreamPos++)
+ PBCore2_Transform(ToReturn, MI, (stream_t)StreamKind, StreamPos);
+
+ //instantiationAnnotations
+ for (size_t Pos=0; Pos<MI.Count_Get(Stream_General, 0); Pos++)
+ if (
+ MI.Get(Stream_General, 0, Pos, Info_Name).find(__T("String"))==std::string::npos &&
+ !MI.Get(Stream_General, 0, Pos).empty() &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Count") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("StreamCount") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("StreamKind") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("StreamKindID") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("UniqueID") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Format/Url") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Format_Commercial") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Codec") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Codec/Url") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("CodecID") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("CodecID/Url") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Encoded_Date") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Tagged_Date") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Codec/Url") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Duration") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("StreamSize_Proportion") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("VideoCount") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("AudioCount") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("TextCount") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("MenuCount") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Video_Format_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Video_Format_WithHint_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Video_Codec_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Video_Language_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Audio_Format_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Audio_Format_WithHint_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Audio_Codec_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Audio_Language_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Text_Format_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Text_Format_WithHint_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Text_Codec_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Text_Language_List") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("CompleteName") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("FolderName") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("FileName") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("FileExtension") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("InternetMediaType") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Format/Extensions") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("Codec/Extensions") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("FileSize") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("OverallBitRate_Mode") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("OverallBitRate") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("StreamSize") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("File_Modified_Date") &&
+ MI.Get(Stream_General, 0, Pos, Info_Name)!=__T("File_Modified_Date_Local")
+ )
+ {
+ ToReturn+=__T("\t<instantiationAnnotation");
+ ToReturn+=__T(" annotationType=\"");
+ ToReturn+=MI.Get(Stream_General, 0, Pos, Info_Name);
+ ToReturn+=__T("\">");
+ ToReturn+=MI.Get(Stream_General, 0, Pos);
+ ToReturn+=__T("</instantiationAnnotation>\n");
+ }
+
+ ToReturn+=__T("</pbcoreInstantiationDocument>\n");
+
+ //Carriage return
+ ToReturn.FindAndReplace(__T("\n"), EOL, 0, Ztring_Recursive);
+
+ return ToReturn;
+}
+
+//***************************************************************************
+//
+//***************************************************************************
+
+} //NameSpace
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.h b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.h
new file mode 100644
index 000000000..55e0a9013
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Export/Export_PBCore2.h
@@ -0,0 +1,35 @@
+/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//---------------------------------------------------------------------------
+#ifndef Export_PBCore2H
+#define Export_PBCore2H
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/MediaInfo_Internal.h"
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//***************************************************************************
+/// @brief Export_PBCore 2.0
+//***************************************************************************
+
+class Export_PBCore2
+{
+public :
+ //Constructeur/Destructeur
+ Export_PBCore2 ();
+ ~Export_PBCore2 ();
+
+ //Input
+ Ztring Transform(MediaInfo_Internal &MI);
+};
+
+} //NameSpace
+#endif
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyse_Automatic.h b/src/thirdparty/MediaInfo/MediaInfo/File__Analyse_Automatic.h
index 0ee2ed7ec..cc28ad3cb 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyse_Automatic.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyse_Automatic.h
@@ -47,11 +47,15 @@ enum generic
Generic_Duration_String1,
Generic_Duration_String2,
Generic_Duration_String3,
+ Generic_Duration_String4,
+ Generic_Duration_String5,
Generic_Source_Duration,
Generic_Source_Duration_String,
Generic_Source_Duration_String1,
Generic_Source_Duration_String2,
Generic_Source_Duration_String3,
+ Generic_Source_Duration_String4,
+ Generic_Source_Duration_String5,
Generic_BitRate_Mode,
Generic_BitRate_Mode_String,
Generic_BitRate,
@@ -64,6 +68,8 @@ enum generic
Generic_BitRate_Maximum_String,
Generic_BitRate_Encoded,
Generic_BitRate_Encoded_String,
+ Generic_FrameRate,
+ Generic_FrameRate_String,
Generic_FrameCount,
Generic_Source_FrameCount,
Generic_ColorSpace,
@@ -81,6 +87,7 @@ enum generic
Generic_Delay_String2,
Generic_Delay_String3,
Generic_Delay_String4,
+ Generic_Delay_String5,
Generic_Delay_Settings,
Generic_Delay_DropFrame,
Generic_Delay_Source,
@@ -91,6 +98,7 @@ enum generic
Generic_Delay_Original_String2,
Generic_Delay_Original_String3,
Generic_Delay_Original_String4,
+ Generic_Delay_Original_String5,
Generic_Delay_Original_Settings,
Generic_Delay_Original_DropFrame,
Generic_Delay_Original_Source,
@@ -100,6 +108,7 @@ enum generic
Generic_Video_Delay_String2,
Generic_Video_Delay_String3,
Generic_Video_Delay_String4,
+ Generic_Video_Delay_String5,
Generic_StreamSize,
Generic_StreamSize_String,
Generic_StreamSize_String1,
@@ -232,6 +241,8 @@ enum general
General_Duration_String1,
General_Duration_String2,
General_Duration_String3,
+ General_Duration_String4,
+ General_Duration_String5,
General_Duration_Start,
General_Duration_End,
General_OverallBitRate_Mode,
@@ -244,11 +255,20 @@ enum general
General_OverallBitRate_Nominal_String,
General_OverallBitRate_Maximum,
General_OverallBitRate_Maximum_String,
+ General_FrameRate,
+ General_FrameRate_String,
+ General_FrameCount,
General_Delay,
General_Delay_String,
General_Delay_String1,
General_Delay_String2,
General_Delay_String3,
+ General_Delay_String4,
+ General_Delay_String5,
+ General_Delay_Settings,
+ General_Delay_DropFrame,
+ General_Delay_Source,
+ General_Delay_Source_String,
General_StreamSize,
General_StreamSize_String,
General_StreamSize_String1,
@@ -322,6 +342,7 @@ enum general
General_Original_Lyricist,
General_Conductor,
General_Director,
+ General_CoDirector,
General_AssistantDirector,
General_DirectorOfPhotography,
General_SoundEngineer,
@@ -513,31 +534,42 @@ enum video
Video_Duration_String2,
Video_Duration_String3,
Video_Duration_String4,
+ Video_Duration_String5,
Video_Duration_FirstFrame,
Video_Duration_FirstFrame_String,
Video_Duration_FirstFrame_String1,
Video_Duration_FirstFrame_String2,
Video_Duration_FirstFrame_String3,
+ Video_Duration_FirstFrame_String4,
+ Video_Duration_FirstFrame_String5,
Video_Duration_LastFrame,
Video_Duration_LastFrame_String,
Video_Duration_LastFrame_String1,
Video_Duration_LastFrame_String2,
Video_Duration_LastFrame_String3,
+ Video_Duration_LastFrame_String4,
+ Video_Duration_LastFrame_String5,
Video_Source_Duration,
Video_Source_Duration_String,
Video_Source_Duration_String1,
Video_Source_Duration_String2,
Video_Source_Duration_String3,
+ Video_Source_Duration_String4,
+ Video_Source_Duration_String5,
Video_Source_Duration_FirstFrame,
Video_Source_Duration_FirstFrame_String,
Video_Source_Duration_FirstFrame_String1,
Video_Source_Duration_FirstFrame_String2,
Video_Source_Duration_FirstFrame_String3,
+ Video_Source_Duration_FirstFrame_String4,
+ Video_Source_Duration_FirstFrame_String5,
Video_Source_Duration_LastFrame,
Video_Source_Duration_LastFrame_String,
Video_Source_Duration_LastFrame_String1,
Video_Source_Duration_LastFrame_String2,
Video_Source_Duration_LastFrame_String3,
+ Video_Source_Duration_LastFrame_String4,
+ Video_Source_Duration_LastFrame_String5,
Video_BitRate_Mode,
Video_BitRate_Mode_String,
Video_BitRate,
@@ -625,6 +657,7 @@ enum video
Video_Delay_String2,
Video_Delay_String3,
Video_Delay_String4,
+ Video_Delay_String5,
Video_Delay_Settings,
Video_Delay_DropFrame,
Video_Delay_Source,
@@ -635,6 +668,7 @@ enum video
Video_Delay_Original_String2,
Video_Delay_Original_String3,
Video_Delay_Original_String4,
+ Video_Delay_Original_String5,
Video_Delay_Original_Settings,
Video_Delay_Original_DropFrame,
Video_Delay_Original_Source,
@@ -643,9 +677,15 @@ enum video
Video_TimeStamp_FirstFrame_String1,
Video_TimeStamp_FirstFrame_String2,
Video_TimeStamp_FirstFrame_String3,
+ Video_TimeStamp_FirstFrame_String4,
+ Video_TimeStamp_FirstFrame_String5,
Video_TimeCode_FirstFrame,
Video_TimeCode_Settings,
Video_TimeCode_Source,
+ Video_Gop_OpenClosed,
+ Video_Gop_OpenClosed_String,
+ Video_Gop_OpenClosed_FirstFrame,
+ Video_Gop_OpenClosed_FirstFrame_String,
Video_StreamSize,
Video_StreamSize_String,
Video_StreamSize_String1,
@@ -708,6 +748,7 @@ enum video
Video_colour_primaries,
Video_transfer_characteristics,
Video_matrix_coefficients,
+ Video_colour_range,
Video_colour_description_present_Original,
Video_colour_primaries_Original,
Video_transfer_characteristics_Original,
@@ -787,31 +828,43 @@ enum audio
Audio_Duration_String1,
Audio_Duration_String2,
Audio_Duration_String3,
+ Audio_Duration_String4,
+ Audio_Duration_String5,
Audio_Duration_FirstFrame,
Audio_Duration_FirstFrame_String,
Audio_Duration_FirstFrame_String1,
Audio_Duration_FirstFrame_String2,
Audio_Duration_FirstFrame_String3,
+ Audio_Duration_FirstFrame_String4,
+ Audio_Duration_FirstFrame_String5,
Audio_Duration_LastFrame,
Audio_Duration_LastFrame_String,
Audio_Duration_LastFrame_String1,
Audio_Duration_LastFrame_String2,
Audio_Duration_LastFrame_String3,
+ Audio_Duration_LastFrame_String4,
+ Audio_Duration_LastFrame_String5,
Audio_Source_Duration,
Audio_Source_Duration_String,
Audio_Source_Duration_String1,
Audio_Source_Duration_String2,
Audio_Source_Duration_String3,
+ Audio_Source_Duration_String4,
+ Audio_Source_Duration_String5,
Audio_Source_Duration_FirstFrame,
Audio_Source_Duration_FirstFrame_String,
Audio_Source_Duration_FirstFrame_String1,
Audio_Source_Duration_FirstFrame_String2,
Audio_Source_Duration_FirstFrame_String3,
+ Audio_Source_Duration_FirstFrame_String4,
+ Audio_Source_Duration_FirstFrame_String5,
Audio_Source_Duration_LastFrame,
Audio_Source_Duration_LastFrame_String,
Audio_Source_Duration_LastFrame_String1,
Audio_Source_Duration_LastFrame_String2,
Audio_Source_Duration_LastFrame_String3,
+ Audio_Source_Duration_LastFrame_String4,
+ Audio_Source_Duration_LastFrame_String5,
Audio_BitRate_Mode,
Audio_BitRate_Mode_String,
Audio_BitRate,
@@ -859,6 +912,7 @@ enum audio
Audio_Delay_String2,
Audio_Delay_String3,
Audio_Delay_String4,
+ Audio_Delay_String5,
Audio_Delay_Settings,
Audio_Delay_DropFrame,
Audio_Delay_Source,
@@ -869,6 +923,7 @@ enum audio
Audio_Delay_Original_String2,
Audio_Delay_Original_String3,
Audio_Delay_Original_String4,
+ Audio_Delay_Original_String5,
Audio_Delay_Original_Settings,
Audio_Delay_Original_DropFrame,
Audio_Delay_Original_Source,
@@ -878,12 +933,14 @@ enum audio
Audio_Video_Delay_String2,
Audio_Video_Delay_String3,
Audio_Video_Delay_String4,
+ Audio_Video_Delay_String5,
Audio_Video0_Delay,
Audio_Video0_Delay_String,
Audio_Video0_Delay_String1,
Audio_Video0_Delay_String2,
Audio_Video0_Delay_String3,
Audio_Video0_Delay_String4,
+ Audio_Video0_Delay_String5,
Audio_ReplayGain_Gain,
Audio_ReplayGain_Gain_String,
Audio_ReplayGain_Peak,
@@ -998,31 +1055,42 @@ enum text
Text_Duration_String2,
Text_Duration_String3,
Text_Duration_String4,
+ Text_Duration_String5,
Text_Duration_FirstFrame,
Text_Duration_FirstFrame_String,
Text_Duration_FirstFrame_String1,
Text_Duration_FirstFrame_String2,
Text_Duration_FirstFrame_String3,
+ Text_Duration_FirstFrame_String4,
+ Text_Duration_FirstFrame_String5,
Text_Duration_LastFrame,
Text_Duration_LastFrame_String,
Text_Duration_LastFrame_String1,
Text_Duration_LastFrame_String2,
Text_Duration_LastFrame_String3,
+ Text_Duration_LastFrame_String4,
+ Text_Duration_LastFrame_String5,
Text_Source_Duration,
Text_Source_Duration_String,
Text_Source_Duration_String1,
Text_Source_Duration_String2,
Text_Source_Duration_String3,
+ Text_Source_Duration_String4,
+ Text_Source_Duration_String5,
Text_Source_Duration_FirstFrame,
Text_Source_Duration_FirstFrame_String,
Text_Source_Duration_FirstFrame_String1,
Text_Source_Duration_FirstFrame_String2,
Text_Source_Duration_FirstFrame_String3,
+ Text_Source_Duration_FirstFrame_String4,
+ Text_Source_Duration_FirstFrame_String5,
Text_Source_Duration_LastFrame,
Text_Source_Duration_LastFrame_String,
Text_Source_Duration_LastFrame_String1,
Text_Source_Duration_LastFrame_String2,
Text_Source_Duration_LastFrame_String3,
+ Text_Source_Duration_LastFrame_String4,
+ Text_Source_Duration_LastFrame_String5,
Text_BitRate_Mode,
Text_BitRate_Mode_String,
Text_BitRate,
@@ -1068,6 +1136,7 @@ enum text
Text_Delay_String2,
Text_Delay_String3,
Text_Delay_String4,
+ Text_Delay_String5,
Text_Delay_Settings,
Text_Delay_DropFrame,
Text_Delay_Source,
@@ -1078,6 +1147,7 @@ enum text
Text_Delay_Original_String2,
Text_Delay_Original_String3,
Text_Delay_Original_String4,
+ Text_Delay_Original_String5,
Text_Delay_Original_Settings,
Text_Delay_Original_DropFrame,
Text_Delay_Original_Source,
@@ -1087,12 +1157,14 @@ enum text
Text_Video_Delay_String2,
Text_Video_Delay_String3,
Text_Video_Delay_String4,
+ Text_Video_Delay_String5,
Text_Video0_Delay,
Text_Video0_Delay_String,
Text_Video0_Delay_String1,
Text_Video0_Delay_String2,
Text_Video0_Delay_String3,
Text_Video0_Delay_String4,
+ Text_Video0_Delay_String5,
Text_StreamSize,
Text_StreamSize_String,
Text_StreamSize_String1,
@@ -1190,6 +1262,8 @@ enum other
Other_Duration_String1,
Other_Duration_String2,
Other_Duration_String3,
+ Other_Duration_String4,
+ Other_Duration_String5,
Other_Duration_Start,
Other_Duration_End,
Other_FrameRate,
@@ -1200,8 +1274,12 @@ enum other
Other_TimeStamp_FirstFrame_String1,
Other_TimeStamp_FirstFrame_String2,
Other_TimeStamp_FirstFrame_String3,
+ Other_TimeStamp_FirstFrame_String4,
+ Other_TimeStamp_FirstFrame_String5,
Other_TimeCode_FirstFrame,
Other_TimeCode_Settings,
+ Other_TimeCode_Striped,
+ Other_TimeCode_Striped_String,
Other_Title,
Other_Language,
Other_Language_String,
@@ -1365,6 +1443,8 @@ enum menu
Menu_Duration_String1,
Menu_Duration_String2,
Menu_Duration_String3,
+ Menu_Duration_String4,
+ Menu_Duration_String5,
Menu_Duration_Start,
Menu_Duration_End,
Menu_Delay,
@@ -1373,6 +1453,7 @@ enum menu
Menu_Delay_String2,
Menu_Delay_String3,
Menu_Delay_String4,
+ Menu_Delay_String5,
Menu_Delay_Settings,
Menu_Delay_DropFrame,
Menu_Delay_Source,
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.cpp b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.cpp
index 33e0b6907..20753f7e5 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.cpp
@@ -418,7 +418,7 @@ void File__Analyze::Open_Buffer_Continue (const int8u* ToAdd, size_t ToAdd_Size)
delete AES_Decrypted; AES_Decrypted=new int8u[ToAdd_Size*2];
AES_Decrypted_Size=ToAdd_Size*2;
}
- AES->cbc_decrypt(ToAdd, AES_Decrypted, ToAdd_Size, AES_IV);
+ AES->cbc_decrypt(ToAdd, AES_Decrypted, (int)ToAdd_Size, AES_IV); //TODO: handle the case where ToAdd_Size is more than 2GB
if (File_Offset+Buffer_Size+ToAdd_Size>=Config->File_Current_Size && ToAdd_Size)
{
int8u LastByte=AES_Decrypted[ToAdd_Size-1];
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.h b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.h
index d28a56326..e11db3bae 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze.h
@@ -1070,6 +1070,8 @@ protected :
void Streams_Finish_Cosmetic_Chapters(size_t StreamPos);
void Streams_Finish_Cosmetic_Image(size_t StreamPos);
void Streams_Finish_Cosmetic_Menu(size_t StreamPos);
+ void Streams_Finish_HumanReadable();
+ void Streams_Finish_HumanReadable_PerStream(stream_t StreamKind, size_t StreamPos, size_t Parameter);
void Tags ();
void Video_FrameRate_Rounding (size_t Pos, video Parameter);
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_MinimizeSize.h b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_MinimizeSize.h
index a78265331..57baace89 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_MinimizeSize.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_MinimizeSize.h
@@ -1103,6 +1103,8 @@ protected :
void Streams_Finish_Cosmetic_Chapters(size_t StreamPos);
void Streams_Finish_Cosmetic_Image(size_t StreamPos);
void Streams_Finish_Cosmetic_Menu(size_t StreamPos);
+ void Streams_Finish_HumanReadable();
+ void Streams_Finish_HumanReadable_PerStream(stream_t StreamKind, size_t StreamPos, size_t Parameter);
void Tags ();
void Video_FrameRate_Rounding (size_t Pos, video Parameter);
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams.cpp b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams.cpp
index 2c30ad3e4..3a1656328 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams.cpp
@@ -20,6 +20,7 @@
#include "MediaInfo/File__Analyze.h"
#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/MediaInfo_Config.h"
+#include "MediaInfo/TimeCode.h"
#include "ZenLib/File.h"
#include "ZenLib/FileName.h"
#include "ZenLib/BitStream_LE.h"
@@ -465,146 +466,6 @@ void File__Analyze::Fill (stream_t StreamKind, size_t StreamPos, size_t Paramete
}
}
- //Human readable
- if (MediaInfoLib::Config.ReadByHuman_Get())
- {
- //Strings
- const Ztring &List_Measure_Value=MediaInfoLib::Config.Info_Get(StreamKind).Read(Parameter, Info_Measure);
- if (List_Measure_Value==__T(" byte"))
- FileSize_FileSize123(StreamKind, StreamPos, Parameter);
- else if (List_Measure_Value==__T(" bps") || List_Measure_Value==__T(" Hz"))
- Kilo_Kilo123(StreamKind, StreamPos, Parameter);
- else if (List_Measure_Value==__T(" ms"))
- Duration_Duration123(StreamKind, StreamPos, Parameter);
- else if (List_Measure_Value==__T("Yes"))
- YesNo_YesNo(StreamKind, StreamPos, Parameter);
- else
- Value_Value123(StreamKind, StreamPos, Parameter);
-
- //BitRate_Mode / OverallBitRate_Mode
- if (ParameterName==(StreamKind==Stream_General?__T("OverallBitRate_Mode"):__T("BitRate_Mode")) && MediaInfoLib::Config.ReadByHuman_Get())
- {
- Clear(StreamKind, StreamPos, StreamKind==Stream_General?"OverallBitRate_Mode/String":"BitRate_Mode/String");
-
- ZtringList List;
- List.Separator_Set(0, __T(" / "));
- List.Write(Retrieve(StreamKind, StreamPos, Parameter));
-
- //Per value
- for (size_t Pos=0; Pos<List.size(); Pos++)
- List[Pos]=MediaInfoLib::Config.Language_Get(Ztring(__T("BitRate_Mode_"))+List[Pos]);
-
- Ztring Translated=List.Read();
- Fill(StreamKind, StreamPos, StreamKind==Stream_General?"OverallBitRate_Mode/String":"BitRate_Mode/String", Translated.find(__T("BitRate_Mode_"))?Translated:Value);
- }
-
- //Encoded_Library
- if (ParameterName==__T("Encoded_Library")
- || ParameterName==__T("Encoded_Library/Name")
- || ParameterName==__T("Encoded_Library/Version")
- || ParameterName==__T("Encoded_Library/Date"))
- {
- Ztring Name=Retrieve(StreamKind, StreamPos, "Encoded_Library/Name");
- Ztring Version=Retrieve(StreamKind, StreamPos, "Encoded_Library/Version");
- Ztring Date=Retrieve(StreamKind, StreamPos, "Encoded_Library/Date");
- if (!Name.empty())
- {
- Ztring String=Name;
- if (!Version.empty())
- {
- String+=__T(" ");
- String+=Version;
- }
- if (!Date.empty())
- {
- String+=__T(" (");
- String+=Date;
- String+=__T(")");
- }
- Fill(StreamKind, StreamPos, "Encoded_Library/String", String, true);
- }
- else
- Fill(StreamKind, StreamPos, "Encoded_Library/String", Retrieve(StreamKind, StreamPos, "Encoded_Library"), true);
- }
-
- //Format_Settings_Matrix
- if (StreamKind==Stream_Video && Parameter==Video_Format_Settings_Matrix)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Format_Settings_Matrix_"))+Value);
- Fill(Stream_Video, StreamPos, Video_Format_Settings_Matrix_String, Translated.find(__T("Format_Settings_Matrix_"))?Translated:Value, Replace);
- }
-
- //Scan type
- if (StreamKind==Stream_Video && Parameter==Video_ScanType)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
- Fill(Stream_Video, StreamPos, Video_ScanType_String, Translated.find(__T("Interlaced_"))?Translated:Value, Replace);
- }
- if (StreamKind==Stream_Video && Parameter==Video_ScanType_Original)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
- Fill(Stream_Video, StreamPos, Video_ScanType_Original_String, Translated.find(__T("Interlaced_"))?Translated:Value, Replace);
- }
- if (StreamKind==Stream_Video && Parameter==Video_ScanType_StoreMethod)
- {
- Ztring ToTranslate=Ztring(__T("StoreMethod_"))+Value;
- if (!Retrieve(Stream_Video, StreamPos, Video_ScanType_StoreMethod_FieldsPerBlock).empty())
- ToTranslate+=__T('_')+Retrieve(Stream_Video, StreamPos, Video_ScanType_StoreMethod_FieldsPerBlock);
- Ztring Translated=MediaInfoLib::Config.Language_Get(ToTranslate);
- Fill(Stream_Video, StreamPos, Video_ScanType_StoreMethod_String, Translated.find(__T("StoreMethod_"))?Translated:Value, Replace);
- }
-
- //Scan order
- if (StreamKind==Stream_Video && Parameter==Video_ScanOrder)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
- Fill(Stream_Video, StreamPos, Video_ScanOrder_String, Translated.find(__T("Interlaced_"))?Translated:Value, Replace);
- }
- if (StreamKind==Stream_Video && Parameter==Video_ScanOrder_Stored)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
- Fill(Stream_Video, StreamPos, Video_ScanOrder_Stored_String, Translated.find(__T("Interlaced_"))?Translated:Value, Replace);
- }
- if (StreamKind==Stream_Video && Parameter==Video_ScanOrder_Original)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
- Fill(Stream_Video, StreamPos, Video_ScanOrder_Original_String, Translated.find(__T("Interlaced_"))?Translated:Value, Replace);
- }
-
- //Interlacement
- if (StreamKind==Stream_Video && Parameter==Video_Interlacement)
- {
- const Ztring &Z1=Retrieve(Stream_Video, StreamPos, Video_Interlacement);
- if (Z1.size()==3)
- Fill(Stream_Video, StreamPos, Video_Interlacement_String, MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Z1), Replace);
- else
- Fill(Stream_Video, StreamPos, Video_Interlacement_String, MediaInfoLib::Config.Language_Get(Z1), Replace);
- if (Retrieve(Stream_Video, StreamPos, Video_Interlacement_String).empty())
- Fill(Stream_Video, StreamPos, Video_Interlacement_String, Z1, true);
- }
-
- //FrameRate_Mode
- if (StreamKind==Stream_Video && Parameter==Video_FrameRate_Mode)
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("FrameRate_Mode_"))+Value);
- Fill(Stream_Video, StreamPos, Video_FrameRate_Mode_String, Translated.find(__T("FrameRate_Mode_"))?Translated:Value, Replace);
- }
-
- //Compression_Mode
- if (Parameter==Fill_Parameter(StreamKind, Generic_Compression_Mode))
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Compression_Mode_"))+Value);
- Fill(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_Compression_Mode_String), Translated.find(__T("Compression_Mode_"))?Translated:Value, Replace);
- }
-
- //Delay_Source
- if (Parameter==Fill_Parameter(StreamKind, Generic_Delay_Source))
- {
- Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Delay_Source_"))+Value);
- Fill(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_Delay_Source_String), Translated.find(__T("Delay_Source_"))?Translated:Value, Replace);
- }
- }
-
//General Format
if (Parameter==Fill_Parameter(StreamKind, Generic_Format) && Retrieve(Stream_General, 0, General_Format).empty() && !Value.empty())
Fill(Stream_General, 0, General_Format, Value); //If not already filled, we are filling with the stream format
@@ -936,7 +797,7 @@ void File__Analyze::Fill (stream_t StreamKind, size_t StreamPos, size_t Paramete
{
float32 FrameRate=Retrieve(Stream_Video, StreamPos, Video_FrameRate).To_float32();
float32 FrameRate_Nominal=Retrieve(Stream_Video, StreamPos, Video_FrameRate_Nominal).To_float32();
- if (FrameRate_Nominal>FrameRate*0.995 && FrameRate_Nominal<FrameRate*1.005)
+ if (FrameRate_Nominal>FrameRate*0.9995 && FrameRate_Nominal<FrameRate*1.0005)
{
Ztring Temp=Retrieve(StreamKind, StreamPos, Video_FrameRate_Nominal);
Clear(StreamKind, StreamPos, Video_FrameRate_Nominal);
@@ -1288,7 +1149,7 @@ void File__Analyze::Clear (stream_t StreamKind, size_t StreamPos, size_t Paramet
}
else if (List_Measure_Value==__T(" ms"))
{
- for (size_t Pos=Parameter+1; Pos<=Parameter+4; Pos++)
+ for (size_t Pos=Parameter+1; Pos<=Parameter+6; Pos++)
if (Pos<(*Stream)[StreamKind][StreamPos].size())
(*Stream)[StreamKind][StreamPos][Pos].clear();
}
@@ -1902,6 +1763,8 @@ void File__Analyze::Duration_Duration123(stream_t StreamKind, size_t StreamPos,
Clear(StreamKind, StreamPos, Parameter+2);
Clear(StreamKind, StreamPos, Parameter+3);
Clear(StreamKind, StreamPos, Parameter+4);
+ Clear(StreamKind, StreamPos, Parameter+5);
+ Clear(StreamKind, StreamPos, Parameter+6);
//Retrieving multiple values
ZtringList List;
@@ -2024,6 +1887,122 @@ void File__Analyze::Duration_Duration123(stream_t StreamKind, size_t StreamPos,
Fill(StreamKind, StreamPos, Parameter+2, DurationString1); // /String1
Fill(StreamKind, StreamPos, Parameter+3, DurationString2); // /String2
Fill(StreamKind, StreamPos, Parameter+4, DurationString3); // /String3
+
+ if (Parameter==Fill_Parameter(StreamKind, Generic_Duration))
+ {
+ Ztring DurationString4;
+ Ztring FrameRateS=Retrieve(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_FrameRate));
+ Ztring FrameCountS=Retrieve(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_FrameCount));
+ if (!FrameRateS.empty() && !FrameCountS.empty() && FrameRateS.To_int64u() && FrameRateS.To_int64u()<256)
+ {
+ bool DropFrame=false;
+ bool DropFrame_IsValid=false;
+
+ // Testing time code
+ if (StreamKind==Stream_Video)
+ {
+ Ztring TC=Retrieve(Stream_Video, StreamPos, Video_TimeCode_FirstFrame);
+ if (TC.size()>=11 && TC[2]==__T(':') && TC[5]==__T(':'))
+ {
+ switch (TC[8])
+ {
+ case __T(':'):
+ DropFrame=false;
+ DropFrame_IsValid=true;
+ break;
+ case __T(';'):
+ DropFrame=true;
+ DropFrame_IsValid=true;
+ break;
+ default : ;
+ }
+ }
+ }
+
+ // Testing delay
+ if (!DropFrame_IsValid)
+ {
+ Ztring TC=Retrieve(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_Delay_Original_DropFrame));
+ if (TC.size()>=11 && TC[2]==__T(':') && TC[5]==__T(':'))
+ {
+ switch (TC[8])
+ {
+ case __T(':'):
+ DropFrame=false;
+ DropFrame_IsValid=true;
+ break;
+ case __T(';'):
+ DropFrame=true;
+ DropFrame_IsValid=true;
+ break;
+ default : ;
+ }
+ }
+ }
+
+ // Testing time code track
+ if (!DropFrame_IsValid)
+ {
+ for (size_t Step=Retrieve(Stream_General, 0, General_Format)==__T("MXF")?0:1; Step<2; ++Step)
+ {
+ for (size_t TC_Pos=0; TC_Pos<Count_Get(Stream_Other); ++TC_Pos)
+ if (Retrieve(Stream_Other, TC_Pos, Other_Type)==__T("Time code")
+ && (Step || Retrieve(Stream_Other, TC_Pos, Other_TimeCode_Settings)==__T("Source Package")))
+ {
+ Ztring TC=Retrieve(Stream_Other, TC_Pos, Other_TimeCode_FirstFrame);
+ if (TC.size()>=11 && TC[2]==__T(':') && TC[5]==__T(':'))
+ {
+ switch (TC[8])
+ {
+ case __T(':'):
+ DropFrame=false;
+ DropFrame_IsValid=true;
+ break;
+ case __T(';'):
+ DropFrame=true;
+ DropFrame_IsValid=true;
+ break;
+ default : ;
+ }
+ }
+
+ if (DropFrame_IsValid)
+ break; //Using first time code track
+ }
+
+ if (DropFrame_IsValid)
+ break; //Using first time code track
+ }
+ }
+
+ // Testing frame rate (1/1001)
+ if (!DropFrame_IsValid)
+ {
+ float32 FrameRateF=FrameRateS.To_float32();
+ int32s FrameRateI=float32_int32s(FrameRateS.To_float32());
+ float FrameRateF_Min=((float32)FrameRateI)/((float32)1.002);
+ float FrameRateF_Max=(float32)FrameRateI;
+ if (FrameRateF>=FrameRateF_Min && FrameRateF<FrameRateF_Max)
+ DropFrame=true;
+ else
+ DropFrame=false;
+ }
+
+ TimeCode TC(FrameCountS.To_int64s(), (int8u)float32_int32s(FrameRateS.To_float32()), DropFrame);
+ DurationString4.From_UTF8(TC.ToString());
+
+ Fill(StreamKind, StreamPos, Parameter+5, DurationString4); // /String4
+ }
+ Ztring DurationString5(DurationString3);
+ if (!DurationString4.empty())
+ {
+ DurationString5+=__T(' ');
+ DurationString5+=__T('(');
+ DurationString5+=DurationString4;
+ DurationString5+=__T(')');
+ }
+ Fill(StreamKind, StreamPos, Parameter+6, DurationString5); // /String5
+ }
}
}
@@ -2070,6 +2049,7 @@ void File__Analyze::FileSize_FileSize123(stream_t StreamKind, size_t StreamPos,
case 1 : Measure=__T(" KiB"); MeasureIsAlwaysSame=true; break;
case 2 : Measure=__T(" MiB"); MeasureIsAlwaysSame=true; break;
case 3 : Measure=__T(" GiB"); MeasureIsAlwaysSame=true; break;
+ case 4 : Measure=__T(" TiB"); MeasureIsAlwaysSame=true; break;
default : Measure=__T(" ?iB"); MeasureIsAlwaysSame=true;
}
Fill(StreamKind, StreamPos, Parameter+2, MediaInfoLib::Config.Language_Get(Ztring::ToZtring(F1, 0), Measure, MeasureIsAlwaysSame), true); // /String1
@@ -2288,6 +2268,21 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return General_Duration_String1;
case Generic_Duration_String2 : return General_Duration_String2;
case Generic_Duration_String3 : return General_Duration_String3;
+ case Generic_Duration_String4 : return General_Duration_String4;
+ case Generic_Duration_String5 : return General_Duration_String5;
+ case Generic_FrameRate : return General_FrameRate;
+ case Generic_FrameCount : return General_FrameCount;
+ case Generic_Delay : return General_Delay;
+ case Generic_Delay_String : return General_Delay_String;
+ case Generic_Delay_String1 : return General_Delay_String1;
+ case Generic_Delay_String2 : return General_Delay_String2;
+ case Generic_Delay_String3 : return General_Delay_String3;
+ case Generic_Delay_String4 : return General_Delay_String4;
+ case Generic_Delay_String5 : return General_Delay_String5;
+ case Generic_Delay_Settings : return General_Delay_Settings;
+ case Generic_Delay_DropFrame : return General_Delay_DropFrame;
+ case Generic_Delay_Source : return General_Delay_Source;
+ case Generic_Delay_Source_String : return General_Delay_Source_String;
case Generic_StreamSize : return General_StreamSize;
case Generic_StreamSize_String : return General_StreamSize_String;
case Generic_StreamSize_String1 : return General_StreamSize_String1;
@@ -2327,11 +2322,15 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return Video_Duration_String1;
case Generic_Duration_String2 : return Video_Duration_String2;
case Generic_Duration_String3 : return Video_Duration_String3;
+ case Generic_Duration_String4 : return Video_Duration_String4;
+ case Generic_Duration_String5 : return Video_Duration_String5;
case Generic_Source_Duration : return Video_Source_Duration;
case Generic_Source_Duration_String : return Video_Source_Duration_String;
case Generic_Source_Duration_String1 : return Video_Source_Duration_String1;
case Generic_Source_Duration_String2 : return Video_Source_Duration_String2;
case Generic_Source_Duration_String3 : return Video_Source_Duration_String3;
+ case Generic_Source_Duration_String4 : return Video_Source_Duration_String4;
+ case Generic_Source_Duration_String5 : return Video_Source_Duration_String5;
case Generic_BitRate_Mode : return Video_BitRate_Mode;
case Generic_BitRate_Mode_String : return Video_BitRate_Mode_String;
case Generic_BitRate : return Video_BitRate;
@@ -2344,6 +2343,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_BitRate_Maximum_String : return Video_BitRate_Maximum_String;
case Generic_BitRate_Encoded : return Video_BitRate_Encoded;
case Generic_BitRate_Encoded_String : return Video_BitRate_Encoded_String;
+ case Generic_FrameRate : return Video_FrameRate;
case Generic_FrameCount : return Video_FrameCount;
case Generic_Source_FrameCount : return Video_Source_FrameCount;
case Generic_ColorSpace : return Video_ColorSpace;
@@ -2361,6 +2361,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Delay_String2 : return Video_Delay_String2;
case Generic_Delay_String3 : return Video_Delay_String3;
case Generic_Delay_String4 : return Video_Delay_String4;
+ case Generic_Delay_String5 : return Video_Delay_String5;
case Generic_Delay_Settings : return Video_Delay_Settings;
case Generic_Delay_DropFrame : return Video_Delay_DropFrame;
case Generic_Delay_Source : return Video_Delay_Source;
@@ -2436,11 +2437,15 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return Audio_Duration_String1;
case Generic_Duration_String2 : return Audio_Duration_String2;
case Generic_Duration_String3 : return Audio_Duration_String3;
+ case Generic_Duration_String4 : return Audio_Duration_String4;
+ case Generic_Duration_String5 : return Audio_Duration_String5;
case Generic_Source_Duration : return Audio_Source_Duration;
case Generic_Source_Duration_String : return Audio_Source_Duration_String;
case Generic_Source_Duration_String1 : return Audio_Source_Duration_String1;
case Generic_Source_Duration_String2 : return Audio_Source_Duration_String2;
case Generic_Source_Duration_String3 : return Audio_Source_Duration_String3;
+ case Generic_Source_Duration_String4 : return Audio_Source_Duration_String4;
+ case Generic_Source_Duration_String5 : return Audio_Source_Duration_String5;
case Generic_BitRate_Mode : return Audio_BitRate_Mode;
case Generic_BitRate_Mode_String : return Audio_BitRate_Mode_String;
case Generic_BitRate : return Audio_BitRate;
@@ -2453,6 +2458,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_BitRate_Maximum_String : return Audio_BitRate_Maximum_String;
case Generic_BitRate_Encoded : return Audio_BitRate_Encoded;
case Generic_BitRate_Encoded_String : return Audio_BitRate_Encoded_String;
+ case Generic_FrameRate : return Audio_FrameRate;
case Generic_FrameCount : return Audio_FrameCount;
case Generic_Source_FrameCount : return Audio_Source_FrameCount;
case Generic_Resolution : return Audio_Resolution;
@@ -2468,6 +2474,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Delay_String2 : return Audio_Delay_String2;
case Generic_Delay_String3 : return Audio_Delay_String3;
case Generic_Delay_String4 : return Audio_Delay_String4;
+ case Generic_Delay_String5 : return Audio_Delay_String5;
case Generic_Delay_Settings : return Audio_Delay_Settings;
case Generic_Delay_DropFrame : return Audio_Delay_DropFrame;
case Generic_Delay_Source : return Audio_Delay_Source;
@@ -2549,11 +2556,15 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return Text_Duration_String1;
case Generic_Duration_String2 : return Text_Duration_String2;
case Generic_Duration_String3 : return Text_Duration_String3;
+ case Generic_Duration_String4 : return Text_Duration_String4;
+ case Generic_Duration_String5 : return Text_Duration_String5;
case Generic_Source_Duration : return Text_Source_Duration;
case Generic_Source_Duration_String : return Text_Source_Duration_String;
case Generic_Source_Duration_String1 : return Text_Source_Duration_String1;
case Generic_Source_Duration_String2 : return Text_Source_Duration_String2;
case Generic_Source_Duration_String3 : return Text_Source_Duration_String3;
+ case Generic_Source_Duration_String4 : return Text_Source_Duration_String4;
+ case Generic_Source_Duration_String5 : return Text_Source_Duration_String5;
case Generic_BitRate_Mode : return Text_BitRate_Mode;
case Generic_BitRate_Mode_String : return Text_BitRate_Mode_String;
case Generic_BitRate : return Text_BitRate;
@@ -2566,6 +2577,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_BitRate_Maximum_String : return Text_BitRate_Maximum_String;
case Generic_BitRate_Encoded : return Text_BitRate_Encoded;
case Generic_BitRate_Encoded_String : return Text_BitRate_Encoded_String;
+ case Generic_FrameRate : return Text_FrameRate;
case Generic_FrameCount : return Text_FrameCount;
case Generic_Source_FrameCount : return Text_Source_FrameCount;
case Generic_ColorSpace : return Text_ColorSpace;
@@ -2583,6 +2595,7 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Delay_String2 : return Text_Delay_String2;
case Generic_Delay_String3 : return Text_Delay_String3;
case Generic_Delay_String4 : return Text_Delay_String4;
+ case Generic_Delay_String5 : return Text_Delay_String5;
case Generic_Delay_Settings : return Text_Delay_Settings;
case Generic_Delay_DropFrame : return Text_Delay_DropFrame;
case Generic_Delay_Source : return Text_Delay_Source;
@@ -2658,6 +2671,9 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return Other_Duration_String1;
case Generic_Duration_String2 : return Other_Duration_String2;
case Generic_Duration_String3 : return Other_Duration_String3;
+ case Generic_Duration_String4 : return Other_Duration_String4;
+ case Generic_Duration_String5 : return Other_Duration_String5;
+ case Generic_FrameRate : return Other_FrameRate;
case Generic_FrameCount : return Other_FrameCount;
case Generic_Language : return Other_Language;
default: return (size_t)-1;
@@ -2727,6 +2743,8 @@ size_t File__Analyze::Fill_Parameter(stream_t StreamKind, generic StreamPos)
case Generic_Duration_String1 : return Menu_Duration_String1;
case Generic_Duration_String2 : return Menu_Duration_String2;
case Generic_Duration_String3 : return Menu_Duration_String3;
+ case Generic_Duration_String4 : return Menu_Duration_String4;
+ case Generic_Duration_String5 : return Menu_Duration_String5;
case Generic_Language : return Menu_Language;
case Generic_ServiceName : return Menu_ServiceName;
case Generic_ServiceProvider : return Menu_ServiceProvider;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams_Finish.cpp b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams_Finish.cpp
index d260cbe34..ad2deb5d1 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams_Finish.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/File__Analyze_Streams_Finish.cpp
@@ -94,6 +94,9 @@ void File__Analyze::Streams_Finish_Global()
Streams_Finish_StreamOnly();
Streams_Finish_InterStreams();
Streams_Finish_StreamOnly();
+
+ if (!IsSub && !Config->File_IsReferenced_Get() && MediaInfoLib::Config.ReadByHuman_Get())
+ Streams_Finish_HumanReadable();
}
//---------------------------------------------------------------------------
@@ -144,7 +147,7 @@ void File__Analyze::TestContinuousFileNames(size_t CountOfFiles, Ztring FileExte
size_t Pos_Base = (size_t)Pos;
size_t Pos_Add_Max = 1;
#if MEDIAINFO_ADVANCED
- bool File_IgnoreSequenceFileSize=Config->File_IgnoreSequenceFilesCount_Get();
+ bool File_IgnoreSequenceFileSize=Config->File_IgnoreSequenceFilesCount_Get(); //TODO: double check if it is expected
#endif //MEDIAINFO_ADVANCED
for (;;)
{
@@ -851,8 +854,217 @@ void File__Analyze::Streams_Finish_InterStreams()
}
}
+ //FrameRate if General not filled
+ if (Retrieve(Stream_General, 0, General_FrameRate).empty() && Count_Get(Stream_Video))
+ {
+ Ztring FrameRate=Retrieve(Stream_Video, 0, Video_FrameRate);
+ bool IsOk=true;
+ if (FrameRate.empty())
+ {
+ for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<Count_Get((stream_t)StreamKind); StreamPos++)
+ {
+ Ztring FrameRate2=Retrieve((stream_t)StreamKind, StreamPos, Fill_Parameter((stream_t)StreamKind, Generic_FrameRate));
+ if (!FrameRate2.empty() && FrameRate2!=FrameRate)
+ IsOk=false;
+ }
+ }
+ if (IsOk)
+ Fill(Stream_General, 0, General_FrameRate, FrameRate);
+ }
+
+ //FrameCount if General not filled
+ if (Retrieve(Stream_General, 0, General_FrameCount).empty() && Count_Get(Stream_Video))
+ {
+ Ztring FrameCount=Retrieve(Stream_Video, 0, Video_FrameCount);
+ bool IsOk=true;
+ if (FrameCount.empty())
+ {
+ for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<Count_Get((stream_t)StreamKind); StreamPos++)
+ {
+ Ztring FrameCount2=Retrieve((stream_t)StreamKind, StreamPos, Fill_Parameter((stream_t)StreamKind, Generic_FrameCount));
+ if (!FrameCount2.empty() && FrameCount2!=FrameCount)
+ IsOk=false;
+ }
+ }
+ if (IsOk)
+ Fill(Stream_General, 0, General_FrameCount, FrameCount);
+ }
+
//Tags
Tags();
}
+//---------------------------------------------------------------------------
+void File__Analyze::Streams_Finish_HumanReadable()
+{
+ //Generic
+ for (size_t StreamKind=Stream_General; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<Count_Get((stream_t)StreamKind); StreamPos++)
+ for (size_t Parameter=0; Parameter<Count_Get((stream_t)StreamKind, StreamPos); Parameter++)
+ Streams_Finish_HumanReadable_PerStream((stream_t)StreamKind, StreamPos, Parameter);
+}
+
+//---------------------------------------------------------------------------
+void File__Analyze::Streams_Finish_HumanReadable_PerStream(stream_t StreamKind, size_t StreamPos, size_t Parameter)
+{
+ Ztring ParameterName=Retrieve(StreamKind, StreamPos, Parameter, Info_Name);
+ Ztring Value=Retrieve(StreamKind, StreamPos, Parameter, Info_Text);
+
+ //Strings
+ const Ztring &List_Measure_Value=MediaInfoLib::Config.Info_Get(StreamKind).Read(Parameter, Info_Measure);
+ if (List_Measure_Value==__T(" byte"))
+ FileSize_FileSize123(StreamKind, StreamPos, Parameter);
+ else if (List_Measure_Value==__T(" bps") || List_Measure_Value==__T(" Hz"))
+ Kilo_Kilo123(StreamKind, StreamPos, Parameter);
+ else if (List_Measure_Value==__T(" ms"))
+ Duration_Duration123(StreamKind, StreamPos, Parameter);
+ else if (List_Measure_Value==__T("Yes"))
+ YesNo_YesNo(StreamKind, StreamPos, Parameter);
+ else
+ {
+ Value_Value123(StreamKind, StreamPos, Parameter);
+
+ //Special cases - 120 fps 24/30 mode
+ if (StreamKind==Stream_Video
+ && List_Measure_Value==__T(" fps")
+ && Retrieve(StreamKind, StreamPos, Video_FrameRate).To_int32u()==120
+ && Retrieve(StreamKind, StreamPos, Video_FrameRate_Minimum).To_int32u()==24
+ && Retrieve(StreamKind, StreamPos, Video_FrameRate_Maximum).To_int32u()==30)
+ Fill(Stream_Video, StreamPos_Last, Video_FrameRate_String, MediaInfoLib::Config.Language_Get(Retrieve(StreamKind, StreamPos, Video_FrameRate)+__T(" (24/30)"), __T(" fps")), true);
+ }
+
+ //BitRate_Mode / OverallBitRate_Mode
+ if (ParameterName==(StreamKind==Stream_General?__T("OverallBitRate_Mode"):__T("BitRate_Mode")) && MediaInfoLib::Config.ReadByHuman_Get())
+ {
+ Clear(StreamKind, StreamPos, StreamKind==Stream_General?"OverallBitRate_Mode/String":"BitRate_Mode/String");
+
+ ZtringList List;
+ List.Separator_Set(0, __T(" / "));
+ List.Write(Retrieve(StreamKind, StreamPos, Parameter));
+
+ //Per value
+ for (size_t Pos=0; Pos<List.size(); Pos++)
+ List[Pos]=MediaInfoLib::Config.Language_Get(Ztring(__T("BitRate_Mode_"))+List[Pos]);
+
+ Ztring Translated=List.Read();
+ Fill(StreamKind, StreamPos, StreamKind==Stream_General?"OverallBitRate_Mode/String":"BitRate_Mode/String", Translated.find(__T("BitRate_Mode_"))?Translated:Value);
+ }
+
+ //Encoded_Library
+ if ((ParameterName==__T("Encoded_Library")
+ || ParameterName==__T("Encoded_Library/Name")
+ || ParameterName==__T("Encoded_Library/Version")
+ || ParameterName==__T("Encoded_Library/Date"))
+ && Retrieve(StreamKind, StreamPos, "Encoded_Library/String").empty())
+ {
+ Ztring Name=Retrieve(StreamKind, StreamPos, "Encoded_Library/Name");
+ Ztring Version=Retrieve(StreamKind, StreamPos, "Encoded_Library/Version");
+ Ztring Date=Retrieve(StreamKind, StreamPos, "Encoded_Library/Date");
+ if (!Name.empty())
+ {
+ Ztring String=Name;
+ if (!Version.empty())
+ {
+ String+=__T(" ");
+ String+=Version;
+ }
+ if (!Date.empty())
+ {
+ String+=__T(" (");
+ String+=Date;
+ String+=__T(")");
+ }
+ Fill(StreamKind, StreamPos, "Encoded_Library/String", String, true);
+ }
+ else
+ Fill(StreamKind, StreamPos, "Encoded_Library/String", Retrieve(StreamKind, StreamPos, "Encoded_Library"), true);
+ }
+
+ //Format_Settings_Matrix
+ if (StreamKind==Stream_Video && Parameter==Video_Format_Settings_Matrix)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Format_Settings_Matrix_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_Format_Settings_Matrix_String, Translated.find(__T("Format_Settings_Matrix_"))?Translated:Value);
+ }
+
+ //Scan type
+ if (StreamKind==Stream_Video && Parameter==Video_ScanType)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_ScanType_String, Translated.find(__T("Interlaced_"))?Translated:Value);
+ }
+ if (StreamKind==Stream_Video && Parameter==Video_ScanType_Original)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_ScanType_Original_String, Translated.find(__T("Interlaced_"))?Translated:Value);
+ }
+ if (StreamKind==Stream_Video && Parameter==Video_ScanType_StoreMethod)
+ {
+ Ztring ToTranslate=Ztring(__T("StoreMethod_"))+Value;
+ if (!Retrieve(Stream_Video, StreamPos, Video_ScanType_StoreMethod_FieldsPerBlock).empty())
+ ToTranslate+=__T('_')+Retrieve(Stream_Video, StreamPos, Video_ScanType_StoreMethod_FieldsPerBlock);
+ Ztring Translated=MediaInfoLib::Config.Language_Get(ToTranslate);
+ Fill(Stream_Video, StreamPos, Video_ScanType_StoreMethod_String, Translated.find(__T("StoreMethod_"))?Translated:Value);
+ }
+
+ //Scan order
+ if (StreamKind==Stream_Video && Parameter==Video_ScanOrder)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_ScanOrder_String, Translated.find(__T("Interlaced_"))?Translated:Value);
+ }
+ if (StreamKind==Stream_Video && Parameter==Video_ScanOrder_Stored)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_ScanOrder_Stored_String, Translated.find(__T("Interlaced_"))?Translated:Value);
+ }
+ if (StreamKind==Stream_Video && Parameter==Video_ScanOrder_Original)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_ScanOrder_Original_String, Translated.find(__T("Interlaced_"))?Translated:Value);
+ }
+
+ //Interlacement
+ if (StreamKind==Stream_Video && Parameter==Video_Interlacement)
+ {
+ const Ztring &Z1=Retrieve(Stream_Video, StreamPos, Video_Interlacement);
+ if (Z1.size()==3)
+ Fill(Stream_Video, StreamPos, Video_Interlacement_String, MediaInfoLib::Config.Language_Get(Ztring(__T("Interlaced_"))+Z1));
+ else
+ Fill(Stream_Video, StreamPos, Video_Interlacement_String, MediaInfoLib::Config.Language_Get(Z1));
+ if (Retrieve(Stream_Video, StreamPos, Video_Interlacement_String).empty())
+ Fill(Stream_Video, StreamPos, Video_Interlacement_String, Z1, true);
+ }
+
+ //FrameRate_Mode
+ if (StreamKind==Stream_Video && Parameter==Video_FrameRate_Mode)
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("FrameRate_Mode_"))+Value);
+ Fill(Stream_Video, StreamPos, Video_FrameRate_Mode_String, Translated.find(__T("FrameRate_Mode_"))?Translated:Value);
+ }
+
+ //Compression_Mode
+ if (Parameter==Fill_Parameter(StreamKind, Generic_Compression_Mode))
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Compression_Mode_"))+Value);
+ Fill(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_Compression_Mode_String), Translated.find(__T("Compression_Mode_"))?Translated:Value);
+ }
+
+ //Delay_Source
+ if (Parameter==Fill_Parameter(StreamKind, Generic_Delay_Source))
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Delay_Source_"))+Value);
+ Fill(StreamKind, StreamPos, Fill_Parameter(StreamKind, Generic_Delay_Source_String), Translated.find(__T("Delay_Source_"))?Translated:Value);
+ }
+
+ //Gop_OpenClosed
+ if (StreamKind==Stream_Video && (Parameter==Video_Gop_OpenClosed || Parameter==Video_Gop_OpenClosed_FirstFrame))
+ {
+ Ztring Translated=MediaInfoLib::Config.Language_Get(Ztring(__T("Gop_OpenClosed_"))+Value);
+ Fill(Stream_Video, StreamPos, Parameter+1, Translated.find(__T("Gop_OpenClosed_"))?Translated:Value, true);
+ }
+}
+
} //NameSpace
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.cpp
index ac65644ee..9674ff7e4 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.cpp
@@ -34,7 +34,7 @@ namespace MediaInfoLib
{
//---------------------------------------------------------------------------
-const Char* MediaInfo_Version=__T("MediaInfoLib - v0.7.70");
+const Char* MediaInfo_Version=__T("MediaInfoLib - v0.7.71");
const Char* MediaInfo_Url=__T("http://MediaArea.net/MediaInfo");
Ztring EmptyZtring; //Use it when we can't return a reference to a true Ztring
const Ztring EmptyZtring_Const; //Use it when we can't return a reference to a true Ztring, const version
@@ -1717,6 +1717,22 @@ const Ztring MediaInfo_Config::Iso639_Find (const Ztring &Value)
}
//---------------------------------------------------------------------------
+const Ztring MediaInfo_Config::Iso639_Translate (const Ztring Value)
+{
+ Ztring Code(Value);
+ if (Code.size()==3 && !MediaInfoLib::Config.Iso639_1_Get(Code).empty())
+ Code=MediaInfoLib::Config.Iso639_1_Get(Code);
+ if (Code.size()>3 && !MediaInfoLib::Config.Iso639_Find(Code).empty())
+ Code=MediaInfoLib::Config.Iso639_Find(Code);
+ if (Code.size()>3)
+ return Value;
+ Ztring Language_Translated=MediaInfoLib::Config.Language_Get(__T("Language_")+Code);
+ if (Language_Translated.find(__T("Language_"))==0)
+ return Value; //No translation found
+ return Language_Translated;
+}
+
+//---------------------------------------------------------------------------
const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, const Ztring &Value, info_t KindOfInfo)
{
//Loading codec table if not yet done
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.h b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.h
index 8a90f4628..d3878deed 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config.h
@@ -161,6 +161,7 @@ public :
const Ztring &Iso639_1_Get (const Ztring &Value);
const Ztring &Iso639_2_Get (const Ztring &Value);
const Ztring Iso639_Find (const Ztring &Value);
+ const Ztring Iso639_Translate (const Ztring Value);
const Ztring &Info_Get (stream_t KindOfStream, const Ztring &Value, info_t KindOfInfo=Info_Text);
const Ztring &Info_Get (stream_t KindOfStream, size_t Pos, info_t KindOfInfo=Info_Text);
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_Automatic.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_Automatic.cpp
index ab37b57ec..32e5581da 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_Automatic.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_Automatic.cpp
@@ -57,6 +57,9 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
" chapters stream1; chapters stream\n"
" chapters stream2; chapters streams\n"
" chapters stream3; chapters streams\n"
+ " character1; character\n"
+ " character2; characters\n"
+ " character3; characters\n"
" day1; day\n"
" day2; days\n"
" day3; days\n"
@@ -66,12 +69,12 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
" file1; file\n"
" file2; files\n"
" file3; files\n"
- " frame1; frame\n"
- " frame2; frames\n"
- " frame3; frames\n"
" fps1; fps\n"
" fps2; fps\n"
" fps3; fps\n"
+ " frame1; frame\n"
+ " frame2; frames\n"
+ " frame3; frames\n"
" GB; GB\n"
" Gb; Gb\n"
" Gbps; Gbps\n"
@@ -170,6 +173,8 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
" year3; years\n"
", ;, \n"
": ;: \n"
+ "3D;3D\n"
+ "3DType;3D Type\n"
"About;About\n"
"About_Hint;How to contact me and find last version\n"
"Accompaniment;Accompaniment\n"
@@ -201,7 +206,12 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Audio_No;No audio\n"
"Audio1;First audio stream\n"
"Audio2;Second audio stream\n"
+ "AudioComments;Audio Comments\n"
"AudioCount;Count of audio streams\n"
+ "AudioDescriptionPresent;Audio Description Present\n"
+ "AudioDescriptionType;Audio Description Type\n"
+ "AudioLoudnessStandard;Audio Loudness Standard\n"
+ "AudioTrackLayout;Audio Track Layout\n"
"Author;Author\n"
"BarCode;BarCode\n"
"Basic;Basic\n"
@@ -209,13 +219,13 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"BitDepth;Bit depth\n"
"BitDepth_Stored;Stored bit depth\n"
"BitRate;Bit rate\n"
+ "BitRate_Encoded;Encoded bit rate\n"
"BitRate_Maximum;Maximum bit rate\n"
"BitRate_Minimum;Minimum bit rate\n"
"BitRate_Mode;Bit rate mode\n"
"BitRate_Mode_CBR;Constant\n"
"BitRate_Mode_VBR;Variable\n"
"BitRate_Nominal;Nominal bit rate\n"
- "BitRate_Encoded;Encoded bit rate\n"
"Bits-(Pixel*Frame);Bits/(Pixel*Frame)\n"
"BufferSize;Buffer size\n"
"Cancel;Cancel\n"
@@ -240,44 +250,53 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"ChromaSubsampling;Chroma subsampling\n"
"Close;Close\n"
"Close all before open;Close all before open\n"
+ "ClosedCaptionsLanguage;Closed Captions Language\n"
+ "ClosedCaptionsPresent;Closed Captions Present\n"
+ "ClosedCaptionsType;Closed Captions Type\n"
"Codec;Codec\n"
"Codec_Description;Codec description\n"
"Codec_Info;Details for codec\n"
+ "Codec_Profile;Codec profile\n"
"Codec_Settings;Codec settings\n"
- "Codec_Settings_PacketBitStream;Codec settings, Packet bitstream\n"
"Codec_Settings_BVOP;Codec settings, BVOP\n"
- "Codec_Settings_QPel;Codec settings, QPel\n"
- "Codec_Settings_GMC;Codec settings, GMC\n"
- "Codec_Settings_Matrix;Codec settings, Matrix\n"
- "Codec_Settings_Floor;Codec settings, Floor\n"
"Codec_Settings_CABAC;Codec settings, CABAC\n"
- "Codec_Settings_Firm;Codec settings, Firm\n"
"Codec_Settings_Endianness;Codec settings, Endianness\n"
- "Codec_Settings_Sign;Codec settings, Sign\n"
- "Codec_Settings_Law;Codec settings, Law\n"
+ "Codec_Settings_Firm;Codec settings, Firm\n"
+ "Codec_Settings_Floor;Codec settings, Floor\n"
+ "Codec_Settings_GMC;Codec settings, GMC\n"
"Codec_Settings_ITU;Codec settings, ITU\n"
- "Codec_Profile;Codec profile\n"
+ "Codec_Settings_Law;Codec settings, Law\n"
+ "Codec_Settings_Matrix;Codec settings, Matrix\n"
+ "Codec_Settings_PacketBitStream;Codec settings, Packet bitstream\n"
+ "Codec_Settings_QPel;Codec settings, QPel\n"
+ "Codec_Settings_Sign;Codec settings, Sign\n"
"Codec_Url;Weblink for codec\n"
"CodecID;Codec ID\n"
"CodecID_Description;Description of the codec\n"
+ "CoDirector;Codirector\n"
"Collection;Collection\n"
"Colorimetry;Colorimetry\n"
"ColorSpace;Color space\n"
"colour_primaries;Color primaries\n"
+ "colour_range;Color range\n"
"Comment;Comment\n"
"CommissionedBy;Commissioned by\n"
"Compilation;Compilation\n"
"CompleteName;Complete name\n"
+ "CompletionDate;Completion Date\n"
"Composer;Composer\n"
"Compression_Mode;Compression mode\n"
"Compression_Mode_Lossless;Lossless\n"
"Compression_Mode_Lossy;Lossy\n"
"Compression_Ratio;Compression ratio\n"
"Conductor;Conductor\n"
+ "ContactEmail;Contact Email\n"
+ "ContactTelephoneNumber;Contact Telephone Number\n"
"Container and general information;Container and general information\n"
"ContentType;ContentType\n"
"CoProducer;Coproducer\n"
"Copyright;Copyright\n"
+ "CopyrightYear;Copyright Year\n"
"CostumeDesigner;Costume designer\n"
"Count;Count\n"
"Country;Country\n"
@@ -305,6 +324,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"DisplayAspectRatio;Display aspect ratio\n"
"DisplayAspectRatio_Original;Original display aspect ratio\n"
"DistributedBy;Distributed by\n"
+ "Distributor;Distributor\n"
"Donate;Donate\n"
"DotsPerInch;Dots per inch\n"
"Duration;Duration\n"
@@ -320,6 +340,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Encoded_Original;Original support\n"
"EncodedBy;Encoded by\n"
"EPG_Positions;EPG positions (internal)\n"
+ "EpisodeTitleNumber;Episode Title Number\n"
"Error_File;Error while reading file\n"
"ExecutiveProducer;Executive producer\n"
"Exit;Exit\n"
@@ -353,41 +374,44 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Format_Info;Details for format\n"
"Format_Profile;Format profile\n"
"Format_Settings;Format settings\n"
- "Format_Settings_PacketBitStream;Format settings, Packet bitstream\n"
"Format_Settings_BVOP;Format settings, BVOP\n"
- "Format_Settings_QPel;Format settings, QPel\n"
+ "Format_Settings_CABAC;Format settings, CABAC\n"
+ "Format_Settings_Emphasis;Emphasis\n"
+ "Format_Settings_Endianness;Format settings, Endianness\n"
+ "Format_Settings_Firm;Format settings, Firm\n"
+ "Format_Settings_Floor;Format settings, Floor\n"
+ "Format_Settings_FrameMode;Frame mode\n"
"Format_Settings_GMC;Format settings, GMC\n"
+ "Format_Settings_GOP;Format settings, GOP\n"
+ "Format_Settings_ITU;Format settings, ITU\n"
+ "Format_Settings_Law;Format settings, Law\n"
"Format_Settings_Matrix;Format settings, Matrix\n"
"Format_Settings_Matrix_Custom;Custom\n"
"Format_Settings_Matrix_Default;Default\n"
- "Format_Settings_Floor;Format settings, Floor\n"
- "Format_Settings_CABAC;Format settings, CABAC\n"
- "Format_Settings_Firm;Format settings, Firm\n"
- "Format_Settings_Endianness;Format settings, Endianness\n"
- "Format_Settings_RefFrames;Format settings, ReFrames\n"
- "Format_Settings_Sign;Format settings, Sign\n"
- "Format_Settings_Law;Format settings, Law\n"
- "Format_Settings_ITU;Format settings, ITU\n"
- "Format_Settings_SBR;Format settings, SBR\n"
- "Format_Settings_PS;Format settings, PS\n"
- "Format_Settings_Pulldown;Format settings, Pulldown\n"
"Format_Settings_Mode;Mode\n"
- "Format_Settings_FrameMode;Frame mode\n"
- "Format_Settings_Emphasis;Emphasis\n"
"Format_Settings_ModeExtension;Mode extension\n"
- "Format_Settings_GOP;Format settings, GOP\n"
+ "Format_Settings_PacketBitStream;Format settings, Packet bitstream\n"
"Format_Settings_PictureStructure;Format settings, picture structure\n"
+ "Format_Settings_PS;Format settings, PS\n"
+ "Format_Settings_Pulldown;Format settings, Pulldown\n"
+ "Format_Settings_QPel;Format settings, QPel\n"
+ "Format_Settings_RefFrames;Format settings, ReFrames\n"
+ "Format_Settings_SBR;Format settings, SBR\n"
+ "Format_Settings_Sign;Format settings, Sign\n"
"Format_Settings_Wrapping;Format settings, wrapping mode\n"
- "Format_Version;Format version\n"
"Format_Url;Weblink for format\n"
+ "Format_Version;Format version\n"
+ "FpaManufacturer;FPA Manufacturer\n"
+ "FpaPass;FPA Pass\n"
+ "FpaVersion;FPA Version\n"
"FrameCount;Frame count\n"
"FrameRate;Frame rate\n"
+ "FrameRate_Maximum;Maximum frame rate\n"
+ "FrameRate_Minimum;Minimum frame rate\n"
"FrameRate_Mode;Frame rate mode\n"
"FrameRate_Mode_CFR;Constant\n"
"FrameRate_Mode_VFR;Variable\n"
- "FrameRate_Minimum;Minimum frame rate\n"
"FrameRate_Nominal;Nominal frame rate\n"
- "FrameRate_Maximum;Maximum frame rate\n"
"FrameRate_Original;Original frame rate\n"
"General;General\n"
"Genre;Genre\n"
@@ -584,6 +608,10 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Genre_190;Garage Rock\n"
"Genre_191;Psybient\n"
"Go to WebSite;Go to website\n"
+ "Gop_OpenClosed;GOP, Open/Closed\n"
+ "Gop_OpenClosed_Open;Open\n"
+ "Gop_OpenClosed_Closed;Closed\n"
+ "Gop_OpenClosed_FirstFrame;GOP, Open/Closed of first frame\n"
"Grouping;Grouping\n"
"h;h\n"
"Header file;Create a header file\n"
@@ -597,22 +625,23 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"How many video streams?;How many video streams?\n"
"HTML;HTML\n"
"ID;ID\n"
+ "IdentClockStart;Ident Clock Start\n"
"Image;Image\n"
"Image stream(s);Image streams\n"
"Image_Codec_List;Codecs Image\n"
"ImageCount;Count of image streams\n"
"Info;Info\n"
"Instruments;Instruments\n"
- "Interlacement;Interlacement\n"
- "Interlaced_Interlaced;Interlaced\n"
- "Interlaced_TFF;Top Field First\n"
"Interlaced_BFF;Bottom Field First\n"
+ "Interlaced_Interlaced;Interlaced\n"
"Interlaced_PPF;Progressive\n"
"Interlaced_Progressive;Progressive\n"
- "Interleaved;Interleaved\n"
+ "Interlaced_TFF;Top Field First\n"
+ "Interlacement;Interlacement\n"
"Interleave_Duration;Interleave, duration\n"
"Interleave_Preload;Interleave, preload duration\n"
"Interleave_VideoFrames;Interleave, duration\n"
+ "Interleaved;Interleaved\n"
"InternetMediaType;Internet media type\n"
"IRCA;IRCA\n"
"ISBN;ISBN\n"
@@ -623,7 +652,6 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Known parameters;Known parameters\n"
"Label;Label\n"
"Language;Language\n"
- "Language_More;Language, more info\n"
"Language_aa;Afar\n"
"Language_ab;Abkhazian\n"
"Language_ae;Avestan\n"
@@ -734,6 +762,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Language_ml;Malayalam\n"
"Language_mn;Mongolian\n"
"Language_mo;Moldavian\n"
+ "Language_More;Language, more info\n"
"Language_mr;Marathi\n"
"Language_ms;Malay\n"
"Language_mt;Maltese\n"
@@ -820,22 +849,23 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"LCCN;LCCN\n"
"Library;Muxing library\n"
"Lightness;Lightness\n"
+ "LineUpStart;Line Up Start\n"
"List;List\n"
- "Lyrics;Lyrics\n"
"Lyricist;Lyricist\n"
+ "Lyrics;Lyrics\n"
"Mastered_Date;Mastered date\n"
"MasteredBy;Mastered by\n"
- "matrix_coefficients;Matrix coefficients\n"
- "Matrix_Format;Matrix encoding, format\n"
"Matrix_Channel(s);Matrix encoding, Channel(s)\n"
"Matrix_ChannelPositions;Matrix encoding, channel positions\n"
+ "matrix_coefficients;Matrix coefficients\n"
+ "Matrix_Format;Matrix encoding, format\n"
"MediaInfo_About;MediaInfo provides easy access to technical and tag information about video and audio files.\r\nExcept the Mac App Store graphical user interface, it is open-source software, which means that it is free of charge to the end user and developers have freedom to study, to improve and to redistribute the program (BSD license)\n"
"Menu;Menu\n"
"Menu stream(s);Menu streams\n"
"Menu_Codec_List;Menu codecs\n"
+ "Menu_Hint;More possibilities\n"
"Menu_No;No menu\n"
"MenuCount;Count of menu streams\n"
- "Menu_Hint;More possibilities\n"
"MenuID;Menu ID\n"
"mn;mn\n"
"Mood;Mood\n"
@@ -853,8 +883,8 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"New;New\n"
"Newest version;Check for new versions (requires Internet connection)\n"
"NewVersion_Menu;A new version is available\n"
- "NewVersion_Question_Title;A new version was released!\n"
"NewVersion_Question_Content;A new version (v%Version%) is available, would you like to download it?\n"
+ "NewVersion_Question_Title;A new version was released!\n"
"No;No\n"
"Not yet;Not yet\n"
"NumColors;Number of colors\n"
@@ -897,13 +927,19 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"OpenCandy_34;Please select an install option\n"
"OpenCandy_35;______ recommends this software\n"
"OpenCandy_36;Your current installation will not be interrupted\n"
+ "OpenCaptionsLanguage;Open Captions Language\n"
+ "OpenCaptionsPresent;Open Captions Present\n"
+ "OpenCaptionsType;Open Captions Type\n"
"Options;Options\n"
"Options_Hint;Preferences\n"
"Original;Original\n"
"OriginalNetworkName;Original network name\n"
"OriginalSourceForm;Original source form\n"
"OriginalSourceMedium;Original source medium\n"
+ "Originator;Originator\n"
"Other;Other\n"
+ "OtherIdentifier;Other Identifier\n"
+ "OtherIdentifierType;Other Identifier Type\n"
"Output;Output\n"
"Output format;Output format\n"
"OverallBitRate;Overall bit rate\n"
@@ -913,9 +949,12 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"OverallBitRate_Nominal;Nominal Overall bit rate\n"
"Part;Part\n"
"Part_Count;Total count\n"
+ "PartNumber;Part Number\n"
+ "PartTotal;Part Total\n"
"Performer;Performer\n"
"Period;Period\n"
"Phone;Phone\n"
+ "PictureRatio;Picture Ratio\n"
"PixelAspectRatio;Pixel aspect ratio\n"
"PixelAspectRatio_Original;Original pixel aspect ratio\n"
"PlayCounter;PlayCounter\n"
@@ -926,9 +965,15 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Position;Position\n"
"Position_Total;Total\n"
"Preferences;Preferences\n"
+ "PrimaryAudioLanguage;Primary Audio Language\n"
"Producer;Producer\n"
"ProductionDesigner;Production designer\n"
+ "ProductionNumber;Production Number\n"
"ProductionStudio;Production studio\n"
+ "ProductPlacement;Product Placement\n"
+ "ProgrammeHasText;Programme Has Text\n"
+ "ProgrammeTextLanguage;Programme Text Language\n"
+ "ProgrammeTitle;Programme Title\n"
"Publisher;Publisher\n"
"Purchased_Date;purchased date\n"
"Quote character;Quote character\n"
@@ -942,22 +987,25 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"ReplayGain_Peak;Replay gain peak\n"
"Resolution;Resolution\n"
"s;s\n"
+ "SamplingCount;Samples count\n"
"SamplingRate;Sampling rate\n"
"Save;Save\n"
- "ScanType;Scan type\n"
- "ScanType_Original;Original scan type\n"
- "ScanType_StoreMethod;Scan type, store method\n"
"ScanOrder;Scan order\n"
"ScanOrder_Original;Original scan order\n"
"ScanOrder_Stored;Stored scan order\n"
"ScanOrder_StoredDisplayedInverted;Scan order, stored/displayed order inverted\n"
"ScanOrder_StoreMethod;Scan order, store method\n"
+ "ScanType;Scan type\n"
+ "ScanType_Original;Original scan type\n"
+ "ScanType_StoreMethod;Scan type, store method\n"
"ScreenplayBy;Screenplay by\n"
"Season;Season\n"
+ "SecondaryAudioLanguage;Secondary Audio Language\n"
"see below;see below\n"
"Send HeaderFile;Please send me the Header file here : http://sourceforge.net/projects/mediainfo/ (Bug section)\n"
"Separator_Columns;columns separator\n"
"Separator_Lines;lines separator\n"
+ "SerieTitle;Serie Title\n"
"ServiceChannel;Service channel number\n"
"ServiceName;Service name\n"
"ServiceProvider;Service provider\n"
@@ -971,10 +1019,13 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Shell extension;Explorer extension (in Windows Explorer, right click on a file, there will be a MediaInfo option)\n"
"Shell extension, folder;For folders too\n"
"Shell InfoTip;Explorer Tooltip (in Windows Explorer, move the mouse over the file, info will be displayed)\n"
+ "ShimName;Shim Name\n"
+ "ShimVersion;Shim Version\n"
"Show menu;Show menu\n"
"Show toolbar;Show toolbar\n"
+ "SigningPresent;Signing Present\n"
+ "SignLanguage;Sign Language\n"
"Sort;Sorted by\n"
- "SamplingCount;Samples count\n"
"SoundEngineer;Sound engineer\n"
"Source;Source\n"
"Source_Duration;Source duration\n"
@@ -1008,6 +1059,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Tagged_Date;Tagged date\n"
"Technician;Technician\n"
"TermsOfUse;Terms of use\n"
+ "TertiaryAudioLanguage;Tertiary Audio Language\n"
"Text;Text\n"
"Text - Custom;Text - Custom\n"
"Text (HTML);Text (HTML)\n"
@@ -1019,17 +1071,21 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Text2;Second text stream\n"
"Text3;Third text stream\n"
"TextCount;Count of text streams\n"
+ "TextlessElementsExist;Textless Elements Exist\n"
"ThanksTo;Thanks to\n"
"Thousands separator;Thousands separator\n"
- "Title;Title\n"
- "Title_More;Title, more info\n"
"TimeCode;Time code\n"
"TimeCode_FirstFrame;Time code of first frame\n"
"TimeCode_Settings;Time code settings\n"
"TimeCode_Source;Time code source\n"
+ "TimeCode_Striped;Time code, striped\n"
"TimeStamp;Time stamp\n"
"TimeZone;Timezone\n"
+ "Title;Title\n"
+ "Title_More;Title, more info\n"
"Total;Total\n"
+ "TotalNumberOfParts;Total Number Of Parts\n"
+ "TotalProgrammeDuration;Total Programme Duration\n"
"Track;Track name\n"
"Track_Count;Track count\n"
"transfer_characteristics;Transfer characteristics\n"
@@ -1047,6 +1103,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Video_No;No video\n"
"Video0_Delay;Video0 delay\n"
"Video1;First video stream\n"
+ "VideoComments;Video Comments\n"
"VideoCount;Count of video streams\n"
"View;View\n"
"View_Hint;Change the means of viewing information\n"
@@ -3798,11 +3855,15 @@ void MediaInfo_Config_Generic (ZtringListList &Info)
"Duration/String1\n"
"Duration/String2\n"
"Duration/String3\n"
+ "Duration/String4\n"
+ "Duration/String5\n"
"Source_Duration\n"
"Source_Duration/String\n"
"Source_Duration/String1\n"
"Source_Duration/String2\n"
"Source_Duration/String3\n"
+ "Source_Duration/String4\n"
+ "Source_Duration/String5\n"
"BitRate_Mode\n"
"BitRate_Mode/String\n"
"BitRate\n"
@@ -3815,6 +3876,8 @@ void MediaInfo_Config_Generic (ZtringListList &Info)
"BitRate_Maximum/String\n"
"BitRate_Encoded\n"
"BitRate_Encoded/String\n"
+ "FrameRate\n"
+ "FrameRate/String\n"
"FrameCount\n"
"Source_FrameCount\n"
"ColorSpace\n"
@@ -3832,6 +3895,7 @@ void MediaInfo_Config_Generic (ZtringListList &Info)
"Delay/String2\n"
"Delay/String3\n"
"Delay/String4\n"
+ "Delay/String5\n"
"Delay_Settings\n"
"Delay_DropFrame\n"
"Delay_Source\n"
@@ -3842,6 +3906,7 @@ void MediaInfo_Config_Generic (ZtringListList &Info)
"Delay_Original/String2\n"
"Delay_Original/String3\n"
"Delay_Original/String4\n"
+ "Delay_Original/String5\n"
"Delay_Original_Settings\n"
"Delay_Original_DropFrame\n"
"Delay_Original_Source\n"
@@ -3851,6 +3916,7 @@ void MediaInfo_Config_Generic (ZtringListList &Info)
"Video_Delay/String2\n"
"Video_Delay/String3\n"
"Video_Delay/String4\n"
+ "Video_Delay/String5\n"
"StreamSize\n"
"StreamSize/String\n"
"StreamSize/String1\n"
@@ -3987,6 +4053,8 @@ void MediaInfo_Config_General (ZtringListList &Info)
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_Start;;;Y YT;;\n"
"Duration_End;;;Y YT;;\n"
"OverallBitRate_Mode;;;N YT;;;Bit rate mode of all streams (VBR, CBR)\n"
@@ -3999,11 +4067,20 @@ void MediaInfo_Config_General (ZtringListList &Info)
"OverallBitRate_Nominal/String;;;Y NT;;;Nominal Bit rate (with measurement)\n"
"OverallBitRate_Maximum;; bps;N YF;;;Maximum Bit rate in bps\n"
"OverallBitRate_Maximum/String;;;Y NT;;;Maximum Bit rate (with measurement)\n"
+ "FrameRate;; fps;N YF;;;Frames per second\n"
+ "FrameRate/String;;;N NT;;;Frames per second (with measurement)\n"
+ "FrameCount;;;N NI;;;Frame count (a frame contains a count of samples depends of the format);\n"
"Delay;; ms;N YI;;;Delay fixed in the stream (relative) IN MS\n"
"Delay/String;;;N NT;;;Delay with measurement\n"
"Delay/String1;;;N NT;;;Delay with measurement\n"
"Delay/String2;;;N NT;;;Delay with measurement\n"
"Delay/String3;;;N NT;;;format : HH:MM:SS.MMM\n"
+ "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "Delay_Settings;;;N NT;;;Delay settings (in case of timecode for example)\n"
+ "Delay_DropFrame;;;N NT;;;Delay drop frame\n"
+ "Delay_Source;;;N NT;;;Delay source (Container or Stream or empty)\n"
+ "Delay_Source/String;;;N NT;;;Delay source (Container or Stream or empty)\n"
"StreamSize;; byte;N YI;;;Stream size in bytes\n"
"StreamSize/String;;;N NT;;\n"
"StreamSize/String1;;;N NT;;\n"
@@ -4063,8 +4140,8 @@ void MediaInfo_Config_General (ZtringListList &Info)
"Original/Movie;;;Y YT;;;Original name of the movie;;Title\n"
"Original/Part;;;Y YT;;;Original name of the part in the original support;;Title\n"
"Original/Track;;;Y YT;;;Original name of the track in the original support;;Title\n"
- "Compilation;;;Y YT;;;iTunes compilation;;Title\n"
- "Compilation/String;;Yes;Y YT;;;iTunes compilation;;Title\n"
+ "Compilation;;Yes;Y YT;;;iTunes compilation;;Title\n"
+ "Compilation/String;;;Y YT;;;iTunes compilation;;Title\n"
"Performer;;;Y YT;;;Main performer/artist of this file;;Entity\n"
"Performer/Sort;;;Y YT;;;;;Entity\n"
"Performer/Url;;;Y YT;;;Homepage of the performer/artist;;Entity\n"
@@ -4077,6 +4154,7 @@ void MediaInfo_Config_General (ZtringListList &Info)
"Original/Lyricist;;;Y YT;;;Original lyricist(s)/text writer(s).;;Entity\n"
"Conductor;;;Y YT;;;The artist(s) who performed the work. In classical music this would be the conductor, orchestra, soloists.;;Entity\n"
"Director;;;Y YT;;;Name of the director.;;Entity\n"
+ "CoDirector;;;Y YT;;;Name of the codirector.;;Entity\n"
"AssistantDirector;;;Y YT;;;Name of the assistant director.;;Entity\n"
"DirectorOfPhotography;;;Y YT;;;The name of the director of photography, also known as cinematographer.;;Entity\n"
"SoundEngineer;;;Y YT;;;The name of the sound engineer or sound recordist.;;Entity\n"
@@ -4271,32 +4349,43 @@ void MediaInfo_Config_Video (ZtringListList &Info)
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM\n"
- "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_FirstFrame;; ms;N YI;;;Duration of the first frame if it is longer than others, in ms\n"
"Duration_FirstFrame/String;;;Y NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String1;;;N NT;;;Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_FirstFrame/String2;;;N NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String3;;;N NT;;;Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Duration_FirstFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_FirstFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_LastFrame;; ms;N YI;;;Duration of the last frame if it is longer than others, in ms\n"
"Duration_LastFrame/String;;;Y NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String1;;;N NT;;;Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_LastFrame/String2;;;N NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String3;;;N NT;;;Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
- "Source_Duration;; ms;N YI;;;Source Play time of the stream;\n"
+ "Duration_LastFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_LastFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "Source_Duration;; ms;N YI;;;Source Play time of the stream, in ms;\n"
"Source_Duration/String;;;Y NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String1;;;N NT;;;Source Play time in format : HHh MMmn SSs MMMms, XX omited if zero;\n"
"Source_Duration/String2;;;N NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String3;;;N NT;;;Source Play time in format : HH:MM:SS.MMM;\n"
+ "Source_Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_FirstFrame;; ms;N YI;;;Source Duration of the first frame if it is longer than others, in ms\n"
"Source_Duration_FirstFrame/String;;;Y NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String1;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_FirstFrame/String2;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String3;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_FirstFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_FirstFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_LastFrame;; ms;N YI;;;Source Duration of the last frame if it is longer than others, in ms\n"
"Source_Duration_LastFrame/String;;;Y NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String1;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_LastFrame/String2;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String3;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_LastFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_LastFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"BitRate_Mode;;;N YT;;;Bit rate mode (VBR, CBR)\n"
"BitRate_Mode/String;;;Y NT;;;Bit rate mode (Variable, Cconstant)\n"
"BitRate;; bps;N YF;;;Bit rate in bps\n"
@@ -4383,7 +4472,8 @@ void MediaInfo_Config_Video (ZtringListList &Info)
"Delay/String1;;;N NT;;;Delay with measurement\n"
"Delay/String2;;;N NT;;;Delay with measurement\n"
"Delay/String3;;;N NT;;;Delay in format : HH:MM:SS.MMM\n"
- "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Settings;;;N NT;;;Delay settings (in case of timecode for example)\n"
"Delay_DropFrame;;;N NT;;;Delay drop frame\n"
"Delay_Source;;;N NT;;;Delay source (Container or Stream or empty)\n"
@@ -4393,7 +4483,8 @@ void MediaInfo_Config_Video (ZtringListList &Info)
"Delay_Original/String1;;;N NT;;;Delay with measurement\n"
"Delay_Original/String2;;;N NT;;;Delay with measurement\n"
"Delay_Original/String3;;;N NT;;;Delay in format: HH:MM:SS.MMM;\n"
- "Delay_Original/String4;;;N NT;;;Delay in format: HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay_Original/String4;;;N NT;;;Delay in format: HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay_Original/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Original_Settings;;;N NT;;;Delay settings (in case of timecode for example);\n"
"Delay_Original_DropFrame;;;N NT;;;Delay drop frame info\n"
"Delay_Original_Source;;;N NT;;;Delay source (Stream or empty)\n"
@@ -4402,9 +4493,15 @@ void MediaInfo_Config_Video (ZtringListList &Info)
"TimeStamp_FirstFrame/String1;;;N NT;;;TimeStamp with measurement\n"
"TimeStamp_FirstFrame/String2;;;N NT;;;TimeStamp with measurement\n"
"TimeStamp_FirstFrame/String3;;;N NT;;;TimeStamp in format : HH:MM:SS.MMM\n"
- "TimeCode_FirstFrame;;;Y YC;;;Time code in HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available) format\n"
+ "TimeStamp_FirstFrame/String4;;;N NT;;;TimeStamp in format: HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "TimeStamp_FirstFrame/String5;;;N NT;;;TimeStamp in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "TimeCode_FirstFrame;;;Y YC;;;Time code in HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available format\n"
"TimeCode_Settings;;;Y YT;;;Time code settings\n"
"TimeCode_Source;;;Y YT;;;Time code source (Container, Stream, SystemScheme1, SDTI, ANC...)\n"
+ "Gop_OpenClosed;; ;N YT;;;Time code information about Open/Closed\n"
+ "Gop_OpenClosed/String;;;Y NT;;;Time code information about Open/Closed\n"
+ "Gop_OpenClosed;; ;N YT;;;Time code information about Open/Closed of first frame if GOP is Open for the other GOPs\n"
+ "Gop_OpenClosed/String;;;Y NT;;;Time code information about Open/Closed of first frame if GOP is Open for the other GOPs\n"
"StreamSize;; byte;N YI;;;Streamsize in bytes;\n"
"StreamSize/String;;;Y NT;;;Streamsize in with percentage value;\n"
"StreamSize/String1;;;N NT;;;;\n"
@@ -4467,6 +4564,7 @@ void MediaInfo_Config_Video (ZtringListList &Info)
"colour_primaries;;;Y YT;;;Chromaticity coordinates of the source primaries\n"
"transfer_characteristics;;;Y YT;;;Opto-electronic transfer characteristic of the source picture\n"
"matrix_coefficients;;;Y YT;;;Matrix coefficients used in deriving luma and chroma signals from the green, blue, and red primaries\n"
+ "colour_range;;;Y YT;;;Colour range for YUV colour space\n"
"colour_description_present_Original;;;N YT;;;Presence of colour description\n"
"colour_primaries_Original;;;Y YT;;;Chromaticity coordinates of the source primaries\n"
"transfer_characteristics_Original;;;Y YT;;;Opto-electronic transfer characteristic of the source picture\n"
@@ -4545,36 +4643,48 @@ void MediaInfo_Config_Audio (ZtringListList &Info)
"Codec_Settings_Sign;;;N NT;;;Deprecated, do not use in new projects;\n"
"Codec_Settings_Law;;;N NT;;;Deprecated, do not use in new projects;\n"
"Codec_Settings_ITU;;;N NT;;;Deprecated, do not use in new projects;\n"
- "Duration;; ms;N YI;;;Play time of the stream;\n"
+ "Duration;; ms;N YI;;;Play time of the stream, in ms;\n"
"Duration/String;;;Y NT;;;Play time in format : XXx YYy only, YYy omited if zero;\n"
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero;\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero;\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM;\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_FirstFrame;; ms;N YI;;;Duration of the first frame if it is longer than others, in ms\n"
"Duration_FirstFrame/String;;;Y NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String1;;;N NT;;;Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_FirstFrame/String2;;;N NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String3;;;N NT;;;Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Duration_FirstFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_FirstFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_LastFrame;; ms;N YI;;;Duration of the last frame if it is longer than others, in ms\n"
"Duration_LastFrame/String;;;Y NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String1;;;N NT;;;Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_LastFrame/String2;;;N NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String3;;;N NT;;;Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
- "Source_Duration;; ms;N YI;;;Source Play time of the stream;\n"
+ "Duration_LastFrame/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_LastFrame/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "Source_Duration;; ms;N YI;;;Source Play time of the stream, in ms;\n"
"Source_Duration/String;;;Y NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String1;;;N NT;;;Source Play time in format : HHh MMmn SSs MMMms, XX omited if zero;\n"
"Source_Duration/String2;;;N NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String3;;;N NT;;;Source Play time in format : HH:MM:SS.MMM;\n"
+ "Source_Duration/String4;;;N NT;;;Source Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration/String5;;;N NT;;;Source Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_FirstFrame;; ms;N YI;;;Source Duration of the first frame if it is longer than others, in ms\n"
"Source_Duration_FirstFrame/String;;;Y NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String1;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_FirstFrame/String2;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String3;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_FirstFrame/String4;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_FirstFrame/String5;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_LastFrame;; ms;N YI;;;Source Duration of the last frame if it is longer than others, in ms\n"
"Source_Duration_LastFrame/String;;;Y NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String1;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_LastFrame/String2;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String3;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_LastFrame/String4;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_LastFrame/String5;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"BitRate_Mode;;;N YT;;;Bit rate mode (VBR, CBR);\n"
"BitRate_Mode/String;;;Y NT;;;Bit rate mode (Constant, Variable);\n"
"BitRate;; bps;N YF;;;Bit rate in bps;\n"
@@ -4621,7 +4731,8 @@ void MediaInfo_Config_Audio (ZtringListList &Info)
"Delay/String1;;;N NT;;;Delay with measurement\n"
"Delay/String2;;;N NT;;;Delay with measurement\n"
"Delay/String3;;;N NT;;;Delay in format : HH:MM:SS.MMM\n"
- "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Settings;;;N NT;;;Delay settings (in case of timecode for example)\n"
"Delay_DropFrame;;;N NT;;;Delay drop frame\n"
"Delay_Source;;;N NT;;;Delay source (Container or Stream or empty)\n"
@@ -4631,7 +4742,8 @@ void MediaInfo_Config_Audio (ZtringListList &Info)
"Delay_Original/String1;;;N NT;;;Delay with measurement\n"
"Delay_Original/String2;;;N NT;;;Delay with measurement\n"
"Delay_Original/String3;;;N NT;;;Delay in format: HH:MM:SS.MMM;\n"
- "Delay_Original/String4;;;N NT;;;Delay in format: HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay_Original/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay_Original/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Original_Settings;;;N NT;;;Delay settings (in case of timecode for example);\n"
"Delay_Original_DropFrame;;;N NT;;;Delay drop frame info\n"
"Delay_Original_Source;;;N NT;;;Delay source (Stream or empty)\n"
@@ -4641,12 +4753,14 @@ void MediaInfo_Config_Audio (ZtringListList &Info)
"Video_Delay/String2;;;N NT;;\n"
"Video_Delay/String3;;;N NT;;\n"
"Video_Delay/String4;;;N NT;;\n"
+ "Video_Delay/String5;;;N NT;;\n"
"Video0_Delay;; ms;N NI;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String1;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String2;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String3;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String4;;;N NT;;;Deprecated, do not use in new projects\n"
+ "Video0_Delay/String5;;;N NT;;;Deprecated, do not use in new projects\n"
"ReplayGain_Gain;; dB;N YT;;;The gain to apply to reach 89dB SPL on playback;\n"
"ReplayGain_Gain/String;;;Y YT;;;;\n"
"ReplayGain_Peak;;;Y YT;;;The maximum absolute peak value of the item;\n"
@@ -4759,37 +4873,48 @@ void MediaInfo_Config_Text (ZtringListList &Info)
"Codec/Info;;;N NT;;;Deprecated\n"
"Codec/Url;;;N NT;;;Deprecated\n"
"Codec/CC;;;N NT;;;Deprecated\n"
- "Duration;; ms;N YI;;;Play time of the stream\n"
+ "Duration;; ms;N YI;;;Play time of the stream, in ms\n"
"Duration/String;;;Y NT;;;Play time (formated)\n"
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM\n"
- "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_FirstFrame;; ms;N YI;;;Duration of the first frame if it is longer than others, in ms\n"
"Duration_FirstFrame/String;;;Y NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String1;;;N NT;;;Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_FirstFrame/String2;;;N NT;;;Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_FirstFrame/String3;;;N NT;;;Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Duration_FirstFrame/String4;;;N NT;;;Duration of the first frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_FirstFrame/String5;;;N NT;;;Duration of the first frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_LastFrame;; ms;N YI;;;Duration of the last frame if it is longer than others, in ms\n"
"Duration_LastFrame/String;;;Y NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String1;;;N NT;;;Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration_LastFrame/String2;;;N NT;;;Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Duration_LastFrame/String3;;;N NT;;;Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
- "Source_Duration;; ms;N YI;;;Source Play time of the stream;\n"
+ "Duration_LastFrame/String4;;;N NT;;;Duration of the last frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration_LastFrame/String5;;;N NT;;;Duration of the last frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "Source_Duration;; ms;N YI;;;Source Play time of the stream, in ms;\n"
"Source_Duration/String;;;Y NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String1;;;N NT;;;Source Play time in format : HHh MMmn SSs MMMms, XX omited if zero;\n"
"Source_Duration/String2;;;N NT;;;Source Play time in format : XXx YYy only, YYy omited if zero;\n"
"Source_Duration/String3;;;N NT;;;Source Play time in format : HH:MM:SS.MMM;\n"
+ "Source_Duration/String4;;;N NT;;;Source Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration/String5;;;N NT;;;Source Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_FirstFrame;; ms;N YI;;;Source Duration of the first frame if it is longer than others, in ms\n"
"Source_Duration_FirstFrame/String;;;Y NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String1;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_FirstFrame/String2;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_FirstFrame/String3;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_FirstFrame/String4;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_FirstFrame/String5;;;N NT;;;Source Duration of the first frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Source_Duration_LastFrame;; ms;N YI;;;Source Duration of the last frame if it is longer than others, in ms\n"
"Source_Duration_LastFrame/String;;;Y NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String1;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Source_Duration_LastFrame/String2;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : XXx YYy only, YYy omited if zero\n"
"Source_Duration_LastFrame/String3;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS.MMM\n"
+ "Source_Duration_LastFrame/String4;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Source_Duration_LastFrame/String5;;;N NT;;;Source Duration of the last frame if it is longer than others, in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"BitRate_Mode;;;N YT;;;Bit rate mode (VBR, CBR)\n"
"BitRate_Mode/String;;;Y NT;;;Bit rate mode (Constant, Variable)\n"
"BitRate;; bps;N YF;;;Bit rate in bps\n"
@@ -4802,9 +4927,9 @@ void MediaInfo_Config_Text (ZtringListList &Info)
"BitRate_Maximum/String;;;Y NT;;;Maximum Bit rate (with measurement)\n"
"BitRate_Encoded;; bps;N YF;;;Encoded (with forced padding) bit rate in bps, if some container padding is present\n"
"BitRate_Encoded/String;;;Y NT;;;Encoded (with forced padding) bit rate (with measurement), if some container padding is present\n"
- "Width;; pixel;N YI;;;Width\n"
+ "Width;; character;N YI;;;Width\n"
"Width/String;;;Y NT;;\n"
- "Height;; pixel;N YI;;;Height\n"
+ "Height;; character;N YI;;;Height\n"
"Height/String;;;Y NT;;\n"
"FrameRate_Mode;;;N YT;;;Frame rate mode (CFR, VFR)\n"
"FrameRate_Mode/String;;;Y NT;;;Frame rate mode (Constant, Variable)\n"
@@ -4834,7 +4959,8 @@ void MediaInfo_Config_Text (ZtringListList &Info)
"Delay/String1;;;N NT;;;Delay with measurement\n"
"Delay/String2;;;N NT;;;Delay with measurement\n"
"Delay/String3;;;N NT;;;Delay in format : HH:MM:SS.MMM\n"
- "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Settings;;;N NT;;;Delay settings (in case of timecode for example)\n"
"Delay_DropFrame;;;N NT;;;Delay drop frame\n"
"Delay_Source;;;N NT;;;Delay source (Container or Stream or empty)\n"
@@ -4844,7 +4970,8 @@ void MediaInfo_Config_Text (ZtringListList &Info)
"Delay_Original/String1;;;N NT;;;Delay with measurement\n"
"Delay_Original/String2;;;N NT;;;Delay with measurement\n"
"Delay_Original/String3;;;N NT;;;Delay in format: HH:MM:SS.MMM;\n"
- "Delay_Original/String4;;;N NT;;;Delay in format: HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay_Original/String4;;;N NT;;;Delay in format: HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay_Original/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Original_Settings;;;N NT;;;Delay settings (in case of timecode for example);\n"
"Delay_Original_DropFrame;;;N NT;;;Delay drop frame info\n"
"Delay_Original_Source;;;N NT;;;Delay source (Stream or empty)\n"
@@ -4854,12 +4981,14 @@ void MediaInfo_Config_Text (ZtringListList &Info)
"Video_Delay/String2;;;N NT;;\n"
"Video_Delay/String3;;;N NT;;\n"
"Video_Delay/String4;;;N NT;;\n"
+ "Video_Delay/String5;;;N NT;;\n"
"Video0_Delay;; ms;N NI;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String1;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String2;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String3;;;N NT;;;Deprecated, do not use in new projects\n"
"Video0_Delay/String4;;;N NT;;;Deprecated, do not use in new projects\n"
+ "Video0_Delay/String5;;;N NT;;;Deprecated, do not use in new projects\n"
"StreamSize;; byte;N YI;;;Streamsize in bytes;\n"
"StreamSize/String;;;Y NT;;;Streamsize in with percentage value;\n"
"StreamSize/String1;;;N NT;;;;\n"
@@ -4961,6 +5090,8 @@ void MediaInfo_Config_Other (ZtringListList &Info)
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_Start;;;Y YT;;\n"
"Duration_End;;;Y YT;;\n"
"FrameRate;; fps;N YF;;;Frames per second\n"
@@ -4971,8 +5102,12 @@ void MediaInfo_Config_Other (ZtringListList &Info)
"TimeStamp_FirstFrame/String1;;;N NT;;;TimeStamp with measurement\n"
"TimeStamp_FirstFrame/String2;;;N NT;;;TimeStamp with measurement\n"
"TimeStamp_FirstFrame/String3;;;N NT;;;TimeStamp in format : HH:MM:SS.MMM\n"
- "TimeCode_FirstFrame;;;Y YC;;;Time code in HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available) format\n"
+ "TimeStamp_FirstFrame/String4;;;N NT;;;TimeStamp in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "TimeStamp_FirstFrame/String5;;;N NT;;;TimeStamp in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
+ "TimeCode_FirstFrame;;;Y YC;;;Time code in HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available format\n"
"TimeCode_Settings;;;Y YT;;;Time code settings\n"
+ "TimeCode_Striped;;Yes;N YT;;;Time code is striped (only 1st time code, no discontinuity)\n"
+ "TimeCode_Striped/String;;;Y NT;;;Time code is striped (only 1st time code, no discontinuity)\n"
"Title;;;Y YI;;;Name of this menu\n"
"Language;;;N YT;;;Language (2-letter ISO 639-1 if exists, else 3-letter ISO 639-2, and with optional ISO 3166-1 country separated by a dash if available, e.g. en, en-us, zh-cn)\n"
"Language/String;;;Y NT;;;Language (full)\n"
@@ -5144,6 +5279,8 @@ void MediaInfo_Config_Menu (ZtringListList &Info)
"Duration/String1;;;N NT;;;Play time in format : HHh MMmn SSs MMMms, XX omited if zero\n"
"Duration/String2;;;N NT;;;Play time in format : XXx YYy only, YYy omited if zero\n"
"Duration/String3;;;N NT;;;Play time in format : HH:MM:SS.MMM\n"
+ "Duration/String4;;;N NT;;;Play time in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Duration/String5;;;N NT;;;Play time in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Duration_Start;;;Y YT;;\n"
"Duration_End;;;Y YT;;\n"
"Delay;; ms;N NI;;;Delay fixed in the stream (relative) IN MS\n"
@@ -5151,7 +5288,8 @@ void MediaInfo_Config_Menu (ZtringListList &Info)
"Delay/String1;;;N NT;;;Delay with measurement\n"
"Delay/String2;;;N NT;;;Delay with measurement\n"
"Delay/String3;;;N NT;;;Delay in format : HH:MM:SS.MMM\n"
- "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF (HH:MM:SS;FF for drop frame, if available)\n"
+ "Delay/String4;;;N NT;;;Delay in format : HH:MM:SS:FF, last colon replaced by semicolon for drop frame if available\n"
+ "Delay/String5;;;N NT;;;Delay in format : HH:MM:SS.mmm (HH:MM:SS:FF)\n"
"Delay_Settings;;;N NT;;;Delay settings (in case of timecode for example)\n"
"Delay_DropFrame;;;N NT;;;Delay drop frame\n"
"Delay_Source;;;N NT;;;Delay source (Container or Stream or empty)\n"
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.cpp
index 317f517c6..b11f60877 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.cpp
@@ -115,6 +115,7 @@ MediaInfo_Config_MediaInfo::MediaInfo_Config_MediaInfo()
File_MpegTs_stream_type_Trust=true;
File_MpegTs_Atsc_transport_stream_id_Trust=true;
File_MpegTs_RealTime=false;
+ File_Mxf_TimeCodeFromMaterialPackage=false;
File_Bdmv_ParseTargetedFile=true;
#if defined(MEDIAINFO_DVDIF_YES)
File_DvDif_DisableAudioIfIsInContainer=false;
@@ -775,6 +776,15 @@ Ztring MediaInfo_Config_MediaInfo::Option (const String &Option, const String &V
{
return File_MpegTs_RealTime_Get()?"1":"0";
}
+ else if (Option_Lower==__T("file_mxf_timecodefrommaterialpackage"))
+ {
+ File_Mxf_TimeCodeFromMaterialPackage_Set(!(Value==__T("0") || Value.empty()));
+ return __T("");
+ }
+ else if (Option_Lower==__T("file_mxf_timecodefrommaterialpackage_get"))
+ {
+ return File_Mxf_TimeCodeFromMaterialPackage_Get()?"1":"0";
+ }
else if (Option_Lower==__T("file_bdmv_parsetargetedfile"))
{
File_Bdmv_ParseTargetedFile_Set(!(Value==__T("0") || Value.empty()));
@@ -2347,6 +2357,21 @@ bool MediaInfo_Config_MediaInfo::File_MpegTs_RealTime_Get ()
}
//---------------------------------------------------------------------------
+void MediaInfo_Config_MediaInfo::File_Mxf_TimeCodeFromMaterialPackage_Set (bool NewValue)
+{
+ CriticalSectionLocker CSL(CS);
+ File_Mxf_TimeCodeFromMaterialPackage=NewValue;
+}
+
+bool MediaInfo_Config_MediaInfo::File_Mxf_TimeCodeFromMaterialPackage_Get ()
+{
+ CS.Enter();
+ bool Temp=File_Mxf_TimeCodeFromMaterialPackage;
+ CS.Leave();
+ return Temp;
+}
+
+//---------------------------------------------------------------------------
void MediaInfo_Config_MediaInfo::File_Bdmv_ParseTargetedFile_Set (bool NewValue)
{
CriticalSectionLocker CSL(CS);
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.h b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.h
index a99a984dc..4657c99e7 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Config_MediaInfo.h
@@ -287,6 +287,8 @@ public :
bool File_MpegTs_Atsc_transport_stream_id_Trust_Get ();
void File_MpegTs_RealTime_Set (bool NewValue);
bool File_MpegTs_RealTime_Get ();
+ void File_Mxf_TimeCodeFromMaterialPackage_Set (bool NewValue);
+ bool File_Mxf_TimeCodeFromMaterialPackage_Get ();
void File_Bdmv_ParseTargetedFile_Set (bool NewValue);
bool File_Bdmv_ParseTargetedFile_Get ();
#if defined(MEDIAINFO_DVDIF_YES)
@@ -481,6 +483,7 @@ private :
bool File_MpegTs_stream_type_Trust;
bool File_MpegTs_Atsc_transport_stream_id_Trust;
bool File_MpegTs_RealTime;
+ bool File_Mxf_TimeCodeFromMaterialPackage;
bool File_Bdmv_ParseTargetedFile;
#if defined(MEDIAINFO_DVDIF_YES)
bool File_DvDif_DisableAudioIfIsInContainer;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Events.h b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Events.h
index ea76f9dd2..4bfd1f35f 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Events.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Events.h
@@ -749,4 +749,10 @@ struct MediaInfo_Event_DvDif_Analysis_Frame_0
#define MediaInfo_Parser_N19 0xFC
+/***************************************************************************/
+/* SDP */
+/***************************************************************************/
+
+#define MediaInfo_Parser_Sdp 0xFD
+
#endif //MediaInfo_EventsH
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_File.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_File.cpp
index 07bef9fd3..4646d6fcc 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_File.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_File.cpp
@@ -272,9 +272,15 @@
#if defined(MEDIAINFO_SCC_YES)
#include "MediaInfo/Text/File_Scc.h"
#endif
+#if defined(MEDIAINFO_SDP_YES)
+ #include "MediaInfo/Text/File_Sdp.h"
+#endif
#if defined(MEDIAINFO_SUBRIP_YES)
#include "MediaInfo/Text/File_SubRip.h"
#endif
+#if defined(MEDIAINFO_TELETEXT_YES)
+ #include "MediaInfo/Text/File_Teletext.h"
+#endif
#if defined(MEDIAINFO_TTML_YES)
#include "MediaInfo/Text/File_Ttml.h"
#endif
@@ -627,10 +633,16 @@ bool MediaInfo_Internal::SelectFromExtension (const String &Parser)
#if defined(MEDIAINFO_SCC_YES)
else if (Parser==__T("SCC")) Info=new File_Scc();
#endif
+ #if defined(MEDIAINFO_SDP_YES)
+ else if (Parser==__T("SDP")) Info=new File_Sdp();
+ #endif
#if defined(MEDIAINFO_SUBRIP_YES)
else if (Parser==__T("SubRip")) Info=new File_SubRip();
else if (Parser==__T("WebVTT")) Info=new File_SubRip();
#endif
+ #if defined(MEDIAINFO_TELETEXT_YES)
+ else if (Parser==__T("Teletext")) Info=new File_Teletext();
+ #endif
#if defined(MEDIAINFO_TTML_YES)
else if (Parser==__T("TTML")) Info=new File_Ttml();
#endif
@@ -972,9 +984,15 @@ int MediaInfo_Internal::ListFormats(const String &File_Name)
#if defined(MEDIAINFO_SCC_YES)
delete Info; Info=new File_Scc(); if (((Reader_File*)Reader)->Format_Test_PerParser(this, File_Name)>0) return 1;
#endif
+ #if defined(MEDIAINFO_SDP_YES)
+ delete Info; Info=new File_Sdp(); if (((Reader_File*)Reader)->Format_Test_PerParser(this, File_Name)>0) return 1;
+ #endif
#if defined(MEDIAINFO_SUBRIP_YES)
delete Info; Info=new File_SubRip(); if (((Reader_File*)Reader)->Format_Test_PerParser(this, File_Name)>0) return 1;
#endif
+ #if defined(MEDIAINFO_TELETEXT_YES)
+ delete Info; Info=new File_Teletext(); if (((Reader_File*)Reader)->Format_Test_PerParser(this, File_Name)>0) return 1;
+ #endif
#if defined(MEDIAINFO_TTML_YES)
delete Info; Info=new File_Ttml(); if (((Reader_File*)Reader)->Format_Test_PerParser(this, File_Name)>0) return 1;
#endif
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Inform.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Inform.cpp
index 9508050d2..604fb2f02 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Inform.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Inform.cpp
@@ -28,6 +28,7 @@
#include "MediaInfo/Export/Export_Mpeg7.h"
#include "MediaInfo/Export/Export_reVTMD.h"
#include "MediaInfo/Export/Export_PBCore.h"
+#include "MediaInfo/Export/Export_PBCore2.h"
#include "MediaInfo/File__Analyze.h"
#include "base64.h"
//---------------------------------------------------------------------------
@@ -67,6 +68,8 @@ Ztring MediaInfo_Internal::Inform()
return Export_Mpeg7().Transform(*this);
if (MediaInfoLib::Config.Inform_Get()==__T("PBCore") || MediaInfoLib::Config.Inform_Get()==__T("PBCore_1.2"))
return Export_PBCore().Transform(*this);
+ if (MediaInfoLib::Config.Inform_Get()==__T("PBCore2") || MediaInfoLib::Config.Inform_Get()==__T("PBCore_2.0"))
+ return Export_PBCore2().Transform(*this);
if (MediaInfoLib::Config.Inform_Get()==__T("reVTMD"))
return __T("reVTMD is disabled due to its non-free licensing."); //return Export_reVTMD().Transform(*this);
diff --git a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Internal.cpp b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Internal.cpp
index d826a3cbd..6733cfc32 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Internal.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/MediaInfo_Internal.cpp
@@ -538,6 +538,27 @@ void MediaInfo_Internal::Entry()
if (File::Exists(Test))
Dxw+=" <clip file=\""+Test.Name_Get().To_UTF8()+".vtt\" />\r\n";
}
+ if (FileExtension!=__T("xml"))
+ {
+ Test.Extension_Set(__T("xml"));
+ if (File::Exists(Test))
+ {
+ MediaInfo_Internal MI;
+ Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
+ Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
+ MI.Option(__T("ParseSpeed"), __T("0"));
+ MI.Option(__T("Demux"), Ztring());
+ size_t MiOpenResult=MI.Open(Test);
+ MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
+ MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
+ if (MiOpenResult)
+ {
+ Ztring Format=MI.Get(Stream_General, 0, General_Format);
+ if (Format==__T("TTML"))
+ Dxw+=" <clip file=\""+Test.Name_Get().To_UTF8()+".xml\" />\r\n";
+ }
+ }
+ }
Ztring Name=Test.Name_Get();
Ztring BaseName=Name.SubString(Ztring(), __T("_"));
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.cpp
index 9627fe3d0..6c7c221a3 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.cpp
@@ -34,6 +34,9 @@
#if defined(MEDIAINFO_ARIBSTDB24B37_YES)
#include "MediaInfo/Text/File_AribStdB24B37.h"
#endif
+#if defined(MEDIAINFO_SDP_YES)
+ #include "MediaInfo/Text/File_Sdp.h"
+#endif
#include "MediaInfo/MediaInfo_Config_MediaInfo.h"
#include <cstring>
//---------------------------------------------------------------------------
@@ -84,7 +87,7 @@ const char* Ancillary_DataID(int8u DataID, int8u SecondaryDataID)
case 0x43 :
switch (SecondaryDataID)
{
- case 0x02 : return "WST"; //OP-47 WST, also RDD 8
+ case 0x02 : return "SDP"; //OP-47 SDP, also RDD 8
case 0x03 : return "Multipacket"; //OP-47 Multipacket, also RDD 8
case 0x05 : return "Acquisition Metadata"; //RDD 18
default : return "(Internationally registered)";
@@ -224,6 +227,9 @@ File_Ancillary::File_Ancillary()
#if defined(MEDIAINFO_ARIBSTDB24B37_YES)
AribStdB34B37_Parser=NULL;
#endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
+ #if defined(MEDIAINFO_SDP_YES)
+ Sdp_Parser=NULL;
+ #endif //defined(MEDIAINFO_SDP_YES)
}
//---------------------------------------------------------------------------
@@ -241,6 +247,9 @@ File_Ancillary::~File_Ancillary()
#if defined(MEDIAINFO_ARIBSTDB24B37_YES)
delete AribStdB34B37_Parser; //AribStdB34B37_Parser=NULL;
#endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
+ #if defined(MEDIAINFO_SDP_YES)
+ delete Sdp_Parser; //Sdp_Parser=NULL;
+ #endif //defined(MEDIAINFO_SDP_YES)
}
//---------------------------------------------------------------------------
@@ -278,6 +287,19 @@ void File_Ancillary::Streams_Finish()
}
}
#endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
+
+ #if defined(MEDIAINFO_SDP_YES)
+ if (Sdp_Parser && !Sdp_Parser->Status[IsFinished] && Sdp_Parser->Status[IsAccepted])
+ {
+ Finish(Sdp_Parser);
+ for (size_t StreamPos=0; StreamPos<Sdp_Parser->Count_Get(Stream_Text); StreamPos++)
+ {
+ Merge(*Sdp_Parser, Stream_Text, StreamPos, StreamPos);
+ Ztring MuxingMode=Sdp_Parser->Retrieve(Stream_General, 0, General_Format);
+ Fill(Stream_Text, StreamPos, "MuxingMode", __T("Ancillary data / OP-47 / ")+MuxingMode, true);
+ }
+ }
+ #endif //defined(MEDIAINFO_SDP_YES)
}
//***************************************************************************
@@ -388,8 +410,13 @@ void File_Ancillary::Read_Buffer_Unsynched()
if (AribStdB34B37_Parser)
AribStdB34B37_Parser->Open_Buffer_Unsynch();
#endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
+ #if defined(MEDIAINFO_SDP_YES)
+ if (Sdp_Parser)
+ Sdp_Parser->Open_Buffer_Unsynch();
+ #endif //defined(MEDIAINFO_SDP_YES)
AspectRatio=0;
}
+
//***************************************************************************
// Buffer - Per element
//***************************************************************************
@@ -571,13 +598,28 @@ void File_Ancillary::Data_Parse()
case 0x43 :
switch (SecondaryDataID)
{
- case 0x02 : //OP-47 WST, also RDD 8
+ case 0x02 : //OP-47 SDP, also RDD 8
+ /*
if (Count_Get(Stream_Text)==0)
{
Stream_Prepare(Stream_Text);
- Fill(Stream_Text, StreamPos_Last, Text_Format, "WST");
+ Fill(Stream_Text, StreamPos_Last, Text_Format, "Teletext Subtitle");
Fill(Stream_Text, StreamPos_Last, Text_MuxingMode, "Ancillary data / OP-47 / SDP");
}
+ */
+ #if defined(MEDIAINFO_SDP_YES)
+ if (Sdp_Parser==NULL)
+ {
+ Sdp_Parser=new File_Sdp;
+ Open_Buffer_Init(Sdp_Parser);
+ }
+ if (!Sdp_Parser->Status[IsFinished])
+ {
+ if (Sdp_Parser->PTS_DTS_Needed)
+ Sdp_Parser->FrameInfo=FrameInfo;
+ Open_Buffer_Continue(Sdp_Parser, Payload, (size_t)DataCount);
+ }
+ #endif //defined(MEDIAINFO_SDP_YES)
break;
case 0x03 : //OP-47 Multipacket, also RDD 8
if (Count_Get(Stream_Other)==0)
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.h
index dd8509824..8ad35e751 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ancillary.h
@@ -67,6 +67,9 @@ public :
#if defined(MEDIAINFO_ARIBSTDB24B37_YES)
File__Analyze* AribStdB34B37_Parser;
#endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
+ #if defined(MEDIAINFO_SDP_YES)
+ File__Analyze* Sdp_Parser;
+ #endif //defined(MEDIAINFO_ARIBSTDB24B37_YES)
//Constructor/Destructor
File_Ancillary();
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Bdmv.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Bdmv.cpp
index 4d74ea9be..263a52661 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Bdmv.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Bdmv.cpp
@@ -618,6 +618,7 @@ void File_Bdmv::BDMV()
{
MIs[Pos]=new MediaInfo_Internal();
MIs[Pos]->Option(__T("File_Bdmv_ParseTargetedFile"), __T("0"));
+ MIs[Pos]->Option(__T("File_IsReferenced"), __T("1"));
MIs[Pos]->Open(List[Pos]);
int64u Duration=Ztring(MIs[Pos]->Get(Stream_General, 0, General_Duration)).To_int64u();
if (Duration>MaxDuration)
@@ -632,6 +633,7 @@ void File_Bdmv::BDMV()
{
//Merging
MediaInfo_Internal MI;
+ MI.Option(__T("File_IsReferenced"), __T("1"));
MI.Open(List[MaxDuration_Pos]); //Open it again for having the M2TS part
Merge(MI);
@@ -691,6 +693,7 @@ void File_Bdmv::Clpi_ProgramInfo()
MediaInfo_Internal MI;
MI.Option(__T("File_Bdmv_ParseTargetedFile"), __T("0"));
+ MI.Option(__T("File_IsReferenced"), __T("1"));
if (MI.Open(M2TS_File))
{
Merge(MI);
@@ -1187,6 +1190,7 @@ void File_Bdmv::Mpls_PlayList_PlayItem()
MediaInfo_Internal MI;
MI.Option(__T("File_Bdmv_ParseTargetedFile"), Config->File_Bdmv_ParseTargetedFile_Get()?__T("1"):__T("0"));
+ MI.Option(__T("File_IsReferenced"), __T("1"));
if (MI.Open(CLPI_File))
{
for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
@@ -1373,6 +1377,7 @@ void File_Bdmv::Mpls_PlayList_SubPlayItem(int8u SubPath_type, int16u Pos)
MediaInfo_Internal MI;
MI.Option(__T("File_Bdmv_ParseTargetedFile"), Config->File_Bdmv_ParseTargetedFile_Get()?__T("1"):__T("0"));
+ MI.Option(__T("File_IsReferenced"), __T("1"));
if (MI.Open(CLPI_File))
{
if (MI.Count_Get(Stream_Video))
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Cdxa.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Cdxa.cpp
index b1b6a5659..3a3c14759 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Cdxa.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Cdxa.cpp
@@ -156,6 +156,7 @@ void File_Cdxa::FileHeader_Parse()
Accept("CDXA");
MI=new MediaInfo_Internal;
MI->Option(__T("FormatDetection_MaximumOffset"), __T("1048576"));
+ MI->Option(__T("File_IsReferenced"), __T("1"));
//MI->Option(__T("File_IsSub"), __T("1"));
MI->Open_Buffer_Init(File_Size, File_Offset+Buffer_Offset);
FILLING_END();
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.cpp
index 6e8d0be1b..7bf2f914e 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.cpp
@@ -36,13 +36,6 @@ namespace MediaInfoLib
{
//***************************************************************************
-// Infos
-//***************************************************************************
-
-//---------------------------------------------------------------------------
-extern void DcpCpl_MergeFromPkl(File__ReferenceFilesHelper* FromCpl, File__ReferenceFilesHelper* FromPkl);
-
-//***************************************************************************
// Constructor/Destructor
//***************************************************************************
@@ -58,6 +51,9 @@ File_DcpAm::File_DcpAm()
Demux_EventWasSent_Accept_Specific=true;
#endif //MEDIAINFO_DEMUX
+ //PKL
+ PKL_Pos=(size_t)-1;
+
//Temp
ReferenceFiles=NULL;
}
@@ -79,6 +75,18 @@ void File_DcpAm::Streams_Finish()
return;
ReferenceFiles->ParseReferences();
+
+ // Detection of IMF CPL
+ bool IsImf=false;
+ for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<Count_Get((stream_t)StreamKind); StreamPos++)
+ if (Retrieve((stream_t)StreamKind, StreamPos, "MuxingMode").find(__T("IMF CPL"))==0)
+ IsImf=true;
+ if (IsImf)
+ {
+ Fill(Stream_General, 0, General_Format, "IMF AM", Unlimited, true, true);
+ Clear(Stream_General, 0, General_Format_Version);
+ }
}
//***************************************************************************
@@ -139,9 +147,7 @@ bool File_DcpAm::FileHeader_Begin()
Fill(Stream_General, 0, General_Format_Version, NameSpace=="am:"?"SMPTE":"Interop");
Config->File_ID_OnlyRoot_Set(false);
- ReferenceFiles=new File__ReferenceFilesHelper(this, Config);
- Ztring CPL_FileName;
-
+ //Parsing main elements
for (XMLElement* AssetMap_Item=AssetMap->FirstChildElement(); AssetMap_Item; AssetMap_Item=AssetMap_Item->NextSiblingElement())
{
//AssetList
@@ -152,16 +158,10 @@ bool File_DcpAm::FileHeader_Begin()
//Asset
if (!strcmp(AssetList_Item->Value(), (NameSpace+"Asset").c_str()))
{
- File__ReferenceFilesHelper::reference ReferenceFile;
- bool IsPKL=false;
- bool IsCPL=false;
+ File_DcpPkl::stream Stream;
for (XMLElement* Asset_Item=AssetList_Item->FirstChildElement(); Asset_Item; Asset_Item=Asset_Item->NextSiblingElement())
{
- //Id
- if (!strcmp(Asset_Item->Value(), (NameSpace+"Id").c_str()))
- ReferenceFile.Infos["UniqueID"].From_UTF8(Asset_Item->GetText());
-
//ChunkList
if (!strcmp(Asset_Item->Value(), (NameSpace+"ChunkList").c_str()))
{
@@ -170,39 +170,34 @@ bool File_DcpAm::FileHeader_Begin()
//Chunk
if (!strcmp(ChunkList_Item->Value(), (NameSpace+"Chunk").c_str()))
{
+ File_DcpPkl::stream::chunk Chunk;
+
for (XMLElement* Chunk_Item=ChunkList_Item->FirstChildElement(); Chunk_Item; Chunk_Item=Chunk_Item->NextSiblingElement())
{
//Path
if (!strcmp(Chunk_Item->Value(), (NameSpace+"Path").c_str()))
- {
- ReferenceFile.FileNames.push_back(Ztring().From_UTF8(Chunk_Item->GetText()));
- string Text=Chunk_Item->GetText();
- if (Text.size()>=8
- && (Text.find("_pkl.xml")==Text.size()-8)
- || (Text.find("PKL_")==0 && Text.find(".xml")==Text.size()-4))
- IsPKL=true;
- if (Text.size()>=8
- && (Text.find("_cpl.xml")==Text.size()-8)
- || (Text.find("CPL_")==0 && Text.find(".xml")==Text.size()-4))
- IsCPL=true;
- }
+ Chunk.Path=Chunk_Item->GetText();
}
+
+ Stream.ChunkList.push_back(Chunk);
}
}
}
- }
- if (IsCPL)
- {
- if (CPL_FileName.empty() && !ReferenceFile.FileNames.empty())
- CPL_FileName=ReferenceFile.FileNames[0]; //Using only the first CPL file meet
- }
- else if (!IsPKL)
- {
- ReferenceFile.StreamID=ReferenceFiles->References.size()+1;
- ReferenceFiles->References.push_back(ReferenceFile);
+ //Id
+ if (!strcmp(Asset_Item->Value(), (NameSpace+"Id").c_str()))
+ Stream.Id=Asset_Item->GetText();
+
+ //PackingList
+ if (!strcmp(Asset_Item->Value(), (NameSpace+"PackingList").c_str()))
+ {
+ PKL_Pos=Streams.size();
+ Stream.StreamKind=(stream_t)(Stream_Max+2); // Means PKL
+ }
}
- }
+
+ Streams.push_back(Stream);
+ }
}
}
@@ -218,15 +213,15 @@ bool File_DcpAm::FileHeader_Begin()
if (!strcmp(AssetMap_Item->Value(), (NameSpace+"Issuer").c_str()))
Fill(Stream_General, 0, General_EncodedBy, AssetMap_Item->GetText());
}
-
Element_Offset=File_Size;
- //Getting links between files
- if (!CPL_FileName.empty() && !Config->File_IsReferenced_Get())
+ //Merging with PKL
+ if (PKL_Pos<Streams.size() && Streams[PKL_Pos].ChunkList.size()==1)
{
FileName Directory(File_Name);
- if (CPL_FileName.find(__T("file://"))==0 && CPL_FileName.find(__T("file:///"))==string::npos)
- CPL_FileName.erase(0, 7); //TODO: better handling of relative and absolute file naes
+ Ztring PKL_FileName; PKL_FileName.From_UTF8(Streams[PKL_Pos].ChunkList[0].Path);
+ if (PKL_FileName.find(__T("file://"))==0 && PKL_FileName.find(__T("file:///"))==string::npos)
+ PKL_FileName.erase(0, 7); //TODO: better handling of relative and absolute file naes
MediaInfo_Internal MI;
MI.Option(__T("File_KeepInfo"), __T("1"));
Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
@@ -234,20 +229,14 @@ bool File_DcpAm::FileHeader_Begin()
MI.Option(__T("ParseSpeed"), __T("0"));
MI.Option(__T("Demux"), Ztring());
MI.Option(__T("File_IsReferenced"), __T("1"));
- size_t MiOpenResult=MI.Open(Directory.Path_Get()+PathSeparator+CPL_FileName);
+ size_t MiOpenResult=MI.Open(Directory.Path_Get()+PathSeparator+PKL_FileName);
MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
if (MiOpenResult
- && (MI.Get(Stream_General, 0, General_Format)==__T("DCP CPL")
- || MI.Get(Stream_General, 0, General_Format)==__T("IMF CPL")))
+ && (MI.Get(Stream_General, 0, General_Format)==__T("DCP PKL")
+ || MI.Get(Stream_General, 0, General_Format)==__T("IMF PKL")))
{
- DcpCpl_MergeFromPkl(((File_DcpCpl*)MI.Info)->ReferenceFiles, ReferenceFiles);
- ReferenceFiles->References=((File_DcpCpl*)MI.Info)->ReferenceFiles->References;
- if (MI.Get(Stream_General, 0, General_Format)==__T("IMF CPL"))
- {
- Fill(Stream_General, 0, General_Format, "IMF AM", Unlimited, true, true);
- Clear(Stream_General, 0, General_Format_Version);
- }
+ MergeFromPkl(((File_DcpPkl*)MI.Info)->Streams);
for (size_t Pos=0; Pos<MI.Count_Get(Stream_Other); ++Pos)
{
@@ -257,13 +246,52 @@ bool File_DcpAm::FileHeader_Begin()
}
}
- ReferenceFiles->FilesForStorage=true;
+ //Creating the playlist
+ if (!Config->File_IsReferenced_Get())
+ {
+ ReferenceFiles=new File__ReferenceFilesHelper(this, Config);
+
+ for (File_DcpPkl::streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ if (Stream->StreamKind==(stream_t)(Stream_Max+1) && Stream->ChunkList.size()==1) // Means CPL
+ {
+ File__ReferenceFilesHelper::reference ReferenceFile;
+ ReferenceFile.FileNames.push_back(Ztring().From_UTF8(Stream->ChunkList[0].Path));
+
+ ReferenceFiles->References.push_back(ReferenceFile);
+ }
+
+ ReferenceFiles->FilesForStorage=true;
+ }
//All should be OK...
return true;
}
+//***************************************************************************
+// Infos
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_DcpAm::MergeFromPkl (File_DcpPkl::streams &StreamsToMerge)
+{
+ for (File_DcpPkl::streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ for (File_DcpPkl::streams::iterator StreamToMerge=StreamsToMerge.begin(); StreamToMerge!=StreamsToMerge.end(); ++StreamToMerge)
+ if (StreamToMerge->Id==Stream->Id)
+ {
+ if (Stream->StreamKind==Stream_Max)
+ Stream->StreamKind=StreamToMerge->StreamKind;
+ if (Stream->OriginalFileName.empty())
+ Stream->OriginalFileName=StreamToMerge->OriginalFileName;
+ if (Stream->Type.empty())
+ Stream->Type=StreamToMerge->Type;
+ if (Stream->AnnotationText.empty())
+ Stream->AnnotationText=StreamToMerge->AnnotationText;
+ }
+ }
+}
+
} //NameSpace
-#endif //MEDIAINFO_P2_YES
+#endif //MEDIAINFO_DCP_YES
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.h
index 92aeea346..02e75379e 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpAm.h
@@ -17,7 +17,7 @@
//---------------------------------------------------------------------------
#include "MediaInfo/File__Analyze.h"
-#include <vector>
+#include "MediaInfo/Multiple/File_DcpPkl.h"
//---------------------------------------------------------------------------
namespace MediaInfoLib
@@ -36,6 +36,9 @@ public :
File_DcpAm();
~File_DcpAm();
+ //Streams
+ File_DcpPkl::streams Streams;
+
private :
//Streams management
void Streams_Finish ();
@@ -48,6 +51,10 @@ private :
//Buffer - File header
bool FileHeader_Begin();
+ //PKL
+ size_t PKL_Pos;
+ void MergeFromPkl (File_DcpPkl::streams &StreamsToMerge);
+
//Temp
File__ReferenceFilesHelper* ReferenceFiles;
};
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.cpp
index e47e241db..16e983342 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.cpp
@@ -22,12 +22,11 @@
//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_DcpCpl.h"
+#include "MediaInfo/Multiple/File_DcpAm.h"
#include "MediaInfo/MediaInfo.h"
-#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
-#include "MediaInfo/Multiple/File_DcpPkl.h"
-#include "MediaInfo/Multiple/File_Mxf.h"
#include "ZenLib/Dir.h"
+#include "ZenLib/File.h"
#include "ZenLib/FileName.h"
#include "tinyxml2.h"
#include <list>
@@ -48,74 +47,6 @@ struct DcpCpl_info
File__ReferenceFilesHelper::references::iterator Reference;
};
-//---------------------------------------------------------------------------
-extern void DcpCpl_MergeFromPkl(File__ReferenceFilesHelper* FromCpl, File__ReferenceFilesHelper* FromPkl)
-{
- map<Ztring, DcpCpl_info> Map;
- list<File__ReferenceFilesHelper::references::iterator> List;
- ZtringList ExtraFiles_Name;
- for (File__ReferenceFilesHelper::references::iterator Reference=FromPkl->References.begin(); Reference!=FromPkl->References.end(); ++Reference)
- {
- map<string, Ztring>::iterator UniqueID=Reference->Infos.find("UniqueID");
- for (size_t Pos=0; Pos<Reference->FileNames.size(); Pos++)
- if (UniqueID!=Reference->Infos.end())
- {
- Map[UniqueID->second].FileName=Reference->FileNames[Pos];
- Map[UniqueID->second].Reference=Reference;
- }
- List.push_back(Reference);
- }
-
- for (size_t References_Pos=0; References_Pos<FromCpl->References.size(); ++References_Pos)
- {
- for (size_t Pos=0; Pos<FromCpl->References[References_Pos].FileNames.size(); ++Pos)
- {
- map<Ztring, DcpCpl_info>::iterator Map_Item=Map.find(FromCpl->References[References_Pos].FileNames[Pos]);
- if (Map_Item!=Map.end())
- {
- FromCpl->References[References_Pos].FileNames[Pos]=Map_Item->second.FileName;
- FromCpl->References[References_Pos].Infos=Map_Item->second.Reference->Infos;
- for (list<File__ReferenceFilesHelper::references::iterator>::iterator Reference2=List.begin(); Reference2!=List.end(); ++Reference2)
- if (*Reference2==Map_Item->second.Reference)
- {
- List.erase(Reference2);
- break;
- }
- }
- else
- {
- FromCpl->References[References_Pos].FileNames.erase(FromCpl->References[References_Pos].FileNames.begin()+Pos);
- Pos--;
- }
- }
- for (size_t Pos=0; Pos<FromCpl->References[References_Pos].CompleteDuration.size(); ++Pos)
- {
- map<Ztring, DcpCpl_info>::iterator Map_Item=Map.find(FromCpl->References[References_Pos].CompleteDuration[Pos].FileName);
- if (Map_Item!=Map.end())
- {
- FromCpl->References[References_Pos].CompleteDuration[Pos].FileName=Map_Item->second.FileName;
- FromCpl->References[References_Pos].Infos=Map_Item->second.Reference->Infos;
- for (list<File__ReferenceFilesHelper::references::iterator>::iterator Reference2=List.begin(); Reference2!=List.end(); ++Reference2)
- if (*Reference2==Map_Item->second.Reference)
- {
- List.erase(Reference2);
- break;
- }
- }
- else
- {
- FromCpl->References[References_Pos].CompleteDuration.erase(FromCpl->References[References_Pos].CompleteDuration.begin()+Pos);
- Pos--;
- }
- }
- if (FromCpl->References[References_Pos].FileNames.empty() && FromCpl->References[References_Pos].CompleteDuration.empty())
- {
- FromCpl->References.erase(FromCpl->References.begin()+References_Pos);
- References_Pos--;
- }
- }
-}
-
//***************************************************************************
// Constructor/Destructor
//***************************************************************************
@@ -149,7 +80,7 @@ File_DcpCpl::~File_DcpCpl()
//---------------------------------------------------------------------------
void File_DcpCpl::Streams_Finish()
{
- if (Config->File_IsReferenced_Get() || ReferenceFiles==NULL)
+ if (ReferenceFiles==NULL)
return;
ReferenceFiles->ParseReferences();
@@ -226,7 +157,7 @@ bool File_DcpCpl::FileHeader_Begin()
ReferenceFile.StreamKind=Stream_Other;
ReferenceFile.Infos["Type"]=__T("Time code");
ReferenceFile.Infos["Format"]=__T("CPL TC");
- ReferenceFile.Infos["TimeCode_Settings"]=__T("Striped");
+ ReferenceFile.Infos["TimeCode_Striped"]=__T("Yes");
bool IsDropFrame=false;
for (XMLElement* CompositionTimecode_Item=CompositionPlaylist_Item->FirstChildElement(); CompositionTimecode_Item; CompositionTimecode_Item=CompositionTimecode_Item->NextSiblingElement())
@@ -258,7 +189,6 @@ bool File_DcpCpl::FileHeader_Begin()
ReferenceFile.StreamID=ReferenceFiles->References.size()+1;
ReferenceFiles->References.push_back(ReferenceFile);
- //TODO: put this code in File__ReferenceFilesHelper so we can demux time code with the other streams
Stream_Prepare(Stream_Other);
Fill(Stream_Other, StreamPos_Last, Other_ID, ReferenceFile.StreamID);
for (std::map<string, Ztring>::iterator Info=ReferenceFile.Infos.begin(); Info!=ReferenceFile.Infos.end(); ++Info)
@@ -332,7 +262,11 @@ bool File_DcpCpl::FileHeader_Begin()
//EntryPoint
if (!strcmp(Resource_Item->Value(), "EntryPoint"))
+ {
Resource.IgnoreFramesBefore=atoi(Resource_Item->GetText());
+ if (Resource.IgnoreFramesAfter!=(int64u)-1)
+ Resource.IgnoreFramesAfter+=Resource.IgnoreFramesBefore;
+ }
//Id
if (!strcmp(File_Item->Value(), "Id") && Resource_Id.empty())
@@ -340,7 +274,7 @@ bool File_DcpCpl::FileHeader_Begin()
//SourceDuration
if (!strcmp(Resource_Item->Value(), "SourceDuration"))
- Resource.IgnoreFramesAfterDuration=atoi(Resource_Item->GetText());
+ Resource.IgnoreFramesAfter=Resource.IgnoreFramesBefore+atoi(Resource_Item->GetText());
//TrackFileId
if (!strcmp(Resource_Item->Value(), "TrackFileId"))
@@ -375,32 +309,34 @@ bool File_DcpCpl::FileHeader_Begin()
Element_Offset=File_Size;
//Getting files names
- if (!Config->File_IsReferenced_Get())
+ FileName Directory(File_Name);
+ Ztring Assetmap_FileName=Directory.Path_Get()+PathSeparator+__T("ASSETMAP.xml");
+ bool IsOk=false;
+ if (File::Exists(Assetmap_FileName))
+ IsOk=true;
+ else
{
- FileName Directory(File_Name);
- ZtringList List;
- if (IsImf)
- List=Dir::GetAllFileNames(Directory.Path_Get()+PathSeparator+__T("PKL_*.xml"), Dir::Include_Files);
- if (IsDcp || List.empty())
- List=Dir::GetAllFileNames(Directory.Path_Get()+PathSeparator+__T("*_pkl.xml"), Dir::Include_Files);
- for (size_t Pos=0; Pos<List.size(); Pos++)
+ Assetmap_FileName.resize(Assetmap_FileName.size()-4); //Old fashion, without ".xml"
+ if (File::Exists(Assetmap_FileName))
+ IsOk=true;
+ }
+ if (IsOk)
+ {
+ MediaInfo_Internal MI;
+ MI.Option(__T("File_KeepInfo"), __T("1"));
+ Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
+ Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
+ MI.Option(__T("ParseSpeed"), __T("0"));
+ MI.Option(__T("Demux"), Ztring());
+ MI.Option(__T("File_IsReferenced"), __T("1"));
+ size_t MiOpenResult=MI.Open(Assetmap_FileName);
+ MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
+ MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
+ if (MiOpenResult
+ && (MI.Get(Stream_General, 0, General_Format)==__T("DCP AM")
+ || MI.Get(Stream_General, 0, General_Format)==__T("IMF AM")))
{
- MediaInfo_Internal MI;
- MI.Option(__T("File_KeepInfo"), __T("1"));
- Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
- Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
- MI.Option(__T("ParseSpeed"), __T("0"));
- MI.Option(__T("Demux"), Ztring());
- MI.Option(__T("File_IsReferenced"), __T("1"));
- size_t MiOpenResult=MI.Open(List[Pos]);
- MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
- MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
- if (MiOpenResult
- && (MI.Get(Stream_General, 0, General_Format)==__T("DCP PKL")
- || MI.Get(Stream_General, 0, General_Format)==__T("IMF PKL")))
- {
- DcpCpl_MergeFromPkl(ReferenceFiles, ((File_DcpCpl*)MI.Info)->ReferenceFiles);
- }
+ MergeFromAm(((File_DcpAm*)MI.Info)->Streams);
}
}
@@ -410,7 +346,58 @@ bool File_DcpCpl::FileHeader_Begin()
return true;
}
+//***************************************************************************
+// Infos
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_DcpCpl::MergeFromAm (File_DcpPkl::streams &StreamsToMerge)
+{
+ map<Ztring, File_DcpPkl::streams::iterator> Map;
+ for (File_DcpPkl::streams::iterator StreamToMerge=StreamsToMerge.begin(); StreamToMerge!=StreamsToMerge.end(); ++StreamToMerge)
+ Map[Ztring().From_UTF8(StreamToMerge->Id)]=StreamToMerge;
+
+ for (size_t References_Pos=0; References_Pos<ReferenceFiles->References.size(); ++References_Pos)
+ {
+ for (size_t Pos=0; Pos<ReferenceFiles->References[References_Pos].FileNames.size(); ++Pos)
+ {
+ map<Ztring, File_DcpPkl::streams::iterator>::iterator Map_Item=Map.find(ReferenceFiles->References[References_Pos].FileNames[Pos]);
+ if (Map_Item!=Map.end() && !Map_Item->second->ChunkList.empty()) // Note: ChunkLists with more than 1 file are not yet supported
+ {
+ ReferenceFiles->References[References_Pos].FileNames[Pos].From_UTF8(Map_Item->second->ChunkList[0].Path);
+ ReferenceFiles->References[References_Pos].Infos["UniqueID"].From_UTF8(Map_Item->second->Id);
+ }
+ else
+ {
+ ReferenceFiles->References[References_Pos].FileNames.erase(ReferenceFiles->References[References_Pos].FileNames.begin()+Pos);
+ Pos--;
+ }
+ }
+
+ for (size_t Pos=0; Pos<ReferenceFiles->References[References_Pos].CompleteDuration.size(); ++Pos)
+ {
+ map<Ztring, File_DcpPkl::streams::iterator>::iterator Map_Item=Map.find(ReferenceFiles->References[References_Pos].CompleteDuration[Pos].FileName);
+ if (Map_Item!=Map.end() && !Map_Item->second->ChunkList.empty()) // Note: ChunkLists with more than 1 file are not yet supported
+ {
+ ReferenceFiles->References[References_Pos].CompleteDuration[Pos].FileName.From_UTF8(Map_Item->second->ChunkList[0].Path);
+ if (ReferenceFiles->References[References_Pos].Infos["UniqueID"].empty())
+ ReferenceFiles->References[References_Pos].Infos["UniqueID"].From_UTF8(Map_Item->second->Id);
+ }
+ else
+ {
+ ReferenceFiles->References[References_Pos].CompleteDuration.erase(ReferenceFiles->References[References_Pos].CompleteDuration.begin()+Pos);
+ Pos--;
+ }
+ }
+
+ if (ReferenceFiles->References[References_Pos].FileNames.empty() && ReferenceFiles->References[References_Pos].CompleteDuration.empty())
+ {
+ ReferenceFiles->References.erase(ReferenceFiles->References.begin()+References_Pos);
+ References_Pos--;
+ }
+ }
+}
+
} //NameSpace
#endif //MEDIAINFO_DCP_YES
-
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.h
index 0f792ddd2..22f44e125 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpCpl.h
@@ -17,6 +17,7 @@
//---------------------------------------------------------------------------
#include "MediaInfo/File__Analyze.h"
+#include "MediaInfo/Multiple/File_DcpPkl.h"
#include <vector>
//---------------------------------------------------------------------------
@@ -48,10 +49,12 @@ private :
//Buffer - File header
bool FileHeader_Begin();
+ //PKL
+ size_t PKL_Pos;
+ void MergeFromAm (File_DcpPkl::streams &StreamsToMerge);
+
//Temp
File__ReferenceFilesHelper* ReferenceFiles;
- friend class File_DcpAm; //Theses classes need access to internal structure for optimization. There is recursivity with theses formats
- friend class File_DcpPkl; //Theses classes need access to internal structure for optimization. There is recursivity with theses formats
};
} //NameSpace
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.cpp
index cfa03222c..6fb592d68 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.cpp
@@ -22,11 +22,13 @@
//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_DcpPkl.h"
+#include "MediaInfo/Multiple/File_DcpAm.h"
+#include "MediaInfo/Multiple/File_DcpCpl.h"
#include "MediaInfo/MediaInfo.h"
#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
-#include "MediaInfo/Multiple/File_DcpCpl.h"
#include "ZenLib/Dir.h"
+#include "ZenLib/File.h"
#include "ZenLib/FileName.h"
#include "tinyxml2.h"
using namespace tinyxml2;
@@ -40,7 +42,7 @@ namespace MediaInfoLib
//***************************************************************************
//---------------------------------------------------------------------------
-extern void DcpCpl_MergeFromPkl(File__ReferenceFilesHelper* FromCpl, File__ReferenceFilesHelper* FromPkl);
+extern void DcpCpl_MergeFromAm(File__ReferenceFilesHelper* FromCpl, File__ReferenceFilesHelper* FromPkl);
//***************************************************************************
// Constructor/Destructor
@@ -60,7 +62,6 @@ File_DcpPkl::File_DcpPkl()
//Temp
ReferenceFiles=NULL;
- HasCpl=false;
}
//---------------------------------------------------------------------------
@@ -80,6 +81,18 @@ void File_DcpPkl::Streams_Finish()
return;
ReferenceFiles->ParseReferences();
+
+ // Detection of IMF CPL
+ bool IsImf=false;
+ for (size_t StreamKind=Stream_General+1; StreamKind<Stream_Max; StreamKind++)
+ for (size_t StreamPos=0; StreamPos<Count_Get((stream_t)StreamKind); StreamPos++)
+ if (Retrieve((stream_t)StreamKind, StreamPos, "MuxingMode").find(__T("IMF CPL"))==0)
+ IsImf=true;
+ if (IsImf)
+ {
+ Fill(Stream_General, 0, General_Format, "IMF PKL", Unlimited, true, true);
+ Clear(Stream_General, 0, General_Format_Version);
+ }
}
//***************************************************************************
@@ -133,9 +146,6 @@ bool File_DcpPkl::FileHeader_Begin()
Fill(Stream_General, 0, General_Format, "DCP PKL");
Config->File_ID_OnlyRoot_Set(false);
- ReferenceFiles=new File__ReferenceFilesHelper(this, Config);
- Ztring CPL_FileName;
-
//Parsing main elements
for (XMLElement* PackingList_Item=PackingList->FirstChildElement(); PackingList_Item; PackingList_Item=PackingList_Item->NextSiblingElement())
{
@@ -147,107 +157,114 @@ bool File_DcpPkl::FileHeader_Begin()
//Asset
if (!strcmp(AssetList_Item->Value(), "Asset"))
{
- File__ReferenceFilesHelper::reference ReferenceFile;
- bool IsCPL=false;
- bool PreviousFileNameIsAnnotationText=false;
+ stream Stream;
for (XMLElement* File_Item=AssetList_Item->FirstChildElement(); File_Item; File_Item=File_Item->NextSiblingElement())
{
+ //AnnotationText
+ if (!strcmp(File_Item->Value(), "AnnotationText"))
+ Stream.AnnotationText=File_Item->GetText();
+
//Id
if (!strcmp(File_Item->Value(), "Id"))
- ReferenceFile.Infos["UniqueID"].From_UTF8(File_Item->GetText());
+ Stream.Id=File_Item->GetText();
+
+ //OriginalFileName
+ if (!strcmp(File_Item->Value(), "OriginalFileName"))
+ Stream.OriginalFileName=File_Item->GetText();
//Type
if (!strcmp(File_Item->Value(), "Type"))
{
- if (!strcmp(File_Item->GetText(), "application/x-smpte-mxf;asdcpKind=Picture"))
- ReferenceFile.StreamKind=Stream_Video;
+ if (!strcmp(File_Item->GetText(), "application/x-smpte-mxf;asdcpKind=Picture"))
+ Stream.StreamKind=Stream_Video;
else if (!strcmp(File_Item->GetText(), "application/x-smpte-mxf;asdcpKind=Sound"))
- ReferenceFile.StreamKind=Stream_Audio;
- else if (!strcmp(File_Item->GetText(), "text/xml;asdcpKind=CPL"))
- {
- HasCpl=IsCPL=true;
- }
+ Stream.StreamKind=Stream_Audio;
+ else if (!strcmp(File_Item->GetText(), "text/xml") || !strcmp(File_Item->GetText(), "text/xml;asdcpKind=CPL"))
+ Stream.StreamKind=(stream_t)(Stream_Max+1); // Means CPL
else
- ReferenceFile.StreamKind=Stream_Other;
- }
-
- //Id
- if (!strcmp(File_Item->Value(), "OriginalFileName")
- || (ReferenceFile.FileNames.empty() && !strcmp(File_Item->Value(), "AnnotationText"))) // Annotation contains file name (buggy IMF file)
- {
- if (PreviousFileNameIsAnnotationText)
- ReferenceFile.FileNames.clear(); // Annotation is something else, no need of it
- if (!strcmp(File_Item->Value(), "AnnotationText"))
- PreviousFileNameIsAnnotationText=true;
- ReferenceFile.FileNames.push_back(Ztring().From_UTF8(File_Item->GetText()));
- string Text=File_Item->GetText();
- if (Text.size()>=8
- && (Text.find("_cpl.xml")==Text.size()-8)
- || (Text.find("CPL_")==0 && Text.find(".xml")==Text.size()-4))
- {
- HasCpl=IsCPL=true;
- ReferenceFile.StreamKind=Stream_Max;
- }
+ Stream.StreamKind=Stream_Other;
}
}
- if (IsCPL)
- {
- if (CPL_FileName.empty() && !ReferenceFile.FileNames.empty())
- CPL_FileName=ReferenceFile.FileNames[0]; //Using only the first CPL file meet
- }
- else
- {
- ReferenceFile.StreamID=ReferenceFiles->References.size()+1;
- ReferenceFiles->References.push_back(ReferenceFile);
- }
+ Streams.push_back(Stream);
}
}
}
}
-
Element_Offset=File_Size;
- //Getting links between files
- if (!CPL_FileName.empty() && !Config->File_IsReferenced_Get())
+ //Merging with Assetmap
+ if (!Config->File_IsReferenced_Get())
{
FileName Directory(File_Name);
- if (CPL_FileName.find(__T("file://"))==0 && CPL_FileName.find(__T("file:///"))==string::npos)
- CPL_FileName.erase(0, 7); //TODO: better handling of relative and absolute file naes
- MediaInfo_Internal MI;
- MI.Option(__T("File_KeepInfo"), __T("1"));
- Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
- Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
- MI.Option(__T("ParseSpeed"), __T("0"));
- MI.Option(__T("Demux"), Ztring());
- MI.Option(__T("File_IsReferenced"), __T("1"));
- size_t MiOpenResult=MI.Open(Directory.Path_Get()+PathSeparator+CPL_FileName);
- MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
- MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
- if (MiOpenResult
- && (MI.Get(Stream_General, 0, General_Format)==__T("DCP CPL")
- || MI.Get(Stream_General, 0, General_Format)==__T("IMF CPL")))
+ Ztring Assetmap_FileName=Directory.Path_Get()+PathSeparator+__T("ASSETMAP.xml");
+ bool IsOk=false;
+ if (File::Exists(Assetmap_FileName))
+ IsOk=true;
+ else
{
- DcpCpl_MergeFromPkl(((File_DcpCpl*)MI.Info)->ReferenceFiles, ReferenceFiles);
- ReferenceFiles->References=((File_DcpCpl*)MI.Info)->ReferenceFiles->References;
- if (MI.Get(Stream_General, 0, General_Format)==__T("IMF CPL"))
- Fill(Stream_General, 0, General_Format, "IMF PKL", Unlimited, true, true);
-
- for (size_t Pos=0; Pos<MI.Count_Get(Stream_Other); ++Pos)
+ Assetmap_FileName.resize(Assetmap_FileName.size()-4); //Old fashion, without ".xml"
+ if (File::Exists(Assetmap_FileName))
+ IsOk=true;
+ }
+ if (IsOk)
+ {
+ MediaInfo_Internal MI;
+ MI.Option(__T("File_KeepInfo"), __T("1"));
+ Ztring ParseSpeed_Save=MI.Option(__T("ParseSpeed_Get"), __T(""));
+ Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
+ MI.Option(__T("ParseSpeed"), __T("0"));
+ MI.Option(__T("Demux"), Ztring());
+ MI.Option(__T("File_IsReferenced"), __T("1"));
+ size_t MiOpenResult=MI.Open(Assetmap_FileName);
+ MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
+ MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
+ if (MiOpenResult
+ && (MI.Get(Stream_General, 0, General_Format)==__T("DCP AM")
+ || MI.Get(Stream_General, 0, General_Format)==__T("IMF AM")))
{
- Stream_Prepare(Stream_Other);
- Merge(*MI.Info, Stream_Other, Pos, StreamPos_Last);
+ MergeFromAm(((File_DcpPkl*)MI.Info)->Streams);
}
}
}
- ReferenceFiles->FilesForStorage=true;
+ //Creating the playlist
+ if (!Config->File_IsReferenced_Get())
+ {
+ ReferenceFiles=new File__ReferenceFilesHelper(this, Config);
+
+ for (File_DcpPkl::streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ if (Stream->StreamKind==(stream_t)(Stream_Max+1) && Stream->ChunkList.size()==1) // Means CPL
+ {
+ File__ReferenceFilesHelper::reference ReferenceFile;
+ ReferenceFile.FileNames.push_back(Ztring().From_UTF8(Stream->ChunkList[0].Path));
+
+ ReferenceFiles->References.push_back(ReferenceFile);
+ }
+
+ ReferenceFiles->FilesForStorage=true;
+ }
//All should be OK...
return true;
}
+//***************************************************************************
+// Infos
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_DcpPkl::MergeFromAm (File_DcpPkl::streams &StreamsToMerge)
+{
+ for (File_DcpPkl::streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ for (File_DcpPkl::streams::iterator StreamToMerge=StreamsToMerge.begin(); StreamToMerge!=StreamsToMerge.end(); ++StreamToMerge)
+ if (StreamToMerge->Id==Stream->Id)
+ *Stream=*StreamToMerge;
+ }
+}
+
} //NameSpace
#endif //MEDIAINFO_DCP_YES
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.h
index a30015a3f..cb2548b29 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_DcpPkl.h
@@ -36,6 +36,29 @@ public :
File_DcpPkl();
~File_DcpPkl();
+ //Streams
+ struct stream
+ {
+ stream_t StreamKind; // With special cases: Stream_Max+1 means CPL, Stream_Max+2 means PKL
+ string Id;
+ string OriginalFileName;
+ string Type;
+ string AnnotationText;
+ struct chunk
+ {
+ string Path;
+ };
+ typedef std::vector<chunk> chunks;
+ chunks ChunkList;
+
+ stream()
+ {
+ StreamKind=Stream_Max;
+ }
+ };
+ typedef std::vector<stream> streams;
+ streams Streams;
+
private :
//Streams management
void Streams_Finish ();
@@ -48,10 +71,11 @@ private :
//Buffer - File header
bool FileHeader_Begin();
+ //AM
+ void MergeFromAm (File_DcpPkl::streams &StreamsToMerge);
+
//Temp
File__ReferenceFilesHelper* ReferenceFiles;
- bool HasCpl;
- friend class File_DpcCpl; //Theses classes need access to internal structure for optimization. There is recursivity with theses formats
};
} //NameSpace
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Dxw.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Dxw.cpp
index 1e2a0a158..f536db46e 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Dxw.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Dxw.cpp
@@ -23,7 +23,6 @@
//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_Dxw.h"
#include "MediaInfo/MediaInfo.h"
-#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
#include "ZenLib/Dir.h"
#include "ZenLib/FileName.h"
@@ -198,8 +197,6 @@ bool File_Dxw::FileHeader_Begin()
Element_Offset=File_Size;
- Element_Offset=File_Size;
-
//All should be OK...
return true;
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Gxf.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Gxf.cpp
index f1e9dbb99..a7b5563b4 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Gxf.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Gxf.cpp
@@ -371,10 +371,9 @@ void File_Gxf::Streams_Finish()
Fill(Stream_Other, StreamPos_Last, Other_ID, TimeCode->first);
Fill(Stream_Other, StreamPos_Last, Other_Type, "Time code");
Fill(Stream_Other, StreamPos_Last, Other_Format, "SMPTE TC");
- //Fill(Stream_Other, StreamPos_Last, Other_MuxingMode, "Time code track");
Fill(Stream_Other, StreamPos_Last, Other_TimeCode_FirstFrame, TimeCode_FirstFrame.c_str());
if (TimeCode_FirstFrame_Striped)
- Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Settings, "Striped");
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Striped, "Yes");
if (TimeCode->first<Streams.size())
Fill(Stream_Other, StreamPos_Last, Other_Title, Streams[TimeCode->first].MediaName);
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Hls.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Hls.cpp
index cde51e177..ffe8b7e28 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Hls.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Hls.cpp
@@ -23,7 +23,6 @@
//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_Hls.h"
#include "MediaInfo/MediaInfo.h"
-#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
#include "ZenLib/File.h"
#include "ZenLib/Dir.h"
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ism.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ism.cpp
index 7098dd9ec..2357af29e 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ism.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Ism.cpp
@@ -24,7 +24,6 @@
#include "MediaInfo/Multiple/File_Ism.h"
#include <set>
#include "MediaInfo/MediaInfo.h"
-#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
#include "ZenLib/Dir.h"
#include "ZenLib/FileName.h"
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.cpp
index 9c00276e3..d50dc6aa0 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.cpp
@@ -411,12 +411,6 @@ void File_Mk::Streams_Finish()
}
}
- //Attachments
- for (size_t Pos=0; Pos<AttachedFiles.size(); Pos++)
- {
- Segment_Attachements_AttachedFile_FileName();
- }
-
//Purge what is not needed anymore
if (!File_Name.empty()) //Only if this is not a buffer, with buffer we can have more data
Stream.clear();
@@ -1104,8 +1098,6 @@ void File_Mk::Segment_Attachements()
void File_Mk::Segment_Attachements_AttachedFile()
{
Element_Name("AttachedFile");
-
- AttachedFiles.resize(AttachedFiles.size()+1);
}
//---------------------------------------------------------------------------
@@ -1115,11 +1107,6 @@ void File_Mk::Segment_Attachements_AttachedFile_FileData()
//Parsing
Skip_XX(Element_TotalSize_Get(), "Data");
-
- FILLING_BEGIN();
- if (AttachedFiles[AttachedFiles.size()-1].empty())
- AttachedFiles[AttachedFiles.size()-1]=__T("Yes");
- FILLING_END();
}
//---------------------------------------------------------------------------
@@ -1494,11 +1481,11 @@ void File_Mk::Segment_Cluster_BlockGroup_Block()
Get_B2 (TimeCode, "TimeCode");
FILLING_BEGIN();
- if (Stream[TrackNumber].Searching_TimeStamp_Start)
+ if (Segment_Cluster_TimeCode_Value+TimeCode<Stream[TrackNumber].TimeCode_Start) //Does not work well: Stream[TrackNumber].Searching_TimeStamp_Start)
{
FILLING_BEGIN();
Stream[TrackNumber].TimeCode_Start=Segment_Cluster_TimeCode_Value+TimeCode;
- Stream[TrackNumber].Searching_TimeStamp_Start=false;
+ //Stream[TrackNumber].Searching_TimeStamp_Start=false;
FILLING_END();
}
if (Stream[TrackNumber].Searching_TimeStamps)
@@ -3354,7 +3341,6 @@ void File_Mk::CodecID_Manage()
{
Stream[TrackNumber].Parser=new File_Mpeg4v;
((File_Mpeg4v*)Stream[TrackNumber].Parser)->FrameIsAlwaysComplete=true;
- ((File_Mpeg4v*)Stream[TrackNumber].Parser)->Frame_Count_Valid=1;
}
#endif
#if defined(MEDIAINFO_AVC_YES)
@@ -3423,7 +3409,6 @@ void File_Mk::CodecID_Manage()
{
Stream[TrackNumber].Parser=new File_Mpegv;
((File_Mpegv*)Stream[TrackNumber].Parser)->FrameIsAlwaysComplete=true;
- ((File_Mpegv*)Stream[TrackNumber].Parser)->Frame_Count_Valid=1;
}
#endif
#if defined(MEDIAINFO_PRORES_YES)
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.h
index cae2bae21..5ac36f757 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mk.h
@@ -296,7 +296,6 @@ private :
int64u TrackType;
//Temp
- std::vector<Ztring> AttachedFiles;
int64u Format_Version;
int64u TimecodeScale;
float64 Duration;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.cpp
index e1776553e..1d2b45d0b 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.cpp
@@ -220,6 +220,7 @@ File_Mpeg4::File_Mpeg4()
IsSecondPass=false;
IsParsing_mdat=false;
IsFragmented=false;
+ StreamOrder=0;
moov_trak_tkhd_TrackID=(int32u)-1;
#if defined(MEDIAINFO_REFERENCES_YES)
ReferenceFiles=NULL;
@@ -332,7 +333,7 @@ void File_Mpeg4::Streams_Finish()
if (StreamKind_Last==Stream_Max && Temp->second.hdlr_SubType)
{
Stream_Prepare(Stream_Other);
- Fill(Stream_Other, StreamPos_Last, Other_Type, Ztring().From_CC4(Streams[moov_trak_tkhd_TrackID].hdlr_SubType));
+ Fill(Stream_Other, StreamPos_Last, Other_Type, Ztring().From_CC4(Temp->second.hdlr_SubType));
}
//if (Temp->second.stsz_StreamSize)
@@ -701,6 +702,7 @@ void File_Mpeg4::Streams_Finish()
Stream_Prepare(Stream_Audio);
size_t Pos=Count_Get(Stream_Audio)-1;
Merge(*Temp->second.Parsers[0], Stream_Audio, Audio_Pos, StreamPos_Last);
+ Fill(Stream_Audio, Pos, Audio_MuxingMode, Temp->second.Parsers[0]->Retrieve(Stream_General, 0, General_Format));
Fill(Stream_Audio, Pos, Audio_MuxingMode_MoreInfo, __T("Muxed in Video #")+Ztring().From_Number(Temp->second.StreamPos+1));
Fill(Stream_Audio, Pos, Audio_Duration, Retrieve(Stream_Video, Temp->second.StreamPos, Video_Duration));
Fill(Stream_Audio, Pos, Audio_StreamSize_Encoded, 0); //Included in the DV stream size
@@ -718,6 +720,7 @@ void File_Mpeg4::Streams_Finish()
Stream_Prepare(Stream_Text);
size_t Pos=Count_Get(Stream_Text)-1;
Merge(*Temp->second.Parsers[0], Stream_Text, Text_Pos, StreamPos_Last);
+ Fill(Stream_Text, Pos, Text_MuxingMode, Temp->second.Parsers[0]->Retrieve(Stream_General, 0, General_Format));
Fill(Stream_Text, Pos, Text_MuxingMode_MoreInfo, __T("Muxed in Video #")+Ztring().From_Number(Temp->second.StreamPos+1));
Fill(Stream_Text, Pos, Text_Duration, Retrieve(Stream_Video, Temp->second.StreamPos, Video_Duration));
Fill(Stream_Text, Pos, Text_StreamSize_Encoded, 0); //Included in the DV stream size
@@ -906,6 +909,9 @@ void File_Mpeg4::Streams_Finish()
}
}
+ for (std::map<string, Ztring>::iterator Info=Temp->second.Infos.begin(); Info!=Temp->second.Infos.end(); ++Info)
+ Fill(StreamKind_Last, StreamPos_Last, Info->first.c_str(), Info->second);
+
++Temp;
}
if (Vendor!=0x00000000 && Vendor!=0xFFFFFFFF)
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.h
index aaec3474e..c1ff5b89d 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4.h
@@ -227,6 +227,8 @@ private :
void moov_trak_tref_ssrc();
void moov_trak_tref_sync();
void moov_trak_tref_tmcd();
+ void moov_trak_udta();
+ void moov_trak_udta_xxxx();
void moov_udta();
void moov_udta_AllF();
void moov_udta_chpl();
@@ -333,12 +335,14 @@ private :
bool IsSecondPass;
bool IsParsing_mdat;
bool IsFragmented;
+ size_t StreamOrder;
//Data
struct stream
{
Ztring File_Name;
std::vector<File__Analyze*> Parsers;
+ std::map<string, Ztring> Infos;
MediaInfo_Internal* MI;
struct timecode
{
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_Elements.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_Elements.cpp
index 3737d9939..4866faad8 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_Elements.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_Elements.cpp
@@ -79,11 +79,17 @@
#if defined(MEDIAINFO_PCM_YES)
#include "MediaInfo/Audio/File_Pcm.h"
#endif
+#if defined(MEDIAINFO_SMPTEST0337_YES)
+ #include "MediaInfo/Audio/File_SmpteSt0337.h"
+#endif
#if defined(MEDIAINFO_CDP_YES)
#include "MediaInfo/Text/File_Cdp.h"
#endif
-#if defined(MEDIAINFO_EIA608_YES)
- #include "MediaInfo/Text/File_Eia608.h"
+#if defined(MEDIAINFO_CDP_YES)
+ #include "MediaInfo/Text/File_Cdp.h"
+#endif
+#if defined(MEDIAINFO_PROPERTYLIST_YES)
+ #include "MediaInfo/Tag/File_PropertyList.h"
#endif
#if defined(MEDIAINFO_TIMEDTEXT_YES)
#include "MediaInfo/Text/File_TimedText.h"
@@ -767,6 +773,7 @@ namespace Elements
const int64u moov_trak_tref_ssrc=0x73737263;
const int64u moov_trak_tref_sync=0x73796E63;
const int64u moov_trak_tref_tmcd=0x746D6364;
+ const int64u moov_trak_udta=0x75647461;
const int64u moov_udta=0x75647461;
const int64u moov_udta_AllF=0x416C6C46;
const int64u moov_udta_chpl=0x6368706C;
@@ -1106,6 +1113,8 @@ void File_Mpeg4::Data_Parse()
ATOM(moov_trak_tref_sync)
ATOM(moov_trak_tref_tmcd)
ATOM_END
+ LIST(moov_trak_udta)
+ ATOM_DEFAULT_ALONE (moov_trak_udta_xxxx);
ATOM_END
LIST(moov_udta)
ATOM_BEGIN
@@ -2504,7 +2513,18 @@ void File_Mpeg4::moov_meta_ilst_xxxx_data()
FILLING_BEGIN();
std::string Parameter;
if (Element_Code_Get(Element_Level-1)==Elements::moov_meta______)
- Metadata_Get(Parameter, moov_meta_ilst_xxxx_name_Name);
+ {
+ if (moov_meta_ilst_xxxx_name_Name=="iTunMOVI" && Element_Size>8)
+ {
+ File_PropertyList MI;
+ Open_Buffer_Init(&MI);
+ Open_Buffer_Continue(&MI, Buffer+Buffer_Offset+8, (size_t)(Element_Size-8));
+ Open_Buffer_Finalize(&MI);
+ Merge(MI, Stream_General, 0, 0);
+ }
+ else
+ Metadata_Get(Parameter, moov_meta_ilst_xxxx_name_Name);
+ }
else
Metadata_Get(Parameter, Element_Code_Get(Element_Level-1));
if (Parameter=="Encoded_Application")
@@ -2793,7 +2813,8 @@ void File_Mpeg4::moov_trak()
moov_trak_tkhd_Rotation=0;
Stream_Prepare(Stream_Max); //clear filling
Streams.erase((int32u)-1);
- Fill(StreamKind_Last, StreamPos_Last, General_StreamOrder, Streams.size());
+ Fill(StreamKind_Last, StreamPos_Last, General_StreamOrder, StreamOrder);
+ ++StreamOrder;
FILLING_END();
}
@@ -4226,8 +4247,30 @@ void File_Mpeg4::moov_trak_mdia_minf_stbl_stsd_xxxxSound()
Streams[moov_trak_tkhd_TrackID].Parsers.push_back(Parser);
}
+ //Specific cases
+ #if defined(MEDIAINFO_SMPTEST0337_YES)
+ if (Channels==2 && SampleSize<=32 && SampleRate==48000) //Some SMPTE ST 337 streams are hidden in PCM stream
+ {
+ File_SmpteSt0337* Parser=new File_SmpteSt0337;
+ Parser->Container_Bits=(int8u)SampleSize;
+ Parser->Endianness=(Flags&0x02)?'B':'L';
+ Parser->ShouldContinueParsing=true;
+ #if MEDIAINFO_DEMUX
+ if (Config->Demux_Unpacketize_Get())
+ {
+ Parser->Demux_Level=2; //Container
+ Parser->Demux_UnpacketizeContainer=true;
+ }
+ #endif //MEDIAINFO_DEMUX
+ Streams[moov_trak_tkhd_TrackID].Parsers.push_back(Parser);
+ }
+ #endif
+
//PCM parser
File_Pcm* Parser=new File_Pcm;
+ Parser->Channels=(int8u)Channels;
+ Parser->SamplingRate=SampleRate;
+ Parser->BitDepth=(int8u)SampleSize;
#if MEDIAINFO_DEMUX
if (Config->Demux_Unpacketize_Get())
{
@@ -6331,9 +6374,23 @@ void File_Mpeg4::moov_trak_tref_tmcd()
}
//---------------------------------------------------------------------------
+void File_Mpeg4::moov_trak_udta()
+{
+ Element_Name("User Data");
+}
+
+//---------------------------------------------------------------------------
+void File_Mpeg4::moov_trak_udta_xxxx()
+{
+ moov_udta_xxxx();
+}
+
+//---------------------------------------------------------------------------
void File_Mpeg4::moov_udta()
{
Element_Name("User Data");
+
+ moov_trak_tkhd_TrackID=(int32u)-1;
}
//---------------------------------------------------------------------------
@@ -6765,6 +6822,15 @@ void File_Mpeg4::moov_udta_xxxx()
method Method=Metadata_Get(Parameter, Element_Code);
Element_Info1(Parameter.c_str());
+ if (moov_trak_tkhd_TrackID!=(int32u)-1)
+ switch (Method)
+ {
+ case Method_String:
+ case Method_String2:
+ Method=Method_String3; break;
+ default: ;
+ }
+
switch (Method)
{
case Method_None :
@@ -6822,8 +6888,15 @@ void File_Mpeg4::moov_udta_xxxx()
}
FILLING_BEGIN();
- if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
- Fill(Stream_General, 0, Parameter.c_str(), Value);
+ if (moov_trak_tkhd_TrackID==(int32u)-1)
+ {
+ if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
+ Fill(Stream_General, 0, Parameter.c_str(), Value);
+ }
+ else
+ {
+ Streams[moov_trak_tkhd_TrackID].Infos[Parameter]=Value;
+ }
FILLING_END();
if (Element_Offset+1==Element_Size)
@@ -6874,15 +6947,25 @@ void File_Mpeg4::moov_udta_xxxx()
Get_UTF16(Element_Size-Element_Offset, Value, "Value");
FILLING_BEGIN();
- if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
- Fill(Stream_General, 0, Parameter.c_str(), Value);
+ if (moov_trak_tkhd_TrackID==(int32u)-1)
+ {
+ if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
+ Fill(Stream_General, 0, Parameter.c_str(), Value);
+ }
+ else
+ {
+ Streams[moov_trak_tkhd_TrackID].Infos[Parameter]=Value;
+ }
FILLING_END();
}
}
break;
case Method_String3 :
{
- NAME_VERSION_FLAG("Text");
+ if (moov_trak_tkhd_TrackID==(int32u)-1)
+ {
+ NAME_VERSION_FLAG("Text");
+ }
//Parsing
Ztring Value;
@@ -6891,8 +6974,18 @@ void File_Mpeg4::moov_udta_xxxx()
Get_UTF8(Element_Size-Element_Offset, Value,"Value");
FILLING_BEGIN();
- if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
- Fill(Stream_General, 0, Parameter.c_str(), Value);
+ if (moov_trak_tkhd_TrackID==(int32u)-1)
+ {
+ if (Retrieve(Stream_General, 0, Parameter.c_str()).empty())
+ Fill(Stream_General, 0, Parameter.c_str(), Value);
+ }
+ else
+ {
+ if (Parameter!="Omud" // Some complex data is in Omud, but nothing interessant found
+ && Parameter!="_SGI" // Found "_SGIxV4" with DM_IMAGE_PIXEL_ASPECT, in RLE, ignoring it for the moment
+ && Parameter!="hway") // Unknown
+ Streams[moov_trak_tkhd_TrackID].Infos[Parameter]=Value;
+ }
FILLING_END();
}
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_TimeCode.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_TimeCode.cpp
index 17d24af72..58f91fe2b 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_TimeCode.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg4_TimeCode.cpp
@@ -68,8 +68,7 @@ void File_Mpeg4_TimeCode::Streams_Fill()
Fill(Stream_Other, StreamPos_Last, Other_Type, "Time code");
Fill(Stream_Other, StreamPos_Last, Other_TimeCode_FirstFrame, TC.ToString().c_str());
if (Frame_Count==1)
- Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Settings, "Striped");
-
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Striped, "Yes");
}
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegPs.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegPs.cpp
index be49bfe6f..e2fb1843a 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegPs.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegPs.cpp
@@ -4744,7 +4744,8 @@ File__Analyze* File_MpegPs::ChooseParser_Teletext()
{
//Filling
#if defined(MEDIAINFO_TELETEXT_YES)
- File__Analyze* Parser=new File_Teletext();
+ File_Teletext* Parser=new File_Teletext();
+ Parser->FromMpegPs=true;
#else
//Filling
File__Analyze* Parser=new File_Unknown();
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegTs.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegTs.cpp
index eb43afb1d..5b41da130 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegTs.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_MpegTs.cpp
@@ -317,7 +317,17 @@ void File_MpegTs::Streams_Accept()
#endif //MEDIAINFO_DEMUX && MEDIAINFO_NEXTPACKET
if (!IsSub)
+ {
+ #if MEDIAINFO_ADVANCED
+ // TODO: temporary disabling theses options for MPEG-TS, because it does not work as expected
+ if (Config->File_IgnoreSequenceFileSize_Get())
+ Config->File_IgnoreSequenceFileSize_Set(false);
+ if (Config->File_IgnoreSequenceFilesCount_Get())
+ Config->File_IgnoreSequenceFilesCount_Set(false);
+ #endif MEDIAINFO_ADVANCED
+
TestContinuousFileNames();
+ }
}
//---------------------------------------------------------------------------
@@ -1909,7 +1919,7 @@ void File_MpegTs::Read_Buffer_AfterParsing()
//Jumping
if (Config->ParseSpeed<1.0 && Config->File_IsSeekable_Get()
#if MEDIAINFO_ADVANCED
- && (!Config->File_IgnoreSequenceFileSize_Get() || Config->File_Names_Pos!=Config->File_Names.size())
+ && (!Config->File_IgnoreSequenceFileSize_Get() || Config->File_Names_Pos!=Config->File_Names.size()) // TODO: temporary disabling theses options for MPEG-TS (see above), because it does not work as expected
#endif //MEDIAINFO_ADVANCED
&& File_Offset+Buffer_Size<File_Size-MpegTs_JumpTo_End && MpegTs_JumpTo_End)
{
@@ -1961,13 +1971,14 @@ size_t File_MpegTs::Read_Buffer_Seek (size_t Method, int64u Value, int64u ID)
Ztring Demux_Save=MI.Option(__T("Demux_Get"), __T(""));
MI.Option(__T("ParseSpeed"), __T("0"));
MI.Option(__T("Demux"), Ztring());
+ Config->File_Names.Separator_Set(0, ",");
Ztring File_Names=Config->File_Names.Read();
MI.Option(__T("File_FileNameFormat"), __T("CSV"));
size_t MiOpenResult=MI.Open(File_Names);
MI.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
MI.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
if (!MiOpenResult)
- return 0;
+ return (size_t)-1;
for (ibi::streams::iterator IbiStream_Temp=((File_MpegTs*)MI.Info)->Ibi.Streams.begin(); IbiStream_Temp!=((File_MpegTs*)MI.Info)->Ibi.Streams.end(); ++IbiStream_Temp)
{
if (Ibi.Streams[IbiStream_Temp->first]==NULL)
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp
index e3fcadf79..a6ae0e5ce 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp
@@ -106,6 +106,17 @@ const char* Mpeg_Descriptors_teletext_type(int8u teletext_type)
}
}
+const char* Mpeg_Descriptors_teletext_type_more(int8u teletext_type)
+{
+ switch (teletext_type)
+ {
+ case 0x03 : return "Additional information page";
+ case 0x04 : return "Programme schedule page";
+ case 0x05 : return "For hearing impaired people";
+ default : return "";
+ }
+}
+
const char* Mpeg_Descriptors_content_nibble_level_1(int8u content_nibble_level_1)
{
switch (content_nibble_level_1)
@@ -2251,6 +2262,7 @@ void File_Mpeg_Descriptors::Descriptor_56()
int16u ID=(teletext_magazine_number==0?8:teletext_magazine_number)*100+teletext_page_number_1*10+teletext_page_number_2;
Complete_Stream->Streams[elementary_PID]->descriptor_tag=0x56;
Complete_Stream->Streams[elementary_PID]->Teletexts[ID].Infos["Language"]=MediaInfoLib::Config.Iso639_1_Get(ISO_639_language_code);
+ Complete_Stream->Streams[elementary_PID]->Teletexts[ID].Infos["Language_More"]=Mpeg_Descriptors_teletext_type_more(teletext_type);
Complete_Stream->Streams[elementary_PID]->Teletexts[ID].Infos["Format"]=Mpeg_Descriptors_teletext_type(teletext_type);
Complete_Stream->Streams[elementary_PID]->Teletexts[ID].Infos["Codec"]=Mpeg_Descriptors_teletext_type(teletext_type);
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp
index 5c8024468..1aafe061b 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.cpp
@@ -64,6 +64,9 @@
#if defined(MEDIAINFO_JPEG_YES)
#include "MediaInfo/Image/File_Jpeg.h"
#endif
+#if defined(MEDIAINFO_TTML_YES)
+ #include "MediaInfo/Text/File_Ttml.h"
+#endif
#include "MediaInfo/TimeCode.h"
#include "MediaInfo/File_Unknown.h"
#include "ZenLib/File.h"
@@ -103,7 +106,7 @@ namespace MediaInfoLib
// Constants
//***************************************************************************
-#define UUID(NAME, PART1, PART2, PART3, PART4) \
+#define UUID(PART1, PART2, PART3, PART4, LOCAL, NORM, NAME, DESCRIPTION) \
const int32u NAME##1=0x##PART1; \
const int32u NAME##2=0x##PART2; \
const int32u NAME##3=0x##PART3; \
@@ -111,173 +114,288 @@ namespace MediaInfoLib
namespace Elements
{
- //Item - Elements - Identifiers and locators - Interpretive - ? - ?
- UUID(MCAChannelID, 060E2B34, 0101010E, 0103040A, 00000000)
-
- //Item - Elements - Identifiers and locators - Locally Unique Identifiers - ?
- UUID(MCALabelDictionaryID, 060E2B34, 0101010E, 01030701, 01000000)
- UUID(MCATagSymbol, 060E2B34, 0101010E, 01030701, 02000000)
- UUID(MCATagName, 060E2B34, 0101010E, 01030701, 03000000)
- UUID(GroupOfSoundfieldGroupsLinkID, 060E2B34, 0101010E, 01030701, 04000000)
- UUID(MCALinkID, 060E2B34, 0101010E, 01030701, 05000000)
- UUID(SoundfieldGroupLinkID, 060E2B34, 0101010E, 01030701, 06000000)
-
- //Item - Elements - Identifiers and locators - Locally Unique Locators - ?
- UUID(MCAPartitionKind, 060E2B34, 0101010E, 01040105, 00000000)
- UUID(MCAPartitionNumber, 060E2B34, 0101010E, 01040106, 00000000)
-
- //Item - Elements - Identifiers and locators - Titles
- UUID(MCATitle, 060E2B34, 0101010E, 01051000, 00000000)
- UUID(MCATitleVersion, 060E2B34, 0101010E, 01051100, 00000000)
- UUID(MCATitleSubVersion, 060E2B34, 0101010E, 01051200, 00000000)
- UUID(MCAEpisode, 060E2B34, 0101010E, 01051300, 00000000)
-
- //Item - Elements - Interpretive - Fundamental - Countries and Languages - Spoken Language Codes
- UUID(PrimarySpokenLanguage, 060E2B34, 01010107, 03010102, 03010000)
- UUID(SecondarySpokenLanguage, 060E2B34, 01010107, 03010102, 03020000)
- UUID(OriginalSpokenLanguage, 060E2B34, 01010107, 03010102, 03030000)
- UUID(SecondaryOriginalSpokenLanguage, 060E2B34, 01010107, 03010102, 03040000)
- UUID(PrimaryExtendedSpokenLanguage, 060E2B34, 01010107, 03010102, 03110000)
- UUID(SecondaryExtendedSpokenLanguage, 060E2B34, 01010107, 03010102, 03120000)
- UUID(OriginalExtendedSpokenLanguage, 060E2B34, 01010107, 03010102, 03130000)
- UUID(SecondaryOriginalExtendedSpokenLanguage, 060E2B34, 01010107, 03010102, 03140000)
- UUID(RFC5646AudioLanguageCode, 060E2B34, 0101010D, 03010102, 03150000)
-
- //Item - Elements - Interpretive - Fundamental - Data Interpretations and Definitions - Name-Value Construct Interpretations
- UUID(Ansi_01, 060E2B34, 01010105, 0301020A, 01000000)
- UUID(UTF16_01, 060E2B34, 01010105, 0301020A, 01010000)
- UUID(Ansi_02, 060E2B34, 01010105, 0301020A, 02000000)
- UUID(UTF16_02, 060E2B34, 01010105, 0301020A, 02010000)
-
- //Item - Elements - Interpretive - Fundamental - Data Interpretations and Definitions - KLV Interpretations
- UUID(Filler01, 060E2B34, 01010101, 03010210, 01000000)
- UUID(Filler02, 060E2B34, 01010102, 03010210, 01000000)
- UUID(TerminatingFiller, 060E2B34, 01010102, 03010210, 05000000)
-
- //Item - Elements - Interpretive - Fundamental - Data Interpretations and Definitions - XML Constructs and Interpretations
- UUID(XmlDocumentText, 060E2B34, 01010105, 03010220, 01000000)
-
- //Item - Elements - Interpretive - Human Assigned Descriptors
- UUID(MCAAudioContentKind, 060E2B34, 0101010E, 03020102, 20000000)
- UUID(MCAAudioElementKind, 060E2B34, 0101010E, 03020102, 21000000)
-
- //Item - Elements - Parametric - Video and Image Essence Characteristics - Digital Video and Image Compression Parameters - MPEG Coding Parameters - MPEG-2 Coding Parameters
- UUID(MPEG2VideoDescriptor_SingleSequence, 060E2B34, 01010105, 04010602, 01020000)
- UUID(MPEG2VideoDescriptor_ConstantBFrames, 060E2B34, 01010105, 04010602, 01030000)
- UUID(MPEG2VideoDescriptor_CodedContentType, 060E2B34, 01010105, 04010602, 01040000)
- UUID(MPEG2VideoDescriptor_LowDelay, 060E2B34, 01010105, 04010602, 01050000)
- UUID(MPEG2VideoDescriptor_ClosedGOP, 060E2B34, 01010105, 04010602, 01060000)
- UUID(MPEG2VideoDescriptor_IdenticalGOP, 060E2B34, 01010105, 04010602, 01070000)
- UUID(MPEG2VideoDescriptor_MaxGOP, 060E2B34, 01010105, 04010602, 01080000)
- UUID(MPEG2VideoDescriptor_BPictureCount, 060E2B34, 01010105, 04010602, 01090000)
- UUID(MPEG2VideoDescriptor_ProfileAndLevel, 060E2B34, 01010105, 04010602, 010A0000)
- UUID(MPEG2VideoDescriptor_BitRate, 060E2B34, 01010105, 04010602, 010B0000)
-
- //Item - Elements - Parametric - Video and Image Essence Characteristics - Digital Video and Image Compression Parameters - JPEG 2000 Coding Parameters
- UUID(JPEG2000PictureSubDescriptor_Rsiz, 060E2B34, 0101010A, 04010603, 01000000)
- UUID(JPEG2000PictureSubDescriptor_Xsiz, 060E2B34, 0101010A, 04010603, 02000000)
- UUID(JPEG2000PictureSubDescriptor_Ysiz, 060E2B34, 0101010A, 04010603, 03000000)
- UUID(JPEG2000PictureSubDescriptor_XOsiz, 060E2B34, 0101010A, 04010603, 04000000)
- UUID(JPEG2000PictureSubDescriptor_YOsiz, 060E2B34, 0101010A, 04010603, 05000000)
- UUID(JPEG2000PictureSubDescriptor_XTsiz, 060E2B34, 0101010A, 04010603, 06000000)
- UUID(JPEG2000PictureSubDescriptor_YTsiz, 060E2B34, 0101010A, 04010603, 07000000)
- UUID(JPEG2000PictureSubDescriptor_XTOsiz, 060E2B34, 0101010A, 04010603, 08000000)
- UUID(JPEG2000PictureSubDescriptor_YTOsiz, 060E2B34, 0101010A, 04010603, 09000000)
- UUID(JPEG2000PictureSubDescriptor_Csiz, 060E2B34, 0101010A, 04010603, 0A000000)
- UUID(JPEG2000PictureSubDescriptor_PictureComponentSizing, 060E2B34, 0101010A, 04010603, 0B000000)
- UUID(JPEG2000PictureSubDescriptor_CodingStyleDefault, 060E2B34, 0101010A, 04010603, 0C000000)
- UUID(JPEG2000PictureSubDescriptor_QuantizationDefault, 060E2B34, 0101010A, 04010603, 0D000000)
-
- //Item - Elements - Relational - Essence and Metadata Relationships - Essence to Essence Relationships
- UUID(SubDescriptors, 060E2B34, 01010109, 06010104, 06100000)
-
- //Item - Elements - User organization registred for public use - AAF Association - Generic Container - Version 1
- UUID(GenericContainer_Aaf, 060E2B34, 01020101, 0D010301, 00000000)
-
- //Groups - Elements - User organization registred for public use - AAF Association - AAF Attributes - AAF Information Attributes - Version 1 - Enumerated Attributes
- UUID(Sequence, 060E2B34, 02530101, 0D010101, 01010F00)
- UUID(SourceClip, 060E2B34, 02530101, 0D010101, 01011100)
- UUID(TimecodeComponent, 060E2B34, 02530101, 0D010101, 01011400)
- UUID(ContentStorage, 060E2B34, 02530101, 0D010101, 01011800)
- UUID(EssenceContainerData, 060E2B34, 02530101, 0D010101, 01012300)
- UUID(GenericPictureEssenceDescriptor, 060E2B34, 02530101, 0D010101, 01012700)
- UUID(CDCIEssenceDescriptor, 060E2B34, 02530101, 0D010101, 01012800)
- UUID(RGBAEssenceDescriptor, 060E2B34, 02530101, 0D010101, 01012900)
- UUID(Preface, 060E2B34, 02530101, 0D010101, 01012F00)
- UUID(Identification, 060E2B34, 02530101, 0D010101, 01013000)
- UUID(NetworkLocator, 060E2B34, 02530101, 0D010101, 01013200)
- UUID(TextLocator, 060E2B34, 02530101, 0D010101, 01013300)
- UUID(StereoscopicPictureSubDescriptor, 060E2B34, 0253010C, 0D010101, 01016300) // SMPTE ST 0429-10
- UUID(MaterialPackage, 060E2B34, 02530101, 0D010101, 01013600)
- UUID(SourcePackage, 060E2B34, 02530101, 0D010101, 01013700)
- UUID(EventTrack, 060E2B34, 02530101, 0D010101, 01013900)
- UUID(StaticTrack, 060E2B34, 02530101, 0D010101, 01013A00)
- UUID(Track, 060E2B34, 02530101, 0D010101, 01013B00)
- UUID(DMSegment, 060E2B34, 02530101, 0D010101, 01014100)
- UUID(GenericSoundEssenceDescriptor, 060E2B34, 02530101, 0D010101, 01014200)
- UUID(GenericDataEssenceDescriptor, 060E2B34, 02530101, 0D010101, 01014300)
- UUID(MultipleDescriptor, 060E2B34, 02530101, 0D010101, 01014400)
- UUID(DMSourceClip, 060E2B34, 02530101, 0D010101, 01014500)
- UUID(AES3PCMDescriptor, 060E2B34, 02530101, 0D010101, 01014700)
- UUID(WaveAudioDescriptor, 060E2B34, 02530101, 0D010101, 01014800)
- UUID(MPEG2VideoDescriptor, 060E2B34, 02530101, 0D010101, 01015100)
- UUID(JPEG2000PictureSubDescriptor, 060E2B34, 02530101, 0D010101, 01015A00)
- UUID(VbiPacketsDescriptor, 060E2B34, 02530101, 0D010101, 01015B00)
- UUID(AncPacketsDescriptor, 060E2B34, 02530101, 0D010101, 01015C00)
- UUID(PackageMarkerObject, 060E2B34, 02530101, 0D010101, 01016000)
- UUID(ApplicationPlugInObject, 060E2B34, 02530101, 0D010101, 01016100)
- UUID(ApplicationReferencedObject, 060E2B34, 02530101, 0D010101, 01016200)
- UUID(MCALabelSubDescriptor, 060E2B34, 02530101, 0D010101, 01016A00) // SMPTE ST 0377-4-2012
- UUID(AudioChannelLabelSubDescriptor, 060E2B34, 02530101, 0D010101, 01016B00) // SMPTE ST 0377-4-2012
- UUID(SoundfieldGroupLabelSubDescriptor, 060E2B34, 02530101, 0D010101, 01016C00) // SMPTE ST 0377-4-2012
- UUID(GroupOfSoundfieldGroupsLabelSubDescriptor, 060E2B34, 02530101, 0D010101, 01016D00) // SMPTE ST 0377-4-2012
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ?
- UUID(OpenIncompleteHeaderPartition, 060E2B34, 02050101, 0D010201, 01020100)
- UUID(ClosedIncompleteHeaderPartition, 060E2B34, 02050101, 0D010201, 01020200)
- UUID(OpenCompleteHeaderPartition, 060E2B34, 02050101, 0D010201, 01020300)
- UUID(ClosedCompleteHeaderPartition, 060E2B34, 02050101, 0D010201, 01020400)
- UUID(OpenIncompleteBodyPartition, 060E2B34, 02050101, 0D010201, 01030100)
- UUID(ClosedIncompleteBodyPartition, 060E2B34, 02050101, 0D010201, 01030200)
- UUID(OpenCompleteBodyPartition, 060E2B34, 02050101, 0D010201, 01030300)
- UUID(ClosedCompleteBodyPartition, 060E2B34, 02050101, 0D010201, 01030400)
- UUID(OpenIncompleteFooterPartition, 060E2B34, 02050101, 0D010201, 01040100)
- UUID(ClosedIncompleteFooterPartition, 060E2B34, 02050101, 0D010201, 01040200)
- UUID(OpenCompleteFooterPartition, 060E2B34, 02050101, 0D010201, 01040300)
- UUID(ClosedCompleteFooterPartition, 060E2B34, 02050101, 0D010201, 01040400)
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ?
- UUID(Primer, 060E2B34, 02050101, 0D010201, 01050100)
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ?
- UUID(IndexTableSegment, 060E2B34, 02530101, 0D010201, 01100100)
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ?
- UUID(RandomIndexMetadata, 060E2B34, 02050101, 0D010201, 01110100)
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ? (SDTI-CP (SMPTE 385M))
- UUID(SDTI_SystemMetadataPack, 060E2B34, 02050101, 0D010301, 04010100)
- UUID(SDTI_PackageMetadataSet, 060E2B34, 02430101, 0D010301, 04010200)
- UUID(SDTI_PictureMetadataSet, 060E2B34, 02430101, 0D010301, 04010300)
- UUID(SDTI_SoundMetadataSet, 060E2B34, 02430101, 0D010301, 04010400)
- UUID(SDTI_DataMetadataSet, 060E2B34, 02430101, 0D010301, 04010500)
- UUID(SDTI_ControlMetadataSet, 060E2B34, 02630101, 0D010301, 04010600)
-
- //Groups - Elements - User organization registred for public use - AAF Association - ? - Version 1 - ? (SystemScheme (SMPTE 405M))
- UUID(SystemScheme1, 060E2B34, 02530101, 0D010301, 14020000)
-
- //Groups - Elements - User organization registred for public use - AAF Association - Descriptive Metadata Scheme - Version 1 (SystemScheme (SMPTE 380M))
- UUID(DMScheme1, 060E2B34, 02530101, 0D010401, 01010100)
-
- //Item - Elements - User organization registred for private use - Avid - Generic Container - Version 1
- UUID(GenericContainer_Avid, 060E2B34, 01020101, 0E040301, 00000000)
-
- //Item - Elements - User organization registred for private use - Sony - Generic Container - Version 6
- UUID(GenericContainer_Sony, 060E2B34, 01020101, 0E067F03, 00000000)
-
- //Groups - Elements - User organization registred for private use - Omneon Video Networks
- UUID(Omneon_010201010100, 060E2B34, 02530105, 0E0B0102, 01010100)
- UUID(Omneon_010201020100, 060E2B34, 02530105, 0E0B0102, 01020100)
+ // 01 - Identifiers and locators
+ // 01 - Globally Unique Identifiers
+ // 15 - Object Identifiers
+ UUID(060E2B34, 0101010C, 01011512, 00000000, 0000, "SMPTE ST 429-5", ResourceID, "Resource ID")
+
+ // 02 - Globally Unique Locators
+ // 01 - Uniform Resource Locators
+ UUID(060E2B34, 0101010C, 01020105, 01000000, 0000, "SMPTE ST 429-5", NamespaceURI, "Namespace URI")
+
+ // 03 - Locally Unique Identifiers
+ // 04 - ?
+ UUID(060E2B34, 0101010E, 0103040A, 00000000, 0000, "SMPTE ST 377-4", MCAChannelID, "MCA Channel ID")
+
+ // 07 - ?
+ // 01 - ?
+ UUID(060E2B34, 0101010E, 01030701, 01000000, 0000, "SMPTE ST 377-4", MCALabelDictionaryID, "MCA Label Dictionary ID")
+ UUID(060E2B34, 0101010E, 01030701, 02000000, 0000, "SMPTE ST 377-4", MCATagSymbol, "MCA Tag Symbol")
+ UUID(060E2B34, 0101010E, 01030701, 03000000, 0000, "SMPTE ST 377-4", MCATagName, "MCA Tag Name")
+ UUID(060E2B34, 0101010E, 01030701, 04000000, 0000, "SMPTE ST 377-4", GroupOfSoundfieldGroupsLinkID, "Group Of Soundfield Groups Link ID")
+ UUID(060E2B34, 0101010E, 01030701, 05000000, 0000, "SMPTE ST 377-4", MCALinkID, "MCA Link ID")
+ UUID(060E2B34, 0101010E, 01030701, 06000000, 0000, "SMPTE ST 377-4", SoundfieldGroupLinkID, "Soundfield Group Link ID")
+
+ // 04 - Locally Unique Locators
+ // 01 - ?
+ // 01 - ?
+ UUID(060E2B34, 0101010E, 01040105, 00000000, 0000, "SMPTE ST 377-4", MCAPartitionKind, "MCA Partition Kind")
+ UUID(060E2B34, 0101010E, 01040106, 00000000, 0000, "SMPTE ST 377-4", MCAPartitionNumber, "MCA Partition Number")
+
+ // 05 - Titles
+ UUID(060E2B34, 0101010E, 01051000, 00000000, 0000, "SMPTE ST 377-4", MCATitle, "MCA Title")
+ UUID(060E2B34, 0101010E, 01051100, 00000000, 0000, "SMPTE ST 377-4", MCATitleVersion, "MCA Title Version")
+ UUID(060E2B34, 0101010E, 01051200, 00000000, 0000, "SMPTE ST 377-4", MCATitleSubVersion, "MCA Title Sub-version")
+ UUID(060E2B34, 0101010E, 01051300, 00000000, 0000, "SMPTE ST 377-4", MCAEpisode, "MCA Episode")
+
+ // 03 - Interpretive
+ // 01 - Fundamental
+ // 01 - Countries and Languages
+ // 01 - Country and Region Codes
+
+ // 02 - Spoken Language Codes
+ UUID(060E2B34, 01010107, 03010102, 03010000, 0000, "", PrimarySpokenLanguage, "")
+ UUID(060E2B34, 01010107, 03010102, 03020000, 0000, "", SecondarySpokenLanguage, "")
+ UUID(060E2B34, 01010107, 03010102, 03030000, 0000, "", OriginalSpokenLanguage, "")
+ UUID(060E2B34, 01010107, 03010102, 03040000, 0000, "", SecondaryOriginalSpokenLanguage, "")
+ UUID(060E2B34, 01010107, 03010102, 03110000, 0000, "SMPTE ST 380", PrimaryExtendedSpokenLanguage, "Primary Extended Spoken Language")
+ UUID(060E2B34, 01010107, 03010102, 03120000, 0000, "SMPTE ST 380", SecondaryExtendedSpokenLanguage, "Secondary Extended Spoken Language")
+ UUID(060E2B34, 01010107, 03010102, 03130000, 0000, "SMPTE ST 380", OriginalExtendedSpokenLanguage, "Original Extended Spoken Language")
+ UUID(060E2B34, 01010107, 03010102, 03140000, 0000, "SMPTE ST 380", SecondaryOriginalExtendedSpokenLanguage, "Secondary Original Extended Spoken Language")
+ UUID(060E2B34, 0101010D, 03010102, 03150000, 0000, "SMPTE ST 377-4", RFC5646AudioLanguageCode, "RFC 5646 Spoken Language")
+
+ // 02 - Data Interpretations and Definitions
+ // 0A - Name-Value Construct Interpretations
+ UUID(060E2B34, 01010105, 0301020A, 01000000, 0000, "", Ansi_01, "")
+ UUID(060E2B34, 01010105, 0301020A, 01010000, 0000, "", UTF16_01, "")
+ UUID(060E2B34, 01010105, 0301020A, 02000000, 0000, "", Ansi_02, "")
+ UUID(060E2B34, 01010105, 0301020A, 02010000, 0000, "", UTF16_02, "")
+
+ // 10 - KLV Interpretations
+ UUID(060E2B34, 01010101, 03010210, 01000000, 0000, "", Filler01, "")
+ UUID(060E2B34, 01010102, 03010210, 01000000, 0000, "", Filler02, "")
+ UUID(060E2B34, 01010102, 03010210, 05000000, 0000, "", TerminatingFiller, "")
+
+ // 10 - XML Constructs and Interpretations
+ UUID(060E2B34, 01010105, 03010220, 01000000, 0000, "", XmlDocumentText, "")
+
+ // 02 - Human Assigned Descriptors
+ // 01 - Categorization
+ // 01 - Content Classification
+
+ // 02 - Cataloging and Indexing
+ UUID(060E2B34, 0101010E, 03020102, 20000000, 0000, "", MCAAudioContentKind, "")
+ UUID(060E2B34, 0101010E, 03020102, 21000000, 0000, "", MCAAudioElementKind, "")
+
+ // 04 - Parametric
+ // 01 - Video and Image Essence Characteristics
+ // 06 - Digital Video and Image Compression Parameters
+ // 02 - MPEG Coding Parameters
+ // 01 - MPEG-2 Coding Parameters
+ UUID(060E2B34, 01010105, 04010602, 01020000, 0000, "", MPEG2VideoDescriptor_SingleSequence, "")
+ UUID(060E2B34, 01010105, 04010602, 01030000, 0000, "", MPEG2VideoDescriptor_ConstantBFrames, "")
+ UUID(060E2B34, 01010105, 04010602, 01040000, 0000, "", MPEG2VideoDescriptor_CodedContentType, "")
+ UUID(060E2B34, 01010105, 04010602, 01050000, 0000, "", MPEG2VideoDescriptor_LowDelay, "")
+ UUID(060E2B34, 01010105, 04010602, 01060000, 0000, "", MPEG2VideoDescriptor_ClosedGOP, "")
+ UUID(060E2B34, 01010105, 04010602, 01070000, 0000, "", MPEG2VideoDescriptor_IdenticalGOP, "")
+ UUID(060E2B34, 01010105, 04010602, 01080000, 0000, "", MPEG2VideoDescriptor_MaxGOP, "")
+ UUID(060E2B34, 01010105, 04010602, 01090000, 0000, "", MPEG2VideoDescriptor_BPictureCount, "")
+ UUID(060E2B34, 01010105, 04010602, 010A0000, 0000, "", MPEG2VideoDescriptor_ProfileAndLevel, "")
+ UUID(060E2B34, 01010105, 04010602, 010B0000, 0000, "", MPEG2VideoDescriptor_BitRate, "")
+
+ // 02 - JPEG 2000 Coding Parameters
+ UUID(060E2B34, 0101010A, 04010603, 01000000, 0000, "", JPEG2000PictureSubDescriptor_Rsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 02000000, 0000, "", JPEG2000PictureSubDescriptor_Xsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 03000000, 0000, "", JPEG2000PictureSubDescriptor_Ysiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 04000000, 0000, "", JPEG2000PictureSubDescriptor_XOsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 05000000, 0000, "", JPEG2000PictureSubDescriptor_YOsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 06000000, 0000, "", JPEG2000PictureSubDescriptor_XTsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 07000000, 0000, "", JPEG2000PictureSubDescriptor_YTsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 08000000, 0000, "", JPEG2000PictureSubDescriptor_XTOsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 09000000, 0000, "", JPEG2000PictureSubDescriptor_YTOsiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 0A000000, 0000, "", JPEG2000PictureSubDescriptor_Csiz, "")
+ UUID(060E2B34, 0101010A, 04010603, 0B000000, 0000, "", JPEG2000PictureSubDescriptor_PictureComponentSizing, "")
+ UUID(060E2B34, 0101010A, 04010603, 0C000000, 0000, "", JPEG2000PictureSubDescriptor_CodingStyleDefault, "")
+ UUID(060E2B34, 0101010A, 04010603, 0D000000, 0000, "", JPEG2000PictureSubDescriptor_QuantizationDefault, "")
+
+ // 09 - Format Characteristics
+ UUID(060E2B34, 0101010C, 04090500, 00000000, 0000, "SMPTE ST 429-5", UCSEncoding, "UCS Encoding")
+
+ // 06 - Relational
+ // 01 - Essence and Metadata Relationships
+ // 04 - Essence to Essence Relationships
+ UUID(060E2B34, 01010109, 06010104, 06100000, 0000, "", SubDescriptors, "")
+
+ // 0D - User organization registred for public use
+ // 01 - AAF Association
+ // 01 - MXF Structural Metadata Sets
+ // 01 - Version 1
+ // 01 - MXF compatible sets and packs
+ UUID(060E2B34, 02530101, 0D010101, 01010100, 0000, "SMPTE ST 377-1", InterchangeObject, "Interchange Object")
+ UUID(060E2B34, 02530101, 0D010101, 01010200, 0000, "SMPTE ST 377-1", StructuralComponent, "Structural Component")
+ UUID(060E2B34, 02530101, 0D010101, 01010300, 0000, "SMPTE ST 377-1", Segment, "Segment")
+ UUID(060E2B34, 02530101, 0D010101, 01010600, 0000, "SMPTE ST 377-1", Event, "Event")
+ UUID(060E2B34, 02530101, 0D010101, 01010800, 0000, "SMPTE ST 377-1", CommentMarker, "Comment Marker")
+ UUID(060E2B34, 02530101, 0D010101, 01010900, 0000, "SMPTE ST 377-1", Filler53, "")
+ UUID(060E2B34, 02530101, 0D010101, 01010F00, 0000, "SMPTE ST 377-1", Sequence, "")
+ UUID(060E2B34, 02530101, 0D010101, 01011100, 0000, "SMPTE ST 377-1", SourceClip, "")
+ UUID(060E2B34, 02530101, 0D010101, 01011400, 0000, "SMPTE ST 377-1", TimecodeComponent, "")
+ UUID(060E2B34, 02530101, 0D010101, 01011800, 0000, "SMPTE ST 377-1", ContentStorage, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012300, 0000, "SMPTE ST 377-1", EssenceContainerData, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012400, 0000, "SMPTE ST 377-1", GenericDescriptor, "Generic Descriptor")
+ UUID(060E2B34, 02530101, 0D010101, 01012500, 0000, "SMPTE ST 377-1", FileDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012700, 0000, "SMPTE ST 377-1", GenericPictureEssenceDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012800, 0000, "SMPTE ST 377-1", CDCIEssenceDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012900, 0000, "SMPTE ST 377-1", RGBAEssenceDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01012F00, 0000, "SMPTE ST 377-1", Preface, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013000, 0000, "SMPTE ST 377-1", Identification, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013200, 0000, "SMPTE ST 377-1", NetworkLocator, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013300, 0000, "SMPTE ST 377-1", TextLocator, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013400, 0000, "SMPTE ST 377-1", GenericPackage, "Generic Package")
+ UUID(060E2B34, 02530101, 0D010101, 01013600, 0000, "SMPTE ST 377-1", MaterialPackage, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013700, 0000, "SMPTE ST 377-1", SourcePackage, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013800, 0000, "SMPTE ST 377-1", GenericTrack , "Generic Track")
+ UUID(060E2B34, 02530101, 0D010101, 01013900, 0000, "SMPTE ST 377-1", EventTrack, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013A00, 0000, "SMPTE ST 377-1", StaticTrack, "")
+ UUID(060E2B34, 02530101, 0D010101, 01013B00, 0000, "SMPTE ST 377-1", TimelineTrack, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014100, 0000, "SMPTE ST 377-1", DMSegment, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014200, 0000, "SMPTE ST 377-1", GenericSoundEssenceDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014300, 0000, "SMPTE ST 377-1", GenericDataEssenceDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014400, 0000, "SMPTE ST 377-1", MultipleDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014500, 0000, "SMPTE ST 377-1", DMSourceClip, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014700, 0000, "", AES3PCMDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01014800, 0000, "", WaveAudioDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01015100, 0000, "", MPEG2VideoDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01015A00, 0000, "", JPEG2000PictureSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01015B00, 0000, "", VbiPacketsDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01015C00, 0000, "", AncPacketsDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01015900, 0000, "SMPTE ST 377-1", SubDescriptor, "Sub Descriptor")
+ UUID(060E2B34, 02530101, 0D010101, 01016000, 0000, "SMPTE ST 377-1", PackageMarkerObject, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016100, 0000, "SMPTE ST 377-1", ApplicationPlugInObject, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016200, 0000, "SMPTE ST 377-1", ApplicationReferencedObject, "")
+ UUID(060E2B34, 0253010C, 0D010101, 01016300, 0000, "SMPTE ST 429-10", StereoscopicPictureSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016400, 0000, "SMPTE ST 429-5", TimedTextDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016500, 0000, "SMPTE ST 429-5", TimedTextResourceSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016600, 0000, "SMPTE ST 377-1", ApplicationObject, "Application Object")
+ UUID(060E2B34, 02530101, 0D010101, 01016A00, 0000, "SMPTE ST 377-4", MCALabelSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016B00, 0000, "SMPTE ST 377-4", AudioChannelLabelSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016C00, 0000, "SMPTE ST 377-4", SoundfieldGroupLabelSubDescriptor, "")
+ UUID(060E2B34, 02530101, 0D010101, 01016D00, 0000, "SMPTE ST 377-4", GroupOfSoundfieldGroupsLabelSubDescriptor, "")
+
+ // 02 - MXF File Structure
+ // 01 - Version 1
+ // 01 - MXF File Structure sets & packs
+ UUID(060E2B34, 02050101, 0D010201, 01020100, 0000, "SMPTE ST 377-1", OpenIncompleteHeaderPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01020200, 0000, "SMPTE ST 377-1", ClosedIncompleteHeaderPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01020300, 0000, "SMPTE ST 377-1", OpenCompleteHeaderPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01020400, 0000, "SMPTE ST 377-1", ClosedCompleteHeaderPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01030100, 0000, "SMPTE ST 377-1", OpenIncompleteBodyPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01030200, 0000, "SMPTE ST 377-1", ClosedIncompleteBodyPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01030300, 0000, "SMPTE ST 377-1", OpenCompleteBodyPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01030400, 0000, "SMPTE ST 377-1", ClosedCompleteBodyPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01040100, 0000, "SMPTE ST 377-1", OpenIncompleteFooterPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01040200, 0000, "SMPTE ST 377-1", ClosedIncompleteFooterPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01040300, 0000, "SMPTE ST 377-1", OpenCompleteFooterPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01040400, 0000, "SMPTE ST 377-1", ClosedCompleteFooterPartition, "")
+ UUID(060E2B34, 02050101, 0D010201, 01050100, 0000, "SMPTE ST 377-1", Primer, "")
+ UUID(060E2B34, 02530101, 0D010201, 01100100, 0000, "SMPTE ST 377-1", IndexTableSegment, "")
+ UUID(060E2B34, 02050101, 0D010201, 01110100, 0000, "SMPTE ST 377-1", RandomIndexMetadata, "")
+
+ // 03 - ?
+ // 01 - ?
+ // 00 - Generic
+ UUID(060E2B34, 01020101, 0D010301, 00000000, 0000, "", GenericContainer_Aaf, "")
+
+ // 04 - SDTI
+ UUID(060E2B34, 02050101, 0D010301, 04010100, 0000, "", SDTI_SystemMetadataPack, "")
+ UUID(060E2B34, 02430101, 0D010301, 04010200, 0000, "", SDTI_PackageMetadataSet, "")
+ UUID(060E2B34, 02430101, 0D010301, 04010300, 0000, "", SDTI_PictureMetadataSet, "")
+ UUID(060E2B34, 02430101, 0D010301, 04010400, 0000, "", SDTI_SoundMetadataSet, "")
+ UUID(060E2B34, 02430101, 0D010301, 04010500, 0000, "", SDTI_DataMetadataSet, "")
+ UUID(060E2B34, 02630101, 0D010301, 04010600, 0000, "", SDTI_ControlMetadataSet, "")
+
+ // 14 - System Scheme 1
+ UUID(060E2B34, 02530101, 0D010301, 14020000, 0000, "", SystemScheme1, "")
+
+ // 04 - ?
+ // 01 - ?
+ UUID(060E2B34, 02530101, 0D010401, 01010100, 0000, "", DMScheme1, "")
+
+ // 07 - AMWA AS-11
+ // 01 - ?
+ // 0B - ?
+ // 01 - AS-11 core metadata framework
+ UUID(060E2B34, 02530101, 0D010701, 0B010100, 0000, "AMWA AS-11", AS11_AAF_Core, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010101, 0000, "AMWA AS-11", AS11_Core_SerieTitle, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010102, 0000, "AMWA AS-11", AS11_Core_ProgrammeTitle, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010103, 0000, "AMWA AS-11", AS11_Core_EpisodeTitleNumber, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010104, 0000, "AMWA AS-11", AS11_Core_ShimName, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010105, 0000, "AMWA AS-11", AS11_Core_AudioTrackLayout, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010106, 0000, "AMWA AS-11", AS11_Core_PrimaryAudioLanguage, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010107, 0000, "AMWA AS-11", AS11_Core_ClosedCaptionsPresent, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010108, 0000, "AMWA AS-11", AS11_Core_ClosedCaptionsType, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B010109, 0000, "AMWA AS-11", AS11_Core_ClosedCaptionsLanguage, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B01010A, 0000, "AMWA AS-11", AS11_Core_ShimVersion, "")
+
+ // 02 - AS-11 segmentation metadata framework
+ UUID(060E2B34, 02530101, 0D010701, 0B020100, 0000, "AMWA AS-11", AS11_AAF_Segmentation, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B020101, 0000, "AMWA AS-11", AS11_Segment_PartNumber, "")
+ UUID(060E2B34, 01010101, 0D010701, 0B020102, 0000, "AMWA AS-11", AS11_Segment_PartTotal, "")
+
+ // 0C - BBC
+ // 01 - ?
+ // 01 - ?
+ // 01 - ?
+ // 01 - AS-11 UK DPP metadata framework
+ UUID(060E2B34, 02530101, 0D0C0101, 01010000, 0000, "AMWA AS-11", AS11_AAF_UKDPP, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010100, 0000, "AMWA AS-11", AS11_UKDPP_ProductionNumber, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010200, 0000, "AMWA AS-11", AS11_UKDPP_Synopsis, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010300, 0000, "AMWA AS-11", AS11_UKDPP_Originator, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010400, 0000, "AMWA AS-11", AS11_UKDPP_CopyrightYear, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010500, 0000, "AMWA AS-11", AS11_UKDPP_OtherIdentifier, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010600, 0000, "AMWA AS-11", AS11_UKDPP_OtherIdentifierType, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010700, 0000, "AMWA AS-11", AS11_UKDPP_Genre, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010800, 0000, "AMWA AS-11", AS11_UKDPP_Distributor, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010900, 0000, "AMWA AS-11", AS11_UKDPP_PictureRatio, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010A00, 0000, "AMWA AS-11", AS11_UKDPP_3D, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010B00, 0000, "AMWA AS-11", AS11_UKDPP_3DType, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010C00, 0000, "AMWA AS-11", AS11_UKDPP_ProductPlacement, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010D00, 0000, "AMWA AS-11", AS11_UKDPP_FpaPass, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010E00, 0000, "AMWA AS-11", AS11_UKDPP_FpaManufacturer, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01010F00, 0000, "AMWA AS-11", AS11_UKDPP_FpaVersion, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011000, 0000, "AMWA AS-11", AS11_UKDPP_VideoComments, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011100, 0000, "AMWA AS-11", AS11_UKDPP_SecondaryAudioLanguage, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011200, 0000, "AMWA AS-11", AS11_UKDPP_TertiaryAudioLanguage, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011300, 0000, "AMWA AS-11", AS11_UKDPP_AudioLoudnessStandard, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011400, 0000, "AMWA AS-11", AS11_UKDPP_AudioComments, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011500, 0000, "AMWA AS-11", AS11_UKDPP_LineUpStart, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011600, 0000, "AMWA AS-11", AS11_UKDPP_IdentClockStart, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011700, 0000, "AMWA AS-11", AS11_UKDPP_TotalNumberOfParts, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011800, 0000, "AMWA AS-11", AS11_UKDPP_TotalProgrammeDuration, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011900, 0000, "AMWA AS-11", AS11_UKDPP_AudioDescriptionPresent, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011A00, 0000, "AMWA AS-11", AS11_UKDPP_AudioDescriptionType, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011B00, 0000, "AMWA AS-11", AS11_UKDPP_OpenCaptionsPresent, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011C00, 0000, "AMWA AS-11", AS11_UKDPP_OpenCaptionsType, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011D00, 0000, "AMWA AS-11", AS11_UKDPP_OpenCaptionsLanguage, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011E00, 0000, "AMWA AS-11", AS11_UKDPP_SigningPresent, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01011F00, 0000, "AMWA AS-11", AS11_UKDPP_SignLanguage, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012000, 0000, "AMWA AS-11", AS11_UKDPP_CompletionDate, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012100, 0000, "AMWA AS-11", AS11_UKDPP_TextlessElementsExist, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012200, 0000, "AMWA AS-11", AS11_UKDPP_ProgrammeHasText, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012300, 0000, "AMWA AS-11", AS11_UKDPP_ProgrammeTextLanguage, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012400, 0000, "AMWA AS-11", AS11_UKDPP_ContactEmail, "")
+ UUID(060E2B34, 01010101, 0D0C0101, 01012500, 0000, "AMWA AS-11", AS11_UKDPP_ContactTelephoneNumber, "")
+
+ // 0E - User organization registred for private use
+ // 04 - Avid
+ UUID(060E2B34, 01020101, 0E040301, 00000000, 0000, "", GenericContainer_Avid, "")
+
+ // 06 - Sony
+ UUID(060E2B34, 01020101, 0E067F03, 00000000, 0000, "", GenericContainer_Sony, "")
+
+ // 0B - Omneon Video Networks
+ UUID(060E2B34, 02530105, 0E0B0102, 01010100, 0000, "", Omneon_010201010100, "")
+ UUID(060E2B34, 02530105, 0E0B0102, 01020100, 0000, "", Omneon_010201020100, "")
}
//---------------------------------------------------------------------------
@@ -465,6 +583,7 @@ const char* Mxf_EssenceElement(const int128u EssenceElement)
{
case 0x01 : return "VBI"; //Frame-Wrapped VBI Data Element
case 0x02 : return "ANC"; //Frame-Wrapped ANC Data Element
+ case 0x0B : return "Timed Text"; //Clip-Wrapped Timed Text Data Element, SMPTE ST 429-5
default : return "Unknown stream";
}
case 0x18 : //GC Compound
@@ -518,6 +637,7 @@ const char* Mxf_EssenceContainer(const int128u EssenceContainer)
case 0x0C : return "JPEG 2000";
case 0x10 : return "AVC";
case 0x11 : return "VC-3";
+ case 0x13 : return "Timed Text";
default : return "";
}
default : return "";
@@ -659,6 +779,8 @@ const char* Mxf_EssenceContainer_Mapping(int8u Code6, int8u Code7, int8u Code8)
case 0x02 : return "Clip";
default : return "";
}
+ case 0x13 : //Timed Text
+ return "Clip";
default : return "";
}
}
@@ -940,7 +1062,15 @@ const char* Mxf_Sequence_DataDefinition(const int128u DataDefinition)
switch (Code4)
{
- case 0x01 : return "Time";
+ case 0x01 :
+ switch (Code5)
+ {
+ case 0x01 :
+ case 0x02 :
+ case 0x03 : return "Time";
+ case 0x10 : return "Descriptive Metadata";
+ default : return "";
+ }
case 0x02 :
switch (Code5)
{
@@ -1403,6 +1533,251 @@ string MXF_MCALabelDictionaryID_ChannelLayout(const std::vector<int128u> &MCALab
}
//---------------------------------------------------------------------------
+const size_t Mxf_AS11_ClosedCaptionType_Count=2;
+const char* Mxf_AS11_ClosedCaptionType[Mxf_AS11_ClosedCaptionType_Count]=
+{
+ "Hard of Hearing",
+ "Translation",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_AudioTrackLayout_Count=0x35;
+const char* Mxf_AS11_AudioTrackLayout[Mxf_AS11_AudioTrackLayout_Count]=
+{
+ "EBU R 48: 1a",
+ "EBU R 48: 1b",
+ "EBU R 48: 1c",
+ "EBU R 48: 2a",
+ "EBU R 48: 2b",
+ "EBU R 48: 2c",
+ "EBU R 48: 3a",
+ "EBU R 48: 3b",
+ "EBU R 48: 4a",
+ "EBU R 48: 4b",
+ "EBU R 48: 4c",
+ "EBU R 48: 5a",
+ "EBU R 48: 5b",
+ "EBU R 48: 6a",
+ "EBU R 48: 6b",
+ "EBU R 48: 7a",
+ "EBU R 48: 7b",
+ "EBU R 48: 8a",
+ "EBU R 48: 8b",
+ "EBU R 48: 8c",
+ "EBU R 48: 9a",
+ "EBU R 48: 9b",
+ "EBU R 48: 10a",
+ "EBU R 48: 11a",
+ "EBU R 48: 11b",
+ "EBU R 48: 11c",
+ "EBU R 123: 2a",
+ "EBU R 123: 4a",
+ "EBU R 123: 4b",
+ "EBU R 123: 4c",
+ "EBU R 123: 8a",
+ "EBU R 123: 8b",
+ "EBU R 123: 8c",
+ "EBU R 123: 8d",
+ "EBU R 123: 8e",
+ "EBU R 123: 8f",
+ "EBU R 123: 8g",
+ "EBU R 123: 8h",
+ "EBU R 123: 8i",
+ "EBU R 123: 12a",
+ "EBU R 123: 12b",
+ "EBU R 123: 12c",
+ "EBU R 123: 12d",
+ "EBU R 123: 12e",
+ "EBU R 123: 12f",
+ "EBU R 123: 12g",
+ "EBU R 123: 12h",
+ "EBU R 123: 16a",
+ "EBU R 123: 16b",
+ "EBU R 123: 16c",
+ "EBU R 123: 16d",
+ "EBU R 123: 16e",
+ "EBU R 123: 16f",
+};
+struct mxf_as11_audiotracklayout_assignment
+{
+ size_t Count;
+ const char* Assign[16];
+};
+const mxf_as11_audiotracklayout_assignment Mxf_AS11_AudioTrackLayout_ChannelPositions[Mxf_AS11_AudioTrackLayout_Count]=
+{
+ { 2, "Front: C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1a
+ { 4, "Front: C", NULL, "Front: C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1b
+ { 8, "Front: C", NULL, "Front: C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1c
+ { 2, "Front: L", "Front: R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2a
+ { 4, "Front: L", "Front: R", "Front: L", "Front: R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2b
+ { 8, "Front: L", "Front: R", "Front: L", "Front: R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2c
+ { 4, "Front: L", "Front: R", "Front: L", "Front: R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 3a
+ { 8, "Front: L", "Front: R", "Front: L", "Front: R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 3b
+ { 2, "EBU R 48: 4a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 4b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 4c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 5a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 5b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 6a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 6b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 7a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 7b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 48: 8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 48: 10a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 11a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 11b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 11c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 123: 2a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8g", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8h", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8i", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12g", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12h", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 16, "Front: L", "Front: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", }, //123 16a
+ { 16, "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", }, //123 16b
+ { 16, "Front: L", "Front: R", "Front: L", "Front: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", }, //123 16c
+ { 16, "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", }, //123 16d
+ { 16, "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Front: L", "Front: R", "Front: C", "LFE", "Side: L", "Side: R", "Side: L", "Side: R", "Side: L", "Side: R", }, //123 16e
+ { 16, "Front: L", "Front: R", NULL, NULL, "Front: L", "Front: R", NULL, NULL, "Front: L", "Front: R", NULL, NULL, "Front: L", "Front: R", "Front: L", "Front: R", }, //123 16f
+};
+const mxf_as11_audiotracklayout_assignment Mxf_AS11_AudioTrackLayout_ChannelLayout[Mxf_AS11_AudioTrackLayout_Count]=
+{
+ { 2, "C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1a
+ { 4, "C", NULL, "C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1b
+ { 8, "C", NULL, "C", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 1c
+ { 2, "L", "R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2a
+ { 4, "L", "R", "L", "R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2b
+ { 8, "L", "R", "L", "R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 2c
+ { 4, "L", "R", "L", "R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 3a
+ { 8, "L", "R", "L", "R", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, //48 3b
+ { 2, "EBU R 48: 4a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 4b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 4c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 5a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 5b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 6a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 6b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 7a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 7b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 48: 8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 48: 10a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 48: 11a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 11b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 48: 11c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 2, "EBU R 123: 2a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 4, "EBU R 123: 4c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8g", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8h", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 8, "EBU R 123: 8i", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12g", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 12, "EBU R 123: 12h", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { 16, "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", }, //123 16a
+ { 16, "L", "R", "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "L", "R", "C", "LFE", "Ls", "Rs", }, //123 16b
+ { 16, "L", "R", "L", "R", "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "C", "LFE", "Ls", "Rs", }, //123 16c
+ { 16, "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", }, //123 16d
+ { 16, "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "C", "LFE", "Ls", "Rs", "L", "R", "L", "R", }, //123 16e
+ { 16, "L", "R", NULL, NULL, "L", "R", NULL, NULL, "L", "R", NULL, NULL, "L", "R", "L", "R", }, //123 16f
+};
+
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_FpaPass_Count=3;
+const char* Mxf_AS11_FpaPass[Mxf_AS11_FpaPass_Count]=
+{
+ "Yes",
+ "No",
+ "Not tested",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_SigningPresent_Count=3;
+const char* Mxf_AS11_SigningPresent[Mxf_AS11_SigningPresent_Count]=
+{
+ "Yes",
+ "No",
+ "Signer only",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_3D_Type_Count=4;
+const char* Mxf_AS11_3D_Type[Mxf_AS11_3D_Type_Count]=
+{
+ "Side by side",
+ "Dual",
+ "Left eye only",
+ "Right eye only",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_AudioLoudnessStandard_Count=2;
+const char* Mxf_AS11_AudioLoudnessStandard[Mxf_AS11_AudioLoudnessStandard_Count]=
+{
+ "",
+ "EBU R 128",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_AudioDescriptionType_Count=2;
+const char* Mxf_AS11_AudioDescriptionType[Mxf_AS11_AudioDescriptionType_Count]=
+{
+ "Control data / Narration",
+ "AD Mix",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_OpenCaptionsType_Count=2;
+const char* Mxf_AS11_OpenCaptionsType[Mxf_AS11_OpenCaptionsType_Count]=
+{
+ "Hard of Hearing",
+ "Translation",
+};
+
+//---------------------------------------------------------------------------
+const size_t Mxf_AS11_SignLanguage_Count=2;
+const char* Mxf_AS11_SignLanguage[Mxf_AS11_SignLanguage_Count]=
+{
+ "BSL (British Sign Language)",
+ "BSL (Makaton)",
+};
+
+//---------------------------------------------------------------------------
extern const char* Mpegv_profile_and_level_indication_profile[];
extern const char* Mpegv_profile_and_level_indication_level[];
@@ -1775,12 +2150,26 @@ void File_Mxf::Streams_Finish_Preface (const int128u PrefaceUID)
//ContentStorage
Streams_Finish_ContentStorage(Preface->second.ContentStorage);
+ //ContenStorage, for AS11
+ Streams_Finish_ContentStorage_ForAS11(Preface->second.ContentStorage);
+
//Identifications
for (size_t Pos=0; Pos<Preface->second.Identifications.size(); Pos++)
Streams_Finish_Identification(Preface->second.Identifications[Pos]);
}
//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Preface_ForTimeCode (const int128u PrefaceUID)
+{
+ prefaces::iterator Preface=Prefaces.find(PrefaceUID);
+ if (Preface==Prefaces.end())
+ return;
+
+ //ContentStorage
+ Streams_Finish_ContentStorage_ForTimeCode(Preface->second.ContentStorage);
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::Streams_Finish_ContentStorage (const int128u ContentStorageUID)
{
contentstorages::iterator ContentStorage=ContentStorages.find(ContentStorageUID);
@@ -1792,6 +2181,40 @@ void File_Mxf::Streams_Finish_ContentStorage (const int128u ContentStorageUID)
}
//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_ContentStorage_ForTimeCode (const int128u ContentStorageUID)
+{
+ contentstorages::iterator ContentStorage=ContentStorages.find(ContentStorageUID);
+ if (ContentStorage==ContentStorages.end())
+ return;
+
+ //Searching the right Time code track first TODO: this is an hack in order to get material or source time code, we need to have something more conform in the future
+ // Material Package then Source Package
+ for (size_t Pos=0; Pos<ContentStorage->second.Packages.size(); Pos++)
+ {
+ packages::iterator Package=Packages.find(ContentStorage->second.Packages[Pos]);
+ if (Package!=Packages.end() && !Package->second.IsSourcePackage)
+ Streams_Finish_Package_ForTimeCode(ContentStorage->second.Packages[Pos]);
+ }
+ for (size_t Pos=0; Pos<ContentStorage->second.Packages.size(); Pos++)
+ {
+ packages::iterator Package=Packages.find(ContentStorage->second.Packages[Pos]);
+ if (Package!=Packages.end() && Package->second.IsSourcePackage)
+ Streams_Finish_Package_ForTimeCode(ContentStorage->second.Packages[Pos]);
+ }
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_ContentStorage_ForAS11 (const int128u ContentStorageUID)
+{
+ contentstorages::iterator ContentStorage=ContentStorages.find(ContentStorageUID);
+ if (ContentStorage==ContentStorages.end())
+ return;
+
+ for (size_t Pos=0; Pos<ContentStorage->second.Packages.size(); Pos++)
+ Streams_Finish_Package_ForAS11(ContentStorage->second.Packages[Pos]);
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::Streams_Finish_Package (const int128u PackageUID)
{
packages::iterator Package=Packages.find(PackageUID);
@@ -1805,6 +2228,28 @@ void File_Mxf::Streams_Finish_Package (const int128u PackageUID)
}
//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Package_ForTimeCode (const int128u PackageUID)
+{
+ packages::iterator Package=Packages.find(PackageUID);
+ if (Package==Packages.end())
+ return;
+
+ for (size_t Pos=0; Pos<Package->second.Tracks.size(); Pos++)
+ Streams_Finish_Track_ForTimeCode(Package->second.Tracks[Pos], Package->second.IsSourcePackage);
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Package_ForAS11 (const int128u PackageUID)
+{
+ packages::iterator Package=Packages.find(PackageUID);
+ if (Package==Packages.end() || Package->second.IsSourcePackage)
+ return;
+
+ for (size_t Pos=0; Pos<Package->second.Tracks.size(); Pos++)
+ Streams_Finish_Track_ForAS11(Package->second.Tracks[Pos]);
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::Streams_Finish_Track(const int128u TrackUID)
{
tracks::iterator Track=Tracks.find(TrackUID);
@@ -1824,6 +2269,41 @@ void File_Mxf::Streams_Finish_Track(const int128u TrackUID)
}
//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Track_ForTimeCode(const int128u TrackUID, bool IsSourcePackage)
+{
+ tracks::iterator Track=Tracks.find(TrackUID);
+ if (Track==Tracks.end() || Track->second.Stream_Finish_Done)
+ return;
+
+ StreamKind_Last=Stream_Max;
+ StreamPos_Last=(size_t)-1;
+
+ //Sequence
+ Streams_Finish_Component_ForTimeCode(Track->second.Sequence, Track->second.EditRate_Real?Track->second.EditRate_Real:Track->second.EditRate, Track->second.TrackID, Track->second.Origin, IsSourcePackage);
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Track_ForAS11(const int128u TrackUID)
+{
+ tracks::iterator Track=Tracks.find(TrackUID);
+ if (Track==Tracks.end() || Track->second.Stream_Finish_Done)
+ return;
+
+ StreamKind_Last=Stream_Max;
+ StreamPos_Last=(size_t)-1;
+
+ //Sequence
+ Streams_Finish_Component_ForAS11(Track->second.Sequence, Track->second.EditRate_Real?Track->second.EditRate_Real:Track->second.EditRate, Track->second.TrackID, Track->second.Origin);
+
+ //TrackName
+ if (StreamKind_Last!=Stream_Max && !Track->second.TrackName.empty())
+ Fill(StreamKind_Last, StreamPos_Last, "Title", Track->second.TrackName);
+
+ //Done
+ Track->second.Stream_Finish_Done=true;
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::Streams_Finish_Essence(int32u EssenceUID, int128u TrackUID)
{
essences::iterator Essence=Essences.find(EssenceUID);
@@ -2836,6 +3316,14 @@ void File_Mxf::Streams_Finish_Component(const int128u ComponentUID, float64 Edit
if (Retrieve(StreamKind_Last, StreamPos_Last, "FrameRate").empty())
Fill(StreamKind_Last, StreamPos_Last, "FrameRate", EditRate);
}
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Component_ForTimeCode(const int128u ComponentUID, float64 EditRate, int32u TrackID, int64u Origin, bool IsSourcePackage)
+{
+ components::iterator Component=Components.find(ComponentUID);
+ if (Component==Components.end())
+ return;
//For the sequence, searching Structural componenents
for (size_t Pos=0; Pos<Component->second.StructuralComponents.size(); Pos++)
@@ -2843,24 +3331,234 @@ void File_Mxf::Streams_Finish_Component(const int128u ComponentUID, float64 Edit
components::iterator Component2=Components.find(Component->second.StructuralComponents[Pos]);
if (Component2!=Components.end() && Component2->second.TimeCode_StartTimecode!=(int64u)-1 && !Config->File_IsReferenced_Get())
{
- bool IsDuplicate=false;
- for (size_t Pos2=0; Pos2<Count_Get(Stream_Other); Pos2++)
- if (Ztring::ToZtring(TrackID)==Retrieve(Stream_Other, Pos2, "ID"))
- IsDuplicate=true;
- if (!IsDuplicate)
- {
- //Note: Origin is not part of the StartTimecode for the first frame in the source package. From specs: "For a Timecode Track with a single Timecode Component and with origin N, where N greater than 0, the timecode value at the Zero Point of the Track equals the start timecode of the Timecode Component incremented by N units."
- TimeCode TC(Component2->second.TimeCode_StartTimecode+Config->File_IgnoreFramesBefore, (int8u)Component2->second.TimeCode_RoundedTimecodeBase, Component2->second.TimeCode_DropFrame);
- Stream_Prepare(Stream_Other);
- Fill(Stream_Other, StreamPos_Last, Other_ID, TrackID);
- Fill(Stream_Other, StreamPos_Last, Other_Type, "Time code");
- Fill(Stream_Other, StreamPos_Last, Other_Format, "MXF TC");
- //Fill(Stream_Other, StreamPos_Last, Other_MuxingMode, "Time code track");
- Fill(Stream_Other, StreamPos_Last, Other_TimeCode_FirstFrame, TC.ToString().c_str());
- Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Settings, "Striped");
+ //Note: Origin is not part of the StartTimecode for the first frame in the source package. From specs: "For a Timecode Track with a single Timecode Component and with origin N, where N greater than 0, the timecode value at the Zero Point of the Track equals the start timecode of the Timecode Component incremented by N units."
+ TimeCode TC(Component2->second.TimeCode_StartTimecode+Config->File_IgnoreFramesBefore, (int8u)Component2->second.TimeCode_RoundedTimecodeBase, Component2->second.TimeCode_DropFrame);
+ Stream_Prepare(Stream_Other);
+ Fill(Stream_Other, StreamPos_Last, Other_ID, Ztring::ToZtring(TrackID)+(IsSourcePackage?__T("-Source"):__T("-Material")));
+ Fill(Stream_Other, StreamPos_Last, Other_Type, "Time code");
+ Fill(Stream_Other, StreamPos_Last, Other_Format, "MXF TC");
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_FirstFrame, TC.ToString().c_str());
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Settings, IsSourcePackage?__T("Source Package"):__T("Material Package"));
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_Striped, "Yes");
+
+ if ((!TimeCodeFromMaterialPackage && IsSourcePackage) || (TimeCodeFromMaterialPackage && !IsSourcePackage))
+ {
+ TimeCode_RoundedTimecodeBase=Component2->second.TimeCode_RoundedTimecodeBase;
+ TimeCode_StartTimecode=Component2->second.TimeCode_StartTimecode;
+ TimeCode_DropFrame=Component2->second.TimeCode_DropFrame;
+
+ DTS_Delay=((float64)TimeCode_StartTimecode)/TimeCode_RoundedTimecodeBase;
+ if (TimeCode_DropFrame)
+ {
+ DTS_Delay*=1001;
+ DTS_Delay/=1000;
+ }
+ FrameInfo.DTS=float64_int64s(DTS_Delay*1000000000);
+ #if MEDIAINFO_DEMUX
+ Config->Demux_Offset_DTS_FromStream=FrameInfo.DTS;
+ #endif //MEDIAINFO_DEMUX
+ }
+ }
+ }
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::Streams_Finish_Component_ForAS11(const int128u ComponentUID, float64 EditRate, int32u TrackID, int64u Origin)
+{
+ components::iterator Component=Components.find(ComponentUID);
+ if (Component==Components.end())
+ return;
+
+ //Computing frame rate
+ int64u TC_Temp=0;
+ int8u FrameRate_TempI;
+ bool DropFrame_Temp;
+ if (TimeCode_RoundedTimecodeBase && TimeCode_StartTimecode!=(int64u)-1 && TimeCode_RoundedTimecodeBase<256)
+ {
+ TC_Temp=TimeCode_StartTimecode;
+ FrameRate_TempI=(int8u)TimeCode_RoundedTimecodeBase;
+ DropFrame_Temp=TimeCode_DropFrame;
+ }
+ else
+ {
+ TC_Temp=0;
+ Ztring FrameRateS=Retrieve(Stream_Video, 0, Video_FrameRate);
+ int32u FrameRate_TempI32=float32_int32s(FrameRateS.To_float32());
+ if (FrameRate_TempI32 && FrameRate_TempI32<256)
+ {
+ FrameRate_TempI=(int8u)FrameRate_TempI32;
+ float32 FrameRateF=FrameRateS.To_float32();
+ float FrameRateF_Min=((float32)FrameRate_TempI)/((float32)1.002);
+ float FrameRateF_Max=(float32)FrameRate_TempI;
+ if (FrameRateF>=FrameRateF_Min && FrameRateF<FrameRateF_Max)
+ DropFrame_Temp=true;
+ else
+ DropFrame_Temp=false;
+ }
+ else
+ {
+ FrameRate_TempI=25;
+ DropFrame_Temp=false;
+ }
+ }
+
+ //For the sequence, searching Structural componenents
+ int64u Duration_CurrentPos=0;
+ int64u Duration_Programme=0;
+ for (size_t Pos=0; Pos<Component->second.StructuralComponents.size(); Pos++)
+ {
+ // AS-11
+ dmsegments::iterator DMSegment=DMSegments.find(Component->second.StructuralComponents[Pos]);
+ if (DMSegment!=DMSegments.end())
+ {
+ as11s::iterator AS11=AS11s.find(DMSegment->second.Framework);
+ if (AS11!=AS11s.end())
+ {
+ if (StreamKind_Last==Stream_Max)
+ {
+ Stream_Prepare(Stream_Other);
+ Fill(Stream_Other, StreamPos_Last, Other_ID, TrackID);
+ Fill(Stream_Other, StreamPos_Last, Other_Type, "Metadata");
+ if (AS11->second.Type==as11::Type_Segmentation)
+ {
+ if (AS11->second.PartTotal!=(int16u)-1)
+ Fill(Stream_Other, StreamPos_Last, "PartTotal", AS11->second.PartTotal);
+ }
+ }
+
+ switch (AS11->second.Type)
+ {
+ case as11::Type_Core:
+ Fill(Stream_Other, StreamPos_Last, "Format", "AS-11 Core");
+ Fill(Stream_Other, StreamPos_Last, "SerieTitle", AS11->second.SerieTitle);
+ Fill(Stream_Other, StreamPos_Last, "ProgrammeTitle", AS11->second.ProgrammeTitle);
+ Fill(Stream_Other, StreamPos_Last, "EpisodeTitleNumber", AS11->second.EpisodeTitleNumber);
+ Fill(Stream_Other, StreamPos_Last, "ShimName", AS11->second.ShimName);
+ if (AS11->second.ShimVersion_Major!=(int8u)-1)
+ {
+ Ztring Version=Ztring::ToZtring(AS11->second.ShimVersion_Major);
+ if (AS11->second.ShimVersion_Minor!=(int8u)-1)
+ {
+ Version+=__T('.');
+ Version+=Ztring::ToZtring(AS11->second.ShimVersion_Minor);
+ }
+ Fill(Stream_Other, StreamPos_Last, "ShimVersion", Version);
+ }
+ if (AS11->second.AudioTrackLayout<Mxf_AS11_AudioTrackLayout_Count)
+ {
+ Fill(Stream_Other, StreamPos_Last, "AudioTrackLayout", Mxf_AS11_AudioTrackLayout[AS11->second.AudioTrackLayout]);
+
+ //Per track
+ const mxf_as11_audiotracklayout_assignment &ChP=Mxf_AS11_AudioTrackLayout_ChannelPositions[AS11->second.AudioTrackLayout];
+ const mxf_as11_audiotracklayout_assignment &ChL=Mxf_AS11_AudioTrackLayout_ChannelLayout[AS11->second.AudioTrackLayout];
+ if (Count_Get(Stream_Audio)>=ChP.Count)
+ for (size_t Pos=0; Pos<ChP.Count; ++Pos)
+ {
+ if (ChP.Assign[Pos])
+ Fill(Stream_Audio, Pos, Audio_ChannelPositions, ChP.Assign[Pos]);
+ if (ChL.Assign[Pos])
+ Fill(Stream_Audio, Pos, Audio_ChannelLayout, ChL.Assign[Pos]);
+ Fill(Stream_Audio, Pos, Audio_ChannelLayoutID, Mxf_AS11_AudioTrackLayout[AS11->second.AudioTrackLayout]);
+ }
+ }
+ Fill(Stream_Other, StreamPos_Last, "PrimaryAudioLanguage", AS11->second.PrimaryAudioLanguage);
+ //(*Stream_More)[Stream_Other][StreamPos_Last](Ztring().From_Local("PrimaryAudioLanguage"), Info_Options)=__T("N NT");
+ //if (MediaInfoLib::Config.Iso639_Find(AS11->second.PrimaryAudioLanguage).empty())
+ // Fill(Stream_Other, StreamPos_Last, "PrimaryAudioLanguage/String", MediaInfoLib::Config.Iso639_Translate(AS11->second.PrimaryAudioLanguage));
+ if (AS11->second.ClosedCaptionsPresent<2)
+ Fill(Stream_Other, StreamPos_Last, "ClosedCaptionsPresent", AS11->second.ClosedCaptionsPresent?"Yes":"No");
+ if (AS11->second.ClosedCaptionsType<Mxf_AS11_ClosedCaptionType_Count)
+ Fill(Stream_Other, StreamPos_Last, "ClosedCaptionType", Mxf_AS11_ClosedCaptionType[AS11->second.ClosedCaptionsType]);
+ Fill(Stream_Other, StreamPos_Last, "ClosedCaptionsLanguage", AS11->second.ClosedCaptionsLanguage);
+ break;
+ case as11::Type_Segmentation:
+ Fill(Stream_Other, StreamPos_Last, "Format", "AS-11 Segmentation", Unlimited, true, true);
+ if (AS11->second.PartNumber!=(int16u)-1 && AS11->second.PartTotal!=(int16u)-1)
+ {
+ string S;
+ S+=TimeCode(TC_Temp+Duration_CurrentPos, FrameRate_TempI, DropFrame_Temp).ToString();
+ if (DMSegment->second.Duration!=(int64u)-1)
+ {
+ S+=" + ";
+ S+=TimeCode(DMSegment->second.Duration, FrameRate_TempI, DropFrame_Temp).ToString();
+ S+=" = ";
+ Duration_CurrentPos+=DMSegment->second.Duration;
+ S+=TimeCode(TC_Temp+Duration_CurrentPos, FrameRate_TempI, DropFrame_Temp).ToString();
+ Duration_Programme+=DMSegment->second.Duration;
+ }
+ Fill(Stream_Other, StreamPos_Last, Ztring::ToZtring(AS11->second.PartNumber).To_UTF8().c_str(), S);
+ }
+ break;
+ case as11::Type_UKDPP:
+ Fill(Stream_Other, StreamPos_Last, "Format", "AS-11 UKDPP");
+ Fill(Stream_Other, StreamPos_Last, "ProductionNumber", AS11->second.ProductionNumber);
+ Fill(Stream_Other, StreamPos_Last, "Synopsis", AS11->second.Synopsis);
+ Fill(Stream_Other, StreamPos_Last, "Originator", AS11->second.Originator);
+ if (AS11->second.CopyrightYear!=(int16u)-1)
+ Fill(Stream_Other, StreamPos_Last, "CopyrightYear", AS11->second.CopyrightYear);
+ Fill(Stream_Other, StreamPos_Last, "OtherIdentifier", AS11->second.OtherIdentifier);
+ Fill(Stream_Other, StreamPos_Last, "OtherIdentifierType", AS11->second.OtherIdentifierType);
+ Fill(Stream_Other, StreamPos_Last, "Genre", AS11->second.Genre);
+ Fill(Stream_Other, StreamPos_Last, "Distributor", AS11->second.Distributor);
+ Fill(Stream_Other, StreamPos_Last, "PictureRatio", Ztring::ToZtring(AS11->second.PictureRatio_N)+__T(':')+Ztring::ToZtring(AS11->second.PictureRatio_D));
+ if (AS11->second.ThreeD!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "3D", AS11->second.ThreeD?__T("Yes"):__T("No"));
+ if (AS11->second.ThreeDType<Mxf_AS11_3D_Type_Count)
+ Fill(Stream_Other, StreamPos_Last, "3DType", Mxf_AS11_3D_Type[AS11->second.ThreeDType]);
+ if (AS11->second.ProductPlacement!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "ProductPlacement", AS11->second.ProductPlacement?__T("Yes"):__T("No"));
+ if (AS11->second.ThreeDType<Mxf_AS11_FpaPass_Count)
+ Fill(Stream_Other, StreamPos_Last, "FpaPass", Mxf_AS11_FpaPass[AS11->second.FpaPass]);
+ Fill(Stream_Other, StreamPos_Last, "FpaManufacturer", AS11->second.FpaManufacturer);
+ Fill(Stream_Other, StreamPos_Last, "FpaVersion", AS11->second.FpaVersion);
+ Fill(Stream_Other, StreamPos_Last, "VideoComments", AS11->second.VideoComments);
+ if (AS11->second.SecondaryAudioLanguage!=__T("zxx"))
+ Fill(Stream_Other, StreamPos_Last, "SecondaryAudioLanguage", AS11->second.SecondaryAudioLanguage);
+ if (AS11->second.TertiaryAudioLanguage!=__T("zxx"))
+ Fill(Stream_Other, StreamPos_Last, "TertiaryAudioLanguage", AS11->second.TertiaryAudioLanguage);
+ if (AS11->second.AudioLoudnessStandard<Mxf_AS11_AudioLoudnessStandard_Count)
+ Fill(Stream_Other, StreamPos_Last, "AudioLoudnessStandard", Mxf_AS11_AudioLoudnessStandard[AS11->second.AudioLoudnessStandard]);
+ Fill(Stream_Other, StreamPos_Last, "AudioComments", AS11->second.AudioComments);
+ if (AS11->second.LineUpStart!=(int64u)-1)
+ Fill(Stream_Other, StreamPos_Last, "LineUpStart", Ztring().From_UTF8(TimeCode(TC_Temp+AS11->second.LineUpStart, FrameRate_TempI, DropFrame_Temp).ToString()));
+ if (AS11->second.IdentClockStart!=(int64u)-1)
+ Fill(Stream_Other, StreamPos_Last, "IdentClockStart", Ztring().From_UTF8(TimeCode(TC_Temp+AS11->second.IdentClockStart, FrameRate_TempI, DropFrame_Temp).ToString()));
+ if (AS11->second.TotalNumberOfParts!=(int16u)-1)
+ Fill(Stream_Other, StreamPos_Last, "TotalNumberOfParts", AS11->second.TotalNumberOfParts);
+ if (AS11->second.TotalProgrammeDuration!=(int64u)-1)
+ Fill(Stream_Other, StreamPos_Last, "TotalProgrammeDuration", Ztring().From_UTF8(TimeCode(AS11->second.TotalProgrammeDuration, FrameRate_TempI, DropFrame_Temp).ToString()));
+ if (AS11->second.AudioDescriptionPresent!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "AudioDescriptionPresent", AS11->second.AudioDescriptionPresent?__T("Yes"):__T("No"));
+ if (AS11->second.AudioDescriptionType<Mxf_AS11_AudioDescriptionType_Count)
+ Fill(Stream_Other, StreamPos_Last, "AudioDescriptionType", Mxf_AS11_AudioLoudnessStandard[AS11->second.AudioDescriptionType]);
+ if (AS11->second.OpenCaptionsPresent!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "OpenCaptionsPresent", AS11->second.OpenCaptionsPresent?__T("Yes"):__T("No"));
+ if (AS11->second.OpenCaptionsType<Mxf_AS11_OpenCaptionsType_Count)
+ Fill(Stream_Other, StreamPos_Last, "OpenCaptionsType", Mxf_AS11_OpenCaptionsType[AS11->second.OpenCaptionsType]);
+ Fill(Stream_Other, StreamPos_Last, "OpenCaptionsLanguage", AS11->second.OpenCaptionsLanguage);
+ if (AS11->second.SigningPresent<Mxf_AS11_SigningPresent_Count)
+ Fill(Stream_Other, StreamPos_Last, "SigningPresent", Mxf_AS11_SigningPresent[AS11->second.SigningPresent]);
+ if (AS11->second.SignLanguage<Mxf_AS11_SignLanguage_Count)
+ Fill(Stream_Other, StreamPos_Last, "SignLanguage", Mxf_AS11_SignLanguage[AS11->second.SignLanguage]);
+ //if (AS11->second.CompletionDate!=(int64u)-1)
+ // Fill(Stream_Other, StreamPos_Last, "CompletionDate", Ztring::ToZtring(AS11->second.CompletionDate)+__T(" (TODO: Timestamp translation)")); //TODO: Timestamp
+ if (AS11->second.TextlessElementsExist!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "TextlessElementsExist", AS11->second.TextlessElementsExist?__T("Yes"):__T("No"));
+ if (AS11->second.ProgrammeHasText!=(int8u)-1)
+ Fill(Stream_Other, StreamPos_Last, "ProgrammeHasText", AS11->second.ProgrammeHasText?__T("Yes"):__T("No"));
+ Fill(Stream_Other, StreamPos_Last, "ProgrammeTextLanguage", AS11->second.ProgrammeTextLanguage);
+ Fill(Stream_Other, StreamPos_Last, "ContactEmail", AS11->second.ContactEmail);
+ Fill(Stream_Other, StreamPos_Last, "ContactTelephoneNumber", AS11->second.ContactTelephoneNumber);
+ break;
+ default: ;
+ }
}
+ else if (DMSegment->second.IsAs11SegmentFiller && DMSegment->second.Duration!=(int64u)-1)
+ Duration_CurrentPos+=DMSegment->second.Duration;
}
}
+ if (Duration_Programme)
+ Fill(Stream_Other, StreamPos_Last, "Total Programme Duration", TimeCode(Duration_Programme, FrameRate_TempI, DropFrame_Temp).ToString());
}
//---------------------------------------------------------------------------
@@ -2915,6 +3613,9 @@ void File_Mxf::Read_Buffer_Init()
Demux_UnpacketizeContainer=Config->Demux_Unpacketize_Get();
Demux_Rate=Config->Demux_Rate_Get();
#endif //MEDIAINFO_DEMUX
+
+ //Config
+ TimeCodeFromMaterialPackage=Config->File_Mxf_TimeCodeFromMaterialPackage_Get();
}
//---------------------------------------------------------------------------
@@ -3278,7 +3979,6 @@ void File_Mxf::Read_Buffer_Unsynched()
}
if (Partitions_IsCalculatingSdtiByteCount)
Partitions_IsCalculatingSdtiByteCount=false;
- Essences_FirstEssence_Parsed=false;
#if MEDIAINFO_SEEK
IndexTables_Pos=0;
@@ -3363,7 +4063,20 @@ size_t File_Mxf::Read_Buffer_Seek (size_t Method, int64u Value, int64u ID)
//Config - TODO: merge with the one in Data_Parse()
if (!Essences_FirstEssence_Parsed)
{
- if (Descriptors.size()==1 && Descriptors.begin()->second.StreamKind==Stream_Audio)
+ //Searching single descriptor if it is the only valid descriptor
+ descriptors::iterator SingleDescriptor=Descriptors.end();
+ for (descriptors::iterator SingleDescriptor_Temp=Descriptors.begin(); SingleDescriptor_Temp!=Descriptors.end(); ++SingleDescriptor_Temp)
+ if (SingleDescriptor_Temp->second.StreamKind!=Stream_Max)
+ {
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ SingleDescriptor=Descriptors.end();
+ break; // 2 or more descriptors, can not be used
+ }
+ SingleDescriptor=SingleDescriptor_Temp;
+ }
+
+ if (SingleDescriptor!=Descriptors.end() && SingleDescriptor->second.StreamKind==Stream_Audio)
{
//Configuring bitrate is not available in descriptor
if (Descriptors.begin()->second.ByteRate==(int32u)-1 && Descriptors.begin()->second.Infos.find("SamplingRate")!=Descriptors.begin()->second.Infos.end())
@@ -3375,22 +4088,20 @@ size_t File_Mxf::Read_Buffer_Seek (size_t Method, int64u Value, int64u ID)
else if (Descriptors.begin()->second.QuantizationBits!=(int8u)-1)
Descriptors.begin()->second.ByteRate=SamplingRate*Descriptors.begin()->second.QuantizationBits/8;
}
+ }
+ for (descriptors::iterator Descriptor=Descriptors.begin(); Descriptor!=Descriptors.end(); ++Descriptor)
+ {
//Configuring EditRate if needed (e.g. audio at 48000 Hz)
- if (Demux_Rate) //From elsewhere
- {
- Descriptors.begin()->second.SampleRate=Demux_Rate;
- }
- else if (Descriptors.begin()->second.SampleRate>1000)
+ if (Descriptor->second.SampleRate>1000)
{
float64 EditRate_FromTrack=DBL_MAX;
for (tracks::iterator Track=Tracks.begin(); Track!=Tracks.end(); ++Track)
if (EditRate_FromTrack>Track->second.EditRate)
EditRate_FromTrack=Track->second.EditRate;
if (EditRate_FromTrack>1000)
- Descriptors.begin()->second.SampleRate=24; //Default value
- else
- Descriptors.begin()->second.SampleRate=EditRate_FromTrack;
+ EditRate_FromTrack=Demux_Rate; //Default value;
+ Descriptor->second.SampleRate=EditRate_FromTrack;
for (tracks::iterator Track=Tracks.begin(); Track!=Tracks.end(); ++Track)
if (Track->second.EditRate>EditRate_FromTrack)
{
@@ -3808,18 +4519,31 @@ bool File_Mxf::Header_Begin()
while (Buffer_End)
{
#if MEDIAINFO_DEMUX
- if (Demux_UnpacketizeContainer && Descriptors.size()==1 && Descriptors.begin()->second.ByteRate!=(int32u)-1 && Descriptors.begin()->second.BlockAlign && Descriptors.begin()->second.BlockAlign!=(int16u)-1 && Descriptors.begin()->second.SampleRate)
+ //Searching single descriptor if it is the only valid descriptor
+ descriptors::iterator SingleDescriptor=Descriptors.end();
+ for (descriptors::iterator SingleDescriptor_Temp=Descriptors.begin(); SingleDescriptor_Temp!=Descriptors.end(); ++SingleDescriptor_Temp)
+ if (SingleDescriptor_Temp->second.StreamKind!=Stream_Max)
+ {
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ SingleDescriptor=Descriptors.end();
+ break; // 2 or more descriptors, can not be used
+ }
+ SingleDescriptor=SingleDescriptor_Temp;
+ }
+
+ if (Demux_UnpacketizeContainer && SingleDescriptor!=Descriptors.end() && SingleDescriptor->second.ByteRate!=(int32u)-1 && SingleDescriptor->second.BlockAlign && SingleDescriptor->second.BlockAlign!=(int16u)-1 && SingleDescriptor->second.SampleRate)
{
- float64 BytesPerFrame=((float64)Descriptors.begin()->second.ByteRate)/Descriptors.begin()->second.SampleRate;
+ float64 BytesPerFrame=((float64)SingleDescriptor->second.ByteRate)/SingleDescriptor->second.SampleRate;
int64u FramesAlreadyParsed=float64_int64s(((float64)(File_Offset+Buffer_Offset-Buffer_Begin))/BytesPerFrame);
- Element_Size=float64_int64s(Descriptors.begin()->second.ByteRate/Descriptors.begin()->second.SampleRate*(FramesAlreadyParsed+1));
- Element_Size/=Descriptors.begin()->second.BlockAlign;
- Element_Size*=Descriptors.begin()->second.BlockAlign;
+ Element_Size=float64_int64s(SingleDescriptor->second.ByteRate/SingleDescriptor->second.SampleRate*(FramesAlreadyParsed+1));
+ Element_Size/=SingleDescriptor->second.BlockAlign;
+ Element_Size*=SingleDescriptor->second.BlockAlign;
Element_Size-=File_Offset+Buffer_Offset-Buffer_Begin;
if (Config->File_IsGrowing && Element_Size && File_Offset+Buffer_Offset+Element_Size>Buffer_End)
return false; //Waiting for more data
while (Element_Size && File_Offset+Buffer_Offset+Element_Size>Buffer_End)
- Element_Size-=Descriptors.begin()->second.BlockAlign;
+ Element_Size-=SingleDescriptor->second.BlockAlign;
if (Element_Size==0)
Element_Size=Buffer_End-(File_Offset+Buffer_Offset);
if (Buffer_Offset+Element_Size>Buffer_Size)
@@ -3958,7 +4682,7 @@ bool File_Mxf::Header_Begin()
Element_Offset=0;
Element_End0();
- if (Buffer_End && File_Offset+Buffer_Offset+Element_Size>=Buffer_End)
+ if (Buffer_End && (File_Offset+Buffer_Offset+Element_Size>=Buffer_End || File_GoTo!=(int64u)-1) )
{
Buffer_Begin=(int64u)-1;
Buffer_End=0;
@@ -4254,6 +4978,7 @@ void File_Mxf::Data_Parse()
ELEMENT(TerminatingFiller, "Terminating Filler")
ELEMENT(XmlDocumentText, "XML Document Text")
ELEMENT(SubDescriptors, "Sub Descriptors")
+ ELEMENT(Filler53, "Filler")
ELEMENT(Sequence, "Sequence")
ELEMENT(SourceClip, "Source Clip")
ELEMENT(TimecodeComponent, "Timecode Component")
@@ -4271,7 +4996,7 @@ void File_Mxf::Data_Parse()
ELEMENT(SourcePackage, "Source Package")
ELEMENT(EventTrack, "Event track")
ELEMENT(StaticTrack, "Static Track")
- ELEMENT(Track, "Track")
+ ELEMENT(TimelineTrack, "Timeline Track")
ELEMENT(DMSegment, "Descriptive Metadata Segment")
ELEMENT(GenericSoundEssenceDescriptor, "Generic Sound Essence Descriptor")
ELEMENT(GenericDataEssenceDescriptor, "Generic Data Essence Descriptor")
@@ -4287,6 +5012,8 @@ void File_Mxf::Data_Parse()
ELEMENT(ApplicationPlugInObject, "Application Plug-In Object")
ELEMENT(ApplicationReferencedObject, "Application Referenced Object")
ELEMENT(MCALabelSubDescriptor, "MCA Label Sub-Descriptor")
+ ELEMENT(TimedTextDescriptor, "Timed Text Descriptor")
+ ELEMENT(TimedTextResourceSubDescriptor, "Timed Text Resource Sub-Descriptor")
ELEMENT(AudioChannelLabelSubDescriptor, "Audio Channel Label Sub-Descriptor")
ELEMENT(SoundfieldGroupLabelSubDescriptor, "Soundfield Group Label Sub-Descriptor")
ELEMENT(GroupOfSoundfieldGroupsLabelSubDescriptor, "Group Of Soundfield Groups Label Sub-Descriptor")
@@ -4329,9 +5056,12 @@ void File_Mxf::Data_Parse()
if (0) {}
ELEMENT(SystemScheme1, "SystemScheme1")
}
+ ELEMENT(AS11_AAF_Core, "AS-11 core metadata framework")
+ ELEMENT(AS11_AAF_Segmentation, "AS-11 segmentation metadata framework")
+ ELEMENT(AS11_AAF_UKDPP, "AS-11 UK DPP metadata framework")
ELEMENT(DMScheme1, "Descriptive Metadata Scheme 1") //SMPTE 380M
- ELEMENT(Omneon_010201010100, "Omneon (010201010100)")
- ELEMENT(Omneon_010201020100, "Omneon (010201020100)")
+ ELEMENT(Omneon_010201010100, "Omneon .01.02.01.01.01.00")
+ ELEMENT(Omneon_010201020100, "Omneon .01.02.01.02.01.00")
else if (Code_Compare1==Elements::GenericContainer_Aaf1
&& ((Code_Compare2)&0xFFFFFF00)==(Elements::GenericContainer_Aaf2&0xFFFFFF00)
&& (Code_Compare3==Elements::GenericContainer_Aaf3
@@ -4341,37 +5071,50 @@ void File_Mxf::Data_Parse()
Element_Name(Mxf_EssenceElement(Code));
//Config
- #if MEDIAINFO_DEMUX || MEDIAINFO_SEEK
if (!Essences_FirstEssence_Parsed)
{
- if (Descriptors.size()==1 && Descriptors.begin()->second.StreamKind==Stream_Audio)
+ Streams_Finish_Preface_ForTimeCode(Preface_Current); //Configuring DTS_Delay
+
+ #if MEDIAINFO_DEMUX || MEDIAINFO_SEEK
+ //Searching single descriptor if it is the only valid descriptor
+ descriptors::iterator SingleDescriptor=Descriptors.end();
+ for (descriptors::iterator SingleDescriptor_Temp=Descriptors.begin(); SingleDescriptor_Temp!=Descriptors.end(); ++SingleDescriptor_Temp)
+ if (SingleDescriptor_Temp->second.StreamKind!=Stream_Max)
+ {
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ SingleDescriptor=Descriptors.end();
+ break; // 2 or more descriptors, can not be used
+ }
+ SingleDescriptor=SingleDescriptor_Temp;
+ }
+
+ if (SingleDescriptor!=Descriptors.end() && SingleDescriptor->second.StreamKind==Stream_Audio)
{
//Configuring bitrate is not available in descriptor
- if (Descriptors.begin()->second.ByteRate==(int32u)-1 && Descriptors.begin()->second.Infos.find("SamplingRate")!=Descriptors.begin()->second.Infos.end())
+ if (SingleDescriptor->second.ByteRate==(int32u)-1 && SingleDescriptor->second.Infos.find("SamplingRate")!=SingleDescriptor->second.Infos.end())
{
- int32u SamplingRate=Descriptors.begin()->second.Infos["SamplingRate"].To_int32u();
+ int32u SamplingRate=SingleDescriptor->second.Infos["SamplingRate"].To_int32u();
- if (Descriptors.begin()->second.BlockAlign!=(int16u)-1)
- Descriptors.begin()->second.ByteRate=SamplingRate*Descriptors.begin()->second.BlockAlign;
- else if (Descriptors.begin()->second.QuantizationBits!=(int8u)-1)
- Descriptors.begin()->second.ByteRate=SamplingRate*Descriptors.begin()->second.QuantizationBits/8;
+ if (SingleDescriptor->second.BlockAlign!=(int16u)-1)
+ SingleDescriptor->second.ByteRate=SamplingRate*SingleDescriptor->second.BlockAlign;
+ else if (SingleDescriptor->second.QuantizationBits!=(int8u)-1)
+ SingleDescriptor->second.ByteRate=SamplingRate*SingleDescriptor->second.QuantizationBits/8;
}
+ }
+ for (descriptors::iterator Descriptor=Descriptors.begin(); Descriptor!=Descriptors.end(); ++Descriptor)
+ {
//Configuring EditRate if needed (e.g. audio at 48000 Hz)
- if (Demux_Rate) //From elsewhere
- {
- Descriptors.begin()->second.SampleRate=Demux_Rate;
- }
- else if (Descriptors.begin()->second.SampleRate>1000)
+ if (Descriptor->second.SampleRate>1000)
{
float64 EditRate_FromTrack=DBL_MAX;
for (tracks::iterator Track=Tracks.begin(); Track!=Tracks.end(); ++Track)
if (EditRate_FromTrack>Track->second.EditRate)
EditRate_FromTrack=Track->second.EditRate;
if (EditRate_FromTrack>1000)
- Descriptors.begin()->second.SampleRate=24; //Default value
- else
- Descriptors.begin()->second.SampleRate=EditRate_FromTrack;
+ EditRate_FromTrack=Demux_Rate; //Default value;
+ Descriptor->second.SampleRate=EditRate_FromTrack;
for (tracks::iterator Track=Tracks.begin(); Track!=Tracks.end(); ++Track)
if (Track->second.EditRate>EditRate_FromTrack)
{
@@ -4380,10 +5123,10 @@ void File_Mxf::Data_Parse()
}
}
}
+ #endif //MEDIAINFO_DEMUX || MEDIAINFO_SEEK
Essences_FirstEssence_Parsed=true;
}
- #endif //MEDIAINFO_DEMUX || MEDIAINFO_SEEK
if (IsParsingEnd)
{
@@ -4420,9 +5163,22 @@ void File_Mxf::Data_Parse()
if (Essence->second.Parsers.empty())
{
+ //Searching single descriptor if it is the only valid descriptor
+ descriptors::iterator SingleDescriptor=Descriptors.end();
+ for (descriptors::iterator SingleDescriptor_Temp=Descriptors.begin(); SingleDescriptor_Temp!=Descriptors.end(); ++SingleDescriptor_Temp)
+ if (SingleDescriptor_Temp->second.StreamKind!=Stream_Max)
+ {
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ SingleDescriptor=Descriptors.end();
+ break; // 2 or more descriptors, can not be used
+ }
+ SingleDescriptor=SingleDescriptor_Temp;
+ }
+
//Format_Settings_Wrapping
- if (Descriptors.size()==1 && (Descriptors.begin()->second.Infos.find("Format_Settings_Wrapping")==Descriptors.begin()->second.Infos.end() || Descriptors.begin()->second.Infos["Format_Settings_Wrapping"].empty()) && (Buffer_End?(Buffer_End-Buffer_Begin):Element_Size)>File_Size/2) //Divided by 2 for testing if this is a big chunk = Clip based and not frames.
- Descriptors.begin()->second.Infos["Format_Settings_Wrapping"]=__T("Clip"); //By default, not sure about it, should be from descriptor
+ if (SingleDescriptor!=Descriptors.end() && (SingleDescriptor->second.Infos.find("Format_Settings_Wrapping")==SingleDescriptor->second.Infos.end() || SingleDescriptor->second.Infos["Format_Settings_Wrapping"].empty()) && (Buffer_End?(Buffer_End-Buffer_Begin):Element_Size)>File_Size/2) //Divided by 2 for testing if this is a big chunk = Clip based and not frames.
+ SingleDescriptor->second.Infos["Format_Settings_Wrapping"]=__T("Clip"); //By default, not sure about it, should be from descriptor
//Searching the corresponding Track (for TrackID)
if (!Essence->second.TrackID_WasLookedFor)
@@ -4439,12 +5195,47 @@ void File_Mxf::Data_Parse()
Essence->second.TrackID=Track->second.TrackID;
}
#endif //MEDIAINFO_DEMUX || MEDIAINFO_SEEK
+
+ // Fallback in case TrackID is not detected, forcing TrackID and TrackNumber
+ if (Essence->second.TrackID==(int32u)-1 && SingleDescriptor!=Descriptors.end())
+ {
+ Essence->second.TrackID=SingleDescriptor->second.LinkedTrackID;
+
+ prefaces::iterator Preface=Prefaces.find(Preface_Current);
+ if (Preface!=Prefaces.end())
+ {
+ contentstorages::iterator ContentStorage=ContentStorages.find(Preface->second.ContentStorage);
+ if (ContentStorage!=ContentStorages.end())
+ {
+ for (size_t Pos=0; Pos<ContentStorage->second.Packages.size(); Pos++)
+ {
+ packages::iterator Package=Packages.find(ContentStorage->second.Packages[Pos]);
+ if (Package!=Packages.end() && Package->second.IsSourcePackage)
+ {
+ for (size_t Pos=0; Pos<Package->second.Tracks.size(); Pos++)
+ {
+ tracks::iterator Track=Tracks.find(Package->second.Tracks[Pos]);
+ if (Track!=Tracks.end())
+ {
+ if (Track->second.TrackNumber==0 && Track->second.TrackID==Essence->second.TrackID)
+ {
+ Track->second.TrackNumber=Essence->first;
+ Essence->second.Track_Number_IsMappedToTrack=true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
Essence->second.TrackID_WasLookedFor=true;
}
//Searching the corresponding Descriptor
for (descriptors::iterator Descriptor=Descriptors.begin(); Descriptor!=Descriptors.end(); ++Descriptor)
- if (Descriptors.size()==1 || (Descriptor->second.LinkedTrackID==Essence->second.TrackID && Descriptor->second.LinkedTrackID!=(int32u)-1))
+ if (Descriptor==SingleDescriptor || (Descriptor->second.LinkedTrackID==Essence->second.TrackID && Descriptor->second.LinkedTrackID!=(int32u)-1))
{
Essence->second.StreamPos_Initial=Essence->second.StreamPos=Code_Compare4&0x000000FF;
if ((Code_Compare4&0x000000FF)==0x00000000)
@@ -4491,7 +5282,7 @@ void File_Mxf::Data_Parse()
if (Essence->second.Frame_Count_NotParsedIncluded!=(int64u)-1 && Essence->second.Frame_Count_NotParsedIncluded)
Essence->second.Frame_Count_NotParsedIncluded--; //Info is from the first essence parsed, and 1 frame is already parsed
Essence->second.FrameInfo.DTS=FrameInfo.DTS;
- if (Essence->second.FrameInfo.DTS!=(int64u)-1 && FrameInfo.DUR!=(int64u)-1)
+ if (Essence->second.FrameInfo.DTS!=(int64u)-1 && FrameInfo.DUR!=(int64u)-1 && Frame_Count_NotParsedIncluded)
Essence->second.FrameInfo.DTS-=FrameInfo.DUR; //Info is from the first essence parsed, and 1 frame is already parsed
if (!Tracks.empty() && Tracks.begin()->second.EditRate) //TODO: use the corresponding track instead of the first one
Essence->second.FrameInfo.DUR=float64_int64s(1000000000/Tracks.begin()->second.EditRate);
@@ -4543,12 +5334,28 @@ void File_Mxf::Data_Parse()
Stream_Size=File_Size; //TODO: find a way to remove header/footer correctly
if (Stream_Size!=(int64u)-1)
{
- if (Descriptors.size()==1 && Descriptors.begin()->second.ByteRate!=(int32u)-1)
- for (parsers::iterator Parser=Essence->second.Parsers.begin(); Parser!=Essence->second.Parsers.end(); ++Parser)
- (*Parser)->Stream_BitRateFromContainer=Descriptors.begin()->second.ByteRate*8;
- else if (Descriptors.size()==1 && Descriptors.begin()->second.Infos["Duration"].To_float64())
- for (parsers::iterator Parser=Essences.begin()->second.Parsers.begin(); Parser!=Essences.begin()->second.Parsers.end(); ++Parser)
- (*Parser)->Stream_BitRateFromContainer=((float64)Stream_Size)*8/(Descriptors.begin()->second.Infos["Duration"].To_float64()/1000);
+ //Searching single descriptor if it is the only valid descriptor
+ descriptors::iterator SingleDescriptor=Descriptors.end();
+ for (descriptors::iterator SingleDescriptor_Temp=Descriptors.begin(); SingleDescriptor_Temp!=Descriptors.end(); ++SingleDescriptor_Temp)
+ if (SingleDescriptor_Temp->second.StreamKind!=Stream_Max)
+ {
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ SingleDescriptor=Descriptors.end();
+ break; // 2 or more descriptors, can not be used
+ }
+ SingleDescriptor=SingleDescriptor_Temp;
+ }
+
+ if (SingleDescriptor!=Descriptors.end())
+ {
+ if (SingleDescriptor->second.ByteRate!=(int32u)-1)
+ for (parsers::iterator Parser=Essence->second.Parsers.begin(); Parser!=Essence->second.Parsers.end(); ++Parser)
+ (*Parser)->Stream_BitRateFromContainer=SingleDescriptor->second.ByteRate*8;
+ else if (SingleDescriptor->second.Infos["Duration"].To_float64())
+ for (parsers::iterator Parser=Essences.begin()->second.Parsers.begin(); Parser!=Essences.begin()->second.Parsers.end(); ++Parser)
+ (*Parser)->Stream_BitRateFromContainer=((float64)Stream_Size)*8/(SingleDescriptor->second.Infos["Duration"].To_float64()/1000);
+ }
}
}
@@ -4701,7 +5508,6 @@ void File_Mxf::Data_Parse()
if (Essence->second.Parsers.size()==1 && Essence->second.Parsers[0]->Status[IsAccepted] && Essence->second.Frame_Count_NotParsedIncluded==(int64u)-1)
{
- Essence->second.Frame_Count_NotParsedIncluded=Essence->second.Parsers[0]->Frame_Count_NotParsedIncluded;
Essence->second.FrameInfo.DTS=Essence->second.Parsers[0]->FrameInfo.DTS;
Essence->second.FrameInfo.PTS=Essence->second.Parsers[0]->FrameInfo.PTS;
Essence->second.FrameInfo.DUR=Essence->second.Parsers[0]->FrameInfo.DUR;
@@ -4762,7 +5568,7 @@ void File_Mxf::Data_Parse()
else
Skip_XX(Element_Size, "Unknown");
- if (Buffer_End && File_Offset+Buffer_Offset+Element_Size>=Buffer_End)
+ if (Buffer_End && (File_Offset+Buffer_Offset+Element_Size>=Buffer_End || File_GoTo!=(int64u)-1) )
{
Buffer_Begin=(int64u)-1;
Buffer_End=0;
@@ -5041,6 +5847,7 @@ void File_Mxf::DMSegment()
{
switch(Code2)
{
+ ELEMENT(0202, DMSegment_Duration, "Duration")
ELEMENT(6101, DMSegment_DMFramework, "DM Framework")
ELEMENT(6102, DMSegment_TrackIDs, "Track IDs")
default: StructuralComponent();
@@ -5554,6 +6361,20 @@ void File_Mxf::RandomIndexMetadata()
}
//---------------------------------------------------------------------------
+void File_Mxf::Filler53()
+{
+ switch(Code2)
+ {
+ ELEMENT(0202, DMSegment_Duration, "Duration")
+ default: StructuralComponent();
+ }
+
+ FILLING_BEGIN();
+ DMSegments[InstanceUID].IsAs11SegmentFiller=true;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::Sequence()
{
switch(Code2)
@@ -5637,6 +6458,148 @@ void File_Mxf::SystemScheme1()
}
//---------------------------------------------------------------------------
+//
+void File_Mxf::AS11_AAF_Core()
+{
+ if (Code2>=0x8000)
+ {
+ // Not a short code
+ std::map<int16u, int128u>::iterator Primer_Value=Primer_Values.find(Code2);
+ if (Primer_Value!=Primer_Values.end())
+ {
+ int32u Code_Compare1=Primer_Value->second.hi>>32;
+ int32u Code_Compare2=(int32u)Primer_Value->second.hi;
+ int32u Code_Compare3=Primer_Value->second.lo>>32;
+ int32u Code_Compare4=(int32u)Primer_Value->second.lo;
+ if(0);
+ ELEMENT_UUID(AS11_Core_SerieTitle, "Serie Title")
+ ELEMENT_UUID(AS11_Core_ProgrammeTitle, "Programme Title")
+ ELEMENT_UUID(AS11_Core_EpisodeTitleNumber, "Episode Title Number")
+ ELEMENT_UUID(AS11_Core_ShimName, "Shim Name")
+ ELEMENT_UUID(AS11_Core_AudioTrackLayout, "Audio Track Layout")
+ ELEMENT_UUID(AS11_Core_PrimaryAudioLanguage, "Primary Audio Language")
+ ELEMENT_UUID(AS11_Core_ClosedCaptionsPresent, "Closed Captions Present")
+ ELEMENT_UUID(AS11_Core_ClosedCaptionsType, "Closed Captions Type")
+ ELEMENT_UUID(AS11_Core_ClosedCaptionsLanguage, "Closed Captions Language")
+ ELEMENT_UUID(AS11_Core_ShimVersion, "Shim Version")
+ else
+ {
+ Element_Info1(Ztring().From_UUID(Primer_Value->second));
+ Skip_XX(Length2, "Data");
+ }
+
+ return;
+ }
+ }
+
+ StructuralComponent();
+
+ if (Code2==0x3C0A) //InstanceIUD
+ AS11s[InstanceUID].Type=as11::Type_Core;
+}
+
+//---------------------------------------------------------------------------
+//
+void File_Mxf::AS11_AAF_Segmentation()
+{
+ if (Code2>=0x8000)
+ {
+ // Not a short code
+ std::map<int16u, int128u>::iterator Primer_Value=Primer_Values.find(Code2);
+ if (Primer_Value!=Primer_Values.end())
+ {
+ int32u Code_Compare1=Primer_Value->second.hi>>32;
+ int32u Code_Compare2=(int32u)Primer_Value->second.hi;
+ int32u Code_Compare3=Primer_Value->second.lo>>32;
+ int32u Code_Compare4=(int32u)Primer_Value->second.lo;
+ if(0);
+ ELEMENT_UUID(AS11_Segment_PartNumber, "Part Number")
+ ELEMENT_UUID(AS11_Segment_PartTotal, "Part Total")
+ else
+ {
+ Element_Info1(Ztring().From_UUID(Primer_Value->second));
+ Skip_XX(Length2, "Data");
+ }
+
+ return;
+ }
+ }
+
+ StructuralComponent();
+
+ if (Code2==0x3C0A) //InstanceIUD
+ AS11s[InstanceUID].Type=as11::Type_Segmentation;
+}
+
+//---------------------------------------------------------------------------
+//
+void File_Mxf::AS11_AAF_UKDPP()
+{
+ if (Code2>=0x8000)
+ {
+ // Not a short code
+ std::map<int16u, int128u>::iterator Primer_Value=Primer_Values.find(Code2);
+ if (Primer_Value!=Primer_Values.end())
+ {
+ int32u Code_Compare1=Primer_Value->second.hi>>32;
+ int32u Code_Compare2=(int32u)Primer_Value->second.hi;
+ int32u Code_Compare3=Primer_Value->second.lo>>32;
+ int32u Code_Compare4=(int32u)Primer_Value->second.lo;
+ if(0);
+ ELEMENT_UUID(AS11_UKDPP_ProductionNumber, "Production Number")
+ ELEMENT_UUID(AS11_UKDPP_Synopsis, "Synopsis")
+ ELEMENT_UUID(AS11_UKDPP_Originator, "Originator")
+ ELEMENT_UUID(AS11_UKDPP_CopyrightYear, "Copyright Year")
+ ELEMENT_UUID(AS11_UKDPP_OtherIdentifier, "Other Identifier")
+ ELEMENT_UUID(AS11_UKDPP_OtherIdentifierType, "Other Identifier Type")
+ ELEMENT_UUID(AS11_UKDPP_Genre, "Genre")
+ ELEMENT_UUID(AS11_UKDPP_Distributor, "Distributor")
+ ELEMENT_UUID(AS11_UKDPP_PictureRatio, "Picture Ratio")
+ ELEMENT_UUID(AS11_UKDPP_3D, "3D")
+ ELEMENT_UUID(AS11_UKDPP_3DType, "3D Type")
+ ELEMENT_UUID(AS11_UKDPP_ProductPlacement, "Product Placement")
+ ELEMENT_UUID(AS11_UKDPP_FpaPass, "FPA Pass")
+ ELEMENT_UUID(AS11_UKDPP_FpaManufacturer, "FPA Manufacturer")
+ ELEMENT_UUID(AS11_UKDPP_FpaVersion, "FPA Version")
+ ELEMENT_UUID(AS11_UKDPP_VideoComments, "Video Comments")
+ ELEMENT_UUID(AS11_UKDPP_SecondaryAudioLanguage, "Secondary Audio Language")
+ ELEMENT_UUID(AS11_UKDPP_TertiaryAudioLanguage, "Tertiary Audio Language")
+ ELEMENT_UUID(AS11_UKDPP_AudioLoudnessStandard, "Audio Loudness Standard")
+ ELEMENT_UUID(AS11_UKDPP_AudioComments, "Audio Comments")
+ ELEMENT_UUID(AS11_UKDPP_LineUpStart, "Line Up Start")
+ ELEMENT_UUID(AS11_UKDPP_IdentClockStart, "Ident Clock Start")
+ ELEMENT_UUID(AS11_UKDPP_TotalNumberOfParts, "Total Number Of Parts")
+ ELEMENT_UUID(AS11_UKDPP_TotalProgrammeDuration, "Total Programme Duration")
+ ELEMENT_UUID(AS11_UKDPP_AudioDescriptionPresent, "Audio Description Present")
+ ELEMENT_UUID(AS11_UKDPP_AudioDescriptionType, "Audio Description Type")
+ ELEMENT_UUID(AS11_UKDPP_OpenCaptionsPresent, "Open Captions Present")
+ ELEMENT_UUID(AS11_UKDPP_OpenCaptionsType, "Open Captions Type")
+ ELEMENT_UUID(AS11_UKDPP_OpenCaptionsLanguage, "Open Captions Language")
+ ELEMENT_UUID(AS11_UKDPP_SigningPresent, "Signing Present")
+ ELEMENT_UUID(AS11_UKDPP_SignLanguage, "Sign Language")
+ ELEMENT_UUID(AS11_UKDPP_CompletionDate, "Completion Date")
+ ELEMENT_UUID(AS11_UKDPP_TextlessElementsExist, "Textless Elements Exist")
+ ELEMENT_UUID(AS11_UKDPP_ProgrammeHasText, "Programme Has Text")
+ ELEMENT_UUID(AS11_UKDPP_ProgrammeTextLanguage, "Programme Text Language")
+ ELEMENT_UUID(AS11_UKDPP_ContactEmail, "Contact Email")
+ ELEMENT_UUID(AS11_UKDPP_ContactTelephoneNumber, "Contact Telephone Number")
+ else
+ {
+ Element_Info1(Ztring().From_UUID(Primer_Value->second));
+ Skip_XX(Length2, "Data");
+ }
+
+ return;
+ }
+ }
+
+ StructuralComponent();
+
+ if (Code2==0x3C0A) //InstanceIUD
+ AS11s[InstanceUID].Type=as11::Type_UKDPP;
+}
+
+//---------------------------------------------------------------------------
//SMPTE 380M
void File_Mxf::DMScheme1()
{
@@ -5883,6 +6846,79 @@ void File_Mxf::MCALabelSubDescriptor()
}
//---------------------------------------------------------------------------
+void File_Mxf::TimedTextDescriptor()
+{
+ if (Code2>=0x8000)
+ {
+ // Not a short code
+ std::map<int16u, int128u>::iterator Primer_Value=Primer_Values.find(Code2);
+ if (Primer_Value!=Primer_Values.end())
+ {
+ int32u Code_Compare1=Primer_Value->second.hi>>32;
+ int32u Code_Compare2=(int32u)Primer_Value->second.hi;
+ int32u Code_Compare3=Primer_Value->second.lo>>32;
+ int32u Code_Compare4=(int32u)Primer_Value->second.lo;
+ if(0);
+ ELEMENT_UUID(ResourceID, "Resource ID")
+ ELEMENT_UUID(NamespaceURI, "Namespace URI")
+ ELEMENT_UUID(UCSEncoding, "UCS Encoding")
+ else
+ {
+ Element_Info1(Ztring().From_UUID(Primer_Value->second));
+ Skip_XX(Length2, "Data");
+ }
+
+ return;
+ }
+ }
+
+ //switch(Code2)
+ //{
+ // default:
+ GenericDataEssenceDescriptor();
+ //}
+
+ if (Descriptors[InstanceUID].StreamKind==Stream_Max)
+ {
+ Descriptors[InstanceUID].StreamKind=Stream_Text;
+ if (Streams_Count==(size_t)-1)
+ Streams_Count=0;
+ Streams_Count++;
+ }
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::TimedTextResourceSubDescriptor()
+{
+ //switch(Code2)
+ //{
+ // default:
+ GenerationInterchangeObject();
+ //}
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::ResourceID()
+{
+ //Parsing
+ Info_UUID(Data, "UUID"); Element_Info1(Ztring().From_UUID(Data));
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::NamespaceURI()
+{
+ //Parsing
+ Info_UTF16B (Length2, Value, "Value"); Element_Info1(Value);
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::UCSEncoding()
+{
+ //Parsing
+ Info_UTF16B (Length2, Value, "Value"); Element_Info1(Value);
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::AudioChannelLabelSubDescriptor()
{
if (Descriptors[InstanceUID].Type==descriptor::Type_Unknown)
@@ -6447,8 +7483,8 @@ void File_Mxf::Omneon_010201010100()
//Parsing
switch(Code2)
{
- ELEMENT(8001, Omneon_010201010100_8001, "Omneon (80.01)")
- ELEMENT(8003, Omneon_010201010100_8003, "Omneon (80.03)")
+ ELEMENT(8001, Omneon_010201010100_8001, "Omneon .80.01")
+ ELEMENT(8003, Omneon_010201010100_8003, "Omneon .80.03")
default: GenerationInterchangeObject();
}
}
@@ -6459,17 +7495,17 @@ void File_Mxf::Omneon_010201020100()
//Parsing
switch(Code2)
{
- ELEMENT(8002, Omneon_010201020100_8002, "Omneon (80.02)")
- ELEMENT(8003, Omneon_010201020100_8003, "Omneon (80.03)")
- ELEMENT(8004, Omneon_010201020100_8004, "Omneon (80.04)")
- ELEMENT(8005, Omneon_010201020100_8005, "Omneon (80.05)")
- ELEMENT(8006, Omneon_010201020100_8006, "Omneon (80.06)")
+ ELEMENT(8002, Omneon_010201020100_8002, "Omneon .80.02")
+ ELEMENT(8003, Omneon_010201020100_8003, "Omneon .80.03")
+ ELEMENT(8004, Omneon_010201020100_8004, "Omneon .80.04")
+ ELEMENT(8005, Omneon_010201020100_8005, "Omneon .80.05")
+ ELEMENT(8006, Omneon_010201020100_8006, "Omneon .80.06")
default: GenerationInterchangeObject();
}
}
//---------------------------------------------------------------------------
-void File_Mxf::Track()
+void File_Mxf::TimelineTrack()
{
//Parsing
switch(Code2)
@@ -6700,6 +7736,19 @@ void File_Mxf::ContentStorage_EssenceContainerData()
}
//---------------------------------------------------------------------------
+// 0x0202
+void File_Mxf::DMSegment_Duration()
+{
+ //Parsing
+ int64u Data;
+ Get_B8 (Data, "Data"); Element_Info1(Data); //units of edit rate
+
+ FILLING_BEGIN();
+ DMSegments[InstanceUID].Duration=Data;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
// 0x6101
void File_Mxf::DMSegment_DMFramework()
{
@@ -7522,7 +8571,8 @@ void File_Mxf::GenericTrack_TrackNumber()
Get_B4 (Data, "Data"); Element_Info1(Ztring::ToZtring(Data, 16));
FILLING_BEGIN();
- Tracks[InstanceUID].TrackNumber=Data;
+ if (Tracks[InstanceUID].TrackNumber==(int32u)-1 || Data) // In some cases, TrackNumber is 0 for all track and we have replaced with the right value during the parsing
+ Tracks[InstanceUID].TrackNumber=Data;
Track_Number_IsAvailable=true;
FILLING_END();
}
@@ -8984,6 +10034,645 @@ void File_Mxf::WaveAudioDescriptor_ChannelAssignment()
}
//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_SerieTitle()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].SerieTitle=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ProgrammeTitle()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ProgrammeTitle=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_EpisodeTitleNumber()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].EpisodeTitleNumber=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ShimName()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ShimName=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_AudioTrackLayout()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_AudioTrackLayout_Count, Mxf_AS11_AudioTrackLayout[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].AudioTrackLayout=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_PrimaryAudioLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].PrimaryAudioLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ClosedCaptionsPresent()
+{
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ClosedCaptionsPresent=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ClosedCaptionsType()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_ClosedCaptionType_Count, Mxf_AS11_ClosedCaptionType[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ClosedCaptionsType=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ClosedCaptionsLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ClosedCaptionsLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Core_ShimVersion()
+{
+ //Parsing
+ int8u Major, Minor;
+ Get_B1 (Major, "Major"); Element_Info1(Major);
+ Get_B1 (Minor, "Minor"); Element_Info1(Minor);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ShimVersion_Major=Major;
+ AS11s[InstanceUID].ShimVersion_Minor=Minor;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Segment_PartNumber()
+{
+ //Parsing
+ int16u Value;
+ Get_B2 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].PartNumber=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// AAF
+void File_Mxf::AS11_Segment_PartTotal()
+{
+ //Parsing
+ int16u Value;
+ Get_B2 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].PartTotal=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010100
+void File_Mxf::AS11_UKDPP_ProductionNumber()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ProductionNumber=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010200
+void File_Mxf::AS11_UKDPP_Synopsis()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].Synopsis=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010300
+void File_Mxf::AS11_UKDPP_Originator()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].Originator=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010400
+void File_Mxf::AS11_UKDPP_CopyrightYear()
+{
+ //Parsing
+ int16u Value;
+ Get_B2 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].CopyrightYear=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010500
+void File_Mxf::AS11_UKDPP_OtherIdentifier()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].OtherIdentifier=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010600
+void File_Mxf::AS11_UKDPP_OtherIdentifierType()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].OtherIdentifierType=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010700
+void File_Mxf::AS11_UKDPP_Genre()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].Genre=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010800
+void File_Mxf::AS11_UKDPP_Distributor()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].Distributor=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010900
+void File_Mxf::AS11_UKDPP_PictureRatio()
+{
+ //Parsing
+ int32u Numerator, Denominator;
+ Get_B4 (Numerator, "Numerator");
+ Get_B4 (Denominator, "Denominator");
+ Element_Info1(Ztring::ToZtring(Numerator)+__T(':')+Ztring::ToZtring(Denominator));
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].PictureRatio_N=Numerator;
+ AS11s[InstanceUID].PictureRatio_D=Denominator;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010A00
+void File_Mxf::AS11_UKDPP_3D()
+{
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ThreeD=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010B00
+void File_Mxf::AS11_UKDPP_3DType()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_3D_Type_Count, Mxf_AS11_3D_Type[Value]);
+
+ FILLING_BEGIN();
+ if (Value<Mxf_AS11_3D_Type_Count)
+ AS11s[InstanceUID].ThreeDType=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010C00
+void File_Mxf::AS11_UKDPP_ProductPlacement()
+{
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ProductPlacement=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010D00
+void File_Mxf::AS11_UKDPP_FpaPass()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_FpaPass_Count, Mxf_AS11_FpaPass[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].FpaPass=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010E00
+void File_Mxf::AS11_UKDPP_FpaManufacturer()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].FpaManufacturer=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101010F00
+void File_Mxf::AS11_UKDPP_FpaVersion()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].FpaVersion=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011000
+void File_Mxf::AS11_UKDPP_VideoComments()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].VideoComments=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011100
+void File_Mxf::AS11_UKDPP_SecondaryAudioLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].SecondaryAudioLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+void File_Mxf::AS11_UKDPP_TertiaryAudioLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].TertiaryAudioLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011300
+void File_Mxf::AS11_UKDPP_AudioLoudnessStandard()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_AudioLoudnessStandard_Count, Mxf_AS11_AudioLoudnessStandard[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].AudioLoudnessStandard=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011400
+void File_Mxf::AS11_UKDPP_AudioComments()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].AudioComments=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011500
+void File_Mxf::AS11_UKDPP_LineUpStart()
+{
+ //Parsing
+ int64u Value;
+ Get_B8 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].LineUpStart=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011600
+void File_Mxf::AS11_UKDPP_IdentClockStart()
+{
+ //Parsing
+ int64u Value;
+ Get_B8 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].IdentClockStart=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011700
+void File_Mxf::AS11_UKDPP_TotalNumberOfParts()
+{
+ //Parsing
+ int16u Value;
+ Get_B2 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].TotalNumberOfParts=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011800
+void File_Mxf::AS11_UKDPP_TotalProgrammeDuration()
+{
+ //Parsing
+ int64u Value;
+ Get_B8 (Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].TotalProgrammeDuration=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011900
+void File_Mxf::AS11_UKDPP_AudioDescriptionPresent()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].AudioDescriptionPresent=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011A00
+void File_Mxf::AS11_UKDPP_AudioDescriptionType()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_AudioDescriptionType_Count, Mxf_AS11_AudioDescriptionType[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].AudioDescriptionType=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011B00
+void File_Mxf::AS11_UKDPP_OpenCaptionsPresent()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].OpenCaptionsPresent=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011C00
+void File_Mxf::AS11_UKDPP_OpenCaptionsType()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_OpenCaptionsType_Count, Mxf_AS11_OpenCaptionsType[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].OpenCaptionsType=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011D00
+void File_Mxf::AS11_UKDPP_OpenCaptionsLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].OpenCaptionsLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011E00
+void File_Mxf::AS11_UKDPP_SigningPresent()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_SigningPresent_Count, Mxf_AS11_SigningPresent[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].SigningPresent=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101011F00
+void File_Mxf::AS11_UKDPP_SignLanguage()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1C(Value<Mxf_AS11_SignLanguage_Count, Mxf_AS11_SignLanguage[Value]);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].SignLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012000
+void File_Mxf::AS11_UKDPP_CompletionDate()
+{
+ //Parsing
+ int64u Value;
+ Get_B8 (Value, "Value"); Element_Info1(Value); //TODO: Timestamp
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].CompletionDate=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012100
+void File_Mxf::AS11_UKDPP_TextlessElementsExist()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].TextlessElementsExist=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012200
+void File_Mxf::AS11_UKDPP_ProgrammeHasText()
+{
+ //Parsing
+ int8u Value;
+ Get_B1 (Value, "Value"); Element_Info1(Value?"Yes":"No");
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ProgrammeHasText=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012300
+void File_Mxf::AS11_UKDPP_ProgrammeTextLanguage()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ProgrammeTextLanguage=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012400
+void File_Mxf::AS11_UKDPP_ContactEmail()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ContactEmail=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
+// DPP .010101012500
+void File_Mxf::AS11_UKDPP_ContactTelephoneNumber()
+{
+ //Parsing
+ Ztring Value;
+ Get_UTF16B(Length2, Value, "Value"); Element_Info1(Value);
+
+ FILLING_BEGIN();
+ AS11s[InstanceUID].ContactTelephoneNumber=Value;
+ FILLING_END();
+}
+
+//---------------------------------------------------------------------------
// 0x8001
void File_Mxf::Omneon_010201010100_8001()
{
@@ -10178,8 +11867,8 @@ void File_Mxf::Info_UL_02xx01_Groups()
case 0x01 :
{
Param_Info1("MXF / AAF Association compatible sets & packs");
- Info_B1(Code6, "Set Kind (1)"); //See table 14
- Info_B1(Code7, "Set Kind (2)"); //See table 14
+ Info_B1(Code6, "Set Kind (1)"); //See table 17
+ Info_B1(Code7, "Set Kind (2)"); //See table 17
Info_B1(Code8, "Reserved");
}
break;
@@ -10444,13 +12133,85 @@ void File_Mxf::Info_UL_040101_Values()
Info_B1(Code2, "Code (2)");
switch (Code2)
{
+ case 0x01 :
+ {
+ Param_Info1("Globally Unique Identifiers");
+ Info_B1(Code3, "Code (3)");
+ switch (Code3)
+ {
+ case 0x01 :
+ {
+ Param_Info1("SDTI Payload Identifiers");
+ Skip_B5( "Data");
+ }
+ break;
+ case 0x02 :
+ {
+ Param_Info1("File Format Identifiers");
+ Skip_B5( "Data");
+ }
+ break;
+ case 0x03 :
+ {
+ Param_Info1("Definition Identifiers");
+ Skip_B5( "Data");
+ }
+ break;
+ default :
+ Skip_B5( "Unknown");
+ }
+ }
+ break;
+ case 0x02 :
+ {
+ Param_Info1("Globally Unique Locators");
+ Info_B1(Code3, "Code (3)");
+ Skip_B5( "Unknown");
+ }
+ break;
case 0x03 :
{
+ Param_Info1("Locally Unique Identifiers");
Info_B1(Code3, "Code (3)");
switch (Code3)
{
+ case 0x01 :
+ {
+ Param_Info1("For Information Only Do Not Use");
+ Skip_B5( "Unknown");
+ }
+ break;
case 0x02 :
- Skip_B5( "Track identifier");
+ {
+ Param_Info1("Track Identifiers");
+ Info_B1(Code4, "Kind");
+ switch (Code4)
+ {
+ case 0x01 :
+ {
+ Param_Info1("Metadata Track Kinds");
+ Skip_B1( "Unknown");
+ Skip_B3( "Unknown");
+ }
+ break;
+ case 0x02 :
+ {
+ Param_Info1("Essence Track Kinds");
+ Skip_B1( "Unknown");
+ Skip_B3( "Unknown");
+ }
+ break;
+ case 0x03 :
+ {
+ Param_Info1("Other Track Kinds");
+ Skip_B1( "Unknown");
+ Skip_B3( "Unknown");
+ }
+ break;
+ default :
+ Skip_B4( "Unknown");
+ }
+ }
break;
default :
Skip_B5( "Unknown");
@@ -11345,6 +13106,13 @@ void File_Mxf::Info_UL_040101_Values()
Skip_B1( "Reserved");
}
break;
+ case 0x13 :
+ {
+ Param_Info1("Timed Text");
+ Skip_B1( "Reserved");
+ Skip_B1( "Reserved");
+ }
+ break;
case 0x16 :
{
Param_Info1("AVC Picture Element");
@@ -11922,6 +13690,9 @@ void File_Mxf::ChooseParser(const essences::iterator &Essence, const descriptors
switch (Code4)
{
case 0x01 : //Uncompressed Sound Coding
+ ChooseParser__FromEssenceContainer (Essence, Descriptor); //e.g. for D-10 Audio
+ if (!Essence->second.Parsers.empty())
+ return;
switch (Code5)
{
case 0x01 :
@@ -12043,6 +13814,7 @@ void File_Mxf::ChooseParser__FromEssenceContainer(const essences::iterator &Esse
case 0x0C : return ChooseParser_Jpeg2000(Essence, Descriptor);
case 0x10 : return ChooseParser_Avc(Essence, Descriptor);
case 0x11 : return ChooseParser_Vc3(Essence, Descriptor);
+ case 0x13 : return ChooseParser_TimedText(Essence, Descriptor);
default : return;
}
default : return;
@@ -12331,6 +14103,9 @@ void File_Mxf::ChooseParser__Aaf_GC_Data(const essences::iterator &Essence, cons
case 0x09 : //Line Wrapped VANC Data Element, SMPTE 384M
case 0x0A : //Line Wrapped HANC Data Element, SMPTE 384M
break;
+ case 0x0B : //Timed Text
+ ChooseParser_TimedText(Essence, Descriptor);
+ break;
default : //Unknown
;
}
@@ -12527,6 +14302,24 @@ void File_Mxf::ChooseParser_Vc3(const essences::iterator &Essence, const descrip
}
//---------------------------------------------------------------------------
+void File_Mxf::ChooseParser_TimedText(const essences::iterator &Essence, const descriptors::iterator &Descriptor)
+{
+ Essence->second.StreamKind=Stream_Text;
+
+ //Filling
+ #if defined(MEDIAINFO_TTML_YES)
+ File_Ttml* Parser=new File_Ttml;
+ #else
+ //Filling
+ File__Analyze* Parser=new File_Unknown();
+ Open_Buffer_Init(Parser);
+ Parser->Stream_Prepare(Stream_Text);
+ Parser->Fill(Stream_Text, 0, Text_Format, "Timed Text");
+ #endif
+ Essence->second.Parsers.push_back(Parser);
+}
+
+//---------------------------------------------------------------------------
void File_Mxf::ChooseParser_Aac(const essences::iterator &Essence, const descriptors::iterator &Descriptor)
{
Essence->second.StreamKind=Stream_Audio;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.h
index 0aa88f9dc..03d807929 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Mxf.h
@@ -65,13 +65,22 @@ protected :
void Streams_Fill ();
void Streams_Finish ();
void Streams_Finish_Preface (const int128u PrefaceUID);
+ void Streams_Finish_Preface_ForTimeCode (const int128u PrefaceUID);
void Streams_Finish_ContentStorage (const int128u ContentStorageUID);
+ void Streams_Finish_ContentStorage_ForTimeCode (const int128u ContentStorageUID);
+ void Streams_Finish_ContentStorage_ForAS11 (const int128u ContentStorageUID);
void Streams_Finish_Package (const int128u PackageUID);
+ void Streams_Finish_Package_ForTimeCode (const int128u PackageUID);
+ void Streams_Finish_Package_ForAS11 (const int128u PackageUID);
void Streams_Finish_Track (const int128u TrackUID);
+ void Streams_Finish_Track_ForTimeCode (const int128u TrackUID, bool IsSourcePackage);
+ void Streams_Finish_Track_ForAS11 (const int128u TrackUID);
void Streams_Finish_Essence (int32u EssenceUID, int128u TrackUID);
void Streams_Finish_Descriptor (const int128u DescriptorUID, const int128u PackageUID);
void Streams_Finish_Locator (const int128u DescriptorUID, const int128u LocatorUID);
void Streams_Finish_Component (const int128u ComponentUID, float64 EditRate, int32u TrackID, int64u Origin);
+ void Streams_Finish_Component_ForTimeCode (const int128u ComponentUID, float64 EditRate, int32u TrackID, int64u Origin, bool IsSourcePackage);
+ void Streams_Finish_Component_ForAS11 (const int128u ComponentUID, float64 EditRate, int32u TrackID, int64u Origin);
void Streams_Finish_Identification (const int128u IdentificationUID);
void Streams_Finish_CommercialNames ();
@@ -112,12 +121,16 @@ protected :
void MCAEpisode();
void MCAAudioContentKind();
void MCAAudioElementKind();
+ void ResourceID();
+ void NamespaceURI();
+ void UCSEncoding();
void Filler();
void Filler01() {Filler();}
void Filler02() {Filler();}
void TerminatingFiller();
void XmlDocumentText();
void SubDescriptors();
+ void Filler53();
void Sequence();
void SourceClip();
void TimecodeComponent();
@@ -134,7 +147,7 @@ protected :
void SourcePackage();
void EventTrack();
void StaticTrack();
- void Track();
+ void TimelineTrack();
void DMSegment();
void GenericSoundEssenceDescriptor();
void GenericDataEssenceDescriptor();
@@ -150,6 +163,8 @@ protected :
void ApplicationPlugInObject();
void ApplicationReferencedObject();
void MCALabelSubDescriptor();
+ void TimedTextDescriptor();
+ void TimedTextResourceSubDescriptor();
void AudioChannelLabelSubDescriptor();
void SoundfieldGroupLabelSubDescriptor();
void GroupOfSoundfieldGroupsLabelSubDescriptor();
@@ -176,6 +191,9 @@ protected :
void SDTI_ControlMetadataSet();
void SystemScheme1();
void DMScheme1();
+ void AS11_AAF_Core();
+ void AS11_AAF_Segmentation();
+ void AS11_AAF_UKDPP();
void Omneon_010201010100();
void Omneon_010201020100();
@@ -210,6 +228,7 @@ protected :
void CDCIEssenceDescriptor_ReversedByteOrder(); //330B
void ContentStorage_Packages(); //1901
void ContentStorage_EssenceContainerData(); //1902
+ void DMSegment_Duration(); //0202 (copy of StructuralComponent_Duration) //TODO: merge with StructuralComponent_Duration
void DMSegment_DMFramework(); //6101
void DMSegment_TrackIDs(); //6102
void EssenceContainerData_LinkedPackageUID(); //2701
@@ -372,6 +391,55 @@ protected :
void WaveAudioDescriptor_PeakEnvelopeTimestamp(); //3D30
void WaveAudioDescriptor_PeakEnvelopeData(); //3D31
void WaveAudioDescriptor_ChannelAssignment(); //3D31
+ void AS11_Core_SerieTitle();
+ void AS11_Core_ProgrammeTitle();
+ void AS11_Core_EpisodeTitleNumber();
+ void AS11_Core_ShimName();
+ void AS11_Core_AudioTrackLayout();
+ void AS11_Core_PrimaryAudioLanguage();
+ void AS11_Core_ClosedCaptionsPresent();
+ void AS11_Core_ClosedCaptionsType();
+ void AS11_Core_ClosedCaptionsLanguage();
+ void AS11_Core_ShimVersion();
+ void AS11_Segment_PartNumber();
+ void AS11_Segment_PartTotal();
+ void AS11_UKDPP_ProductionNumber();
+ void AS11_UKDPP_Synopsis();
+ void AS11_UKDPP_Originator();
+ void AS11_UKDPP_CopyrightYear();
+ void AS11_UKDPP_OtherIdentifier();
+ void AS11_UKDPP_OtherIdentifierType();
+ void AS11_UKDPP_Genre();
+ void AS11_UKDPP_Distributor();
+ void AS11_UKDPP_PictureRatio();
+ void AS11_UKDPP_3D();
+ void AS11_UKDPP_3DType();
+ void AS11_UKDPP_ProductPlacement();
+ void AS11_UKDPP_FpaPass();
+ void AS11_UKDPP_FpaManufacturer();
+ void AS11_UKDPP_FpaVersion();
+ void AS11_UKDPP_VideoComments();
+ void AS11_UKDPP_SecondaryAudioLanguage();
+ void AS11_UKDPP_TertiaryAudioLanguage();
+ void AS11_UKDPP_AudioLoudnessStandard();
+ void AS11_UKDPP_AudioComments();
+ void AS11_UKDPP_LineUpStart();
+ void AS11_UKDPP_IdentClockStart();
+ void AS11_UKDPP_TotalNumberOfParts();
+ void AS11_UKDPP_TotalProgrammeDuration();
+ void AS11_UKDPP_AudioDescriptionPresent();
+ void AS11_UKDPP_AudioDescriptionType();
+ void AS11_UKDPP_OpenCaptionsPresent();
+ void AS11_UKDPP_OpenCaptionsType();
+ void AS11_UKDPP_OpenCaptionsLanguage();
+ void AS11_UKDPP_SigningPresent();
+ void AS11_UKDPP_SignLanguage();
+ void AS11_UKDPP_CompletionDate();
+ void AS11_UKDPP_TextlessElementsExist();
+ void AS11_UKDPP_ProgrammeHasText();
+ void AS11_UKDPP_ProgrammeTextLanguage();
+ void AS11_UKDPP_ContactEmail();
+ void AS11_UKDPP_ContactTelephoneNumber();
void Omneon_010201010100_8001(); //8001
void Omneon_010201010100_8003(); //8003
void Omneon_010201020100_8002(); //8002
@@ -767,9 +835,15 @@ protected :
{
int128u Framework;
std::vector<int32u> TrackIDs;
+ int64u Duration;
+ bool IsAs11SegmentFiller;
dmsegment()
{
+ Framework.lo=(int64u)-1;
+ Framework.hi=(int64u)-1;
+ Duration=(int64u)-1;
+ IsAs11SegmentFiller=false;
}
~dmsegment()
@@ -795,6 +869,108 @@ protected :
typedef std::map<int128u, dmscheme1> dmscheme1s; //Key is InstanceUID of the DMScheme1
dmscheme1s DMScheme1s;
+ //Descriptive Metadata - AS11
+ struct as11
+ {
+ enum as11_type
+ {
+ Type_Unknown,
+ Type_Core,
+ Type_Segmentation,
+ Type_UKDPP,
+ };
+ as11_type Type;
+ Ztring SerieTitle;
+ Ztring ProgrammeTitle;
+ Ztring EpisodeTitleNumber;
+ Ztring ShimName;
+ int8u AudioTrackLayout;
+ Ztring PrimaryAudioLanguage;
+ int8u ClosedCaptionsPresent;
+ int8u ClosedCaptionsType;
+ Ztring ClosedCaptionsLanguage;
+ int8u ShimVersion_Major;
+ int8u ShimVersion_Minor;
+ int16u PartNumber;
+ int16u PartTotal;
+ Ztring ProductionNumber;
+ Ztring Synopsis;
+ Ztring Originator;
+ int16u CopyrightYear;
+ Ztring OtherIdentifier;
+ Ztring OtherIdentifierType;
+ Ztring Genre;
+ Ztring Distributor;
+ int32u PictureRatio_N;
+ int32u PictureRatio_D;
+ int8u ThreeD;
+ int8u ThreeDType;
+ int8u ProductPlacement;
+ int8u FpaPass;
+ Ztring FpaManufacturer;
+ Ztring FpaVersion;
+ Ztring VideoComments;
+ Ztring SecondaryAudioLanguage;
+ Ztring TertiaryAudioLanguage;
+ int8u AudioLoudnessStandard;
+ Ztring AudioComments;
+ int64u LineUpStart;
+ int64u IdentClockStart;
+ int16u TotalNumberOfParts;
+ int64u TotalProgrammeDuration;
+ int8u AudioDescriptionPresent;
+ int8u AudioDescriptionType;
+ int8u OpenCaptionsPresent;
+ int8u OpenCaptionsType;
+ Ztring OpenCaptionsLanguage;
+ int8u SigningPresent;
+ int8u SignLanguage;
+ int64u CompletionDate;
+ int8u TextlessElementsExist;
+ int8u ProgrammeHasText;
+ Ztring ProgrammeTextLanguage;
+ Ztring ContactEmail;
+ Ztring ContactTelephoneNumber;
+
+ as11()
+ {
+ Type=Type_Unknown;
+ AudioTrackLayout=(int8u)-1;
+ ClosedCaptionsPresent=(int8u)-1;
+ ClosedCaptionsType=(int8u)-1;
+ ShimVersion_Major=(int8u)-1;
+ ShimVersion_Minor=(int8u)-1;
+ PartNumber=(int16u)-1;
+ PartTotal=(int16u)-1;
+ CopyrightYear=(int16u)-1;
+ PictureRatio_N=(int32u)-1;
+ PictureRatio_D=(int32u)-1;
+ ThreeD=(int8u)-1;
+ ThreeDType=(int8u)-1;
+ ProductPlacement=(int8u)-1;
+ AudioLoudnessStandard=(int8u)-1;
+ LineUpStart=(int64u)-1;
+ IdentClockStart=(int64u)-1;
+ TotalNumberOfParts=(int16u)-1;
+ TotalProgrammeDuration=(int64u)-1;
+ AudioDescriptionPresent=(int8u)-1;
+ AudioDescriptionType=(int8u)-1;
+ OpenCaptionsPresent=(int8u)-1;
+ OpenCaptionsType=(int8u)-1;
+ SigningPresent=(int8u)-1;
+ SignLanguage=(int8u)-1;
+ CompletionDate=(int64u)-1;
+ TextlessElementsExist=(int8u)-1;
+ ProgrammeHasText=(int8u)-1;
+ }
+
+ ~as11()
+ {
+ }
+ };
+ typedef std::map<int128u, as11> as11s; //Key is InstanceUID of the DMScheme1
+ as11s AS11s;
+
//Parsers
void ChooseParser__FromEssence(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser__Aaf(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
@@ -819,6 +995,7 @@ protected :
void ChooseParser_Raw(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser_RV24(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser_Vc3(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
+ void ChooseParser_TimedText(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser_Aac(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser_Ac3(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
void ChooseParser_Alaw(const essences::iterator &Essence, const descriptors::iterator &Descriptor);
@@ -911,6 +1088,9 @@ protected :
bool Partitions_IsCalculatingSdtiByteCount;
bool Partitions_IsFooter;
+ //Config
+ bool TimeCodeFromMaterialPackage;
+
//Demux
#if MEDIAINFO_DEMUX
bool Demux_HeaderParsed;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_P2_Clip.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_P2_Clip.cpp
index 5e1a135c0..f19e49e43 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_P2_Clip.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_P2_Clip.cpp
@@ -23,7 +23,6 @@
//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_P2_Clip.h"
#include "MediaInfo/MediaInfo.h"
-#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/Multiple/File__ReferenceFilesHelper.h"
#include "ZenLib/Dir.h"
#include "ZenLib/FileName.h"
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Riff.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Riff.cpp
index e77b14bfd..9b0897069 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Riff.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Riff.cpp
@@ -300,9 +300,9 @@ void File_Riff::Streams_Finish ()
const Ztring &FrameRate=Retrieve(Stream_Video, StreamPos_Last, Video_FrameRate);
if (FrameRate.To_int32u()==120)
{
- Fill(Stream_Video, StreamPos_Last, Video_FrameRate_String, MediaInfoLib::Config.Language_Get(FrameRate+__T(" (24/30)"), __T(" fps")), true);
- Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Minimum, 24, 10, true);
- Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Maximum, 30, 10, true);
+ float32 FrameRateF=FrameRate.To_float32();
+ Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Minimum, FrameRateF/5, 3, true);
+ Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Maximum, FrameRateF/4, 3, true);
Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Mode, "VFR");
}
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.cpp
index d5827f42f..e9be8625f 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.cpp
@@ -115,33 +115,43 @@ void File_Wm::Streams_Finish()
if (Temp->second.StreamKind==Stream_Video)
{
//Some tests about the frame rate
- std::map<int32u, int32u> PresentationTime_Deltas_Problem;
- std::map<int32u, int32u> PresentationTime_Deltas_Most;
- for (std::map<ZenLib::int32u, ZenLib::int32u>::iterator PresentationTime_Delta=Temp->second.PresentationTime_Deltas.begin(); PresentationTime_Delta!=Temp->second.PresentationTime_Deltas.end(); ++PresentationTime_Delta)
+ int32u PresentationTime_Previous=(int32u)-1;
+ size_t TimeDiffs_Sum=0;
+ std::map<int32u, size_t> TimeDiffs;
+ for (std::set<int32u>::iterator PresentationTime=Temp->second.PresentationTimes.begin(); PresentationTime!=Temp->second.PresentationTimes.end(); ++PresentationTime)
{
- if (PresentationTime_Delta->second>=5)
- PresentationTime_Deltas_Problem[PresentationTime_Delta->first]=PresentationTime_Delta->second;
- if (PresentationTime_Delta->second>=30)
- PresentationTime_Deltas_Most[PresentationTime_Delta->first]=PresentationTime_Delta->second;
+ if (PresentationTime_Previous!=(int32u)-1)
+ TimeDiffs[*PresentationTime-PresentationTime_Previous]++;
+ PresentationTime_Previous=*PresentationTime;
+ }
+ for (std::map<int32u, size_t>::iterator TimeDiff=TimeDiffs.begin(); TimeDiff!=TimeDiffs.end();)
+ {
+ if (TimeDiff->second<=2)
+ TimeDiffs.erase(TimeDiff++);
+ else
+ {
+ TimeDiffs_Sum+=TimeDiff->second;
+ ++TimeDiff;
+ }
}
- if (PresentationTime_Deltas_Most.empty()
- || (PresentationTime_Deltas_Most.size()==1 && PresentationTime_Deltas_Problem.size()>1)
- || (PresentationTime_Deltas_Most.size()==2 && PresentationTime_Deltas_Problem.size()>2))
+ if (TimeDiffs.empty()
+ || (TimeDiffs.size()==1 && TimeDiffs_Sum<16)
+ || (TimeDiffs.size()==2 && TimeDiffs_Sum<32)
+ || TimeDiffs.begin()->first==1)
{
if (Temp->second.AverageTimePerFrame>0)
- Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate, ((float)10000000)/Temp->second.AverageTimePerFrame, 3, true);
+ Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate, ((float)10000000)/(Temp->second.AverageTimePerFrame*(Temp->second.Parser && Temp->second.Parser->Retrieve(Stream_Video, 0, Video_ScanType)==__T("Interlaced")?2:1)), 3, true);
}
- else if (PresentationTime_Deltas_Most.size()==1)
+ else if (TimeDiffs.size()==1)
{
- if (PresentationTime_Deltas_Most.begin()->first>1) //Not 0, we want to remove Delta incremented 1 per 1
- Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate, 1000/((float64)PresentationTime_Deltas_Most.begin()->first), 3, true);
+ Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate, 1000/((float64)TimeDiffs.begin()->first), 3, true);
if (Temp->second.AverageTimePerFrame>0)
- Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/Temp->second.AverageTimePerFrame, 3, true);
+ Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/(Temp->second.AverageTimePerFrame*(Temp->second.Parser && Temp->second.Parser->Retrieve(Stream_Video, 0, Video_ScanType)==__T("Interlaced")?2:1)), 3, true);
}
- else if (PresentationTime_Deltas_Most.size()==2)
+ else if (TimeDiffs.size()==2)
{
- std::map<int32u, int32u>::iterator PresentationTime_Delta_Most=PresentationTime_Deltas_Most.begin();
+ std::map<int32u, size_t>::iterator PresentationTime_Delta_Most=TimeDiffs.begin();
float64 PresentationTime_Deltas_1_Value=(float64)PresentationTime_Delta_Most->first;
float64 PresentationTime_Deltas_1_Count=(float64)PresentationTime_Delta_Most->second;
++PresentationTime_Delta_Most;
@@ -150,13 +160,13 @@ void File_Wm::Streams_Finish()
float64 FrameRate_Real=1000/(((PresentationTime_Deltas_1_Value*PresentationTime_Deltas_1_Count)+(PresentationTime_Deltas_2_Value*PresentationTime_Deltas_2_Count))/(PresentationTime_Deltas_1_Count+PresentationTime_Deltas_2_Count));
Fill(Temp->second.StreamKind, Temp->second.StreamPos, Video_FrameRate, FrameRate_Real, 3, true);
if (Temp->second.AverageTimePerFrame>0)
- Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/Temp->second.AverageTimePerFrame, 3, true);
+ Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/(Temp->second.AverageTimePerFrame*(Temp->second.Parser && Temp->second.Parser->Retrieve(Stream_Video, 0, Video_ScanType)==__T("Interlaced")?2:1)), 3, true);
}
else
{
Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Mode, "VFR");
if (Temp->second.AverageTimePerFrame>0)
- Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/Temp->second.AverageTimePerFrame, 3, true);
+ Fill(Stream_Video, Temp->second.StreamPos, Video_FrameRate_Nominal, ((float)10000000)/(Temp->second.AverageTimePerFrame*(Temp->second.Parser && Temp->second.Parser->Retrieve(Stream_Video, 0, Video_ScanType)==__T("Interlaced")?2:1)), 3, true);
}
}
if (Temp->second.AverageBitRate>0)
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.h b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.h
index b0dbf3025..66cbc64b4 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm.h
@@ -11,6 +11,7 @@
//---------------------------------------------------------------------------
#include "MediaInfo/File__Analyze.h"
+#include <set>
//---------------------------------------------------------------------------
namespace MediaInfoLib
@@ -104,9 +105,7 @@ private :
std::map<std::string, ZenLib::Ztring> Info;
bool IsCreated; //if Stream_Prepare() is done
bool SearchingPayload;
- int32u PresentationTime_Old;
- int32u PresentationTime_Count;
- std::map<int32u, int32u> PresentationTime_Deltas;
+ std::set<int32u> PresentationTimes;
std::vector<payload_extension_system> Payload_Extension_Systems;
int64u TimeCode_First;
@@ -123,8 +122,6 @@ private :
LanguageID=(int16u)-1;
IsCreated=false;
SearchingPayload=false;
- PresentationTime_Old=0;
- PresentationTime_Count=0;
TimeCode_First=(int64u)-1;
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm_Elements.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm_Elements.cpp
index c8fd8af26..2bfddfe23 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm_Elements.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Wm_Elements.cpp
@@ -875,12 +875,16 @@ void File_Wm::Header_HeaderExtension_IndexParameters()
//---------------------------------------------------------------------------
void File_Wm::Header_HeaderExtension_MediaIndexParameters()
{
+ Header_HeaderExtension_IndexParameters();
+
Element_Name("MediaIndex Parameters");
}
//---------------------------------------------------------------------------
void File_Wm::Header_HeaderExtension_TimecodeIndexParameters()
{
+ Header_HeaderExtension_IndexParameters();
+
Element_Name("Timecode Index Parameters");
}
@@ -1487,14 +1491,7 @@ void File_Wm::Data_Packet()
std::map<int16u, stream>::iterator Strea=Stream.find(Stream_Number);
if (Strea!=Stream.end() && Strea->second.StreamKind==Stream_Video)
{
- if (Strea->second.PresentationTime_Old==0)
- Strea->second.PresentationTime_Old=FileProperties_Preroll;
- if (PresentationTime!=Strea->second.PresentationTime_Old)
- {
- Strea->second.PresentationTime_Deltas[PresentationTime-Strea->second.PresentationTime_Old]++;
- Strea->second.PresentationTime_Old=PresentationTime;
- Strea->second.PresentationTime_Count++;
- }
+ Strea->second.PresentationTimes.insert(PresentationTime);
}
}
else if (ReplicatedDataLength==1)
@@ -1523,66 +1520,66 @@ void File_Wm::Data_Packet()
else
{
Trusted_IsNot("Padding size problem");
- return; //Problem
}
if (Element_Offset+PayloadLength+Data_Parse_Padding>Element_Size)
{
Trusted_IsNot("Payload Length problem");
- return; //problem
}
-
- //Demux
- Element_Code=Stream_Number;
- Demux(Buffer+(size_t)Element_Offset, (size_t)PayloadLength, ContentType_MainStream);
-
- //Analyzing
- if (Stream[Stream_Number].Parser && Stream[Stream_Number].SearchingPayload)
+ else
{
- //Handling of spanned on multiple chunks
- #if defined(MEDIAINFO_VC1_YES)
- bool FrameIsAlwaysComplete=true;
- #endif
- if (PayloadLength!=SizeOfMediaObject)
+ //Demux
+ Element_Code=Stream_Number;
+ Demux(Buffer+(size_t)Element_Offset, (size_t)PayloadLength, ContentType_MainStream);
+
+ //Analyzing
+ if (Stream[Stream_Number].Parser && Stream[Stream_Number].SearchingPayload)
{
- if (SizeOfMediaObject_BytesAlreadyParsed==0)
- SizeOfMediaObject_BytesAlreadyParsed=SizeOfMediaObject-PayloadLength;
+ //Handling of spanned on multiple chunks
+ #if defined(MEDIAINFO_VC1_YES)
+ bool FrameIsAlwaysComplete=true;
+ #endif
+ if (PayloadLength!=SizeOfMediaObject)
+ {
+ if (SizeOfMediaObject_BytesAlreadyParsed==0)
+ SizeOfMediaObject_BytesAlreadyParsed=SizeOfMediaObject-PayloadLength;
+ else
+ SizeOfMediaObject_BytesAlreadyParsed-=PayloadLength;
+ if (SizeOfMediaObject_BytesAlreadyParsed==0)
+ Element_Show_Count++;
+ #if defined(MEDIAINFO_VC1_YES)
+ else
+ FrameIsAlwaysComplete=false;
+ #endif
+ }
else
- SizeOfMediaObject_BytesAlreadyParsed-=PayloadLength;
- if (SizeOfMediaObject_BytesAlreadyParsed==0)
Element_Show_Count++;
+
+ //Codec specific
#if defined(MEDIAINFO_VC1_YES)
- else
- FrameIsAlwaysComplete=false;
+ if (Retrieve(Stream[Stream_Number].StreamKind, Stream[Stream_Number].StreamPos, Fill_Parameter(Stream[Stream_Number].StreamKind, Generic_Format))==__T("VC-1"))
+ ((File_Vc1*)Stream[Stream_Number].Parser)->FrameIsAlwaysComplete=FrameIsAlwaysComplete;
#endif
- }
- else
- Element_Show_Count++;
- //Codec specific
- #if defined(MEDIAINFO_VC1_YES)
- if (Retrieve(Stream[Stream_Number].StreamKind, Stream[Stream_Number].StreamPos, Fill_Parameter(Stream[Stream_Number].StreamKind, Generic_Format))==__T("VC-1"))
- ((File_Vc1*)Stream[Stream_Number].Parser)->FrameIsAlwaysComplete=FrameIsAlwaysComplete;
- #endif
+ Open_Buffer_Continue(Stream[Stream_Number].Parser, (size_t)PayloadLength);
+ if (Stream[Stream_Number].Parser->Status[IsFinished]
+ || (Stream[Stream_Number].PresentationTimes.size()>=300 && MediaInfoLib::Config.ParseSpeed_Get()<1))
+ {
+ Stream[Stream_Number].Parser->Open_Buffer_Unsynch();
+ Stream[Stream_Number].SearchingPayload=false;
+ Streams_Count--;
+ }
- Open_Buffer_Continue(Stream[Stream_Number].Parser, (size_t)PayloadLength);
- if (Stream[Stream_Number].Parser->Status[IsFinished]
- || (Stream[Stream_Number].PresentationTime_Count>=300 && MediaInfoLib::Config.ParseSpeed_Get()<1))
- {
- Stream[Stream_Number].Parser->Open_Buffer_Unsynch();
- Stream[Stream_Number].SearchingPayload=false;
- Streams_Count--;
+ Element_Show();
}
-
- Element_Show();
- }
- else
- {
- Skip_XX(PayloadLength, "Data");
- if (Stream[Stream_Number].SearchingPayload
- && (Stream[Stream_Number].StreamKind==Stream_Video && Stream[Stream_Number].PresentationTime_Count>=300))
+ else
{
- Stream[Stream_Number].SearchingPayload=false;
- Streams_Count--;
+ Skip_XX(PayloadLength, "Data");
+ if (Stream[Stream_Number].SearchingPayload
+ && (Stream[Stream_Number].StreamKind==Stream_Video && Stream[Stream_Number].PresentationTimes.size()>=300))
+ {
+ Stream[Stream_Number].SearchingPayload=false;
+ Streams_Count--;
+ }
}
}
Element_End0();
@@ -1736,7 +1733,85 @@ void File_Wm::MediaIndex()
//---------------------------------------------------------------------------
void File_Wm::TimecodeIndex()
{
- Element_Name("TimecodeIndex");
+ Element_Name("Timecode Index");
+
+ //Parsing
+ int32u TimeCode_First=(int32u)-1;
+ int32u IndexBlocksCount;
+ int16u IndexSpecifiersCount;
+ Skip_L4( "Reserved");
+ Get_L2 (IndexSpecifiersCount, "Index Specifiers Count");
+ Get_L4 (IndexBlocksCount, "Index Blocks Count");
+ Element_Begin1("Index Specifiers");
+ for (int16u Pos=0; Pos<IndexSpecifiersCount; ++Pos)
+ {
+ Element_Begin1("Index Specifier");
+ Skip_L2( "Stream Number");
+ Info_L2(IndexType, "Index Type");
+ Element_Info1(IndexType);
+ Element_End0();
+ }
+ Element_End0();
+ Element_Begin1("Index Blocks");
+ for (int16u Pos=0; Pos<IndexBlocksCount; ++Pos)
+ {
+ Element_Begin1("Index Block");
+ int32u IndexEntryCount;
+ Get_L4 (IndexEntryCount, "Index Entry Count");
+ Skip_L2( "Timecode Range");
+ Element_Begin1("Block Positions");
+ for (int16u Pos=0; Pos<IndexSpecifiersCount; ++Pos)
+ Skip_L8( "Block Position");
+ Element_End0();
+ Element_Begin1("Index Entries");
+ for (int32u Pos=0; Pos<IndexEntryCount; ++Pos)
+ {
+ Element_Begin1("Index Entry");
+ if (TimeCode_First==(int32u)-1)
+ Get_L4 (TimeCode_First, "Timecode");
+ else
+ Skip_L4( "Timecode");
+ for (int16u Pos=0; Pos<IndexSpecifiersCount; ++Pos)
+ Skip_L4( "Offsets");
+ Element_End0();
+ }
+ Element_End0();
+ Element_End0();
+ }
+ Element_End0();
+
+ FILLING_BEGIN();
+ Stream_Prepare(Stream_Other);
+ Fill(Stream_Other, StreamPos_Last, Other_Type, "Time code");
+ Fill(Stream_Other, StreamPos_Last, Other_Format, "WM TC");
+ if (TimeCode_First!=(int32u)-1)
+ {
+ int8u H1= TimeCode_First>>28;
+ int8u H2=(TimeCode_First>>24)&0xF;
+ int8u M1=(TimeCode_First>>20)&0xF;
+ int8u M2=(TimeCode_First>>16)&0xF;
+ int8u S1=(TimeCode_First>>12)&0xF;
+ int8u S2=(TimeCode_First>> 8)&0xF;
+ int8u F1=(TimeCode_First>> 4)&0xF;
+ int8u F2= TimeCode_First &0xF;
+ if (H1<10 && H2<10 && M1<10 && M2<10 && S1<10 && S2<10 && F1<10 && F2<10)
+ {
+ string TC;
+ TC+='0'+H1;
+ TC+='0'+H2;
+ TC+=':';
+ TC+='0'+M1;
+ TC+='0'+M2;
+ TC+=':';
+ TC+='0'+S1;
+ TC+='0'+S2;
+ TC+=':';
+ TC+='0'+F1;
+ TC+='0'+F2;
+ Fill(Stream_Other, StreamPos_Last, Other_TimeCode_FirstFrame, TC.c_str());
+ }
+ }
+ FILLING_END();
}
//***************************************************************************
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Xdcam_Clip.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Xdcam_Clip.cpp
index dc8f05ed2..95c3080b5 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Xdcam_Clip.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File_Xdcam_Clip.cpp
@@ -101,6 +101,7 @@ bool File_Xdcam_Clip::FileHeader_Begin()
//int8u ReadByHuman=Ztring(MediaInfo::Option_Static(__T("ReadByHuman_Get"))).To_int8u();
//MediaInfo::Option_Static(__T("ReadByHuman"), __T("0"));
MediaInfo_Internal MI;
+ MI.Option(__T("File_IsReferenced"), __T("1"));
if (MI.Open(MXF_File))
{
//MediaInfo::Option_Static(__T("ReadByHuman"), ReadByHuman?__T("1"):__T("0"));
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp
index af8fbad49..3069891ec 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp
@@ -591,7 +591,7 @@ void File__ReferenceFilesHelper::ParseReferences()
for (references::iterator ReferenceSource=References.begin(); ReferenceSource!=References.end(); ++ReferenceSource)
if (ReferenceSource->FileNames.empty())
CountOfReferencesToParse--;
- DTS_Interval=3000000000LL; // 3 seconds
+ DTS_Interval=250000000LL; // 250 milliseconds
}
}
else
@@ -678,13 +678,24 @@ void File__ReferenceFilesHelper::ParseReferences()
#if MEDIAINFO_NEXTPACKET
//Minimal DTS
- if (DTS_Interval!=(int64u)-1 && !Reference->Status[File__Analyze::IsFinished] && ReferenceTemp->CompleteDuration_Pos<ReferenceTemp->CompleteDuration.size())
+ if (DTS_Interval!=(int64u)-1 && !Reference->Status[File__Analyze::IsFinished] && (ReferenceTemp->CompleteDuration.empty() || ReferenceTemp->CompleteDuration_Pos<ReferenceTemp->CompleteDuration.size()))
{
int64u DTS_Temp;
- if (ReferenceTemp->CompleteDuration_Pos)
- DTS_Temp=ReferenceTemp->CompleteDuration[ReferenceTemp->CompleteDuration_Pos].MI->Info->FrameInfo.DTS;
+ if (!ReferenceTemp->CompleteDuration.empty() && ReferenceTemp->CompleteDuration_Pos)
+ {
+ if (ReferenceTemp->CompleteDuration[ReferenceTemp->CompleteDuration_Pos].MI->Info->FrameInfo.DTS!=(int64u)-1)
+ DTS_Temp=ReferenceTemp->CompleteDuration[ReferenceTemp->CompleteDuration_Pos].MI->Info->FrameInfo.DTS-ReferenceTemp->CompleteDuration[ReferenceTemp->CompleteDuration_Pos].MI->Info->Config->Demux_Offset_DTS_FromStream;
+ else
+ DTS_Temp=0;
+ }
else
- DTS_Temp=ReferenceTemp->MI->Info->FrameInfo.DTS;
+ {
+ if (ReferenceTemp->MI->Info->FrameInfo.DTS!=(int64u)-1)
+ DTS_Temp=ReferenceTemp->MI->Info->FrameInfo.DTS-ReferenceTemp->MI->Info->Config->Demux_Offset_DTS_FromStream;
+ else
+ DTS_Temp=0;
+ }
+ DTS_Temp+=ReferenceTemp->CompleteDuration[ReferenceTemp->CompleteDuration_Pos].Demux_Offset_DTS;
if (DTS_Minimal>DTS_Temp)
DTS_Minimal=DTS_Temp;
}
@@ -755,37 +766,55 @@ bool File__ReferenceFilesHelper::ParseReference_Init()
{
for (size_t Pos=0; Pos<Reference->CompleteDuration.size(); Pos++)
{
- MediaInfo_Internal MI2;
- MI2.Option(__T("File_KeepInfo"), __T("1"));
- Ztring ParseSpeed_Save=MI2.Option(__T("ParseSpeed_Get"), __T("0"));
- Ztring Demux_Save=MI2.Option(__T("Demux_Get"), __T(""));
- MI2.Option(__T("ParseSpeed"), __T("0"));
- MI2.Option(__T("Demux"), Ztring());
- size_t MiOpenResult=MI2.Open(Reference->CompleteDuration[Pos].FileName);
- MI2.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
- MI2.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
- if (MiOpenResult)
+ if (Reference->CompleteDuration[0].IgnoreFramesRate)
{
#if MEDIAINFO_DEMUX
- int64u Duration=MI2.Get(Reference->StreamKind, 0, __T("Duration")).To_int64u()*1000000;
- int64u FrameCount=MI2.Get(Reference->StreamKind, 0, __T("FrameCount")).To_int64u();
if (Pos==0)
{
- int64u Delay=MI2.Get(Stream_Video, 0, Video_Delay).To_int64u()*1000000;
- if (Reference->StreamKind==Stream_Video && Offset_Video_DTS==0)
- Offset_Video_DTS=Delay;
- Reference->CompleteDuration[0].Demux_Offset_DTS=Offset_Video_DTS;
+ Reference->CompleteDuration[0].Demux_Offset_DTS=0;
Reference->CompleteDuration[0].Demux_Offset_Frame=0;
}
if (Pos+1<Reference->CompleteDuration.size())
{
- Reference->CompleteDuration[Pos+1].Demux_Offset_DTS=Reference->CompleteDuration[Pos].Demux_Offset_DTS+Duration;
- Reference->CompleteDuration[Pos+1].Demux_Offset_Frame=Reference->CompleteDuration[Pos].Demux_Offset_Frame+FrameCount;
+ Reference->CompleteDuration[Pos+1].Demux_Offset_DTS=float64_int64s(Reference->CompleteDuration[Pos].Demux_Offset_DTS+(Reference->CompleteDuration[Pos].IgnoreFramesAfter-Reference->CompleteDuration[Pos].IgnoreFramesBefore)/Reference->CompleteDuration[0].IgnoreFramesRate*1000000000);
+ Reference->CompleteDuration[Pos+1].Demux_Offset_Frame=Reference->CompleteDuration[Pos].Demux_Offset_Frame+Reference->CompleteDuration[Pos].IgnoreFramesAfter-Reference->CompleteDuration[Pos].IgnoreFramesBefore;
}
- else
- Duration=Reference->CompleteDuration[Pos].Demux_Offset_DTS+Duration-Reference->CompleteDuration[0].Demux_Offset_DTS;
#endif //MEDIAINFO_DEMUX
}
+ else
+ {
+ MediaInfo_Internal MI2;
+ MI2.Option(__T("File_KeepInfo"), __T("1"));
+ Ztring ParseSpeed_Save=MI2.Option(__T("ParseSpeed_Get"), __T("0"));
+ Ztring Demux_Save=MI2.Option(__T("Demux_Get"), __T(""));
+ MI2.Option(__T("ParseSpeed"), __T("0"));
+ MI2.Option(__T("Demux"), Ztring());
+ size_t MiOpenResult=MI2.Open(Reference->CompleteDuration[Pos].FileName);
+ MI2.Option(__T("ParseSpeed"), ParseSpeed_Save); //This is a global value, need to reset it. TODO: local value
+ MI2.Option(__T("Demux"), Demux_Save); //This is a global value, need to reset it. TODO: local value
+ if (MiOpenResult)
+ {
+ #if MEDIAINFO_DEMUX
+ int64u Duration=MI2.Get(Reference->StreamKind, 0, __T("Duration")).To_int64u()*1000000;
+ int64u FrameCount=MI2.Get(Reference->StreamKind, 0, __T("FrameCount")).To_int64u();
+ if (Pos==0)
+ {
+ int64u Delay=MI2.Get(Stream_Video, 0, Video_Delay).To_int64u()*1000000;
+ if (Reference->StreamKind==Stream_Video && Offset_Video_DTS==0)
+ Offset_Video_DTS=Delay;
+ Reference->CompleteDuration[0].Demux_Offset_DTS=Offset_Video_DTS;
+ Reference->CompleteDuration[0].Demux_Offset_Frame=0;
+ }
+ if (Pos+1<Reference->CompleteDuration.size())
+ {
+ Reference->CompleteDuration[Pos+1].Demux_Offset_DTS=Reference->CompleteDuration[Pos].Demux_Offset_DTS+Duration;
+ Reference->CompleteDuration[Pos+1].Demux_Offset_Frame=Reference->CompleteDuration[Pos].Demux_Offset_Frame+FrameCount;
+ }
+ else
+ Duration=Reference->CompleteDuration[Pos].Demux_Offset_DTS+Duration-Reference->CompleteDuration[0].Demux_Offset_DTS;
+ #endif //MEDIAINFO_DEMUX
+ }
+ }
if (Pos)
{
@@ -883,14 +912,25 @@ void File__ReferenceFilesHelper::ParseReference()
if (Reference->MI)
{
#if MEDIAINFO_EVENTS && MEDIAINFO_NEXTPACKET
- if (DTS_Interval!=(int64u)-1 && !Reference->Status[File__Analyze::IsFinished] && Reference->MI->Info->FrameInfo.DTS!=(int64u)-1 && DTS_Minimal!=(int64u)-1 && Reference->CompleteDuration_Pos<Reference->CompleteDuration.size())
+ if (DTS_Interval!=(int64u)-1 && !Reference->Status[File__Analyze::IsFinished] && Reference->MI->Info->FrameInfo.DTS!=(int64u)-1 && DTS_Minimal!=(int64u)-1 && (Reference->CompleteDuration.empty() || Reference->CompleteDuration_Pos<Reference->CompleteDuration.size()))
{
int64u DTS_Temp;
- if (Reference->CompleteDuration_Pos)
- DTS_Temp=Reference->CompleteDuration[Reference->CompleteDuration_Pos].MI->Info->FrameInfo.DTS;
+ if (!Reference->CompleteDuration.empty() && Reference->CompleteDuration_Pos)
+ {
+ if (Reference->CompleteDuration[Reference->CompleteDuration_Pos].MI->Info->FrameInfo.DTS!=(int64u)-1)
+ DTS_Temp=Reference->CompleteDuration[Reference->CompleteDuration_Pos].MI->Info->FrameInfo.DTS-Reference->CompleteDuration[Reference->CompleteDuration_Pos].MI->Info->Config->Demux_Offset_DTS_FromStream;
+ else
+ DTS_Temp=0;
+ }
else
- DTS_Temp=Reference->MI->Info->FrameInfo.DTS;
- if (Reference->CompleteDuration_Pos<Reference->CompleteDuration.size() && Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesRate && Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesBefore)
+ {
+ if (Reference->MI->Info->FrameInfo.DTS!=(int64u)-1)
+ DTS_Temp=Reference->MI->Info->FrameInfo.DTS-Reference->MI->Info->Config->Demux_Offset_DTS_FromStream;
+ else
+ DTS_Temp=0;
+ }
+ DTS_Temp+=Reference->CompleteDuration[Reference->CompleteDuration_Pos].Demux_Offset_DTS;
+ if (!Reference->CompleteDuration.empty() && Reference->CompleteDuration_Pos<Reference->CompleteDuration.size() && Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesRate && Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesBefore)
{
int64u TimeOffset=float64_int64s(((float64)Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesBefore)/Reference->CompleteDuration[Reference->CompleteDuration_Pos].IgnoreFramesRate*1000000000);
if (DTS_Temp>TimeOffset)
@@ -1227,7 +1267,19 @@ void File__ReferenceFilesHelper::ParseReference_Finalize_PerStream ()
MI->Fill(StreamKind_Last, StreamPos_To, General_ID_String, ID_String, true);
MI->Fill(StreamKind_Last, StreamPos_To, "MenuID", MenuID, true);
MI->Fill(StreamKind_Last, StreamPos_To, "MenuID/String", MenuID_String, true);
- MI->Fill(StreamKind_Last, StreamPos_To, "Source", Reference->Source, true);
+ if (!MI->Retrieve(StreamKind_Last, StreamPos_To, "Source").empty())
+ {
+ if (MI->Retrieve(StreamKind_Last, StreamPos_To, "Source_Original").empty() && Reference->Source!=MI->Retrieve(StreamKind_Last, StreamPos_To, "Source")) // TODO: better handling
+ {
+ MI->Fill(StreamKind_Last, StreamPos_To, "Source_Original", MI->Retrieve(StreamKind_Last, StreamPos_To, "Source"));
+ MI->Fill(StreamKind_Last, StreamPos_To, "Source_Original_Kind", MI->Retrieve(StreamKind_Last, StreamPos_To, "Source_Kind"));
+ MI->Fill(StreamKind_Last, StreamPos_To, "Source_Original_Info", MI->Retrieve(StreamKind_Last, StreamPos_To, "Source_Info"));
+ }
+ MI->Clear(StreamKind_Last, StreamPos_To, "Source");
+ MI->Clear(StreamKind_Last, StreamPos_To, "Source_Kind");
+ MI->Clear(StreamKind_Last, StreamPos_To, "Source_Info");
+ }
+ MI->Fill(StreamKind_Last, StreamPos_To, "Source", Reference->Source);
}
for (std::map<string, Ztring>::iterator Info=Reference->Infos.begin(); Info!=Reference->Infos.end(); ++Info)
if (MI->Retrieve(StreamKind_Last, StreamPos_To, Info->first.c_str()).empty())
@@ -1434,7 +1486,9 @@ MediaInfo_Internal* File__ReferenceFilesHelper::MI_Create()
if (Config->Demux_Hevc_Transcode_Iso14496_15_to_AnnexB_Get())
MI_Temp->Option(__T("File_Demux_Hevc_Transcode_Iso14496_15_to_AnnexB"), __T("1"));
if (FrameRate)
- MI_Temp->Option(__T("File_Demux_Rate"), Ztring::ToZtring(FrameRate, 25));
+ MI_Temp->Option(__T("File_Demux_Rate"), Ztring::ToZtring(FrameRate));
+ else if (!Reference->CompleteDuration.empty() && Reference->CompleteDuration[0].IgnoreFramesRate) //TODO: per Pos
+ MI_Temp->Option(__T("File_Demux_Rate"), Ztring::ToZtring(Reference->CompleteDuration[0].IgnoreFramesRate));
switch (Config->Demux_InitData_Get())
{
case 0 : MI_Temp->Option(__T("File_Demux_InitData"), __T("Event")); break;
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Reader/Reader_File.cpp b/src/thirdparty/MediaInfo/MediaInfo/Reader/Reader_File.cpp
index ff5f40836..a17a9dc8b 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Reader/Reader_File.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Reader/Reader_File.cpp
@@ -517,7 +517,7 @@ size_t Reader_File::Format_Test_PerParser_Continue (MediaInfo_Internal* MI)
#if MEDIAINFO_ADVANCED2
MI->Open_Buffer_SegmentChange();
#endif //MEDIAINFO_ADVANCED2
- if (MI->Config.File_Names_Pos<MI->Config.File_Names.size())
+ if (MI->Config.File_Names_Pos && MI->Config.File_Names_Pos<MI->Config.File_Names.size())
{
MI->Config.File_Current_Offset+=MI->Config.File_Names_Pos<=MI->Config.File_Sizes.size()?MI->Config.File_Sizes[MI->Config.File_Names_Pos-1]:F.Size_Get();
F.Close();
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Setup.h b/src/thirdparty/MediaInfo/MediaInfo/Setup.h
index 98fcfb3c5..40d0e1d7a 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Setup.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Setup.h
@@ -671,6 +671,9 @@
#if !defined(MEDIAINFO_TEXT_NO) && !defined(MEDIAINFO_SCTE20_NO) && !defined(MEDIAINFO_SCTE20_YES)
#define MEDIAINFO_SCTE20_YES
#endif
+#if !defined(MEDIAINFO_TEXT_NO) && !defined(MEDIAINFO_SDP_NO) && !defined(MEDIAINFO_SDP_YES)
+ #define MEDIAINFO_SDP_YES
+#endif
#if !defined(MEDIAINFO_TEXT_NO) && !defined(MEDIAINFO_SUBRIP_NO) && !defined(MEDIAINFO_SUBRIP_YES)
#define MEDIAINFO_SUBRIP_YES
#endif
@@ -785,6 +788,9 @@
#if !defined(MEDIAINFO_TAG_NO) && !defined(MEDIAINFO_LYRICS3V2_NO) && !defined(MEDIAINFO_LYRICS3V2_YES)
#define MEDIAINFO_LYRICS3V2_YES
#endif
+#if !defined(MEDIAINFO_TAG_NO) && !defined(MEDIAINFO_PROPERTYLIST_NO) && !defined(MEDIAINFO_PROPERTYLIST_YES)
+ #define MEDIAINFO_PROPERTYLIST_YES
+#endif
#if !defined(MEDIAINFO_TAG_NO) && !defined(MEDIAINFO_VORBISCOM_NO) && !defined(MEDIAINFO_VORBISCOM_YES)
#define MEDIAINFO_VORBISCOM_YES
#endif
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.cpp b/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.cpp
new file mode 100644
index 000000000..7a983f3c8
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.cpp
@@ -0,0 +1,148 @@
+/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//---------------------------------------------------------------------------
+// Pre-compilation
+#include "MediaInfo/PreComp.h"
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Setup.h"
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#if defined(MEDIAINFO_PROPERTYLIST_YES)
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Tag/File_PropertyList.h"
+#include <cstring>
+#include "tinyxml2.h"
+using namespace tinyxml2;
+using namespace std;
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//***************************************************************************
+// Buffer - File header
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+const char* PropertyList_key(const string &key)
+{
+ if (key=="director" || key=="directors")
+ return "Director";
+ if (key=="codirector" || key=="codirectors")
+ return "CoDirector";
+ if (key=="producer" || key=="producers")
+ return "Producer";
+ if (key=="coproducer" || key=="coproducers")
+ return "CoProducer";
+ if (key=="screenwriter" || key=="screenwriters")
+ return "ScreenplayBy";
+ if (key=="studio" || key=="studios")
+ return "ProductionStudio";
+ if (key=="cast")
+ return "Actor";
+ return key.c_str();
+}
+
+//***************************************************************************
+// Buffer - File header
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+bool File_PropertyList::FileHeader_Begin()
+{
+ XMLDocument document;
+ if (!FileHeader_Begin_XML(document))
+ return false;
+
+ XMLElement* plist=document.FirstChildElement("plist");
+ if (!plist)
+ {
+ Reject("XMP");
+ return false;
+ }
+
+ XMLElement* dict=plist->FirstChildElement("dict");
+ if (!dict)
+ {
+ Reject("XMP");
+ return false;
+ }
+
+ Accept("PropertyList");
+
+ string key;
+ for (XMLElement* dict_Item=dict->FirstChildElement(); dict_Item; dict_Item=dict_Item->NextSiblingElement())
+ {
+ //key
+ if (!strcmp(dict_Item->Value(), "key"))
+ {
+ const char* Text=dict_Item->GetText();
+ if (Text)
+ key=Text;
+ }
+
+ //string
+ if (!strcmp(dict_Item->Value(), "string"))
+ {
+ const char* Text=dict_Item->GetText();
+ if (Text)
+ Fill(Stream_General, 0, PropertyList_key(key), Text);
+
+ key.clear();
+ }
+
+ //string
+ if (!strcmp(dict_Item->Value(), "array"))
+ {
+ for (XMLElement* array_Item=dict_Item->FirstChildElement(); array_Item; array_Item=array_Item->NextSiblingElement())
+ {
+ //dict
+ if (!strcmp(array_Item->Value(), "dict"))
+ {
+ string key2;
+ for (XMLElement* dict2_Item=array_Item->FirstChildElement(); dict2_Item; dict2_Item=dict2_Item->NextSiblingElement())
+ {
+ //key
+ if (!strcmp(dict2_Item->Value(), "key"))
+ {
+ const char* Text=dict2_Item->GetText();
+ if (Text)
+ key2=Text;
+ }
+
+ //string
+ if (!strcmp(dict2_Item->Value(), "string"))
+ {
+ const char* Text2=dict2_Item->GetText();
+ if (Text2)
+ Fill(Stream_General, 0, key2=="name"?PropertyList_key(key):((string(PropertyList_key(key))+", "+key2).c_str()), Text2);
+
+ key2.clear();
+ }
+ }
+ }
+ }
+
+ key.clear();
+ }
+ }
+
+ Finish();
+ return true;
+}
+
+} //NameSpace
+
+#endif //MEDIAINFO_PROPERTYLIST_YES
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.h b/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.h
new file mode 100644
index 000000000..eebbb6ca2
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Tag/File_PropertyList.h
@@ -0,0 +1,38 @@
+/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+//
+// Information about PropertyList files
+//
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//---------------------------------------------------------------------------
+#ifndef MediaInfo_File_PropertyListH
+#define MediaInfo_File_PropertyListH
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/File__Analyze.h"
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//***************************************************************************
+// Class File_PropertyList
+//***************************************************************************
+
+class File_PropertyList : public File__Analyze
+{
+private :
+ //Buffer - File header
+ bool FileHeader_Begin();
+};
+
+} //NameSpace
+
+#endif
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Eia708.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Eia708.cpp
index 666256f7e..ad5548c3c 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Eia708.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Eia708.cpp
@@ -164,7 +164,7 @@ void File_Eia708::Read_Buffer_Continue()
//---------------------------------------------------------------------------
void File_Eia708::Read_Buffer_Unsynched()
{
- for (int8u service_number=1; service_number<Streams.size(); service_number++)
+ for (service_number=1; service_number<Streams.size(); service_number++)
if (Streams[service_number])
{
//Per window
@@ -192,6 +192,12 @@ void File_Eia708::Read_Buffer_Unsynched()
}
}
}
+
+ #if MEDIAINFO_EVENTS
+ for (service_number=1; service_number<Streams.size(); service_number++)
+ if (Streams[service_number])
+ HasChanged();
+ #endif //MEDIAINFO_EVENTS
}
//***************************************************************************
@@ -1320,21 +1326,9 @@ void File_Eia708::DFx(int8u WindowID)
Window->Minimal.x=0;
Window->Minimal.y=0;
- if (Window->row_count>12)
- {
- Window->row_count=12; //Limitation of specifications
- }
- if (AspectRatio && Window->column_count>(int8u)(24*AspectRatio))
- {
- Window->column_count=(int8u)(24*AspectRatio); //Limitation of specifications
- }
- Window->Minimal.CC.resize(Window->row_count);
- for (int8u Pos_Y=0; Pos_Y<Window->row_count; Pos_Y++)
- Window->Minimal.CC[Pos_Y].resize(Window->column_count);
-
- if (Window->row_count>12)
+ if (Window->row_count>15)
{
- Window->row_count=12; //Limitation of specifications
+ Window->row_count=15; //Limitation of specifications
}
if (AspectRatio && Window->column_count>(int8u)(24*AspectRatio))
{
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_N19.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_N19.cpp
index f7cc9240d..7bc738d68 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_N19.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_N19.cpp
@@ -329,9 +329,7 @@ void File_N19::FileHeader_Parse()
}
}
Fill(Stream_Text, 0, Text_Width, MNC.To_int32u());
- Fill(Stream_Text, 0, Text_Width_String, Ztring::ToZtring(MNC.To_int32u())+__T(" characters"), true);
Fill(Stream_Text, 0, Text_Height, MNR.To_int32u());
- Fill(Stream_Text, 0, Text_Height_String, Ztring::ToZtring(MNR.To_int32u())+__T(" characters"), true);
Fill(Stream_Text, 0, Text_Language, N19_LanguageCode(LC));
//Init
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.cpp
new file mode 100644
index 000000000..d69abca6a
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.cpp
@@ -0,0 +1,251 @@
+/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//---------------------------------------------------------------------------
+// Pre-compilation
+#include "MediaInfo/PreComp.h"
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Setup.h"
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#if defined(MEDIAINFO_SDP_YES)
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/Text/File_Sdp.h"
+#include "MediaInfo/Text/File_Teletext.h"
+#include "MediaInfo/MediaInfo_Config_MediaInfo.h"
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//***************************************************************************
+// Constructor/Destructor
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+File_Sdp::File_Sdp()
+:File__Analyze()
+{
+ //Configuration
+ ParserName=__T("SDP");
+ #if MEDIAINFO_EVENTS
+ ParserIDs[0]=MediaInfo_Parser_Sdp;
+ StreamIDs_Width[0]=2;
+ #endif //MEDIAINFO_EVENTS
+ #if MEDIAINFO_TRACE
+ Trace_Layers_Update(8); //Stream
+ #endif //MEDIAINFO_TRACE
+ PTS_DTS_Needed=true;
+ MustSynchronize=true;
+}
+
+//---------------------------------------------------------------------------
+File_Sdp::~File_Sdp()
+{
+}
+
+//***************************************************************************
+// Streams management
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_Sdp::Streams_Fill()
+{
+ Fill(Stream_General, 0, General_Format, "SDP");
+}
+
+//---------------------------------------------------------------------------
+void File_Sdp::Streams_Finish()
+{
+ for (streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ if (Stream->second.Parser && Stream->first<0x80) //For the moment, we filter and use only field 1)
+ {
+ Finish(Stream->second.Parser);
+ Merge(*Stream->second.Parser);
+ //Fill(Stream_Text, StreamPos_Last, Text_ID, Ztring::ToZtring((Stream->first&0x80)?2:1)+__T('-')+Ztring::ToZtring(Stream->first&0x1F)+__T("-")+Stream->second.Parser->Get(Stream_Text, 0, Text_ID), true);
+ Fill(Stream_Text, StreamPos_Last, Text_ID, Stream->second.Parser->Get(Stream_Text, 0, Text_ID), true);
+ }
+ }
+}
+
+//***************************************************************************
+// Buffer - Synchro
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+bool File_Sdp::Synchronize()
+{
+ //Synchronizing
+ while (Buffer_Offset+3<=Buffer_Size)
+ {
+ while (Buffer_Offset+3<=Buffer_Size)
+ {
+ if (Buffer[Buffer_Offset ]==0x51
+ && Buffer[Buffer_Offset+1]==0x15)
+ break; //while()
+
+ Buffer_Offset++;
+ }
+
+ if (Buffer_Offset+3<=Buffer_Size) //Testing if size is coherant
+ {
+ if (Buffer_Offset+3+Buffer[Buffer_Offset+2]==Buffer_Size)
+ break;
+
+ if (Buffer_Offset+3+Buffer[Buffer_Offset+2]+3>Buffer_Size)
+ return false; //Wait for more data
+
+ if (Buffer[Buffer_Offset+3+Buffer[Buffer_Offset+2] ]==0x51
+ && Buffer[Buffer_Offset+3+Buffer[Buffer_Offset+2]+1]==0x15)
+ break; //while()
+
+ Buffer_Offset++;
+ }
+ }
+
+ //Must have enough buffer for having header
+ if (Buffer_Offset+3>=Buffer_Size)
+ return false;
+
+ //Synched is OK
+ if (!Status[IsAccepted])
+ {
+ //For the moment, we accept only if the file is in sync, the test is not strict enough
+ if (Buffer_Offset)
+ {
+ Reject();
+ return false;
+ }
+
+ Accept();
+ }
+ return true;
+}
+
+//---------------------------------------------------------------------------
+bool File_Sdp::Synched_Test()
+{
+ //Must have enough buffer for having header
+ if (Buffer_Offset+3>Buffer_Size)
+ return false;
+
+ //Quick test of synchro
+ if (Buffer[Buffer_Offset ]!=0x51
+ || Buffer[Buffer_Offset+1]!=0x15)
+ {
+ Synched=false;
+ return true;
+ }
+
+ //We continue
+ return true;
+}
+
+//***************************************************************************
+// Buffer - Global
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_Sdp::Read_Buffer_Unsynched()
+{
+ for (streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ if (Stream->second.Parser)
+ {
+ Stream->second.Parser->Open_Buffer_Unsynch();
+ }
+ }
+}
+
+//***************************************************************************
+// Buffer - Elements
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_Sdp::Header_Parse()
+{
+ //Parsing
+ int8u Length, FormatCode;
+ Skip_B2( "Identifier");
+ Get_B1 (Length, "Length");
+ Get_B1 (FormatCode, "Format Code");
+ for (int8u Pos=0; Pos<5; Pos++)
+ {
+ FieldLines[Pos]=0;
+ #if MEDIAINFO_TRACE
+ Element_Begin1("Field/Line");
+ BS_Begin();
+ Info_SB( Field, "Field Number");
+ Info_S1(2, Reserved, "Reserved");
+ Info_S1(5, Line, "Line Number");
+ BS_End();
+ FieldLines[Pos]=((Field?1:0)<<7) |(Reserved<<5) | Line; //Removing field information ((Field?1:0)<<7) |
+ if (FieldLines[Pos])
+ {
+ Element_Info1(Field?2:1);
+ Element_Info1(Line);
+ }
+ else
+ Element_Info1("None");
+ Element_End0();
+ #else //MEDIAINFO_TRACE
+ Get_B1(FieldLines[Pos], "Field/Line");
+ FieldLines[Pos]&=0x7F; //Removing field information
+ #endif //MEDIAINFO_TRACE
+ }
+
+ Header_Fill_Size(3+Length);
+}
+
+//---------------------------------------------------------------------------
+void File_Sdp::Data_Parse()
+{
+ Element_Name("Packet");
+
+ for (int8u Pos=0; Pos<5; Pos++)
+ {
+ if (FieldLines[Pos])
+ {
+ Element_Code=FieldLines[Pos];
+ stream &Stream=Streams[FieldLines[Pos]];
+ if (Stream.Parser==NULL)
+ {
+ Stream.Parser=new File_Teletext();
+ Stream.Parser->IsSubtitle=true;
+ Open_Buffer_Init(Stream.Parser);
+ }
+ if (Stream.Parser->PTS_DTS_Needed)
+ Stream.Parser->FrameInfo=FrameInfo;
+ Demux(Buffer+Buffer_Offset+Element_Offset, 45, ContentType_MainStream);
+ Open_Buffer_Continue(Stream.Parser, Buffer+Buffer_Offset+Element_Offset, 45);
+ Element_Offset+=45;
+ }
+ }
+
+ Element_Begin1("SDP Footer");
+ Skip_B1( "Footer ID");
+ Skip_B2( "Footer Sequence number");
+ Skip_B2( "SDP Cheksum");
+ Skip_B2( "SMPTE 291 Cheksum");
+ Element_End0();
+}
+
+//***************************************************************************
+// C++
+//***************************************************************************
+
+} //NameSpace
+
+#endif //MEDIAINFO_SDP_YES
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.h b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.h
new file mode 100644
index 000000000..2ecba06b2
--- /dev/null
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Sdp.h
@@ -0,0 +1,71 @@
+/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license that can
+ * be found in the License.html file in the root of the source tree.
+ */
+
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+//
+// Information about SDP streams
+//
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//---------------------------------------------------------------------------
+#ifndef MediaInfo_File_SdpH
+#define MediaInfo_File_SdpH
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "MediaInfo/File__Analyze.h"
+//---------------------------------------------------------------------------
+
+namespace MediaInfoLib
+{
+
+//***************************************************************************
+// Class File_Sdp
+//***************************************************************************
+
+class File_Teletext;
+
+class File_Sdp : public File__Analyze
+{
+public :
+ File_Sdp();
+ ~File_Sdp();
+
+private :
+ //Streams management
+ void Streams_Fill();
+ void Streams_Finish();
+
+ //Buffer - Synchro
+ bool Synchronize();
+ bool Synched_Test();
+
+ //Buffer - Global
+ void Read_Buffer_Unsynched();
+
+ //Buffer - Per element
+ void Header_Parse();
+ void Data_Parse();
+
+ //Temp
+ struct stream
+ {
+ File_Teletext* Parser;
+
+ stream()
+ :
+ Parser(NULL)
+ {
+ }
+ };
+ typedef std::map<int8u, stream> streams;
+ streams Streams;
+ int8u FieldLines[5];
+};
+
+} //NameSpace
+
+#endif
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.cpp
index 851646941..b382bfcbc 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.cpp
@@ -17,12 +17,16 @@
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
-#if defined(MEDIAINFO_DVBSUBTITLE_YES)
+#if defined(MEDIAINFO_TELETEXT_YES)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include "MediaInfo/Text/File_Teletext.h"
#include "MediaInfo/MediaInfo_Config_MediaInfo.h"
+#if MEDIAINFO_EVENTS
+ #include "MediaInfo/MediaInfo_Events_Internal.h"
+#endif //MEDIAINFO_EVENTS
+using namespace std;
//---------------------------------------------------------------------------
namespace MediaInfoLib
@@ -40,12 +44,21 @@ File_Teletext::File_Teletext()
ParserName=__T("Teletext");
#if MEDIAINFO_EVENTS
ParserIDs[0]=MediaInfo_Parser_Teletext;
+ StreamIDs_Width[0]=2;
#endif //MEDIAINFO_EVENTS
#if MEDIAINFO_TRACE
Trace_Layers_Update(8); //Stream
#endif //MEDIAINFO_TRACE
PTS_DTS_Needed=true;
IsRawStream=true;
+ MustSynchronize=true;
+
+ //In
+ #if defined(MEDIAINFO_MPEGPS_YES)
+ FromMpegPs=false;
+ Parser=NULL;
+ #endif
+ IsSubtitle=false;
}
//---------------------------------------------------------------------------
@@ -60,12 +73,104 @@ File_Teletext::~File_Teletext()
//---------------------------------------------------------------------------
void File_Teletext::Streams_Fill()
{
- Stream_Prepare(Stream_Text);
}
//---------------------------------------------------------------------------
void File_Teletext::Streams_Finish()
{
+ for (streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ Stream_Prepare(Stream_Text);
+ Fill(Stream_Text, StreamPos_Last, Text_Format, IsSubtitle?"Teletext Subtitle":"Teletext");
+ Fill(Stream_Text, StreamPos_Last, Text_ID, Ztring::ToZtring(Stream->first, 16));
+ }
+}
+
+//***************************************************************************
+// Buffer - Synchro
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+bool File_Teletext::Synchronize()
+{
+ //Synchronizing
+ while (Buffer_Offset+3<=Buffer_Size)
+ {
+ while (Buffer_Offset+3<=Buffer_Size)
+ {
+ if (Buffer[Buffer_Offset ]==0x55
+ && Buffer[Buffer_Offset+1]==0x55
+ && Buffer[Buffer_Offset+2]==0x27)
+ break; //while()
+
+ Buffer_Offset++;
+ }
+
+ if (Buffer_Offset+3<=Buffer_Size) //Testing if size is coherant
+ {
+ if (Buffer_Offset+45==Buffer_Size)
+ break;
+
+ if (Buffer_Offset+45+3>Buffer_Size)
+ return false; //Wait for more data
+
+ if (Buffer[Buffer_Offset ]==0x55
+ && Buffer[Buffer_Offset+1]==0x55
+ && Buffer[Buffer_Offset+2]==0x27)
+ break; //while()
+
+ Buffer_Offset++;
+ }
+ }
+
+ //Must have enough buffer for having header
+ if (Buffer_Offset+3>=Buffer_Size)
+ return false;
+
+ //Synched is OK
+ if (!Status[IsAccepted])
+ {
+ //For the moment, we accept only if the file is in sync, the test is not strict enough
+ if (Buffer_Offset)
+ {
+ Reject();
+ return false;
+ }
+
+ Accept();
+ }
+ return true;
+}
+
+//---------------------------------------------------------------------------
+bool File_Teletext::Synched_Test()
+{
+ //Must have enough buffer for having header
+ if (Buffer_Offset+3>Buffer_Size)
+ return false;
+
+ //Quick test of synchro
+ if (Buffer[Buffer_Offset ]!=0x55
+ || Buffer[Buffer_Offset+1]!=0x55
+ || Buffer[Buffer_Offset+2]!=0x27)
+ {
+ Synched=false;
+ return true;
+ }
+
+ //We continue
+ return true;
+}
+
+//---------------------------------------------------------------------------
+void File_Teletext::Synched_Init()
+{
+ //Stream
+ Stream_HasChanged=0;
+
+ //Temp
+ PageNumber=0xFF;
+ SubCode=0x3F7F;
}
//***************************************************************************
@@ -73,10 +178,436 @@ void File_Teletext::Streams_Finish()
//***************************************************************************
//---------------------------------------------------------------------------
+void File_Teletext::Read_Buffer_Unsynched()
+{
+ for (streams::iterator Stream=Streams.begin(); Stream!=Streams.end(); ++Stream)
+ {
+ Stream_HasChanged=0;
+ for (size_t PosY=0; PosY<26; ++PosY)
+ for (size_t PosX=0; PosX<40; ++PosX)
+ if (Stream->second.CC_Displayed_Values[PosY][PosX]!=L' ')
+ {
+ Stream->second.CC_Displayed_Values[PosY][PosX]=L' ';
+ Stream_HasChanged=Stream->first;
+ }
+
+ if (Stream_HasChanged)
+ {
+ HasChanged();
+ Stream_HasChanged=0;
+ }
+ }
+}
+
+static inline int8u ReverseBits(int8u c)
+{
+ // Input: bit order is 76543210
+ //Output: bit order is 01234567
+ c = (c & 0x0F) << 4 | (c & 0xF0) >> 4;
+ c = (c & 0x33) << 2 | (c & 0xCC) >> 2;
+ c = (c & 0x55) << 1 | (c & 0xAA) >> 1;
+ return c;
+}
+
+//---------------------------------------------------------------------------
void File_Teletext::Read_Buffer_Continue()
{
- Fill();
- Finish();
+ #if defined(MEDIAINFO_MPEGPS_YES)
+ if (FromMpegPs)
+ {
+ if (!Status[IsAccepted])
+ Accept();
+
+ Skip_B1( "data_identifier");
+ while (Element_Offset<Element_Size)
+ {
+ int8u data_unit_id, data_unit_length;
+ Get_B1 (data_unit_id, "data_unit_id");
+ Get_B1 (data_unit_length, "data_unit_length");
+ Skip_B1( "field/line");
+ if (data_unit_id==0x03 && data_unit_length==0x2C)
+ {
+ int8u Data[43];
+ for (int8u Pos=0; Pos<43; ++Pos)
+ Data[Pos]=ReverseBits(Buffer[Buffer_Offset+(size_t)Element_Offset+Pos]);
+
+ if (Parser==NULL)
+ {
+ Parser=new File_Teletext();
+ Parser->MustSynchronize=false;
+ Open_Buffer_Init(Parser);
+ }
+ Element_Code=data_unit_id;
+ int8u Temp[2];
+ Temp[0]=0x55;
+ Temp[1]=0x55;
+ Demux(Temp, 2, ContentType_MainStream);
+ Demux(Data, 43, ContentType_MainStream);
+ Open_Buffer_Continue(Parser, Data, 43);
+ Element_Offset+=43;
+ }
+ else
+ Skip_XX(data_unit_length-1, "Data");
+ }
+ }
+ #endif
+}
+
+//***************************************************************************
+// Elements
+//***************************************************************************
+
+//---------------------------------------------------------------------------
+void File_Teletext::Header_Parse()
+{
+ //Parsing
+ if (MustSynchronize)
+ Skip_B2( "Clock run-in");
+ Skip_B1( "Framing code");
+
+ //Magazine and Packet Number (for all packets)
+ X=0, Y=0;
+ bool P1, D1, P2, D2, P3, D3, P4, D4;
+ bool B;
+ BS_Begin_LE();
+ Element_Begin1("Magazine (X or M)");
+ Get_TB (P1, "Hamming 8/4");
+ Get_TB (D1, "Magazine 0");
+ if (D1)
+ X|=1<<0;
+ Get_TB (P2, "Hamming 8/4");
+ Get_TB (D2, "Magazine 1");
+ if (D2)
+ X|=1<<1;
+ Get_TB (P3, "Hamming 8/4");
+ Get_TB (D3, "Magazine 2");
+ if (D3)
+ X|=1<<2;
+ Element_Info1(X);
+ Element_End0();
+ Element_Begin1("Packet Number (Y)");
+ Get_TB (P4, "Hamming 8/4");
+ Get_TB (D4, "Packet Number 0");
+ if (D4)
+ Y|=1<<0;
+ /*
+ {
+ //Hamming 8/4
+ bool A=P1^D1^D3^D4;
+ bool B=D1^P2^D2^D4;
+ bool C=D1^D2^P3^D3;
+ bool D=P1^D1^P2^D2^P3^D3^P4^D4;
+ if (A && B && C && D)
+ {
+ }
+ else
+ {
+ }
+ }
+ */
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Packet Number 1");
+ if (B)
+ Y|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Packet Number 2");
+ if (B)
+ Y|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Packet Number 3");
+ if (B)
+ Y|=1<<3;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Packet Number 4");
+ if (B)
+ Y|=1<<4;
+ if (X==0)
+ X=8; // A packet with a magazine value of 0 is referred to as belonging to magazine 8
+ Element_Info1(Y);
+ Element_End0();
+
+ //Page header
+ if (Y==0)
+ {
+ C.reset();
+
+ Element_Begin1("Page header");
+ int8u PU=0, PT=0;
+ bool B;
+ Element_Begin1("Page Units");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Units 0");
+ if (B)
+ PU|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Units 1");
+ if (B)
+ PU|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Units 2");
+ if (B)
+ PU|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Units 3");
+ if (B)
+ PU|=1<<3;
+ Element_Info1(PU);
+ Element_End0();
+ Element_Begin1("Page Tens");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Tens 0");
+ if (B)
+ PT|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Tens 1");
+ if (B)
+ PT|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Tens 2");
+ if (B)
+ PT|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "Page Tens 3");
+ if (B)
+ PT|=1<<3;
+ Element_Info1(PT);
+ Element_End0();
+ PageNumber=(PT<<4)|PU;
+ Element_Info1(Ztring::ToZtring(PageNumber, 16));
+
+ int8u S1=0, S2=0, S3=0, S4=0;
+ Element_Begin1("Page sub-code 1");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S1 0");
+ if (B)
+ S1|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S1 1");
+ if (B)
+ S1|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S1 2");
+ if (B)
+ S1|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S1 3");
+ if (B)
+ S1|=1<<3;
+ Element_Info1(S1);
+ Element_End0();
+ Element_Begin1("Page sub-code 2");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S2 0");
+ if (B)
+ S2|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S2 1");
+ if (B)
+ S2|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S2 2");
+ if (B)
+ S2|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C4 - Erase Page");
+ if (B)
+ C[4]=true;
+ Element_Info1(S2);
+ Element_End0();
+ Element_Begin1("Page sub-code 3");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S3 0");
+ if (B)
+ S3|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S3 1");
+ if (B)
+ S3|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S3 2");
+ if (B)
+ S3|=1<<2;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S3 3");
+ if (B)
+ S3|=1<<3;
+ Element_Info1(S3);
+ Element_End0();
+ Element_Begin1("Page sub-code 4");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S4 0");
+ if (B)
+ S4|=1<<0;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "S4 1");
+ if (B)
+ S4|=1<<1;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C5 - Newsflash");
+ if (B)
+ C[5]=true;
+ #if MEDIAINFO_TRACE
+ if (B)
+ Element_Info1("Newsflash");
+ #endif //MEDIAINFO_TRACE
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C6 - Subtitle");
+ if (B)
+ C[6]=true;
+ Element_Info1(S4);
+ Element_End0();
+ Element_Begin1("Control bits");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C7 - Suppress Header");
+ if (B)
+ C[7]=true;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C8 - Update Indicator");
+ if (B)
+ C[8]=true;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C9 - Interrupted Sequence");
+ if (B)
+ C[9]=true;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C10 - Inhibit Display");
+ if (B)
+ C[10]=true;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C11 - Magazine Serial");
+ if (B)
+ C[11]=true;
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C12 - Character Subset");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C13 - Character Subset");
+ Skip_TB( "Hamming 8/4");
+ Get_TB (B, "C14 - Character Subset");
+ Element_End0();
+
+ SubCode=(S4<<12)|(S3<<8)|(S2<<4)|S1;
+
+ Element_End0();
+ }
+ BS_End_LE();
+
+ #if MEDIAINFO_TRACE
+ if (C[4])
+ Element_Info1("Erase Page");
+ if (C[5])
+ Element_Info1("Newsflash");
+ if (C[6])
+ Element_Info1("Subtitle");
+ if (C[7])
+ Element_Info1("Suppress Header");
+ if (C[8])
+ Element_Info1("Update Indicator");
+ if (C[9])
+ Element_Info1("Interrupted Sequence");
+ if (C[10])
+ Element_Info1("Inhibit Display");
+ if (C[11])
+ Element_Info1("Magazine Serial");
+ Element_Info1(Ztring::ToZtring((X<<8)|PageNumber, 16)+__T(':')+Ztring().From_CC2(SubCode));
+ Element_Info1(Y);
+ #endif // MEDIAINFO_TRACE
+
+ Header_Fill_Size(45);
+
+ if (Y==0)
+ {
+ if (Stream_HasChanged)
+ {
+ HasChanged();
+ Stream_HasChanged=0;
+ }
+
+ if (C[4])
+ {
+ stream &Stream=Streams[(X<<8)|PageNumber];
+ for (size_t PosY=0; PosY<26; ++PosY)
+ for (size_t PosX=0; PosX<40; ++PosX)
+ if (Stream.CC_Displayed_Values[PosY][PosX]!=L' ')
+ {
+ Stream.CC_Displayed_Values[PosY][PosX]=L' ';
+ Stream_HasChanged=(X<<8)|PageNumber;
+ }
+ }
+ }
+}
+
+//---------------------------------------------------------------------------
+void File_Teletext::Data_Parse()
+{
+ if (PageNumber==0xFF)
+ {
+ Skip_XX(Y?40:32, "Junk");
+ }
+ else if (Y>=26)
+ {
+ Skip_XX(40, "Special commands");
+ }
+ else
+ {
+ Element_Begin1("Data bytes");
+ stream &Stream=Streams[(X<<8)|PageNumber];
+ size_t PosX=Y?0:8;
+ for (; PosX<40; ++PosX)
+ {
+ int8u byte;
+ Get_B1(byte, "Byte");
+ byte&=0x7F;
+ if (byte<0x20)
+ byte=0x20;
+ Param_Info1(Ztring().From_Local((const char*)&byte, 1));
+ if (byte!=Stream.CC_Displayed_Values[Y][PosX] && (!C[7] || Y)) // C[7] is "Suppress Header", to be tested when Y==0
+ {
+ Stream.CC_Displayed_Values[Y][PosX]=byte;
+ Stream_HasChanged=(X<<8)|PageNumber;
+ }
+ }
+ Element_End0();
+ }
+
+ #if MEDIAINFO_TRACE
+ if (PageNumber==0xFF)
+ {
+ Element_Name("Skip");
+ }
+ else
+ {
+ Element_Name(Ztring::ToZtring((X<<8)|PageNumber, 16)+__T(':')+Ztring().From_CC2(SubCode));
+ Element_Info1(Y);
+ if (Y<26)
+ {
+ Element_Info1(Streams[(X<<8)|PageNumber].CC_Displayed_Values[Y].c_str());
+ if (Y==0)
+ {
+ if (C[4])
+ Element_Info1("Erase Page");
+ if (C[5])
+ Element_Info1("Newsflash");
+ if (C[6])
+ Element_Info1("Subtitle");
+ if (C[7])
+ Element_Info1("Suppress Header");
+ if (C[8])
+ Element_Info1("Update Indicator");
+ if (C[9])
+ Element_Info1("Interrupted Sequence");
+ if (C[10])
+ Element_Info1("Inhibit Display");
+ if (C[11])
+ Element_Info1("Magazine Serial");
+ }
+ }
+ }
+ #endif //MEDIAINFO_TRACE
+}
+
+//---------------------------------------------------------------------------
+void File_Teletext::HasChanged()
+{
}
//***************************************************************************
@@ -85,4 +616,4 @@ void File_Teletext::Read_Buffer_Continue()
} //NameSpace
-#endif //MEDIAINFO_DVBSUBTITLE_YES
+#endif //MEDIAINFO_TELETEXT_YES
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.h b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.h
index e52f3dede..b0c4da035 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Teletext.h
@@ -17,6 +17,8 @@
//---------------------------------------------------------------------------
#include "MediaInfo/File__Analyze.h"
+#include <bitset>
+#include <string>
//---------------------------------------------------------------------------
namespace MediaInfoLib
@@ -32,13 +34,70 @@ public :
File_Teletext();
~File_Teletext();
+ //In
+ #if defined(MEDIAINFO_MPEGPS_YES)
+ bool FromMpegPs;
+ #endif
+ bool IsSubtitle;
+
private :
//Streams management
void Streams_Fill();
void Streams_Finish();
+ //Buffer - Synchro
+ bool Synchronize();
+ bool Synched_Test();
+ void Synched_Init();
+
//Buffer - Global
+ void Read_Buffer_Unsynched();
void Read_Buffer_Continue();
+
+ //Buffer - Per element
+ void Header_Parse();
+ void Data_Parse();
+
+ //Elements
+ void Character_Fill(wchar_t Character);
+ void HasChanged();
+
+ //Streams
+ struct stream
+ {
+ vector<std::wstring> CC_Displayed_Values;
+
+ stream()
+ {
+ CC_Displayed_Values.resize(26);
+ for (size_t PosY=0; PosY<26; ++PosY)
+ CC_Displayed_Values[PosY].resize(40, L' ');
+ }
+
+ void Clear()
+ {
+ for (size_t PosY=0; PosY<26; ++PosY)
+ for (size_t PosX=0; PosX<40; ++PosX)
+ CC_Displayed_Values[PosY][PosX]=L' ';
+ }
+
+ };
+ typedef map<int16u, stream> streams; //Key is Magazine+PageNumber
+ streams Streams;
+ int16u Stream_HasChanged;
+
+ //Temp
+ int8u X;
+ int8u Y;
+ std::bitset<16> C;
+ int8u PageNumber;
+ int16u SubCode;
+ int64u End;
+
+ //Ancillary
+ #if defined(MEDIAINFO_MPEGPS_YES)
+ File_Teletext* Parser;
+ #endif
};
} //NameSpace
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_TimedText.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_TimedText.cpp
index 0c3c2c8d8..9a0890073 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_TimedText.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_TimedText.cpp
@@ -59,6 +59,8 @@ void File_TimedText::Header_Parse()
//Filling
Header_Fill_Code(0, "Block");
Header_Fill_Size(Element_Offset+Size);
+
+ //TODO: if IsChapter, it may be UTF-16 (with BOM), it may also be followed by an encd atom (e.g. for UTF-8 00 00 00 0C 65 6E 63 64 00 00 01 00)
}
//---------------------------------------------------------------------------
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.cpp b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.cpp
index fd4276d2f..b689680ce 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.cpp
@@ -120,10 +120,15 @@ void File_Ttml::Streams_Accept()
//***************************************************************************
//---------------------------------------------------------------------------
+void File_Ttml::Read_Buffer_Unsynched()
+{
+ GoTo(0);
+}
+
+//---------------------------------------------------------------------------
#if MEDIAINFO_SEEK
size_t File_Ttml::Read_Buffer_Seek (size_t Method, int64u Value, int64u ID)
{
- GoTo(0);
Open_Buffer_Unsynch();
return 1;
}
@@ -163,6 +168,8 @@ void File_Ttml::Read_Buffer_Continue()
MuxingMode=(int8u)-1;
if (StreamIDs_Size>=2 && ParserIDs[StreamIDs_Size-2]==MediaInfo_Parser_Mpeg4)
MuxingMode=11; //MPEG-4
+ if (StreamIDs_Size>2 && ParserIDs[StreamIDs_Size-2]==MediaInfo_Parser_Mxf) //Only if referenced MXF
+ MuxingMode=13; //MXF
#endif MEDIAINFO_EVENTS
}
@@ -224,8 +231,13 @@ void File_Ttml::Read_Buffer_Continue()
Attribute=p->Attribute("end");
if (Attribute)
DTS_End=Ttml_str2timecode(Attribute);
+ string ContentUtf8;
+ XMLPrinter printer;
+ p->Accept(&printer);
+ ContentUtf8+=printer.CStr();
+ while (!ContentUtf8.empty() && (ContentUtf8[ContentUtf8.size()-1]=='\r' || ContentUtf8[ContentUtf8.size()-1]=='\n'))
+ ContentUtf8.resize(ContentUtf8.size()-1);
Ztring Content; if (p->FirstChild()) Content.From_UTF8(p->FirstChild()->Value());
-
Frame_Count++;
}
}
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.h b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.h
index 6d01d633c..60d16cba6 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Text/File_Ttml.h
@@ -49,6 +49,7 @@ private :
bool FileHeader_Begin();
//Buffer - Global
+ void Read_Buffer_Unsynched();
#if MEDIAINFO_SEEK
size_t Read_Buffer_Seek (size_t Method, int64u Value, int64u ID);
#endif //MEDIAINFO_SEEK
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.cpp b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.cpp
index ce732d833..01895cdf3 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.cpp
@@ -131,6 +131,13 @@ extern const char* Avc_video_format[]=
};
//---------------------------------------------------------------------------
+extern const char* Avc_video_full_range[]=
+{
+ "Limited",
+ "Full",
+};
+
+//---------------------------------------------------------------------------
const char* Avc_primary_pic_type[]=
{
"I",
@@ -400,6 +407,7 @@ void File_Avc::Streams_Fill(std::vector<seq_parameter_set_struct*>::iterator seq
if ((*seq_parameter_set_Item)->vui_parameters->video_signal_type_present_flag)
{
Fill(Stream_Video, 0, Video_Standard, Avc_video_format[(*seq_parameter_set_Item)->vui_parameters->video_format]);
+ Fill(Stream_Video, 0, Video_colour_range, Avc_video_full_range[(*seq_parameter_set_Item)->vui_parameters->video_full_range_flag]);
if ((*seq_parameter_set_Item)->vui_parameters->colour_description_present_flag)
{
Fill(Stream_Video, 0, Video_colour_description_present, "Yes");
@@ -463,7 +471,18 @@ void File_Avc::Streams_Fill(std::vector<seq_parameter_set_struct*>::iterator seq
Fill(Stream_Video, 0, Video_Format, "AVC");
Fill(Stream_Video, 0, Video_Codec, "AVC");
- Ztring Profile=Ztring().From_Local(Avc_profile_idc((*seq_parameter_set_Item)->profile_idc))+__T("@L")+Ztring().From_Number(((float)(*seq_parameter_set_Item)->level_idc)/10, 1);
+ Ztring Profile=Ztring().From_Local(Avc_profile_idc((*seq_parameter_set_Item)->profile_idc));
+ switch ((*seq_parameter_set_Item)->profile_idc)
+ {
+ case 44 : // CAVLC 4:4:4 Intra
+ case 100 : // High
+ case 110 : // High 10
+ case 122 : // High 4:2:2"
+ case 244 : // High 4:4:4 Predictive
+ if ((*seq_parameter_set_Item)->constraint_set3_flag)
+ Profile+=__T(" Intra");
+ }
+ Profile+=__T("@L")+Ztring().From_Number(((float)(*seq_parameter_set_Item)->level_idc)/10, 1);
Fill(Stream_Video, 0, Video_Format_Profile, Profile);
Fill(Stream_Video, 0, Video_Codec_Profile, Profile);
Fill(Stream_Video, StreamPos_Last, Video_Width, Width);
@@ -517,6 +536,21 @@ void File_Avc::Streams_Fill(std::vector<seq_parameter_set_struct*>::iterator seq
string Result=ScanOrder_Detect(ScanOrders);
if (!Result.empty())
Fill(Stream_Video, 0, Video_Interlacement, Result, true, true);
+ else
+ {
+ switch ((*seq_parameter_set_Item)->pic_struct_FirstDetected)
+ {
+ case 1 :
+ case 3 :
+ Fill(Stream_Video, 0, Video_ScanOrder, (string) "TFF");
+ break;
+ case 2 :
+ case 4 :
+ Fill(Stream_Video, 0, Video_ScanOrder, (string) "BFF");
+ break;
+ default : ;
+ }
+ }
}
Fill(Stream_Video, 0, Video_Format_Settings_GOP, GOP_Detect(PictureTypes));
@@ -3374,7 +3408,7 @@ void File_Avc::vui_parameters(seq_parameter_set_struct::vui_parameters_struct* &
seq_parameter_set_struct::vui_parameters_struct::bitstream_restriction_struct* bitstream_restriction=NULL;
int32u num_units_in_tick=(int32u)-1, time_scale=(int32u)-1;
int16u sar_width=(int16u)-1, sar_height=(int16u)-1;
- int8u aspect_ratio_idc=0, video_format=5, colour_primaries=2, transfer_characteristics=2, matrix_coefficients=2;
+ int8u aspect_ratio_idc=0, video_format=5, video_full_range_flag = 0, colour_primaries=2, transfer_characteristics=2, matrix_coefficients=2;
bool aspect_ratio_info_present_flag, video_signal_type_present_flag, colour_description_present_flag=false, timing_info_present_flag, fixed_frame_rate_flag=false, nal_hrd_parameters_present_flag, vcl_hrd_parameters_present_flag, pic_struct_present_flag;
TEST_SB_GET (aspect_ratio_info_present_flag, "aspect_ratio_info_present_flag");
Get_S1 (8, aspect_ratio_idc, "aspect_ratio_idc"); Param_Info1C((aspect_ratio_idc<Avc_PixelAspectRatio_Size), Avc_PixelAspectRatio[aspect_ratio_idc]);
@@ -3389,7 +3423,7 @@ void File_Avc::vui_parameters(seq_parameter_set_struct::vui_parameters_struct* &
TEST_SB_END();
TEST_SB_GET (video_signal_type_present_flag, "video_signal_type_present_flag");
Get_S1 (3, video_format, "video_format"); Param_Info1(Avc_video_format[video_format]);
- Skip_SB( "video_full_range_flag");
+ Get_S1 (1, video_full_range_flag, "video_full_range_flag"); Param_Info1(Avc_video_full_range[video_full_range_flag]);
TEST_SB_GET (colour_description_present_flag, "colour_description_present_flag");
Get_S1 (8, colour_primaries, "colour_primaries"); Param_Info1(Mpegv_colour_primaries(colour_primaries));
Get_S1 (8, transfer_characteristics, "transfer_characteristics"); Param_Info1(Mpegv_transfer_characteristics(transfer_characteristics));
@@ -3440,6 +3474,7 @@ void File_Avc::vui_parameters(seq_parameter_set_struct::vui_parameters_struct* &
sar_height,
aspect_ratio_idc,
video_format,
+ video_full_range_flag,
colour_primaries,
transfer_characteristics,
matrix_coefficients,
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.h b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.h
index dfb06033b..2bb03f90e 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Avc.h
@@ -143,6 +143,7 @@ private :
int16u sar_height;
int8u aspect_ratio_idc;
int8u video_format;
+ int8u video_full_range_flag;
int8u colour_primaries;
int8u transfer_characteristics;
int8u matrix_coefficients;
@@ -153,7 +154,7 @@ private :
bool fixed_frame_rate_flag;
bool pic_struct_present_flag;
- vui_parameters_struct(xxl* NAL_, xxl* VCL_, bitstream_restriction_struct* bitstream_restriction_, int32u num_units_in_tick_, int32u time_scale_, int16u sar_width_, int16u sar_height_, int8u aspect_ratio_idc_, int8u video_format_, int8u colour_primaries_, int8u transfer_characteristics_, int8u matrix_coefficients_, bool aspect_ratio_info_present_flag_, bool video_signal_type_present_flag_, bool colour_description_present_flag_, bool timing_info_present_flag_, bool fixed_frame_rate_flag_, bool pic_struct_present_flag_)
+ vui_parameters_struct(xxl* NAL_, xxl* VCL_, bitstream_restriction_struct* bitstream_restriction_, int32u num_units_in_tick_, int32u time_scale_, int16u sar_width_, int16u sar_height_, int8u aspect_ratio_idc_, int8u video_format_, int8u video_full_range_flag_, int8u colour_primaries_, int8u transfer_characteristics_, int8u matrix_coefficients_, bool aspect_ratio_info_present_flag_, bool video_signal_type_present_flag_, bool colour_description_present_flag_, bool timing_info_present_flag_, bool fixed_frame_rate_flag_, bool pic_struct_present_flag_)
:
NAL(NAL_),
VCL(VCL_),
@@ -164,6 +165,7 @@ private :
sar_height(sar_height_),
aspect_ratio_idc(aspect_ratio_idc_),
video_format(video_format_),
+ video_full_range_flag(video_full_range_flag_),
colour_primaries(colour_primaries_),
transfer_characteristics(transfer_characteristics_),
matrix_coefficients(matrix_coefficients_),
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.cpp b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.cpp
index cf25daba4..0f276c03b 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.cpp
@@ -4,6 +4,12 @@
* be found in the License.html file in the root of the source tree.
*/
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+//
+// Contributor: Lionel Duchateau, kurtnoise@free.fr
+//
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
//---------------------------------------------------------------------------
// Pre-compilation
#include "MediaInfo/PreComp.h"
@@ -119,6 +125,7 @@ extern const char* Mpegv_matrix_coefficients(int8u matrix_coefficients);
extern const int8u Avc_PixelAspectRatio_Size;
extern const float32 Avc_PixelAspectRatio[];
extern const char* Avc_video_format[];
+extern const char* Avc_video_full_range[];
//***************************************************************************
// Constructor/Destructor
@@ -214,8 +221,6 @@ void File_Hevc::Streams_Fill(std::vector<seq_parameter_set_struct*>::iterator se
Fill(Stream_Video, 0, Video_Codec_Profile, Profile);
Fill(Stream_Video, StreamPos_Last, Video_Width, Width);
Fill(Stream_Video, StreamPos_Last, Video_Height, Height);
- //Fill(Stream_Video, 0, Video_PixelAspectRatio, PixelAspectRatio, 3, true);
- //Fill(Stream_Video, 0, Video_DisplayAspectRatio, Width*PixelAspectRatio/Height, 3, true); //More precise
Fill(Stream_Video, 0, Video_ColorSpace, "YUV");
Fill(Stream_Video, 0, Video_Colorimetry, Hevc_chroma_format_idc((*seq_parameter_set_Item)->chroma_format_idc));
@@ -224,11 +229,37 @@ void File_Hevc::Streams_Fill(std::vector<seq_parameter_set_struct*>::iterator se
if ((*seq_parameter_set_Item)->vui_parameters)
{
- if ((*seq_parameter_set_Item)->vui_parameters->timing_info_present_flag)
+ if ((*seq_parameter_set_Item)->vui_parameters->timing_info_present_flag)
+ {
+ if ((*seq_parameter_set_Item)->vui_parameters->time_scale && (*seq_parameter_set_Item)->vui_parameters->num_units_in_tick)
+ Fill(Stream_Video, StreamPos_Last, Video_FrameRate, (float64)(*seq_parameter_set_Item)->vui_parameters->time_scale / (*seq_parameter_set_Item)->vui_parameters->num_units_in_tick);
+ }
+
+ if ((*seq_parameter_set_Item)->vui_parameters->aspect_ratio_info_present_flag)
+ {
+ float64 PixelAspectRatio = 1;
+ if ((*seq_parameter_set_Item)->vui_parameters->aspect_ratio_idc<Avc_PixelAspectRatio_Size)
+ PixelAspectRatio = Avc_PixelAspectRatio[(*seq_parameter_set_Item)->vui_parameters->aspect_ratio_idc];
+ else if ((*seq_parameter_set_Item)->vui_parameters->aspect_ratio_idc == 0xFF && (*seq_parameter_set_Item)->vui_parameters->sar_height)
+ PixelAspectRatio = ((float64) (*seq_parameter_set_Item)->vui_parameters->sar_width) / (*seq_parameter_set_Item)->vui_parameters->sar_height;
+
+ Fill(Stream_Video, 0, Video_PixelAspectRatio, PixelAspectRatio, 3, true);
+ Fill(Stream_Video, 0, Video_DisplayAspectRatio, Width*PixelAspectRatio/Height, 3, true); //More precise
+ }
+
+ //Colour description
+ if ((*seq_parameter_set_Item)->vui_parameters->video_signal_type_present_flag)
+ {
+ Fill(Stream_Video, 0, Video_Standard, Avc_video_format[(*seq_parameter_set_Item)->vui_parameters->video_format]);
+ Fill(Stream_Video, 0, Video_colour_range, Avc_video_full_range[(*seq_parameter_set_Item)->vui_parameters->video_full_range_flag]);
+ if ((*seq_parameter_set_Item)->vui_parameters->colour_description_present_flag)
{
- if ((*seq_parameter_set_Item)->vui_parameters->time_scale && (*seq_parameter_set_Item)->vui_parameters->num_units_in_tick)
- Fill(Stream_Video, StreamPos_Last, Video_FrameRate, (float64)(*seq_parameter_set_Item)->vui_parameters->time_scale / (*seq_parameter_set_Item)->vui_parameters->num_units_in_tick);
+ Fill(Stream_Video, 0, Video_colour_description_present, "Yes");
+ Fill(Stream_Video, 0, Video_colour_primaries, Mpegv_colour_primaries((*seq_parameter_set_Item)->vui_parameters->colour_primaries));
+ Fill(Stream_Video, 0, Video_transfer_characteristics, Mpegv_transfer_characteristics((*seq_parameter_set_Item)->vui_parameters->transfer_characteristics));
+ Fill(Stream_Video, 0, Video_matrix_coefficients, Mpegv_matrix_coefficients((*seq_parameter_set_Item)->vui_parameters->matrix_coefficients));
}
+ }
}
}
@@ -2188,7 +2219,7 @@ void File_Hevc::vui_parameters(std::vector<video_parameter_set_struct*>::iterato
seq_parameter_set_struct::vui_parameters_struct::xxl *NAL = NULL, *VCL = NULL;
int32u num_units_in_tick = (int32u)-1, time_scale = (int32u)-1;
int16u sar_width=(int16u)-1, sar_height=(int16u)-1;
- int8u aspect_ratio_idc=0, video_format=5, colour_primaries=2, transfer_characteristics=2, matrix_coefficients=2;
+ int8u aspect_ratio_idc=0, video_format=5, video_full_range_flag=0, colour_primaries=2, transfer_characteristics=2, matrix_coefficients=2;
bool aspect_ratio_info_present_flag, video_signal_type_present_flag, frame_field_info_present_flag, colour_description_present_flag=false, timing_info_present_flag;
TEST_SB_GET (aspect_ratio_info_present_flag, "aspect_ratio_info_present_flag");
Get_S1 (8, aspect_ratio_idc, "aspect_ratio_idc"); Param_Info1C((aspect_ratio_idc<Avc_PixelAspectRatio_Size), Avc_PixelAspectRatio[aspect_ratio_idc]);
@@ -2203,7 +2234,7 @@ void File_Hevc::vui_parameters(std::vector<video_parameter_set_struct*>::iterato
TEST_SB_END();
TEST_SB_GET (video_signal_type_present_flag, "video_signal_type_present_flag");
Get_S1 (3, video_format, "video_format"); Param_Info1(Avc_video_format[video_format]);
- Skip_SB( "video_full_range_flag");
+ Get_S1 (1, video_full_range_flag, "video_full_range_flag"); Param_Info1(Avc_video_full_range[video_full_range_flag]);
TEST_SB_GET (colour_description_present_flag, "colour_description_present_flag");
Get_S1 (8, colour_primaries, "colour_primaries"); Param_Info1(Mpegv_colour_primaries(colour_primaries));
Get_S1 (8, transfer_characteristics, "transfer_characteristics"); Param_Info1(Mpegv_transfer_characteristics(transfer_characteristics));
@@ -2255,6 +2286,7 @@ void File_Hevc::vui_parameters(std::vector<video_parameter_set_struct*>::iterato
sar_height,
aspect_ratio_idc,
video_format,
+ video_full_range_flag,
colour_primaries,
transfer_characteristics,
matrix_coefficients,
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.h b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.h
index 033d0f559..f58a3d94a 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Hevc.h
@@ -175,6 +175,7 @@ private :
int16u sar_height;
int8u aspect_ratio_idc;
int8u video_format;
+ int8u video_full_range_flag;
int8u colour_primaries;
int8u transfer_characteristics;
int8u matrix_coefficients;
@@ -184,7 +185,7 @@ private :
bool colour_description_present_flag;
bool timing_info_present_flag;
- vui_parameters_struct(xxl* NAL_, xxl* VCL_, xxl_common* xxL_Common_, int32u num_units_in_tick_, int32u time_scale_, int16u sar_width_, int16u sar_height_, int8u aspect_ratio_idc_, int8u video_format_, int8u colour_primaries_, int8u transfer_characteristics_, int8u matrix_coefficients_, bool aspect_ratio_info_present_flag_, bool video_signal_type_present_flag_, bool frame_field_info_present_flag_, bool colour_description_present_flag_, bool timing_info_present_flag_)
+ vui_parameters_struct(xxl* NAL_, xxl* VCL_, xxl_common* xxL_Common_, int32u num_units_in_tick_, int32u time_scale_, int16u sar_width_, int16u sar_height_, int8u aspect_ratio_idc_, int8u video_format_, int8u video_full_range_flag_, int8u colour_primaries_, int8u transfer_characteristics_, int8u matrix_coefficients_, bool aspect_ratio_info_present_flag_, bool video_signal_type_present_flag_, bool frame_field_info_present_flag_, bool colour_description_present_flag_, bool timing_info_present_flag_)
:
NAL(NAL_),
VCL(VCL_),
@@ -195,6 +196,7 @@ private :
sar_height(sar_height_),
aspect_ratio_idc(aspect_ratio_idc_),
video_format(video_format_),
+ video_full_range_flag(video_full_range_flag_),
colour_primaries(colour_primaries_),
transfer_characteristics(transfer_characteristics_),
matrix_coefficients(matrix_coefficients_),
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.cpp b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.cpp
index ac498960c..a901dee25 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.cpp
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.cpp
@@ -1386,6 +1386,23 @@ void File_Mpegv::Streams_Fill()
Fill(Stream_Video, 0, Video_Delay_Source, "Stream");
Fill(Stream_Video, 0, Video_Delay_DropFrame, group_start_drop_frame_flag?"Yes":"No");
+ if (group_start_closed_gop_Closed+group_start_closed_gop_Open>=4
+ && ((group_start_closed_gop && group_start_closed_gop_Closed==1)
+ || group_start_closed_gop_Closed==0
+ || group_start_closed_gop_Open==0)) // Testing a couple of GOPs, and coherant
+ {
+ if (group_start_closed_gop_Open)
+ {
+ Fill(Stream_Video, 0, "Gop_OpenClosed", "Open");
+ if (group_start_closed_gop)
+ Fill(Stream_Video, 0, "Gop_OpenClosed_FirstFrame", "Closed");
+ }
+ else
+ {
+ Fill(Stream_Video, 0, "Gop_OpenClosed", "Closed");
+ }
+ }
+
Fill(Stream_Video, 0, Video_TimeCode_FirstFrame, TimeCode_FirstFrame.c_str());
if (IsSub)
Fill(Stream_Video, 0, Video_TimeCode_Source, "Group of pictures header");
@@ -1842,7 +1859,7 @@ bool File_Mpegv::Demux_UnpacketizeContainer_Test()
Demux_Offset=Buffer_Offset;
Demux_IntermediateItemFound=false;
}
- if (ParserIDs[0]==MediaInfo_Parser_Mxf)
+ if (IsSub && ParserIDs[0]==MediaInfo_Parser_Mxf) //TODO: find a better way to demux, currently implemeted this way because we need I-frame status info from MXF
{
Demux_Offset=Buffer_Size;
Demux_IntermediateItemFound=true;
@@ -4014,8 +4031,16 @@ void File_Mpegv::group_start()
TimeCode_FirstFrame+=drop_frame_flag?';':':';
TimeCode_FirstFrame+=('0'+Frames/10);
TimeCode_FirstFrame+=('0'+Frames%10);
+
+ group_start_closed_gop_Closed=0;
+ group_start_closed_gop_Open=0;
}
+ if (closed_gop)
+ group_start_closed_gop_Closed++;
+ else
+ group_start_closed_gop_Open++;
+
RefFramesCount=0;
//Autorisation of other streams
diff --git a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.h b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.h
index e39837daf..ac2c855bf 100644
--- a/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.h
+++ b/src/thirdparty/MediaInfo/MediaInfo/Video/File_Mpegv.h
@@ -290,6 +290,8 @@ private :
bool group_start_FirstPass;
bool group_start_drop_frame_flag;
bool group_start_closed_gop;
+ size_t group_start_closed_gop_Closed;
+ size_t group_start_closed_gop_Open;
bool group_start_broken_link;
bool Searching_TimeStamp_Start_DoneOneTime;
bool Parsing_End_ForDTS;
diff --git a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
index 4bea802d6..b0b224343 100644
--- a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
+++ b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj
@@ -48,60 +48,55 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.;ThirdParty\base64;ThirdParty\tinyxml2;..\ZenLib;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.;ThirdParty\base64;ThirdParty\tinyxml2;..\ZenLib;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.;ThirdParty\base64;ThirdParty\tinyxml2;..\ZenLib;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.;ThirdParty\base64;ThirdParty\tinyxml2;..\ZenLib;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;CURL_STATICLIB;MEDIAINFO_ADVANCED_NO;MEDIAINFO_ARCHIVE_NO;MEDIAINFO_DEMUX_NO;MEDIAINFO_DVDIF_ANALYZE_NO;MEDIAINFO_EVENTS_NO;MEDIAINFO_LIBCURL_NO;MEDIAINFO_LIBMMS_NO;MEDIAINFO_MD5_NO;MEDIAINFO_MINIMAL_YES;MEDIAINFO_MPEGTS_DUPLICATE_NO;MEDIAINFO_N19_NO;MEDIAINFO_OTHERTEXT_NO;MEDIAINFO_TRACE_NO;MEDIAINFO_READTHREAD_NO;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>MediaInfo/PreComp.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="MediaInfo\Export\Export_EbuCore.h" />
+ <ClInclude Include="MediaInfo\Export\Export_PBCore2.h" />
<ClInclude Include="MediaInfo\Multiple\File_Aaf.h" />
<ClInclude Include="MediaInfo\Multiple\File_DashMpd.h" />
<ClInclude Include="MediaInfo\Multiple\File_DcpAm.h" />
@@ -110,8 +105,10 @@
<ClInclude Include="MediaInfo\Multiple\File_HdsF4m.h" />
<ClInclude Include="MediaInfo\Multiple\File_Pmp.h" />
<ClInclude Include="MediaInfo\Multiple\File_Ptx.h" />
+ <ClInclude Include="MediaInfo\Tag\File_PropertyList.h" />
<ClInclude Include="MediaInfo\Tag\File_Xmp.h" />
<ClInclude Include="MediaInfo\Text\File_Pdf.h" />
+ <ClInclude Include="MediaInfo\Text\File_Sdp.h" />
<ClInclude Include="MediaInfo\Text\File_SubRip.h" />
<ClInclude Include="MediaInfo\Text\File_TimedText.h" />
<ClInclude Include="MediaInfo\Text\File_Ttml.h" />
@@ -357,6 +354,7 @@
<ClCompile Include="MediaInfo\Export\Export_EbuCore.cpp" />
<ClCompile Include="MediaInfo\Export\Export_Mpeg7.cpp" />
<ClCompile Include="MediaInfo\Export\Export_PBCore.cpp" />
+ <ClCompile Include="MediaInfo\Export\Export_PBCore2.cpp" />
<ClCompile Include="MediaInfo\File_Dummy.cpp" />
<ClCompile Include="MediaInfo\File_Other.cpp" />
<ClCompile Include="MediaInfo\File_Unknown.cpp" />
@@ -404,8 +402,10 @@
<ClCompile Include="MediaInfo\PreComp.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
+ <ClCompile Include="MediaInfo\Tag\File_PropertyList.cpp" />
<ClCompile Include="MediaInfo\Tag\File_Xmp.cpp" />
<ClCompile Include="MediaInfo\Text\File_Pdf.cpp" />
+ <ClCompile Include="MediaInfo\Text\File_Sdp.cpp" />
<ClCompile Include="MediaInfo\Text\File_SubRip.cpp" />
<ClCompile Include="MediaInfo\Text\File_TimedText.cpp" />
<ClCompile Include="MediaInfo\Text\File_Ttml.cpp" />
diff --git a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
index 7771d86af..7547f8c95 100644
--- a/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
+++ b/src/thirdparty/MediaInfo/MediaInfoLib.vcxproj.filters
@@ -659,6 +659,15 @@
<ClInclude Include="MediaInfo\Video\File_HuffYuv.h">
<Filter>Header Files\Video</Filter>
</ClInclude>
+ <ClInclude Include="MediaInfo\Export\Export_PBCore2.h">
+ <Filter>Header Files\Export</Filter>
+ </ClInclude>
+ <ClInclude Include="MediaInfo\Tag\File_PropertyList.h">
+ <Filter>Header Files\Tag</Filter>
+ </ClInclude>
+ <ClInclude Include="MediaInfo\Text\File_Sdp.h">
+ <Filter>Header Files\Text</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="ThirdParty\tinyxml2\tinyxml2.cpp">
@@ -1261,5 +1270,14 @@
<ClCompile Include="MediaInfo\Video\File_HuffYuv.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
+ <ClCompile Include="MediaInfo\Text\File_Sdp.cpp">
+ <Filter>Source Files\Text</Filter>
+ </ClCompile>
+ <ClCompile Include="MediaInfo\Tag\File_PropertyList.cpp">
+ <Filter>Source Files\Tag</Filter>
+ </ClCompile>
+ <ClCompile Include="MediaInfo\Export\Export_PBCore2.cpp">
+ <Filter>Source Files\Export</Filter>
+ </ClCompile>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/thirdparty/RARFileSource/RARFileSource.vcxproj b/src/thirdparty/RARFileSource/RARFileSource.vcxproj
index 271c7d429..42a7f1e8e 100644
--- a/src/thirdparty/RARFileSource/RARFileSource.vcxproj
+++ b/src/thirdparty/RARFileSource/RARFileSource.vcxproj
@@ -47,19 +47,23 @@
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
@@ -69,8 +73,6 @@
<AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<ResourceCompile>
<ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
@@ -81,8 +83,6 @@
<AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<ResourceCompile>
<ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
@@ -93,8 +93,6 @@
<AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<ResourceCompile>
<ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
@@ -105,8 +103,6 @@
<AdditionalIncludeDirectories>library;..\BaseClasses;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<ResourceCompile>
<ResourceOutputFileName>$(OutDir)$(ProjectName).res</ResourceOutputFileName>
diff --git a/src/thirdparty/ResizableLib/ResizableLayout.h b/src/thirdparty/ResizableLib/ResizableLayout.h
index 9ab22af3a..9067ea0bf 100644
--- a/src/thirdparty/ResizableLib/ResizableLayout.h
+++ b/src/thirdparty/ResizableLib/ResizableLayout.h
@@ -72,9 +72,10 @@ protected:
LayoutInfo(HWND hwnd, SIZE tl_t, SIZE tl_m,
SIZE br_t, SIZE br_m, CString classname)
: hWnd(hwnd), nCallbackID(0),
- sWndClass(classname), bMsgSupport(FALSE),
+ sWndClass(classname),
sizeTypeTL(tl_t), sizeMarginTL(tl_m),
- sizeTypeBR(br_t), sizeMarginBR(br_m)
+ sizeTypeBR(br_t), sizeMarginBR(br_m),
+ bMsgSupport(FALSE)
{
memset(&properties, 0, sizeof properties);
}
diff --git a/src/thirdparty/ResizableLib/ResizableLib.vcxproj b/src/thirdparty/ResizableLib/ResizableLib.vcxproj
index 5cc39fc09..04e7a11ce 100644
--- a/src/thirdparty/ResizableLib/ResizableLib.vcxproj
+++ b/src/thirdparty/ResizableLib/ResizableLib.vcxproj
@@ -52,44 +52,42 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/SoundTouch/include/STTypes.h b/src/thirdparty/SoundTouch/include/STTypes.h
index 22907e7e5..a961eb2e7 100644
--- a/src/thirdparty/SoundTouch/include/STTypes.h
+++ b/src/thirdparty/SoundTouch/include/STTypes.h
@@ -8,10 +8,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-07 18:24:28 +0000 (Tue, 07 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 3 $
//
-// $Id: STTypes.h 183 2014-01-07 18:24:28Z oparviai $
+// $Id: STTypes.h 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -60,20 +60,6 @@ typedef unsigned long ulong;
#include "soundtouch_config.h"
#endif
-#ifndef _WINDEF_
- // if these aren't defined already by Windows headers, define now
-
-#if defined(__APPLE__)
- typedef signed char BOOL;
-#else
- typedef int BOOL;
-#endif
-
- #define FALSE 0
- #define TRUE 1
-
-#endif // _WINDEF_
-
namespace soundtouch
{
diff --git a/src/thirdparty/SoundTouch/include/SoundTouch.h b/src/thirdparty/SoundTouch/include/SoundTouch.h
index 6fbdb3b15..02fde4937 100644
--- a/src/thirdparty/SoundTouch/include/SoundTouch.h
+++ b/src/thirdparty/SoundTouch/include/SoundTouch.h
@@ -41,10 +41,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-07 19:26:29 +0000 (Tue, 07 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 4 $
//
-// $Id: SoundTouch.h 185 2014-01-07 19:26:29Z oparviai $
+// $Id: SoundTouch.h 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -160,7 +160,7 @@ private:
float virtualPitch;
/// Flag: Has sample rate been set?
- BOOL bSrateSet;
+ bool bSrateSet;
/// Calculates effective rate & tempo valuescfrom 'virtualRate', 'virtualTempo' and
/// 'virtualPitch' parameters.
@@ -247,8 +247,8 @@ public:
/// Changes a setting controlling the processing system behaviour. See the
/// 'SETTING_...' defines for available setting ID's.
///
- /// \return 'TRUE' if the setting was succesfully changed
- BOOL setSetting(int settingId, ///< Setting ID number. see SETTING_... defines.
+ /// \return 'true' if the setting was succesfully changed
+ bool setSetting(int settingId, ///< Setting ID number. see SETTING_... defines.
int value ///< New setting value.
);
diff --git a/src/thirdparty/SoundTouch/source/FIRFilter.cpp b/src/thirdparty/SoundTouch/source/FIRFilter.cpp
index d57389108..abdf83038 100644
--- a/src/thirdparty/SoundTouch/source/FIRFilter.cpp
+++ b/src/thirdparty/SoundTouch/source/FIRFilter.cpp
@@ -11,10 +11,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2013-06-12 15:24:44 +0000 (Wed, 12 Jun 2013) $
+// Last changed : $Date: 2014-10-08 15:26:57 +0000 (Wed, 08 Oct 2014) $
// File revision : $Revision: 4 $
//
-// $Id: FIRFilter.cpp 171 2013-06-12 15:24:44Z oparviai $
+// $Id: FIRFilter.cpp 201 2014-10-08 15:26:57Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -61,12 +61,15 @@ FIRFilter::FIRFilter()
length = 0;
lengthDiv8 = 0;
filterCoeffs = NULL;
+ sum = NULL;
+ sumsize = 0;
}
FIRFilter::~FIRFilter()
{
delete[] filterCoeffs;
+ delete[] sum;
}
// Usual C-version of the filter routine for stereo sound
@@ -167,10 +170,18 @@ uint FIRFilter::evaluateFilterMono(SAMPLETYPE *dest, const SAMPLETYPE *src, uint
}
-uint FIRFilter::evaluateFilterMulti(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels) const
+uint FIRFilter::evaluateFilterMulti(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels)
{
uint i, j, end, c;
- LONG_SAMPLETYPE *sum=(LONG_SAMPLETYPE*)alloca(numChannels*sizeof(*sum));
+
+ if (sumsize < numChannels)
+ {
+ // allocate large enough array for keeping sums
+ sumsize = numChannels;
+ delete[] sum;
+ sum = new LONG_SAMPLETYPE[numChannels];
+ }
+
#ifdef SOUNDTOUCH_FLOAT_SAMPLES
// when using floating point samples, use a scaler instead of a divider
// because division is much slower operation than multiplying.
@@ -253,7 +264,7 @@ uint FIRFilter::getLength() const
//
// Note : The amount of outputted samples is by value of 'filter_length'
// smaller than the amount of input samples.
-uint FIRFilter::evaluate(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels) const
+uint FIRFilter::evaluate(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels)
{
assert(length > 0);
assert(lengthDiv8 * 8 == length);
diff --git a/src/thirdparty/SoundTouch/source/FIRFilter.h b/src/thirdparty/SoundTouch/source/FIRFilter.h
index a498032fe..2baa41e67 100644
--- a/src/thirdparty/SoundTouch/source/FIRFilter.h
+++ b/src/thirdparty/SoundTouch/source/FIRFilter.h
@@ -11,10 +11,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2013-06-12 15:24:44 +0000 (Wed, 12 Jun 2013) $
+// Last changed : $Date: 2014-10-08 15:26:57 +0000 (Wed, 08 Oct 2014) $
// File revision : $Revision: 4 $
//
-// $Id: FIRFilter.h 171 2013-06-12 15:24:44Z oparviai $
+// $Id: FIRFilter.h 201 2014-10-08 15:26:57Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -65,13 +65,17 @@ protected:
// Memory for filter coefficients
SAMPLETYPE *filterCoeffs;
+ // Memory for keeping temporary sums in multichannel processing
+ LONG_SAMPLETYPE *sum;
+ uint sumsize;
+
virtual uint evaluateFilterStereo(SAMPLETYPE *dest,
const SAMPLETYPE *src,
uint numSamples) const;
virtual uint evaluateFilterMono(SAMPLETYPE *dest,
const SAMPLETYPE *src,
uint numSamples) const;
- virtual uint evaluateFilterMulti(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels) const;
+ virtual uint evaluateFilterMulti(SAMPLETYPE *dest, const SAMPLETYPE *src, uint numSamples, uint numChannels);
public:
FIRFilter();
@@ -91,7 +95,7 @@ public:
uint evaluate(SAMPLETYPE *dest,
const SAMPLETYPE *src,
uint numSamples,
- uint numChannels) const;
+ uint numChannels);
uint getLength() const;
diff --git a/src/thirdparty/SoundTouch/source/InterpolateShannon.cpp b/src/thirdparty/SoundTouch/source/InterpolateShannon.cpp
index c6f9abfaf..93f5980c9 100644
--- a/src/thirdparty/SoundTouch/source/InterpolateShannon.cpp
+++ b/src/thirdparty/SoundTouch/source/InterpolateShannon.cpp
@@ -13,7 +13,7 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// $Id: InterpolateShannon.cpp 179 2014-01-06 18:41:42Z oparviai $
+// $Id: InterpolateShannon.cpp 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -181,6 +181,6 @@ int InterpolateShannon::transposeMulti(SAMPLETYPE *pdest,
int &srcSamples)
{
// not implemented
- assert(FALSE);
+ assert(false);
return 0;
}
diff --git a/src/thirdparty/SoundTouch/source/RateTransposer.cpp b/src/thirdparty/SoundTouch/source/RateTransposer.cpp
index 6b0dd0a5c..d158596b9 100644
--- a/src/thirdparty/SoundTouch/source/RateTransposer.cpp
+++ b/src/thirdparty/SoundTouch/source/RateTransposer.cpp
@@ -10,10 +10,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-06 19:19:38 +0000 (Mon, 06 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 4 $
//
-// $Id: RateTransposer.cpp 181 2014-01-06 19:19:38Z oparviai $
+// $Id: RateTransposer.cpp 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -57,7 +57,7 @@ TransposerBase::ALGORITHM TransposerBase::algorithm = TransposerBase::CUBIC;
// Constructor
RateTransposer::RateTransposer() : FIFOProcessor(&outputBuffer)
{
- bUseAAFilter = TRUE;
+ bUseAAFilter = true;
// Instantiates the anti-alias filter
pAAFilter = new AAFilter(64);
@@ -75,14 +75,14 @@ RateTransposer::~RateTransposer()
/// Enables/disables the anti-alias filter. Zero to disable, nonzero to enable
-void RateTransposer::enableAAFilter(BOOL newMode)
+void RateTransposer::enableAAFilter(bool newMode)
{
bUseAAFilter = newMode;
}
/// Returns nonzero if anti-alias filter is enabled.
-BOOL RateTransposer::isAAFilterEnabled() const
+bool RateTransposer::isAAFilterEnabled() const
{
return bUseAAFilter;
}
@@ -139,7 +139,7 @@ void RateTransposer::processSamples(const SAMPLETYPE *src, uint nSamples)
// If anti-alias filter is turned off, simply transpose without applying
// the filter
- if (bUseAAFilter == FALSE)
+ if (bUseAAFilter == false)
{
count = pTransposer->transpose(outputBuffer, inputBuffer);
return;
diff --git a/src/thirdparty/SoundTouch/source/RateTransposer.h b/src/thirdparty/SoundTouch/source/RateTransposer.h
index 1be34843d..51fc36fc5 100644
--- a/src/thirdparty/SoundTouch/source/RateTransposer.h
+++ b/src/thirdparty/SoundTouch/source/RateTransposer.h
@@ -14,10 +14,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-06 18:40:23 +0000 (Mon, 06 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 4 $
//
-// $Id: RateTransposer.h 178 2014-01-06 18:40:23Z oparviai $
+// $Id: RateTransposer.h 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -118,7 +118,7 @@ protected:
/// Output sample buffer
FIFOSampleBuffer outputBuffer;
- BOOL bUseAAFilter;
+ bool bUseAAFilter;
/// Transposes sample rate by applying anti-alias filter to prevent folding.
@@ -151,10 +151,10 @@ public:
AAFilter *getAAFilter();
/// Enables/disables the anti-alias filter. Zero to disable, nonzero to enable
- void enableAAFilter(BOOL newMode);
+ void enableAAFilter(bool newMode);
/// Returns nonzero if anti-alias filter is enabled.
- BOOL isAAFilterEnabled() const;
+ bool isAAFilterEnabled() const;
/// Sets new target rate. Normal rate = 1.0, smaller values represent slower
/// rate, larger faster rates.
diff --git a/src/thirdparty/SoundTouch/source/SoundTouch.cpp b/src/thirdparty/SoundTouch/source/SoundTouch.cpp
index 33907ce17..afa3774cb 100644
--- a/src/thirdparty/SoundTouch/source/SoundTouch.cpp
+++ b/src/thirdparty/SoundTouch/source/SoundTouch.cpp
@@ -41,10 +41,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-05 21:40:22 +0000 (Sun, 05 Jan 2014) $
+// Last changed : $Date: 2014-10-08 15:26:57 +0000 (Wed, 08 Oct 2014) $
// File revision : $Revision: 4 $
//
-// $Id: SoundTouch.cpp 177 2014-01-05 21:40:22Z oparviai $
+// $Id: SoundTouch.cpp 201 2014-10-08 15:26:57Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -111,7 +111,7 @@ SoundTouch::SoundTouch()
calcEffectiveRateAndTempo();
channels = 0;
- bSrateSet = FALSE;
+ bSrateSet = false;
}
@@ -283,7 +283,7 @@ void SoundTouch::calcEffectiveRateAndTempo()
// Sets sample rate.
void SoundTouch::setSampleRate(uint srate)
{
- bSrateSet = TRUE;
+ bSrateSet = true;
// set sample rate, leave other tempo changer parameters as they are.
pTDStretch->setParameters((int)srate);
}
@@ -293,7 +293,7 @@ void SoundTouch::setSampleRate(uint srate)
// the input of the object.
void SoundTouch::putSamples(const SAMPLETYPE *samples, uint nSamples)
{
- if (bSrateSet == FALSE)
+ if (bSrateSet == false)
{
ST_THROW_RT_ERROR("SoundTouch : Sample rate not defined");
}
@@ -348,8 +348,8 @@ void SoundTouch::flush()
int i;
int nUnprocessed;
int nOut;
- SAMPLETYPE *buff=(SAMPLETYPE*)alloca(64*channels*sizeof(SAMPLETYPE));
-
+ SAMPLETYPE *buff = new SAMPLETYPE[64 * channels];
+
// check how many samples still await processing, and scale
// that by tempo & rate to get expected output sample count
nUnprocessed = numUnprocessedSamples();
@@ -378,6 +378,8 @@ void SoundTouch::flush()
}
}
+ delete[] buff;
+
// Clear working buffers
pRateTransposer->clear();
pTDStretch->clearInput();
@@ -388,7 +390,7 @@ void SoundTouch::flush()
// Changes a setting controlling the processing system behaviour. See the
// 'SETTING_...' defines for available setting ID's.
-BOOL SoundTouch::setSetting(int settingId, int value)
+bool SoundTouch::setSetting(int settingId, int value)
{
int sampleRate, sequenceMs, seekWindowMs, overlapMs;
@@ -399,36 +401,36 @@ BOOL SoundTouch::setSetting(int settingId, int value)
{
case SETTING_USE_AA_FILTER :
// enables / disabless anti-alias filter
- pRateTransposer->enableAAFilter((value != 0) ? TRUE : FALSE);
- return TRUE;
+ pRateTransposer->enableAAFilter((value != 0) ? true : false);
+ return true;
case SETTING_AA_FILTER_LENGTH :
// sets anti-alias filter length
pRateTransposer->getAAFilter()->setLength(value);
- return TRUE;
+ return true;
case SETTING_USE_QUICKSEEK :
// enables / disables tempo routine quick seeking algorithm
- pTDStretch->enableQuickSeek((value != 0) ? TRUE : FALSE);
- return TRUE;
+ pTDStretch->enableQuickSeek((value != 0) ? true : false);
+ return true;
case SETTING_SEQUENCE_MS:
// change time-stretch sequence duration parameter
pTDStretch->setParameters(sampleRate, value, seekWindowMs, overlapMs);
- return TRUE;
+ return true;
case SETTING_SEEKWINDOW_MS:
// change time-stretch seek window length parameter
pTDStretch->setParameters(sampleRate, sequenceMs, value, overlapMs);
- return TRUE;
+ return true;
case SETTING_OVERLAP_MS:
// change time-stretch overlap length parameter
pTDStretch->setParameters(sampleRate, sequenceMs, seekWindowMs, value);
- return TRUE;
+ return true;
default :
- return FALSE;
+ return false;
}
}
diff --git a/src/thirdparty/SoundTouch/source/SoundTouch.vcxproj b/src/thirdparty/SoundTouch/source/SoundTouch.vcxproj
index 4d49a5fd9..68684235a 100644
--- a/src/thirdparty/SoundTouch/source/SoundTouch.vcxproj
+++ b/src/thirdparty/SoundTouch/source/SoundTouch.vcxproj
@@ -48,30 +48,29 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -79,8 +78,6 @@
<AdditionalIncludeDirectories>..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -88,8 +85,6 @@
<AdditionalIncludeDirectories>..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -97,8 +92,6 @@
<AdditionalIncludeDirectories>..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/SoundTouch/source/TDStretch.cpp b/src/thirdparty/SoundTouch/source/TDStretch.cpp
index b2eded295..e110413be 100644
--- a/src/thirdparty/SoundTouch/source/TDStretch.cpp
+++ b/src/thirdparty/SoundTouch/source/TDStretch.cpp
@@ -13,10 +13,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-07 18:25:40 +0000 (Tue, 07 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 1.12 $
//
-// $Id: TDStretch.cpp 184 2014-01-07 18:25:40Z oparviai $
+// $Id: TDStretch.cpp 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -84,15 +84,15 @@ static const short _scanOffsets[5][24]={
TDStretch::TDStretch() : FIFOProcessor(&outputBuffer)
{
- bQuickSeek = FALSE;
+ bQuickSeek = false;
channels = 2;
pMidBuffer = NULL;
pMidBufferUnaligned = NULL;
overlapLength = 0;
- bAutoSeqSetting = TRUE;
- bAutoSeekSetting = TRUE;
+ bAutoSeqSetting = true;
+ bAutoSeekSetting = true;
// outDebt = 0;
skipFract = 0;
@@ -132,23 +132,23 @@ void TDStretch::setParameters(int aSampleRate, int aSequenceMS,
if (aSequenceMS > 0)
{
this->sequenceMs = aSequenceMS;
- bAutoSeqSetting = FALSE;
+ bAutoSeqSetting = false;
}
else if (aSequenceMS == 0)
{
// if zero, use automatic setting
- bAutoSeqSetting = TRUE;
+ bAutoSeqSetting = true;
}
if (aSeekWindowMS > 0)
{
this->seekWindowMs = aSeekWindowMS;
- bAutoSeekSetting = FALSE;
+ bAutoSeekSetting = false;
}
else if (aSeekWindowMS == 0)
{
// if zero, use automatic setting
- bAutoSeekSetting = TRUE;
+ bAutoSeekSetting = true;
}
calcSeqParameters();
@@ -231,14 +231,14 @@ void TDStretch::clear()
// Enables/disables the quick position seeking algorithm. Zero to disable, nonzero
// to enable
-void TDStretch::enableQuickSeek(BOOL enable)
+void TDStretch::enableQuickSeek(bool enable)
{
bQuickSeek = enable;
}
// Returns nonzero if the quick seeking algorithm is enabled.
-BOOL TDStretch::isQuickSeekEnabled() const
+bool TDStretch::isQuickSeekEnabled() const
{
return bQuickSeek;
}
diff --git a/src/thirdparty/SoundTouch/source/TDStretch.h b/src/thirdparty/SoundTouch/source/TDStretch.h
index e2659d93a..93f726f1f 100644
--- a/src/thirdparty/SoundTouch/source/TDStretch.h
+++ b/src/thirdparty/SoundTouch/source/TDStretch.h
@@ -13,10 +13,10 @@
///
////////////////////////////////////////////////////////////////////////////////
//
-// Last changed : $Date: 2014-01-07 18:25:40 +0000 (Tue, 07 Jan 2014) $
+// Last changed : $Date: 2014-04-06 15:57:21 +0000 (Sun, 06 Apr 2014) $
// File revision : $Revision: 4 $
//
-// $Id: TDStretch.h 184 2014-01-07 18:25:40Z oparviai $
+// $Id: TDStretch.h 195 2014-04-06 15:57:21Z oparviai $
//
////////////////////////////////////////////////////////////////////////////////
//
@@ -125,14 +125,14 @@ protected:
float skipFract;
FIFOSampleBuffer outputBuffer;
FIFOSampleBuffer inputBuffer;
- BOOL bQuickSeek;
+ bool bQuickSeek;
int sampleRate;
int sequenceMs;
int seekWindowMs;
int overlapMs;
- BOOL bAutoSeqSetting;
- BOOL bAutoSeekSetting;
+ bool bAutoSeqSetting;
+ bool bAutoSeekSetting;
void acceptNewOverlapLength(int newOverlapLength);
@@ -195,10 +195,10 @@ public:
/// Enables/disables the quick position seeking algorithm. Zero to disable,
/// nonzero to enable
- void enableQuickSeek(BOOL enable);
+ void enableQuickSeek(bool enable);
/// Returns nonzero if the quick seeking algorithm is enabled.
- BOOL isQuickSeekEnabled() const;
+ bool isQuickSeekEnabled() const;
/// Sets routine control parameters. These control are certain time constants
/// defining how the sound is stretched to the desired duration.
diff --git a/src/thirdparty/TreePropSheet/PropPageFrameDefault.cpp b/src/thirdparty/TreePropSheet/PropPageFrameDefault.cpp
index 0db21dac7..9a0f909d6 100644
--- a/src/thirdparty/TreePropSheet/PropPageFrameDefault.cpp
+++ b/src/thirdparty/TreePropSheet/PropPageFrameDefault.cpp
@@ -105,12 +105,12 @@ static CThemeLib g_ThemeLib;
CThemeLib::CThemeLib()
- : m_hThemeLib(NULL)
- , m_pIsThemeActive(NULL)
+ : m_pIsThemeActive(NULL)
, m_pOpenThemeData(NULL)
, m_pCloseThemeData(NULL)
, m_pGetThemeBackgroundContentRect(NULL)
, m_pDrawThemeBackground(NULL)
+ , m_hThemeLib(NULL)
{
m_hThemeLib = LoadLibrary(_T("uxtheme.dll"));
if (!m_hThemeLib)
diff --git a/src/thirdparty/TreePropSheet/TreePropSheet.cpp b/src/thirdparty/TreePropSheet/TreePropSheet.cpp
index ecfd66d57..9a913d567 100644
--- a/src/thirdparty/TreePropSheet/TreePropSheet.cpp
+++ b/src/thirdparty/TreePropSheet/TreePropSheet.cpp
@@ -52,38 +52,39 @@ const UINT CTreePropSheet::s_unPageTreeId = 0x7EEE;
CTreePropSheet::CTreePropSheet()
: CPropertySheet(),
- m_bPageTreeSelChangedActive(FALSE),
m_bTreeViewMode(TRUE),
+ m_pwndPageTree(NULL),
+ m_pFrame(NULL),
+ m_bPageTreeSelChangedActive(FALSE),
m_bPageCaption(FALSE),
m_bTreeImages(FALSE),
- m_nPageTreeWidth(150),
- m_pwndPageTree(NULL),
- m_pFrame(NULL)
-{}
+ m_nPageTreeWidth(150)
+{
+}
CTreePropSheet::CTreePropSheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
: CPropertySheet(nIDCaption, pParentWnd, iSelectPage),
- m_bPageTreeSelChangedActive(FALSE),
m_bTreeViewMode(TRUE),
+ m_pwndPageTree(NULL),
+ m_pFrame(NULL),
+ m_bPageTreeSelChangedActive(FALSE),
m_bPageCaption(FALSE),
m_bTreeImages(FALSE),
- m_nPageTreeWidth(150),
- m_pwndPageTree(NULL),
- m_pFrame(NULL)
+ m_nPageTreeWidth(150)
{
}
CTreePropSheet::CTreePropSheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
: CPropertySheet(pszCaption, pParentWnd, iSelectPage),
- m_bPageTreeSelChangedActive(FALSE),
m_bTreeViewMode(TRUE),
+ m_pwndPageTree(NULL),
+ m_pFrame(NULL),
+ m_bPageTreeSelChangedActive(FALSE),
m_bPageCaption(FALSE),
m_bTreeImages(FALSE),
- m_nPageTreeWidth(150),
- m_pwndPageTree(NULL),
- m_pFrame(NULL)
+ m_nPageTreeWidth(150)
{
}
diff --git a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
index a7ea738f9..d5b55b10e 100644
--- a/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
+++ b/src/thirdparty/TreePropSheet/TreePropSheet.vcxproj
@@ -52,44 +52,42 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
index 6f40e34a4..a6adb9c72 100644
--- a/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
+++ b/src/thirdparty/VirtualDub/Kasumi/Kasumi.vcxproj
@@ -44,52 +44,46 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>h;..\h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/VirtualDub/system/system.vcxproj b/src/thirdparty/VirtualDub/system/system.vcxproj
index 381004d93..ab7c79df4 100644
--- a/src/thirdparty/VirtualDub/system/system.vcxproj
+++ b/src/thirdparty/VirtualDub/system/system.vcxproj
@@ -48,28 +48,28 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>Winmm.lib</AdditionalDependencies>
@@ -79,8 +79,6 @@
<ClCompile>
<AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>Winmm.lib</AdditionalDependencies>
@@ -90,8 +88,6 @@
<ClCompile>
<AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>Winmm.lib</AdditionalDependencies>
@@ -101,8 +97,6 @@
<ClCompile>
<AdditionalIncludeDirectories>..\h;h;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
<Lib>
<AdditionalDependencies>Winmm.lib</AdditionalDependencies>
diff --git a/src/thirdparty/ZenLib/ZenLib.vcxproj b/src/thirdparty/ZenLib/ZenLib.vcxproj
index a1fab3469..620696eba 100644
--- a/src/thirdparty/ZenLib/ZenLib.vcxproj
+++ b/src/thirdparty/ZenLib/ZenLib.vcxproj
@@ -48,29 +48,29 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -78,8 +78,6 @@
<AdditionalIncludeDirectories>.;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -87,8 +85,6 @@
<AdditionalIncludeDirectories>.;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -96,8 +92,6 @@
<AdditionalIncludeDirectories>.;..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>ZenLib/PreComp.h</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/ZenLib/ZenLib/Conf.cpp b/src/thirdparty/ZenLib/ZenLib/Conf.cpp
index 25c65e9f6..0251d33a7 100644
--- a/src/thirdparty/ZenLib/ZenLib/Conf.cpp
+++ b/src/thirdparty/ZenLib/ZenLib/Conf.cpp
@@ -32,7 +32,7 @@ namespace ZenLib
const Char PathSeparator=__T('/');
#endif
#if defined (MACOS) || defined (MACOSX)
- const Char* EOL=__T("\r");
+ const Char* EOL=__T("\n");
const Char PathSeparator=__T('/');
#endif
diff --git a/src/thirdparty/ZenLib/ZenLib/File.cpp b/src/thirdparty/ZenLib/ZenLib/File.cpp
index 7aadf2935..aea864d57 100644
--- a/src/thirdparty/ZenLib/ZenLib/File.cpp
+++ b/src/thirdparty/ZenLib/ZenLib/File.cpp
@@ -165,7 +165,7 @@ bool File::Open (const tstring &File_Name_, access_t Access)
case Access_Read : dwDesiredAccess=FILE_READ_DATA; dwShareMode=FILE_SHARE_READ|FILE_SHARE_WRITE; dwCreationDisposition=OPEN_EXISTING; break;
case Access_Write : dwDesiredAccess=GENERIC_WRITE; dwShareMode=0; dwCreationDisposition=OPEN_ALWAYS; break;
case Access_Read_Write : dwDesiredAccess=FILE_READ_DATA|GENERIC_WRITE; dwShareMode=0; dwCreationDisposition=OPEN_ALWAYS; break;
- case Access_Write_Append : dwDesiredAccess=GENERIC_WRITE; dwShareMode=0; dwCreationDisposition=OPEN_ALWAYS; break;
+ case Access_Write_Append : dwDesiredAccess=GENERIC_WRITE; dwShareMode=FILE_SHARE_READ|FILE_SHARE_WRITE; dwCreationDisposition=OPEN_ALWAYS; break;
default : dwDesiredAccess=0; dwShareMode=0; dwCreationDisposition=0; break;
}
diff --git a/src/thirdparty/lcms2/lcms2.vcxproj b/src/thirdparty/lcms2/lcms2.vcxproj
index 038f49dc3..a80f880f7 100644
--- a/src/thirdparty/lcms2/lcms2.vcxproj
+++ b/src/thirdparty/lcms2/lcms2.vcxproj
@@ -48,54 +48,50 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\common.props" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>library\include;library\src</AdditionalIncludeDirectories>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PrecompiledHeaderFile>lcms2_internal.h</PrecompiledHeaderFile>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/lcms2/library b/src/thirdparty/lcms2/library
-Subproject 9c075b3e916e4478a98bebd92bcd219c51ef57f
+Subproject 81746818cd6df89b7a62dbcfc4861d12dbc9c4f
diff --git a/src/thirdparty/mhook/mhook.vcxproj b/src/thirdparty/mhook/mhook.vcxproj
index b95c41602..b16ea5ba9 100644
--- a/src/thirdparty/mhook/mhook.vcxproj
+++ b/src/thirdparty/mhook/mhook.vcxproj
@@ -46,18 +46,22 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
@@ -65,32 +69,24 @@
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/sizecbar/sizecbar.vcxproj b/src/thirdparty/sizecbar/sizecbar.vcxproj
index 69e4f2b30..cfaaa420d 100644
--- a/src/thirdparty/sizecbar/sizecbar.vcxproj
+++ b/src/thirdparty/sizecbar/sizecbar.vcxproj
@@ -52,18 +52,22 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<NOMINMAX>False</NOMINMAX>
@@ -71,27 +75,21 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/unrar/arcread.cpp b/src/thirdparty/unrar/arcread.cpp
index 5b70988ea..e4c3f87d5 100644
--- a/src/thirdparty/unrar/arcread.cpp
+++ b/src/thirdparty/unrar/arcread.cpp
@@ -811,7 +811,7 @@ size_t Archive::ReadHeader50()
Raw.GetB((byte *)FileName,ReadNameSize);
FileName[ReadNameSize]=0;
- UtfToWide(FileName,hd->FileName,ASIZE(hd->FileName)-1);
+ UtfToWide(FileName,hd->FileName,ASIZE(hd->FileName));
// Should do it before converting names, because extra fields can
// affect name processing, like in case of NTFS streams.
@@ -893,6 +893,7 @@ void Archive::RequestArcPassword()
ErrHandler.Exit(RARX_USERBREAK);
}
#endif
+ Cmd->ManualPassword=true;
}
}
#endif
diff --git a/src/thirdparty/unrar/cmddata.cpp b/src/thirdparty/unrar/cmddata.cpp
index f2374f146..b56410ae9 100644
--- a/src/thirdparty/unrar/cmddata.cpp
+++ b/src/thirdparty/unrar/cmddata.cpp
@@ -13,7 +13,6 @@ void CommandData::Init()
*Command=0;
*ArcName=0;
FileLists=false;
- NoMoreSwitches=false;
ListMode=RCLM_AUTO;
@@ -47,6 +46,8 @@ static const wchar *AllocCmdParam(const wchar *CmdLine,wchar **Par)
#if !defined(SFX_MODULE) && !defined(_ANDROID)
void CommandData::ParseCommandLine(bool Preprocess,int argc, char *argv[])
{
+ *Command=0;
+ NoMoreSwitches=false;
#ifdef CUSTOM_CMDLINE_PARSER
// In Windows we may prefer to implement our own command line parser
// to avoid replacing \" by " in standard parser. Such replacing corrupts
@@ -58,15 +59,12 @@ void CommandData::ParseCommandLine(bool Preprocess,int argc, char *argv[])
{
if ((CmdLine=AllocCmdParam(CmdLine,&Par))==NULL)
break;
- bool Code=true;
if (!FirstParam) // First parameter is the executable name.
if (Preprocess)
- Code=PreprocessSwitch(Par);
+ PreprocessArg(Par);
else
ParseArg(Par);
free(Par);
- if (Preprocess && !Code)
- break;
}
#else
Array<wchar> Arg;
@@ -75,10 +73,7 @@ void CommandData::ParseCommandLine(bool Preprocess,int argc, char *argv[])
Arg.Alloc(strlen(argv[I])+1);
CharToWide(argv[I],&Arg[0],Arg.Size());
if (Preprocess)
- {
- if (!PreprocessSwitch(&Arg[0]))
- break;
- }
+ PreprocessArg(&Arg[0]);
else
ParseArg(&Arg[0]);
}
@@ -93,7 +88,7 @@ void CommandData::ParseCommandLine(bool Preprocess,int argc, char *argv[])
void CommandData::ParseArg(wchar *Arg)
{
if (IsSwitch(*Arg) && !NoMoreSwitches)
- if (Arg[1]=='-')
+ if (Arg[1]=='-' && Arg[2]==0)
NoMoreSwitches=true;
else
ProcessSwitch(Arg+1);
@@ -199,37 +194,37 @@ void CommandData::ParseEnvVar()
#if !defined(SFX_MODULE) && !defined(_ANDROID)
// Preprocess those parameters, which must be processed before the rest of
// command line. Return 'false' to stop further processing.
-bool CommandData::PreprocessSwitch(const wchar *Switch)
+void CommandData::PreprocessArg(const wchar *Arg)
{
- if (IsSwitch(Switch[0]))
+ if (IsSwitch(Arg[0]) && !NoMoreSwitches)
{
- Switch++;
- char SwitchA[1024];
- WideToChar(Switch,SwitchA,ASIZE(SwitchA));
- if (wcsicomp(Switch,L"-")==0) // Switch "--".
- return false;
- if (wcsicomp(Switch,L"cfg-")==0)
+ Arg++;
+ if (Arg[0]=='-' && Arg[1]==0) // Switch "--".
+ NoMoreSwitches=true;
+ if (wcsicomp(Arg,L"cfg-")==0)
ConfigDisabled=true;
#ifndef GUI
- if (wcsnicomp(Switch,L"ilog",4)==0)
+ if (wcsnicomp(Arg,L"ilog",4)==0)
{
// Ensure that correct log file name is already set
// if we need to report an error when processing the command line.
- ProcessSwitch(Switch);
+ ProcessSwitch(Arg);
InitLogOptions(LogName,ErrlogCharset);
}
#endif
- if (wcsnicomp(Switch,L"sc",2)==0)
+ if (wcsnicomp(Arg,L"sc",2)==0)
{
// Process -sc before reading any file lists.
- ProcessSwitch(Switch);
+ ProcessSwitch(Arg);
#ifndef GUI
if (*LogName!=0)
InitLogOptions(LogName,ErrlogCharset);
#endif
}
}
- return true;
+ else
+ if (*Command==0)
+ wcsncpy(Command,Arg,ASIZE(Command)); // Need for rar.ini.
}
#endif
@@ -247,6 +242,22 @@ void CommandData::ReadConfig()
Str++;
if (wcsnicomp(Str,L"switches=",9)==0)
ProcessSwitchesString(Str+9);
+ if (*Command!=0)
+ {
+ wchar Cmd[16];
+ wcsncpyz(Cmd,Command,ASIZE(Cmd));
+ wchar C0=toupperw(Cmd[0]);
+ wchar C1=toupperw(Cmd[1]);
+ if (C0=='I' || C0=='L' || C0=='M' || C0=='S' || C0=='V')
+ Cmd[1]=0;
+ if (C0=='R' && (C1=='R' || C1=='V'))
+ Cmd[2]=0;
+ wchar SwName[16+ASIZE(Cmd)];
+ swprintf(SwName,ASIZE(SwName),L"switches_%s=",Cmd);
+ size_t Length=wcslen(SwName);
+ if (wcsnicomp(Str,SwName,Length)==0)
+ ProcessSwitchesString(Str+Length);
+ }
}
}
}
@@ -1010,7 +1021,7 @@ bool CommandData::ExclCheck(const wchar *CheckName,bool Dir,bool CheckFullPath,b
return true;
if (!CheckInclList || InclArgs.ItemsCount()==0)
return false;
- if (ExclCheckArgs(&InclArgs,Dir,CheckName,false,MATCH_WILDSUBPATH))
+ if (ExclCheckArgs(&InclArgs,Dir,CheckName,CheckFullPath,MATCH_WILDSUBPATH))
return false;
return true;
}
diff --git a/src/thirdparty/unrar/cmddata.hpp b/src/thirdparty/unrar/cmddata.hpp
index b2f3b1ae1..3ed4ef1d8 100644
--- a/src/thirdparty/unrar/cmddata.hpp
+++ b/src/thirdparty/unrar/cmddata.hpp
@@ -28,7 +28,7 @@ class CommandData:public RAROptions
void ParseDone();
void ParseEnvVar();
void ReadConfig();
- bool PreprocessSwitch(const wchar *Switch);
+ void PreprocessArg(const wchar *Arg);
void OutTitle();
void OutHelp(RAR_EXIT ExitCode);
bool IsSwitch(int Ch);
diff --git a/src/thirdparty/unrar/crypt.cpp b/src/thirdparty/unrar/crypt.cpp
index ef2e68a11..1a9764008 100644
--- a/src/thirdparty/unrar/crypt.cpp
+++ b/src/thirdparty/unrar/crypt.cpp
@@ -11,15 +11,18 @@
CryptData::CryptData()
{
Method=CRYPT_NONE;
- memset(KDFCache,0,sizeof(KDFCache));
- KDFCachePos=0;
+ memset(KDF3Cache,0,sizeof(KDF3Cache));
+ memset(KDF5Cache,0,sizeof(KDF5Cache));
+ KDF3CachePos=0;
+ KDF5CachePos=0;
memset(CRCTab,0,sizeof(CRCTab));
}
CryptData::~CryptData()
{
- cleandata(KDFCache,sizeof(KDFCache));
+ cleandata(KDF3Cache,sizeof(KDF3Cache));
+ cleandata(KDF5Cache,sizeof(KDF5Cache));
}
diff --git a/src/thirdparty/unrar/crypt.hpp b/src/thirdparty/unrar/crypt.hpp
index 1dc244600..f6382ef50 100644
--- a/src/thirdparty/unrar/crypt.hpp
+++ b/src/thirdparty/unrar/crypt.hpp
@@ -20,18 +20,28 @@ enum CRYPT_METHOD {
#define CRYPT_VERSION 0 // Supported encryption version.
-struct KDFCacheItem
-{
- SecPassword Pwd;
- byte Salt[SIZE_SALT50];
- uint Lg2Count; // Log2 of PBKDF2 repetition count.
- byte Key[32];
- byte PswCheckValue[SHA256_DIGEST_SIZE];
- byte HashKeyValue[SHA256_DIGEST_SIZE];
-};
-
class CryptData
{
+ struct KDF5CacheItem
+ {
+ SecPassword Pwd;
+ byte Salt[SIZE_SALT50];
+ byte Key[32];
+ uint Lg2Count; // Log2 of PBKDF2 repetition count.
+ byte PswCheckValue[SHA256_DIGEST_SIZE];
+ byte HashKeyValue[SHA256_DIGEST_SIZE];
+ };
+
+ struct KDF3CacheItem
+ {
+ SecPassword Pwd;
+ byte Salt[SIZE_SALT30];
+ byte Key[16];
+ byte Init[16];
+ bool SaltPresent;
+ };
+
+
private:
void SetKey13(const char *Password);
void Decrypt13(byte *Data,size_t Count);
@@ -46,10 +56,13 @@ class CryptData
void DecryptBlock20(byte *Buf);
void SetKey30(bool Encrypt,SecPassword *Password,const wchar *PwdW,const byte *Salt);
-
void SetKey50(bool Encrypt,SecPassword *Password,const wchar *PwdW,const byte *Salt,const byte *InitV,uint Lg2Cnt,byte *HashKey,byte *PswCheck);
- KDFCacheItem KDFCache[4];
- uint KDFCachePos;
+
+ KDF3CacheItem KDF3Cache[4];
+ uint KDF3CachePos;
+
+ KDF5CacheItem KDF5Cache[4];
+ uint KDF5CachePos;
CRYPT_METHOD Method;
diff --git a/src/thirdparty/unrar/crypt3.cpp b/src/thirdparty/unrar/crypt3.cpp
index ffaced56d..bcc7cfa6d 100644
--- a/src/thirdparty/unrar/crypt3.cpp
+++ b/src/thirdparty/unrar/crypt3.cpp
@@ -1,38 +1,15 @@
-struct CryptKeyCacheItem
-{
- CryptKeyCacheItem()
- {
- Password.Set(L"");
- }
-
- ~CryptKeyCacheItem()
- {
- cleandata(AESKey,sizeof(AESKey));
- cleandata(AESInit,sizeof(AESInit));
- cleandata(&Password,sizeof(Password));
- }
-
- byte AESKey[16],AESInit[16];
- SecPassword Password;
- bool SaltPresent;
- byte Salt[SIZE_SALT30];
-};
-
-static CryptKeyCacheItem Cache[4];
-static int CachePos=0;
-
void CryptData::SetKey30(bool Encrypt,SecPassword *Password,const wchar *PwdW,const byte *Salt)
{
byte AESKey[16],AESInit[16];
bool Cached=false;
- for (uint I=0;I<ASIZE(Cache);I++)
- if (Cache[I].Password==*Password &&
- (Salt==NULL && !Cache[I].SaltPresent || Salt!=NULL &&
- Cache[I].SaltPresent && memcmp(Cache[I].Salt,Salt,SIZE_SALT30)==0))
+ for (uint I=0;I<ASIZE(KDF3Cache);I++)
+ if (KDF3Cache[I].Pwd==*Password &&
+ (Salt==NULL && !KDF3Cache[I].SaltPresent || Salt!=NULL &&
+ KDF3Cache[I].SaltPresent && memcmp(KDF3Cache[I].Salt,Salt,SIZE_SALT30)==0))
{
- memcpy(AESKey,Cache[I].AESKey,sizeof(AESKey));
- memcpy(AESInit,Cache[I].AESInit,sizeof(AESInit));
+ memcpy(AESKey,KDF3Cache[I].Key,sizeof(AESKey));
+ memcpy(AESInit,KDF3Cache[I].Init,sizeof(AESInit));
Cached=true;
break;
}
@@ -73,12 +50,12 @@ void CryptData::SetKey30(bool Encrypt,SecPassword *Password,const wchar *PwdW,co
for (int J=0;J<4;J++)
AESKey[I*4+J]=(byte)(digest[I]>>(J*8));
- Cache[CachePos].Password=*Password;
- if ((Cache[CachePos].SaltPresent=(Salt!=NULL))==true)
- memcpy(Cache[CachePos].Salt,Salt,SIZE_SALT30);
- memcpy(Cache[CachePos].AESKey,AESKey,sizeof(AESKey));
- memcpy(Cache[CachePos].AESInit,AESInit,sizeof(AESInit));
- CachePos=(CachePos+1)%ASIZE(Cache);
+ KDF3Cache[KDF3CachePos].Pwd=*Password;
+ if ((KDF3Cache[KDF3CachePos].SaltPresent=(Salt!=NULL))==true)
+ memcpy(KDF3Cache[KDF3CachePos].Salt,Salt,SIZE_SALT30);
+ memcpy(KDF3Cache[KDF3CachePos].Key,AESKey,sizeof(AESKey));
+ memcpy(KDF3Cache[KDF3CachePos].Init,AESInit,sizeof(AESInit));
+ KDF3CachePos=(KDF3CachePos+1)%ASIZE(KDF3Cache);
cleandata(RawPsw,sizeof(RawPsw));
}
diff --git a/src/thirdparty/unrar/crypt5.cpp b/src/thirdparty/unrar/crypt5.cpp
index fab3cc975..abc5d34a7 100644
--- a/src/thirdparty/unrar/crypt5.cpp
+++ b/src/thirdparty/unrar/crypt5.cpp
@@ -98,15 +98,15 @@ void CryptData::SetKey50(bool Encrypt,SecPassword *Password,const wchar *PwdW,
byte Key[32],PswCheckValue[SHA256_DIGEST_SIZE],HashKeyValue[SHA256_DIGEST_SIZE];
bool Found=false;
- for (uint I=0;I<ASIZE(KDFCache);I++)
+ for (uint I=0;I<ASIZE(KDF5Cache);I++)
{
- KDFCacheItem *Item=KDFCache+I;
+ KDF5CacheItem *Item=KDF5Cache+I;
if (Item->Lg2Count==Lg2Cnt && Item->Pwd==*Password &&
memcmp(Item->Salt,Salt,SIZE_SALT50)==0)
{
- SecHideData(Item->Key,sizeof(Item->Key),false);
+ SecHideData(Item->Key,sizeof(Item->Key),false,false);
memcpy(Key,Item->Key,sizeof(Key));
- SecHideData(Item->Key,sizeof(Item->Key),true);
+ SecHideData(Item->Key,sizeof(Item->Key),true,false);
memcpy(PswCheckValue,Item->PswCheckValue,sizeof(PswCheckValue));
memcpy(HashKeyValue,Item->HashKeyValue,sizeof(HashKeyValue));
@@ -123,14 +123,14 @@ void CryptData::SetKey50(bool Encrypt,SecPassword *Password,const wchar *PwdW,
pbkdf2((byte *)PwdUtf,strlen(PwdUtf),Salt,SIZE_SALT50,Key,HashKeyValue,PswCheckValue,(1<<Lg2Cnt));
cleandata(PwdUtf,sizeof(PwdUtf));
- KDFCacheItem *Item=KDFCache+(KDFCachePos++ % ASIZE(KDFCache));
+ KDF5CacheItem *Item=KDF5Cache+(KDF5CachePos++ % ASIZE(KDF5Cache));
Item->Lg2Count=Lg2Cnt;
Item->Pwd=*Password;
memcpy(Item->Salt,Salt,SIZE_SALT50);
memcpy(Item->Key,Key,sizeof(Key));
memcpy(Item->PswCheckValue,PswCheckValue,sizeof(PswCheckValue));
memcpy(Item->HashKeyValue,HashKeyValue,sizeof(HashKeyValue));
- SecHideData(Item->Key,sizeof(Key),true);
+ SecHideData(Item->Key,sizeof(Key),true,false);
}
if (HashKey!=NULL)
memcpy(HashKey,HashKeyValue,SHA256_DIGEST_SIZE);
diff --git a/src/thirdparty/unrar/dll.rc b/src/thirdparty/unrar/dll.rc
index aedb0fc5e..1481d7632 100644
--- a/src/thirdparty/unrar/dll.rc
+++ b/src/thirdparty/unrar/dll.rc
@@ -2,8 +2,8 @@
#include <commctrl.h>
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 11, 1, 1315
-PRODUCTVERSION 5, 11, 1, 1315
+FILEVERSION 5, 20, 100, 1433
+PRODUCTVERSION 5, 20, 100, 1433
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
@@ -14,8 +14,8 @@ FILETYPE VFT_APP
VALUE "CompanyName", "Alexander Roshal\0"
VALUE "ProductName", "RAR decompression library\0"
VALUE "FileDescription", "RAR decompression library\0"
- VALUE "FileVersion", "5.11.1\0"
- VALUE "ProductVersion", "5.11.1\0"
+ VALUE "FileVersion", "5.20.0\0"
+ VALUE "ProductVersion", "5.20.0\0"
VALUE "LegalCopyright", "Copyright © Alexander Roshal 1993-2014\0"
VALUE "OriginalFilename", "Unrar.dll\0"
}
diff --git a/src/thirdparty/unrar/extract.cpp b/src/thirdparty/unrar/extract.cpp
index 770cae4d7..cab669fe9 100644
--- a/src/thirdparty/unrar/extract.cpp
+++ b/src/thirdparty/unrar/extract.cpp
@@ -9,7 +9,6 @@ CmdExtract::CmdExtract(CommandData *Cmd)
*DestFileName=0;
TotalFileCount=0;
- Password.Set(L"");
Unp=new Unpack(&DataIO);
#ifdef RAR_SMP
Unp->SetThreads(Cmd->Threads);
@@ -25,6 +24,9 @@ CmdExtract::~CmdExtract()
void CmdExtract::DoExtract()
{
+#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
+ Fat32=NotFat32=false;
+#endif
PasswordCancelled=false;
DataIO.SetCurrentCommand(Cmd->Command[0]);
@@ -36,17 +38,11 @@ void CmdExtract::DoExtract()
Cmd->ArcNames.Rewind();
while (Cmd->GetArcName(ArcName,ASIZE(ArcName)))
{
+ if (Cmd->ManualPassword)
+ Cmd->Password.Clean(); // Clean user entered password before processing next archive.
while (true)
{
- SecPassword PrevCmdPassword;
- PrevCmdPassword=Cmd->Password;
-
EXTRACT_ARC_CODE Code=ExtractArchive();
-
- // Restore Cmd->Password, which could be changed in IsArchive() call
- // for next header encrypted archive.
- Cmd->Password=PrevCmdPassword;
-
if (Code!=EXTRACT_ARC_REPEAT)
break;
}
@@ -54,6 +50,10 @@ void CmdExtract::DoExtract()
DataIO.ProcessedArcSize+=FD.Size;
}
+ // Clean user entered password. Not really required, just for extra safety.
+ if (Cmd->ManualPassword)
+ Cmd->Password.Clean();
+
if (TotalFileCount==0 && Cmd->Command[0]!='I' &&
ErrHandler.GetErrorCode()!=RARX_BADPWD) // Not in case of wrong archive password.
{
@@ -86,8 +86,6 @@ void CmdExtract::ExtractArchiveInit(Archive &Arc)
#endif
PasswordAll=(Cmd->Password.IsSet());
- if (PasswordAll)
- Password=Cmd->Password;
DataIO.UnpVolume=false;
@@ -262,15 +260,11 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
int MatchNumber=Cmd->IsProcessFile(Arc.FileHead,&EqualNames,MatchType);
bool ExactMatch=MatchNumber!=0;
#ifndef SFX_MODULE
- if (Cmd->ExclPath==EXCL_BASEPATH)
+ if (*Cmd->ArcPath==0 && Cmd->ExclPath==EXCL_BASEPATH && ExactMatch)
{
- *Cmd->ArcPath=0;
- if (ExactMatch)
- {
- Cmd->FileArgs.Rewind();
- if (Cmd->FileArgs.GetString(Cmd->ArcPath,ASIZE(Cmd->ArcPath),MatchNumber-1))
- *PointToName(Cmd->ArcPath)=0;
- }
+ Cmd->FileArgs.Rewind();
+ if (Cmd->FileArgs.GetString(Cmd->ArcPath,ASIZE(Cmd->ArcPath),MatchNumber-1))
+ *PointToName(Cmd->ArcPath)=0;
}
#endif
if (ExactMatch && !EqualNames)
@@ -400,7 +394,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
}
#endif
// Skip only the current encrypted file if empty password is entered.
- if (!Password.IsSet())
+ if (!Cmd->Password.IsSet())
{
ErrHandler.SetErrorCode(RARX_WARNING);
#ifdef RARDLL
@@ -430,7 +424,6 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
#endif
}
-
File CurFile;
bool LinkEntry=Arc.FileHead.RedirType!=FSREDIR_NONE;
@@ -510,7 +503,7 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
mprintf(L" ");
#endif
- SecPassword FilePassword=Password;
+ SecPassword FilePassword=Cmd->Password;
#if defined(_WIN_ALL) && !defined(SFX_MODULE)
ConvertDosPassword(Arc,FilePassword);
#endif
@@ -540,6 +533,18 @@ bool CmdExtract::ExtractCurrentFile(Archive &Arc,size_t HeaderSize,bool &Repeat)
DataIO.SetFiles(&Arc,&CurFile);
DataIO.SetTestMode(TestMode);
DataIO.SetSkipUnpCRC(SkipSolid);
+
+#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
+ if (!TestMode && !WrongPassword && !Arc.BrokenHeader &&
+ Arc.FileHead.UnpSize>0xffffffff && (Fat32 || !NotFat32))
+ {
+ if (!Fat32) // Not detected yet.
+ NotFat32=!(Fat32=IsFAT(Cmd->ExtrPath));
+ if (Fat32)
+ uiMsg(UIMSG_FAT32SIZE); // Inform user about FAT32 size limit.
+ }
+#endif
+
if (!TestMode && !WrongPassword && !Arc.BrokenHeader &&
(Arc.FileHead.PackSize<<11)>Arc.FileHead.UnpSize &&
(Arc.FileHead.UnpSize<100000000 || Arc.FileLength()>Arc.FileHead.PackSize))
@@ -862,11 +867,11 @@ bool CmdExtract::ExtrDllGetPassword()
}
Cmd->Password.Set(PasswordW);
cleandata(PasswordW,sizeof(PasswordW));
+ Cmd->ManualPassword=true;
}
if (!Cmd->Password.IsSet())
return false;
}
- Password=Cmd->Password;
return true;
}
#endif
@@ -875,14 +880,15 @@ bool CmdExtract::ExtrDllGetPassword()
#ifndef RARDLL
bool CmdExtract::ExtrGetPassword(Archive &Arc,const wchar *ArcFileName)
{
- if (!Password.IsSet())
+ if (!Cmd->Password.IsSet())
{
- if (!uiGetPassword(UIPASSWORD_FILE,ArcFileName,&Password))
+ if (!uiGetPassword(UIPASSWORD_FILE,ArcFileName,&Cmd->Password))
{
uiMsg(UIERROR_INCERRCOUNT);
return false;
}
+ Cmd->ManualPassword=true;
}
#if !defined(GUI) && !defined(SILENT)
else
@@ -894,7 +900,7 @@ bool CmdExtract::ExtrGetPassword(Archive &Arc,const wchar *ArcFileName)
case -1:
ErrHandler.Exit(RARX_USERBREAK);
case 2:
- if (!uiGetPassword(UIPASSWORD_FILE,ArcFileName,&Password))
+ if (!uiGetPassword(UIPASSWORD_FILE,ArcFileName,&Cmd->Password))
return false;
break;
case 3:
@@ -916,7 +922,7 @@ void CmdExtract::ConvertDosPassword(Archive &Arc,SecPassword &DestPwd)
// We need the password in OEM encoding if file was encrypted by
// native RAR/DOS (not extender based). Let's make the conversion.
wchar PlainPsw[MAXPASSWORD];
- Password.Get(PlainPsw,ASIZE(PlainPsw));
+ Cmd->Password.Get(PlainPsw,ASIZE(PlainPsw));
char PswA[MAXPASSWORD];
CharToOemBuffW(PlainPsw,PswA,ASIZE(PswA));
PswA[ASIZE(PswA)-1]=0;
@@ -957,6 +963,18 @@ void CmdExtract::ExtrCreateDir(Archive &Arc,const wchar *ArcFileName)
{
CreatePath(DestFileName,true);
MDCode=MakeDir(DestFileName,!Cmd->IgnoreGeneralAttr,Arc.FileHead.FileAttr);
+ if (MDCode!=MKDIR_SUCCESS)
+ {
+ wchar OrigName[ASIZE(DestFileName)];
+ wcsncpyz(OrigName,DestFileName,ASIZE(OrigName));
+ MakeNameUsable(DestFileName,true);
+ CreatePath(DestFileName,true);
+ MDCode=MakeDir(DestFileName,!Cmd->IgnoreGeneralAttr,Arc.FileHead.FileAttr);
+#ifndef SFX_MODULE
+ if (MDCode==MKDIR_SUCCESS)
+ uiMsg(UIERROR_RENAMING,Arc.FileName,OrigName,DestFileName);
+#endif
+ }
}
}
if (MDCode==MKDIR_SUCCESS)
diff --git a/src/thirdparty/unrar/extract.hpp b/src/thirdparty/unrar/extract.hpp
index 1539ed61a..4ea317b61 100644
--- a/src/thirdparty/unrar/extract.hpp
+++ b/src/thirdparty/unrar/extract.hpp
@@ -43,11 +43,13 @@ class CmdExtract
wchar ArcName[NM];
- SecPassword Password;
bool PasswordAll;
bool PrevExtracted;
wchar DestFileName[NM];
bool PasswordCancelled;
+#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
+ bool Fat32,NotFat32;
+#endif
public:
CmdExtract(CommandData *Cmd);
~CmdExtract();
diff --git a/src/thirdparty/unrar/file.cpp b/src/thirdparty/unrar/file.cpp
index 51100acd6..8fba34adb 100644
--- a/src/thirdparty/unrar/file.cpp
+++ b/src/thirdparty/unrar/file.cpp
@@ -2,7 +2,7 @@
File::File()
{
- hFile=BAD_HANDLE;
+ hFile=FILE_BAD_HANDLE;
*FileName=0;
NewFile=false;
LastWrite=false;
@@ -22,7 +22,7 @@ File::File()
File::~File()
{
- if (hFile!=BAD_HANDLE && !SkipClose)
+ if (hFile!=FILE_BAD_HANDLE && !SkipClose)
if (NewFile)
Delete();
else
@@ -52,14 +52,14 @@ bool File::Open(const wchar *Name,uint Mode)
uint Access=WriteMode ? GENERIC_WRITE:GENERIC_READ;
if (UpdateMode)
Access|=GENERIC_WRITE;
- uint ShareMode=FILE_SHARE_READ;
+ uint ShareMode=(Mode & FMF_OPENEXCLUSIVE) ? 0 : FILE_SHARE_READ;
if (OpenShared)
ShareMode|=FILE_SHARE_WRITE;
uint Flags=NoSequentialRead ? 0:FILE_FLAG_SEQUENTIAL_SCAN;
hNewFile=CreateFile(Name,Access,ShareMode,NULL,OPEN_EXISTING,Flags,NULL);
DWORD LastError;
- if (hNewFile==BAD_HANDLE)
+ if (hNewFile==FILE_BAD_HANDLE)
{
LastError=GetLastError();
@@ -85,7 +85,7 @@ bool File::Open(const wchar *Name,uint Mode)
}
}
- if (hNewFile==BAD_HANDLE && LastError==ERROR_FILE_NOT_FOUND)
+ if (hNewFile==FILE_BAD_HANDLE && LastError==ERROR_FILE_NOT_FOUND)
ErrorType=FILE_NOTFOUND;
#else
int flags=UpdateMode ? O_RDWR:(WriteMode ? O_WRONLY:O_RDONLY);
@@ -112,7 +112,7 @@ bool File::Open(const wchar *Name,uint Mode)
}
#endif
if (handle==-1)
- hNewFile=BAD_HANDLE;
+ hNewFile=FILE_BAD_HANDLE;
else
{
#ifdef FILE_USE_OPEN
@@ -121,13 +121,13 @@ bool File::Open(const wchar *Name,uint Mode)
hNewFile=fdopen(handle,UpdateMode ? UPDATEBINARY:READBINARY);
#endif
}
- if (hNewFile==BAD_HANDLE && errno==ENOENT)
+ if (hNewFile==FILE_BAD_HANDLE && errno==ENOENT)
ErrorType=FILE_NOTFOUND;
#endif
NewFile=false;
HandleType=FILE_HANDLENORMAL;
SkipClose=false;
- bool Success=hNewFile!=BAD_HANDLE;
+ bool Success=hNewFile!=FILE_BAD_HANDLE;
if (Success)
{
hFile=hNewFile;
@@ -167,9 +167,18 @@ bool File::Create(const wchar *Name,uint Mode)
CreateMode=Mode;
uint Access=WriteMode ? GENERIC_WRITE:GENERIC_READ|GENERIC_WRITE;
DWORD ShareMode=ShareRead ? FILE_SHARE_READ:0;
- hFile=CreateFile(Name,Access,ShareMode,NULL,CREATE_ALWAYS,0,NULL);
- if (hFile==BAD_HANDLE)
+ // Windows automatically removes dots and spaces in the end of file name,
+ // So we detect such names and process them with \\?\ prefix.
+ wchar *LastChar=PointToLastChar(Name);
+ bool Special=*LastChar=='.' || *LastChar==' ';
+
+ if (Special)
+ hFile=FILE_BAD_HANDLE;
+ else
+ hFile=CreateFile(Name,Access,ShareMode,NULL,CREATE_ALWAYS,0,NULL);
+
+ if (hFile==FILE_BAD_HANDLE)
{
wchar LongName[NM];
if (GetWinLongPath(Name,LongName,ASIZE(LongName)))
@@ -181,6 +190,10 @@ bool File::Create(const wchar *Name,uint Mode)
WideToChar(Name,NameA,ASIZE(NameA));
#ifdef FILE_USE_OPEN
hFile=open(NameA,(O_CREAT|O_TRUNC) | (WriteMode ? O_WRONLY : O_RDWR));
+#ifdef _ANDROID
+ if (hFile==FILE_BAD_HANDLE)
+ hFile=JniCreateFile(Name); // If external card is read-only for usual file API.
+#endif
#else
hFile=fopen(NameA,WriteMode ? WRITEBINARY:CREATEBINARY);
#endif
@@ -189,7 +202,7 @@ bool File::Create(const wchar *Name,uint Mode)
HandleType=FILE_HANDLENORMAL;
SkipClose=false;
wcsncpyz(FileName,Name,ASIZE(FileName));
- return hFile!=BAD_HANDLE;
+ return hFile!=FILE_BAD_HANDLE;
}
@@ -215,7 +228,7 @@ bool File::Close()
{
bool Success=true;
- if (hFile!=BAD_HANDLE)
+ if (hFile!=FILE_BAD_HANDLE)
{
if (!SkipClose)
{
@@ -232,7 +245,7 @@ bool File::Close()
#endif
#endif
}
- hFile=BAD_HANDLE;
+ hFile=FILE_BAD_HANDLE;
}
HandleType=FILE_HANDLENORMAL;
if (!Success && AllowExceptions)
@@ -245,7 +258,7 @@ bool File::Delete()
{
if (HandleType!=FILE_HANDLENORMAL)
return false;
- if (hFile!=BAD_HANDLE)
+ if (hFile!=FILE_BAD_HANDLE)
Close();
if (!AllowDelete)
return false;
@@ -278,7 +291,7 @@ void File::Write(const void *Data,size_t Size)
hFile=GetStdHandle(STD_OUTPUT_HANDLE);
#else
// Cannot use the standard stdout here, because it already has wide orientation.
- if (hFile==BAD_HANDLE)
+ if (hFile==FILE_BAD_HANDLE)
{
#ifdef FILE_USE_OPEN
hFile=dup(STDOUT_FILENO); // Open new stdout stream.
@@ -390,8 +403,8 @@ int File::DirectRead(void *Data,size_t Size)
if (HandleType==FILE_HANDLESTD)
{
#ifdef _WIN_ALL
- if (Size>MaxDeviceRead)
- Size=MaxDeviceRead;
+// if (Size>MaxDeviceRead)
+// Size=MaxDeviceRead;
hFile=GetStdHandle(STD_INPUT_HANDLE);
#else
#ifdef FILE_USE_OPEN
@@ -402,6 +415,8 @@ int File::DirectRead(void *Data,size_t Size)
#endif
}
#ifdef _WIN_ALL
+ // For pipes like 'type file.txt | rar -si arcname' ReadFile may return
+ // data in small ~4KB blocks. It may slightly reduce the compression ratio.
DWORD Read;
if (!ReadFile(hFile,Data,(DWORD)Size,&Read,NULL))
{
@@ -454,7 +469,7 @@ void File::Seek(int64 Offset,int Method)
bool File::RawSeek(int64 Offset,int Method)
{
- if (hFile==BAD_HANDLE)
+ if (hFile==FILE_BAD_HANDLE)
return true;
if (Offset<0 && Method!=SEEK_SET)
{
@@ -485,7 +500,7 @@ bool File::RawSeek(int64 Offset,int Method)
int64 File::Tell()
{
- if (hFile==BAD_HANDLE)
+ if (hFile==FILE_BAD_HANDLE)
if (AllowExceptions)
ErrHandler.SeekError(FileName);
else
@@ -636,7 +651,7 @@ int64 File::FileLength()
bool File::IsDevice()
{
- if (hFile==BAD_HANDLE)
+ if (hFile==FILE_BAD_HANDLE)
return false;
#ifdef _WIN_ALL
uint Type=GetFileType(hFile);
@@ -650,7 +665,7 @@ bool File::IsDevice()
#ifndef SFX_MODULE
int64 File::Copy(File &Dest,int64 Length)
{
- Array<char> Buffer(0x10000);
+ Array<char> Buffer(0x40000);
int64 CopySize=0;
bool CopyAll=(Length==INT64NDF);
@@ -667,7 +682,7 @@ int64 File::Copy(File &Dest,int64 Length)
// For FAT32 USB flash drives in Windows if first write is 4 KB or more,
// write caching is disabled and "write through" is enabled, resulting
// in bad performance, especially for many small files. It happens when
- // we create SFX archive on USB drive, because SFX module is writetn first.
+ // we create SFX archive on USB drive, because SFX module is written first.
// So we split the first write to small 1 KB followed by rest of data.
if (CopySize==0 && WriteSize>=4096)
{
diff --git a/src/thirdparty/unrar/file.hpp b/src/thirdparty/unrar/file.hpp
index 7829aaeb0..93aac89f3 100644
--- a/src/thirdparty/unrar/file.hpp
+++ b/src/thirdparty/unrar/file.hpp
@@ -7,13 +7,13 @@
#ifdef _WIN_ALL
typedef HANDLE FileHandle;
- #define BAD_HANDLE INVALID_HANDLE_VALUE
+ #define FILE_BAD_HANDLE INVALID_HANDLE_VALUE
#elif defined(FILE_USE_OPEN)
typedef off_t FileHandle;
- #define BAD_HANDLE -1
+ #define FILE_BAD_HANDLE -1
#else
typedef FILE* FileHandle;
- #define BAD_HANDLE NULL
+ #define FILE_BAD_HANDLE NULL
#endif
class RAROptions;
@@ -35,8 +35,11 @@ enum FILE_MODE_FLAGS {
// Open files which are already opened for write by other programs.
FMF_OPENSHARED=4,
+ // Open files only if no other program is opened it even in shared mode.
+ FMF_OPENEXCLUSIVE=8,
+
// Provide read access to created file for other programs.
- FMF_SHAREREAD=8,
+ FMF_SHAREREAD=16,
// Mode flags are not defined yet.
FMF_UNDEFINED=256
@@ -91,7 +94,7 @@ class File
void SetCloseFileTime(RarTime *ftm,RarTime *fta=NULL);
static void SetCloseFileTimeByName(const wchar *Name,RarTime *ftm,RarTime *fta);
void GetOpenFileTime(RarTime *ft);
- bool IsOpened() {return hFile!=BAD_HANDLE;};
+ bool IsOpened() {return hFile!=FILE_BAD_HANDLE;};
int64 FileLength();
void SetHandleType(FILE_HANDLETYPE Type) {HandleType=Type;}
FILE_HANDLETYPE GetHandleType() {return HandleType;}
diff --git a/src/thirdparty/unrar/filefn.cpp b/src/thirdparty/unrar/filefn.cpp
index 679060578..6526f4337 100644
--- a/src/thirdparty/unrar/filefn.cpp
+++ b/src/thirdparty/unrar/filefn.cpp
@@ -3,7 +3,11 @@
MKDIR_CODE MakeDir(const wchar *Name,bool SetAttr,uint Attr)
{
#ifdef _WIN_ALL
- BOOL RetCode=CreateDirectory(Name,NULL);
+ // Windows automatically removes dots and spaces in the end of directory
+ // name. So we detect such names and process them with \\?\ prefix.
+ wchar *LastChar=PointToLastChar(Name);
+ bool Special=*LastChar=='.' || *LastChar==' ';
+ BOOL RetCode=Special ? FALSE : CreateDirectory(Name,NULL);
if (RetCode==0 && !FileExist(Name))
{
wchar LongName[NM];
@@ -25,6 +29,10 @@ MKDIR_CODE MakeDir(const wchar *Name,bool SetAttr,uint Attr)
WideToChar(Name,NameA,ASIZE(NameA));
mode_t uattr=SetAttr ? (mode_t)Attr:0777;
int ErrCode=mkdir(NameA,uattr);
+#ifdef _ANDROID
+ if (ErrCode==-1 && errno!=ENOENT)
+ ErrCode=JniMkdir(Name) ? 0 : -1; // If external card is read-only for usual file API.
+#endif
if (ErrCode==-1)
return errno==ENOENT ? MKDIR_BADPATH:MKDIR_ERROR;
return MKDIR_SUCCESS;
@@ -54,8 +62,9 @@ bool CreatePath(const wchar *Path,bool SkipLastName)
break;
// Process all kinds of path separators, so user can enter Unix style
- // path in Windows or Windows in Unix.
- if (IsPathDiv(*s))
+ // path in Windows or Windows in Unix. s>Path check avoids attempting
+ // creating an empty directory for paths starting from path separator.
+ if (IsPathDiv(*s) && s>Path)
{
#ifdef _WIN_ALL
// We must not attempt to create "D:" directory, because first
@@ -169,6 +178,19 @@ int64 GetFreeDisk(const wchar *Name)
#endif
+#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
+// Return 'true' for FAT and FAT32, so we can adjust the maximum supported
+// file size to 4 GB for these file systems.
+bool IsFAT(const wchar *Name)
+{
+ wchar Root[NM];
+ GetPathRoot(Name,Root,ASIZE(Root));
+ wchar FileSystem[MAX_PATH+1];
+ if (GetVolumeInformation(Root,NULL,0,NULL,NULL,NULL,FileSystem,ASIZE(FileSystem)))
+ return wcscmp(FileSystem,L"FAT")==0 || wcscmp(FileSystem,L"FAT32")==0;
+ return false;
+}
+#endif
bool FileExist(const wchar *Name)
@@ -394,7 +416,12 @@ bool RenameFile(const wchar *SrcName,const wchar *DestName)
char SrcNameA[NM],DestNameA[NM];
WideToChar(SrcName,SrcNameA,ASIZE(SrcNameA));
WideToChar(DestName,DestNameA,ASIZE(DestNameA));
- return rename(SrcNameA,DestNameA)==0;
+ bool Success=rename(SrcNameA,DestNameA)==0;
+#ifdef _ANDROID
+ if (!Success)
+ Success=JniRename(SrcName,DestName); // If external card is read-only for usual file API.
+#endif
+ return Success;
#endif
}
@@ -413,7 +440,12 @@ bool DelFile(const wchar *Name)
#else
char NameA[NM];
WideToChar(Name,NameA,ASIZE(NameA));
- return remove(NameA)==0;
+ bool Success=remove(NameA)==0;
+#ifdef _ANDROID
+ if (!Success)
+ Success=JniDelete(Name);
+#endif
+ return Success;
#endif
}
diff --git a/src/thirdparty/unrar/filefn.hpp b/src/thirdparty/unrar/filefn.hpp
index d89329471..b06cc64e1 100644
--- a/src/thirdparty/unrar/filefn.hpp
+++ b/src/thirdparty/unrar/filefn.hpp
@@ -12,6 +12,9 @@ bool IsRemovable(const wchar *Name);
int64 GetFreeDisk(const wchar *Name);
#endif
+#if defined(_WIN_ALL) && !defined(SFX_MODULE) && !defined(SILENT)
+bool IsFAT(const wchar *Root);
+#endif
bool FileExist(const wchar *Name);
bool WildFileExist(const wchar *Name);
diff --git a/src/thirdparty/unrar/filestr.cpp b/src/thirdparty/unrar/filestr.cpp
index b719206c7..a87384f24 100644
--- a/src/thirdparty/unrar/filestr.cpp
+++ b/src/thirdparty/unrar/filestr.cpp
@@ -37,15 +37,17 @@ bool ReadTextFile(
SrcFile.SetHandleType(FILE_HANDLESTD);
unsigned int DataSize=0,ReadSize;
- const int ReadBlock=1024;
- Array<char> Data(ReadBlock+5);
+ const int ReadBlock=4096;
+ Array<char> Data(ReadBlock+3);
while ((ReadSize=SrcFile.Read(&Data[DataSize],ReadBlock))!=0)
{
DataSize+=ReadSize;
Data.Add(ReadSize);
}
- memset(&Data[DataSize],0,5);
+ // Add trailing Unicode zero after text data. We add 3 bytes instead of 2
+ // in case read Unicode data contains uneven number of bytes.
+ memset(&Data[DataSize],0,3);
Array<wchar> WideStr;
@@ -136,7 +138,7 @@ bool ReadTextFile(
break;
*SpacePtr=0;
}
- if (*CurStr)
+ if (*CurStr!=0)
{
if (Unquote && *CurStr=='\"')
{
diff --git a/src/thirdparty/unrar/list.cpp b/src/thirdparty/unrar/list.cpp
index 7f1e3cd95..d64e274a6 100644
--- a/src/thirdparty/unrar/list.cpp
+++ b/src/thirdparty/unrar/list.cpp
@@ -18,6 +18,9 @@ void ListArchive(CommandData *Cmd)
wchar ArcName[NM];
while (Cmd->GetArcName(ArcName,ASIZE(ArcName)))
{
+ if (Cmd->ManualPassword)
+ Cmd->Password.Clean(); // Clean user entered password before processing next archive.
+
Archive Arc(Cmd);
#ifdef _WIN_ALL
Arc.RemoveSequentialFlag();
@@ -162,6 +165,10 @@ void ListArchive(CommandData *Cmd)
}
}
+ // Clean user entered password. Not really required, just for extra safety.
+ if (Cmd->ManualPassword)
+ Cmd->Password.Clean();
+
if (ArcCount>1 && !Bare && !Technical)
{
wchar UnpSizeText[20],PackSizeText[20];
diff --git a/src/thirdparty/unrar/loclang.hpp b/src/thirdparty/unrar/loclang.hpp
index d07df1cef..fb560713a 100644
--- a/src/thirdparty/unrar/loclang.hpp
+++ b/src/thirdparty/unrar/loclang.hpp
@@ -216,7 +216,7 @@
#define MExtrNoFiles L"\nNo files to extract"
#define MExtrAllOk L"\nAll OK"
#define MExtrTotalErr L"\nTotal errors: %ld"
-#define MFileExists L"\n\n%s already exists. Overwrite it ?"
+#define MAskReplace L"\n\nWould you like to replace the existing file %s\n%6s bytes, modified on %s\nwith a new one\n%6s bytes, modified on %s\n"
#define MAskOverwrite L"\nOverwrite %s ?"
#define MAskNewName L"\nEnter new name: "
#define MHeaderBroken L"\nCorrupt header is found"
@@ -344,6 +344,7 @@
#define MCreating L"\nCreating %s"
#define MRenaming L"\nRenaming %s to %s"
#define MNTFSRequired L"\nWrite error: only NTFS file system supports files larger than 4 GB"
+#define MFAT32Size L"\nWARNING: FAT32 file system does not support 4 GB or larger files"
#define MErrChangeAttr L"\nWARNING: Cannot change attributes of %s"
#define MWrongSFXVer L"\nERROR: default SFX module does not support RAR %d.%d archives"
#define MCannotEncName L"\nCannot encrypt archive already contained encrypted files"
diff --git a/src/thirdparty/unrar/options.hpp b/src/thirdparty/unrar/options.hpp
index 7b61ba2fb..ba9c0ca82 100644
--- a/src/thirdparty/unrar/options.hpp
+++ b/src/thirdparty/unrar/options.hpp
@@ -99,6 +99,9 @@ class RAROptions
wchar ArcPath[NM];
SecPassword Password;
bool EncryptHeaders;
+
+ bool ManualPassword; // Password entered manually during operation, might need to clean for next archive.
+
wchar LogName[NM];
MESSAGE_TYPE MsgStream;
bool Sound;
diff --git a/src/thirdparty/unrar/pathfn.cpp b/src/thirdparty/unrar/pathfn.cpp
index 016a0e824..bfd3b588e 100644
--- a/src/thirdparty/unrar/pathfn.cpp
+++ b/src/thirdparty/unrar/pathfn.cpp
@@ -196,7 +196,7 @@ void RemoveNameFromPath(wchar *Path)
#if defined(_WIN_ALL) && !defined(SFX_MODULE)
-static void GetAppDataPath(wchar *Path,size_t MaxSize,bool Create)
+bool GetAppDataPath(wchar *Path,size_t MaxSize,bool Create)
{
LPMALLOC g_pMalloc;
SHGetMalloc(&g_pMalloc);
@@ -212,12 +212,8 @@ static void GetAppDataPath(wchar *Path,size_t MaxSize,bool Create)
if (!Success && Create)
Success=MakeDir(Path,false,0)==MKDIR_SUCCESS;
}
- if (!Success)
- {
- GetModuleFileName(NULL,Path,(DWORD)MaxSize);
- RemoveNameFromPath(Path);
- }
g_pMalloc->Free(ppidl);
+ return Success;
}
#endif
@@ -237,7 +233,11 @@ void GetRarDataPath(wchar *Path,size_t MaxSize,bool Create)
}
if (*Path==0 || !FileExist(Path))
- GetAppDataPath(Path,MaxSize,Create);
+ if (!GetAppDataPath(Path,MaxSize,Create))
+ {
+ GetModuleFileName(NULL,Path,(DWORD)MaxSize);
+ RemoveNameFromPath(Path);
+ }
}
#endif
@@ -436,10 +436,13 @@ void MakeNameUsable(wchar *Name,bool Extended)
#ifndef _UNIX
if (s-Name>1 && *s==':')
*s='_';
+#if 0 // We already can create such files.
// Remove ' ' and '.' before path separator, but allow .\ and ..\.
- if ((*s==' ' || *s=='.' && s>Name && !IsPathDiv(s[-1]) && s[-1]!='.') && IsPathDiv(s[1]))
+ if (IsPathDiv(s[1]) && (*s==' ' || *s=='.' && s>Name &&
+ !IsPathDiv(s[-1]) && (s[-1]!='.' || s>Name+1 && !IsPathDiv(s[-2]))))
*s='_';
#endif
+#endif
}
}
diff --git a/src/thirdparty/unrar/pathfn.hpp b/src/thirdparty/unrar/pathfn.hpp
index b34727355..fabb29340 100644
--- a/src/thirdparty/unrar/pathfn.hpp
+++ b/src/thirdparty/unrar/pathfn.hpp
@@ -17,9 +17,14 @@ void AddEndSlash(wchar *Path,size_t MaxLength);
void MakeName(const wchar *Path,const wchar *Name,wchar *Pathname,size_t MaxSize);
void GetFilePath(const wchar *FullName,wchar *Path,size_t MaxLength);
void RemoveNameFromPath(wchar *Path);
+#if defined(_WIN_ALL) && !defined(SFX_MODULE)
+bool GetAppDataPath(wchar *Path,size_t MaxSize,bool Create);
void GetRarDataPath(wchar *Path,size_t MaxSize,bool Create);
+#endif
+#ifndef SFX_MODULE
bool EnumConfigPaths(uint Number,wchar *Path,size_t MaxSize,bool Create);
void GetConfigName(const wchar *Name,wchar *FullName,size_t MaxSize,bool CheckExist,bool Create);
+#endif
wchar* GetVolNumPart(const wchar *ArcName);
void NextVolumeName(wchar *ArcName,uint MaxLength,bool OldNumbering);
bool IsNameUsable(const wchar *Name);
diff --git a/src/thirdparty/unrar/secpassword.cpp b/src/thirdparty/unrar/secpassword.cpp
index ba7152595..2ac289b72 100644
--- a/src/thirdparty/unrar/secpassword.cpp
+++ b/src/thirdparty/unrar/secpassword.cpp
@@ -7,6 +7,7 @@ typedef BOOL (WINAPI *CRYPTUNPROTECTMEMORY)(LPVOID pData,DWORD cbData,DWORD dwFl
#ifndef CRYPTPROTECTMEMORY_BLOCK_SIZE
#define CRYPTPROTECTMEMORY_BLOCK_SIZE 16
#define CRYPTPROTECTMEMORY_SAME_PROCESS 0x00
+#define CRYPTPROTECTMEMORY_CROSS_PROCESS 0x01
#endif
class CryptLoader
@@ -48,12 +49,13 @@ class CryptLoader
CRYPTUNPROTECTMEMORY pCryptUnprotectMemory;
};
-// We want to call FreeLibrary when RAR is exiting.
+// We need to call FreeLibrary when RAR is exiting.
CryptLoader GlobalCryptLoader;
#endif
SecPassword::SecPassword()
{
+ CrossProcess=false;
Set(L"");
}
@@ -99,7 +101,7 @@ void SecPassword::Process(const wchar *Src,size_t SrcSize,wchar *Dst,size_t DstS
// Source string can be shorter than destination as in case when we process
// -p<pwd> parameter, so we need to take into account both sizes.
memcpy(Dst,Src,Min(SrcSize,DstSize)*sizeof(*Dst));
- SecHideData(Dst,DstSize*sizeof(*Dst),Encode);
+ SecHideData(Dst,DstSize*sizeof(*Dst),Encode,CrossProcess);
}
@@ -156,18 +158,19 @@ bool SecPassword::operator == (SecPassword &psw)
}
-void SecHideData(void *Data,size_t DataSize,bool Encode)
+void SecHideData(void *Data,size_t DataSize,bool Encode,bool CrossProcess)
{
#ifdef _WIN_ALL
// Try to utilize the secure Crypt[Un]ProtectMemory if possible.
if (GlobalCryptLoader.pCryptProtectMemory==NULL)
GlobalCryptLoader.Load();
size_t Aligned=DataSize-DataSize%CRYPTPROTECTMEMORY_BLOCK_SIZE;
+ DWORD Flags=CrossProcess ? CRYPTPROTECTMEMORY_CROSS_PROCESS : CRYPTPROTECTMEMORY_SAME_PROCESS;
if (Encode)
{
if (GlobalCryptLoader.pCryptProtectMemory!=NULL)
{
- if (!GlobalCryptLoader.pCryptProtectMemory(Data,DWORD(Aligned),CRYPTPROTECTMEMORY_SAME_PROCESS))
+ if (!GlobalCryptLoader.pCryptProtectMemory(Data,DWORD(Aligned),Flags))
{
ErrHandler.GeneralErrMsg(L"CryptProtectMemory failed");
ErrHandler.SysErrMsg();
@@ -180,7 +183,7 @@ void SecHideData(void *Data,size_t DataSize,bool Encode)
{
if (GlobalCryptLoader.pCryptUnprotectMemory!=NULL)
{
- if (!GlobalCryptLoader.pCryptUnprotectMemory(Data,DWORD(Aligned),CRYPTPROTECTMEMORY_SAME_PROCESS))
+ if (!GlobalCryptLoader.pCryptUnprotectMemory(Data,DWORD(Aligned),Flags))
{
ErrHandler.GeneralErrMsg(L"CryptUnprotectMemory failed");
ErrHandler.SysErrMsg();
diff --git a/src/thirdparty/unrar/secpassword.hpp b/src/thirdparty/unrar/secpassword.hpp
index 7e166a23b..375d3887a 100644
--- a/src/thirdparty/unrar/secpassword.hpp
+++ b/src/thirdparty/unrar/secpassword.hpp
@@ -22,10 +22,14 @@ class SecPassword
bool IsSet() {return PasswordSet;}
size_t Length();
bool operator == (SecPassword &psw);
+
+ // Set to true if we need to pass a password to another process.
+ // We use it when transferring parameters to UAC elevated WinRAR.
+ bool CrossProcess;
};
void cleandata(void *data,size_t size);
-void SecHideData(void *Data,size_t DataSize,bool Encode);
+void SecHideData(void *Data,size_t DataSize,bool Encode,bool CrossProcess);
#endif
diff --git a/src/thirdparty/unrar/smallfn.cpp b/src/thirdparty/unrar/smallfn.cpp
index 5b5e6f66b..fe7cb1dc2 100644
--- a/src/thirdparty/unrar/smallfn.cpp
+++ b/src/thirdparty/unrar/smallfn.cpp
@@ -4,7 +4,7 @@ int ToPercent(int64 N1,int64 N2)
{
if (N2<N1)
return(100);
- return(ToPercentUnlim(N1,N2));
+ return ToPercentUnlim(N1,N2);
}
@@ -13,5 +13,7 @@ int ToPercentUnlim(int64 N1,int64 N2)
{
if (N2==0)
return(0);
- return((int)(N1*100/N2));
+ return (int)(N1*100/N2);
}
+
+
diff --git a/src/thirdparty/unrar/strfn.cpp b/src/thirdparty/unrar/strfn.cpp
index c2888a09c..f83482fb2 100644
--- a/src/thirdparty/unrar/strfn.cpp
+++ b/src/thirdparty/unrar/strfn.cpp
@@ -265,8 +265,9 @@ wchar* wcsncpyz(wchar *dest, const wchar *src, size_t maxlen)
char* strncatz(char* dest, const char* src, size_t maxlen)
{
size_t Length = strlen(dest);
- if (Length + 1 < maxlen)
- strncat(dest, src, maxlen - Length - 1);
+ int avail=int(maxlen - Length - 1);
+ if (avail > 0)
+ strncat(dest, src, avail);
return dest;
}
@@ -277,8 +278,9 @@ char* strncatz(char* dest, const char* src, size_t maxlen)
wchar* wcsncatz(wchar* dest, const wchar* src, size_t maxlen)
{
size_t Length = wcslen(dest);
- if (Length + 1 < maxlen)
- wcsncat(dest, src, maxlen - Length - 1);
+ int avail=int(maxlen - Length - 1);
+ if (avail > 0)
+ wcsncat(dest, src, avail);
return dest;
}
diff --git a/src/thirdparty/unrar/threadmisc.cpp b/src/thirdparty/unrar/threadmisc.cpp
index d56867be4..d1524e0cf 100644
--- a/src/thirdparty/unrar/threadmisc.cpp
+++ b/src/thirdparty/unrar/threadmisc.cpp
@@ -58,6 +58,20 @@ ThreadPool* CreateThreadPool()
if (GlobalPoolUseCount++ == 0)
GlobalPool=new ThreadPool(MaxPoolThreads);
+#ifdef RARDLL
+ // We use a simple thread pool, which does not allow to add tasks from
+ // different functions and threads in the same time. It is ok for RAR,
+ // but UnRAR.dll can be used in multithreaded environment. So if one of
+ // threads requests a copy of global pool and another copy is already
+ // in use, we create and return a new pool instead of existing global.
+ if (GlobalPoolUseCount > 1)
+ {
+ ThreadPool *Pool = new ThreadPool(MaxPoolThreads);
+ CriticalSectionEnd(&PoolCreateSync.CritSection);
+ return Pool;
+ }
+#endif
+
CriticalSectionEnd(&PoolCreateSync.CritSection);
return GlobalPool;
}
@@ -69,6 +83,12 @@ void DestroyThreadPool(ThreadPool *Pool)
if (Pool!=NULL && Pool==GlobalPool && GlobalPoolUseCount > 0 && --GlobalPoolUseCount == 0)
delete GlobalPool;
+#ifdef RARDLL
+ // To correctly work in multithreaded environment UnRAR.dll creates
+ // new pools if global pool is already in use. We delete such pools here.
+ if (Pool!=NULL && Pool!=GlobalPool)
+ delete Pool;
+#endif
CriticalSectionEnd(&PoolCreateSync.CritSection);
}
diff --git a/src/thirdparty/unrar/timefn.hpp b/src/thirdparty/unrar/timefn.hpp
index f8c914b87..355baaf74 100644
--- a/src/thirdparty/unrar/timefn.hpp
+++ b/src/thirdparty/unrar/timefn.hpp
@@ -32,6 +32,7 @@ class RarTime
RarTime& operator =(time_t ut);
time_t GetUnix();
bool operator == (RarTime &rt) {return itime==rt.itime;}
+ bool operator != (RarTime &rt) {return itime!=rt.itime;}
bool operator < (RarTime &rt) {return itime<rt.itime;}
bool operator <= (RarTime &rt) {return itime<rt.itime || itime==rt.itime;}
bool operator > (RarTime &rt) {return itime>rt.itime;}
diff --git a/src/thirdparty/unrar/ui.hpp b/src/thirdparty/unrar/ui.hpp
index 9803b78ab..ae1b8839a 100644
--- a/src/thirdparty/unrar/ui.hpp
+++ b/src/thirdparty/unrar/ui.hpp
@@ -45,7 +45,7 @@ enum UIMESSAGE_CODE {
UIMSG_SECTORRECOVERED, UIMSG_SECTORNOTRECOVERED, UIMSG_FOUND,
UIMSG_CORRECTINGNAME, UIMSG_BADARCHIVE, UIMSG_CREATING, UIMSG_RENAMING,
UIMSG_RECVOLCALCCHECKSUM, UIMSG_RECVOLFOUND, UIMSG_RECVOLMISSING,
- UIMSG_MISSINGVOL, UIMSG_RECONSTRUCTING, UIMSG_CHECKSUM,
+ UIMSG_MISSINGVOL, UIMSG_RECONSTRUCTING, UIMSG_CHECKSUM, UIMSG_FAT32SIZE,
UIWAIT_FIRST,
UIWAIT_DISKFULLNEXT, UIWAIT_FCREATEERROR,
@@ -55,9 +55,8 @@ enum UIMESSAGE_CODE {
UIEVENT_DELADDEDSTART, UIEVENT_DELADDEDFILE, UIEVENT_FILESFOUND,
UIEVENT_ERASEDISK, UIEVENT_FILESUMSTART, UIEVENT_FILESUMPROGRESS,
UIEVENT_FILESUMEND, UIEVENT_PROTECTSTART, UIEVENT_PROTECTEND,
- UIEVENT_TESTADDEDSTART, UIEVENT_TESTADDEDEND, UIEVENT_RRTESTING,
- UIEVENT_NEWARCHIVE, UIEVENT_NEWREVFILE
-
+ UIEVENT_TESTADDEDSTART, UIEVENT_TESTADDEDEND, UIEVENT_RRTESTINGSTART,
+ UIEVENT_RRTESTINGEND, UIEVENT_NEWARCHIVE, UIEVENT_NEWREVFILE
};
// Flags for uiAskReplace function.
diff --git a/src/thirdparty/unrar/uiconsole.cpp b/src/thirdparty/unrar/uiconsole.cpp
index 5ddaf09f4..b9129c4f7 100644
--- a/src/thirdparty/unrar/uiconsole.cpp
+++ b/src/thirdparty/unrar/uiconsole.cpp
@@ -1,8 +1,20 @@
// Purely user interface function. Gets and returns user input.
UIASKREP_RESULT uiAskReplace(wchar *Name,size_t MaxNameSize,int64 FileSize,RarTime *FileTime,uint Flags)
{
+ wchar SizeText1[20],DateStr1[50],SizeText2[20],DateStr2[50];
+
+ FindData ExistingFD;
+ memset(&ExistingFD,0,sizeof(ExistingFD)); // In case find fails.
+ FindFile::FastFind(Name,&ExistingFD);
+ itoa(ExistingFD.Size,SizeText1);
+ ExistingFD.mtime.GetText(DateStr1,ASIZE(DateStr1),true,false);
+
+ itoa(FileSize,SizeText2);
+ FileTime->GetText(DateStr2,ASIZE(DateStr2),true,false);
+
+ eprintf(St(MAskReplace),Name,SizeText1,DateStr1,SizeText2,DateStr2);
+
bool AllowRename=(Flags & UIASKREP_F_NORENAME)==0;
- eprintf(St(MFileExists),Name);
int Choice=0;
do
{
@@ -299,11 +311,14 @@ void uiMsgStore::Msg()
case UIMSG_CHECKSUM:
mprintf(St(MCRCFailed),Str[0]);
break;
+ case UIMSG_FAT32SIZE:
+ mprintf(St(MFAT32Size));
+ mprintf(L" "); // For progress percent.
+ break;
-
- case UIEVENT_RRTESTING:
+ case UIEVENT_RRTESTINGSTART:
mprintf(L"%s ",St(MTestingRR));
break;
}
diff --git a/src/thirdparty/unrar/unicode.cpp b/src/thirdparty/unrar/unicode.cpp
index cff2358d0..9c1080aa7 100644
--- a/src/thirdparty/unrar/unicode.cpp
+++ b/src/thirdparty/unrar/unicode.cpp
@@ -433,7 +433,7 @@ const wchar_t* wcscasestr(const wchar_t *str, const wchar_t *search)
{
if (search[j]==0)
return str+i;
- if (towlower(str[i+j])!=towlower(search[j]))
+ if (tolowerw(str[i+j])!=tolowerw(search[j]))
break;
}
return NULL;
@@ -472,31 +472,50 @@ wchar* wcsupper(wchar *s)
int toupperw(int ch)
{
+#ifdef _WIN_ALL
+ // CharUpper is more reliable than towupper in Windows, which seems to be
+ // C locale dependent even in Unicode version. For example, towupper failed
+ // to convert lowercase Russian characters.
+ return (int)CharUpper((wchar *)ch);
+#else
return towupper(ch);
+#endif
}
int tolowerw(int ch)
{
+#ifdef _WIN_ALL
+ // CharLower is more reliable than towlower in Windows.
+ // See comment for towupper above.
+ return (int)CharLower((wchar *)ch);
+#else
return towlower(ch);
+#endif
}
-uint atoiw(const wchar *s)
+int atoiw(const wchar *s)
{
- return (uint)atoilw(s);
+ return (int)atoilw(s);
}
-uint64 atoilw(const wchar *s)
+int64 atoilw(const wchar *s)
{
- uint64 n=0;
+ int sign=1;
+ if (*s=='-')
+ {
+ s++;
+ sign=-1;
+ }
+ int64 n=0;
while (*s>='0' && *s<='9')
{
n=n*10+(*s-'0');
s++;
}
- return n;
+ return sign*n;
}
diff --git a/src/thirdparty/unrar/unicode.hpp b/src/thirdparty/unrar/unicode.hpp
index 29eeb0edd..e2f45b0b9 100644
--- a/src/thirdparty/unrar/unicode.hpp
+++ b/src/thirdparty/unrar/unicode.hpp
@@ -22,8 +22,8 @@ wchar* wcsupper(wchar *s);
#endif
int toupperw(int ch);
int tolowerw(int ch);
-uint atoiw(const wchar *s);
-uint64 atoilw(const wchar *s);
+int atoiw(const wchar *s);
+int64 atoilw(const wchar *s);
#ifdef DBCS_SUPPORTED
class SupportDBCS
diff --git a/src/thirdparty/unrar/unrar.vcxproj b/src/thirdparty/unrar/unrar.vcxproj
index 3a0aafb89..88eede44a 100644
--- a/src/thirdparty/unrar/unrar.vcxproj
+++ b/src/thirdparty/unrar/unrar.vcxproj
@@ -47,52 +47,46 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
<PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
<PreprocessorDefinitions>_LIB;RARDLL;SILENT;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/src/thirdparty/unrar/version.hpp b/src/thirdparty/unrar/version.hpp
index ef0b664db..3a36f22b3 100644
--- a/src/thirdparty/unrar/version.hpp
+++ b/src/thirdparty/unrar/version.hpp
@@ -1,6 +1,6 @@
#define RARVER_MAJOR 5
-#define RARVER_MINOR 11
-#define RARVER_BETA 1
-#define RARVER_DAY 6
-#define RARVER_MONTH 8
+#define RARVER_MINOR 20
+#define RARVER_BETA 0
+#define RARVER_DAY 2
+#define RARVER_MONTH 12
#define RARVER_YEAR 2014
diff --git a/src/thirdparty/versions.txt b/src/thirdparty/versions.txt
index d626b01f2..807716792 100644
--- a/src/thirdparty/versions.txt
+++ b/src/thirdparty/versions.txt
@@ -1,19 +1,19 @@
Project Version
----------------------------------------
CSizingControlBar 2.45
-LAV Filters 0.63-5-7ffa765 (custom build based on 0.63.0)
-Little CMS 2.6 (git 9c075b3)
+LAV Filters 0.63-58-5f45b57 (custom build based on 0.63-52-17b2dae)
+Little CMS 2.7 (git 8174681)
Logitech SDK 3.01 (driver 8.00.100)
-MediaInfoLib 0.7.70
+MediaInfoLib 0.7.71
Mhook 2.3 (modified)
MultiMon 28 Aug '03 (modified)
QuickTime SDK 7.3
RARFileSource 0.9.3 (modified)
RealMedia SDK -
ResizableLib 1.3
-SoundTouch 1.8.0
+SoundTouch 1.8.0 r201
TreePropSheet 7 Mar '03 (modified)
-UnRAR 5.1.7
+UnRAR 5.2.3
VirtualDub 1.10.4
-ZenLib 0.4.29 r481
+ZenLib 0.4.29 r498
zlib 1.2.8
diff --git a/src/thirdparty/zlib/zlib.vcxproj b/src/thirdparty/zlib/zlib.vcxproj
index af8fafc19..7000451cf 100644
--- a/src/thirdparty/zlib/zlib.vcxproj
+++ b/src/thirdparty/zlib/zlib.vcxproj
@@ -48,52 +48,46 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|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" />
+ <Import Project="..\..\common-3rd-party.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- <EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>