15class ArrangerObjectFadeRange :
public QObject
30 ArrangerObjectFadeRange (
33 QObject * parent =
nullptr);
39 dsp::Position * startOffset ()
const {
return start_offset_.get (); }
40 dsp::Position * endOffset ()
const {
return end_offset_.get (); }
43 return fade_in_opts_adapter_.get ();
47 return fade_out_opts_adapter_.get ();
50 Q_SIGNAL
void fadePropertiesChanged ();
64 return fadeInCurveOpts ()->normalizedY (x,
false);
67 return fadeOutCurveOpts ()->normalizedY (x,
true);
71 friend void init_from (
76 obj.start_offset_->setTicks (other.start_offset_->ticks ());
77 obj.end_offset_->setTicks (other.end_offset_->ticks ());
78 obj.fade_in_opts_ = other.fade_in_opts_;
79 obj.fade_out_opts_ = other.fade_out_opts_;
83 static constexpr auto kFadeInOffsetKey =
"fadeInOffset"sv;
84 static constexpr auto kFadeOutOffsetKey =
"fadeOutOffset"sv;
85 static constexpr auto kFadeInOptsKey =
"fadeInOpts"sv;
86 static constexpr auto kFadeOutOptsKey =
"fadeOutOpts"sv;
88 to_json (nlohmann::json &j,
const ArrangerObjectFadeRange &
object);
90 from_json (
const nlohmann::json &j, ArrangerObjectFadeRange &
object);
92 BOOST_DESCRIBE_CLASS (
93 ArrangerObjectFadeRange,
97 (start_offset_, end_offset_, fade_in_opts_, fade_out_opts_))