bevy_rustysynth

Crates.iobevy_rustysynth
lib.rsbevy_rustysynth
version0.2.1
sourcesrc
created_at2024-09-09 23:14:16.864688
updated_at2024-09-20 01:19:31.51236
descriptionA plugin which adds MIDI file and soundfont audio support to the bevy engine via rustysynth.
homepage
repository
max_upload_size
id1369852
size4,216,464
Silas Bartha (exvacuum)

documentation

README

bevy_rustysynth

Crates License Tag Build

A plugin which adds MIDI file and soundfont audio support to the bevy engine via rustysynth.

Compatibility

Crate Version Bevy Version
0.1 0.14

Installation

crates.io

[dependencies]
bevy_rustysynth = "0.1"

Using git URL in Cargo.toml

[dependencies.bevy_rustysynth]
git = "https://github.com/exvacuum/bevy_rustysynth.git"

Usage

In main.rs:

use bevy::prelude::*;
use bevy_rustysynth::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            RustySynthPlugin {
                soundfont: // Bring your own soundfont or enable the "hl4mgm" feature to use a terrible 4MB default
            }
        ))
        .run();
}

Then you can load and play a MIDI like any other audio file:

let midi_handle = asset_server.load::<MidiAudio>("example.mid");

commands.spawn(AudioSourceBundle {
    source: midi_handle,
    ..Default::default()
});

License

This crate is licensed under your choice of 0BSD, Apache-2.0, or MIT license.

Commit count: 0

cargo fmt