Track struct
#include <audio/track.h>
Track to be inserted into the Project's Tracklist.
Contents
- Reference
Each Track contains a Channel with Plugins.
Tracks shall be identified by ther position (index) in the Tracklist.
Public variables
- int pos
- Position in the Tracklist.
- TrackType type
- Used to remember the position before pinned, so it can be moved back there when unpinned.
- char* name
- Track name, used in channel too.
- char* icon_name
- Icon name of the track.
- TrackWidget* widget
- Track Widget created dynamically.
- bool automation_visible
- Whether pinned or not.
- bool lanes_visible
- Flag to set track lanes visible or not.
- bool visible
- Whole Track is visible or not.
- double main_height
- Height of the main part (without lanes).
- bool recording
- Recording or not.
- bool active
- Active (enabled) or not.
- GdkRGBA color
- Track color.
- TrackLane** lanes
- Lanes in this track containing Regions.
- uint8_t midi_ch
- MIDI channel (MIDI/Instrument track only).
- int passthrough_midi_input
- If set to 1, the input received will not be changed to the selected MIDI channel.
- ZRegion* recording_region
- ZRegion 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.
- ZRegion** chord_regions
- ChordObject's.
- ScaleObject** scales
- ScaleObject's.
- Port* bpm_port
- Automatable BPM control.
- Port* time_sig_port
- Automatable time sig control.
- Plugin** modulators
- Modulators.
- ModulatorMacroProcessor* modulator_macros
- Modulator macros.
- Channel* channel
- 1 Track has 0 or 1 Channel.
- TrackProcessor* processor
- The TrackProcessor, used for processing.
- bool trigger_midi_activity
- Flag to tell the UI that this channel had MIDI activity.
- PortType in_signal_type
- The input signal type (eg audio bus tracks have audio input signals).
- PortType out_signal_type
- The output signal type (eg midi tracks have MIDI output singals).
- char* comment
- User comments.
- bool bounce
- Set to ON during bouncing if this track should be included.
- int* children
- Tracks that are routed to this track, if group track.
- bool frozen
- Whether the track is currently frozen.
- int pool_id
- Pool ID of the clip if track is frozen.
- bool is_project
- Whether this is a project track (as opposed to a clone used in actions).
Variable documentation
bool Track:: automation_visible
Whether pinned or not.
Pinned tracks should keep their original pos saved so they can get unpinned. When iterating through unpinned tracks, can just check this variable. Flag to set automations visible or not.
bool Track:: active
Active (enabled) or not.
Disabled tracks should be ignored in routing.
TODO explain what functionality this provides.
int Track:: passthrough_midi_input
If set to 1, the input received will not be changed to the selected MIDI channel.
If this is 0, all input received will have its channel changed to the selected MIDI channel.
ZRegion* Track:: recording_region
ZRegion 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::
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::
bool Track:: recording_paused
This must only be set by the RecordingManager when temporarily pausing recording, eg when looping or leaving the punch range.
TrackProcessor* Track:: processor
The TrackProcessor, used for processing.
This is the starting point when processing a Track.
bool Track:: trigger_midi_activity
Flag to tell the UI that this channel had MIDI activity.
When processing this and setting it to 0, the UI should create a separate event using EVENTS_PUSH.
bool Track:: bounce
Set to ON during bouncing if this track should be included.
Only relevant for tracks that output audio.
int* Track:: children
Tracks that are routed to this track, if group track.
This is used when undoing track deletion.