17class TempoObjectManager final
19 public ArrangerObjectOwner<TempoObject>,
20 public ArrangerObjectOwner<TimeSignatureObject>
24 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
28 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
37 QObject * parent =
nullptr);
52 friend void init_from (
53 TempoObjectManager &obj,
54 const TempoObjectManager &other,
58 get_field_name_for_serialization (
const TempoObject *)
const override
60 return std::string{ kTempoObjectsKey };
64 get_field_name_for_serialization (
const TimeSignatureObject *)
const override
66 return std::string{ kTimeSignatureObjectsKey };
70 static constexpr auto kTempoObjectsKey =
"tempoObjects"sv;
71 static constexpr auto kTimeSignatureObjectsKey =
"timeSignatureObjects"sv;
72 friend void to_json (nlohmann::json &j,
const TempoObjectManager &manager);
73 friend void from_json (
const nlohmann::json &j, TempoObjectManager &manager);