From ef484a8a3347a785321e2e140fc7e5caf5023fed Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 8 Apr 2012 14:22:34 +0000 Subject: [PATCH] MCP: drop need for ScopedConnectionList::empty() git-svn-id: svn://localhost/ardour2/branches/3.0@11825 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/surfaces/mackie/mackie_port.cc | 10 +++++++--- libs/surfaces/mackie/mackie_port.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libs/surfaces/mackie/mackie_port.cc b/libs/surfaces/mackie/mackie_port.cc index eba8270329..d751437cb8 100644 --- a/libs/surfaces/mackie/mackie_port.cc +++ b/libs/surfaces/mackie/mackie_port.cc @@ -54,6 +54,7 @@ MackiePort::MackiePort (MackieControlProtocol & mcp, MIDI::Port & input_port, MI , _port_type (port_type) , _emulation (none) , _initialising (true) + , _connected (false) { DEBUG_TRACE (DEBUG::MackieControl, "MackiePort::MackiePort\n"); } @@ -104,7 +105,9 @@ void MackiePort::close() // disconnect signals sysex_connection.disconnect(); - + ScopedConnectionList::drop_connections (); + _connected = false; + // TODO emit a "closing" signal? } @@ -265,7 +268,7 @@ void MackiePort::finalise_init (bool yn) void MackiePort::connect_to_signals () { - if (ScopedConnectionList::empty()) { + if (!_connected) { MIDI::Parser* p = input_port().parser(); @@ -279,8 +282,9 @@ void MackiePort::connect_to_signals () p->channel_pitchbend[5].connect_same_thread (*this, boost::bind (&MackiePort::handle_midi_pitchbend_message, this, _1, _2, 5U)); p->channel_pitchbend[6].connect_same_thread (*this, boost::bind (&MackiePort::handle_midi_pitchbend_message, this, _1, _2, 6U)); p->channel_pitchbend[7].connect_same_thread (*this, boost::bind (&MackiePort::handle_midi_pitchbend_message, this, _1, _2, 7U)); + + _connected = true; } - } bool MackiePort::wait_for_init() diff --git a/libs/surfaces/mackie/mackie_port.h b/libs/surfaces/mackie/mackie_port.h index 7a51e28cd4..dbd5553a63 100644 --- a/libs/surfaces/mackie/mackie_port.h +++ b/libs/surfaces/mackie/mackie_port.h @@ -112,6 +112,7 @@ private: emulation_t _emulation; bool _initialising; + bool _connected; Glib::Cond init_cond; Glib::Mutex init_mutex; };