summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-02-01 15:15:02 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-02-01 15:15:02 -0500
commitb728d3c9ff7541251ab9d11123125a54d000e740 (patch)
tree641f267d09c1cb070aefb1edc17abbec9ae7f4b3
parent9539d0da408b9e8e3fbf7fd0189ad33e942f1130 (diff)
clean up mess in Route/Track controllables caused by not understanding the significance of ParameterDescriptor
-rw-r--r--libs/ardour/ardour/route.h9
-rw-r--r--libs/ardour/ardour/track.h1
-rw-r--r--libs/ardour/route.cc1
-rw-r--r--libs/ardour/route_controls.cc34
-rw-r--r--libs/ardour/track.cc14
5 files changed, 7 insertions, 52 deletions
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index dce7caed02..84d78fcdd3 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -391,13 +391,6 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
AutomationType atype,
boost::shared_ptr<AutomationList> alist,
boost::shared_ptr<Route> route);
-
- RouteAutomationControl (const std::string& name,
- AutomationType atype,
- const ParameterDescriptor& descriptor,
- boost::shared_ptr<AutomationList> alist,
- boost::shared_ptr<Route> route);
-
protected:
friend class Route;
@@ -478,7 +471,6 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
double get_value () const;
private:
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
- static ParameterDescriptor get_descriptor ();
};
class LIBARDOUR_API SoloSafeControllable : public RouteAutomationControl {
@@ -489,7 +481,6 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
double get_value () const;
private:
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
- static ParameterDescriptor get_descriptor ();
};
void set_control (AutomationType, double val, PBD::Controllable::GroupControlDisposition group_override);
diff --git a/libs/ardour/ardour/track.h b/libs/ardour/ardour/track.h
index dcc0352157..ee05666d20 100644
--- a/libs/ardour/ardour/track.h
+++ b/libs/ardour/ardour/track.h
@@ -59,7 +59,6 @@ class LIBARDOUR_API Track : public Route, public PublicDiskstream
double get_value () const;
private:
void _set_value (double, PBD::Controllable::GroupControlDisposition group_override);
- static ParameterDescriptor get_descriptor();
};
void set_monitoring (MonitorChoice, PBD::Controllable::GroupControlDisposition group_override);
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index d8c5c2e3b7..79fbeb546e 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -4115,6 +4115,7 @@ Route::set_phase_invert (uint32_t c, bool yn)
if (_phase_invert[c] != yn) {
_phase_invert[c] = yn;
phase_invert_changed (); /* EMIT SIGNAL */
+ _phase_control->Changed(); /* EMIT SIGNAL */
_session.set_dirty ();
}
}
diff --git a/libs/ardour/route_controls.cc b/libs/ardour/route_controls.cc
index ee4c453c35..08e083e3fe 100644
--- a/libs/ardour/route_controls.cc
+++ b/libs/ardour/route_controls.cc
@@ -94,16 +94,6 @@ Route::RouteAutomationControl::RouteAutomationControl (const std::string& name,
{
}
-Route::RouteAutomationControl::RouteAutomationControl (const std::string& name,
- AutomationType atype,
- const ParameterDescriptor& desc,
- boost::shared_ptr<AutomationList> alist,
- boost::shared_ptr<Route> r)
- : AutomationControl (r->session(), Evoral::Parameter (atype), desc, alist, name)
- , _route (r)
-{
-}
-
Route::GainControllable::GainControllable (Session& s, AutomationType atype, boost::shared_ptr<Route> r)
: GainControl (s, Evoral::Parameter(atype))
, _route (r)
@@ -266,6 +256,9 @@ double
Route::PhaseControllable::get_value () const
{
boost::shared_ptr<Route> r = _route.lock ();
+ if (!r) {
+ return 0.0;
+ }
return (double) r->phase_invert (_current_phase);
}
@@ -282,7 +275,7 @@ Route::PhaseControllable::channel () const
}
Route::SoloIsolateControllable::SoloIsolateControllable (std::string name, boost::shared_ptr<Route> r)
- : RouteAutomationControl (name, SoloIsolateAutomation, get_descriptor(), boost::shared_ptr<AutomationList>(), r)
+ : RouteAutomationControl (name, SoloIsolateAutomation, boost::shared_ptr<AutomationList>(), r)
{
boost::shared_ptr<AutomationList> gl(new AutomationList(Evoral::Parameter(SoloIsolateAutomation)));
gl->set_interpolation(Evoral::ControlList::Discrete);
@@ -319,17 +312,8 @@ Route::SoloIsolateControllable::_set_value (double val, PBD::Controllable::Group
r->set_solo_isolated (val >= 0.5 ? true : false);
}
-ParameterDescriptor
-Route::SoloIsolateControllable::get_descriptor()
-{
- ParameterDescriptor desc;
- desc.type = SoloIsolateAutomation;
- desc.toggled = true;
- return desc;
-}
-
Route::SoloSafeControllable::SoloSafeControllable (std::string name, boost::shared_ptr<Route> r)
- : RouteAutomationControl (name, SoloSafeAutomation, get_descriptor(), boost::shared_ptr<AutomationList>(), r)
+ : RouteAutomationControl (name, SoloSafeAutomation, boost::shared_ptr<AutomationList>(), r)
{
boost::shared_ptr<AutomationList> gl(new AutomationList(Evoral::Parameter(SoloSafeAutomation)));
gl->set_interpolation(Evoral::ControlList::Discrete);
@@ -365,11 +349,3 @@ Route::SoloSafeControllable::get_value () const
return r->solo_safe() ? 1.0 : 0.0;
}
-ParameterDescriptor
-Route::SoloSafeControllable::get_descriptor()
-{
- ParameterDescriptor desc;
- desc.type = SoloSafeAutomation;
- desc.toggled = true;
- return desc;
-}
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index 9c2a538f5e..f279eae306 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -1166,7 +1166,7 @@ Track::metering_state () const
}
Track::MonitoringControllable::MonitoringControllable (std::string name, boost::shared_ptr<Track> r)
- : RouteAutomationControl (name, MonitoringAutomation, get_descriptor(), boost::shared_ptr<AutomationList>(), r)
+ : RouteAutomationControl (name, MonitoringAutomation, boost::shared_ptr<AutomationList>(), r)
{
boost::shared_ptr<AutomationList> gl(new AutomationList(Evoral::Parameter(MonitoringAutomation)));
gl->set_interpolation(Evoral::ControlList::Discrete);
@@ -1218,15 +1218,3 @@ Track::MonitoringControllable::get_value () const
return t->monitoring_choice();
}
-
-ParameterDescriptor
-Track::MonitoringControllable::get_descriptor()
-{
- ParameterDescriptor desc;
- desc.type = MonitoringAutomation;
- desc.enumeration = true;
- desc.integer_step = true;
- desc.lower = MonitorAuto;
- desc.upper = MonitorDisk; /* XXX bump when we add MonitorCue */
- return desc;
-}