Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
group_target_track.h File Reference

Common logic for tracks that can be group targets. More...

Go to the source code of this file.

Macros

#define TRACK_CAN_BE_GROUP_TARGET(tr)
 

Functions

void group_target_track_init_loaded (Track *self)
 
void group_target_track_init (Track *track)
 
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.
 
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.
 
bool group_target_track_validate (Track *self)
 
void group_target_track_add_children (Track *self, unsigned int *children, int num_children, bool connect, bool recalc_graph, bool pub_events)
 
NONNULL int group_target_track_find_child (Track *self, unsigned int track_name_hash)
 Returns the index of the child matching the given hash.
 

Detailed Description

Common logic for tracks that can be group targets.

Definition in file group_target_track.h.

Macro Definition Documentation

◆ TRACK_CAN_BE_GROUP_TARGET

#define TRACK_CAN_BE_GROUP_TARGET ( tr)
Value:
(IS_TRACK (tr) \
@ TRACK_TYPE_INSTRUMENT
Instrument tracks must have an Instrument plugin at the first slot and they produce audio output.
@ TRACK_TYPE_MASTER
The master track is a special type of group track.
@ TRACK_TYPE_AUDIO_GROUP
Group Tracks are used for grouping audio signals, for example routing multiple drum tracks to a "Drum...
@ TRACK_TYPE_MIDI_GROUP
Same with audio group but for MIDI signals.

Definition at line 15 of file group_target_track.h.

Function Documentation

◆ group_target_track_add_child()

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.

Parameters
connectConnect the child to the group track.

◆ group_target_track_remove_all_children()

void group_target_track_remove_all_children ( Track * self,
bool disconnect,
bool recalc_graph,
bool pub_events )

Remove all known children.

Parameters
disconnectAlso route the children to "None".