diff --git a/examples/dsl/__main__.py b/examples/dsl/__main__.py index a737db3..3f5e699 100644 --- a/examples/dsl/__main__.py +++ b/examples/dsl/__main__.py @@ -63,16 +63,12 @@ def main(cmds=None): if res: print(res) else: - try: - while True: - cmd = input("please enter command (Return to exit)\n") - if not cmd: - break - res = parser.parse((cmd,)) - if res: - print(res) - except KeyboardInterrupt as e: - SystemExit(e) + while cmd := input("Please enter command (Press to exit)\n"): + if not cmd: + break + res = parser.parse((cmd,)) + if res: + print(res) if __name__ == "__main__": @@ -99,4 +95,4 @@ if __name__ == "__main__": ) # pass cmds to parse cmds, otherwise simply run main() to test stdin parsing - main(cmds) + main() diff --git a/examples/observer/__main__.py b/examples/observer/__main__.py index e706535..2481b64 100644 --- a/examples/observer/__main__.py +++ b/examples/observer/__main__.py @@ -14,13 +14,9 @@ def main(): obs = Observer(vm) vm.subject.add(obs) - try: - while True: - cmd = input("Press Return to exit\n") - if not cmd: - break - except KeyboardInterrupt as e: - SystemExit(e) + while cmd := input("Press to exit\n"): + if not cmd: + break if __name__ == "__main__": diff --git a/voicemeeterlib/base.py b/voicemeeterlib/base.py index 3c7762b..467f7d3 100644 --- a/voicemeeterlib/base.py +++ b/voicemeeterlib/base.py @@ -47,6 +47,8 @@ class Remote(CBindings): while self.running: if self.pdirty: self.subject.notify("pdirty") + if self.mdirty: + self.subject.notify("mdirty") if self.ldirty: self._strip_levels = self.strip_buf self._bus_levels = self.bus_buf