yano signal processing
smpte lib
programs:stretchfix
plug-ins:psYchobass | multiband panner | a+/-b analysis tool
pedals:phase 100 | bazz fuss
papers:compressor effect study
projects:mixer | reference | opamp calculator

I have begun working on a project that needs to be able to parse SMPTE Linear Time Code, and these three classes are the beginning and foundation of this project.

NOTE: There is some sort of bug, seemingly related to LTCFrame::accumulateBit. Seemingly only the sync-word can be considered valid, the time stamp data, and maybe others, is not coming out correctly.

They are written in C++ and utilize some of the STD library, particularly std::deque and std::vector

  • SMPTE LTC headers [zip 8k]
    • BCDDigit.hpp - class to represent a binary coded decimal digit. Sort of useless.
    • BCDNumber.hpp - class to represent a binary coded decimal number with multiple 4-bit digits.
      Depends on std::vector and math.h
    • LTCFrame.hpp - class to represent an SMPTE linear time code frame. You append bits to it and it interprets them. Also has the ability to suck bits until it hits a sync word.
      Depends on std::deque and BCDNumber

Better documentation and sample code on how to use the LTCFrame class will be posted here in the coming days. In the mean time, you can read the comments :)

The SMPTE LTC frame format - reference used for implementation.

(These classes are free for non-commercial use, and especially free for educational use.
All liability is disclaimed, blah bla blah.)