bevy_midix 4.0.0-alpha.2

The MIDI plugin for humans. Out-of-the-box soundfont synthesizer, commands, and input!
Documentation
use bevy::app::Plugin;

pub mod input;

#[cfg(feature = "assets")]
pub mod assets;
#[cfg(feature = "synth")]
pub mod synth;

#[derive(Default)]
pub struct MidiPlugin {
    input_settings: crate::input::MidiInputSettings,
}

impl Plugin for MidiPlugin {
    fn build(&self, app: &mut bevy::app::App) {
        app.add_plugins(crate::input::MidiIoPlugin {
            input_setings: self.input_settings.clone(),
        });
        #[cfg(feature = "assets")]
        app.add_plugins(crate::assets::MidiAssetsPlugin);

        #[cfg(feature = "synth")]
        app.add_plugins(crate::synth::SynthPlugin);
    }
}

pub mod prelude {
    pub use crate::input::*;

    #[cfg(feature = "assets")]
    pub use crate::assets::*;

    #[cfg(feature = "synth")]
    pub use crate::synth::*;

    pub use crate::MidiPlugin;

    pub use midix::prelude::*;
}