summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-12-04 09:09:50 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-12-04 09:09:50 +0000
commit4f185b3f36850fae70f80af545f40f0211f7164e (patch)
treeeea5935ba61e688b9e80341f23c40540962ff0b6 /libs
parented28f2e7146f7436776aedb8d61eb71bd47eab1b (diff)
* made MidiClockTicker Singleton
git-svn-id: svn://localhost/ardour2/branches/3.0@4281 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/ticker.h12
-rw-r--r--libs/ardour/session_state.cc3
2 files changed, 12 insertions, 3 deletions
diff --git a/libs/ardour/ardour/ticker.h b/libs/ardour/ardour/ticker.h
index 66b0f2b590..2ecf65d3a7 100644
--- a/libs/ardour/ardour/ticker.h
+++ b/libs/ardour/ardour/ticker.h
@@ -51,10 +51,20 @@ protected:
class MidiClockTicker : public Ticker
{
-public:
+ /// Singleton
+private:
MidiClockTicker() : _jack_port(0), _ppqn(24), _last_tick(0.0) {};
+ MidiClockTicker( const MidiClockTicker& );
+ MidiClockTicker& operator= (const MidiClockTicker&);
+
+public:
virtual ~MidiClockTicker() {};
+ static MidiClockTicker& instance() {
+ static MidiClockTicker _instance;
+ return _instance;
+ }
+
void tick(
const nframes_t& transport_frames,
const BBT_Time& transport_bbt,
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 98626d6c6c..0ac6e08827 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -359,8 +359,7 @@ Session::second_stage_init (bool new_session)
deliver_mmc (MIDI::MachineControl::cmdMmcReset, 0);
deliver_mmc (MIDI::MachineControl::cmdLocate, 0);
- MidiClockTicker* midi_clock_ticker = new MidiClockTicker();
- midi_clock_ticker->set_session(*this);
+ MidiClockTicker::instance().set_session(*this);
BootMessage (_("Reset Control Protocols"));