Coder Social home page Coder Social logo

mediabuff / projectm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectm-visualizer/projectm

0.0 1.0 0.0 104.75 MB

projectM - cross-platform music visualization. Open-source and Milkdrop-compatible

License: GNU Lesser General Public License v2.1

Makefile 0.16% Shell 0.09% M4 20.23% C 42.35% Nix 0.01% C++ 36.30% Lua 0.01% Objective-C 0.47% AppleScript 0.01% Objective-C++ 0.27% Rich Text Format 0.01% Roff 0.01% Inno Setup 0.01% CMake 0.01% Java 0.08%

projectm's Introduction

Build Status Backers on Open Collective Sponsors on Open Collective

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

Download

Get it from the Releases tab

Demo Video

Project Status

You can read more about how it works and the current state of development here.

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

Silverjuke Silverjuke (FOSS Jukebox)

Silent Radiance Silent Radiance Distance Disco


Screenshots

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot


Building from source

See BUILDING.md

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 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

  • Support for the missing Milkdrop waveforms to get full compatibility with Milkdrop presets.
  • Steal cool stuff from the recently-released Milkdrop source.
  • Finish emscripten support for building to wasm/webGL for the web.
  • Update the various implementations using libprojectM.
  • Update downstream projects with new versions.

Help

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

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.

Maintainers

If you maintain packages of libprojectM, we are happy to work with you! Please note well:

  • The main focus of this project is libprojectM. It's a library that only really depends on OpenGL. The other applications are more like examples and demos.
  • This project was converted to use GNU autotools instead of CMake in 2018. This was due to inflexibility of CMake, issues with OSX and SDL2, an unintuitive configuration interface, standardizing on the most common and well-understood build system, a desire to make it easier for others to get up and running and contribute, and other factors too lengthy to expound on here.
  • Most of the applications (e.g. 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.
  • The "canonical" application for actually viewing the visualizations is now projectM-sdl, based on libSDL2 because it supports audio input and is completely cross-platform.
  • This is an open source project! If you don't like something, feel free to contribute improvements!
  • Yes, you are looking at the official version. This is not a fork.

Authors

Authors

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

LGPL

projectm's People

Contributors

revmischa avatar deltaoscarmike avatar labkey-matthewb avatar mbellew avatar lgbaldoni avatar struktured avatar mrray avatar schnitzeltony avatar axe312ger avatar kossebau avatar peak3d avatar sergiomb2 avatar growingant avatar abramhindle avatar agireud avatar akva2 avatar notspiff avatar bmwiedemann avatar r10s avatar walshbp avatar h3xx avatar hibengler avatar peter-levine avatar dzarda avatar monkeywithacupcake avatar luigino avatar rothn avatar petermalkin avatar flying-sheep avatar yurivict avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.