|
Zrythm
a highly automated and intuitive digital audio workstation
|
Track to be inserted into the Project's Tracklist. More...
#include <dsp/track.h>

Public Member Functions | |
| NONNULL double | track_get_full_visible_height (Track *const self) |
| Returns the full visible height (main height + height of all visible automation tracks + height of all visible lanes). | |
Data Fields | |
| int | pos |
| Position in the Tracklist. | |
| TrackType | type |
| The type of track this is. | |
| char * | name |
| Track name, used in channel too. | |
| unsigned int | name_hash |
| Cache calculated when adding to graph. | |
| char * | icon_name |
| Icon name of the track. | |
| TrackWidget * | widget |
| Track Widget created dynamically. | |
| FolderChannelWidget * | folder_ch_widget |
| Widget used for foldable tracks in the mixer. | |
| bool | automation_visible |
| Flag to set automations visible or not. | |
| bool | lanes_visible |
| Flag to set track lanes visible or not. | |
| bool | visible |
| Whole Track is visible or not. | |
| bool | filtered |
| Track will be hidden if true (temporary and not serializable). | |
| double | main_height |
| Height of the main part (without lanes). | |
| Port * | recording |
| Recording or not. | |
| bool | record_set_automatically |
| Whether record was set automatically when the channel was selected. | |
| bool | enabled |
| Active (enabled) or not. | |
| GdkRGBA | color |
| Track color. | |
| TrackLane ** | lanes |
| Lanes in this track containing Regions. | |
| int | num_lanes |
| size_t | lanes_size |
| TrackLane ** | lane_snapshots |
| Snapshots used during playback. | |
| int | num_lane_snapshots |
| uint8_t | midi_ch |
| MIDI channel (MIDI/Instrument track only). | |
| bool | drum_mode |
| Whether drum mode in the piano roll is enabled for this track. | |
| int | passthrough_midi_input |
| If set to 1, the input received will not be changed to the selected MIDI channel. | |
| Region * | recording_region |
| Region currently recording on. | |
| bool | recording_start_sent |
| This is a flag to let the recording manager know that a START signal was already sent for recording. | |
| bool | recording_stop_sent |
| This is a flag to let the recording manager know that a STOP signal was already sent for recording. | |
| bool | recording_paused |
| This must only be set by the RecordingManager when temporarily pausing recording, eg when looping or leaving the punch range. | |
| int | last_lane_idx |
| Lane index of region before recording paused. | |
| Stretcher * | rt_stretcher |
| Real-time time stretcher. | |
| Region ** | chord_regions |
| ChordObject's. | |
| int | num_chord_regions |
| size_t | chord_regions_size |
| Region ** | chord_region_snapshots |
| Snapshots used during playback. | |
| int | num_chord_region_snapshots |
| ScaleObject ** | scales |
| ScaleObject's. | |
| int | num_scales |
| size_t | scales_size |
| ScaleObject ** | scale_snapshots |
| Snapshots used during playback TODO unimplemented. | |
| int | num_scale_snapshots |
| Marker ** | markers |
| int | num_markers |
| size_t | markers_size |
| Marker ** | marker_snapshots |
| Snapshots used during playback TODO unimplemented. | |
| int | num_marker_snapshots |
| Port * | bpm_port |
| Automatable BPM control. | |
| Port * | beats_per_bar_port |
| Automatable beats per bar port. | |
| Port * | beat_unit_port |
| Automatable beat unit port. | |
| int | size |
| Number of tracks inside this track. | |
| bool | folded |
| Whether currently folded. | |
| Plugin ** | modulators |
| Modulators. | |
| int | num_modulators |
| size_t | modulators_size |
| ModulatorMacroProcessor * | modulator_macros [TRACK_MAX_MODULATOR_MACROS] |
| Modulator macros. | |
| int | num_modulator_macros |
| int | num_visible_modulator_macros |
| Channel * | channel |
| 1 Track has 0 or 1 Channel. | |
| TrackProcessor * | processor |
| The TrackProcessor, used for processing. | |
| AutomationTracklist | automation_tracklist |
| bool | trigger_midi_activity |
| Flag to tell the UI that this channel had MIDI activity. | |
| ZPortType | in_signal_type |
| The input signal type (eg audio bus tracks have audio input signals). | |
| ZPortType | out_signal_type |
| The output signal type (eg midi tracks have MIDI output signals). | |
| char * | comment |
| User comments. | |
| bool | bounce |
| Set to ON during bouncing if this track should be included. | |
| bool | bounce_to_master |
| Whether to temporarily route the output to master (e.g., when bouncing the track on its own without its parents). | |
| unsigned int * | children |
| Name hashes of tracks that are routed to this track, if group track. | |
| int | num_children |
| size_t | children_size |
| bool | frozen |
| Whether the track is currently frozen. | |
| int | pool_id |
| Pool ID of the clip if track is frozen. | |
| int | magic |
| bool | disconnecting |
| Whether currently disconnecting. | |
| Tracklist * | tracklist |
| Pointer to owner tracklist, if any. | |
| TracklistSelections * | ts |
| Pointer to owner tracklist selections, if any. | |
| int | last_lane_created |
| Last lane created during this drag. | |
| bool | block_auto_creation_and_deletion |
| Block auto-creating or deleting lanes. | |
| WrappedObjectWithChangeSignal * | gobj |
| Used in Gtk. | |
Track to be inserted into the Project's Tracklist.
MarkerTrack is just a Track.
This track is for convenience.
Each Track contains a Channel with Plugins.
Tracks shall be identified by their position (index) in the Tracklist.
It contains common variables for tracks that correspond to a channel in the mixer. Should never be instantiated.
| AutomationTracklist Track::automation_tracklist |
| bool Track::automation_visible |
| Port* Track::beats_per_bar_port |
| bool Track::block_auto_creation_and_deletion |
| bool Track::bounce |
| bool Track::bounce_to_master |
| unsigned int* Track::children |
| Region** Track::chord_region_snapshots |
| Region** Track::chord_regions |
ChordObject's.
Note: these must always be sorted by Position.
| GdkRGBA Track::color |
| bool Track::drum_mode |
| bool Track::enabled |
Active (enabled) or not.
Disabled tracks should be ignored in routing. Similar to Plugin.enabled (bypass).
| bool Track::filtered |
| FolderChannelWidget* Track::folder_ch_widget |
| WrappedObjectWithChangeSignal* Track::gobj |
| ZPortType Track::in_signal_type |
| TrackLane** Track::lane_snapshots |
| TrackLane** Track::lanes |
| bool Track::lanes_visible |
| int Track::last_lane_created |
Last lane created during this drag.
This is used to prevent creating infinite lanes when you want to track a region from the last lane to the track below. Only 1 new lane will be created in case the user wants to move the region to a new lane instead of the track below.
Used when moving regions vertically.
| int Track::last_lane_idx |
| double Track::main_height |
| Marker** Track::marker_snapshots |
| uint8_t Track::midi_ch |
| ModulatorMacroProcessor* Track::modulator_macros[TRACK_MAX_MODULATOR_MACROS] |
| unsigned int Track::name_hash |
| ZPortType Track::out_signal_type |
| int Track::passthrough_midi_input |
| int Track::pos |
| TrackProcessor* Track::processor |
The TrackProcessor, used for processing.
This is the starting point when processing a Track.
| bool Track::record_set_automatically |
| bool Track::recording_paused |
This must only be set by the RecordingManager when temporarily pausing recording, eg when looping or leaving the punch range.
| Region* Track::recording_region |
Region currently recording on.
This must only be set by the RecordingManager when processing an event and should not be touched by anything else.
| bool Track::recording_start_sent |
This is a flag to let the recording manager know that a START signal was already sent for recording.
This is because Track::recording_region takes a cycle or 2 to become non-NULL.
| bool Track::recording_stop_sent |
This is a flag to let the recording manager know that a STOP signal was already sent for recording.
This is because Track::recording_region takes a cycle or 2 to become NULL.
| ScaleObject** Track::scale_snapshots |
| ScaleObject** Track::scales |
ScaleObject's.
Note: these must always be sorted by Position.
| int Track::size |
| Tracklist* Track::tracklist |
| bool Track::trigger_midi_activity |
| TracklistSelections* Track::ts |
| TrackWidget* Track::widget |