[preset00]
fRating=2.000000
fGammaAdj=1.000000
fDecay=0.945999
fVideoEchoZoom=1.000000
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=1
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=100.000000
fWaveScale=0.910342
fWaveSmoothing=0.000000
fWaveParam=0.108060
fModWaveAlphaStart=0.710000
fModWaveAlphaEnd=1.300000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=0.900000
fShader=1.000000
zoom=1.000000
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=0.543247
wave_g=0.328188
wave_b=0.521643
wave_x=0.733941
wave_y=0.406558
ob_size=0.000000
ob_r=0.584900
ob_g=0.978985
ob_b=0.616979
ob_a=0.000000
ib_size=0.260000
ib_r=0.207509
ib_g=0.521497
ib_b=0.945927
ib_a=0.000000
nMotionVectorsX=0.000000
nMotionVectorsY=0.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.000000
mv_r=0.000000
mv_g=0.000000
mv_b=0.000000
mv_a=0.000000
per_frame_1=wave_x = wave_x + 0.3*sin(2.2*time) - 0.15*cos(2.1*time) + 0.1*sin(1.2*time);
per_frame_2=wave_y = wave_y + 0.3*sin(2.3*time) - 0.1*sin(1.88*time) + 0.13*cos(time);
per_frame_3=dx = dx + 0.024*sin(1.24*time);
per_frame_4=dy = dy + 0.024*sin(1.12*time);
per_frame_5=wave_r = wave_r + 0.35*sin(1.13*time) + 0.1245*sin(2.34*time);
per_frame_6=wave_g = wave_g + 0.35*sin(1.23*time) + 0.12*sin(2.134*time);
per_frame_7=wave_b = wave_b + 0.35*sin(1.33*time) + 0.12*sin(2.5*time);
per_frame_8=wave_mystery = wave_mystery + 0.00*sin(time);
per_frame_9=turn = above(bass_att,turn)*2 + (1-above(bass_att,turn))*((turn-1.3)*0.96+1.3);
per_frame_10=turnr = equal(turn,2)*0.019*sin(time*6.6) + (1-equal(turn,2))*turnr;
per_frame_11=simp = simp * 0.35*sin(1.2*time) - 0.62*sin(0.7*time) + 1.5*sin(turn);
per_frame_12=rot = rot + 1.05*((0.25*simp)*10*turnr);
per_frame_13=cx = -42.68603921*sign(beat * beat);
per_frame_14=ib_a = max(beat - beat , volume + beatrate);
per_frame_15=ob_a = volume * beat;
per_frame_16=dx = -61.74305975*rand(int(max(dx * volume , beat * beatrate)));
per_frame_17=ob_size = -43.66785884*sin(volume + volume);
per_frame_18=ib_a = -48.4728992*abs(47.9157567*acos(ib_a + beat));
per_frame_19=cy = max(volume * beat , volume + beat);
per_frame_20=mv_l = 39.23734426*log(if(above(volume - volume , beat + volume) , beat * beatrate , beatrate + volume));
per_frame_21=ib_a = -7.89672136*acos(ib_a * beatrate);
per_frame_22=rot=if(below(rot,-1.0), -1.0, rot);
per_frame_23=rot=if(above(rot,1.0), 1.0, rot);
per_frame_24=cx=if(below(cx,-1.0), -1.0, cx);
per_frame_25=cx=if(above(cx,2.0), 2.0, cx);
per_frame_26=cy=if(below(cy,-1.0), -1.0, cy);
per_frame_27=cy=if(above(cy,2.0), 2.0, cy);
per_frame_28=dx=if(below(dx,-1), -1, dx);
per_frame_29=dx=if(above(dx,1.0), 1.0, dx);
per_frame_30=dy=if(below(dy,-1), -1, dy);
per_frame_31=dy=if(above(dy,1.0), 1.0, dy);
per_frame_32=wave_r=if(below(wave_r,0.0), 0.0, wave_r);
per_frame_33=wave_r=if(above(wave_r,1.0), 1.0, wave_r);
per_frame_34=wave_b=if(below(wave_b,0.0), 0.0, wave_b);
per_frame_35=wave_b=if(above(wave_b,1.0), 1.0, wave_b);
per_frame_36=wave_g=if(below(wave_g,0.0), 0.0, wave_g);
per_frame_37=wave_g=if(above(wave_g,1.0), 1.0, wave_g);
per_frame_38=wave_x=if(below(wave_x,0.0), 0.0, wave_x);
per_frame_39=wave_x=if(above(wave_x,1.0), 1.0, wave_x);
per_frame_40=wave_y=if(below(wave_y,0.0), 0.0, wave_y);
per_frame_41=wave_y=if(above(wave_y,1.0), 1.0, wave_y);
per_frame_42=wave_mystery=if(below(wave_mystery,-1.0), -1.0, wave_mystery);
per_frame_43=wave_mystery=if(above(wave_mystery,1.0), 1.0, wave_mystery);
per_frame_44=ob_size=if(below(ob_size,0.0), 0.0, ob_size);
per_frame_45=ob_size=if(above(ob_size,0.5), 0.5, ob_size);
per_frame_46=ob_a=if(below(ob_a,0.0), 0.0, ob_a);
per_frame_47=ob_a=if(above(ob_a,1.0), 1.0, ob_a);
per_frame_48=ib_a=if(below(ib_a,0.0), 0.0, ib_a);
per_frame_49=ib_a=if(above(ib_a,1.0), 1.0, ib_a);
per_frame_50=mv_l=if(below(mv_l,0.0), 0.0, mv_l);
per_frame_51=mv_l=if(above(mv_l,5.0), 5.0, mv_l);
per_pixel_1=rot=if(above(bnot(1*bass),bnot(1*treb)),rot*sin(rad*sin(time)),-rot*sin(rad*cos(time)));
per_pixel_2=sy = bor(-59.87649858*sqr(y * ang) , rot - y);
per_pixel_3=dx = ang * rot;
per_pixel_4=zoomexp = -83.40497017*sqrt(x * q1);
per_pixel_5=rot = -64.34893906*asin(rot - rot);
per_pixel_6=warp = ang * q1;
per_pixel_7=warp = -55.12191951*pow(-6.81577921*tan(warp * rot) , rot * q1);
per_pixel_8=cy = -50.60476065*tan(if(equal(x * rot , x - q1) , ang * rot , rot + x));
per_pixel_9=zoomexp=if(below(zoomexp,0.01), 0.01, zoomexp);
per_pixel_10=zoomexp=if(above(zoomexp,100.0), 100.0, zoomexp);
per_pixel_11=rot=if(below(rot,-1.0), -1.0, rot);
per_pixel_12=rot=if(above(rot,1.0), 1.0, rot);
per_pixel_13=warp=if(below(warp,0.01), 0.01, warp);
per_pixel_14=warp=if(above(warp,100.0), 100.0, warp);
per_pixel_15=cy=if(below(cy,-1.0), -1.0, cy);
per_pixel_16=cy=if(above(cy,2.0), 2.0, cy);
per_pixel_17=dx=if(below(dx,-1), -1, dx);
per_pixel_18=dx=if(above(dx,1.0), 1.0, dx);
per_pixel_19=sy=if(below(sy,0.01), 0.01, sy);
per_pixel_20=sy=if(above(sy,100.0), 100.0, sy);
