Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
timeline.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_BACKEND_TIMELINE_H__
11#define __GUI_BACKEND_TIMELINE_H__
12
14#include "utils/yaml.h"
15
22#define TIMELINE_SCHEMA_VERSION 1
23
24#define PRJ_TIMELINE (PROJECT->timeline)
25
32typedef struct Timeline
33{
34 int schema_version;
35
38} Timeline;
39
40static const cyaml_schema_field_t timeline_fields_schema[] = {
41 YAML_FIELD_INT (Timeline, schema_version),
44 editor_settings,
45 editor_settings_fields_schema),
46
47 CYAML_FIELD_END
48};
49
50static const cyaml_schema_value_t timeline_schema = {
51 CYAML_VALUE_MAPPING (
52 CYAML_FLAG_POINTER,
54 timeline_fields_schema),
55};
56
60void
62
66void
68
70timeline_clone (Timeline * src);
71
77
78void
79timeline_free (Timeline * self);
80
85#endif
Common editor settings.
Timeline * timeline_new(void)
Creates a new Timeline instance.
void timeline_init(Timeline *self)
Inits the Timeline instance.
void timeline_init_loaded(Timeline *self)
Inits the Timeline after a Project is loaded.
#define YAML_FIELD_MAPPING_EMBEDDED(owner, member, schema)
Mapping embedded inside the struct.
Definition yaml.h:32
Common editor settings.
Clip editor serializable backend.
Definition timeline.h:33
EditorSettings editor_settings
Settings for the timeline.
Definition timeline.h:37
YAML utils.