[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=0.990000
fVideoEchoZoom=1.000000
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.000000
fWaveScale=0.608039
fWaveSmoothing=0.750000
fWaveParam=-0.400000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=0.000000
zoom=1.000000
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.000000
sx=1.000000
sy=1.000000
wave_r=0.500000
wave_g=0.500000
wave_b=0.500000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.000000
ib_r=0.000000
ib_g=0.000000
ib_b=0.000000
ib_a=0.000000
nMotionVectorsX=64.000000
nMotionVectorsY=48.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.000000
mv_r=0.000000
mv_g=0.700000
mv_b=1.000000
mv_a=0.000000
wavecode_0_enabled=1
wavecode_0_samples=512
wavecode_0_sep=0
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=1
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=0
wavecode_0_scaling=1.000000
wavecode_0_smoothing=0.500000
wavecode_0_r=1.000000
wavecode_0_g=1.000000
wavecode_0_b=0.700000
wavecode_0_a=1.000000
wave_0_per_frame1=h=q5;
wave_0_per_frame2=s = 0.7;
wave_0_per_frame3=l= 0.8;
wave_0_per_frame4=///////////////////////////////////////////////////////////////////////////////////////////////
wave_0_per_frame5=//
wave_0_per_frame6=//                            HSL to RGB by PieturP
wave_0_per_frame7=//
wave_0_per_frame8=// hue         h ( 0 - 0.9 )                          rr ( 0 - 1 )
wave_0_per_frame9=// saturation  s ( 0 - 1 )            - >             gg ( 0 - 1 )
wave_0_per_frame10=// luminance   l ( 0 - 1 )                            bb ( 0 - 1 )
wave_0_per_frame11=//
wave_0_per_frame12=cc=(6*h);
wave_0_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5)))));
wave_0_per_frame14=zf=(6*h)-cc;
wave_0_per_frame15=zm=l;
wave_0_per_frame16=zp=l*(1-s);
wave_0_per_frame17=zq=l*(1-s*zf);
wave_0_per_frame18=zt=l*(1-s*(1-zf));
wave_0_per_frame19=monitor=zq;
wave_0_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm)))));
wave_0_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp)))));
wave_0_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq)))));
wave_0_per_frame23=rr=if(equal(s,0),l,rr);
wave_0_per_frame24=gg=if(equal(s,0),l,gg);
wave_0_per_frame25=bb=if(equal(s,0),l,bb);
wave_0_per_frame26=
wave_0_per_frame27=///////////////////////////////////////////////////////////////////////////////////////////////
wave_0_per_frame28=r=rr;
wave_0_per_frame29=g=gg;
wave_0_per_frame30=b=bb;
wave_0_per_point1=n=sample*6.283;
wave_0_per_point2=phs=-sample * 0.2;
wave_0_per_point3=tm=q4 + phs*4;
wave_0_per_point4=
wave_0_per_point5=flip=flip+1;
wave_0_per_point6=flip=flip*below(flip,2);
wave_0_per_point7=
wave_0_per_point8=xp=0;
wave_0_per_point9=yp=(flip*0.1-0.05)*(sample);
wave_0_per_point10=zp=0;
wave_0_per_point11=
wave_0_per_point12=//spin;
wave_0_per_point13=ang=tm*20 + sin(tm*76 + time*4)*0.4;
wave_0_per_point14=sa=sin(ang);ca=cos(ang);
wave_0_per_point15=xr=xp*sa + yp*ca;
wave_0_per_point16=yr=xp*ca - yp*sa;
wave_0_per_point17=zr=zp;
wave_0_per_point18=
wave_0_per_point19=xp=xr;
wave_0_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05;
wave_0_per_point21=zp=zr;
wave_0_per_point22=
wave_0_per_point23=//wrist movement;
wave_0_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248));
wave_0_per_point25=
wave_0_per_point26=xq=xp;
wave_0_per_point27=sa=sin(ang);ca=cos(ang);
wave_0_per_point28=yq=yp*sa + zp*ca;
wave_0_per_point29=zq=yp*ca - zp*sa;
wave_0_per_point30=
wave_0_per_point31=
wave_0_per_point32=ang=tm*8;
wave_0_per_point33=sa=sin(ang);ca=cos(ang);
wave_0_per_point34=xp=xq*sa + yq*ca;
wave_0_per_point35=yp=xq*ca - yq*sa;
wave_0_per_point36=zp=zq;
wave_0_per_point37=
wave_0_per_point38=//forearm movement;
wave_0_per_point39=zp=zp-0.3;
wave_0_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25;
wave_0_per_point41=xq=xp;
wave_0_per_point42=sa=sin(ang);ca=cos(ang);
wave_0_per_point43=yq=yp*sa + zp*ca;
wave_0_per_point44=zq=yp*ca - zp*sa;
wave_0_per_point45=
wave_0_per_point46=//upper arm twist
wave_0_per_point47=ang=-1.0 + cos(tm*3 + 0.5);
wave_0_per_point48=xp=xq*sa + yq*ca;
wave_0_per_point49=yp=xq*ca - yq*sa;
wave_0_per_point50=zp=zq;
wave_0_per_point51=
wave_0_per_point52=//upper arm outward;
wave_0_per_point53=zp=zp-0.35;
wave_0_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05;
wave_0_per_point55=sa=sin(ang);ca=cos(ang);
wave_0_per_point56=xq=xp*sa + zp*ca;
wave_0_per_point57=yq=yp;
wave_0_per_point58=zq=xp*ca - zp*sa;
wave_0_per_point59=
wave_0_per_point60=//upper arm up down;
wave_0_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm));
wave_0_per_point62=xp=xq;
wave_0_per_point63=sa=sin(ang);ca=cos(ang);
wave_0_per_point64=yp=yq*ca - zq*sa;
wave_0_per_point65=zp=yq*sa + zq*ca;
wave_0_per_point66=
wave_0_per_point67=//xp=xq;yp=yq;zp=zq;
wave_0_per_point68=
wave_0_per_point69=
wave_0_per_point70=//project into screenspace and draw on screen
wave_0_per_point71=zp=zp+1.5;
wave_0_per_point72=xs=xp/zp;
wave_0_per_point73=ys=yp/zp;
wave_0_per_point74=
wave_0_per_point75=x=xs+0.5;
wave_0_per_point76=y=ys*1.3+0.5;
wave_0_per_point77=
wave_0_per_point78=
wave_0_per_point79=a=(1-sample);
wave_0_per_point80=
wavecode_1_enabled=1
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=1
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=1.000000
wavecode_1_smoothing=0.500000
wavecode_1_r=1.000000
wavecode_1_g=0.900000
wavecode_1_b=0.800000
wavecode_1_a=1.000000
wave_1_per_frame1=h=q5;
wave_1_per_frame2=s = 0.7;
wave_1_per_frame3=l= 0.6;
wave_1_per_frame4=///////////////////////////////////////////////////////////////////////////////////////////////
wave_1_per_frame5=//
wave_1_per_frame6=//                            HSL to RGB by PieturP
wave_1_per_frame7=//
wave_1_per_frame8=// hue         h ( 0 - 0.9 )                          rr ( 0 - 1 )
wave_1_per_frame9=// saturation  s ( 0 - 1 )            - >             gg ( 0 - 1 )
wave_1_per_frame10=// luminance   l ( 0 - 1 )                            bb ( 0 - 1 )
wave_1_per_frame11=//
wave_1_per_frame12=cc=(6*h);
wave_1_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5)))));
wave_1_per_frame14=zf=(6*h)-cc;
wave_1_per_frame15=zm=l;
wave_1_per_frame16=zp=l*(1-s);
wave_1_per_frame17=zq=l*(1-s*zf);
wave_1_per_frame18=zt=l*(1-s*(1-zf));
wave_1_per_frame19=monitor=zq;
wave_1_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm)))));
wave_1_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp)))));
wave_1_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq)))));
wave_1_per_frame23=rr=if(equal(s,0),l,rr);
wave_1_per_frame24=gg=if(equal(s,0),l,gg);
wave_1_per_frame25=bb=if(equal(s,0),l,bb);
wave_1_per_frame26=
wave_1_per_frame27=///////////////////////////////////////////////////////////////////////////////////////////////
wave_1_per_frame28=r=rr;
wave_1_per_frame29=g=gg;
wave_1_per_frame30=b=bb;
wave_1_per_point1=n=sample*6.283;
wave_1_per_point2=phs=-sample * 0.4 ;
wave_1_per_point3=tm=q4 + phs*2 - 0.01;
wave_1_per_point4=
wave_1_per_point5=flip=flip+1;
wave_1_per_point6=flip=flip*below(flip,2);
wave_1_per_point7=
wave_1_per_point8=xp=0;
wave_1_per_point9=yp=(flip*0.2-0.1)*(sample);
wave_1_per_point10=zp=0;
wave_1_per_point11=
wave_1_per_point12=//spin;
wave_1_per_point13=ang=-tm*29 + sin(tm*76 + time*4)*0.4;;
wave_1_per_point14=sa=sin(ang);ca=cos(ang);
wave_1_per_point15=xr=xp*sa + yp*ca;
wave_1_per_point16=yr=xp*ca - yp*sa;
wave_1_per_point17=zr=zp;
wave_1_per_point18=
wave_1_per_point19=xp=xr;
wave_1_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05;
wave_1_per_point21=zp=zr;
wave_1_per_point22=
wave_1_per_point23=//wrist movement;
wave_1_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248));
wave_1_per_point25=
wave_1_per_point26=xq=xp;
wave_1_per_point27=sa=sin(ang);ca=cos(ang);
wave_1_per_point28=yq=yp*sa + zp*ca;
wave_1_per_point29=zq=yp*ca - zp*sa;
wave_1_per_point30=
wave_1_per_point31=
wave_1_per_point32=ang=tm*8;
wave_1_per_point33=sa=sin(ang);ca=cos(ang);
wave_1_per_point34=xp=xq*sa + yq*ca;
wave_1_per_point35=yp=xq*ca - yq*sa;
wave_1_per_point36=zp=zq;
wave_1_per_point37=
wave_1_per_point38=//forearm movement;
wave_1_per_point39=zp=zp-0.3;
wave_1_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25;
wave_1_per_point41=xq=xp;
wave_1_per_point42=sa=sin(ang);ca=cos(ang);
wave_1_per_point43=yq=yp*sa + zp*ca;
wave_1_per_point44=zq=yp*ca - zp*sa;
wave_1_per_point45=
wave_1_per_point46=//upper arm twist
wave_1_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867));
wave_1_per_point48=xp=xq*sa + yq*ca;
wave_1_per_point49=yp=xq*ca - yq*sa;
wave_1_per_point50=zp=zq;
wave_1_per_point51=
wave_1_per_point52=//upper arm outward;
wave_1_per_point53=zp=zp-0.35;
wave_1_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05;
wave_1_per_point55=sa=sin(ang);ca=cos(ang);
wave_1_per_point56=xq=xp*sa + zp*ca;
wave_1_per_point57=yq=yp;
wave_1_per_point58=zq=xp*ca - zp*sa;
wave_1_per_point59=
wave_1_per_point60=//upper arm up down;
wave_1_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm));
wave_1_per_point62=xp=xq;
wave_1_per_point63=sa=sin(ang);ca=cos(ang);
wave_1_per_point64=yp=yq*ca - zq*sa;
wave_1_per_point65=zp=yq*sa + zq*ca;
wave_1_per_point66=
wave_1_per_point67=//xp=xq;yp=yq;zp=zq;
wave_1_per_point68=
wave_1_per_point69=
wave_1_per_point70=//project into screenspace and draw on screen
wave_1_per_point71=zp=zp+1.5;
wave_1_per_point72=xs=xp/zp;
wave_1_per_point73=ys=yp/zp;
wave_1_per_point74=
wave_1_per_point75=x=xs+0.5;
wave_1_per_point76=y=ys*1.3+0.5;
wave_1_per_point77=
wave_1_per_point78=
wave_1_per_point79=a=(1-sample);
wave_1_per_point80=
wavecode_2_enabled=1
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=1
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=1.000000
wavecode_2_smoothing=0.500000
wavecode_2_r=1.000000
wavecode_2_g=0.720000
wavecode_2_b=0.100000
wavecode_2_a=1.000000
wave_2_per_frame1=h=q5;
wave_2_per_frame2=s = 0.8;
wave_2_per_frame3=l= 0.5;
wave_2_per_frame4=///////////////////////////////////////////////////////////////////////////////////////////////
wave_2_per_frame5=//
wave_2_per_frame6=//                            HSL to RGB by PieturP
wave_2_per_frame7=//
wave_2_per_frame8=// hue         h ( 0 - 0.9 )                          rr ( 0 - 1 )
wave_2_per_frame9=// saturation  s ( 0 - 1 )            - >             gg ( 0 - 1 )
wave_2_per_frame10=// luminance   l ( 0 - 1 )                            bb ( 0 - 1 )
wave_2_per_frame11=//
wave_2_per_frame12=cc=(6*h);
wave_2_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5)))));
wave_2_per_frame14=zf=(6*h)-cc;
wave_2_per_frame15=zm=l;
wave_2_per_frame16=zp=l*(1-s);
wave_2_per_frame17=zq=l*(1-s*zf);
wave_2_per_frame18=zt=l*(1-s*(1-zf));
wave_2_per_frame19=monitor=zq;
wave_2_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm)))));
wave_2_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp)))));
wave_2_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq)))));
wave_2_per_frame23=rr=if(equal(s,0),l,rr);
wave_2_per_frame24=gg=if(equal(s,0),l,gg);
wave_2_per_frame25=bb=if(equal(s,0),l,bb);
wave_2_per_frame26=
wave_2_per_frame27=///////////////////////////////////////////////////////////////////////////////////////////////
wave_2_per_frame28=r=rr;
wave_2_per_frame29=g=gg;
wave_2_per_frame30=b=bb;
wave_2_per_point1=n=sample*6.283;
wave_2_per_point2=phs=-sample * 0.4 ;
wave_2_per_point3=tm=q4 + phs*2 - 0.02;
wave_2_per_point4=
wave_2_per_point5=flip=flip+1;
wave_2_per_point6=flip=flip*below(flip,2);
wave_2_per_point7=
wave_2_per_point8=xp=0;
wave_2_per_point9=yp=(flip*0.4-0.2)*(sample);
wave_2_per_point10=zp=0;
wave_2_per_point11=
wave_2_per_point12=//spin;
wave_2_per_point13=ang=tm*23 + sin(tm*76 + time*4)*0.3;;
wave_2_per_point14=sa=sin(ang);ca=cos(ang);
wave_2_per_point15=xr=xp*sa + yp*ca;
wave_2_per_point16=yr=xp*ca - yp*sa;
wave_2_per_point17=zr=zp;
wave_2_per_point18=
wave_2_per_point19=xp=xr;
wave_2_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05;
wave_2_per_point21=zp=zr;
wave_2_per_point22=
wave_2_per_point23=//wrist movement;
wave_2_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248));
wave_2_per_point25=
wave_2_per_point26=xq=xp;
wave_2_per_point27=sa=sin(ang);ca=cos(ang);
wave_2_per_point28=yq=yp*sa + zp*ca;
wave_2_per_point29=zq=yp*ca - zp*sa;
wave_2_per_point30=
wave_2_per_point31=
wave_2_per_point32=ang=tm*8;
wave_2_per_point33=sa=sin(ang);ca=cos(ang);
wave_2_per_point34=xp=xq*sa + yq*ca;
wave_2_per_point35=yp=xq*ca - yq*sa;
wave_2_per_point36=zp=zq;
wave_2_per_point37=
wave_2_per_point38=//forearm movement;
wave_2_per_point39=zp=zp-0.3;
wave_2_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25;
wave_2_per_point41=xq=xp;
wave_2_per_point42=sa=sin(ang);ca=cos(ang);
wave_2_per_point43=yq=yp*sa + zp*ca;
wave_2_per_point44=zq=yp*ca - zp*sa;
wave_2_per_point45=
wave_2_per_point46=//upper arm twist
wave_2_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867));
wave_2_per_point48=xp=xq*sa + yq*ca;
wave_2_per_point49=yp=xq*ca - yq*sa;
wave_2_per_point50=zp=zq;
wave_2_per_point51=
wave_2_per_point52=//upper arm outward;
wave_2_per_point53=zp=zp-0.35;
wave_2_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05;
wave_2_per_point55=sa=sin(ang);ca=cos(ang);
wave_2_per_point56=xq=xp*sa + zp*ca;
wave_2_per_point57=yq=yp;
wave_2_per_point58=zq=xp*ca - zp*sa;
wave_2_per_point59=
wave_2_per_point60=//upper arm up down;
wave_2_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm));
wave_2_per_point62=xp=xq;
wave_2_per_point63=sa=sin(ang);ca=cos(ang);
wave_2_per_point64=yp=yq*ca - zq*sa;
wave_2_per_point65=zp=yq*sa + zq*ca;
wave_2_per_point66=
wave_2_per_point67=//xp=xq;yp=yq;zp=zq;
wave_2_per_point68=
wave_2_per_point69=
wave_2_per_point70=//project into screenspace and draw on screen
wave_2_per_point71=zp=zp+1.5;
wave_2_per_point72=xs=xp/zp;
wave_2_per_point73=ys=yp/zp;
wave_2_per_point74=
wave_2_per_point75=x=xs+0.5;
wave_2_per_point76=y=ys*1.3+0.5;
wave_2_per_point77=
wave_2_per_point78=
wave_2_per_point79=a=(1-sample);
wavecode_3_enabled=1
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=1
wavecode_3_bDrawThick=1
wavecode_3_bAdditive=0
wavecode_3_scaling=1.000000
wavecode_3_smoothing=0.500000
wavecode_3_r=1.000000
wavecode_3_g=0.700000
wavecode_3_b=0.500000
wavecode_3_a=1.000000
wave_3_per_frame1=h=q5;
wave_3_per_frame2=s = 0.75;
wave_3_per_frame3=l= 0.4;
wave_3_per_frame4=///////////////////////////////////////////////////////////////////////////////////////////////
wave_3_per_frame5=//
wave_3_per_frame6=//                            HSL to RGB by PieturP
wave_3_per_frame7=//
wave_3_per_frame8=// hue         h ( 0 - 0.9 )                          rr ( 0 - 1 )
wave_3_per_frame9=// saturation  s ( 0 - 1 )            - >             gg ( 0 - 1 )
wave_3_per_frame10=// luminance   l ( 0 - 1 )                            bb ( 0 - 1 )
wave_3_per_frame11=//
wave_3_per_frame12=cc=(6*h);
wave_3_per_frame13=cc=if(below(cc,1),0,if(below(cc,2),1,if(below(cc,3),2,if(below(cc,4),3,if(below(cc,5),4,5)))));
wave_3_per_frame14=zf=(6*h)-cc;
wave_3_per_frame15=zm=l;
wave_3_per_frame16=zp=l*(1-s);
wave_3_per_frame17=zq=l*(1-s*zf);
wave_3_per_frame18=zt=l*(1-s*(1-zf));
wave_3_per_frame19=monitor=zq;
wave_3_per_frame20=rr=if(equal(cc,0),zm,if(equal(cc,1),zq,if(equal(cc,2),zp,if(equal(cc,3),zp,if(equal(cc,4),zt,zm)))));
wave_3_per_frame21=gg=if(equal(cc,0),zt,if(equal(cc,1),zm,if(equal(cc,2),zm,if(equal(cc,3),zq,if(equal(cc,4),zp,zp)))));
wave_3_per_frame22=bb=if(equal(cc,0),zp,if(equal(cc,1),zp,if(equal(cc,2),zt,if(equal(cc,3),zm,if(equal(cc,4),zm,zq)))));
wave_3_per_frame23=rr=if(equal(s,0),l,rr);
wave_3_per_frame24=gg=if(equal(s,0),l,gg);
wave_3_per_frame25=bb=if(equal(s,0),l,bb);
wave_3_per_frame26=
wave_3_per_frame27=///////////////////////////////////////////////////////////////////////////////////////////////
wave_3_per_frame28=r=rr;
wave_3_per_frame29=g=gg;
wave_3_per_frame30=b=bb;
wave_3_per_point1=n=sample*6.283;
wave_3_per_point2=phs=-sample * 0.4 ;
wave_3_per_point3=tm=q4 + phs*2 - 0.03;
wave_3_per_point4=
wave_3_per_point5=flip=flip+1;
wave_3_per_point6=flip=flip*below(flip,2);
wave_3_per_point7=
wave_3_per_point8=xp=0;
wave_3_per_point9=yp=(flip*0.6-0.3)*(sample);
wave_3_per_point10=zp=0;
wave_3_per_point11=
wave_3_per_point12=//spin;
wave_3_per_point13=ang=-tm*4 + sin(tm*76 + time*4)*0.2;;
wave_3_per_point14=sa=sin(ang);ca=cos(ang);
wave_3_per_point15=xr=xp*sa + yp*ca;
wave_3_per_point16=yr=xp*ca - yp*sa;
wave_3_per_point17=zr=zp;
wave_3_per_point18=
wave_3_per_point19=xp=xr;
wave_3_per_point20=yp=yr + 0.05 + (sin(tm)*0.5 + 0.5)*0.2 + 0.05;
wave_3_per_point21=zp=zr;
wave_3_per_point22=
wave_3_per_point23=//wrist movement;
wave_3_per_point24=ang=0.5*(sin(tm*2)+sin(tm*1.248));
wave_3_per_point25=
wave_3_per_point26=xq=xp;
wave_3_per_point27=sa=sin(ang);ca=cos(ang);
wave_3_per_point28=yq=yp*sa + zp*ca;
wave_3_per_point29=zq=yp*ca - zp*sa;
wave_3_per_point30=
wave_3_per_point31=
wave_3_per_point32=ang=tm*8;
wave_3_per_point33=sa=sin(ang);ca=cos(ang);
wave_3_per_point34=xp=xq*sa + yq*ca;
wave_3_per_point35=yp=xq*ca - yq*sa;
wave_3_per_point36=zp=zq;
wave_3_per_point37=
wave_3_per_point38=//forearm movement;
wave_3_per_point39=zp=zp-0.3;
wave_3_per_point40=ang=3.14 + (sin(tm*2 - 0.5)+sin(tm*1.237))*1.25;
wave_3_per_point41=xq=xp;
wave_3_per_point42=sa=sin(ang);ca=cos(ang);
wave_3_per_point43=yq=yp*sa + zp*ca;
wave_3_per_point44=zq=yp*ca - zp*sa;
wave_3_per_point45=
wave_3_per_point46=//upper arm twist
wave_3_per_point47=ang=-1.0 + 0.5*(cos(tm*3 + 0.5)+cos(tm*0.867));
wave_3_per_point48=xp=xq*sa + yq*ca;
wave_3_per_point49=yp=xq*ca - yq*sa;
wave_3_per_point50=zp=zq;
wave_3_per_point51=
wave_3_per_point52=//upper arm outward;
wave_3_per_point53=zp=zp-0.35;
wave_3_per_point54=ang=(cos(tm*1)+cos(tm*0.653))*0.875 - 1.05;
wave_3_per_point55=sa=sin(ang);ca=cos(ang);
wave_3_per_point56=xq=xp*sa + zp*ca;
wave_3_per_point57=yq=yp;
wave_3_per_point58=zq=xp*ca - zp*sa;
wave_3_per_point59=
wave_3_per_point60=//upper arm up down;
wave_3_per_point61=ang=0.5*(cos(tm*1.273)+cos(tm));
wave_3_per_point62=xp=xq;
wave_3_per_point63=sa=sin(ang);ca=cos(ang);
wave_3_per_point64=yp=yq*ca - zq*sa;
wave_3_per_point65=zp=yq*sa + zq*ca;
wave_3_per_point66=
wave_3_per_point67=//xp=xq;yp=yq;zp=zq;
wave_3_per_point68=
wave_3_per_point69=
wave_3_per_point70=//project into screenspace and draw on screen
wave_3_per_point71=zp=zp+1.5;
wave_3_per_point72=xs=xp/zp;
wave_3_per_point73=ys=yp/zp;
wave_3_per_point74=
wave_3_per_point75=x=xs+0.5;
wave_3_per_point76=y=ys*1.3+0.5;
wave_3_per_point77=
wave_3_per_point78=
wave_3_per_point79=a=(1-sample);
shapecode_0_enabled=1
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_x=0.500000
shapecode_0_y=0.500000
shapecode_0_rad=0.472208
shapecode_0_ang=0.000000
shapecode_0_tex_ang=0.000000
shapecode_0_tex_zoom=0.503298
shapecode_0_r=1.000000
shapecode_0_g=0.700000
shapecode_0_b=0.000000
shapecode_0_a=1.000000
shapecode_0_r2=1.000000
shapecode_0_g2=0.699900
shapecode_0_b2=0.000000
shapecode_0_a2=0.000000
shapecode_0_border_r=1.000000
shapecode_0_border_g=1.000000
shapecode_0_border_b=1.000000
shapecode_0_border_a=0.100000
shape_0_per_frame1=xpos = if(q1,(rand(4)+1)*0.25-0.125,xpos);
shape_0_per_frame2=ypos = if(q1,(rand(3)+1)*0.333-0.166,ypos);
shape_0_per_frame3=x = xpos;
shape_0_per_frame4=y = ypos;
shape_0_per_frame5=flash = if(q1,0.8,flash-0.1);
shape_0_per_frame6=textured = below(flash,0.5);
shape_0_per_frame7=a = above(flash,0);
shape_0_per_frame8=a2 = above(flash,0);
shape_0_per_frame9=border_a = 0.5*above(flash,0);
shape_0_per_frame10=r = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame11=g = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame12=b = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame13=r2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame14=g2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame15=b2 = if(above(flash,0.5),0.5*flash,0.6+0.1*rand(200));
shape_0_per_frame16=border_r = 0.5*above(flash,0);
shape_0_per_frame17=border_g = 0.5*above(flash,0);
shape_0_per_frame18=border_b = 0.5*above(flash,0);
shapecode_1_enabled=0
shapecode_1_sides=4
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_x=0.500000
shapecode_1_y=0.500000
shapecode_1_rad=0.100000
shapecode_1_ang=0.000000
shapecode_1_tex_ang=0.000000
shapecode_1_tex_zoom=1.000000
shapecode_1_r=1.000000
shapecode_1_g=0.000000
shapecode_1_b=0.000000
shapecode_1_a=1.000000
shapecode_1_r2=0.000000
shapecode_1_g2=1.000000
shapecode_1_b2=0.000000
shapecode_1_a2=0.000000
shapecode_1_border_r=1.000000
shapecode_1_border_g=1.000000
shapecode_1_border_b=1.000000
shapecode_1_border_a=0.100000
shapecode_2_enabled=0
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=0
shapecode_2_textured=0
shapecode_2_x=0.500000
shapecode_2_y=0.500000
shapecode_2_rad=0.100000
shapecode_2_ang=0.000000
shapecode_2_tex_ang=0.000000
shapecode_2_tex_zoom=1.000000
shapecode_2_r=1.000000
shapecode_2_g=0.000000
shapecode_2_b=0.000000
shapecode_2_a=1.000000
shapecode_2_r2=0.000000
shapecode_2_g2=1.000000
shapecode_2_b2=0.000000
shapecode_2_a2=0.000000
shapecode_2_border_r=1.000000
shapecode_2_border_g=1.000000
shapecode_2_border_b=1.000000
shapecode_2_border_a=0.100000
shapecode_3_enabled=0
shapecode_3_sides=4
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=0
shapecode_3_x=0.500000
shapecode_3_y=0.500000
shapecode_3_rad=0.100000
shapecode_3_ang=0.000000
shapecode_3_tex_ang=0.000000
shapecode_3_tex_zoom=1.000000
shapecode_3_r=1.000000
shapecode_3_g=0.000000
shapecode_3_b=0.000000
shapecode_3_a=1.000000
shapecode_3_r2=0.000000
shapecode_3_g2=1.000000
shapecode_3_b2=0.000000
shapecode_3_a2=0.000000
shapecode_3_border_r=1.000000
shapecode_3_border_g=1.000000
shapecode_3_border_b=1.000000
shapecode_3_border_a=0.100000
per_frame_1=warp=0;
per_frame_2=wave_a = 0;
per_frame_3=
per_frame_4=//begin beat code
per_frame_5=volume = 0.3*(bass+mid);
per_frame_6=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate);
per_frame_7=lastbeat = lastbeat + equal(lastbeat,0)*time;
per_frame_8=meanbass_att = 0.05*(meanbass_att*19 + bass_att);
per_frame_9=peakbass_att = max(bass_att,peakbass_att);
per_frame_10=beat = above(volume,0.8)*below(peakbass_att - bass_att, 0.05*peakbass_att)*above(time - lastbeat, 0.1 + 0.5*(beatrate - 0.1));
per_frame_11=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_12=//Adjust responsiveness: To increase responsiveness, set the "0.96 and "0.996" on the next line to slightly lower values. Higher values decrease responsiveness.
per_frame_13=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.96 + (1-above(time - lastbeat, 2*beatrate))*0.996);
per_frame_14=lastbeat = beat*time + (1-beat)*lastbeat;
per_frame_15=peakbass_att = max(peakbass_att,1.1*meanbass_att);
per_frame_16=//end beat code
per_frame_17=
per_frame_18=xamptarg = if(equal(frame%15,0),min(0.25*volume*bass_att,0.5),xamptarg);
per_frame_19=xamp = xamp + 0.5*(xamptarg-xamp);
per_frame_20=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));
per_frame_21=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_22=xpos = xpos + 0.001*xspeed;
per_frame_23=yamptarg = if(equal(frame%15,0),min(0.15*volume*treb_att,0.5),yamptarg);
per_frame_24=yamp = yamp + 0.5*(yamptarg-yamp);
per_frame_25=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));
per_frame_26=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_27=ypos = ypos + 0.001*yspeed;
per_frame_28=q1 = beat;
per_frame_29=q2 = xpos;
per_frame_30=q3 = ypos;
per_frame_31=q4 = time*0.5;
per_frame_32=
per_frame_33=q5 = 0.25*(sin(time*0.15)+sin(time*0.85))+0.5;
per_frame_34=
per_frame_35=monitor = q5;
