Module take

Provide implementation for Take functions.

Info:

  • License: MIT
  • Author: Nomad Monad

ReaWrap Custom Methods

Take:new (take) Create new Take instance.
Take:log (...) Log messages with the Take logger.
Take:__tostring () String representation of the Take instance.

ReaScript Wrapped Methods

Take:count_envelopes () Count Take Envelopes.
Take:create_take_audio_accessor () Create Take Audio Accessor.
Take:delete_marker (idx) Delete Take Marker.
Take:delete_take_stretch_markers (idx, integer) Delete Take Stretch Markers.
Take:get_item () Get Item.
Take:get_peaks (peak_rate, start_time, num_channels, samples_per_channel, want_extra_type, buf) Get Peaks.
Take:get_source () Get Source.
Take:get_track () Get Track.
Take:get_info_value (param_name) Get Info Value.
Take:get_num_markers () Get Num Take Markers.
Take:get_set_info_string (param_name, string_need_big, set_new_value) Get Set Info String.
Take:get_envelope (env_idx) Get Take Envelope by index.
Take:get_envelope_by_name (env_name) Get Take Envelope By Name.
Take:get_marker (idx) Get Take Marker.
Take:get_name () Get Take Name.
Take:get_take_num_stretch_markers () Get Take Num Stretch Markers.
Take:get_take_stretch_marker (idx) Get Take Stretch Marker.
Take:get_take_stretch_marker_slope (idx) Get Take Stretch Marker Slope.
Take:midi_count_evts () Midi Count Evts.
Take:midi_delete_cc (cc_idx) Midi Delete Cc.
Take:midi_delete_evt (evt_idx) Midi Delete Evt.
Take:midi_delete_note (note_idx) Midi Delete Note.
Take:midi_delete_text_sysex_evt (sysxevt_idx) Midi Delete Text Sysex Evt.
Take:midi_disable_sort () Midi Disable Sort.
Take:midi_enum_sel_cc (cc_idx) Midi Enum Sel Cc.
Take:midi_enum_sel_evts (evt_idx) Midi Enum Sel Evts.
Take:midi_enum_sel_notes (note_idx) Midi Enum Sel Notes.
Take:midi_enum_sel_text_sysex_evts (textsyx_idx) Midi Enum Sel Text Sysex Evts.
Take:midi_get_all_evts () Midi Get All Evts.
Take:midi_get_cc (cc_idx) Midi Get Cc.
Take:midi_get_cc_shape (cc_idx) Midi Get Cc Shape.
Take:midi_get_evt (evt_idx) Midi Get Evt.
Take:midi_get_grid () Midi Get Grid.
Take:midi_get_hash (notes_only) Midi Get Hash.
Take:midi_get_note (note_idx) Midi Get Note.
Take:midi_get_ppq_pos_end_of_measure (ppq_pos) Midi Get Ppq Pos End Of Measure.
Take:midi_get_ppq_pos_start_of_measure (ppq_pos) Midi Get Ppq Pos Start Of Measure.
Take:midi_get_ppq_pos_from_proj_qn (projqn) Midi Get Ppq Pos From Proj Qn.
Take:midi_get_ppq_pos_from_proj_time (projtime) Midi Get Ppq Pos From Proj Time.
Take:midi_get_proj_qn_from_ppq_pos (ppq_pos) Midi Get Proj Qn From Ppq Pos.
Take:midi_get_proj_time_from_ppq_pos (ppq_pos) Midi Get Proj Time From Ppq Pos.
Take:midi_get_scale () Midi Get Scale.
Take:midi_get_text_sysex_evt (sysxevt_idx, selected, muted, ppq_pos, type_, msg) Midi Get Text Sysex Evt.
Take:midi_insert_cc (selected, muted, ppq_pos, chan_msg, chan, msg2, msg3) Midi Insert Cc.
Take:midi_insert_evt (selected, muted, ppq_pos, bytestr) Midi Insert Evt.
Take:midi_insert_note (selected, muted, start_ppq, end_ppq, chan, pitch, vel, no_sort) Midi Insert Note.
Take:midi_insert_text_sysex_evt (selected, muted, ppq_pos, type, bytestr) Midi Insert Text Sysex Evt.
Take:midi_refresh_editors () Midi Refresh Editors.
Take:midi_select_all (select) Midi Select All.
Take:midi_set_all_evts (buf) Midi Set All Evts.
Take:midi_set_cc (cc_idx, selected_in, muted_in, ppq_pos_in, chan_msg_in, chan_in, msg2_in, msg3_in, no_sort) Midi Set Cc.
Take:midi_set_cc_shape (cc_idx, shape, bez_tension, no_sort) Midi Set Cc Shape.
Take:midi_set_evt (evt_idx, selected_in, muted, ppq_pos, msg, no_sort) Midi Set Evt.
Take:midi_set_note (note_idx, selected, muted, start_ppq, end_ppq, chan, pitch, velocity, no_sort) Midi Set Note.
Take:midi_set_text_sysex_evt (sysxevt_idx, selected, muted, ppq_pos, type, msg, no_sort) Midi Set Text Sysex Evt.
Take:midi_sort () Midi Sort.
Take:set_active_take () Set Active Take.
Take:set_source (source) Set Source.
Take:set_info_value (param_name, new_value) Set Info Value.
Take:set_marker (idx, name_in, src_pos, color_in) Set Take Marker.
Take:set_take_stretch_marker (idx, pos, src_pos) Set Take Stretch Marker.
Take:set_take_stretch_marker_slope (idx, slope) Set Take Stretch Marker Slope.
Take:delete_fx (fx) Delete Fx.
Take:get_fx_count () Get Fx Count.
Take:take_is_midi () Take Is Midi.
Take:get_guid () Get Guid.
Take:get_media_source_properties () Get Media Source Properties.
Take:get_midi_source_len_ppq () Get Midi Source Len Ppq.
Take:get_midi_take_pool_guid () Get Midi Take Pool Guid.
Take:get_midi_take_tempo_info () Get Midi Take Tempo Info.
Take:is_midi_open_in_inline_editor () Is Midi Open In Inline Editor.
Take:is_take_midi () Is Take Midi.
Take:set_media_source_properties (section, start, length, fade, reverse) Set Media Source Properties.
Take:set_midi_take_tempo_info (ignore_proj_tempo, bpm, num, den) Set Midi Take Tempo Info.
Take:set_take_source_from_file (filename_in, in_project_data) Set Take Source From File.
Take:set_take_source_from_file2 (filename_in, in_project_data, keep_source_properties) Set Take Source From File2.
Take:alloc_midi_take () Alloc Midi Take.
Take:wildcard_parse_take (input) Wildcard Parse Take.
Take:analyze_take_loudness (analyze_true_peak) Analyze Take Loudness.
Take:analyze_take_loudness2 (analyze_true_peak) Analyze Take Loudness2.
Take:analyze_take_loudness_integrated_only () Analyze Take Loudness Integrated Only.
Take:get_set_source_state2 (state, new_value) Get Set Source State2.

Constants

Take.GetInfoValueConstants Constants for Take:get_info_value.
Take.GetSetInfoStringConstants Constants for Take:get_set_info_string.
Take.SetInfoValueConstants Constants for Take:set_info_value.


ReaWrap Custom Methods

Take:new (take)
Create new Take instance.

Parameters:

  • take userdata. The pointer to Reaper MediaItem_Take*

Returns:

    Take table.
Take:log (...)
Log messages with the Take logger.

Parameters:

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

Returns:

    string

ReaScript Wrapped Methods

Take:count_envelopes ()
Count Take Envelopes. Wraps CountTakeEnvelopes.

Returns:

    number

See also:

Take:create_take_audio_accessor ()
Create Take Audio Accessor. Wraps CreateTakeAudioAccessor. Create an audio accessor object for this take. Must only call from the main thread.

Returns:

    table AudioAccessor object
Take:delete_marker (idx)
Delete Take Marker. Wraps DeleteTakeMarker. Delete a take marker. Note that idx will change for all following take markers.

Parameters:

  • idx number

Returns:

    boolean

See also:

Take:delete_take_stretch_markers (idx, integer)
Delete Take Stretch Markers. Wraps DeleteTakeStretchMarkers. Deletes one or more stretch markers. Returns number of stretch markers deleted.

Parameters:

  • idx number
  • integer countIn Optional

Returns:

    number
Take:get_item ()
Get Item. Wraps GetMediaItemTake_Item. Get parent item of media item take

Returns:

    Item table
Take:get_peaks (peak_rate, start_time, num_channels, samples_per_channel, want_extra_type, buf)
Get Peaks. Wraps GetMediaItemTake_Peaks. Gets block of peak samples to buf. Note that the peak samples are interleaved, but in two or three blocks (maximums, then minimums, then extra). Return value has 20 bits of returned sample count, then 4 bits of output_mode (0xf00000), then a bit to signify whether extra_type was available (0x1000000). extra_type can be 115 ('s') for spectral information, which will return peak samples as integers with the low 15 bits frequency, next 14 bits tonality.

Parameters:

  • peak_rate number
  • start_time number
  • num_channels number
  • samples_per_channel number
  • want_extra_type number
  • buf reaper.array

Returns:

    number
Take:get_source ()
Get Source. Wraps GetMediaItemTake_Source. Get media source of media item take

Returns:

    userdata
Take:get_track ()
Get Track. Wraps GetMediaItemTake_Track. Get parent track of media item take

Returns:

    Track table
Take:get_info_value (param_name)
Get Info Value. Wraps GetMediaItemTakeInfo_Value. Get media item take numerical-value attributes.

Parameters:

  • param_name string Take.GetInfoValueConstants

Returns:

    number

See also:

Take:get_num_markers ()
Get Num Take Markers. Wraps GetNumTakeMarkers. Returns number of take markers.

Returns:

    number

See also:

Take:get_set_info_string (param_name, string_need_big, set_new_value)
Get Set Info String. Wraps GetSetMediaItemTakeInfo_String. Gets/sets a take attribute string.

Parameters:

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

Returns:

    string
Take:get_envelope (env_idx)
Get Take Envelope by index. Wraps GetTakeEnvelope.

Parameters:

  • env_idx number

Returns:

    table Envelope object
Take:get_envelope_by_name (env_name)
Get Take Envelope By Name. Wraps GetTakeEnvelopeByName.

Parameters:

  • env_name string

Returns:

    table Envelope object
Take:get_marker (idx)
Get Take Marker. Wraps GetTakeMarker. Get information about a take marker. Returns the position in media item source time, or -1 if the take marker does not exist.

Parameters:

  • idx number

Returns:

  1. string name
  2. number color

See also:

Take:get_name ()
Get Take Name. Wraps GetTakeName. returns NULL if the take is not valid

Returns:

    string
Take:get_take_num_stretch_markers ()
Get Take Num Stretch Markers. Wraps GetTakeNumStretchMarkers. Returns number of stretch markers in take

Returns:

    number
Take:get_take_stretch_marker (idx)
Get Take Stretch Marker. Wraps GetTakeStretchMarker. Gets information on a stretch marker, idx is 0..n. Returns -1 if stretch marker not valid. posOut will be set to position in item, srcposOutOptional will be set to source media position. Returns index. if input index is -1, the following marker is found using position (or source position if position is -1). If position/source position are used to find marker position, their values are not updated.

Parameters:

  • idx number

Returns:

  1. number pos
  2. number srcpos
Take:get_take_stretch_marker_slope (idx)
Get Take Stretch Marker Slope. Wraps GetTakeStretchMarkerSlope.

Parameters:

  • idx number

Returns:

    number

See also:

Take:midi_count_evts ()
Midi Count Evts. Wraps MIDI_CountEvts. Count the number of notes, CC events, and text/sysex events in a given MIDI item.

Returns:

  1. number notecnt
  2. number ccevtcnt
  3. number textsyxevtcnt
Take:midi_delete_cc (cc_idx)
Midi Delete Cc. Wraps MIDI_DeleteCC. Delete a MIDI CC event.

Parameters:

  • cc_idx number

Returns:

    boolean
Take:midi_delete_evt (evt_idx)
Midi Delete Evt. Wraps MIDI_DeleteEvt. Delete a MIDI event.

Parameters:

  • evt_idx number

Returns:

    boolean
Take:midi_delete_note (note_idx)
Midi Delete Note. Wraps MIDI_DeleteNote. Delete a MIDI note.

Parameters:

  • note_idx number

Returns:

    boolean
Take:midi_delete_text_sysex_evt (sysxevt_idx)
Midi Delete Text Sysex Evt. Wraps MIDI_DeleteTextSysexEvt. Delete a MIDI text or sysex event.

Parameters:

  • sysxevt_idx number

Returns:

    boolean
Take:midi_disable_sort ()
Midi Disable Sort. Wraps MIDI_DisableSort. Disable sorting for all MIDI insert, delete, get and set functions, until MIDI_Sort is called.
Take:midi_enum_sel_cc (cc_idx)
Midi Enum Sel Cc. Wraps MIDI_EnumSelCC. Returns the index of the next selected MIDI CC event after ccidx (-1 if there are no more selected events).

Parameters:

  • cc_idx number

Returns:

    number
Take:midi_enum_sel_evts (evt_idx)
Midi Enum Sel Evts. Wraps MIDI_EnumSelEvts. Returns the index of the next selected MIDI event after evtidx (-1 if there are no more selected events).

Parameters:

  • evt_idx number

Returns:

    number
Take:midi_enum_sel_notes (note_idx)
Midi Enum Sel Notes. Wraps MIDI_EnumSelNotes. Returns the index of the next selected MIDI note after noteidx (-1 if there are no more selected events).

Parameters:

  • note_idx number

Returns:

    number
Take:midi_enum_sel_text_sysex_evts (textsyx_idx)
Midi Enum Sel Text Sysex Evts. Wraps MIDI_EnumSelTextSysexEvts. Returns the index of the next selected MIDI text/sysex event after textsyxidx (-1 if there are no more selected events).

Parameters:

  • textsyx_idx number

Returns:

    number
Take:midi_get_all_evts ()
Midi Get All Evts. Wraps MIDI_GetAllEvts. Get all MIDI data. MIDI buffer is returned as a list of { int offset, char flag, int msglen, unsigned char msg[] }. offset: MIDI ticks from previous event flag: &1=selected &2=muted flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier msg: the MIDI message. A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float. For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.

Returns:

    buf string

See also:

Take:midi_get_cc (cc_idx)
Midi Get Cc. Wraps MIDI_GetCC. Get MIDI CC event properties.

Parameters:

  • cc_idx number

Returns:

  1. boolean selected
  2. boolean muted
  3. number ppq_pos
  4. number chan_msg
  5. number chan
  6. number msg2
  7. number msg3
Take:midi_get_cc_shape (cc_idx)
Midi Get Cc Shape. Wraps MIDI_GetCCShape. Get CC shape and bezier tension.

Parameters:

  • cc_idx number

Returns:

  1. number shape
  2. number bez_tension

See also:

Take:midi_get_evt (evt_idx)
Midi Get Evt. Wraps MIDI_GetEvt. Get MIDI event properties.

Parameters:

  • evt_idx number

Returns:

  1. boolean selected
  2. boolean muted
  3. number ppq_pos
  4. string msg
Take:midi_get_grid ()
Midi Get Grid. Wraps MIDI_GetGrid. Returns the most recent MIDI editor grid size for this MIDI take, in QN. Swing is between 0 and 1. Note length is 0 if it follows the grid size.

Returns:

  1. number swing
  2. number noteLen
Take:midi_get_hash (notes_only)
Midi Get Hash. Wraps MIDI_GetHash. 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.

Parameters:

  • notes_only boolean

Returns:

    string
Take:midi_get_note (note_idx)
Midi Get Note. Wraps MIDI_GetNote. Get MIDI note properties.

Parameters:

  • note_idx number

Returns:

  1. boolean selected
  2. boolean muted
  3. number start_ppq
  4. number end_ppq
  5. number chan
  6. number pitch
  7. number vel
Take:midi_get_ppq_pos_end_of_measure (ppq_pos)
Midi Get Ppq Pos End Of Measure. Wraps MIDI_GetPPQPos_EndOfMeasure. Returns the MIDI tick (ppq) position corresponding to the end of the measure.

Parameters:

  • ppq_pos number

Returns:

    number
Take:midi_get_ppq_pos_start_of_measure (ppq_pos)
Midi Get Ppq Pos Start Of Measure. Wraps MIDI_GetPPQPos_StartOfMeasure. Returns the MIDI tick (ppq) position corresponding to the start of the measure.

Parameters:

  • ppq_pos number

Returns:

    number
Take:midi_get_ppq_pos_from_proj_qn (projqn)
Midi Get Ppq Pos From Proj Qn. Wraps MIDI_GetPPQPosFromProjQN. Returns the MIDI tick (ppq) position corresponding to a specific project time in quarter notes.

Parameters:

  • projqn number

Returns:

    number
Take:midi_get_ppq_pos_from_proj_time (projtime)
Midi Get Ppq Pos From Proj Time. Wraps MIDI_GetPPQPosFromProjTime. Returns the MIDI tick (ppq) position corresponding to a specific project time in seconds.

Parameters:

  • projtime number

Returns:

    number
Take:midi_get_proj_qn_from_ppq_pos (ppq_pos)
Midi Get Proj Qn From Ppq Pos. Wraps MIDI_GetProjQNFromPPQPos. Returns the project time in quarter notes corresponding to a specific MIDI tick (ppq) position.

Parameters:

  • ppq_pos number

Returns:

    number
Take:midi_get_proj_time_from_ppq_pos (ppq_pos)
Midi Get Proj Time From Ppq Pos. Wraps MIDI_GetProjTimeFromPPQPos. Returns the project time in seconds corresponding to a specific MIDI tick (ppq) position.

Parameters:

  • ppq_pos number

Returns:

    number
Take:midi_get_scale ()
Midi Get Scale. Wraps MIDI_GetScale. Get the active scale in the media source, if any. root 0=C, 1=C#, etc. scale &0x1=root, &0x2=minor 2nd, &0x4=major 2nd, &0x8=minor 3rd, &0xF=fourth, etc.

Returns:

  1. number root
  2. number scale
  3. string name
Take:midi_get_text_sysex_evt (sysxevt_idx, selected, muted, ppq_pos, type_, msg)
Midi Get Text Sysex Evt. Wraps MIDI_GetTextSysexEvt. Get MIDI meta-event properties. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. For all other meta-messages, type is returned as -2 and msg returned as all zeroes.

Parameters:

  • sysxevt_idx number
  • selected boolean Optional
  • muted boolean Optional
  • ppq_pos number Optional
  • type_ number Optional
  • msg string Optional

Returns:

  1. boolean selected
  2. boolean muted
  3. number ppq_pos
  4. integer type_
  5. string msg

See also:

Take:midi_insert_cc (selected, muted, ppq_pos, chan_msg, chan, msg2, msg3)
Midi Insert Cc. Wraps MIDI_InsertCC. Insert a new MIDI CC event.

Parameters:

  • selected boolean
  • muted boolean
  • ppq_pos number
  • chan_msg number
  • chan number
  • msg2 number
  • msg3 number

Returns:

    boolean
Take:midi_insert_evt (selected, muted, ppq_pos, bytestr)
Midi Insert Evt. Wraps MIDI_InsertEvt. Insert a new MIDI event.

Parameters:

  • selected boolean
  • muted boolean
  • ppq_pos number
  • bytestr string

Returns:

    boolean
Take:midi_insert_note (selected, muted, start_ppq, end_ppq, chan, pitch, vel, no_sort)
Midi Insert Note. Wraps MIDI_InsertNote. Insert a new MIDI note. Set no_sort if inserting multiple events, then call MIDI_Sort when done.

Parameters:

  • selected boolean
  • muted boolean
  • start_ppq number
  • end_ppq number
  • chan number
  • pitch number
  • vel number
  • no_sort boolean Optional

Returns:

    boolean
Take:midi_insert_text_sysex_evt (selected, muted, ppq_pos, type, bytestr)
Midi Insert Text Sysex Evt. Wraps MIDI_InsertTextSysexEvt. Insert a new MIDI text or sysex event. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event.

Parameters:

  • selected boolean
  • muted boolean
  • ppq_pos number
  • type number
  • bytestr string

Returns:

    boolean
Take:midi_refresh_editors ()
Midi Refresh Editors. Wraps MIDI_RefreshEditors. Synchronously updates any open MIDI editors for MIDI take
Take:midi_select_all (select)
Midi Select All. Wraps MIDI_SelectAll. Select or deselect all MIDI content.

Parameters:

  • select boolean
Take:midi_set_all_evts (buf)
Midi Set All Evts. Wraps MIDI_SetAllEvts. Set all MIDI data. MIDI buffer is passed in as a list of { int offset, char flag, int msglen, unsigned char msg[] }. offset: MIDI ticks from previous event flag: &1=selected &2=muted flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier msg: the MIDI message. A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float. For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.

Parameters:

  • buf string

Returns:

    boolean

See also:

Take:midi_set_cc (cc_idx, selected_in, muted_in, ppq_pos_in, chan_msg_in, chan_in, msg2_in, msg3_in, no_sort)
Midi Set Cc. Wraps MIDI_SetCC. Set MIDI CC event properties. Properties passed as NULL will not be set. set no_sort if setting multiple events, then call MIDI_Sort when done.

Parameters:

  • cc_idx number
  • selected_in boolean Optional. Default true
  • muted_in boolean Optional. Default false
  • ppq_pos_in number Optional. Default 0
  • chan_msg_in number Optional. Default 0xB0
  • chan_in number Optional. Default 0
  • msg2_in number Optional. Default 0
  • msg3_in number Optional. Default 0
  • no_sort boolean Optional. Default false

Returns:

    boolean
Take:midi_set_cc_shape (cc_idx, shape, bez_tension, no_sort)
Midi Set Cc Shape. Wraps MIDI_SetCCShape. Set CC shape and bezier tension. set no_sort if setting multiple events, then call MIDI_Sort when done.

Parameters:

  • cc_idx number
  • shape number
  • bez_tension number
  • no_sort boolean Optional. Default false

Returns:

    boolean

See also:

Take:midi_set_evt (evt_idx, selected_in, muted, ppq_pos, msg, no_sort)
Midi Set Evt. Wraps MIDI_SetEvt. Set MIDI event properties. Properties passed as NULL will not be set. set no_sort if setting multiple events, then call MIDI_Sort when done.

Parameters:

  • evt_idx number
  • selected_in boolean Optional. Default true.
  • muted boolean Optional. Default false.
  • ppq_pos number Optional.
  • msg string Optional.
  • no_sort boolean Optional. Default false.

Returns:

    boolean
Take:midi_set_note (note_idx, selected, muted, start_ppq, end_ppq, chan, pitch, velocity, no_sort)
Midi Set Note. Wraps MIDI_SetNote. Set MIDI note properties. Properties passed as NULL (or negative values) will not be set. Set no_sort if setting multiple events, then call MIDI_Sort when done. Setting multiple note start positions at once is done more safely by deleting and re-inserting the notes.

Parameters:

  • note_idx number
  • selected boolean Optional
  • muted boolean Optional
  • start_ppq number Optional
  • end_ppq number Optional
  • chan integer Optional
  • pitch integer Optional
  • velocity integer Optional
  • no_sort boolean Optional

Returns:

    boolean
Take:midi_set_text_sysex_evt (sysxevt_idx, selected, muted, ppq_pos, type, msg, no_sort)
Midi Set Text Sysex Evt. Wraps MIDI_SetTextSysexEvt. Set MIDI text or sysex event properties. Properties passed as NULL will not be set. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. set no_sort if setting multiple events, then call MIDI_Sort when done.

Parameters:

  • sysxevt_idx number
  • selected boolean Optional
  • muted boolean Optional
  • ppq_pos number Optional
  • type integer Optional
  • msg string Optional
  • no_sort boolean Optional

Returns:

    boolean
Take:midi_sort ()
Midi Sort. Wraps MIDI_Sort. Sort MIDI events after multiple calls to MIDI_SetNote, MIDI_SetCC, etc.
Take:set_active_take ()
Set Active Take. Wraps SetActiveTake. set this take active in this media item
Take:set_source (source)
Set Source. Wraps SetMediaItemTake_Source. Set media source of media item take. The old source will not be destroyed, it is the caller's responsibility to retrieve it and destroy it after. If source already exists in any project, it will be duplicated before being set. C/C++ code should not use this and instead use GetSetMediaItemTakeInfo() with P_SOURCE to manage ownership directly.

Parameters:

  • source userdata PCM_source *

Returns:

    boolean
Take:set_info_value (param_name, new_value)
Set Info Value. Wraps SetMediaItemTakeInfo_Value. Set media item take numerical-value attributes.

Parameters:

  • param_name string Take.SetInfoValueConstants
  • new_value number

Returns:

    boolean

See also:

Take:set_marker (idx, name_in, src_pos, color_in)
Set Take Marker. Wraps SetTakeMarker. Inserts or updates a take marker. If idx<0, a take marker will be added, otherwise an existing take marker will be updated. Returns the index of the new or updated take marker (which may change if src_pos is updated).

Parameters:

  • idx number
  • name_in string
  • src_pos number Optional
  • color_in integer Optional

Returns:

    number

See also:

Take:set_take_stretch_marker (idx, pos, src_pos)
Set Take Stretch Marker. Wraps SetTakeStretchMarker. Adds or updates a stretch marker. If idx<0, stretch marker will be added. If idx>=0, stretch marker will be updated. When adding, if src_pos is omitted, source position will be auto-calculated. When updating a stretch marker, if src_pos is omitted, src_pos will not be modified. Position/src_pos values will be constrained to nearby stretch markers. Returns index of stretch marker, or -1 if did not insert (or marker already existed at time).

Parameters:

  • idx number
  • pos number
  • src_pos number Optional

Returns:

    number
Take:set_take_stretch_marker_slope (idx, slope)
Set Take Stretch Marker Slope. Wraps SetTakeStretchMarkerSlope.

Parameters:

  • idx number
  • slope number

Returns:

    boolean

See also:

Take:delete_fx (fx)
Delete Fx. Wraps TakeFX_Delete. Remove a FX from take chain (returns true on success).

Parameters:

  • fx number

Returns:

    boolean
Take:get_fx_count ()
Get Fx Count. Wraps TakeFX_GetCount.

Returns:

    number
Take:take_is_midi ()
Take Is Midi. Wraps TakeIsMIDI. Returns true if the active take contains MIDI.

Returns:

    boolean
Take:get_guid ()
Get Guid. Wraps BR_GetMediaItemTakeGUID. [BR] Get media item take GUID as a string (guidStringOut_sz should be at least 64). To get take from GUID string, see SNM_GetMediaItemTakeByGUID.

Returns:

    string
Take:get_media_source_properties ()
Get Media Source Properties. Wraps BR_GetMediaSourceProperties. [BR] Get take media source properties as they appear in Item properties. Returns false if take can't have them (MIDI items etc.). To set source properties, see BR_SetMediaSourceProperties.

Returns:

  1. boolean section
  2. number start
  3. number length
  4. number fade
  5. boolean reverse
Take:get_midi_source_len_ppq ()
Get Midi Source Len Ppq. Wraps BR_GetMidiSourceLenPPQ. [BR] Get MIDI take source length in PPQ. In case the take isn't MIDI, return value will be -1.

Returns:

    number
Take:get_midi_take_pool_guid ()
Get Midi Take Pool Guid. Wraps BR_GetMidiTakePoolGUID. [BR] Get MIDI take pool GUID as a string (guidStringOut_sz should be at least 64). Returns true if take is pooled.

Returns:

    string
Take:get_midi_take_tempo_info ()
Get Midi Take Tempo Info. Wraps BR_GetMidiTakeTempoInfo. [BR] Get "ignore project tempo" information for MIDI take. Returns true if take can ignore project tempo (no matter if it's actually ignored), otherwise false.

Returns:

  1. boolean ignore_proj_tempo
  2. number bpm
  3. number num
  4. number den
Take:is_midi_open_in_inline_editor ()
Is Midi Open In Inline Editor. Wraps BR_IsMidiOpenInInlineEditor. [SWS] Check if take has MIDI inline editor open and returns true or false.

Returns:

    boolean
Take:is_take_midi ()
Is Take Midi. Wraps BR_IsTakeMidi. [BR] Check if take is MIDI take, in case MIDI take is in-project MIDI source data, inProjectMidiOut will be true, otherwise false.

Returns:

    boolean
Take:set_media_source_properties (section, start, length, fade, reverse)
Set Media Source Properties. Wraps BR_SetMediaSourceProperties. [BR] Set take media source properties. Returns false if take can't have them (MIDI items etc.). Section parameters have to be valid only when passing section=true. To get source properties, see BR_GetMediaSourceProperties.

Parameters:

  • section boolean
  • start number
  • length number
  • fade number
  • reverse boolean

Returns:

    boolean
Take:set_midi_take_tempo_info (ignore_proj_tempo, bpm, num, den)
Set Midi Take Tempo Info. Wraps BR_SetMidiTakeTempoInfo. [BR] Set "ignore project tempo" information for MIDI take. Returns true in case the take was successfully updated.

Parameters:

  • ignore_proj_tempo boolean
  • bpm number
  • num number
  • den number

Returns:

    boolean
Take:set_take_source_from_file (filename_in, in_project_data)
Set Take Source From File. Wraps BR_SetTakeSourceFromFile. [BR] Set new take source from file. To import MIDI file as in-project source data pass inProjectData=true. Returns false if failed. Any take source properties from the previous source will be lost - to preserve them, see BR_SetTakeSourceFromFile2. Note: To set source from existing take, see SNM_GetSetSourceState2.

Parameters:

  • filename_in string
  • in_project_data boolean

Returns:

    boolean
Take:set_take_source_from_file2 (filename_in, in_project_data, keep_source_properties)
Set Take Source From File2. Wraps BR_SetTakeSourceFromFile2. [BR] Differs from BR_SetTakeSourceFromFile only that it can also preserve existing take media source properties.

Parameters:

  • filename_in string
  • in_project_data boolean
  • keep_source_properties boolean

Returns:

    boolean
Take:alloc_midi_take ()
Alloc Midi Take. Wraps FNG_AllocMidiTake. [FNG] Allocate a RprMidiTake from a take pointer. Returns a NULL pointer if the take is not an in-project MIDI take

Returns:

    userdata RprMidiTake
Take:wildcard_parse_take (input)
Wildcard Parse Take. Wraps GU_WildcardParseTake. Returns a string by parsing wildcards relative to the supplied MediaItem_Take

Parameters:

  • input string

Returns:

    string
Take:analyze_take_loudness (analyze_true_peak)
Analyze Take Loudness. Wraps NF_AnalyzeTakeLoudness. Full loudness analysis. retval: returns true on successful analysis, false on MIDI take or when analysis failed for some reason. analyzeTruePeak=true: Also do true peak analysis. Returns true peak value in dBTP and true peak position (relative to item position). Considerably slower than without true peak analysis (since it uses oversampling). Note: Short term uses a time window of 3 sec. for calculation. So for items shorter than this shortTermMaxOut can't be calculated correctly. Momentary uses a time window of 0.4 sec.

Parameters:

  • analyze_true_peak boolean

Returns:

  1. number lufs_integrated
  2. number range
  3. number true_peak
  4. number true_peak_pos
  5. number short_term_max
  6. number momentary_max
Take:analyze_take_loudness2 (analyze_true_peak)
Analyze Take Loudness2. Wraps NF_AnalyzeTakeLoudness2. Same as NF_AnalyzeTakeLoudness but additionally returns shortTermMaxPos and momentaryMaxPos (in absolute project time). Note: shortTermMaxPos and momentaryMaxPos indicate the beginning of time intervals, (3 sec. and 0.4 sec. resp.).

Parameters:

  • analyze_true_peak boolean

Returns:

  1. number lufs_integrated
  2. number true_peak
  3. number true_peak_pos
  4. number short_term_max
  5. number momentary_max
  6. number short_term_max_pos
  7. number momentary_max_pos
Take:analyze_take_loudness_integrated_only ()
Analyze Take Loudness Integrated Only. Wraps NF_AnalyzeTakeLoudness_IntegratedOnly. Does LUFS integrated analysis only. Faster than full loudness analysis (NF_AnalyzeTakeLoudness) . Use this if only LUFS integrated is required. Take vol. env. is taken into account. See: Signal flow.

Returns:

    number
Take:get_set_source_state2 (state, new_value)
Get Set Source State2. Wraps SNM_GetSetSourceState2. [S&M] Gets or sets a take source state. Returns false if failed. Note: this function cannot deal with empty takes, see SNM_GetSetSourceState.

Parameters:

  • state userdata WDL_FastString
  • new_value boolean

Returns:

    boolean

Constants

Take.GetInfoValueConstants
Constants for Take:get_info_value.

Fields:

  • D_STARTOFFS number: start offset in source media, in seconds
  • D_VOL number: take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
  • D_PAN number: take pan, -1..1
  • D_PANLAW number: take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
  • D_PLAYRATE number: take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
  • D_PITCH number: take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
  • B_PPITCH boolean: preserve pitch when changing playback rate
  • I_LASTY number: Y-position (relative to top of track) in pixels (read-only)
  • I_LASTH number: height in pixels (read-only)
  • I_CHANMODE number: channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
  • I_PITCHMODE number: pitch shifter mode, -1=project default, otherwise high 2 bytes=shifter, low 2 bytes=parameter
  • I_STRETCHFLAGS number: int *stretch marker flags (&7 mask for mode override0=default, 1=balanced, 2/3/6=tonal, 4=transient, 5=no pre-echo)
  • F_STRETCHFADESIZE float *: stretch marker fade size in seconds (0.0025 default)
  • I_RECPASSID number: record pass ID
  • I_TAKEFX_NCH number: number of internal audio channels for per-take FX to use (OK to call with setNewValue, but the returned value is read-only)
  • 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
  • IP_TAKENUMBER number: take number (read-only, returns the take number directly)
  • P_TRACK userdata: pointer to MediaTrack (read-only)
  • P_ITEM userdata: pointer to MediaItem (read-only)
  • P_SOURCE userdata: PCM_source *. Note that if setting this, you should first retrieve the old source, set the new, THEN delete the old.
Take.GetSetInfoStringConstants
Constants for Take:get_set_info_string.

Fields:

  • P_NAME string: take name
  • P_EXT xyz: xyzchar *extension-specific persistent data
  • GUID GUID *: 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}.
Take.SetInfoValueConstants
Constants for Take:set_info_value.

Fields:

  • D_STARTOFFS number: start offset in source media, in seconds
  • D_VOL number: take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
  • D_PAN number: take pan, -1..1
  • D_PANLAW number: take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
  • D_PLAYRATE number: take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
  • D_PITCH number: take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
  • B_PPITCH boolean: preserve pitch when changing playback rate
  • I_LASTY number: Y-position (relative to top of track) in pixels (read-only)
  • I_LASTH number: height in pixels (read-only)
  • I_CHANMODE number: channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
  • I_PITCHMODE number: pitch shifter mode, -1=project default, otherwise high 2 bytes=shifter, low 2 bytes=parameter
  • I_STRETCHFLAGS number: int *stretch marker flags (&7 mask for mode override0=default, 1=balanced, 2/3/6=tonal, 4=transient, 5=no pre-echo)
  • F_STRETCHFADESIZE float *: stretch marker fade size in seconds (0.0025 default)
  • I_RECPASSID number: record pass ID
  • I_TAKEFX_NCH number: number of internal audio channels for per-take FX to use (OK to call with setNewValue, but the returned value is read-only)
  • 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
  • IP_TAKENUMBER number: take number (read-only, returns the take number directly)
generated by LDoc 1.5.0 Last updated 2026-01-17 13:27:25