Commit 29f831065da9481aa9bdc98d432b8eb02a4c5fa9
Committed by
GitHub
1 parent
7ee07254
Exists in
master
MOD: Publish events when pedal connected, disconnected, or state changed (#330)
Showing
1 changed file
with
9 additions
and
1 deletions
Show diff stats
invesalius/net/pedal_connection.py
... | ... | @@ -22,6 +22,7 @@ from threading import Thread |
22 | 22 | |
23 | 23 | import mido |
24 | 24 | |
25 | +from invesalius.pubsub import pub as Publisher | |
25 | 26 | from invesalius.utils import Singleton |
26 | 27 | |
27 | 28 | class PedalConnection(Thread, metaclass=Singleton): |
... | ... | @@ -50,6 +51,8 @@ class PedalConnection(Thread, metaclass=Singleton): |
50 | 51 | if not self._callbacks: |
51 | 52 | print("Pedal pressed, no callbacks registered") |
52 | 53 | else: |
54 | + Publisher.sendMessage('Pedal state changed', state=True) | |
55 | + | |
53 | 56 | for callback in self._callbacks.values(): |
54 | 57 | callback(True) |
55 | 58 | |
... | ... | @@ -57,9 +60,10 @@ class PedalConnection(Thread, metaclass=Singleton): |
57 | 60 | if not self._callbacks: |
58 | 61 | print("Pedal released, no callbacks registered") |
59 | 62 | else: |
63 | + Publisher.sendMessage('Pedal state changed', state=False) | |
64 | + | |
60 | 65 | for callback in self._callbacks.values(): |
61 | 66 | callback(False) |
62 | - | |
63 | 67 | else: |
64 | 68 | print("Unknown message type received from MIDI device") |
65 | 69 | |
... | ... | @@ -70,6 +74,8 @@ class PedalConnection(Thread, metaclass=Singleton): |
70 | 74 | self._midi_in._rt.ignore_types(False, False, False) |
71 | 75 | self._midi_in.callback = self._midi_to_pedal |
72 | 76 | |
77 | + Publisher.sendMessage('Pedal connection', state=True) | |
78 | + | |
73 | 79 | print("Connected to MIDI device") |
74 | 80 | |
75 | 81 | def _check_disconnected(self): |
... | ... | @@ -77,6 +83,8 @@ class PedalConnection(Thread, metaclass=Singleton): |
77 | 83 | if self._active_input not in self._midi_inputs: |
78 | 84 | self._midi_in = None |
79 | 85 | |
86 | + Publisher.sendMessage('Pedal connection', state=False) | |
87 | + | |
80 | 88 | print("Disconnected from MIDI device") |
81 | 89 | |
82 | 90 | def _update_midi_inputs(self): | ... | ... |