diff options
author | Robin Gareus <robin@gareus.org> | 2013-08-02 03:39:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-08-02 03:39:00 +0200 |
commit | bfd50cdeb0416b106a7813177148dffb1af6db8e (patch) | |
tree | a9c8160d3dec435f72c5e241645623bd2f98db3f /libs/ardour/route.cc | |
parent | 28f3d76e7cd66a2b62b51eb640235cc3952da3e2 (diff) |
rework MIDI [processor|plugin] chain
* forward midi-data around plugins that have no MIDI-out
* allow to insert plugins with no MIDI-input at a point with one MIDI-channel
This works because excess ports (both plugin and route) remain
unconnected and use scratch-buffers.
Tested with LV2, LXVST and LADSPA.
(AU plugins with variable in/out retain the old behavior, no bypass)
fixes http://tracker.ardour.org/view.php?id=5630
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index a394c73d20..b78217ff49 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -543,11 +543,10 @@ Route::process_output_buffers (BufferSet& bufs, if (bufs.count() != (*i)->input_streams()) { DEBUG_TRACE ( DEBUG::Processors, string_compose ( - "%1 bufs = %2 input for %3 = %4\n", + "input port mismatch %1 bufs = %2 input for %3 = %4\n", _name, bufs.count(), (*i)->name(), (*i)->input_streams() ) ); - continue; } } #endif @@ -1654,7 +1653,8 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err) if (boost::dynamic_pointer_cast<UnknownProcessor> (*p)) { DEBUG_TRACE (DEBUG::Processors, "--- CONFIGURE ABORTED due to unknown processor.\n"); - break; + DEBUG_TRACE (DEBUG::Processors, "}\n"); + return list<pair<ChanCount, ChanCount> > (); } if ((*p)->can_support_io_configuration(in, out)) { |