From 347e4fd4f39f7db93e421f1a5a3984ce158a16b9 Mon Sep 17 00:00:00 2001 From: langolierz Date: Sun, 5 Jan 2020 12:25:02 +0000 Subject: [PATCH] adding to osc support --- json_objects/osc_action_mapping.json | 16 +++++++++++++ user_input/osc_input.py | 36 +++++++++++++++++++++------- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/json_objects/osc_action_mapping.json b/json_objects/osc_action_mapping.json index 836e46e..6fce19c 100644 --- a/json_objects/osc_action_mapping.json +++ b/json_objects/osc_action_mapping.json @@ -1,4 +1,20 @@ { + "/shaderparam0": { + "DEFAULT": ["set_the_shader_param_0_layer_offset_0_continuous"], + "NAV_DETOUR": ["set_detour_mix_continuous"] + }, + "/shaderparam1": { + "DEFAULT": ["set_the_shader_param_1_layer_offset_0_continuous"], + "NAV_DETOUR": ["set_detour_speed_position_continuous"] + }, + "/shaderparam2": { + "DEFAULT": ["set_the_shader_param_2_layer_offset_0_continuous"], + "NAV_DETOUR": ["set_detour_start_continuous"] + }, + "/shaderparam3": { + "DEFAULT": ["set_the_shader_param_3_layer_offset_0_continuous"], + "NAV_DETOUR": ["set_detour_end_continuous"] + }, "a": { "NAV_BROWSER": ["move_browser_selection_up"], "DEFAULT": ["seek_back_on_player", "decrease_seek_time"], diff --git a/user_input/osc_input.py b/user_input/osc_input.py index e87a8b7..5954ef8 100644 --- a/user_input/osc_input.py +++ b/user_input/osc_input.py @@ -27,7 +27,11 @@ class OscInput(object): server_args = server_parser.parse_args() this_dispatcher = dispatcher.Dispatcher() - this_dispatcher.map("/recurOsc", self.on_osc_input) + this_dispatcher.map("/keyboard/*", self.on_osc_input) + this_dispatcher.map("/shaderparam0", self.on_param_osc_input) + this_dispatcher.map("/shaderparam1", self.on_param_osc_input) + this_dispatcher.map("/shaderparam2", self.on_param_osc_input) + this_dispatcher.map("/shaderparam3", self.on_param_osc_input) this_dispatcher.map("/shutdown", self.exit_osc_server) server = osc_server.ThreadingOSCUDPServer((server_args.ip, server_args.port), this_dispatcher) @@ -38,16 +42,26 @@ class OscInput(object): def exit_osc_server(self, unused_addr, args): self.osc_server.shutdown() - def on_osc_input(self, unused_addr, args): + def on_osc_input(self, addr, args): + args = str(args) print("!!!!!!!!!!!!!!!!" + args) + print("the address", addr) + key = addr[-1] numpad = list(string.ascii_lowercase[0:19]) - if args in numpad: - self.run_action_for_osc_channel(args) + if key in numpad: + self.run_action_for_osc_channel(key) else: print('{} is not in keypad map'.format(args)) - def run_action_for_osc_channel(self, channel): + def on_param_osc_input(self, addr, args): + print("the address", addr) + + self.run_action_for_osc_channel(addr, param_value=args) + + + + def run_action_for_osc_channel(self, channel, param_value=None): this_mapping = self.osc_mappings[channel] if self.data.control_mode in this_mapping: mode = self.data.control_mode @@ -61,7 +75,13 @@ class OscInput(object): self.data.function_on = False else: print('the action being called is {}'.format(this_mapping[mode][0])) - getattr(self.actions, this_mapping[mode][0])() - - self.display.refresh_display() + + if param_value is not None: + getattr(self.actions, this_mapping[mode][0])(param_value) + else: + getattr(self.actions, this_mapping[mode][0])() + self.display.refresh_display() + + +