mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
remove "New Return" menu option from processor box; make return toggle processor active status, and / do A/B of plugins; add A/B plugins to processor box menu
git-svn-id: svn://localhost/ardour2/branches/3.0@6211 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
afd9fc30e5
commit
3b4beb03b2
2 changed files with 35 additions and 49 deletions
|
|
@ -92,7 +92,8 @@ RefPtr<Action> ProcessorBox::paste_action;
|
||||||
Glib::RefPtr<Gdk::Pixbuf> SendProcessorEntry::_slider;
|
Glib::RefPtr<Gdk::Pixbuf> SendProcessorEntry::_slider;
|
||||||
|
|
||||||
ProcessorEntry::ProcessorEntry (boost::shared_ptr<Processor> p, Width w)
|
ProcessorEntry::ProcessorEntry (boost::shared_ptr<Processor> p, Width w)
|
||||||
: _processor (p), _width (w)
|
: _processor (p)
|
||||||
|
, _width (w)
|
||||||
{
|
{
|
||||||
_hbox.pack_start (_active, false, false);
|
_hbox.pack_start (_active, false, false);
|
||||||
_event_box.add (_name);
|
_event_box.add (_name);
|
||||||
|
|
@ -271,6 +272,7 @@ ProcessorBox::ProcessorBox (ARDOUR::Session& sess, sigc::slot<PluginSelector*> g
|
||||||
: _session(sess)
|
: _session(sess)
|
||||||
, _parent_strip (parent)
|
, _parent_strip (parent)
|
||||||
, _owner_is_mixer (owner_is_mixer)
|
, _owner_is_mixer (owner_is_mixer)
|
||||||
|
, ab_direction (true)
|
||||||
, _get_plugin_selector (get_plugin_selector)
|
, _get_plugin_selector (get_plugin_selector)
|
||||||
, _placement(PreFader)
|
, _placement(PreFader)
|
||||||
, _rr_selection(rsel)
|
, _rr_selection(rsel)
|
||||||
|
|
@ -545,18 +547,21 @@ ProcessorBox::processor_key_release_event (GdkEventKey *ev)
|
||||||
case GDK_a:
|
case GDK_a:
|
||||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
||||||
processor_display.select_all ();
|
processor_display.select_all ();
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_c:
|
case GDK_c:
|
||||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
||||||
copy_processors (targets);
|
copy_processors (targets);
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_x:
|
case GDK_x:
|
||||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
||||||
cut_processors (targets);
|
cut_processors (targets);
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -567,16 +572,23 @@ ProcessorBox::processor_key_release_event (GdkEventKey *ev)
|
||||||
} else {
|
} else {
|
||||||
paste_processors (targets.front());
|
paste_processors (targets.front());
|
||||||
}
|
}
|
||||||
|
ret = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GDK_Up:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GDK_Down:
|
||||||
|
break;
|
||||||
|
|
||||||
case GDK_Delete:
|
case GDK_Delete:
|
||||||
case GDK_BackSpace:
|
case GDK_BackSpace:
|
||||||
delete_processors (targets);
|
delete_processors (targets);
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_slash:
|
case GDK_Return:
|
||||||
for (ProcSelection::iterator i = targets.begin(); i != targets.end(); ++i) {
|
for (ProcSelection::iterator i = targets.begin(); i != targets.end(); ++i) {
|
||||||
if ((*i)->active()) {
|
if ((*i)->active()) {
|
||||||
(*i)->deactivate ();
|
(*i)->deactivate ();
|
||||||
|
|
@ -587,6 +599,11 @@ ProcessorBox::processor_key_release_event (GdkEventKey *ev)
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GDK_slash:
|
||||||
|
ab_plugins ();
|
||||||
|
ret = true;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -860,35 +877,6 @@ ProcessorBox::send_io_finished (IOSelector::Result r, boost::weak_ptr<Processor>
|
||||||
delete_when_idle (ios);
|
delete_when_idle (ios);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
ProcessorBox::choose_return ()
|
|
||||||
{
|
|
||||||
boost::shared_ptr<Return> retrn (new Return (_session));
|
|
||||||
|
|
||||||
/* assume user just wants a single audio input (sidechain) by default */
|
|
||||||
ChanCount ins(DataType::AUDIO, 1);
|
|
||||||
|
|
||||||
/* XXX need processor lock on route */
|
|
||||||
try {
|
|
||||||
retrn->input()->ensure_io (ins, false, this);
|
|
||||||
} catch (AudioEngine::PortRegistrationFailure& err) {
|
|
||||||
error << string_compose (_("Cannot set up new return: %1"), err.what()) << endmsg;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* let the user adjust the IO setup before creation */
|
|
||||||
IOSelectorWindow *ios = new IOSelectorWindow (_session, retrn->input(), true);
|
|
||||||
ios->show_all ();
|
|
||||||
|
|
||||||
/* keep a reference to the return so it doesn't get deleted while
|
|
||||||
the IOSelectorWindow is doing its stuff */
|
|
||||||
_processor_being_created = retrn;
|
|
||||||
|
|
||||||
ios->selector().Finished.connect (bind (
|
|
||||||
mem_fun(*this, &ProcessorBox::return_io_finished),
|
|
||||||
boost::weak_ptr<Processor>(retrn), ios));
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ProcessorBox::return_io_finished (IOSelector::Result r, boost::weak_ptr<Processor> weak_processor, IOSelectorWindow* ios)
|
ProcessorBox::return_io_finished (IOSelector::Result r, boost::weak_ptr<Processor> weak_processor, IOSelectorWindow* ios)
|
||||||
{
|
{
|
||||||
|
|
@ -1532,8 +1520,6 @@ ProcessorBox::register_actions ()
|
||||||
ActionManager::jack_sensitive_actions.push_back (act);
|
ActionManager::jack_sensitive_actions.push_back (act);
|
||||||
|
|
||||||
ActionManager::register_action (popup_act_grp, X_("newaux"), _("New Aux Send ..."));
|
ActionManager::register_action (popup_act_grp, X_("newaux"), _("New Aux Send ..."));
|
||||||
ActionManager::register_action (popup_act_grp, X_("newreturn"), _("New Return ..."),
|
|
||||||
sigc::ptr_fun (ProcessorBox::rb_choose_return));
|
|
||||||
|
|
||||||
ActionManager::register_action (popup_act_grp, X_("clear"), _("Clear (all)"),
|
ActionManager::register_action (popup_act_grp, X_("clear"), _("Clear (all)"),
|
||||||
sigc::ptr_fun (ProcessorBox::rb_clear));
|
sigc::ptr_fun (ProcessorBox::rb_clear));
|
||||||
|
|
@ -1564,22 +1550,33 @@ ProcessorBox::register_actions ()
|
||||||
ActionManager::register_action (popup_act_grp, X_("deselectall"), _("Deselect All"),
|
ActionManager::register_action (popup_act_grp, X_("deselectall"), _("Deselect All"),
|
||||||
sigc::ptr_fun (ProcessorBox::rb_deselect_all));
|
sigc::ptr_fun (ProcessorBox::rb_deselect_all));
|
||||||
|
|
||||||
/* activation */
|
/* activation etc. */
|
||||||
|
|
||||||
ActionManager::plugin_selection_sensitive_actions.push_back(act);
|
|
||||||
ActionManager::register_action (popup_act_grp, X_("activate_all"), _("Activate all"),
|
ActionManager::register_action (popup_act_grp, X_("activate_all"), _("Activate all"),
|
||||||
sigc::ptr_fun (ProcessorBox::rb_activate_all));
|
sigc::ptr_fun (ProcessorBox::rb_activate_all));
|
||||||
ActionManager::register_action (popup_act_grp, X_("deactivate_all"), _("Deactivate all"),
|
ActionManager::register_action (popup_act_grp, X_("deactivate_all"), _("Deactivate all"),
|
||||||
sigc::ptr_fun (ProcessorBox::rb_deactivate_all));
|
sigc::ptr_fun (ProcessorBox::rb_deactivate_all));
|
||||||
|
ActionManager::register_action (popup_act_grp, X_("ab_plugins"), _("A/B Plugins"),
|
||||||
|
sigc::ptr_fun (ProcessorBox::rb_ab_plugins));
|
||||||
|
|
||||||
/* show editors */
|
/* show editors */
|
||||||
act = ActionManager::register_action (popup_act_grp, X_("edit"), _("Edit"),
|
act = ActionManager::register_action (popup_act_grp, X_("edit"), _("Edit"),
|
||||||
sigc::ptr_fun (ProcessorBox::rb_edit));
|
sigc::ptr_fun (ProcessorBox::rb_edit));
|
||||||
ActionManager::plugin_selection_sensitive_actions.push_back(act);
|
ActionManager::plugin_selection_sensitive_actions.push_back(act);
|
||||||
|
|
||||||
ActionManager::add_action_group (popup_act_grp);
|
ActionManager::add_action_group (popup_act_grp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ProcessorBox::rb_ab_plugins ()
|
||||||
|
{
|
||||||
|
if (_current_processor_box == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_current_processor_box->ab_plugins ();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ProcessorBox::rb_choose_plugin ()
|
ProcessorBox::rb_choose_plugin ()
|
||||||
{
|
{
|
||||||
|
|
@ -1607,15 +1604,6 @@ ProcessorBox::rb_choose_send ()
|
||||||
_current_processor_box->choose_send ();
|
_current_processor_box->choose_send ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
ProcessorBox::rb_choose_return ()
|
|
||||||
{
|
|
||||||
if (_current_processor_box == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_current_processor_box->choose_return ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ProcessorBox::rb_choose_aux (boost::weak_ptr<Route> wr)
|
ProcessorBox::rb_choose_aux (boost::weak_ptr<Route> wr)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject
|
||||||
void choose_aux (boost::weak_ptr<ARDOUR::Route>);
|
void choose_aux (boost::weak_ptr<ARDOUR::Route>);
|
||||||
void choose_send ();
|
void choose_send ();
|
||||||
void send_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
|
void send_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
|
||||||
void choose_return ();
|
|
||||||
void return_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
|
void return_io_finished (IOSelector::Result, boost::weak_ptr<ARDOUR::Processor>, IOSelectorWindow*);
|
||||||
void choose_insert ();
|
void choose_insert ();
|
||||||
void choose_plugin ();
|
void choose_plugin ();
|
||||||
|
|
@ -249,7 +248,6 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject
|
||||||
static void rb_choose_plugin ();
|
static void rb_choose_plugin ();
|
||||||
static void rb_choose_insert ();
|
static void rb_choose_insert ();
|
||||||
static void rb_choose_send ();
|
static void rb_choose_send ();
|
||||||
static void rb_choose_return ();
|
|
||||||
static void rb_clear ();
|
static void rb_clear ();
|
||||||
static void rb_clear_pre ();
|
static void rb_clear_pre ();
|
||||||
static void rb_clear_post ();
|
static void rb_clear_post ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue