selene-core 0.3.1

selene-core is the backend for Selene, a local-first music player
Documentation
use serde::{Deserialize, Serialize};

mod trait_impls;

/// All supported audio codecs
#[derive(Debug, PartialEq, PartialOrd, Ord, Eq, Copy, Clone, Serialize, Deserialize)]
pub enum Codec {
    Flac,
    Mp3,
    LibOpus,
    LibVorbis,
    Pcms16le,
    Pcms24le,
    Pcms32le,
    Pcmf32le,
}

impl Codec {
    #[must_use]
    pub fn codec_name(&self) -> &str {
        match self {
            Codec::Flac => "flac",
            Codec::Mp3 => "mp3",
            Codec::LibOpus => "libopus",
            Codec::LibVorbis => "libvorbis",
            Codec::Pcms16le => "pcm_s16le",
            Codec::Pcms24le => "pcm_s24le",
            Codec::Pcms32le => "pcm_s32le",
            Codec::Pcmf32le => "pcm_f32le",
        }
    }
}