aboutsummaryrefslogtreecommitdiff
path: root/voctocore/lib/commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'voctocore/lib/commands.py')
-rw-r--r--voctocore/lib/commands.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/voctocore/lib/commands.py b/voctocore/lib/commands.py
index 10fb90c..21b8de8 100644
--- a/voctocore/lib/commands.py
+++ b/voctocore/lib/commands.py
@@ -119,6 +119,27 @@ class ControlServerCommands(object):
status = self._get_composite_status()
return NotifyResponse('composite_mode', status)
+ def set_videos_and_composite(self, src_a_name_or_id, src_b_name_or_id, mode_name_or_id):
+ if src_a_name_or_id != '*':
+ src_a_id = decodeName(self.sources, src_a_name_or_id)
+ self.pipeline.vmix.setVideoSourceA(src_a_id)
+
+ if src_b_name_or_id != '*':
+ src_b_id = decodeName(self.sources, src_b_name_or_id)
+ self.pipeline.vmix.setVideoSourceB(src_b_id)
+
+ if mode_name_or_id != '*':
+ mode = decodeEnumName(CompositeModes, mode_name_or_id)
+ self.pipeline.vmix.setCompositeMode(mode)
+
+ composite_status = self._get_composite_status()
+ video_status = self._get_video_status()
+
+ return [
+ NotifyResponse('composite_mode', composite_status),
+ NotifyResponse('video_status', *video_status)
+ ]
+
def _get_stream_status(self):
blankSource = self.pipeline.streamblanker.blankSource