mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 23:05:04 +01:00
Right-click on a VCA to assign it to the selected channels.
This commit is contained in:
parent
71003b0235
commit
b759bae0cd
5 changed files with 36 additions and 4 deletions
|
|
@ -426,6 +426,22 @@ MixerStrip::~MixerStrip ()
|
||||||
_entered_mixer_strip = NULL;
|
_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
|
bool
|
||||||
MixerStrip::mixer_strip_enter_event (GdkEventCrossing* /*ev*/)
|
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 mute_solo_table;
|
||||||
Gtk::Table bottom_button_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 meter_changed ();
|
||||||
void monitor_changed ();
|
void monitor_changed ();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3087,26 +3087,22 @@ void
|
||||||
Mixer_UI::vca_assign (boost::shared_ptr<VCA> vca)
|
Mixer_UI::vca_assign (boost::shared_ptr<VCA> vca)
|
||||||
{
|
{
|
||||||
set_axis_targets_for_operation ();
|
set_axis_targets_for_operation ();
|
||||||
#if 0
|
|
||||||
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
||||||
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
||||||
if (ms) {
|
if (ms) {
|
||||||
ms->vca_assign (vca);
|
ms->vca_assign (vca);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Mixer_UI::vca_unassign (boost::shared_ptr<VCA> vca)
|
Mixer_UI::vca_unassign (boost::shared_ptr<VCA> vca)
|
||||||
{
|
{
|
||||||
set_axis_targets_for_operation ();
|
set_axis_targets_for_operation ();
|
||||||
#if 0
|
|
||||||
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
BOOST_FOREACH(AxisView* r, _axis_targets) {
|
||||||
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
MixerStrip* ms = dynamic_cast<MixerStrip*> (r);
|
||||||
if (ms) {
|
if (ms) {
|
||||||
ms->vca_unassign (vca);
|
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 (_("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 (MenuElem (_("Color..."), sigc::mem_fun (*this, &VCAMasterStrip::start_color_edit)));
|
||||||
items.push_back (SeparatorElem());
|
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 (MenuElem (_("Drop All Slaves"), sigc::mem_fun (*this, &VCAMasterStrip::drop_all_slaves)));
|
||||||
items.push_back (SeparatorElem());
|
items.push_back (SeparatorElem());
|
||||||
items.push_back (MenuElem (_("Remove"), sigc::mem_fun (*this, &VCAMasterStrip::remove)));
|
items.push_back (MenuElem (_("Remove"), sigc::mem_fun (*this, &VCAMasterStrip::remove)));
|
||||||
|
|
@ -486,6 +489,18 @@ VCAMasterStrip::remove ()
|
||||||
_session->vca_manager().remove_vca (_vca);
|
_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
|
void
|
||||||
VCAMasterStrip::drop_all_slaves ()
|
VCAMasterStrip::drop_all_slaves ()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,8 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
|
||||||
void self_delete ();
|
void self_delete ();
|
||||||
void remove ();
|
void remove ();
|
||||||
void drop_all_slaves ();
|
void drop_all_slaves ();
|
||||||
|
void assign_all_selected ();
|
||||||
|
void unassign_all_selected ();
|
||||||
|
|
||||||
void parameter_changed (std::string const& p);
|
void parameter_changed (std::string const& p);
|
||||||
void set_button_names ();
|
void set_button_names ();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue