X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fticker.h;h=23d2ef2fe6f8488411fab3465edcbbc7016af586;hb=7629120cda89dd4ec1b03ba4ddcc6f5dd1b0ca5a;hp=42f3d88dc91be936c3b1ad8870dbc9120f2ed06d;hpb=e8c59e4155a6fa40863c2d761ab8e1c5b81c589b;p=ardour.git diff --git a/libs/ardour/ardour/ticker.h b/libs/ardour/ardour/ticker.h index 42f3d88dc9..23d2ef2fe6 100644 --- a/libs/ardour/ardour/ticker.h +++ b/libs/ardour/ardour/ticker.h @@ -18,6 +18,7 @@ $Id$ */ +#include #include "pbd/signals.h" @@ -37,40 +38,15 @@ namespace ARDOUR class Session; -class Ticker : public SessionHandlePtr +class MidiClockTicker : public SessionHandlePtr, boost::noncopyable { public: - Ticker() {}; - virtual ~Ticker() {} - - virtual void tick ( - const framepos_t& transport_frames, - const BBT_Time& transport_bbt, - const Timecode::Time& transport_timecode) = 0; - - void set_session (Session* s); -}; - -class MidiClockTicker : public Ticker -{ - /// Singleton -private: - MidiClockTicker() : _midi_port(0), _ppqn(24), _last_tick(0.0) {}; - MidiClockTicker( const MidiClockTicker& ); - MidiClockTicker& operator= (const MidiClockTicker&); - -public: + MidiClockTicker (); virtual ~MidiClockTicker() {}; - static MidiClockTicker& instance() { - static MidiClockTicker _instance; - return _instance; - } + void tick (const framepos_t& transport_frames); - void tick( - const framepos_t& transport_frames, - const BBT_Time& transport_bbt, - const Timecode::Time& transport_timecode); + bool has_midi_port() const { return _midi_port != 0; } void set_session (Session* s); void session_going_away();