{"version":2,"baseVals":{"rating":0,"gammaadj":1.56,"decay":1,"echo_zoom":0.362,"echo_orient":1,"wave_mode":7,"additivewave":1,"modwavealphabyvolume":1,"wave_brighten":0,"darken":1,"wave_a":0.001,"wave_scale":1.286,"wave_smoothing":0.63,"modwavealphastart":0.71,"modwavealphaend":1.3,"warpscale":1.331,"fshader":1,"zoom":1.0039,"warp":0.19788,"sx":0.99967,"sy":0.9999,"wave_g":0.65,"wave_b":0.65,"ob_size":0,"ob_a":1,"ib_size":0.005,"ib_a":1,"mv_x":64,"mv_y":48,"mv_l":0,"mv_a":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":{"thick":1,"r":0,"g":0.3,"b":0.75,"enabled":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":{"thick":1,"r":0,"b":0,"enabled":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":{"thick":1,"g":0.5,"b":0,"enabled":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":{"thick":1,"r":0.4,"g":0,"b":0.6,"enabled":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":"warp = 0;\nzoom = 1.0;\n\nbb = bb*0.99 + bass*0.02;\nmm = mm*0.99 + mid*0.02;\ntt = tt*0.99 + treb*0.02;\n\nmx = max(max(bb,mm),tt);\nmn = min(min(bb,mm),tt);\n\nib_r = (bb-mn)/(mx-mn);\nib_b = (mm-mn)/(mx-mn);\nib_g = (tt-mn)/(mx-mn);","pixel_eqs_eel":"// have a nice warp effect? - rotate it like a shape!\n\n angle = asin(1)*0.5 + sin(time*0.05)*asin(1);\n\n/////////////////////////////////////////////////////////\nX1 = (x-0.5)*aspectx; // center\nY1 = (y-0.5)*aspecty;\nx = cos(-angle)*X1 -sin(-angle)*Y1; // rotate the original x/y coordinates\ny = sin(-angle)*X1 +cos(-angle)*Y1;\n/////////////////////////////////////////////////////////\n// x = x + 0.5;\n// y = y + 0.5;\n// place your original code below (so far center is at 0,0)\n\n\n t = time*0.25;\n v = 0.0005;\n n = 11;\n\n dx = v*sin(y*n+t); // these are the 2 lines for my mushroom motion\n dy = v*sin(x*n+t); // insert your per-vertex-code-to-rotate here (and shift back center to 0.5/0.5 if needed)\n\n\n\n/////////////////////////////////////////////////////////\ndx1 = cos(angle)*dx - sin(angle)*dy; // and finally rotate the resulting vector for the rotated domain\ndy1 = sin(angle)*dx + cos(angle)*dy;\ndx = dx1*aspectx;\ndy = dy1*aspecty;\n/////////////////////////////////////////////////////////","warp":"vec2 xlat_mutabled;\nvec3 xlat_mutabledx;\nvec3 xlat_mutabledy;\n shader_body { \n vec3 ret_1;\n vec3 tmpvar_2;\n tmpvar_2 = (texture (sampler_noise_lq, ((\n (uv_orig * texsize.xy)\n * texsize_noise_lq.zw) + rand_frame.xy)).xyz - 0.5);\n xlat_mutabled = (texsize.zw * 4.0);\n xlat_mutabledx = (((2.0 * \n ((texture (sampler_blur1, (uv_orig + (vec2(1.0, 0.0) * xlat_mutabled))).xyz * scale1) + bias1)\n ) - (2.0 * \n ((texture (sampler_blur1, (uv_orig - (vec2(1.0, 0.0) * xlat_mutabled))).xyz * scale1) + bias1)\n )) * 0.5);\n xlat_mutabledy = (((2.0 * \n ((texture (sampler_blur1, (uv_orig + (vec2(0.0, 1.0) * xlat_mutabled))).xyz * scale1) + bias1)\n ) - (2.0 * \n ((texture (sampler_blur1, (uv_orig - (vec2(0.0, 1.0) * xlat_mutabled))).xyz * scale1) + bias1)\n )) * 0.5);\n xlat_mutabled = uv;\n vec2 tmpvar_3;\n tmpvar_3.x = xlat_mutabledx.y;\n tmpvar_3.y = xlat_mutabledy.y;\n vec2 tmpvar_4;\n tmpvar_4.x = xlat_mutabledx.z;\n tmpvar_4.y = xlat_mutabledy.z;\n vec4 tmpvar_5;\n tmpvar_5 = texture (sampler_main, uv_orig);\n ret_1.y = ((texture (sampler_main, (uv - \n ((tmpvar_3 * texsize.zw) * 6.0)\n )).y - 0.008) + ((1.0 - tmpvar_5.x) * 0.018));\n ret_1.z = ((texture (sampler_main, (uv - \n ((tmpvar_4 * texsize.zw) * 6.0)\n )).z - 0.008) + (tmpvar_5.x * 0.018));\n ret_1.x = texture (sampler_fc_main, (uv + ((tmpvar_2.xy * texsize.zw) * 0.5))).x;\n ret_1.x = (ret_1.x + ((\n ((2.0 * ret_1.x) - (2.0 * ((texture (sampler_blur3, uv).xyz * scale3) + bias3).x))\n * 0.075) + (tmpvar_2 * 0.0042)).x);\n vec4 tmpvar_6;\n tmpvar_6.w = 1.0;\n tmpvar_6.xyz = ret_1;\n ret = tmpvar_6.xyz;\n }","comp":" shader_body { \n vec2 dz_1;\n vec3 dy_2;\n vec3 dx_3;\n vec2 d_4;\n vec3 ret_5;\n vec2 tmpvar_6;\n vec2 tmpvar_7;\n tmpvar_7 = (vec2(1.0, 0.0) * texsize.zw);\n tmpvar_6.x = (texture (sampler_main, (uv + tmpvar_7)).xyz - texture (sampler_main, (uv - tmpvar_7)).xyz).y;\n vec2 tmpvar_8;\n tmpvar_8 = (vec2(0.0, 1.0) * texsize.zw);\n tmpvar_6.y = (texture (sampler_main, (uv + tmpvar_8)).xyz - texture (sampler_main, (uv - tmpvar_8)).xyz).y;\n d_4 = (texsize.zw * 2.0);\n dx_3 = (((2.0 * \n ((texture (sampler_blur1, (uv + (vec2(1.0, 0.0) * d_4))).xyz * scale1) + bias1)\n ) - (2.0 * \n ((texture (sampler_blur1, (uv - (vec2(1.0, 0.0) * d_4))).xyz * scale1) + bias1)\n )) * 0.5);\n dy_2 = (((2.0 * \n ((texture (sampler_blur1, (uv + (vec2(0.0, 1.0) * d_4))).xyz * scale1) + bias1)\n ) - (2.0 * \n ((texture (sampler_blur1, (uv - (vec2(0.0, 1.0) * d_4))).xyz * scale1) + bias1)\n )) * 0.5);\n vec2 tmpvar_9;\n tmpvar_9.x = dx_3.y;\n tmpvar_9.y = dy_2.y;\n dz_1 = ((tmpvar_6 * 2.0) + tmpvar_9);\n vec4 tmpvar_10;\n tmpvar_10 = texture (sampler_blur1, uv);\n ret_5 = (vec3(((\n pow ((sqrt(dot (dz_1, dz_1)) * 0.8), 0.7)\n * 2.0) + (\n ((tmpvar_10.xyz * scale1) + bias1)\n .y * 2.0))) * vec3(0.2, 0.3, 0.6));\n vec2 tmpvar_11;\n tmpvar_11.x = q19;\n tmpvar_11.y = q20;\n vec2 tmpvar_12;\n tmpvar_12 = fract(((0.5 + \n (uv - 0.5)\n ) + (tmpvar_11 * vec2(-1.0, 1.0))));\n vec2 tmpvar_13;\n tmpvar_13.x = dx_3.y;\n tmpvar_13.y = dy_2.y;\n vec3 tmpvar_14;\n tmpvar_14 = mix (((\n (mix (ret_5, vec3(3.0, 2.0, 1.0), ((texture (sampler_blur3, \n (tmpvar_12 - tmpvar_13)\n ).xyz * scale3) + bias3).xxx) * (vec3(1.0, 1.0, 1.0) - ((texture (sampler_blur2, \n (tmpvar_12 - dz_1)\n ).xyz * scale2) + bias2).xxx))\n * \n (vec3(1.0, 1.0, 1.0) - vec3((0.75 * texture (sampler_main, tmpvar_12).x)))\n ) * (vec3(1.0, 1.0, 1.0) - vec3(\n (((tmpvar_10.xyz * scale1) + bias1).z * 4.0)\n ))), vec3(2.0, 2.0, 2.0), texture (sampler_main, uv).zzz);\n ret_5 = tmpvar_14;\n vec4 tmpvar_15;\n tmpvar_15.w = 1.0;\n tmpvar_15.xyz = tmpvar_14;\n ret = tmpvar_15.xyz;\n }"}