use derive_more::Into for all these

This commit is contained in:
Hailey Somerville 2024-02-14 23:35:33 +11:00
parent fb6191f309
commit 80c7dce809

View file

@ -1,5 +1,7 @@
#![no_std]
use derive_more::Into;
pub mod buffer;
pub mod packet;
pub mod time;
@ -10,10 +12,12 @@ pub const CHANNELS: ChannelCount = ChannelCount(2);
pub const FRAMES_PER_PACKET: usize = 120; // 2.5ms at 48khz, compatible with opus
pub const SAMPLES_PER_PACKET: usize = CHANNELS.0 as usize * FRAMES_PER_PACKET;
#[derive(Copy, Clone, Debug)]
#[derive(Copy, Clone, Debug, Into)]
#[into(types(u64, u128, i64, f64))]
pub struct SampleRate(pub u32);
#[derive(Copy, Clone, Debug)]
#[derive(Copy, Clone, Debug, Into)]
#[into(types(usize, u32, u64))]
pub struct ChannelCount(pub u16);
impl From<SampleRate> for usize {
@ -21,45 +25,3 @@ impl From<SampleRate> for usize {
value.0.try_into().expect("SampleRate -> usize")
}
}
impl From<SampleRate> for u32 {
fn from(value: SampleRate) -> Self {
value.0.into()
}
}
impl From<SampleRate> for u64 {
fn from(value: SampleRate) -> Self {
value.0.into()
}
}
impl From<SampleRate> for u128 {
fn from(value: SampleRate) -> Self {
value.0.into()
}
}
impl From<SampleRate> for i64 {
fn from(value: SampleRate) -> Self {
value.0.into()
}
}
impl From<ChannelCount> for usize {
fn from(value: ChannelCount) -> Self {
value.0.into()
}
}
impl From<ChannelCount> for u64 {
fn from(value: ChannelCount) -> Self {
value.0.into()
}
}
impl From<ChannelCount> for u32 {
fn from(value: ChannelCount) -> Self {
value.0.into()
}
}