summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-20 13:47:17 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:30 -0500
commit3669096c0520df2452f9f67683204ebf02d8920d (patch)
tree1dde4ea205a28135588121a75a93c0a3e72ec907 /libs/ardour
parent0c1c7ec64261ec6d9da1fd51b25151ab036e8672 (diff)
expose AsyncMIDIPort::shadow_port()
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/async_midi_port.h3
-rw-r--r--libs/ardour/async_midi_port.cc13
2 files changed, 8 insertions, 8 deletions
diff --git a/libs/ardour/ardour/async_midi_port.h b/libs/ardour/ardour/async_midi_port.h
index b14afcf373..acf9730e84 100644
--- a/libs/ardour/ardour/async_midi_port.h
+++ b/libs/ardour/ardour/async_midi_port.h
@@ -76,6 +76,7 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port {
typedef boost::function<bool(MidiBuffer&,MidiBuffer&)> MidiFilter;
void set_inbound_filter (MidiFilter);
int add_shadow_port (std::string const &, MidiFilter);
+ boost::shared_ptr<MidiPort> shadow_port() const { return _shadow_port; }
static void set_process_thread (pthread_t);
static pthread_t get_process_thread () { return _process_thread; }
@@ -106,7 +107,7 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port {
MidiFilter inbound_midi_filter;
- boost::shared_ptr<MidiPort> shadow_port;
+ boost::shared_ptr<MidiPort> _shadow_port;
MidiFilter shadow_midi_filter;
static pthread_t _process_thread;
diff --git a/libs/ardour/async_midi_port.cc b/libs/ardour/async_midi_port.cc
index d794291585..c27a91f006 100644
--- a/libs/ardour/async_midi_port.cc
+++ b/libs/ardour/async_midi_port.cc
@@ -150,10 +150,9 @@ AsyncMIDIPort::cycle_start (MIDI::pframes_t nframes)
inbound_midi_filter (mb, mb);
}
- if (shadow_port) {
- MidiBuffer& shadow_buffer (shadow_port->get_midi_buffer (nframes));
- if (shadow_midi_filter (mb, shadow_buffer)) {
- shadow_port->flush_buffers (nframes);
+ if (_shadow_port) {
+ if (shadow_midi_filter (mb, _shadow_port->get_midi_buffer (nframes))) {
+ _shadow_port->flush_buffers (nframes);
}
}
}
@@ -359,7 +358,7 @@ AsyncMIDIPort::add_shadow_port (string const & name, MidiFilter mf)
return -1;
}
- if (shadow_port) {
+ if (_shadow_port) {
return -2;
}
@@ -367,7 +366,7 @@ AsyncMIDIPort::add_shadow_port (string const & name, MidiFilter mf)
/* shadow port is not async. */
- if (!(shadow_port = boost::dynamic_pointer_cast<MidiPort> (AudioEngine::instance()->register_output_port (DataType::MIDI, name, false, PortFlags (Shadow|IsTerminal))))) {
+ if (!(_shadow_port = boost::dynamic_pointer_cast<MidiPort> (AudioEngine::instance()->register_output_port (DataType::MIDI, name, false, PortFlags (Shadow|IsTerminal))))) {
return -3;
}
@@ -377,7 +376,7 @@ AsyncMIDIPort::add_shadow_port (string const & name, MidiFilter mf)
*/
LatencyRange latency = private_latency_range (false);
- shadow_port->set_private_latency_range (latency, false);
+ _shadow_port->set_private_latency_range (latency, false);
return 0;
}