[preset00]
fRating=2.000000
fGammaAdj=1.000000
fDecay=1.000000
fVideoEchoZoom=1.220183
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=3
bAdditiveWaves=1
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=100.000000
fWaveScale=0.241455
fWaveSmoothing=0.000000
fWaveParam=-0.261032
fModWaveAlphaStart=0.500000
fModWaveAlphaEnd=1.000000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=1.000000
zoom=1.000000
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000010
dy=0.000010
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=0.526528
wave_g=0.324083
wave_b=0.134239
wave_x=0.482812
wave_y=0.467471
ob_size=0.004500
ob_r=0.071102
ob_g=0.089654
ob_b=0.514650
ob_a=0.985207
ib_size=0.005000
ib_r=0.491715
ib_g=0.022579
ib_b=0.569085
ib_a=0.949768
nMotionVectorsX=3.000000
nMotionVectorsY=48.000000
mv_dx=-0.505893
mv_dy=-0.993957
mv_l=5.000000
mv_r=0.835033
mv_g=0.249397
mv_b=0.055806
mv_a=0.175581
per_frame_1=wave_r = wave_r + 0.45*( 0.6*sin(1.517*time) + 0.4*mid_effect );
per_frame_2=wave_b = wave_b + 0.45*( 0.6*sin(1.088*time) + 0.4*bass_effect );
per_frame_3=wave_g = wave_g + 0.45*( 0.6*sin(1.037*time) + 0.4*treb_effect );
per_frame_4=zoom = zoom + 0.013*( 0.60*sin(0.339*time) + 0.40*sin(0.276*time) );
per_frame_5=rot = rot + 0.020*( 0.60*sin(0.381*time) + 0.40*sin(0.579*time) );
per_frame_6=decay = decay - 0.01*below(frame%5,1);
per_frame_7=volume = 0.3*(bass+mid+att);
per_frame_8=beatrate = equal(beatrate,0) + (1-equal(beatrate,0))*(below(volume,0.01) + (1-below(volume,0.01))*beatrate);
per_frame_9=lastbeat = lastbeat + equal(lastbeat,0)*time;
per_frame_10=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_11=peakbass_att = max(bass_att,peakbass_att);
per_frame_12=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_13=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_14=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_15=lastbeat = beat*time + (1-beat)*lastbeat;
per_frame_16=peakbass_att = max(peakbass_att,1.1*meanbass_att);
per_frame_17=effect = if(beat,effect+rand(5)+1,effect);
per_frame_18=effect = if(above(effect,5),effect-6,effect);
per_frame_19=q1 = effect+2;
per_frame_20=monitor = q1;
per_frame_21=wave_mode = wave_g * wave_b;
per_frame_22=wave_r = time + treb;
per_frame_23=wave_r=if(below(wave_r,0.0), 0.0, wave_r);
per_frame_24=wave_r=if(above(wave_r,1.0), 1.0, wave_r);
per_frame_25=wave_mode=if(below(wave_mode,0), 0, wave_mode);
per_frame_26=wave_mode=if(above(wave_mode,7.0), 7.0, wave_mode);
per_frame_27=wave_r=if(below(wave_r,0.0), 0.0, wave_r);
per_frame_28=wave_r=if(above(wave_r,1.0), 1.0, wave_r);
per_pixel_1=zoom=zoom+0.04*sin(ang*int(q1)+time*2.6);
per_pixel_2=cy = x * b;
per_pixel_3=cy=if(below(cy,-1.0), -1.0, cy);
per_pixel_4=cy=if(above(cy,2.0), 2.0, cy);
