audio/automation_tracklist.h file

Automation tracklist containing automation points and curves.

Contents

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(AutomationTracklist* self, Track* track)
Adds all automation tracks and sets fader as visible.
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)
Finds visible tracks and puts them in given array.
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, int free)
Updates the automation tracks.
void automation_tracklist_clone(AutomationTracklist* src, AutomationTracklist* dest)
Clones the automation tracklist elements from src to dest.
auto automation_tracklist_get_at_from_automatable(AutomationTracklist* self, Automatable* a) -> AutomationTrack*
Returns the AutomationTrack corresponding to the given Automatable.
void automation_tracklist_set_at_index(AutomationTracklist* self, AutomationTrack* at, int index)
Sets the index of the AutomationTrack and swaps it with the AutomationTrack at that index.
auto automation_tracklist_get_first_invisible_at(AutomationTracklist* self) -> AutomationTrack*
Used when the add button is added and a new automation track is requested to be shown.
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, int free)

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.

Updates the automation tracks.

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

Sets the index of the AutomationTrack and swaps it with the AutomationTrack at that index.

TODO implement

AutomationTrack* automation_tracklist_get_first_invisible_at(AutomationTracklist* self)

Used when the add button is added and a new automation track is requested to be shown.

Marks the first invisible automation track as visible, or marks an uncreated one as created if all invisible ones are visible, and returns it.