At a glance:  MILKDROP

Links:
  - MilkDrop Homepage
  - Winamp.com
  - Back to Geisswerks

To get MilkDrop, just grab the latest version of Winamp.

MilkDrop is the next generation of music visualizer. First written in 2001, its popularity seemed to only grow as more and more people explored its possibilities and made increasingly amazing content for it. However, in 2007 I gave it a major update, opening it up to the power of pixel shaders - flexible programs written to run on modern GPUs that can result in spectacular imagery and special effects.

MilkDrop's content is comprised of presets. Each preset has a certain look and feel, created by a dozen or so short pieces of computer and/or shader code, as well as several dozen variables that can be tuned. Users can play with MilkDrop to create their own new presets, even writing new computer or shader code on-screen, while they run the preset and see the effects of their changes. This has spawned a large community of people authoring many thousands of presets, creating new visuals and making it react to the music in ways that I never dreamed of. Mainly thanks to this preset authoring community, MilkDrop continues to evolve to this day.

The MilkDrop 2.25c source code is freely available - you can get it either as a zip, or using git via SourceForge. It builds using Visual Studio [C++] 2008 or later, a free download from Microsoft.

The original [pre-pixel-shader] MilkDrop (1.x) is also open-sourced -- that source code is here.

The 2007 update is called "MilkDrop 2" but is the same program. All MilkDrop 1 presets are compatible with MilkDrop 2. However, many new features were added. Foremost, the addition of pixel shaders allows dozens, even hundreds of complex instructions to be executed for every pixel on the screen, every frame. Other new features include jpg textures, gaussian blurring, a preset "mash-up" feature, and (finally) a prest "back" button.

MilkDrop 2 works with any graphics processor, but to enable all of the cool effects, you need a GPU that can run Shader Model 3 or greater.