[preset00]
fRating=2
fGammaAdj=1
fDecay=1
fVideoEchoZoom=0.999609
fVideoEchoAlpha=0
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=28.24947
fWaveScale=0.01
fWaveSmoothing=0.27
fWaveParam=0.05
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=5.99579
fWarpScale=1.331
fZoomExponent=1.01
fShader=0
zoom=0.998531
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.01
sx=1
sy=1
wave_r=0.5
wave_g=0.5
wave_b=0.5
wave_x=0.5
wave_y=0.5
ob_size=0
ob_r=0
ob_g=0.9
ob_b=0.2
ob_a=1
ib_size=0.025
ib_r=0.2
ib_g=0.2
ib_b=0.2
ib_a=1
nMotionVectorsX=1.024
nMotionVectorsY=48
mv_dx=0
mv_dy=0
mv_l=5
mv_r=0
mv_g=0
mv_b=0
mv_a=1
per_frame_1=ob_r = 0.7 - 0.3*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438));
per_frame_2=ob_g = 0.5- 0.4*sin(time*1.324);
per_frame_3=warp =0;
per_frame_4=ib_r = ib_r + 0.2*sin(time*1.034);
per_frame_5=ib_g = ib_g + 0.2*sin(time*1.147);
per_frame_6=ib_b = ib_b - 0.2*sin(time*1.231);
per_frame_7=wave_r = 0.5 + 0.45*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438));
per_frame_8=wave_b = 0.5 -0.4*(0.5*sin(time*4.782)+0.5*cos(time*0.522));
per_frame_9=wave_g = 0.5+0.4*sin(time*1.731);
per_frame_10=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_11=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_12=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_13=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_14=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_15=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0);
per_frame_16=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_17=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_18=lastbeat = if(beat,time,lastbeat);
per_frame_19=countertime = if(beat,time,countertime);
per_frame_20=counter =-1*pow(min((time-countertime-3.7),0),3);
per_frame_21=q3=oldq3+0.002*counter;
per_frame_22=oldq3 =q3;
per_frame_23=monitor = q3;
per_frame_24=cx = cx - 0.4*sin(q3*0.542);
per_frame_25=cy = cy + 0.4*sin(q3*0.753);
per_frame_26=wave_b = 0.45 - 0.3*cos(q3*3.916);
per_frame_27=mv_dx = sin(0.4*q3)*0.125;
per_frame_28=mv_dy =-cos(0.4*q3)*0.1;
per_frame_29=mv_l = (12*sin(q3*1.63));
per_frame_30=monitor = mv_x;
per_frame_31=mv_x = 1.25;
per_frame_32=mv_y =1.25;
per_pixel_1=circle = 5*rad*rad*rad;
per_pixel_2=q1 = 1.3+0.1*rad+0.5*(sin(0.3*pow(x,4)+x+0.3*q3+3*x*dx - 4*x*dy )-cos(0.2*pow(y,4)+y+q3+ 2*y*rot - 2*y*(1-sy) + (1-sx)));
per_pixel_3=zoom = if(above(circle,1),q1*.1,1-0.4*log(sqrt(2)-rad));
per_pixel_4=dx = if(above(circle,1),1.3*sin(rot+0.75*x+0.942*q3),0);
per_pixel_5=dy= if(above(circle,1),1.3*sin(cx+0.75*y+1.081*q3),0);
per_pixel_6=rot = if(above(circle,1),0.4*sin(dx+rad+(x*y)+0.812*q3),0.01*rad);
per_pixel_7=sy = if(above(circle,1),1+0.03*sin(dy-rad+(x+y)+1.21*q3),1);
per_pixel_8=sx = if(above(circle,1),1+0.03*sin(cy+rad+(x-y)+1.33*q3),1);
