audio/automation_tracklist.h file

Contents

Automation tracklist containing automation points and curves.

Classes

struct AutomationTracklist
Each track has an automation tracklist with automation tracks to be generated at runtime, and filled in with automation points/curves when loading projects.

Typedefs

using AutomationTracklist = struct AutomationTracklist
Each track has an automation tracklist with automation tracks to be generated at runtime, and filled in with automation points/curves when loading projects.

Functions

void automation_tracklist_init_loaded(AutomationTracklist* self)
Inits a loaded AutomationTracklist.
void automation_tracklist_update_frames(AutomationTracklist* self)
Updates the frames of each position in each child of the automation tracklist recursively.
void automation_tracklist_get_visible_tracks(AutomationTracklist* self, AutomationTrack** visible_tracks, int* num_visible)
Gets the currently visible AutomationTrack's (regardless of whether the automation tracklist is visible in the UI or not.
void automation_tracklist_update_track_pos(AutomationTracklist* self, Track* track)
Updates the Track position of the Automatable's and AutomationTrack's.
void automation_tracklist_remove_at(AutomationTracklist* self, AutomationTrack* at, bool free, bool fire_events)
Updates the automation tracks.
void automation_tracklist_remove_channel_ats(AutomationTracklist* self, Channel* ch)
Removes the AutomationTrack's associated with this channel from the AutomationTracklist in the corresponding Track.
void automation_tracklist_clone(AutomationTracklist* src, AutomationTracklist* dest)
Clones the automation tracklist elements from src to dest.
auto automation_tracklist_get_at_from_port(AutomationTracklist* self, Port* port) -> AutomationTrack*
Returns the AutomationTrack corresponding to the given Port.
void automation_tracklist_unselect_all(AutomationTracklist* self)
Unselects all arranger objects.
void automation_tracklist_clear(AutomationTracklist* self)
Removes all objects recursively.
void automation_tracklist_set_at_index(AutomationTracklist* self, AutomationTrack* at, int index, int push_down)
Sets the index of the AutomationTrack and swaps it with the AutomationTrack at that index or pushes the other AutomationTrack's down.
auto automation_tracklist_get_plugin_at(AutomationTracklist* self, PluginSlotType slot_type, const int plugin_slot, const char* label) -> AutomationTrack*
Gets the automation track with the given label.
auto automation_tracklist_get_num_visible(AutomationTracklist* self) -> int
Returns the number of visible AutomationTrack's.

Function documentation

void automation_tracklist_update_track_pos(AutomationTracklist* self, Track* track)

Updates the Track position of the Automatable's and AutomationTrack's.

Parameters
self
track The Track to update to.

void automation_tracklist_remove_at(AutomationTracklist* self, AutomationTrack* at, bool free, bool fire_events)

Updates the automation tracks.

(adds missing)

Builds an automation track for each automatable in the channel and its plugins, unless it already exists. Removes the AutomationTrack from the AutomationTracklist, optionally freeing it.

void automation_tracklist_set_at_index(AutomationTracklist* self, AutomationTrack* at, int index, int push_down)

Sets the index of the AutomationTrack and swaps it with the AutomationTrack at that index or pushes the other AutomationTrack's down.

Parameters
self
at
index
push_down 0 to swap positions with the current AutomationTrack, or 1 to push down all the tracks below.

AutomationTrack* automation_tracklist_get_plugin_at(AutomationTracklist* self, PluginSlotType slot_type, const int plugin_slot, const char* label)

Gets the automation track with the given label.

Only works for plugin port labels and mainly used in tests.