Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
arranger_object_selection_operator_test.h
1// SPDX-FileCopyrightText: © 2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "structure/arrangement/arranger_object_all.h"
7#include "structure/arrangement/arranger_object_owner.h"
8
9#include <gmock/gmock.h>
10#include <gtest/gtest.h>
11
12namespace zrythm::actions
13{
15 : public QObject,
17 structure::arrangement::MidiNote>,
19 structure::arrangement::Marker>,
21 structure::arrangement::MidiRegion>,
23 structure::arrangement::AudioRegion>,
25 structure::arrangement::AutomationPoint>,
27 structure::arrangement::TempoObject>,
29 structure::arrangement::TimeSignatureObject>
30{
31 Q_OBJECT
32 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
34 midiNotes,
36 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
38 markers,
40 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
42 midiRegions,
44 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
46 audioRegions,
48 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
50 automationPoints,
52 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
54 tempoObjects,
56 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
58 timeSignatureObjects,
60
61public:
63 structure::arrangement::ArrangerObjectRegistry &registry,
64 dsp::FileAudioSourceRegistry &file_audio_source_registry,
65 QObject * parent = nullptr)
66 : QObject (parent),
67 ArrangerObjectOwner<structure::arrangement::MidiNote> (
68 registry,
69 file_audio_source_registry,
70 *this),
71 ArrangerObjectOwner<structure::arrangement::Marker> (
72 registry,
73 file_audio_source_registry,
74 *this),
75 ArrangerObjectOwner<structure::arrangement::MidiRegion> (
76 registry,
77 file_audio_source_registry,
78 *this),
79 ArrangerObjectOwner<structure::arrangement::AudioRegion> (
80 registry,
81 file_audio_source_registry,
82 *this),
83 ArrangerObjectOwner<structure::arrangement::AutomationPoint> (
84 registry,
85 file_audio_source_registry,
86 *this),
87 ArrangerObjectOwner<structure::arrangement::TempoObject> (
88 registry,
89 file_audio_source_registry,
90 *this),
91 ArrangerObjectOwner<structure::arrangement::TimeSignatureObject> (
92 registry,
93 file_audio_source_registry,
94 *this)
95 {
96 }
97
98 MOCK_METHOD (
99 std::string,
102 (const override));
103 MOCK_METHOD (
104 std::string,
106 (const structure::arrangement::Marker * obj),
107 (const override));
108 MOCK_METHOD (
109 std::string,
112 (const override));
113 MOCK_METHOD (
114 std::string,
117 (const override));
118 MOCK_METHOD (
119 std::string,
122 (const override));
123 MOCK_METHOD (
124 std::string,
127 (const override));
128 MOCK_METHOD (
129 std::string,
132 (const override));
133};
134
135}
A region for playing back audio samples.
An automation point inside an AutomationTrack.
Marker for the MarkerTrack.
Definition marker.h:16
A MIDI note inside a Region shown in the piano roll.
Definition midi_note.h:20
A Region containing MIDI events.
Definition midi_region.h:20