pub struct AudioClock {Show 14 fields
pub sample_rate: f32,
pub bpm: f32,
pub ppqn: u32,
pub sample_count: u64,
pub beat_count: f64,
pub bar_count: u32,
pub time_signature_num: u32,
pub time_signature_den: u32,
pub is_running: bool,
pub loop_start_beat: f64,
pub loop_end_beat: f64,
pub loop_enabled: bool,
pub midi_clock_received: bool,
pub midi_clock_ticks: u32,
/* private fields */
}Fields§
§sample_rate: f32§bpm: f32§ppqn: u32§sample_count: u64§beat_count: f64§bar_count: u32§time_signature_num: u32§time_signature_den: u32§is_running: bool§loop_start_beat: f64§loop_end_beat: f64§loop_enabled: bool§midi_clock_received: bool§midi_clock_ticks: u32Implementations§
Source§impl AudioClock
impl AudioClock
pub fn new(sample_rate: f32, bpm: f32) -> Self
pub fn advance(&mut self, num_samples: u64)
pub fn beat_in_bar(&self) -> f64
pub fn seconds_elapsed(&self) -> f64
pub fn sample_at_beat(&self, beat: f64) -> u64
pub fn beat_at_sample(&self, sample: u64) -> f64
pub fn receive_midi_clock_tick(&mut self)
pub fn pulse_position(&self) -> u64
pub fn humanize_timing(&self, beat: f64, max_deviation_ms: f32) -> f64
Trait Implementations§
Source§impl Clone for AudioClock
impl Clone for AudioClock
Auto Trait Implementations§
impl Freeze for AudioClock
impl RefUnwindSafe for AudioClock
impl Send for AudioClock
impl Sync for AudioClock
impl Unpin for AudioClock
impl UnsafeUnpin for AudioClock
impl UnwindSafe for AudioClock
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.