Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
region_link_group.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2021 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __AUDIO_REGION_LINK_GROUP_H__
11#define __AUDIO_REGION_LINK_GROUP_H__
12
13#include <stdbool.h>
14
16
17typedef struct ZRegion ZRegion;
18
25#define REGION_LINK_GROUP_MAGIC 1222013
26#define IS_REGION_LINK_GROUP(x) \
27 (((RegionLinkGroup *) (x))->magic == REGION_LINK_GROUP_MAGIC)
28
32typedef struct RegionLinkGroup
33{
36 int num_ids;
37 size_t ids_size;
38
39 int magic;
40
44
45NONNULL void
46region_link_group_init_loaded (RegionLinkGroup * self);
47
49region_link_group_new (int idx);
50
51NONNULL void
52region_link_group_add_region (RegionLinkGroup * self, ZRegion * region);
53
61NONNULL void
63 RegionLinkGroup * self,
64 ZRegion * region,
65 bool autoremove_last_region_and_group,
66 bool update_identifier);
67
68NONNULL bool
69region_link_group_contains_region (RegionLinkGroup * self, ZRegion * region);
70
71NONNULL void
72region_link_group_print (RegionLinkGroup * self);
73
80NONNULL void
82
83NONNULL bool
84region_link_group_validate (RegionLinkGroup * self);
85
87region_link_group_clone (const RegionLinkGroup * src);
88
89void
90region_link_group_free (RegionLinkGroup * self);
91
96#endif
NONNULL void region_link_group_update(RegionLinkGroup *self, ZRegion *region)
Updates all other regions in the link group.
NONNULL void region_link_group_remove_region(RegionLinkGroup *self, ZRegion *region, bool autoremove_last_region_and_group, bool update_identifier)
Remove the region from the link group.
Region identifier.
Index/identifier for a Region, so we can get Region objects quickly with it without searching by name...
A group of linked regions.
int group_idx
Group index.
RegionIdentifier * ids
Identifiers for regions in this link group.
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
Definition region.h:72