summaryrefslogtreecommitdiff
path: root/libs/ardour/session_midi.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-10-19 23:17:39 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-10-19 23:17:39 -0400
commit8ac97d55c9344913ef0972f8c3c2d93aef29ae4c (patch)
tree66e08cbd66da7bf1c284e34d4d49b85ee583a175 /libs/ardour/session_midi.cc
parent72c8ab0103844b22e98db91dcab90eee2ddc9010 (diff)
slight improvements in logic for midi-input-follows-selection
Diffstat (limited to 'libs/ardour/session_midi.cc')
-rw-r--r--libs/ardour/session_midi.cc9
1 files changed, 3 insertions, 6 deletions
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc
index 671e919c6d..a0c1b8c7d4 100644
--- a/libs/ardour/session_midi.cc
+++ b/libs/ardour/session_midi.cc
@@ -761,7 +761,7 @@ Session::rewire_selected_midi (boost::shared_ptr<MidiTrack> new_midi_target)
if (!msp.empty()) {
if (old_midi_target) {
for (PortManager::MidiSelectionPorts::const_iterator p = msp.begin(); p != msp.end(); ++p) {
- old_midi_target->input()->disconnect (old_midi_target->input()->nth (0), (*p), this);
+ AudioEngine::instance()->disconnect (*p);
}
}
@@ -776,17 +776,13 @@ Session::rewire_selected_midi (boost::shared_ptr<MidiTrack> new_midi_target)
void
Session::rewire_midi_selection_ports ()
{
- cerr << "RMSP\n";
-
if (!Config->get_midi_input_follows_selection()) {
- cerr << "nope\n";
return;
}
boost::shared_ptr<MidiTrack> target = current_midi_target.lock();
if (!target) {
- cerr << "no target\n";
return;
}
@@ -794,7 +790,6 @@ Session::rewire_midi_selection_ports ()
AudioEngine::instance()->get_midi_selection_ports (msp);
if (msp.empty()) {
- cerr << "no MSP\n";
return;
}
@@ -803,6 +798,8 @@ Session::rewire_midi_selection_ports ()
target->input()->disconnect (this);
for (PortManager::MidiSelectionPorts::const_iterator p = msp.begin(); p != msp.end(); ++p) {
+ cerr << "\tdisconnect " << *p << endl;
+ AudioEngine::instance()->disconnect (*p);
cerr << "\tconnect to " << *p << endl;
target->input()->connect (target->input()->nth (0), (*p), this);
}