summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/ticker.h
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2008-11-26 23:32:55 +0000
committerHans Baier <hansfbaier@googlemail.com>2008-11-26 23:32:55 +0000
commit5ed141cd143abac95ba37c8d944ece847ba86173 (patch)
tree8a67244499b45b4d34685a0c0ad74981991e35e9 /libs/ardour/ardour/ticker.h
parent38382b792113cbf23881c1dca64e16c2d0207d45 (diff)
* added Menu for sending midi clock
* hooked up MidiClockTicker to the session git-svn-id: svn://localhost/ardour2/branches/3.0@4267 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/ticker.h')
-rw-r--r--libs/ardour/ardour/ticker.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/libs/ardour/ardour/ticker.h b/libs/ardour/ardour/ticker.h
index 73e5046ac3..7faba49a14 100644
--- a/libs/ardour/ardour/ticker.h
+++ b/libs/ardour/ardour/ticker.h
@@ -17,6 +17,7 @@
$Id$
*/
+
#include <sigc++/sigc++.h>
#include "ardour/types.h"
@@ -42,31 +43,36 @@ public:
const SMPTE::Time& transport_smpte) = 0;
virtual void set_session(Session& s);
- virtual void going_away() { _session = 0; }
+ virtual void going_away() { _session = 0; delete this; }
-private:
+protected:
Session* _session;
};
class MidiClockTicker : public Ticker
{
- MidiClockTicker() : _jack_port(0) {};
+public:
+ MidiClockTicker() : _jack_port(0), _ppqn(24) {};
virtual ~MidiClockTicker() {};
-
void tick(
const nframes_t& transport_frames,
const BBT_Time& transport_bbt,
const SMPTE::Time& transport_smpte);
-
+ void set_session(Session& s);
void going_away() { Ticker::going_away(); _jack_port = 0;}
- void set_midi_port(MIDI::JACK_MidiPort &port);
+ /// slot for the signal session::MIDIClock_PortChanged
+ void update_midi_clock_port();
+
+ /// pulses per quarter note (default 24)
+ void set_ppqn(int ppqn) { _ppqn = ppqn; }
private:
MIDI::JACK_MidiPort* _jack_port;
-
+ nframes_t _last_tick;
+ int _ppqn;
};
}