22 public ArrangerObjectOwner<MidiNote>,
23 public ArrangerObjectOwner<MidiControlEvent>
26 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (MidiRegion, midiNotes,
MidiNote)
27 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
38 const dsp::TempoMap &tempo_map,
40 QObject * parent =
nullptr);
46 Q_SIGNAL
void contentChanged ();
50 std::string get_field_name_for_serialization (
const MidiNote *)
const override
57 return "midiControlEvents";
60 std::vector<ArrangerObjectListModel *> get_child_list_models ()
const override
63 ArrangerObjectOwner<MidiNote>::get_model (),
64 ArrangerObjectOwner<MidiControlEvent>::get_model (),
69 friend void init_from (
71 const MidiRegion &other,
74 friend void to_json (nlohmann::json &j,
const MidiRegion ®ion)
77 to_json (j,
static_cast<const ArrangerObjectOwner<MidiNote> &
> (region));
79 j,
static_cast<const ArrangerObjectOwner<MidiControlEvent> &
> (region));
81 friend void from_json (
const nlohmann::json &j, MidiRegion ®ion)
84 from_json (j,
static_cast<ArrangerObjectOwner<MidiNote> &
> (region));
85 from_json (j,
static_cast<ArrangerObjectOwner<MidiControlEvent> &
> (region));
89 BOOST_DESCRIBE_CLASS (
92 ArrangerObjectOwner<MidiNote>,
93 ArrangerObjectOwner<MidiControlEvent>),