Types and Enumerations
These are some of the protobuf-generated enumerations used by
the Engine class for method arguments or return values.
Note
A side project might be writing a Sphinx extension for autogenerating this from the .proto file.
Common Settings and Value Types
- class ptsl.PTSL_pb2.MediaDestination
Used by the import methods.
- MD_None = 0
- MD_MainVideoTrack = 1
- MD_NewTrack = 2
- MD_ClipList = 3
- class ptsl.PTSL_pb2.MediaLocation
Used by the import methods.
- ML_None = 0
- ML_SessionStart = 1
- ML_SongStart = 2
- ML_Selection = 3
- ML_Spot = 4
- class ptsl.PTSL_pb2.SessionAudioFormat
Used to represent a session’s audio recording format. This is a parameter to
ptsl.Engine.create_session()(and its friends) as well asset_session_audio_format().- SAF_WAVE = 0
- SAF_AIFF = 1
- class ptsl.PTSL_pb2.SessionTimeCodeRate
- STCR_Fps23976 = 0
- STCR_Fps24 = 1
- STCR_Fps25 = 2
- STCR_Fps2997 = 3
- STCR_Fps2997Drop = 4
- STCR_Fps30 = 5
- STCR_Fps30Drop = 6
- STCR_Fps47952 = 7
- STCR_Fps48 = 8
- STCR_Fps50 = 9
- STCR_Fps5994 = 10
- STCR_Fps5994Drop = 11
- STCR_Fps60 = 12
- STCR_Fps60Drop = 13
- STCR_Fps100 = 14
- STCR_Fps11988 = 15
- STCR_Fps11988Drop = 16
- STCR_Fps120 = 17
- STCR_Fps120Drop = 18
Transport Modes
- class ptsl.PTSL_pb2.RecordMode
Renamed in PTSL 2025.6.0 from RM_RecordMode
- class ptsl.PTSL_pb2.PlaybackMode
Renamed in PTSL 2025.6.0 from PM_PlaybackMode
Property Containers
- class ptsl.PTSL_pb2.DP_ValueTypes
- DP_VT_double = 0
- DP_VT_float = 1
- DP_VT_int32 = 2
- DP_VT_int64 = 3
- DP_VT_uint32 = 4
- DP_VT_uint64 = 5
- DP_VT_sint32 = 6
- DP_VT_sint64 = 7
- DP_VT_fixed32 = 8
- DP_VT_fixed64 = 9
- DP_VT_sfixed32 = 10
- DP_VT_sfixed64 = 11
- DP_VT_bool = 12
- DP_VT_string = 13
- DP_VT_bytes = 14
- DP_VT_enum = 15
- DP_VT_object = 16
New Session Settings
Importing
- class ptsl.PTSL_pb2.ImportType
Used by
import_data(), according to talk on the DUC only the “Session” value is currently operative.- Session = 0
- Audio = 1
- Video = 2
- MIDI = 3
- ClipGroups = 4
- class ptsl.PTSL_pb2.SessionData
Used by
import_data()- audio_options: AudioMediaOptions
- audio_handle_size: int
Handle size in milliseconds. Only applies if
audio_optionsisConsolidateFromSourceAudio
- video_options: VideoMediaOptions
- match_options: MatchTrackOptions
- playlist_options: MainPlaylistOptions
- track_data_to_import: TrackDataToImport
- timecode_mapping_units: TimeCodeMappingOptions
- class ptsl.PTSL_pb2.MainPlaylistOptions
- ImportReplaceExistingPlaylists = 0
- ImportOverlayNewOnExistingPlaylists = 1
- DoNotImport = 2
- class ptsl.PTSL_pb2.TrackDataToImport
- class ptsl.PTSL_pb2.TimeCodeMappingOptions
- MaintainAbsoluteTimeCodeValues = 0
- MaintainRelativeTimeCodeValues = 1
- MapStartTimeCodeTo = 2
- class ptsl.PTSL_pb2.AudioMediaOptions
- LinkToSourceAudio = 0
- CopyFromSourceAudio = 1
- ConsolidateFromSourceAudio = 2
- ForceToTargetSessionFormat = 3
- class ptsl.PTSL_pb2.VideoMediaOptions
- LinkToSourceVideo = 0
- CopyFromSourceVideo = 1
- ImportAsOfflineSatelliteMedia = 2
A note in the proto here says “will not support”
- class ptsl.PTSL_pb2.AudioData
-
- audio_operations: AudioOperations
- destination: MediaDestination
- location: MediaLocation
File Locations
- class ptsl.PTSL_pb2.FileLocationTypeFilter
Defines a set of predicates for use with the
get_file_location()method.- All_Files = 0
- OnTimeline_Files = 1
- NotOnTimeline_Files = 2
- Online_Files = 3
- Offline_Files = 4
- Audio_Files = 5
- Video_Files = 6
- Rendered_Files = 7
- SelectedClipsTimeline = 101
- SelectedClipsClipsList = 102
- class ptsl.PTSL_pb2.FileLocation
-
- info: FileLocationInfo
Exporting Clips and Mixes
- class ptsl.PTSL_pb2.ExportFileType
- WAV = 0
- AIFF = 1
- MXF = 2
can’t be selected unless ‘Enforce Avid Compatibility is ON
- MP3 = 3
is not supported
- QuickTime = 4
is not supported
- class ptsl.PTSL_pb2.EM_FileType
- EM_None = 0
- EM_MOV = 1
- EM_WAV = 2
- EM_AIFF = 3
- EM_MP3 = 4
- EM_MXFOPAtom = 5
- EM_WAVADM = 6
- class ptsl.PTSL_pb2.EM_SourceInfo
An individual bounce source in an
export_mix()command.- source_type: EM_SourceType
- class ptsl.PTSL_pb2.EM_FileDestination
- EM_FD_None = 0
- EM_FD_SessionFolder = 1
- EM_FD_Directory = 2
- class ptsl.PTSL_pb2.EM_AudioInfo
- compression_type: CompressionType
- export_format: ExportFormat
- sample_rate: SampleRate
- pad_to_frame_boundary: TripleBool
- delivery_format: EM_DeliveryFormat
- class ptsl.PTSL_pb2.EM_VideoInfo
- include_video: TripleBool
- export_option: EM_VideoExportOptions
- replace_timecode_track: TripleBool
- codec_info: EM_CodecInfo
- class ptsl.PTSL_pb2.EM_LocationInfo
- import_after_bounce: TripleBool
- import_options: EM_ImportOptions
- file_destination: EM_FileDestination
- class ptsl.PTSL_pb2.EM_DolbyAtmosInfo
- add_first_frame_of_action: TripleBool
- property_list: List[PropertyContainer]
- class ptsl.PTSL_pb2.ExportFormat
- EF_None = 0
- EF_Mono = 1
- EF_MultipleMono = 2
- EF_Interleaved = 3
default
- class ptsl.PTSL_pb2.EM_DeliveryFormat
- EM_DF_None = 0
- EM_DF_FilePerMixSource = 1
- EM_DF_SingleFile = 2
- class ptsl.PTSL_pb2.EM_ImportOptions
- import_destination: MediaDestination
- import_location: MediaLocation
- class ptsl.PTSL_pb2.EM_CodecInfo
-
- property_list: List[PropertyContainer]
Working With Clips
- class ptsl.PTSL_pb2.ClipLocation
Renamed in PTSL 2025.6.0 from CL_ClipLocation
Describes a named clip’s location.
Working With Tracks
- class ptsl.PTSL_pb2.Track
Contains information for a single track, returned by
track_list().- track_attributes: TrackAttributes
- class ptsl.PTSL_pb2.TrackType
- Unknown = 0
- Midi = 1
- AudioTrack = 2
- Aux = 3
- VideoTrack = 4
- Vca = 5
- Tempo = 6
- Markers = 7
- Meter = 8
- KeySignature = 9
- ChordSymbols = 10
- Instrument = 11
- Master = 12
- Heat = 13
- BasicFolder = 14
- RoutingFolder = 15
- CompLane = 16
- class ptsl.PTSL_pb2.TrackAttributes
A list of these objects are returned by
track_list().- is_inactive: TrackAttributeState
- is_selected: TrackAttributeState
- is_input_monitoring_on: TrackAttributeState
- class ptsl.PTSL_pb2.TrackAttributeState
- None = 0
- SetExplicitly = 1
- SetImplicitly = 2
- SetExplicitlyAndImplicitly = 3
- class ptsl.PTSL_pb2.TrackListInvertibleFilter
A list of these objects is used as arguments to
track_list()as predicates for a track search.- filter: TrackListFilter
- class ptsl.PTSL_pb2.TrackListFilter
- All = 0
- Selected = 1
- SelectedExplicitly = 2
- SelectedImplicitly = 3
- WithClipsOnMainPlaylist = 4
- WithAutomationOnMainPlaylist = 5
- Inactive = 6
- InactiveExplicitly = 7
- InactiveImplicitly = 8
- Hidden = 9
- HiddenExplicitly = 10
- HiddenImplicitly = 11
- Locked = 12
- Muted = 13
- Frozen = 14
- Open = 15
- Online = 16
Working with Memory Locations
- class ptsl.PTSL_pb2.MemoryLocation
Data structure for a single memory location.
- reference: MemoryLocationReference
- time_properties: TimeProperties
- general_properties: MemoryLocationProperties
- class ptsl.PTSL_pb2.MemoryLocationProperties
Editing Modifiers
Errors
- class ptsl.PTSL_pb2.CommandErrorType
Error enumeration.
- OS_WritePermissions = 0
command hits write permissions
- OS_ErrorCode = 1
other OS error
- OS_NoLocationFound = 2
the specified location does not exist
- OS_NoSessionFound = 3
the specified session does not exist
- OS_FilePathLocation = 4
the specified file path could not be found
- OS_ReadError = 5
command hits read permissions or can not read specified file
- OS_DiskSpace = 6
not enough free space on disk
- OS_DuplicateName = 7
the session name to be created is a duplicate of some existing
- OS_IllegalCharacters = 8
the session name contains illegal characters/symbols
- OS_CharactersLimit = 9
the session/track name is too long (250 characters allowed)
- OS_ProToolsIsNotAvailable = 10
ProTools is not responding during a specified timeout
- PT_UnknownError = 100
an unspecified error occurred during execution of a command
- PT_NoTemplateGroup = 101
template group does not exist
- PT_NoTemplate = 102
template name does not exist
- PT_SampleRateMismatch = 103
cannot copy/link source media because SRC is on and sample rates don’t match
- PT_NoVideoTrackFound = 104
cannot copy/link source media because no video track found in the session
- PT_NoTracksFound = 105
warning. no tracks matched because no tracks exist in source
- PT_NoOpenedSession = 106
session is not open
- PT_NoTrackFound = 107
specified track(s) not found
- PT_NoClipsFound = 108
specified track contains no clips
- PT_NoSelection = 109
no selection was found
- PT_RecordDrive = 110
the volume is not designated as a record drive
- PT_NoPresetFound = 111
preset does not exist in the specified location
- PT_FileTypeMXF = 112
MXF is only available when ‘Enforce Media Composer compatibility’ is on
- PT_CopyOptionCopy = 113
copy option are unavailable if ‘Quantize Edits to Frame Boundaries’ is checked
- PT_CopyOptionLink = 114
link option are unavailable if ‘Quantize Edits to Frame Boundaries’ is checked
- PT_QuantizeEdits = 115
Quantize Edits to Frame Boundaries’ can’t be false if ‘Enforce Media Composer compatibility’ is true
- PT_ExportAsMultichannel = 116
warning. ‘Export Stereo, 5.1 and 7.1 Tracks as Multichannel’ is not applicable because no tracks of that format are contained within the export selection
- PT_IllegalCharactersComments = 117
comments contain illegal characters
- PT_IllegalCharactersSequenceName = 118
sequence name contains illegal characters
- PT_MaxCharactersComments = 119
comments exceed the maximum character limit
- PT_MaxCharactersSequenceName = 120
sequence name exceeds the maximum character limit
- PT_NoSequenceName = 121
sequence name can’t be empty
- PT_InvalidTask = 122
the specified task does not exist
- PT_FileNotFound = 123
specified files were not found
- PT_InvalidSelection = 124
unable to perform action because of invalid selection SDK errors
- PT_ReadOnlySession = 125
the session is located on a read-only drive and cannot be saved without user intervention
- PT_InvalidParameter = 126
One or more parameters are invalid
- SDK_Version_Mismatch = 401
Versions of PTSL Host and PTSL Client are mismatched
- sdk_notimplemented = 402
Some PTSL functional is not implemented at the PT side