Skip to content

SDL2-based standalone application that turns your desktop audio into awesome visuals. Available on most platforms supported by both libprojectM and libSDL2.

License

Notifications You must be signed in to change notification settings

SmiVan/frontend-sdl2

 
 

Repository files navigation

ProjectM SDL2 Frontend

This is a reference implementation of an applicatiaon that makes use of the projectM music visualization library.

It will listen to audio input and produce mesmerizing visuals. Some commands are supported.

This project is in a bit of a transition state and is in the process of being modernized. There are many rough edges at present.

Building from source

Build and install libprojectM

First, build and sudo make install libprojectM

Dependencies

(Assumes you have dependencies installed for libprojectM)

apt install libsdl2-dev libpoco-dev cmake  # debian/ubuntu
brew install sdl2  # macOS

Important: projectMSDL will not compile against Poco versions from 1.10.0 up to 1.11.1, as these versions of Poco include a serious issue that causes the application to crash. Either use Poco 1.9.x, or upgrade to 1.11.2 or higher.

Build

mkdir build
cd build
cmake ..
make

If all runs successfully, you should have an executable.

Linux

[Note: 'make install' is unimplemented at the moment. Just copy the binary 'projectMSDL' to your choice of run-path. E.g.]

cp src/projectMSDL ~/bin

Create a configuration file or projectMSDL will complain, a lot.

mkdir ~/.config/projectM
cp src/projectMSDL.properties ~/.config/projectM

The default audio device (-1) may or may not be your actual default audio output. projectMSDL -l will list audio devices; hopefully, one of them looks familiar - like "Monitor of ... digital stereo" or "Monitor of USB Audio Device ..." (if you have one of those).

Run

You should have a directory of visual presets you wish to use. You can fetch a giant trove of curated presets here.

Provide the presets path you wish to use when starting projectMSDL:

src/projectMSDL --presetPath /path/to/presets-cream-of-the-crop

Press F1 for help menu.

Developing

This project uses cmake, which can generate project files for your favorite IDE.

To generate an Xcode project:

make clean
cmake -G Xcode -S . -B build

About

SDL2-based standalone application that turns your desktop audio into awesome visuals. Available on most platforms supported by both libprojectM and libSDL2.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 90.3%
  • CMake 9.7%