mod_player 0.1.4

A library for parsing and playing mod music files
Documentation
use hound;

fn main() {
    let spec = hound::WavSpec {
        channels: 2,
        sample_rate: 48100,
        bits_per_sample: 32,
        sample_format: hound::SampleFormat::Float,
    };

    let mut writer = hound::WavWriter::create("out.wav", spec).unwrap();
    let song = mod_player::read_mod_file("mod_files/CHIP_SLAYER!.MOD");
    mod_player::textout::print_song_info(&song);
    let mut player_state: mod_player::PlayerState =
        mod_player::PlayerState::new(song.format.num_channels, spec.sample_rate);
    loop {
        let (left, right) = mod_player::next_sample(&song, &mut player_state);
        writer.write_sample(left);
        writer.write_sample(right);
        if player_state.song_has_ended || player_state.has_looped {
            break;
        }
    }
}