Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
arranger_object_owner_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::structure::arrangement
13{
14class MockArrangerObjectOwner
15 : public QObject,
16 public ArrangerObjectOwner<MidiNote>,
17 public ArrangerObjectOwner<Marker>
18{
19 Q_OBJECT
20 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
21 MockArrangerObjectOwner,
22 midiNotes,
24 DEFINE_ARRANGER_OBJECT_OWNER_QML_PROPERTIES (
25 MockArrangerObjectOwner,
26 markers,
27 Marker)
28
29public:
30 MockArrangerObjectOwner (
31 ArrangerObjectRegistry &registry,
32 dsp::FileAudioSourceRegistry &file_audio_source_registry,
33 QObject * parent = nullptr)
34 : QObject (parent),
35 ArrangerObjectOwner<MidiNote> (registry, file_audio_source_registry, *this),
36 ArrangerObjectOwner<Marker> (registry, file_audio_source_registry, *this)
37 {
38 }
39
40 MOCK_METHOD (
41 std::string,
43 (const MidiNote * obj),
44 (const override));
45 MOCK_METHOD (
46 std::string,
48 (const Marker * obj),
49 (const override));
50};
51
52} // namespace zrythm::structure::arrangement
virtual std::string get_field_name_for_serialization(const ChildT *) const=0
Marker for the MarkerTrack.
Definition marker.h:16
A MIDI note inside a Region shown in the piano roll.
Definition midi_note.h:20