From 79a056a5c8578135e5c69cc9b4fa4fd7b7647abe Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Sun, 8 Oct 2023 03:53:47 +0100 Subject: [PATCH] adds projector methods with deprecation warning --- obsws_python/reqs.py | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/obsws_python/reqs.py b/obsws_python/reqs.py index 4321d29..5b585ae 100644 --- a/obsws_python/reqs.py +++ b/obsws_python/reqs.py @@ -1,4 +1,5 @@ import logging +from warnings import warn from .baseclient import ObsClient from .error import OBSSDKError, OBSSDKRequestError @@ -1938,3 +1939,55 @@ class ReqClient: """ return self.send("GetMonitorList") + + def open_video_mix_projector( + self, video_mix_type, monitor_index=-1, projector_geometry=None + ): + """ + Opens a projector for a specific output video mix. + + :param videoMixType: Type of mix to open + :type videoMixType: str + :param monitorIndex: Monitor index, use GetMonitorList to obtain index + :type action: int + :param projectorGeometry: Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with monitorIndex + :type projectorGeometry: str + + """ + warn( + "open_video_mix_projector request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.", + DeprecationWarning, + stacklevel=2, + ) + payload = { + "videoMixType": video_mix_type, + "monitorIndex": monitor_index, + "projectorGeometry": projector_geometry, + } + self.send("OpenVideoMixProjector", payload) + + def open_source_projector( + self, source_name, monitor_index=-1, projector_geometry=None + ): + """ + Opens a projector for a specific output video mix. + + :param sourceName: Name of the source to open a projector for + :type sourceName: str + :param monitorIndex: Monitor index, use GetMonitorList to obtain index + :type action: int + :param projectorGeometry: Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with monitorIndex + :type projectorGeometry: str + + """ + warn( + "open_source_projector request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.", + DeprecationWarning, + stacklevel=2, + ) + payload = { + "sourceName": source_name, + "monitorIndex": monitor_index, + "projectorGeometry": projector_geometry, + } + self.send("OpenSourceProjector", payload)