#thread #clock #musical #real-time #callback #propagate

audio-clock

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

2 unstable releases

Uses old Rust 2015

0.2.0 Aug 23, 2018
0.1.0 Aug 22, 2018

#981 in Audio

MIT/Apache

5KB
61 lines

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

No runtime deps