From 6bc4ce92d7cf416752b09f7a9afdb2b151e1bae3 Mon Sep 17 00:00:00 2001 From: Tristan Rowley Date: Sat, 7 Mar 2020 17:07:32 +0000 Subject: [PATCH] Revert the shader bank page to its previous configuration and add the modulation matrix page as a separate MOD_BANK --- data_centre/data.py | 1 + display_centre/display.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/data_centre/data.py b/data_centre/data.py index 3fe04a0..39a32d1 100644 --- a/data_centre/data.py +++ b/data_centre/data.py @@ -467,6 +467,7 @@ class Data(object): display_modes.append(["SHADERS",'NAV_SHADERS']) if self.settings['shader']['USE_SHADER_BANK']['value'] == 'enabled' and ["SHADERS",'NAV_SHADERS'] in display_modes: display_modes.append(["SHDR_BNK",'PLAY_SHADER']) + display_modes.append(["MOD_BNK","NAV_SHADERS"]) if self.settings['detour']['TRY_DEMO']['value'] == 'enabled': display_modes.append(["FRAMES",'NAV_DETOUR']) if self.settings['system'].setdefault('USE_PLUGINS', diff --git a/display_centre/display.py b/display_centre/display.py index ec3f36e..041f096 100644 --- a/display_centre/display.py +++ b/display_centre/display.py @@ -91,6 +91,8 @@ class Display(object): self._load_shaders() elif self.data.display_mode == 'SHDR_BNK': self._load_shader_bank() + elif self.data.display_mode == 'MOD_BNK': + self._load_modulation_bank() elif self.data.display_mode == 'FRAMES': self._load_detour() elif self.data.display_mode == 'PLUGINS': @@ -252,6 +254,37 @@ class Display(object): self.display_text.insert(END, 'x{}:{:02d}'.format(i, display_param)) self.display_text.insert(END, '\n') + for index, slot in enumerate(shader_bank_data): + name_without_extension = slot['name'].rsplit('.',1)[0] + self.display_text.insert(END, '{:^6} {:<17} {:<5} \n'.format(index, name_without_extension[0:17], slot['shad_type'])) + if index % 2: + self.display_text.tag_add("ZEBRA_STRIPE", self.ROW_OFFSET + index, + self.ROW_OFFSET + self.SELECTOR_WIDTH + index) + # highlight the slot of the selected player + current_slot = self.shaders.selected_shader_list[self.data.shader_layer].get('slot', None) + not_playing_tag = self.shaders.selected_status_list[self.data.shader_layer] != '▶' + if current_slot is not None: + self._highlight_this_row(current_slot, gray=not_playing_tag) + + self._highlight_this_param(self.shaders.focused_param) + + def _load_modulation_bank(self): + shader_bank_data = self.data.shader_bank_data[self.data.shader_layer] + + self.display_text.insert(END, '{} \n'.format(self.body_title)) + + self.display_text.insert(END, '{:>6} {:<11} {:<5} '.format( + '{}-layer'.format(self.data.shader_layer), 'name', 'type')) + + shader = self.shaders.selected_shader_list[self.data.shader_layer] + + for i in range(min(4,shader['param_number'])): + display_param = self.format_param_value(self.shaders.selected_param_list[self.data.shader_layer][i]) + if display_param == 100: + display_param == 99 + self.display_text.insert(END, 'x{}:{:02d}'.format(i, display_param)) + self.display_text.insert(END, '\n') + for index, slot in enumerate(shader_bank_data): name_without_extension = slot['name'].rsplit('.',1)[0] #self.display_text.insert(END, '{:^6} {:<17} {:<5} '.format(index, name_without_extension[0:17], slot['shad_type']))