[preset00]
fRating=1.0
fGammaAdj=1.14
fDecay=0.91
fVideoEchoZoom=0.591237
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=1
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=1
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.008018
fWaveScale=1.001829
fWaveSmoothing=0
fWaveParam=0.5
fModWaveAlphaStart=0.71
fModWaveAlphaEnd=1.3
fWarpAnimSpeed=1
fWarpScale=1.331
fZoomExponent=1
fShader=0
zoom=1.001827
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.01
sx=0.905286
sy=0.932718
wave_r=0.65
wave_g=0.65
wave_b=0.65
wave_x=0.5
wave_y=0.5
ob_size=0
ob_r=0.1
ob_g=0.1
ob_b=0.1
ob_a=0.01
ib_size=0.005
ib_r=0
ib_g=0
ib_b=0
ib_a=0.5
nMotionVectorsX=11.52
nMotionVectorsY=10.559999
mv_dx=0
mv_dy=0
mv_l=0.9
mv_r=1
mv_g=1
mv_b=1
mv_a=0.5
per_frame_1=slowtime = slowtime+beat*time;
per_frame_2=ying = if(below(ying,1),1,ying);
per_frame_3=ying = if (beat,ying + bnot(time*10%3),ying);
per_frame_4=yin = ying%2;
per_frame_5=vol_now =  .4 * bass + 0.1 * (bass_att+treb+mid);
per_frame_6=vol_mean =  if(equal(frame%50,0),vol_mean-0.5*(vol_mean-vol_now),0.1*(vol_mean*9 + vol_now));
per_frame_7=beat = if(above(vol_now,1.5*vol_mean),1,0);
per_frame_8=beatcount = if(bnot(time%5000),0,beatcount);
per_frame_9=beatcount = beatcount +.05*beat;
per_frame_10=yang = bnot(beatcount%2);
per_frame_11=ib_r = 0;
per_frame_12=ib_g = pow(abs(sign(sin(slowtime))),2)*sin(slowtime);
per_frame_13=ib_b= cos(slowtime)*sign(cos(slowtime))*pow(abs(sign(sin(slowtime))),2);
per_frame_14=mv_g = sin(slowtime)*(sign(sin(slowtime))-1)*(sign(sin(slowtime)));
per_frame_15=mv_b = -1*abs(cos(slowtime))+1;
per_frame_16=mv_r = .8;
per_frame_17=redneg = if(below(ib_r,0),1,0);
per_frame_18=greenneg = if(below(ib_g,0),1,0);
per_frame_19=blueneg = if(below(ib_b,0),1,0);
per_frame_20=wave_r = if(redneg,if(bor(greenneg , blueneg),1,1+ib_r),ib_r);
per_frame_21=wave_g = if(greenneg,if(equal(greenneg + blueneg,2),1,1+ib_g),ib_g);
per_frame_22=wave_b = if(blueneg,1 + ib_b, ib_b);
per_frame_23=q1 = if(yin,sin(slowtime),q1);
per_frame_24=q2 = if(yin,cos(slowtime),0);
per_frame_25=q3 = sin(beatcount);
per_frame_26=dx = if(yin,.01*sin(slowtime),if(equal(yin,yang),0,dx));
per_frame_27=dy = if(yin,.01*cos(slowtime),0);
per_frame_28=q5 = if(bnot(yin),abs(cos(time)),dx);
per_frame_29=wave_mystery=wave_mystery-1*sin(time*.65*sin(q3));
per_frame_30=wave_mode=rand(slowtime%12);
per_pixel_1=solipsist = if(equal(q3,0),0,.01*( rad - q3*x + pow(q3,4)*y));
per_pixel_2=rot = rot + sin(rad)-5*solipsist-1.5*q5;
per_pixel_3=sy = if(equal(q3,0),sy,1-solipsist);
per_pixel_4=new_x=rad*.05-x;
per_pixel_5=new_y=rad*.05-y;
per_pixel_6=zoom=zoom+.01*sin(ang-rad*3.14*sin(if(Above(q2,q1),.5,-.5)*sin(new_X*new_y)))*sin(if(Above(q3,q1),.5,-.5))-.03*sin(Ang*5-rad*sin(if(Above(q3,q2),.5,-.5)));
per_frame_init_1=warp = 0;
per_frame_init_2=beatcount = 0;
