Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
modulator_track.h
1// SPDX-FileCopyrightText: © 2019-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{
13class ModulatorTrack : public Track
14{
15 Q_OBJECT
16 QML_ELEMENT
17 QML_UNCREATABLE ("")
18
19public:
20 ModulatorTrack (FinalTrackDependencies dependencies);
21
22 // ============================================================================
23 // QML Interface
24 // ============================================================================
25
26 // ============================================================================
27
28 friend void init_from (
29 ModulatorTrack &obj,
30 const ModulatorTrack &other,
31 utils::ObjectCloneType clone_type);
32
33 auto get_modulator_macro_processors () const
34 {
35 return std::span (modulator_macro_processors_);
36 }
37
38private:
39 friend void to_json (nlohmann::json &j, const ModulatorTrack &track)
40 {
41 to_json (j, static_cast<const Track &> (track));
42 }
43 friend void from_json (const nlohmann::json &j, ModulatorTrack &track)
44 {
45 from_json (j, static_cast<Track &> (track));
46 }
47};
48}
Track(Type type, std::optional< PortType > in_signal_type, std::optional< PortType > out_signal_type, TrackFeatures enabled_features, BaseTrackDependencies dependencies)
Constructor to be used by subclasses.
std::vector< utils::QObjectUniquePtr< dsp::ModulatorMacroProcessor > > modulator_macro_processors_
Modulator macros.
Definition track.h:735