[preset00]
fRating=2.000000
fGammaAdj=2.000000
fDecay=0.900000
fVideoEchoZoom=0.999900
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.001043
fWaveScale=0.010000
fWaveSmoothing=0.750000
fWaveParam=-1.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.008100
fShader=0.300000
zoom=1.008080
rot=1.000000
cx=2.000000
cy=-1.000000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=0.500000
wave_g=0.500000
wave_b=0.500000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=1.000000
ob_g=0.000000
ob_b=0.000000
ob_a=0.100000
ib_size=0.003000
ib_r=0.000000
ib_g=0.000000
ib_b=1.000000
ib_a=0.600000
nMotionVectorsX=12.000000
nMotionVectorsY=9.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=// sensor - alpha
per_frame_2=le=1.4*bass_att+.1*bass+.5*treb;
per_frame_3=pulse=band(above(le,th),above(le-th,block));
per_frame_4=block=le-th;
per_frame_5=th=if(above(le,th),le+114/(le+10)-7.407,
per_frame_6=th+th*.07/(th-12)+below(th,2.7)*.1*(2.7-th));
per_frame_7=th=if(above(th,5.2),4,th);
per_frame_8=
per_frame_9=q1=.12*th;
per_frame_10=ccl=if(pulse,ccl+1,ccl);
per_frame_11=q2=ccl;
per_frame_12=
per_frame_13=mvrot=if(pulse,
per_frame_14=if(above(mvrot,4),0,mvrot+1),mvrot);
per_frame_15=mv_r=if(above(mvrot,2),if(above(mvrot,4),.039,
per_frame_16=if(equal(mvrot,3),.137,.835)),if(above(mvrot,1),.651,
per_frame_17=if(equal(mvrot,0),1,.773)));
per_frame_18=mv_g=if(above(mvrot,2),if(above(mvrot,4),.267,
per_frame_19=if(equal(mvrot,3),.886,.176)),if(above(mvrot,1),.804,
per_frame_20=if(equal(mvrot,0),1,.38)));
per_frame_21=mv_b=if(above(mvrot,2),if(above(mvrot,4),.694,
per_frame_22=if(equal(mvrot,3),.776,.851)),if(above(mvrot,1),.114,
per_frame_23=if(equal(mvrot,0),1,.145)));
per_frame_24=
per_frame_25=thccl = thccl + th;
per_frame_26=mv_r=min(1,max(0,mv_r+.5*sin(.015*thccl)));
per_frame_27=mv_g=min(1,max(0,mv_g+.5*sin(.016*thccl)));
per_frame_28=mv_b=min(1,max(0,mv_b+.5*sin(.017*thccl)));
per_frame_29=wave_r=1-mv_b;
per_frame_30=wave_g=1-mv_r;
per_frame_31=wave_b=1-mv_g;
per_frame_32=
per_frame_33=mv_x=mv_x+ccl%31-9;
per_frame_34=mv_y=mv_y+ccl%21-7;
per_frame_35=
per_frame_36=ob_r=ob_r + time*sin(bass);
per_frame_37=ob_b=ob_b + time*sin(treb+1);
per_frame_38=ob_g=ob_g + time*sin(mid/1.5);
per_frame_39=CX=2*sin(time);
per_pixel_1=zone=below(rad,q1);
per_pixel_2=zoom=1+.01*sin(if(zone,q2%4-1,(q2+1)%3)*q2+rad*8);
per_pixel_3=sx=sx+sin(if(zone,(q2+.5)%8-5,(q2+3)%6-3)*q2)*.008;
per_pixel_4=sy=sy+sin(if(zone,q2%7-5,(q2+3.4)%7-3)*q2)*.008;
per_pixel_5=grid=pow(x*(4+sin(q1*18)),1+q2%5)%2 + pow(y*(4+sin(q1*20)),1+q2%6)%2;
per_pixel_6=rot=bnot(grid)*above(x,y)*above(y,(1-x))*below(rad,.5+.25*sin(zoom*317));
