//! MIDI output trait for sending raw MIDI messages to hardware or
//! virtual devices.
//!
//! Implementations:
//! - `MidirBackend` (behind `midir` feature)
//! - `AlsaSeqBackend` (behind `alsa` feature)
//! - `JackMidiBackend` (behind `jack` feature)
use crateIoResult;
use crateMidiMessage;
/// Generic MIDI output backend.
///
/// Sends one message at a time — all current backends
/// (midir, ALSA seq, JACK) deliver messages immediately
/// without internal buffering, so no `flush()` is needed.