← Back

ofxProjectM

github.com/Jonathhhan/ofxProjectM · @Jonathhhan
OF 0.12 Audio Graphics

Wraps projectM 4 for Milkdrop-style visual playback in openFrameworks, with texture output, playlist and runtime parameter control.

4 1 Last commit 6mo ago Created 1y ago

README

ofxProjectM



ofxProjectM wraps projectM 4 for openFrameworks and focuses on Milkdrop-style visual playback, texture output, playlist control, runtime parameter control, logging, touch input, and sprites.

The addon is especially useful as a companion addon for ofxVlc4.

There is no longer a maintained app example inside this repository. The recommended real integration example now lives in:

Note



Parts of this addon, its examples, and its documentation were developed with AI-assisted help during implementation and refinement.

Release



Highlights



Version helpers



There are now two different version concepts available:

Source layout



The public facade stays in:

Implementation is split into:

Small internal helper headers:

Building projectM libraries



The unified shell script clones and builds projectM in a temporary directory outside the addon tree, then copies only the finished libraries and headers back into libs/projectM.

The repository keeps libs/projectM as placeholder directories only. Run the build script after cloning if you want the local static libraries and headers populated.

If you want one entry point across platforms, use:

bash scripts/build_projectm.sh


The wrapper dispatches to:

Windows



Run:

bash scripts/build_projectm.sh


This builds both Debug and Release by default on Windows. WSL now follows this Windows path automatically unless you override it. If you only want one configuration, use for example:

bash scripts/build_projectm.sh --configuration Release


Outputs:

VLC-backed integration



For the maintained ofxVlc4 + projectM app example, use:

That example owns the runnable libVLC + projectM integration story now.

macOS



Run:

bash scripts/build_projectm.sh


Outputs:

By default the script asks CMake for a universal arm64;x86_64 build. You can override that before the run, for example:

OSX_ARCHITECTURES=arm64 bash scripts/build_projectm.sh


Linux / WSL



Run:

bash scripts/build_projectm.sh


Outputs:

If you are running inside WSL and want Linux artifacts instead of the default Windows/Visual Studio path, use:

bash scripts/build_projectm.sh --target linux


Runtime assets



Preset and texture packs are now documented and downloaded from the maintained integration example:

Notes





Get this addon

HTTPS
SSH