[preset00]
fRating=2
fGammaAdj=2
fDecay=0.98
fVideoEchoZoom=2
fVideoEchoAlpha=0
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
fWaveParam=0.02
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=1
fShader=0
zoom=1
rot=0
cx=0.5
cy=0.5
dx=0
dy=0
warp=1
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.01
ob_r=0
ob_g=0
ob_b=0
ob_a=1
ib_size=0.01
ib_r=0.25
ib_g=0.25
ib_b=0.25
ib_a=0
nMotionVectorsX=1
nMotionVectorsY=0
mv_dx=0
mv_dy=0
mv_l=0.9
mv_r=1
mv_g=1
mv_b=1
mv_a=0
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);
