Crates.io | audio-clock |
lib.rs | audio-clock |
version | 0.2.0 |
source | src |
created_at | 2018-08-22 19:42:02.191589 |
updated_at | 2018-08-23 18:49:58.77852 |
description | Propagate a musical clock from a real-time audio callback to other threads |
homepage | |
repository | https://github.com/padenot/audio-clock |
max_upload_size | |
id | 80798 |
size | 6,282 |
Propagate a musical clock from a real-time audio thread to other threads:
let tempo = 132.2;
let sample_rate = 44100;
let (mut updater, consumer) = audio_clock(tempo, sample_rate);
// ... somehow send updater to the real-time audio thread.
// From an audio callback, increment the clock,
// from the real-time audio thread
updater.increment(frame_count);
// Somewhere else, use the clock:
println!("frame processed: ", consumer.raw_frames(), 128);
println!("beat count: ", consumer.beat());
println!("beat duration in seconds: ", consumer.beat_duration());
let other_consumer = consumer.clone();
// Send other_consumer to some other thread.