use std::io;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error("I/O error: {0}")]
Io(#[from] io::Error),
#[error("not a DSF file: bad `{0}` chunk signature")]
BadSignature(&'static str),
#[error("malformed DSF: {0}")]
Malformed(&'static str),
#[error("ID3 error: {0}")]
Id3(#[from] id3::Error),
#[error("invalid text frame id {0:?} (expected e.g. \"TIT2\"; TXXX is not supported)")]
InvalidFrameId(String),
}
pub type Result<T> = std::result::Result<T, Error>;