summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc16
-rw-r--r--gtk2_ardour/ardour_ui.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 4fa21188b6..156125e01c 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -269,6 +269,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[])
ARDOUR::Session::Quit.connect (forever_connections, MISSING_INVALIDATOR, ui_bind (&ARDOUR_UI::finish, this), gui_context ());
+ /* tell the user about feedback */
+
+ ARDOUR::Session::FeedbackDetected.connect (forever_connections, MISSING_INVALIDATOR, ui_bind (&ARDOUR_UI::feedback_detected, this), gui_context ());
+
/* handle requests to deal with missing files */
ARDOUR::Session::MissingFile.connect_same_thread (forever_connections, boost::bind (&ARDOUR_UI::missing_file, this, _1, _2, _3));
@@ -3877,3 +3881,15 @@ ARDOUR_UI::drop_process_buffers ()
{
_process_thread->drop_buffers ();
}
+
+void
+ARDOUR_UI::feedback_detected ()
+{
+ MessageDialog d (
+ _("Something you have just done has generated a feedback path within Ardour's "
+ "routing. Until this feedback is removed, Ardour's output will be as it was "
+ "before you made the feedback-generating connection.")
+ );
+
+ d.run ();
+}
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index e8340f366d..720fa6c9e9 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -729,6 +729,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
* PluginEqGui::impulse_analysis ().
*/
ARDOUR::ProcessThread* _process_thread;
+
+ void feedback_detected ();
};
#endif /* __ardour_gui_h__ */