clean up mess in Route/Track controllables caused by not understanding the significance of ParameterDescriptor

This commit is contained in:
Paul Davis 2016-02-01 15:15:02 -05:00
parent 9539d0da40
commit b728d3c9ff
5 changed files with 7 additions and 52 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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 ();
}
}

View File

@ -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;
}

View File

@ -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;
}