Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/projectM-visualizer/frontend-sdl-rust
Rust | SDL-based standalone application that turns your desktop audio into awesome visuals.
https://github.com/projectM-visualizer/frontend-sdl-rust
music music-visualisation rust sdl3 visualization
Last synced: 3 months ago
JSON representation
Rust | SDL-based standalone application that turns your desktop audio into awesome visuals.
- Host: GitHub
- URL: https://github.com/projectM-visualizer/frontend-sdl-rust
- Owner: projectM-visualizer
- License: lgpl-2.1
- Created: 2022-09-03T01:54:34.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-10T04:21:32.000Z (4 months ago)
- Last Synced: 2024-03-10T05:28:48.034Z (4 months ago)
- Topics: music, music-visualisation, rust, sdl3, visualization
- Language: Rust
- Homepage:
- Size: 66.4 KB
- Stars: 6
- Watchers: 4
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-stars - projectM-visualizer/frontend-sdl-rust - Rust | SDL-based standalone application that turns your desktop audio into awesome visuals. (Rust)
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![License][license-shield]][license-url]
ProjectM
Reference projectM application in Rust, utilizing the projectM crate
Report Bug
·
Request Feature
Table of Contents
## Getting Started
To get this crate up and running properly, you'll need to install some prerequisites.
### 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.#### General build dependencies for all platforms:
- [**Rust**](https://www.rust-lang.org/tools/install)
- A working build toolchain.
- [**CMake**](https://cmake.org/): 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**](https://github.com/g-truc/glm): OpenGL Mathematics library. Optional, will use a bundled version with
autotools or if not installed.
- [**SDL3**](https://github.com/libsdl-org/SDL): Simple Directmedia Layer >= 3. Provided by sdl3-rs.
the test UI.
- [**LLVM**](https://llvm.org/): Low-Level Virtual Machine. Optional and **experimental**, used to speed up preset
execution by leveraging the LLVM JIT compiler.#### Only relevant for Windows:
- [**vcpkg**](https://github.com/microsoft/vcpkg): C++ Library Manager for Windows. _Optional_, but recommended to
install the aforementioned library dependencies.
- [**GLEW**](http://glew.sourceforge.net/): The OpenGL Extension Wrangler Library. Only required if using CMake to
configure the build, the pre-created solutions use a bundled copy of GLEW.## Usage
```
// run app
cargo run// build app
cargo build
```### If using SDL installed via Homebrew
```
RUSTFLAGS="-L$(brew --prefix sdl3)/lib" cargo build
RUSTFLAGS="-L$(brew --prefix sdl3)/lib" cargo run
```### Optimized build
```
cargo run --release
```## Contributing
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!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the LGPL-2.1 license. See `LICENSE` for more information.
## Support
[![Discord][discord-shield]][discord-url]
## Contact
Blaquewithaq (Discord: SoFloppy#1289) - [@anomievision](https://twitter.com/anomievision) - [email protected]
[contributors-shield]: https://img.shields.io/github/contributors/projectM-visualizer/projectm-rs.svg?style=for-the-badge
[contributors-url]: https://github.com/projectM-visualizer/frontend-sdl-rust/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/projectM-visualizer/projectm-rs.svg?style=for-the-badge
[forks-url]: https://github.com/projectM-visualizer/frontend-sdl-rust/network/members
[stars-shield]: https://img.shields.io/github/stars/projectM-visualizer/projectm-rs.svg?style=for-the-badge
[stars-url]: https://github.com/projectM-visualizer/frontend-sdl-rust/stargazers
[issues-shield]: https://img.shields.io/github/issues/projectM-visualizer/projectm-rs.svg?style=for-the-badge
[issues-url]: https://github.com/projectM-visualizer/frontend-sdl-rust/issues
[license-shield]: https://img.shields.io/github/license/projectM-visualizer/projectm-rs.svg?style=for-the-badge
[license-url]: https://github.com/projectM-visualizer/frontend-sdl-rust/blob/master/LICENSE
[crates-shield]: https://img.shields.io/crates/v/projectm-rs?style=for-the-badge
[crates-url]: https://crates.io/crates/projectm-rs
[crates-dl-shield]: https://img.shields.io/crates/d/projectm-rs?style=for-the-badge
[crates-dl-url]: https://crates.io/crates/projectm-rs
[discord-shield]: https://img.shields.io/discord/737206408482914387?style=for-the-badge
[discord-url]: https://discord.gg/7fQXN43n9W