Zrythm v2.0.0-alpha.1
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#include "utils/iobject_registry.h"
9
10#include <gmock/gmock.h>
11#include <gtest/gtest.h>
12
13namespace zrythm::actions
14{
16 : public QObject,
18 structure::arrangement::MidiNote>,
20 structure::arrangement::Marker>,
22 structure::arrangement::MidiRegion>,
24 structure::arrangement::AudioRegion>,
26 structure::arrangement::AutomationPoint>,
28 structure::arrangement::TempoObject>,
30 structure::arrangement::TimeSignatureObject>
31{
32 Q_OBJECT
33 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
35 midiNotes,
37 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
39 markers,
41 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
43 midiRegions,
45 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
47 audioRegions,
49 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
51 automationPoints,
53 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
55 tempoObjects,
57 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
59 timeSignatureObjects,
61
62public:
64 utils::IObjectRegistry &registry,
65 QObject * parent = nullptr)
66 : QObject (parent),
67 ArrangerObjectOwner<structure::arrangement::MidiNote> (registry, *this),
68 ArrangerObjectOwner<structure::arrangement::Marker> (registry, *this),
69 ArrangerObjectOwner<structure::arrangement::MidiRegion> (registry, *this),
70 ArrangerObjectOwner<structure::arrangement::AudioRegion> (registry, *this),
71 ArrangerObjectOwner<
73 ArrangerObjectOwner<structure::arrangement::TempoObject> (registry, *this),
74 ArrangerObjectOwner<
76 {
77 }
78
79 MOCK_METHOD (
80 std::string,
83 (const override));
84 MOCK_METHOD (
85 std::string,
88 (const override));
89 MOCK_METHOD (
90 std::string,
93 (const override));
94 MOCK_METHOD (
95 std::string,
98 (const override));
99 MOCK_METHOD (
100 std::string,
103 (const override));
104 MOCK_METHOD (
105 std::string,
108 (const override));
109 MOCK_METHOD (
110 std::string,
113 (const override));
114};
115
116}
A region for playing back audio samples.
An automation point inside an AutomationTrack.
Marker for the MarkerTrack.
Definition marker.h:18
A MIDI note inside a Region shown in the piano roll.
Definition midi_note.h:23
A Region containing MIDI events.
Definition midi_region.h:24
Abstract interface for a UUID-keyed object registry.