summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-03-16 16:51:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-03-16 16:51:54 +0000
commit416e3c701e81027e7581a290ec0326529dc3d069 (patch)
tree6e5573efb53975f2b5104c64217e2beebfedd699 /gtk2_ardour/editor_ops.cc
parent8b03f1790a3adfbedb6686f2916eba39f15bbc6f (diff)
put back revised version of Route::has_external_redirects() and use it to give a warning when attempting to freeze a track with sends/inserts/returns
git-svn-id: svn://localhost/ardour2/branches/3.0@11707 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index ac1de28e8d..22d89bdf96 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -3390,6 +3390,25 @@ Editor::freeze_route ()
return;
}
+ if (clicked_routeview->track()->has_external_redirects()) {
+ MessageDialog d (string_compose (_("<b>%1</b>\n\nThis track has at least one send/insert/return as part of its signal flow.\n\n"
+ "Freezing will only process the signal as far as the first send/insert/return."),
+ clicked_routeview->track()->name()), true, MESSAGE_INFO, BUTTONS_NONE, true);
+
+ d.add_button (_("Freeze anyway"), Gtk::RESPONSE_OK);
+ d.add_button (_("Don't freeze"), Gtk::RESPONSE_CANCEL);
+ d.set_title (_("Freeze Limits"));
+
+ int response = d.run ();
+
+ switch (response) {
+ case Gtk::RESPONSE_CANCEL:
+ return;
+ default:
+ break;
+ }
+ }
+
InterThreadInfo itt;
current_interthread_info = &itt;