torque_tracker_engine/channel.rs
1#[derive(Debug, Clone, Copy)]
2pub enum Pan {
3 /// Value ranges from 0 to 64, with 32 being center
4 Value(u8),
5 Surround,
6 Disabled,
7}
8
9impl Default for Pan {
10 fn default() -> Self {
11 Self::Value(32)
12 }
13}
14
15impl TryFrom<u8> for Pan {
16 type Error = u8;
17
18 fn try_from(value: u8) -> Result<Self, Self::Error> {
19 match value {
20 100 => Ok(Self::Surround),
21 128 => Ok(Self::Disabled),
22 0..=64 => Ok(Self::Value(value)),
23 _ => Err(value),
24 }
25 }
26}