piston-music 0.26.0

A high level library for playing music and sound effects
Documentation
extern crate music;
extern crate piston_window;

use piston_window::*;

#[derive(Copy, Clone, Hash, PartialEq, Eq)]
enum Music {
    Piano,
}

#[derive(Copy, Clone, Hash, PartialEq, Eq)]
enum Sound {
    Ding,
}

fn main() {
    let mut window: PistonWindow = WindowSettings::new("Test music", [640, 480])
        .exit_on_esc(true)
        .build()
        .unwrap();

    music::start::<Music, Sound, _>(16, || {
        music::bind_music_file(Music::Piano, "./assets/piano.wav");
        music::bind_sound_file(Sound::Ding, "./assets/ding.wav");

        music::set_volume(music::MAX_VOLUME);
        music::play_music(&Music::Piano, music::Repeat::Forever);
        music::play_sound(&Sound::Ding, music::Repeat::Times(1), music::MAX_VOLUME);
        while let Some(e) = window.next() {
            window.draw_2d(&e, |_c, g, _device| {
                clear([1.0; 4], g);
            });
        }
    });
}