diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-14 14:13:59 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-14 14:13:59 +0000 |
commit | bac4734a130eec3878e0ca490de92d5c6713afd3 (patch) | |
tree | 7ee7de4aad6353f32010f9e3a32d19fecb89ff7d /gtk2_ardour/redirect_box.cc | |
parent | 20cdab6416b1b70994ae4eb21d70856792ab1221 (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.cc | 48 |
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) { |