From 29f831065da9481aa9bdc98d432b8eb02a4c5fa9 Mon Sep 17 00:00:00 2001 From: okahilak Date: Mon, 30 Aug 2021 03:07:28 +0300 Subject: [PATCH] MOD: Publish events when pedal connected, disconnected, or state changed (#330) --- invesalius/net/pedal_connection.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/invesalius/net/pedal_connection.py b/invesalius/net/pedal_connection.py index 8ced40d..2801b74 100644 --- a/invesalius/net/pedal_connection.py +++ b/invesalius/net/pedal_connection.py @@ -22,6 +22,7 @@ from threading import Thread import mido +from invesalius.pubsub import pub as Publisher from invesalius.utils import Singleton class PedalConnection(Thread, metaclass=Singleton): @@ -50,6 +51,8 @@ class PedalConnection(Thread, metaclass=Singleton): if not self._callbacks: print("Pedal pressed, no callbacks registered") else: + Publisher.sendMessage('Pedal state changed', state=True) + for callback in self._callbacks.values(): callback(True) @@ -57,9 +60,10 @@ class PedalConnection(Thread, metaclass=Singleton): if not self._callbacks: print("Pedal released, no callbacks registered") else: + Publisher.sendMessage('Pedal state changed', state=False) + for callback in self._callbacks.values(): callback(False) - else: print("Unknown message type received from MIDI device") @@ -70,6 +74,8 @@ class PedalConnection(Thread, metaclass=Singleton): self._midi_in._rt.ignore_types(False, False, False) self._midi_in.callback = self._midi_to_pedal + Publisher.sendMessage('Pedal connection', state=True) + print("Connected to MIDI device") def _check_disconnected(self): @@ -77,6 +83,8 @@ class PedalConnection(Thread, metaclass=Singleton): if self._active_input not in self._midi_inputs: self._midi_in = None + Publisher.sendMessage('Pedal connection', state=False) + print("Disconnected from MIDI device") def _update_midi_inputs(self): -- libgit2 0.21.2