Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- project/VS2010Express/XBMC.vcxproj | 166 +--
- project/VS2010Express/XBMC.vcxproj.filters | 1127 ++++++++++----------
- xbmc/Application.cpp | 39 +-
- xbmc/cores/DSPlayer/FGFilter.cpp | 10 +-
- xbmc/cores/DSPlayer/FGLoader.cpp | 10 +-
- xbmc/cores/DSPlayer/FGLoader.h | 2 +-
- xbmc/cores/DSPlayer/Filters/AllocatorCommon.cpp | 28 +-
- xbmc/cores/DSPlayer/Filters/AllocatorCommon.h | 1 +
- .../DSPlayer/Filters/madVRAllocatorPresenter.cpp | 278 +++++
- .../DSPlayer/Filters/madVRAllocatorPresenter.h | 117 ++
- xbmc/cores/DSPlayer/Filters/madVRTestPattern.cpp | 214 ++++
- xbmc/cores/DSPlayer/Filters/madVRTestPattern.h | 246 +++++
- xbmc/cores/DSPlayer/Filters/mvrInterfaces.h | 720 +++++++++++++
- xbmc/cores/DSPlayer/GraphFilters.cpp | 8 +
- xbmc/cores/DSPlayer/GraphFilters.h | 13 +-
- xbmc/cores/DSPlayer/IPaintCallback.h | 10 +-
- xbmc/cores/DSPlayer/moreuuids.h | 5 +-
- xbmc/cores/playercorefactory/PlayerCoreFactory.cpp | 14 +-
- xbmc/rendering/dx/RenderSystemDX.cpp | 12 +-
- xbmc/settings/GUISettings.cpp | 4 +-
- 20 files changed, 2366 insertions(+), 658 deletions(-)
- diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj
- index 3aba3ea..58388d9 100644
- --- a/project/VS2010Express/XBMC.vcxproj
- +++ b/project/VS2010Express/XBMC.vcxproj
- @@ -369,7 +369,7 @@
- <ClCompile Include="..\..\xbmc\addons\Skin.cpp" />
- <ClCompile Include="..\..\xbmc\Application.cpp" />
- <ClCompile Include="..\..\xbmc\ApplicationMessenger.cpp" />
- - <ClCompile Include="..\..\xbmc\AppParamParser.cpp" />
- + <ClCompile Include="..\..\xbmc\AppParamParser.cpp" />
- <ClCompile Include="..\..\xbmc\Autorun.cpp" />
- <ClCompile Include="..\..\xbmc\AutoSwitch.cpp" />
- <ClCompile Include="..\..\xbmc\BackgroundInfoLoader.cpp" />
- @@ -412,6 +412,7 @@
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\asyncrdr.cpp" />
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\DX9AllocatorPresenter.cpp" />
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\EVRAllocatorPresenter.cpp" />
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\madVRAllocatorPresenter.cpp" />
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.cpp" />
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.cpp" />
- <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.cpp" />
- @@ -495,9 +496,9 @@
- <ClCompile Include="..\..\xbmc\filesystem\CurlFile.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\DAAPDirectory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\DAAPFile.cpp" />
- - <ClCompile Include="..\..\xbmc\filesystem\DAVCommon.cpp" />
- + <ClCompile Include="..\..\xbmc\filesystem\DAVCommon.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\DAVDirectory.cpp" />
- - <ClCompile Include="..\..\xbmc\filesystem\DAVFile.cpp" />
- + <ClCompile Include="..\..\xbmc\filesystem\DAVFile.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\Directory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\DirectoryCache.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\DirectoryFactory.cpp" />
- @@ -529,7 +530,7 @@
- <ClCompile Include="..\..\xbmc\filesystem\MultiPathDirectory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\MultiPathFile.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseDirectory.cpp" />
- - <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.cpp" />
- + <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseFile.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\MusicFileDirectory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\MusicSearchDirectory.cpp" />
- @@ -606,7 +607,7 @@
- <ClCompile Include="..\..\xbmc\filesystem\UPnPDirectory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\UPnPFile.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\VideoDatabaseDirectory.cpp" />
- - <ClCompile Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.cpp" />
- + <ClCompile Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\windows\WINFileSMB.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\windows\WINSMBDirectory.cpp" />
- <ClCompile Include="..\..\xbmc\filesystem\VirtualDirectory.cpp" />
- @@ -620,7 +621,7 @@
- <ClCompile Include="..\..\xbmc\GUIInfoManager.cpp" />
- <ClCompile Include="..\..\xbmc\GUILargeTextureManager.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\AnimatedGif.cpp" />
- - <ClCompile Include="..\..\xbmc\guilib\cximage.cpp" />
- + <ClCompile Include="..\..\xbmc\guilib\cximage.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\D3DResource.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\DDSImage.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\DirectXGraphics.cpp" />
- @@ -706,7 +707,7 @@
- <ClCompile Include="..\..\xbmc\guilib\GUIWindow.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\GUIWindowManager.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\GUIWrappingListContainer.cpp" />
- - <ClCompile Include="..\..\xbmc\guilib\imagefactory.cpp" />
- + <ClCompile Include="..\..\xbmc\guilib\imagefactory.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\IWindowManagerCallback.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\JpegIO.cpp" />
- <ClCompile Include="..\..\xbmc\guilib\Key.cpp" />
- @@ -737,9 +738,9 @@
- <ClCompile Include="..\..\xbmc\input\KeyboardLayoutConfiguration.cpp" />
- <ClCompile Include="..\..\xbmc\input\KeyboardStat.cpp" />
- <ClCompile Include="..\..\xbmc\input\MouseStat.cpp" />
- - <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.cpp" />
- - <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.cpp" />
- - <ClCompile Include="..\..\xbmc\input\touch\ITouchInputHandling.cpp" />
- + <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.cpp" />
- + <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.cpp" />
- + <ClCompile Include="..\..\xbmc\input\touch\ITouchInputHandling.cpp" />
- <ClCompile Include="..\..\xbmc\input\windows\IRServerSuite.cpp" />
- <ClCompile Include="..\..\xbmc\input\windows\IrssMessage.cpp" />
- <ClCompile Include="..\..\xbmc\input\windows\WINJoystick.cpp" />
- @@ -877,10 +878,10 @@
- <ClCompile Include="..\..\xbmc\network\UdpClient.cpp" />
- <ClCompile Include="..\..\xbmc\network\upnp\UPnP.cpp" />
- <ClCompile Include="..\..\xbmc\network\upnp\UPnPInternal.cpp" />
- - <ClCompile Include="..\..\xbmc\network\upnp\UPnPPlayer.cpp" />
- + <ClCompile Include="..\..\xbmc\network\upnp\UPnPPlayer.cpp" />
- <ClCompile Include="..\..\xbmc\network\upnp\UPnPRenderer.cpp" />
- <ClCompile Include="..\..\xbmc\network\upnp\UPnPServer.cpp" />
- - <ClCompile Include="..\..\xbmc\network\upnp\UPnPSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\network\upnp\UPnPSettings.cpp" />
- <ClCompile Include="..\..\xbmc\network\WebServer.cpp" />
- <ClCompile Include="..\..\xbmc\network\websocket\WebSocket.cpp" />
- <ClCompile Include="..\..\xbmc\network\websocket\WebSocketManager.cpp" />
- @@ -895,7 +896,7 @@
- <ClCompile Include="..\..\xbmc\PartyModeManager.cpp" />
- <ClCompile Include="..\..\xbmc\PasswordManager.cpp" />
- <ClCompile Include="..\..\xbmc\peripherals\bus\PeripheralBus.cpp" />
- - <ClCompile Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.cpp" />
- + <ClCompile Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.cpp" />
- <ClCompile Include="..\..\xbmc\peripherals\bus\win32\PeripheralBusUSB.cpp" />
- <ClCompile Include="..\..\xbmc\peripherals\devices\Peripheral.cpp" />
- <ClCompile Include="..\..\xbmc\peripherals\devices\PeripheralBluetooth.cpp" />
- @@ -931,11 +932,11 @@
- <ClCompile Include="..\..\xbmc\powermanagement\DPMSSupport.cpp" />
- <ClCompile Include="..\..\xbmc\powermanagement\PowerManager.cpp" />
- <ClCompile Include="..\..\xbmc\powermanagement\windows\Win32PowerSyscall.cpp" />
- - <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\profiles\Profile.cpp" />
- - <ClCompile Include="..\..\xbmc\profiles\ProfilesManager.cpp" />
- - <ClCompile Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.cpp" />
- + <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\profiles\Profile.cpp" />
- + <ClCompile Include="..\..\xbmc\profiles\ProfilesManager.cpp" />
- + <ClCompile Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.cpp" />
- <ClCompile Include="..\..\xbmc\programs\GUIViewStatePrograms.cpp" />
- <ClCompile Include="..\..\xbmc\programs\GUIWindowPrograms.cpp" />
- <ClCompile Include="..\..\xbmc\pvr\addons\PVRClient.cpp" />
- @@ -985,20 +986,20 @@
- <ClCompile Include="..\..\xbmc\rendering\RenderSystem.cpp" />
- <ClCompile Include="..\..\xbmc\SectionLoader.cpp" />
- <ClCompile Include="..\..\xbmc\settings\AdvancedSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\DisplaySettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\DisplaySettings.cpp" />
- <ClCompile Include="..\..\xbmc\settings\GUISettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\MediaSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\MediaSourceSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\MediaSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\MediaSourceSettings.cpp" />
- <ClCompile Include="..\..\xbmc\settings\Settings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\SkinSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\SkinSettings.cpp" />
- <ClCompile Include="..\..\xbmc\settings\VideoSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\windows\GUISettingControls.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettings.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\windows\GUISettingControls.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.cpp" />
- <ClCompile Include="..\..\xbmc\storage\AutorunMediaJob.cpp" />
- <ClCompile Include="..\..\xbmc\storage\cdioSupport.cpp" />
- <ClCompile Include="..\..\xbmc\storage\IoSupport.cpp" />
- @@ -1040,7 +1041,7 @@
- <ClCompile Include="..\..\xbmc\TextureCacheJob.cpp" />
- <ClCompile Include="..\..\xbmc\TextureDatabase.cpp" />
- <ClCompile Include="..\..\xbmc\DatabaseManager.cpp" />
- - <ClInclude Include="..\..\xbmc\AppParamParser.h" />
- + <ClInclude Include="..\..\xbmc\AppParamParser.h" />
- <ClInclude Include="..\..\xbmc\cores\AudioEngine\AEAudioFormat.h" />
- <ClInclude Include="..\..\xbmc\cores\AudioEngine\AEFactory.h" />
- <ClInclude Include="..\..\xbmc\cores\AudioEngine\AESinkFactory.h" />
- @@ -1097,6 +1098,7 @@
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDecVideo.h" />
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowEnc.h" />
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowParamsEnum.h" />
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\madVRAllocatorPresenter.h" />
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.h" />
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.h" />
- <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.h" />
- @@ -1126,25 +1128,25 @@
- <ClInclude Include="..\..\xbmc\DbUrl.h" />
- <ClInclude Include="..\..\xbmc\dialogs\GUIDialogMediaFilter.h" />
- <ClInclude Include="..\..\xbmc\filesystem\HTTPFile.h" />
- - <ClInclude Include="..\..\xbmc\filesystem\DAVCommon.h" />
- - <ClInclude Include="..\..\xbmc\filesystem\DAVFile.h" />
- + <ClInclude Include="..\..\xbmc\filesystem\DAVCommon.h" />
- + <ClInclude Include="..\..\xbmc\filesystem\DAVFile.h" />
- <ClInclude Include="..\..\xbmc\filesystem\ImageFile.h" />
- - <ClInclude Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.h" />
- - <ClInclude Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.h" />
- + <ClInclude Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.h" />
- + <ClInclude Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.h" />
- <ClInclude Include="..\..\xbmc\filesystem\windows\WINFileSMB.h" />
- <ClInclude Include="..\..\xbmc\filesystem\windows\WINSMBDirectory.h" />
- - <ClInclude Include="..\..\xbmc\guilib\cximage.h" />
- + <ClInclude Include="..\..\xbmc\guilib\cximage.h" />
- <ClInclude Include="..\..\xbmc\guilib\GUIKeyboard.h" />
- <ClInclude Include="..\..\xbmc\guilib\GUIKeyboardFactory.h" />
- - <ClInclude Include="..\..\xbmc\guilib\iimage.h" />
- - <ClInclude Include="..\..\xbmc\guilib\imagefactory.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\generic\IGenericTouchGestureDetector.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchActionHandler.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandler.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandling.h" />
- - <ClInclude Include="..\..\xbmc\input\touch\TouchTypes.h" />
- + <ClInclude Include="..\..\xbmc\guilib\iimage.h" />
- + <ClInclude Include="..\..\xbmc\guilib\imagefactory.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\generic\IGenericTouchGestureDetector.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchActionHandler.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandler.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandling.h" />
- + <ClInclude Include="..\..\xbmc\input\touch\TouchTypes.h" />
- <ClInclude Include="..\..\xbmc\input\windows\WINJoystick.h" />
- <ClInclude Include="..\..\xbmc\interfaces\json-rpc\PVROperations.h" />
- <ClInclude Include="..\..\xbmc\interfaces\legacy\Addon.h" />
- @@ -1189,29 +1191,29 @@
- <ClInclude Include="..\..\xbmc\interfaces\python\PyContext.h" />
- <ClInclude Include="..\..\xbmc\interfaces\python\pythreadstate.h" />
- <ClInclude Include="..\..\xbmc\music\karaoke\karaokevideobackground.h" />
- - <ClInclude Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.h" />
- - <ClInclude Include="..\..\xbmc\network\upnp\UPnPSettings.h" />
- - <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.h" />
- - <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.h" />
- - <ClInclude Include="..\..\xbmc\profiles\Profile.h" />
- - <ClInclude Include="..\..\xbmc\profiles\ProfilesManager.h" />
- - <ClInclude Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.h" />
- - <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\DisplaySettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\ISettingsHandler.h" />
- - <ClInclude Include="..\..\xbmc\settings\ISubSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\MediaSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\MediaSourceSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\SkinSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\windows\GUISettingControls.h" />
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettings.h" />
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.h" />
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.h" />
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.h" />
- - <ClInclude Include="..\..\xbmc\utils\IRssObserver.h" />
- - <ClInclude Include="..\..\xbmc\utils\RssManager.h" />
- - <ClInclude Include="..\..\xbmc\utils\Vector.h" />
- + <ClInclude Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.h" />
- + <ClInclude Include="..\..\xbmc\network\upnp\UPnPSettings.h" />
- + <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.h" />
- + <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.h" />
- + <ClInclude Include="..\..\xbmc\profiles\Profile.h" />
- + <ClInclude Include="..\..\xbmc\profiles\ProfilesManager.h" />
- + <ClInclude Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.h" />
- + <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\DisplaySettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\ISettingsHandler.h" />
- + <ClInclude Include="..\..\xbmc\settings\ISubSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\MediaSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\MediaSourceSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\SkinSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\windows\GUISettingControls.h" />
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettings.h" />
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.h" />
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.h" />
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.h" />
- + <ClInclude Include="..\..\xbmc\utils\IRssObserver.h" />
- + <ClInclude Include="..\..\xbmc\utils\RssManager.h" />
- + <ClInclude Include="..\..\xbmc\utils\Vector.h" />
- <ClInclude Include="..\..\xbmc\video\FFmpegVideoDecoder.h" />
- <ClInclude Include="..\..\xbmc\interfaces\python\swig.h" />
- <ClInclude Include="..\..\xbmc\interfaces\python\XBPython.h" />
- @@ -1225,7 +1227,7 @@
- <ClInclude Include="..\..\xbmc\network\DllLibShairplay.h" />
- <ClInclude Include="..\..\xbmc\network\upnp\UPnP.h" />
- <ClInclude Include="..\..\xbmc\network\upnp\UPnPInternal.h" />
- - <ClInclude Include="..\..\xbmc\network\upnp\UPnPPlayer.h" />
- + <ClInclude Include="..\..\xbmc\network\upnp\UPnPPlayer.h" />
- <ClInclude Include="..\..\xbmc\network\upnp\UPnPRenderer.h" />
- <ClInclude Include="..\..\xbmc\network\upnp\UPnPServer.h" />
- <ClInclude Include="..\..\xbmc\network\websocket\WebSocket.h" />
- @@ -1347,7 +1349,7 @@
- </ClInclude>
- <ClInclude Include="..\..\xbmc\interfaces\json-rpc\AddonsOperations.h" />
- <ClCompile Include="..\..\xbmc\ThumbLoader.cpp" />
- - <ClCompile Include="..\..\xbmc\utils\RssManager.cpp" />
- + <ClCompile Include="..\..\xbmc\utils\RssManager.cpp" />
- <ClCompile Include="..\..\xbmc\utils\test\TestUrlOptions.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug (OpenGL)|Win32'">true</ExcludedFromBuild>
- @@ -1355,8 +1357,8 @@
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release (OpenGL)|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">true</ExcludedFromBuild>
- </ClCompile>
- - <ClCompile Include="..\..\xbmc\utils\Vector.cpp" />
- - <ClCompile Include="..\..\xbmc\video\PlayerController.cpp" />
- + <ClCompile Include="..\..\xbmc\utils\Vector.cpp" />
- + <ClCompile Include="..\..\xbmc\video\PlayerController.cpp" />
- <ClCompile Include="..\..\xbmc\video\VideoThumbLoader.cpp" />
- <ClCompile Include="..\..\xbmc\music\MusicThumbLoader.cpp" />
- <ClCompile Include="..\..\xbmc\ThumbnailCache.cpp" />
- @@ -1775,10 +1777,10 @@
- <ClCompile Include="..\..\xbmc\video\windows\GUIWindowVideoBase.cpp" />
- <ClCompile Include="..\..\xbmc\video\windows\GUIWindowVideoNav.cpp" />
- <ClCompile Include="..\..\xbmc\video\windows\GUIWindowVideoPlaylist.cpp" />
- - <ClCompile Include="..\..\xbmc\view\GUIViewControl.cpp" />
- - <ClCompile Include="..\..\xbmc\view\GUIViewState.cpp" />
- - <ClCompile Include="..\..\xbmc\view\ViewDatabase.cpp" />
- - <ClCompile Include="..\..\xbmc\view\ViewStateSettings.cpp" />
- + <ClCompile Include="..\..\xbmc\view\GUIViewControl.cpp" />
- + <ClCompile Include="..\..\xbmc\view\GUIViewState.cpp" />
- + <ClCompile Include="..\..\xbmc\view\ViewDatabase.cpp" />
- + <ClCompile Include="..\..\xbmc\view\ViewStateSettings.cpp" />
- <ClCompile Include="..\..\xbmc\win32\pch.cpp">
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Testsuite|Win32'">Create</PrecompiledHeader>
- @@ -2471,7 +2473,7 @@
- <ClInclude Include="..\..\xbmc\TextureDatabase.h" />
- <ClInclude Include="..\..\xbmc\DatabaseManager.h" />
- <ClInclude Include="..\..\xbmc\ThumbLoader.h" />
- - <ClInclude Include="..\..\xbmc\video\PlayerController.h" />
- + <ClInclude Include="..\..\xbmc\video\PlayerController.h" />
- <ClInclude Include="..\..\xbmc\video\VideoThumbLoader.h" />
- <ClInclude Include="..\..\xbmc\music\MusicThumbLoader.h" />
- <ClInclude Include="..\..\xbmc\ThumbnailCache.h" />
- @@ -2582,11 +2584,11 @@
- <ClInclude Include="..\..\xbmc\video\windows\GUIWindowVideoBase.h" />
- <ClInclude Include="..\..\xbmc\video\windows\GUIWindowVideoNav.h" />
- <ClInclude Include="..\..\xbmc\video\windows\GUIWindowVideoPlaylist.h" />
- - <ClInclude Include="..\..\xbmc\view\GUIViewControl.h" />
- - <ClInclude Include="..\..\xbmc\view\GUIViewState.h" />
- - <ClInclude Include="..\..\xbmc\view\ViewDatabase.h" />
- - <ClInclude Include="..\..\xbmc\view\ViewState.h" />
- - <ClInclude Include="..\..\xbmc\view\ViewStateSettings.h" />
- + <ClInclude Include="..\..\xbmc\view\GUIViewControl.h" />
- + <ClInclude Include="..\..\xbmc\view\GUIViewState.h" />
- + <ClInclude Include="..\..\xbmc\view\ViewDatabase.h" />
- + <ClInclude Include="..\..\xbmc\view\ViewState.h" />
- + <ClInclude Include="..\..\xbmc\view\ViewStateSettings.h" />
- <ClInclude Include="..\..\xbmc\win32\pch.h" />
- <ClInclude Include="..\..\xbmc\win32\PlatformDefs.h" />
- <ClInclude Include="..\..\xbmc\XBDateTime.h" />
- @@ -3050,4 +3052,4 @@
- </VisualStudio>
- </ProjectExtensions>
- <Import Project="$(SolutionDir)\$(ProjectFileName).targets.user" Condition="Exists('$(SolutionDir)\$(ProjectFileName).targets.user')" />
- -</Project>
- +</Project>
- \ No newline at end of file
- diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters
- index ec51b1a..8c3b077 100644
- --- a/project/VS2010Express/XBMC.vcxproj.filters
- +++ b/project/VS2010Express/XBMC.vcxproj.filters
- @@ -106,9 +106,6 @@
- <Filter Include="settings">
- <UniqueIdentifier>{8cd0e706-bd9f-4e99-afa2-34307239cb3e}</UniqueIdentifier>
- </Filter>
- - <Filter Include="storage">
- - <UniqueIdentifier>{2500f45e-2a56-4434-87bd-727050d0d1aa}</UniqueIdentifier>
- - </Filter>
- <Filter Include="utils">
- <UniqueIdentifier>{acd585b0-c319-43f0-9149-b3b5dddf5122}</UniqueIdentifier>
- </Filter>
- @@ -160,9 +157,6 @@
- <Filter Include="rendering\gl">
- <UniqueIdentifier>{c23bb4dd-e0dc-4e0e-aaa5-d66798a0fc34}</UniqueIdentifier>
- </Filter>
- - <Filter Include="storage\windows">
- - <UniqueIdentifier>{04b51f60-cfb4-43fd-8f23-40a7d0ac5c31}</UniqueIdentifier>
- - </Filter>
- <Filter Include="video\dialogs">
- <UniqueIdentifier>{0dec7f48-a12d-4afa-b60d-4a2b50ca9975}</UniqueIdentifier>
- </Filter>
- @@ -277,62 +271,69 @@
- <Filter Include="interfaces\python\test">
- <UniqueIdentifier>{0a84b5ee-2ad4-4ae2-9a8d-fc585c6d8aae}</UniqueIdentifier>
- </Filter>
- - <Filter Include="view">
- - <UniqueIdentifier>{90f512bb-8cda-4f04-b938-4f48d29bc82a}</UniqueIdentifier>
- - </Filter> <Filter Include="cores\DSPlayer">
- - <UniqueIdentifier>{8b65ff5a-9862-42bc-bf92-b5cf22b9c12a}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="settings\dialogs">
- - <UniqueIdentifier>{38264422-e35f-427f-8d3d-27bc075b9bdd}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="settings\windows">
- - <UniqueIdentifier>{1a1eb956-43d1-4709-9467-ce471d54941d}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="profiles">
- - <UniqueIdentifier>{e0e6a2e7-683d-442f-bbd1-bc4e0ecd140a}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="profiles\dialogs">
- - <UniqueIdentifier>{e658a9f4-98f8-4403-aa85-a5ed7ec67868}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="profiles\windows">
- - <UniqueIdentifier>{b5a6d872-7e56-4976-81c5-47baad252337}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="input\touch">
- - <UniqueIdentifier>{4e236b17-3720-4ed8-89af-90cb86bf9b03}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="input\touch\generic">
- - <UniqueIdentifier>{d062c356-66f2-49e7-9510-b216701d2298}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\FilterCoreFactory">
- - <UniqueIdentifier>{e51e3d8c-ee41-4a89-b895-7855b6655146}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Filters">
- - <UniqueIdentifier>{82fef0c7-f356-48c8-9bd3-f232311e770a}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Interfaces">
- - <UniqueIdentifier>{63ced100-c60a-4c01-8e20-cef3c67e1925}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Shaders">
- - <UniqueIdentifier>{cebe8028-82be-4cec-b3de-0d87a95cb2b0}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Utils">
- - <UniqueIdentifier>{11b4988a-2f71-4471-902a-81e3230df77c}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Interfaces\ffdshow">
- - <UniqueIdentifier>{2824d426-eef9-4287-a19d-89340415fef4}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Filters\BaseClassFilters">
- - <UniqueIdentifier>{539077e3-65bf-4cab-b48b-01dd16a9a8a6}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Filters\Include">
- - <UniqueIdentifier>{a7d6b73c-f765-44b6-aff2-140a5903b128}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Filters\Video Renderers">
- - <UniqueIdentifier>{3b6b6bfa-49fe-40c8-abe6-4b14e46d2257}</UniqueIdentifier>
- - </Filter>
- - <Filter Include="cores\DSPlayer\Filters\Source">
- - <UniqueIdentifier>{c356be07-4c7d-42dc-9a99-2beea6f8dc56}</UniqueIdentifier>
- - </Filter>
- + <Filter Include="view">
- + <UniqueIdentifier>{90f512bb-8cda-4f04-b938-4f48d29bc82a}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer">
- + <UniqueIdentifier>{8b65ff5a-9862-42bc-bf92-b5cf22b9c12a}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="settings\dialogs">
- + <UniqueIdentifier>{38264422-e35f-427f-8d3d-27bc075b9bdd}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="settings\windows">
- + <UniqueIdentifier>{1a1eb956-43d1-4709-9467-ce471d54941d}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="profiles">
- + <UniqueIdentifier>{e0e6a2e7-683d-442f-bbd1-bc4e0ecd140a}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="profiles\dialogs">
- + <UniqueIdentifier>{e658a9f4-98f8-4403-aa85-a5ed7ec67868}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="profiles\windows">
- + <UniqueIdentifier>{b5a6d872-7e56-4976-81c5-47baad252337}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="input\touch">
- + <UniqueIdentifier>{4e236b17-3720-4ed8-89af-90cb86bf9b03}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="input\touch\generic">
- + <UniqueIdentifier>{d062c356-66f2-49e7-9510-b216701d2298}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\FilterCoreFactory">
- + <UniqueIdentifier>{e51e3d8c-ee41-4a89-b895-7855b6655146}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Filters">
- + <UniqueIdentifier>{82fef0c7-f356-48c8-9bd3-f232311e770a}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Interfaces">
- + <UniqueIdentifier>{63ced100-c60a-4c01-8e20-cef3c67e1925}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Shaders">
- + <UniqueIdentifier>{cebe8028-82be-4cec-b3de-0d87a95cb2b0}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Utils">
- + <UniqueIdentifier>{11b4988a-2f71-4471-902a-81e3230df77c}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Interfaces\ffdshow">
- + <UniqueIdentifier>{2824d426-eef9-4287-a19d-89340415fef4}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Filters\BaseClassFilters">
- + <UniqueIdentifier>{539077e3-65bf-4cab-b48b-01dd16a9a8a6}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Filters\Include">
- + <UniqueIdentifier>{a7d6b73c-f765-44b6-aff2-140a5903b128}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Filters\Video Renderers">
- + <UniqueIdentifier>{3b6b6bfa-49fe-40c8-abe6-4b14e46d2257}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="cores\DSPlayer\Filters\Source">
- + <UniqueIdentifier>{c356be07-4c7d-42dc-9a99-2beea6f8dc56}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="settings\storage">
- + <UniqueIdentifier>{2500f45e-2a56-4434-87bd-727050d0d1aa}</UniqueIdentifier>
- + </Filter>
- + <Filter Include="settings\storage\windows">
- + <UniqueIdentifier>{04b51f60-cfb4-43fd-8f23-40a7d0ac5c31}</UniqueIdentifier>
- + </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\xbmc\win32\pch.cpp">
- @@ -1462,19 +1463,19 @@
- <Filter>settings</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\storage\AutorunMediaJob.cpp">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\storage\cdioSupport.cpp">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\storage\IoSupport.cpp">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\storage\MediaManager.cpp">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\storage\windows\Win32StorageProvider.cpp">
- - <Filter>storage\windows</Filter>
- + <Filter>settings\storage\windows</Filter>
- </ClCompile>
- <ClCompile Include="..\..\xbmc\utils\AlarmClock.cpp">
- <Filter>utils</Filter>
- @@ -2914,198 +2915,208 @@
- <ClCompile Include="..\..\xbmc\interfaces\python\PyContext.cpp">
- <Filter>interfaces\python</Filter>
- </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\ChaptersManager.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSGraph.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPlayer.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPropertyPage.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGFilter.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGLoader.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGManager.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGManager2.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.cpp">
- - <Filter>peripherals\bus</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\network\upnp\UPnPSettings.cpp">
- - <Filter>network\upnp</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\AppParamParser.cpp" />
- - <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.cpp">
- - <Filter>settings\dialogs</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.cpp">
- - <Filter>settings\dialogs</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\windows\GUISettingControls.cpp">
- - <Filter>settings\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettings.cpp">
- - <Filter>settings\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.cpp">
- - <Filter>settings\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.cpp">
- - <Filter>settings\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.cpp">
- - <Filter>settings\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\utils\RssManager.cpp">
- - <Filter>utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\SkinSettings.cpp">
- - <Filter>settings</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\MediaSourceSettings.cpp">
- - <Filter>settings</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\view\ViewStateSettings.cpp">
- - <Filter>view</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\MediaSettings.cpp">
- - <Filter>settings</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\settings\DisplaySettings.cpp">
- - <Filter>settings</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.cpp">
- - <Filter>profiles\dialogs</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.cpp">
- - <Filter>profiles\dialogs</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.cpp">
- - <Filter>profiles\windows</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\profiles\Profile.cpp">
- - <Filter>profiles</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\profiles\ProfilesManager.cpp">
- - <Filter>profiles</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.cpp">
- - <Filter>input\touch\generic</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.cpp">
- - <Filter>input\touch\generic</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\input\touch\ITouchInputHandling.cpp">
- - <Filter>input\touch</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\utils\Vector.cpp">
- - <Filter>utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\video\PlayerController.cpp">
- - <Filter>video</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.cpp">
- - <Filter>filesystem\VideoDatabaseDirectory</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.cpp">
- - <Filter>filesystem\MusicDatabaseDirectory</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\GraphFilters.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- -
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\StreamsManager.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\AudioEnumerator.cpp">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\DSTemplate.cpp">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\IPinHook.cpp">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\MacrovisionKicker.cpp">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\ExternalPixelShader.cpp">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\PixelShaderCompiler.cpp">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\PixelShaderList.cpp">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\ShadersSelectionRule.cpp">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\ILogImpl.cpp">
- - <Filter>cores\DSPlayer\Interfaces</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\AllocatorCommon.cpp">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\DX9AllocatorPresenter.cpp">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\EVRAllocatorPresenter.cpp">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.cpp">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.cpp">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.cpp">
- - <Filter>cores\DSPlayer\Filters\Source</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileSource.cpp">
- - <Filter>cores\DSPlayer\Filters\Source</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSauth.cpp">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSscramble.cpp">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\DeCSSInputPin.cpp">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\asyncio.cpp">
- - <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\asyncrdr.cpp">
- - <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterCoreFactory.cpp">
- - <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterSelectionRule.cpp">
- - <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\VideoRenderers\WinDsRenderer.cpp">
- - <Filter>cores\VideoRenderers</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\video\FFmpegVideoDecoder.cpp" />
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSInputStreamPVRManager.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- - <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPlayerDatabase.cpp">
- - <Filter>cores\DSPlayer</Filter>
- - </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\ChaptersManager.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSGraph.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPlayer.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPropertyPage.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGFilter.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGLoader.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGManager.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FGManager2.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.cpp">
- + <Filter>peripherals\bus</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\network\upnp\UPnPSettings.cpp">
- + <Filter>network\upnp</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\AppParamParser.cpp" />
- + <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.cpp">
- + <Filter>settings\dialogs</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.cpp">
- + <Filter>settings\dialogs</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\windows\GUISettingControls.cpp">
- + <Filter>settings\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettings.cpp">
- + <Filter>settings\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.cpp">
- + <Filter>settings\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.cpp">
- + <Filter>settings\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.cpp">
- + <Filter>settings\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\utils\RssManager.cpp">
- + <Filter>utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\SkinSettings.cpp">
- + <Filter>settings</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\MediaSourceSettings.cpp">
- + <Filter>settings</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\view\ViewStateSettings.cpp">
- + <Filter>view</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\MediaSettings.cpp">
- + <Filter>settings</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\settings\DisplaySettings.cpp">
- + <Filter>settings</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.cpp">
- + <Filter>profiles\dialogs</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.cpp">
- + <Filter>profiles\dialogs</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.cpp">
- + <Filter>profiles\windows</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\profiles\Profile.cpp">
- + <Filter>profiles</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\profiles\ProfilesManager.cpp">
- + <Filter>profiles</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.cpp">
- + <Filter>input\touch\generic</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.cpp">
- + <Filter>input\touch\generic</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\input\touch\ITouchInputHandling.cpp">
- + <Filter>input\touch</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\utils\Vector.cpp">
- + <Filter>utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\video\PlayerController.cpp">
- + <Filter>video</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.cpp">
- + <Filter>filesystem\VideoDatabaseDirectory</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.cpp">
- + <Filter>filesystem\MusicDatabaseDirectory</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\GraphFilters.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\StreamsManager.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\AudioEnumerator.cpp">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\DSTemplate.cpp">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\IPinHook.cpp">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Utils\MacrovisionKicker.cpp">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\ExternalPixelShader.cpp">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\PixelShaderCompiler.cpp">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\PixelShaderList.cpp">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\ShadersSelectionRule.cpp">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\ILogImpl.cpp">
- + <Filter>cores\DSPlayer\Interfaces</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\AllocatorCommon.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\DX9AllocatorPresenter.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\EVRAllocatorPresenter.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.cpp">
- + <Filter>cores\DSPlayer\Filters\Source</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileSource.cpp">
- + <Filter>cores\DSPlayer\Filters\Source</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSauth.cpp">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSscramble.cpp">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\DeCSSInputPin.cpp">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\asyncio.cpp">
- + <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\asyncrdr.cpp">
- + <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterCoreFactory.cpp">
- + <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterSelectionRule.cpp">
- + <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\VideoRenderers\WinDsRenderer.cpp">
- + <Filter>cores\VideoRenderers</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\video\FFmpegVideoDecoder.cpp" />
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSInputStreamPVRManager.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\DSPlayerDatabase.cpp">
- + <Filter>cores\DSPlayer</Filter>
- + </ClCompile>
- + <ClCompile Include="..\..\xbmc\filesystem\DAVCommon.cpp" />
- + <ClCompile Include="..\..\xbmc\filesystem\DAVFile.cpp" />
- + <ClCompile Include="..\..\xbmc\guilib\cximage.cpp" />
- + <ClCompile Include="..\..\xbmc\guilib\imagefactory.cpp" />
- + <ClCompile Include="..\..\xbmc\network\upnp\UPnPPlayer.cpp" />
- + <ClCompile Include="..\..\xbmc\view\GUIViewControl.cpp" />
- + <ClCompile Include="..\..\xbmc\view\GUIViewState.cpp" />
- + <ClCompile Include="..\..\xbmc\view\ViewDatabase.cpp" />
- + <ClCompile Include="..\..\xbmc\cores\DSPlayer\Filters\madVRAllocatorPresenter.cpp">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\xbmc\win32\pch.h">
- @@ -4446,22 +4457,22 @@
- <Filter>settings</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\AutorunMediaJob.h">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\cdioSupport.h">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\IoSupport.h">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\IStorageProvider.h">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\MediaManager.h">
- - <Filter>storage</Filter>
- + <Filter>settings\storage</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\storage\windows\Win32StorageProvider.h">
- - <Filter>storage\windows</Filter>
- + <Filter>settings\storage\windows</Filter>
- </ClInclude>
- <ClInclude Include="..\..\xbmc\utils\AlarmClock.h">
- <Filter>utils</Filter>
- @@ -5651,9 +5662,9 @@
- <ClInclude Include="..\..\xbmc\network\upnp\UPnPInternal.h">
- <Filter>network\upnp</Filter>
- </ClInclude>
- - <ClInclude Include="..\..\xbmc\network\upnp\UPnPPlayer.h">
- - <Filter>network\upnp</Filter>
- - </ClInclude>
- + <ClInclude Include="..\..\xbmc\network\upnp\UPnPPlayer.h">
- + <Filter>network\upnp</Filter>
- + </ClInclude>
- <ClInclude Include="..\..\xbmc\network\upnp\UPnPRenderer.h">
- <Filter>network\upnp</Filter>
- </ClInclude>
- @@ -5825,293 +5836,297 @@
- <ClInclude Include="..\..\xbmc\interfaces\python\PyContext.h">
- <Filter>interfaces\python</Filter>
- </ClInclude>
- - <ClInclude Include="..\..\xbmc\guilib\iimage.h">
- - <Filter>guilib</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\guilib\imagefactory.h">
- - <Filter>guilib</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\guilib\cximage.h">
- - <Filter>guilib</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\music\karaoke\karaokevideobackground.h">
- - <Filter>music\karaoke</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\video\FFmpegVideoDecoder.h">
- - <Filter>video</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\view\GUIViewControl.h">
- - <Filter>view</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\view\GUIViewState.h">
- - <Filter>view</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\view\ViewDatabase.h">
- - <Filter>view</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\view\ViewState.h">
- - <Filter>view</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\filesystem\DAVFile.h">
- - <Filter>filesystem</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\filesystem\DAVCommon.h">
- - <Filter>filesystem</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.h">
- - <Filter>peripherals\bus</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\network\upnp\UPnPSettings.h">
- - <Filter>network\upnp</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\AppParamParser.h" />
- - <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.h">
- - <Filter>settings\dialogs</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.h">
- - <Filter>settings\dialogs</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\windows\GUISettingControls.h">
- - <Filter>settings\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettings.h">
- - <Filter>settings\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.h">
- - <Filter>settings\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.h">
- - <Filter>settings\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.h">
- - <Filter>settings\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\utils\IRssObserver.h">
- - <Filter>utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\utils\RssManager.h">
- - <Filter>utils</Filter>
- - </ClInclude> <ClInclude Include="..\..\xbmc\cores\DSPlayer\ChaptersManager.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\ISettingsHandler.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\ISubSettings.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\SkinSettings.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\MediaSourceSettings.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\view\ViewStateSettings.h">
- - <Filter>view</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\MediaSettings.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\settings\DisplaySettings.h">
- - <Filter>settings</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.h">
- - <Filter>profiles\dialogs</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.h">
- - <Filter>profiles\dialogs</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.h">
- - <Filter>profiles\windows</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\profiles\Profile.h">
- - <Filter>profiles</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\profiles\ProfilesManager.h">
- - <Filter>profiles</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchActionHandler.h">
- - <Filter>input\touch</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.h">
- - <Filter>input\touch\generic</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\TouchTypes.h">
- - <Filter>input\touch</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.h">
- - <Filter>input\touch\generic</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\generic\IGenericTouchGestureDetector.h">
- - <Filter>input\touch\generic</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandler.h">
- - <Filter>input\touch</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandling.h">
- - <Filter>input\touch</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\utils\Vector.h">
- - <Filter>utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\video\PlayerController.h">
- - <Filter>video</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.h">
- - <Filter>filesystem\VideoDatabaseDirectory</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.h">
- - <Filter>filesystem\MusicDatabaseDirectory</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSGraph.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSMessage.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPlayer.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPropertyPage.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGFilter.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGLoader.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGManager.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGManager2.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\GraphFilters.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\moreuuids.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\StreamsManager.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\AudioEnumerator.h">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\DSTemplate.h">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\IPinHook.h">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\MacrovisionKicker.h">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\SmartList.h">
- - <Filter>cores\DSPlayer\Utils</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\ExternalPixelShader.h">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\PixelShaderCompiler.h">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\PixelShaderList.h">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\ShadersSelectionRule.h">
- - <Filter>cores\DSPlayer\Shaders</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\ffdshow_constants.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffDecoder.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowBase.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDec.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDecAudio.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDecVideo.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowEnc.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowParamsEnum.h">
- - <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\DllLibSubs.h">
- - <Filter>cores\DSPlayer\Interfaces</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\ILogImpl.h">
- - <Filter>cores\DSPlayer\Interfaces</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\AllocatorCommon.h">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\DX9AllocatorPresenter.h">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\EVRAllocatorPresenter.h">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.h">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.h">
- - <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.h">
- - <Filter>cores\DSPlayer\Filters\Source</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileSource.h">
- - <Filter>cores\DSPlayer\Filters\Source</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSauth.h">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSscramble.h">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\DeCSSInputPin.h">
- - <Filter>cores\DSPlayer\Filters\Include</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\asyncio.h">
- - <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\asyncrdr.h">
- - <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterCoreFactory.h">
- - <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterSelectionRule.h">
- - <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\GlobalFilterSelectionRule.h">
- - <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\VideoRenderers\WinBaseRenderer.h">
- - <Filter>cores\VideoRenderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\VideoRenderers\WinDsRenderer.h">
- - <Filter>cores\VideoRenderers</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\music\karaoke\karaokevideobackground.h" />
- - <ClInclude Include="..\..\xbmc\video\FFmpegVideoDecoder.h" />
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSInputStreamPVRManager.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- - <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPlayerDatabase.h">
- - <Filter>cores\DSPlayer</Filter>
- - </ClInclude>
- + <ClInclude Include="..\..\xbmc\guilib\iimage.h">
- + <Filter>guilib</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\guilib\imagefactory.h">
- + <Filter>guilib</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\guilib\cximage.h">
- + <Filter>guilib</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\music\karaoke\karaokevideobackground.h">
- + <Filter>music\karaoke</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\video\FFmpegVideoDecoder.h">
- + <Filter>video</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\view\GUIViewControl.h">
- + <Filter>view</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\view\GUIViewState.h">
- + <Filter>view</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\view\ViewDatabase.h">
- + <Filter>view</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\view\ViewState.h">
- + <Filter>view</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\filesystem\DAVFile.h">
- + <Filter>filesystem</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\filesystem\DAVCommon.h">
- + <Filter>filesystem</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\peripherals\bus\virtual\PeripheralBusCEC.h">
- + <Filter>peripherals\bus</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\network\upnp\UPnPSettings.h">
- + <Filter>network\upnp</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\AppParamParser.h" />
- + <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogContentSettings.h">
- + <Filter>settings\dialogs</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\dialogs\GUIDialogSettings.h">
- + <Filter>settings\dialogs</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\windows\GUISettingControls.h">
- + <Filter>settings\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettings.h">
- + <Filter>settings\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsCategory.h">
- + <Filter>settings\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowSettingsScreenCalibration.h">
- + <Filter>settings\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\windows\GUIWindowTestPattern.h">
- + <Filter>settings\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\utils\IRssObserver.h">
- + <Filter>utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\utils\RssManager.h">
- + <Filter>utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\ChaptersManager.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\ISettingsHandler.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\ISubSettings.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\SkinSettings.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\MediaSourceSettings.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\view\ViewStateSettings.h">
- + <Filter>view</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\MediaSettings.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\settings\DisplaySettings.h">
- + <Filter>settings</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogLockSettings.h">
- + <Filter>profiles\dialogs</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\profiles\dialogs\GUIDialogProfileSettings.h">
- + <Filter>profiles\dialogs</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\profiles\windows\GUIWindowSettingsProfile.h">
- + <Filter>profiles\windows</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\profiles\Profile.h">
- + <Filter>profiles</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\profiles\ProfilesManager.h">
- + <Filter>profiles</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchActionHandler.h">
- + <Filter>input\touch</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchActionHandler.h">
- + <Filter>input\touch\generic</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\TouchTypes.h">
- + <Filter>input\touch</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\generic\GenericTouchSwipeDetector.h">
- + <Filter>input\touch\generic</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\generic\IGenericTouchGestureDetector.h">
- + <Filter>input\touch\generic</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandler.h">
- + <Filter>input\touch</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\input\touch\ITouchInputHandling.h">
- + <Filter>input\touch</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\utils\Vector.h">
- + <Filter>utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\video\PlayerController.h">
- + <Filter>video</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\filesystem\VideoDatabaseDirectory\DirectoryNodeGrouped.h">
- + <Filter>filesystem\VideoDatabaseDirectory</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\filesystem\MusicDatabaseDirectory\DirectoryNodeGrouped.h">
- + <Filter>filesystem\MusicDatabaseDirectory</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSGraph.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSMessage.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPlayer.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPropertyPage.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGFilter.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGLoader.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGManager.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FGManager2.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\GraphFilters.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\moreuuids.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\StreamsManager.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\AudioEnumerator.h">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\DSTemplate.h">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\IPinHook.h">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\MacrovisionKicker.h">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Utils\SmartList.h">
- + <Filter>cores\DSPlayer\Utils</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\ExternalPixelShader.h">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\PixelShaderCompiler.h">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\PixelShaderList.h">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\ShadersSelectionRule.h">
- + <Filter>cores\DSPlayer\Shaders</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\ffdshow_constants.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffDecoder.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowBase.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDec.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDecAudio.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowDecVideo.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowEnc.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\IffdshowParamsEnum.h">
- + <Filter>cores\DSPlayer\Interfaces\ffdshow</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\DllLibSubs.h">
- + <Filter>cores\DSPlayer\Interfaces</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\ILogImpl.h">
- + <Filter>cores\DSPlayer\Interfaces</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\AllocatorCommon.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\DX9AllocatorPresenter.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\EVRAllocatorPresenter.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\RendererSettings.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\VMR9AllocatorPresenter.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileReader.h">
- + <Filter>cores\DSPlayer\Filters\Source</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\XBMCFileSource.h">
- + <Filter>cores\DSPlayer\Filters\Source</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSauth.h">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\CSSscramble.h">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Subtitles\decss\DeCSSInputPin.h">
- + <Filter>cores\DSPlayer\Filters\Include</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\asyncio.h">
- + <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\asyncrdr.h">
- + <Filter>cores\DSPlayer\Filters\BaseClassFilters</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterCoreFactory.h">
- + <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\FilterSelectionRule.h">
- + <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\FilterCoreFactory\GlobalFilterSelectionRule.h">
- + <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\VideoRenderers\WinBaseRenderer.h">
- + <Filter>cores\VideoRenderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\VideoRenderers\WinDsRenderer.h">
- + <Filter>cores\VideoRenderers</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\music\karaoke\karaokevideobackground.h" />
- + <ClInclude Include="..\..\xbmc\video\FFmpegVideoDecoder.h" />
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSInputStreamPVRManager.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\DSPlayerDatabase.h">
- + <Filter>cores\DSPlayer</Filter>
- + </ClInclude>
- + <ClInclude Include="..\..\xbmc\cores\DSPlayer\Filters\madVRAllocatorPresenter.h">
- + <Filter>cores\DSPlayer\Filters\Video Renderers</Filter>
- + </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="..\..\xbmc\win32\XBMC_PC.rc">
- @@ -6152,4 +6167,4 @@
- <Filter>cores\DSPlayer\FilterCoreFactory</Filter>
- </None>
- </ItemGroup>
- -</Project>
- +</Project>
- \ No newline at end of file
- diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
- index 3da5771..485b7b6 100644
- --- a/xbmc/Application.cpp
- +++ b/xbmc/Application.cpp
- @@ -258,6 +258,7 @@
- #endif
- #ifdef HAS_DS_PLAYER
- #include "cores/DSPlayer/GUIDialogShaderList.h"
- +#include "cores/DSPlayer/GraphFilters.h"
- #endif
- /* PVR related include Files */
- #include "pvr/PVRManager.h"
- @@ -2369,6 +2370,11 @@ void CApplication::Render()
- return;
- MEASURE_FUNCTION;
- +
- + /*MADVR*/
- + if (CGraphFilters::Get()->UsingMadVr())
- + return;
- +
- int vsync_mode = g_guiSettings.GetInt("videoscreen.vsync");
- @@ -2444,6 +2450,15 @@ void CApplication::Render()
- else if (vsync_mode != VSYNC_DRIVER)
- g_Windowing.SetVSync(false);
- + /*MADVR*/
- + if ( g_application.GetCurrentPlayer() == PCID_DSPLAYER )
- + {
- + if (CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_MADVR)
- + if (CGraphFilters::Get()->GetMadvrCallback() != NULL)
- + CGraphFilters::Get()->GetMadvrCallback()->IsReady();
- + }
- + /*MADVR*/
- +
- if(!g_Windowing.BeginRender())
- return;
- @@ -2453,6 +2468,15 @@ void CApplication::Render()
- g_Windowing.EndRender();
- + /*MADVR*/
- + if ( g_application.GetCurrentPlayer() == PCID_DSPLAYER )
- + {
- + if (CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_MADVR)
- + if (CGraphFilters::Get()->GetMadvrCallback() != NULL)
- + CGraphFilters::Get()->GetMadvrCallback()->StartBack();
- + }
- + /*MADVR*/
- +
- // execute post rendering actions (finalize window closing)
- g_windowManager.AfterRender();
- @@ -2486,9 +2510,18 @@ void CApplication::Render()
- }
- m_lastFrameTime = XbmcThreads::SystemClockMillis();
- - if (flip)
- - g_graphicsContext.Flip(dirtyRegions);
- - CTimeUtils::UpdateFrameTime(flip);
- + /*MADVR*/
- + if ((CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_MADVR)&&(CGraphFilters::Get()->GetMadvrCallback() != NULL))
- + {
- + }
- + else
- + {
- + if (flip)
- + g_graphicsContext.Flip(dirtyRegions);
- + }
- +
- +
- + CTimeUtils::UpdateFrameTime(flip);
- g_renderManager.UpdateResolution();
- g_renderManager.ManageCaptures();
- diff --git a/xbmc/cores/DSPlayer/FGFilter.cpp b/xbmc/cores/DSPlayer/FGFilter.cpp
- index 5bb266a..e4248c0 100644
- --- a/xbmc/cores/DSPlayer/FGFilter.cpp
- +++ b/xbmc/cores/DSPlayer/FGFilter.cpp
- @@ -33,6 +33,7 @@
- #include "Filters/VMR9AllocatorPresenter.h"
- #include "Filters/EVRAllocatorPresenter.h"
- +#include "Filters/madVRAllocatorPresenter.h"
- #include "windowing/WindowingFactory.h"
- #include "utils/log.h"
- #include "utils/charsetconverter.h"
- @@ -362,8 +363,10 @@ CFGFilterFile::CFGFilterFile( TiXmlElement *pFilter )
- }
- }
- }
- -
- - m_path = m_filterFound ? _P(m_path) : GetFilterPath(clsid);
- + CStdString newpath;
- + /*always convert to CStdStringA when needed*/
- + g_charsetConverter.wToUTF8(GetFilterPath(clsid),newpath);
- + m_path = m_filterFound ? _P(m_path) : newpath;
- // Call super constructor
- m_clsid = clsid;
- @@ -454,7 +457,8 @@ HRESULT CFGFilterVideoRenderer::Create(IBaseFilter** ppBF)
- CreateAP9(m_clsid, g_hWnd, &pCAP);
- else if (m_clsid == CLSID_EVRAllocatorPresenter)
- CreateEVR(m_clsid, g_hWnd, &pCAP);
- -
- + else if (m_clsid == CLSID_madVR)
- + CreateMadVR(m_clsid, g_hWnd, &pCAP);
- if(pCAP == NULL)
- {
- CLog::Log(LOGERROR, "%s Failed to create the allocater presenter (error: %s)", __FUNCTION__, __err.c_str());
- diff --git a/xbmc/cores/DSPlayer/FGLoader.cpp b/xbmc/cores/DSPlayer/FGLoader.cpp
- index 360f3bc..1f7e05d 100644
- --- a/xbmc/cores/DSPlayer/FGLoader.cpp
- +++ b/xbmc/cores/DSPlayer/FGLoader.cpp
- @@ -44,6 +44,7 @@
- #include "filters/XBMCFileSource.h"
- #include "filters/VMR9AllocatorPresenter.h"
- #include "filters/EVRAllocatorPresenter.h"
- +#include "Filters/madVRAllocatorPresenter.h"
- #include "Utils/AudioEnumerator.h"
- #include "DVDFileInfo.h"
- @@ -338,16 +339,21 @@ HRESULT CFGLoader::InsertVideoRenderer()
- CGraphFilters::Get()->SetCurrentRenderer(DIRECTSHOW_RENDERER_VMR9);
- }
- +
- + /*TEMP MADVR*/
- + CGraphFilters::Get()->SetCurrentRenderer(DIRECTSHOW_RENDERER_MADVR);
- +
- // Renderers
- if (CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_EVR)
- {
- m_pFGF = new CFGFilterVideoRenderer(CLSID_EVRAllocatorPresenter, L"Xbmc EVR");
- }
- - else
- + else if(CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_VMR9)
- {
- m_pFGF = new CFGFilterVideoRenderer(CLSID_VMR9AllocatorPresenter, L"Xbmc VMR9");
- }
- -
- + else if (CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_MADVR)
- + m_pFGF = new CFGFilterVideoRenderer(CLSID_madVR, L"MADVR");
- hr = m_pFGF->Create( &CGraphFilters::Get()->VideoRenderer.pBF);
- if (FAILED(hr))
- diff --git a/xbmc/cores/DSPlayer/FGLoader.h b/xbmc/cores/DSPlayer/FGLoader.h
- index 0fb1a0c..88ea43f 100644
- --- a/xbmc/cores/DSPlayer/FGLoader.h
- +++ b/xbmc/cores/DSPlayer/FGLoader.h
- @@ -37,7 +37,7 @@ enum ESettingsType
- MEDIAS,
- FILTERS
- };
- -
- +struct SFilterInfos;
- class CFGLoader : public CCriticalSection
- {
- public:
- diff --git a/xbmc/cores/DSPlayer/Filters/AllocatorCommon.cpp b/xbmc/cores/DSPlayer/Filters/AllocatorCommon.cpp
- index 0f951a9..9b76776 100644
- --- a/xbmc/cores/DSPlayer/Filters/AllocatorCommon.cpp
- +++ b/xbmc/cores/DSPlayer/Filters/AllocatorCommon.cpp
- @@ -31,7 +31,7 @@
- #include "AllocatorCommon.h"
- #include "VMR9AllocatorPresenter.h"
- #include "EVRAllocatorPresenter.h"
- -
- +#include "madVRAllocatorPresenter.h"
- bool IsVMR9InGraph(IFilterGraph* pFG)
- {
- BeginEnumFilters(pFG, pEF, pBF)
- @@ -101,6 +101,32 @@ HRESULT CreateEVR(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppA
- return hr;
- }
- +HRESULT CreateMadVR(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP)
- +{
- + HRESULT hr = E_FAIL;
- + if (clsid == CLSID_madVR)
- + {
- + CStdString Error;
- + *ppAP = DNew CmadVRAllocatorPresenter(hWnd, hr, Error);
- + (*ppAP)->AddRef();
- +
- + if(FAILED(hr))
- + {
- + Error += "\n";
- + Error += GetWindowsErrorMessage(hr, NULL);
- + CLog::Log(LOGERROR, "%s %s", __FUNCTION__, Error.c_str());
- + (*ppAP)->Release();
- + *ppAP = NULL;
- + }
- + else if (!Error.IsEmpty())
- + {
- + CLog::Log(LOGWARNING, "%s %s", __FUNCTION__, Error.c_str());
- + }
- + }
- +
- + return hr;
- +}
- +
- CStdString GetWindowsErrorMessage(HRESULT _Error, HMODULE _Module)
- {
- diff --git a/xbmc/cores/DSPlayer/Filters/AllocatorCommon.h b/xbmc/cores/DSPlayer/Filters/AllocatorCommon.h
- index 70413b6..42fc93d 100644
- --- a/xbmc/cores/DSPlayer/Filters/AllocatorCommon.h
- +++ b/xbmc/cores/DSPlayer/Filters/AllocatorCommon.h
- @@ -56,3 +56,4 @@ extern const char *GetD3DFormatStr(D3DFORMAT Format);
- extern HRESULT CreateAP9(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP);
- extern HRESULT CreateEVR(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP);
- +extern HRESULT CreateMadVR(const CLSID& clsid, HWND hWnd, ISubPicAllocatorPresenter** ppAP);
- \ No newline at end of file
- diff --git a/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.cpp b/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.cpp
- new file mode 100644
- index 0000000..237218d
- --- /dev/null
- +++ b/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.cpp
- @@ -0,0 +1,278 @@
- +/*
- + * Copyright (C) 2011 Team XBMC
- + * http://www.xbmc.org
- + *
- + * This Program 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 2, or (at your option)
- + * any later version.
- + *
- + * This Program 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 GNU Make; see the file COPYING. If not, write to
- + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- + * http://www.gnu.org/copyleft/gpl.html
- + *
- + */
- +
- +#ifdef HAS_DS_PLAYER
- +#include "madVRAllocatorPresenter.h"
- +#include "windowing/WindowingFactory.h"
- +#include <moreuuids.h>
- +#include "RendererSettings.h"
- +#include "Application.h"
- +#include "cores/VideoRenderers/RenderManager.h"
- +#include "../DSPlayer.h"
- +//
- +// CmadVRAllocatorPresenter
- +//
- +
- +CmadVRAllocatorPresenter::CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CStdString &_Error)
- + : ISubPicAllocatorPresenterImpl(hWnd, hr)
- + , m_ScreenSize(0, 0)
- +{
- + if(FAILED(hr)) {
- + _Error += L"ISubPicAllocatorPresenterImpl failed\n";
- + return;
- + }
- +
- + hr = S_OK;
- +}
- +
- +CmadVRAllocatorPresenter::~CmadVRAllocatorPresenter()
- +{
- + /*if(m_pSRCB) {
- + ((CSubRenderCallback*)(ISubRenderCallback2*)m_pSRCB)->SetDXRAP(NULL);
- + }*/
- +
- + m_pSubPicQueue = NULL;
- + m_pAllocator = NULL;
- + m_pDXR = NULL;
- +}
- +
- +STDMETHODIMP CmadVRAllocatorPresenter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
- +{
- + if(riid != IID_IUnknown && m_pDXR) {
- + if(SUCCEEDED(m_pDXR->QueryInterface(riid, ppv))) {
- + return S_OK;
- + }
- + }
- +
- + return __super::NonDelegatingQueryInterface(riid, ppv);
- +}
- +
- +HRESULT CmadVRAllocatorPresenter::SetDevice(IDirect3DDevice9* pD3DDev)
- +{
- + if (!pD3DDev)
- + {
- + // release all resources
- + m_pSubPicQueue = NULL;
- + m_pAllocator = NULL;
- + return S_OK;
- + }
- +
- + Com::SmartSize size;
- +
- + //from mpc-hc
- + switch(0)//GetRenderersSettings().nSPCMaxRes)
- + {
- + case 0:
- + default:
- + size = m_ScreenSize;
- + break;
- + case 1:
- + size.SetSize(1024, 768);
- + break;
- + case 2:
- + size.SetSize(800, 600);
- + break;
- + case 3:
- + size.SetSize(640, 480);
- + break;
- + case 4:
- + size.SetSize(512, 384);
- + break;
- + case 5:
- + size.SetSize(384, 288);
- + break;
- + case 6:
- + size.SetSize(2560, 1600);
- + break;
- + case 7:
- + size.SetSize(1920, 1080);
- + break;
- + case 8:
- + size.SetSize(1320, 900);
- + break;
- + case 9:
- + size.SetSize(1280, 720);
- + break;
- + }
- +
- + if(m_pAllocator) {
- + m_pAllocator->ChangeDevice(pD3DDev);
- + } else {
- + m_pAllocator = DNew CDX9SubPicAllocator(pD3DDev, size,true);
- + if(!m_pAllocator) {
- + return E_FAIL;
- + }
- + }
- +
- + HRESULT hr = S_OK;
- +
- + if (g_dsSettings.pRendererSettings->subtitlesSettings.bufferAhead > 0)
- + m_pSubPicQueue = new CSubPicQueue(g_dsSettings.pRendererSettings->subtitlesSettings.bufferAhead, g_dsSettings.pRendererSettings->subtitlesSettings.disableAnimations, m_pAllocator, &hr);
- + else
- + m_pSubPicQueue = new CSubPicQueueNoThread(m_pAllocator, &hr);
- + /*m_pSubPicQueue = GetRenderersSettings().nSPCSize > 0
- + ? (ISubPicQueue*)DNew CSubPicQueue(GetRenderersSettings().nSPCSize, true,!GetRenderersSettings().fSPCAllowAnimationWhenBuffering, m_pAllocator, &hr)
- + : (ISubPicQueue*)DNew CSubPicQueueNoThread(m_pAllocator, &hr);
- + if(!m_pSubPicQueue || FAILED(hr)) {
- + return E_FAIL;
- + }
- +
- + if(m_SubPicProvider) {
- + m_pSubPicQueue->SetSubPicProvider(m_SubPicProvider);
- + }*/
- +
- + return S_OK;
- +}
- +
- +HRESULT CmadVRAllocatorPresenter::Render(
- + REFERENCE_TIME rtStart, REFERENCE_TIME rtStop, REFERENCE_TIME atpf,
- + int left, int top, int right, int bottom, int width, int height)
- +{
- + return S_OK;
- + /*if (!g_renderManager.IsConfigured())
- + {
- + g_renderManager.Configure(m_NativeVideoSize.cx, m_NativeVideoSize.cy, m_AspectRatio.cx, m_AspectRatio.cy, m_fps,
- + CONF_FLAGS_FULLSCREEN, 0);
- + }*/
- + //m_drawingIsDone.Reset();
- + int64_t start = CurrentHostCounter();
- +
- +
- + m_readyToDraw.Set();
- + int64_t end1 = CurrentHostCounter();
- + m_readyToStartBack.WaitMSec(200);
- + int64_t end2 = CurrentHostCounter();
- + //g_application.NewFrame();
- + //m_drawingIsDone.Wait(); // Wait until the drawing is done
- + __super::SetPosition(Com::SmartRect(0, 0, width, height), Com::SmartRect(left, top, right, bottom)); // needed? should be already set by the player
- + SetTime(rtStart);
- + if(atpf > 0 && m_pSubPicQueue) {
- + m_pSubPicQueue->SetFPS(10000000.0 / atpf);
- + }
- + AlphaBltSubPic(Com::SmartSize(width, height));
- + /*this to see the time it take to render*/
- +#if 0
- + CLog::Log(LOGINFO, "%s Rendering. Setting %.2fms Wait() took %.2fms", __FUNCTION__, 1000.f * (end1 - start) / CurrentHostFrequency(), 1000.f * (end2 - end1) / CurrentHostFrequency());
- +#endif
- + return S_OK;
- +}
- +
- +// ISubPicAllocatorPresenter
- +
- +STDMETHODIMP CmadVRAllocatorPresenter::CreateRenderer(IUnknown** ppRenderer)
- +{
- + CheckPointer(ppRenderer, E_POINTER);
- +
- + if(m_pDXR) {
- + return E_UNEXPECTED;
- + }
- + HRESULT hr = m_pDXR.CoCreateInstance(CLSID_madVR, GetOwner());
- + if(!m_pDXR) {
- + return E_FAIL;
- + }
- +
- + Com::SmartQIPtr<ISubRender> pSR = m_pDXR;
- + Com::SmartQIPtr<IMadVRDirect3D9Manager> pMadVrD3d = m_pDXR;
- + m_pD3DDevice =g_Windowing.Get3DDevice();
- + hr = pMadVrD3d->UseTheseDevices(m_pD3DDevice,m_pD3DDevice,m_pD3DDevice);
- + hr = pMadVrD3d->ConfigureDisplayModeChanger(FALSE, FALSE);
- + //Com::SmartQIPtr<IVideoWindow> pVW = m_pDXR;
- + //hr = pVW->put_Owner((OAHWND)g_hWnd);
- + //hr = pVW->put_Left(0);
- + //hr = pVW->put_Top(0);
- +
- + if(!pSR) {
- + m_pDXR = NULL;
- + return E_FAIL;
- + }
- +
- + m_pSRCB = DNew CSubRenderCallback(this);
- + if(FAILED(pSR->SetCallback(m_pSRCB))) {
- + m_pDXR = NULL;
- + return E_FAIL;
- + }
- + Com::SmartQIPtr<IBaseFilter> pBF = this;
- + if(FAILED(hr))
- + *ppRenderer = NULL;
- + else
- + *ppRenderer = pBF.Detach();
- + /*(*ppRenderer = this)->AddRef();*/
- +
- + MONITORINFO mi;
- + mi.cbSize = sizeof(MONITORINFO);
- + if (GetMonitorInfo(MonitorFromWindow(m_hWnd, MONITOR_DEFAULTTONEAREST), &mi)) {
- + m_ScreenSize.SetSize(mi.rcMonitor.right-mi.rcMonitor.left, mi.rcMonitor.bottom-mi.rcMonitor.top);
- + }
- +
- + CGraphFilters::Get()->SetMadVrCallback(this);
- +
- + return S_OK;
- +}
- +
- +STDMETHODIMP_(void) CmadVRAllocatorPresenter::SetPosition(RECT w, RECT v)
- +{
- + if(Com::SmartQIPtr<IBasicVideo> pBV = m_pDXR) {
- + pBV->SetDefaultSourcePosition();
- + pBV->SetDestinationPosition(v.left, v.top, v.right - v.left, v.bottom - v.top);
- + }
- +
- + if(Com::SmartQIPtr<IVideoWindow> pVW = m_pDXR) {
- + pVW->SetWindowPosition(w.left, w.top, w.right - w.left, w.bottom - w.top);
- + }
- +}
- +
- +STDMETHODIMP_(SIZE) CmadVRAllocatorPresenter::GetVideoSize(bool fCorrectAR)
- +{
- + SIZE size = {0, 0};
- +
- + if(!fCorrectAR) {
- + if(Com::SmartQIPtr<IBasicVideo> pBV = m_pDXR) {
- + pBV->GetVideoSize(&size.cx, &size.cy);
- + }
- + } else {
- + if(Com::SmartQIPtr<IBasicVideo2> pBV2 = m_pDXR) {
- + pBV2->GetPreferredAspectRatio(&size.cx, &size.cy);
- + }
- + }
- +
- + return size;
- +}
- +
- +STDMETHODIMP CmadVRAllocatorPresenter::GetDIB(BYTE* lpDib, DWORD* size)
- +{
- + HRESULT hr = E_NOTIMPL;
- + if(Com::SmartQIPtr<IBasicVideo> pBV = m_pDXR) {
- + hr = pBV->GetCurrentImage((long*)size, (long*)lpDib);
- + }
- + return hr;
- +}
- +
- +STDMETHODIMP_(bool) CmadVRAllocatorPresenter::Paint(bool fAll)
- +{
- + return false;
- +}
- +
- +STDMETHODIMP CmadVRAllocatorPresenter::SetPixelShader(LPCSTR pSrcData, LPCSTR pTarget)
- +{
- + return E_NOTIMPL;
- +}
- +
- +#endif
- \ No newline at end of file
- diff --git a/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.h b/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.h
- new file mode 100644
- index 0000000..da71b8e
- --- /dev/null
- +++ b/xbmc/cores/DSPlayer/Filters/madVRAllocatorPresenter.h
- @@ -0,0 +1,117 @@
- +/*
- + * $Id$
- + *
- + * (C) 2006-2011 see AUTHORS
- + *
- + * This file is part of mplayerc.
- + *
- + * Mplayerc is free software; you can redistribute it and/or modify
- + * it under the terms of the GNU General Public License as published by
- + * the Free Software Foundation; either version 3 of the License, or
- + * (at your option) any later version.
- + *
- + * Mplayerc is distributed in the hope that it will be useful,
- + * but WITHOUT ANY WARRANTY; without even the implied warranty of
- + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + * GNU General Public License for more details.
- + *
- + * You should have received a copy of the GNU General Public License
- + * along with this program. If not, see <http://www.gnu.org/licenses/>.
- + *
- + */
- +
- +#pragma once
- +
- +#include "AllocatorCommon.h"
- +#include "mvrInterfaces.h"
- +#include "IPaintCallback.h"
- +#include "../../../threads/Event.h"
- +//#include "..\ID3dHack.h"
- + class CmadVRAllocatorPresenter
- + : public ISubPicAllocatorPresenterImpl,
- + public IPaintCallbackMadvr
- + {
- + class CSubRenderCallback : public CUnknown, public ISubRenderCallback2, public CCritSec
- + {
- + CmadVRAllocatorPresenter* m_pDXRAP;
- +
- + public:
- + CSubRenderCallback(CmadVRAllocatorPresenter* pDXRAP)
- + : CUnknown(_T("CSubRender"), NULL)
- + , m_pDXRAP(pDXRAP) {
- + }
- +
- + DECLARE_IUNKNOWN
- + STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv) {
- + return
- + QI(ISubRenderCallback)
- + QI(ISubRenderCallback2)
- + __super::NonDelegatingQueryInterface(riid, ppv);
- + }
- +
- + void SetDXRAP(CmadVRAllocatorPresenter* pDXRAP) {
- + CAutoLock cAutoLock(this);
- + m_pDXRAP = pDXRAP;
- + }
- +
- + // ISubRenderCallback
- +
- + STDMETHODIMP SetDevice(IDirect3DDevice9* pD3DDev) {
- + CAutoLock cAutoLock(this);
- + return m_pDXRAP ? m_pDXRAP->SetDevice(pD3DDev) : E_UNEXPECTED;
- + }
- +
- + STDMETHODIMP Render(REFERENCE_TIME rtStart, int left, int top, int right, int bottom, int width, int height) {
- + CAutoLock cAutoLock(this);
- + return m_pDXRAP ? m_pDXRAP->Render(rtStart, 0, 0, left, top, right, bottom, width, height) : E_UNEXPECTED;
- + }
- +
- + // ISubRendererCallback2
- +
- + STDMETHODIMP RenderEx(REFERENCE_TIME rtStart, REFERENCE_TIME rtStop, REFERENCE_TIME AvgTimePerFrame, int left, int top, int right, int bottom, int width, int height) {
- + CAutoLock cAutoLock(this);
- + return m_pDXRAP ? m_pDXRAP->Render(rtStart, rtStop, AvgTimePerFrame, left, top, right, bottom, width, height) : E_UNEXPECTED;
- + }
- + };
- + Com::SmartPtr<IUnknown> m_pDXR;
- + IDirect3DDevice9* m_pD3DDevice;
- + Com::SmartPtr<ISubRenderCallback2> m_pSRCB;
- + Com::SmartSize m_ScreenSize;
- + bool m_bIsFullscreen;
- + CEvent m_readyToDraw;
- + CEvent m_readyToStartBack;
- + public:
- + CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CStdString &_Error);
- + virtual ~CmadVRAllocatorPresenter();
- +
- + DECLARE_IUNKNOWN
- + STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv);
- +
- + HRESULT SetDevice(IDirect3DDevice9* pD3DDev);
- + HRESULT Render(
- + REFERENCE_TIME rtStart, REFERENCE_TIME rtStop, REFERENCE_TIME atpf,
- + int left, int top, int bottom, int right, int width, int height);
- +
- + // ISubPicAllocatorPresenter
- + STDMETHODIMP CreateRenderer(IUnknown** ppRenderer);
- + STDMETHODIMP_(void) SetPosition(RECT w, RECT v);
- + STDMETHODIMP_(SIZE) GetVideoSize(bool fCorrectAR);
- + STDMETHODIMP_(bool) Paint(bool fAll);
- + STDMETHODIMP GetDIB(BYTE* lpDib, DWORD* size);
- + STDMETHODIMP SetPixelShader(LPCSTR pSrcData, LPCSTR pTarget);
- +
- + //IPaintCallbackMadvr
- + bool IsReady()
- + {
- + /*testing wait*/
- + bool ready = m_readyToDraw.WaitMSec(50);
- +
- + return ready;
- +
- + };
- + bool StartBack()
- + {
- + m_readyToStartBack.Set();
- + return true;
- + }
- + };
- \ No newline at end of file
- diff --git a/xbmc/cores/DSPlayer/Filters/madVRTestPattern.cpp b/xbmc/cores/DSPlayer/Filters/madVRTestPattern.cpp
- new file mode 100644
- index 0000000..3897948
- --- /dev/null
- +++ b/xbmc/cores/DSPlayer/Filters/madVRTestPattern.cpp
- @@ -0,0 +1,214 @@
- +// ***************************************************************
- +// madVRTestPattern.cpp version: 1.1.0 · date: 2013-11-27
- +// -------------------------------------------------------------
- +// madVR test pattern / calibration remote controlling
- +// -------------------------------------------------------------
- +// Copyright (C) 2013 - 2013 www.madshi.net, BSD license
- +// ***************************************************************
- +
- +// 2013-11-27 1.1.0 added madVR_GetBlackAndWhiteLevel
- +// 2013-06-15 1.0.0 initial version
- +
- +// ----------------------------------------------------------------------------
- +
- +#include "madVRTestPattern.h"
- +
- +// ----------------------------------------------------------------------------
- +
- +static HMODULE HcNetDll = NULL;
- +static BOOL InitDone = false;
- +static BOOL InitSuccess = false;
- +
- +static BOOL (WINAPI *ConnectDialog)(BOOL searchLan, HWND parentWindow) = NULL;
- +static BOOL (WINAPI *BlindConnect)(BOOL searchLan, DWORD timeOut) = NULL;
- +static BOOL (WINAPI *ConnectToIp)(LPCSTR ipAddress, DWORD timeOut) = NULL;
- +static BOOL (WINAPI *GetBlackAndWhiteLevel)(int *blackLevel, int *whiteLevel) = NULL;
- +static BOOL (WINAPI *Disable3dlut)() = NULL;
- +static BOOL (WINAPI *GetDeviceGammaRamp_)(LPVOID ramp) = NULL;
- +static BOOL (WINAPI *SetDeviceGammaRamp_)(LPVOID ramp) = NULL;
- +static BOOL (WINAPI *SetOsdText)(LPCWSTR text) = NULL;
- +static BOOL (WINAPI *SetBackground)(int patternAreaInPercent, COLORREF backgroundColor) = NULL;
- +static BOOL (WINAPI *ShowProgressBar)(int numberOfRgbMeasurements) = NULL;
- +static BOOL (WINAPI *SetProgressBarPos)(int currentPos, int maxPos) = NULL;
- +static BOOL (WINAPI *ShowRGB)(double r, double g, double b) = NULL;
- +static BOOL (WINAPI *Disconnect)() = NULL;
- +static BOOL (WINAPI *IsAvailable)() = NULL;
- +static BOOL (WINAPI *Find_Async)(HWND window, DWORD msg) = NULL;
- +static BOOL (WINAPI *Connect)(HANDLE handle, ULONGLONG instance) = NULL;
- +static void (WINAPI *LocConnectDialog)(LPCWSTR title, LPCWSTR text, LPCWSTR columns, LPCWSTR notListed, LPCWSTR select, LPCWSTR cancel) = NULL;
- +static void (WINAPI *LocIpAddressDialog)(LPCWSTR title, LPCWSTR text, LPCWSTR connect, LPCWSTR cancel, LPCWSTR warningTitle, LPCWSTR warningText1, LPCWSTR warningText2) = NULL;
- +
- +BOOL Init()
- +{
- + HKEY hk1;
- + DWORD size;
- + LPWSTR us1;
- + int i1;
- +
- + if (!InitDone)
- + {
- + #ifdef _WIN64
- + HcNetDll = LoadLibraryW(L"madHcNet64.dll");
- + #else
- + HcNetDll = LoadLibraryW(L"madHcNet32.dll");
- + #endif
- + if ((!HcNetDll) && (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"CLSID\\{E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}\\InprocServer32", 0, KEY_QUERY_VALUE | KEY_WOW64_32KEY, &hk1) == ERROR_SUCCESS))
- + {
- + size = MAX_PATH * 2 + 2;
- + us1 = (LPWSTR) LocalAlloc(LPTR, size + 20);
- + i1 = RegQueryValueExW(hk1, NULL, NULL, NULL, (LPBYTE) us1, &size);
- + if (i1 == ERROR_MORE_DATA)
- + {
- + LocalFree(us1);
- + us1 = (LPWSTR) LocalAlloc(LPTR, size + 20);
- + i1 = RegQueryValueExW(hk1, NULL, NULL, NULL, (LPBYTE) us1, &size);
- + }
- + if (i1 == ERROR_SUCCESS)
- + {
- + for (i1 = lstrlenW(us1) - 2; i1 > 0; i1--)
- + if (us1[i1] == L'\\')
- + {
- + us1[i1 + 1] = 0;
- + break;
- + }
- + #ifdef _WIN64
- + wcscat_s(us1, size + 10, L"madHcNet64.dll");
- + #else
- + wcscat_s(us1, size + 10, L"madHcNet32.dll");
- + #endif
- + HcNetDll = LoadLibraryW(us1);
- + }
- + LocalFree(us1);
- + RegCloseKey(hk1);
- + }
- + *(FARPROC*)&ConnectDialog = GetProcAddress(HcNetDll, "madVR_ConnectDialog" );
- + *(FARPROC*)&BlindConnect = GetProcAddress(HcNetDll, "madVR_BlindConnect" );
- + *(FARPROC*)&ConnectToIp = GetProcAddress(HcNetDll, "madVR_ConnectToIp" );
- + *(FARPROC*)&GetBlackAndWhiteLevel = GetProcAddress(HcNetDll, "madVR_GetBlackAndWhiteLevel");
- + *(FARPROC*)&Disable3dlut = GetProcAddress(HcNetDll, "madVR_Disable3dlut" );
- + *(FARPROC*)&GetDeviceGammaRamp_ = GetProcAddress(HcNetDll, "madVR_GetDeviceGammaRamp" );
- + *(FARPROC*)&SetDeviceGammaRamp_ = GetProcAddress(HcNetDll, "madVR_SetDeviceGammaRamp" );
- + *(FARPROC*)&SetOsdText = GetProcAddress(HcNetDll, "madVR_SetOsdText" );
- + *(FARPROC*)&SetBackground = GetProcAddress(HcNetDll, "madVR_SetBackground" );
- + *(FARPROC*)&ShowProgressBar = GetProcAddress(HcNetDll, "madVR_ShowProgressBar" );
- + *(FARPROC*)&SetProgressBarPos = GetProcAddress(HcNetDll, "madVR_SetProgressBarPos" );
- + *(FARPROC*)&ShowRGB = GetProcAddress(HcNetDll, "madVR_ShowRGB" );
- + *(FARPROC*)&Disconnect = GetProcAddress(HcNetDll, "madVR_Disconnect" );
- + *(FARPROC*)&Find_Async = GetProcAddress(HcNetDll, "madVR_Find_Async" );
- + *(FARPROC*)&Connect = GetProcAddress(HcNetDll, "madVR_Connect" );
- + *(FARPROC*)&LocConnectDialog = GetProcAddress(HcNetDll, "Localize_ConnectDialog" );
- + *(FARPROC*)&LocIpAddressDialog = GetProcAddress(HcNetDll, "Localize_IpAddressDialog" );
- + InitSuccess = (ConnectDialog ) &&
- + (BlindConnect ) &&
- + (ConnectToIp ) &&
- + (Disable3dlut ) &&
- + (SetDeviceGammaRamp_) &&
- + (SetOsdText ) &&
- + (SetBackground ) &&
- + (ShowProgressBar ) &&
- + (ShowRGB ) &&
- + (Disconnect ) &&
- + (Find_Async ) &&
- + (Connect ) &&
- + (LocConnectDialog ) &&
- + (LocIpAddressDialog );
- + InitDone = true;
- + }
- + return InitSuccess;
- +}
- +
- +// ----------------------------------------------------------------------------
- +
- +BOOL madVR_ConnectDialog(BOOL searchLan, HWND parentWindow)
- +{
- + return Init() && ConnectDialog(searchLan, parentWindow);
- +}
- +
- +BOOL madVR_BlindConnect(BOOL searchLan, DWORD timeOut)
- +{
- + return Init() && BlindConnect(searchLan, timeOut);
- +}
- +
- +BOOL madVR_ConnectToIp(LPCSTR ipAddress, DWORD timeOut)
- +{
- + return Init() && ConnectToIp(ipAddress, timeOut);
- +}
- +
- +BOOL madVR_GetBlackAndWhiteLevel(int* blackLevel, int* whiteLevel)
- +{
- + return Init() && (GetBlackAndWhiteLevel) && GetBlackAndWhiteLevel(blackLevel, whiteLevel);
- +}
- +
- +BOOL madVR_Disable3dlut()
- +{
- + return Init() && Disable3dlut();
- +}
- +
- +BOOL madVR_GetDeviceGammaRamp(LPVOID ramp)
- +{
- + return Init() && (GetDeviceGammaRamp_) && GetDeviceGammaRamp_(ramp);
- +}
- +
- +BOOL madVR_SetDeviceGammaRamp(LPVOID ramp)
- +{
- + return Init() && SetDeviceGammaRamp_(ramp);
- +}
- +
- +BOOL madVR_SetOsdText(LPCWSTR text)
- +{
- + return Init() && SetOsdText(text);
- +}
- +
- +BOOL madVR_SetBackground(int patternAreaInPercent, COLORREF backgroundColor)
- +{
- + return Init() && SetBackground(patternAreaInPercent, backgroundColor);
- +}
- +
- +BOOL madVR_ShowProgressBar(int numberOfRgbMeasurements)
- +{
- + return Init() && ShowProgressBar(numberOfRgbMeasurements);
- +}
- +
- +BOOL madVR_SetProgressBarPos(int currentPos, int maxPos)
- +{
- + return Init() && (SetProgressBarPos) && SetProgressBarPos(currentPos, maxPos);
- +}
- +
- +BOOL madVR_ShowRGB(double r, double g, double b)
- +{
- + return Init() && ShowRGB(r, g, b);
- +}
- +
- +BOOL madVR_Disconnect()
- +{
- + return Init() && Disconnect();
- +}
- +
- +BOOL madVR_Find_Async(HWND window, DWORD msg)
- +{
- + return Init() && Find_Async(window, msg);
- +}
- +
- +BOOL madVR_Connect(HANDLE handle, ULONGLONG instance)
- +{
- + return Init() && Connect(handle, instance);
- +}
- +
- +BOOL madVR_IsAvailable()
- +{
- + return Init();
- +}
- +
- +void Localize_ConnectDialog(LPCWSTR title, LPCWSTR text, LPCWSTR columns, LPCWSTR notListed, LPCWSTR select, LPCWSTR cancel)
- +{
- + if (Init())
- + LocConnectDialog(title, text, columns, notListed, select, cancel);
- +}
- +
- +void Localize_IpAddressDialog(LPCWSTR title, LPCWSTR text, LPCWSTR connect, LPCWSTR cancel, LPCWSTR warningTitle, LPCWSTR warningText1, LPCWSTR warningText2)
- +{
- + if (Init())
- + LocIpAddressDialog(title, text, connect, cancel, warningTitle, warningText1, warningText2);
- +}
- +
- +// ----------------------------------------------------------------------------
- diff --git a/xbmc/cores/DSPlayer/Filters/madVRTestPattern.h b/xbmc/cores/DSPlayer/Filters/madVRTestPattern.h
- new file mode 100644
- index 0000000..6a3f7ce
- --- /dev/null
- +++ b/xbmc/cores/DSPlayer/Filters/madVRTestPattern.h
- @@ -0,0 +1,246 @@
- +// ***************************************************************
- +// madVRTestPattern.h version: 1.1.0 · date: 2013-11-27
- +// -------------------------------------------------------------
- +// madVR test pattern / calibration remote controlling
- +// -------------------------------------------------------------
- +// Copyright (C) 2013 - 2013 www.madshi.net, BSD license
- +// ***************************************************************
- +
- +// 2013-11-27 1.1.0 added madVR_GetBlackAndWhiteLevel
- +// 2013-06-15 1.0.0 initial version
- +
- +// ----------------------------------------------------------------------------
- +
- +#if !defined(MADVR_H)
- +#define MADVR_H
- +
- +#ifdef __cplusplus
- + extern "C" {
- +#endif
- +
- +#include <windows.h>
- +
- +#pragma pack(1)
- +
- +// ============================================================================
- +// I. THE EASY WAY
- +// ============================================================================
- +
- +// ----------------------------------------------------------------------------
- +// connecting to madVR - three options
- +
- +// (1) "madVR_ConnectDialog" searches for madVR instances on the local PC and
- +// optionally also the LAN, then shows all found instances in a dialog and
- +// lets the user choose which one to connect to.
- +// Searching the LAN will only work if the user has enabled network access
- +// in the madVR tray icon configuration. Also, searching the LAN might
- +// popup a Firewall confirmation window.
- +// "result=true" means: Connection to the selected madVR instance was opened.
- +// "result=false" means: The user aborted the connection process.
- +#ifdef __cplusplus
- + BOOL madVR_ConnectDialog(BOOL searchLan = TRUE, HWND parentWindow = NULL);
- +#else
- + BOOL madVR_ConnectDialog(BOOL searchLan , HWND parentWindow );
- +#endif
- +
- +// (2) "madVR_BlindConnect" searches for madVR instances on the local PC and
- +// optionally also the LAN, then simply connects to the first found
- +// instance. Local PC instances are preferred over LAN instances.
- +// Searching the LAN will only work if the user has enabled network access
- +// in the madVR tray icon configuration. Also, searching the LAN might
- +// popup a Firewall confirmation window.
- +// "result=true" means: A madVR instance was found and a connection opened.
- +// "result=false" means: No madVR instance found, or connection failed.
- +#ifdef __cplusplus
- + BOOL madVR_BlindConnect(BOOL searchLan = TRUE, DWORD timeOut = 3000);
- +#else
- + BOOL madVR_BlindConnect(BOOL searchLan , DWORD timeOut );
- +#endif
- +
- +// (3) If you want to connect to a madVR instance running on a LAN PC with a
- +// known IP address, "madVR_ConnectToIp" lets you do just that.
- +// Connecting to a madVR LAN instance will only work if the user has
- +// enabled network access in the madVR tray icon configuration. Also,
- +// using "madVR_ConnectToIp" might popup a Firewall confirmation window.
- +// "result=true" means: A madVR instance was found and a connection opened.
- +// "result=false" means: No madVR instance found, or connection failed.
- +#ifdef __cplusplus
- + BOOL madVR_ConnectToIp(LPCSTR ipAddress, DWORD timeOut = 1000);
- +#else
- + BOOL madVR_ConnectToIp(LPCSTR ipAddress, DWORD timeOut );
- +#endif
- +
- +// ----------------------------------------------------------------------------
- +// remote controlling the connected madVR instance
- +
- +// "madVR_GetBlackAndWhiteLevel" reports the madVR output level setup.
- +// E.g. if madVR is setup to output TV levels, you'll get "blackLevel = 16" and
- +// "whiteLevel = 235" reported.
- +// The purpose of asking this information is that it allows you to avoid
- +// dithering, if you so prefer. Dithering will be automatically disabled by
- +// madVR if the final 8bit output value calculated by madVR ends up being a
- +// simple cardinal without any fractional part.
- +// E.g. if you use "madVR_ShowRGB(0.5, 0.5, 0.5)" with madVR configured to PC
- +// levels, the final 8bit value will be 127.5, which means that madVR has to
- +// use dithering to display the color correctly. If you want to avoid dithering,
- +// use "x / (whiteLevel - blackLevel)" values.
- +// Dithering in itself is not bad. It allows madVR to produce test pattern
- +// colors which would otherwise not be possible to display in 8bit. However,
- +// calibration quality might be ever so slightly improved if you choose
- +// measurement colors which don't need dithering to display correctly. It's
- +// your choice, though. Maybe some part of your calibration might even improve
- +// if you have the chance to measure colors with a bitdepth higher than 8bit.
- +BOOL madVR_GetBlackAndWhiteLevel(int *blackLevel, int *whiteLevel);
- +
- +// "madVR_Disable3dlut" disables 3dlut processing.
- +// The 3dlut stays disabled until the connection is closed.
- +// Disable the 3dlut if you want to calibrate/profile the display, or if you
- +// want to measure the display behaviour prior to calibration.
- +// Don't disable the 3dlut if you want to measure the final display after full
- +// calibration.
- +BOOL madVR_Disable3dlut();
- +
- +// "madVR_Get/SetDeviceGammaRamp" calls the win32 API "Get/SetDeviceGammaRamp"
- +// on the target PC / display. A "NULL" ramp sets a linear ramp.
- +// The original ramp is automatically restored when you close the connection.
- +#ifdef __cplusplus
- + BOOL madVR_GetDeviceGammaRamp(LPVOID ramp);
- + BOOL madVR_SetDeviceGammaRamp(LPVOID ramp = NULL);
- +#else
- + BOOL madVR_GetDeviceGammaRamp(LPVOID ramp);
- + BOOL madVR_SetDeviceGammaRamp(LPVOID ramp);
- +#endif
- +
- +// "madVR_SetOsdText" shows a "text" on the top left of the video image.
- +BOOL madVR_SetOsdText(LPCWSTR text);
- +
- +// "madVR_SetBackground" lets you define how much percect of the madVR
- +// rendering window is painted in the test pattern color, and how much is
- +// painted with a specific background color.
- +// Using a background color can make sense for plasma measurements.
- +BOOL madVR_SetBackground(int patternAreaInPercent, COLORREF backgroundColor);
- +
- +// "madVR_ShowProgressBar" initializes the madVR progress bar.
- +// It will progress one step with every "madVR_ShowRGB" call (see below).
- +BOOL madVR_ShowProgressBar(int numberOfRgbMeasurements);
- +
- +// "madVR_SetProgressBarPos" sets the madVR progress bar to a specific pos.
- +// After calling this API, the progress bar will not automatically move
- +// forward after calls to "madVR_ShowRGB", anymore. Calling this API means
- +// you have to manually move the progress bar.
- +BOOL madVR_SetProgressBarPos(int currentPos, int maxPos);
- +
- +// "madVR_ShowRGB" shows a specific RGB color test pattern.
- +// Values are gamma corrected with "black = 0.0" and "white = 1.0".
- +// You can go below 0.0 or above 1.0 for BTB/WTW, if you want. Of course a test
- +// pattern with BTB/WTW will only work if the connected madVR instance is
- +// configured to TV level output.
- +// "madVR_ShowRGB" blocks until the GPU has actually output the test pattern to
- +// the display. How fast the display will actually show the test pattern will
- +// depend on the display's input latency, which is outside of madVR's control.
- +BOOL madVR_ShowRGB(double r, double g, double b);
- +
- +// ----------------------------------------------------------------------------
- +// disconnecting from madVR
- +
- +// "madVR_Disconnect" closes the current connection to madVR.
- +BOOL madVR_Disconnect();
- +
- +// ----------------------------------------------------------------------------
- +// checking madVR availability
- +
- +// "madVR_IsAvailable" checks whether the madHcNet32.dll can be found.
- +// It must either be in the current directory, or in the search path.
- +// Or alternatively it will also work if madVR is installed on the current PC.
- +BOOL madVR_IsAvailable();
- +
- +// ----------------------------------------------------------------------------
- +
- +
- +// ============================================================================
- +// II. THE HARD WAY
- +// ============================================================================
- +
- +// ----------------------------------------------------------------------------
- +// finding / enumerating madVR instances on the LAN
- +
- +// The following API lets you automatically locate madVR instances running
- +// anywhere on either the local PC or remote PCs connected via LAN.
- +// For every found madVR instance this full information record is returned:
- +
- +typedef struct _TMadVRInstance
- +{ // Example 1: // Example 2:
- + HANDLE handle; // 1 // 2
- + ULONGLONG instance; // 0x40001000 // 0x40001000
- + LPSTR ipAddress; // "192.168.1.1" // "192.168.1.1"
- + LPWSTR computerName; // "HTPC" // "HTPC"
- + LPWSTR userName; // "Walter" // "Walter"
- + LPWSTR os; // "Windows XP" // "Windows 8"
- + ULONG_PTR processId; // 220 // 248
- + LPWSTR processName; // "MPC-HC" // "madVR test pattern generator"
- + LPWSTR exeFile; // "mplayerc.exe" // "madTPG.exe"
- + LPWSTR exeVersion; // 1.3.2066.0 // 1.0.0.0
- + LPWSTR madVRVersion; // 0.86.4.0 // 0.86.4.0
- + LPWSTR gpuName; // "Radeon 3850" // "GeForce 650"
- + LPWSTR monitorName; // "JVC HD-350" // "JVC HD-350"
- +} TMadVRInstance, *PMadVRInstance;
- +
- +// "madVR_Find_Async" also starts a search for madVR instances, but instead of
- +// returning information directly, it will send a message to the specified
- +// "window" for every found madVR instance.
- +// After the search is complete, "madVR_Find_Async" will keep an eye open for
- +// newly started and closed down madVR instances and automatically report them
- +// to your "window", as well.
- +// In order to stop notification, call "madVR_Find_Async" with NULL parameters.
- +// wParam: 0 = a new madVR instance was detected
- +// 1 = a known madVR instance closed down
- +// lParam: "PMadVRInstance" of the new/closed madVR instance
- +// do not free the PMadVRInstance, the memory is managed by madVR
- +BOOL madVR_Find_Async(HWND window, DWORD msg);
- +
- +// ----------------------------------------------------------------------------
- +// connection to a specific madVR instance
- +
- +// "madVR_Connect" connects you to the specified madVR instance.
- +// If a previous connection exists, it will be closed automatically.
- +// The "handle" and "instance" originate from a "madVR_Find(_Async)" search.
- +BOOL madVR_Connect(HANDLE handle, ULONGLONG instance);
- +
- +// ----------------------------------------------------------------------------
- +
- +
- +// ============================================================================
- +// III. GUI LOCALIZATION
- +// ============================================================================
- +
- +// Localize/customize all texts used by madVR_ConnectDialog.
- +void Localize_ConnectDialog (LPCWSTR title, // madVR selection...
- + LPCWSTR text, // Please make sure that madVR is running on the target computer and then select it here:
- + LPCWSTR columns, // ip address|computer|pid|process|gpu|monitor|os
- + LPCWSTR notListed, // The madVR instance I'm looking for is not listed
- + LPCWSTR select, // Select
- + LPCWSTR cancel // Cancel
- + );
- +
- +// Localize/customize all texts used by madVR_IpAddressDialog.
- +// This is a dialog used internally by madVR_ConnectDialog.
- +void Localize_IpAddressDialog (LPCWSTR title, // find mad* instance...
- + LPCWSTR text, // Please enter the IP address of the computer on which mad* is running:
- + LPCWSTR connect, // Connect
- + LPCWSTR cancel, // Cancel
- + LPCWSTR warningTitle, // Warning...
- + LPCWSTR warningText1, // There doesn't seem to be any madVR instance running on that computer.
- + LPCWSTR warningText2 // The target computer does not react.\n\n
- + ); // Please check if it's turned on and connected to the LAN.\n
- + // You may also want to double check your firewall settings.
- +
- +// ----------------------------------------------------------------------------
- +
- +
- +// ----------------------------------------------------------------------------
- +
- +#ifdef __cplusplus
- + }
- +#endif
- +
- +#endif
- diff --git a/xbmc/cores/DSPlayer/Filters/mvrInterfaces.h b/xbmc/cores/DSPlayer/Filters/mvrInterfaces.h
- new file mode 100644
- index 0000000..e5ea660
- --- /dev/null
- +++ b/xbmc/cores/DSPlayer/Filters/mvrInterfaces.h
- @@ -0,0 +1,720 @@
- +// ***************************************************************
- +// mvrInterfaces.h version: 1.0.7 · date: 2014-01-18
- +// -------------------------------------------------------------
- +// various interfaces exported by madVR
- +// -------------------------------------------------------------
- +// Copyright (C) 2011 - 2014 www.madshi.net, BSD license
- +// ***************************************************************
- +
- +// 2014-01-18 1.0.7 added IMadVRSettings2
- +// 2013-06-04 1.0.6 added IMadVRInfo
- +// 2013-01-23 1.0.5 added IMadVRSubclassReplacement
- +// 2012-11-18 1.0.4 added IMadVRExternalPixelShaders
- +// 2012-10-07 1.0.3 added IMadVRExclusiveModeCallback
- +// 2011-08-03 1.0.2 added IMadVRExclusiveModeControl
- +// 2011-07-17 1.0.1 added IMadVRRefreshRateInfo
- +// 2011-06-25 1.0.0 initial release
- +
- +#ifndef __mvrInterfaces__
- +#define __mvrInterfaces__
- +
- +// ---------------------------------------------------------------------------
- +// IMadVR
- +// ---------------------------------------------------------------------------
- +
- +// use this CLSID to create a madVR instance
- +
- +DEFINE_GUID(CLSID_madVR, 0xe1a8b82a, 0x32ce, 0x4b0d, 0xbe, 0x0d, 0xaa, 0x68, 0xc7, 0x72, 0xe4, 0x23);
- +
- +// ---------------------------------------------------------------------------
- +// IMadVROsdServices
- +// ---------------------------------------------------------------------------
- +
- +// this interface allows you to draw your own graphical OSD
- +// your OSD will work in both windowed + exclusive mode
- +// there are 2 different ways to draw your OSD:
- +
- +// (1) using bitmaps
- +// you can create multiple OSD elements
- +// each OSD element gets a name, a bitmap and a position
- +// the bitmap must be 24bit or 32bit RGB(A)
- +// for transparency you can use a color key or an 8bit alpha channel
- +
- +// (2) using render callbacks
- +// you can provide madVR with callbacks
- +// these callbacks are then called during rendering
- +// one callback will be called the rendering target was cleared
- +// another callback will be called after rendering was fully completed
- +// in your callbacks you can modify the render target any way you like
- +
- +// ---------------------------------------------------------------------------
- +
- +// when using the (1) bitmaps method, you can register a mouse callback
- +// this callback will be called whenever a mouse event occurs
- +// mouse pos (0, 0) is the left top corner of the OSD bitmap element
- +// return "true" if your callback has handled the mouse message and
- +// if you want the mouse message to be "eaten" (instead of passed on)
- +typedef void (__stdcall *OSDMOUSECALLBACK)(LPCSTR name, LPVOID context, UINT message, WPARAM wParam, int posX, int posY);
- +
- +// when using the (2) render callbacks method, you need to provide
- +// madVR with an instance of the IOsdRenderCallback interface
- +// it contains three callbacks you have to provide
- +[uuid("57FBF6DC-3E5F-4641-935A-CB62F00C9958")]
- +interface IOsdRenderCallback : public IUnknown
- +{
- + // "SetDevice" is called when you register the callbacks
- + // it provides you with the D3D device object used by madVR
- + // when SetDevice is called with a "NULL" D3D device, you
- + // *must* release all D3D resources you eventually allocated
- + STDMETHOD(SetDevice)(IDirect3DDevice9 *dev) = 0;
- +
- + // "ClearBackground" is called after madVR cleared the render target
- + // "RenderOsd" is called after madVR is fully done with rendering
- + // fullOutputRect = (0, 0, outputSurfaceWidth, outputSurfaceHeight)
- + // activeVideoRect = active video rendering rect inside of fullOutputRect
- + // background area = the part of fullOutputRect which isn't covered by activeVideoRect
- + STDMETHOD(ClearBackground)(LPCSTR name, REFERENCE_TIME frameStart, RECT *fullOutputRect, RECT *activeVideoRect) = 0;
- + STDMETHOD(RenderOsd )(LPCSTR name, REFERENCE_TIME frameStart, RECT *fullOutputRect, RECT *activeVideoRect) = 0;
- +};
- +
- +// this is the main interface which madVR provides to you
- +[uuid("3AE03A88-F613-4BBA-AD3E-EE236976BF9A")]
- +interface IMadVROsdServices : public IUnknown
- +{
- + // this API provides the (1) bitmap based method
- + STDMETHOD(OsdSetBitmap)(
- + LPCSTR name, // name of the OSD element, e.g. "YourMediaPlayer.SeekBar"
- + HBITMAP leftEye = NULL, // OSD bitmap, should be 24bit or 32bit, NULL deletes the OSD element
- + HBITMAP rightEye = NULL, // specify when your OSD is 3D, otherwise set to NULL
- + COLORREF colorKey = 0, // transparency color key, set to 0 if your bitmap has an 8bit alpha channel
- + int posX = 0, // where to draw the OSD element?
- + int posY = 0, //
- + bool posRelativeToVideoRect = false, // draw relative to TRUE: the active video rect; FALSE: the full output rect
- + int zOrder = 0, // high zOrder OSD elements are drawn on top of those with smaller zOrder values
- + DWORD duration = 0, // how many milliseconds shall the OSD element be shown (0 = infinite)?
- + DWORD flags = 0, // undefined - set to 0
- + OSDMOUSECALLBACK callback = NULL, // optional callback for mouse events
- + LPVOID callbackContext = NULL, // this context is passed to the callback
- + LPVOID reserved = NULL // undefined - set to NULL
- + ) = 0;
- +
- + // this API allows you to ask the current video rectangles
- + STDMETHOD(OsdGetVideoRects)(
- + RECT *fullOutputRect, // (0, 0, outputSurfaceWidth, outputSurfaceHeight)
- + RECT *activeVideoRect // active video rendering rect inside of fullOutputRect
- + ) = 0;
- +
- + // this API provides the (2) render callback based method
- + STDMETHOD(OsdSetRenderCallback)(
- + LPCSTR name, // name of the OSD callback, e.g. "YourMediaPlayer.OsdCallbacks"
- + IOsdRenderCallback *callback = NULL, // OSD callback interface, set to NULL to unregister the callback
- + LPVOID reserved = NULL // undefined - set to NULL
- + ) = 0;
- +
- + // this API allows you to force madVR to redraw the current video frame
- + // useful when using the (2) render callback method, when the graph is paused
- + STDMETHOD(OsdRedrawFrame)(void) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRTextOsd
- +// ---------------------------------------------------------------------------
- +
- +// This interface allows you to draw simple text messages.
- +// madVR uses it internally, too, for showing various messages to the user.
- +// The messages are shown in the top left corner of the video rendering window.
- +// The messages work in both windowed and fullscreen exclusive mode.
- +// There can always be only one message active at the same time, so basically
- +// the messages are overwriting each other.
- +
- +[uuid("ABA34FDA-DD22-4E00-9AB4-4ABF927D0B0C")]
- +interface IMadVRTextOsd : public IUnknown
- +{
- + STDMETHOD(OsdDisplayMessage)(LPCWSTR text, DWORD milliseconds) = 0;
- + STDMETHOD(OsdClearMessage)(void) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRSubclassReplacement
- +// ---------------------------------------------------------------------------
- +
- +// Normally madVR subclasses some parent of the madVR rendering window.
- +// If your media player gets into stability issues because of that, you can
- +// disable madVR's subclassing by using this interface. You should then
- +// manually forward the messages from your own WindowProc to madVR by calling
- +// this interface's "ParentWindowProc" method.
- +// If "ParentWindowProc" returns "TRUE", you should consider the message
- +// handled by madVR and *not* pass it on to the original WindowProc. Instead
- +// just return the value madVR wrote to "result". If "ParentWindowProc"
- +// returns "FALSE", process the message as usual.
- +// When using the normal subclassing solution, madVR selects the parent window
- +// to subclass by using the following code:
- +// {
- +// HWND parentWindow = madVRWindow;
- +// while ((GetParent(parentWindow)) && (GetParent(parentWindow) == GetAncestor(parentWindow, GA_PARENT)))
- +// parentWindow = GetParent(parentWindow);
- +// }
- +// If you use this interface, send the messages to madVR from the same window
- +// that madVR would otherwise have subclassed.
- +
- +[uuid("9B517604-2D86-4FA2-A20C-ECF88301B010")]
- +interface IMadVRSubclassReplacement : public IUnknown
- +{
- + STDMETHOD(DisableSubclassing)(void) = 0;
- + STDMETHOD_(BOOL, ParentWindowProc)(HWND hwnd, UINT uMsg, WPARAM *wParam, LPARAM *lParam, LRESULT *result) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRSeekbarControl
- +// ---------------------------------------------------------------------------
- +
- +// if you draw your own seekbar and absolutely insist on disliking madVR's
- +// own seekbar, you can forcefully hide it by using this interface
- +// using this interface only affects the current madVR instance
- +
- +[uuid("D2D3A520-7CFA-46EB-BA3B-6194A028781C")]
- +interface IMadVRSeekbarControl : public IUnknown
- +{
- + STDMETHOD(DisableSeekbar)(BOOL disable) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRExclusiveModeControl
- +// ---------------------------------------------------------------------------
- +
- +// you can use this interface to turn madVR's automatic exclusive mode on/off
- +// using this interface only affects the current madVR instance
- +
- +[uuid("88A69329-3CD3-47D6-ADEF-89FA23AFC7F3")]
- +interface IMadVRExclusiveModeControl : public IUnknown
- +{
- + STDMETHOD(DisableExclusiveMode)(BOOL disable) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRExclusiveModeCallback
- +// ---------------------------------------------------------------------------
- +
- +// allows you to be notified when exclusive mode is entered/left
- +
- +#define ExclusiveModeIsAboutToBeEntered 1
- +#define ExclusiveModeWasJustEntered 2
- +#define ExclusiveModeIsAboutToBeLeft 3
- +#define ExclusiveModeWasJustLeft 4
- +typedef void (__stdcall *EXCLUSIVEMODECALLBACK)(LPVOID context, int event);
- +
- +[uuid("51CA9252-ACC5-4EC5-A02E-0F9F8C42B536")]
- +interface IMadVRExclusiveModeCallback : public IUnknown
- +{
- + STDMETHOD( Register)(EXCLUSIVEMODECALLBACK exclusiveModeCallback, LPVOID context) = 0;
- + STDMETHOD(Unregister)(EXCLUSIVEMODECALLBACK exclusiveModeCallback, LPVOID context) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRDirect3D9Manager
- +// ---------------------------------------------------------------------------
- +
- +// You can make madVR use your Direct3D9 device(s) instead of creating its
- +// own. If you do that, madVR will not automatically switch between
- +// fullscreen and windowed mode, anymore. It's your duty then to enter
- +// fullscreen exclusive mode, if you want madVR to use it. madVR will still
- +// reset the devices, though, if necessary (lost device etc).
- +
- +[uuid("1CAEE23B-D14B-4DB4-8AEA-F3528CB78922")]
- +interface IMadVRDirect3D9Manager : public IUnknown
- +{
- + // Creating 3 different devices for scanline reading, rendering and
- + // presentation can improve overall performance. If you don't like that
- + // idea, just feed madVR with the same device for all tasks.
- + // You can't create new devices if one device is already in fullscreen
- + // exclusive mode. So if you want to provide madVR with 3 different
- + // devices, while still using exclusive mode, make sure you create the
- + // scanline reading and rendering devices before setting the presentation
- + // device to fullscreen exclusive mode.
- + STDMETHOD(UseTheseDevices)(LPDIRECT3DDEVICE9 scanlineReading, LPDIRECT3DDEVICE9 rendering, LPDIRECT3DDEVICE9 presentation) = 0;
- +
- + // madVR contains a display mode changer which, depending on the video
- + // size and frame rate, may decide to switch display modes. If you don't
- + // want madVR to change either resolution or refresh rates, you can
- + // disable this functionality partially or completely.
- + STDMETHOD(ConfigureDisplayModeChanger)(BOOL allowResolutionChanges, BOOL allowRefreshRateChanges) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRExternalPixelShaders
- +// ---------------------------------------------------------------------------
- +
- +// this interface allows you to activate external HLSL D3D9 pixel shaders
- +
- +#define ShaderStage_PreScale 0
- +#define ShaderStage_PostScale 1
- +
- +[uuid("B6A6D5D4-9637-4C7D-AAAE-BC0B36F5E433")]
- +interface IMadVRExternalPixelShaders : public IUnknown
- +{
- + STDMETHOD(ClearPixelShaders)(int stage) = 0;
- + STDMETHOD(AddPixelShader)(LPCSTR sourceCode, LPCSTR compileProfile, int stage, LPVOID reserved) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRInfo
- +// ---------------------------------------------------------------------------
- +
- +// this interface allows you to get all kinds of information from madVR
- +
- +[uuid("8FAB7F31-06EF-444C-A798-10314E185532")]
- +interface IMadVRInfo : public IUnknown
- +{
- + // The memory for strings and binary data is allocated by the callee
- + // by using LocalAlloc. It is the caller's responsibility to release the
- + // memory by calling LocalFree.
- + // Field names and LPWSTR values should be read case insensitive.
- + STDMETHOD(GetBool )(LPCSTR field, bool *value) = 0;
- + STDMETHOD(GetInt )(LPCSTR field, int *value) = 0;
- + STDMETHOD(GetSize )(LPCSTR field, SIZE *value) = 0;
- + STDMETHOD(GetRect )(LPCSTR field, RECT *value) = 0;
- + STDMETHOD(GetUlonglong)(LPCSTR field, ULONGLONG *value) = 0;
- + STDMETHOD(GetDouble )(LPCSTR field, double *value) = 0;
- + STDMETHOD(GetString )(LPCSTR field, LPWSTR *value, int *chars) = 0;
- + STDMETHOD(GetBin )(LPCSTR field, LPVOID *value, int *size ) = 0;
- +};
- +
- +// available info fields:
- +// ----------------------
- +// version, string, madVR version number
- +// originalVideoSize, size, size of the video before scaling and AR adjustments
- +// arAdjustedVideoSize, size, size of the video after AR adjustments
- +// videoOutputRect, rect, final pos/size of the video after all scaling operations
- +// subtitleTargetRect, rect, consumer wish for where to place the subtitles
- +// frameRate, ulonglong, frame rate of the video after deinterlacing (REFERENCE_TIME)
- +// refreshRate, double, display refresh rate (0, if unknown)
- +// displayModeSize, size, display mode width/height
- +// yuvMatrix, string, RGB Video: "None" (fullrange); YCbCr Video: "Levels.Matrix", Levels: TV|PC, Matrix: 601|709|240M|FCC|2020
- +// exclusiveModeActive, bool, is madVR currently in exclusive mode?
- +// madVRSeekbarEnabled, bool, is the madVR exclusive mode seek bar currently enabled?
- +// dxvaDecodingActive, bool, is DXVA2 decoding being used at the moment?
- +// dxvaDeinterlacingActive, bool, is DXVA2 deinterlacing being used at the moment?
- +// dxvaScalingActive, bool, is DXVA2 scaling being used at the moment?
- +// ivtcActive, bool, is madVR's IVTC algorithm active at the moment?
- +// osdLatency, int, how much milliseconds will pass for an OSD change to become visible?
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRSettings
- +// ---------------------------------------------------------------------------
- +
- +// this interface allows you to read and write madVR settings
- +
- +// For each folder and value there exists both a short ID and a long
- +// description. The short ID will never change. The long description may be
- +// modified in a future version. So it's preferable to use the ID, but you can
- +// also address settings by using the clear text description.
- +
- +// The "path" parameter can simply be set to the ID or to the description of
- +// the setting value. Alternatively you can use a partial or full path to the
- +// setting value. E.g. the following calls will all return the same value:
- +// (1) GetBoolean(L"dontDither", &boolVal);
- +// (2) GetBoolean(L"don't use dithering", &boolVal);
- +// (3) GetBoolean(L"tradeQuality\dontDither", &boolVal);
- +// (4) GetBoolean(L"rendering\trade quality for performance\dontDither", &boolVal);
- +
- +// Using the full path can make sense if you want to access a specific profile.
- +// If you don't specify a path, you automatically access the currently active
- +// profile.
- +
- +[uuid("6F8A566C-4E19-439E-8F07-20E46ED06DEE")]
- +interface IMadVRSettings : public IUnknown
- +{
- + // returns the revision number of the settings record
- + // the revision number is increased by 1 every time a setting changes
- + STDMETHOD_(BOOL, SettingsGetRevision)(LONGLONG* revision) = 0;
- +
- + // export the whole settings record to a binary data buffer
- + // the buffer is allocated by SettingsExport by using LocalAlloc
- + // it's the caller's responsibility to free the buffer again by using LocalFree
- + STDMETHOD_(BOOL, SettingsExport)(LPVOID* buf, int* size) = 0;
- + // import the settings from a binary data buffer
- + STDMETHOD_(BOOL, SettingsImport)(LPVOID buf, int size) = 0;
- +
- + // modify a specific value
- + STDMETHOD_(BOOL, SettingsSetString )(LPCWSTR path, LPCWSTR value) = 0;
- + STDMETHOD_(BOOL, SettingsSetInteger)(LPCWSTR path, int value) = 0;
- + STDMETHOD_(BOOL, SettingsSetBoolean)(LPCWSTR path, BOOL value) = 0;
- +
- + // The buffer for SettingsGetString must be provided by the caller and
- + // bufLenInChars set to the buffer's length (please note: 1 char -> 2 bytes).
- + // If the buffer is too small, the API fails and GetLastError returns
- + // ERROR_MORE_DATA. On return, bufLenInChars is set to the required buffer size.
- + // The buffer for SettingsGetBinary is allocated by SettingsGetBinary.
- + // The caller is responsible for freeing it by using LocalAlloc().
- + STDMETHOD_(BOOL, SettingsGetString )(LPCWSTR path, LPCWSTR value, int* bufLenInChars) = 0;
- + STDMETHOD_(BOOL, SettingsGetInteger)(LPCWSTR path, int* value) = 0;
- + STDMETHOD_(BOOL, SettingsGetBoolean)(LPCWSTR path, BOOL* value) = 0;
- + STDMETHOD_(BOOL, SettingsGetBinary )(LPCWSTR path, LPVOID* value, int* bufLenInBytes) = 0;
- +};
- +
- +[uuid("1C3E03D6-F422-4D31-9424-75936F663BF7")]
- +interface IMadVRSettings2 : public IMadVRSettings
- +{
- + // Enumerate the available settings stuff in the specified path.
- + // Simply loop from enumIndex 0 to infinite, until the enumeration returns FALSE.
- + // When enumeration is completed GetLastError returns ERROR_NO_MORE_ITEMS.
- + // The buffers must be provided by the caller and ...LenInChars set to the
- + // buffer's length (please note: 1 char -> 2 bytes). If the buffer is too small,
- + // the API fails and GetLastError returns ERROR_MORE_DATA. On return,
- + // ...LenInChars is set to the required buffer size.
- + STDMETHOD_(BOOL, SettingsEnumFolders )(LPCWSTR path, int enumIndex, LPCWSTR id, LPCWSTR name, LPCWSTR type, int* idLenInChars, int* nameLenInChars, int* typeLenInChars) = 0;
- + STDMETHOD_(BOOL, SettingsEnumValues )(LPCWSTR path, int enumIndex, LPCWSTR id, LPCWSTR name, LPCWSTR type, int* idLenInChars, int* nameLenInChars, int* typeLenInChars) = 0;
- + STDMETHOD_(BOOL, SettingsEnumProfileGroups)(LPCWSTR path, int enumIndex, LPCWSTR name, int* nameLenInChars ) = 0;
- + STDMETHOD_(BOOL, SettingsEnumProfiles )(LPCWSTR path, int enumIndex, LPCWSTR name, int* nameLenInChars ) = 0;
- +
- + // Creates/deletes a profile group in the specified path.
- + // Deleting a profile group works only if there's only one profile left in the group.
- + // Example:
- + // SettingsCreateProfileGroup('scalingParent', 'imageDoubling|lumaUp', 'upscaling profiles', 'SD 24fps');
- + // SettingsDeleteProfileGroup('scalingParent\upscaling profiles');
- + STDMETHOD_(BOOL, SettingsCreateProfileGroup)(LPCWSTR path, LPCWSTR settingsPageList, LPCWSTR profileGroupName, LPCWSTR firstProfileName) = 0;
- + STDMETHOD_(BOOL, SettingsDeleteProfileGroup)(LPCWSTR path) = 0;
- +
- + // SettingsAddProfile adds a new profile, using default parameters for all values.
- + // SettingsDuplicateProfile duplicates/copies a profile with all parameters.
- + // Deleting a profile works only if it isn't the only profile left in the group.
- + // Example:
- + // SettingsAddProfile('scalingParent\upscaling profiles', 'SD 60fps');
- + // SettingsDuplicateProfile('scalingParent\upscaling profiles', 'SD 60fps', 'HD 24fps');
- + // SettingsDeleteProfile('scalingParent\upscaling profiles', 'SD 60fps');
- + STDMETHOD_(BOOL, SettingsAddProfile )(LPCWSTR path, LPCWSTR newProfileName) = 0;
- + STDMETHOD_(BOOL, SettingsDuplicateProfile)(LPCWSTR path, LPCWSTR originalProfileName, LPCWSTR newProfileName) = 0;
- + STDMETHOD_(BOOL, SettingsDeleteProfile )(LPCWSTR path, LPCWSTR profileName ) = 0;
- +
- + // SettingsActivateProfile activates the specified profile.
- + // It also disables automatic (rule based) profile selection.
- + // SettingsAutoselectProfile allows you to reactivate it.
- + // Example:
- + // if SettingsIsProfileActive('scalingParent\upscaling profiles', 'SD 24fps') then
- + // begin
- + // SettingsActivateProfile('scalingParent\upscaling profiles', 'SD 60fps');
- + // [...]
- + // SettingsAutoselectProfile('scalingParent\upscaling profiles');
- + STDMETHOD_(BOOL, SettingsIsProfileActive)(LPCWSTR path, LPCWSTR profileName) = 0;
- + STDMETHOD_(BOOL, SettingsActivateProfile)(LPCWSTR path, LPCWSTR profileName) = 0;
- + STDMETHOD_(BOOL, SettingsIsProfileAutoselected)(LPCWSTR path) = 0;
- + STDMETHOD_(BOOL, SettingsAutoselectProfile)(LPCWSTR path) = 0;
- +};
- +
- +// available settings: id, name, type, valid values
- +// ------------------------------------------------
- +// devices, devices
- +// %monitorId%, %monitorName%
- +// %id%, identification
- +// edid, edid, binary
- +// monitorName, monitor name, string
- +// deviceId, device id, string
- +// outputDevice, output device, string
- +// properties, properties
- +// levels, levels, string, TV Levels|PC Levels|Custom
- +// black, black, integer, 0..48
- +// white, white, integer, 200..255
- +// displayBitdepth, native display bitdepth, integer, 6..10
- +// calibration, calibration
- +// calibrate, calibrate display, string, disable calibration controls for this display|this display is already calibrated|calibrate this display by using yCMS|calibrate this display by using an external 3dlut file
- +// disableGpuGammaRamps, disable GPU gamma ramps, boolean
- +// external3dlutFile, external 3dlut file, string
- +// gamutMeasurements, gamut measurements, string
- +// gammaMeasurements, gamma measurements, string
- +// displayPrimaries, display primaries, string, BT.709 (HD)|BT.601 (SD)|PAL|something else
- +// displayGammaCurve, display gamma curve, string, pure power curve|BT.709/601 curve|something else
- +// displayGammaValue, display gamma value, string, 1.80|1.85|1.90|1.95|2.00|2.05|2.10|2.15|2.20|2.25|2.30|2.35|2.40|2.45|2.50|2.55|2.60|2.65|2.70|2.75|2.80
- +// displayModes, display modes
- +// enableDisplayModeChanger, switch to matching display mode..., boolean
- +// changeDisplayModeOnPlay, ... when playback starts, boolean
- +// restoreDisplayMode, restore original display mode..., boolean
- +// restoreDisplayModeOnClose, ... when media player is closed, boolean
- +// slowdown, treat 25p movies as 24p (requires Reclock), boolean
- +// displayModesData, display modes data, binary
- +// colorGamma, color & gamma
- +// brightness, brightness, integer, -100..+100
- +// contrast, contrast, integer, -100..+100
- +// saturation, saturation, integer, -100..+100
- +// hue, hue, integer, -180..+180
- +// enableGammaProcessing, enable gamma processing, boolean
- +// currentGammaCurve, current gamma curve, string, pure power curve|BT.709/601 curve
- +// currentGammaValue, current gamma value, string, 1.80|1.85|1.90|1.95|2.00|2.05|2.10|2.15|2.20|2.25|2.30|2.35|2.40|2.45|2.50|2.55|2.60|2.65|2.70|2.75|2.80
- +// processing, processing
- +// decoding, processing
- +// decodeH264, decode h264, string, disable|libav|intel|hardware
- +// decodeVc1, decode VC-1, string, disable|libav|intel|hardware
- +// decodeMpeg2, decode MPEG2, string, disable|libav|intel|hardware
- +// deinterlacing, deinterlacing
- +// autoActivateDeinterlacing, automatically activate deinterlacing when needed, boolean
- +// ifInDoubtDeinterlace, if in doubt, activate deinterlacing, boolean
- +// contentType, source type, string, auto|film|video
- +// scanPartialFrame, only look at pixels in the frame center, boolean
- +// deinterlaceThread, perform deinterlacing in separate thread, boolean
- +// artifactRemoval, artifact removal
- +// debandActive, reduce banding artifacts, boolean
- +// debandLevel, default debanding strength, integer, 0..2
- +// debandFadeLevel, strength during fade in/out, integer, 0..2
- +// scalingParent, scaling algorithms
- +// chromaUp, chroma upscaling
- +// chromaUp, chroma upsampling, string, Nearest Neighbor|Bilinear|Mitchell-Netravali|Catmull-Rom|Bicubic50|Bicubic60|Bicubic75|Bicubic100|SoftCubic50|SoftCubic60|SoftCubic70|SoftCubic80|SoftCubic100|Lanczos3|Lanczos4|Lanczos8|Spline36|Spline64|Jinc3|Jinc4|Jinc8|Nnedi16|Nnedi32|Nnedi64|Nnedi128|Nnedi256
- +// chromaAntiRinging, activate anti-ringing filter for chroma upsampling, boolean
- +// imageDoubling, image doubling
- +// nnediDLEnable, use NNEDI3 to double Luma resolution, boolean
- +// nnediDCEnable, use NNEDI3 to double Chroma resolution, boolean
- +// nnediQLEnable, use NNEDI3 to quadruple Luma resolution, boolean
- +// nnediQCEnable, use NNEDI3 to quadruple Chroma resolution, boolean
- +// nnediDLScalingFactor, when to use NNEDI3 to double Luma resolution, string, 1.2x|1.5x|2.0x|always
- +// nnediDCScalingFactor, when to use NNEDI3 to double Chroma resolution, string, 1.2x|1.5x|2.0x|always
- +// nnediQLScalingFactor, when to use NNEDI3 to quadruple Luma resolution, string, 1.2x|1.5x|2.0x|always
- +// nnediQCScalingFactor, when to use NNEDI3 to quadruple Chroma resolution, string, 1.2x|1.5x|2.0x|always
- +// nnediDLQuality, NNEDI3 double Luma quality, integer, 0..4
- +// nnediDLQuality, NNEDI3 double Chroma quality, integer, 0..4
- +// nnediDLQuality, NNEDI3 quadruple Luma quality, integer, 0..4
- +// nnediDLQuality, NNEDI3 quadruple Chroma quality, integer, 0..4
- +// lumaUp, image upscaling
- +// lumaUp, image upscaling, string, Nearest Neighbor|Bilinear|Dxva|Mitchell-Netravali|Catmull-Rom|Bicubic50|Bicubic60|Bicubic75|Bicubic100|SoftCubic50|SoftCubic60|SoftCubic70|SoftCubic80|SoftCubic100|Lanczos3|Lanczos4|Lanczos8|Spline36|Spline64|Jinc3|Jinc4|Jinc8
- +// lumaUpAntiRinging, activate anti-ringing filter for luma upsampling, boolean
- +// lumaUpLinear, upscale luma in linear light, boolean
- +// lumaDown, image downscaling
- +// lumaDown, image downscaling, string, Nearest Neighbor|Bilinear|Dxva|Mitchell-Netravali|Catmull-Rom|Bicubic50|Bicubic60|Bicubic75|Bicubic100|SoftCubic50|SoftCubic60|SoftCubic70|SoftCubic80|SoftCubic100|Lanczos3|Lanczos4|Lanczos8|Spline36|Spline64
- +// lumaDownAntiRinging, activate anti-ringing filter for luma downsampling, boolean
- +// lumaDownLinear, downscale luma in linear light, boolean
- +// rendering, rendering
- +// basicRendering, general settings
- +// managedUpload, use managed upload textures (XP only), boolean
- +// uploadInRenderThread, upload frames in render thread, boolean
- +// delayPlaybackStart2, delay playback start until render queue is full, boolean
- +// delaySeek, delay playback start after seeking, too, boolean
- +// enableOverlay, enable windowed overlay (Windows 7 and newer), boolean
- +// enableExclusive, enable automatic fullscreen exclusive mode, boolean
- +// disableAero, disable desktop composition (Vista and newer), boolean
- +// disableAeroCfg, disable desktop composition configuration, string, during exclusive - windowed mode switch|while madVR is in exclusive mode|while media player is in fullscreen mode|always
- +// splitNv12ViaOpenCL, use OpenCL to process DXVA NV12 surfaces (Intel, AMD), boolean
- +// separateDevice, use a separate device for presentation (Vista and newer), boolean
- +// useD3d11, use D3D11 for presentation, boolean
- +// dxvaDevice, use separate device for DXVA processing (Vista and newer), boolean
- +// cpuQueueSize, CPU queue size, integer, 4..32
- +// gpuQueueSize, GPU queue size, integer, 4..24
- +// windowedTweaks, windowed mode settings
- +// backbufferCount, no of backbuffers, integer, 1..8
- +// flushAfterRenderSteps, after render steps, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterLastStep, after last step, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterBackbuffer, after backbuffer, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterPresent, after present, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// exclusiveSettings, exclusive mode settings
- +// enableSeekbar, show seek bar, boolean
- +// exclusiveDelay, delay switch to exclusive mode by 3 seconds, boolean
- +// oldExclusivePath, use old rendering path, boolean
- +// presentThread, run presentation in a separate thread, boolean
- +// avoidGlitches, limit rendering times to avoid glitches, boolean
- +// overshootMaxLatency, overshoot max frame latency (Vista and newer), boolean
- +// preRenderFrames, no of pre-presented frames, integer, 1..16
- +// backbufferCountExcl, no of backbuffers, integer, 1..8
- +// flushAfterRenderStepsExcl, after render steps, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterLastStepExcl, after last step, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterBackbufferExcl, after backbuffer, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// flushAfterPresentExcl, after present, string, don''t flush|flush|flush & wait (sleep)|flush & wait (loop)
- +// smoothMotion, smooth motion
- +// smoothMotionEnabled, enable smooth motion frame rate conversion, boolean
- +// smoothMotionMode, smooth motion mode, string, avoidJudder|almostAlways|always
- +// tradeQuality, trade quality for performance
- +// fastSubtitles, optimize subtitles for performance instead of quality, boolean
- +// customShaders16f, store custom pixel shader results in 16bit buffer instead of 32bit, boolean
- +// noErrorDif, use random dithering instead of OpenCL error diffusion, boolean
- +// noGradientAngles, don't analyze gradient angles for debanding, boolean
- +// dontRerenderFades, don't rerender frames when fade in/out is detected, boolean
- +// noDeintCopyback, don't use "copyback" for DXVA deinterlacing, boolean
- +// noDecodeCopyback, don't use "copyback" for DXVA decoding, boolean
- +// gammaBlending, don't use linear light for smooth motion frame blending, boolean
- +// 10bitChroma, use 10bit chroma buffer instead of 16bit, boolean
- +// 10bitLuma, use 10bit image buffer instead of 16bit, boolean
- +// customShadersTv, run custom pixel shaders in video levels instead of PC levels, boolean
- +// 3dlutLowerBitdepth, use lower bitdepth for yCMS 3dlut calibration, boolean
- +// 3dlutBitdepth, 3dlut bitdepth, integer, 6..7
- +// halfDxvaDeintFramerate, use half frame rate for DXVA deinterlacing, boolean
- +// dontDither, don't use dithering, boolean
- +// ui, user interface
- +// keys, keyboard shortcuts
- +// keysOnlyIfFocused, use only if media player has keyboard focus, boolean
- +// keyDebugOsd, debug OSD - toggle on/off, string
- +// keyResetStats, debug OSD - reset statistics, string
- +// keyFreezeReport, create freeze report, string
- +// keyOutputLevels, output levels - toggle, string
- +// keySourceLevels, source levels - toggle, string
- +// keySourceBlackInc, source black level - increase, string
- +// keySourceBlackDec, source black level - decrease, string
- +// keySourceWhiteInc, source white level - increase, string
- +// keySourceWhiteDec, source white level - decrease, string
- +// keySourceBrightnessInc, source brightness - increase, string
- +// keySourceBrightnessDec, source brightness - decrease, string
- +// keySourceContrastInc, source contrast - increase, string
- +// keySourceContrastDec, source contrast - decrease, string
- +// keySourceSaturationInc, source saturation - increase, string
- +// keySourceSaturationDec, source saturation - decrease, string
- +// keySourceHueInc, source hue - increase, string
- +// keySourceHueDec, source hue - decrease, string
- +// keySourceColorControlReset, source color control - reset, string
- +// keyMatrix, source decoding matrix - toggle, string
- +// keyPrimaries, source primaries - toggle, string
- +// keyPrimariesEbu, source primaries - set to "EBU/PAL", string
- +// keyPrimaries709, source primaries - set to "BT.709", string
- +// keyPrimariesSmpteC, source primaries - set to "SMPTE C", string
- +// keyPrimaries2020, source primaries - set to "BT.2020", string
- +// keyPrimariesDci, source primaries - set to "DCI-P3", string
- +// keyDeint, deinterlacing - toggle, string
- +// keyDeintFieldOrder, deinterlacing field order - toggle, string
- +// keyDeintContentType, deinterlacing content type - toggle, string
- +// keyDeintContentTypeFilm, deinterlacing content type - set to "film", string
- +// keyDeintContentTypeVideo, deinterlacing content type - set to "video", string
- +// keyDeintContentTypeAuto, deinterlacing content type - set to "auto detect", string
- +// keyDeband, debanding - toggle, string
- +// keyDebandCustom, debanding custom settings - toggle, string
- +// keyDesiredGammaCurve, desired display gamma curve - toggle, string
- +// keyDesiredGammaValueInc, desired display gamma value - increase, string
- +// keyDesiredGammaValueDec, desired display gamma value - decrease, string
- +// keyFseEnable, automatic fullscreen exclusive mode - enable, string
- +// keyFseDisable, automatic fullscreen exclusive mode - disable, string
- +// keyFseDisable10, automatic fullscreen exclusive mode - disable for 10 seconds, string
- +// keyEnableSmoothMotion, enable smooth motion frame rate conversion, string
- +// keyDisableSmoothMotion, disable smooth motion frame rate conversion, string
- +// keyChromaAlgo, chroma upscaling algorithm - toggle, string
- +// keyChromaAlgoNearest, chroma upscaling algorithm - set to "Nearest Neighbor", string
- +// keyChromaAlgoBilinear, chroma upscaling algorithm - set to "Bilinear", string
- +// keyChromaAlgoMitchell, chroma upscaling algorithm - set to "Mitchell-Netravali", string
- +// keyChromaAlgoCatmull, chroma upscaling algorithm - set to "Catmull-Rom", string
- +// keyChromaAlgoBicubic, chroma upscaling algorithm - set to "Bicubic", string
- +// keyChromaAlgoSoftCubic, chroma upscaling algorithm - set to "SoftCubic", string
- +// keyChromaAlgoLanczos, chroma upscaling algorithm - set to "Lanczos", string
- +// keyChromaAlgoSpline, chroma upscaling algorithm - set to "Spline", string
- +// keyChromaAlgoJinc, chroma upscaling algorithm - set to "Jinc", string
- +// keyChromaAlgoParamInc, chroma upscaling algorithm parameter - increase, string
- +// keyChromaAlgoParamDec, chroma upscaling algorithm parameter - decrease, string
- +// keyChromaAntiRing, chroma upscaling anti-ringing filter - toggle on/off, string
- +// keyImageUpAlgo, image upscaling algorithm - toggle, string
- +// keyImageUpAlgoNearest, image upscaling algorithm - set to "Nearest Neighbor", string
- +// keyImageUpAlgoBilinear, image upscaling algorithm - set to "Bilinear", string
- +// keyImageUpAlgoDxva, image upscaling algorithm - set to "DXVA2", string
- +// keyImageUpAlgoMitchell, image upscaling algorithm - set to "Mitchell-Netravali", string
- +// keyImageUpAlgoCatmull, image upscaling algorithm - set to "Catmull-Rom", string
- +// keyImageUpAlgoBicubic, image upscaling algorithm - set to "Bicubic", string
- +// keyImageUpAlgoSoftCubic, image upscaling algorithm - set to "SoftCubic", string
- +// keyImageUpAlgoLanczos, image upscaling algorithm - set to "Lanczos", string
- +// keyImageUpAlgoSpline, image upscaling algorithm - set to "Spline", string
- +// keyImageUpAlgoJinc, image upscaling algorithm - set to "Jinc", string
- +// keyImageUpAlgoParamInc, image upscaling algorithm parameter - increase, string
- +// keyImageUpAlgoParamDec, image upscaling algorithm parameter - decrease, string
- +// keyImageUpAntiRing, image upscaling anti-ringing filter - toggle on/off, string
- +// keyImageUpLinear, image upscaling in linear light - toggle on/off, string
- +// keyImageDownAlgo, image downscaling algorithm - toggle, string
- +// keyImageDownAlgoNearest, image downscaling algorithm - set to "Nearest Neighbor", string
- +// keyImageDownAlgoBilinear, image downscaling algorithm - set to "Bilinear", string
- +// keyImageDownAlgoDxva, image downscaling algorithm - set to "DXVA2", string
- +// keyImageDownAlgoMitchell, image downscaling algorithm - set to "Mitchell-Netravali", string
- +// keyImageDownAlgoCatmull, image downscaling algorithm - set to "Catmull-Rom", string
- +// keyImageDownAlgoBicubic, image downscaling algorithm - set to "Bicubic", string
- +// keyImageDownAlgoSoftCubic, image downscaling algorithm - set to "SoftCubic", string
- +// keyImageDownAlgoLanczos, image downscaling algorithm - set to "Lanczos", string
- +// keyImageDownAlgoSpline, image downscaling algorithm - set to "Spline", string
- +// keyImageDownAlgoParamInc, image downscaling algorithm parameter - increase, string
- +// keyImageDownAlgoParamDec, image downscaling algorithm parameter - decrease, string
- +// keyImageDownAntiRing, image downscaling anti-ringing filter - toggle on/off, string
- +// keyImageDownLinear, image downscaling in linear light - toggle on/off, string
- +// keyDisplayModeChanger, display mode switcher - toggle on/off, string
- +// keyDisplayBitdepth, display bitdepth - toggle, string
- +// keyDithering, dithering - toggle on/off, string
- +// keyErrorDif, error diffusion - toggle on/off, string
- +
- +// profile settings: id, name, type, valid values
- +// ----------------------------------------------
- +// Profile Group 1
- +// keyToggleProfiles, keyboard shortcut to toggle profiles, string
- +// autoselectRules, profile auto select rules, string
- +// Profile 1
- +// keyActivateProfile, keyboard shortcut to activate this profile, string
- +// activateCmdline, command line to execute when this profile is activated, string
- +// deactivateCmdline, command line to execute when this profile is deactivated, string
- +
- +// ---------------------------------------------------------------------------
- +// ISubRender
- +// ---------------------------------------------------------------------------
- +
- +// the "ISubRender" interface is used by the internal subtitle rendering
- +// engine in MPC-HC and PotPlayer for communication with madVR and with the
- +// Haali Video Renderer
- +
- +interface ISubRenderCallback; // forward
- +#if defined(HAS_DS_PLAYER)
- +#else
- +// interface exported by madVR
- +[uuid("9CC7F9F7-3ED1-493c-AF65-527EA1D9947F")]
- +interface ISubRender : public IUnknown
- +{
- + STDMETHOD(SetCallback)(ISubRenderCallback *callback) = 0;
- +};
- +
- +// callback interfaces can provide madVR with
- +[uuid("CD6D2AA5-20D3-4ebe-A8A9-34D3B00CC253")]
- +interface ISubRenderCallback : public IUnknown
- +{
- + STDMETHOD(SetDevice)(IDirect3DDevice9 *device) = 0;
- + STDMETHOD(Render)(REFERENCE_TIME frameStart, int left, int top, int right, int bottom, int width, int height) = 0;
- +};
- +[uuid("E602585E-C05A-4828-AC69-AF92997F2E0C")]
- +interface ISubRenderCallback2 : public ISubRenderCallback
- +{
- + STDMETHOD(RenderEx)(REFERENCE_TIME frameStart, REFERENCE_TIME frameStop, REFERENCE_TIME avgTimePerFrame, int left, int top, int right, int bottom, int width, int height) = 0;
- +};
- +#endif
- +// ---------------------------------------------------------------------------
- +// IMadVRExclusiveModeInfo (obsolete)
- +// ---------------------------------------------------------------------------
- +
- +// CAUTION: This interface is obsolete. Use IMadVRInfo instead:
- +// IMadVRInfo::InfoGetBoolean("ExclusiveModeActive")
- +// IMadVRInfo::InfoGetBoolean("MadVRSeekbarEnabled")
- +
- +// this interface allows you to ask...
- +// ... whether madVR is currently in exclusive mode
- +// ... whether the madVR exclusive mode seek bar is currently enabled
- +
- +// If madVR is in fullscreen exclusive mode, you should be careful with
- +// which GUI you show, because showing any window based GUI will make madVR
- +// automatically switch back to windowed mode. That's ok if that's what you
- +// really want, just be aware of that. A good alternative is to use the
- +// graphical or text base OSD interfaces (see above). Using them instead of
- +// a window based GUI means that madVR can stay in exclusive mode all the
- +// time.
- +
- +// Since madVR has its own seek bar (which is only shown in fullscreen
- +// exclusive mode, though), before showing your own seek bar you should
- +// check whether madVR is in fullscreen exclusive mode and whether the
- +// user has enabled madVR's own seek bar. If so, you should probably not
- +// show your own seek bar. If the user, however, has the madVR seek bar
- +// disabled, you should still show your own seek bar, because otherwise
- +// the user will have no way to seek at all.
- +
- +[uuid("D6EE8031-214E-4E9E-A3A7-458925F933AB")]
- +interface IMadVRExclusiveModeInfo : public IUnknown
- +{
- + STDMETHOD_(BOOL, IsExclusiveModeActive)(void) = 0;
- + STDMETHOD_(BOOL, IsMadVRSeekbarEnabled)(void) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +// IMadVRRefreshRateInfo (obsolete)
- +// ---------------------------------------------------------------------------
- +
- +// CAUTION: This interface is obsolete. Use IMadVRInfo instead:
- +// IMadVRInfo::InfoGetDouble("RefreshRate")
- +
- +// this interface allows you to ask madVR about the detected refresh rate
- +
- +[uuid("3F6580E8-8DE9-48D0-8E4E-1F26FE02413E")]
- +interface IMadVRRefreshRateInfo : public IUnknown
- +{
- + STDMETHOD(GetRefreshRate)(double *refreshRate) = 0;
- +};
- +
- +// ---------------------------------------------------------------------------
- +
- +#endif // __mvrInterfaces__
- diff --git a/xbmc/cores/DSPlayer/GraphFilters.cpp b/xbmc/cores/DSPlayer/GraphFilters.cpp
- index e3079d1..5ddf216 100644
- --- a/xbmc/cores/DSPlayer/GraphFilters.cpp
- +++ b/xbmc/cores/DSPlayer/GraphFilters.cpp
- @@ -31,6 +31,7 @@ CGraphFilters *CGraphFilters::m_pSingleton = NULL;
- CGraphFilters::CGraphFilters():
- m_isDVD(false), m_UsingDXVADecoder(false), m_CurrentRenderer(DIRECTSHOW_RENDERER_UNDEF)
- {
- + m_pMadvr = NULL;
- }
- CGraphFilters::~CGraphFilters()
- @@ -42,4 +43,11 @@ CGraphFilters* CGraphFilters::Get()
- return (m_pSingleton) ? m_pSingleton : (m_pSingleton = new CGraphFilters());
- }
- +bool CGraphFilters::UsingMadVr()
- +{
- + if (m_pMadvr == NULL)
- + return false;
- + return true;
- +
- +}
- #endif
- \ No newline at end of file
- diff --git a/xbmc/cores/DSPlayer/GraphFilters.h b/xbmc/cores/DSPlayer/GraphFilters.h
- index 7f6c17d..d7b19b6 100644
- --- a/xbmc/cores/DSPlayer/GraphFilters.h
- +++ b/xbmc/cores/DSPlayer/GraphFilters.h
- @@ -29,6 +29,7 @@
- #include "DSUtil/DSUtil.h"
- #include "DSUtil/SmartPtr.h"
- +#include "IPaintCallback.h"
- #include "streams.h"
- #include "utils/CharsetConverter.h"
- #include "system.h"
- @@ -109,7 +110,8 @@ enum DIRECTSHOW_RENDERER
- {
- DIRECTSHOW_RENDERER_VMR9 = 1,
- DIRECTSHOW_RENDERER_EVR = 2,
- - DIRECTSHOW_RENDERER_UNDEF = 3
- + DIRECTSHOW_RENDERER_MADVR = 3,
- + DIRECTSHOW_RENDERER_UNDEF = 4
- };
- /** @brief Centralize graph filters management
- @@ -154,6 +156,9 @@ public:
- /// @return The current renderer type (EVR or VMR9)
- DIRECTSHOW_RENDERER GetCurrentRenderer() { return m_CurrentRenderer; }
- + IPaintCallbackMadvr* GetMadvrCallback() { return m_pMadvr;}
- +
- +
- /// @return True if using DXVA, false otherwise
- bool IsUsingDXVADecoder() { return m_UsingDXVADecoder; }
- @@ -163,13 +168,15 @@ public:
- void SetIsUsingDXVADecoder(bool val) { m_UsingDXVADecoder = val; }
- void SetIsDVD(bool val) { m_isDVD = val; }
- void SetCurrentRenderer(DIRECTSHOW_RENDERER renderer) { m_CurrentRenderer = renderer; }
- -
- + void SetMadVrCallback(IPaintCallbackMadvr* pMadvr) { m_pMadvr = pMadvr;}
- + bool UsingMadVr();
- +
- private:
- CGraphFilters();
- ~CGraphFilters();
- static CGraphFilters* m_pSingleton;
- -
- + IPaintCallbackMadvr* m_pMadvr;
- bool m_isDVD;
- bool m_UsingDXVADecoder;
- DIRECTSHOW_RENDERER m_CurrentRenderer;
- diff --git a/xbmc/cores/DSPlayer/IPaintCallback.h b/xbmc/cores/DSPlayer/IPaintCallback.h
- index 3dcf651..dfad11d 100644
- --- a/xbmc/cores/DSPlayer/IPaintCallback.h
- +++ b/xbmc/cores/DSPlayer/IPaintCallback.h
- @@ -24,7 +24,7 @@
- #ifndef HAS_DS_PLAYER
- #error DSPlayer's header file included without HAS_DS_PLAYER defined
- #endif
- -
- +#include "guilib/Geometry.h"
- class IPaintCallback
- {
- public:
- @@ -34,3 +34,11 @@ public:
- virtual void OnAfterPresent() = 0;
- };
- +class IPaintCallbackMadvr
- +{
- +public:
- + virtual ~IPaintCallbackMadvr() {};
- +
- + virtual bool IsReady() = 0;
- + virtual bool StartBack() = 0;
- +};
- \ No newline at end of file
- diff --git a/xbmc/cores/DSPlayer/moreuuids.h b/xbmc/cores/DSPlayer/moreuuids.h
- index 3bcf640..5092d61 100644
- --- a/xbmc/cores/DSPlayer/moreuuids.h
- +++ b/xbmc/cores/DSPlayer/moreuuids.h
- @@ -395,8 +395,9 @@ DEFINE_GUID(MEDIASUBTYPE_PS2_SUB,
- DEFINE_GUID(CLSID_DXR,
- 0x760a8f35, 0x97e7, 0x479d, 0xaa, 0xf5, 0xda, 0x9e, 0xff, 0x95, 0xd7, 0x51);
- -DEFINE_GUID(CLSID_madVR,
- - 0xe1a8b82a, 0x32ce, 0x4b0d, 0xbe, 0x0d, 0xaa, 0x68, 0xc7, 0x72, 0xe4, 0x23);
- +/* already defined in mvrinterfaces.h
- +DEFINE_GUID(CLSID_madVR, 0xe1a8b82a, 0x32ce, 0x4b0d, 0xbe, 0x0d, 0xaa, 0x68, 0xc7, 0x72, 0xe4, 0x23);
- +*/
- //
- // Ogg
- diff --git a/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp b/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
- index fcc779d..6dc8c65 100644
- --- a/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
- +++ b/xbmc/cores/playercorefactory/PlayerCoreFactory.cpp
- @@ -89,10 +89,19 @@ IPlayer* CPlayerCoreFactory::CreatePlayer(const CStdString& strCore, IPlayerCall
- IPlayer* CPlayerCoreFactory::CreatePlayer(const PLAYERCOREID eCore, IPlayerCallback& callback) const
- {
- CSingleLock lock(m_section);
- +
- + for (int i = 0 ; i < m_vecCoreConfigs.size();i++)
- + {
- + if (m_vecCoreConfigs[i]->GetType() == eCore)
- + return m_vecCoreConfigs[i]->CreatePlayer(callback);
- + }
- + return NULL;
- + /*dont know why this crap dont work for me
- if (m_vecCoreConfigs.empty() || eCore-1 > m_vecCoreConfigs.size()-1)
- return NULL;
- -
- +
- return m_vecCoreConfigs[eCore-1]->CreatePlayer(callback);
- + */
- }
- PLAYERCOREID CPlayerCoreFactory::GetPlayerCore(const CStdString& strCoreName) const
- @@ -362,6 +371,9 @@ bool CPlayerCoreFactory::LoadConfiguration(const std::string &file, bool clear)
- CPlayerCoreConfig* dsplayer = new CPlayerCoreConfig("DSPlayer", EPC_DSPLAYER, NULL);
- dsplayer->m_bPlaysAudio = dsplayer->m_bPlaysVideo = true;
- m_vecCoreConfigs.push_back(dsplayer);
- + /*added those to fix the problem with the id of the player*/
- + m_vecCoreConfigs.push_back(dsplayer);
- + m_vecCoreConfigs.push_back(dsplayer);
- #endif
- for(std::vector<CPlayerSelectionRule *>::iterator it = m_vecCoreSelectionRules.begin(); it != m_vecCoreSelectionRules.end(); ++it)
- delete *it;
- diff --git a/xbmc/rendering/dx/RenderSystemDX.cpp b/xbmc/rendering/dx/RenderSystemDX.cpp
- index 83097d9..e6b301a 100644
- --- a/xbmc/rendering/dx/RenderSystemDX.cpp
- +++ b/xbmc/rendering/dx/RenderSystemDX.cpp
- @@ -41,6 +41,7 @@
- #include "Util.h"
- #include "win32/WIN32Util.h"
- #include "video/VideoReferenceClock.h"
- +#include "cores/DSPlayer/GraphFilters.h"
- #if (D3DX_SDK_VERSION >= 42) //aug 2009 sdk and up use dxerr
- #include <Dxerr.h>
- #else
- @@ -777,7 +778,13 @@ bool CRenderSystemDX::ClearBuffers(color_t color)
- if (!m_bRenderCreated)
- return false;
- - if( FAILED( hr = m_pD3DDevice->Clear(
- + /*MADVR*/
- + if ((CGraphFilters::Get()->GetCurrentRenderer() == DIRECTSHOW_RENDERER_MADVR)&&(CGraphFilters::Get()->GetMadvrCallback() != NULL))
- + {
- + }
- + else
- + {
- + if( FAILED( hr = m_pD3DDevice->Clear(
- 0,
- NULL,
- D3DCLEAR_TARGET,
- @@ -785,6 +792,9 @@ bool CRenderSystemDX::ClearBuffers(color_t color)
- 1.0,
- 0 ) ) )
- return false;
- + }
- +
- +
- return true;
- }
- diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp
- index 5ec0d1c..611d459 100644
- --- a/xbmc/settings/GUISettings.cpp
- +++ b/xbmc/settings/GUISettings.cpp
- @@ -875,8 +875,8 @@ void CGUISettings::Initialize()
- AddBool(dsp, "dsplayer.forcenondefaultrenderer", g_sysinfo.IsVistaOrHigher() ? 55001 : 55002 , false);
- AddString(dsp, "dsplayer.audiorenderer", 55003, "Default", SPIN_CONTROL_TEXT);
- AddSeparator(dsp, "dsplayer.sep1");
- -
- - AddBool(dsp, "dsplayer.autofiltersettings", 55021, true);
- + /*i prefer windows merit to default off*/
- + AddBool(dsp, "dsplayer.autofiltersettings", 55021, false);
- AddBool(dsp, "dsplayer.bdautoloadindex", 55030, true);
- AddBool(dsp, "dsplayer.showbdtitlechoice", 55032, true);
- AddInt(dsp, "dsplayer.mintitlelength", 55022, 30, 0, 1, 300, SPIN_CONTROL_INT);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement