Jump to content

MilkDrop

From Wikipedia, the free encyclopedia

MilkDrop
Developer(s)Ryan Geiss
Initial release5 November 2001; 23 years ago (2001-11-05)
Stable release
Milkdrop 2.25d, Winamp 5.66, Kodi 20.2.0
Operating systemWindows, DirectX 9
TypeMusic visualization
LicenseBSD license
Websitehttp://www.geisswerks.com/milkdrop/
Screenshot of preset included in MilkDrop version 1.04d

MilkDrop is a hardware-accelerated music visualization plugin for Winamp and Kodi, which was originally developed by Ryan Geiss in 2001. It uses DirectX and beat detection to render iterated images which blend seamlessly.[1] MilkDrop uses a complex system of interpolation to transition between presets gradually through time, creating a constantly changing visual experience.[2]

Presets

[edit]

MilkDrop is an environment for running presets, software which controls MilkDrop, and does not produce visualizations by itself.

Presets are saved in .milk file format, typically in a subfolder of the MilkDrop plugin directory. Creating new presets is generally referred to as authoring, or writing, making the person that wrote a preset its author. Presets are distributed on the Internet through Winamp, the Winamp forums, and through the personal webpages of MilkDrop preset authors.[3] A preset's title also doubles as its .milk save name, and usually includes the preset author or authors' pseudonym. Since MilkDrop presets were frequently shared on forums, they often have more than one author and such variations are referred to as remixes, edits, or mashups. Hence these presets will often include these terms within the preset's title.

History

[edit]

Milkdrop is the successor of an earlier music visualization software by Ryan Geiss, the geiss plugin for Winamp, released around 1998.[4][5] The geiss plugin did the real-time music visualization purely software rendered by utilizing the CPU effectively by highly optimized, hand-tuned assembly code.[4][6]

In 2001 the first version of milkdrop was written, built around the now widely available GPU hardware.[7] Ryan Geiss released 12 versions of MilkDrop between 5 November 2001 and 31 July 2003.[8]

Originally closed source, version 1.04 Milkdrop's source code was released under the BSD license in May 2005.[9][10] Geoff "Redi Jedi" Potter[11] has taken up developing the program since 2005 and has released six beta versions.[12]

With the availability of the source code, MilkDrop has been ported to many platforms: for instance to XBMC (now Kodi), a homebrew developed media player that can be downloaded for Xbox, PC, or as a LiveCD.

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 with other players like VLC media player. MilkDrop 2 added DirectX 9.0 support and added the ability to use pixel shaders in its presets. Milkdrop is implemented in Winamp (v5.66).

The source code for MilkDrop 2.25c has been released on 15 May 2013.[7]

MilkDrop 2.25d was released in December 2022 (along with Winamp v5.9), but it broke backwards compatibility with some presets.[13]

Reception

[edit]

According to the Winamp main download page, the milkdrop plugin and its predecessor Geiss were the most downloaded plugins overall, with 2,737,890 and 4,686,010 downloads (on 10 August 2014), respectively.[14]

Codebase Forks

[edit]

ProjectM

[edit]

ProjectM[15] is an implementation of MilkDrop using OpenGL in C++, and is released under the GNU LGPL. It is available as a plugin for Audacious, XMMS, Winamp, iTunes, Jack, PulseAudio, foobar2000, Windows Media Player, VLC media player and XBMC, and also as a standalone desktop application.[16] The VLC versions 2.2.x does not support the projectM plugin. however it returned to VLC 3.0.0.[17] It comes natively with Clementine, Poweramp, and Qmmp that are also available in the Play Store on Android.

Milkymist

[edit]

Milkymist One (2010), made by Flickernoise Software, is a video synthesizer that is largely inspired by MilkDrop and is compatible with MilkDrop presets to some extent.

Butterchurn

[edit]

Butterchurn[18] (2018) is a web implementation of the original source code of Milkdrop released on the Winamp forum in 2007. Butterchurn v2.6.7.1e-complete (2020-08-20) is easy to implement with example webpage and extended functions and implementation manual.[19][better source needed]

MilkDrop 3.0

[edit]

MilkDrop 3.0[20] (2023) is an updated fan version of MilkDrop released on the Winamp forum in 2023 by MilkDrop2077. MilkDrop3 supports any audio sources (like Spotify or YouTube), double-presets, loading presets based on beat detection, new waveforms, new transition effects, injecting effects in the shaders, saving any image directly in the preset, and up to 16 custom shapes/waves.

A new type of .milk2 file format has been introduced which combines two presets and displays them simultaneously. The first lines contains the blending information (blending_pattern, blending_progress, blending_direction and the fives random values used for blending pattern like plasma. The first preset is saved between [PRESET1_BEGIN] and [PRESET1_END], the second one between [PRESET2_BEGIN] and [PRESET2_END], and since MilkDrop version 3.2, an extra line containing the original preset name after 'NAME='.

NestDrop

[edit]

NestDrop[21] (2020) is a software designed specifically for VJs to easily perform with the Milkdrop presets. Support for Spout video output has been added which allows for the real-time video stream to be shared directly on the GPU with any VJ software. Another extension of Milkdrop is the addition of "Spout Sprites"[22] which allows for any Spout video stream to be used as a texture for the sprites in Milkdrop and therefore allow for webcam video to be injected into the generative visuals. Also four different Milkdrop engines can be active concurrently and controlled by the queue windows. The NestDrop dev team manually curated through 52,000 presets to create a highly organized "Cream of the Crop"[23] collection containing the best 9,795 presets.

See also

[edit]

References

[edit]
  1. ^ "MilkDrop 1.04 for Windows 2000/NT/ME/98/95". Shareware Music Machine. Hitsquad Pty Ltd. Retrieved 11 October 2010.
  2. ^ MilkDrop Version History Archived 23 May 2007 at the Wayback Machine
  3. ^ MilkDrop preset authoring guide Archived 7 June 2007 at the Wayback Machine
  4. ^ a b Geiss, Ryan. "geiss.txt". Retrieved 10 August 2014. GEISS is entirely copyright (c) 1998–2000 by Ryan M. Geiss [...] Geiss uses hand-tuned x86 assembly language to reach blazing speeds, generating smooth and graceful realtime graphics... and it can hear whatever your computer hears and synchronize the graphics it generates to the sound you're hearing.
  5. ^ "Geiss".
  6. ^ "Frequently-asked questions about Geiss for Winamp". Retrieved 10 August 2014. Also, a 3d-accelerated video card will make NO difference.. What you see in Geiss right now is not hardware accelerated (nor can it be).
  7. ^ a b "Geisswerks – About MilkDrop".
  8. ^ MilkDrop 2.0d (January 2008) Archived 23 May 2007 at the Wayback Machine
  9. ^ MilkDrop plug-in for Winamp Archived 2 August 2005 at the Wayback Machine
  10. ^ Milkdrop 1 Source Code released (May 4, 2005) http://www.nullsoft.com/free/milkdrop_1.04_Source.zip[permanent dead link]
  11. ^ About me Archived 18 May 2007 at the Wayback Machine
  12. ^ Development Archived 15 May 2007 at the Wayback Machine
  13. ^ https://forums.winamp.com/forum/visualizations/milkdrop/4621255-changelog-for-milkdrop-v2-25d-unexplained
  14. ^ "Winamp Visualization Most Downloaded". Archived from the original on 12 August 2014. Retrieved 10 August 2014.
  15. ^ "projectM".
  16. ^ "GitHub - projectM-visualizer/frontend-sdl2: Standalone application based on SDL2 that turns your desktop audio into awesome visuals. Available on most platforms supported by both libprojectM and libSDL2". GitHub. Retrieved 10 June 2023.
  17. ^ "ProjectM visualization choice missing from VLC 2.2.0 – The VideoLAN Forums".
  18. ^ http://butterchurnviz.com
  19. ^ "MilkDrop easy to implement on webpages ..."
  20. ^ https://github.com/milkdrop2077/MilkDrop3/
  21. ^ https://nestimmersion.ca/nestdrop.php
  22. ^ https://www.youtube.com/watch?v=4wepLsdUO7E
  23. ^ https://www.patreon.com/posts/91682111