From be91679feacd0441ea6d0e20df42a9198c38f691 Mon Sep 17 00:00:00 2001 From: GZharun Date: Wed, 6 Aug 2014 12:27:23 +0300 Subject: [PATCH] [Summary] By filtering redundant notifications which provoke heavy calls during tracks i/o reconnection, performance of the operations that require the reconnection was increased UP TO 60%. --- gtk2_ardour/route_time_axis.cc | 2 +- libs/ardour/ardour/session.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 80662dba7f..ea681c1bd7 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -1928,7 +1928,7 @@ void RouteTimeAxisView::io_changed (IOChange /*change*/, void */*src*/) { reset_meter (); - if (_route && !no_redraw) { + if (_route && !no_redraw && !_session->reconnection_in_progress() ) { request_redraw (); } } diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index df4c366096..047790e9b6 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -182,6 +182,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void set_deletion_in_progress (); void clear_deletion_in_progress (); bool deletion_in_progress() const { return _state_of_the_state & Deletion; } + bool reconnection_in_progress() const { return _reconnecting_routes_in_progress; } PBD::Signal0 DirtyChanged; const SessionDirectory& session_directory () const { return *(_session_dir.get()); }