diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2009-01-01 04:14:50 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2009-01-01 04:14:50 +0000 |
commit | 2e61c9c034a768286e98c5baffdaed9b3931fc81 (patch) | |
tree | 8d8bd11fa2e78931fd4bad2f125cfd00c4bcf983 | |
parent | cc677d5c87265d6af7adc73d386a74511fee28cb (diff) |
* fix broken MidiClockTicker (introduced by revision 4361)
* fix missing -DWITH_JACK_MIDI in SConstruct when using JACK MIDI
git-svn-id: svn://localhost/ardour2/branches/3.0@4364 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | SConstruct | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 1 | ||||
-rw-r--r-- | libs/ardour/ticker.cc | 11 |
3 files changed, 8 insertions, 5 deletions
diff --git a/SConstruct b/SConstruct index 8174a9171a..e603a0e305 100644 --- a/SConstruct +++ b/SConstruct @@ -1064,6 +1064,7 @@ if conf.CheckCHeader('jack/midiport.h'): env['SYSMIDI'] = 'JACK MIDI' subst_dict['%MIDITAG%'] = "control" subst_dict['%MIDITYPE%'] = "jack" + env.Append(CCFLAGS=" -DWITH_JACK_MIDI") print "Using JACK MIDI" elif conf.CheckCHeader('alsa/asoundlib.h'): libraries['sysmidi'] = LibraryInfo (LIBS='asound') diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 03df627bbc..c6688e92a2 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -443,6 +443,7 @@ <menuitem action='SendMTC'/> <menuitem action='SendMMC'/> <menuitem action='UseMMC'/> + <menuitem action='SendMidiClock'/> </menu> <menu action="TempoMenu"> <menuitem action='set-tempo-from-region'/> diff --git a/libs/ardour/ticker.cc b/libs/ardour/ticker.cc index 46e21a66de..0012d47abf 100644 --- a/libs/ardour/ticker.cc +++ b/libs/ardour/ticker.cc @@ -108,7 +108,7 @@ void MidiClockTicker::transport_looped() assert(loop_location); #if DEBUG_TICKER - cerr << "Transport looped, position:" << p_session->transport_frame() + cerr << "Transport looped, position:" << _session->transport_frame() << " loop start " << loop_location->start( ) << " loop end " << loop_location->end( ) << " play loop " << _session->get_play_loop() @@ -127,8 +127,9 @@ void MidiClockTicker::tick(const nframes_t& transport_frames, const BBT_Time& tr if (!Config->get_send_midi_clock() || _session == 0 || _session->transport_speed() != 1.0f) return; - MIDI::Jack_MidiPort & jack_port (dynamic_cast<MIDI::Jack_MidiPort &> (*_midi_port)); - + MIDI::JACK_MidiPort* jack_port = dynamic_cast<MIDI::JACK_MidiPort*>(_midi_port); + assert(jack_port); + while (true) { double next_tick = _last_tick + one_ppqn_in_frames(transport_frames); nframes_t next_tick_offset = nframes_t(next_tick) - transport_frames; @@ -138,11 +139,11 @@ void MidiClockTicker::tick(const nframes_t& transport_frames, const BBT_Time& tr << ":Last tick time:" << _last_tick << ":" << ":Next tick time:" << next_tick << ":" << "Offset:" << next_tick_offset << ":" - << "cycle length:" << jack_port.nframes_this_cycle() + << "cycle length:" << jack_port->nframes_this_cycle() << endl; #endif - if (next_tick_offset >= jack_port.nframes_this_cycle()) + if (next_tick_offset >= jack_port->nframes_this_cycle()) return; send_midi_clock_event(next_tick_offset); |