PitchControlCurve

PitchControlCurve

A pitch control curve that overrides the generated pitch over a time range within a NoteGroup.

Pitch control curves represent continuous pitch modifications defined by multiple time-pitch pairs. They have an anchor position (relative to the note group), an anchor pitch value (in semitones relative to the note group), and a collection of time-pitch pairs shifted by the curve's anchor position and pitch values.

The anchor position/value is not seen in the GUI but kept for implementation convenience. It's typically set to the center position taken from the bounding box for all the points inside.

(supported since 2.1.0)

Extends

Methods

clone() → {PitchControlCurve}

A deep copy of the current object.

Returns:
Type
PitchControlCurve

getIndexInParent() → {number}

Inherited From:

Get index of the current object in its parent. In Lua, this index starts from 1. In JavaScript, this index starts from 0.

Returns:
Type
number

getParent() → {NestedObject|undefined}

Inherited From:

Get the parent NestedObject. Return undefined if the current object is not attached to a parent.

Returns:
Type
NestedObject | undefined

getPitch() → {number}

Get the anchor pitch value of this pitch control curve in semitones relative to the pitch offset of the note group.

Returns:

pitch in semitones

Type
number

getPoints() → {Array.<Array.<number>>}

Get all control points of this pitch control curve.

Returns an array of [time, value] pairs where time is in blicks relative to the curve's anchor position and value is the pitch offset from the anchor position in semitones.

Returns:

array of [time, value] pairs

Type
Array.<Array.<number>>

getPosition() → {number}

Get the anchor position of this pitch control curve relative to the time offset of the note group (in blicks).

Returns:

position in blicks

Type
number

getValueAt(time) → {number}

Get the interpolated pitch value at a specific time position.

Returns the pitch offset in semitones at the given time, interpolated from the curve's control points.

Parameters:
Name Type Description
time number

time in blicks relative to the curve's position

Returns:

pitch offset in semitones

Type
number

isMemoryManaged() → {boolean}

Inherited From:

Check whether or not the current object is memory managed (i.e. garbage collected by the script environment).

Returns:
Type
boolean

setPitch(pitch)

Set the anchor pitch value of this pitch control curve.

Parameters:
Name Type Description
pitch number

pitch in semitones

setPoints(points)

Set all control points of this pitch control curve.

Each point should be an array of [time, value] where time is in blicks relative to the curve's anchor position and value is the pitch offset from the anchor position in semitones.

Parameters:
Name Type Description
points Array.<Array.<number>>

array of [time, value] pairs

setPosition(position)

Set the anchor position of this pitch control curve.

Parameters:
Name Type Description
position number

position in blicks