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
13#include <stdbool.h>
14
20
21typedef struct ZRegion ZRegion;
23
30#define CLIP_EDITOR (PROJECT->clip_editor)
31
38typedef struct ClipEditor
39{
43
46
47 PianoRoll * piano_roll;
48 AudioClipEditor * audio_clip_editor;
49 AutomationEditor * automation_editor;
50 ChordEditor * chord_editor;
51
55
56 /* --- caches --- */
57 ZRegion * region;
58
59 Track * track;
61
65void
67
71void
73
79
86void
87clip_editor_set_region (ClipEditor * self, ZRegion * region, bool fire_events);
88
89ZRegion *
90clip_editor_get_region (ClipEditor * self);
91
93clip_editor_get_arranger_selections (ClipEditor * self);
94
95#if 0
100ZRegion *
101clip_editor_get_region_for_widgets (
102 ClipEditor * self);
103#endif
104
105Track *
106clip_editor_get_track (ClipEditor * self);
107
111void
113
115clip_editor_clone (const ClipEditor * src);
116
117void
118clip_editor_free (ClipEditor * self);
119
124#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.
ClipEditor * clip_editor_new(void)
Creates a new clip editor.
void clip_editor_set_region(ClipEditor *self, ZRegion *region, bool fire_events)
Sets the track and refreshes the piano roll widgets.
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:39
int region_changed
Flag used by rulers when region first changes.
Definition clip_editor.h:54
bool has_region
Whether region_id is a valid region.
Definition clip_editor.h:45
RegionIdentifier region_id
ZRegion currently attached to the clip editor.
Definition clip_editor.h:42
Piano roll serializable backend.
Definition piano_roll.h:168
Index/identifier for a Region, so we can get Region objects quickly with it without searching by name...
Track to be inserted into the Project's Tracklist.
Definition track.h:186
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
Definition region.h:77