summaryrefslogtreecommitdiff
path: root/switcher.py
diff options
context:
space:
mode:
Diffstat (limited to 'switcher.py')
-rw-r--r--switcher.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/switcher.py b/switcher.py
index e4a7e1c..e14dbad 100644
--- a/switcher.py
+++ b/switcher.py
@@ -19,6 +19,7 @@ class PyATEMSwitcher:
self._connect_subscribers = []
self._connect_attempt_subscribers = []
self._disconnect_subscribers = []
+ self._receive_subscribers = []
self._validate_config()
@@ -34,6 +35,10 @@ class PyATEMSwitcher:
self.atem.atem.events.disconnect,
self._on_disconnect,
)
+ self.atem.registerEvent(
+ self.atem.atem.events.receive,
+ self._on_receive,
+ )
def _on_connect(self, params):
self.log.debug(f'_on_connect({repr(params)})')
@@ -51,6 +56,11 @@ class PyATEMSwitcher:
for callback in self._disconnect_subscribers:
callback(params['switcher'])
+ def _on_receive(self, params):
+ self.log.debug(f'_on_receive({repr(params)})')
+ for callback in self._receive_subscribers:
+ callback(params)
+
def _push_config(self):
conf = self.config.get('settings', {})
@@ -95,6 +105,9 @@ class PyATEMSwitcher:
def on_disconnect(self, callback):
self._disconnect_subscribers.append(callback)
+ def on_receive(self, callback):
+ self._receive_subscribers.append(callback)
+
def trans(self, input):
self.log.debug(f'hehehehe trans({repr(input)})')
self.atem.setProgramInputVideoSource(