Zrythm
v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
clip_launcher.h
1
// SPDX-FileCopyrightText: © 2025-2026 Alexandros Theodotou <alex@zrythm.org>
2
// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4
#pragma once
5
6
#include "structure/scenes/scene.h"
7
8
#include <QtQmlIntegration/qqmlintegration.h>
9
10
#include <nlohmann/json_fwd.hpp>
11
12
namespace
zrythm::structure::scenes
13
{
14
class
ClipLauncher :
public
QObject
15
{
16
Q_OBJECT
17
Q_PROPERTY (
zrythm::structure::scenes::SceneList
* scenes READ scenes CONSTANT)
18
QML_ELEMENT
19
QML_UNCREATABLE (
""
)
20
21
public
:
22
ClipLauncher (
23
utils::IObjectRegistry
®istry,
24
const
tracks::TrackCollection
&track_collection,
25
QObject * parent =
nullptr
);
26
27
SceneList
* scenes ()
const
{
return
scene_list_.get (); }
28
29
// Scene management
30
Q_INVOKABLE
Scene
* addScene ();
31
32
private
:
33
static
constexpr
auto
kScenesKey =
"scenes"
sv;
34
friend
void
to_json (nlohmann::json &j,
const
ClipLauncher &launcher);
35
friend
void
from_json (
const
nlohmann::json &j, ClipLauncher &launcher);
36
37
private
:
38
utils::QObjectUniquePtr<SceneList>
scene_list_;
39
40
utils::IObjectRegistry
®istry_;
41
const
tracks::TrackCollection
&track_collection_;
42
};
43
44
}
// namespace zrythm::structure::scenes
zrythm::structure::scenes::SceneList
Definition
scene.h:62
zrythm::structure::scenes::Scene
Definition
scene.h:18
zrythm::structure::tracks::TrackCollection
A collection of tracks that provides a QAbstractListModel interface.
Definition
track_collection.h:23
zrythm::utils::IObjectRegistry
Abstract interface for a UUID-keyed object registry.
Definition
iobject_registry.h:35
zrythm::utils::QObjectUniquePtr
A unique pointer for QObject objects that also works with QObject-based ownership.
Definition
qt.h:36
src
structure
scenes
clip_launcher.h
Generated by
1.16.1