diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-10-12 16:48:53 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-10-12 16:48:53 +0000 |
commit | 76eb2f23d634ed8880f69b066318e6bd0e9d0d4b (patch) | |
tree | 9e49bfb00e5b5202c25c58e9beb5f41fa98b7c1e /libs/ardour/ardour/slave.h | |
parent | 5a8e83e0deef37e2973879a46af21487912b2c59 (diff) |
basics for a TimecodeSlave parent class for MTC and LTC
git-svn-id: svn://localhost/ardour2/branches/3.0@13258 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/slave.h')
-rw-r--r-- | libs/ardour/ardour/slave.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libs/ardour/ardour/slave.h b/libs/ardour/ardour/slave.h index b64ba3f42e..fa75ba17bb 100644 --- a/libs/ardour/ardour/slave.h +++ b/libs/ardour/ardour/slave.h @@ -28,6 +28,8 @@ #include "pbd/signals.h" +#include "timecode/time.h" + #include "ardour/types.h" #include "midi++/parser.h" #include "midi++/types.h" @@ -223,7 +225,14 @@ struct SafeTime { } }; -class MTC_Slave : public Slave { +class TimecodeSlave : public Slave { + public: + TimecodeSlave () {} + + virtual Timecode::TimecodeFormat apparent_timecode_format() const = 0; +}; + +class MTC_Slave : public TimecodeSlave { public: MTC_Slave (Session&, MIDI::Port&); ~MTC_Slave (); @@ -240,6 +249,8 @@ class MTC_Slave : public Slave { framecnt_t seekahead_distance() const; bool give_slave_full_control_over_transport_speed() const; + Timecode::TimecodeFormat apparent_timecode_format() const; + private: Session& session; MIDI::Port* port; @@ -298,7 +309,7 @@ class MTC_Slave : public Slave { }; #ifdef HAVE_LTC -class LTC_Slave : public Slave { +class LTC_Slave : public TimecodeSlave { public: LTC_Slave (Session&); ~LTC_Slave (); @@ -313,6 +324,8 @@ class LTC_Slave : public Slave { framecnt_t seekahead_distance() const; bool give_slave_full_control_over_transport_speed() const; + Timecode::TimecodeFormat apparent_timecode_format() const; + private: int parse_ltc(const jack_nframes_t nframes, const jack_default_audio_sample_t * const in, const framecnt_t posinfo); void process_ltc(); |