Right-click on a VCA to assign it to the selected channels.
This commit is contained in:
@@ -426,6 +426,22 @@ MixerStrip::~MixerStrip ()
|
||||
_entered_mixer_strip = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
MixerStrip::vca_assign (boost::shared_ptr<ARDOUR::VCA> vca)
|
||||
{
|
||||
boost::shared_ptr<Slavable> sl = boost::dynamic_pointer_cast<Slavable> ( route() );
|
||||
if (sl)
|
||||
sl->assign(vca);
|
||||
}
|
||||
|
||||
void
|
||||
MixerStrip::vca_unassign (boost::shared_ptr<ARDOUR::VCA> vca)
|
||||
{
|
||||
boost::shared_ptr<Slavable> sl = boost::dynamic_pointer_cast<Slavable> ( route() );
|
||||
if (sl)
|
||||
sl->unassign(vca);
|
||||
}
|
||||
|
||||
bool
|
||||
MixerStrip::mixer_strip_enter_event (GdkEventCrossing* /*ev*/)
|
||||
{
|
||||
|
||||
@@ -185,6 +185,9 @@ class MixerStrip : public AxisView, public RouteUI, public Gtk::EventBox
|
||||
Gtk::Table mute_solo_table;
|
||||
Gtk::Table bottom_button_table;
|
||||
|
||||
void vca_assign (boost::shared_ptr<ARDOUR::VCA>);
|
||||
void vca_unassign (boost::shared_ptr<ARDOUR::VCA>);
|
||||
|
||||
void meter_changed ();
|
||||
void monitor_changed ();
|
||||
|
||||
|
||||
@@ -3087,26 +3087,22 @@ void
|
||||
Mixer_UI::vca_assign (boost::shared_ptr<VCA> vca)
|
||||
{
|
||||
set_axis_targets_for_operation ();
|
||||
#if 0
|
||||
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
||||
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
||||
if (ms) {
|
||||
ms->vca_assign (vca);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
Mixer_UI::vca_unassign (boost::shared_ptr<VCA> vca)
|
||||
{
|
||||
set_axis_targets_for_operation ();
|
||||
#if 0
|
||||
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
||||
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
||||
if (ms) {
|
||||
ms->vca_unassign (vca);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -449,6 +449,9 @@ VCAMasterStrip::build_context_menu ()
|
||||
items.push_back (MenuElem (_("Rename"), sigc::mem_fun (*this, &VCAMasterStrip::start_name_edit)));
|
||||
items.push_back (MenuElem (_("Color..."), sigc::mem_fun (*this, &VCAMasterStrip::start_color_edit)));
|
||||
items.push_back (SeparatorElem());
|
||||
items.push_back (MenuElem (_("Assign Selected Channels"), sigc::mem_fun (*this, &VCAMasterStrip::assign_all_selected)));
|
||||
items.push_back (MenuElem (_("Drop Selected Channels"), sigc::mem_fun (*this, &VCAMasterStrip::unassign_all_selected)));
|
||||
items.push_back (SeparatorElem());
|
||||
items.push_back (MenuElem (_("Drop All Slaves"), sigc::mem_fun (*this, &VCAMasterStrip::drop_all_slaves)));
|
||||
items.push_back (SeparatorElem());
|
||||
items.push_back (MenuElem (_("Remove"), sigc::mem_fun (*this, &VCAMasterStrip::remove)));
|
||||
@@ -486,6 +489,18 @@ VCAMasterStrip::remove ()
|
||||
_session->vca_manager().remove_vca (_vca);
|
||||
}
|
||||
|
||||
void
|
||||
VCAMasterStrip::assign_all_selected ()
|
||||
{
|
||||
Mixer_UI::instance()->do_vca_assign (_vca);
|
||||
}
|
||||
|
||||
void
|
||||
VCAMasterStrip::unassign_all_selected ()
|
||||
{
|
||||
Mixer_UI::instance()->do_vca_unassign (_vca);
|
||||
}
|
||||
|
||||
void
|
||||
VCAMasterStrip::drop_all_slaves ()
|
||||
{
|
||||
|
||||
@@ -99,6 +99,8 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
|
||||
void self_delete ();
|
||||
void remove ();
|
||||
void drop_all_slaves ();
|
||||
void assign_all_selected ();
|
||||
void unassign_all_selected ();
|
||||
|
||||
void parameter_changed (std::string const& p);
|
||||
void set_button_names ();
|
||||
|
||||
Reference in New Issue
Block a user