diff options
author | Sampo Savolainen <v2@iki.fi> | 2006-10-09 18:08:08 +0000 |
---|---|---|
committer | Sampo Savolainen <v2@iki.fi> | 2006-10-09 18:08:08 +0000 |
commit | af757a1b6abaea867445ba8783676d71c30d47a1 (patch) | |
tree | b74463b824d00d11bea0beb79c2ed6a5492f0444 | |
parent | 048526fde8a69e90dfe50b3116adfcd02678bace (diff) |
Give a different error message when AudioEngine::connect() tries to make
an connection which already exists.
Tempo bars will now stretch from top to bottom via a hackish but
approved scheme.
Disconnect route inputs and outputs when removing them from the session.
git-svn-id: svn://localhost/ardour2/trunk@961 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/editor_tempodisplay.cc | 2 | ||||
-rw-r--r-- | libs/ardour/audioengine.cc | 4 | ||||
-rw-r--r-- | libs/ardour/session.cc | 4 |
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 */ |