Old 14th October 2001, 05:49   #1
unchained
Major Dude
 
Join Date: Jul 2001
Location: richmond, va
Posts: 639
Send a message via Yahoo to unchained
Hope you like it...

much better than the original, IMHO

=================
Ambrosia Legend
=================
[preset00]
fRating=4.000000
fGammaAdj=2.000000
fDecay=0.994000
fVideoEchoZoom=1.006500
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=1
nWaveMode=5
bAdditiveWaves=0
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=0.799900
fWaveScale=0.772041
fWaveSmoothing=0.750000
fWaveParam=-0.200000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=0.000000
zoom=1.020100
rot=0.000000
cx=0.470000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.000000
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.010000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=0.000000
ib_size=0.010000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
per_frame_1=warp=0;
per_frame_2=state=if(above(bass_att,mid),if(above(bass_att,treb_att),3,2),if(above(treb_att,mid),2,1));
per_frame_3=wave_r = wave_r + if(equal(state,3),.5*sin(bass),.5*sin(time*.777));
per_frame_4=wave_g = wave_g + if(equal(state,2),.5*sin(treb),.5*sin(time*.888));
per_frame_5=wave_b = wave_b + .5*sin(time);
per_frame_6=q1=state;
per_pixel_1=floon=if(equal(q1,3),-.1,if(equal(q1,2),2,1));
per_pixel_2=flarn = sin(ang*10+time+abs(pow(rad,q1)*10%5));
per_pixel_3=zoom = zoom+.07*flarn*floon;
per_pixel_4=rot = rot+.02*flarn*floon;


Also, somebody (Krash?) please tell me what you think of what I'm doing with the color/tone responsiveness. I'm really busting my ass trying to get it right.

--
unchained
unchained is offline   Reply With Quote
Old 14th October 2001, 07:08   #2
Krash
Major Dude
 
Krash's Avatar
 
Join Date: Jun 2001
Location: Sydney, Australia
Posts: 977
Not bad - you're trying some of the stuff I was experimenting with when I was making the disc preset.
I see that you're using a variable (you're calling it state) to find whether bass, midrange, or treble is currently the dominant frequency. I've found that if you're going to use this, it's a good thing to also include a minimum value for the attenuation - I used 1.4 in Vinyl Disc. This way, the preset wont jitter around so much, and you can get more definite responses to the beat.

As far as colour goes, it's starting to get there, I think, but I don't really know how to make it better. If you've ever watched Geiss, it spends alot of it's time a brown orange colour (r=0.5, g=0.5, b=0), but bass will make the wave blend quickly to a deep red, and treble will make it blend to a bright blue. There were never any ugly green colours in between. I think I know how this was done - I'm pretty sure geiss operated (at least initially) under a palette, and the level of bass or treble just told it where on the palette to source the colour from. We have a problem duplicating that in milkdrop, as you'd need to set up some reasonably complex equations, and I'm not sure exactly what would be needed. Part of the problem is making the colour blend smoothly, rather than jumping around like crazy. It would take a lot of work.

As an illustration, here's a version of vinyl disc that I did while trying to get colour response in there. The colours are pretty ugly - I wouldn't recommend keeping it as a preset, but it's okay to learn from.

Colour Response Attempt

[preset00]
fRating=3.000000
fGammaAdj=2.000000
fDecay=0.975000
fVideoEchoZoom=1.000000
fVideoEchoAlpha=0.000000
nVideoEchoOrientation=0
nWaveMode=6
bAdditiveWaves=0
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=0
bTexWrap=0
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=1.000000
fWaveScale=0.054279
fWaveSmoothing=0.750000
fWaveParam=0.000000
fModWaveAlphaStart=0.850000
fModWaveAlphaEnd=1.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=0.000000
zoom=1.000000
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.000000
sx=1.000000
sy=1.000000
wave_r=0.300000
wave_g=0.300000
wave_b=0.300000
wave_x=0.500000
wave_y=0.500000
ob_size=0.005000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=1.000000
ib_size=0.000000
ib_r=0.000000
ib_g=0.000000
ib_b=0.000000
ib_a=0.000000
per_frame_1=warp=0;
per_frame_2=dx=-0.0005;
per_frame_3=dy=-0.0005;
per_frame_4=dominant = if( above( bass_att, mid_att ), if( above( bass_att, treb_att ), 1, 3), if( above( mid_att, treb_att ), 2, 3 ));
per_frame_5=bass_plus = if( equal( dominant, 1 ), 0.3, if( equal( dominant, 2 ), 0, -0.1));
per_frame_6=mid_plus = if( equal( dominant, 1 ), -0.1, if( equal( dominant, 2 ), 0, -0.1));
per_frame_7=treb_plus = if( equal( dominant, 1 ), -0.1, if( equal( dominant, 2 ), 0, 0.3));
per_frame_8=wave_r = 0.3 + (bass*bass_plus) + 0.125*(0.6*sin(0.784*time) + 0.4*sin(0.986*time));
per_frame_9=wave_g = 0.3 + (mid*mid_plus) + 0.125*(0.6*sin(0.671*time) + 0.4*sin(1.164*time));
per_frame_10=wave_b = 0.2 + (treb*treb_plus) + 0.125*(0.6*sin(1.423*time) + 0.4*sin(0.687*time));
per_frame_11=zoom = if(above(bass_att,1.4),pow(1.2,bass_att),1);
per_pixel_1=rot = if(below(y,0.5),0.05,if(above(y,0.5),0.05,0));


Wow. Long post.

- Krash
Krash is offline   Reply With Quote
Old 14th October 2001, 07:15   #3
Krash
Major Dude
 
Krash's Avatar
 
Join Date: Jun 2001
Location: Sydney, Australia
Posts: 977
Slightly general comments on ambrosia legend:

The preset seems to go to overall grey, and sit there - the colours from the wave form don't blend out to well. Try using a different wavetype, or fiddling with the mystery parameter (I wish we knew what it did in some of the other wave types).
Also - this is a bit anal, but coming from a programmer's perspective - It's always good to try and give meaningful names to your variables. Flarm and Floom are not good examples =]. I know the variables are just random equations, but maybe you could name them according to how they affect the preset? Like, jitter and swirl, or something.

- Krash
Krash is offline   Reply With Quote
Old 14th October 2001, 10:39   #4
unchained
Major Dude
 
Join Date: Jul 2001
Location: richmond, va
Posts: 639
Send a message via Yahoo to unchained
I tweaked around on the colors and wavetypes for quite a while before finally leaving it on that one. I was trying hard to keep the "ambrosia" effect, and anything I did to the color scheme or wave type seemed to blow it, although they all look pretty spiffy.

Sorry for my variable names and formatting, I know it makes my code hard to work with...I've rarely in my life done anything other people are likely to see, so I've developed my own wacky methods for spacing and variable naming over the years. It all makes sense to ME.

--
unchained
unchained is offline   Reply With Quote
Old 14th October 2001, 11:43   #5
unchained
Major Dude
 
Join Date: Jul 2001
Location: richmond, va
Posts: 639
Send a message via Yahoo to unchained
Ok, after more fiddling I finally got EXACTLY the effect I wanted.

=================
Ambrosia Mystic
=================
[preset00]
fRating=4.000000
fGammaAdj=2.000000
fDecay=0.992000
fVideoEchoZoom=1.006500
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=1
nWaveMode=5
bAdditiveWaves=0
bWaveDots=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bMotionVectorsOn=0
bRedBlueStereo=0
nMotionVectorsX=12
nMotionVectorsY=9
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=0.799900
fWaveScale=1.549220
fWaveSmoothing=0.750000
fWaveParam=0.000000
fModWaveAlphaStart=0.750000
fModWaveAlphaEnd=0.950000
fWarpAnimSpeed=1.000000
fWarpScale=1.000000
fZoomExponent=1.000000
fShader=0.000000
zoom=1.040604
rot=0.000000
cx=0.470000
cy=0.500000
dx=0.000000
dy=0.000000
warp=1.000000
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.010000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=0.000000
ib_size=0.010000
ib_r=0.250000
ib_g=0.250000
ib_b=0.250000
ib_a=0.000000
per_frame_1=warp=0;
per_frame_2=state=if(above(bass_att,mid),if(above(bass_att,treb_att),3,2),if(above(treb_att,mid),2,1));
per_frame_3=wave_r = wave_r + if(equal(state,3),.5*sin(time*.666),.5*sin(time*.777));
per_frame_4=wave_g = wave_g + if(equal(state,2),.5*sin(time*.555),.5*sin(time*.888));
per_frame_5=wave_b = wave_b + .5*sin(time);
per_frame_6=wave_size=wave_size*state*20;
per_frame_7=q1=state;
per_frame_8=zoom=if(above(bass_att,1.4),1-(1-zoom),zoom);
per_frame_9=warp=if(equal(state,3),1,0);
per_frame_10=wave_x=wave_x+if(equal(state,3),.08*sin(time),0)+if(equal(state,2),.03*sin(time*2),0);
per_frame_11=wave_y=wave_y+if(equal(state,2),.03*sin(time*2),0)+if(equal(state,3),.08*sin(time*2),0);
per_frame_12=wave_size=wave_size*if(equal(state,3),2,1);
per_frame_13=decay=if(below(mid_att,1.4),1,decay);
per_pixel_1=state_scalar=if(equal(q1,3),-.1,if(equal(q1,2),2,1));
per_pixel_2=location = sin(ang*10+time+abs(pow(1+rad,q1)+x*10%5));
per_pixel_3=zoom = zoom+.08*state_scalar*location;
per_pixel_4=rot = rot+.02*state_scalar*location;

You'd damn well better all appreciate it, as long as it took.

--
unchained
unchained is offline   Reply With Quote
Old 14th October 2001, 13:04   #6
Krash
Major Dude
 
Krash's Avatar
 
Join Date: Jun 2001
Location: Sydney, Australia
Posts: 977
Impressive. This one's a keeper.

- Krash
Krash is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Visualizations > MilkDrop > MilkDrop Presets

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump