[preset00]
fRating=3.000000
fGammaAdj=1.000000
fDecay=1.000000
fVideoEchoZoom=0.998100
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=1
nWaveMode=5
bAdditiveWaves=0
bWaveDots=1
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=13.378749
fWaveScale=0.717349
fWaveSmoothing=0.531000
fWaveParam=0.020000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.208100
fWarpScale=1.263386
fZoomExponent=0.111607
fShader=0.509900
zoom=0.054279
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.333300
sx=0.999901
sy=0.999901
wave_r=0.250000
wave_g=0.350000
wave_b=0.700000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=0.500000
ob_g=0.250000
ob_b=0.150000
ob_a=0.970000
ib_size=0.005000
ib_r=0.100000
ib_g=0.300000
ib_b=0.500000
ib_a=0.970000
nMotionVectorsX=64.000000
nMotionVectorsY=1.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=old_bass_flop=bass_flop;
per_frame_3=old_treb_flop=treb_flop;
per_frame_4=old_mid_flop=mid_flop;
per_frame_5=chaos=.9+.1*sin(pulse);
per_frame_6=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(3),entropy));
per_frame_7=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3);
per_frame_8=bass_flop=abs(bass_flop-equal(bass_thresh,2));
per_frame_9=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3);
per_frame_10=treb_flop=abs(treb_flop-equal(treb_thresh,2));
per_frame_11=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3);
per_frame_12=mid_flop=abs(mid_flop-equal(mid_thresh,2));
per_frame_13=bass_changed=bnot(equal(old_bass_flop,bass_flop));
per_frame_14=mid_changed=bnot(equal(old_mid_flop,mid_flop));
per_frame_15=treb_changed=bnot(equal(old_treb_flop,treb_flop));
per_frame_16=bass_residual = bass_changed*sin(pulse*bass_thresh*.1*entropy) + bnot(bass_changed)*bass_residual;
per_frame_17=treb_residual = treb_changed*sin(pulse*treb_thresh*.1*entropy) + bnot(treb_changed)*treb_residual;
per_frame_18=mid_residual = mid_changed*sin(pulse*mid_thresh*.1*entropy) + bnot(mid_changed)*mid_residual;
per_frame_19=pulse=if(above(abs(pulse),20),-20,pulse+.1*bor(bor(bass_changed,treb_changed),mid_changed)+(mid_thresh+bass_thresh+treb_thresh)*entropy*.025);
per_frame_20=q1=mid_residual;
per_frame_21=q2=bass_residual;
per_frame_22=q3=treb_residual;
per_frame_23=q4=sin(pulse);
per_frame_24=q5=sin(pulse/2);
per_frame_25=wave_r=wave_r+.5*bass_residual;
per_frame_26=wave_r=wave_g+.5*mid_residual;
per_frame_27=wave_r=wave_b+.5*treb_residual;
per_frame_28=wave_mystery=mid_residual;
per_frame_29=ob_r=if(bass_flop,treb_flop,wave_r);
per_frame_30=ob_b=if(treb_flop,mid_flop,wave_b);
per_frame_31=ob_g=if(mid_flop,bass_flop,wave_g);
per_frame_32=ob_a=.03+.02*wave_r;
per_frame_33=ob_size=.25+.25*treb_residual;
per_frame_34=ib_size=.05+.04*bass_residual;
per_frame_35=ib_r = if(bass_flop,ob_b,.5+ 0.2*sin(time*0.5413));
per_frame_36=ib_g = if(treb_flop,ob_g,.5 + 0.2*sin(time*0.6459));
per_frame_37=ib_b = if(mid_flop,ob_r,.5 + 0.2*sin(time*0.4354));
per_frame_38=rot = rot + 0.04*q1;
per_frame_39=zoom=max(0.98, 0.2+0.35*bass_thresh);
per_frame_40=rot = sin(bass*treb*mid)/16;
per_frame_41=wave_r = bass*.5;
per_frame_42=wave_g = treb*.5;
per_frame_43=wave_b = mid*.5;
per_pixel_1=dx = dx + if (above(crack,rip), 2*dx_r*crackdown, -2*dx_r*ripdown)*05;
per_pixel_2=dy = dy + if (above(rip,crack), 2*dy_r*crackdown, -2*dy_r*ripdown)*05;
per_pixel_3=zoom=0.9615+rad/12+ q2/20;
per_frame_init_1=entropy=2;
