PortManager::silence() should not clear data in AsyncMIDIPorts
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 22 Sep 2016 04:02:38 +0000 (23:02 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 22 Sep 2016 04:02:38 +0000 (23:02 -0500)
This data was generated asynchronously and is not required to be "silenced"
the way that session data would be. Compare also to the similar tests for
sync-related MIDI ports

libs/ardour/port_manager.cc

index 10c19a9c67547f4cd07aecbdec4f05185a06e50e..a5af8f2fe16d5e28e6c110e00c02adf6843f788b 100644 (file)
@@ -684,6 +684,9 @@ PortManager::silence (pframes_t nframes, Session *s)
                if (s && i->second == s->ltc_output_port ()) {
                        continue;
                }
+               if (boost::dynamic_pointer_cast<AsyncMIDIPort>(i->second)) {
+                       continue;
+               }
                if (i->second->sends_output()) {
                        i->second->get_buffer(nframes).silence(nframes);
                }