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 build
Contributions 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]