c4d.CTrack

class c4d.CTrack
This is the animation track base class. Contains CCurve that contain CKeys.
A BaseList2D can host a CTrack object.
This can be the position, rotation or custom value track.

These tracks contain a CCurve which contains CKeys.

Methods Signatures

CTrack.__init__(self, bl, id) Allocates a track object.
CTrack.GetDescriptionID(self) Retrieve the description ID of this track.
CTrack.SetDescriptionID(self, object, id) Set the description ID of this track.
CTrack.GetCurve(self[, type, bCreate]) Get a curve of this track.
CTrack.GetTrackCategory(self) Get a curve of this track.
CTrack.GetObject(self) Get the host object of this track.
CTrack.GetBefore(self) Get the pre track loop type of this track.
CTrack.GetAfter(self) Get the pre track loop type of this track.
CTrack.SetBefore(self, type) Set the pre track loop type of this track.
CTrack.SetAfter(self, type) Set the post track loop type of this track.
CTrack.FlushData(self) Clears the data of the track itself, for example removes time curves, pre/post loop type, etc.
CTrack.GetValue(self, doc, time, fps) Retrieve the value of this track at time.
CTrack.Remap(self, time) Remaps time.
CTrack.FillKey(self, doc, bl, key) Fills key with default values.
CTrack.GetHeight(self) Get the height of the track.
CTrack.GetUnit(self) Get the unit and step of the track.
CTrack.GetTLHeight(self, id) Get the height of the mini f-curves in the timeline.
CTrack.SetTLHeight(self, id, size) Get the height of the track.
CTrack.IsSynchronized(self) Checks if keys are synchronized with other Component tracks (Vector Track only).
CTrack.SetSynchronized(self, synch) Sets synchronization between component Track (Vector Track only).
CTrack.GetTimeTrack(self, doc) Returns the time track.
CTrack.SetTimeTrack(self, track) Sets the time track.
CTrack.Draw(self, map, clip_left, ...) Draws the track into a clip map bitmap, if drawing is supported.
CTrack.GetTrackInformation(self, doc, key) Returns the track information at the current time in doc, or at key if specified.
CTrack.SetTrackInformation(self, doc, key, info) Sets the track information at the current time in doc, or at key if specified.

Inheritance

Inheritance

Parent Class:

Methods Documentation

CTrack.__init__(self, bl, id)

Allocates a track object.

Parameters:
  • bl (c4d.BaseList2D) – Object to allocate the track for.
  • id (c4d.DescID) – Description ID to allocate the track for.

For instance a position track will be allocated like this.

tr=c4d.CTrack(op, c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_POSITION, c4d.DTYPE_VECTOR, 0), c4d.DescLevel(c4d.VECTOR_X, c4d.DTYPE_REAL, 0)))

A track of type int will be allocated like this.

tr=c4d.CTrack(op, c4d.DescID(c4d.DescLevel(c4d.ID_BASEOBJECT_VISIBILITY_EDITOR, c4d.DTYPE_LONG, 0, )))

For a plugin and special tracks you pass the ID.

tr=c4d.CTrack(op,c4d.DescLevel(ID, ID, 0))

IDs for Cinema 4D’s special tracks are:

CTpla PLA.
CTsound Sound.
CTmorph Morph.
CTtime Time.
CTrack.GetDescriptionID(self)

Retrieve the description ID of this track.

Return type:c4d.DescID
Returns:The description ID.
CTrack.SetDescriptionID(self, object, id)

Set the description ID of this track.

Parameters:
Return type:

bool

Returns:

True if successful, otherwise False.

CTrack.GetCurve(self, type=CCURVE_CURVE, bCreate=True)

Get a curve of this track.

Parameters:
  • type (c4d.BaseList2D) –

    The curve type:

    CCURVE_CURVE Standard curve.
    CCURVE_HLE_BASE Internal reduced modification reference curve.
    CCURVE_HLE_CURVE Reduced Modification Curve - Curve.
    CCURVE_SS_CURVE Snapshot 1.
    CCURVE_SS_CURVE2 Snapshot 2.
    CCURVE_SS_CURVE3 Snapshot 3.
    CCURVE_SS_CURVE4 Snapshot 4.
    CCURVE_SS_CURVE5 Snapshot 5.
    CCURVE_HLE_SCALE Reduced modification curve - scale.
    CCURVE_HLE_MOVE Reduced modification curve - move.
  • bCreate (bool) – If True a curve is created if none exists.
Return type:

c4d.CCurve

Returns:

The curve of this track.

CTrack.GetTrackCategory(self)

Get a curve of this track.

Return type:int
Returns:Track category:
CTRACK_CATEGORY_VALUE Value track.
CTRACK_CATEGORY_DATA Data track.
CTRACK_CATEGORY_PLUGIN Plugin track.
CTrack.GetObject(self)

Get the host object of this track.

Return type:c4d.BaseList2D
Returns:The host object or None.
CTrack.GetBefore(self)

Get the pre track loop type of this track.

Return type:int
Returns:Loop type:
CLOOP_OFF No loop.
CLOOP_CONSTANT Constant.
CLOOP_CONTINUE Continue.
CLOOP_REPEAT Repeat.
CLOOP_OFFSETREPEAT Offset repeat.
CLOOP_OSCILLATE Oscillate.
CTrack.GetAfter(self)

Get the pre track loop type of this track.

Return type:int
Returns:Loop type:
CLOOP_OFF No loop.
CLOOP_CONSTANT Constant.
CLOOP_CONTINUE Continue.
CLOOP_REPEAT Repeat.
CLOOP_OFFSETREPEAT Offset repeat.
CLOOP_OSCILLATE Oscillate.
CTrack.SetBefore(self, type)

Set the pre track loop type of this track.

Parameters:type (int) –

Loop type:

CLOOP_OFF No loop.
CLOOP_CONSTANT Constant.
CLOOP_CONTINUE Continue.
CLOOP_REPEAT Repeat.
CLOOP_OFFSETREPEAT Offset repeat.
CLOOP_OSCILLATE Oscillate.
CTrack.SetAfter(self, type)

Set the post track loop type of this track.

Parameters:type (int) –

Loop type:

CLOOP_OFF No loop.
CLOOP_CONSTANT Constant.
CLOOP_CONTINUE Continue.
CLOOP_REPEAT Repeat.
CLOOP_OFFSETREPEAT Offset repeat.
CLOOP_OSCILLATE Oscillate.
CTrack.FlushData(self)

Clears the data of the track itself, for example removes time curves, pre/post loop type, etc.

CTrack.GetValue(self, doc, time, fps)

Retrieve the value of this track at time.

Parameters:
Return type:

float

Returns:

The value.

CTrack.Remap(self, time)

Remaps time.

Parameters:time (float) – The input time.
Return type:dict{‘ret_time’: float, ‘ret_cycle’ int}
Returns:The output time and cycle, or None if time could not be remapped.
CTrack.FillKey(self, doc, bl, key)

Fills key with default values.

Parameters:
Return type:

bool

Returns:

True if successful, otherwise False.

CTrack.GetHeight(self)

Get the height of the track.

Return type:int
Returns:The height in pixels.
CTrack.GetUnit(self)

Get the unit and step of the track.

Return type:tuple(int, float)
Returns:The unit and the step. The units:
UNIT_NONE No units.
UNIT_KM Kilometer.
UNIT_M Meter.
UNIT_CM Centimeter.
UNIT_MM Millimeter.
UNIT_UM Micrometer.
UNIT_NM Nanometer.
UNIT_MILE Mile.
UNIT_YARD Yard.
UNIT_FEET Feet.
UNIT_INCH Inch.
CTrack.GetTLHeight(self, id)

Get the height of the mini f-curves in the timeline.

Parameters:id (int) – 0-3 for one of the four timelines.
Return type:int
Returns:The height of the mini f-curve in pixels.
CTrack.SetTLHeight(self, id, size)

Get the height of the track.

Parameters:
  • id (int) – 0-3 for one of the four timelines.
  • size (int) – The new size of the mini f-curve in pixels.
CTrack.IsSynchronized(self)

Checks if keys are synchronized with other Component tracks (Vector Track only).

New in version R18.020.

Return type:bool
Returns:True if track is synchronized, otherwise False.
CTrack.SetSynchronized(self, synch)

Sets synchronization between component Track (Vector Track only).

New in version R18.020.

Parameters:synch (bool) – True if Track needs to be synchronized, otherwise False.
CTrack.GetTimeTrack(self, doc)

Returns the time track.

New in version R19.

Parameters:doc (c4d.documents.BaseDocument) – The document for the operation.
Return type:c4d.CTrack
Returns:The time track.
CTrack.SetTimeTrack(self, track)

Sets the time track.

New in version R19.

Parameters:track (c4d.CTrack) – The time track to set.
CTrack.Draw(self, map, clip_left, clip_right)

Draws the track into a clip map bitmap, if drawing is supported.

New in version R19.

Parameters:
Return type:

bool

Returns:

True if the track was drawn, otherwise False.

CTrack.GetTrackInformation(self, doc, key)

Returns the track information at the current time in doc, or at key if specified.

New in version R19.

Note

The track information string is displayed in tooltips inside the Timeline for instance.

Parameters:
  • doc (c4d.documents.BaseDocument) – The document for the operation.
  • key (c4d.CKey) – Pass a key to retrieve the track information at, otherwise None to retrieve it at the current time.
Return type:

str

Returns:

The information string.

CTrack.SetTrackInformation(self, doc, key, info)

Sets the track information at the current time in doc, or at key if specified.

New in version R19.

Note

The track information string is displayed in tooltips inside the Timeline for instance.

Parameters:
  • doc (c4d.documents.BaseDocument) – The document for the operation.
  • key (c4d.CKey) – Pass a key to set the track information at, otherwise None to set it at the current time.
  • info (str) – The information string to set.
Return type:

bool

Returns:

True if the track information was set, otherwise False.