16class TempoObjectManager final
18 public ArrangerObjectOwner<TempoObject>,
19 public ArrangerObjectOwner<TimeSignatureObject>
23 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
27 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
35 ArrangerObjectRegistry &arranger_object_registry,
36 dsp::FileAudioSourceRegistry &file_audio_source_registry,
37 QObject * parent =
nullptr);
39 friend void init_from (
40 TempoObjectManager &obj,
41 const TempoObjectManager &other,
45 get_field_name_for_serialization (
const TempoObject *)
const override
47 return "tempoObjects";
53 return "timeSignatureObjects";
57 static constexpr auto kTempoObjectsKey =
"tempoObjects"sv;
58 static constexpr auto kTimeSignatureObjectsKey =
"timeSignatureObjects"sv;
59 friend void to_json (nlohmann::json &j,
const TempoObjectManager &manager);
60 friend void from_json (
const nlohmann::json &j, TempoObjectManager &manager);