Types

Strong types for the pycamtasia library.

class camtasia.types.ClipType(*values)[source]

Bases: str, Enum

Camtasia clip types.

AUDIO = 'AMFile'
VIDEO = 'VMFile'
IMAGE = 'IMFile'
SCREEN_VIDEO = 'ScreenVMFile'
SCREEN_IMAGE = 'ScreenIMFile'
CALLOUT = 'Callout'
GROUP = 'Group'
UNIFIED_MEDIA = 'UnifiedMedia'
STITCHED_MEDIA = 'StitchedMedia'
PLACEHOLDER = 'PlaceholderMedia'
class camtasia.types.EffectName(*values)[source]

Bases: str, Enum

Known Camtasia effect names.

DROP_SHADOW = 'DropShadow'
ROUND_CORNERS = 'RoundCorners'
GLOW = 'Glow'
MOTION_BLUR = 'MotionBlur'
MASK = 'Mask'
COLOR_ADJUSTMENT = 'ColorAdjustment'
SPOTLIGHT = 'Spotlight'
LUT_EFFECT = 'LutEffect'
EMPHASIZE = 'Emphasize'
MEDIA_MATTE = 'MediaMatte'
BLEND_MODE = 'BlendModeEffect'
SOURCE_EFFECT = 'SourceEffect'
CURSOR_MOTION_BLUR = 'CursorMotionBlur'
CURSOR_SHADOW = 'CursorShadow'
CURSOR_PHYSICS = 'CursorPhysics'
LEFT_CLICK_SCALING = 'LeftClickScaling'
VST_NOISE_REMOVAL = 'VSTEffect-DFN3NoiseRemoval'
class camtasia.types.TransitionType(*values)[source]

Bases: str, Enum

Known Camtasia transition types.

CARD_FLIP = 'CardFlip'
FADE = 'Fade'
FADE_THROUGH_BLACK = 'FadeThroughBlack'
GLITCH3 = 'Glitch3'
LINEAR_BLUR = 'LinearBlur'
PAINT_ARCS = 'PaintArcs'
SLIDE_LEFT = 'SlideLeft'
SLIDE_RIGHT = 'SlideRight'
SPHERICAL_SPIN = 'SphericalSpin'
STRETCH = 'Stretch'
class camtasia.types.BehaviorPreset(*values)[source]

Bases: str, Enum

Known behavior animation presets.

REVEAL = 'reveal'
SLIDING = 'sliding'
FADE = 'fade'
FLY_IN = 'flyIn'
POP_UP = 'popUp'
PULSATING = 'pulsating'
SHIFTING = 'shifting'
class camtasia.types.BehaviorInnerName(*values)[source]

Bases: str, Enum

Inner animation names used in GenericBehaviorEffect in/center/out phases.

FADE_IN = 'fadeIn'
REVEAL = 'reveal'
SLIDING = 'sliding'
FLY_IN = 'flyIn'
GROW = 'grow'
HINGE = 'hinge'
FADE_OUT = 'fadeOut'
FLY_OUT = 'flyOut'
SHRINK = 'shrink'
SHIFTING = 'shifting'
NONE = 'none'
TREMBLE = 'tremble'
PULSATE = 'pulsate'
class camtasia.types.BlendMode(*values)[source]

Bases: IntEnum

Blend mode values for BlendModeEffect.

NORMAL = 16
MULTIPLY = 3
class camtasia.types.ValidationLevel(*values)[source]

Bases: str, Enum

Validation issue severity levels.

ERROR = 'error'
WARNING = 'warning'
class camtasia.types.MediaType(*values)[source]

Bases: IntEnum

Media source types (matches existing MediaType in media_bin).

Video = 0
Image = 1
Audio = 2
class camtasia.types.MaskShape(*values)[source]

Bases: IntEnum

Mask shape values.

RECTANGLE = 0
ELLIPSE = 1
class camtasia.types.CalloutShape(*values)[source]

Bases: str, Enum

Callout annotation shapes (verified against 93 TechSmith samples).

EMPTY = ''
TEXT = 'text'
TEXT_RECTANGLE = 'text-rectangle'
TEXT_ARROW2 = 'text-arrow2'
ARROW = 'arrow'
SHAPE_RECTANGLE = 'shape-rectangle'
SHAPE_ELLIPSE = 'shape-ellipse'
SHAPE_TRIANGLE = 'shape-triangle'
class camtasia.types.CalloutKind(*values)[source]

Bases: str, Enum

Callout kind identifiers.

REMIX = 'remix'
WIN_BLUR = 'TypeWinBlur'
class camtasia.types.InterpolationType(*values)[source]

Bases: str, Enum

Keyframe interpolation types.

LINEAR = 'linr'
EASE_IN_OUT = 'eioe'
SPRING = 'sprg'
BOUNCE = 'bnce'
class camtasia.types.TrackType(*values)[source]

Bases: str, Enum

Track content types (for future use).

AUDIO = 'audio'
VIDEO = 'video'
ANNOTATION = 'annotation'
MIXED = 'mixed'
class camtasia.types.DropShadowParams[source]

Bases: TypedDict

Parameters for DropShadow effect.

angle: float
offset: float
blur: float
opacity: float
class camtasia.types.RoundCornersParams[source]

Bases: TypedDict

Parameters for RoundCorners effect.

radius: float
class camtasia.types.ColorAdjustmentParams[source]

Bases: TypedDict

Parameters for ColorAdjustment effect.

brightness: float
contrast: float
saturation: float
channel: int
shadowRampStart: float
shadowRampEnd: float
highlightRampStart: float
highlightRampEnd: float
class camtasia.types.EffectDict[source]

Bases: TypedDict

Structure of an effect entry in the effects array.

effectName: str
bypassed: bool
category: NotRequired[str]
parameters: NotRequired[dict]
class camtasia.types.TransitionDict[source]

Bases: TypedDict

Structure of a transition entry.

name: str
duration: int
leftMedia: NotRequired[int]
rightMedia: NotRequired[int]
attributes: NotRequired[dict]
class camtasia.types.ClipSummary[source]

Bases: TypedDict

Summary dict returned by BaseClip.to_dict().

id: int
type: str
start_seconds: float
duration_seconds: float
end_seconds: float
source_id: NotRequired[int]
effects: NotRequired[list[str]]
class camtasia.types.HealthCheckResult[source]

Bases: TypedDict

Result of Project.health_check().

healthy: bool
errors: list[str]
warnings: list[str]
structural_issues: list[str]
statistics: dict
class camtasia.types.CompactResult[source]

Bases: TypedDict

Result of compact_project().

orphaned_media_removed: int
empty_tracks_removed: int
class camtasia.types.TimelineSummary[source]

Bases: TypedDict

Result of Timeline.to_dict().

track_count: int
total_clip_count: int
duration_seconds: float
has_clips: bool
track_names: list[str]
class camtasia.types.ScreenplayBuildResult[source]

Bases: TypedDict

Result of build_from_screenplay().

clips_placed: int
pauses_added: int
total_duration: float