Module track

Provide implementation for Track functions.

Info:

  • License: MIT
  • Author: Nomad Monad

Tables

Track.GetTrackSendInfoValueConstants Constants for Track:get_track_send_info_value.

ReaWrap Custom Methods

Track:new (track) Create new Track instance.
Track:log (...) Log messages with the Track logger.
Track:__tostring () String representation of the Track instance.
Track:get_items () Get media items in the track.
Track:iter_items () Iterate over media items.
Track:has_items () Whether the track has media items.
Track:get_envelopes () Get envelopes in the track.
Track:iter_envelopes () Iterate over track envelopes.
Track:has_envelopes () Whether the track has envelopes.
Track:get_track_fx (fx_idx) Get TrackFX by index.
Track:get_track_fx_chain () Get all TrackFX in the track
Track:iter_track_fx_chain () Iterate over all TrackFX.
Track:has_track_fx () Whether the track has TrackFX.
Track:find_fx_by_guid (guid) Find a TrackFX by its GUID.

ReaScript Wrapped Methods

Track:add_media_item () Add Media Item To Track.
Track:add_fx_by_name (fx_name, rec_fx, instantiate) Add By Name.
Track:add_tcp_fx_parm (fx_id, prm_id) Add TCP FX Parm.
Track:copy_fx_to_take (src_fx, dest_take, dest_fx, is_move) Copy FX To Take.
Track:copy_fx_to_track (src_fx, dest_track, dest_fx, is_move) Copy FX To Track.
Track:create_new_midi_item_in_proj (start_time, end_time, qn_in) Create New Midi Item In Proj.
Track:count_envelopes () Count Track Envelopes.
Track:count_items () Count Media Items.
Track:create_track_audio_accessor () Create Track Audio Accessor.
Track:create_track_send (dest_track) Create Track Send.
Track:delete_fx (fx) Delete Fx.
Track:delete_item (item) Delete Media Item.
Track:get_fx_envelope (fx_idx, param_idx, create) Get Fx Envelope.
Track:get_info_value (param_name) Get Info Value.
Track:get_parent_track () Get Parent Track.
Track:get_touch_state (is_pan) Get Touch State.
Track:get_set_info_string (param_name, string_need_big, set_new_value) Get Set Info string Wraps GetSetMediaTrackInfo_string Get or set track string attributes.Example: "0.0 1.0 \"\" 0.0 1.0 "{xyz-...}"Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.75"
Track:get_set_track_group_membership (group_name, set_mask, set_value) Get Set Track Group Membership.
Track:get_set_track_group_membership_ex (group_name, offset, set_mask, set_value) Get Set Track Group Membership Ex.
Track:get_set_track_group_membership_high (group_name, set_mask, set_value) Get Set Track Group Membership High.
Track:get_set_track_send_info_string (category, send_idx, string_need_big, set_new_value) Get Set Track Send Info string.
Track:get_automation_mode () Get Track Automation Mode.
Track:get_color () Get Track Color.
Track:get_depth () Get Track Depth.
Track:get_envelope (env_idx) Get Track Envelope.
Track:get_envelope_by_chunk_name (cfgchunkname_or_guid) Get Track Envelope By Chunk Name.
Track:get_envelope_by_name (env_name) Get Track Envelope By Name.
Track:get_guid () Get Track Guid.
Track:get_item (item_idx) Get Track Media Item.
Track:get_track_midi_lyrics (flag) Get Track Midi Lyrics.
Track:get_name () Get Track Name.
Track:get_track_num_media_items () Get Track Num Media Items.
Track:get_track_num_sends (category) Get Track Num Sends.
Track:get_track_receive_name (recv_index) Get Track Receive Name.
Track:get_track_receive_ui_mute (recv_index) Get Track Receive UI Mute.
Track:get_track_receive_ui_vol_pan (recv_index) Get Track Receive UI Vol Pan.
Track:get_track_send_info_value (category, send_idx, param_name) Get Track Send Info Value.
Track:get_track_send_name (send_index) Get Track Send Name.
Track:get_track_send_ui_mute (send_index) Get Track Send UI Mute.
Track:get_track_send_ui_vol_pan (send_index) Get Track Send UI Vol Pan.
Track:get_track_state () Get Track State.
Track:get_track_state_chunk (str, is_undo) Get Track State Chunk.
Track:get_track_ui_mute () Get Track UI Mute.
Track:get_track_ui_pan () Get Track UI Pan.
Track:get_track_ui_vol_pan () Get Track UI Vol Pan.
Track:get_peak_info (channel) Get Peak Info.
Track:get_track_fx_count () Get Fx Count.
Track:get_freeze_count () Get Freeze Count.
Track:get_send_info_envelope (category, send_idx, envelope_type) Get Send Info Envelope.
Track:get_send_info_track (category, send_idx, track_type) Get Send Info Track.
Track:get_set_track_send_info (category, send_idx, param_name, set_new_value, new_value) Get Set Track Send Info.
Track:get_sws_track_notes () Get Sws Track Notes.
Track:is_track_selected () Is Track Selected.
Track:is_track_visible (mixer) Is Track Visible.
Track:mark_track_items_dirty () Mark Track Items Dirty.
Track:midi_get_track_hash (notes_only) Midi Get Track Hash.
Track:midi_editor_flags_for_track (pitchwheel_range, flags, is_set) Midi Editor Flags For Track.
Track:remove_receives_from (src_track) Remove Receives from another track.
Track:remove_track_send (category, send_idx) Remove Track Send.
Track:set_sws_track_notes (str) Set Sws Track Notes.
Track:track_to_id (mcp_view) Track To Id.
Track:set_info_value (param_name, new_value) Set Info Value.
Track:set_mixer_scroll () Set Mixer Scroll.
Track:set_only_track_selected () Set Only Track Selected.
Track:set_track_automation_mode (mode) Set Track Automation Mode.
Track:set_track_color (color) Set Track Color.
Track:set_track_midi_lyrics (flag, str) Set Track Midi Lyrics.
Track:set_track_selected (selected) Set Track Selected.
Track:set_track_send_info_value (category, send_idx, param_name, new_value) Set Track Send Info Value.
Track:set_track_send_ui_pan (send_idx, pan, is_end) Set Track Send UI Pan.
Track:set_track_send_ui_vol (send_idx, vol, is_end) Set Track Send UI Vol.
Track:set_track_state_chunk (str, is_undo) Set Track State Chunk.
Track:set_track_ui_input_monitor (monitor, ign_group_flags) Set Track UI Input Monitor.
Track:set_track_ui_mute (mute, ign_group_flags) Set Track UI Mute.
Track:set_track_ui_pan (pan, relative, done, ign_group_flags) Set Track UI Pan.
Track:set_track_ui_polarity (polarity, ign_group_flags) Set Track UI Polarity.
Track:set_track_ui_rec_arm (rec_arm, ign_group_flags) Set Track UI Rec Arm.
Track:set_track_ui_solo (solo, ign_group_flags) Set Track UI Solo.
Track:set_track_ui_volume (volume, relative, done, ign_group_flags) Set Track UI Volume.
Track:set_track_ui_width (width, relative, done, ign_group_flags) Set Track UI Width.
Track:toggle_track_send_ui_mute (send_idx) Toggle Track Send UI Mute.

Constants

Track.GetInfoValueConstants Constants for Track:get_info_value.
Track.GetSetInfoStringConstants Constants for Track:get_set_info_string
Track.GroupMembershipConstants Constants for Track:get_set_track_group_membership.
Track.SetInfoValueConstants Constants for Track:set_info_value.
Track.SetTrackSendInfoValueConstants Constants for Track:set_track_send_info_value.

Container Methods

Track:create_container (position) Create a new empty container on this track.
Track:add_fx_to_new_container (fx_list) Move a list of FX into a new container.
Track:get_all_fx_flat () Get all FX on this track as a flat list (including nested container children).
Track:iter_all_fx_flat () Iterate over all FX including nested container children.


Tables

Track.GetTrackSendInfoValueConstants
Constants for Track:get_track_send_info_value.

Fields:

  • B_MUTE boolean: true to mute
  • B_PHASE boolean: true to flip phase
  • B_MONO boolean: true to force mono send
  • D_VOL number: 1.0 = +0dB etc
  • D_PAN number: -1..+1
  • D_PANLAW number: 1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc
  • I_SENDMODE number: 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx
  • I_AUTOMODE number: automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
  • I_SRCCHAN number: -1 for no audio send. Low 10 bits specify channel offset, and higher bits specify channel count. (srcchan>>10) == 0 for stereo, 1 for mono, 2 for 4 channel, 3 for 6 channel, etc.
  • I_DSTCHAN number: low 10 bits are destination index, &1024 set to mix to mono.
  • I_MIDIFLAGS number: low 5 bits=source channel 0=all, 1-16, 31=MIDI send disabled, next 5 bits=dest channel, 0=orig, 1-16=chan. &1024 for faders-send MIDI vol/pan. (>>14)&255 = src bus (0 for all, 1 for normal, 2+). (>>22)&255=destination bus (0 for all, 1 for normal, 2+)
  • P_DESTTRACK userdata: destination track, only applies for sends/recvs (read-only)
  • P_SRCTRACK userdata: source track, only applies for sends/recvs (read-only)
  • P_ENV envchunkname: envchunkname TrackEnvelope *call with VOLENV, PANENV, etc appended (read-only)

ReaWrap Custom Methods

Track:new (track)
Create new Track instance.

Parameters:

  • track userdata The pointer to Reaper MediaTrack*

Returns:

    table Track instance
Track:log (...)
Log messages with the Track logger.

Parameters:

  • ... (varargs) Messages to log.
Track:__tostring ()
String representation of the Track instance.

Returns:

    string
Track:get_items ()
Get media items in the track.

Returns:

    table array
Track:iter_items ()
Iterate over media items.

Returns:

    function iterator
Track:has_items ()
Whether the track has media items.

Returns:

    boolean
Track:get_envelopes ()
Get envelopes in the track.

Returns:

    table array
Track:iter_envelopes ()
Iterate over track envelopes.

Returns:

    function iterator
Track:has_envelopes ()
Whether the track has envelopes.

Returns:

    boolean
Track:get_track_fx (fx_idx)
Get TrackFX by index.

Parameters:

  • fx_idx number

Returns:

    table TrackFX
Track:get_track_fx_chain ()
Get all TrackFX in the track

Returns:

    table array
Track:iter_track_fx_chain ()
Iterate over all TrackFX.

Returns:

    function iterator
Track:has_track_fx ()
Whether the track has TrackFX.

Returns:

    boolean
Track:find_fx_by_guid (guid)
Find a TrackFX by its GUID.

Parameters:

  • guid string The GUID to search for

Returns:

    TrackFX|nil

ReaScript Wrapped Methods

Track:add_media_item ()
Add Media Item To Track. Wraps AddMediaItemToTrack. creates a new media item.

Returns:

    table Item object
Track:add_fx_by_name (fx_name, rec_fx, instantiate)
Add By Name. Wraps TrackFX_AddByName. Adds or queries the position of a named FX from the track FX chain (recFX=false) or record input FX/monitoring FX (recFX=true, monitoring FX are on master track). Specify a negative value for instantiate to always create a new effect, 0 to only query the first instance of an effect, or a positive value to add an instance if one is not found. If instantiate is <= -1000, it is used for the insertion position (-1000 is first item in chain, -1001 is second, etc). fx_name can have prefix to specify type: VST3:,VST2:,VST:,AU:,JS:, or DX:, or FXADD: which adds selected items from the currently-open FX browser, FXADD:2 to limit to 2 FX added, or FXADD:2e to only succeed if exactly 2 FX are selected. Returns -1 on failure or the new position in chain on success.

Parameters:

  • fx_name string
  • rec_fx boolean
  • instantiate number

Returns:

    table TrackFX object
Track:add_tcp_fx_parm (fx_id, prm_id)
Add TCP FX Parm. Wraps SNM_AddTCPFXParm. [S&M] Add an FX parameter knob in the TCP. Returns false if nothing updated (invalid parameters, knob already present, etc..)

Parameters:

  • fx_id number
  • prm_id number

Returns:

    boolean
Track:copy_fx_to_take (src_fx, dest_take, dest_fx, is_move)
Copy FX To Take. Wraps TrackFX_CopyToTake. Copies (or moves) FX from src_track to dest_take. src_fx can have 0x1000000 set to reference input FX.

Parameters:

  • src_fx number
  • dest_take table Take object
  • dest_fx number
  • is_move boolean Optional
Track:copy_fx_to_track (src_fx, dest_track, dest_fx, is_move)
Copy FX To Track. Wraps TrackFX_CopyToTrack. Copies (or moves) FX from src_track to dest_track. Can be used with src_track=dest_track to reorder.

Parameters:

  • src_fx number
  • dest_track table Track object
  • dest_fx number
  • is_move boolean Optional
Track:create_new_midi_item_in_proj (start_time, end_time, qn_in)
Create New Midi Item In Proj. Wraps CreateNewMIDIItemInProj. Create a new MIDI media item, containing no MIDI events. Time is in seconds unless qn is set.

Parameters:

  • start_time number
  • end_time number
  • qn_in boolean Optional

Returns:

    table Item object
Track:count_envelopes ()
Count Track Envelopes. Wraps CountTrackEnvelopes. see GetTrackEnvelope

Returns:

    number
Track:count_items ()
Count Media Items. Wraps CountTrackMediaItems. count the number of items in the track

Returns:

    number
Track:create_track_audio_accessor ()
Create Track Audio Accessor. Wraps CreateTrackAudioAccessor. Create an audio accessor object for this track. Must only call from the main thread.

Returns:

    userdata
Track:create_track_send (dest_track)
Create Track Send. Wraps CreateTrackSend. Create a send/receive (dest_track Optional!=NULL), or a hardware output (dest_track Optional==NULL) with default properties, return >=0 on success (== new send/receive index).

Parameters:

  • dest_track table Track object

Returns:

    number

See also:

Track:delete_fx (fx)
Delete Fx. Wraps TrackFX_Delete. Remove FX from track chain (returns true on success).

Parameters:

  • fx number

Returns:

    boolean
Track:delete_item (item)
Delete Media Item. Wraps DeleteTrackMediaItem.

Parameters:

  • item table Item object

Returns:

    boolean
Track:get_fx_envelope (fx_idx, param_idx, create)
Get Fx Envelope. Wraps GetFXEnvelope. Returns the FX parameter envelope. If the envelope does not exist and create=true, the envelope will be created. If the envelope already exists and is bypassed and create=true, then the envelope will be unbypassed.

Parameters:

  • fx_idx number
  • param_idx number
  • create boolean

Returns:

    table Envelope object
Track:get_info_value (param_name)
Get Info Value. Wraps GetMediaTrackInfo_Value. Get track numerical-value attributes.

Parameters:

  • param_name string Track.GetInfoValueConstants

Returns:

    number
Track:get_parent_track ()
Get Parent Track. Wraps GetParentTrack.

Returns:

    table Track object
Track:get_touch_state (is_pan)
Get Touch State. Wraps CSurf_GetTouchState.

Parameters:

  • is_pan number

Returns:

    boolean
Track:get_set_info_string (param_name, string_need_big, set_new_value)
Get Set Info string Wraps GetSetMediaTrackInfo_string Get or set track string attributes.Example: "0.0 1.0 \"\" 0.0 1.0 "{xyz-...}"Example: "0.0 1.0,0.0 1.0 "{xyz-...}",1.0 2.0 "" 0.25 0.75"

Parameters:

  • param_name string Track.GetSetInfoStringConstants
  • string_need_big string
  • set_new_value boolean

Returns:

    string_need_big string

See also:

Track:get_set_track_group_membership (group_name, set_mask, set_value)
Get Set Track Group Membership. Wraps GetSetTrackGroupMembership. Gets or modifies the group membership for a track. Returns group state prior to call (each bit represents one of the 32 group numbers). if set_mask has bits set, those bits in set_value will be applied to group.

Parameters:

  • group_name string Track.GroupMembershipConstants.
  • set_mask number
  • set_value number

Returns:

    number

See also:

Track:get_set_track_group_membership_ex (group_name, offset, set_mask, set_value)
Get Set Track Group Membership Ex. Wraps GetSetTrackGroupMembershipEx. Gets or modifies 32 bits (at offset, where 0 is the low 32 bits of the grouping) of the group membership for a track. Returns group state prior to call. if set_mask has bits set, those bits in set_value will be applied to group.

Parameters:

  • group_name string Track.GroupMembershipConstants.
  • offset number
  • set_mask number
  • set_value number

Returns:

    number

See also:

Track:get_set_track_group_membership_high (group_name, set_mask, set_value)
Get Set Track Group Membership High. Wraps GetSetTrackGroupMembershipHigh. Gets or modifies the group membership for a track. Returns group state prior to call (each bit represents one of the high 32 group numbers). if set_mask has bits set, those bits in set_value will be applied to group.

Parameters:

  • group_name string Track.GroupMembershipConstants
  • set_mask number
  • set_value number

Returns:

    number

See also:

Track:get_set_track_send_info_string (category, send_idx, string_need_big, set_new_value)
Get Set Track Send Info string. Wraps GetSetTrackSendInfo_string Gets/sets a send attribute string

Parameters:

  • category number
  • send_idx number
  • string_need_big string
  • set_new_value boolean

Returns:

    string
Track:get_automation_mode ()
Get Track Automation Mode. Wraps GetTrackAutomationMode. return the track mode, regardless of global override

Returns:

    number
Track:get_color ()
Get Track Color. Wraps GetTrackColor. Returns the track custom color as OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). Black is returned as 0x1000000, no color setting is returned as 0.

Returns:

    number
Track:get_depth ()
Get Track Depth. Wraps GetTrackDepth.

Returns:

    number
Track:get_envelope (env_idx)
Get Track Envelope. Wraps GetTrackEnvelope.

Parameters:

  • env_idx number

Returns:

    table Envelope object
Track:get_envelope_by_chunk_name (cfgchunkname_or_guid)
Get Track Envelope By Chunk Name. Wraps GetTrackEnvelopeByChunkName. Gets a built-in track envelope by configuration chunk name, like "Parameters:
  • cfgchunkname_or_guid string

Returns:

    table Envelope object
Track:get_envelope_by_name (env_name)
Get Track Envelope By Name. Wraps GetTrackEnvelopeByName.

Parameters:

  • env_name string

Returns:

    table Envelope object
Track:get_guid ()
Get Track Guid. Wraps GetTrackGUID.

Returns:

    string
Track:get_item (item_idx)
Get Track Media Item. Wraps GetTrackMediaItem.

Parameters:

  • item_idx number

Returns:

    table Item object
Track:get_track_midi_lyrics (flag)
Get Track Midi Lyrics. Wraps GetTrackMIDILyrics. Get all MIDI lyrics on the track. Lyrics will be returned as one string with tabs between each word. flag&1: double tabs at the end of each measure and triple tabs when skipping measures, flag&2: each lyric is preceded by its beat position in the project (example with flag=2: "1.1.2\tLyric for measure 1 beat 2\t2.1.1\tLyric for measure 2 beat 1").

Parameters:

  • flag number

Returns:

    string

See also:

Track:get_name ()
Get Track Name. Wraps GetTrackName. Returns "MASTER" for master track, "Track N" if track has no name.

Returns:

    string
Track:get_track_num_media_items ()
Get Track Num Media Items. Wraps GetTrackNumMediaItems.

Returns:

    number
Track:get_track_num_sends (category)
Get Track Num Sends. Wraps GetTrackNumSends. returns number of sends/receives/hardware outputs - category is <0 for receives, 0=sends, >0 for hardware outputs

Parameters:

  • category number

Returns:

    number
Track:get_track_receive_name (recv_index)
Get Track Receive Name. Wraps GetTrackReceiveName.

Parameters:

  • recv_index number

Returns:

    string

See also:

Track:get_track_receive_ui_mute (recv_index)
Get Track Receive UI Mute. Wraps GetTrackReceiveUIMute.

Parameters:

  • recv_index number

Returns:

    boolean

See also:

Track:get_track_receive_ui_vol_pan (recv_index)
Get Track Receive UI Vol Pan. Wraps GetTrackReceiveUIVolPan.

Parameters:

  • recv_index number

Returns:

  1. number volume
  2. number pan

See also:

Track:get_track_send_info_value (category, send_idx, param_name)
Get Track Send Info Value. Wraps GetTrackSendInfo_Value. Get send/receive/hardware output numerical-value attributes.category is <0 for receives, 0=sends, >0 for hardware outputs parameter.

Parameters:

  • category number
  • send_idx number
  • param_name string Track.GetTrackSendInfoValueConstants

Returns:

    number

See also:

Track:get_track_send_name (send_index)
Get Track Send Name. Wraps GetTrackSendName. send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends.

Parameters:

  • send_index number

Returns:

    string

See also:

Track:get_track_send_ui_mute (send_index)
Get Track Send UI Mute. Wraps GetTrackSendUIMute. send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends.

Parameters:

  • send_index number

Returns:

    boolean

See also:

Track:get_track_send_ui_vol_pan (send_index)
Get Track Send UI Vol Pan. Wraps GetTrackSendUIVolPan. send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends.

Parameters:

  • send_index number

Returns:

  1. volume number
  2. pan number

See also:

Track:get_track_state ()
Get Track State. Wraps GetTrackState. Gets track state, returns track name. flags will be set to: &1=folder &2=selected &4=has fx enabled &8=muted &16=soloed &32=SIP'd (with &16) &64=rec armed &128=rec monitoring on &256=rec monitoring auto &512=hide from TCP &1024=hide from MCP

Returns:

    flags number
Track:get_track_state_chunk (str, is_undo)
Get Track State Chunk. Wraps GetTrackStateChunk. Gets the RPPXML state of a track, returns true if successful. Undo flag is a performance/caching hint.

Parameters:

  • str string
  • is_undo boolean

Returns:

    str string
Track:get_track_ui_mute ()
Get Track UI Mute. Wraps GetTrackUIMute.

Returns:

    mute boolean
Track:get_track_ui_pan ()
Get Track UI Pan. Wraps GetTrackUIPan.

Returns:

  1. pan1 number
  2. pan2 number
  3. pan_mode number
Track:get_track_ui_vol_pan ()
Get Track UI Vol Pan. Wraps GetTrackUIVolPan.

Returns:

  1. volume number
  2. pan number
Track:get_peak_info (channel)
Get Peak Info. Wraps Track_GetPeakInfo. Returns peak meter value (1.0=+0dB, 0.0=-inf) for channel. If channel==1024 or channel==1025, returns loudness values if this is the master track or this track's VU meters are set to display loudness.

Parameters:

  • channel number

Returns:

    number
Track:get_track_fx_count ()
Get Fx Count. Wraps TrackFX_GetCount.

Returns:

    number
Track:get_freeze_count ()
Get Freeze Count. Wraps BR_GetMediaTrackFreezeCount. [BR] Get media track freeze count (if track isn't frozen at all, returns 0).

Returns:

    number
Track:get_send_info_envelope (category, send_idx, envelope_type)
Get Send Info Envelope. Wraps BR_GetMediaTrackSendInfo_Envelope. [BR] Get track envelope for send/receive/hardware output.

Parameters:

  • category number
  • send_idx number
  • envelope_type number

Returns:

    Envelope table
Track:get_send_info_track (category, send_idx, track_type)
Get Send Info Track. Wraps BR_GetMediaTrackSendInfo_Track. [BR] Get source or destination media track for send/receive.

Parameters:

  • category number
  • send_idx number
  • track_type number

Returns:

    Track table
Track:get_set_track_send_info (category, send_idx, param_name, set_new_value, new_value)
Get Set Track Send Info. Wraps BR_GetSetTrackSendInfo. [BR] Get or set send attributes.

Parameters:

  • category number
  • send_idx number
  • param_name string
  • set_new_value boolean
  • new_value number

Returns:

    number
Track:get_sws_track_notes ()
Get Sws Track Notes. Wraps NF_GetSWSTrackNotes.

Returns:

    string
Track:is_track_selected ()
Is Track Selected. Wraps IsTrackSelected.

Returns:

    boolean
Track:is_track_visible (mixer)
Is Track Visible. Wraps IsTrackVisible. If mixer==true, returns true if the track is visible in the mixer. If mixer==false, returns true if the track is visible in the track control panel.

Parameters:

  • mixer boolean

Returns:

    boolean
Track:mark_track_items_dirty ()
Mark Track Items Dirty. Wraps MarkTrackItemsDirty. If track is supplied, item is ignored
Track:midi_get_track_hash (notes_only)
Midi Get Track Hash. Wraps MIDI_GetTrackHash. Get a string that only changes when the MIDI data changes. If notes_only==true, then the string changes only when the MIDI notes change. See MIDI_GetHash

Parameters:

  • notes_only boolean

Returns:

    hash string
Track:midi_editor_flags_for_track (pitchwheel_range, flags, is_set)
Midi Editor Flags For Track. Wraps MIDIEditorFlagsForTrack. Get or set MIDI editor settings for this track. pitchwheel_range: semitones up or down. flags &1: snap pitch lane edits to semitones if pitchwheel range is defined.

Parameters:

  • pitchwheel_range number
  • flags number
  • is_set boolean

Returns:

  1. number pitchwheel_range
  2. number flags
Track:remove_receives_from (src_track)
Remove Receives from another track. Wraps SNM_RemoveReceivesFrom. [S&M] Removes all receives from src_track. Returns false if nothing updated.

Parameters:

  • src_track table Track object

Returns:

    boolean
Track:remove_track_send (category, send_idx)
Remove Track Send. Wraps RemoveTrackSend. Remove a send/receive/hardware output, return true on success. category is <0 for receives, 0=sends, >0 for hardware outputs.

Parameters:

  • category number
  • send_idx number

Returns:

    boolean

See also:

Track:set_sws_track_notes (str)
Set Sws Track Notes. Wraps NF_SetSWSTrackNotes.

Parameters:

  • str string
Track:track_to_id (mcp_view)
Track To Id. Wraps CSurf_TrackToID.

Parameters:

  • mcp_view boolean

Returns:

    number
Track:set_info_value (param_name, new_value)
Set Info Value. Wraps SetMediaTrackInfo_Value. Set track numerical-value attributes.

Parameters:

  • param_name string Track.SetInfoValueConstants
  • new_value number

Returns:

    boolean

See also:

Track:set_mixer_scroll ()
Set Mixer Scroll. Wraps SetMixerScroll. Scroll the mixer so that leftmost track is the leftmost visible track. Returns the leftmost track after scrolling, which may be different from the passed-in track if there are not enough tracks to its right.

Returns:

    table Track object
Track:set_only_track_selected ()
Set Only Track Selected. Wraps SetOnlyTrackSelected. Set exactly one track selected, deselect all others
Track:set_track_automation_mode (mode)
Set Track Automation Mode. Wraps SetTrackAutomationMode.

Parameters:

  • mode number
Track:set_track_color (color)
Set Track Color. Wraps SetTrackColor. Set the custom track color, color is OS dependent (i.e. ColorToNative(r,g,b). To unset the track color, see SetMediaTrackInfo_Value I_CUSTOMCOLOR

Parameters:

  • color number
Track:set_track_midi_lyrics (flag, str)
Set Track Midi Lyrics. Wraps SetTrackMIDILyrics. Set all MIDI lyrics on the track. Lyrics will be stuffed into any MIDI items found in range. Flag is unused at present. str is passed in as beat position, tab, text, tab (example with flag=2: "1.1.2\tLyric for measure 1 beat 2\t2.1.1\tLyric for measure 2 beat 1").

Parameters:

  • flag number
  • str string

Returns:

    boolean

See also:

Track:set_track_selected (selected)
Set Track Selected. Wraps SetTrackSelected.

Parameters:

  • selected boolean
Track:set_track_send_info_value (category, send_idx, param_name, new_value)
Set Track Send Info Value. Wraps SetTrackSendInfo_Value. Set send/receive/hardware output numerical-value attributes, return true on success.category is <0 for receives, 0=sends, >0 for hardware outputs parameter names.

Parameters:

  • category number
  • send_idx number
  • param_name string Track.SetTrackSendInfoValueConstants
  • new_value number

Returns:

    boolean

See also:

Track:set_track_send_ui_pan (send_idx, pan, is_end)
Set Track Send UI Pan. Wraps SetTrackSendUIPan. send_idx<0 for receives, >=0 for hw outputs, >=nb_of_hw_outputs for sends. isend=1 for end of edit, -1 for an instant edit (such as reset), 0 for normal tweak.

Parameters:

  • send_idx number
  • pan number
  • is_end number

Returns:

    boolean
Track:set_track_send_ui_vol (send_idx, vol, is_end)
Set Track Send UI Vol. Wraps SetTrackSendUIVol. send_idx<0 for receives, >=0 for hw outputs, >=nb_of_hw_outputs for sends. isend=1 for end of edit, -1 for an instant edit (such as reset), 0 for normal tweak.

Parameters:

  • send_idx number
  • vol number
  • is_end number

Returns:

    boolean
Track:set_track_state_chunk (str, is_undo)
Set Track State Chunk. Wraps SetTrackStateChunk. Sets the RPPXML state of a track, returns true if successful. Undo flag is a performance/caching hint.

Parameters:

  • str string
  • is_undo boolean

Returns:

    boolean
Track:set_track_ui_input_monitor (monitor, ign_group_flags)
Set Track UI Input Monitor. Wraps SetTrackUIInputMonitor. monitor: 0=no monitoring, 1=monitoring, 2=auto-monitoring. returns new value or -1 if error. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging.

Parameters:

  • monitor number
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_mute (mute, ign_group_flags)
Set Track UI Mute. Wraps SetTrackUIMute. mute: <0 toggles, >0 sets mute, 0=unsets mute. returns new value or -1 if error. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging.Constants

Parameters:

  • mute number
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_pan (pan, relative, done, ign_group_flags)
Set Track UI Pan. Wraps SetTrackUIPan. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • pan number
  • relative boolean
  • done boolean
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_polarity (polarity, ign_group_flags)
Set Track UI Polarity. Wraps SetTrackUIPolarity. polarity (AKA phase): <0 toggles, 0=normal, >0=inverted. returns new value or -1 if error.ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • polarity number
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_rec_arm (rec_arm, ign_group_flags)
Set Track UI Rec Arm. Wraps SetTrackUIrec_arm. rec_arm: <0 toggles, >0 sets rec_arm, 0=unsets rec_arm. returns new value or -1 if error. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • rec_arm number
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_solo (solo, ign_group_flags)
Set Track UI Solo. Wraps SetTrackUISolo. solo: <0 toggles, 1 sets solo (default mode), 0=unsets solo, 2 sets solo (non- SIP), 4 sets solo (SIP). returns new value or -1 if error. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • solo number
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_volume (volume, relative, done, ign_group_flags)
Set Track UI Volume. Wraps SetTrackUIVolume. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • volume number
  • relative boolean
  • done boolean
  • ign_group_flags number

Returns:

    number
Track:set_track_ui_width (width, relative, done, ign_group_flags)
Set Track UI Width. Wraps SetTrackUIWidth. ign_group_flags: &1 to prevent track grouping, &2 to prevent selection ganging

Parameters:

  • width number
  • relative boolean
  • done boolean
  • ign_group_flags number

Returns:

    number
Track:toggle_track_send_ui_mute (send_idx)
Toggle Track Send UI Mute. Wraps ToggleTrackSendUIMute. send_idx<0 for receives, >=0 for hw outputs, >=nb_of_hw_outputs for sends.

Parameters:

  • send_idx number

Returns:

    boolean

Constants

Track.GetInfoValueConstants
Constants for Track:get_info_value.

Fields:

  • B_MUTE boolean: muted
  • B_PHASE boolean: track phase inverted
  • B_RECMON_IN_EFFECT boolean: record monitoring in effect (current audio-thread playback state, read-only)
  • IP_TRACKNUMBER number: track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
  • I_SOLO number: soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
  • B_SOLO_DEFEAT boolean: when set, if anything else is soloed and this track is not muted, this track acts soloed
  • I_FXEN number: fx enabled, 0=bypassed, !0=fx active
  • I_rec_arm number: record armed, 0=not record armed, 1=record armed
  • I_RECINPUT number: record input, <0=no input. if 4096 set, input is MIDI and low 5 bits represent channel (0=all, 1-16=only chan), next 6 bits represent physical input (63=all, 62=VKB). If 4096 is not set, low 10 bits (0..1023) are input start channel (ReaRoute/Loopback start at 512). If 2048 is set, input is multichannel input (using track channel count), or if 1024 is set, input is stereo input, otherwise input is mono.
  • I_RECMODE number: record mode, 0=input, 1=stereo out, 2=none, 3=stereo out w/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
  • I_RECMODE_FLAGS number: record mode flags, &3=output recording mode (0=post fader, 1=pre-fx, 2=post-fx/pre-fader)
  • I_RECMON number: record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
  • I_RECMONITEMS number: monitor items while recording, 0=off, 1=on
  • B_AUTO_rec_arm boolean: automatically set record arm when selected (does not immediately affect rec_arm state, script should set directly if desired)
  • I_VUMODE number: int *track vu mode, &1disabled, &30==0stereo peaks, &30==2multichannel peaks, &30==4stereo RMS, &30==8combined RMS, &30==12LUFS-M, &30==16LUFS-S (readout=max), &30==20LUFS-S (readout=current), &32LUFS calculation on channels 1+2 only
  • I_AUTOMODE number: track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch
  • I_NCHAN number: number of track channels, 2-128, even numbers only
  • I_SELECTED number: track selected, 0=unselected, 1=selected
  • I_WNDH number: current TCP window height in pixels including envelopes (read-only)
  • I_TCPH number: current TCP window height in pixels not including envelopes (read-only)
  • I_TCPY number: current TCP window Y-position in pixels relative to top of arrange view (read-only)
  • I_MCPX number: current MCP X-position in pixels relative to mixer container (read-only)
  • I_MCPY number: current MCP Y-position in pixels relative to mixer container (read-only)
  • I_MCPW number: current MCP width in pixels (read-only)
  • I_MCPH number: current MCP height in pixels (read-only)
  • I_FOLDERDEPTH number: folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
  • I_FOLDERCOMPACT number: folder collapsed state (only valid on folders), 0=normal, 1=collapsed, 2=fully collapsed
  • I_MIDIHWOUT number: track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
  • I_MIDI_INPUT_CHANMAP number: -1 maps to source channel, otherwise 1-16 to map to MIDI channel
  • I_MIDI_CTL_CHAN number: -1 no link, 0-15 link to MIDI volume/pan on channel, 16 link to MIDI volume/pan on all channels
  • I_MIDI_TRACKSEL_FLAG number: int *MIDI editor track list options&1=expand media items, &2=exclude from list, &4=auto-pruned
  • I_PERFFLAGS number: track performance flags, &1=no media buffering, &2=no anticipative FX
  • I_CUSTOMCOLOR number: custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color
  • I_HEIGHTOVERRIDE number: custom height override for TCP window, 0 for none, otherwise size in pixels
  • I_SPACER number: int *1=TCP track spacer above this trackB_HEIGHTLOCKbool *track height lock (must set I_HEIGHTOVERRIDE before locking)
  • D_VOL number: trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
  • D_PAN number: trim pan of track, -1..1
  • D_WIDTH number: width of track, -1..1
  • D_DUALPANL number: dualpan position 1, -1..1, only if I_pan_mode==6
  • D_DUALPANR number: dualpan position 2, -1..1, only if I_pan_mode==6
  • I_pan_mode number: pan mode, 0=classic 3.x, 3=new balance, 5=stereo pan, 6=dual pan
  • D_PANLAW number: pan law of track, <0=project default, 0.5=-6dB, 0.707..=-3dB, 1=+0dB, 1.414..=-3dB with gain compensation, 2=-6dB with gain compensation, etc
  • I_PANLAW_FLAGS number: pan law flags, 0=sine taper, 1=hybrid taper with deprecated behavior when gain compensation enabled, 2=linear taper, 3=hybrid taper
  • P_ENV
  • B_SHOWINMIXER boolean: track control panel visible in mixer (do not use on master track)
  • B_SHOWINTCP boolean: track control panel visible in arrange view (do not use on master track)
  • B_MAINSEND boolean: track sends audio to parent
  • C_MAINSEND_OFFS string: channel offset of track send to parent
  • C_MAINSEND_NCH string: channel count of track send to parent (0=use all child track channels, 1=use one channel only)
  • I_FREEMODE number: 1=track free item positioning enabled, 2=track fixed lanes enabled (call UpdateTimeline() after changing)
  • I_NUMFIXEDLANES number: number of track fixed lanes (fine to call with setnew_value, but returned value is read-only)
  • C_LANESCOLLAPSED string: fixed lane collapse state (1=lanes collapsed, 2=track displays as non-fixed-lanes but hidden lanes exist)
  • C_LANESETTINGS string: fixed lane settings (&1=auto-remove empty lanes at bottom, &2=do not auto-comp new recording, &4=newly recorded lanes play exclusively (else add lanes in layers), &8=big lanes (else small lanes), &16=add new recording at bottom (else record into first available lane), &32=hide lane buttons
  • C_LANEPLAYS N: Nchar *on fixed lane tracks, 0=lane N does not play, 1=lane N plays exclusively, 2=lane N plays and other lanes also play (fine to call with setnew_value, but returned value is read-only)
  • C_ALLLANESPLAY string: on fixed lane tracks, 0=no lanes play, 1=all lanes play, 2=some lanes play (fine to call with setnew_value 0 or 1, but returned value is read-only)
  • C_BEATATTACHMODE string: track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
  • F_MCP_FXSEND_SCALE float *: scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
  • F_MCP_FXPARM_SCALE float *: scale of fx parameter area in MCP (0=minimum allowed, 1=maximum allowed)
  • F_MCP_SENDRGN_SCALE float *: scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
  • F_TCP_FXPARM_SCALE float *: scale of TCP parameter area when TCP FX are embedded (0=min allowed, default, 1=max allowed)
  • I_PLAY_OFFSET_FLAG number: track media playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
  • D_PLAY_OFFSET number: track media playback offset, units depend on I_PLAY_OFFSET_FLAG
  • P_PARTRACK userdata: parent track (read-only)
  • P_PROJECT userdata: parent project (read-only)
Track.GetSetInfoStringConstants
Constants for Track:get_set_info_string

Fields:

  • P_NAME string: track name (on master returns NULL)
  • P_ICON const char *: track icon (full filename, or relative to resource_path/data/track_icons)
  • P_LANENAME n: nchar *lane name (returns NULL for non-fixed-lane-tracks)
  • P_MCP_LAYOUT const char *: layout name
  • P_RAZOREDITS const char *: list of razor edit areas, as space-separated triples of start time, end time, and envelope GUID string
  • P_RAZOREDITS_EXT const char *: const char *list of razor edit areas, as comma-separated sets of space-separated tuples of start time, end time, optionalenvelope GUID string, fixed/fipm top y-position, fixed/fipm bottom y-position.
  • P_TCP_LAYOUT const char *: layout name
  • P_EXT xyz: xyzchar *extension-specific persistent data
  • P_UI_RECT tcp.mute: tcp.mutechar *read-only, allows querying screen position + size of track WALTER elements (tcp.size queries screen position and size of entire TCP, etc).
  • GUID GUID *: 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}.
Track.GroupMembershipConstants
Constants for Track:get_set_track_group_membership.

Fields:

  • MEDIA_EDIT_LEAD string: media edit grouping, lead
  • MEDIA_EDIT_FOLLOW string: media edit grouping, follow
  • VOLUME_LEAD string: volume grouping, lead
  • VOLUME_FOLLOW string: volume grouping, follow
  • VOLUME_VCA_LEAD string: VCA grouping, lead
  • VOLUME_VCA_FOLLOW string: VCA grouping, follow
  • PAN_LEAD string: pan grouping, lead
  • PAN_FOLLOW string: pan grouping, follow
  • WIDTH_LEAD string: width grouping, lead
  • WIDTH_FOLLOW string: width grouping, follow
  • MUTE_LEAD string: mute grouping, lead
  • MUTE_FOLLOW string: mute grouping, follow
  • SOLO_LEAD string: solo grouping, lead
  • SOLO_FOLLOW string: solo grouping, follow
  • rec_arm_LEAD string: record arm grouping, lead
  • rec_arm_FOLLOW string: record arm grouping, follow
  • POLARITY_LEAD string: polarity grouping, lead
  • POLARITY_FOLLOW string: polarity grouping, follow
  • AUTOMODE_LEAD string: automation mode grouping, lead
  • AUTOMODE_FOLLOW string: automation mode grouping, follow
  • VOLUME_REVERSE string: volume reverse grouping
  • PAN_REVERSE string: pan reverse grouping
  • WIDTH_REVERSE string: width reverse grouping
  • NO_LEAD_WHEN_FOLLOW string: no lead when follow
  • VOLUME_VCA_FOLLOW_ISPREFX string: VCA follow is pre-fx
Track.SetInfoValueConstants
Constants for Track:set_info_value.

Fields:

  • B_MUTE boolean: muted
  • B_PHASE boolean: track phase inverted
  • B_RECMON_IN_EFFECT boolean: record monitoring in effect (current audio-thread playback state, read-only)
  • IP_TRACKNUMBER number: track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
  • I_SOLO number: soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
  • B_SOLO_DEFEAT boolean: when set, if anything else is soloed and this track is not muted, this track acts soloed
  • I_FXEN number: fx enabled, 0=bypassed, !0=fx active
  • I_rec_arm number: record armed, 0=not record armed, 1=record armed
  • I_RECINPUT number: record input, <0=no input. if 4096 set, input is MIDI and low 5 bits represent channel (0=all, 1-16=only chan), next 6 bits represent physical input (63=all, 62=VKB). If 4096 is not set, low 10 bits (0..1023) are input start channel (ReaRoute/Loopback start at 512). If 2048 is set, input is multichannel input (using track channel count), or if 1024 is set, input is stereo input, otherwise input is mono.
  • I_RECMODE number: record mode, 0=input, 1=stereo out, 2=none, 3=stereo out w/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
  • I_RECMODE_FLAGS number: record mode flags, &3=output recording mode (0=post fader, 1=pre-fx, 2=post-fx/pre-fader)
  • I_RECMON number: record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
  • I_RECMONITEMS number: monitor items while recording, 0=off, 1=on
  • B_AUTO_rec_arm boolean: automatically set record arm when selected (does not immediately affect rec_arm state, script should set directly if desired)
  • I_VUMODE number: int *track vu mode, &1disabled, &30==0stereo peaks, &30==2multichannel peaks, &30==4stereo RMS, &30==8combined RMS, &30==12LUFS-M, &30==16LUFS-S (readout=max), &30==20LUFS-S (readout=current), &32LUFS calculation on channels 1+2 only
  • I_AUTOMODE number: track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch
  • I_NCHAN number: number of track channels, 2-128, even numbers only
  • I_SELECTED number: track selected, 0=unselected, 1=selected
  • I_WNDH number: current TCP window height in pixels including envelopes (read-only)
  • I_TCPH number: current TCP window height in pixels not including envelopes (read-only)
  • I_TCPY number: current TCP window Y-position in pixels relative to top of arrange view (read-only)
  • I_MCPX number: current MCP X-position in pixels relative to mixer container (read-only)
  • I_MCPY number: current MCP Y-position in pixels relative to mixer container (read-only)
  • I_MCPW number: current MCP width in pixels (read-only)
  • I_MCPH number: current MCP height in pixels (read-only)
  • I_FOLDERDEPTH number: folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
  • I_FOLDERCOMPACT number: folder collapsed state (only valid on folders), 0=normal, 1=collapsed, 2=fully collapsed
  • I_MIDIHWOUT number: track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
  • I_MIDI_INPUT_CHANMAP number: -1 maps to source channel, otherwise 1-16 to map to MIDI channel
  • I_MIDI_CTL_CHAN number: -1 no link, 0-15 link to MIDI volume/pan on channel, 16 link to MIDI volume/pan on all channels
  • I_MIDI_TRACKSEL_FLAG number: int *MIDI editor track list options&1=expand media items, &2=exclude from list, &4=auto-pruned
  • I_PERFFLAGS number: track performance flags, &1=no media buffering, &2=no anticipative FX
  • I_CUSTOMCOLOR number: custom color, OS dependent color|0x1000000 (i.e. ColorToNative(r,g,b)|0x1000000). If you do not |0x1000000, then it will not be used, but will store the color
  • I_HEIGHTOVERRIDE number: custom height override for TCP window, 0 for none, otherwise size in pixels
  • I_SPACER number: int *1=TCP track spacer above this trackB_HEIGHTLOCKbool *track height lock (must set I_HEIGHTOVERRIDE before locking)
  • D_VOL number: trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
  • D_PAN number: trim pan of track, -1..1
  • D_WIDTH number: width of track, -1..1
  • D_DUALPANL number: dualpan position 1, -1..1, only if I_pan_mode==6
  • D_DUALPANR number: dualpan position 2, -1..1, only if I_pan_mode==6
  • I_pan_mode number: pan mode, 0=classic 3.x, 3=new balance, 5=stereo pan, 6=dual pan
  • D_PANLAW number: pan law of track, <0=project default, 0.5=-6dB, 0.707..=-3dB, 1=+0dB, 1.414..=-3dB with gain compensation, 2=-6dB with gain compensation, etc
  • I_PANLAW_FLAGS number: pan law flags, 0=sine taper, 1=hybrid taper with deprecated behavior when gain compensation enabled, 2=linear taper, 3=hybrid taper
  • P_ENV
  • B_SHOWINMIXER boolean: track control panel visible in mixer (do not use on master track)
  • B_SHOWINTCP boolean: track control panel visible in arrange view (do not use on master track)
  • B_MAINSEND boolean: track sends audio to parent
  • C_MAINSEND_OFFS string: channel offset of track send to parent
  • C_MAINSEND_NCH string: channel count of track send to parent (0=use all child track channels, 1=use one channel only)
  • I_FREEMODE number: 1=track free item positioning enabled, 2=track fixed lanes enabled (call UpdateTimeline() after changing)
  • I_NUMFIXEDLANES number: number of track fixed lanes (fine to call with setnew_value, but returned value is read-only)
  • C_LANESCOLLAPSED string: fixed lane collapse state (1=lanes collapsed, 2=track displays as non-fixed-lanes but hidden lanes exist)
  • C_LANESETTINGS string: fixed lane settings (&1=auto-remove empty lanes at bottom, &2=do not auto-comp new recording, &4=newly recorded lanes play exclusively (else add lanes in layers), &8=big lanes (else small lanes), &16=add new recording at bottom (else record into first available lane), &32=hide lane buttons
  • C_LANEPLAYS N: Nchar *on fixed lane tracks, 0=lane N does not play, 1=lane N plays exclusively, 2=lane N plays and other lanes also play (fine to call with setnew_value, but returned value is read-only)
  • C_ALLLANESPLAY string: on fixed lane tracks, 0=no lanes play, 1=all lanes play, 2=some lanes play (fine to call with setnew_value 0 or 1, but returned value is read-only)
  • C_BEATATTACHMODE string: track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
  • F_MCP_FXSEND_SCALE float *: scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
  • F_MCP_FXPARM_SCALE float *: scale of fx parameter area in MCP (0=minimum allowed, 1=maximum allowed)
  • F_MCP_SENDRGN_SCALE float *: scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
  • F_TCP_FXPARM_SCALE float *: scale of TCP parameter area when TCP FX are embedded (0=min allowed, default, 1=max allowed)
  • I_PLAY_OFFSET_FLAG number: track media playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
  • D_PLAY_OFFSET number: track media playback offset, units depend on I_PLAY_OFFSET_FLAG
Track.SetTrackSendInfoValueConstants
Constants for Track:set_track_send_info_value.

Fields:

  • B_MUTE boolean: true to mute
  • B_PHASE boolean: true to flip phase
  • B_MONO boolean: true for mono send
  • D_VOL number: 1.0 = +0dB etc
  • D_PAN number: -1..+1
  • D_PANLAW number: 1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc
  • I_SENDMODE number: 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx
  • I_AUTOMODE number: automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
  • I_SRCCHAN number: -1 for no audio send. Low 10 bits specify channel offset, and higher bits specify channel count. (srcchan>>10) == 0 for stereo, 1 for mono, 2 for 4 channel, 3 for 6 channel, etc.
  • I_DSTCHAN number: low 10 bits are destination index, &1024 set to mix to mono.
  • I_MIDIFLAGS number: low 5 bits=source channel 0=all, 1-16, 31=MIDI send disabled, next 5 bits=dest channel, 0=orig, 1-16=chan. &1024 for faders-send MIDI vol/pan. (>>14)&255 = src bus (0 for all, 1 for normal, 2+). (>>22)&255=destination bus (0 for all, 1 for normal, 2+)

Container Methods

Track:create_container (position)
Create a new empty container on this track.

Parameters:

  • position number|nil Insert position in FX chain (nil = end)

Returns:

    TrackFX|nil Container FX object, or nil on failure
Track:add_fx_to_new_container (fx_list)
Move a list of FX into a new container. Creates a container at the position of the lowest-indexed FX and moves all specified FX into it. Uses GUIDs internally to handle index shifting.

Parameters:

  • fx_list table Array of TrackFX objects to move into the container

Returns:

    TrackFX|nil Container FX object, or nil on failure
Track:get_all_fx_flat ()
Get all FX on this track as a flat list (including nested container children).

Returns:

    table Array of {fx: TrackFX, depth: number, is_container: boolean}
Track:iter_all_fx_flat ()
Iterate over all FX including nested container children.

Returns:

    function Iterator yielding {fx: TrackFX, depth: number, is_container: boolean}
generated by LDoc 1.5.0 Last updated 2026-01-17 13:27:25