18 Q_PROPERTY (
float value READ value WRITE setValue NOTIFY valueChanged)
26 QObject * parent =
nullptr);
27 Q_DISABLE_COPY_MOVE (AutomationPoint)
28 ~AutomationPoint ()
override;
32 return qobject_cast<dsp::ContentPosition *> (ArrangerObject::position ());
39 float value ()
const {
return normalized_value_; }
40 void setValue (
float dval)
42 const auto val = dval;
43 if (qFuzzyCompare (normalized_value_, val))
46 normalized_value_ = val;
47 Q_EMIT valueChanged (dval);
49 Q_SIGNAL
void valueChanged (
float);
53 return curve_opts_adapter_.get ();
59 friend void init_from (
61 const AutomationPoint &other,
64 static constexpr auto kNormalizedValueKey =
"normalizedValue"sv;
65 static constexpr auto kCurveOptionsKey =
"curveOptions"sv;
66 friend void to_json (nlohmann::json &j,
const AutomationPoint &point);
67 friend void from_json (
const nlohmann::json &j, AutomationPoint &point);
71 float normalized_value_ = 0.f;
76 BOOST_DESCRIBE_CLASS (
81 (normalized_value_, curve_opts_))
A Position whose ticks are content-space (clip-local) ticks.
ArrangerObject(Type type, const dsp::TempoMapWrapper &tempo_map_wrapper, ArrangerObjectFeatures features, QObject *parent=nullptr) noexcept
Construct a new ArrangerObject.