Skip to content

Instantly share code, notes, and snippets.

@michaelfairley
Last active September 23, 2016 16:40
Show Gist options
  • Save michaelfairley/1dbb28c80a5220a4775dc239bddf799b to your computer and use it in GitHub Desktop.
Save michaelfairley/1dbb28c80a5220a4775dc239bddf799b to your computer and use it in GitHub Desktop.
use sdl2_mixer;
use sdl2;
extern "C" {
pub fn Mix_LoadMUS_RW(src: *mut sdl2::libc::c_void, freesrc: i32) -> *mut sdl2::libc::c_void;
}
pub fn music_from_bytes(data: &'static [u8]) -> sdl2_mixer::Music {
let music_rwops = sdl2::rwops::RWops::from_bytes(data).unwrap();
let raw_music = unsafe{ Mix_LoadMUS_RW(music_rwops.raw() as *mut sdl2::libc::c_void, 0) };
let music = sdl2_mixer::Music {
raw: raw_music,
owned: false,
};
mem::forget(music_rwops);
music
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment