diff options
Diffstat (limited to 'switcher.py')
| -rw-r--r-- | switcher.py | 13 |
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( |
