[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=0.980000
fVideoEchoZoom=2.000000
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=0
bDarkenCenter=1
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.792077
fWaveScale=0.999999
fWaveSmoothing=0.000000
fWaveParam=0.020000
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.010000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.010000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
nMotionVectorsX=1.000000
nMotionVectorsY=0.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.900000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=0.000000
per_frame_1=warp = 0;
per_frame_2=wave_r = if(equal(wavecolor,1),.5 + .3*sin(time),if(equal(wavecolor,3),if( above(bass,1),1,0 ),if(equal(wavecolor,4),if(above(bass,1),0,1),bass_att*.1)));
per_frame_3=wave_g = if(equal(wavecolor,1),.5 + .3*sin(time*.333),if(equal(wavecolor,2),if(above(bass,1),1,0),if(equal(wavecolor,3),if( above(bass,1),0,1 ),
per_frame_4=treb_att*.1)));
per_frame_5=wave_b = if(equal(wavecolor,1),.5 + .3*sin(time*.666),if(equal(wavecolor,2),if(above(bass,1),0,1),if(equal(wavecolor,4),if( above(bass,1),1,0 ),mid_att*.1)));
per_frame_6=q1 = zoomeffect;
per_frame_7=wave_mystery=if( equal(othereffects,1),-.6+.4*sin(time),if( equal(wavesize,1),-.2,if( equal(wavesize,2),-.5,0)));
per_frame_8=ob_a = if( equal(zoomeffect,2),if( equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,7),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,8),if(equal(othereffects,2),bass*.1,0),if( equal(zoomeffect,9),if(equal(othereffects,2),bass*.1,0),0))));
per_frame_9=ob_r = wave_g;
per_frame_10=ob_g = wave_b;
per_frame_11=ob_b = wave_r;
per_frame_12=q2 = othereffects;
per_frame_13=wave_mode = if(equal(wavetype,3),5,wavetype);
per_frame_14=decay = if(equal(othereffects,3),.95+.05*sin(time),decay);
per_frame_15=volume = 0.3*(bass+mid+att);
per_frame_16=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate);
per_frame_17=lastbeat = lastbeat + equal(lastbeat,0)*time;
per_frame_18=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_19=peakbass_att = max(bass_att,peakbass_att);
per_frame_20=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_21=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_22=peakbass_att = beat*bass_att + (1-beat)*peakbass_att*(above(time - lastbeat, 2*beatrate)*0.95 + (1-above(time - lastbeat, 2*beatrate))*0.995);
per_frame_23=lastbeat = beat*time + (1-beat)*lastbeat;
per_frame_24=peakbass_att = max(peakbass_att,1.1*meanbass_att);
per_frame_25=mode = if(beat,rand(4),mode);
per_frame_26=wavecolor = if(beat,rand(5),wavecolor);
per_frame_27=zoomeffect = if(beat,rand(10),zoomeffect);
per_frame_28=wavesize = if(beat,rand(3),wavesize);
per_frame_29=othereffects = if(beat,rand(4),othereffects);
per_frame_30=wavetype = if(beat,rand(4),wavetype);
per_pixel_1=zoom = if( equal(q1,1),1+rad*.08,if( equal(q1,2),.93+bass_att*.07,if( equal(q1,3),1.06+.05*sin(rad*30+time*5),if( equal(q1,4),1.05+.05*sin((rad+ang*8+time*5)),if( equal(q1,5),1.05+.05*sin((rad*8+time*5)+(ang*8+time*5)),if( equal(q1,6),1 + .2*abs(rad-.5),if( equal(q1,7),1+.2*(-rad+.5),if( equal(q1,8),(3*y)+2*(pow(x,2))*.01,if( equal(q1,9),1 + .1*sin(y*10),1)))))))));
per_pixel_2=dx = if(equal(q1,10),(rand(11)*.01)-.05,0);
per_pixel_3=dy = if(equal(q1,10),(rand(11)*.01)-.05,0);
