MILKDROP_PRESET_VERSION=201 | |
PSVERSION=2 | |
PSVERSION_WARP=2 | |
PSVERSION_COMP=2 | |
[preset00] | |
fRating=2.000000 | |
fGammaAdj=1.210000 | |
fDecay=1.0 | |
fVideoEchoZoom=1.006596 | |
fVideoEchoAlpha=0.0 | |
nVideoEchoOrientation=3 | |
nWaveMode=3 | |
bAdditiveWaves=0 | |
bWaveDots=1 | |
bWaveThick=1 | |
bModWaveAlphaByVolume=0 | |
bMaximizeWaveColor=0 | |
bTexWrap=0 | |
bDarkenCenter=0 | |
bRedBlueStereo=0 | |
bBrighten=0 | |
bDarken=1 | |
bSolarize=0 | |
bInvert=0 | |
fWaveAlpha=9.088520 | |
fWaveScale=0.499500 | |
fWaveSmoothing=0.0 | |
fWaveParam=1.0 | |
fModWaveAlphaStart=0.710000 | |
fModWaveAlphaEnd=1.3 | |
fWarpAnimSpeed=1.0 | |
fWarpScale=1.331000 | |
fZoomExponent=1.0 | |
fShader=0.0 | |
zoom=0.999514 | |
rot=0.0 | |
cx=0.5 | |
cy=0.5 | |
dx=0.0 | |
dy=0.0 | |
warp=0.010000 | |
sx=1.0 | |
sy=1.0 | |
wave_r=0.990000 | |
wave_g=0.0 | |
wave_b=0.0 | |
wave_x=0.5 | |
wave_y=0.5 | |
ob_size=0.005000 | |
ob_r=0.3 | |
ob_g=0.0 | |
ob_b=0.5 | |
ob_a=0.0 | |
ib_size=0.260000 | |
ib_r=0.25 | |
ib_g=0.25 | |
ib_b=0.25 | |
ib_a=0.0 | |
nMotionVectorsX=64.0 | |
nMotionVectorsY=2.759997 | |
mv_dx=0.0 | |
mv_dy=-0.620000 | |
mv_l=5.0 | |
mv_r=0.0 | |
mv_g=1.0 | |
mv_b=1.0 | |
mv_a=0.4 | |
b1n=0.0 | |
b2n=0.0 | |
b3n=0.0 | |
b1x=1.0 | |
b2x=1.0 | |
b3x=1.0 | |
b1ed=0.25 | |
wavecode_0_enabled=0 | |
wavecode_0_samples=512 | |
wavecode_0_sep=0 | |
wavecode_0_bSpectrum=0 | |
wavecode_0_bUseDots=0 | |
wavecode_0_bDrawThick=0 | |
wavecode_0_bAdditive=0 | |
wavecode_0_scaling=1.0 | |
wavecode_0_smoothing=0.5 | |
wavecode_0_r=1.0 | |
wavecode_0_g=1.0 | |
wavecode_0_b=1.0 | |
wavecode_0_a=1.0 | |
wavecode_1_enabled=0 | |
wavecode_1_samples=512 | |
wavecode_1_sep=0 | |
wavecode_1_bSpectrum=0 | |
wavecode_1_bUseDots=0 | |
wavecode_1_bDrawThick=0 | |
wavecode_1_bAdditive=0 | |
wavecode_1_scaling=1.0 | |
wavecode_1_smoothing=0.5 | |
wavecode_1_r=1.0 | |
wavecode_1_g=1.0 | |
wavecode_1_b=1.0 | |
wavecode_1_a=1.0 | |
wavecode_2_enabled=0 | |
wavecode_2_samples=512 | |
wavecode_2_sep=0 | |
wavecode_2_bSpectrum=0 | |
wavecode_2_bUseDots=0 | |
wavecode_2_bDrawThick=0 | |
wavecode_2_bAdditive=0 | |
wavecode_2_scaling=1.0 | |
wavecode_2_smoothing=0.5 | |
wavecode_2_r=1.0 | |
wavecode_2_g=1.0 | |
wavecode_2_b=1.0 | |
wavecode_2_a=1.0 | |
wavecode_3_enabled=0 | |
wavecode_3_samples=512 | |
wavecode_3_sep=0 | |
wavecode_3_bSpectrum=0 | |
wavecode_3_bUseDots=0 | |
wavecode_3_bDrawThick=0 | |
wavecode_3_bAdditive=0 | |
wavecode_3_scaling=1.0 | |
wavecode_3_smoothing=0.5 | |
wavecode_3_r=1.0 | |
wavecode_3_g=1.0 | |
wavecode_3_b=1.0 | |
wavecode_3_a=1.0 | |
shapecode_0_enabled=0 | |
shapecode_0_sides=4 | |
shapecode_0_additive=0 | |
shapecode_0_thickOutline=0 | |
shapecode_0_textured=0 | |
shapecode_0_x=0.5 | |
shapecode_0_y=0.5 | |
shapecode_0_rad=0.1 | |
shapecode_0_ang=0.0 | |
shapecode_0_tex_ang=0.0 | |
shapecode_0_tex_zoom=1.0 | |
shapecode_0_r=1.0 | |
shapecode_0_g=0.0 | |
shapecode_0_b=0.0 | |
shapecode_0_a=1.0 | |
shapecode_0_r2=0.0 | |
shapecode_0_g2=1.0 | |
shapecode_0_b2=0.0 | |
shapecode_0_a2=0.0 | |
shapecode_0_border_r=1.0 | |
shapecode_0_border_g=1.0 | |
shapecode_0_border_b=1.0 | |
shapecode_0_border_a=0.1 | |
shapecode_1_enabled=0 | |
shapecode_1_sides=4 | |
shapecode_1_additive=0 | |
shapecode_1_thickOutline=0 | |
shapecode_1_textured=0 | |
shapecode_1_x=0.5 | |
shapecode_1_y=0.5 | |
shapecode_1_rad=0.1 | |
shapecode_1_ang=0.0 | |
shapecode_1_tex_ang=0.0 | |
shapecode_1_tex_zoom=1.0 | |
shapecode_1_r=1.0 | |
shapecode_1_g=0.0 | |
shapecode_1_b=0.0 | |
shapecode_1_a=1.0 | |
shapecode_1_r2=0.0 | |
shapecode_1_g2=1.0 | |
shapecode_1_b2=0.0 | |
shapecode_1_a2=0.0 | |
shapecode_1_border_r=1.0 | |
shapecode_1_border_g=1.0 | |
shapecode_1_border_b=1.0 | |
shapecode_1_border_a=0.1 | |
shapecode_2_enabled=0 | |
shapecode_2_sides=4 | |
shapecode_2_additive=0 | |
shapecode_2_thickOutline=0 | |
shapecode_2_textured=0 | |
shapecode_2_x=0.5 | |
shapecode_2_y=0.5 | |
shapecode_2_rad=0.1 | |
shapecode_2_ang=0.0 | |
shapecode_2_tex_ang=0.0 | |
shapecode_2_tex_zoom=1.0 | |
shapecode_2_r=1.0 | |
shapecode_2_g=0.0 | |
shapecode_2_b=0.0 | |
shapecode_2_a=1.0 | |
shapecode_2_r2=0.0 | |
shapecode_2_g2=1.0 | |
shapecode_2_b2=0.0 | |
shapecode_2_a2=0.0 | |
shapecode_2_border_r=1.0 | |
shapecode_2_border_g=1.0 | |
shapecode_2_border_b=1.0 | |
shapecode_2_border_a=0.1 | |
shapecode_3_enabled=0 | |
shapecode_3_sides=4 | |
shapecode_3_additive=0 | |
shapecode_3_thickOutline=0 | |
shapecode_3_textured=0 | |
shapecode_3_x=0.5 | |
shapecode_3_y=0.5 | |
shapecode_3_rad=0.1 | |
shapecode_3_ang=0.0 | |
shapecode_3_tex_ang=0.0 | |
shapecode_3_tex_zoom=1.0 | |
shapecode_3_r=1.0 | |
shapecode_3_g=0.0 | |
shapecode_3_b=0.0 | |
shapecode_3_a=1.0 | |
shapecode_3_r2=0.0 | |
shapecode_3_g2=1.0 | |
shapecode_3_b2=0.0 | |
shapecode_3_a2=0.0 | |
shapecode_3_border_r=1.0 | |
shapecode_3_border_g=1.0 | |
shapecode_3_border_b=1.0 | |
shapecode_3_border_a=0.1 | |
per_frame_init_1=ddx = 0; | |
per_frame_init_2=ddy = 0; | |
per_frame_init_3=start = time; | |
per_frame_init_4=rt = 0; | |
per_frame_init_5=beatcount = 0; | |
per_frame_1=// Hello, | |
per_frame_2= | |
per_frame_3=// My beat detection algorithm had the aim of being able to detect and pickup a reliable beat throughout a song. This has creative possibilities of being able to PREDICT coming beats, and to have things lasting for (say) half a beat, etc. It still requires work, but I think I have made progress | |
per_frame_4=// I emplore you to have a look over it and try to underdstand it. Help me out here - I think it could be reallly good | |
per_frame_5= | |
per_frame_6=//Telek Sterling =:-) | |
per_frame_7=//Dilettante Extrodinaire | |
per_frame_8= | |
per_frame_9= | |
per_frame_10=//rt = realtime (for use with beat count) | |
per_frame_11=rt=time-start; | |
per_frame_12= | |
per_frame_13=//color cycling, yellow dynamic treble | |
per_frame_14=wave_g = max(0,min(1,.25*sin(time*10)+treb/2)); | |
per_frame_15=wave_x = cos(time*2.12)*.33+.5; | |
per_frame_16=wave_y = sin(time*1.5)*.13+.3; | |
per_frame_17= | |
per_frame_18=//initialisation bug patch | |
per_frame_19=beatrate = if(below(beatcount,2),.1,beatrate); | |
per_frame_20= | |
per_frame_21=//beat = if(longer that 10 sec,1,above(bass, decaying threshold)*(can't be less that .4 of last beat length) | |
per_frame_22=beat =if(above(rt-lastbeat,10),1, above(bass,1.6+.2*(lastbeat-rt)/beatrate)* above((rt-lastbeat)/beatrate,max(.4,.95-abs(accuracy*2)))); | |
per_frame_23= | |
per_frame_24=//Testing auto-beat trigger... exciting stuff. | |
per_frame_25=beat = if(beat,1, if(below(abs(accuracy),0.1)*below((lastbeat-rt)/beatrate,-1),1,0)); | |
per_frame_26= | |
per_frame_27=//Comparison of last beat duration to current. Best value is 0. -1 and 5 are pretty bad | |
per_frame_28=accuracy =if(beat,(rt-nextbeat)/beatrate,accuracy); | |
per_frame_29= | |
per_frame_30=beatcount = beatcount + beat; | |
per_frame_31= | |
per_frame_32=w_a = if(beat,1,w_a*0); | |
per_frame_33=wave_a = w_a; // I can't actually change this, can I..... Oh well, it's here now | |
per_frame_34= | |
per_frame_35=//Preserve beat rate | |
per_frame_36=l_beatrate=if(beat,beatrate, l_beatrate); | |
per_frame_37=//Record new beatrate | |
per_frame_38=beatrate = if(beat,rt-lastbeat,beatrate); | |
per_frame_39= | |
per_frame_40=//Record most recent beat | |
per_frame_41=lastbeat=if(beat,rt,lastbeat); | |
per_frame_42=//Predict time of next beat | |
per_frame_43=nextbeat=if(beat,rt+beatrate,nextbeat); | |
per_frame_44= | |
per_frame_45= | |
per_frame_46= | |
per_frame_47= | |
per_frame_48=//Actual Display code: | |
per_frame_49= | |
per_frame_50=//Current direction of travel | |
per_frame_51=state = beat * (state+1)%4+(1-beat)*state; | |
per_frame_52= | |
per_frame_53=//acceleration of horizon point | |
per_frame_54=dddy = state%2-.5; | |
per_frame_55=dddx = above(state,1.5)-.5; | |
per_frame_56= | |
per_frame_57=//adjustment factors to play with | |
per_frame_58=ddx = dddx*.5; | |
per_frame_59=ddy = dddy*.5; | |
per_frame_60= | |
per_frame_61= | |
per_frame_62=q1 = (qq1*19+ddx)*.041; | |
per_frame_63=//preserve q variables | |
per_frame_64=qq1 = q1; | |
per_frame_65= | |
per_frame_66=q2 = (qq2*19+ddy)*.035; | |
per_frame_67=qq2 = q2; | |
per_frame_68= | |
per_frame_69=//Decay to Blue!! | |
per_frame_70=ob_a = 0.1*above(frame%10,6); | |
per_frame_71= | |
per_frame_72= | |
per_frame_73= | |
per_frame_74= | |
per_frame_75=//Well, what do we want to monitor?? | |
per_frame_76= | |
per_frame_77=//monitor = q1; | |
per_frame_78=//monitor = beat; | |
per_frame_79=//monitor = 1.6+.2*(lastbeat-rt)/beatrate; | |
per_frame_80=monitor = (rt-lastbeat)/beatrate; | |
per_frame_81=//monitor = accuracy; | |
per_frame_82=//monitor = max(.4,.95-abs(accuracy*2)); | |
per_frame_83=//monitor = wave_a; | |
per_frame_84=//monitor = wave_g; | |
per_frame_85=//qwer = accuracy + if(below(abs(accuracy),0.1)*above((lastbeat-rt)/beatrate,1),1,0)*1000; | |
per_frame_86=//monitor = qwer; | |
per_frame_87=//monitor = (lastbeat-rt)/beatrate; | |
per_pixel_1=dx = sin(.5-x)*.1+q1; | |
per_pixel_2=dy = sin(.5-y)*.1+q2; | |
warp_1=`shader_body | |
warp_2=`{ | |
warp_3=` // Really smooth RADIAL BLUR: | |
warp_4=` float2 v1 = normalize(uv - 0.5); | |
warp_5=` //float2 v1 = float2(3,0); // or for an aggressive horiz. blur | |
warp_6=` //float2 v1 = normalize(uv - 0.5).yx * float2(-1,1) * 2; | |
warp_7=` ret = ( tex2D( sampler_main, uv + texsize.zw*(v1*-4.5) )*0.19 | |
warp_8=` + tex2D( sampler_main, uv + texsize.zw*(v1*-1.5) )*0.31 | |
warp_9=` + tex2D( sampler_main, uv + texsize.zw*(v1* 1.5) )*0.31 | |
warp_10=` + tex2D( sampler_main, uv + texsize.zw*(v1* 4.5) )*0.19 | |
warp_11=` ) - 0.009; | |
warp_12=`} | |
warp_13=` | |
comp_1=`shader_body | |
comp_2=`{ | |
comp_3=` ret = tex2D(sampler_main, uv).xyz; | |
comp_4=` ret *= 1.333; // a little bit of overbright | |
comp_5=`} | |
comp_6=` | |
comp_7=` |