summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/mixer_ui.cc28
-rw-r--r--gtk2_ardour/mixer_ui.h8
-rw-r--r--gtk2_ardour/vca_master_strip.cc22
-rw-r--r--gtk2_ardour/vca_master_strip.h2
4 files changed, 31 insertions, 29 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 35986de0eb..4f87e04c7a 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -1354,11 +1354,13 @@ Mixer_UI::redisplay_track_list ()
return;
}
- boost::shared_ptr<VCA> sv = spilled_vca.lock ();
-
- if (sv) {
- spill_redisplay (sv);
- return;
+ boost::shared_ptr<Stripable> ss = spilled_strip.lock ();
+ if (ss) {
+ boost::shared_ptr<VCA> sv = boost::dynamic_pointer_cast<VCA> (ss);
+ if (sv) {
+ spill_redisplay (sv);
+ return;
+ }
}
TreeModel::Children rows = track_model->children();
@@ -2830,13 +2832,13 @@ Mixer_UI::do_vca_unassign (boost::shared_ptr<VCA> vca)
}
void
-Mixer_UI::show_vca_slaves (boost::shared_ptr<VCA> vca)
+Mixer_UI::show_spill (boost::shared_ptr<Stripable> s)
{
- boost::shared_ptr<VCA> v = spilled_vca.lock();
- if (v != vca) {
- spilled_vca = vca;
- show_vca_change (vca); /* EMIT SIGNAL */
- if (vca) {
+ boost::shared_ptr<Stripable> ss = spilled_strip.lock();
+ if (ss != s) {
+ spilled_strip = s;
+ show_spill_change (s); /* EMIT SIGNAL */
+ if (s) {
_group_tabs->hide ();
} else {
_group_tabs->show ();
@@ -2846,9 +2848,9 @@ Mixer_UI::show_vca_slaves (boost::shared_ptr<VCA> vca)
}
bool
-Mixer_UI::showing_vca_slaves_for (boost::shared_ptr<VCA> vca) const
+Mixer_UI::showing_spill_for (boost::shared_ptr<Stripable> s) const
{
- return vca == spilled_vca.lock();
+ return s == spilled_strip.lock();
}
void
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index fecd175081..27a5575f77 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -116,10 +116,10 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p
void do_vca_assign (boost::shared_ptr<ARDOUR::VCA>);
void do_vca_unassign (boost::shared_ptr<ARDOUR::VCA>);
- void show_vca_slaves (boost::shared_ptr<ARDOUR::VCA>);
- bool showing_vca_slaves_for (boost::shared_ptr<ARDOUR::VCA>) const;
+ void show_spill (boost::shared_ptr<ARDOUR::Stripable>);
+ bool showing_spill_for (boost::shared_ptr<ARDOUR::Stripable>) const;
- sigc::signal1<void,boost::shared_ptr<ARDOUR::VCA> > show_vca_change;
+ sigc::signal1<void,boost::shared_ptr<ARDOUR::Stripable> > show_spill_change;
RouteProcessorSelection& selection() { return _selection; }
void register_actions ();
@@ -382,7 +382,7 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p
// true if mixer list is visible
bool _show_mixer_list;
- mutable boost::weak_ptr<ARDOUR::VCA> spilled_vca;
+ mutable boost::weak_ptr<ARDOUR::Stripable> spilled_strip;
void escape ();
diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc
index 7dfc396381..b3dcc06b16 100644
--- a/gtk2_ardour/vca_master_strip.cc
+++ b/gtk2_ardour/vca_master_strip.cc
@@ -148,7 +148,7 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
mute_changed ();
spill_change (boost::shared_ptr<VCA>());
- Mixer_UI::instance()->show_vca_change.connect (sigc::mem_fun (*this, &VCAMasterStrip::spill_change));
+ Mixer_UI::instance()->show_spill_change.connect (sigc::mem_fun (*this, &VCAMasterStrip::spill_change));
_vca->PropertyChanged.connect (vca_connections, invalidator (*this), boost::bind (&VCAMasterStrip::vca_property_changed, this, _1), gui_context());
_vca->presentation_info().PropertyChanged.connect (vca_connections, invalidator (*this), boost::bind (&VCAMasterStrip::vca_property_changed, this, _1), gui_context());
@@ -165,9 +165,9 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
VCAMasterStrip::~VCAMasterStrip ()
{
- if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
+ if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_spill_for (_vca)) {
/* cancel spill for this VCA */
- Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<Stripable>());
}
delete delete_dialog;
@@ -179,9 +179,9 @@ VCAMasterStrip::~VCAMasterStrip ()
void
VCAMasterStrip::self_delete ()
{
- if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
+ if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_spill_for (_vca)) {
/* cancel spill for this VCA */
- Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<Stripable>());
}
/* Drop reference immediately, delete self when idle */
_vca.reset ();
@@ -457,15 +457,15 @@ VCAMasterStrip::build_context_menu ()
void
VCAMasterStrip::spill ()
{
- if (Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
- Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
+ if (Mixer_UI::instance()->showing_spill_for (_vca)) {
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<Stripable>());
} else {
- Mixer_UI::instance()->show_vca_slaves (_vca);
+ Mixer_UI::instance()->show_spill (_vca);
}
}
void
-VCAMasterStrip::spill_change (boost::shared_ptr<VCA> vca)
+VCAMasterStrip::spill_change (boost::shared_ptr<Stripable> vca)
{
if (vca != _vca) {
vertical_button.set_active_state (Gtkmm2ext::Off);
@@ -491,8 +491,8 @@ VCAMasterStrip::drop_all_slaves ()
{
_vca->Drop (); /* EMIT SIGNAL */
- if (Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
- Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
+ if (Mixer_UI::instance()->showing_spill_for (_vca)) {
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<Stripable>());
}
}
diff --git a/gtk2_ardour/vca_master_strip.h b/gtk2_ardour/vca_master_strip.h
index 575a21173c..177425570e 100644
--- a/gtk2_ardour/vca_master_strip.h
+++ b/gtk2_ardour/vca_master_strip.h
@@ -77,7 +77,7 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
PBD::ScopedConnectionList vca_connections;
void spill ();
- void spill_change (boost::shared_ptr<ARDOUR::VCA>);
+ void spill_change (boost::shared_ptr<ARDOUR::Stripable>);
void hide_clicked();
bool width_button_pressed (GdkEventButton *);
void set_selected (bool);