Zrythm v2.0.0-alpha.1
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 utils::IObjectRegistry &registry,
32 QObject * parent = nullptr)
33 : QObject (parent), ArrangerObjectOwner<MidiNote> (registry, *this),
34 ArrangerObjectOwner<Marker> (registry, *this)
35 {
36 }
37
38 MOCK_METHOD (
39 std::string,
41 (const MidiNote * obj),
42 (const override));
43 MOCK_METHOD (
44 std::string,
46 (const Marker * obj),
47 (const override));
48};
49
50} // namespace zrythm::structure::arrangement
virtual std::string get_field_name_for_serialization(const ChildT *) const=0
Marker for the MarkerTrack.
Definition marker.h:18
A MIDI note inside a Region shown in the piano roll.
Definition midi_note.h:23
Abstract interface for a UUID-keyed object registry.