Structure Descriptions¶
imAcceleratorRec¶
Selector: imRetargetAccelerator
Describes the path to the new media and new accelerator created when the Project Manager copies media and its accelerator.
typedef struct {
const prUTF16Char *inOriginalPath;
const prUTF16Char *inAcceleratorPath;
} imAcceleratorRec;
| Member | Description |
|---|---|
inOriginalPath |
The unicode path and name of the copied media. |
inAcceleratorPath |
The unicode path and name of the copied accelerator. |
imAnalysisRec¶
Selector: imAnalysis
Sending back analysis data is a two step process. First, set buffersize to the size of your character buffer and return imNoErr.
Premiere will immediately send imAnalysis again; populate the buffer with text. Previously-stored preferences and privateData are returned in this structure.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 buffersize;
char *buffer;
csSDK_int32 *timecodeFormat;
} imAnalysisRec;
| Member | Description |
|---|---|
privatedata |
Instance data from imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings data from imGetPrefs8 (setup dialog info). |
buffersize |
Set to the desired size and return imNoErr to Premiere, which will re-size and call the plugin again with the imGetPrefs8 selector. |
buffer |
Text buffer. Terminate lines with line endings (CR and LF). |
timecodeFormat |
Preferred timecode format, sent by the host. |
imAsyncImporterCreationRec¶
Selector: imCreateAsyncImporter
Create an asynchronous importer object using the data provided, and store it here.
typedef struct {
void *inPrivateData;
void *inPrefs;
AsyncImporterEntry outAsyncEntry;
void *outAsyncPrivateData;
}
| Member | Description |
|---|---|
inPrivateData |
Instance data from imGetInfo8 or imGetPrefs8. |
inPrefs |
Clip Source Settings from imGetPrefs8 (setup dialog info). |
outAsyncEntry |
Provide the entry point for async selectors sent to the asynchronous importer object. |
outAsyncPrivateData |
PrivateData for the asynchronous importer object. |
imAudioInfoRec7¶
Selector: imGetInfo8 (member of imFileInfoRec8)
Audio data properties of the file (or of the data you will generate, if synthetic).
typedef struct {
csSDK_int32 numChannels;
float sampleRate;
PrAudioSampleType sampleType;
}
|
Member |
Description |
|---|---|
|
|
Number of audio channels in the audio stream. |
|
|
In hertz. |
|
|
This is for informational use only, to disclose the format of the audio on disk, before it is converted to 32-bit float, uninterleaved, by the importer. |
imCalcSizeRec¶
Selector: imCalcSize8
Asks the importer for an estimate of disk space used by the clip, given the provided trim boundaries.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
prInt64 sizeInBytes;
csSDK_int32 scale;
csSDK_int32 sampleSize;
} imCalcSizeRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
Clip Source Settings gathered from |
|
|
In point of the trimmed clip the importer should calculate the size for, in the timebase specified by scale over sampleSize. |
|
|
Duration of the trimmed clip the importer should calculate the size for. |
|
|
Return the calculated size in bytes. |
|
|
The frame rate of the video clip, represented as scale over sampleSize. |
|
|
imCheckTrimRec¶
Selector: imCheckTrim8
Provides the requested trim boundaries to the importer, and allows adjusted trim boundaries to be passed back to Premiere.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
csSDK_int32 keepAudio;
csSDK_int32 keepVideo;
csSDK_int32 newTrimIn;
csSDK_int32 newDuration;
csSDK_int32 scale;
csSDK_int32 sampleSize;
} imCheckTrimRec;
| Member | Description |
|---|---|
privatedata |
Instance data gathered from imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings gathered from imGetPrefs8 (setup dialog info). |
trimIn |
Requested in point of the trimmed clip, in the timebase specified by scale over sampleSize. |
duration |
Requested duration. If 0, then the request is to leave the clip untrimmed, and at the current duration |
keepAudio |
If non-zero, the request is to keep the audio in the trimmed result. |
keepVideo |
If non-zero, the request is to keep the video in the trimmed result. |
newTrimIn |
Return the acceptable in point of the trimmed clip. It must be at or before the requested in point. |
newDuration |
Return the acceptable duration. newTrimIn + newDuration must be at or after the trimIn + duration. |
scale |
The frame rate of the video clip, represented as scale over sampleSize. |
sampleSize |
imClipFrameDescriptorRec¶
Selector: imSelectClipFrameDescriptor
Based on the request in inDesiredClipFrameDescriptor and the importer's Source Settings, modify outBestFrameDescriptor as needed to describe what format the importer will provide.
typedef struct {
void* inPrivateData;
void* inPrefs;
ClipFrameDescriptor inDesiredClipFrameDescriptor;
ClipFrameDescriptor outBestFrameDescriptor;
} imClipFrameDescriptorRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
Clip Source Settings gathered from |
|
|
Requested frame properties, as described by the host. |
|
|
Frame properties to be produced, filled in with initial guesses |
imCompleteAsyncClosedCaptionScanRec¶
Selector: imCompleteAsyncClosedCaptionScan
This structure is passed to provide one last chance to cleanup and dispose of inAsyncCaptionScanPrivateData, and to mark whether the closed caption scan completed without error.
typedef struct {
void* inPrivateData;
const void* inPrefs;
void* inAsyncCaptionScanPrivateData;
prBool inScanCompletedWithoutError;
} imCompleteAsyncClosedCaptionScanRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
Clip Source Settings gathered from |
|
|
Cleanup and dispose of any data here that was allocated in |
|
|
Set to true if no error. |
imIndColorProfileRec¶
Selector: imGetIndColorProfile
Deprecated as of 13.0. Describes a color profile supported by a clip.
The first time imGetIndColorProfile is sent, inDestinationBuffer will be NULL, and ioBufferSize will be 0.
Set ioBufferSize to the required size for the buffer, and the host will allocate the memory and call the importer again, with a valid inDestinationBuffer, and ioBufferSize set to the value just provided by the importer.
typedef struct {
void *inPrivateData;
csSDK_int32 ioBufferSize;
void *inDestinationBuffer;
PrSDKString outName;
} imIndColorProfileRec;
imCopyFileRec¶
Selector: imCopyFile
Describes how to copy a clip. Also provides a callback to update the progress bar and check if the user has cancelled.
typedef struct {
void *inPrivateData;
csSDK_int32 *inPrefs;
const prUTF16Char *inSourcePath;
const prUTF16Char *inDestPath;
importProgressFunc inProgressCallback;
void *inProgressCallbackID;
} imTrimFileRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered during |
|
|
Clip Source Settings gathered during |
|
|
Full unicode path of the source file. |
|
|
Full unicode path of the destination file. |
|
|
importProgressFunc callback to call repeatedly to provide progress and to check for cancel by user. |
|
|
Pass to |
imDataRateAnalysisRec¶
Selector: imDataRateAnalysis
Specify the desired buffersize, return to Premiere with imNoErr; upon the next call fill buffer with imDataSamples, and specify a base data rate for audio (if any).
This structure is used like imAnalysisRec.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 buffersize;
char *buffer;
csSDK_int32 baserate;
} imDataRateAnalysisRec;
| Member | Description |
|---|---|
privatedata |
Instance data gathered from imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings gathered from imGetPrefs8 (setup dialog info). |
buffersize |
The size of the buffer you request from Premiere prior to passing data back data in buffer. |
buffer |
Pointer to the analysis buffer to be filled with imDataSamples (see structure below). |
baserate |
Audio data rate (bytes per second) of the file. |
typedef struct {
csSDK_uint32 sampledur;
csSDK_uint32 samplesize;
} imDataSample;
| Member | Description |
|---|---|
sampledur |
Duration of one sample in video timebase, in samplesize increments; set the high bit if this is a keyframe. |
samplesize |
Size of this sample in bytes. |
imDeferredProcessingRec¶
Selector: imDeferredProcessing
Describes the current progress of the deferred processing on the clip referred to by inPrivateData.
typedef struct {
void *inPrivateData;
float outProgress;
char outInvalidateFile;
char outCallAgain;
} imDeferredProcessingRec;
| Member | Description |
|---|---|
inPrivateData |
Instance data gathered from imGetInfo8 or imGetPrefs8. |
outProgress |
Set this to the current progress, from 0.0 to 1.0. |
outInvalidateFile |
The importer has updated information about the file. |
outCallAgain |
Set this to true to request that the importer be called again immediately. |
imDeleteFileRec¶
Selector: imDeleteFile
Describes the file to be deleted.
typedef struct {
csSDK_int32 filetype;
const prUTF16Char deleteFile;
} imDeleteFileRec;
| Member | Description |
|---|---|
filetype |
The file's unique four character code, defined in the IMPT resource |
deleteFile |
Specifies the name (and path) of the file to be deleted. |
imFileAccessRec8¶
Selectors: imGetInfo8 and imGetPrefs8
Describes the file being imported.
typedef struct {
void *importID;
csSDK_int32 filetype;
const prUTF16Char *filepath;
imFileRef fileref;
PrMemoryPtr newfilename;
} imFileAccessRec;
|
Member |
Description |
|---|---|
|
|
Unique ID provided by Premiere. Do not modify! |
|
|
The file's unique four character code, defined in the IMPT resource. |
|
|
The unicode file path and name. |
|
|
A Windows HANDLE. Premiere does not overload this value by using it internally, although setting it to the constant kBadFileRef may cause Premiere to think the file is closed. |
|
|
If the file is synthetic, the importer can specify the displayable name here as a prUTF16Char string during |
imFileAttributesRec¶
Selector: imGetFileAttributes
New in Premiere Pro 3.1. Provide the clip creation date.
typedef struct {
prDateStamp creationDateStamp;
csSDK_int32 reserved[40];
} imFileAttributesRec;
| Member | Description |
|---|---|
creationDateStamp |
Structure to store when the clip was created |
imFileInfoRec8¶
Selector: imGetInfo8
Describes the clip, or the stream with the ID streamIdx. Set the clip or stream attributes from the file header or data source. Create and store any privateData.
When a synthetic clip is created, and the user provides the desired resolution, frame rate, pixel aspect ratio, and audio sample rate in the New Synthetic dialog, these values will be pre-initialized by Premiere.
If importing stereoscopic footage, import the left-eye video channel for streamID 0, and the right-eye video channel for streamID 1.
typedef struct {
char hasVideo;
char hasAudio;
imImageInfoRec vidInfo;
csSDK_int32 vidScale;
csSDK_int32 vidSampleSize;
csSDK_int32 vidDuration;
imAudioInfoRec7 audInfo;
PrAudioSample audDuration;
csSDK_int32 accessModes;
void *privatedata;
void *prefs;
char hasDataRate;
csSDK_int32 streamIdx;
char streamsAsComp;
prUTF16Char streamName[256];
csSDK_int32 sessionPluginID;
char alwaysUnquiet;
char unused;
prUTF16Char filePath[2048];
char canProvidePeakData;
char mayBeGrowing;
} imFileInfoRec8;
|
Member |
Description |
|---|---|
|
|
If non-zero, the file contains video. |
|
|
If non-zero, the file contains audio. |
|
|
If there is video in the file, fill out the |
|
|
The frame rate of the video, represented as scale over sampleSize. |
|
|
|
|
|
The total number of frames of video, in the video timebase. |
|
|
If there is audio in the file, fill out the imAudioInfoRec7 structure. |
|
|
The total number of audio sample frames. |
|
|
The access mode of this file. Use one of the following constants: |
|
|
Private instance data. |
|
|
Clip Source Settings data gathered from |
|
|
If set, the importer can read or generate data rate information for this file and will be sent |
|
|
The Premiere-specified stream index number. |
|
|
If multiple streams and this is stream zero, indicate whether to import as a composition or multiple clips. |
|
|
Optional. The unicode name of this stream if there are multiple streams. |
|
|
This ID should be used in the File Registration Suite for registering external files (such as textures, logos, etc) that are used by an importer instance but do not appear as footage in the Project Window. |
|
|
Set to non-zero to tell Premiere if the clip should always be unquieted immediately when the application regains focus. |
|
|
Added in Premiere Pro 4.1. For clips that have audio in files separate from the video file, set the filename here, so that UMIDs can properly be generated when exporting sequences to AAF. |
|
|
New in Premiere Pro CS6. This allows an importer to toggle whether or not it wants to provide peak audio data on a clip-by-clip basis. Warning Do not attempt to use this setting with growing files. |
|
|
New in Premiere Pro CS6.0.2. Set to non-zero if this clip is growing and should be refreshed at the interval set in the Media Preferences. |
imFileOpenRec8¶
Selector: imOpenFile8
The file Premiere wants the importer to open.
typedef struct {
imFileAccessRec8 fileinfo;
void *privatedata;
csSDK_int32 reserved;
PrFileOpenAccess inReadWrite;
csSDK_int32 inImporterID;
csSDK_size_t outExtraMemoryUsage;
csSDK_int32 inStreamIdx;
} imFileOpenRec8;
|
Member |
Description |
|---|---|
|
|
|
|
|
Instance data gathered from |
|
|
Do not use. |
|
|
The file should be opened with the access mode specified: |
|
|
Can be used as the ID for calls in the PPix Cache Suite. |
|
|
New in CS5. If the importer uses memory just by being open, which cannot otherwise be registered in the cache, put the size in bytes in this field. |
|
|
New in CS6. If the clip has multiple streams (for stereoscopic video or otherwise), this ID differentiates between them. |
imFileRef¶
Selectors:
- imAnalysis,
- imDataRateAnalysis,
- imOpenFile8,
- imQuietFile,
- imCloseFile,
- imGetTimeInfo8,
- imSetTimeInfo8,
- imImportImage,
- imImportAudio7
A file HANDLE on Windows, or a void* on MacOS.
imFileRef is also a member of imFileAccessRec.
Use OS-specific functions, rather than ANSI file functions, when manipulating imFileRef.
imFrameFormat¶
Selector: imGetSourceVideo (member of imSourceVideoRec)
Describes the frame dimensions and pixel format.
typedef struct {
csSDK_int32 inFrameWidth;
csSDK_int32 inFrameHeight;
PrPixelFormat inPixelFormat;
} imFrameFormat;
| Member | Description |
|---|---|
inFrameWidth |
The frame dimensions requested. |
inFrameHeight |
|
inPixelFormat |
The pixel format of the frame requested. |
imGetAudioChannelLayoutRec¶
Selector: imGetAudioChannelLayout
The importer should label each audio channel in the clip being imported.
If no labels are specified, the channel layout will be assumed to be discrete.
typedef struct {
void* inPrivateData;
PrAudioChannelLabel outChannelLabels[kMaxAudioChannelCount];
} imGetAudioChannelLayoutRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
A valid audio channel label should be assigned for each channel in the clip. |
imGetNextClosedCaptionRec¶
Selector: imGetNextClosedCaption
This structure provides private data allocated in imInitiateAsyncClosedCaptionScan, and should be filled out to pass back a closed caption, it's time, format, size, and overall progress in the closed caption scan.
typedef struct {
void* inPrivateData;
const void* inPrefs;
void* inAsyncCaptionScanPrivateData;
float outProgress;
csSDK_int64 outScale;
csSDK_int64 outSampleSize;
csSDK_int64 outPosition;
PrClosedCaptionFormat outClosedCaptionFormat;
PrMemoryPtr outCaptionData;
prUTF8Char outTTMLData[kTTMLBufferSize];
csSDK_size_t ioCaptionDataSize;
} imGetNextClosedCaptionRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
Clip Source Settings gathered from |
|
|
This provides any private data that was allocated in |
|
|
Update this value to denote the current progress iterating through all the captions. Valid values are between 0.0 and 1.0. |
|
|
The timebase of outPosition, represented as scale over sampleSize. |
|
|
|
|
|
The position of the closed caption. |
|
|
The format of the closed captions. One of the following: |
|
|
Memory location to where the plugin should write the closed caption bytes, if providing CEA-608 or CEA-708. |
|
|
UTF-8 String of valid W3C TTML data. |
|
|
|
imGetPrefsRec¶
Selector: imGetPrefs8
Contains settings/prefs data gathered from (or defaults to populate) a setup dialog.
If you are creating media, you can may generate a video preview that includes the background frame from the timeline.
typedef struct {
char *prefs;
csSDK_int32 prefsLength;
char firstTime;
PrTimelineID timelineData;
void *privatedata;
TDB_TimeRecord tdbTimelineLocation;
csSDK_int32 sessionPluginID;
csSDK_int32 imageWidth;
csSDK_int32 imageHeight;
csSDK_uint32 pixelAspectNum;
csSDK_uint32 pixelAspectDen;
csSDK_int32 vidScale;
csSDK_int32 vidSampleSize;
float sampleRate;
} imGetPrefsRec;
|
Member |
Description |
|---|---|
|
|
A pointer to a private structure (which you allocate) for storing Clip Source Settings. |
|
|
Prior to storing anything in the prefs member, set prefsLength to the size of your structure and return imNoErr; Premiere will re-size and call the plugin again with |
|
|
If set, |
|
|
Can be passed to |
|
|
Private instance data. |
|
|
Can be passed to getPreviewFrameEx callback along with timelineData to get a frame from the timeline beneath the current clip or timeline location. This is useful for titler plugins. |
|
|
This ID should be used in the File Registration Suite for registering external files (such as textures, logos, etc) that are used by a importer instance but do not appear as footage in the Project Window. |
|
|
New in CS5. The native resolution of the video. |
|
|
|
|
|
New in CS5. The pixel aspect ratio of the video. |
|
|
|
|
|
New in CS5. The frame rate of the video, represented as scale over sampleSize. |
|
|
|
|
|
New in CS5. Audio sample rate. |
imImageInfoRec¶
Selector: imGetInfo8 (member of imFileInfoRec8)
Describes the video to be imported.
typedef struct {
csSDK_int32 imageWidth;
csSDK_int32 imageHeight;
csSDK_uint16 pixelAspectV1;
csSDK_uint16 depth;
csSDK_int32 subType;
char fieldType;
char fieldsStacked;
char reserved_1;
char reserved_2;
char alphaType;
matteColRec matteColor;
char alphaInverted;
char isVectors;
char drawsExternal;
char canForceInternalDraw;
char dontObscure;
char isStill;
char noDuration;
char reserved_3;
csSDK_uint32 pixelAspectNum;
csSDK_uint32 pixelAspectDen;
char isRollCrawl;
char reservedc[3];
csSDK_int32 importerID;
csSDK_int32 supportsAsyncIO;
csSDK_int32 supportsGetSourceVideo;
csSDK_int32 hasPulldown;
csSDK_int32 pulldownCadence;
csSDK_int32 posterFrame;
csSDK_int32 canTransform;
csSDK_int32 interpretationUncertain;
csSDK_int32 colorProfileSupport;
PrSDKString codecDescription;
csSDK_int32 colorSpaceSupport;
PrTime frameRate;
prBool hasEmbeddedLUT;
csSDK_int32 reserved[12];
} imImageInfoRec;
Plugin Info¶
| Member | Description |
|---|---|
importerID |
Can be used as the ID for calls in the PPix Cache Suite. |
supportsAsyncIO |
Set this to true if the importer supports imCreateAsyncImporter and ai* selectors. |
supportsGetSourceVideo |
Set this to true if the importer supports the imGetSourceVideo selector. |
Bounds Info¶
|
Member |
Description |
|---|---|
|
|
Frame width in pixels. |
|
|
Frame height in pixels. |
|
|
The pixel aspect ratio numerator and denominator. |
|
|
Time Info¶
|
Member |
Description |
|---|---|
|
|
If set, the file contains a single frame, so only one frame will be cached. |
|
|
One of the following: |
|
|
Set to non-zero value to specify this clip is a rolling or crawling title. |
|
|
Set this to true if the clip contains NTSC film footage with 3:2 pulldown. |
|
|
Set this to the enumerated value that describes the pulldown of the clip: |
|
|
New in Premiere Pro CS3. Poster frame number to be displayed. |
Format Info¶
|
Member |
Description |
|---|---|
|
|
Bits per pixel. This currently has no effect and should be left unchanged. |
|
|
The four character code of the file's codec; associates files with MAL plugins. For uncompressed files, set to |
|
|
One of the following: |
|
|
Fields are present, and not interlaced. Deprecated since Premiere Pro 7.0. |
|
|
Used when depth is 32 or greater. One of the following: |
|
|
|
|
|
If non-zero, alpha is treated as inverted (e.g. black becomes transparent). |
|
|
Set to non-zero value to specify this importer handles resolution independent files and can apply a transform matrix. |
|
|
Use an 'or' operator to combine any of the following flags: |
|
|
Deprecated as of 13.0. New in CS5.5. |
|
|
Text description of the codec in use. |
|
|
New in 13.0; describes the color profile being used by the importer, with this media. |
|
|
Set to |
|
|
Set to |
Unused¶
|
Member |
Description |
|---|---|
|
|
Obsolete. Maintained for backwards compatability. |
|
|
Use |
|
|
|
|
|
|
|
|
imImportAudioRec7¶
Selector: imImportAudio7
Describes the audio samples to be returned, and contains an allocated buffer for the importer to fill in.
Provide the audio in 32-bit float, uninterleaved audio format.
typedef struct {
PrAudioSample position;
csSDK_uint32 size;
float **buffer;
void *privatedata;
void *prefs;
} imImportAudioRec7;
|
Member |
Description |
|---|---|
|
|
In point, in audio sample frames. |
|
|
The number of audio sample frames to import. |
|
|
An array of buffers, one buffer for each channel, with length specified in size. |
|
|
Instance data gathered from |
|
|
Clip Source Settings data gathered from |
imImportImageRec¶
Selector: imImportImage
Describes the frame to be returned.
typedef struct {
csSDK_int32 onscreen;
csSDK_int32 dstWidth;
csSDK_int32 dstHeight;
csSDK_int32 dstOriginX;
csSDK_int32 dstOriginY;
csSDK_int32 srcWidth;
csSDK_int32 srcHeight;
csSDK_int32 srcOriginX;
csSDK_int32 srcOriginY;
csSDK_int32 unused2;
csSDK_int32 unused3;
csSDK_int32 rowbytes;
char *pix;
csSDK_int32 pixsize;
PrPixelFormat pixformat;
csSDK_int32 flags;
prFieldType fieldType;
csSDK_int32 scale;
csSDK_int32 sampleSize;
csSDK_int32 in;
csSDK_int32 out;
csSDK_int32 pos;
void *privatedata;
void *prefs;
prRect alphaBounds;
csSDK_int32 applyTransform;
float transform[3][3];
prRect destClipRect;
} imImportImageRec;
Bounds Info (for imImportImageRec)¶
| Member | Description |
|---|---|
dstWidth |
Width of the destination rectangle (in pixels). |
dstHeight |
Height of the destination rectangle (in pixels). |
dstOriginX |
Origin X point (0 indicates the frame is drawn offscreen). |
dstOriginY |
Origin Y point (0 indicates the frame is drawn offscreen). |
srcWidth |
The same number returned as dstWidth. |
srcHeight |
The same number returned as dstHeight. |
srcOriginX |
The same number returned as dstOriginX. |
srcOriginY |
The same number returned as dstOriginY. |
Frame Info¶
|
Member |
Description |
|---|---|
|
|
The number of bytes in a single row of pixels. |
|
|
Pointer to a buffer into which the importer should draw. Allocated based on information from the |
|
|
The number of pixels. rowbytes * height. |
|
|
The pixel format Premiere requests. |
|
|
|
|
|
If the importer can swap fields, it should render the frame with the given field dominance: either |
|
|
The frame rate of the video, represented as scale over sampleSize. |
|
|
|
|
|
In point, based on the timebase defined by scale over sampleSize. |
|
|
Out point, based on the timebase defined by scale over sampleSize. |
|
|
Import position, based on the above timebase. |
|
|
Instance data gathered during |
|
|
Clip Source Settings data gathered during |
|
|
This is the rect outside of which the alpha is always 0. Simply do not alter this field if the alpha bounds match the destination bounds. |
|
|
New in After Effects CS3. Not currently provided by Premiere. |
|
|
New in After Effects CS3. Not currently provided by Premiere. The source to destination transform matrix. |
|
|
New in After Effects CS3. Not currently provided by Premiere. Destination rect inside the bounds of the pix buffer. |
imImportInfoRec¶
Selector: imInit
Describes the importer's capabilities to Premiere.
typedef struct {
csSDK_uint32 importerType;
csSDK_int32 canOpen;
csSDK_int32 canSave;
csSDK_int32 canDelete;
csSDK_int32 canResize;
csSDK_int32 canDoSubsize;
csSDK_int32 canDoContinuousTime;
csSDK_int32 noFile;
csSDK_int32 addToMenu;
csSDK_int32 hasSetup;
csSDK_int32 dontCache;
csSDK_int32 setupOnDblClk;
csSDK_int32 keepLoaded;
csSDK_int32 priority;
csSDK_int32 canAsync;
csSDK_int32 canCreate;
csSDK_int32 canCalcSizes;
csSDK_int32 canTrim;
csSDK_int32 avoidAudioConform;
prUTF16Char *acceleratorFileExt;
csSDK_int32 canCopy;
csSDK_int32 canSupplyMetadataClipName;
csSDK_int32 private;
csSDK_int32 canProvidePeakAudio;
csSDK_int32 canProvideFileList;
csSDK_int32 canProvideClosedCaptions;
prPluginID fileInfoVersion;
} imImportInfoRec;
Screen Info¶
|
Member |
Description |
|---|---|
|
|
If set, this is a synthetic importer. The file reference will be zero. |
|
|
If set to |
|
|
If set, the importer can render frames at arbitrary times and there is no set timecode. |
|
|
If set, Premiere will treat this synthetic importer as if it creates files on disk to be referenced for frames and audio. |
File Handling Flags¶
|
Member |
Description |
|---|---|
|
|
If set, the importer handles open and close operations. |
|
|
If set, the importer handles File > Save and File > Save As after a clip has been captured and must handle the |
|
|
If set, the importer can delete its own files. |
|
|
If set, the importer can calculate the disk space used by a clip during imCalcSize. |
|
|
If set, the importer can trim files during imTrimFile. |
|
|
Set this to true if the importer supports copying clips in the Project Manager. |
Setup Flags¶
| Member | Description |
|---|---|
hasSetup |
If set, the importer has a setup dialog. The dialog should be presented in response to imGetPrefs |
setupOnDblClk |
If set, the setup dialog should be opened whenever the user double clicks on a file imported by the plugin the timeline or the project bin. |
Memory Handling Flags¶
|
Member |
Description |
|---|---|
|
|
Unused. |
|
|
If set, the importer plugin should never be unloaded. |
Other¶
|
Member |
Description |
|---|---|
|
|
Determines priority levels for importers that handle the same filetype. |
|
|
Type identifier for the import module assigned based on the plugin's IMPT resource. |
|
|
New in Premiere Pro CC. Set this to true if the importer supports media with embedded closed captioning. |
|
|
Set this to true if the importer supports fast audio retrieval and does not need the audio clips it imports to be conformed. |
|
|
New in Premiere Pro CS5.5. Set this to true if your non-synthetic importer wants to provide peak audio data using |
|
|
Fill this prUTF16Char array of size 256 with the file extensions of accelerator files that the importer creates and uses. |
|
|
Allows file based importer to set clip name from metadata. |
|
|
New in CS6. Set this to true if the importer will provide a list of all files for a copy operation in response to |
|
|
New in CC 2014. This is used by an optimization in an internal importer. Do not use. |
Unused (in imImportInfoRec)¶
| Member | Description |
|---|---|
canResize |
|
canDoSubsize |
|
canAsync |
imIndFormatRec¶
Selector: imGetIndFormat
Describes the format(s) supported by the importer. Synthetic files can only have one format.
typedef struct {
csSDK_int32 filetype;
csSDK_int32 flags;
csSDK_int32 canWriteTimecode;
char FormatName[256];
char FormatShortName[32];
char PlatformExtension[256];
prBool hasAlternateTypes;
csSDK_int32 alternateTypes[kMaxAlternateTypes];
csSDK_int32 canWriteMetaData;
} imIndFormatRec;
|
Member |
Description |
|---|---|
|
|
Unique four character code (fourcc) of the file. |
|
|
Legacy mechanism for describing the importer capabilities. |
|
|
If set, timecode can be written for this filetype. |
|
|
The descriptive importer name. |
|
|
The short name for the plugin, appears in the format menu. |
|
|
List of all the file extensions supported by this importer. |
|
|
Unused |
|
|
Unused |
|
|
New in 6.0. If set, imSetMetaData is supported for the filetype |
The flags listed below are only for legacy plugins and should not be used.
|
Flag |
Usage |
|---|---|
|
|
Unused |
|
|
Unused |
|
|
Unused: Use |
|
|
Unused: The PiPL resource describes the file as an importer. |
|
|
Indicates that the importer handles still images. |
|
|
Unused: Use |
|
|
If set, the importer can respond to |
|
|
Writes (and reads) metadata, specific to the importer's four character code filetype. |
|
|
Unused |
imIndPixelFormatRec¶
Selector: imGetIndPixelFormat
Describes the pixel format(s) supported by the importer.
typedef struct {
void *privatedata;
PrPixelFormat outPixelFormat;
const void* prefs;
} imIndPixelFormatRec;
| Member | Description |
|---|---|
privatedata |
Instance data from imGetInfo8 or imGetPrefs8. |
outPixelFormat |
One of the pixel formats supported by the importer |
prefs |
New in CC. Clip Source Settings data gathered during imGetPrefs8 (setup dialog). |
imInitiateAsyncClosedCaptionScanRec¶
Selector: imInitiateAsyncClosedCaptionScan
Both imGetNextClosedCaption and imCompleteAsyncClosedCaptionScan may be called from a different thread from which imInitiateAsyncClosedCaptionScan was originally called.
To help facilitate this, outAsyncCaptionScanPrivateData can be allocated by the importer to be used for the upcoming closed caption scan calls, which should then be deallocated in imCompleteAsyncClosedCaptionScan.
The estimated duration of all the closed captions can also be filled in.
This is useful for certain cases where the embedded captions contain many frames of empty data.
typedef struct {
void* privatedata;
void* prefs;
void* outAsyncCaptionScanPrivateData;
csSDK_int64 outScale;
csSDK_int64 outSampleSize;
csSDK_int64 outEstimatedDuration;
} imInitiateAsyncClosedCaptionScanRec;
| Member | Description |
|---|---|
privatedata |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings data gathered during imGetPrefs8 (setup dialog). |
outAsyncCaptionScanPrivateData |
The importer can allocate instance data for this closed caption scan, and pass it back here. |
outScale |
New in CC October 2013. The frame rate of the video clip, represented as scale over sampleSize. |
outSampleSize |
|
outEstimatedDuration |
New in CC October 2013. The estimated duration of all the captions, in the above timescale |
imMetaDataRec¶
Selector: imGetMetaData and imSetMetaData
Describes the metadata specific to a given four character code.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 fourCC;
csSDK_uint32 buffersize;
char *buffer;
} imMetaDataRec;
| Member | Description |
|---|---|
privatedata |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings data gathered during imGetPrefs8 (setup dialog). |
fourcc |
Fourcc code of the metadata chunk. |
buffersize |
Size of the data in buffer. |
buffer |
The metadata. |
imPeakAudioRec¶
Selector: imGetPeakAudio
Describes the peak values of the audio at the specified position.
typedef struct {
void *inPrivateData;
void *inPrefs;
PrAudioSample inPosition;
float inSampleRate;
csSDK_int32 inNumSampleFrames;
float **outMaxima;
float **outMinima;
} imPeakAudioRec;
| Member | Description |
|---|---|
inPrivateData |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
inPrefs |
Instance data gathered during imGetPrefs8 (setup dialog). |
inPosition |
The starting audio sample frame of the peak data. |
inSampleRate |
The sample rate at which to generate the peak data. |
inNumSampleFrames |
The number of sample frames in each buffer. |
outMaxima |
An array of arrays to be filled with the maximum sample values. |
outMinima |
An array of arrays to be filled with the minimum sample values. |
imPreferredFrameSizeRec¶
Selector: imGetPreferredFrameSize
Describes a frame size preferred by the importer.
typedef struct {
void *inPrivateData;
void *inPrefs;
PrPixelFormat inPixelFormat;
csSDK_int32 inIndex;
csSDK_int32 outWidth;
csSDK_int32 outHeight;
} imPreferredFrameSizeRec;
| Member | Description |
|---|---|
inPrivateData |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
inPrefs |
Clip Source Settings data gathered during imGetPrefs8 (setup dialog). |
inPixelFormat |
The pixel format for this preferred frame size. |
inIndex |
The index of this preferred frame size. |
outWidth |
The dimensions of this preferred frame size. |
outHeight |
imQueryContentStateRec¶
Selector: imQueryContentState
Fill in the outContentStateID, which should be a GUID calculated based on the content state of the clip at inSourcePath.
If the state hasn't changed since the last call, the GUID returned should be the same.
typedef struct {
const prUTF16Char* inSourcePath;
prPluginID outContentStateID;
} imQueryContentStateRec;
imQueryDestinationPathRec¶
Selector: imQueryDestinationPath
Fill in the desired outActualDestinationPath, based on the inSourcePath and inSuggestedDestinationPath.
typedef struct {
void *inPrivateData;
void *inPrefs;
const prUTF16Char *inSourcePath;
const prUTF16Char *inSuggestedDestinationPath;
prUTF16Char *outActualDestinationPath;
} imQueryDestinationPathRec;
| Member | Description |
|---|---|
inPrivateData |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
inPrefs |
Clip Source Settings data gathered during imGetPrefs8 (setup dialog). |
inSourcePath |
The path of the source file to be trimmed |
inSuggestedDestinationPath |
The path suggested by Premiere where the destination file should be created. |
outActualDestinationPath |
The path where the importer wants the destination file to be created. |
imQueryInputFileListRec¶
Selector: imQueryInputFileList
Fill in the outContentStateID, which should be a GUID calculated based on the content state of the clip at inSourcePath.
If the state hasn't changed since the last call, the GUID returned should be the same.
typedef struct {
void* inPrivateData;
void* inPrefs;
PrSDKString inBasePath;
csSDK_int32 outNumFilePaths;
PrSDKString *outFilePaths;
} imQueryInputFileListRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered from |
|
|
Clip Source Settings data gathered from |
|
|
Path of main file that was passed earlier in |
|
|
The first time |
|
|
The second time |
imQueryStreamLabelRec¶
Selector: imQueryStreamLabel
New in CS6. Based on the stream ID passed in, allocate and pass back a label for the stream.
For stereoscopic importers, use the predefined labels in PrSDKStreamLabel.h.
typedef struct {
void *inPrivateData;
csSDK_int32 *inPrefs;
csSDK_int32 inStreamIdx;
PrSDKString* outStreamLabel;
} imQueryStreamLabelRec;
| Member | Description |
|---|---|
privatedata |
Instance data gathered from imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings data gathered from imGetPrefs8 (setup dialog info). |
inStreamIdx |
The ID of the stream that needs to be labeled. |
outStreamLabel |
The stream label, allocated using the String Suite. |
imSaveFileRec8¶
Selector: imSaveFile8
Describes the file to be saved.
typedef struct {
void *privatedata;
csSDK_int32 *prefs;
const prUTF16Char* sourcePath;
const prUTF16Char* destPath;
char move;
importProgressFunc progressCallback;
void *progressCallbackID;
} imSaveFileRec8;
| Member | Description |
|---|---|
privatedata |
Instance data gathered from imGetInfo8 or imGetPrefs8. |
prefs |
Clip Source Settings data gathered from imGetPrefs8 (setup dialog info). |
sourcePath |
Full path of the file to be saved. |
destPath |
Full path the file should be saved to. |
move |
If non-zero, this is a move operation and the original file (the sourcePath) can be deleted after copying is complete. |
progressCallback |
Function to call repeatedly to provide progress and to check for cancel by user. May be a NULL pointer, so make sure the function pointer is valid before calling. |
progressCallbackID |
Pass to progressCallback. |
imSourceVideoRec¶
Selector: imGetSourceVideo, aiInitiateAsyncRead, aiGetFrame
Describes the requested frame, to be passed back in outFrame.
typedef struct {
void *inPrivateData;
csSDK_int32 currentStreamIdx;
PrTime inFrameTime;
imFrameFormat *inFrameFormats;
csSDK_int32 inNumFrameFormats;
bool removePulldown;
PPixHand *outFrame;
void *prefs;
csSDK_int32 prefsSize;
PrSDKString selectedColorProfileName;
PrRenderQuality inQuality;
imRenderContext inRenderContext;
PrSDKColorSpaceID opaqueColorSpaceIdentifier;
} imSourceVideoRec;
| Member | Description |
|---|---|
inPrivateData |
Instance data gathered during imGetInfo8 or imGetPrefs8. |
currentStreamIdx |
New in CS6. If the clip has multiple streams (for stereoscopic video or otherwise), this ID differentiates between them. |
inFrameTime |
Time of frame requested. |
inFrameFormats |
An array of requested frame formats, in order of preference. If NULL, then any format is acceptable. |
inNumFrameFormats |
The number of frame formats in the inFrameFormats. |
removePulldown |
If true, pulldown should be removed if the pixel format supports it. |
outFrame |
Allocate memory to hold the requested frame, and pass it back here. |
prefs |
New in Premiere Pro 4.1. prefs data from imGetPrefs8 |
prefsSize |
New in Premiere Pro 4.1. Size of prefs data. |
selectedColorProfileName |
New in Premiere Pro CS5.5. A string that specifies the color profile of the imported frame. |
inQuality |
New in Premiere Pro CC 2014. |
inQuality |
New in Premiere Pro CC 2014. |
inQuality |
New in Premiere Pro CC 2014. |
imSubTypeDescriptionRec¶
Selector: imGetSubTypeNames
Added in Premiere Pro CS3. Describes the codec name associated with a given fourcc.
typedef struct {
csSDK_int32 subType;
prUTF16Char subTypeName[256];
} imSubTypeDescriptionRec;
imTimeInfoRec8¶
Selector: imGetTimeInfo8 and imSetTimeInfo8
Describes the timecode and timecode rate associated with a clip.
typedef struct {
void *privatedata;
void *prefs;
char orgtime[18];
csSDK_int32 orgScale;
csSDK_int32 orgSampleSize;
char alttime[18];
csSDK_int32 altScale;
csSDK_int32 altSampleSize;
char orgreel[40];
char altreel[40];
char logcomment[256];
csSDK_int32 dataType;
} imTimeInfoRec;
|
Member |
Description |
|---|---|
|
|
Instance data gathered during |
|
|
Clip Source Settings data gathered during |
|
|
The original time in hours;minutes;seconds;frames, as captured from the source reel. |
|
|
Timebase of the timecode in orgtime, represented as scale over sampleSize. |
|
|
|
|
|
An alternative timecode (may differ from the source timecode), formatted as described above. |
|
|
Timebase of the timecode in alttime. |
|
|
|
|
|
Original reel name. |
|
|
Alternate reel name. |
|
|
Comment string. |
|
|
Currently always set to 1, denoting SMPTE timecode. More values may be added in the future. |
imTrimFileRec8¶
Selector: imTrimFile8
Describes how to trim a clip, based on information returned by the importer during imCheckTrim8.
Also provides a callback to update the progress bar and check if the user has cancelled.
typedef struct {
void *privatedata;
void *prefs;
csSDK_int32 trimIn;
csSDK_int32 duration;
csSDK_int32 keepAudio;
csSDK_int32 keepVideo;
const prUTF16Char *destFilePath;
csSDK_int32 scale;
csSDK_int32 sampleSize;
importProgressFunc progressCallback;
void *progressCallbackID;
} imTrimFileRec8;
|
Member |
Description |
|---|---|
|
|
Instance data gathered during |
|
|
Clip settings data gathered during |
|
|
In point of the trimmed clip, in the timebase specified by scale and sampleSize. |
|
|
Duration of the trimmed clip. If 0, then the request is to leave the clip untrimmed, and at the current duration |
|
|
If non-zero, the request is to keep the audio in the trimmed result. |
|
|
If non-zero, the request is to keep the video in the trimmed result. |
|
|
The unicode path and name of the file to create. |
|
|
The frame rate of the video, represented as scale over sampleSize. |
|
|
|
|
|
|
|
|
Pass to |
imIndColorSpaceRec¶
Selector: imGetIndColorSpace
Describes the colorspace of the media.
typedef ColorSpaceRec imIndColorSpaceRec;
typedef struct {
void *privatedata;
PrSDKColorSpaceType outColorSpaceType;
RawColorProfileRec ioProfileRec;
prSEIColorCodesRec outSEICodesRec;
} ColorSpaceRec;
|
Member |
Description |
|---|---|
|
|
Private. |
|
|
One of the following: |
|
|
A structure describing the color profile. |
|
|
A structure describing the color space using codes; used with H.265, HEVC, AVC and ProRes media. |
RawColorSpaceRec¶
Selector: imGetIndColorSpace
Describes the colorspace in use with the media.
typedef struct
{
PrSDKColorSpaceType colorSpaceType;
RawColorProfileRec profileRec; // for ICC and Predefined Color Spaces
prSEIColorCodesRec seiCodesRec; // H-265 codes for HEVC, AVC, ProRes
} RawColorSpaceRec;
|
Member |
Description |
|---|---|
|
|
One of the following: |
|
|
A structure describing the color space. |
|
|
A structure describing the color space; used with H.265, HEVC, AVC and ProRes media. |
Colorspace can be described via multiple way, type depends on colorSpaceType.
If type is kPrSDKColorSpaceType_Predefined - Color space is specified via predefined strings from PrSDKColorSpaces.h.
If type is kPrSDKColorSpaceType_ICC - Color space is specified via ICC profile in profileRec.
If type is kPrSDKColorSpaceType_SEITags - Color space is specified via enums codes for color primaries (C), transfer characteristic (T), matrix equation (M). Supported C-T-M enums are defined in PrSDKColorSEICodes.h.
EmbeddedLUTRec¶
Selector: imGetIndColorSpace
Describes the LUT embedded with in the media.
typedef struct
{
void* privateData;
RawColorProfileRec lutBlobRec;
RawColorSpaceRec lutInColorSpaceRec;
RawColorSpaceRec lutOutColorSpaceRec;
} EmbeddedLUTRec;
| Member | Description |
|---|---|
privatedata |
Private. |
lutBlobRec |
Describes the embedded LUT. |
lutInColorSpaceRec |
Describes the LUT input colorspace rec. |
lutOutColorSpaceRec |
Describes the LUT output colorspace rec. |
imRenderContext¶
Selector: imGetSourceVideo (member of imSourceVideoRec)
Describes the context of the render; why it's occurring, and what rate and ratio is in use.
typedef struct
{
imRenderIntent inIntent;
double inPlaybackRatio;
double inPlaybackRate;
} imRenderContext;
|
Member |
Description |
|---|---|
|
|
The intent of the render being requested. |
|
|
|
|
|
|