summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/port.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-24 00:24:43 +0200
committerRobin Gareus <robin@gareus.org>2016-04-24 00:24:43 +0200
commitf8936ebcb1b8c95bfa5969ac92cfbde87023778c (patch)
tree83830fe4728decfaf02940d1a708a1789f414318 /libs/ardour/ardour/port.h
parent2a7a64a8738413df27e494e67c31695a429f6edc (diff)
Disconnect Signals before dropping ports
significantly speeds up session close
Diffstat (limited to 'libs/ardour/ardour/port.h')
-rw-r--r--libs/ardour/ardour/port.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/ardour/ardour/port.h b/libs/ardour/ardour/port.h
index 9f9a4d88df..619b8ba0f2 100644
--- a/libs/ardour/ardour/port.h
+++ b/libs/ardour/ardour/port.h
@@ -125,6 +125,7 @@ public:
PBD::Signal1<void,bool> MonitorInputChanged;
static PBD::Signal2<void,boost::shared_ptr<Port>,boost::shared_ptr<Port> > PostDisconnect;
static PBD::Signal0<void> PortDrop;
+ static PBD::Signal0<void> PortSignalDrop;
static void set_cycle_framecnt (pframes_t n) {
_cycle_nframes = n;
@@ -170,6 +171,7 @@ private:
std::set<std::string> _connections;
void port_connected_or_disconnected (boost::weak_ptr<Port>, boost::weak_ptr<Port>, bool);
+ void signal_drop ();
void drop ();
PBD::ScopedConnection drop_connection;
PBD::ScopedConnection engine_connection;