---
title: "VariableVideoModule"
description: "API documentation for VariableVideoModule"
url: https://developer.disguise.one/python-api/docs/variablevideomodule/
---

# VariableVideoModule

Base class (inherits properties and methods): _[ProjectionAwareModule](/python-api/docs/projectionawaremodule#projectionawaremodule)_

Subclasses: _[DepthVideoModule](/python-api/docs/depthvideomodule#depthvideomodule)_, _[VariableVideoTransitionModule](/python-api/docs/variablevideotransitionmodule#variablevideotransitionmodule)_

## Properties

#### **acesExposure** : _float_

Input exposure transform (stops)

_Category: Colour  
UserName: Exposure_

#### **acesGamma** : _float_

Input gamma transform

_Category: Colour  
UserName: Gamma_

#### **at\_end\_point** : _int_

Defines the behaviour of the clip when it reaches its end point:  
Loop: Loop back to the beginning and play from there  
Ping-pong: Play in reverse back to the beginning  
Pause: Pause on the last frame

_Options: {0: ‘Loop’, 1: ‘Ping-pong’, 2: ‘Pause’}  
Category: Media  
UserName: At end point_

#### **bottom** : _float_

_Category: Crop  
UserName: Bottom_

#### **cdl** : _[CDL](/python-api/docs/cdl#cdl)_

ASC CDL format colour grading in Slope, Offset, Power and Saturation controls. (ACES/OCIO)

_Category: Colour  
UserName: CDL_

#### **clipEndFrame** : _int_ _(Read-Only)_

#### **clipLoopEndFrame** : _int_ _(Read-Only)_

#### **clipLoopStartFrame** : _int_ _(Read-Only)_

#### **clipNFrames** : _int_ _(Read-Only)_

#### **clipStartFrame** : _int_ _(Read-Only)_

#### **colour\_shift** : _[ColourShift](/python-api/docs/colourshift#colourshift)_

_Category: Audio  
UserName: Colour Shift_

#### **cropSoftness** : _float_

Enables a vignette effect by softening the edges of the crop

_Category: Crop  
UserName: Vignette_

#### **frameNumberDisplay** : _int_ _(Read-Only)_

#### **left** : _float_

_Category: Crop  
UserName: Left_

#### **mode** : _int_

Defines the playback mode of the clip:  
Normal: Continues to play when holding at the end of a section or jumping around the timeline.  
Locked: Playback is locked to the position of the cursor on the timeline

_Options: {0: ‘Locked’, 1: ‘Normal’}  
Category: Media  
UserName: Mode_

#### **ocioContrast** : _float_

Input contrast transform

_Category: Colour  
UserName: Contrast_

#### **ocioExposure** : _float_

Input exposure transform (stops).

_Category: Colour  
UserName: Exposure_

#### **ocioGamma** : _float_

Imput gamma transform

_Category: Colour  
UserName: Gamma_

#### **ocioShaderProperties** : _[OcioShaderProperties](/python-api/docs/ocioshaderproperties#ocioshaderproperties)_

#### **output** : _[LogicalAudioOutDevice](/python-api/docs/logicalaudiooutdevice#logicalaudiooutdevice)_

_Category: Audio  
UserName: Output_

#### **pos** : _[Vec2](/python-api/docs/vec2#vec2)_

_Category: Move  
UserName: Pos_

#### **right** : _float_

_Category: Crop  
UserName: Right_

#### **rotation** : _float_

_Category: Move  
UserName: Rotation_

#### **scale** : _[Vec2](/python-api/docs/vec2#vec2)_

_Category: Move  
UserName: Scale_

#### **size** : _float_

_Category: Move  
UserName: Size_

#### **speed** : _float_

_Category: Media  
UserName: Speed_

#### **tSecElapsed** : _float_ _(Read-Only)_

Time in seconds since the current clip started

#### **tSecRemaining** : _float_ _(Read-Only)_

Time in seconds until the current clip ends

#### **top** : _float_

_Category: Crop  
UserName: Top_

#### **transition\_time** : _float_

_Category: Media  
UserName: Transition time_

#### **video** : _[VideoClip](/python-api/docs/videoclip#videoclip)_

_Category: Media  
UserName: Video_

#### **volume** : _float_

_Category: Audio  
UserName: Volume_
