Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
track_lane.h
1// SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __SCHEMAS_AUDIO_TRACK_LANE_H__
5#define __SCHEMAS_AUDIO_TRACK_LANE_H__
6
8#include "utils/yaml.h"
9
10typedef struct TrackLane_v1
11{
12 int schema_version;
13 int pos;
14 char * name;
15 double height;
16 int mute;
17 int solo;
18 ZRegion_v1 ** regions;
19 int num_regions;
20 uint8_t midi_ch;
22
23static const cyaml_schema_field_t track_lane_fields_schema_v1[] = {
24 YAML_FIELD_INT (TrackLane_v1, schema_version),
25 YAML_FIELD_INT (TrackLane_v1, pos),
26 YAML_FIELD_STRING_PTR (TrackLane_v1, name),
27 YAML_FIELD_FLOAT (TrackLane_v1, height),
28 YAML_FIELD_INT (TrackLane_v1, mute),
29 YAML_FIELD_INT (TrackLane_v1, solo),
30 YAML_FIELD_DYN_ARRAY_VAR_COUNT (TrackLane_v1, regions, region_schema_v1),
31 YAML_FIELD_UINT (TrackLane_v1, midi_ch),
32
33 CYAML_FIELD_END
34};
35
36static const cyaml_schema_value_t track_lane_schema_v1 = {
37 CYAML_VALUE_MAPPING (
38 CYAML_FLAG_POINTER,
40 track_lane_fields_schema_v1),
41};
42
43#endif
Region schema.
YAML utils.