projectM - cross-platform music visualization. Open-source and Milkdrop-compatible
C C++ CMake Shell Objective-C Objective-C++
Latest commit f29e73d Jan 4, 2018 @revmischa revmischa Merge pull request #24 from flying-sheep/patch-1
We use Qt5 now

README.md

Logo

projectM - The most advanced open-source music visualizer

projectM is an open-source project that reimplements the esteemed Winamp Milkdrop by Geiss in a more modern, cross-platform reusable library.

Its purpose in life is to read in audio input and produce mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations.

Available For

Presets

The preset files define the visualizations via pixel shaders and Milkdrop-style equations and parameters. Included with projectM are the bltc201, Milkdrop 1 and 2, projectM, tryptonaut and yin collections. You can grab all of the presets here.

Also Featured In

Kodi
Kodi (formerly XBMC)

Helix
Helix


Screenshots

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot


Building From Source

Mac OS X

Linux

  • sudo apt-get install libsdl2-dev libglew-dev libftgl-dev libsdl2-dev libdevil-dev

Building From Source

Uses build Make scripts

make

Using the library

At its core projectM is a library, libprojectM. This library is responsible for parsing presets, analyzing audio PCM data with beat detection and FFT, applying the preset to the audio feature data and rendering the resulting output with openGL. It can render to an openGL context or a texture.

For an example of a very simple example use of the library see the libSDL2 sample code.

There are many other applications that make use of libprojectM that can be found in the src directory.


Todo


Help

Report issues on GitHub
We're on IRC at irc.freenode.net #projectM

Authors

Authors
If you would like to help improve this project, either with documentation, code, porting, hardware or anything else please let us know! We gladly accept pull requests and issues.

License

LGPL