summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/audioengine.cc9
-rw-r--r--libs/ardour/midi_ui.cc2
-rw-r--r--libs/ardour/session.cc3
-rw-r--r--libs/ardour/ticker.cc9
4 files changed, 14 insertions, 9 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 5d29f35301..372581f4e6 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -34,6 +34,7 @@
#include <jack/weakjack.h>
#include "midi++/port.h"
+#include "midi++/jack_midi_port.h"
#include "midi++/mmc.h"
#include "midi++/manager.h"
@@ -133,7 +134,7 @@ _thread_init_callback (void * /*arg*/)
SessionEvent::create_per_thread_pool (X_("Audioengine"), 512);
- MIDI::Port::set_process_thread (pthread_self());
+ MIDI::JackMIDIPort::set_process_thread (pthread_self());
}
static void
@@ -233,7 +234,7 @@ AudioEngine::stop (bool forever)
} else {
jack_deactivate (_priv_jack);
Stopped(); /* EMIT SIGNAL */
- MIDI::Port::JackHalted (); /* EMIT SIGNAL */
+ MIDI::JackMIDIPort::JackHalted (); /* EMIT SIGNAL */
}
}
@@ -1106,7 +1107,7 @@ AudioEngine::halted (void *arg)
if (was_running) {
ae->Halted(""); /* EMIT SIGNAL */
- MIDI::Port::JackHalted (); /* EMIT SIGNAL */
+ MIDI::JackMIDIPort::JackHalted (); /* EMIT SIGNAL */
}
}
@@ -1356,7 +1357,7 @@ AudioEngine::disconnect_from_jack ()
if (_running) {
_running = false;
Stopped(); /* EMIT SIGNAL */
- MIDI::Port::JackHalted (); /* EMIT SIGNAL */
+ MIDI::JackMIDIPort::JackHalted (); /* EMIT SIGNAL */
}
return 0;
diff --git a/libs/ardour/midi_ui.cc b/libs/ardour/midi_ui.cc
index 770a371457..302dce86ba 100644
--- a/libs/ardour/midi_ui.cc
+++ b/libs/ardour/midi_ui.cc
@@ -143,6 +143,8 @@ MidiControlUI::reset_ports ()
if ((fd = (*i)->selectable ()) >= 0) {
Glib::RefPtr<IOSource> psrc = IOSource::create (fd, IO_IN|IO_HUP|IO_ERR);
+ cerr << "MIDI UI listening to " << (*i)->name() << endl;
+
psrc->connect (sigc::bind (sigc::mem_fun (this, &MidiControlUI::midi_input_handler), *i));
psrc->attach (_main_loop->get_context());
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 5744b55c65..80dbd98963 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -106,6 +106,7 @@
#include "ardour/operations.h"
#include "midi++/port.h"
+#include "midi++/jack_midi_port.h"
#include "midi++/mmc.h"
#include "midi++/manager.h"
@@ -837,7 +838,7 @@ Session::hookup_io ()
/* Tell all IO objects to connect themselves together */
IO::enable_connecting ();
- MIDI::Port::MakeConnections ();
+ MIDI::JackMIDIPort::MakeConnections ();
/* Now reset all panners */
diff --git a/libs/ardour/ticker.cc b/libs/ardour/ticker.cc
index 734b401356..5d078952a1 100644
--- a/libs/ardour/ticker.cc
+++ b/libs/ardour/ticker.cc
@@ -20,6 +20,7 @@
#include "pbd/stacktrace.h"
#include "midi++/port.h"
+#include "midi++/jack_midi_port.h"
#include "midi++/manager.h"
#include "evoral/midi_events.h"
@@ -152,13 +153,13 @@ void MidiClockTicker::tick (const framepos_t& transport_frame)
double next_tick = _last_tick + one_ppqn_in_frames (transport_frame);
frameoffset_t next_tick_offset = llrint (next_tick) - transport_frame;
+ MIDI::JackMIDIPort* mp = dynamic_cast<MIDI::JackMIDIPort*> (_midi_port);
+
DEBUG_TRACE (PBD::DEBUG::MidiClock,
string_compose ("Transport: %1, last tick time: %2, next tick time: %3, offset: %4, cycle length: %5\n",
- transport_frame, _last_tick, next_tick, next_tick_offset, _midi_port->nframes_this_cycle()
- )
- );
+ transport_frame, _last_tick, next_tick, next_tick_offset, mp ? mp->nframes_this_cycle() : 0));
- if (next_tick_offset >= _midi_port->nframes_this_cycle()) {
+ if (!mp || (next_tick_offset >= mp->nframes_this_cycle())) {
break;
}