Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
clip_editor.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2021 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_BACKEND_CLIP_EDITOR_H__
11#define __GUI_BACKEND_CLIP_EDITOR_H__
12
18
19typedef struct Region Region;
21
28#define CLIP_EDITOR (PROJECT->clip_editor)
29
36typedef struct ClipEditor
37{
41
44
45 PianoRoll * piano_roll;
46 AudioClipEditor * audio_clip_editor;
47 AutomationEditor * automation_editor;
48 ChordEditor * chord_editor;
49
53
54 /* --- caches --- */
55 Region * region;
56
57 Track * track;
59
63void
65
69void
71
77
84void
85clip_editor_set_region (ClipEditor * self, Region * region, bool fire_events);
86
87Region *
88clip_editor_get_region (ClipEditor * self);
89
91clip_editor_get_arranger_selections (ClipEditor * self);
92
93#if 0
98Region *
99clip_editor_get_region_for_widgets (
100 ClipEditor * self);
101#endif
102
103Track *
104clip_editor_get_track (ClipEditor * self);
105
109void
111
113clip_editor_clone (const ClipEditor * src);
114
115void
116clip_editor_free (ClipEditor * self);
117
122#endif
Audio clip editor backend.
Automation editor backend.
Chord editor backend.
void clip_editor_set_caches(ClipEditor *self)
To be called when recalculating the graph.
void clip_editor_set_region(ClipEditor *self, Region *region, bool fire_events)
Sets the track and refreshes the piano roll widgets.
ClipEditor * clip_editor_new(void)
Creates a new clip editor.
void clip_editor_init_loaded(ClipEditor *self)
Inits the ClipEditor after a Project is loaded.
void clip_editor_init(ClipEditor *self)
Inits the clip editor.
Piano roll backend.
Region identifier.
Audio clip editor serializable backend.
Backend for the automation editor.
Backend for the chord editor.
Clip editor serializable backend.
Definition clip_editor.h:37
int region_changed
Flag used by rulers when region first changes.
Definition clip_editor.h:52
bool has_region
Whether region_id is a valid region.
Definition clip_editor.h:43
RegionIdentifier region_id
Region currently attached to the clip editor.
Definition clip_editor.h:40
Piano roll serializable backend.
Definition piano_roll.h:164
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.
Definition region.h:72
Track to be inserted into the Project's Tracklist.
Definition track.h:177