summaryrefslogtreecommitdiff
path: root/gtk2_ardour/redirect_box.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-05-14 14:13:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-05-14 14:13:59 +0000
commitbac4734a130eec3878e0ca490de92d5c6713afd3 (patch)
tree7ee7de4aad6353f32010f9e3a32d19fecb89ff7d /gtk2_ardour/redirect_box.cc
parent20cdab6416b1b70994ae4eb21d70856792ab1221 (diff)
add new A/B comparison for plugins, plus ways of disabling all plugins quickly (not undoable at this time)
git-svn-id: svn://localhost/ardour2/trunk@1840 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/redirect_box.cc')
-rw-r--r--gtk2_ardour/redirect_box.cc48
1 files changed, 47 insertions, 1 deletions
diff --git a/gtk2_ardour/redirect_box.cc b/gtk2_ardour/redirect_box.cc
index 2b908ebaa2..96e99e4667 100644
--- a/gtk2_ardour/redirect_box.cc
+++ b/gtk2_ardour/redirect_box.cc
@@ -105,6 +105,7 @@ RedirectBox::RedirectBox (Placement pcmnt, Session& sess, boost::shared_ptr<Rout
redirect_drag_in_progress = false;
no_redirect_redisplay = false;
ignore_delete = false;
+ ab_direction = true;
model = ListStore::create(columns);
@@ -628,7 +629,11 @@ RedirectBox::build_redirect_tooltip (EventBox& box, string start)
for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
Gtk::TreeModel::Row row = *iter;
tip += '\n';
- tip += row[columns.text];
+
+ /* don't use the column text, since it may be narrowed */
+
+ boost::shared_ptr<Redirect> r = row[columns.redirect];
+ tip += r->name();
}
ARDOUR_UI::instance()->tooltips().set_tip (box, tip);
}
@@ -996,6 +1001,23 @@ RedirectBox::all_redirects_active (bool state)
}
void
+RedirectBox::all_plugins_active (bool state)
+{
+ if (state) {
+ // XXX not implemented
+ } else {
+ _route->disable_plugins (_placement);
+ }
+}
+
+void
+RedirectBox::ab_plugins ()
+{
+ _route->ab_plugins (ab_direction);
+ ab_direction = !ab_direction;
+}
+
+void
RedirectBox::clear_redirects ()
{
string prompt;
@@ -1223,6 +1245,9 @@ RedirectBox::register_actions ()
ActionManager::register_action (popup_act_grp, X_("activate_all"), _("Activate all"), sigc::ptr_fun (RedirectBox::rb_activate_all));
ActionManager::register_action (popup_act_grp, X_("deactivate_all"), _("Deactivate all"), sigc::ptr_fun (RedirectBox::rb_deactivate_all));
+ ActionManager::register_action (popup_act_grp, X_("a_b_plugins"), _("A/B plugins"), sigc::ptr_fun (RedirectBox::rb_ab_plugins));
+ ActionManager::register_action (popup_act_grp, X_("deactivate_plugins"), _("Deactivate plugins"), sigc::ptr_fun (RedirectBox::rb_deactivate_plugins));
+
/* show editors */
act = ActionManager::register_action (popup_act_grp, X_("edit"), _("Edit"), sigc::ptr_fun (RedirectBox::rb_edit));
ActionManager::plugin_selection_sensitive_actions.push_back(act);
@@ -1376,6 +1401,27 @@ RedirectBox::rb_deactivate_all ()
}
void
+RedirectBox::rb_deactivate_plugins ()
+{
+ if (_current_redirect_box == 0) {
+ return;
+ }
+ _current_redirect_box->all_plugins_active (false);
+}
+
+
+void
+RedirectBox::rb_ab_plugins ()
+{
+ if (_current_redirect_box == 0) {
+ return;
+ }
+
+ _current_redirect_box->ab_plugins ();
+}
+
+
+void
RedirectBox::rb_edit ()
{
if (_current_redirect_box == 0) {