Transitions

Track-level transitions between clips.

class camtasia.timeline.transitions.Transition(data)[source]

Bases: object

Wraps a single transition dict from the track’s transitions array.

Parameters:

data (dict[str, Any]) – The raw transition dict from the JSON project.

property name: str

Transition type name (e.g. ‘FadeThroughBlack’).

property duration: int

Duration in editRate ticks.

property duration_seconds: float

Duration in seconds.

property left_media_id: int | None

Clip ID on the left side, or None for fade-in at start.

property right_media_id: int | None

Clip ID on the right side, or None for fade-out at end.

property attributes: dict[str, Any]

Raw attributes dict.

property bypassed: bool

Whether the transition is bypassed (disabled).

property color: tuple[float, float, float]

Transition color as (red, green, blue) floats.

class camtasia.timeline.transitions.TransitionList(data)[source]

Bases: object

Wraps the track-level transitions array.

Parameters:

data (dict[str, Any]) – The track dict containing a ‘transitions’ key.

add(name, left_clip_id, right_clip_id, duration_ticks, **attributes)[source]

Add a transition between two clips.

Parameters:
  • name (str) – Transition type name (e.g. ‘FadeThroughBlack’).

  • left_clip_id (int) – ID of the clip on the left.

  • right_clip_id (int | None) – ID of the clip on the right, or None for fade-out.

  • duration_ticks (int) – Duration in editRate ticks.

  • **attributes (Any) – Additional transition attributes.

Return type:

Transition

Returns:

The newly created Transition.

add_fade_through_black(left_clip_id, right_clip_id, duration_ticks)[source]

Add a FadeThroughBlack transition with default attributes.

Parameters:
  • left_clip_id (int) – ID of the clip on the left.

  • right_clip_id (int | None) – ID of the clip on the right, or None for fade-out.

  • duration_ticks (int) – Duration in editRate ticks.

Return type:

Transition

Returns:

The newly created Transition.

add_dissolve(left_clip, right_clip, duration_seconds=0.5)[source]

Add a dissolve (fade) transition between two clips.

Return type:

Transition

add_fade_to_white(left_clip, right_clip, duration_seconds=0.5)[source]

Add a fade-through-white transition.

Warning

The transition name ‘FadeThroughColor’ is not in the JSON schema (built from sample projects) and may not work in all Camtasia versions.

Return type:

Transition

add_slide(left_clip, right_clip, duration_seconds=0.5, *, direction='left')[source]

Add a slide transition.

Parameters:

direction (str) – ‘left’, ‘right’, ‘up’, or ‘down’.

Return type:

Transition

Warning

The ‘up’ and ‘down’ directions use transition names (‘SlideUp’, ‘SlideDown’) not in the JSON schema (built from sample projects) and may not work in all Camtasia versions.

add_wipe(left_clip, right_clip, duration_seconds=0.5, *, direction='left')[source]

Add a wipe transition.

Parameters:

direction (str) – ‘left’, ‘right’, ‘up’, or ‘down’.

Return type:

Transition

Warning

Wipe transition names (‘WipeLeft’, ‘WipeRight’, ‘WipeUp’, ‘WipeDown’) are not in the JSON schema (built from sample projects) and may not work in all Camtasia versions.

add_card_flip(left_clip, right_clip, duration_seconds=0.5)[source]

Add a card-flip transition.

Return type:

Transition

add_glitch(left_clip, right_clip, duration_seconds=0.5)[source]

Add a glitch transition.

Return type:

Transition

add_linear_blur(left_clip, right_clip, duration_seconds=0.5)[source]

Add a linear-blur transition.

Return type:

Transition

add_stretch(left_clip, right_clip, duration_seconds=0.5)[source]

Add a stretch transition.

Return type:

Transition

add_paint_arcs(left_clip, right_clip, duration_seconds=0.5)[source]

Add a paint-arcs transition.

Return type:

Transition

add_spherical_spin(left_clip, right_clip, duration_seconds=0.5)[source]

Add a spherical-spin transition.

Return type:

Transition

remove(index)[source]

Remove a transition by index.

Parameters:

index (int) – Index of the transition to remove.

Raises:

IndexError – If the index is out of range.

Return type:

None

clear()[source]

Remove all transitions.

Return type:

None