14class ArrangerObjectFadeRange :
public QObject
31 ArrangerObjectFadeRange (
33 QObject * parent =
nullptr);
41 return start_offset_adapter_.get ();
45 return end_offset_adapter_.get ();
49 return fade_in_opts_adapter_.get ();
53 return fade_out_opts_adapter_.get ();
56 Q_SIGNAL
void fadePropertiesChanged ();
70 return fadeInCurveOpts ()->normalizedY (x,
false);
73 return fadeOutCurveOpts ()->normalizedY (x,
true);
77 friend void init_from (
82 obj.start_offset_adapter_->setTicks (other.start_offset_adapter_->ticks ());
83 obj.end_offset_adapter_->setTicks (other.end_offset_adapter_->ticks ());
84 obj.fade_in_opts_ = other.fade_in_opts_;
85 obj.fade_out_opts_ = other.fade_out_opts_;
89 static constexpr auto kFadeInOffsetKey =
"fadeInOffset"sv;
90 static constexpr auto kFadeOutOffsetKey =
"fadeOutOffset"sv;
91 static constexpr auto kFadeInOptsKey =
"fadeInOpts"sv;
92 static constexpr auto kFadeOutOptsKey =
"fadeOutOpts"sv;
94 to_json (nlohmann::json &j,
const ArrangerObjectFadeRange &
object);
96 from_json (
const nlohmann::json &j, ArrangerObjectFadeRange &
object);
98 BOOST_DESCRIBE_CLASS (
99 ArrangerObjectFadeRange,
103 (start_offset_, end_offset_, fade_in_opts_, fade_out_opts_))