[preset00]
fRating=3
fGammaAdj=1
fDecay=1
fVideoEchoZoom=0.999609
fVideoEchoAlpha=1
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=1
fWaveSmoothing=0.27
fWaveParam=0
fModWaveAlphaStart=0.75
fModWaveAlphaEnd=0.95
fWarpAnimSpeed=5.99579
fWarpScale=1.331
fZoomExponent=1.01
fShader=0
zoom=0.998531
rot=0.002
cx=0.5
cy=0.5
dx=0
dy=0
warp=0.01
sx=1
sy=1
wave_r=0.8
wave_g=0.1
wave_b=0.1
wave_x=0.5
wave_y=0.5
ob_size=0.01
ob_r=0
ob_g=0.9
ob_b=0.2
ob_a=1
ib_size=0
ib_r=0.201
ib_g=0.5
ib_b=0.5
ib_a=1
nMotionVectorsX=5.76
nMotionVectorsY=4.680001
mv_dx=0
mv_dy=0
mv_l=5
mv_r=0.6
mv_g=0.4
mv_b=1
mv_a=0
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;
