[preset00]
fRating=2
fGammaAdj=2
fDecay=0.981
fVideoEchoZoom=1.00644
fVideoEchoAlpha=0.5
nVideoEchoOrientation=3
nWaveMode=5
bAdditiveWaves=1
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.868299
fWaveScale=1.136001
fWaveSmoothing=0.54
fWaveParam=0.2
fModWaveAlphaStart=0.95
fModWaveAlphaEnd=0.75
fWarpAnimSpeed=1
fWarpScale=1
fZoomExponent=1.008151
fShader=0.2
zoom=0.9998
rot=0
cx=0.47
cy=0.5
dx=0
dy=0
warp=0.01
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
ob_r=0.5
ob_g=0.5
ob_b=0.5
ob_a=0
ib_size=0
ib_r=0.5
ib_g=0.5
ib_b=0.5
ib_a=0
per_frame_1=warp=0;
per_frame_2=chaos=.9+.1*sin(pulse);
per_frame_3=entropy=if(bnot(entropy),2,if(equal(pulse,-20),1+rand(5),entropy));
per_frame_4=bass_thresh = above(bass_att,bass_thresh)*2 + (1-above(bass_att,bass_thresh))*((bass_thresh-1.3)*chaos+1.3);
per_frame_5=bass_changed=abs(bass_changed-equal(bass_thresh,2));
per_frame_6=treb_thresh=above(treb_att,treb_thresh)*2 + (1-above(treb_att,treb_thresh))*((treb_thresh-1.3)*chaos+1.3);
per_frame_7=treb_changed=abs(treb_changed-equal(treb_thresh,2));
per_frame_8=mid_thresh=above(mid_att,mid_thresh)*2 + (1-above(mid_att,mid_thresh))*((mid_thresh-1.3)*chaos+1.3);
per_frame_9=mid_changed=abs(mid_changed-equal(mid_thresh,2));
per_frame_10=pulse=if(above(abs(pulse),20),-20,pulse+.1*chaos*bor(bor(bass_changed,treb_changed),mid_changed)+(mid+bass+treb)*.025);
per_frame_11=q3=sin(pulse);
per_frame_12=q2=(pulse/entropy)*.5*chaos;
per_frame_13=q4=sin(q2);
per_frame_14=q5=entropy;
per_frame_15=q1=(1+1*above(q4,0))*(1+2*above(q3,0))*(1+4*mid_changed*above(q3,0))*(1+6*above(pulse,0));
per_frame_16=wave_r=if(treb_changed,.5+.5*q3,if(bass_changed,.5+.5*q4,1));
per_frame_17=wave_g=.5+.2*bnot(q1%2)-.2*bnot(q1%3)+.2*bnot(q1%5)-.2*bnot(q1%7);
per_frame_18=wave_b=if(bnot(q1%6),.8+.2*q4,bass_changed*mid_changed);
per_frame_19=ob_r=ob_r+.2*q4+.3*bnot(q1%7)*q3;
per_frame_20=ob_b=ob_b-.1*bnot(q1%105)-.4*sin(q2*.8);
per_frame_21=ob_g=ob_g+.5*sin(pulse*.4*entropy);
per_frame_22=ob_a=.07+.05*q3;
per_frame_23=ob_size=.01*entropy*bnot(q1%6);
per_frame_24=ib_r=ib_r+.2*q1-.3*bnot(q1%3)*q4;
per_frame_25=ib_b=ib_b-.1*bnot(q1%42)-.4*sin(q2*.7);
per_frame_26=ib_g=ib_g+.5*sin(pulse*.5*entropy);
per_frame_27=ib_a=.07+.05*q3*q4;
per_frame_28=ib_size=.005+.005*q3;
per_frame_29=zoom_fade=if(above(q3,0),if(above(q4,0),zoom_fade-.0013,zoom_fade+.002),1+.04*q4);
per_frame_30=zoom=zoom_fade;
per_pixel_1=g1=sin(q2*.04*q5);
per_pixel_2=g2=sin(q2*.05*q5);
per_pixel_3=g3=sin(q2*.06*q5);
per_pixel_4=x_shift=pow(x,2)+x*g1*2+sqr(g1);
per_pixel_5=y_shift=pow(y,2)+y*g2*2+sqr(g2);
per_pixel_6=r_shift=pow(rad,2)+rad*g3*2+sqr(g3);
per_pixel_7=zoom=zoom -sin(x_shift*bnot(q1%10)+y_shift*bnot(q1%14)+r_shift*bnot(q1%21))*q3*(.1+.1*bnot(q1%30)+.1*bnot(q1%7));
per_pixel_8=dx=dx+bnot(q1%35)*(rad-.5*g3)*g2-cos(y*1.68)*.1*bnot(q1%21);
per_pixel_9=dy=dy-cos(x*1.68)*bnot(q1%10);
per_pixel_10=rot=if(above(sin(q2*4.3),0),.3*above(abs(zoom-1),.05),.3*g3);
