Milkdrop2



  • 4Preset Authoring - Advanced
  1. Milkdrop 2 Screensaver
  2. Milkdrop 2 Download
  3. Milkdrop For Windows 10
  4. Milkdrop 2 Foobar

MILKDROP preset authoring guide

MilkDrop is a hardware-accelerated music visualization plugin for Winamp, which was originally developed by Ryan Geiss in 2001. It uses DirectX and intelligent beat detection to render iterated images which blend seamlessly.

Presets

Note that there is another, quite comprehensive, Preset Authoring Guide available on the web at http://www.milkdrop.co.uk/, which is continually updated and expanded through the hard work of a few dedicated preset authors. Whereas this guide (the one you are currently viewing) gives the bare technical specifications for writing your own presets, the guide at milkdrop.co.uk 'starts at the beginning' and walks you through all of the mathematics and subtleties of 'rolling your own', explaining things in great detail. The guide at milkdrop.co.uk is very highly recommended to anyone who wishes to learn more about creating their own presets. Also, there is a Pixel shader guide on this wiki.

About Presets

When you watch MilkDrop, you are watching a series of Presets. Each one has its own look and feel, draws the sound waves in a particular way, and has certain motions to it. After some time, you will see a short blend transition, and then you will be watching a new preset.

MilkDrop 2.0 was released in 2007, introducing Per Pixel Shader support. It is available with Winamp 5.5 or from projectM in their 2.0.1 version for use it with other players like the VLC media player. MilkDrop 2 added DirectX 9.0 support and added the ability to use pixel shaders in its presets. Butterchurn Visualizer is a WebGL implementation of the Milkdrop Visualizer, bringing the best music visualizations to the web. Milkdrop2 visualizer for Kodi. Contribute to xbmc/visualization.milkdrop2 development by creating an account on GitHub.

A single 'preset' is a collection of parameters that tell MilkDrop how to draw the wave, how to warp the image around, and so on. MilkDrop ships with over 100 built-in presets, each one having a distinct look and feel to it.

Using MilkDrop's built-in 'preset-editing menu' (the M key), you can edit presets on the fly, on-screen, from within the program. You can make slight adjustments to existing presets, then save over them; or you can change lots of things, so the preset doesn't look anything like the original, and then save it under a new name. You can even write insane new mathematical equations, of your own imagination, into your preset files and come up with things that MilkDrop has never done before!

Each preset is saved as a file with the '.milk' extension, so you can easily send them to your friends or post them on the web. You can also go to http://www.nullsoft.com/free/milkdrop and then jump to the 'preset sharing forum' to see what other people have come up with, or post your own cool, new presets. milkdrop.co.uk/ is another great place to download collections of presets made by others like yourself.

Preset Authoring - Basic

You can edit the properties of the current preset by hitting 'M', which brings up the 'preset-editing menu'. From this menu you can use the up and down arrow keys to select an item. Press the RIGHT arrow key to move forward through the menu and select the item (note: you can also hit SPACE or RETURN to do this); ***press the LEFT arrow key to go back to the previous menu.***

Milkdrop2

Pressing 'M' while the menu is already showing will hide the menu; pressing ESCAPE will do the same thing. Press 'M' again to bring the menu back.

Once you've reached an item on the menu whose value can be edited, use the UP and DOWN arrow keys to increase or decrease its value, respectively. Changes will register immediately. Use PAGE UP and PAGE DOWN to increase the value more quickly. Hold down SHIFT and use the UP/DOWN arrow keys to change the value very slowly. Hit RETURN To keep the new value, or ESC to abort the change.

If the item you're editing is a text string, you can use the arrow keys to move around. The Insert key can be used to toggle between insert and overtype modes. You can hold shift and use the arrow keys (home, end, left, right) to make a selection, which will be identified by brackets []. You can then use CTRL-C or CTRL-X to copy or cut text. CTRL-P pastes. When finished editing, hit RETURN To keep the new string, or ESC to abort the change.

You'll want to get into the habit of using SCROLL LOCK whenever you're making changes to a preset that you intend to save; otherwise, MilkDrop is sure to move you along to a new (random) preset, over time. When the menus are showing, the preset isautomatically temporarily locked, but BE CAREFUL - if you're not also using SCROLL LOCK, then 0.1 seconds after you hide the menuto take a look at your new masterpiece, MilkDrop might load a random new preset on you, and you'd lose your changes! And you might then ask me: 'how large is large?' And I will tell you: 'thirty.'

Preset Authoring - Advanced

This section describes how to use the 'per-frame' and 'per-vertex' equations to develop unique new presets.


PER-FRAME EQUATIONS

When you hit 'm' to show the preset-editing menu, several itemsshow up. If you explore the sub-menus, you'll see thatall of the properties that make up the preset you're currentlyviewing are there. The values you can specify here (such aszoom amount, rotation amount, wave color, etc.) are all staticvalues, meaning that they don't change in time. For example, take the 'zoom amount' option under the 'motion' submenu. If this value is 1.0, there is no zoom. If the value is 1.01, the image zooms in 1% every frame. If the value is 1.10, the image zooms in 10% every frame. If the value is 0.9, the image zooms out 10% every frame; and so on.

However, presets get far more interesting if you can take these parameters (such as the zoom amount) and animate them (make them change over time). For example, if you could take the 'zoom amount' parameter and make it oscillate (vary) between 0.9 and 1.1 over time, the image would cyclically zoom in and out, in time.

You can do this - by writing 'per-frame' and 'per-vertex' equations. Let's start with 'per-frame' equations. These areexecuted once per frame. So, if you were to type the followingequation in:

...then the zoom amount would oscillate between 0.9 and 1.1over time. (Recall from your geometry classes that sin()returns a value between -1 and 1.) The equation says: 'takethe static value of 'zoom', then replace it with that value,plus some variation.' This particular equation would oscillate (cycle) every 6.28 seconds, since the sin() function's period is 6.28 (PI*2) seconds. If you wanted it to make it cycle every 2 seconds, you could use:

Now, let's say you wanted to make the color of the waveform(sound wave) that gets plotted on the screen vary through time.The color is defined by three values, one for each of the maincolor components (red, green, and blue), each in the range 0 to 1(0 is dark, 1 is full intensity). You could use something like this:

It's nice to stagger the frequencies (1.13, 1.23, and 1.33) ofthe sine functions for the red, green, and blue color componentsof the wave so that they cycle at different rates, to avoid themalways being all the same (which would create a greyscale wave).

Here is a full list of the variables available for writing per-frame equations:


PER-VERTEX EQUATIONS



VARIABLE POOLS; DECLARING YOUR OWN VARIABLES; PERSISTENCE OF VALUES

Milkdrop 2 Screensaver



Milkdrop 2 Download

Milkdrop2 for winamp

PRESET INIT CODE; CARRYING VALUES BETWEEN VARIABLE POOLS, USING q1-q32


Milkdrop2


CUSTOM SHAPES AND WAVES

Milkdrop For Windows 10


Milkdrop 2 Foobar

Retrieved from 'http://wiki.winamp.com/index.php?title=MilkDrop_Preset_Authoring&oldid=61429'