mod cpal;
mod dummy;
mod jack;
use nice_plug_core::audio_setup::AuxiliaryBuffers;
use nice_plug_core::context::process::Transport;
use nice_plug_core::midi::PluginNoteEvent;
pub use self::cpal::CpalMidir;
pub use self::dummy::Dummy;
pub use self::jack::Jack;
pub use crate::buffer::Buffer;
pub use crate::plugin::Plugin;
pub trait Backend<P: Plugin>: 'static + Send + Sync {
fn run(
&mut self,
cb: impl FnMut(
&mut Buffer,
&mut AuxiliaryBuffers,
Transport,
&[PluginNoteEvent<P>],
&mut Vec<PluginNoteEvent<P>>,
) -> bool
+ 'static
+ Send,
);
}