mirror of
https://github.com/cyberboy666/r_e_c_u_r.git
synced 2025-12-05 16:00:06 +01:00
changing colours to the detour banner
This commit is contained in:
@@ -37,7 +37,7 @@ vec4 mixBlendAdd0(vec4 texColour0, vec4 texColour1) {
|
|||||||
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
||||||
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
||||||
|
|
||||||
if(u_x0 * hsvTexColour0.z < (1.0 - u_x0) * hsvTexColour1.x){colour = texColour1;}
|
if((1.0 - u_x0) * hsvTexColour0.z < u_x0 * hsvTexColour1.x){colour = texColour1;}
|
||||||
else {colour = texColour0;}
|
else {colour = texColour0;}
|
||||||
|
|
||||||
return colour;
|
return colour;
|
||||||
@@ -48,7 +48,7 @@ vec4 mixBlendAdd1(vec4 texColour0, vec4 texColour1) {
|
|||||||
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
||||||
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
||||||
|
|
||||||
if(u_x0 * hsvTexColour0.z < (1.0 - u_x0) * hsvTexColour1.x){colour = texColour1;}
|
if((1.0 - u_x0) * hsvTexColour0.z < u_x0 * hsvTexColour1.x){colour = texColour1;}
|
||||||
else {colour = texColour0;}
|
else {colour = texColour0;}
|
||||||
|
|
||||||
return colour;
|
return colour;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ uniform float u_x3;
|
|||||||
vec4 mixBlend(vec4 texColour0, vec4 texColour1) {
|
vec4 mixBlend(vec4 texColour0, vec4 texColour1) {
|
||||||
vec4 colour;
|
vec4 colour;
|
||||||
colour = texColour0;
|
colour = texColour0;
|
||||||
colour.xyz = u_x0 * texColour0.xyz + (1.0 - u_x0) * texColour1.xyz;
|
colour.xyz = (1.0 - u_x0) * texColour0.xyz + u_x0 * texColour1.xyz;
|
||||||
|
|
||||||
return colour;
|
return colour;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ vec4 mixLuma0(vec4 texColour0, vec4 texColour1) {
|
|||||||
vec4 colour;
|
vec4 colour;
|
||||||
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
||||||
|
|
||||||
if(hsvTexColour0.z > u_x0){colour = texColour0;}
|
if(hsvTexColour0.z < u_x0){colour = texColour0;}
|
||||||
else {colour = texColour1;}
|
else {colour = texColour1;}
|
||||||
return colour;
|
return colour;
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ vec4 mixLuma1(vec4 texColour0, vec4 texColour1) {
|
|||||||
vec4 colour;
|
vec4 colour;
|
||||||
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
||||||
|
|
||||||
if(hsvTexColour1.z > u_x0){colour = texColour1;}
|
if(hsvTexColour1.z < u_x0){colour = texColour1;}
|
||||||
else {colour = texColour0;}
|
else {colour = texColour0;}
|
||||||
return colour;
|
return colour;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
//pro-shader
|
|
||||||
//written by Tim Caldwell
|
|
||||||
//this is a basic example of how to effect input textures position
|
|
||||||
#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;
|
|
||||||
uniform float u_x4;
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixVeritcalWipe(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
|
|
||||||
if(v_texcoord.x > u_x0){colour = texColour0;}
|
|
||||||
else {colour = texColour1;}
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixHorizontalWipe(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
|
|
||||||
if(v_texcoord.y > u_x0){colour = texColour0;}
|
|
||||||
else {colour = texColour1;}
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixLuma0(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
|
||||||
|
|
||||||
if(hsvTexColour0.z > u_x0){colour = texColour0;}
|
|
||||||
else {colour = texColour1;}
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixLuma1(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
|
||||||
|
|
||||||
if(hsvTexColour1.z > u_x0){colour = texColour1;}
|
|
||||||
else {colour = texColour0;}
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixBlend(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
colour = texColour0;
|
|
||||||
colour.xyz = u_x0 * texColour0.xyz + (1.0 - u_x0) * texColour1.xyz;
|
|
||||||
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 mixBlendAdd(vec4 texColour0, vec4 texColour1) {
|
|
||||||
vec4 colour;
|
|
||||||
vec3 hsvTexColour0 = rgb2hsv(texColour0.rgb);
|
|
||||||
vec3 hsvTexColour1 = rgb2hsv(texColour1.rgb);
|
|
||||||
|
|
||||||
if(u_x0 * hsvTexColour0.z < (1.0 - u_x0) * hsvTexColour1.x){colour = texColour1;}
|
|
||||||
else {colour = texColour0;}
|
|
||||||
|
|
||||||
return colour;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 zoom(sampler2D tex, vec2 pos){
|
|
||||||
vec4 texColourZoom;
|
|
||||||
vec2 center;
|
|
||||||
//center = vec2(u_x3 / u_resolution.x, u_x4 / u_resolution.y);
|
|
||||||
center = vec2(u_x4, 0.5);
|
|
||||||
|
|
||||||
pos.x = (pos.x - center.x)*(0.5 / u_x3) + center.x;
|
|
||||||
pos.y = (pos.y - center.y)*(0.5 / u_x3) + center.y;
|
|
||||||
if((pos.x < 0.0)||(pos.y < 0.0)||(pos.x > 1.0)||(pos.y > 1.0)){
|
|
||||||
texColourZoom = vec4(0.0);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
texColourZoom = texture2D(tex, pos);
|
|
||||||
}
|
|
||||||
return texColourZoom;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* memory runs out when tryign this
|
|
||||||
vec4 rotate(sampler2D tex, vec2 pos){
|
|
||||||
|
|
||||||
vec4 texColourRotate;
|
|
||||||
vec2 center;
|
|
||||||
//center = vec2(u_x3 / u_resolution.x, u_x4 / u_resolution.y);
|
|
||||||
center = vec2(u_x4, 0.5);
|
|
||||||
|
|
||||||
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 * u_x3) + 0.5;
|
|
||||||
pos.y = r * sin(a + 2.0 * 3.141592 * u_x3) + 0.5;
|
|
||||||
|
|
||||||
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;
|
|
||||||
vec4 texColour1;
|
|
||||||
|
|
||||||
if(0.2 <= u_x2 && u_x2 <= 0.4 ) {
|
|
||||||
texColour0 = zoom(u_tex0, v_texcoord);
|
|
||||||
texColour1 = zoom(u_tex1, v_texcoord);
|
|
||||||
}
|
|
||||||
//else if(0.6 <= u_x2 && u_x2 <= 0.8 ) {
|
|
||||||
//texColour0 = rotate(u_tex0, v_texcoord);
|
|
||||||
//texColour1 = rotate(u_tex1, v_texcoord);
|
|
||||||
//}
|
|
||||||
else{
|
|
||||||
texColour0 = texture2D(u_tex0, v_texcoord);
|
|
||||||
texColour1 = texture2D(u_tex1, v_texcoord);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
vec4 colour;
|
|
||||||
|
|
||||||
if(0.0 <= u_x1 && u_x1 <= 0.2 ) {colour = mixVeritcalWipe(texColour0, texColour1);}
|
|
||||||
else if(0.2 <= u_x1 && u_x1 <= 0.4 ) {colour = mixLuma0(texColour0, texColour1);}
|
|
||||||
else if(0.4 <= u_x1 && u_x1 <= 0.6 ) {colour = mixLuma1(texColour0, texColour1);}
|
|
||||||
else if(0.6 <= u_x1 && u_x1 <= 0.8 ) {colour = mixBlend(texColour0, texColour1);}
|
|
||||||
else if(0.8 <= u_x1 && u_x1 <= 1.0 ) {colour = mixBlendAdd(texColour0, texColour1);}
|
|
||||||
|
|
||||||
|
|
||||||
//hue and satuation displacement
|
|
||||||
|
|
||||||
if(0.4 <= u_x2 && u_x2 <= 0.6 ) {
|
|
||||||
vec3 hsv = rgb2hsv(colour.rgb);
|
|
||||||
//hsv.x += u_x2 - 0.5;
|
|
||||||
hsv.y = 2.0*u_x3* hsv.y;
|
|
||||||
//hsv.z += u_x2 - 0.5;
|
|
||||||
hsv.x = 2.0*u_x4* hsv.x;
|
|
||||||
vec3 rgb = hsv2rgb(hsv.xyz);
|
|
||||||
colour = vec4(rgb, colour.a);
|
|
||||||
}
|
|
||||||
//---------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
gl_FragColor = colour;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -369,7 +369,7 @@ class Actions(object):
|
|||||||
self.data.detour_settings['detour_end'] = end
|
self.data.detour_settings['detour_end'] = end
|
||||||
self.data.detour_settings['detour_size'] = size
|
self.data.detour_settings['detour_size'] = size
|
||||||
self.data.detour_settings['detour_speed'] = round(speed, 2)
|
self.data.detour_settings['detour_speed'] = round(speed, 2)
|
||||||
#self.data.detour_settings['mix?'] = round(mix)
|
self.data.detour_settings['detour_mix'] = round(mix, 4)
|
||||||
self.data.detour_settings['memory_full'] = memory_full
|
self.data.detour_settings['memory_full'] = memory_full
|
||||||
|
|
||||||
def set_the_detour_mix_0(self):
|
def set_the_detour_mix_0(self):
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class Data(object):
|
|||||||
self.player_mode = 'now'
|
self.player_mode = 'now'
|
||||||
self.detour_active = False
|
self.detour_active = False
|
||||||
self.detour_mix_shaders = self.get_list_of_two_input_shaders()
|
self.detour_mix_shaders = self.get_list_of_two_input_shaders()
|
||||||
self.detour_settings = collections.OrderedDict([('current_detour',0), ('is_playing', False), ('is_recording', False), ('record_loop', False), ('detour_size', False), ('detour_speed', 0), ('memory_full', False), ('mix_shader', self.detour_mix_shaders[0]), ('detour_position', 5), ('detour_start', 0), ('detour_end', 0), ('is_delay', False)])
|
self.detour_settings = collections.OrderedDict([('current_detour',0), ('is_playing', False), ('is_recording', False), ('record_loop', False), ('detour_size', False), ('detour_speed', 0), ('memory_full', False), ('mix_shader', self.detour_mix_shaders[0]), ('detour_position', 5), ('detour_start', 0), ('detour_end', 0), ('detour_mix', 0), ('is_delay', False)])
|
||||||
|
|
||||||
### persisted data (use default if doesnt exits):
|
### persisted data (use default if doesnt exits):
|
||||||
self.bank_data = [self.create_empty_bank()]
|
self.bank_data = [self.create_empty_bank()]
|
||||||
|
|||||||
@@ -207,7 +207,8 @@ class Display(object):
|
|||||||
self.display_text.insert(END, '{:>23} {:<22} \n'.format(key, value))
|
self.display_text.insert(END, '{:>23} {:<22} \n'.format(key, value))
|
||||||
detour_banner = self.create_detour_display_banner(self.data.detour_settings['detour_size'], self.data.detour_settings['detour_position'], self.data.detour_settings['detour_start'], self.data.detour_settings['detour_end'])
|
detour_banner = self.create_detour_display_banner(self.data.detour_settings['detour_size'], self.data.detour_settings['detour_position'], self.data.detour_settings['detour_start'], self.data.detour_settings['detour_end'])
|
||||||
self.display_text.insert(END, '{} \n'.format(detour_banner))
|
self.display_text.insert(END, '{} \n'.format(detour_banner))
|
||||||
self.display_text.tag_add("NOW_PLAYER_INFO", 15.0, 15.0 + self.SELECTOR_WIDTH)
|
self._set_colour_from_mix(self.data.detour_settings['detour_mix'])
|
||||||
|
self.display_text.tag_add("DETOUR_BAR", 15.0, 15.0 + self.SELECTOR_WIDTH)
|
||||||
|
|
||||||
def _load_message(self):
|
def _load_message(self):
|
||||||
if self.message_handler.current_message[1]:
|
if self.message_handler.current_message[1]:
|
||||||
@@ -341,6 +342,9 @@ round(param_row + column_offset + (param_num+1)*param_length, 2))
|
|||||||
|
|
||||||
return ''.join(banner_list)
|
return ''.join(banner_list)
|
||||||
|
|
||||||
|
def _set_colour_from_mix(self, mix):
|
||||||
|
hex_colour = self.hex_from_rgb(255, 255 - int(255 * mix), int(255 * mix))
|
||||||
|
self.display_text.tag_configure("DETOUR_BAR", background="black", foreground=hex_colour)
|
||||||
|
|
||||||
def _set_colour_from_alpha(self, now_alpha, preview_alpha, next_alpha):
|
def _set_colour_from_alpha(self, now_alpha, preview_alpha, next_alpha):
|
||||||
upper_bound = 150
|
upper_bound = 150
|
||||||
|
|||||||
Reference in New Issue
Block a user