Tracks shall be identified by ther position (index) in the Tracklist.
- 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.
- 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.
- 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.
- 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.
- 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
- ScaleObject** scales
- 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
- 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.
- 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.
- bool frozen
- Whether the track is currently frozen.
- int pool_id
- Pool ID of the clip if track is frozen.
- bool disconnecting
- Whether currently disconnecting.
- Tracklist* tracklist
- Pointer to owner tracklist, if any.
- TracklistSelections* ts
- Pointer to owner tracklist selections, if any.
- WrappedObjectWithChangeSignal* gobj
- Used in Gtk.
Whether record was set automatically when the channel was selected.
This is so that it can be unset when selecting another track. If we don't do this all the tracks end up staying on record mode.
Whether drum mode in the piano roll is enabled for this track.
Only used for tracks that have a piano roll.
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.
Number of tracks inside this track.
Should be 1 unless foldable.
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.
Set to ON during bouncing if this track should be included.
Only relevant for tracks that output audio.
unsigned int* Track::
Name hashes of tracks that are routed to this track, if group track.
This is used when undoing track deletion.