{"version":2,"baseVals":{"rating":4,"gammaadj":1.98,"decay":0.5,"echo_zoom":1,"echo_alpha":0.5,"echo_orient":3,"wave_mode":4,"additivewave":1,"wave_thick":1,"modwavealphabyvolume":1,"wave_brighten":0,"darken":1,"wave_a":0.001,"wave_scale":0.527,"wave_smoothing":0.45,"modwavealphastart":0,"modwavealphaend":1.32,"warpanimspeed":1.459,"warpscale":2.007,"zoom":0.9999,"warp":0.01,"sx":0.9999,"wave_r":0.8,"wave_g":0.49,"ob_size":0.015,"ob_a":1,"ib_size":0.26,"mv_x":64,"mv_y":48,"mv_l":1.85,"mv_r":0.5,"mv_g":0.5,"mv_b":0.5,"mv_a":0,"b2x":0.3,"b1ed":0},"shapes":[{"baseVals":{"additive":1,"textured":1,"rad":2.37185,"tex_ang":1.5708,"tex_zoom":0.93101,"r":0,"g":1,"b":1,"a":0.4,"border_b":0,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"sides":12,"additive":1,"textured":1,"x":0.3,"y":0.8,"rad":1.06345,"tex_ang":1.63363,"tex_zoom":0.46617,"g":1,"g2":0,"a2":1,"border_g":0,"border_b":0,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"sides":13,"additive":1,"num_inst":5,"x":0.65,"y":0.38,"rad":0.57049,"tex_zoom":0.73678,"a":0.7,"g2":0,"border_r":0.5,"border_g":0.5,"border_b":0,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"sides":14,"additive":1,"thickoutline":1,"textured":1,"x":0.6,"y":0.55,"rad":0.97237,"ang":1.25664,"tex_zoom":0.34933,"g":0.6,"g2":0,"b2":1,"border_r":0.2,"border_g":0.7,"border_b":0.5,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""}],"waves":[{"baseVals":{"enabled":1,"samples":506,"sep":116,"spectrum":1,"thick":1,"scaling":1.07408,"smoothing":0,"a":0.7},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"\nn = int((reg00+.5)*sample);\n\nm = 30001+n/(reg00/reg01);\ngmegabuf(m) = (value1+value2);\n\nx = gmegabuf(10000+n);\ny = gmegabuf(15000+n);\na = gmegabuf(20000+n);\n\nb = min(max(gmegabuf(25000+n),0),1);\nr = 1-b;  \ng = 0.5;"},{"baseVals":{"enabled":1,"samples":506,"thick":1,"scaling":0.89152,"smoothing":0.82},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"n = int((reg00+.5)*sample) +reg00;\n\nx = gmegabuf(10000+n);\ny = gmegabuf(15000+n);\na = gmegabuf(20000+n);\n\nb = min(max(gmegabuf(25000+n),0),1);\nr = 1-b;  \ng = 0.5;"},{"baseVals":{"enabled":1,"samples":506,"thick":1,"scaling":0.89152,"smoothing":0.82},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"n = int((reg00+.5)*sample)+2*reg00;\n\n\nx = gmegabuf(10000+n);\ny = gmegabuf(15000+n);\na = gmegabuf(20000+n);\n\nb = min(max(gmegabuf(25000+n),0),1);\nr = 1-b;  \ng = 0.5;\n"},{"baseVals":{"enabled":1,"samples":506,"spectrum":1,"thick":1},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"n = int((reg00-.5)*sample)+3*reg00;\n\n\nx = gmegabuf(10000+n);\ny = gmegabuf(15000+n);\na = gmegabuf(20000+n);\n\nb = min(max(gmegabuf(25000+n),0),1);\nr = 1-b;  \ng = 0.5;"}],"init_eqs_eel":"index = 0;\nloop (70000,\n  megabuf(index) = 0;\n  gmegabuf(index) = 0;\n  index = index + 1;\n);\n\nzang = 1;\n\nyang = 0;\nzang = 2;","frame_eqs_eel":"xlen = 45; ylen = 45; flen = 30; reg00 = xlen*ylen/4; reg01=reg00/4;\ndec_med = 1-0.06*30/fps; dec_slow = 1-0.02*30/fps; dec_f = pow (0.8, 30/fps);\nq30 = dec_slow;\nsmooth = max(1,pow(6,fps/30)-2); // >= 0; Ausbreitungsgeschwindigkeit\n\n//\"Classic\" beat reaction\ncbeat = bass+mid+treb;\ndecc = if (vol>cbeat,0.8,dec_med);\nvol  = vol * decc + (1-decc)*cbeat;\navg = avg*dec_slow + cbeat*(1-dec_slow);\nis_beat = above(cbeat, 1.5*avg) * above (time, tc0+.2);\ntc0 = if (bor(is_beat, bd_bt),time,tc0);\npeak = if (is_beat,cbeat,peak*dec_med);\n\n\n//Gleichanteil entfernen und normalisieren\nind = 0; sum = 0; amp = 0.01;\nloop (reg01,\n  sum = sum + gmegabuf(ind+30000)/(reg01);\n  amp = amp + pow(gmegabuf(ind+30000),2);\n  ind = ind+1;\n); \nind = 0; amp_= amp_*dec_med + (1-dec_med)*sqrt(amp)/reg01*600;\nloop (reg01,\n  megabuf(ind+30000)= (gmegabuf(ind+30000)-sum)/amp_;\n  ind = ind+1;\n);\n \n// Spectrum of spectrum  !\nindex2 = 0;\nloop(flen, //Frequency step\n  index=0; real= 0; imag = 0;\n  loop (flen,\n    real = real + cos(index/flen*6.28*index2)*megabuf(index*reg01/8+30002);\n    imag = imag + sin(index/flen*6.28*index2)*megabuf(index*reg01/8+30002);\n    index=index+1;\n  );\n  megabuf(10000+index2)= megabuf(10000+index2) * dec_f + real;\n  megabuf(15000+index2)= megabuf(15000+index2) * dec_f + imag;\n  index2 = index2+1;\n );\n\n//Anregung\nind = 1;\nloop (flen/2,\n  cx = megabuf(10000+ind);\n  cy = megabuf(15000+ind);\n  yind = -1;\n  loop (3,\n    xind = -1;\n    loop (3,\n      ox = ((cx+.5)*xlen+xind)%xlen;\n      oy = ((cy+.5)*ylen+yind)%ylen;\n      amp = (cx*cx+cy*cy)*3;\n      megabuf (oy*ylen+ox) = megabuf (oy*ylen+ox) \n                           - 2*30/fps*sqrt(amp)*above(amp,.02)/(1+xind*xind+yind*yind);\n      xind = xind+1;\n    );\n    yind = yind+1;\n  );\n  ind = ind+1;\n);\n\n//Simulation\nyind = 0;\nloop (ylen,\n  xind = 0;\n  loop (xlen,\n    megabuf(yind*ylen+xind+5000) = //megabuf ab 5000 ist nur Zwischenspeicher\n    dec_med*((gmegabuf(yind*ylen+(xind+1)%xlen) +\n    gmegabuf(yind*ylen+(xlen+xind-1)%xlen) + \n    gmegabuf(((yind+1)%ylen)*ylen+xind) + \n    gmegabuf(((yind+ylen-1)%ylen)*ylen+xind)\n    +gmegabuf(yind*ylen+xind)*smooth*4)/(2+2*smooth) - megabuf(yind*ylen+xind)); \n    xind = xind+1;\n  );\n  yind = yind+1;\n);\n\n//Projektionsparameter\n\nbindex += is_beat;\nif (is_beat && (bindex%4==0), ran2 = (rand(100)-30)/60,0 );\nif (is_beat && (bindex%4==2), ran3 = (rand(100)-30)/60,0 );\nif (is_beat && (bindex%6==2), ran4 = (rand(100)-30)/60,0 );\ndec_v = min(max(0, 1-8*vol/fps),dec_slow);\nran2_ = ran2_ * dec_v + (1-dec_v)*ran2;\nran3_ = ran3_ * dec_v + (1-dec_v)*ran3;\nran4_ = ran4_ * dec_v + (1-dec_v)*ran4;\ntrelx += ran2_/fps/7;\ntrely += ran3_/fps/2;\ntrelz += ran4_/fps/6;\nzang = 6*sin(trelz);\nxang = 6*sin(zang/5+trelx);\nyang = 6*sin(zang/3*0+trely);\n\nq1 = cos(xang);q2 = sin(xang);q3 = cos(yang);\nq4 = sin(yang);q5 = cos(zang);q6 = sin(zang);\nfov = 1;\n\n//Umkopieren und Projektion\nyind = 0;\nloop (ylen,\n  xind = 0;\n  loop (xlen,\n    ind = yind*ylen+xind;\n    megabuf(ind) = gmegabuf(ind); \n    gmegabuf(ind) = megabuf(ind+5000); \n    oz = yind - ylen/2; //#\n    ox = if(bnot(yind%2),xind,xlen-xind-1);\n    oy0a = (oy0+oy0a)/2.5;\n    oy = gmegabuf(yind*ylen+ox); oy0 = oy;\n    ox = ox - xlen/2;  \n    mx = ox*q5 - oy*q6;  my = ox*q6 + oy*q5;\n    ox = mx; oy = my;  \n    mx = ox*q3 + oz*q4;  mz = - ox*q4 + oz*q3;\n    ox = mx; oz = mz;  \n    my = oy*q1 - oz*q2;  mz = oy*q2 + oz*q1;\n    z0 = 90+40*sin(trelz*14);\n    oy = my; oz = mz+z0;\n    gmegabuf(10000+ind) = fov*ox/(oz)+.5;\n    gmegabuf(15000+ind) = fov*oy/(oz)+.5;\n    hell= max(min(.5+oy0/4,1),0.1); //Helligkeit\n    gmegabuf(20000+ind) = max(min(hell* (.5+ (oy0a-oy0)*0.1),1),0.1) ;\n    gmegabuf(25000+ind) = oy0/16+.5;;\n    xind = xind+1;\n  );\n  yind = yind+1;\n);\n\nq29 = fov*50/z0;\nq32 = aspecty;\nq28 = min (vol/3-0.3,1);\nmonitor = is_beat;","pixel_eqs_eel":"rot = 0; zoom = 1.1; warp = 0; dy = 0.02;","warp":" shader_body { \n  vec4 tmpvar_1;\n  tmpvar_1.w = 1.0;\n  tmpvar_1.xyz = vec3(0.0, 0.0, 0.0);\n  ret = tmpvar_1.xyz;\n }","comp":"vec3 xlat_mutablecol;\n shader_body { \n  vec2 uv_1;\n  uv_1 = uv;\n  int iter_3;\n  vec3 ret_4;\n  ret_4 = texture (sampler_main, uv).xyz;\n  iter_3 = int((clamp (q29, 0.0, 1.0) * 8.0));\n  for (int n_2 = 1; n_2 < iter_3; n_2++) {\n    vec2 tmpvar_5;\n    tmpvar_5.y = 0.0;\n    tmpvar_5.x = float(n_2);\n    vec2 tmpvar_6;\n    tmpvar_6.y = 0.0;\n    tmpvar_6.x = float(n_2);\n    ret_4 = max (max (ret_4, texture (sampler_main, (uv_1 - \n      (texsize.zw * tmpvar_5)\n    )).xyz), texture (sampler_main, (uv_1 + (texsize.zw * tmpvar_6))).xyz);\n  };\n  float tmpvar_7;\n  tmpvar_7 = clamp ((1.0 - (2.0 * \n    dot (ret_4, vec3(0.32, 0.49, 0.29))\n  )), 0.0, 1.0);\n  float tmpvar_8;\n  float tmpvar_9;\n  tmpvar_9 = (uv.x - 0.5);\n  tmpvar_8 = (0.5 / ((\n    (uv.y + ((tmpvar_9 * 1.4) * (q5 * q3)))\n   - 0.4) + (0.3 * q4)));\n  vec2 tmpvar_10;\n  tmpvar_10.x = (tmpvar_8 * tmpvar_9);\n  tmpvar_10.y = tmpvar_8;\n  vec3 tmpvar_11;\n  tmpvar_11.x = q2;\n  tmpvar_11.y = q4;\n  tmpvar_11.z = q6;\n  xlat_mutablecol = (0.5 + (0.5 * tmpvar_11));\n  float x_12;\n  x_12 = ((uv.x - (\n    dot (ret_4, vec3(0.32, 0.49, 0.29))\n   * 5.0)) + 0.5);\n  ret_4 = (ret_4 * (q28 + (\n    ((6.0 * (0.05 / sqrt(\n      (x_12 * x_12)\n    ))) * (1.0 + xlat_mutablecol))\n   / 2.0)));\n  vec2 tmpvar_13;\n  tmpvar_13.x = q1;\n  tmpvar_13.y = (q3 + time);\n  float tmpvar_14;\n  tmpvar_14 = (((\n    (texture (sampler_noise_lq, (tmpvar_10 + tmpvar_13)).x * tmpvar_7)\n   * \n    float((tmpvar_8 > 0.0))\n  ) * 0.2) * min (1.0, (1.0/(tmpvar_8))));\n  ret_4 = (ret_4 + tmpvar_14);\n  ret_4 = (ret_4 + ((\n    (sin((12.0 * q2)) * tmpvar_7)\n   * tmpvar_14) * dot (\n    (12.0 * ((texture (sampler_blur1, (tmpvar_10 - vec2(-0.5, 0.3))).xyz * scale1) + bias1))\n  , vec3(0.32, 0.49, 0.29))));\n  ret_4 = (ret_4 + ((\n    ((0.5 / abs(tmpvar_8)) * normalize(xlat_mutablecol))\n   * \n    float((tmpvar_8 < 0.0))\n  ) * tmpvar_7));\n  vec4 tmpvar_15;\n  tmpvar_15.w = 1.0;\n  tmpvar_15.xyz = ret_4;\n  ret = tmpvar_15.xyz;\n }"}