diff options
-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); |