summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/session.h6
-rw-r--r--libs/ardour/ardour/ticker.h36
2 files changed, 10 insertions, 32 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index ee9c457ca4..fef6b7232e 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -104,6 +104,7 @@ class Graph;
class IO;
class IOProcessor;
class ImportStatus;
+class MidiClockTicker;
class MidiControlUI;
class MidiRegion;
class MidiSource;
@@ -513,9 +514,6 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
TempoMap& tempo_map() { return *_tempo_map; }
- /// signals the current transport position in frames, bbt and timecode time (in that order)
- PBD::Signal3<void, const framepos_t &, const Timecode::BBT_Time&, const Timecode::Time&> tick;
-
/* region info */
boost::shared_ptr<Region> find_whole_file_parent (boost::shared_ptr<Region const>) const;
@@ -1520,6 +1518,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
uint32_t next_control_id () const;
bool ignore_route_processor_changes;
+
+ MidiClockTicker* midi_clock;
};
} // namespace ARDOUR
diff --git a/libs/ardour/ardour/ticker.h b/libs/ardour/ardour/ticker.h
index 07aa1cc522..144d85f601 100644
--- a/libs/ardour/ardour/ticker.h
+++ b/libs/ardour/ardour/ticker.h
@@ -18,6 +18,7 @@
$Id$
*/
+#include <boost/noncopyable.hpp>
#include "pbd/signals.h"
@@ -37,40 +38,17 @@ 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 Timecode::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,
+ const Timecode::BBT_Time& transport_bbt,
+ const Timecode::Time& transport_timecode);
- void tick(
- const framepos_t& transport_frames,
- const Timecode::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();