mirror of
https://github.com/cyberboy666/r_e_c_u_r.git
synced 2025-12-05 16:00:06 +01:00
some fine tune shaders
This commit is contained in:
59
Shaders/1-input/hsv_control_fine.frag
Normal file
59
Shaders/1-input/hsv_control_fine.frag
Normal file
@@ -0,0 +1,59 @@
|
||||
//1-input
|
||||
#ifdef GL_ES
|
||||
precision mediump float;
|
||||
#endif
|
||||
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D u_tex0;
|
||||
uniform sampler2D u_tex1;
|
||||
uniform vec2 u_resolution;
|
||||
uniform float u_time;
|
||||
uniform float u_x0;
|
||||
uniform float u_x1;
|
||||
uniform float u_x2;
|
||||
uniform float u_x3;
|
||||
|
||||
vec3 rgb2grayscale(vec3 c)
|
||||
{
|
||||
return(vec3(dot(c, vec3(0.299, 0.587, 0.114))));
|
||||
}
|
||||
|
||||
vec3 rgb2hsv(vec3 c)
|
||||
{
|
||||
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
||||
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
|
||||
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
|
||||
|
||||
float d = q.x - min(q.w, q.y);
|
||||
float e = 1.0e-10;
|
||||
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
||||
}
|
||||
|
||||
vec3 hsv2rgb(vec3 c)
|
||||
{
|
||||
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
||||
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
||||
}
|
||||
|
||||
void main(){
|
||||
|
||||
vec2 pos = v_texcoord;
|
||||
vec4 color = texture2D(u_tex0, pos);
|
||||
|
||||
vec3 hsv = rgb2hsv(color.rgb);
|
||||
hsv.x += 0.1*u_x0 - 0.05;
|
||||
hsv.y += 0.1*u_x1 - 0.05;
|
||||
hsv.z += 0.1*u_x2 - 0.05;
|
||||
//hsv.x += -0.2;
|
||||
vec3 rgb = hsv2rgb(hsv.xyz);
|
||||
|
||||
|
||||
gl_FragColor = vec4(rgb, color.a);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
54
Shaders/1-input/rotate_fine.frag
Normal file
54
Shaders/1-input/rotate_fine.frag
Normal file
@@ -0,0 +1,54 @@
|
||||
//1-input
|
||||
#ifdef GL_ES
|
||||
precision mediump float;
|
||||
#endif
|
||||
|
||||
varying vec2 v_texcoord;
|
||||
uniform sampler2D u_tex0;
|
||||
uniform sampler2D u_tex1;
|
||||
uniform vec2 u_resolution;
|
||||
uniform float u_time;
|
||||
uniform float u_x0;
|
||||
uniform float u_x1;
|
||||
uniform float u_x2;
|
||||
uniform float u_x3;
|
||||
|
||||
vec4 rotate(sampler2D tex, vec2 pos){
|
||||
|
||||
vec4 texColourRotate;
|
||||
vec2 center;
|
||||
//center = vec2(u_x3 / u_resolution.x, u_x4 / u_resolution.y);
|
||||
center = vec2(0.45 + 0.1*u_x1,0.45 + 0.1*u_x2);
|
||||
|
||||
pos.x = (pos.x - center.x)*(0.5 / (0.45 + 0.1*u_x3)) + center.x;
|
||||
pos.y = (pos.y - center.y)*(0.5 / (0.45 + 0.1*u_x3)) + center.y;
|
||||
|
||||
float r = distance(center, pos);
|
||||
float a = atan(pos.x - center.x, pos.y - center.y);
|
||||
|
||||
pos.x = r * cos(a + 2.0 * 3.141592 * (0.2 + 0.1*u_x0)) + 0.5;
|
||||
pos.y = r * sin(a + 2.0 * 3.141592 * (0.2 + 0.1*u_x0)) + 0.5;
|
||||
pos.x = 1.0 - pos.x;
|
||||
if((pos.x < 0.0)||(pos.y < 0.0)||(pos.x > 1.0)||(pos.y > 1.0)){
|
||||
texColourRotate = vec4(0.0);
|
||||
}
|
||||
else{
|
||||
texColourRotate = texture2D(tex, pos);
|
||||
}
|
||||
return texColourRotate;
|
||||
}
|
||||
|
||||
void main(){
|
||||
|
||||
vec2 pos = v_texcoord;
|
||||
vec4 texColour0;
|
||||
texColour0 = rotate(u_tex0, v_texcoord);
|
||||
|
||||
gl_FragColor = texColour0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -273,9 +273,9 @@ class Actions(object):
|
||||
self.message_handler.set_message('INFO', 'cant mirror in dev mode')
|
||||
|
||||
def toggle_shaders(self):
|
||||
if self.shaders.selected_status == '▶':
|
||||
if self.shaders.selected_status_list[self.data.shader_layer] == '▶':
|
||||
self.shaders.stop_selected_shader()
|
||||
elif self.shaders.selected_status == '■':
|
||||
elif self.shaders.selected_status_list[self.data.shader_layer] == '■':
|
||||
self.shaders.start_selected_shader()
|
||||
else:
|
||||
self.message_handler.set_message('INFO', 'no shader loaded')
|
||||
|
||||
@@ -171,7 +171,7 @@ class Display(object):
|
||||
## showing current shader info:
|
||||
shader = self.shaders.selected_shader_list[self.data.shader_layer]
|
||||
self.display_text.insert(END, '{:<1}lay{:<1}:{:<2} {:<16} '.format \
|
||||
(self.data.shader_layer,self.shaders.selected_status,shader['shad_type'][0], \
|
||||
(self.data.shader_layer,self.shaders.selected_status_list[self.data.shader_layer],shader['shad_type'][0], \
|
||||
shader['name'].lstrip()[0:16] ))
|
||||
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])
|
||||
@@ -221,7 +221,7 @@ class Display(object):
|
||||
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 != '▶'
|
||||
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)
|
||||
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
"NAV_SHADERS": ["move_shaders_selection_up"],
|
||||
"LENGTH_SET": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["return_to_default_control_mode"],
|
||||
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"]
|
||||
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"],
|
||||
"PLAY_SHADER": ["decrease_this_param", "decrease_shader_param"]
|
||||
},
|
||||
"note_on 73": {
|
||||
"NAV_BROWSER": ["move_browser_selection_down"],
|
||||
@@ -58,17 +59,20 @@
|
||||
"NAV_SHADERS": ["move_shaders_selection_down"],
|
||||
"LENGTH_SET": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["return_to_default_control_mode"],
|
||||
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"]
|
||||
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"],
|
||||
"PLAY_SHADER": ["increase_this_param", "increase_shader_param"]
|
||||
|
||||
},
|
||||
"note_on 74": {
|
||||
"NAV_BROWSER": ["enter_on_browser_selection"],
|
||||
"DEFAULT": ["toggle_action_on_player","toggle_show_on_player"],
|
||||
"NAV_SETTINGS": ["enter_on_settings_selection"],
|
||||
"NAV_SHADERS": ["enter_on_shaders_selection"],
|
||||
"NAV_SHADERS": ["enter_on_shaders_selection", "map_on_shaders_selection"],
|
||||
"LENGTH_SET": ["record_fixed_length"],
|
||||
"SHADER_PARAM": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["perform_confirm_action"],
|
||||
"NAV_DETOUR": ["toggle_detour_play"]
|
||||
"NAV_DETOUR": ["toggle_detour_play"],
|
||||
"PLAY_SHADER": ["toggle_shaders", "toggle_shader_speed"]
|
||||
},
|
||||
"note_on 75": {
|
||||
"DEFAULT": ["switch_to_next_player", "toggle_player_mode"],
|
||||
@@ -77,11 +81,13 @@
|
||||
"note_on 76": {
|
||||
"DEFAULT": ["set_playing_sample_start_to_current_duration", "clear_playing_sample_start_time"],
|
||||
"SHADER_PARAM": ["decrease_param_focus"],
|
||||
"PLAY_SHADER": ["decrease_param_focus"],
|
||||
"NAV_DETOUR": ["decrease_mix_shader"]
|
||||
},
|
||||
"note_on 77": {
|
||||
"DEFAULT": ["set_playing_sample_end_to_current_duration", "clear_playing_sample_end_time"],
|
||||
"SHADER_PARAM": ["increase_param_focus"],
|
||||
"PLAY_SHADER": ["increase_param_focus"],
|
||||
"NAV_DETOUR": ["increase_mix_shader"]
|
||||
},
|
||||
"note_on 78": {
|
||||
@@ -94,46 +100,60 @@
|
||||
},
|
||||
"note_on 81": {
|
||||
"DEFAULT": ["load_slot_0_into_next_player","previous_bank"],
|
||||
"PLAY_SHADER": ["play_shader_0","previous_shader_layer"],
|
||||
"NAV_SHADERS": ["play_shader_0","previous_shader_layer"],
|
||||
"NAV_DETOUR": ["switch_to_detour_0", "set_the_detour_mix_0"]
|
||||
},
|
||||
"note_on 82": {
|
||||
"DEFAULT": ["load_slot_1_into_next_player","next_bank"],
|
||||
"PLAY_SHADER": ["play_shader_1","next_shader_layer"],
|
||||
"NAV_SHADERS": ["play_shader_1","next_shader_layer"],
|
||||
"NAV_DETOUR": ["switch_to_detour_1", "set_the_detour_mix_1"]
|
||||
},
|
||||
"note_on 83": {
|
||||
"DEFAULT": ["load_slot_2_into_next_player","clear_all_slots"],
|
||||
"PLAY_SHADER": ["play_shader_2","clear_shader_bank"],
|
||||
"NAV_SHADERS": ["play_shader_2","clear_shader_bank"],
|
||||
"NAV_DETOUR": ["switch_to_detour_2", "clear_this_detour"]
|
||||
},
|
||||
"note_on 84": {
|
||||
"DEFAULT": ["load_slot_3_into_next_player"],
|
||||
"PLAY_SHADER": ["play_shader_3"],
|
||||
"NAV_DETOUR": ["switch_to_detour_3"]
|
||||
},
|
||||
"note_on 85": {
|
||||
"DEFAULT": ["load_slot_4_into_next_player"]
|
||||
"DEFAULT": ["load_slot_4_into_next_player"],
|
||||
"PLAY_SHADER": ["play_shader_4"]
|
||||
},
|
||||
"note_on 86": {
|
||||
"DEFAULT": ["load_slot_5_into_next_player","toggle_screen_mirror"]
|
||||
"DEFAULT": ["load_slot_5_into_next_player","toggle_screen_mirror"],
|
||||
"PLAY_SHADER": ["play_shader_5", "toggle_screen_mirror"]
|
||||
},
|
||||
"note_on 87": {
|
||||
"DEFAULT": ["load_slot_6_into_next_player","toggle_shaders"]
|
||||
"DEFAULT": ["load_slot_6_into_next_player","toggle_shaders"],
|
||||
"PLAY_SHADER": ["play_shader_6","toggle_shaders"]
|
||||
},
|
||||
"note_on 88": {
|
||||
"DEFAULT": ["load_slot_7_into_next_player", "toggle_detour_mode"]
|
||||
"DEFAULT": ["load_slot_7_into_next_player", "toggle_detour_mode"],
|
||||
"PLAY_SHADER": ["play_shader_7","toggle_detour_mode"]
|
||||
},
|
||||
"note_on 89": {
|
||||
"DEFAULT": ["load_slot_8_into_next_player"]
|
||||
"DEFAULT": ["load_slot_8_into_next_player", "toggle_feedback"],
|
||||
"PLAY_SHADER": ["play_shader_8", "toggle_feedback"]
|
||||
},
|
||||
"note_on 90": {
|
||||
"DEFAULT": ["load_slot_9_into_next_player","confirm_shutdown"]
|
||||
},
|
||||
"note_on 36": {
|
||||
"DEFAULT": ["load_slot_9_into_next_player","confirm_shutdown"],
|
||||
"PLAY_SHADER": ["play_shader_9","confirm_shutdown"]
|
||||
},
|
||||
"note_on 36": {
|
||||
"NAV_BROWSER": ["move_browser_selection_up"],
|
||||
"DEFAULT": ["seek_back_on_player", "decrease_seek_time"],
|
||||
"NAV_SETTINGS": ["move_settings_selection_up"],
|
||||
"NAV_SHADERS": ["move_shaders_selection_up"],
|
||||
"LENGTH_SET": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["return_to_default_control_mode"],
|
||||
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"]
|
||||
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"],
|
||||
"PLAY_SHADER": ["decrease_this_param", "decrease_shader_param"]
|
||||
},
|
||||
"note_on 37": {
|
||||
"NAV_BROWSER": ["move_browser_selection_down"],
|
||||
@@ -142,17 +162,20 @@
|
||||
"NAV_SHADERS": ["move_shaders_selection_down"],
|
||||
"LENGTH_SET": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["return_to_default_control_mode"],
|
||||
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"]
|
||||
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"],
|
||||
"PLAY_SHADER": ["increase_this_param", "increase_shader_param"]
|
||||
|
||||
},
|
||||
"note_on 38": {
|
||||
"NAV_BROWSER": ["enter_on_browser_selection"],
|
||||
"DEFAULT": ["toggle_action_on_player","toggle_show_on_player"],
|
||||
"NAV_SETTINGS": ["enter_on_settings_selection"],
|
||||
"NAV_SHADERS": ["enter_on_shaders_selection"],
|
||||
"NAV_SHADERS": ["enter_on_shaders_selection", "map_on_shaders_selection"],
|
||||
"LENGTH_SET": ["record_fixed_length"],
|
||||
"SHADER_PARAM": ["return_to_default_control_mode"],
|
||||
"CONFIRM": ["perform_confirm_action"],
|
||||
"NAV_DETOUR": ["toggle_detour_play"]
|
||||
"NAV_DETOUR": ["toggle_detour_play"],
|
||||
"PLAY_SHADER": ["toggle_shaders", "toggle_shader_speed"]
|
||||
},
|
||||
"note_on 39": {
|
||||
"DEFAULT": ["switch_to_next_player", "toggle_player_mode"],
|
||||
@@ -161,54 +184,69 @@
|
||||
"note_on 40": {
|
||||
"DEFAULT": ["set_playing_sample_start_to_current_duration", "clear_playing_sample_start_time"],
|
||||
"SHADER_PARAM": ["decrease_param_focus"],
|
||||
"PLAY_SHADER": ["decrease_param_focus"],
|
||||
"NAV_DETOUR": ["decrease_mix_shader"]
|
||||
},
|
||||
"note_on 41": {
|
||||
"DEFAULT": ["set_playing_sample_end_to_current_duration", "clear_playing_sample_end_time"],
|
||||
"SHADER_PARAM": ["increase_param_focus"],
|
||||
"PLAY_SHADER": ["increase_param_focus"],
|
||||
"NAV_DETOUR": ["increase_mix_shader"]
|
||||
},
|
||||
"note_on 42": {
|
||||
"DEFAULT": ["toggle_capture_preview", "toggle_capture_recording"]},
|
||||
"note_on 79": {
|
||||
"note_on 43": {
|
||||
"DEFAULT": ["cycle_display_mode", "cycle_display_mode_back"]
|
||||
},
|
||||
"note_on 43": {
|
||||
"note_on 44": {
|
||||
"DEFAULT": ["toggle_function"]
|
||||
},
|
||||
"note_on 44": {
|
||||
"note_on 45": {
|
||||
"DEFAULT": ["load_slot_0_into_next_player","previous_bank"],
|
||||
"PLAY_SHADER": ["play_shader_0","previous_shader_layer"],
|
||||
"NAV_SHADERS": ["play_shader_0","previous_shader_layer"],
|
||||
"NAV_DETOUR": ["switch_to_detour_0", "set_the_detour_mix_0"]
|
||||
},
|
||||
"note_on 45": {
|
||||
"note_on 46": {
|
||||
"DEFAULT": ["load_slot_1_into_next_player","next_bank"],
|
||||
"PLAY_SHADER": ["play_shader_1","next_shader_layer"],
|
||||
"NAV_SHADERS": ["play_shader_1","next_shader_layer"],
|
||||
"NAV_DETOUR": ["switch_to_detour_1", "set_the_detour_mix_1"]
|
||||
},
|
||||
"note_on 46": {
|
||||
"note_on 47": {
|
||||
"DEFAULT": ["load_slot_2_into_next_player","clear_all_slots"],
|
||||
"PLAY_SHADER": ["play_shader_2","clear_shader_bank"],
|
||||
"NAV_SHADERS": ["play_shader_2","clear_shader_bank"],
|
||||
"NAV_DETOUR": ["switch_to_detour_2", "clear_this_detour"]
|
||||
},
|
||||
"note_on 47": {
|
||||
"note_on 48": {
|
||||
"DEFAULT": ["load_slot_3_into_next_player"],
|
||||
"PLAY_SHADER": ["play_shader_3"],
|
||||
"NAV_DETOUR": ["switch_to_detour_3"]
|
||||
},
|
||||
"note_on 48": {
|
||||
"DEFAULT": ["load_slot_4_into_next_player"]
|
||||
},
|
||||
"note_on 49": {
|
||||
"DEFAULT": ["load_slot_5_into_next_player","toggle_screen_mirror"]
|
||||
"DEFAULT": ["load_slot_4_into_next_player"],
|
||||
"PLAY_SHADER": ["play_shader_4"]
|
||||
},
|
||||
"note_on 50": {
|
||||
"DEFAULT": ["load_slot_6_into_next_player","toggle_shaders"]
|
||||
"DEFAULT": ["load_slot_5_into_next_player","toggle_screen_mirror"],
|
||||
"PLAY_SHADER": ["play_shader_5", "toggle_screen_mirror"]
|
||||
},
|
||||
"note_on 51": {
|
||||
"DEFAULT": ["load_slot_7_into_next_player", "toggle_detour_mode"]
|
||||
"DEFAULT": ["load_slot_6_into_next_player","toggle_shaders"],
|
||||
"PLAY_SHADER": ["play_shader_6","toggle_shaders"]
|
||||
},
|
||||
"note_on 52": {
|
||||
"DEFAULT": ["load_slot_8_into_next_player"]
|
||||
"DEFAULT": ["load_slot_7_into_next_player", "toggle_detour_mode"],
|
||||
"PLAY_SHADER": ["play_shader_7","toggle_detour_mode"]
|
||||
},
|
||||
"note_on 53": {
|
||||
"DEFAULT": ["load_slot_9_into_next_player","confirm_shutdown"]
|
||||
}
|
||||
"DEFAULT": ["load_slot_8_into_next_player", "toggle_feedback"],
|
||||
"PLAY_SHADER": ["play_shader_8", "toggle_feedback"]
|
||||
},
|
||||
"note_on 54": {
|
||||
"DEFAULT": ["load_slot_9_into_next_player","confirm_shutdown"],
|
||||
"PLAY_SHADER": ["play_shader_9","confirm_shutdown"]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,13 +69,15 @@
|
||||
"name": "hsv_control.frag",
|
||||
"param_number": 4,
|
||||
"path": "/home/pi/r_e_c_u_r/Shaders/1-input/hsv_control.frag",
|
||||
"shad_type": "-"
|
||||
"shad_type": "-",
|
||||
"slot": 0
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "hsv_control_fine.frag",
|
||||
"param_number": 4,
|
||||
"path": "",
|
||||
"shad_type": "-"
|
||||
"path": "/home/pi/r_e_c_u_r/Shaders/1-input/hsv_control_fine.frag",
|
||||
"shad_type": "-",
|
||||
"slot": 1
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
@@ -131,8 +133,7 @@
|
||||
"name": "wobble.frag",
|
||||
"param_number": 4,
|
||||
"path": "/home/pi/r_e_c_u_r/Shaders/1-input/wobble.frag",
|
||||
"shad_type": "-",
|
||||
"slot": 0
|
||||
"shad_type": "-"
|
||||
},
|
||||
{
|
||||
"name": "rotate.frag",
|
||||
@@ -141,9 +142,9 @@
|
||||
"shad_type": "-"
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"name": "rotate_fine.frag",
|
||||
"param_number": 4,
|
||||
"path": "",
|
||||
"path": "/home/pi/r_e_c_u_r/Shaders/1-input/rotate_fine.frag",
|
||||
"shad_type": "-"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ class Shaders(object):
|
||||
self.focused_param = 0
|
||||
self.shaders_menu_list = self.generate_shaders_list()
|
||||
|
||||
self.selected_status = '-' ## going to try using symbols for this : '-' means empty, '▶' means running, '■' means not running, '!' means error
|
||||
self.selected_status_list = ['-','-','-'] ## going to try using symbols for this : '-' means empty, '▶' means running, '■' means not running, '!' means error
|
||||
self.selected_param_list = [[0.0,0.0,0.0,0.0] for i in range(3)]
|
||||
self.selected_speed_list = [1.0, 1.0, 1.0]
|
||||
#self.load_selected_shader()
|
||||
@@ -71,19 +71,19 @@ class Shaders(object):
|
||||
|
||||
def load_selected_shader(self):
|
||||
selected_shader = self.selected_shader_list[self.data.shader_layer]
|
||||
self.selected_param_list[self.data.shader_layer] = [0.0,0.0,0.0,0.0]
|
||||
#self.selected_param_list[self.data.shader_layer] = [0.0,0.0,0.0,0.0]
|
||||
print("select shader: ", selected_shader)
|
||||
self.osc_client.send_message("/shader/{}/load".format(str(self.data.shader_layer)), [selected_shader['path'],selected_shader['shad_type'] == '2in',selected_shader['param_number']])
|
||||
if not self.selected_status == '▶':
|
||||
self.selected_status = '■'
|
||||
if not self.selected_status_list[self.data.shader_layer] == '▶':
|
||||
self.selected_status_list[self.data.shader_layer] = '■'
|
||||
|
||||
def start_selected_shader(self):
|
||||
self.osc_client.send_message("/shader/{}/is_active".format(str(self.data.shader_layer)), True)
|
||||
self.selected_status = '▶'
|
||||
self.selected_status_list[self.data.shader_layer] = '▶'
|
||||
|
||||
def stop_selected_shader(self):
|
||||
self.osc_client.send_message("/shader/{}/is_active".format(str(self.data.shader_layer)), False)
|
||||
self.selected_status = '■'
|
||||
self.selected_status_list[self.data.shader_layer] = '■'
|
||||
|
||||
def map_on_shaders_selection(self):
|
||||
index = self.shaders_menu.selected_list_index
|
||||
|
||||
Reference in New Issue
Block a user