From b728d3c9ff7541251ab9d11123125a54d000e740 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 1 Feb 2016 15:15:02 -0500 Subject: clean up mess in Route/Track controllables caused by not understanding the significance of ParameterDescriptor --- libs/ardour/ardour/route.h | 9 --------- libs/ardour/ardour/track.h | 1 - libs/ardour/route.cc | 1 + libs/ardour/route_controls.cc | 34 +++++----------------------------- libs/ardour/track.cc | 14 +------------- 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 alist, boost::shared_ptr route); - - RouteAutomationControl (const std::string& name, - AutomationType atype, - const ParameterDescriptor& descriptor, - boost::shared_ptr alist, - boost::shared_ptr 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 alist, - boost::shared_ptr r) - : AutomationControl (r->session(), Evoral::Parameter (atype), desc, alist, name) - , _route (r) -{ -} - Route::GainControllable::GainControllable (Session& s, AutomationType atype, boost::shared_ptr r) : GainControl (s, Evoral::Parameter(atype)) , _route (r) @@ -266,6 +256,9 @@ double Route::PhaseControllable::get_value () const { boost::shared_ptr 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 r) - : RouteAutomationControl (name, SoloIsolateAutomation, get_descriptor(), boost::shared_ptr(), r) + : RouteAutomationControl (name, SoloIsolateAutomation, boost::shared_ptr(), r) { boost::shared_ptr 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 r) - : RouteAutomationControl (name, SoloSafeAutomation, get_descriptor(), boost::shared_ptr(), r) + : RouteAutomationControl (name, SoloSafeAutomation, boost::shared_ptr(), r) { boost::shared_ptr 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 r) - : RouteAutomationControl (name, MonitoringAutomation, get_descriptor(), boost::shared_ptr(), r) + : RouteAutomationControl (name, MonitoringAutomation, boost::shared_ptr(), r) { boost::shared_ptr 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; -} -- cgit v1.2.3