Skip to content

Basic Types Structures

Basic Types Structures

These types and structures are defined in PrSDKTypes.h and PrSDKStructs.h, and are used throughout the Premiere API.

Premiere defines cross-platform types for convenience when developing plugins for both Windows and Mac OS.

NameDescription
prColorAn unsigned 32-bit integer that stores an RGB color.
This type is useful for the 8-bpc colors retrieved by the color picker in a video effect or transition.
Color channels are stored as BGRA, in order of increasing memory address from left to right.
prWndA Windows HWND or Mac OS NSView*
prParentWndA Windows HWND or Mac OS NSWindow*
prOffscreenA Windows HDC
prRectA Windows RECT or Mac OS Rect.
Use the utility function prSetRect to set the dimensions of a prRect struct.
This should be used because Mac OS Rect members have a different ordering than Windows RECT members.
prFloatRect
typedef struct {
float left;
float top;
float right;
float bottom;
} prFloatRect;
prRgnA Windows HRGN
prPoint, LongPoint
typedef struct {
csSDK_int32 x;
csSDK_int32 y;
} prPoint, LongPoint;
LongPoint is deprecated, but still used for a couple of Bottleneck callbacks
prFPoint
typedef struct {
double x;
double y;
} prFPoint64;
prPixel(Deprecated)
prPixelAspectRatio(Deprecated)
PPix, *PPixPtr, **PPixHandHolds a video frame or field, and contains related attributes such as pixel aspect ratio and pixel format.
Manipulate PPixs using the PPix Suite, never directly.
TDB_TimeRecordA time database record representing a time value in the context of a video frame rate.
typedef struct {
TDB_Time value;
TDB_TimeScale scale;
TDB_SampSize sampleSize;
} TDB_TimeRecord;
prBoolCan be either kPrTrue or kPrFalse
PrMemoryPtr, *PrMemoryHandleA char*
PrTimelineID, PrClipIDA 32-bit signed integer.
prUTF8CharAn 8-bit unsigned integer.
PrSDKStringAn opaque data type that should be accessed using the new String Suite.
PrParamUsed for exporter parameters
struct PrParam
{
PrParamType mType;
union
{
csSDK_int8 mInt8;
csSDK_int16 mInt16;
csSDK_int32 mInt32;
csSDK_int64 mInt64;
float mFloat32;
double mFloat64;
csSDK_uint8 mBool;
prFPoint64 mPoint;
prPluginID mGuid;
PrMemoryPtr mMemoryPtr;
};
};

enum PrParamType
{
kPrParamType_Int8 = 1,
kPrParamType_Int16,
kPrParamType_Int32,
kPrParamType_Int64,
kPrParamType_Float32,
kPrParamType_Float64,
kPrParamType_Bool,
kPrParamType_Point,
kPrParamType_Guid,
kPrParamType_PrMemoryPtr
};
prDateStampUsed in by importers in imFileAttributesRec.creationDateStamp.
typedef struct
{
csSDK_int32 day;
csSDK_int32 month;
csSDK_int32 year;
csSDK_int32 hours;
csSDK_int32 minutes;
double seconds;
} prDateStamp;