pub const SAMPLE_RATE: u32 = 48_000;
pub const WORKING_BUFFER_SIZE: usize = 2_400_000;
pub const NUM_PARAMS: usize = 3;
#[repr(i32)]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Color {
DimWhite = 0,
DarkRed = 1,
DarkLime = 2,
DarkCobalt = 3,
LightYellow = 4,
DimBlue = 5,
Beige = 6,
DimCyan = 7,
Magenta = 8,
LightBlue = 9,
PastelGreen = 10,
DimYellow = 11,
Blue = 12,
LightGreen = 13,
Red = 14,
DimGreen = 15,
}
#[repr(i32)]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ParamId {
Left = 0,
Mid = 1,
Right = 2,
}
impl ParamId {
#[must_use]
pub fn from_raw(idx: i32) -> Option<Self> {
match idx {
0 => Some(Self::Left),
1 => Some(Self::Mid),
2 => Some(Self::Right),
_ => None,
}
}
}
#[repr(i32)]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ActionId {
LeftFootSwitchPress = 0,
LeftFootSwitchHold = 1,
}
impl ActionId {
#[must_use]
pub fn from_raw(idx: i32) -> Option<Self> {
match idx {
0 => Some(Self::LeftFootSwitchPress),
1 => Some(Self::LeftFootSwitchHold),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug)]
pub struct ParameterMetadata {
pub min: f32,
pub max: f32,
pub default: f32,
}
impl Default for ParameterMetadata {
fn default() -> Self {
Self {
min: 0.0,
max: 1.0,
default: 0.5,
}
}
}