Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
group_target_track.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2020-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __AUDIO_GROUP_TARGET_TRACK_H__
11#define __AUDIO_GROUP_TARGET_TRACK_H__
12
13typedef struct Track Track;
14
15#define TRACK_CAN_BE_GROUP_TARGET(tr) \
16 (IS_TRACK (tr) \
17 && (tr->type == TrackType::TRACK_TYPE_AUDIO_GROUP || tr->type == TrackType::TRACK_TYPE_MIDI_GROUP || tr->type == TrackType::TRACK_TYPE_INSTRUMENT || tr->type == TrackType::TRACK_TYPE_MASTER))
18
19void
20group_target_track_init_loaded (Track * self);
21
22void
23group_target_track_init (Track * track);
24
28void
30 Track * self,
31 unsigned int child_name_hash,
32 bool disconnect,
33 bool recalc_graph,
34 bool pub_events);
35
41void
43 Track * self,
44 bool disconnect,
45 bool recalc_graph,
46 bool pub_events);
47
53void
55 Track * self,
56 unsigned int child_name_hash,
57 bool connect,
58 bool recalc_graph,
59 bool pub_events);
60
61bool
62group_target_track_validate (Track * self);
63
64void
65group_target_track_add_children (
66 Track * self,
67 unsigned int * children,
68 int num_children,
69 bool connect,
70 bool recalc_graph,
71 bool pub_events);
72
77NONNULL int
78group_target_track_find_child (Track * self, unsigned int track_name_hash);
79
80#endif /* __AUDIO_GROUP_TARGET_TRACK_H__ */
void group_target_track_remove_child(Track *self, unsigned int child_name_hash, bool disconnect, bool recalc_graph, bool pub_events)
Removes a child track from the list of children.
void group_target_track_remove_all_children(Track *self, bool disconnect, bool recalc_graph, bool pub_events)
Remove all known children.
NONNULL int group_target_track_find_child(Track *self, unsigned int track_name_hash)
Returns the index of the child matching the given hash.
void group_target_track_add_child(Track *self, unsigned int child_name_hash, bool connect, bool recalc_graph, bool pub_events)
Adds a child track to the list of children.
Track to be inserted into the Project's Tracklist.
Definition track.h:177
unsigned int * children
Name hashes of tracks that are routed to this track, if group track.
Definition track.h:481