41 parentObject WRITE setParentObject NOTIFY parentObjectChanged)
60 enum class
Type : std::uint8_t
86 auto type ()
const {
return type_; }
88 virtual dsp::Position * position ()
const {
return position_.get (); }
93 ArrangerObjectMuteFunctionality * mute ()
const {
return mute_.get (); }
102 Q_SIGNAL
void parentObjectChanged (QObject * parentObject);
107 const dsp::TempoMap &get_tempo_map ()
const;
108 const dsp::TempoMapWrapper &get_tempo_map_wrapper ()
const
110 return tempo_map_wrapper_;
113 virtual std::vector<ArrangerObjectListModel *> get_child_list_models ()
const
119 enum class ArrangerObjectFeatures : std::uint8_t
138 ArrangerObjectFeatures features,
139 QObject * parent =
nullptr) noexcept;
141 friend
void init_from (
144 utils::ObjectCloneType clone_type);
147 static constexpr auto kPositionKey =
"position"sv;
148 static constexpr auto kLengthKey =
"length"sv;
149 static constexpr auto kNameKey =
"name"sv;
150 static constexpr auto kColorKey =
"color"sv;
151 static constexpr auto kMuteKey =
"mute"sv;
153 to_json (nlohmann::json &j, const
ArrangerObject &arranger_object);
155 from_json (const nlohmann::json &j,
ArrangerObject &arranger_object);
160 const dsp::TempoMapWrapper &tempo_map_wrapper_;
163 utils::QObjectUniquePtr<dsp::Position> position_;
165 utils::QObjectUniquePtr<dsp::ContentPosition> length_;
179 BOOST_DESCRIBE_CLASS (
184 (type_, length_, mute_, color_, name_))
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.