use strum_macros::Display;
use crate::config::*;
#[cfg_attr(feature = "python-bindings", pyclass(eq, eq_int))]
#[derive(strum_macros::EnumMessage, PartialEq, Debug, Clone, Display, Copy)]
pub enum StreamError {
#[strum(
message = "InputOverrun Error",
detailed_message = "Input buffer overrun"
)]
InputOverrunError,
#[strum(
message = "OutputUnderrunError",
detailed_message = "Output buffer underrun"
)]
OutputUnderrunError,
#[strum(message = "DriverError", detailed_message = "Driver error")]
DriverError,
#[strum(detailed_message = "Device not available (anymore)")]
DeviceNotAvailable,
#[strum(detailed_message = "Logic error")]
LogicError,
}