summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-06 23:34:04 +0200
committerRobin Gareus <robin@gareus.org>2014-05-06 23:34:34 +0200
commit6142c814bf991b829ccb8818050d0cac8ffb9d9e (patch)
tree7e48e29909a33078305088f6fd6a603405131799 /libs/ardour/plugin_insert.cc
parentfbbf911229b676208e06a3a8fc141dcc07172c37 (diff)
provide plugins with all available buffers.
e.g. Audio in -> Midi out plugins (on an audio-track). Midi-buffers do exist in the route but no corresponding (physical) Input port-buffer exists and ardour crashed. Now, the plugin itself still only accesses the mapped ports (ChanMapping), but the mapped buffers are at most "processor_max_streams" and at least the required in+out buffers for the plugin.
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r--libs/ardour/plugin_insert.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 13ac7b375a..6fbb5cb679 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -352,6 +352,9 @@ PluginInsert::connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t of
}
}
+ bufs.set_count(ChanCount::max(bufs.count(), in_streams));
+ bufs.set_count(ChanCount::max(bufs.count(), out_streams));
+
/* Note that we've already required that plugins
be able to handle in-place processing.
*/