pan controls starts with its route's time domain

This commit is contained in:
Paul Davis 2021-01-13 15:19:14 -07:00
parent e72ce1317e
commit ceba073065
3 changed files with 8 additions and 9 deletions

View File

@ -37,12 +37,11 @@ class Pannable;
class LIBARDOUR_API PanControllable : public AutomationControl
{
public:
#warning NUTEMPO QUESTION what time domain shoudl this really use?
PanControllable (Session& s, std::string name, Pannable* o, Evoral::Parameter param)
PanControllable (Session& s, std::string name, Pannable* o, Evoral::Parameter param, Temporal::TimeDomain td)
: AutomationControl (s,
param,
ParameterDescriptor(param),
boost::shared_ptr<AutomationList>(new AutomationList(param, Temporal::AudioTime)),
boost::shared_ptr<AutomationList>(new AutomationList(param, td)),
name)
, owner (o)
{}

View File

@ -567,7 +567,7 @@ Automatable::control_factory(const Evoral::Parameter& param)
} else if (param.type() == PanAzimuthAutomation || param.type() == PanWidthAutomation || param.type() == PanElevationAutomation) {
Pannable* pannable = dynamic_cast<Pannable*>(this);
if (pannable) {
control = new PanControllable (_a_session, describe_parameter (param), pannable, param);
control = new PanControllable (_a_session, describe_parameter (param), pannable, param, time_domain());
} else {
warning << "PanAutomation for non-Pannable" << endl;
}

View File

@ -42,11 +42,11 @@ using namespace ARDOUR;
Pannable::Pannable (Session& s, Temporal::TimeDomain td)
: Automatable (s, td)
, SessionHandleRef (s)
, pan_azimuth_control (new PanControllable (s, "", this, PanAzimuthAutomation))
, pan_elevation_control (new PanControllable (s, "", this, PanElevationAutomation))
, pan_width_control (new PanControllable (s, "", this, PanWidthAutomation))
, pan_frontback_control (new PanControllable (s, "", this, PanFrontBackAutomation))
, pan_lfe_control (new PanControllable (s, "", this, PanLFEAutomation))
, pan_azimuth_control (new PanControllable (s, "", this, PanAzimuthAutomation, td))
, pan_elevation_control (new PanControllable (s, "", this, PanElevationAutomation, td))
, pan_width_control (new PanControllable (s, "", this, PanWidthAutomation, td))
, pan_frontback_control (new PanControllable (s, "", this, PanFrontBackAutomation, td))
, pan_lfe_control (new PanControllable (s, "", this, PanLFEAutomation, td))
, _auto_state (Off)
, _has_state (false)
, _responding_to_control_auto_state_change (0)