Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
audio_track.h
1// SPDX-FileCopyrightText: © 2018-2020, 2024-2026 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 AudioTrack : public Track
14{
15 Q_OBJECT
16 QML_ELEMENT
17 QML_UNCREATABLE ("")
18
19public:
20 using AudioClip = arrangement::AudioClip;
21
22 AudioTrack (FinalTrackDependencies dependencies);
23
24 friend void init_from (
25 AudioTrack &obj,
26 const AudioTrack &other,
27 utils::ObjectCloneType clone_type);
28
29private:
30 friend void to_json (nlohmann::json &j, const AudioTrack &track)
31 {
32 to_json (j, static_cast<const Track &> (track));
33 }
34 friend void from_json (const nlohmann::json &j, AudioTrack &track)
35 {
36 from_json (j, static_cast<Track &> (track));
37 }
38
39 bool initialize ();
40};
41}
A clip for playing back audio samples.
Definition audio_clip.h:24
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.