From 00caabf73583fa029601b7d4e9ccdb9b2da7925c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 12 Jun 2016 20:16:16 +0200 Subject: [PATCH] ignore midi on monitor-section and force strict-i/o --- libs/ardour/route.cc | 4 ++-- libs/ardour/session.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 1600c3c9e8..988f3251ef 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1619,8 +1619,8 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err) if (boost::dynamic_pointer_cast (*p) && boost::dynamic_pointer_cast (*p)->role() == Delivery::Main - && !(is_monitor() || is_auditioner()) - && ( _strict_io || Profile->get_mixbus ())) { + && !is_auditioner() + && (is_monitor() || _strict_io || Profile->get_mixbus ())) { /* with strict I/O the panner + output are forced to * follow the last processor's output. * diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 88c958495e..0005584403 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1314,8 +1314,12 @@ Session::reset_monitor_section () _master_out->output()->disconnect (this); _monitor_out->output()->disconnect (this); - _monitor_out->input()->ensure_io (_master_out->output()->n_ports(), false, this); - _monitor_out->output()->ensure_io (_master_out->output()->n_ports(), false, this); + // monitor section follow master bus - except midi + ChanCount mon_chn (_master_out->output()->n_ports()); + mon_chn.set_midi (0); + + _monitor_out->input()->ensure_io (mon_chn, false, this); + _monitor_out->output()->ensure_io (mon_chn, false, this); for (uint32_t n = 0; n < limit; ++n) { boost::shared_ptr p = _monitor_out->input()->ports().nth_audio_port (n); -- 2.30.2