Rust bindings for ProjectM, built using Bindgen
    
    
    Docs
    ·
    Example
    ·
    Report Bug
    ·
    Request Feature
  
Table of Contents
To get this crate up and running properly, you'll need to install some prerequisites.
Depending on the OS/distribution and packaging system, libraries might be split into separate packages with binaries and development files. To build projectM, both binaries and development files need to be installed.
- Rust
 - A working build toolchain.
 - CMake: Used to generate platform-specific build files.
 - OpenGL: 3D graphics library. Used to render the visualizations.
 - or GLES3: OpenGL libraries for embedded systems, version 3. Required to build projectM on Android devices, Raspberry Pi, Emscripten and the Universal Windows Platform.
 - glm: OpenGL Mathematics library. Optional, will use a bundled version with autotools or if not installed.
 - SDL2: Simple Directmedia Layer. Version 2.0.5 or higher is required to build the test UI.
 - LLVM: Low-Level Virtual Machine. Optional and experimental, used to speed up preset execution by leveraging the LLVM JIT compiler.
 
- vcpkg: C++ Library Manager for Windows. Optional, but recommended to install the aforementioned library dependencies.
 - GLEW: The OpenGL Extension Wrangler Library. Only required if using CMake to configure the build, the pre-created solutions use a bundled copy of GLEW.
 
cargo.toml
[dependencies]
projectm-sys = { version = "1.0", features = [] }   # Available features: playlist
To compile the ProjectM library from source, you are required to set the VCPKG_INSTALLATION_ROOT env variable.
# Powershell
$Env:VCPKG_INSTALLATION_ROOT="C:\path\to\vcpkg"; cargo buildContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
 - Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
 
Distributed under the LGPL-2.1 license. See LICENSE for more information.
Blaquewithaq (Discord: SoFloppy#1289) - @anomievision - [email protected]