{"version":2,"baseVals":{"rating":0,"gammaadj":1.28,"decay":0.8,"echo_zoom":1,"echo_orient":3,"wave_mode":7,"additivewave":1,"modwavealphabyvolume":1,"wave_brighten":0,"brighten":1,"wave_a":0.001,"wave_scale":1.286,"wave_smoothing":0.63,"modwavealphastart":0.71,"modwavealphaend":1.3,"zoomexp":3.04777,"zoom":1.0173,"warp":0.01605,"wave_g":0.65,"wave_b":0.65,"ob_size":0,"ob_a":1,"mv_x":64,"mv_y":48,"mv_l":0,"mv_a":0,"b1ed":0},"shapes":[{"baseVals":{"sides":5,"additive":1,"num_inst":2,"x":0.49,"rad":0.11589,"tex_zoom":4.36077,"g2":0,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":"x = rand(1000)/1000;\ny = rand(1000)/1000;\nang = rand(150)/100;"},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""}],"waves":[{"baseVals":{"enabled":1,"thick":1,"g":0,"b":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(bass,1)*3.1415*.01*bass);\nma=ma-(above(treb,1)*3.1415*.01*treb);\n\nmx=mx+(.0002*cos(ma));\nmy=my+(.0002*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx;\ny=my;\n\na=(above(bass+mid+treb,.8));"},{"baseVals":{"enabled":1,"thick":1,"r":0,"b":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(bass,1)*3.1415*.05*bass);\nma=ma-(above(mid,1)*3.1415*.05*mid);\n\nmx=mx+(.0001*cos(ma));\nmy=my+(.0001*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx;\ny=my;\n\na=(above(bass+mid+treb,.1));"},{"baseVals":{"enabled":1,"usedots":1,"r":0,"g":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(mid,1)*3.1415*.01*mid);\nma=ma-(above(treb,1)*3.1415*.01*treb);\n\nmx=mx+(.0004*cos(ma));\nmy=my+(.0004*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx;\ny=my;\n\na=(above(bass+mid+treb,.3));"},{"baseVals":{"enabled":1,"usedots":1,"thick":1,"r":0,"g":0,"b":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(bass,.5)*3.1415*.02*bass);\nma=ma-(above(treb,.5)*3.1415*.02*treb);\n\nmx=mx+(.0008*cos(ma));\nmy=my+(.0008*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx;\ny=my;\n\na=(above(bass+mid+treb,.2));"}],"init_eqs_eel":"","frame_eqs_eel":"zoom = 1;\n// the m�bius transformation\n// z -> (az+b)/(cz-d); where a,b,c,d are complex numbers and z will be the uv-vector\n// (az+b)/(cz-d) = a/c + mu/(cz+d), with mu = (bc-ad)/c\n// so a/c and mu can be calculated outside of the shader\n\n//before inversion\n\nscale = 0.5 + bass_att*0.02-treb_att*0.01;\nangle = time*0.1;\ntranslation_x = 0;\ntranslation_y = 0.04;\n\na_r = cos(angle)*scale;\na_i = sin(angle)*scale;\nb_r = translation_x;\nb_i = translation_y;\n\n//complex inverted\nscale = 1;\nangle = sin(time*0.4)*0.2;\ntranslation_u = 0;\ntranslation_v = -0.2;\n\n// c\nq15 = cos(angle)*scale;\nq16 = sin(angle)*scale;\n\n// d\nq17 = translation_u;\nq18 = translation_v;\n\n// c^(-1)\nc_inv_r = q15/(q15*q15+q16*q16);\nc_inv_i = q16/(q15*q15+q16*q16);\n\n// a*c^(-1)\nq11 = (a_r*c_inv_r - a_i*c_inv_i);\nq12 = (a_r*c_inv_i - a_i*c_inv_r);\n\n// (bc-ad)\nbcad_r = (b_r*q15 - b_i*q16)-(a_r*q17-a_i*q18);\nbcad_i = (b_r*q16 - b_i*q15)-(a_r*q18-a_i*q17);\n\n// mu*c^(-1)\nq13 = bcad_r*c_inv_r - bcad_i*c_inv_i;\nq14 = bcad_r*c_inv_i - bcad_i*c_inv_r;","pixel_eqs_eel":"","warp":" shader_body { \n vec3 ret_1;\n vec2 tmpvar_2;\n tmpvar_2 = mix (uv_orig, uv, vec2(0.2, 0.2));\n vec2 tmpvar_3;\n tmpvar_3 = (texsize.zw * 2.0);\n vec3 tmpvar_4;\n tmpvar_4 = (((texture (sampler_blur1, \n (tmpvar_2 + (vec2(1.0, 0.0) * tmpvar_3))\n ).xyz * scale1) + bias1) - ((texture (sampler_blur1, \n (tmpvar_2 - (vec2(1.0, 0.0) * tmpvar_3))\n ).xyz * scale1) + bias1));\n vec3 tmpvar_5;\n tmpvar_5 = (((texture (sampler_blur1, \n (tmpvar_2 + (vec2(0.0, 1.0) * tmpvar_3))\n ).xyz * scale1) + bias1) - ((texture (sampler_blur1, \n (tmpvar_2 - (vec2(0.0, 1.0) * tmpvar_3))\n ).xyz * scale1) + bias1));\n vec2 tmpvar_6;\n tmpvar_6.x = tmpvar_4.x;\n tmpvar_6.y = tmpvar_5.x;\n ret_1.x = texture (sampler_fc_main, (tmpvar_2 + ((tmpvar_6 * texsize.zw) * 4.0))).x;\n vec2 tmpvar_7;\n tmpvar_7.x = tmpvar_4.y;\n tmpvar_7.y = tmpvar_5.y;\n ret_1.y = texture (sampler_fc_main, (tmpvar_2 + ((tmpvar_7 * texsize.zw) * 4.0))).y;\n vec2 tmpvar_8;\n tmpvar_8.x = tmpvar_4.z;\n tmpvar_8.y = tmpvar_5.z;\n ret_1.z = texture (sampler_fc_main, (tmpvar_2 + ((tmpvar_8 * texsize.zw) * 4.0))).z;\n ret_1 = (ret_1 - ((\n (ret_1.yzx + ret_1.zxy)\n * 0.16) + 0.002));\n ret_1 = (ret_1 + ((texture (sampler_noise_lq, \n (((uv_orig * texsize.xy) * (texsize_noise_lq.zw * 1.2)) + rand_frame.xy)\n ).xyz - 0.5) * 0.04));\n vec4 tmpvar_9;\n tmpvar_9.w = 1.0;\n tmpvar_9.xyz = ret_1;\n ret = tmpvar_9.xyz;\n }","comp":" shader_body { \n vec2 uv_1;\n vec2 moebius_2;\n vec2 d_3;\n vec2 tmpvar_4;\n tmpvar_4.x = q11;\n tmpvar_4.y = q12;\n vec2 tmpvar_5;\n tmpvar_5.x = q17;\n tmpvar_5.y = q18;\n vec2 tmpvar_6;\n tmpvar_6 = (uv - 0.5);\n vec2 tmpvar_7;\n tmpvar_7.x = ((tmpvar_6.x * q15) - (tmpvar_6.y * q16));\n tmpvar_7.y = ((tmpvar_6.x * q16) - (tmpvar_6.y * q15));\n vec2 tmpvar_8;\n tmpvar_8 = (tmpvar_7 + tmpvar_5);\n vec2 tmpvar_9;\n tmpvar_9.x = ((q13 * tmpvar_8.x) + (q14 * tmpvar_8.y));\n tmpvar_9.y = ((q14 * tmpvar_8.x) - (q13 * tmpvar_8.y));\n moebius_2 = (0.5 + ((\n (1.0 - abs(((\n fract((((tmpvar_9 / \n ((tmpvar_8.x * tmpvar_8.x) + (tmpvar_8.y * tmpvar_8.y))\n ) + tmpvar_4) * 0.5))\n * 2.0) - 1.0)))\n - 0.5) * 0.99));\n d_3 = (texsize.zw * 8.0);\n vec2 tmpvar_10;\n tmpvar_10.x = dot (((\n (texture (sampler_blur1, (moebius_2 + (vec2(1.0, 0.0) * d_3))).xyz * scale1)\n + bias1) - (\n (texture (sampler_blur1, (moebius_2 - (vec2(1.0, 0.0) * d_3))).xyz * scale1)\n + bias1)), vec3(0.32, 0.49, 0.29));\n tmpvar_10.y = dot (((\n (texture (sampler_blur1, (moebius_2 + (vec2(0.0, 1.0) * d_3))).xyz * scale1)\n + bias1) - (\n (texture (sampler_blur1, (moebius_2 - (vec2(0.0, 1.0) * d_3))).xyz * scale1)\n + bias1)), vec3(0.32, 0.49, 0.29));\n uv_1 = (moebius_2 - ((tmpvar_10 * texsize.zw) * 32.0));\n vec4 tmpvar_11;\n tmpvar_11.w = 1.0;\n tmpvar_11.xyz = mix (mix ((vec3(0.8, 0.6, 0.5) * texture (sampler_fc_main, uv_1).x), mix (vec3(0.6, 1.2, 0.0), vec3(-1.0, 0.8, -1.0), texture (sampler_main, uv_1).zzz), vec3((texture (sampler_main, uv_1).y * 0.4))), vec3(0.0, 0.15, 0.3), vec3(((texture (sampler_main, uv_1).z * \n (1.0 - texture (sampler_main, uv_1).y)\n ) * 2.0)));\n ret = tmpvar_11.xyz;\n }"}