10#ifndef __GUI_BACKEND_CLIPBOARD_H__
11#define __GUI_BACKEND_CLIPBOARD_H__
33 CLIPBOARD_TYPE_TIMELINE_SELECTIONS,
34 CLIPBOARD_TYPE_MIDI_SELECTIONS,
35 CLIPBOARD_TYPE_AUTOMATION_SELECTIONS,
36 CLIPBOARD_TYPE_CHORD_SELECTIONS,
37 CLIPBOARD_TYPE_AUDIO_SELECTIONS,
38 CLIPBOARD_TYPE_MIXER_SELECTIONS,
39 CLIPBOARD_TYPE_TRACKLIST_SELECTIONS,
42static const cyaml_strval_t clipboard_type_strings[] = {
43 {
"Timeline selections", CLIPBOARD_TYPE_TIMELINE_SELECTIONS },
44 {
"MIDI selections", CLIPBOARD_TYPE_MIDI_SELECTIONS },
45 {
"Automation selections", CLIPBOARD_TYPE_AUTOMATION_SELECTIONS},
46 {
"Chord selections", CLIPBOARD_TYPE_CHORD_SELECTIONS },
47 {
"Audio selections", CLIPBOARD_TYPE_AUDIO_SELECTIONS },
48 {
"Mixer selections", CLIPBOARD_TYPE_MIXER_SELECTIONS },
49 {
"Tracklist selections", CLIPBOARD_TYPE_TRACKLIST_SELECTIONS },
67static const cyaml_schema_field_t clipboard_fields_schema[] = {
68 YAML_FIELD_ENUM (
Clipboard, type, clipboard_type_strings),
72 timeline_selections_fields_schema),
76 midi_arranger_selections_fields_schema),
80 chord_selections_fields_schema),
84 automation_selections_fields_schema),
88 audio_selections_fields_schema),
92 mixer_selections_fields_schema),
96 tracklist_selections_fields_schema),
101static const cyaml_schema_value_t clipboard_schema = {
API for selections in the AudioArrangerWidget.
API for selections in the AutomationArrangerWidget.
API for selections in the piano roll.
Clipboard * clipboard_new_for_arranger_selections(ArrangerSelections *sel, bool clone)
Creates a new Clipboard instance for the given arranger selections.
ClipboardType
Clipboard type.
void clipboard_free(Clipboard *self)
Frees the clipboard and all associated data.
ArrangerSelections * clipboard_get_selections(Clipboard *self)
Gets the ArrangerSelections, if this clipboard contains arranger selections.
#define YAML_VALUE_PTR(cc, fields_schema)
Schema to be used as a pointer.
#define YAML_FIELD_MAPPING_PTR_OPTIONAL(owner, member, schema)
Mapping pointer to a struct.
API for selections in the piano roll.
Selections to be used for the AudioArrangerWidget's current selections, copying, undoing,...
Selections to be used for the AutomationArrangerWidget's current selections, copying,...
Selections to be used for the ChordArrangerWidget's current selections, copying, undoing,...
A collection of selected MidiNote's.
Selections to be used for the timeline's current selections, copying, undoing, etc.
Selections to be used for the timeline's current selections, copying, undoing, etc.
Selections to be used for the tracklist's current selections, copying, undoing, etc.
Current TimelineArranger selections.