Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
tracklist_selections.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
9
10#ifndef __SCHEMAS_ACTIONS_TRACKLIST_SELECTIONS_H__
11#define __SCHEMAS_ACTIONS_TRACKLIST_SELECTIONS_H__
12
14#include "utils/yaml.h"
15
16// typedef struct TracklistSelections TracklistSelections;
17
19{
20 int schema_version;
21 Track_v1 * tracks[600];
22 int num_tracks;
23 bool is_project;
25
26static const cyaml_schema_field_t tracklist_selections_fields_schema_v1[] = {
27 YAML_FIELD_INT (TracklistSelections_v1, schema_version),
28 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
30 tracks,
31 track_schema_v1),
32 YAML_FIELD_INT (TracklistSelections_v1, is_project),
33
34 CYAML_FIELD_END
35};
36
37static const cyaml_schema_value_t tracklist_selections_schema_v1 = {
38 YAML_VALUE_PTR (TracklistSelections_v1, tracklist_selections_fields_schema_v1),
39};
40
42{
43 int schema_version;
44 Track_v2 * tracks[600];
45 int num_tracks;
46 bool is_project;
48
49static const cyaml_schema_field_t tracklist_selections_fields_schema_v2[] = {
50 YAML_FIELD_INT (TracklistSelections_v2, schema_version),
51 YAML_FIELD_FIXED_SIZE_PTR_ARRAY_VAR_COUNT (
53 tracks,
54 track_schema_v2),
55 YAML_FIELD_INT (TracklistSelections_v2, is_project),
56
57 CYAML_FIELD_END
58};
59
60static const cyaml_schema_value_t tracklist_selections_schema_v2 = {
61 YAML_VALUE_PTR (TracklistSelections_v2, tracklist_selections_fields_schema_v2),
62};
63
65tracklist_selections_upgrade_from_v1 (TracklistSelections_v1 * old);
66
67#endif
The backend for a timeline track.
YAML utils.