Skip to content

Structure Descriptions

Structure Descriptions

exDoExportRec

Selector: exSelExport

Provides general export settings. The exporter should retrieve the parameter settings from the Export Param Suite.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
PrTime startTime;
PrTime endTime;
csSDK_uint32 fileObject;
PrTimelineID timelineData;
csSDK_int32 reserveMetaDataSpace;
csSDK_int32 maximumRenderQuality;
csSDK_int32 embedCaptions
} exDoExportRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter, used for various suite calls, such as in the Sequence Render Suite and Sequence Audio Suite.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
Indicates which format the exporter should write, since exporters can support multiple formats.
exportAudioIf non-zero, export audio.
exportVideoIf non-zero, export video.
startTimeThe start time of the sequence to export.
endTimeThe end time of the sequence to export. If startTime is 0, also the total duration to export.
Range specified is [startTime, endTime), meaning the endTime is not actually included in the range.
fileObjectFor use with the Export File Suite, to get and manipulate the file specified by the user.
timelineDataHandle used for the Timeline Functions.
reserveMetaDataSpaceAmount to reserve in a file for metadata storage.
maximumRenderQualityIf non-zero, the exporter should set SequenceRender_ParamsRec.inRenderQuality and inDeinterlaceQuality to kPrRenderQuality_Max.
embedCaptionsNew in CC. If non-zero, the exporter should embed captions obtained from the Captioning Suite.
colorProfileAmount to reserve in a file for metadata storage.
exportColorSpaceIDAmount to reserve in a file for metadata storage.
maximumFileSizeAmount to reserve in a file for metadata storage.

exDoExportRec2

Selector: exSelExport

Provides general export settings. The exporter should retrieve the parameter settings from the Export Param Suite.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
PrTime startTime;
PrTime endTime;
csSDK_uint32 fileObject;
PrTimelineID timelineData;
csSDK_int32 reserveMetaDataSpace;
csSDK_int32 maximumRenderQuality;
csSDK_int32 embedCaptions;
ColorProfileRec colorProfile; // if color profile is valid, exporter should embed into output per format standards; for formats that set canEmbedColorProfile to True
PrSDKColorSpaceID exportColorSpaceID; // opaque color space ID that exporter should pass to the host when using color managed APIs
csSDK_int32 maximumFileSize; // if non-0, try to export a file not exceeding this size an possible adjust the TragetBitrate for this.
PrSDKLUTID exportLUTID;
} exDoExportRec2;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter, used for various suite calls, such as in the Sequence Render Suite and Sequence Audio Suite.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
Indicates which format the exporter should write, since exporters can support multiple formats.
exportAudioIf non-zero, export audio.
exportVideoIf non-zero, export video.
startTimeThe start time of the sequence to export.
endTimeThe end time of the sequence to export. If startTime is 0, also the total duration to export.
Range specified is [startTime, endTime), meaning the endTime is not actually included in the range.
fileObjectFor use with the Export File Suite, to get and manipulate the file specified by the user.
timelineDataHandle used for the Timeline Functions.
reserveMetaDataSpaceAmount to reserve in a file for metadata storage.
maximumRenderQualityIf non-zero, the exporter should set SequenceRender_ParamsRec.inRenderQuality and inDeinterlaceQuality to kPrRenderQuality_Max.
embedCaptionsNew in CC. If non-zero, the exporter should embed captions obtained from the Captioning Suite.
colorProfileNew in 13.1. Color profile, to be embedded into output per format standards. For formats which have set canEmbedColorProfile to true.
exportColorSpaceIDNew in 13.1. ID of the color space to be used. Must not be kPrSDKColorSpaceID_Invalid.
maximumFileSizeNew in 15.x. If non-zero, the Exporter should consider this as a ceiling for file size, and re-compress as needed in order to meet that target.
exportLUTIDNew in 14.x. the LUT being used for export.

exExporterInfoRec

Selector: exSelStartup and exSelShutdown (starting in CS6)

Describe the exporter’s capabilities by filling out this structure during exSelStartup.

For each filetype, populate exExporterInfoRec and return exportReturnIterateExporter.

exSelStartup will then be resent. Repeat the process until there are no more file formats to describe, then return exportReturn_IterateExporterDone.

The fileType indicates which format the exporter should currently work with in subsequent calls.

typedef struct {
csSDK_uint32 unused;
csSDK_uint32 fileType;
prUTF16Char fileTypeName[256];
prUTF16Char fileTypeDefaultExtension[256];
csSDK_uint32 classID;
csSDK_int32 exportReqIndex;
csSDK_int32 wantsNoProgressBar;
csSDK_int32 hideInUI;
csSDK_int32 doesNotSupportAudioOnly;
csSDK_int32 canExportVideo;
csSDK_int32 canExportAudio;
csSDK_int32 singleFrameOnly;
csSDK_int32 maxAudiences;
csSDK_int32 interfaceVersion;
csSDK_uint32 isCacheable;
csSDK_uint32 canConformToMatchParams;
csSDK_uint32 canEmbedCaptions;
} exExporterInfoRec;
MemberDescription
fileTypeThe file format four character code (e.g. ‘AVIV’ = Video for Windows, ‘MooV’ = QuickTime).
fileTypeNameThe localized display name for the fileype.
fileTypeDefaultExtensionThe default extension for the filetype. An exporter can support multiple extensions per filetype, by implementing exSelQueryExportFileExtension.
classIDClass identifier for the module, differentiates between exporters that support the same filetype and creates associations between different Media Abstraction Layer plugins.
exportReqIndexIf an exporter supports multiple filetypes, this index will be incremented by the host for each call, as the exporter is requested to describe its capabilities for each filetype.
Initially zero, incremented by the host each time the exporter returns exportReturn_IterateExporter.
wantsNoProgressBarIf non-zero, the default exporter progress dialog will be turned off, allowing the exporter to display its own progress dialog.
The exporter also will not get exportReturn_Abort errors from the host during callbacks - it must detect an abort on its own, and return exportReturn_Abort from exSelExport if the user aborts the export.
hideInUISet this to non-zero if this filetype should only be used for making preview files, and should not be visible as a general export choice.
doesNotSupportAudioOnlySet this to non-zero for filetypes that do not support audio-only exports.
canExportVideoSet this to non-zero if the exporter can output video.
canExportAudioSet this to non-zero if the exporter can output audio.
singleFrameOnlySet this to non-zero if the exporter makes single frames (used by still image exporters).
maxAudiences
interfaceVersionExporter API version that the plugin supports.
isCacheableNew in CS5. Set this non-zero to have Premiere Pro cache this exporter.
canConformToMatchParamsNew in CC. Set this to non-zero if the exporter wants to support the Match Source button.
canEmbedCaptionsNew in CC. Set this to non-zero if the exporter can embed Closed Captioning directly in the file.
flagsNew in 13.0. Will be some combination of the following flag:
- kExInfoRecFlag_None
- kExInfoRecFlag_VideoOnlyExportNotSupported - exports only video and audio together
- kExInfoRecFlag_PostEncodePublishNotSupported - exported result is a complex folder structure or otherwise unsuitable for enabling upload options
canEmbedColorProfileNew in 11.1. Set this to non-zero if the exporter can embed color profile into the resulting media file
supportsColorManagementNew in 13.0. Set this to non-zero if the exporter supports color management.

exExporterInstanceRec

Selector: exSelBeginInstance and exSelEndInstance

Provides access to the privateData for the indicated filetype, so that the exporter can allocate privateData and pass it to the host, or deallocate it.

typedef struct {
csSDK_uint32 exporterPluginID;
csSDK_uint32 fileType;
void* privateData;
} exExporterInstanceRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
fileTypeThe file format four character code set by the exporter during exSelStartup.
privateDataData allocated and managed by the exporter.

exGenerateDefaultParamRec

Selector: exSelGenerateDefaultParams

Provides access to the privateData for the indicated filetype, so that the exporter can generate the default parameter set.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
} exExporterInstanceRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.

exParamButtonRec

Selector: exSelParamButton

Provides access to the privateData for the indicated filetype, and discloses the specific button hit by the user, since there can be multiple button parameters.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
csSDK_int32 multiGroupIndex;
exParamIdentifier buttonParamIdentifier;
} exParamButtonRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
exportAudioIf non-zero, the current settings are set to export audio.
exportVideoIf non-zero, the current settings are set to export video.
multiGroupIndexDiscloses the index of the multi-group, containing the button hit by the user.
buttonParamIdentifierDiscloses the parameter ID of the button hit by the user.

exParamChangedRec

Selector: exSelValidateParamChanged

Provides access to the privateData for the indicated filetype, and discloses the specific parameter changed by the user.

To notify the host that the plugin is changing other parameters, set rebuildAllParams to a non-zero value.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
csSDK_int32 multiGroupIndex;
exParamIdentifier changedParamIdentifier;
csSDK_int32 rebuildAllParams;
} exParamChangedRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
exportAudioIf non-zero, the current settings are set to export audio.
exportVideoIf non-zero, the current settings are set to export video.
multiGroupIndexDiscloses the index of the multi-group, containing the parameter changed by the user.
changedParamIdentifierDiscloses the parameter ID of the parameter changed by the user.
May be empty if the changed item was exportAudio, exportVideo or the current multiGroupIndex.
rebuildAllParamsSet this to non-zero to tell the host to refresh ALL parameters using the latest provided information.
This can solve various problems when dynamically updating parameter visibility, valid ranges, etc.

exParamSummaryRec

Selector: exSelGetParamSummary

Provides access to the privateData for the indicated filetype, and provides buffers for the exporter to fill in with a localized summary of the parameters.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
prUTF16Char videoSummary[256];
prUTF16Char audioSummary[256];
prUTF16Char bitrateSummary[256];
} exParamSummaryRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
exportAudioIf non-zero, the current settings are set to export audio.
exportVideoIf non-zero, the current settings are set to export video.
videoSummaryFill these in with a line of a localized summary of the parameters.
audioSummary
bitrateSummary

exPostProcessParamsRec

Selector: exSelPostProcessParams

Provides access to the privateData for the indicated filetype.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAudio;
csSDK_int32 exportVideo;
csSDK_int32 doConformToMatchParams;
} exPostProcessParamsRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
exportAudioIf non-zero, the current settings are set to export audio.
exportVideoIf non-zero, the current settings are set to export video.
doConformToMatchParamsNew in CC.

exQueryExportFileExtensionRec

Selector: exSelQueryExportFileExtension

Provides access to the privateData for the indicated filetype, and provides a buffer for the exporter to fill in with the file extension.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
prUTF16Char outFileExtension[256];
} exQueryExportFileExtensionRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
outFileExtensionProvide the file extension here, given the current parameter settings.

exQueryOutputFileListRec

Selector: exSelQueryOutputFileList

Provides access to the privateData for the indicated filetype, and provides a pointer to a array of exOutputFileRecs for the exporter to fill in with the file paths.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_uint32 numOutputFiles;
PrSDKString path;
exOutputFileRec *outputFileRecs;
} exQueryOutputFileListRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
numOutputFilesOn the first call to exSelQueryOutputFileList, provide the number of file paths here.
pathNew in CS5. Contains the primary intended destination path provided by the host.
outputFileRecsAn array of exOutputFileRecs.
On the second call to exSelQueryOutputFileList, the path length (including trailing null) for each path.
On the third call, fill in the path of each exOutputFileRec.
typedef struct {
int pathLength;
prUTF16Char* path;
} exOutputFileRec;

exQueryOutputSettingsRec

Selector: exSelQueryOutputSettings

Provides access to the privateData for the indicated filetype, and provides a set of members for the exporter to fill in with the current export settings.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 inMultiGroupIndex;
csSDK_int32 inExportVideo;
csSDK_int32 inExportAudio;
csSDK_int32 outVideoWidth;
csSDK_int32 outVideoHeight;
PrTime outVideoFrameRate;
csSDK_int32 outVideoAspectNum;
csSDK_int32 outVideoAspectDen;
csSDK_int32 outVideoFieldType;
double outAudioSampleRate;
PrAudioSampleType outAudioSampleType;
PrAudioChannelType outAudioChannelType;
csSDK_uint32 outBitratePerSecond;
csSDK_int32 outUseMaximumRenderPrecision;
} exQueryOutputSettingsRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
inMultiGroupIndexReturn the parameter settings of the multi-group with this index.
inExportVideoIf non-zero, the current settings are set to export video.
inExportAudioIf non-zero, the current settings are set to export audio.
outVideoWidthReturn each parameter setting, by getting the current value of the parameter using the Export Param Suite.
outVideoHeight
Some settings, such as outVideoFieldType, may be implicit, for example if the format only supports progressive frames.
outUseMaximumRenderPrecisionNew in CS6. If non-zero, renders will always be made at maximum bit-depth.

exQueryStillSequenceRec

Selector: exSelQueryStillSequence

Provides access to the privateData for the indicated filetype, and provides a set of members for the exporter to provide information on how it would export the sequence of stills.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
csSDK_int32 exportAsStillSequence;
PrTime exportFrameRate;
} exQueryStillSequenceRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.
exportAsStillSequenceSet this to non-zero to tell the host that the exporter can export the stills as a sequence.
exportFrameRateSet this to the frame rate of the still sequence.

exValidateOutputSettingsRec

Selector: exSelValidateOutputSettings

Provides access to the privateData for the indicated filetype, so that the exporter can validate the current parameter settings.

typedef struct {
csSDK_uint32 exporterPluginID;
void* privateData;
csSDK_uint32 fileType;
} exExporterInstanceRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
fileTypeThe file format four character code set by the exporter during exSelStartup.

exQueryExportColorSpaceRec

Selector: exSelQueryExportColorSpace

Provides access to the privateData for the indicated filetype, so that the exporter can validate the current parameter settings.

typedef struct
{
csSDK_uint32 exporterPluginID;
void* privateData;
ColorSpaceRec outExportColorSpace;
} exQueryExportColorSpaceRec;
MemberDescription
exporterPluginIDThe host’s internal identifier for this exporter. Do not modify.
privateDataData allocated and managed by the exporter.
outExportColorSpaceStructure describing the colorspace to be used during export. Check ColorSpaceRec for details.