20 breaking releases
Uses old Rust 2015
0.25.0 | Nov 29, 2016 |
---|---|
0.23.1 | Sep 24, 2016 |
0.21.0 | Jul 10, 2016 |
0.15.0 | Mar 1, 2016 |
0.0.3 | Nov 26, 2014 |
#551 in Graphics APIs
40KB
860 lines
Rust-SDL2_mixer
Rust bindings for SDL2_mixer.
Overview
Rust-SDL2_mixer is a library for talking to the new SDL2_mixer library from Rust.
Rust-SDL2_mixer uses the MIT licence.
Requirements
- Rust-SDL2
- SDL2_mixer development libraries
- Latest stable Rust master
OSX
brew install sdl2_mixer --with-flac --with-fluid-synth --with-libmikmod --with-libmodplug --with-libvorbis --with-smpeg2
Windows
-
Download mingw development libraries from https://www.libsdl.org/projects/SDL_mixer/ (
SDL2_mixer-devel-2.0.x-mingw.tar.gz
) -
Unpack to a folder of your choosing (You can delete it afterwards).
-
Copy all lib files from
SDL2_mixer-2.0.x\x86_64-w64-mingw32\lib\
to (for Rust 1.6 and above)
C:\Program Files\Rust\lib\rustlib\x86_64-pc-windows-gnu\lib
or to (for Rust versions 1.5 and below)
C:\Program Files\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib
or to your library folder of choice, and ensure you have a system environment variable of
LIBRARY_PATH = C:\your\rust\library\folder
For Multirust Users, this folder will be in
C:\Users{Your Username}\AppData\Local.multirust\toolchains{current toolchain}\lib\rustlib\x86_64-pc-windows-gnu\lib
-
Copy
SDL2_mixer.dll
andsmpeg2.dll
fromSDL2_mixer-2.0.x\x86_64-w64-mingw32\bin\
into your cargo project, right next to your
Cargo.toml
.
Installation
Place the following into your project's Cargo.toml file:
[dependencies]
sdl2_mixer = "0.24.0"
Or, to depend on the newest rust-sdl2_mixer, reference the repository:
[dependencies.sdl2_mixer]
git = "https://github.com/andelf/rust-sdl2_mixer"
You can also just clone and build the library yourself:
git clone https://github.com/andelf/rust-sdl2_mixer
cd rust-sdl2_mixer
cargo build
# TODO: OR if you are using the mac framework version
rustc --cfg mac_framework src/sdl2_mixer/lib.rs
If you're not using Cargo, you can compile the library manually:
git clone https://github.com/andelf/rust-sdl2_mixer
cd rust-sdl2_mixer
rustc src/sdl2_mixer/lib.rs
Demo
A simple demo that plays out a portion of a given music file is included:
cargo run --example demo path/to/music.(mp3|flac|ogg|wav)
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~17MB
~356K SLoC