ignore midi on monitor-section and force strict-i/o

This commit is contained in:
Robin Gareus 2016-06-12 20:16:16 +02:00
parent 60b89849bd
commit 00caabf735
2 changed files with 8 additions and 4 deletions

View File

@ -1619,8 +1619,8 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err)
if (boost::dynamic_pointer_cast<Delivery> (*p)
&& boost::dynamic_pointer_cast<Delivery> (*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.
*

View File

@ -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<AudioPort> p = _monitor_out->input()->ports().nth_audio_port (n);