xmrsplayer 0.12.2

XMrsPlayer is a safe no-std soundtracker music player
Documentation
//! Player-side gate for humanisation of
//! `InstrumentType::Euclidean` pulses.
//!
//! The instrument owns the *shape* (probability + max-advance) via
//! [`xmrs::instr_ekn::InstrEkn`]; the player owns the *execution* —
//! whether and how to draw randomness for each pulse.
//!
//! Default is [`HumanizeMode::Disabled`](crate::humanize::HumanizeMode::Disabled):
//! the player ignores the humanisation parameters and stays strictly
//! cycle-exact.

/// Player-side humanisation policy.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum HumanizeMode {
    /// The player ignores `InstrEkn` humanisation parameters.
    /// Output is strictly deterministic and cycle-exact — default
    /// for tests and offline rendering oracles.
    #[default]
    Disabled,
    /// Fresh entropy per playback: every render of the same module
    /// sounds slightly different. The exact seed source is
    /// unspecified (the player picks one); not reproducible.
    Live,
    /// Apply humanisation with a caller-supplied seed. Same seed →
    /// same rendered output.
    Deterministic(u32),
}