Timing
Camtasia timing system: tick conversions, rational scalars, and duration formatting.
Camtasia uses an editRate of 705,600,000 ticks per second — chosen to be evenly
divisible by common frame rates (30, 60 fps) and audio sample rates (44100, 48000 Hz).
-
camtasia.timing.EDIT_RATE: int = 705600000
Ticks per second in Camtasia’s timing system.
-
camtasia.timing.seconds_to_ticks(seconds)[source]
Convert seconds to editRate ticks.
- Parameters:
seconds (float) – Duration in seconds.
- Return type:
int
- Returns:
Integer tick count.
-
camtasia.timing.ticks_to_seconds(ticks)[source]
Convert editRate ticks to seconds.
- Parameters:
ticks (int) – Tick count.
- Return type:
float
- Returns:
Duration in seconds.
-
camtasia.timing.format_duration(ticks)[source]
Format a tick duration as ‘M:SS.ff’.
- Parameters:
ticks (int) – Duration in editRate ticks.
- Returns:
15.30’.
- Return type:
str
-
camtasia.timing.parse_scalar(value)[source]
Parse a scalar value from Camtasia JSON into a Fraction.
Camtasia stores speed scalars as integers (1), floats, or string
fractions (‘51/101’).
- Parameters:
value (int | float | str | Fraction) – Scalar as int, float, string fraction, or Fraction.
- Return type:
Fraction
- Returns:
Exact rational representation.
-
camtasia.timing.scalar_to_string(scalar)[source]
Format a scalar Fraction for Camtasia JSON serialization.
- Parameters:
scalar (Fraction) – Rational scalar value.
- Return type:
str | int
- Returns:
Integer 1 if the scalar is exactly 1, otherwise ‘numerator/denominator’.
-
camtasia.timing.speed_to_scalar(speed)[source]
Convert a human-readable speed multiplier to a Camtasia scalar.
A scalar represents timeline_duration / source_duration. Faster playback
(speed > 1) means less timeline per source, so scalar = 1/speed.
- Parameters:
speed (float) – Human speed multiplier (e.g. 2.0 for 2x playback).
- Return type:
Fraction
- Returns:
Rational scalar for Camtasia JSON.
-
camtasia.timing.scalar_to_speed(scalar)[source]
Convert a Camtasia scalar to a human-readable speed multiplier.
- Parameters:
scalar (Fraction) – Rational scalar from Camtasia JSON.
- Return type:
float
- Returns:
Speed multiplier (e.g. 2.0 for 2x playback).