Python bindings for the ProjectM Visualizer
This project is a experimental proof of concept. It is very early on (pre-alpha quality). Use at you own risk.
Pym was developed utilizing Python 3.6 under Ubuntu 17.10. Early versions of Python 3 should work, but have not been tested.
A number of python packages are required to compile Pym and run the examples. It is recommeded that the user creates a python virtual environment to install the packages and in which to build Pym.
python3 -m venv pym-python-env
source pym-python-env/bin/activate
pip install pysdl2 cython numpy PyOpenGL PyOpenGL_accelerate
Users will also need to install ProjectM. Installation instructions can be found here.
Note: the install script does not currently install all the correct header files into the {install}/include directory. Users will need to manually copy these over.
cp libprojectm_src/src/libprojectM/Common.hpp libprojectm_install/include
cp libprojectm_src/src/libprojectM/dlldefs.h libprojectm_install/include
cp libprojectm_src/src/libprojectM/event.h libprojectm_install/include
cp libprojectm_src/src/libprojectM/fatal.h libprojectm_install/include
cp libprojectm_src/src/libprojectM/PCM.hpp libprojectm_install/include
To install Pym the user must first modify the base_path variable in the setup.py to point towards the Project M installation folder. From there:
python setup.py install
A couple of examples are included in the exmaples directory. For both of them users nneed to edit the "main.py" to point to the correct "presetURL".
"pym_sdl" recreates Project M's project-M-sdl example.
python examples/pym_sdl/main.py
"pym_sdl_wav" can be used to playback a wav file. To run:
python examples/pym_sdl/main.py