Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
midi_lane.h
1// SPDX-FileCopyrightText: © 2024-2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include <QObject>
7#include <qqmlintegration.h>
8
9#include "track_lane.h"
10
11namespace zrythm::structure::tracks
12{
13class MidiLane final : public QObject, public TrackLaneImpl<arrangement::MidiRegion>
14{
15 Q_OBJECT
16 QML_ELEMENT
17 DEFINE_TRACK_LANE_QML_PROPERTIES (MidiLane, arrangement::MidiRegion)
18 QML_UNCREATABLE ("")
19
20public:
21 using MidiRegion = arrangement::MidiRegion;
22 using RegionT = MidiRegion;
23
24public:
25 MidiLane (
26 structure::arrangement::ArrangerObjectRegistry &registry,
27 dsp::FileAudioSourceRegistry &file_audio_source_registry,
29
30 friend void init_from (
31 MidiLane &obj,
32 const MidiLane &other,
33 utils::ObjectCloneType clone_type);
34
35private:
36 friend void to_json (nlohmann::json &j, const MidiLane &lane)
37 {
38 to_json (j, static_cast<const TrackLaneImpl &> (lane));
39 }
40 friend void from_json (const nlohmann::json &j, MidiLane &lane)
41 {
42 from_json (j, static_cast<TrackLaneImpl &> (lane));
43 }
44};
45}
A Region containing MIDI events.
Definition midi_region.h:24
Interface for a track that has lanes.
Definition laned_track.h:89
TrackLaneImpl(structure::arrangement::ArrangerObjectRegistry &registry, dsp::FileAudioSourceRegistry &file_audio_source_registry, LanedTrackT *track, QObject &derived)
Definition track_lane.h:154