audio-clock 0.1.0

Propagate a musical clock from a real-time audio callback to other threads
Documentation

audio-clock

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.

Licence