JannisKirschner / 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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

License:GNU General Public License v3.0


Languages

Language:C++ 90.4%Language:CMake 9.6%