summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_tempodisplay.cc2
-rw-r--r--libs/ardour/audioengine.cc4
-rw-r--r--libs/ardour/session.cc4
3 files changed, 10 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc
index 270ea38b2e..177f82bd44 100644
--- a/gtk2_ardour/editor_tempodisplay.cc
+++ b/gtk2_ardour/editor_tempodisplay.cc
@@ -44,6 +44,7 @@
#include "rgb_macros.h"
#include "gui_thread.h"
#include "color.h"
+#include "time_axis_view.h"
#include "i18n.h"
@@ -200,6 +201,7 @@ Editor::draw_measures ()
}
track_canvas.get_scroll_region (x1, y1, x2, y2);
+ y2 = TimeAxisView::hLargest*5000; // five thousand largest tracks should be enough.. :)
/* get the first bar spacing */
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 1b4ca05d38..2268411aca 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -551,6 +551,10 @@ AudioEngine::connect (const string& source, const string& destination)
if (ret == 0) {
pair<string,string> c (s, d);
port_connections.push_back (c);
+ } else if (ret == EEXIST) {
+ error << string_compose(_("AudioEngine: connection already exists: %1 (%2) to %3 (%4)"),
+ source, s, destination, d)
+ << endmsg;
} else {
error << string_compose(_("AudioEngine: cannot connect %1 (%2) to %3 (%4)"),
source, s, destination, d)
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 8474eab523..f7f5ef7e8d 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -1926,6 +1926,10 @@ Session::remove_route (shared_ptr<Route> route)
update_latency_compensation (false, false);
set_dirty();
+
+ // We need to disconnect the routes inputs and outputs
+ route->disconnect_inputs(NULL);
+ route->disconnect_outputs(NULL);
/* get rid of it from the dead wood collection in the route list manager */