From d3c497c837e9e507aa4cbcb181804b525962980d Mon Sep 17 00:00:00 2001 From: Kevin Matz Date: Mon, 22 Oct 2018 17:58:13 -0400 Subject: [PATCH] multi-target keystroke macro support --- CommentMacro.g4 | 6 +++--- CommentMacroParser.py | 12 ++++++------ OscMacroDefinitions.py | 18 +++++++++--------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CommentMacro.g4 b/CommentMacro.g4 index cde9183..596078e 100644 --- a/CommentMacro.g4 +++ b/CommentMacro.g4 @@ -67,9 +67,9 @@ macro | 'CP' PREV (device)? // Prev Page | 'RV' number (device)? // Recall View | 'RN' device // Reset Node - | 'GK' number (device)? // Go Keystroke Macro - | 'HK' number (device)? // Halt Keystroke Macro - | 'RK' number (device)? // Stop Keystroke Macro + | 'GK' target (device)? // Go Keystroke Macro + | 'HK' target (device)? // Halt Keystroke Macro + | 'RK' target (device)? // Stop Keystroke Macro ; master : (target | CURRENT) ; diff --git a/CommentMacroParser.py b/CommentMacroParser.py index d7829c6..aa917e9 100644 --- a/CommentMacroParser.py +++ b/CommentMacroParser.py @@ -87,12 +87,12 @@ def serializedATN(): buf.write("\3\2\2\2\u00b7\u00b8\7\32\2\2\u00b8\u00ba\5\24\13\2\u00b9") buf.write("\u00bb\5\f\7\2\u00ba\u00b9\3\2\2\2\u00ba\u00bb\3\2\2\2") buf.write("\u00bb\u00ce\3\2\2\2\u00bc\u00bd\7\33\2\2\u00bd\u00ce") - buf.write("\5\f\7\2\u00be\u00bf\7\34\2\2\u00bf\u00c1\5\24\13\2\u00c0") + buf.write("\5\f\7\2\u00be\u00bf\7\34\2\2\u00bf\u00c1\5\20\t\2\u00c0") buf.write("\u00c2\5\f\7\2\u00c1\u00c0\3\2\2\2\u00c1\u00c2\3\2\2\2") buf.write("\u00c2\u00ce\3\2\2\2\u00c3\u00c4\7\35\2\2\u00c4\u00c6") - buf.write("\5\24\13\2\u00c5\u00c7\5\f\7\2\u00c6\u00c5\3\2\2\2\u00c6") + buf.write("\5\20\t\2\u00c5\u00c7\5\f\7\2\u00c6\u00c5\3\2\2\2\u00c6") buf.write("\u00c7\3\2\2\2\u00c7\u00ce\3\2\2\2\u00c8\u00c9\7\36\2") - buf.write("\2\u00c9\u00cb\5\24\13\2\u00ca\u00cc\5\f\7\2\u00cb\u00ca") + buf.write("\2\u00c9\u00cb\5\20\t\2\u00ca\u00cc\5\f\7\2\u00cb\u00ca") buf.write("\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd") buf.write("+\3\2\2\2\u00cd\60\3\2\2\2\u00cd\67\3\2\2\2\u00cd<\3\2") buf.write("\2\2\u00cdA\3\2\2\2\u00cdF\3\2\2\2\u00cdJ\3\2\2\2\u00cd") @@ -883,7 +883,7 @@ class CommentMacroParser ( Parser ): self.state = 188 self.match(CommentMacroParser.T__25) self.state = 189 - self.number() + self.target() self.state = 191 self._errHandler.sync(self) _la = self._input.LA(1) @@ -899,7 +899,7 @@ class CommentMacroParser ( Parser ): self.state = 193 self.match(CommentMacroParser.T__26) self.state = 194 - self.number() + self.target() self.state = 196 self._errHandler.sync(self) _la = self._input.LA(1) @@ -915,7 +915,7 @@ class CommentMacroParser ( Parser ): self.state = 198 self.match(CommentMacroParser.T__27) self.state = 199 - self.number() + self.target() self.state = 201 self._errHandler.sync(self) _la = self._input.LA(1) diff --git a/OscMacroDefinitions.py b/OscMacroDefinitions.py index 00c7fd4..353fc20 100644 --- a/OscMacroDefinitions.py +++ b/OscMacroDefinitions.py @@ -199,19 +199,19 @@ class HogDevice(): self.osc.send_message(ctx.device, "/hog/playback/release/1", i) def _macro_go(self, ctx): - i = ctx.number.value - logger.info("Go on Macro " + str(i)) - self.osc.send_message(ctx.device, "/hog/playback/go/2", i) + for i in ctx.targets: + logger.info("Go on Macro " + str(i)) + self.osc.send_message(ctx.device, "/hog/playback/go/2", i) def _macro_halt(self, ctx): - i = ctx.number.value - logger.info("Pause Macro " + str(i)) - self.osc.send_message(ctx.device, "/hog/playback/halt/2", i) + for i in ctx.targets: + logger.info("Pause Macro " + str(i)) + self.osc.send_message(ctx.device, "/hog/playback/halt/2", i) def _macro_release(self, ctx): - i = ctx.number.value - logger.info("Stop Macro " + str(i)) - self.osc.send_message(ctx.device, "/hog/playback/release/2", i) + for i in ctx.targets: + logger.info("Stop Macro " + str(i)) + self.osc.send_message(ctx.device, "/hog/playback/release/2", i) command = {"GM": _master_go, "HM": _master_halt,