### Rust timecode coder A pure Rust **no_std** library for encoding and decoding timecode in real-time. ## Decode LTC Add dependency to Cargo.toml ```toml [dependencies] timecode-coder = { version = "x.x.x", features = ["decode_ltc"] } ``` Let's say you have a function that receives buffers from your audio interface: ```rust use timecode_coder::ltc_decoder::LtcDecoder; struct MyAudioHandler { decoder: LtcDecoder, } impl MyAudioHandler { // Sampling rate can by any Type that implements `FromPrimitive` fn new(sampling_rate: u32) -> Self { Self { decoder: LtcDecoder::new(sampling_rate) } } fn new_buffer(&mut self, samples: [u16; 512]) { for sample in samples { if let Some(timecode_frame) = get_timecode_frame(sample) { /// New TimecodeFrame received } } } } ``` `TimecodeFrame` provides: - hours - minutes - seconds - frames - frame-rate (auto detected) Warning. Drop frames are not yet supported. They will be detected as normal '25fps' or '30fps' ## Encode LTC **not yet implemented** ## Decode MIDI **not yet implemented** ## Encode MIDI **not yet implemented**