10#ifndef __GUI_BACKEND_AUDIO_SELECTIONS_H__
11#define __GUI_BACKEND_AUDIO_SELECTIONS_H__
26#define AUDIO_SELECTIONS_SCHEMA_VERSION 1
28#define AUDIO_SELECTIONS (PROJECT->audio_selections)
78static const cyaml_schema_field_t audio_selections_fields_schema[] = {
82 arranger_selections_fields_schema),
88 position_fields_schema),
92 position_fields_schema),
97 region_identifier_fields_schema),
102static const cyaml_schema_value_t audio_selections_schema = {
105 audio_selections_fields_schema),
void audio_selections_set_has_range(AudioSelections *self, bool has_range)
Sets whether a range selection exists and sends events to update the UI.
bool audio_selections_can_be_pasted(AudioSelections *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.
#define YAML_VALUE_PTR(cc, fields_schema)
Schema to be used as a pointer.
Common data structures and functions for *ArrangerSelections.
Selections to be used for the AudioArrangerWidget's current selections, copying, undoing,...
RegionIdentifier region_id
Identifier of the current region.
bool has_selection
Whether or not a selection exists.
int pool_id
Audio pool ID of the associated audio file, used during serialization.
Position sel_start
Selected range.
A Position is made up of bars.beats.sixteenths.ticks.
Index/identifier for a Region, so we can get Region objects quickly with it without searching by name...
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.