Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
clipboard.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_BACKEND_CLIPBOARD_H__
11#define __GUI_BACKEND_CLIPBOARD_H__
12
20#include "utils/yaml.h"
21
22#include <gtk/gtk.h>
23
31typedef enum ClipboardType
32{
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,
41
42#if 0
43static const char * clipboard_type_strings[] = {
44 "Timeline selections",
45 "MIDI selections",
46 "Automation selections",
47 "Chord selections",
48 "Audio selections",
49 "Mixer selections",
50 "Tracklist selections",
51};
52#endif
53
57typedef struct Clipboard
58{
59 ClipboardType type;
60 TimelineSelections * timeline_sel;
62 ChordSelections * chord_sel;
63 AutomationSelections * automation_sel;
64 AudioSelections * audio_sel;
65 MixerSelections * mixer_sel;
66 TracklistSelections * tracklist_sel;
67} Clipboard;
68
75
77clipboard_new_for_mixer_selections (MixerSelections * sel, bool clone);
78
80clipboard_new_for_tracklist_selections (TracklistSelections * sel, bool clone);
81
88
92void
94
99#endif
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.
Definition clipboard.h:32
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.
Tracklist selections.
API for selections in the piano roll.
Mixer selections.
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,...
Clipboard struct.
Definition clipboard.h:58
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.
YAML utils.