19class MidiRegion final :
public ArrangerObject,
public ArrangerObjectOwner<MidiNote>
22 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (MidiRegion, midiNotes,
MidiNote)
23 Q_PROPERTY (
int minVisiblePitch READ minVisiblePitch NOTIFY contentChanged)
24 Q_PROPERTY (
int maxVisiblePitch READ maxVisiblePitch NOTIFY contentChanged)
28 friend class ArrangerObjectFactory;
32 const dsp::TempoMap &tempo_map,
33 ArrangerObjectRegistry &object_registry,
34 dsp::FileAudioSourceRegistry &file_audio_source_registry,
35 QObject * parent =
nullptr);
41 int minVisiblePitch ()
const;
42 int maxVisiblePitch ()
const;
43 Q_SIGNAL
void contentChanged ();
47 std::string get_field_name_for_serialization (
const MidiNote *)
const override
53 friend void init_from (
55 const MidiRegion &other,
58 friend void to_json (nlohmann::json &j,
const MidiRegion ®ion)
61 to_json (j,
static_cast<const ArrangerObjectOwner &
> (region));
63 friend void from_json (
const nlohmann::json &j, MidiRegion ®ion)
66 from_json (j,
static_cast<ArrangerObjectOwner &
> (region));
70 BOOST_DESCRIBE_CLASS (