Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
automation_selections.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2021, 2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_BACKEND_AUTOMATION_SELECTIONS_H__
11#define __GUI_BACKEND_AUTOMATION_SELECTIONS_H__
12
15#include "utils/yaml.h"
16
23#define AUTOMATION_SELECTIONS_SCHEMA_VERSION 1
24
25#define AUTOMATION_SELECTIONS (PROJECT->automation_selections)
26
34{
36
37 int schema_version;
38
41 int num_automation_points;
42 size_t automation_points_size;
43
45
46static const cyaml_schema_field_t
47 automation_selections_fields_schema[] = {
50 base,
51 arranger_selections_fields_schema),
52 YAML_FIELD_INT (AutomationSelections, schema_version),
53 CYAML_FIELD_SEQUENCE_COUNT (
54 "automation_points",
55 CYAML_FLAG_POINTER | CYAML_FLAG_OPTIONAL,
57 automation_points,
58 num_automation_points,
59 &automation_point_schema,
60 0,
61 CYAML_UNLIMITED),
62
63 CYAML_FIELD_END
64 };
65
66static const cyaml_schema_value_t automation_selections_schema = {
67 CYAML_VALUE_MAPPING (
68 CYAML_FLAG_POINTER,
70 automation_selections_fields_schema),
71};
72
79bool
82 Position * pos,
83 ZRegion * r);
84
89#endif
Automation point API.
bool automation_selections_can_be_pasted(AutomationSelections *ts, Position *pos, ZRegion *r)
Returns if the selections can be pasted.
#define YAML_FIELD_MAPPING_EMBEDDED(owner, member, schema)
Mapping embedded inside the struct.
Definition yaml.h:32
Common data structures and functions for *ArrangerSelections.
An automation point inside an AutomationTrack.
Selections to be used for the AutomationArrangerWidget's current selections, copying,...
AutomationPoint ** automation_points
Selected AutomationObject's.
A Position is made up of bars.beats.sixteenths.ticks.
Definition position.h:137
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
Definition region.h:78
YAML utils.