[preset00]
fRating=4.000000
fGammaAdj=1.000000
fDecay=1.000000
fVideoEchoZoom=0.999609
fVideoEchoAlpha=1.000000
nVideoEchoOrientation=1
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=1
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=7.014853
fWaveScale=100.000000
fWaveSmoothing=0.270000
fWaveParam=0.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=5.995790
fWarpScale=1.331000
fZoomExponent=1.010000
fShader=0.000000
zoom=0.998531
rot=0.002000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=0.800000
wave_g=0.100000
wave_b=0.100000
wave_x=0.500000
wave_y=0.500000
ob_size=0.010000
ob_r=0.000000
ob_g=0.900000
ob_b=0.200000
ob_a=1.000000
ib_size=0.000000
ib_r=0.201000
ib_g=0.500000
ib_b=0.500000
ib_a=1.000000
nMotionVectorsX=5.760000
nMotionVectorsY=4.680001
mv_dx=0.000000
mv_dy=0.000000
mv_l=5.000000
mv_r=0.600000
mv_g=0.400000
mv_b=1.000000
mv_a=0.000000
per_frame_1=ob_r = 0.21 - 0.2*(0.5*sin(time*0.701)+ 0.3*cos(time*0.438));
per_frame_2=ob_g = 0.5 - 0.46*sin(time*1.724);
per_frame_3=ob_b = 0.65 - 0.3*cos(time*1.816);
per_frame_4=warp =0;
per_frame_5=ib_size = 0.025;
per_frame_6=ib_r = ib_r + 0.2*(0.6*sin(time*3.034)+0.4*cos(time*2.14));
per_frame_7=ib_g = ib_g + 0.5*(0.6*sin(time*3.147)+0.4*cos(time*2.015));
per_frame_8=ib_b = ib_b - 0.5*(0.6*sin(time*3.431)+0.4*cos(time*1.842));
per_frame_9=dx = dx +0.001+abs(0.003*(0.6*sin(time*0.234) + 0.4*cos(time*0.437)));
per_frame_10=dy = dy + abs(0.003*(0.7*sin(time*0.213) + 0.3*cos(time*0.315)));
per_frame_11=volume = 0.15*(bass+bass_att+treb+treb_att+mid+mid_att);
per_frame_12=xamptarg = if(equal(frame%15,0),min(0.5*volume*bass_att,0.5),xamptarg);
per_frame_13=xamp = xamp + 0.5*(xamptarg-xamp);
per_frame_14=xdir = if(above(abs(xpos),xamp),-sign(xpos),if(below(abs(xspeed),0.1),2*above(xpos,0)-1,xdir));
per_frame_15=xaccel = xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_16=xspeed = xspeed + xdir*xamp - xpos - xspeed*0.055*below(abs(xpos),xamp);
per_frame_17=xpos = xpos + 0.001*xspeed;
per_frame_18=q2 = xpos;
per_frame_19=yamptarg = if(equal(frame%15,0),min(0.3*volume*treb_att,0.5),yamptarg);
per_frame_20=yamp = yamp + 0.5*(yamptarg-yamp);
per_frame_21=ydir = if(above(abs(ypos),yamp),-sign(ypos),if(below(abs(yspeed),0.1),2*above(ypos,0)-1,ydir));
per_frame_22=yaccel = ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_23=yspeed = yspeed + ydir*yamp - ypos - yspeed*0.055*below(abs(ypos),yamp);
per_frame_24=ypos = ypos + 0.001*yspeed;
per_frame_25=q4 = ypos;
per_frame_26=bass_effect = max(max(bass,bass_att)-1.2,0);
per_frame_27=echo_zoom = 1.32 + 0.3*(0.59*sin(q4+time*0.865) + 0.41*cos(q2+time*1.192)) + 0.05*bass_effect;
per_frame_28=volume = 0.15*(bass_att+bass+mid+mid_att);
per_frame_29=beatrate = if(equal(beatrate,0),1,if(below(volume,0.01),1,beatrate));
per_frame_30=lastbeat = if(equal(lastbeat,0),time,lastbeat);
per_frame_31=meanbass_att = 0.1*(meanbass_att*9 + bass_att);
per_frame_32=peakbass_att = if(above(bass_att,peakbass_att),bass_att,peakbass_att);
per_frame_33=beat = if(above(volume,0.8),if(below(peakbass_att - bass_att, 0.05*peakbass_att),if(above(time - lastbeat,0.1+0.5*(beatrate-0.1)),1,0),0),0);
per_frame_34=beatrate = max(if(beat,if(below(time-lastbeat,2*beatrate),0.1*(beatrate*9 + time - lastbeat),beatrate),beatrate),0.1);
per_frame_35=peakbass_att = if(equal(beat,0),if(above(time - lastbeat,2*beatrate),peakbass_att*0.95,peakbass_att*0.995),bass_att);
per_frame_36=lastbeat = if(beat,time,lastbeat);
per_frame_37=peakbass_att = max(if(beat,bass_att,peakbass_att),1.1*meanbass_att);
per_frame_38=beatcounter = if(above(beat,0),beatcounter +1, beatcounter);
per_frame_39=beatcounter = if(above(beatcounter,7), 0, beatcounter);
per_frame_40=beateven = beatcounter%2;
per_frame_41=mode = if(beat,(mode+rand(3)+1)%4,mode);
per_frame_42=echo_orient = mode;
per_frame_43=wave_a = if(beat,1,0);
per_frame_44=wave_r = wave_r + 0.2*sin(time*0.7854) - 0.2*beateven;
per_frame_45=wave_b = wave_b + 0.1*sin(time*0.8254) + 0.2*beateven;
per_frame_46=wave_g = wave_g + 0.1*sin(time*0.854) + 0.2*beateven;
per_frame_47=q6 = beat;
per_frame_48=wave_mode = if(beateven,7,0);
per_frame_49=mv_a = if(beat,if(equal(beatcounter,6),1,0),0);
per_frame_50=mv_r = if(mv_a,rand(2),0);
per_frame_51=mv_b = if(mv_a,rand(2),0);
per_frame_52=mv_g= if(mv_a,rand(2),0);
per_pixel_1=box =0.5+0.8*(2*x%4+2*y%2);
per_pixel_2=q1 = 8.45+0.3*(sin(pow(x,3)+0.177*time)-cos(pow(y,3)+0.223*time));
per_pixel_3=q7 = above(box,1);
per_pixel_4=zoom = if(q7,(q1*.1) + q6*6 ,zoom);
per_pixel_5=rot = if(q7,0.63*sin(0.385*time + 0.12*sin(0.67*time) + 0.1*q4 + 0.12*q2 +q6*50),rot);
per_pixel_6=cx = cx - 0.15*sin(2*q4);
per_pixel_7=cy = cy + 0.14*sin(2*q2);
per_pixel_8=sx = if(q7,sx+q6*18,sx);
per_pixel_9=sy = if(q7,sy+q6*18,sy);
per_frame_init_1=beatcounter =0;
