fix 2 remaining issues with new plugin menu - 1. tracks don't respond to plugin ops on other tracks & 2. multiple plugin addition at once from the manager window works again

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3292 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2008-04-26 12:34:21 +00:00
parent 12f2c337e3
commit 4ec4eb2463
2 changed files with 22 additions and 1 deletions

View file

@ -147,6 +147,10 @@ RedirectBox::RedirectBox (Placement pcmnt, Session& sess, boost::shared_ptr<Rout
redirect_display.signal_button_press_event().connect (mem_fun(*this, &RedirectBox::redirect_button_press_event), false);
redirect_display.signal_button_release_event().connect (mem_fun(*this, &RedirectBox::redirect_button_release_event));
using_plugin_selector = false;
_plugin_selector.signal_hide().connect (mem_fun (*this, &RedirectBox::plugin_selector_hidden));
_plugin_selector.signal_show().connect (mem_fun (*this, &RedirectBox::plugin_selector_shown));
/* start off as a passthru strip. we'll correct this, if necessary,
in update_diskstream_display().
*/
@ -415,7 +419,9 @@ RedirectBox::insert_plugin_chosen (boost::shared_ptr<Plugin> plugin)
}
}
newplug_connection.disconnect();
if (!using_plugin_selector) {
newplug_connection.disconnect();
}
}
void
@ -1404,3 +1410,15 @@ RedirectBox::generate_redirect_title (boost::shared_ptr<PluginInsert> pi)
return string_compose(_("%1: %2 (by %3)"), _route->name(), pi->name(), maker);
}
void
RedirectBox::plugin_selector_hidden ()
{
newplug_connection.disconnect();
using_plugin_selector = false;
}
void
RedirectBox::plugin_selector_shown ()
{
using_plugin_selector = true;
}

View file

@ -146,6 +146,9 @@ class RedirectBox : public Gtk::HBox
void choose_plugin ();
void insert_plugin_chosen (boost::shared_ptr<ARDOUR::Plugin>);
sigc::connection newplug_connection;
bool using_plugin_selector;
void plugin_selector_hidden ();
void plugin_selector_shown ();
bool no_redirect_redisplay;
bool ignore_delete;