|
3 years ago | |
---|---|---|
.. | ||
.circleci | 3 years ago | |
.github | 3 years ago | |
Installer.xcodeproj | 3 years ago | |
cmake | 3 years ago | |
fonts | 3 years ago | |
m4 | 3 years ago | |
mac | 3 years ago | |
msvc | 3 years ago | |
nix | 3 years ago | |
presets | 3 years ago | |
projectM.xcworkspace | 3 years ago | |
src | 3 years ago | |
vendor/glm | 3 years ago | |
web | 3 years ago | |
.appveyor.yml | 3 years ago | |
.clang-format | 3 years ago | |
.gitignore | 3 years ago | |
.travis.yml | 3 years ago | |
AUTHORS.txt | 3 years ago | |
BUILDING-cmake.md | 3 years ago | |
BUILDING.md | 3 years ago | |
CHANGES.md | 3 years ago | |
CMakeLists.txt | 3 years ago | |
LICENSE.txt | 3 years ago | |
LLVM_README.md | 3 years ago | |
Makefile.am | 3 years ago | |
README.md | 3 years ago | |
autogen.sh | 3 years ago | |
background.png | 3 years ago | |
config.h.cmake.in | 3 years ago | |
configure-ndk | 3 years ago | |
configure.ac | 3 years ago | |
features.cmake | 3 years ago | |
policy.txt | 3 years ago |
Experience psychedelic and mesmerizing visuals by transforming music into equations that render into a limitless array of user-contributed visualizations.
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 an audio input and to produce mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations.
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 these presets here.
You can also download an enormous 41,000 preset pack of presets here (123MB zipped).
Silent Radiance Distance Disco
See BUILDING.md
Up: increase beat sensitivity (max 5)
Down: decrease beat sensitivity (min 0)
Y: toggle shuffle enabled
R: jump to random preset
N or P: next or previous preset (hard transition)
Shift-N or Shift-P: next or previous preset (soft transition)
L: lock current preset
H or F1: show help (if supported)
M: Open preset navigation menu (if supported)
F3: show preset (if supported)
F4: show stats (if supported)
F5: show FPS (if supported)
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.
To look at a simple example way of using the library see the libSDL2 sample code.
There are many other applications that make use of libprojectM and that can be found in the src directory.
Report issues on GitHub
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.
If you maintain packages of libprojectM, we are happy to work with you! Please note well:
src/projectM-*
) are likely outdated and of less utility than the core library. If you desire to use them or depend on them, please file an issue so we can help update them.