deactivate plugin if connect_and_run returns an error
authorRobin Gareus <robin@gareus.org>
Sun, 24 Jan 2016 02:19:24 +0000 (03:19 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 24 Jan 2016 02:22:19 +0000 (03:22 +0100)
libs/ardour/plugin_insert.cc

index b001895e0e7ba86d337d54913472875dedd56261..96b8570d8c1c10f32a589d829f88c6660a23290c 100644 (file)
@@ -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));