diff options
author | Robin Gareus <robin@gareus.org> | 2016-01-24 03:19:24 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-01-24 03:22:19 +0100 |
commit | b6eab5ede5402cfc44cf253a63cb3dbb792a0ec5 (patch) | |
tree | 7d6419d87740950a5ca18bde1f1ee3c20f540a9c /libs | |
parent | 470255effaab8f691b74a717857dc1ff71f32af3 (diff) |
deactivate plugin if connect_and_run returns an error
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index b001895e0e..96b8570d8c 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -439,7 +439,9 @@ PluginInsert::connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t of } for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) { - (*i)->connect_and_run(bufs, in_map, out_map, nframes, offset); + if ((*i)->connect_and_run(bufs, in_map, out_map, nframes, offset)) { + deactivate (); + } for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { in_map.offset_to(*t, natural_input_streams().get(*t)); out_map.offset_to(*t, natural_output_streams().get(*t)); |