[preset00]
fRating=3.000000
fGammaAdj=1.000000
fDecay=0.900000
fVideoEchoZoom=0.998169
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=3
nWaveMode=7
bAdditiveWaves=0
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=7.740000
fWaveScale=0.372036
fWaveSmoothing=0.387000
fWaveParam=-0.360000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.334503
fWarpScale=1.327831
fZoomExponent=1.026514
fShader=0.400000
zoom=1.374512
rot=0.020000
cx=0.170000
cy=0.830001
dx=0.000000
dy=0.000000
warp=1.779457
sx=0.990099
sy=1.000000
wave_r=0.270000
wave_g=0.270000
wave_b=0.270000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=0.360000
ob_g=0.360000
ob_b=0.360000
ob_a=0.580000
ib_size=0.010000
ib_r=0.450000
ib_g=0.450001
ib_b=0.449900
ib_a=0.900000
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_pixel_1=radix=if(above(q3,0),min(x,y),max(x,y));
per_pixel_2=radix=if(above(q2,0),min(radix,rad),max(radix,rad));
per_pixel_3=rot=if(above(q4,0),rad*.2*q5,rot);
per_pixel_4=zoom=if(above(q2,0),zoom,if(above(q3,0),zoom+q1*.05,zoom+.07*cos(radix*10*q1)));
