Zrythm
v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
timeline_object.h
1
// SPDX-FileCopyrightText: © 2024-2025 Alexandros Theodotou <alex@zrythm.org>
2
// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4
#pragma once
5
6
#include "structure/arrangement/arranger_object.h"
7
8
namespace
zrythm::structure::arrangement
9
{
10
19
class
TimelineObject :
virtual
public
ArrangerObject
20
{
21
protected
:
22
TimelineObject ()
noexcept
{ }
23
24
public
:
25
~TimelineObject ()
noexcept
override
=
default
;
26
Z_DISABLE_COPY_MOVE (TimelineObject)
27
28
protected
:
29
friend
void
init_from (
30
TimelineObject &obj,
31
const
TimelineObject &other,
32
utils::ObjectCloneType
clone_type);
33
34
BOOST_DESCRIBE_CLASS (TimelineObject, (ArrangerObject), (), (), ())
35
};
36
37
using
TimelineObjectVariant = std::
38
variant<ScaleObject, MidiRegion, AudioRegion, ChordRegion, AutomationRegion, Marker>;
39
using
TimelineObjectPtrVariant = to_pointer_variant<TimelineObjectVariant>;
40
41
}
zrythm::utils::ObjectCloneType
ObjectCloneType
Definition
icloneable.h:20
src
structure
arrangement
timeline_object.h
Generated by
1.13.2