MILKDROP_PRESET_VERSION=201
PSVERSION=3
PSVERSION_WARP=3
PSVERSION_COMP=3
[preset00]
fRating=4.000000
fGammaAdj=1.980
fDecay=0.500
fVideoEchoZoom=0.952
fVideoEchoAlpha=0.500
nVideoEchoOrientation=3
nWaveMode=1
bAdditiveWaves=1
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=0.001
fWaveScale=0.021
fWaveSmoothing=0.450
fWaveParam=0.000
fModWaveAlphaStart=0.000
fModWaveAlphaEnd=1.320
fWarpAnimSpeed=1.459
fWarpScale=2.007
fZoomExponent=1.00000
fShader=0.000
zoom=0.99990
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=0.00751
sx=0.99990
sy=1.00000
wave_r=0.000
wave_g=0.000
wave_b=0.000
wave_x=0.500
wave_y=0.500
ob_size=0.000
ob_r=0.000
ob_g=0.300
ob_b=0.000
ob_a=0.000
ib_size=0.260
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=0.000
nMotionVectorsY=0.000
mv_dx=0.000
mv_dy=0.000
mv_l=1.850
mv_r=0.500
mv_g=0.500
mv_b=0.500
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=0.600
b3x=0.300
b1ed=0.000
wavecode_0_enabled=1
wavecode_0_samples=200
wavecode_0_sep=20
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=1
wavecode_0_scaling=0.29460
wavecode_0_smoothing=0.10000
wavecode_0_r=0.160
wavecode_0_g=0.000
wavecode_0_b=0.000
wavecode_0_a=1.000
wave_0_init1=t0 = 0;
wave_0_per_frame1=t1 = 0;
wave_0_per_point1=tht = sample*2;
wave_0_per_point2=phi = sample*100;
wave_0_per_point3=r0 = 0.4-0.4*gmegabuf(5000+t1);
wave_0_per_point4=
wave_0_per_point5=x0 = sin(tht)*cos(phi)*r0;
wave_0_per_point6=y0 = sin(tht)*sin(phi)*r0;
wave_0_per_point7=z0 = 2*cos(tht)*-r0+0.5; 
wave_0_per_point8=
wave_0_per_point9=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
wave_0_per_point10=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
wave_0_per_point11=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner +0.5;
wave_0_per_point12=
wave_0_per_point13=a = min((1-sample)*50,1);;
wave_0_per_point14=t1+=1;
wavecode_1_enabled=1
wavecode_1_samples=200
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=1
wavecode_1_scaling=0.14869
wavecode_1_smoothing=0.82000
wavecode_1_r=0.000
wavecode_1_g=0.000
wavecode_1_b=0.800
wavecode_1_a=0.550
wave_1_per_frame1=t1 = 0;
wave_1_per_point1=tht = sample*2;
wave_1_per_point2=phi = sample*100;
wave_1_per_point3=r0 = 0.4-0.4*gmegabuf(5000+t1);
wave_1_per_point4=
wave_1_per_point5=x0 = sin(tht)*cos(phi)*r0;
wave_1_per_point6=y0 = sin(tht)*sin(phi)*r0;
wave_1_per_point7=z0 = -(2*cos(tht)*-r0+0.5); 
wave_1_per_point8=
wave_1_per_point9=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
wave_1_per_point10=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
wave_1_per_point11=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner +0.5;
wave_1_per_point12=
wave_1_per_point13=a = min((1-sample)*50,1);;
wave_1_per_point14=t1+=1;
wave_1_per_point15=
wavecode_2_enabled=0
wavecode_2_samples=200
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=1
wavecode_2_scaling=2.18300
wavecode_2_smoothing=0.00000
wavecode_2_r=0.200
wavecode_2_g=0.000
wavecode_2_b=0.000
wavecode_2_a=0.600
wave_2_per_frame1=t1 = 0;
wave_2_per_point1=k1 = sample*6.28;
wave_2_per_point2=x0 = cos(k1)*0.05; y0 = sin(k1)*0.05; 
wave_2_per_point3=
wave_2_per_point4=z0 = abs(sin(k1*2))*12;
wave_2_per_point5=
wave_2_per_point6=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
wave_2_per_point7=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
wave_2_per_point8=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner +0.5;
wave_2_per_point9=
wave_2_per_point10=a = Nenner > 0;
wavecode_3_enabled=0
wavecode_3_samples=500
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=1
wavecode_3_bDrawThick=0
wavecode_3_bAdditive=1
wavecode_3_scaling=5.42786
wavecode_3_smoothing=0.00000
wavecode_3_r=0.300
wavecode_3_g=0.000
wavecode_3_b=0.000
wavecode_3_a=1.000
wave_3_per_frame1=t1 = 0;
wave_3_per_point1=instance = t1; num_inst=500;
wave_3_per_point2=nstab = reg10; ppstab = int(num_inst/nstab);stab = int (instance/ppstab);
wave_3_per_point3=maxinst = nstab*ppstab-1;
wave_3_per_point4=
wave_3_per_point5=frac = (instance%ppstab)/ppstab;
wave_3_per_point6=
wave_3_per_point7=base1 = 1000+4*stab; base2 = 2000+4*stab;
wave_3_per_point8=x0 = (1-frac)*gmegabuf(base1) + frac*gmegabuf(base2);
wave_3_per_point9=y0 = (1-frac)*gmegabuf(base1+1) + frac*gmegabuf(base2+1);
wave_3_per_point10=z0 = (1-frac)*gmegabuf(base1+2) + frac*gmegabuf(base2+2);
wave_3_per_point11=
wave_3_per_point12=
wave_3_per_point13=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
wave_3_per_point14=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
wave_3_per_point15=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner +0.5;
wave_3_per_point16=
wave_3_per_point17=a = (instance < maxinst) * (nstab > 10) ;
wave_3_per_point18=t1 += 1;
shapecode_0_enabled=1
shapecode_0_sides=6
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_num_inst=250
shapecode_0_x=0.900
shapecode_0_y=0.900
shapecode_0_rad=0.01215
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.00000
shapecode_0_tex_zoom=2.51821
shapecode_0_r=0.000
shapecode_0_g=0.000
shapecode_0_b=0.700
shapecode_0_a=0.000
shapecode_0_r2=0.000
shapecode_0_g2=0.000
shapecode_0_b2=0.500
shapecode_0_a2=0.000
shapecode_0_border_r=0.000
shapecode_0_border_g=0.000
shapecode_0_border_b=1.000
shapecode_0_border_a=0.000
shape_0_per_frame1=//Spiegelung
shape_0_per_frame2=nstab = reg10; ppstab = int(num_inst/nstab); stab = int (instance/ppstab); 
shape_0_per_frame3=maxinst = nstab*ppstab;
shape_0_per_frame4=frac = (instance%ppstab)/ppstab;
shape_0_per_frame5=
shape_0_per_frame6=base1 = 1000+4*stab; base2 = 2000+4*stab;
shape_0_per_frame7=x0 = (1-frac)*gmegabuf(base1) + frac*gmegabuf(base2);
shape_0_per_frame8=y0 = (1-frac)*gmegabuf(base1+1) + frac*gmegabuf(base2+1);
shape_0_per_frame9=z0 = (1-frac)*gmegabuf(base1+2) + frac*gmegabuf(base2+2);
shape_0_per_frame10=z0 = -z0;
shape_0_per_frame11=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
shape_0_per_frame12=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
shape_0_per_frame13=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
shape_0_per_frame14=
shape_0_per_frame15=if (instance < maxinst, 
shape_0_per_frame16=  rad = reg11/nenner*2*q32 ;
shape_0_per_frame17=  mv = if (reg33, gmegabuf(500+stab),  max(gmegabuf(500+stab), gmegabuf(500+nstab-stab)))/3;
shape_0_per_frame18=  arg = abs(frac);
shape_0_per_frame19=  a2= (arg < mv)*0.9+0.1; a2*= min(1, arg*1.5); a = a2;
shape_0_per_frame20=
shape_0_per_frame21=,a=0; a2=0;);
shape_0_per_frame22=
shapecode_1_enabled=1
shapecode_1_sides=10
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_num_inst=500
shapecode_1_x=0.260
shapecode_1_y=0.200
shapecode_1_rad=0.02449
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=0.93550
shapecode_1_r=0.000
shapecode_1_g=0.800
shapecode_1_b=0.000
shapecode_1_a=0.700
shapecode_1_r2=0.000
shapecode_1_g2=0.000
shapecode_1_b2=0.000
shapecode_1_a2=0.000
shapecode_1_border_r=0.000
shapecode_1_border_g=0.700
shapecode_1_border_b=0.800
shapecode_1_border_a=0.000
shape_1_per_frame1=//Glas
shape_1_per_frame2=nstab = reg10; ppstab = int(num_inst/nstab);stab = int (instance/ppstab);
shape_1_per_frame3=maxinst = nstab*ppstab-1;
shape_1_per_frame4=
shape_1_per_frame5=frac = (instance%ppstab)/ppstab;
shape_1_per_frame6=
shape_1_per_frame7=
shape_1_per_frame8=base1 = 1000+4*stab; base2 = 2000+4*stab;
shape_1_per_frame9=x0 = (1-frac)*gmegabuf(base1) + frac*gmegabuf(base2);
shape_1_per_frame10=y0 = (1-frac)*gmegabuf(base1+1) + frac*gmegabuf(base2+1);
shape_1_per_frame11=z0 = (1-frac)*gmegabuf(base1+2) + frac*gmegabuf(base2+2);
shape_1_per_frame12=
shape_1_per_frame13=
shape_1_per_frame14=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
shape_1_per_frame15=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
shape_1_per_frame16=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
shape_1_per_frame17=
shape_1_per_frame18=rad = 2*reg11/nenner*q32;
shape_1_per_frame19=a = min(1,4/Nenner) * (instance<maxinst); a2 = a/2;;
shape_1_per_frame20=
shape_1_per_frame21=reg99 = maxinst;
shapecode_2_enabled=1
shapecode_2_sides=8
shapecode_2_additive=1
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_num_inst=500
shapecode_2_x=0.390
shapecode_2_y=0.400
shapecode_2_rad=0.01000
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=0.44790
shapecode_2_r=0.300
shapecode_2_g=0.000
shapecode_2_b=0.000
shapecode_2_a=0.000
shapecode_2_r2=0.900
shapecode_2_g2=0.000
shapecode_2_b2=0.000
shapecode_2_a2=1.000
shapecode_2_border_r=0.000
shapecode_2_border_g=0.100
shapecode_2_border_b=0.000
shapecode_2_border_a=1.000
shape_2_per_frame1=//Struc
shape_2_per_frame2=nstab = reg10; ppstab = int(num_inst/nstab); stab = int (instance/ppstab); 
shape_2_per_frame3=maxinst = nstab*ppstab;
shape_2_per_frame4=frac = (instance%ppstab)/ppstab;
shape_2_per_frame5=skip = int (ppstab/30);
shape_2_per_frame6=
shape_2_per_frame7=base1 = 1000+4*stab; base2 = 2000+4*stab;
shape_2_per_frame8=x0 = (1-frac)*gmegabuf(base1) + frac*gmegabuf(base2);
shape_2_per_frame9=y0 = (1-frac)*gmegabuf(base1+1) + frac*gmegabuf(base2+1);
shape_2_per_frame10=z0 = (1-frac)*gmegabuf(base1+2) + frac*gmegabuf(base2+2);
shape_2_per_frame11=
shape_2_per_frame12=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
shape_2_per_frame13=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
shape_2_per_frame14=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
shape_2_per_frame15=
shape_2_per_frame16=if ((instance%skip ==0) && (instance < maxinst), 
shape_2_per_frame17=  rad = reg11/nenner*0.7*q32 ;
shape_2_per_frame18=  mv = if (reg33, gmegabuf(500+stab),  max(gmegabuf(500+stab), gmegabuf(500+nstab-stab)))/3;
shape_2_per_frame19=//  mv = sqrt(mv)/2;
shape_2_per_frame20=  arg = abs(frac);
shape_2_per_frame21=  a2= (arg < mv) * min(1, arg*1.7); a = a2/4;
shape_2_per_frame22=
shape_2_per_frame23=,a=0; a2=0; rad=0;);
shape_2_per_frame24=
shapecode_3_enabled=1
shapecode_3_sides=10
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_num_inst=100
shapecode_3_x=0.650
shapecode_3_y=0.800
shapecode_3_rad=0.02988
shapecode_3_ang=0.00000
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=0.33570
shapecode_3_r=0.300
shapecode_3_g=0.500
shapecode_3_b=0.000
shapecode_3_a=0.700
shapecode_3_r2=0.000
shapecode_3_g2=0.000
shapecode_3_b2=0.000
shapecode_3_a2=0.000
shapecode_3_border_r=0.000
shapecode_3_border_g=0.000
shapecode_3_border_b=0.000
shapecode_3_border_a=0.000
shape_3_init1=n = 0; loop (1000, megabuf(n)= 0; n+=1);
shape_3_per_frame1=if (instance ==0, x = q15+0.5; y = q16+0.5; 
shape_3_per_frame2=  vol = max(bass,max(mid,treb));
shape_3_per_frame3=  decv = if (vol>vol_,0,0.8);
shape_3_per_frame4=  vol_ = vol_*decv + vol*(1-decv);
shape_3_per_frame5=  dec = 1-1/fps;
shape_3_per_frame6=  avg = avg*dec + (1-dec)*vol;
shape_3_per_frame7=  count = (vol_-avg*1.25)*(1+free/4)/2;; 
shape_3_per_frame8=  free = num_inst;
shape_3_per_frame9=,
shape_3_per_frame10=g=0; r=1; b=0;
shape_3_per_frame11=i = int (instance/2)+1;
shape_3_per_frame12=adr = i*8;
shape_3_per_frame13=if (megabuf(adr) > 50, megabuf(adr) = 0; megabuf(adr+3) = 0, 0);
shape_3_per_frame14=if ((count > i) && (megabuf(adr) <=0), 
shape_3_per_frame15=  megabuf(adr)=0; 
shape_3_per_frame16=  megabuf(adr+1)=reg77;  //z0
shape_3_per_frame17=  megabuf (adr+2) = i*3.14/2 + (rand(1)-0.5)/8; //angle
shape_3_per_frame18=  megabuf(adr+3)= max(0,1*sqrt(vol)) * (1+rand(1)*0.3); //speed
shape_3_per_frame19=  megabuf(adr+4) = rand(1);
shape_3_per_frame20=  megabuf(adr+5) = rand(1)*vol; //z slp
shape_3_per_frame21=,0);
shape_3_per_frame22=
shape_3_per_frame23=megabuf (adr) += 2/fps*megabuf(adr+3) * min (megabuf(adr)+0.2,1); //dist
shape_3_per_frame24=pos = megabuf(adr);
shape_3_per_frame25=k1 = megabuf(adr+2);
shape_3_per_frame26=ver = (instance%9)==0;ver=0;
shape_3_per_frame27=x0 = pos * cos(k1)*!ver;
shape_3_per_frame28=y0 = pos * sin(k1)*!ver;
shape_3_per_frame29=z0 = megabuf (adr+1)+ 0.2*sin(i+q11*3.14)+pos*ver + pos/1*exp(-pos*0.5)*megabuf(adr+5);
shape_3_per_frame30=if (instance%2==0, z0 = -z0; r=0; b=1;, 0);
shape_3_per_frame31=
shape_3_per_frame32=g = !b*0.8 ; r = max(0,(instance%3==0)*min(1,gmegabuf((2*frame+instance)%100)/2))*!b;
shape_3_per_frame33=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
shape_3_per_frame34=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
shape_3_per_frame35=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
shape_3_per_frame36=
shape_3_per_frame37=rad = min(1,pos*2)*(Nenner > 1)* (megabuf(adr) > 0) /nenner*q32 * max(0.3,min (0.6,megabuf(adr+3))) * 0.7;
shape_3_per_frame38=if (instance%2==0, rad*=2, 0);
shape_3_per_frame39=free -= megabuf(adr) > 0; 
shape_3_per_frame40=);
shape_3_per_frame41=reg98 = free;
per_frame_init_1=n = 0; loop (10000,gmegabuf(n) = 0; megabuf(n) = 0; n+=1);
per_frame_init_2=num_res = 80; MINBPM = 90; MAXBPM = 200;
per_frame_init_3=sax1 = rand(5); sax2 = rand(5); sax3 = rand(5);
per_frame_init_4=r1 = rand(1); r2 = rand(1); j0=j1=j2=0; r4 = rand(2)-1; 
per_frame_init_5=index = 1; nstabsoll = int(rand(10))+4;;
per_frame_init_6=r1_ = rand(1); r2_=rand(1);
per_frame_init_7=BMP=100; certain = 2; jrel=0; jtime = 0; smov=0;
per_frame_init_8=pi=3.1416;
per_frame_init_9=dist = 8;
per_frame_1=dt = 1/fps;
per_frame_2=dec_s = 1-.015*30/fps; dec_m = 1-0.1*30/fps; dec_f = 0.7;
per_frame_3=vol = vol*0.5 + 0.5*(2*bass_att + mid_att*0.8 + treb_att*0.8)/3; vol_ = vol_*dec_f + (1-dec_f)*vol;
per_frame_4=avg = avg*dec_m + (1-dec_m)*vol;
per_frame_5=
per_frame_6=is_beat = above(vol, 1.75*peak) * above (time, t0+.25);
per_frame_7=t0 = if(is_beat,time,t0);
per_frame_8=peak = if (is_beat, vol, peak*dec_m);
per_frame_9=index = (index + is_beat) %32;
per_frame_10=index2 = (index2 + is_beat*bnot(index))%16;
per_frame_11=
per_frame_12=//biquad lowpass
per_frame_13=fg = BPM/60; Q=1.8; omega = 2*pi*min(0.5,fg/fps); tcos = cos (omega); alpha = sin(omega)/(2*Q);
per_frame_14=b0=(1-tcos)/2; b1=1-tcos; b2=(1-tcos)/2; a0=1+alpha; a1=-2*tcos; a2=1-alpha;
per_frame_15=b0a0=b0/a0; b1a0=b1/a0; b2a0=b2/a0; a1a0=a1/a0; a2a0=a2/a0;
per_frame_16=X = vol; LastOut= b0a0*X + b1a0*in1 + b2a0*in2 - a1a0*ou1 - a2a0*ou2;
per_frame_17=in2 =in1; in1 =X; ou2 =ou1;  ou1 =LastOut; X =LastOut;
per_frame_18=BiVol=X;
per_frame_19=
per_frame_20=maxind = 0; qavg = 0.1; i=0; 
per_frame_21=Excite = (vol-vol_);
per_frame_22=loop (num_res,
per_frame_23=  n = i*8;
per_frame_24=  Freq  = (i/(num_res-1)+minbpm/(maxbpm-minbpm))*(maxbpm-minbpm)/60;
per_frame_25=  Feder = sqr(Freq*2*pi);
per_frame_26=  megabuf (n+4) = megabuf(n+1); megabuf (n+1) *= 1-0.25*dt; 
per_frame_27=  EC_Steps = int (10*Freq*dt)+1;
per_frame_28=  loop (EC_Steps, // Euler-Cauchy steps
per_frame_29=    Kraft = Excite - Feder*megabuf(n + 2) ;
per_frame_30=    megabuf (n+1) += Kraft        * dt/EC_Steps;
per_frame_31=    megabuf (n+2) += megabuf(n+1) * dt/EC_Steps;  );
per_frame_32=  beatcos = megabuf(n+1);  beatsin = megabuf(n+2)*Freq*2*pi;
per_frame_33=  quad = sqrt (pow(beatsin,2) + pow(beatcos,2));
per_frame_34=  megabuf (n+3) = megabuf(n+3) *dec_m +  quad* (1-dec_m);
per_frame_35=  if (megabuf(n+3) > megabuf (maxind*8+3), maxind =i,0);
per_frame_36=  qavg = qavg+pow (megabuf(n+3),2);
per_frame_37=  i += 1;);
per_frame_38=
per_frame_39=qavg = sqrt (qavg/num_res); 
per_frame_40=qdev = 0; i =0; loop (num_res, qdev += pow(megabuf(i+3)-qavg,2); i += 8; );
per_frame_41=qdev = sqrt (qdev/num_res);
per_frame_42=BPM =   (maxind/(num_res-1)+minbpm/(maxbpm-minbpm))*(maxbpm-minbpm);
per_frame_43=
per_frame_44=m1 = maxind*8;
per_frame_45=certain = certain * dec_m + (1-dec_m) * megabuf(m1+3)/qavg;
per_frame_46=dbl_beat = megabuf(m1+1) * megabuf (m1+4) < 0;
per_frame_47=sgl_beat = dbl_beat * (megabuf (m1+4) < 0);
per_frame_48=pulse = (megabuf(m1+2) > 0)-0.5;
per_frame_49=bcount += dbl_beat;is_rbeat  = dbl_beat && (bcount%2==0);bcount2 += is_rbeat;
per_frame_50=trel1 += BPM/60*dt;
per_frame_51=
per_frame_52=trig2 = is_beat && (index%12==0);
per_frame_53=r1 = if (trig2,(rand(17)-1)*0.1,r1); r1_ += min(0.1,max(-0.1, r1-r1_))*dt*5;
per_frame_54=r2 = if (trig2,rand(1)-0.5,r2);      r2_ += min(0.1,max(-0.1, r2-r2_))*dt*5;
per_frame_55=r3 = if (trig2,sqrt(vol)*0.7*sin(rand(24)),r3); r30 = r30*dec_m + (1-dec_m)*r3; r3_ += r30*dt;
per_frame_56=r4 = if (trig2, (rand(2)-1)*rand(2), r4); r4_ +=r4*dt;
per_frame_57=
per_frame_58=//Comp PLANE
per_frame_59=ax=-r1_; ay = r3_; az = r2_+j0*jrel;
per_frame_60=c1 = cos(ax); c2 = cos(ay); c3 = cos(az); s1 = sin(ax); s2 = sin(ay); s3 = sin(az);
per_frame_61=q20 = c2*c3;            q21 = c2*s3;            q22= -s2;
per_frame_62=q23 = s1*s2*c3 - c1*s3; q24 = s1*s2*s3 + c1*c3; q25 = s1*c2;
per_frame_63=q26 = c1*s2*c3 + s1*s3; q27 = c1*s2*s3 - s1*c3; q28 = c1*c2;
per_frame_64=q17 = s2*q24*2; q18 = c2*q24*2; //for Profile
per_frame_65=
per_frame_66=//persp. center
per_frame_67=jscale = min (1.2, pow(125/(1+BPM),2));
per_frame_68=if (dbl_beat, (j0=rand(2)-1)*jscale; j1=0; j2=((rand(6)-2))*jscale,0);
per_frame_69=jrelv = (certain>6.5-min(avg,2)-jrelv+jtime/8 + 2*(BPM > 160)) ; 
per_frame_70=jrel  = if(dbl_beat, jrelv,jrel);
per_frame_71=jtime = max(0,if (jrel, jtime + dt, jtime-dt)); 
per_frame_72=q7 = sin(r3_/7+r1_*4); q8 = 1.25+sin(r3_*.77+r1_)*.5*c1; //pfusch
per_frame_73=q9 = 10-j2*jrel; //z pos
per_frame_74=
per_frame_75=if ((index2%5==4) && !jrel, dist = min(20,dist+dt*80), dist = max(10,dist-dt*80));
per_frame_76=dist_ = dist_*dec_m + (1-dec_m)*dist;
per_frame_77=
per_frame_78=q9 = dist_;
per_frame_79=
per_frame_80=trig1 = is_beat && (index%16==0); 
per_frame_81=sax1 = if (trig1, rand(12), sax1);
per_frame_82=sax2 = if (trig1, rand(12), sax2);
per_frame_83=sax3 = if (trig1, rand(6), sax3);
per_frame_84=sax4 = if (trig1, rand(1)-0.5, sax4);
per_frame_85=nstabsoll = if (trig1 && (index2%2==0), int(rand(10)*rand(10)+4), nstabsoll);
per_frame_86=nstab = if (nstabsoll>nstab, nstab+1, if (nstabsoll<nstab, nstab-1,nstab));
per_frame_87=
per_frame_88=//delay chain
per_frame_89=n = 100; loop (100, gmegabuf(n)=gmegabuf(n-1); n-=1); gmegabuf(0) = vol;
per_frame_90=
per_frame_91=//resampled delay chain starts at 500. 
per_frame_92=n = 0; num = 60/BPM/dt; //Num delay bins auf nstab abbilden
per_frame_93=sca =   num/nstab;
per_frame_94=loop (nstab,
per_frame_95=  m1 = floor (sca*n); fra = sca*n-m1;
per_frame_96=  gmegabuf(500+n) = (1-fra)*gmegabuf(m1) + fra*gmegabuf(m1+1);
per_frame_97=n +=1);
per_frame_98=
per_frame_99=//2nd resampled delay chain starts at 5000. 
per_frame_100=n = 0; num = 60/BPM/dt; //Num delay bins auf nstab abbilden
per_frame_101=sca =   num/200;
per_frame_102=dec = 0.5;
per_frame_103=loop (200,
per_frame_104=  m1 = floor (sca*n); fra = sca*n-m1;
per_frame_105=  gmegabuf(5000+n) = dec*gmegabuf(5000+n) + (1-dec)*1.5*sqrt((1-fra)*gmegabuf(m1) + fra*gmegabuf(m1+1));
per_frame_106=n +=1);
per_frame_107=
per_frame_108=//Now to stabs
per_frame_109=slen = 2; sdia = 0.13;
per_frame_110=n = 100;
per_frame_111=loop (100,
per_frame_112=  megabuf(5000+n)=megabuf(5000+n-1);
per_frame_113=  megabuf(6000+n)=megabuf(6000+n-1);
per_frame_114=  megabuf(7000+n)=megabuf(7000+n-1);
per_frame_115=  megabuf(8000+n)=megabuf(8000+n-1);
per_frame_116=n-=1);;
per_frame_117=megabuf (5000) = megabuf(5000)*dec_f + (1-dec_f)*sax1;
per_frame_118=megabuf (6000) = megabuf(6000)*dec_f + (1-dec_f)*sax2;
per_frame_119=megabuf (7000) = megabuf(7000)*dec_f + (1-dec_f)*sax3;
per_frame_120=megabuf (8000) = BiVol;
per_frame_121=
per_frame_122=p = 1; 
per_frame_123=loop (2, 
per_frame_124=  stab = 0;
per_frame_125=  loop (nstab,
per_frame_126=    xang = megabuf(5000+25*stab/nstab); yang = megabuf(6000+30*stab/nstab); zang = 0;
per_frame_127=    dia = megabuf(7000+20*stab/nstab) ;
per_frame_128=    c1 = cos(xang); c2 = cos(yang); c3 = cos(zang); 
per_frame_129=    s1 = sin(xang); s2 = sin(yang); s3 = sin(zang);
per_frame_130=    ox = 0; oy = 0;  if (p==1, oz = -slen, oz=slen); ;
per_frame_131=    mx = ox*c3 - oy*s3; my = ox*s3 + oy*c3;    ox = mx; oy = my;
per_frame_132=    mx = ox*c2 + oz*s2; mz = - ox*s2 + oz*c2;  ox = mx; oz = mz;
per_frame_133=    my = oy*c1 - oz*s1; mz = oy*s1 + oz*c1;    oy = my; oz = mz;
per_frame_134=    x0 = ox+dia/2; y0 = oy; z0 = oz+slen+.1;
per_frame_135=
per_frame_136=x0 += pow(cos(stab/nstab*index2 + trel1*pi/2),3)*certain/3;
per_frame_137=z0 += pow(sin(stab/nstab*(8-index2) + trel1*pi/3),3)*certain/3;
per_frame_138=x0 += 4*(sax1*certain*q9/10>sax2*24)*pow(sin(trel1*pi/2+stab/nstab*pi*4),5);
per_frame_139=
per_frame_140=    xang = 0; yang = 0; zang = 2*pi * stab/nstab+r4_; //alle Stebe anordnen
per_frame_141=    ox = x0; oy=y0;  oz=z0;  
per_frame_142=    c1 = cos(xang); c2 = cos(yang); c3 = cos(zang); 
per_frame_143=    s1 = sin(xang); s2 = sin(yang); s3 = sin(zang);
per_frame_144=    mx = ox*c3 - oy*s3; my = ox*s3 + oy*c3;    ox = mx; oy = my;
per_frame_145=    mx = ox*c2 + oz*s2; mz = - ox*s2 + oz*c2;  ox = mx; oz = mz;
per_frame_146=    my = oy*c1 - oz*s1; mz = oy*s1 + oz*c1;    oy = my; oz = mz;
per_frame_147=    oz += max(0,certain-2.5)/5*BiVol/(0.2+sqrt(ox*ox+oy*oy));
per_frame_148=
per_frame_149=    base = p*1000+4*stab;
per_frame_150=    gmegabuf (base)=ox;
per_frame_151=    gmegabuf (base+1)=oy;
per_frame_152=    gmegabuf (base+2)=oz;
per_frame_153=stab += 1); 
per_frame_154=p += 1);
per_frame_155=
per_frame_156=reg33 = index2%2;
per_frame_157=reg32 = is_beat ;
per_frame_158=q3 = min(vol_,3)*1.5;
per_frame_159=q11 = trel1;
per_frame_160=
per_frame_161=reg10 = nstab; 
per_frame_162=reg11 = sdia; //Dicke Stab
per_frame_163=q31 = aspectx;
per_frame_164=q32 = aspecty;
per_frame_165=q19 = min(3,1/pow(avg+0.1,0.7))*1.7;
per_frame_166=
per_frame_167=
per_frame_168=//shape 4
per_frame_169=r0 = 0.38-0.4*gmegabuf(5000);
per_frame_170=x0 = 0;
per_frame_171=y0 = 0;
per_frame_172=z0 = 2*-r0+0.5; 
per_frame_173=reg77 = z0; //fuer shape 4
per_frame_174=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
per_frame_175=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
per_frame_176=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
per_frame_177=q15 = x-0.5; q16 = y-0.5;
per_frame_178=
per_frame_179=z0 = -z0;
per_frame_180=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
per_frame_181=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
per_frame_182=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
per_frame_183=q5 = x-0.5; q6 = y-0.5;
per_frame_184=
per_frame_185=//back light comp
per_frame_186=circ = ((index2/2)%2==0); 
per_frame_187=if (circ,
per_frame_188=x0 = sin (trel1*pi/2)*50;
per_frame_189=y0 = cos (trel1*pi/2)*50;
per_frame_190=,
per_frame_191=x0 = sin (bcount+r1)*50;
per_frame_192=y0 = cos (bcount+r1)*50;
per_frame_193=);
per_frame_194=
per_frame_195=z0 = 3;
per_frame_196=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
per_frame_197=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
per_frame_198=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
per_frame_199=q1 = x-0.5; q2 = y-0.5;
per_frame_200=q31 = nenner > 0;
per_frame_201=
per_frame_202=z0 = -3;
per_frame_203=Nenner = q9 + q28*x0 + q26*y0 - q27*z0;
per_frame_204=x = (q7 + q22*x0 + q20*y0 -q21*z0)/Nenner + 0.5;
per_frame_205=y = -(q8 + q25*x0 + q23*y0 -q24*z0 )/Nenner*q32 +0.5;
per_frame_206=q10 = x-0.5; q12 = y-0.5;
per_frame_207=
per_frame_208=s4 = s4*0.5 + 0.5*(sax4 * (certain*2 > index2));
per_frame_209=tband += .05*abs(s4)*dt;
per_frame_210=q30 = tband; //tile move
per_pixel_1=dx = 0; dy = 0; zoom = 1.005; rot = 0.;
warp_1=`shader_body {
warp_2=`
warp_3=`ret.r = GetBlur3(uv).r*0.6*(1-GetBlur1(uv).r/2);
warp_4=`ret.r = max (ret.r,GetPixel(uv).r*0.);
warp_5=`
warp_6=`}
comp_1=`#define sat saturate
comp_2=`sampler sampler_pw_noise_lq;
comp_3=`float stars, smask, gmask;
comp_4=`float2 dz, uv0, uv1,uv2, uv3, uv4,smoke;
comp_5=`float3 rs, rs2, rs0, gnd, gnd1, gnd2,screen,rip;
comp_6=`static const float3 t = float3(q20,q23,q26), s = float3(q22,q25,q28);
comp_7=`static const float3 ts = cross(t,s);
comp_8=`static const float2 hor = texsize.zw*float2(2,0), ver = texsize.zw*float2(0,2);
comp_9=`static const float3 centre = float3(q7,q8,q9);
comp_10=`static const float abo=sat(40*q27), gk = max(1,10/q9), tstars = time*0.01;
comp_11=`
comp_12=`float3 col (float c) {return pow (c,1+1.5*roam_sin);}
comp_13=`
comp_14=`float2 noise3 (float2 uvi) {uvi*=0.6;
comp_15=`  return sat(tex2D(sampler_noise_hq,uvi)
comp_16=`         +tex2D(sampler_noise_hq,uvi*4)/3-0.4); }
comp_17=`
comp_18=`float3 tile (float2 uvi)
comp_19=`  {return tex2D(sampler_pw_noise_lq,uvi);} 
comp_20=`
comp_21=`float3 project () {float z; 
comp_22=`  z = .08/mul(ts,screen); //z = min(1.,max(-1,z));
comp_23=`  return float3((mul(float2x3(t,s),cross(ts,cross(centre,screen)))*z),-z);}
comp_24=`
comp_25=`shader_body {
comp_26=`uv0 = uv;
comp_27=`dz.x = 2.0*GetBlur1(uv+hor*gk).g-2.0*GetBlur1(uv-hor*gk).g;
comp_28=`dz.y = 2.0*GetBlur1(uv+ver*gk).g-2.0*GetBlur1(uv-ver*gk).g;
comp_29=`dz *= GetBlur1(uv).g > 0.04;
comp_30=`dz *= max(1,GetBlur2(uv).g*8);
comp_31=`
comp_32=`screen = float3 ((uv-0.5)*aspect.xy+dz*0.25,1);
comp_33=`rs = project(); float lrs = length(rs.xy);
comp_34=`gmask = sat (1-.1*lrs) * (rs.z>0);
comp_35=`gmask *= sat (2-10*min(abs(rs.x),abs(rs.y)));
comp_36=`float gm0 = gmask;
comp_37=`uv2 = (rs)*0.15/(1+lrs*0.25);
comp_38=`//uv2 += float2(0,q30)* (abs (uv2.x) < 3.0/4/64);
comp_39=`
comp_40=`rip = tex2D(sampler_noise_lq,uv2*32*tex2D(sampler_pw_noise_lq,uv2));
comp_41=`gnd1 = tile(uv2); 
comp_42=`gnd2 = tile(uv2+0.0002*float2(q17,q18)); 
comp_43=`gmask = sat (gmask*3-2*dot(gnd1,gnd1));
comp_44=`gnd  = sat(gnd1 + -lum(gnd1-gnd2)*3);
comp_45=`float zblend = sat(abo-lrs/8);
comp_46=`smoke = 0.06*noise3(uv2-tstars*4).xy *zblend;
comp_47=`
comp_48=`stars = 0; smask = 0;
comp_49=`uv4 = uv2*.1 +tstars*float2(1,0.02) + 0.01*gnd;
comp_50=`smask = tex2D (sampler_pw_noise_lq,uv4)>.8;
comp_51=`stars = 1/length(abs(frac(uv4*256+ rip*0.1)-.5))*smask;
comp_52=`
comp_53=`uv4 = uv2*.1 +tstars*float2(0.02,1) + 0.01*gnd;
comp_54=`//uv4 = uv4.yx;
comp_55=`smask = tex2D (sampler_pw_noise_lq,uv4)>.8;
comp_56=`//stars += 1/length(abs(frac(uv4*256+ rip*0.1)-.5))*smask;
comp_57=`
comp_58=`ret.b += (1-uv.y)*0.2;
comp_59=`ret += gnd*gmask*(.15+stars*stars*0.01)*abo;
comp_60=`
comp_61=`// Dioden
comp_62=`uv4 = uv0+dz*0.05;
comp_63=`float3 dio = max(1.5*max(GetPixel(uv4).r,GetBlur1(uv4).r),GetBlur3(uv4).r);
comp_64=`ret += col(dio)*q3;
comp_65=`
comp_66=`// Spiegelung
comp_67=`float2 dref = rip.xy*0.018;
comp_68=`float2 uvm = uv4-dref;
comp_69=`float3 mirr = GetBlur1(uvm).b;
comp_70=`ret += gmask*abo * (uv0.y < 0.99)* (uv0.y > 0.01)* col(mirr)*(1+gnd) ;
comp_71=`
comp_72=`//smoke
comp_73=`ret += smoke.x*q19;
comp_74=`
comp_75=`//orb
comp_76=`uv1 = ((uv0-0.5)-float2(q15,-q16))*aspect.xy+dz*0.2;
comp_77=`ret += 0.00015/pow(length(uv1),2)*treb;
comp_78=`uv1 = ((uv0-0.5)-float2(q5,-q6))*aspect.xy+rip*.02;
comp_79=`ret += 0.0007/pow(length(uv1),2)*abo*treb*gnd*gmask;
comp_80=`
comp_81=`
comp_82=`//Glas
comp_83=`float refl = GetBlur1(uv0+dz*0.25).g/2;
comp_84=`ret += refl*(1+roam_cos);
comp_85=`
comp_86=`//back light
comp_87=`float bl = 0;
comp_88=`uv1 = ((uv0-0.5)-rs*0-float2(q1,-q2))*aspect.xy+dz*4;
comp_89=`bl += .08/length(uv1)*sat(1-gm0);;
comp_90=`uv1 = ((uv0-0.5)-rs*0-float2(q10,-q12))*aspect.xy+gnd*0.1+dz*2+rip*.0;
comp_91=`bl += pow(.12/length(uv1),2)*gmask;
comp_92=`
comp_93=`ret += q31*bl*(1+mid_att/2)*sat(1-smoke.x*32*rand_preset.x)*roam_cos;
comp_94=`
comp_95=`ret = 1-exp(-ret*1.9);
comp_96=`}
comp_97=`
comp_98=`//-------------------------------------------
comp_99=`//Written by martin
comp_100=`
