reset IP MIDI port when deleting a mackie surface port
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 3 Oct 2015 17:51:17 +0000 (13:51 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 3 Oct 2015 17:51:17 +0000 (13:51 -0400)
libs/surfaces/mackie/surface_port.cc

index 9694d7f08cf7459875d47653ed8b6d970457657d..3d7c1d66c6160d8c201cccfb2a936eae5a0eada8 100644 (file)
@@ -74,15 +74,17 @@ SurfacePort::~SurfacePort()
 {
        if (dynamic_cast<MIDI::IPMIDIPort*>(_input_port)) {
                delete _input_port;
+               _input_port = 0;
        } else {
-
                if (_async_in) {
+                       DEBUG_TRACE (DEBUG::MackieControl, string_compose ("unregistering input port %1\n", _async_in->name()));
                        AudioEngine::instance()->unregister_port (_async_in);
                        _async_in.reset ((ARDOUR::Port*) 0);
                }
                
                if (_async_out) {
                        _output_port->drain (10000);
+                       DEBUG_TRACE (DEBUG::MackieControl, string_compose ("unregistering output port %1\n", _async_out->name()));
                        AudioEngine::instance()->unregister_port (_async_out);
                        _async_out.reset ((ARDOUR::Port*) 0);
                }