Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
instrument_track.h
1// SPDX-FileCopyrightText: © 2018-2020, 2024-2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "structure/tracks/track.h"
7
8namespace zrythm::structure::tracks
9{
10class InstrumentTrack : public Track
11{
12 Q_OBJECT
13 QML_ELEMENT
14 QML_UNCREATABLE ("")
15
16public:
17 InstrumentTrack (FinalTrackDependencies dependencies);
18
19 friend void init_from (
20 InstrumentTrack &obj,
21 const InstrumentTrack &other,
22 utils::ObjectCloneType clone_type);
23
24private:
25 friend void
26 to_json (nlohmann::json &j, const InstrumentTrack &instrument_track)
27 {
28 to_json (j, static_cast<const Track &> (instrument_track));
29 }
30 friend void
31 from_json (const nlohmann::json &j, InstrumentTrack &instrument_track)
32 {
33 from_json (j, static_cast<Track &> (instrument_track));
34 }
35};
36}
Track(Type type, PortType in_signal_type, PortType out_signal_type, TrackFeatures enabled_features, BaseTrackDependencies dependencies)
Constructor to be used by subclasses.