diff --git a/.gitignore b/.gitignore index d350e7b..ea8ec2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.xcworkspace/xcuserdata +Syphon-Transmit/Adobe diff --git a/Syphon-Transmit/Adobe/Headers/AE_CacheOnLoadSuite.h b/Syphon-Transmit/Adobe/Headers/AE_CacheOnLoadSuite.h deleted file mode 100755 index 3572ce7..0000000 --- a/Syphon-Transmit/Adobe/Headers/AE_CacheOnLoadSuite.h +++ /dev/null @@ -1,39 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2003 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef AECACHEONLOADSUITE -#define AECACHEONLOADSUITE - -/** -** CacheOnLoadSuite, used to signal whether or not the plugin needs to load from -** disk every time on startup. -*/ -#define kPFCacheOnLoadSuite "PF Cache On Load Suite" -#define kPFCacheOnLoadSuiteVersion1 1 - -typedef struct PF_CacheOnLoadSuite1 { - - SPAPI PF_Err (*PF_SetNoCacheOnLoad)( PF_ProgPtr effect_ref, - long effectAvailable); - -} PF_CacheOnLoadSuite1; - -#endif // AECACHEONLOADSUITE \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAESupport.h b/Syphon-Transmit/Adobe/Headers/PrSDKAESupport.h deleted file mode 100755 index ab1b1e8..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAESupport.h +++ /dev/null @@ -1,458 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKAESUPPORT_H -#define PRSDKAESUPPORT_H - -#ifdef PREMIERE_INTERNAL - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef __APPLE__ -// Required for AE Stuff -#ifndef MSWindows -#define MSWindows 1 -#endif -#endif - -#ifndef _H_AE_Effect -#include "AE_Effect.h" -#endif - -#ifndef _H_AE_EffectCB -#include "AE_EffectCB.h" -#endif - -#ifndef PREMIERE_INTERNAL -#ifndef csSDK_uint32 -typedef unsigned int csSDK_uint32; -typedef int csSDK_int32; - -#ifdef AE_OS_WIN -typedef signed __int64 csSDK_int64; -#elif defined AE_OS_MAC -typedef int64_t csSDK_int64; -#endif - -typedef csSDK_int64 prInt64; -typedef csSDK_int32 prFieldType; -typedef csSDK_int32 PrTimelineID; -typedef csSDK_int32 PrClipID; -typedef prInt64 PrTime; - -#ifndef PRSDKTYPES_H -typedef struct -{ - csSDK_int64 opaque[2]; -} PrSDKString; -#endif - -#endif - -enum { - PF_TimeDisplay_24 = 1, - PF_TimeDisplay_25, - PF_TimeDisplay_30Drop, - PF_TimeDisplay_30NonDrop, - PF_TimeDisplay_50, - PF_TimeDisplay_60Drop, - PF_TimeDisplay_60NonDrop, - PF_TimeDisplay_NonStandard, - PF_TimeDisplay_Invalid -}; -typedef csSDK_uint32 PF_TimeDisplay; -#endif - -#define kPFPixelFormatSuite "PF Pixel Format Suite" -#define kPFPixelFormatSuiteVersion1 1 - -typedef struct PF_PixelFormatSuite1 -{ - SPAPI PF_Err (*AddSupportedPixelFormat)( - PF_ProgPtr effect_ref, /* reference from in_data */ - PrPixelFormat pixelFormat); /* add a supported pixel format */ - - SPAPI PF_Err (*ClearSupportedPixelFormats)( - PF_ProgPtr effect_ref); /* reference from in_data */ - - // not implemented yet - SPAPI PF_Err (*NewWorldOfPixelFormat)( - PF_ProgPtr effect_ref, /* reference from in_data */ - A_u_long width, - A_u_long height, - PF_NewWorldFlags flags, /* should be pre-cleared to zeroes */ - PrPixelFormat pixelFormat, - PF_EffectWorld *world); /* always 32 bit */ - - // not implemented yet - SPAPI PF_Err (*DisposeWorld)( /* Identical to dispose_world in PF_WorldSuite */ - PF_ProgPtr effect_ref, /* reference from in_data */ - PF_EffectWorld *world); - - - SPAPI PF_Err (*GetPixelFormat)( - PF_EffectWorld *inWorld, /* the pixel buffer of interest */ - PrPixelFormat *pixelFormat); /* one of the above PF_PixelFormat types */ - - SPAPI PF_Err (*GetBlackForPixelFormat)( - PrPixelFormat pixelFormat, - void* pixelData); - - SPAPI PF_Err (*GetWhiteForPixelFormat)( - PrPixelFormat pixelFormat, - void* pixelData); - - SPAPI PF_Err (*ConvertColorToPixelFormattedData)( - PrPixelFormat pixelFormat, - float alpha, - float red, - float green, - float blue, - void* pixelData); - -} PF_PixelFormatSuite1; - - -/********** Documentation *********************************************** -AddSupportedPixelFormat() - During PF_Cmd_GLOBAL_SETUP a plug-in can add the formats it supports. By definition, - the 8-bit ARGB pixel format in use today will be the lowest priority, the default and doesn't - need to be added. The default pixel format will be used when the rendering pipeline - indicates it would be optimal and minimizes color space conversions. Within the scope of - Premiere, the effect_ref will be a reference to one of the many types of plug-ins (import, - compile, export, etc...). - -NewWorldOfPixelFormat() - Since the pixel buffers for some of the formats are very different in structure, an allocator - that understands the new formats would be a nice convenience and have some performance benefits. - For example, YCbCr(YUV) is often stored planar rather than packed. - -DisposeWorld() - This call is to balance the suite, however it's functionally equivalent to the dispose_world - in the PF_WorldSuite or the dispose_world callback in the _PF_UtilCallbacks. However, all dispose - world calls will need to be updated to understand how to dispose of planar pixels. - -GetPixelFormat() - Retrieves the pixel format label of the PF_EffectWorld of interest. - -SetPixelFormat() - Sets the pixel format label of the PF_EffectWorld of interest. It does not convert the pixels to the - format specified. Perhaps this call doesn't need to be public, as the user will be using the - ConvertToPixelFormat() call which will set the format? - -ConvertToPixelFormat() - Used to convert a PF_EffectWorld to another pixel format, such as converting ARGB to YCbCr(YUV). The - function would use built in conversion routines and would account for white and black levels while - performing appropriate clipping or scaling. -***********************************************************************/ - - -#define kPFBackgroundFrameSuite "PF Background Frame Suite" -#define kPFBackgroundFrameSuiteVersion1 1 - -typedef struct PF_BackgroundFrameSuite1 -{ - SPAPI PF_Err (*AddSupportedBackgroundTransferMode)( - PF_ProgPtr effect_ref, /* reference from in_data */ - PF_TransferMode supportedTransferMode, /* transfer mode that an effect can use to composite on the background */ - PrPixelFormat supportedPixelFormat); /* pixel format that the effect can composite with */ - - SPAPI PF_Err (*GetBackgroundFrame)( - PF_ProgPtr effect_ref, /* reference from in_data */ - PF_LayerDef** backgroundFrame, /* the background frame, if any */ - PF_TransferMode* backgroundTransferMode); /* the transfer mode to be used on the background frame */ -} PF_BackgroundFrameSuite1; - -/********** Documentation *********************************************** -AddSupportedBackgroundTransferMode - Called to register support for a transfer mode in a filter. - The filter must be able to do its effect and composite onto the background. - -GetBackgroundLayer() - Get the background layer and the transfer mode. - If the returned PF_LayerDef* is nil, there is no background frame. -***********************************************************************/ - - -#define kPFUtilitySuite "PF Utility Suite" -#define kPFUtilitySuiteVersion2 2 -#define kPFUtilitySuiteVersion3 3 -#define kPFUtilitySuiteVersion4 4 -#define kPFUtilitySuiteVersion5 5 -#define kPFUtilitySuiteVersion6 6 - -typedef struct PF_UtilitySuiteVersion1 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); -} PF_UtilitySuiteVersion1; - -typedef struct PF_UtilitySuite2 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); - SPAPI PF_Err (*GetMediaTimecode)( - PF_ProgPtr effect_ref, - A_long* outCurrentFrame, - PF_TimeDisplay* outTimeDisplay); - SPAPI PF_Err (*GetClipSpeed)( - PF_ProgPtr effect_ref, - double* speed); - SPAPI PF_Err (*GetClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); -} PF_UtilitySuite2; - -typedef struct PF_UtilitySuite3 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); - SPAPI PF_Err (*GetMediaTimecode)( - PF_ProgPtr effect_ref, - A_long* outCurrentFrame, - PF_TimeDisplay* outTimeDisplay); - SPAPI PF_Err (*GetClipSpeed)( - PF_ProgPtr effect_ref, - double* speed); - SPAPI PF_Err (*GetClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetTrackItemStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetMediaFieldType)( - PF_ProgPtr effect_ref, - prFieldType* outFieldType); - SPAPI PF_Err (*GetMediaFrameRate)( - PF_ProgPtr effect_ref, - PrTime* outTicksPerFrame); - SPAPI PF_Err (*GetContainingTimelineID)( - PF_ProgPtr effect_ref, - PrTimelineID* outTimelineID); -} PF_UtilitySuite3; - -typedef struct PF_UtilitySuite4 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); - SPAPI PF_Err (*GetMediaTimecode)( - PF_ProgPtr effect_ref, - A_long* outCurrentFrame, - PF_TimeDisplay* outTimeDisplay); - SPAPI PF_Err (*GetClipSpeed)( - PF_ProgPtr effect_ref, - double* speed); - SPAPI PF_Err (*GetClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetTrackItemStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetMediaFieldType)( - PF_ProgPtr effect_ref, - prFieldType* outFieldType); - SPAPI PF_Err (*GetMediaFrameRate)( - PF_ProgPtr effect_ref, - PrTime* outTicksPerFrame); - SPAPI PF_Err (*GetContainingTimelineID)( - PF_ProgPtr effect_ref, - PrTimelineID* outTimelineID); - SPAPI PF_Err (*GetClipName)( - PF_ProgPtr effect_ref, - PrSDKString * outSDKString); - SPAPI PF_Err (*EffectWantsCheckedOutFramesToMatchRenderPixelFormat)( - PF_ProgPtr effect_ref); -} PF_UtilitySuite4; - -typedef struct PF_UtilitySuite5 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); - SPAPI PF_Err (*GetMediaTimecode)( - PF_ProgPtr effect_ref, - A_long* outCurrentFrame, - PF_TimeDisplay* outTimeDisplay); - SPAPI PF_Err (*GetClipSpeed)( - PF_ProgPtr effect_ref, - double* speed); - SPAPI PF_Err (*GetClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetTrackItemStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetMediaFieldType)( - PF_ProgPtr effect_ref, - prFieldType* outFieldType); - SPAPI PF_Err (*GetMediaFrameRate)( - PF_ProgPtr effect_ref, - PrTime* outTicksPerFrame); - SPAPI PF_Err (*GetContainingTimelineID)( - PF_ProgPtr effect_ref, - PrTimelineID* outTimelineID); - SPAPI PF_Err (*GetClipName)( - PF_ProgPtr effect_ref, - A_Boolean inGetMasterClipName, - PrSDKString * outSDKString); - SPAPI PF_Err (*EffectWantsCheckedOutFramesToMatchRenderPixelFormat)( - PF_ProgPtr effect_ref); - SPAPI PF_Err (*EffectDependsOnClipName)( - PF_ProgPtr effect_ref, - A_Boolean inDependsOnClipName); - SPAPI PF_Err (*SetEffectInstanceName)( - PF_ProgPtr effect_ref, - const PrSDKString * inSDKString); -} PF_UtilitySuite5; - -typedef struct PF_UtilitySuite6 -{ - SPAPI PF_Err (*GetFilterInstanceID)( - PF_ProgPtr effect_ref, - A_long* outFilterInstanceID); - SPAPI PF_Err (*GetMediaTimecode)( - PF_ProgPtr effect_ref, - A_long* outCurrentFrame, - PF_TimeDisplay* outTimeDisplay); - SPAPI PF_Err (*GetClipSpeed)( - PF_ProgPtr effect_ref, - double* speed); - SPAPI PF_Err (*GetClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipDuration)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetUnscaledClipStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetTrackItemStart)( - PF_ProgPtr effect_ref, - A_long* frameDuration); - SPAPI PF_Err (*GetMediaFieldType)( - PF_ProgPtr effect_ref, - prFieldType* outFieldType); - SPAPI PF_Err (*GetMediaFrameRate)( - PF_ProgPtr effect_ref, - PrTime* outTicksPerFrame); - SPAPI PF_Err (*GetContainingTimelineID)( - PF_ProgPtr effect_ref, - PrTimelineID* outTimelineID); - SPAPI PF_Err (*GetClipName)( - PF_ProgPtr effect_ref, - A_Boolean inGetMasterClipName, - PrSDKString * outSDKString); - SPAPI PF_Err (*EffectWantsCheckedOutFramesToMatchRenderPixelFormat)( - PF_ProgPtr effect_ref); - SPAPI PF_Err (*EffectDependsOnClipName)( - PF_ProgPtr effect_ref, - A_Boolean inDependsOnClipName); - SPAPI PF_Err (*SetEffectInstanceName)( - PF_ProgPtr effect_ref, - const PrSDKString * inSDKString); - SPAPI PF_Err (*GetFileName)( - PF_ProgPtr effect_ref, - PrSDKString * outSDKString); -} PF_UtilitySuite6; -/********** Documentation *********************************************** -GetFilterInstanceID - An AE filter running in Premiere can call this method to obtain - its instance ID from the PF_InData->effect_ref. The instance ID - obtained is the same value contained in the prtFilterRec of its RT segment. -GetMediaTimecode - Returns the starting timecode of the media file. -GetClipSpeed - Returns the playback rate of the underlying clip in the timeline - (negative speed means backwards playback). -GetClipDuration - Returns the trimmed duration (in frames) of the underlying clip in - the timeline. -***********************************************************************/ - - - -#define kPFTransitionSuite "PF Transition Suite" -#define kPFTransitionSuiteVersion 1 - -typedef struct PF_TransitionSuite -{ - /** - ** Register an effect as a transition using the passed in - ** input layer as the outgoing clip. When registered the effect - ** will be available to be dragged directly onto clip ends rather - ** than only applied to layers. - */ - SPAPI PF_Err (*RegisterTransitionInputParam)( - PF_ProgPtr inEffectRef, - PF_ParamIndex inIndex); - -} PF_TransitionSuite; - - -#endif // PRSDKAESUPPORT_H - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRender.h b/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRender.h deleted file mode 100755 index e718ce2..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRender.h +++ /dev/null @@ -1,227 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKACCELERATEDRENDER_H -#define PRSDKACCELERATEDRENDER_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKSTREAMLABEL_H -#include "PrSDKStreamLabel.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef __SPBasic__ -#include "SPBasic.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define prAcceleratedRendererVersion100 1 // CS4 -#define prAcceleratedRendererVersion200 2 // CS5 -#define prAcceleratedRendererVersion300 3 // CS5.0.1 -#define prAcceleratedRendererVersion400 4 // CS5.5 -#define prAcceleratedRendererVersion500 5 // CS6 -#define prAcceleratedRendererVersion600 6 // CS7 -#define RENDERMOD_VERSION prAcceleratedRendererVersion600 - -#define prHideRendererInUI -100 - -typedef struct -{ - prPluginID outIdentifier; - // 0 is the priority of the host renderer - a plugin generally wants to be higher - // <0 implies the accelerator is not enabled by default - // <= prHideRenderInUI is self explanatory - int outPriority; - prUTF16Char outDisplayName[256]; -} arRendererInfo; - -typedef struct -{ - int inInterfaceVer; //RENDERMOD_VERSION - int inPluginID; - int inIndex; - void* ioPluginPrivateInstanceData; //Set during arSelector_Startup, available during all other selectors, and cleaned up during arSelector_Shutdown - - piSuites* (*inGetPluginInterfaceSuiteCallback)(); -} arStdParms; - -typedef struct -{ - PrTimelineID inTimelineID; - int inExportFlags; - PrTime inTimelineFrameRate; - int inTimelineWidth; - int inTimelineHeight; - csSDK_uint32 inTimelinePARNum; - csSDK_uint32 inTimelinePARDen; - prFieldType inTimelineFieldType; - - void* ioPrivatePluginSequenceData; //Set during arSelector_SequenceSetup, cleaned up during arSelector_SequenceSetdown - PrSDKStreamLabel inStreamLabel; -} arSequenceData; - -typedef struct -{ - PrTime inStartTime; //provided by the host - will start at time zero and will iterate - PrTime outEndTime; //Filled in by the plugin - int outStatus; //see the arSegmentStatus enum -} arVideoSegmentInfo; - -typedef struct -{ - arVideoSegmentInfo inSegmentInfo; - int inPixelFormatIndex; - PrPixelFormat outPixelFormat; -} arVideoSegmentPixelFormat; - -typedef enum -{ - arRenderIntent_Unknown = -1, - arRenderIntent_Export = 0, - arRenderIntent_Stopped, - arRenderIntent_Scrubbing, - arRenderIntent_Preroll, - arRenderIntent_Playing, - arRenderIntent_SpeculativePrefetch, -} arRenderIntent; -typedef struct -{ - arRenderIntent inIntent; - double inPlaybackRatio; // 1.0 means full framerate, lower values indicate deteriorating playback - double inPlaybackRate; // 1.0 means 1x forward, -1.0 means 1x backward, etc. -} arRenderContext; -#define arPlaybackRatio_Normal 1.0 -#define arPlaybackRate_Stopped 0.0 -inline arRenderContext arDefaultRenderContext() { arRenderContext context = {arRenderIntent_Unknown,arPlaybackRatio_Normal,arPlaybackRate_Stopped}; return context; } - -enum -{ - arCompletion_Success = 0, - arCompletion_Error = -1, - arCompletion_Cancelled = -2 -}; - -typedef void (*AcceleratedRendererCompletionCallback)(void* inCallbackData, csSDK_int32 inRequestID, PPixHand inPPix, int inCompletion); - -typedef struct -{ - PrTime inTime; //TODO two times for the two fields? Or do we rely on the sequence frame rate? - int inWidth; - int inHeight; - csSDK_uint32 inPARNum; - csSDK_uint32 inPARDen; - PrPixelFormat inPixelFormat; - PrRenderQuality inQuality; - bool inPrefetchOnly; - bool inCompositeOnBlack; - - AcceleratedRendererCompletionCallback inCompletionCallback; - void* inCompletionCallbackData; - csSDK_int32 inRequestID;//provided by the host, used to cancel the request - - bool inRenderFields; - arRenderContext mRenderContext; -} arRenderRequest; - -#define SDKAcceleratedRendererEntryPointName "xRendererEntry" -typedef PREMPLUGENTRY (* AcceleratedRendererEntryFunc)(int selector, arStdParms* stdParms, void* param1, void* param2); - -typedef enum -{ - arSegmentStatus_CannotRender = 0, - arSegmentStatus_CanRender_NonRealTimeUnspecified = 1, - arSegmentStatus_CanRender_RealTime = 2, - arSegmentStatus_CanRender_RealTimeWithMismatch = 3, - - arSegmentStatus_CanRender = arSegmentStatus_CanRender_NonRealTimeUnspecified -} arSegmentStatus; - -enum -{ - arTimelineFlag_UseExistingPreviewFiles = 0x1 //A sequence will be setup twice, once with this flag and once without -}; - -// Selectors -enum PrRendererSelector -{ - arSelector_Startup = 0, //arRendererInfo, unused - arSelector_Shutdown = 1,//unused, unused - - arSelector_SequenceSetup = 2, //arSequenceData, unused - arSelector_SequenceSetdown = 3,//arSequenceData, unused - - arSelector_IterateVideoSegments = 4,//arSequenceData, arVideoSegmentInfo - arSelector_IterateVideoSegmentPixelFormats = 5,//arSequenceData, arVideoSegmentPixelFormat - - arSelector_InitiateFrameRender = 6,//arSequenceData, arRenderRequest - arSelector_CancelFrameRender = 7,//arSequenceData, renderRequestID - arSelector_CancelAllFrameRenders = 8//arSequenceData, unused -}; - -// Return codes -enum PrRendererReturn -{ - arReturn_Success = 0, - - arReturn_ContinueIterateRenderers = 1, //used during Startup to support multiple renderers in a single plugin - arReturn_ContinueIterateVideoSegments = 2, - arReturn_ContinueIteratePixelFormats = 5, - - arReturn_ErrorUnknown = -1, - arReturn_ErrorMemory = -2, - arReturn_ErrorHost = -3, - arReturn_ErrorUnsupported = -4 -}; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif //PRSDKACCELERATEDRENDER_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRenderInvocationSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRenderInvocationSuite.h deleted file mode 100755 index da6d495..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAcceleratedRenderInvocationSuite.h +++ /dev/null @@ -1,142 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKACCELERATEDRENDERINVOCATIONSUITE_H -#define PRSDKACCELERATEDRENDERINVOCATIONSUITE_H - - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKACCELERATEDRENDER_H -#include "PrSDKAcceleratedRender.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKAcceleratedRenderInvocationSuite "MediaCore Accelerated Render Invocation Suite" -#define kPrSDKAcceleratedRenderInvocationSuiteVersion3 3 -#define kPrSDKAcceleratedRenderInvocationSuiteVersion kPrSDKAcceleratedRenderInvocationSuiteVersion3 - -/** -** IDs of accelerated renderers, to be used with PrSDKAcceleratedRendererInvocationSuite. -*/ -#define PrCUDARendererID "7EE0AB59-822D-44cc-AC10-16279D041016" -#define PrOpenCLRendererID "BE93941A-7488-4117-8A46-7E3596950307" -#define PrSoftwareOnlyRendererID "F33089E2-1EDE-47C1-8A9E-B232BB1CC1A4" - -/** -** Access to invoking specific accelerated renderers by ID -*/ -typedef struct -{ - /** - ** Get the ID of the currently selected sequence renderer. - ** - ** @param outRendererID - GUID as returned from arSelector_Startup - ** nil when software renderer is selected. - */ - prSuiteError (*GetCurrentAcceleratedSequenceRendererID)( - prPluginID* outRendererID); - - /** - ** Creates an accelerated renderer by ID. This must be disposed with DisposeAcceleratedSequenceRenderer. - ** - ** @param inRendererID - GUID as returned from arSelector_Startup - ** @param inSequence - a top level sequence - */ - prSuiteError (*CreateAcceleratedSequenceRenderer)( - prPluginID* inRendererID, - PrTimelineID inSequence, - prBool inUsePreviews, - csSDK_uint32* outRendererInstanceID); - - /** - ** Disposes an accelerated renderer instance - */ - prSuiteError (*DisposeAcceleratedSequenceRenderer)( - csSDK_uint32 inRendererInstanceID); - - /** - ** Initiates a render with the given accelerated renderer. - ** - ** @param ioRenderData - ioRenderData->inRequestID will be filled inside call - */ - prSuiteError (*InitiateRender)( - csSDK_uint32 inRendererInstanceID, - arRenderRequest* ioRenderData); - - /** - ** Cancel an outstanding render - */ - prSuiteError (*CancelRender)( - csSDK_uint32 inRendererInstanceID, - csSDK_uint32 inRequestID); - - /** - ** Query properties about a segment - */ - prSuiteError (*QuerySegmentProperties)( - csSDK_uint32 inRendererInstanceID, - PrTime inStartTime, - PrTime* outEndTime, - arSegmentStatus* outStatus, - PrPixelFormat* outPixelFormats, - csSDK_int32* ioPixelFormatCount); - - /** - ** Creates an accelerated renderer by ID. This must be disposed with DisposeAcceleratedSequenceRenderer. - ** - ** @param inRendererID - GUID as returned from arSelector_Startup - ** @param inSequence - a top level sequence - */ - prSuiteError (*CreateAcceleratedSequenceRendererWithStreamLabel)( - prPluginID* inRendererID, - PrTimelineID inSequence, - prBool inUsePreviews, - PrSDKStreamLabel inStreamLabel, - csSDK_uint32* outRendererInstanceID); - - /** - ** Get the name of a sequence renderer. - */ - prSuiteError (*GetAcceleratedSequenceRendererDisplayName)( - prPluginID* inRendererID, - prUTF16Char outDisplayName[256]); -} PrSDKAcceleratedRenderInvocationSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKActivationEvent.h b/Syphon-Transmit/Adobe/Headers/PrSDKActivationEvent.h deleted file mode 100755 index b63b55b..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKActivationEvent.h +++ /dev/null @@ -1,42 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ -#ifndef PRSDKACTIVATIONEVENT_H -#define PRSDKACTIVATIONEVENT_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -/** -** PrActivationEvent - Describes the event that caused activation/deactivation to occur -*/ -typedef enum -{ - PrActivationEvent_Unspecified, - PrActivationEvent_RecorderActivated, - PrActivationEvent_PlayerActivated, - PrActivationEvent_ApplicationLostFocus, - - PrActivationEvent_ForceSize = kPrForceEnumToIntValue -} PrActivationEvent; - -#endif - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAlphaTypes.h b/Syphon-Transmit/Adobe/Headers/PrSDKAlphaTypes.h deleted file mode 100755 index b30bf44..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAlphaTypes.h +++ /dev/null @@ -1,42 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKALPHATYPES_H -#define PRSDKALPHATYPES_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -// alpha channel types for alphaType field: - -typedef csSDK_uint32 PrSDKAlphaType; -const PrSDKAlphaType alphaUnknown = 0; // Unsupported -const PrSDKAlphaType alphaStraight = 1; // straight alpha channel -const PrSDKAlphaType alphaBlackMatte = 2; // Unsupported -const PrSDKAlphaType alphaWhiteMatte = 3; // Unsupported -const PrSDKAlphaType alphaArbitrary = 4; // Unsupported -const PrSDKAlphaType alphaNone = 5; // no alpha channel -const PrSDKAlphaType alphaOpaque = 6; // has alpha channel prefilled to opaque -const PrSDKAlphaType alphaIgnore = 7; // has alpha channel but ignore it - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAppInfoSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKAppInfoSuite.h deleted file mode 100755 index c25cd19..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAppInfoSuite.h +++ /dev/null @@ -1,87 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere and After Effects SDKs. - - -#ifndef PRSDKAPPINFOSUITE_H -#define PRSDKAPPINFOSUITE_H - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKAppInfoSuite "MediaCore App Info Suite" -#define kPrSDKAppInfoSuiteVersion 2 - - -// Used for kAppInfo_AppFourCC -#define kAppPremierePro 'PPro' -#define kAppPremiereElements 'PrEl' -#define kAppAfterEffects 'FXTC' -#define kAppEncoreDVD 'EncD' -#define kAppSoundBooth 'SndB' -#define kAppMediaEncoder 'AME ' -#define kAppCottonwood 'COWO' -#define kAppPrelude 'PRLD' -#define kAppSpeedGrade 'SPGD' - -// Used for kAppInfo_Version -typedef struct -{ - unsigned int major; - unsigned int minor; - unsigned int patch; -} VersionInfo; - -typedef struct -{ -// Used for settingsSelector - enum { - kAppInfo_AppFourCC, // csSDK_uint32 - kAppInfo_Version, // VersionInfo - kAppInfo_Build, // csSDK_uint32 - Added in version 2 - }; - -// GetAppInfo - Get information on the host application. -// Plug-ins such as importers and compilers are supported in different -// host applications. This suite can be used to distinguish between hosts. - - prSuiteError (*GetAppInfo)( - int settingsSelector, - void *appInfo); - -} PrSDKAppInfoSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKAPPINFOSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKApplicationSettingsSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKApplicationSettingsSuite.h deleted file mode 100755 index dcfb8a9..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKApplicationSettingsSuite.h +++ /dev/null @@ -1,101 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public MediaCore SDK - -#ifndef PRSDKAPPLICATIONSETTINGSSUITE_H -#define PRSDKAPPLICATIONSETTINGSSUITE_H - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKSTRINGSUITE_H -#include "PRSDKStringSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// Version info: -// Version 1 - Created for CS401 -#define kPrSDKApplicationSettingsSuite "MediaCore Application Settings Suite" -#define kPrSDKApplicationSettingsSuiteVersion 1 - -enum ScratchDiskType -{ - kScratchDiskType_CaptureVideo = 0, - kScratchDiskType_CaptureAudio, - kScratchDiskType_PreviewVideo, - kScratchDiskType_PreviewAudio, - kScratchDiskType_Max = 0xFFFFFFFF -}; - -typedef struct -{ - /* - ** Given a ScratchDiskType, return a PrSDKString* containing the data. - ** Here's an example of how to get the data out into a prUTF16Char - ** - ** PrSDKString captureVideoPath; - ** prSuiteError suiteError = applicationSettingsSuite->GetScratchDiskFolder(kScratchDiskType_CaptureVideo, &captureVideoPath); - ** if (!suiteError) - ** { - ** prUTF16Char* utf16CharPath = NULL; - ** unsigned long utf16BufferElements = 0; - ** // the first call gets the buffer length to allocate - ** stringSuite->CopyToUTF16String(&captureVideoPath, utf16CharPath, &utf16BufferElements); - ** utf16CharPath = new prUTF16Char[utf16BufferElements]; - ** stringSuite->CopyToUTF16String(&captureVideoPath, utf16CharPath, &utf16BufferElements); - ** stringSuite->DisposeString(&captureVideoPath); - ** } - ** - ** @param inScratchDiskType the scratch disk (see enum ScratchDiskType) - ** @param outScratchDiskFolder if succeeded, contains the PrSDKString with the path info. - ** @return suiteError_InvalidCall if it isn't available (due to no project being loaded or called - ** from a helper application context like ImporterProcessServer). - */ - prSuiteError (*GetScratchDiskFolder)( - unsigned int inScratchDiskType, - PrSDKString* outScratchDiskFolder); - - /* - ** If there is context for getting a project path, and one is opened, - ** @param outCurrentProjectPath if succeeded, contains the PrSDKString with the path info. - ** @return suiteError_InvalidCall if it isn't available (due to no project being loaded or called - ** from a helper application context like ImporterProcessServer). - */ - prSuiteError (*GetCurrentProjectPath)( - PrSDKString* outCurrentProjectPath); - -} PrSDKApplicationSettingsSuite; - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncFileReaderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKAsyncFileReaderSuite.h deleted file mode 100755 index f9c346d..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncFileReaderSuite.h +++ /dev/null @@ -1,93 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKASYNCFILEREADERSUITE_H -#define PRSDKASYNCFILEREADERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKSTRINGSUITE_H -#include "PrSDKStringSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKAsyncFileReaderSuite "MediaCore Async File Reader Suite" -#define kPrSDKAsyncFileReaderSuiteVersion 1 - -typedef csSDK_int64 PrSDKAsyncFileHandle; -typedef csSDK_int32 PrSDKAsyncReadResult; -typedef void (*AsyncReadCompletionFunction)(PrSDKAsyncFileHandle, PrSDKAsyncReadResult inResult, csSDK_int64 inFileOffset, csSDK_int32 inReadSize, csSDK_int32 inBytesRead, void* inBuffer, void* inParam); - -enum SDK_AsyncOpenFlags -{ - SDK_AsyncOpenFlag_CompletionIsSingleThreaded = 1 -}; - -enum SDK_AsyncReadResults -{ - SDK_AsyncReadResult_Success = 0, - SDK_AsyncReadResult_Unknown_Error = -1, - SDK_AsyncReadResult_FileIsStale = -2, //This means that the file has changed on disk and must be re-opened -}; - -typedef struct -{ - prSuiteError (*OpenAsyncFileReader)( - PrSDKString* inFilePath, - csSDK_int32 inOpenFlags, - PrSDKAsyncFileHandle* outFileHandle); - - prSuiteError (*CloseAsyncFileReader)( - PrSDKAsyncFileHandle inFileHandle); - - prSuiteError (*InitiateAsyncRead)( - PrSDKAsyncFileHandle inFileHandle, - csSDK_int64 inFileOffset, - csSDK_int32 inReadSize, - void* inBuffer, - AsyncReadCompletionFunction inCompletion, - void* inCompletionParam); - - prSuiteError (*CancelAsyncRead)( - PrSDKAsyncFileHandle inFileHandle, - csSDK_int64 inFileOffset, - csSDK_int32 inReadSize, - void* inBuffer); - - prSuiteError (*CancelAllAsyncReads)( - PrSDKAsyncFileHandle inFileHandle); - -} PrSDKAsyncFileReaderSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif //PRSDKASYNCFILEREADERSUITE_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncImporter.h b/Syphon-Transmit/Adobe/Headers/PrSDKAsyncImporter.h deleted file mode 100755 index 4b053ba..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncImporter.h +++ /dev/null @@ -1,151 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKASYNCIMPORTER_H -#define PRSDKASYNCIMPORTER_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKIMPORTERSHARED_H -#include "PrSDKImporterShared.h" -#endif - -#pragma pack(push, 1) - -/** -** An async importer is a mechanism (new in Pro 2.0) for the host to perform -** input from a file in an asynchronous manner. It is a separate entry point -** from a standard importer because it does not follow the same rules as an -** importer. -** -** All calls to AsyncImporterEntry are reentrant, except for the close -** selector. The close selector will only be called once, but may be called -** while other calls are still executing. No calls will be made after the -** close selector is called. -** -** Here is an overview of the lifetime of an Async Importer: -** -** 1.) The host calls Open and GetInfo on the standard importer. -** 2.) The host calls imCreateAsyncImporter on the standard importer. At this -** time, the standard importer creates the private data for the async -** importer. The async importer MUST NOT contain a link to the standard -** importer, as their lifetimes are now decoupled. The async importer, therefore, -** must contain copies of all relevant private data from the creator -** importer. The importer preferences are also guaranteed to not change -** during the lifetime of the async importer. -** 3.) The host uses the async importer to perform i/o. -** 4.) The host closes the async importer, forgetting about it. This will happen -** whenever the app loses focus, or when the async importer is no longer -** needed. -*/ - -typedef struct -{ - void* inPrivateData; - long unused1; // Added in MediaCore CS3 to maintain struct alignment - imSourceVideoRec inSourceRec; -} aiAsyncRequest; - -typedef PREMPLUGENTRY (*AsyncImporterEntry)(int inSelector, void* inParam); - -// Async Importer Selectors - -enum -{ - aiInitiateAsyncRead, - aiCancelAsyncRead, - aiFlush, - aiGetFrame, - aiClose -}; - -// Async Importer results - -enum -{ - aiNoError, - aiUnsupported, - aiUnknownError, - aiFrameNotFound -}; - -/** -Async Importer Selectors: - -Message: aiInitiateAsyncRead -Required: yes -Purpose: Called to start an asynchronous read for the specified frame. This call - should return as quickly as possible without blocking. Note that no format - for the frame is passed into this call, so the async importer should only - do whatever is necessary to get the frame ready in memory. For example, disk - i/o should definitely be scheduled. Decompression can also be scheduled, if - the decompression does not depend on the output frame size and format. If it - does, then decompression should be performed in aiGetFrame. - - inParam: aiAsyncRequest* - -Message: aiCancelAsyncRead -Required: no -Purpose: Called to cancel an asynchronous read for the specified frame. This call is more - along the lines of a hint, in that the async importer should only take what - action is possible with this information. This call should not block. - - inParam: aiAsyncRequest* - -Message: aiFlush -Required: yes -Purpose: Called to cancel all pending and executing requests. The async importer should - block until all executing requests are completed or abandoned. No other calls will - be made while aiFlush is occurring. aiFlush will always be called prior to - aiClose. - - inParam: inPrivateData - -Message: aiGetFrame -Required: yes -Purpose: Called to retrieve a frame which was previously scheduled using aiInitiateAsyncRead. - This is usually simply a call to see if the frame is in the cache. - - inParam: imGetSourceVideoRec* - -Message: aiClose -Required: yes -Purpose: Called to dispose of the async importer. It is appropriate for this call to block - pending the completion of existing async operations. - - inParam: inPrivateData - -*/ - -#pragma pack(pop) - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncOperationSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKAsyncOperationSuite.h deleted file mode 100755 index c8fa4f5..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAsyncOperationSuite.h +++ /dev/null @@ -1,88 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKASYNCOPERATIONSUITE_H -#define PRSDKASYNCOPERATIONSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKSTRINGSUITE_H -#include "PrSDKStringSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef csSDK_int64 PrSDKAsyncOperationID; -#define kPrSDKAsyncOperationSuite "MediaCore Async Operation Suite" -#define kPrSDKAsyncOperationSuiteVersion 1 - -/* -@return true if you want the host to automatically queue more work with the same param. -*/ -typedef prBool (*AsyncOperationWorkerFunction)(PrSDKAsyncOperationID inID, void* inParam1, void* inParam2, void* inParam3); - -enum aoWorkerFlags -{ - aoWorkerFlag_OperationIsSingleThreaded = 1 -}; - -typedef struct -{ - prSuiteError (*CreateSubOperation)( - PrSDKAsyncOperationID inParentOperation, - PrSDKAsyncOperationID* outNewOperationID, - PrSDKString* inSubOperationName, - PrSDKString* inInitialStatusString); - - prSuiteError (*SetSubOperationProgress)( - PrSDKAsyncOperationID inID, - csSDK_int32 inCurrentPart, - csSDK_int32 inTotalParts, - PrSDKString* inStatusString); - - prSuiteError (*CompleteSubOperation)( - PrSDKAsyncOperationID inID, - PrSDKString* inFinalStatusString, - PrSDKString* inFinalErrorString); - - prSuiteError (*RequestThreadedWorkForOperation)( - PrSDKAsyncOperationID inID, - AsyncOperationWorkerFunction inWorkerFunction, - void* inWorkerParam1, - void* inWorkerParam2, - void* inWorkerParam3, - csSDK_int32 inWorkerFlags); - -} PrSDKAsyncOperationSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif //PRSDKASYNCOPERATIONSUITE_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKAudioSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKAudioSuite.h deleted file mode 100755 index 1d23709..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKAudioSuite.h +++ /dev/null @@ -1,248 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKAUDIOSUITE_H -#define PRSDKAUDIOSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKAudioSuite "Premiere Audio Suite" -#define kPrSDKAudioSuiteVersion 1 - -/** -** Audio overview: -** -** All audio calls to and from Premiere use arrays of buffers of 32-bit -** floats to pass audio. Therefore all audio is not interleaved by channel. -** So stereo audio looks like this: -** -** float* audio[2]; -** -** where audio[0] is the address of a buffer N samples long and audio[1] -** is the address of a second buffer N samples long. audio[0] contains -** the left channel and audio[1] contains the right channel. N is called -** the number of "sample frames" in the buffer. N will be the same no matter -** how many channels of audio are present in the buffer. -** -** Because we use 32-bit floats for each audio sample, we can represent -** values above 0 dB during mixing. 0 dB corresponds to +/- 1.0 in the floating -** point. Therefore a floating point sample can be converted to a 16 bit -** short by multiplying by 32767.0 and casting to short. -** -** Since floats are the only audio format ever passed, there is no variable -** sample type or bit depth. However, when going back and forth to storage -** formats, it is necessary to give the user an indication of the sample -** type in the storage. For this reason, the SDK includes AudioSampleType -** which defines a variety of possible formats. Note that these are ONLY -** USED FOR USER INTERFACE! -** -** In general, any audio sample rate is supported. For this reason, we use -** a floating point number to represent audio sample rates. However, not all -** rates will evenly divide into our time ticks per second, so for more -** unusual rates there will be quantization errors possible using PrTime. -** -** The host currently supports 4 audio channels types: mono, stereo, 5.1 and 16 channel. -** Stereo channel ordering is left, right. -** 5.1 channels ordering is left, right, left surround, right surround, center, lfe. -** 16 channel ordering is undetermined, 0-15 channels are provided. -*/ - -enum PrAudioSampleType -{ - kPrAudioSampleType_8BitInt = 1, - kPrAudioSampleType_8BitTwosInt, // 8 bit, twos complement - kPrAudioSampleType_16BitInt, - kPrAudioSampleType_24BitInt, - kPrAudioSampleType_32BitInt, - kPrAudioSampleType_32BitFloat, - kPrAudioSampleType_64BitFloat, - kPrAudioSampleType_16BitIntBigEndian, - kPrAudioSampleType_24BitIntBigEndian, - kPrAudioSampleType_32BitIntBigEndian, - kPrAudioSampleType_32BitFloatBigEndian, - kPrAudioSampleType_Compressed, // any non-PCM format - kPrAudioSampleType_Packed, // any PCM format with mixed sample types - kPrAudioSampleType_Other, // A sample type not in this list - kPrAudioSampleType_Any, // Any available sample type (used by Compilers) - kPrAudioSampleType_AudioPeakData, - kPrAudioSampleType_Max = 0xFFFFFFFF -}; - -enum PrAudioChannelType -{ - kPrAudioChannelType_Mono = 1, - kPrAudioChannelType_Stereo = 2, - kPrAudioChannelType_51 = 3, - kPrAudioChannelType_MaxChannel = 4, - kPrAudioChannelType_Max = 0xFFFFFFFF -}; -#define kMaxAudioChannelCount 32 - -/** -** This is not the sample type of the underlying audio - this is the sample type -** that is returned in the calls that support variable audio types. If the type is not -** explicitly called out as variable, then it is Float32. -*/ -enum PrAudioDataType -{ - kPrAudioDataType_Float32 = 1, - kPrAudioDataType_Int32 = 2, - kPrAudioDataType_PeakAudio = 3 -}; - -typedef prInt64 PrAudioSample; - -enum PrAudioChannelLabel -{ - // Normally, a channel label corresponds (roughly) to a speaker position. - // Other more generic channel labels may be defined in the future. - kPrAudioChannelLabel_Discrete = 0, // No particular speaker: (e.g. the channel is a discrete mono channel) - - // Adobe WAVEFORMATEXTENSIBLE Apple CoreAudio VST 3 - // ---------------------------------------------- ----------------------------- --------------------------------------- ------------------ - kPrAudioChannelLabel_FrontLeft = 100, // SPEAKER_FRONT_LEFT kAudioChannelLabel_Left kSpeakerL - kPrAudioChannelLabel_FrontRight = 101, // SPEAKER_FRONT_RIGHT kAudioChannelLabel_Right kSpeakerR - kPrAudioChannelLabel_FrontCenter = 102, // SPEAKER_FRONT_CENTER kAudioChannelLabel_Center kSpeakerC - kPrAudioChannelLabel_LowFrequency = 103, // SPEAKER_LOW_FREQUENCY kAudioChannelLabel_LFEScreen kSpeakerLfe - kPrAudioChannelLabel_BackLeft = 104, // SPEAKER_BACK_LEFT kAudioChannelLabel_LeftSurround kSpeakerLs - kPrAudioChannelLabel_BackRight = 105, // SPEAKER_BACK_RIGHT kAudioChannelLabel_RightSurround kSpeakerRs - kPrAudioChannelLabel_BackCenter = 106, // SPEAKER_BACK_CENTER kAudioChannelLabel_CenterSurround kSpeakerCs = kSpeakerS - kPrAudioChannelLabel_FrontLeftOfCenter = 107, // SPEAKER_FRONT_LEFT_OF_CENTER kAudioChannelLabel_LeftCenter kSpeakerLc - kPrAudioChannelLabel_FrontRightOfCenter = 108, // SPEAKER_FRONT_RIGHT_OF_CENTER kAudioChannelLabel_RightCenter kSpeakerRc - kPrAudioChannelLabel_SideLeft = 109, // SPEAKER_SIDE_LEFT kAudioChannelLabel_LeftSurroundDirect kSpeakerSl - kPrAudioChannelLabel_SideRight = 110, // SPEAKER_SIDE_RIGHT kAudioChannelLabel_RightSurroundDirect kSpeakerSr - kPrAudioChannelLabel_TopCenter = 111, // SPEAKER_TOP_CENTER kAudioChannelLabel_TopCenterSurround kSpeakerTm - kPrAudioChannelLabel_TopFrontLeft = 112, // SPEAKER_TOP_FRONT_LEFT kAudioChannelLabel_VerticalHeightLeft kSpeakerTfl - kPrAudioChannelLabel_TopFrontRight = 113, // SPEAKER_TOP_FRONT_RIGHT kAudioChannelLabel_VerticalHeightRight kSpeakerTfr - kPrAudioChannelLabel_TopFrontCenter = 114, // SPEAKER_TOP_FRONT_CENTER kAudioChannelLabel_VerticalHeightCenter kSpeakerTfc - kPrAudioChannelLabel_TopBackLeft = 115, // SPEAKER_TOP_BACK_LEFT kAudioChannelLabel_TopBackLeft kSpeakerTrl - kPrAudioChannelLabel_TopBackRight = 116, // SPEAKER_TOP_BACK_RIGHT kAudioChannelLabel_TopBackRight kSpeakerTrr - kPrAudioChannelLabel_TopBackCenter = 117, // SPEAKER_TOP_BACK_CENTER kAudioChannelLabel_TopBackCenter kSpeakerTrc - kPrAudioChannelLabel_FrontLeftWide = 118, // kAudioChannelLabel_LeftWide - kPrAudioChannelLabel_FrontRightWide = 119, // kAudioChannelLabel_RightWide - - kPrAudioChannelLabel_LeftHeight = 127, // kSpeakerTsl - kPrAudioChannelLabel_RightHeight = 128, // kSpeakerTsr - kPrAudioChannelLabel_RearSurroundLeft = 129, // kAudioChannelLabel_RearSurroundLeft kSpeakerLcs - kPrAudioChannelLabel_RearSurroundRight = 130, // kAudioChannelLabel_RearSurroundRight kSpeakerRcs - kPrAudioChannelLabel_LFE2 = 131, // kAudioChannelLabel_LFE2 kSpeakerLfe2 - kPrAudioChannelLabel_LeftTotal = 132, // kAudioChannelLabel_LeftTotal - kPrAudioChannelLabel_RightTotal = 133, // kAudioChannelLabel_RightTotal - kPrAudioChannelLabel_Ambisonic_W = 134, // kAudioChannelLabel_Ambisonic_W kSpeakerW - kPrAudioChannelLabel_Ambisonic_X = 135, // kAudioChannelLabel_Ambisonic_X kSpeakerX - kPrAudioChannelLabel_Ambisonic_Y = 136, // kAudioChannelLabel_Ambisonic_Y kSpeakerY - kPrAudioChannelLabel_Ambisonic_Z = 137, // kAudioChannelLabel_Ambisonic_Z kSpeakerZ -}; - -typedef struct -{ - /** - ** These are a variety of audio buffer conversion routines to convert an array - ** of floating point buffers into interleaved audio of a specific type. - ** - ** @param inSource An array of float buffers holding audio. - ** @param inDestination A single buffer to hold the converted, interleaved audio. - ** inDestination must be at least inNumChannels * sizeof(destinationFormat) * - ** inNumSampleFrames bytes long. - ** @param inNumChannels The number of channels in inSource. - ** @param inNumSampleFrames The number of samples in each buffer in inSource. - */ - prSuiteError (*ConvertAndInterleaveTo8BitInteger)( - float** inSource, - char* inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*ConvertAndInterleaveTo16BitInteger)( - float** inSource, - short* inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*ConvertAndInterleaveTo24BitInteger)( - float** inSource, - char* inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*ConvertAndInterleaveTo32BitInteger)( - float** inSource, - csSDK_int32* inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - /** - ** These routines provide the reverse of the routines above, converting and - ** uninterleaving a single buffer in a specified type. - ** - ** @param inSource A single buffer holding the orignal, interleaved audio. - ** @param inDestination An array of float buffers holding audio. There must be inNumChannels - ** buffers allocated in the array, and each must be at least - ** inNumSampleFrames * sizeof(float) bytes long. - ** @param inNumChannels The number of channels in inSource. - ** @param inNumSampleFrames The number of samples in each buffer in inSource. - */ - prSuiteError (*UninterleaveAndConvertFrom8BitInteger)( - char* inSource, - float** inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*UninterleaveAndConvertFrom16BitInteger)( - short* inSource, - float** inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*UninterleaveAndConvertFrom24BitInteger)( - char* inSource, - float** inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - prSuiteError (*UninterleaveAndConvertFrom32BitInteger)( - csSDK_int32* inSource, - float** inDestination, - unsigned int inNumChannels, - unsigned int inNumSampleFrames); - - -} PrSDKAudioSuite; - -#ifdef __cplusplus -} -#endif - -#endif /* PRSDKAUDIOSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKCaptioningSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKCaptioningSuite.h deleted file mode 100755 index 4979033..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKCaptioningSuite.h +++ /dev/null @@ -1,225 +0,0 @@ -/************************************************************************* -* -* ADOBE CONFIDENTIAL -* ___________________ -* -* Copyright 2010 Adobe Systems Incorporated -* All Rights Reserved. -* -* NOTICE: All information contained herein is, and remains -* the property of Adobe Systems Incorporated and its suppliers, -* if any. The intellectual and technical concepts contained -* herein are proprietary to Adobe Systems Incorporated and its -* suppliers and are protected by trade secret or copyright law. -* Dissemination of this information or reproduction of this material -* is strictly forbidden unless prior written permission is obtained -* from Adobe Systems Incorporated. -**************************************************************************/ - -// This file is part of the public Premiere SDK. - -#ifndef PRSDKCAPTIONINGSUITE_H -#define PRSDKCAPTIONINGSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKCaptioningSuite "Captioning Suite" -#define kPrSDKCaptioningSuiteVersion 1 - -/******************************************************************************************* -** This suite provides callbacks to support the injecting of close caption data into native -** SDI, HD-SDI, and DV streams. -** -** The callbacks can provide both CEA-608 and CEA-708 data, simultaneously. For example, if the -** user has imported one format such as CEA-608 from a SCC file to a Timeline, both CEA-608 and -** CEA-708 callbacks will function as Premiere converts from CEA-608 to CEA-708 data on the fly. -** If the user has attached an MCC (CEA-708) file, Premiere will first attempt to extract the CEA-608 -** data from within the ANC packet and return that data, before doing the conversion from CEA-708 -** to CEA-608. -** -** The callbacks are documented below, but can be grouped as such: -** -** HasCaptionData() -** Specifies if caption data is present. -** -** Get608CaptionDataMaxSize(), GetNext608CaptionData(), GetPrevious608CaptionData() -** The data returned is of the format specified in CEA-608-E, and is either 0, 2 or 4 -** bytes long. The data returned could be written into the VAUX Closed Caption pack (0x65) of -** a DV frame, or other appropriate stream. -** -** Get708CaptionDataMaxSize(), GetNext708CaptionData(), GetPrevious708CaptionData() -** The data returned is an ANC packet as defined in SMPTE 291M-1998. The packet will usually -** be a CDP (SMPTE 334-2) packet. The CDP could contain CEA-608 and CEA-708 data, as well as -** other types of ANC data, such as AFD. -** -** GetCaptionInfo() -** Deprecated after CS6 -** -** The data returned is mapped 1 to 1 with the timecode returned. The data is appropriate for injecting -** into a stream playing at 1x speed. No adjustment or mapping is made for other playback speeds. If it's -** desirable to display a caption while the playback is paused, it's the responsability of the client -** to cache (or fetch) the previous data, and clock it out appropriately. -** -** Definitions: -** SCC file: A file with file extension *.scc, also known as a Scenarist Caption file or DVD Caption -** file. The file contains a start timecode on each line and is followed by CEA-608 data. -** MCC file: A file with file extension *.mcc, also known as a MacCaption VANC file. Each line of -** the file starts with a timecode, and then a ANC (SMPTE 291M) packet in a form that has -** been compressed with LZW compression, as described in comments at the head of the file. -*******************************************************************************************/ - - -typedef struct -{ - /* - ** Used to determine if the timeline currently has caption data. The value could change - ** at any time due to the user attaching caption data. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param outHasCaptionData true if the user has attached caption data to the timeline. - */ - prSuiteError (*HasCaptionData)( - PrTimelineID inTimelineID, - bool* outHasCaptionData); - - /* - ** Obtain the maximum size of the buffer to allocate to hold the data obtained when - ** calling the GetNext608CaptionData and GetPrevious608CaptionData callbacks. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param outCaptionDataSize is the maximum size needed to hold the data. - */ - prSuiteError (*Get608CaptionDataMaxSize)( - PrTimelineID inTimelineID, - size_t* outCaptionDataSize); - - /* - ** Obtain the next closed caption data using the time provided via inOutCaptionTime as a starting point. The - ** actual time of the data will be returned in the inOutCaptionTime parameter. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param inOutCaptionTime the starting time to search from. The returned time is the time - ** of the caption data. The time returned will be no earlier than the time provided. - ** @param outCaptionData the caption data to be written to line 21, or injected into a DV frame. - ** the buffer is allocated/disposed by the client of size returned by Get608CaptionDataMaxSize(). - ** @param outCaptionDataSize the actual number of bytes of data written to outCaptionData. - ** - ** @return suiteError_NoMoreData if no more caption data - */ - prSuiteError (*GetNext608CaptionData)( - PrTimelineID inTimelineID, - PrTime* inOutCaptionTime, - char* outCaptionData, - size_t* outCaptionDataSize); - - /* - ** Obtain the previous closed caption data using the time provided via inOutCaptionTime as a starting point. The - ** actual time of the data will be returned in the inOutCaptionTime parameter. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param inOutCaptionTime the starting time to search from. The returned time is the time - ** of the caption data. The time returned will be no later than the time provided. - ** @param outCaptionData the caption data to be written to line 21, or injected into a DV frame. - ** the buffer is allocated/disposed by the client of size returned by Get608CaptionDataMaxSize(). - ** @param outCaptionDataSize the actual number of bytes of data written to outCaptionData. - ** - ** @return suiteError_NoMoreData if no more caption data - */ - prSuiteError (*GetPrevious608CaptionData)( - PrTimelineID inTimelineID, - PrTime* inOutCaptionTime, - char* outCaptionData, - size_t* outCaptionDataSize); - - /* - ** Obtain the maximum size of the buffer to allocate to hold the data obtained when - ** calling the GetNext708CaptionData and GetPrevious708CaptionData callbacks. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param outCaptionDataSize is the maximum size needed to hold the data. - */ - prSuiteError (*Get708CaptionDataMaxSize)( - PrTimelineID inTimelineID, - size_t* outCaptionDataSize); - - /* - ** Obtain the next closed caption data using the time provided via inOutCaptionTime as a starting point. The - ** actual time of the data will be returned in the inOutCaptionTime parameter. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param inOutCaptionTime the starting time to search from. The returned time is the time - ** of the caption data. The time returned will be no earlier than the time provided. - ** @param outCaptionData the caption data to be written to the VANC section of SDI or HD-SDI. - ** the buffer is allocated/disposed by the client of size returned by Get708CaptionDataMaxSize(). - ** @param outCaptionDataSize the actual number of bytes of data written to outCaptionData. - ** - ** @return suiteError_NoMoreData if no more caption data - */ - prSuiteError (*GetNext708CaptionData)( - PrTimelineID inTimelineID, - PrTime* inOutCaptionTime, - char* outCaptionData, - size_t* outCaptionDataSize); - - /* - ** Obtain the previous closed caption data using the time provided actual time of the data as a starting point. The - ** actual time of the data will be returned in the inOutCaptionTime parameter. - ** - ** @param inTimelineID the timeline instance ID used for all captioning suite communication, - ** it is passed into the player instance in the pmNewListParms struct. - ** @param inOutCaptionTime the starting time to search from. The returned time is the time - ** of the caption data. The time returned will be no later than the time provided. - ** @param outCaptionData the caption data to be written to the VANC section of SDI or HD-SDI. - ** the buffer is allocated/disposed by the client of size returned by Get708CaptionDataMaxSize(). - ** @param outCaptionDataSize the actual number of bytes of data written to outCaptionData. - ** - ** @return suiteError_NoMoreData if no more caption data - */ - prSuiteError (*GetPrevious708CaptionData)( - PrTimelineID inTimelineID, - PrTime* inOutCaptionTime, - char* outCaptionData, - size_t* outCaptionDataSize); - - /* - ** DEPRECATED after CS6 - */ - prSuiteError (*GetCaptionInfo)( - PrTimelineID inTimelineID, - PrSDKString* outFileFormat, - PrSDKString* outCaptionUUID, - PrSDKString* outCreationProgram, - PrSDKString* outCreationDate, - PrSDKString* outCreationTime); - -} PrSDKCaptioningSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKClassData.h b/Syphon-Transmit/Adobe/Headers/PrSDKClassData.h deleted file mode 100755 index bdfade5..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKClassData.h +++ /dev/null @@ -1,53 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the Adobe Premiere SDK. - -#ifndef PRSDKCLASSDATA_H -#define PRSDKCLASSDATA_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// ClassData functions (availabe to Media Abstraction Layer plug-ins) - -typedef void* (* GetClassDataFunc)(unsigned int theclass); -typedef int (* SetClassDataFunc)(unsigned int theclass, void* info); - -typedef struct { - SetClassDataFunc setClassData; - GetClassDataFunc getClassData; -} ClassDataFuncs, *ClassDataFuncsPtr; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKCLASSDATA_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKClipRenderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKClipRenderSuite.h deleted file mode 100755 index 78af6b0..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKClipRenderSuite.h +++ /dev/null @@ -1,237 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKCLIPRENDERSUITE_H -#define PRSDKCLIPRENDERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPLUGTIMELINE_H -#include "PrSDKPlugTimeline.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKRENDERCACHETYPE_H -#include "PrSDKRenderCacheType.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKClipRenderSuite "Premiere Clip Render Suite" -#define kPrSDKClipRenderSuiteVersion 3 - -typedef struct -{ - PrPixelFormat inPixelFormat; - csSDK_int32 inWidth; - csSDK_int32 inHeight; -} ClipFrameFormat; - -typedef struct -{ - /** - ** Does this clip support the clip render suite functions? - ** - ** @param inClipID The ClipID of the clip. - ** @param outSupported If true, the clip supports the ClipRenderSuite. - ** @param outAsyncIOSupported If true, the clip supports asynchronous IO. - ** If false, the clip does not directly support asynchronous IO, - ** however it is still legal to call InitiateAsyncRead. - ** Pass nil if you do not need this information. - */ - prSuiteError (*SupportsClipRenderSuite)( - PrClipID inClipID, - prBool* outSupported, - prBool* outAsyncIOSupported); - - /** - ** Given a specific clip, find out the number of pixel formats natively supported - ** by this clip. - ** - ** @param inClipID The ClipID of the clip. - ** @param outNumPixelFormats The number of pixel formats. - */ - prSuiteError (*GetNumPixelFormats)( - PrClipID inClipID, - csSDK_int32* outNumPixelFormats); - - /** - ** Given a specific clip get a native pixel format. The pixel formats will be returned - ** in index order based on preference. The maximum index can be determined by using - ** GetNumPixelFormats(). - ** - ** @param inClipID The ClipID of the clip. - ** @param inIndex The pixel format index. - ** @param outPixelFormat The pixel format. - */ - prSuiteError (*GetPixelFormat)( - PrClipID inClipID, - csSDK_int32 inIndex, - PrPixelFormat* outPixelFormat); - - /** - ** Given a specific clip and pixel format, find out the number of preferred - ** frame sizes for this clip. A preferred frame size is a size which represents - ** a "native" size of the media. - ** - ** @param inClipID The ClipID of the clip. - ** @param inPixelFormat The pixel format to query for preferrred sizes. - ** @param outNumPreferredFrameSizes The number of sizes for this clip and pixel format. - */ - prSuiteError (*GetNumPreferredFrameSizes)( - PrClipID inClipID, - PrPixelFormat inPixelFormat, - csSDK_int32* outNumPreferredFrameSizes); - - /** - ** Given a specific clip and pixel format, get a preferred size. The sizes will be returned - ** in index order based on preference. The maximum index can be determined by using - ** GetNumPreferredFrameSizes(). - ** - ** @param inClipID The ClipID of the clip. - ** @param inPixelFormat The pixel format to query for preferrred sizes. - ** @param inIndex The preferred size index. - ** @param outWidth The width of the preferred size. 0 means any width. - ** @param outHeight The height of the preferred size. 0 means any height. - */ - prSuiteError (*GetPreferredFrameSize)( - PrClipID inClipID, - PrPixelFormat inPixelFormat, - csSDK_int32 inIndex, - csSDK_int32* outWidth, - csSDK_int32* outHeight); - - /** - ** Initiate an asynchronous read for the specified frame. Note that you cannot specify - ** a specific frame format here. The clip will prefetch whatever data possible to - ** facilitate a faster decode, and return. - ** - ** @param inClipID The ClipID of the clip. - ** @param inFrameTime The time of the video frame number. - ** @param inFormat The preferred format for the frame. - */ - prSuiteError (*InitiateAsyncRead)( - PrClipID inClipID, - const PrTime* inFrameTime, - ClipFrameFormat* inFormat); - - /** - ** Cancel an asynchronous read for the specified frame. Note that you cannot specify - ** a specific frame format here. - ** - ** @param inClipID The ClipID of the clip. - ** @param inFrameTime The time of the video frame number. - ** @param inFormat The preferred format for the frame. - */ - prSuiteError (*CancelAsyncRead)( - PrClipID inClipID, - const PrTime* inFrameTime, - ClipFrameFormat* inFormat); - - /** - ** Find a frame of a specific format in the cache. This function will first look - ** for a match in the supplied list of formats. If it does not find one, it will - ** ask the importer to decode one out of cached raw data. It will not access the - ** disk for new raw data, so it will fail if the required data is not in the cache. - ** - ** @param inClipID The ClipID of the clip. - ** @param inFrameTime The time of the video frame number. - ** @param inFormats An array of formats that would be acceptable. - ** Each format must be a combination of - ** supported pixel formats and preferred frame - ** sizes. May be NULL, in which case in format - ** may be returned. - ** @param inNumFormats The number of items in inFormats. May be 0. - ** @param inSynchronous If true, the function will render the file from disk if necessary - ** @param outFrame The found frame. May be NULL if it was not found. - */ - prSuiteError (*FindFrame)( - PrClipID inClipID, - const PrTime* inFrameTime, - ClipFrameFormat* inFormats, - csSDK_int32 inNumFormats, - bool inSynchronous, - PPixHand* outFrame); - - /** - ** What is the field type of this clip? Added in version 2. - ** - ** @param inClipID The ClipID of the clip. - ** @param outFieldType See prFieldType in PrSDKTypes.h - */ - prSuiteError (*GetClipFieldType)( - PrClipID inClipID, - prFieldType* outFieldType); - - /** - ** Given a specific clip, find out the number of custom pixel formats natively supported - ** by this clip. - ** - ** @param inClipID The ClipID of the clip. - ** @param outNumPixelFormats The number of pixel formats. - */ - prSuiteError (*GetNumCustomPixelFormats)( - PrClipID inClipID, - csSDK_int32* outNumPixelFormats); - - /** - ** Given a specific clip get a native pixel format. The pixel formats will be returned - ** in index order based on preference. The maximum index can be determined by using - ** GetNumPixelFormats(). - ** - ** @param inClipID The ClipID of the clip. - ** @param inIndex The pixel format index. - ** @param outPixelFormat The pixel format. - */ - prSuiteError (*GetCustomPixelFormat)( - PrClipID inClipID, - csSDK_int32 inIndex, - PrPixelFormat* outPixelFormat); -} PrSDKClipRenderSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKDeferredProcessingSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKDeferredProcessingSuite.h deleted file mode 100755 index 85e319a..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKDeferredProcessingSuite.h +++ /dev/null @@ -1,78 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2003 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKDEFERREDPROCESSINGSUITE_H -#define PRSDKDEFERREDPROCESSINGSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKDeferredProcessingSuite "Premiere Deferred Processing Suite" -#define kPrSDKDeferredProcessingSuiteVersion 1 - -typedef struct -{ - /* - ** Tell Premiere that you would like to schedule some processing time. - ** @param inPluginID The ID of the plugin requesting some processing time. - ** @param inStreamIndex The stream index. This is only used by importers so that the correct - ** importer plugin gets called. - ** @param inDelay The minimum amount of time in milliseconds that Premiere should wait, - ** before calling the plugin. - ** - ** @return suiteError_NoError - */ - prSuiteError (*QueueDeferredProcessing)( - csSDK_uint32 inPluginID, - csSDK_int32 inStreamIndex, - csSDK_int32 inDelay); - - /** - ** An importer calls this function to set whether or not it is currently in a pending state. - ** - ** @param inPluginID The ID of the plugin. - ** @param inIsPending If true, the importer is pending. - */ - prSuiteError (*SetPendingState)( - csSDK_uint32 inPluginID, - bool inIsPending); - -} PrSDKDeferredProcessingSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKDEFERREDPROCESSINGSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKDevice.h b/Syphon-Transmit/Adobe/Headers/PrSDKDevice.h deleted file mode 100755 index fb3c732..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKDevice.h +++ /dev/null @@ -1,303 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/* Adobe Premiere Device Control plug-in definitions */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere Pro SDK. - - -#ifndef PRSDKDEVICE_H -#define PRSDKDEVICE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -/**************************************************************** -** Version -*/ -#define kDeviceControlAPIVersion75 750 // Premiere Pro 1.5 -#define kDeviceControlAPIVersion8 800 // Pro 2.0 -#define kDeviceControlAPIVersion85 850 // private -#define kDeviceControlAPIVersion9 900 // Pro 3.0 -#define kDeviceControlAPIVersion10 1000 // CS5 -#define kDeviceControlAPIVersion105 1050 // CS5.5 -#define kDeviceControlAPIVersion11 1100 // CS6.0.1 -#define kDeviceControlAPIVersion12 1200 // CS7.0 -#define kDeviceControlAPIVersion13 1300 // CS7.0.1 -#define kDeviceControlAPIVersion kDeviceControlAPIVersion13 - -/**************************************************************** -** Error Definitions -*/ - -enum prDevicemodError -{ - dmNoError = 0, - dmDeviceNotFound = 1, // The device is not available - dmTimecodeNotFound = 2, // The device cannot read the timecode from the media, or there isn't any to be read - dmBadTimecode = 3, // The device has timecode but it doesn't trust it - dmCantRecord = 4, // The device is unable to record to the media - dmUserAborted = 5, // The operation has stopped because the user cancelled - dmLastErrorSet = 6, // The plugin set the last error string for display through the UI using the SuitePea ErrorSuite. - dmExportToTapeFinished = 7, // The plugin is signalling the end of the export to tape operation - dmTapeWriteProtected = 8, // A record to tape failed because the tape was write protected - dmNoTape = 9, // A record to tape failed because there was no tape in the deck - dmLastInfoSet = 10, // The plugin set the info string for display through the UI using the SuitePea ErrorSuite. - dmLastWarningSet = 11, // The plugin set the warning string for display through the UI using the SuitePea ErrorSuite. - dmHasNoOptions = 12, // Pro 2.0: return this in response to the dsHasOptions selector. Return dmNoError to indicate device has options - dmUnknownError = 99, // A generic error that does not fit any above error is being returned. - dmUnsupported = -100, // Unsupported selector - dmGeneralError = -1 // Unspecified error -}; - - -/**************************************************************** -** Type Definitions -*/ - - -/**************************************************************** -** Enumerations -*/ -// Feature bits; these describe your device's capabilities to Premiere - -enum -{ - fCanDelayMovieStart = 0x40000000, // supports delay moves start on tape export --- added in kDeviceControlAPIVersion13 - fCanPrintToTape = 0x20000000, // supports print to tape record mode. --- added in kDeviceControlAPIVersion12 - fCanUseCC = 0x10000000, // Handles closed caption data. --- added in kDeviceControlAPIVersion12 - fCanInsertNoUI = 0x08000000, // Supports kDeviceControlAPIVersion12 new record modes --- added in kDeviceControlAPIVersion12 - fCanPreviewEdit = 0x04000000, // recorder supports preview --- added in kDeviceControlAPIVersion12 - fCanAssembleEdit= 0x02000000, // recorder supports assemble record mode --- added in kDeviceControlAPIVersion12 - fRecordImmediate= 0x01000000, // recorder records immedately after the controller seeks --- NEW in 7.5 - fNoTransport = 0x00800000, // device supports no transport modes(play,stop,etc) --- NEW in 7.0 - fCantLoop = 0x00400000, // device can't loop and it can't play to out // obsolete - fSyncStatus = 0x00200000, // driver guarantees sync status call // obsolete Mac only - fExportDialog = 0x00100000, // driver has its own export dialog --- NEW in 5.0 - fCanInsertEdit = 0x00080000, // supports the InsertEdit command --- NEW in 5.0 - fDrvrQuiet = 0x00040000, // driver supports a quiet mode --- NEW in 4.2 - fHasJogMode = 0x00020000, // device has jog capabilities --- NEW in 4.2 - fCanEject = 0x00010000, // can Eject media --- NEW in 4.2 - fStepFwd = 0x00008000, // can step forward - fStepBack = 0x00004000, // can step back - fRecord = 0x00002000, // can record - fPositionInfo = 0x00001000, // returns position info - fGoto = 0x00000800, // can seek to a specific frame (fPositionInfo must also be set) - f1_5 = 0x00000400, // can play at 1/5 speed - f1_10 = 0x00000200, // can play at 1/10 speed // obsolete, f1_5 now used for slow play - fBasic = 0x00000100, // supports Stop,Play,Pause,FastFwd,Rewind - fHasOptions = 0x00000080, // *** OBSOLETE *** - fReversePlay = 0x00000040, // supports reverse play - fCanLocate = 0x00000020, // can locate a specific timecode - fStillFrame = 0x00000010, // device is frame addressable, like a laser disc // obsolete - fCanShuttle = 0x00000008, // supports the Shuttle command - fCanJog = 0x00000004, // supports the JogTo command // obsolete - - fFeature_Size = kPrForceEnumToIntValue -}; - -// Modes; the device is always in one of the following modes. -enum -{ - modeStop = 0, - modePlay, - modePlay1_5, - modePlay1_10, - modePause, - modeFastFwd, - modeRewind, - modeRecord, - modeGoto, - modeStepFwd, - modeStepBack, - modePlayRev, - modePlayRev1_5, - modePlayRev1_10, - modeTapeOut, // 5.0 -- no media in device - modeLocal, // 5.0 -- VTR in local not remote mode - modeRecordPause, // NEW 7.0 - modePlayFastFwd, // NEW 7.0 - modePlayRewind, // NEW 7.0 - modeRecordAssemble, // added in kDeviceControlAPIVersion12 - modeRecordInsert, // added in kDeviceControlAPIVersion12 - - mode_Size = kPrForceEnumToIntValue -}; - -// Commands; sent with dsExecute -enum -{ - cmdGetFeatures = 0, // return feature bits - cmdStatus, // fill in current mode and timecode, gets called repeatedly - cmdNewMode, // change to the mode in 'mode' - cmdGoto, // goto the timecode specified in 'timecode' - cmdLocate, // find the timecode in 'timecode' and then return (with deck in play) - cmdShuttle, // shuttle at rate specified in 'mode', from -100 to +100 - cmdJogTo, // Obsolete, do not use! - cmdJog, // Obsolete, do not use! - cmdEject, // 4.2 eject media - cmdLocateInsertAsm, // Obsolete - cmdInsertEdit, // 5.0 used when driver is controlling the edit - cmdStatusSync, // Obsolete, do not use! - cmdGetDeviceDisplayName, // 6.0 fill in the displayName field - cmdSetDropness, // 2.0 Pro: Premiere tells device control what the dropness is based on data from DV stream - cmdGetCurrentDeviceIdentifier, // 2.0 Pro: Optional. Return a unique (non-localized) string for the currently connected camera/deck. - cmd_Size = kPrForceEnumToIntValue -}; - -// edit enable flags for cmdLocateInsertAsm command -enum -{ - insertVideo = 0x0001, - insertAudio1 = 0x0002, - insertAudio2 = 0x0004, - insertTimeCode = 0x0008, - insertAssemble = 0x0080, - insertPreview = 0x1000, - - insert_Size = kPrForceEnumToIntValue -}; - -// used when device driver is handling the edit -enum -{ - setupWaitProc = 1, - idle, - complete, - - edit_Size = kPrForceEnumToIntValue -}; - -// Constants -const int kInvalidTimecode = -1; // Used as an init value or when the device reports it can't read the timecode - - -/**************************************************************** -** Callback Functions -*/ - -// Prototypes for functions used to communicate with Premiere -typedef void (*PauseProcPtr)(void); -typedef void (*ResumeProcPtr)(void); -typedef csSDK_int32 (*Print2TapeProcPtr)(PrMemoryHandle deviceHand, long selector); -typedef csSDK_int32 (*CallBackPtr)(void); -typedef void (*TimecodeUpdatePtr)(csSDK_int32 outTimecode, void* inClassID); -typedef csSDK_int32 (*DroppedFrameCountPtr)(void* inClassID); - - -/**************************************************************** -** Structures -*/ -typedef struct { - PrMemoryHandle deviceData; // private data which the plug-in creates - short command; // command to perform - short mode; // New mode (in) or current mode (out) - csSDK_int32 timecode; // New timecode (in) or current timecode (out); -1 = N/A, -2 = blank - short timeformat; // Format: 0=non-drop, 1=drop-frame - short timerate; // fps for the timecode above - csSDK_int32 features; // feature bits (out) for the features command - short error; // error code (out) from any routine - short preroll; // pre-roll time (frames) for cmdLocate - CallBackPtr callback; // callback for cmdLocate, returns non-zero to stop - PauseProcPtr PauseProc; // callback to pause current operations - ResumeProcPtr ResumeProc; // callback to restart current operations - long xtimecode; // either outpoint or duration for editing ops - long keycode; // for film ops -- from the userbits - short editmode; // for editing ops - short exteditmode; // for extended editing ops.. DVW, etc. - Print2TapeProcPtr PrintProc; // callback when driver is performing the edit - prWnd parentWindow; // parent HWND for setup dialog, only valid during dsSetup - piSuitesPtr piSuites; // pointer to plug-in suites functions - char* displayName; // pointer to the device name (max 255) that is displayed in the Capture Window - TimecodeUpdatePtr TimecodeUpdateProc; // During cmdLocate, this will report timecode to Premiere - void* classID; // ClassID for reporting back timecode - long version; // version of this API (kDeviceControlAPIVersion) - short videoStreamIsDrop; // Filled in by Premiere when recorder determines video stream switched from/to drop/non drop... used during cmdSetDropness... see SDK for notes on this feature - short autoDetectDropness; // Signal Premiere to determine dropness through recorder and let us know - char* currentDeviceIDStr; - long preferredScale; // New in 3.0 - unsigned long preferredSampleSize; // New in 3.0 - DroppedFrameCountPtr DroppedFrameProc; // New in CS6.0.1, returns the count of dropped frames during an insert edit - csSDK_uint32 exportAudioChannels; // new in CS7.0.0, audio channels active on export. On record (in), the set bits correspond to - // audio channels to export when the device supports audio channel selection; A1 == bit 0, A2 == bit 1, - // etc. On return from the plugin (out, using cmdGetFeatures) the bits set should correspond to the audio - // channels available on the device. - csSDK_uint16 exportFlags; // new in CS7.0, see enum below - csSDK_int32 delayFrames; // new in SDK version 13, movie start delay in frames. - char reserved[18]; // reserved; -} DeviceRec, *DevicePtr, **DeviceHand; - -/**************************************************************** -** additional record flags -*/ - -enum { - exportVideo = 0x01, // When set, record video to tape (used with insert record mode) - processCCdata = 0x02, // Read and record CC data from transmit stream - previewEdit = 0x04, - - export_Size = kPrForceEnumToIntValue -}; // used in exportFlags, above -/**************************************************************** -** Entry Point -*/ -typedef PRDEVICEENTRY(*DeviceModEntryFunc)(short selector, DeviceHand theData); - - -/**************************************************************** -** Selectors -*/ - -enum PrDeviceSelector { - dsInit = 0, // Create any structure(s), pick an operating mode, no dialogs here - dsSetup, // prompt for any user dialogs - dsExecute, // perform command - dsCleanup, // dispose any allocated structure(s) - dsRestart, // re-start any features, used at program startup to reconnect device; if restart fails (maybe it rejected deviceData as being and old version), dsInit will immediately be called - dsQuiet, // disconnect from device but DON'T dispose allocated structures - dsHasOptions, // Pro 2.0: alternate way to determine if a device plugin has options. Added for lazy init devices that do not have options, so they can tell us that. - // For combatibility with old device plugins, if a device returns dmUnsupported or dmNoError to this selector, it is assume the device *does* have options. - // If a device returns dmHasNoOptions, the host knows there are no options. - dsSelector_Size = kPrForceEnumToIntValue -}; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKDEVICE_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKEffect.h b/Syphon-Transmit/Adobe/Headers/PrSDKEffect.h deleted file mode 100755 index ccb79a9..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKEffect.h +++ /dev/null @@ -1,315 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKEFFECT_H -#define PRSDKEFFECT_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKSTRUCTS_H -#include "PrSDKStructs.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -/**************************************************************** -** Version -*/ - -#define VIDEO_FILTER_VERSION_8 8 // Pro 1.5 version -#define VIDEO_FILTER_VERSION_9 9 // Pro 2.0 version -#define VIDEO_FILTER_VERSION_10 10 // Pro 3.0 version -#define VIDEO_FILTER_VERSION_11 11 // CS5 version -#define VIDEO_FILTER_VERSION_12 12 // CS5.5 version -#define kVideoFilterVersion VIDEO_FILTER_VERSION_12 - -#define TRANSITION_VERSION_8 8 // Pro 1.5 version -#define TRANSITION_VERSION_9 9 // Pro 2.0 version -#define TRANSITION_VERSION_10 10 // Pro 3.0 version -#define TRANSITION_VERSION_11 11 // CS5 version -#define TRANSITION_VERSION_12 12 // CS5 version -#define TRANSITION_VERSION_13 12 // CS7 version -#define kEffectVersion TRANSITION_VERSION_13 - - -/**************************************************************** -** Error Definitions -*/ - -// Effect error Return codes - -enum PrTransitionReturnValue { - esNoErr = 0, // No Error - esBadFormatIndex = 1, - esDoNotCacheOnLoad = 2, - esUnsupported = -100, // Unsupported selector - - esErr_Size = kPrForceEnumToIntValue, -}; - -// Filter error Return codes - -enum PrFilterReturnValue { - fsNoErr = 0, // No Error - fsBadFormatIndex = 1, - fsDoNotCacheOnLoad = 2, - fsHasNoSetupDialog = 3, // Premiere Pro 3.0: possible return value for fsHasSetupDialog (otherwise fsNoErr or fsUnsupported) - fsUnsupported = -100, // Unsupported selector - - fsErr_Size = kPrForceEnumToIntValue -}; - - -/**************************************************************** -** Type Definitions -*/ - -#define PRFILTERENTRY short - - -/**************************************************************** -** Enumerations -*/ - -/** -** These flags are passed in the flags field of the Effect and Video recs. -*/ -enum -{ - kEffectFlags_DraftQuality = 0x00000001, // If set, the render is for draft quality - kEffectFlags_TransitionHasIncomingClip = 0x00000002, // If set, the transition has an incoming clip - kEffectFlags_TransitionHasOutgoingClip = 0x00000004, // If set, the transition has an outgoing clip - kEffectFlags_ForceEnumSize = kPrForceEnumToIntValue -}; - -// The following effect corner bits are also defined -// in PIResDefines.h, but as macros rather than as an enum. -// If that file is included first, bad things happen. -#ifndef bitTop - -// Effect Corner Bits -enum { - bitTop = 0x01, - bitRight = 0x02, - bitBottom = 0x04, - bitLeft = 0x08, - bitUpperRight = 0x10, - bitLowerRight = 0x20, - bitLowerLeft = 0x40, - bitUpperLeft = 0x80, - - bit_Size = kPrForceEnumToIntValue -}; - -#endif // bitTop - -/* Important! - - When responding to esCanHandlePAR or fsCanHandlePAR, - return an OR'd-together combination of the following - flags (from prSDKEffect.h). - - prEffectCanHandlePAR 0x4000 - prEffectUnityPARSetup 0x0001 - prEffectUnityPARExecute 0x0002 - -*/ -// return bits for esCanHandlePAR and fsCanHandlePAR selectors -enum -{ - prEffectCanHandlePAR = 0x4000, /* selector is implemented */ - prEffectUnityPARSetup = 1, /* requires unity PAR for setup */ - prEffectUnityPARExecute = 2, /* requires unity PAR for execute */ - - prEffect_Size = kPrForceEnumToIntValue -}; - -enum -{ - gvFieldsFirst = 0x1000, // TRUE if we're passing the dominant field to this filter. 4.2 changes -- njs. - gvFieldsOdd = 0x0200, - gvFieldsEven = 0x0100, - - prEffectGetVideo_Size = kPrForceEnumToIntValue -}; - - -/**************************************************************** -** Callback Functions -*/ - -// Transition callback prototype - -typedef short (*FXCallBackProcPtr)( csSDK_int32 frame, - short track, - PPixHand thePort, - prRect *theBox, - PrMemoryHandle privateData); -// Filter callback prototype - -typedef short (CALLBACK *VFilterCallBackProcPtr)( csSDK_int32 frame, - PPixHand thePort, - prRect *theBox, - PrMemoryHandle privateData); - - -/**************************************************************** -** Structures -*/ - -// Transition Data Structure - -typedef struct { - PrMemoryHandle specsHandle; - PPixHand source1; // source pixels 1 - PPixHand source2; // source pixels 2 - PPixHand destination; // Destination pixels - csSDK_int32 part; // part / total = % complete - csSDK_int32 total; - char previewing; // in preview mode? - unsigned char arrowFlags; // flags for direction arrows - char reverse; // is effect being reversed? - char source; // are sources swapped? - prPoint start; // starting point for effect - prPoint end; // ending point for effect - prPoint center; // the reference center point - void *privateData; // Editor private data handle - FXCallBackProcPtr callBack; // callback, not valid if null - BottleRec *bottleNecks; // botleneck callback routines - short version; // version of this record (kEffectVersion) - short sizeFlags; - csSDK_int32 flags; // Effect flags (see above) - TDB_TimeRecord *tdb; - piSuitesPtr piSuites; - PrTimelineID timelineData; - PrMemoryHandle instanceData; - char altName[MAX_FXALIAS]; // alternate filter name - new for 6.0 - PrPixelFormat pixelFormatSupported; // return fourCC of pixel type supported - new for 7.0 - csSDK_int32 pixelFormatIndex; // index of query of fourCC of pixel type supported - new for 7.0 - csSDK_uint32 instanceID; // The runtime instance id - new for 7.0 - TDB_TimeRecord tdbTimelineLocation; // On fsSetup only, this specifies the location - // in the timeline of the transition - new for 7.0 - csSDK_int32 sessionPluginID; // ID for specific plugin instance, valid for session; new for 7.5/1.5 -} EffectRecord, **EffectHandle; - -// Video Filter Data Structure - -typedef struct { - PrMemoryHandle specsHandle; - PPixHand source; - PPixHand destination; - csSDK_int32 part; - csSDK_int32 total; - char previewing; - void *privateData; - VFilterCallBackProcPtr callBack; - BottleRec *bottleNecks; - short version; // Version of this record (kVideoFilterVersion) - short sizeFlags; - csSDK_int32 flags; // Effect flags (see above) - TDB_TimeRecord *tdb; - PrMemoryHandle instanceData; - piSuitesPtr piSuites; - PrTimelineID timelineData; - char altName[MAX_FXALIAS]; // Alternate Filter name - new for 6.0 - PrPixelFormat pixelFormatSupported; // return fourCC of pixel type supported - new for 7.0 - csSDK_int32 pixelFormatIndex; // index of query of fourCC of pixel type supported - new for 7.0 - csSDK_uint32 instanceID; // The runtime instance id - new for 7.0 - TDB_TimeRecord tdbTimelineLocation; // On fsSetup only, this specifies the location of the clip in the timeline - // that the filter is applied to. - new for 7.0 - csSDK_int32 sessionPluginID; // ID for specific plugin instance, valid for session; new for 7.5/1.5 -} VideoRecord, **VideoHandle; - - -/**************************************************************** -** Entry Point -*/ -typedef PRFILTERENTRY (*FilterProcPtr)(short selector, PrMemoryHandle theData); -typedef PRFILTERENTRY (*PRVideoFilterEntry)( - csSDK_int32 inID, - short selector, - PrMemoryHandle theData); -typedef PRFILTERENTRY (*EffectProcPtr)(short selector, EffectHandle theData); -typedef PRFILTERENTRY (*PRVideoTransitionEntry)( - csSDK_int32 inID, - short inSelector, - EffectHandle inData); - -/**************************************************************** -** Selectors -*/ - -// Selector messages -enum PrTransitionSelector { - esExecute = 0, - esSetup, - esUnused1, // Not supported - esUnused2, // Not supported - esUnused3, // Not supported - esDisposeData, - esCanHandlePAR, // Premiere 6.0 - esGetPixelFormatsSupported, // 7.0 - used to get pixel formats supported, return an array of int32s (i.e. fourCC's), Premiere will dispose of array - esCacheOnLoad, // If the effect returns esDoNotCacheOnLoad, then Premiere will load the dll from disk on startup - // every time. Any other return value will maintain the Pro 1.5 behavior of lazy loading of dlls. - // inData will always be NULL for this call. - - esSelector_Size = kPrForceEnumToIntValue -}; - -// Selector messages -enum PrFilterSelector { - fsExecute = 0, - fsSetup, - fsAbout, // Not supported - fsDisposeData, - fsCanHandlePAR, - fsInitSpec, // 6.0 - Init default spec - no UI - fsGetPixelFormatsSupported, // 7.0 -- used to get pixel formats supported - fsCacheOnLoad, // If the filter returns fsDoNotCacheOnLoad, then Premiere will load the dll from disk on startup - // every time. Any other return value will maintain the Pro 1.5 behavior of lazy loading of dlls. - // inData will always be NULL for this call. - fsHasSetupDialog, // Premiere Pro 3.0 - used to definitely state whether or not a plugin has a setup dialog to display - - fsSelector_Size = kPrForceEnumToIntValue -}; - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKEFFECT_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKEntry.h b/Syphon-Transmit/Adobe/Headers/PrSDKEntry.h deleted file mode 100755 index 99ff90e..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKEntry.h +++ /dev/null @@ -1,65 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -/* - prSDKEntry.h - - Part of the Adobe After Effects and Premiere SDKs. - Copyright 2000 Adobe Systems Incorporated. - All Rights Reserved. - - Revision History - 1.0 created eks 10/1/99 - 1.1 added PREMPLUGENTRY bbb 12/13/99 - -*/ - -#ifndef PRSDKENTRY_H -#define PRSDKENTRY_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef DllExport -#if defined(__APPLE__) && defined(__GNUC__) -#define DllExport __attribute__((visibility("default"))) -#elif MAC_ENV // Note: not appropriate for Xcode/GCC on OS X. -#define DllExport -#else -#define DllExport __declspec( dllexport ) -#endif -#endif - -#ifndef PREFFECTENTRY -#define PREFFECTENTRY csSDK_int16 -#endif -#ifndef PRMEXPORT -#define PRMEXPORT __cdecl -#endif -#ifndef PRDEVICEENTRY -#define PRDEVICEENTRY csSDK_int16 -#endif -#ifndef PREMPLUGENTRY -#define PREMPLUGENTRY csSDK_int32 -#endif - -#endif // PRSDKENTRY_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKErrorSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKErrorSuite.h deleted file mode 100755 index 211cdbb..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKErrorSuite.h +++ /dev/null @@ -1,149 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKERRORSUITE_H -#define PRSDKERRORSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKErrorSuite "Premiere Error Suite" - -#define kPrSDKErrorSuiteVersion1 1 /* Frozen in Premiere Pro 1.0 */ -/** -** Error overview: -** -** Plugins are allowed to send errors, warning, and information to 3 different -** callbacks which will be handled by Premiere. For each, the plugin passes a string -** and a context ID from their plugin type (for instance, a CompilerID from the a -** compiler). Then the plugin returns an error code defined in the appropriate -** plugin type header which will tell Premiere that there is an error with description -** waiting. Currently, Premiere concatenates all strings that it receives of each type -** until they can be displayed. -*/ -typedef struct -{ - /** - ** Set the plugin error string for Premiere. - ** - ** @param inErrorString A NULL terminated string for the error. Premiere will - ** copy this string, so the caller can delete it after - ** the function returns. - ** @param inContextID The context ID passed to the plugin. - */ - prSuiteError (*SetErrorString)( - const char* inErrorString, - csSDK_uint32 inContextID); - - /** - ** Set the plugin error string for Premiere. - ** - ** @param inWarningString A NULL terminated string for the warning. Premiere will - ** copy this string, so the caller can delete it after - ** the function returns. - ** @param inContextID The context ID passed to the plugin. - */ - prSuiteError (*SetWarningString)( - const char* inWarningString, - csSDK_uint32 inContextID); - - /** - ** Set the plugin error string for Premiere. - ** - ** @param inInfoString A NULL terminated string for the info. Premiere will - ** copy this string, so the caller can delete it after - ** the function returns. - ** @param inContextID The context ID passed to the plugin. - */ - prSuiteError (*SetInfoString)( - const char* inInfoString, - csSDK_uint32 inContextID); - -} PrSDKErrorSuite1; - - - -#define kPrSDKErrorSuiteVersion2 2 /* New for Premiere Pro 1.5 */ -/** -** Version 2 changes: -** The suite has been streamlined for this release. In addition, the -** string has been broken into two parts, a title and a description. This -** separation works well with the new Events Window. -*/ -typedef struct -{ -enum{ - kEventTypeInformational = 1, - kEventTypeWarning, - kEventTypeError -}; - prSuiteError (*SetEventString)( - csSDK_uint32 eventType, - const char* eventTitle, - const char* eventDescription); - -} PrSDKErrorSuite2; - - -#define kPrSDKErrorSuiteVersion3 3 /* New CS4 */ -/** -** Version 3 changes: -** Add UTF16 string support -*/ -typedef struct -{ -enum{ - kEventTypeInformational = 1, - kEventTypeWarning, - kEventTypeError -}; - prSuiteError (*SetEventStringUnicode)( - csSDK_uint32 eventType, - prUTF16Char* eventTitle, - prUTF16Char* eventDescription); - -} PrSDKErrorSuite3; - -#define kPrSDKErrorSuiteVersion kPrSDKErrorSuiteVersion3 -typedef PrSDKErrorSuite3 PrSDKErrorSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKERRORSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExport.h b/Syphon-Transmit/Adobe/Headers/PrSDKExport.h deleted file mode 100755 index a2a629f..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExport.h +++ /dev/null @@ -1,395 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -/* - MediaCore Movie Exporter API. -*/ - -#ifndef PRSDKEXPORT_H -#define PRSDKEXPORT_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKRENDERCACHETYPE_H -#include "PrSDKRenderCacheType.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef __SPBasic__ -#include "SPBasic.h" -#endif - -#ifndef PRSDKAUDIOSUITE_H -#include "PrSDKAudioSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// ParameterIdentifier. Non-localized, unique string. -// !!! NOTE: This identifier must be unique inside a multigroup. !!! -typedef char exParamIdentifier[256]; - -#define prExportVersion100 1 // 9.00 -#define prExportVersion101 2 // 9.0.1 -#define prExportVersion200 3 // CS5 -#define prExportVersion250 4 // CS5.5 -#define prExportVersion300 5 // CS6 -#define prExportVersion400 6 // CS7 -#define EXPORTMOD_VERSION prExportVersion400 // current version - -// filled in during exSelStartup. Added in CS6, this is also passed to exSelShutdown. -typedef struct -{ - csSDK_uint32 unused; // obsolete - csSDK_uint32 fileType; // unique identifier per exporter instance -- - // use this if plug-in appears as multiple exporters to host, - // see note below for exportReqIndex. - prUTF16Char fileTypeName[256]; - prUTF16Char fileTypeDefaultExtension[256]; // default export extension. Can superceded by exSelQueryExportFileExtension - csSDK_uint32 classID; // The classID for the module - // This is used to differentiate between export modules that - // support the same fileType and to cross reference between - // different plugin types (i.e. play and record modules). - csSDK_int32 exportReqIndex; // Used for iterating exporters: - // - // The exporter returns exportReturn_IterateExporter from the first exSelStartup - // message to indicate there are more exporter, and - // exportReturn_IterateExporterDone after the final exporter is identified. - // - // The exporterReqIndex begins at zero and is incremented - // on each call to indicate the current request ordinal. - - csSDK_int32 wantsNoProgressBar; // Exporter wants to show its own progress dialog; do not show the default - // progress dialog during a export. The compiler will NOT get exportReturn_Abort - // errors from the host during callbacks, and must detect an abort on its - // own, and return exportReturn_Abort from exSelExport if the user aborts export. - csSDK_int32 hideInUI; // This exporter is for making preview files only, and should not be visible - // in the application UI. - - csSDK_int32 doesNotSupportAudioOnly; // AV exporter can only export video or video and audio, not audio only - - // info/capabilities - csSDK_int32 canExportVideo; - csSDK_int32 canExportAudio; - csSDK_int32 singleFrameOnly; // exporter does stills only. - // host may handle video export as n or more exported files - csSDK_int32 maxAudiences; - csSDK_int32 interfaceVersion; // version of API that this plugin was written against. Use EXPORTMOD_VERSION in current sdk header - csSDK_uint32 isCacheable; // added in CS5 - csSDK_uint32 canConformToMatchParams; // CS 7 [TODO] explanation to be provided - csSDK_uint32 canEmbedCaptions; // CS 7 [TODO] explanation to be provided -} exExporterInfoRec; - -// sent during exSelBeginInstance/exSelEndInstance -typedef struct -{ - csSDK_uint32 exporterPluginID; // use with exporter suites - csSDK_uint32 fileType; // unique identifier per 'exporter' - void* privateData; -} exExporterInstanceRec; - -// filled in during exSelExport -typedef struct -{ - csSDK_uint32 exporterPluginID; // use with exporter suites - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_int32 exportAudio; // export audio or video may have changed, always check - csSDK_int32 exportVideo; - PrTime startTime; // time location to start request from render suites - PrTime endTime; // end of time to export - csSDK_uint32 fileObject; // use with PrSDKExportFileSuite - PrTimelineID timelineData; // timeline callback suites - csSDK_int32 reserveMetaDataSpace; // amount to reserve in a file for meta data storage - csSDK_int32 maximumRenderQuality; // if non-0, render at highest possible quality - csSDK_int32 embedCaptions; // if non-0, embed captions obtained from PrSDKCaptioningSuite. exExporterInfoRec.canEmbedCaptions must be set at init time for this to activate. -} exDoExportRec; - -// sent during exSelValidateParamChanged -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_int32 exportAudio; // export audio or video may have changed, always check - csSDK_int32 exportVideo; - csSDK_int32 multiGroupIndex; // current param multigroup container - exParamIdentifier changedParamIdentifier; // what param changed? - // NOTE: changedParamIdentifier may be empty if the changed item - // was exportAudio, exportVideo or the current multiGroupIndex - csSDK_int32 rebuildAllParams; // set true if host should reload ALL params from the param list -} exParamChangedRec; - - -// sent during exSelGenerateDefaultParams -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' -} exGenerateDefaultParamRec; - - - -// sent during exSelPostProcessParams -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_int32 exportAudio; // export audio or video may have changed, always check - csSDK_int32 exportVideo; - csSDK_int32 doConformToMatchParams; // [TODO] we need a big comment above that outlines how to use the 'match' params hierarchy -} exPostProcessParamsRec; - - -// Sent during exSelGetParamSummary -// -// The text labels are arbitrary, but exporters will generally generate -// text such as: -// "Video: 29.97 fps @ 720x480, someVideoCodec @ 5mbit -// "Audio: Stereo 16bit 44.1khz someAudioCodec -// -// However, host UIs should generally permit any 3 short lines of text and -// leave adequate room to display them. -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_int32 exportAudio; // export audio or video may have changed, always check - csSDK_int32 exportVideo; - prUTF16Char videoSummary[256]; - prUTF16Char audioSummary[256]; - prUTF16Char bitrateSummary[256]; -} exParamSummaryRec; - - -// Sent during exSelParamButton -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_int32 exportAudio; // export audio or video may have changed, always check - csSDK_int32 exportVideo; - csSDK_int32 multiGroupIndex; - exParamIdentifier buttonParamIdentifier; -} exParamButtonRec; - - -// Standard parms passed into xSDKExport -typedef SPBasicSuite* (*plugGetSPBasicSuiteFunc)(); - - -typedef struct -{ - csSDK_int32 interfaceVer; // version # of interface (currently EXPORTMOD_VERSION) - plugGetSPBasicSuiteFunc getSPBasicSuite; -} exportStdParms; - - - -// sent during exSelQueryExportFileExtension -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - prUTF16Char outFileExtension[256]; -} exQueryExportFileExtensionRec; - -// embedded file element for exQueryOutputFileListAfterExportRec -typedef struct -{ - csSDK_int32 pathLength; - prUTF16Char* path; -} exOutputFileRec; - - -// sent during exSelQueryOutputFileList -// Calling sequence: -// -- first call: -// the plug-in fills out 'numOutputFiles' -// -- second call: -// the host makes numOutputFiles count of outputFileRecs, but empty. Plug-in -// fills out the path length (incl trailing null) for each exOutputFileRec -// element in outputFileRecs; -// -- third call: -// host has allocated all paths in each outputFileRec. Plug-in fills in the -// path member of outputFileRec; -// -// NOTE: the plug-in can fail exSelQueryOutputFileList by returning -// exportReturn_Unsupported. The output file is then assumed to be the same -// the one passed in exDoExportRec -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_uint32 numOutputFiles; - PrSDKString path; - exOutputFileRec *outputFileRecs; -} exQueryOutputFileListRec; - - -// sent during exSelQueryStillSequence -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - csSDK_int32 exportAsStillSequence; - PrTime exportFrameRate; -} exQueryStillSequenceRec; - -// sent during exSelQueryOutputSettings; -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' - 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; // prFieldsNone, prFieldsUpperFirst, prFieldsLowerFirst - double outAudioSampleRate; - PrAudioSampleType outAudioSampleType; - PrAudioChannelType outAudioChannelType; - csSDK_uint32 outBitratePerSecond; - csSDK_int32 outUseMaximumRenderPrecision; //Added in CS6 -} exQueryOutputSettingsRec; - - -// sent during exSelValidateOutputSettings -typedef struct -{ - csSDK_uint32 exporterPluginID; - void* privateData; // created during exSelBeginInstance - csSDK_uint32 fileType; // unique identifier per 'exporter' -} exValidateOutputSettingsRec; - - -// Main entry prototype. Must be named "xSDKExport" -// ("xExport" was used by some legacy Premiere plug-ins, and is a deprecated named entry point) -typedef PREMPLUGENTRY (* ExportEntryFunc)(csSDK_int32 selector, exportStdParms *stdparms, void* param1, void* param2); -#define SDKExportEntryPointName "xSDKExport" - - -// Selectors -enum PrExportSelector -{ - exSelStartup, // fill exExporterInfoRec - exSelShutdown, // pro forma: plug-in should release and be ready for app shutdown. - exSelBeginInstance, // make private data. Persistent until exSelEndInstance is called. - exSelGenerateDefaultParams, // generate a default set of params - exSelPostProcessParams, // validate params from preset/disk. Fill all localized param names, load all constrained value pairs - exSelValidateParamChanged, // validate 1 param changed. Exporter should hide/dim/change any settings - // related to this one param using the ExportParamSuite, e.g. dimming a control when a - // related checkbox is checked/unchecked - exSelGetParamSummary, // generate export text summary description - exSelParamButton, // respond to a paramButton. generate opaque param info - exSelEndInstance, // - exSelExport, // export! - exSelQueryExportFileExtension, - exSelQueryOutputFileList, - exSelQueryStillSequence, // ask a still-only exporter if it wants to export - // as a sequence, and at what frame rate. - exSelQueryOutputSettings, // query the exporter for general details about the current settings. This is a required selector. - exSelValidateOutputSettings // ask the exporter if it can export with the current settings. - // exporter should return exportReturn_ErrLastErrorSet if not, and the error string - // should be set to a description of the failure. -}; - - -// return codes -// TODO -- most of these are copies from compiler header -enum PrExportReturnValue -{ - exportReturn_ErrNone = 0, // no error - exportReturn_Abort, // User aborted the compile - exportReturn_Done, // Export finished normally - exportReturn_InternalError, - exportReturn_OutOfDiskSpace, // Out of disk space error - exportReturn_BufferFull, // The offset into the audio buffer would overflow it - exportReturn_ErrOther, // - exportReturn_ErrMemory, // ran out of memory - exportReturn_ErrFileNotFound, // File not found - exportReturn_ErrTooManyOpenFiles, // Too many open files - exportReturn_ErrPermErr, // Permission violation - exportReturn_ErrOpenErr, // Unable to open the file - exportReturn_ErrInvalidDrive, // Drive isn't valid. - exportReturn_ErrDupFile, // Duplicate Filename - exportReturn_ErrIo, // File io error - exportReturn_ErrInUse, // File is in use - exportReturn_IterateExporter, // Return value from exSelStartup to request Exporter iteration - exportReturn_IterateExporterDone, // Return value from exSelStartup to indicate there are no more Exporters - exportReturn_InternalErrorSilent, /* Silent error code; host application will not display an error message on screen. - Exporters can return this error code from compDoCompile if they wish to - put their own customized error message on screen just before returning - control. */ - exportReturn_ErrCodecBadInput, // a video codec refused the input format - exportReturn_ErrLastErrorSet, // the Exporter had an error and set a display string for it using the PrSDKErrorSuite. - exportReturn_ErrLastWarningSet, // the Exporter had an warning and set a display string for it using the PrSDKErrorSuite. - exportReturn_ErrLastInfoSet, // the Exporter has an info string to display and set it using the PrSDKErrorSuite. - exportReturn_ErrExceedsMaxFormatDuration, // the Exporter (or the host) has deemed the duration of the compile to be too large - exportReturn_VideoCodecNeedsActivation, // the current video codec is not activated and cannot be used. - exportReturn_AudioCodecNeedsActivation, // the current audio codec is not activated and cannot be used. - exportReturn_IncompatibleAudioChannelType, // the requested audio channels are not compatible with the source audio - exportReturn_IncompatibleVideoCodec, //User tried to load a preset with Invalid Video codec - exportReturn_IncompatibleAudioCodec, //User tried to load a preset with Invalid Audio codec - exportReturn_ParamButtonCancel, // User cancelled settings dialog by pressing cancel button - exportReturn_Unsupported = -100 // Unsupported selector - -}; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif // PRSDKEXPORT_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportController.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportController.h deleted file mode 100755 index 59535f6..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportController.h +++ /dev/null @@ -1,130 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2001-2010 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKEXPORTCONTROLLER_H -#define PRSDKEXPORTCONTROLLER_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKPLUGMEMORY_H -#include "PrSDKPlugMemory.h" -#endif - -#ifndef __SPBasic__ -#include "SPBasic.h" -#endif - -#ifndef kPrMaxPath -#define kPrMaxPath 260 -#endif - -// [NOTE] any negative value result will be considered an error by Premiere, -// return kErrorReportedInSuite if you have something to say about the error -// and premiere will extract the error string from the PrSDKErrorSuite and display -// it for you at an appropriate time. -typedef csSDK_int32 PrExportControllerResult; -const PrExportControllerResult kExportControllerSuccess = 0; // success -const PrExportControllerResult kExportControllerCancelSetup = 1; // returned if the user selects cancel during your setup -const PrExportControllerResult kExportControllerSelectorUnsupported = 3; // This should be the default error return for unsupported selectors - -const PrExportControllerResult eExportControllerErrorReportedInSuite = -1; // if you have an error to report, return this result so we know to get the result string -const PrExportControllerResult eExportControllerCannotInitialize = -2; - -// Selectors -typedef csSDK_uint32 PrExportControllerSelector; -enum -{ - exportController_Startup = 0, - exportController_ExportTimeline = 1, - exportController_Shutdown = 7, - exportController_ForceEnumSize = kPrForceEnumToIntValue -}; - -typedef struct -{ - prUTF16Char mDisplayName[30]; // the display name for your plugin (as it will be shown under the menu Export - ...) -} ExportControllerInitRec; - -typedef struct -{ - csSDK_int32 ecInterfaceVer; // version # of the Export Controller interface - piSuitesPtr piSuites; -} ecStdParms; - - - -typedef struct -{ - void* mModuleID; // this is private to Premiere, don't modify it. You must pass it in when using the - // PrSDKExportControllerSuite callbacks. - PrTimelineID mTimelineID; // ID of the currently active sequence. Used in conjunction with PrSDKExportControllerSuite's ExportFile callback -} ExportControllerTimelineInfoRec; - -/** -** Export Controller plugin's entry point -** -** @param inSelector the selector sent by Premiere to the plugin -** @param inParam1 depending on the selector the contents of this parameter will change -*/ -extern "C" -{ -typedef PrExportControllerResult (* ExportControllerEntryFunc)(PrExportControllerSelector inSelector, ecStdParms* ecStdParms, void* ioParam1); -#define SDKExportControllerEntryPointName "xExportControllerEntry" -} - -/** -** General notes: -** Any result code returned that is negative will be considered to be an error by Premiere. -** Premiere will call the plugin back with kGetErrorTextSize, followed by kGetErrorText -** to provide the plugin with the opportunity to display information about what failed. -** -** Selectors: -** exportController_Startup -** param1 = ExportControllerInitRec* -** -** Called once during application startup. -** The plugin tells Premiere whether or not it can initialize itself, -** and fills out the ExportControllerInitRec. -** -** -** -** exportController_ExportTimeline -** param1 = PrTimelineID -** -** Called by Premiere when the user triggers an Export. -** -** ExportController_Shutdown -** param1 = empty (NULL) -** -** Called when Premiere is quitting, do any necessary cleanup. -*/ - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportControllerSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportControllerSuite.h deleted file mode 100755 index b54faf6..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportControllerSuite.h +++ /dev/null @@ -1,96 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKEXPORTCONTROLLERSUITE_H -#define PRSDKEXPORTCONTROLLERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKEXPORTCONTROLLER_H -#include "PrSDKExportController.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKExportControllerSuite "Premiere ExportController Suite" -#define kPrSDKExportControllerSuiteVersion 1 - - -typedef struct -{ - const prUTF16Char* mDestinationPath; // the path to the destination file that is to be created by Premiere's render operation - const prUTF16Char* mPresetPath; // the Adobe Media Encoder preset file to be used for generating the output file -} ExportControllerExportRec; - -const size_t kMosIDStringLength = 128; -typedef prUTF16Char prMosIDString[kMosIDStringLength]; - - -typedef struct -{ - /** - ** Use this callback to retrieve the MOS ID associated with a given TimelineID (which is passed to the plugin - ** when the user triggers an export operation). - ** - ** @param inTimelineID the value indicating which timeline (ie sequence) the data is being requested from - ** - ** @param inModuleID a value passed into the plugin by Premiere to identify - ** the module instance. Do not modify this value. - */ - prSuiteError (*RetrieveMosID)( - void* inModuleID, - PrTimelineID inTimelineID, - prMosIDString* outMosID); - - /** - ** This callback triggers Premiere to render out a file based on a timeline ID as a source. - ** The ExportControllerExportRec specifies which render preset to use & what destination path to render to. - ** - ** @param inTimelineID a value passed to the plugin when the user triggers the render operation - ** - ** - ** @param inModuleID a value passed into the plugin by Premiere to identify - ** the module instance. Do not modify this value. - */ - prSuiteError (*ExportFile)( - void* inModuleID, - PrTimelineID inTimelineID, - ExportControllerExportRec* inExportInfo); - - -} PrSDKExportControllerSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) -#endif /* PRSDKEXPORTCONTROLLERSUITE_H */ \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportFileSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportFileSuite.h deleted file mode 100755 index c59e80a..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportFileSuite.h +++ /dev/null @@ -1,89 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKEXPORTFILESUITE_H -#define PRSDKEXPORTFILESUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKExportFileSuite "MediaCore Export File Suite" -#define kPrSDKExportFileSuiteVersion1 1 -#define kPrSDKExportFileSuiteVersion2 2 -#define kPrSDKExportFileSuiteVersion kPrSDKExportFileSuiteVersion2 - -typedef enum -{ - fileSeekMode_Begin=0, - fileSeekMode_End, - fileSeekMode_Current, -} ExFileSuite_SeekMode; - -typedef struct -{ - prSuiteError (*Open)( - csSDK_uint32 inFileObject); - - prSuiteError (*Write)( - csSDK_uint32 inFileObject, - void* inBytes, - csSDK_int32 inNumBytes); - - // Version 1: Bug: fileSeekMode_End handled as fileSeekMode_Current and visa versa - // Version 2: Fixed - prSuiteError (*Seek)( - csSDK_uint32 inFileObject, - prInt64 inPosition, - prInt64& outNewPosition, - ExFileSuite_SeekMode inSeekMode); - - prSuiteError (*Close)( - csSDK_uint32 inFileObject); - - prSuiteError (*GetPlatformPath)( - csSDK_uint32 inFileObject, - csSDK_int32 *outPathLength, - prUTF16Char *outPlatformPath); // if outPlatformPath is NULL, only outPathLength is returned; - -} PrSDKExportFileSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKEXPORTFILESUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportInfoSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportInfoSuite.h deleted file mode 100755 index ffebb3f..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportInfoSuite.h +++ /dev/null @@ -1,109 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKEXPORTINFOSUITE_H -#define PRSDKEXPORTINFOSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKExportInfoSuite "MediaCore Export Info Suite" -#define kPrSDKExportInfoSuiteVersion 1 - -enum PrExportSourceInfoSelector -{ - kExportInfo_VideoWidth, // PrParam holds a kPrParam_Int32 - kExportInfo_VideoHeight, // PrParam holds a kPrParam_Int32 - kExportInfo_VideoFrameRate, // PrParam holds a kPrTime - kExportInfo_VideoFieldType, // PrParam holds a kPrParamType_Int32 - treat as PrFieldType - kExportInfo_VideoDuration, // PrParam holds a kPrParamType_Int64 - treat as PrTime - kExportInfo_PixelAspectNumerator, // PrParam holds a kPrParam_Int32 - kExportInfo_PixelAspectDenominator, // PrParam holds a kPrParam_Int32 - kExportInfo_AudioDuration, // PrParam holds a kPrParamType_Int64 - treat as PrTime - kExportInfo_AudioChannelsType, // PrParam holds a kPrParamType_Int32 - treat as PrAudioChannelType - kExportInfo_AudioSampleRate, // PrParam holds a kPrParamType_Float64 - kExportInfo_Unused1, // N/A - kExportInfo_Unused2, // N/A - kExportInfo_Unused3, // N/A - kExportInfo_SourceHasAudio, // PrParam holds a kPrParamType_Bool - kExportInfo_SourceHasVideo, // PrParam holds a kPrParamType_Bool - kExportInfo_RenderAsPreview, // PrParam holds a kPrParamType_Bool - kExportInfo_SequenceGUID, // PrParam holds a kPrParamType_Guid. Treat as prPluginID. - kExportInfo_SessionFilePath, // PrParam holds a kPrParamType_PrMemoryPtr, which is holding a prUTF16Char array. - // note, the plugin is responsible to release the pointer using PrMemory suites. - kExportInfo_VideoPosterFrameTickTime, // PrParam holds a kPrParamType_Int64 - treat as PrTime - added for CS5, used internally for AE - kExportInfo_SourceTimecode, // CS5.0.X PrParam holds a kPrParamType_PrMemoryPtr to a ExporterTimecodeRec. . Deallocate w PrMemory suites - kExportInfo_UsePreviewFiles, // PrParam holds a kPrParamType_Bool - kExportInfo_NumAudioChannels, // PrParam holds a kPrParam_Int32 - kExportInfo_MaxSize = kPrForceEnumToIntValue -}; - - -typedef struct -{ - csSDK_int64 mTimecodeTicks; - csSDK_int64 mTicksPerFrame; - bool mTimecodeStartPrefersDropFrame; -} ExporterTimecodeRec; - - -typedef struct -{ - /* - ** GetExportSourceInfo - given an exporter pluginID, get some specific - ** information about the source that is being exported. - ** - ** If the outSourceInfo holds a PrMemoryPtr on return, it will have been allocated - ** by the host, and it is then the plugin's responsibility to free it using the PrMemory suite. - ** - ** @param inExporterPluginID the passed in plugin ID - ** @param inSelector the requested value to retrieve about the source being exported - ** @param outSourceInfo the populated PrParam holding the data (if no error was returned). - */ - prSuiteError (*GetExportSourceInfo)( - csSDK_uint32 inExporterPluginID, - PrExportSourceInfoSelector inSelector, - PrParam* outSourceInfo); - -} PrSDKExportInfoSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKEXPORTINFOSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportParamSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportParamSuite.h deleted file mode 100755 index 04288af..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportParamSuite.h +++ /dev/null @@ -1,471 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKEXPORTPARAMSUITE_H -#define PRSDKEXPORTPARAMSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKEXPORT_H -#include "PrSDKExport.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKSTRINGSUITE_H -#include "PrSDKStringSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -/** -** Version 2 has the same functions as version one, except with different -** host handling of the flags field in AddParam -** -** Version 3 adds: - SetConstrainedListIsOptional - RestoreStandardParamToInitialState - GetConstrainedValueDisplayName -** Version 4 adds: - SetParamDescription -*/ - -#define kPrSDKExportParamSuite "MediaCore Export Param Suite" -#define kPrSDKExportParamSuiteVersion1 1 -#define kPrSDKExportParamSuiteVersion2 2 -#define kPrSDKExportParamSuiteVersion3 3 -#define kPrSDKExportParamSuiteVersion4 4 -#define kPrSDKExportParamSuiteVersion5 5 -#define kPrSDKExportParamSuiteVersion kPrSDKExportParamSuiteVersion5 - - -//------------------------ -// params -//------------------------ - -// params are grouped by -// Multigroup (always top-level, and not user visible. See note on Multigroups, below) -// group (there's always at least one top-level group) -// group -// param -// -// e.g. -// Multigroup -// group = video -// group = "basic video settings" -// param: quality int|Slider 1-10000 -// param: width int 32-4000 - - - - -/* -* Common Params identifiers. -* Please use these for identifiers that the application can override at setup or export time. -* -* note: these params can be hidden if a different interface is needed (e.g. enum for FPS) in plug-in; -* the exporter plug-in will need to 'shadow' these values into their UI if they change, or -* replace Common Param values that are incompatible with the closest equivalent for the export -* -* [FIX ME] Check for existance of some of these when params are instantiated from plug-in -*/ - - -// top level groups -#define ADBEVideoTabGroup "ADBEVideoTabGroup" -#define ADBEAudioTabGroup "ADBEAudioTabGroup" - -// video groups -#define ADBEBasicVideoGroup "ADBEBasicVideoGroup" -#define ADBEVideoCodecGroup "ADBEVideoCodecGroup" - -// audio basic group -#define ADBEBasicAudioGroup "ADBEBasicAudioGroup" -#define ADBEAudioCodecGroup "ADBEAudioCodecGroup" -#define ADBEAudioBitrateGroup "ADBEAudioBitrateGroup" -#define ADBEAudioAdvancedSettingsGroup "ADBEAudioAdvancedSettingsGroup" - -// video bitrate group -#define ADBEVideoBitrateGroup "ADBEVideoBitrateGroup" - -#define ADBEVideoBitDepth "ADBEVideoBitDepth" // int - 0 = 8bit, 1=16bit, 2=24bit, 3=32bit -#define ADBEVideoBounds "ADBEVideoBounds" // int enum, shadows ADBEVideoWidth, ADBEVideoHeight, which can still be automated directly. -#define ADBEVideoBitDepth8BitGray "ADBEVideoBitDepth8BitGray" // 0 or 1 (disabled / enabled) if a codec supports it -#define ADBEVideoAlphaType "ADBEVideoAlphaType" // 0 is straight 1 is premul -#define ADBEVideoAlphaMatteColor "ADBEVideoAlphaMatteColor" // a prcolor in the int field -#define ADBEVideoAlphaInvert "ADBEVideoAlphaInvert" // 0 is normal 1 is invert -#define ADBEVideoWidth "ADBEVideoWidth" -#define ADBEVideoHeight "ADBEVideoHeight" -#define ADBEVideoQuality "ADBEVideoQuality" -#define ADBEVideoFieldType "ADBEVideoFieldType" // progressive=0, upperFirst=1, lowerFirst=2 -#define ADBEVideoDeinterlaceType "ADBEVideoDeinterlaceType" // off, lowQualityDeinterlace=1, hiQualityDeinterlace=2 -#define ADBEVideoCodec "ADBEVideoCodec" -#define ADBEVideoFPS "ADBEVideoFPS" -#define ADBEVideoAspect "ADBEVideoAspect" -#define ADBERenderDeepColor "ADBERenderDeepColor" -#define ADBEVideoCodecPrefsButton "ADBEVideoCodecPrefsButton" -#define ADBEVideoCodecPrefsData "ADBEVideoCodecPrefsData" -#define ADBEVideoResolution "ADBEVideoResolution" - -#define ADBEAudioRatePerSecond "ADBEAudioRatePerSecond" -#define ADBEAudioNumChannels "ADBEAudioNumChannels" -#define ADBEAudioSampleType "ADBEAudioSampleType" -#define ADBEAudioCodec "ADBEAudioCodec" -#define ADBEAudioCodecPrefsButton "ADBEAudioCodecPrefsButton" -#define ADBEAudioCodecPrefsData "ADBEAudioCodecPrefsData" -#define ADBEAudioBitrate "ADBEAudioBitrate" - -#define ADBEVideoBitrateEncoding "ADBEVideoBitrateEncoding" // see enum -#define ADBEVideoBitrateLevel "ADBEVideoBitrateLevel" -#define ADBEVideoMinBitrate "ADBEVideoMinBitrate" -#define ADBEVideoTargetBitrate "ADBEVideoTargetBitrate" -#define ADBEVideoMaxBitrate "ADBEVideoMaxBitrate" - -// VideoBitrateEncoding values -enum -{ - prVideoBitrateEncoding_CBR1Pass = 0, - prVideoBitrateEncoding_CBR2Pass, - prVideoBitrateEncoding_VBR1Pass, - prVideoBitrateEncoding_VBR2Pass, - prVideoBitrateEncoding_VBR2PassConstrained, - prVideoBitrateEncoding_VBR2PassUnconstrained, -}; - -// VideoBitrateLevel values -enum -{ - prVideoBitrateLevel_Low = 0, - prVideoBitrateLevel_Medium, - prVideoBitrateLevel_High, - prVideoBitrateLevel_Custom -}; - -// Topmost container group. -// Use this to identify top-level params when calling AddParamGroup -#define ADBETopParamGroup "ADBETopParamGroup" - -/* Multigroup params: - - exParamType_multiGroup is a top-level param that only contains other parameters. - The multiGroup is used to create multiple, top-level "audiences", e.g. groups - of params that are for one output target (Audience). - - An output target can be either one movie or many movies. Every param grouped - under a multiGroup should be: - - a) An identical tree to the parameters under any other multiGroup - b) Be echoed across all multigroups if the parameters are intended to - be not-unique to that target/audience. - - Simple movies that contain only one set of params would only have one multiGroup, - with the top-level groups contained with it. - - Movies that can contain multiple targets/audiences would contain multiple, top- - level multigroups that each contain a set of params for each target. - - Parameters that are marked with exParamFlag_shared are mirrored across all groups, - but have a common value that is mirrored into all instances of the parameter. - - Example, simple settings: - - paramContainer - multiGroup("mgroup0") - Group ("video") - Group ("basic video settings") - param: quality intValue exParamFlag_slider range: 1-10000 - param: width int range: 32-4000 - param: height int range: 32-4000 - Group ("audio") - Group ("basic audio settings") - param: rate int range: 11250-192000 - - Example, multiple targets - - paramContainer - multiGroup("mgroup0") - Group ("video") - Group ("basic video settings") - param: quality intValue exParamFlag_slider | exParamFlag_shared range: 1-10000 - param: width int range: 32-4000 - param: height int range: 32-4000 - Group ("audio") - Group ("basic audio settings") - param: rate int range: 11250-192000 - - multiGroup("mgroup1") - Group ("video") - Group ("basic video settings") - param: rate int range: 11250-192000 - param: quality intValue exParamFlag_slider | exParamFlag_shared range: 1-10000 - param: width int range: 32-4000 - param: height int range: 32-4000 - Group ("audio") - Group ("basic audio settings") - param: rate int range: 11250-192000 - - In the second param set, there are two audiences, all the same parameters, and one parameter (quality), - that is shared across groups, and has the same value in each audience. - - NOTE: it is the responsibility of the exporter plug-in to synchronize shared parameters across groups - NOTE: at least one top-level multiGroup is required for a parameter container. - -*/ - -// paramType -typedef enum -{ - exParamType_bool=1, - exParamType_int, - exParamType_float, // 'double' float (i.e. float64) - exParamType_ticksFrameRate, // prTime int64 'ticks', used for framerates (second/ticks), durations, etc. - // UI may display as a float, or shadow with a popup ? TBD ? - // This allows for more accurate times/framerates than float. - exParamType_ticksTime, // prTime int64 'ticks', used for Time display. - // UI may display as a timecode or similar - exParamType_string, // - exParamType_button, // stores opaque binary data with custom button for setup - exParamType_arbitrary, // opaque binary data with no UI. Usage is up to exporter plug-in. - exParamType_group, - exParamType_multiGroup, // see comment above - exParamType_ratio, // param is two int32's. May also hold a constrained list. used for aspect or 2D point. - exParamType_undefined=-1 -} exParamType; - - - -typedef enum -{ - exParamFlag_none = 0, - exParamFlag_slider = 0x00000001, // for exParamType_int or exParamType_float - exParamFlag_independant = 0x00000002, // no validate needed - exParamFlag_shared = 0x00000004, // this param may be shared across multiple multiGroups - exParamFlag_multiLine = 0x00000008, // string only -- multiline vs single line text - exParamFlag_password = 0x00000010, // string only -- don't display string - exParamFlag_filePath = 0x00000020, // string only -- this control contains a path and has a Browse button - exParamFlag_optional = 0x00000040 // This control has a checkbox attached. The param name is the checkbox string. - // Checkbox is unchecked by default, so the param attached to it is disabled. -} exParamFlags; - - -typedef struct -{ - csSDK_int32 numerator; - csSDK_int32 denominator; -} exRatioValue; - -// single param value -typedef struct -{ - union - { - csSDK_int32 intValue; - double floatValue; - PrTime timeValue; - exRatioValue ratioValue; - csSDK_int32 unused[32]; - }; -} exOneParamValueRec; - -// param value -typedef struct -{ - csSDK_int32 structVersion; // 1 - exOneParamValueRec rangeMin; - exOneParamValueRec rangeMax; - exOneParamValueRec value; - - prUTF16Char paramString[256]; // unicode - csSDK_int32 disabled; - csSDK_int32 hidden; - void* arbData; - csSDK_int32 arbDataSize; - csSDK_int32 optionalParamEnabled; -} exParamValues; - -// param -typedef struct -{ - csSDK_int32 structVersion; // 1 - exParamIdentifier identifier; - prUTF16Char name[256]; // unicode - exParamType paramType; - exParamFlags flags; // slider, independant, etc - exParamValues paramValues; -} exNewParamInfo; - - -typedef struct -{ - void (*SetParamsVersion)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inVersion); - - csSDK_int32 (*GetParamsVersion)( - csSDK_uint32 exporterPluginID); - - prSuiteError (*AddMultiGroup)( - csSDK_uint32 exporterPluginID, - csSDK_int32* outMultiGroupIndex); - - prSuiteError (*AddParam)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParentGroupIdentifier, - const exNewParamInfo *inParamInfo); - - prSuiteError (*AddParamGroup)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParentGroupIdentifier, // parent group. - // use NULL to put the group into the multigroup - const exParamIdentifier inParamGroupIdentifier, - const prUTF16Char *inGroupName, - csSDK_int32 inHidden, - csSDK_int32 inDisabled, - csSDK_int32 inIsParamPairGroup); // inIsParamPairGroup = true means this is a group that - // displays 2 params side by side. Group box is not shown. - - prSuiteError (*ChangeParam)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, // param or group (to hide/dim a group) - const exParamValues *inParamValue); - - prSuiteError (*GetParamValue)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - exParamValues *outParamValue); - - prSuiteError (*GetParamType)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - exParamType *outParamType); - - prSuiteError (*ClearParamGroupChildren)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, // inMultiGroupIndex = -1 == clear every multigroup - const exParamIdentifier inParamGroupIdentifier); // inParamGroupIdentifier == everything in this group - - prSuiteError (*SetParamName)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - const prUTF16Char* inParamName); - - prSuiteError (*AddConstrainedValuePair)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - const exOneParamValueRec* inParamValue, - const prUTF16Char *inEnumParamName); - - prSuiteError (*ClearConstrainedValues)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier); - - csSDK_int32 (*GetConstrainedValueCount)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier); - - prSuiteError (*GetConstrainedValue)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - csSDK_int32 inContrainedValueIndex, - exOneParamValueRec* outConstrainedValue); - - // calling sequence: - // Call the first time with NULL for outArbData, to retrieve - // the data size. - // Call the second time with an allocated pointer to - // receive the arbitrary data - prSuiteError (*GetArbData)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - csSDK_int32* outArbDataSize, - void* outArbData); - - prSuiteError (*SetArbData)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - csSDK_int32 inArbDataSize, - void* inArbData); - - csSDK_int32 (*CountMultiGroups)( - csSDK_uint32 inExporterPluginID); - - prSuiteError (*SetConstrainedListIsOptional)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - csSDK_int32 inIsOptional); - - prSuiteError (*GetConstrainedValueDisplayName)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - csSDK_int32 inContrainedValueIndex, - PrSDKString* outConstrainedValueDisplayName); - - prSuiteError (*SetParamDescription)( - csSDK_uint32 inExporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, - const prUTF16Char* inParamDescription); - - prSuiteError (*MoveParam)( - csSDK_uint32 exporterPluginID, - csSDK_int32 inMultiGroupIndex, - const exParamIdentifier inParamIdentifier, // param to move - const exParamIdentifier inIdentifierToBePlacedBefore); // param to be placed before - -} PrSDKExportParamSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKEXPORTPARAMSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportProgressSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportProgressSuite.h deleted file mode 100755 index 350b4e0..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportProgressSuite.h +++ /dev/null @@ -1,121 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ -// This file is part of the public MediaCore SDK. - - -#ifndef PRSDKEXPORTPROGRESSSUITE_H -#define PRSDKEXPORTPROGRESSSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKExportProgressSuite "MediaCore Export Progress Suite" -#define kPrSDKExportProgressSuiteVersion 2 // new version for CS5 - - -// suite -typedef struct -{ - /** - ** Set the string for the progress bar. Pass nil to reset it to the default string. - */ - prSuiteError (*SetProgressString)( - csSDK_uint32 inExportID, - prUTF16Char *inProgressString); - - /** - ** Update the progress bar by percent. - ** inPercent is 0 to 1.0 - ** returns comp_ErrNone if successful, exportReturn_Abort, suiteError_ExporterSuspended, or error - */ - prSuiteError (*UpdateProgressPercent)( - csSDK_uint32 inExportID, - float inPercent); - - /** - ** When UpdateProgressPercent returns suiteError_ExporterSuspended, - ** the exporter should minimize its memory usage and then call this function. - ** When this function returns, the exporter should continue. - */ - prSuiteError (*WaitForResume)( - csSDK_uint32 inExportID); - -} PrSDKExportProgressSuite1; - -// suite -typedef struct -{ - /** - ** Set the string for the progress bar. Pass nil to reset it to the default string. - */ - prSuiteError (*SetProgressString)( - csSDK_uint32 inExportID, - prUTF16Char *inProgressString); - - /** - ** Update the progress bar by percent. - ** inPercent is 0 to 1.0 - ** returns comp_ErrNone if successful, exportReturn_Abort, suiteError_ExporterSuspended, or error - */ - prSuiteError (*UpdateProgressPercent)( - csSDK_uint32 inExportID, - float inPercent); - - /** - ** Update the progress bar by percent, also setting the last video frame to be displayed in preview. - ** Only use this function if you do not call the sequence render suite. - ** inPercent is 0 to 1.0 - ** returns comp_ErrNone if successful, exportReturn_Abort, suiteError_ExporterSuspended, or error - */ - prSuiteError (*UpdateProgressPercentWithFrame)( - csSDK_uint32 inExportID, - float inPercent, - PPixHand inPPix); - - /** - ** When UpdateProgressPercent returns suiteError_ExporterSuspended, - ** the exporter should minimize its memory usage and then call this function. - ** When this function returns, the exporter should continue. - */ - prSuiteError (*WaitForResume)( - csSDK_uint32 inExportID); - -} PrSDKExportProgressSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKEXPORTPROGRESSSUITE_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExportStdParamSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExportStdParamSuite.h deleted file mode 100755 index 46e4d1a..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExportStdParamSuite.h +++ /dev/null @@ -1,73 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKEXPORTSTDPARAMSUITE_H -#define PRSDKEXPORTSTDPARAMSUITE_H - -#define kPrExportStdParamSuite "Premiere Export Standard Param Suite" -#define kPrExportStdParamSuiteVersion 1 - -#define ADBEStillSequence "ADBEStillSequence" - -enum PrSDKStdParamType -{ - SDKStdParams_Video, - SDKStdParams_Audio, - SDKStdParams_Still, - SDKStdParams_Reserved1, // do not use - SDKStdParams_VideoBitrateGroup, - SDKStdParams_Video_NoRenderMax, - SDKStdParams_Video_AddRenderMax, - SDKStdParams_AudioTabOnly, - SDKStdParams_AudioBitrateGroup, - SDKStdParams_VideoWithSizePopup -}; - -enum PrSDKStdParamGroup -{ - SDKStdParamGroup_VideoBitrate -}; - -typedef struct -{ - void (*AddStandardParams)( - csSDK_uint32 exporterPluginID, - PrSDKStdParamType inSDKStdParamType); - - void (*PostProcessParamNames)( - csSDK_uint32 exporterPluginID, - PrAudioChannelType inSourceAudioChannelType); - - void (*QueryOutputSettings)( - csSDK_uint32 exporterPluginID, - exQueryOutputSettingsRec* outOutputSettings); - - void (*MakeParamSummary)( - csSDK_uint32 exporterPluginID, - prBool inDoVideo, - prBool inDoAudio, - prBool inIsDiscreteAudio, - prUTF16Char* outVideoDescription, // 256 - prUTF16Char* outAudioDescription); // 256 - -} PrSDKExportStdParamSuite; - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKExporterUtilitySuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKExporterUtilitySuite.h deleted file mode 100755 index cf5cbb3..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKExporterUtilitySuite.h +++ /dev/null @@ -1,98 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKEXPORTERUTILITYSUITE_H -#define PRSDKEXPORTERUTILITYSUITE_H - -#ifndef PRSDKEXPORT_H -#include "PrSDKExport.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKExporterUtilitySuite "MediaCore Exporter Utility Suite" -#define kPrSDKExporterUtilitySuiteVersion1 1 -#define kPrSDKExporterUtilitySuiteVersion kPrSDKExporterUtilitySuiteVersion1 - -typedef struct -{ - // TODO - do we need more, or is this it? - csSDK_int32 inRenderParamsSize; - csSDK_int32 inRenderParamsVersion; - PrPixelFormat inFinalPixelFormat; - PrTime inStartTime; - PrTime inEndTime; - float inReservedProgressPreRender; //Defaults to zero, represents the amount of progress already done before the render loop - float inReservedProgressPostRender; //Defaults to zero, represents the amount of progress left after the render loop -} ExportLoopRenderParams; - -// Callbacks used for driving the Export loop. -// The call-ee is not responsible for freeing the PPixHand, though if you need it to survive longer than the life of the function call, -// then you need to addref and dispose it. -// TODO - we need to add a function to the PPixSuite for adding a ref to a PPixHand. -typedef prSuiteError (*PrSDKMultipassExportLoopFrameCompletionFunction)(csSDK_uint32 inWhichPass, csSDK_uint32 inFrameNumber, csSDK_uint32 inFrameRepeatCount, PPixHand inRenderedFrame, void* inCallbackData); - -typedef struct -{ - /* - * This function assumes that your exporter supports exSelQueryOutputSettings, which will be called. - */ - prSuiteError (*DoMultiPassExportLoop)( - csSDK_uint32 inExporterID, - const ExportLoopRenderParams* inRenderParams, - csSDK_uint32 inNumberOfPasses, - PrSDKMultipassExportLoopFrameCompletionFunction inCompletionFunction, - void* inCompletionParam); - - /* - * This function only makes sense when called during your callback from DoMultiPassExportLoop. - */ - prSuiteError (*ReportIntermediateProgressForRepeatedVideoFrame)( - csSDK_uint32 inExporterID, - csSDK_uint32 inRepetitionsProcessedSinceLastUpdate); - - /* - * Use this function to report an event from an exporter. - */ - prSuiteError (*ReportEvent)( - csSDK_uint32 inExporterID, - csSDK_uint32 inEventType, - const prUTF16Char* inEventTitle, - const prUTF16Char* inEventDescription); -} PrSDKExporterUtilitySuite; - -} // extern "C" - -#pragma pack(pop) - -#endif //PRSDKEXPORTERUTILITYSUITE_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKFileRegistrationSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKFileRegistrationSuite.h deleted file mode 100755 index 227c0ec..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKFileRegistrationSuite.h +++ /dev/null @@ -1,71 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2003 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKFILEREGISTRATIONSUITE_H -#define PRSDKFILEREGISTRATIONSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKFileRegistrationSuite "Premiere File Registration Suite" -#define kPrSDKFileRegistrationSuiteVersion 1 - -typedef struct -{ - prSuiteError (*RegisterFileForHostManagement)( - csSDK_uint32 inPluginID, - char const* inFileDescTag, - char const* inFilePath, - char const* const* inExtensions, - int inNumExtensions, - csSDK_uint32 inFlags); - - prSuiteError (*GetRegisteredFilePath)( - csSDK_uint32 inPluginID, - char const* inFileDescTag, - char* outFilePath, - csSDK_uint32 inFilePathLength); - - prSuiteError (*UnregisterHostManagedFile)( - csSDK_uint32 inPluginID, - char const* inFileDescTag); - -} PrSDKFileRegistrationSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif // PRSDKFILEREGISTRATIONSUITE_H - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKFlashCueMarkerDataSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKFlashCueMarkerDataSuite.h deleted file mode 100755 index c00a262..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKFlashCueMarkerDataSuite.h +++ /dev/null @@ -1,116 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2004 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. -#ifndef PRSDKFLASHCUEMARKERDATASUITE_H -#define PRSDKFLASHCUEMARKERDATASUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKFlashCueMarkerDataSuite "FlashCueMarkerData Suite" -#define kPrSDKFlashCueMarkerDataSuiteVersion 1 - -// PrFlashCueMarkerID is acquired from the PrMarkerSuite, which also is used -// to dispose of it. -typedef csSDK_uint32 PrFlashCueMarkerID; - -typedef struct -{ - /* - ** A cue point is either an Event or a Navigation cue, this is a boolean style - ** query - if this is not a Navigation point, it is an Event cue. - ** - ** @param inMarkerID a marker ID that was retrieved using the PrMarkerSuite - ** function, GetFlashCueMarkerID() - ** @param outIsNavigationCue non-zero if this is a Navigation cue, zero if this is an Event cue. - ** - */ - prSuiteError (*GetIsNavigationCue)( - PrFlashCueMarkerID inMarkerID, - csSDK_uint32* outIsNavigationCue); - - /* - ** Retrieve the number of key/value pairs (which are prUTF16Char character buffers) the flash cue has. - ** May be zero if there are no key/value pairs. - ** - ** @param inMarkerID a marker ID that was retrieved using the PrMarkerSuite - ** function, GetFlashCueMarkerID() - ** @param outNumberKeyValuePairs the number of pairs, used for querying for individual pairs' data - */ - prSuiteError (*GetNumberKeyValuePairs)( - PrFlashCueMarkerID inMarkerID, - csSDK_uint32* outNumberKeyValuePairs); - - /* - ** Retrieve the size of the buffers you allocate using prNewPtr prior to calling GetKeyValuePairData. - ** - ** @param inMarkerID a marker ID that was retrieved using the PrMarkerSuite - ** function, GetFlashCueMarkerID() - ** @param inKeyValuePairIndex the index of the particular pair you are querying for - ** @param outKeyStringLength the size of the buffer you'll create using prNewPtr - ** @param outValueStringLength the size of the buffer you'll create using prNewPtr - */ - prSuiteError (*GetKeyValuePairStringLength)( - PrFlashCueMarkerID inMarkerID, - csSDK_uint32 inKeyValuePairIndex, - size_t* outKeyStringLength, - size_t* outValueStringLength); - - /* - ** Retrieve a specific key/value pair - the buffers will contain prUTF16Char characters. - ** - ** @param inMarkerID a marker ID that was retrieved using the PrMarkerSuite - ** function, GetFlashCueMarkerID() - ** @param inKeyValuePairIndex the index of the particular pair you are querying for - ** @param outKeyBuffer the buffer you allocated using prNewPtr(keyStringLength). - ** @param outValueBuffer the buffer you allocated using prNewPtr(valueStringLength). - */ - prSuiteError (*GetKeyValuePairData)( - PrFlashCueMarkerID inMarkerID, - csSDK_uint32 inKeyValuePairIndex, - PrMemoryPtr* outKeyBuffer, - PrMemoryPtr* outValueBuffer); - -} PrSDKFlashCueMarkerDataSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKGPUDeviceSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKGPUDeviceSuite.h deleted file mode 100755 index cd84fe3..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKGPUDeviceSuite.h +++ /dev/null @@ -1,191 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2012 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKGPUDEVICESUITE_H -#define PRSDKGPUDEVICESUITE_H - - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - - - -#pragma pack(push, 1) -#ifdef __cplusplus -extern "C" { -#endif - - - -#define kPrSDKGPUDeviceSuite "MediaCore GPU Device Suite" -#define kPrSDKGPUDeviceSuiteVersion 2 - - -/** -** -*/ -#define PrCUDAVersion 5000 -#define PrOpenCLVersion 1000 - - -/** -** Custom pixel to represent an on device BGRA 16f/32f GPU frame in global memory. -** All GPU frames may have outstanding asynchronous operations on the compute stream. -** GPU Frames always have origin top left. -*/ -#define PrPixelFormat_GPU_BGRA_4444_16f MAKE_ADOBE_PRIVATE_PIXEL_FORMAT_FOURCC('C', 'D', 'a') -#define PrPixelFormat_GPU_BGRA_4444_32f MAKE_ADOBE_PRIVATE_PIXEL_FORMAT_FOURCC('C', 'D', 'A') - - -/** -** -*/ -typedef enum -{ - PrGPUDeviceFramework_CUDA, - PrGPUDeviceFramework_OpenCL, -} PrGPUDeviceFramework; - -typedef struct -{ - PrGPUDeviceFramework outDeviceFramework; - prBool outMeetsMinimumRequirementsForAcceleration; - - void* outPlatformHandle; // cl_platform_id - void* outDeviceHandle; // CUdevice or cl_device_id - void* outContextHandle; // CUcontext or cl_context - void* outCommandQueueHandle; // CUstream or cl_command_queue - void* outOffscreenOpenGLContextHandle; // CGLContextObj or HGLRC - void* outOffscreenOpenGLDeviceHandle; // HDC - -} PrGPUDeviceInfo; - -/** -** Access CUDA or OpenCL devices. -** All CUDA usage is through the CUDA device API. -*/ -typedef struct -{ - /** - ** Device enumeration - */ - prSuiteError (*GetDeviceCount)( - csSDK_uint32* outDeviceCount); - prSuiteError (*GetDeviceInfo)( - csSDK_uint32 inSuiteVersion, - csSDK_uint32 inDeviceIndex, - PrGPUDeviceInfo* outDeviceInfo); - - /** - ** Acquire/release exclusive access to inDeviceIndex. All calls below this point generally require access be held. - ** For CUDA calls cuCtxPushCurrent/cuCtxPopCurrent on the current thread to manage the devices context. - */ - prSuiteError (*AcquireExclusiveDeviceAccess)( - csSDK_uint32 inDeviceIndex); - prSuiteError (*ReleaseExclusiveDeviceAccess)( - csSDK_uint32 inDeviceIndex); - - /** - ** All device memory must be allocated through this suite. - ** Purge should be called only in emergency situations when working with GPU memory - ** that cannot be allocated through this suite (eg OpenGL memory). - ** Returned pointer value represents memory allocated through cuMemAlloc or clCreateBuffer. - */ - prSuiteError (*AllocateDeviceMemory)( - csSDK_uint32 inDeviceIndex, - size_t inSizeInBytes, - void** outMemory); - prSuiteError (*FreeDeviceMemory)( - csSDK_uint32 inDeviceIndex, - void* inMemory); - prSuiteError (*PurgeDeviceMemory)( - csSDK_uint32 inDeviceIndex, - size_t inRequestedBytesToPurge, - size_t* outBytesPurged); - - /** - ** All host (pinned) memory must be allocated through this suite. - ** Purge should be called only in emergency situations when working with GPU memory - ** that cannot be allocated through this suite (eg OpenGL memory). - ** Returned pointer value represents memory allocated through cuMemHostAlloc or malloc. - */ - prSuiteError (*AllocateHostMemory)( - csSDK_uint32 inDeviceIndex, - size_t inSizeInBytes, - void** outMemory); - prSuiteError (*FreeHostMemory)( - csSDK_uint32 inDeviceIndex, - void* inMemory); - prSuiteError (*PurgeHostMemory)( - csSDK_uint32 inDeviceIndex, - size_t inRequestedBytesToPurge, - size_t* outBytesPurged); - - /** - ** Information on a GPU ppix. The following ppix functions may also be used: - ** -PrSDKPPixSuite::Dispose - ** -PrSDKPPixSuite::GetBounds - ** -PrSDKPPixSuite::GetRowBytes - ** -PrSDKPPixSuite::GetPixelAspectRatio - ** -PrSDKPPixSuite::GetPixelFormat - ** -PrSDKPPix2Suite::GetFieldOrder - */ - prSuiteError (*CreateGPUPPix)( - csSDK_uint32 inDeviceIndex, - PrPixelFormat inPixelFormat, - int inWidth, - int inHeight, - int inPARNumerator, - int inPARDenominator, - prFieldType inFieldType, - PPixHand* outPPixHand); - prSuiteError (*GetGPUPPixData)( - PPixHand inPPixHand, - void** outData); - prSuiteError (*GetGPUPPixDeviceIndex)( - PPixHand inPPixHand, - csSDK_uint32* outDeviceIndex); - prSuiteError (*GetGPUPPixSize)( - PPixHand inPPixHand, - size_t* outSize); - -} PrSDKGPUDeviceSuite; - - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKGPUFilter.h b/Syphon-Transmit/Adobe/Headers/PrSDKGPUFilter.h deleted file mode 100755 index 0f18249..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKGPUFilter.h +++ /dev/null @@ -1,224 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2012 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKGPUFILTER_H -#define PRSDKGPUFILTER_H - - -#include "PrSDKMALErrors.h" -#include "PrSDKPlayModule.h" -#include "PrSDKPlugSuites.h" -#include "PrSDKQuality.h" -#include "PrSDKTimeSuite.h" - - -#pragma pack(push, 1) -#ifdef __cplusplus -extern "C" { -#endif - - - -/** -** Interface version -*/ -#define PrSDKGPUFilterInterfaceVersion1 1 // CS7 -#define PrSDKGPUFilterInterfaceVersion PrSDKGPUFilterInterfaceVersion1 - - - -/** -** Information returned from a plugin -*/ -typedef struct -{ - csSDK_uint32 outInterfaceVersion; - PrSDKString outMatchName; // outMatchName must be equal to a registered software filter, if null will default to the module's pipl. -} PrGPUFilterInfo; - - -/** -** A filter instance represents an effect applied to a track item with a fixed set of parameters. -** Changed parameters will create a new instance. -*/ -typedef struct -{ - // Standard suites - piSuitesPtr piSuites; - - // For use in conjunction with PrSDKGPUDeviceSuite - csSDK_uint32 inDeviceIndex; - - // For use in conjunction with PrSDKVideoSegmentSuite - PrTimelineID inTimelineID; - csSDK_int32 inNodeID; - - // Used by a plugin to store instance data, never touched by the host - void* ioPrivatePluginData; - - // Specify if the plugin is likely to play in realtime, used to determine segment coloring - prBool outIsRealtime; - -} PrGPUFilterInstance; - - -/** -** Information about a frame render -*/ -typedef struct -{ - // Time of the current render - PrTime inClipTime; - PrTime inSequenceTime; - - // Render properties - PrRenderQuality inQuality; - float inDownsampleFactorX; - float inDownsampleFactorY; - - // Frame properties - csSDK_uint32 inRenderWidth; - csSDK_uint32 inRenderHeight; - csSDK_uint32 inRenderPARNum; - csSDK_uint32 inRenderPARDen; - prFieldType inRenderFieldType; - PrTime inRenderTicksPerFrame; - - // GPU rendering is always on full height progressive frames unless outNeedsFieldSeparation is false. - // inRenderField indicates which field is being rendered - pmFieldDisplay inRenderField; - -} PrGPUFilterRenderParams; - - -/** -** Specify dependencies to satisfy a render -*/ -typedef enum -{ - PrGPUDependency_InputFrame = 0x1, - PrGPUDependency_Precompute = 0x2, - PrGPUDependency_FieldSeparation = 0x4, -} PrGPUFilterFrameDependencyType; -typedef struct -{ - // The dependency type - PrGPUFilterFrameDependencyType outDependencyType; - - // Dependence on other frame times - csSDK_int32 outTrackID; // 0 for the current track - PrTime outSequenceTime; - - // Dependence on precomputation phase - PrPixelFormat outPrecomputePixelFormat; - csSDK_uint32 outPrecomputeFrameWidth; - csSDK_uint32 outPrecomputeFrameHeight; - csSDK_uint32 outPrecomputeFramePARNumerator; - csSDK_uint32 outPrecomputeFramePARDenominator; - prFieldType outPrecomputeFrameFieldType; - csSDK_size_t outPrecomputeCustomDataSize; // only needed if outPrecomputePixelFormat is custom - - // Indicates if the plugin may operate on both fields simultaneously (eg non-spatial and non-time varying) - prBool outNeedsFieldSeparation; -} PrGPUFilterFrameDependency; - - - -/** -** GPU Filter callbacks. -*/ -typedef struct -{ - /** - ** Creates a GPU filter instance representing an effect or transition on a - ** track item. Returning an error from CreateInstance will cause this node - ** to be rendered in software for the current set of parameters. Separate - ** instances may be called concurrently. - */ - prSuiteError (*CreateInstance)( - PrGPUFilterInstance* ioInstanceData); - prSuiteError (*DisposeInstance)( - PrGPUFilterInstance* ioInstanceData); - - /** - ** Return dependency information about a render, or nothing if - ** only the current frame is required. - */ - prSuiteError (*GetFrameDependencies)( - PrGPUFilterInstance* inInstanceData, - const PrGPUFilterRenderParams* inRenderParams, - csSDK_int32* ioQueryIndex, // increment for additional dependencies - PrGPUFilterFrameDependency* outFrameDependencies); - - /** - ** Precompute a result into preallocated uninitialized host (pinned) memory. - ** Will only be called if PrGPUDependency_Precompute was returned from GetFrameDependencies. - ** Precomputation may be called ahead of render time. Results will be - ** uploaded to the GPU by the host. If outPrecomputePixelFormat is not custom, - ** frames will be converted to the GPU pixel format. - */ - prSuiteError (*Precompute)( - PrGPUFilterInstance* inInstanceData, - const PrGPUFilterRenderParams* inRenderParams, - csSDK_int32 inIndex, - PPixHand inFrame); - - /** - ** Render into an allocated outFrame allocated with PrSDKGPUDeviceSuite or operate - ** in place. Result must be in the same pixel format as the input. For effects, frame 0 - ** will always be the frame at the current time, other input frames will be in the same order as - ** returned from GetFrameDependencies. For transitions frame 0 will be the incoming frame and - ** frame 1 the outgoing frame. Transitions may not have other frame dependencies. - */ - prSuiteError (*Render)( - PrGPUFilterInstance* inInstanceData, - const PrGPUFilterRenderParams* inRenderParams, - const PPixHand* inFrames, - csSDK_size_t inFrameCount, - PPixHand* outFrame); - -} PrGPUFilter; - - - -/** -** Entry point. -*/ -#define PrGPUFilterEntryPointName "xGPUFilterEntry" -typedef prSuiteError (*PrGPUFilterEntry)( - csSDK_uint32 inHostInterfaceVersion, // current host version - csSDK_int32* ioIndex, // increment if more filters - prBool inStartup, // 1 for startup, 0 for shutdown - piSuitesPtr piSuites, - PrGPUFilter* outFilter, - PrGPUFilterInfo* outFilterInfo); - - - -#ifdef __cplusplus -} -#endif -#pragma pack(pop) - - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKGPUImageProcessingSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKGPUImageProcessingSuite.h deleted file mode 100755 index 5da1732..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKGPUImageProcessingSuite.h +++ /dev/null @@ -1,132 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2012 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - - -#ifndef PRSDKGPUIMAGEPROCESSINGSUITE_H -#define PRSDKGPUIMAGEPROCESSINGSUITE_H - - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - - - -#pragma pack(push, 1) -#ifdef __cplusplus -extern "C" { -#endif - - - -#define kPrSDKGPUImageProcessingSuite "MediaCore GPU Image Processing Suite" -#define kPrSDKGPUImageProcessingSuiteVersion 1 - - - -/** -** Access to common GPU image processing algorithms -*/ -typedef struct -{ - /** - ** Convert between formats on the GPU - ** One of inSrcPixelFormat or inDestPixelFormat must be a host format, - ** the other must be either PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f - */ - prSuiteError (*PixelFormatConvert)( - csSDK_uint32 inDeviceIndex, - const void* inSrc, - csSDK_int32 inSrcRowBytes, - PrPixelFormat inSrcPixelFormat, - void* inDest, - csSDK_int32 inDestRowBytes, - PrPixelFormat inDestPixelFormat, - csSDK_uint32 inWidth, - csSDK_uint32 inHeight, - PrRenderQuality inQuality); - - /** - ** Scale a frame on the GPU - ** inPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f - */ - prSuiteError (*Scale)( - csSDK_uint32 inDeviceIndex, - const void* inSrc, - csSDK_int32 inSrcRowBytes, - csSDK_uint32 inSrcWidth, - csSDK_uint32 inSrcHeight, - void* inDest, - csSDK_int32 inDestRowBytes, - csSDK_uint32 inDestWidth, - csSDK_uint32 inDestHeight, - PrPixelFormat inPixelFormat, - float inScaleX, - float inScaleY, - PrRenderQuality inQuality); - - /** - ** Gaussian blur on the GPU - ** inPixelFormat must be PrPixelFormat_GPU_BGRA_4444_16f or PrPixelFormat_GPU_BGRA_4444_32f - */ - prSuiteError (*GaussianBlur)( - csSDK_uint32 inDeviceIndex, - const void* inSrc, - csSDK_int32 inSrcRowBytes, - csSDK_uint32 inSrcWidth, - csSDK_uint32 inSrcHeight, - void* inDest, - csSDK_int32 inDestRowBytes, - csSDK_uint32 inDestWidth, - csSDK_uint32 inDestHeight, - PrPixelFormat inPixelFormat, - float inSigmaX, - float inSigmaY, - prBool inRepeatEdgePixels, - prBool inBlurHorizontally, - prBool inBlurVertically, - PrRenderQuality inQuality); - -} PrSDKGPUImageProcessingSuite; - - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKImageProcessingSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKImageProcessingSuite.h deleted file mode 100755 index 8144667..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKImageProcessingSuite.h +++ /dev/null @@ -1,151 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKIMAGEPROCESSINGSUITE_H -#define PRSDKIMAGEPROCESSINGSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKImageProcessingSuite "Premiere Image Processing Suite" - -#define kPrSDKImageProcessingSuiteVersion1 1 -#define kPrSDKImageProcessingSuiteVersion2 2 - -// Current -#define kPrSDKImageProcessingSuiteVersion kPrSDKImageProcessingSuiteVersion2 - -typedef struct -{ - /* - ** @param inPixelFormat - the format in question - ** @param outIsCompressed - a bool that says if the format is considered a compressed format or not - */ - prSuiteError (*FormatIsCompressed)( - PrPixelFormat inPixelFormat, - prBool* outIsCompressed - ); - - /* - ** @param inPixelFormat - the format in question - ** @param outHasAlpha - a bool that says if the format has a valid alpha channel or not - */ - prSuiteError (*FormatHasAlpha)( - PrPixelFormat inPixelFormat, - prBool* outHasAlpha - ); - - /* - ** @param inPixelFormat - the format in question - ** @param outIsTopLeft - a bool that says if the format should be considered origin top left, or origin bottom left - ** At the moment this is pretty hard wired in the host - 4444 formats are bottom left, all others are top left, but in future releases this might change - */ - prSuiteError (*FormatIsOriginTopLeft)( - PrPixelFormat inPixelFormat, - prBool* outIsTopLeft - ); - - /* - ** @param inPixelFormat - the format in question - ** @param inWidth - ** @param inHeight - the width and height of the desired buffer - ** @param outSizeToAllocate - the size of buffer needed to store that pixel format at that size, in a buffer. - ** If you would like to know the desired rowbytes for the host app for that format, pass in a height of 1. - */ - prSuiteError (*GetSizeForPixelBuffer)( - PrPixelFormat inPixelFormat, - csSDK_int32 inWidth, - csSDK_int32 inHeight, - csSDK_int32* outSizeToAllocate - ); - - /* - */ - prSuiteError (*ScaleConvert)( - PrPixelFormat inSrcPixelFormat, - csSDK_int32 inSrcWidth, - csSDK_int32 inSrcHeight, - csSDK_int32 inSrcRowBytes, - prFieldType inSrcFieldType, - void* inSrcData, - - PrPixelFormat inDestPixelFormat, - csSDK_int32 inDestWidth, - csSDK_int32 inDestHeight, - csSDK_int32 inDestRowBytes, - prFieldType inDestFieldType, - void* inDestData, - - PrRenderQuality inQuality - ); - - /* - */ - prSuiteError (*CompressDV100720p)( - PrPixelFormat inSrcPixelFormat, - csSDK_int32 inSrcWidth, - csSDK_int32 inSrcHeight, - csSDK_int32 inSrcRowBytes, - void * inSrcData, - - PrPixelFormat inDestPixelFormat, - csSDK_int32 inDestBufferLength, - void* inDestData, - - csSDK_int32 inCompressedChannelOffset, /*either 0 for even frames or 2 for odd frames - if this doesn't mean anything to you, you should probably not be using this function*/ - PrRenderQuality inQuality); - - /* - */ - prSuiteError (*StampDVFrameAspect)( - PrPixelFormat inPixelFormat, - void* inData, - csSDK_int32 inDataSize, - prBool inStampAs16x9); - -} PrSDKImageProcessingSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif //PRSDKIMAGEPROCESSINGSUITE_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKImport.h b/Syphon-Transmit/Adobe/Headers/PrSDKImport.h deleted file mode 100755 index ca523b1..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKImport.h +++ /dev/null @@ -1,1458 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKIMPORT_H -#define PRSDKIMPORT_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKSTRUCTS_H -#include "PrSDKStructs.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKALPHATYPES_H -#include "PrSDKAlphaTypes.h" -#endif - -#ifndef PRSDKCLASSDATA_H -#include "PrSDKClassData.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKAUDIOSUITE_H -#include "PrSDKAudioSuite.h" -#endif - -#ifndef PRSDKROLLCRAWLSUITE_H -#include "PrSDKRollCrawlSuite.h" -#endif - -#ifndef PRSDKASYNCIMPORTER_H -#include "PrSDKAsyncImporter.h" -#endif - -#ifndef PRSDKIMPORTERSHARED_H -#include "PrSDKImporterShared.h" -#endif - -#ifndef PRSDKSTRINGSUITE_H -#include "PrSDKStringSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define IMPORTMOD_VERSION_1 1 // 5.0 -#define IMPORTMOD_VERSION_2 2 // 5.0.1 -#define IMPORTMOD_VERSION_3 3 // 6.0 -#define IMPORTMOD_VERSION_4 4 // 7.0/Premiere Pro 1.0 -#define IMPORTMOD_VERSION_5 5 // Premiere Pro 1.5 -#define IMPORTMOD_VERSION_6 6 // Premiere Elements 1.0 -#define IMPORTMOD_VERSION_7 7 // Premiere Pro 2.0 -#define IMPORTMOD_VERSION_8 8 // CS3 -#define IMPORTMOD_VERSION_9 9 // CS4 -#define IMPORTMOD_VERSION_10 10 // CS5 -#define IMPORTMOD_VERSION_11 11 // CS5.5 -#define IMPORTMOD_VERSION_12 12 // CS6 -#define IMPORTMOD_VERSION_13 13 // CS6.0x -#define IMPORTMOD_VERSION_14 14 // CS7 -#define IMPORTMOD_VERSION IMPORTMOD_VERSION_14 - -// Platform file reference -#ifdef PRWIN_ENV -#define imFileRef HANDLE -#define imInvalidHandleValue (HANDLE)-1 -#endif -#ifdef PRMAC_ENV -#define imFileRef void* -#define imInvalidHandleValue (void*)-1 -#endif - - -// progress callback for trimming/saving files -typedef csSDK_int32 (*importProgressFunc)(csSDK_int32 partDone, csSDK_int32 totalToDo, void* trimCallbackID); - - -// Utility functions passed in with the Standard Parms - -typedef struct -{ - ClassDataFuncsPtr classFuncs; - csSDK_int32 unused1; // CS4: Removed the OpenFileFunc (which didn't appear to work anyway in CS3) - csSDK_int32 unused2; // CS4: Removed the DeleteFileFunc (which didn't appear to work anyway in CS3) -} imCallbackFuncs; - -// Standard parms passed into xImportEntry - -typedef struct -{ - csSDK_int32 imInterfaceVer; // version # of import interface (IMPORTMOD_VERSION) - imCallbackFuncs *funcs; - piSuitesPtr piSuites; -} imStdParms; - -//-------------------------------------- -// Flags for the xRef resource - -#define xfCanOpen 0x8000 -#define xfCanImport 0x4000 -#define xfCanReplace 0x2000 -#define xfUsesFiles 0x1000 - -#define xfCantBatchProcess 0x0800 // Used by importers to indicate the format isn't batch processable -#define xfCanWriteMetaData 0x0400 // Used by importers to save off the canWriteMetaData flag -#define xfCanWriteTimecode 0x0200 // Used by importers to save off the canWriteTimecode flag -#define xfIsTitle 0x0100 - - -#define xfIsEffect 0x0080 -#define xfIsAFilter 0x0040 -#define xfIsVFilter 0x0020 -#define xfIsStill 0x0010 -#define xfIsMovie 0x0008 -#define xfIsSound 0x0004 -#define xfIsAnimation 0x0002 -#define xfIsBackdrop 0x0001 - -#define xfTypes 0x03FF - - -// struct filled in during imImportInit - -typedef struct -{ - csSDK_uint32 importerType; // identifier for the module - csSDK_int32 unused1; // CS4: Removed canOpen. All importers must now open their own files. - csSDK_int32 canSave; // importer handles "save as" - csSDK_int32 canDelete; // importer handles deleting its own files (probably because there are child files) - csSDK_int32 canResize; // importer can do resizing - csSDK_int32 canDoSubsize; // importer can rasterize a subset of an image at any size - csSDK_int32 canDoContinuousTime;// importer can render frames at arbitrary times (interpolate or - // generate synthetically). If set, the importer may be called - // to generate fields. - csSDK_int32 noFile; // no file reference, the importer generates the image - csSDK_int32 addToMenu; // add this importer to a premiere menu (see enum) - csSDK_int32 hasSetup; // importer has a setup dialog - csSDK_int32 dontCache; // Frames should not be cached [TODO] THIS IS NOT IMPLEMENTED!!! llozares - csSDK_int32 setupOnDblClk; // If true, the setup dialog will be opened on a double click - - csSDK_int32 keepLoaded; // If true, the importer plugin will never be unloaded. - // Normally, importers are loaded and unloaded on an as needed basis - // to minimize system load. With this flag set, an importer will never - // be released until the app shuts down. Don't set this flag unless it's - // really necessary. - - csSDK_int32 priority; // New for 5.1RT LL981112 - // Used to determine priority levels for importers that handle the - // same filetype. - // Priority now accepts any positive value. Higher numbers will override - // lower numbers. For overriding Premiere shipping plugins, use number - // of 100 or greater. - // NOTE: importers with priority>0 MUST also set canOpen. - - csSDK_int32 canAsync; // 6.0 threading [DEPRECATED] - csSDK_int32 canCreate; // 6.0 Set by 'custom' importers (synth importers which create files on disk) - csSDK_int32 canCalcSizes; // Pro 1.x Set by importers that want to calc trimmed and untrimmed file sizes (probably because there are child files) - csSDK_int32 canTrim; // Pro 1.x Set by importers that can trim media files - csSDK_int32 avoidAudioConform; // Elements 1.0, Pro 2.0 - Set by importers if they can support fast audio retrieval. - // If the file's audio rate is equal to or less than the current project audio rate no conforming will be attempted - // unless there is compression in the audio data. - prUTF16Char* acceleratorFileExt; // The file extension of accelerator files that this module creates and supports. - // This pointer points to an array of size 256. It should only be filled in if the module - // supports - csSDK_int32 canCopy; // Pro 2.0 Set by importers that can copy media files - csSDK_int32 canSupplyMetadataClipName; // Pro 3.0.2 Allows file based importer to set clip name from metadata (P2 supports this) - csSDK_int32 canValidatePrefs; // Pro 4.1. Used for RED color settings. In the future this needs to be paired with an imValidatePrefs call. - csSDK_int32 canProvidePeakAudio;// Pro 5 If importer can supply peak audio data - csSDK_int32 canProvideFileList; // Pro 6.0 Importer can provide a list of all files for a copy operation - csSDK_int32 canProvideClosedCaptions; // Pro 7.0 Importer can provide closed captions - - csSDK_int32 reserved[16]; // reserved; set to null; -} imImportInfoRec; - -typedef struct -{ - prDateStamp creationDateStamp; - csSDK_int32 reserved[40]; // reserved; set to null; -} imFileAttributesRec; - -// color record for alphaArbitrary matte color - -typedef struct -{ - unsigned char matteRed; - unsigned char matteBlue; - unsigned char matteGreen; -} matteColRec; - - -typedef PrSDKAlphaType ImporterAlphaType; - -// values for noDuration field in imImageInfoRec -enum ImporterDurationType -{ - imNoDurationFalse = 0, // not a "No Duration" file - imNoDurationNoDefault, // Use supplied vid duration - don't use default - imNoDurationStillDefault // Use the "still" default duration -}; - - -enum -{ - imMenuNone = 0, - imMenuNew -}; - -#define imUncompressed 'RAW ' // Special subType for uncompressed files -#define imSubTypeUnknown 0xffffffff // Special subType for files which can't report a subtype. - -enum ImporterPulldownCadence -{ - importer_PulldownPhase_NO_PULLDOWN = 0, - // 2:3 cadences - importer_PulldownPhase_WSSWW = 1, - importer_PulldownPhase_SSWWW, - importer_PulldownPhase_SWWWS, - importer_PulldownPhase_WWWSS, - importer_PulldownPhase_WWSSW, - - // 24pa cadences - importer_PulldownPhase_WWWSW, - importer_PulldownPhase_WWSWW, - importer_PulldownPhase_WSWWW, - importer_PulldownPhase_SWWWW, - importer_PulldownPhase_WWWWS -}; - -enum -{ - imColorProfileSupport_None = 0, - imColorProfileSupport_Fixed // The importer has a list of possible profiles which can be selected, possibly of length 1. If the Importer is guessing, it should set the imEmbeddedColorProfileUncertain flag -}; - -#define imPixelAspectRatioUncertain 0x1 -#define imFieldTypeUncertain 0x2 -#define imAlphaInfoUncertain 0x4 -#define imEmbeddedColorProfileUncertain 0x8 - -typedef struct -{ -// Image bounds info: - csSDK_int32 imageWidth; // frame width in pixels - csSDK_int32 imageHeight; // frame height in pixels - csSDK_uint16 pixelAspectV1; // aspect of pixels x:y, e.g. D1 == 648:720 - // intended to be 8.8 fixed, superceded by pixelAspectNum/Den below - csSDK_int16 depth; // bits per pixel - image buffers are 32bpp so this is informational only - - csSDK_int32 subType; // The subType for the file. - // This is generally the fourcc of the codec for the file - // though not always. It's used to match files to fileType's and subTypes - // that compile modules support. - // For uncompressed files, this should be set to imUncompressed. -// Image format info: - char fieldType; // field type -- see enum, note 'any' is not supported for importers - char fieldsStacked; // fields present, not interlaced - char reserved_1; // reserved; set to null - char reserved_2; // reserved; set to null - char alphaType; // alpha channel type -- see enum - matteColRec matteColor; // color of alpha matte for alphaArbitrary type - char alphaInverted; // alpha is inverted from normal - char isVectors; // content has no inherent resolution - -// Image draw info: - char drawsExternal; // file draws only externally (ntsc/pal out) - char canForceInternalDraw; // file draws only externally BUT we'll respect - char dontObscure; // file plays external and internal, don't obscure onscreen drawing (T2K) - -// Image time info: - char isStill; // File contains a single frame. Only one frame will be cached. - char noDuration; // File has no intrinsic duration so it can be stretched. Usually used for synthetic images - // please see enum above for values in this field. - - char reserved_3; // reserved; set to null - -// pixel aspect ratio (new in 6.0) - csSDK_uint32 pixelAspectNum; - csSDK_uint32 pixelAspectDen; - - char isRollCrawl; // this is a title or other image that does roll/crawl and supports the - // imGetRollCrawlInfo, imGetRollCrawlPage selectors - char reservedc[3]; // reserved; set to null - csSDK_int32 importerID; // [in] the ID for this importer instance, used in suite callbacks - csSDK_int32 supportsAsyncIO; // supports the Pro 2.0 imCreateAsyncImporter selector for this file - csSDK_int32 supportsGetSourceVideo;// supports the Pro 2.0 imGetSourceVideo selector for this file - csSDK_int32 hasPulldown; // file has ntsc film 3:2 pulldown - csSDK_int32 pulldownCadence; // See enum, above - csSDK_int32 posterFrame; // poster frame number (not time!!) - csSDK_int32 canTransform; // Pro 3.0 Set by importers that can apply a transform matrix - csSDK_int32 interpretationUncertain; // Pro 3.0 Importers can specify if they are uncertain about their interpretation, see flags above. 0 means no certain. - csSDK_int32 colorProfileSupport;// Added in CS5.5. Currently only meaningful in After Effects. See the imColorProfileSupport enum - csSDK_int32 reserved[20]; // reserved; set to null -} imImageInfoRec; - -// struct filled in at imFileInfo time for audio - -typedef struct -{ - csSDK_int32 numChannels; - float sampleRate; // In Hz. - PrAudioSampleType sampleType; // This is for informational use only! All samples will be return as buffers of Float32's -} imAudioInfoRec7; - -// timebase/format struct passed to/from importer - -typedef struct -{ - csSDK_int32 timebase; // timebase - csSDK_int32 samplesize; // size of one sample - csSDK_int32 duration; // duration in samples -} imTimebaseRec; - -// Populated during imGetInfo -// contains attributes for the file being imported. - -// Access modes -const csSDK_int32 kRandomAccessImport = 0; //This file can be read by random access (default) -const csSDK_int32 kSequentialAudioOnly = 1; //When accessing audio, only sequential reads allowed (for - //variable bit rate files). -const csSDK_int32 kSequentialVideoOnly = 2; //When accessing video, only sequential reads allowed. -const csSDK_int32 kSequentialOnly = kSequentialAudioOnly + kSequentialVideoOnly; -const csSDK_int32 kSeparateSequentialAudio = 4; //New for 7.5. Plugin supports the new SequentialAudio selectors - -// Unicode version of imFileInfoRec -typedef struct -{ - char hasVideo; // The file contains video - char hasAudio; // The file contains audio - - imImageInfoRec vidInfo; // Information about the video data - csSDK_int32 vidScale; // vidScale/vidSampleSize is the preferred video timebase - csSDK_int32 vidSampleSize; // vidScale/vidSampleSize is the preferred video timebase - csSDK_int32 vidDuration; // The duration of the video in the video timebase - - imAudioInfoRec7 audInfo; // Information about the audio data - PrAudioSample audDuration; // The duration of the audio sample frames - - csSDK_int32 accessModes; // This should be one of the access modes listed above - - void * privatedata; // this is private instance data - void * prefs; // this is persistent settings data - char hasDataRate; // importer can generate datarate information for this file. - - csSDK_int32 streamIdx; // IN: stream index number - char streamsAsComp; // OUT: if multiple streams and this is stream zero, indicate - // whether to import as a composition or multiple clips - prUTF16Char streamName[256]; // OUT: optional name of this stream if there are multiple streams - csSDK_int32 sessionPluginID; // ID for specific plugin instance, valid for this call only; new for 7.5/1.5 - // almost guaranteed NOT to be the same value as was passed into GetPrefs, - // but it DOES identify the same object. - char alwaysUnquiet; // If != 0, then Premiere will always unquiet this file immediately when the - // application resumes. - char highMemUsage; // If != 0, then MediaCore will limit the number of open file instances with this - // flag set to true to 5. Only for use in extreme cases, like QT and Windows Media. - prUTF16Char filePath[2048]; // Full absolute path to the media file for this stream - char canProvidePeakData; // This is initialized to the value set in imImportInfoRec, but can be changed on a per file basis - char mayBeGrowing; // This may be a partial file that will get longer. Host will check back at intervals by reloading the file -} imFileInfoRec8; - -// Unicode version of imFileAccessRec -typedef struct -{ - void* importID; - csSDK_int32 filetype; - const prUTF16Char* filepath; - imFileRef fileref; - PrMemoryPtr newfilename; // prUTF16Char buffer (imGetPrefs8 only) -} imFileAccessRec8; - -// This the struct passed to an importer during imOpenFile, imQuiet - -typedef enum -{ - kPrOpenFileAccess_ReadOnly = 0, - kPrOpenFileAccess_ReadWrite = 1, - kPrOpenFileAccess_ForceEnumSize = kPrForceEnumToIntValue -} PrFileOpenAccess; - -// Unicode version of imFileOpenRec -typedef struct -{ - imFileAccessRec8 fileinfo; - void* privatedata; - csSDK_int32 delegatetype; // internal use; do not use. - PrFileOpenAccess inReadWrite; // New for Pro 1.0 - (only used for imOpenFile) uses the PrFileOpenAccess type to request read or read write access - csSDK_int32 inImporterID; // New for Pro 2.0 - the importer ID for use with the caching suite. - csSDK_size_t outExtraMemoryUsage; // New for CS5. If the importer uses memory which cannot otherwise be registered in the cache just by being - // open, put the size in bytes in this field. - csSDK_int32 inStreamIdx; // New for CS6. Which stream is this? -} imFileOpenRec8; - -// flags passed during imImportImage - -enum -{ - imDraftMode=8, // Draw quickly if possible. This is passed when scrubbing and playing - // from the timeline. - imSamplesAreFields=16 // new for 7.0 - most importers will ignore as Premiere already - // scales in/out/scale to account for fields, but if you need to know - // that this has occurred (because maybe you measure something in 'frames'), check this flag. - // Also, may we suggest considering measuring in seconds instead of frames?... -}; - - // struct passed during imImportImage message - -typedef struct -{ - csSDK_int32 unused1; // this field is not used - csSDK_int32 dstWidth; // destination width - csSDK_int32 dstHeight; // destination height - csSDK_int32 dstOriginX; // destination origin X (always 0 for offscreen) - csSDK_int32 dstOriginY; // destination origin Y (always 0 for offscreen) - csSDK_int32 srcWidth; // source width if subsampling - csSDK_int32 srcHeight; // source height if subsampling - csSDK_int32 srcOriginX; // source origin X if subsampling - csSDK_int32 srcOriginY; // source origin Y if subsampling - csSDK_int32 unused2; // this field is not used - csSDK_int32 unused3; // this field is not used - csSDK_int32 rowbytes; // rowbytes; - char * pix; // destination bits - csSDK_int32 pixsize; // number of bytes in "pix" - PrPixelFormat pixformat; // format of the pixels as fourcc, 0 = BGRA - csSDK_int32 flags; // special flags, see enum above - prFieldType fieldType; // unused - csSDK_int32 scale; // scale/sampleSize is the timebase - csSDK_int32 sampleSize; // scale/sampleSize is the timebase - - // The following are based on the timebase given by scale and sampleSize - csSDK_int32 in; // in point - csSDK_int32 out; // out point - csSDK_int32 pos; // importTime position - - void* privatedata; // instance data from imGetInfo - void * prefs; // persistent data from imGetSettings - prRect alphaBounds; // new for 7.5. This is the rect outside of which the alpha is always 0. - // Simply do not alter this field if the alpha bounds match the dest bounds. - // If set, the alpha bounds must be contained by the dest bounds. - - csSDK_int32 applyTransform; // Pro 3.0 - the following matrix and rect are valid, use them. - float transform[3][3];// Pro 3.0 - source to dest matrix. - prRect destClipRect; // Pro 3.0 - destination rect inside the bounds of the pix buffer. -} imImportImageRec; - - // Extended struct passed to import modules with extra -// private data. The data is at the end of the public struct. -typedef struct -{ - imImportImageRec iir; - csSDK_int32 extra[16]; - PPixHand thePix; - PWorldID thePort; -} imImportImageRecEx; - -// Added to 6.0 to support multi-threading -// Deprecated in Pro 2.0 - -typedef struct -{ - void* privatedata; // instance data from imGetInfo - csSDK_int32 startframe; // frame to start from - csSDK_int32 endframe; // last frame to pre-buffer (inclusive) - csSDK_int32 width; // width we want it at - csSDK_int32 height; // height ditto -} imAsyncImportImageRec; - -// struct passed during imImportAudio message -// the new audio import struct for version 7 - -typedef struct -{ - PrAudioSample position; // in point in sample frames. If it is < 0, then the request is sequential and - // the importer should return contiguous samples from the last call. - csSDK_uint32 size; // the number of sample frames to import (1 sample frame = 1 sample on all channels) - float ** buffer; // an array of numChannels buffers of floats of size size - void* privateData; // instance data from imGetInfo - void *prefs; // persistent data from imGetSettings -} imImportAudioRec7; - -// struct passed during imGetTimeInfo, filled in by plug-in -typedef struct -{ - void* privatedata; // instance data from imGetInfo - void * prefs; // persistent data from imGetSettings - 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]; // the comment from the capture - csSDK_int32 dataType; // 1 = SMPTE timecode -} imTimeInfoRec8; - -// struct passed during imGetMetaData, imSetMetaData -typedef struct -{ - void* privatedata; // instance data from imGetInfo - void *prefs; // persistent data from imGetPrefs - csSDK_int32 fourCC; // fourcc code of the metadata chunk - csSDK_uint32 buffersize; // size of the buffer - char *buffer; // metadata buffer -} imMetaDataRec; - - -// struct passed during imAnalysis, filled in by plug-in - -typedef struct -{ - void* privatedata; // instance data from imGetInfo - void *prefs; // persistent data from imGetPrefs - csSDK_int32 buffersize; // the size of the analysis buffer - char *buffer; // analysis buffer to be filled with text - csSDK_int32 timecodeFormat; // preferred timecode format -} imAnalysisRec; - - -// struct passed during imGetPrefs, filled in by plug-in - -typedef struct -{ - char *prefs; // Buffer to store preferences - csSDK_int32 prefsLength; // If "prefs"==0, fill this in with the - // buffer size needed for preferences - char firstTime; // If 1, then imGetPrefs is being called for the first - // time. The importer should setup reasonable default values for prefs. - PrTimelineID timelineData; // **6.0** timelineData handle to use with the getPreviewFrame - // callback passed only to synthetic importers when invoked - // from the timeline, so they can generate a full preview over - // content. Will be set to NULL in all other cases. - csSDK_int32 unused; // As of CS4, you can no longer set private data during the prefs call, since - // it will be called in a different process. - TDB_TimeRecord tdbTimelineLocation; // For Pro 1.5 tdbTimelineLocation added so synthetic importers - // can get the correct background image during imGetPrefs calls. - csSDK_int32 sessionPluginID; // ID for specific plugin instance, valid for this call only; new for 7.5/1.5 - csSDK_int32 imageWidth; // frame width in pixels - csSDK_int32 imageHeight; // frame height in pixels - csSDK_uint32 pixelAspectNum; - csSDK_uint32 pixelAspectDen; - csSDK_int32 vidScale; // vidScale/vidSampleSize is the preferred video timebase - csSDK_int32 vidSampleSize; // vidScale/vidSampleSize is the preferred video timebase - float sampleRate; // Audio, In Hz. -} imGetPrefsRec; - -#define kMaxAlternateTypes 50 - -// struct passed during imGetIndFormat - -typedef struct { - csSDK_int32 filetype; // unique fourcc, e.g.: 'MooV' - csSDK_int32 flags; // defines file class (video, still, etc) and loading flags (can this file be in a project?, etc.) - csSDK_int32 canWriteTimecode; // Set to 1 if timecode can be written for this filetype. - char FormatName[256]; // csSDK_int32 descriptive name - char FormatShortName[32]; // short name - char PlatformExtension[256]; // file extension(s). - // If multiple extensions, separate with nulls, e.g.: - // "bmp\0dib" - - // Added to support MacOS Navigation Services - // --- Deprecated --- - prBool hasAlternateTypes; - csSDK_int32 alternateTypes[kMaxAlternateTypes]; - - csSDK_int32 canWriteMetaData; // New in 6.0: Set to 1 if imSetMetaData is supported for the filetype -} imIndFormatRec; - - -// struct passed during imAnalysis, filled in by plug-in - -typedef struct -{ - void* privatedata; // instance data from imGetInfo - void *prefs; // persistent data from imGetPrefs - csSDK_int32 buffersize; // the size of the analysis buffer - char *buffer; // analysis buffer to be filled with imDataSamples - csSDK_int32 baserate; // base data rate per second of the file MINUS the data samples. - // This is usually the audio data rate. -} imDataRateAnalysisRec; - - -// one sample entry for the imDataRateAnalysis message - -typedef struct -{ - csSDK_uint32 sampledur; // duration of one sample in vidTimebase.samplesize increments. Hi bit set if its a keyframe - csSDK_uint32 samplesize; // size of this sample in bytes. -} imDataSample; - -// Unicode version of imSaveFileRec -typedef struct -{ - void* privatedata; // instance data from imGetInfo - csSDK_int32 *prefs; // persistent data from imGetPrefs - const prUTF16Char* sourcePath; // full path for the source file - const prUTF16Char* destPath; // full path for the dest file - char move; // true if it's a move operation - importProgressFunc progressCallback; // function to call repeated with progress and to check for cancel - void* progressCallbackID; // pass back to progressCallback; -} imSaveFileRec8; - -// Unicode version of imDeleteFileRec -typedef struct -{ - csSDK_int32 filetype; // instance data from imGetInfo - const prUTF16Char* deleteFilePath; // full path for the file -} imDeleteFileRec8; - -// struct passed during imGetFrameInfo and imGetCompressedFrame to tell the importer what frame -// is being checked - -typedef struct -{ - void* privatedata; // instance data from imGetInfo - PrPixelFormat outPixelFormat; // fourCC of pixel format - const void* prefs; -} imIndPixelFormatRec; - -typedef struct -{ - void* inPrivateData; - csSDK_int32 ioBufferSize; - void* inDestinationBuffer; - PrSDKString outName; -} imIndColorProfileRec; - -// struct passed during imCalcSize selector. -typedef struct -{ - void* privatedata; // instance data - void *prefs; // persistent data from imGetPrefs - csSDK_int32 trimIn; // requested trim in point - csSDK_int32 duration; // requested duration (0 == current duration, no trim) - prInt64 sizeInBytes; // returned size - csSDK_int32 scale; // timebase - csSDK_int32 sampleSize; // size of one sample -} imCalcSizeRec; - - -// struct passed during imCheckTrim selector. -typedef struct -{ - void* privatedata; // instance data - void *prefs; // persistent data from imGetPrefs - csSDK_int32 trimIn; // requested trim in point - csSDK_int32 duration; // requested duration (0 == current duration, no trim) - csSDK_int32 keepAudio; // new trimmed file should get source audio - csSDK_int32 keepVideo; // new trimmed file should get source video - csSDK_int32 newTrimIn; // returned trimIn - csSDK_int32 newDuration; // returned duration - csSDK_int32 scale; // timebase - csSDK_int32 sampleSize; // size of one sample -} imCheckTrimRec; - -// return values from progress callback -enum { - imProgressAbort = 0, - imProgressContinue = 1 -}; - -// struct passed during imTrimFile selector. -// Unicode version of imTrimFileRec. -typedef struct -{ - void* privatedata; // instance data - void *prefs; // persistent data from imGetPrefs - csSDK_int32 trimIn; // trim in point - csSDK_int32 duration; // duration - csSDK_int32 keepAudio; // new trimmed file should get source audio - csSDK_int32 keepVideo; // new trimmed file should get source video - const prUTF16Char* destFilePath; // destination file - csSDK_int32 scale; // timebase - csSDK_int32 sampleSize; // size of one sample - importProgressFunc progressCallback; // function to call repeated with progress and to check for cancel - void* progressCallbackID; // pass back to progressCallback; -} imTrimFileRec8; - -// struct passed during imGetRollCrawlInfo call -typedef struct -{ - void* privatedata; // instance data - void *prefs; // persistent data from imGetPrefs - RollCrawlInfo rollCrawlInfo; // filled in by the importer. -} imRollCrawlInfoRec; - -typedef struct -{ - void* privatedata; // instance data - void *prefs; // persistent data from imGetPrefs - csSDK_int32 page; - csSDK_int32 width; // page width - csSDK_int32 height; // page height - csSDK_int32 rowBytes; // rowbytes; - char * pix; // destination bits - PrPixelFormat pixformat; // format of the pixels as fourcc, 0 = BGRA -} imRollCrawlRenderRec; - -typedef struct -{ - void* inPrivateData; - void * inPrefs; // persistent data from imGetSettings - PrPixelFormat inPixelFormat; // format of the pixels as fourcc, 0 = BGRA - csSDK_int32 inIndex; // the frame rect index requested - csSDK_int32 outWidth; // the width of the preferred frame size. 0 means any width. - csSDK_int32 outHeight; // the height of the preferred frame size. 0 means any height. -} imPreferredFrameSizeRec; - -typedef struct -{ - void* inPrivateData; - void* inPrefs; // persistent data from imGetSettings - AsyncImporterEntry outAsyncEntry; // the entry point for async selectors - void* outAsyncPrivateData;// the private data for the async importer -} imAsyncImporterCreationRec; - -typedef struct -{ - void* inPrivateData; // instance data - float outProgress; // if > 0, then progress is reported (0.0 to 1.0); - char outInvalidateFile; // the importer has updated information about the file. - char outCallAgain; // if != 0, then the importer wants to be called immediately for more time. -} imDeferredProcessingRec; - -typedef struct -{ - void* inPrivateData; // instance data - void* inPrefs; // persistent data from imGetPrefs - PrAudioSample inPosition; // the start position of teh peak data - float inSampleRate; // The sample rate at which to generate the peak data - csSDK_int32 inNumSampleFrames; // The number of sample frames in each buffer - float** outMaxima; // An array of arrays to be filled with the maximum sample values - float** outMinima; // An array of arrays to be filled with the minimum sample values -} imPeakAudioRec; - -typedef struct -{ - const prUTF16Char* inOriginalPath; // the path to the copied original media - const prUTF16Char* inAcceleratorPath; // the path tothe copied accelerator -} imAcceleratorRec; - -typedef struct -{ - void* inPrivateData; // instance data from imGetInfo - csSDK_int32* inPrefs; // persistent data from imGetPrefs - const prUTF16Char* inSourcePath; // full path for the source file - const prUTF16Char* inDestPath; // full path for the dest file - importProgressFunc inProgressCallback; // function to call repeated with progress and to check for cancel - void* inProgressCallbackID; // pass back to progressCallback -} imCopyFileRec; - -typedef struct -{ - void* inPrivateData; // instance data from imGetInfo - void* inPrefs; // persistent data from imGetPrefs - const prUTF16Char* inSourcePath; - const prUTF16Char* inSuggestedDestinationPath; - prUTF16Char* outActualDestinationPath; -} imQueryDestinationPathRec; - -typedef struct -{ - const prUTF16Char* inSourcePath; - prPluginID outContentStateID; -} imQueryContentStateRec; -typedef struct -{ - csSDK_int32 subType; - prUTF16Char subTypeName[256]; -} imSubTypeDescriptionRec; - -// sent during imQueryInputFileList -// Calling sequence: -// -- first call: -// The plug-in fills out 'numOutputFiles', returns. -// -- second call: -// The host has allocated an array of PrSDKString references (all null). -// The plug-in should use PrSDKStringSuite to fill that array with -// PrSDKStrings containing full file paths. - -// NOTE: the plug-in can fail exSelQueryOutputFileList by returning -// imUnsupported. The input file is then assumed to be the the singular -// file opened at imOpenFile time. -// -typedef struct -{ - void* inPrivateData; // instance data from imGetInfo - void* inPrefs; // persistent data from imGetPrefs - PrSDKString inBasePath; // path that was passed during imOpenFile - csSDK_int32 outNumFilePaths; - PrSDKString *outFilePaths; -} imQueryInputFileListRec; - -// sent during imQueryStreamLabel -// if any error is returned, we assume that there is no label for this stream. See some Adobe defined constants in PrSDKStreamLabel.h -typedef struct -{ - void* inPrivateData; - const void* inPrefs; - csSDK_int32 inStreamIdx; - PrSDKString outStreamLabel; -} imQueryStreamLabelRec; - -typedef PREMPLUGENTRY (* ImportEntryFunc)(csSDK_int32 selector, imStdParms *stdparms, void* param1, void* param2); - - - -// struct passed during imInitiateAsyncClosedCaptionScan -typedef struct -{ - void* inPrivateData; // instance data - const void* inPrefs; // persistent data from imGetPrefs - void* outAsyncCaptionScanPrivateData; // instance data for this closed caption scan -} imInitiateAsyncClosedCaptionScanRec; - -typedef enum -{ - kPrClosedCaptionFormat_Undefined = 0, - kPrClosedCaptionFormat_CEA608 = 608, // Plug-In is providing a CEA-608 Byte Stream - kPrClosedCaptionFormat_CEA708 = 708, // Plug-In is providing a CEA-708 Byte Stream (may contain 608 data wrapped in 708) - kPrClosedCaptionFormat_TTML = 0x54544d4c // 'TTML'... - // Plug-In is providing a W3C TTML string that conforms to the - // W3C Timed Text Markup Language (TTML) 1.0: (http://www.w3.org/TR/ttaf1-dfxp/) - // or optionally conforming to SMPTE ST 2052-1:2010: - // (http://store.smpte.org/product-p/st%202052-1-2010.htm) - // or optionally conforming to EBU Tech 3350 - // (http://tech.ebu.ch/webdav/site/tech/shared/tech/tech3350.pdf) - // If the TTML string contains tunneled data (e.g. CEA-608 data), - // then it is preferred that the plug-in provide that through - // the appropriate byte stream format (e.g. kPrClosedCaptionFormat_CEA608) -} PrClosedCaptionFormat; - -// struct passed during imGetNextClosedCaption, filled in by plug-in -const size_t kTTMLBufferSize = 512; -typedef struct -{ - void* inPrivateData; // instance data - const void* inPrefs; // persistent data from imGetPrefs - void* inAsyncCaptionScanPrivateData; // instance data from imInitiateAsyncClosedCaptionScan - float outProgress; //between 0.0 and 1.0 - - csSDK_int64 outScale; // numerator of the time scale(e.g. 30000) - csSDK_int64 outSampleSize; // denominator of the time scale (e.g. 1001) - csSDK_int64 outPosition; // the position of the closed caption - // measured in the above size / scale - - PrClosedCaptionFormat outClosedCaptionFormat; // Format for this closed caption - - PrMemoryPtr outCaptionData; // Memory location to where the plug-in - // should write the closed caption bytes - // if providing CEA-608 or CEA-708 - - prUTF8Char outTTMLData[kTTMLBufferSize]; // UTF-8 String of valid W3C TTML, SMPTE-TT, or EBU-TT data - // The entire string may be split into substrings - // (e.g. line by line) and the host will concatenate - // and decode them (only used when outCaptionData == kPrClosedCaptionFormat_TTML) - - csSDK_size_t ioCaptionDataSize; // Size of outCaptionData buffer (in bytes) allocated - // from the host. The plug-in should set - // this variable to the actual number of - // bytes that were written to outCaptionData, - // or the length of the string (characters, not bytes) - // pointed by outTTMLData. -} imGetNextClosedCaptionRec; - -// struct passed during imCompleteAsyncClosedCaptionScan -typedef struct -{ - void* inPrivateData; // instance data - const void* inPrefs; // persistent data from imGetPrefs - void* inAsyncCaptionScanPrivateData; // Will be invalid after this call - prBool inScanCompletedWithoutError; -} imCompleteAsyncClosedCaptionScanRec; - -// struct passed during imGetAudioChannelLayout -typedef struct -{ - void* inPrivateData; // instance data - PrAudioChannelLabel outChannelLabels[kMaxAudioChannelCount]; // audio channel labels, a valid label should be assigned for each channel in the file -} imGetAudioChannelLayoutRec; - -// importer selectors: - -enum PrImporterSelector -{ - imInit = 0, - imShutdown = 1, - imImportImage = 5, - imQuietFile = 8, - imCloseFile = 9, - imAnalysis = 12, - imDataRateAnalysis = 13, - imGetIndFormat = 14, - imGetMetaData = 23, // 6.0 - imSetMetaData = 24, // 6.0 - imImportAudio7 = 25, // 7.0 new audio import call - imGetIndPixelFormat = 27, // 7.0 - imGetSupports7 = 28, // 7.0 plugin must return malSupports7 - imResetSequentialAudio = 29, - imGetSequentialAudio = 30, - imGetRollCrawlInfo = 32, // 7.x - imRollCrawlRenderPage = 33, // 7.x - imGetSupports8 = 36, // Pro 2.0 - imGetInfo8 = 37, // Pro 2.0 - imGetPrefs8 = 38, // Pro 2.0 - imOpenFile8 = 39, // Pro 2.0 - imSaveFile8 = 40, // Pro 2.0 - imDeleteFile8 = 41, // Pro 2.0 - imCalcSize8 = 42, // Pro 2.0 - imCheckTrim8 = 43, // Pro 2.0 - imTrimFile8 = 44, // Pro 2.0 - imGetPreferredFrameSize = 45, // Pro 2.0 - imCreateAsyncImporter = 46, // Pro 2.0 - imGetSourceVideo = 47, // Pro 2.0 - imDeferredProcessing = 48, // Pro 2.0 - imGetPeakAudio = 49, // Pro 2.0 - imRetargetAccelerator = 50, // Pro 2.0 - imCopyFile = 51, // Pro 2.0 - imGetTimeInfo8 = 52, // Pro 2.0 - imSetTimeInfo8 = 53, // Pro 2.0 - imGetSubTypeNames = 54, // Pro 3.0 - imGetFileAttributes = 55, // Pro 3.0 - imQueryDestinationPath = 56, // Pro 5.0 - imQueryContentState = 57, // Pro 5.0 - imGetIndColorProfile = 58, // Pro 5.5 - imQueryInputFileList = 59, // Pro 6.0 - imQueryStreamLabel = 60, // Pro 6.0 - imInitiateAsyncClosedCaptionScan = 61, // Pro 7.0 - imGetNextClosedCaption = 62, // Pro 7.0 - imCompleteAsyncClosedCaptionScan = 63, // Pro 7.0 - imGetAudioChannelLayout = 64 // Pro 7.0 -}; - -// Error Return codes - -enum PrImporterReturnValue { - imNoErr = 0, // No Error - imTooWide = 1, // File dimensions to large - imBadFile = 2, // Bad file format - imUnsupported = 3, // Unsupported selector - imMemErr = 4, // Memory Error - imOtherErr = 5, // Unknown Error - imNoContent = 6, // No audio or video - imBadRate = 7, // Bad Audio rate - imBadCompression = 8, // Bad compression - imBadCodec = 9, // Codec not found - imNotFlat = 10, // Unflattened QuickTime movie - imBadSndComp = 11, // Bad sound compression - imNoTimecode = 12, // Timecode supported, but not found - imMissingComponent = 13, // Missing component needed to open the file - imSaveErr = 14, // error saving file - imDeleteErr = 15, // error deleting file - imNotFoundErr = 16, // metadata chunk not found - imSetFile = 17, // returned by 'custom' importers only in imGetPrefs after file creation - imIterateStreams = 18, // returned from GetInfo7 to indicate there are multiple input streams - imBadStreamIndex = 19, // returned from GetInfo7 to indicate there are no more streams. - imCantTrim = 20, // returned from imCheckTrim if the file should not be trimmed. - imDiskFull = 21, // disk full trimming file - imDiskErr = 22, // other disk or I/O error trimming file - imFileShareViolation = 23, // File cannot be opened due to another process having exclusive read access - imIterateFrameSizes = 24, // Returned from imGetPreferredFrameSize when there are more frame sizes for a particular - // pixel format. - imMediaPending = 25, // The importer is still working on the file. - imDRMControlled = 26, // The file cannot be opened because it is under rights management. - imActivationFailed = 27, // Activation of a component failed (mostly due to user cancellation) - imFrameNotFound = 28, // An importer could not find the requested frame (typically used with async importers) - imBadHeader = 29, // The file cannot be opened because of a header error. - imUnsupportedCompression = 30, // The file has a compression type that we do not support - imFileOpenFailed = 31, // We were unable to open the file on disk - imFileHasNoImportableStreams = 32, // The file has no audio or video streams - imFileReadFailed = 33, // A read from an open file failed - imUnsupportedAudioFormat = 34, // Something in the audio format is not importable - imUnsupportedVideoBitDepth = 35, // The video bit depth of this file is unsupported - imDecompressionError = 36, // There was an error decompressing audio or video - imInvalidPreferences = 37, // Invalid prefs data was passed to the plugin - inFileNotAvailable = 38, // return value from imQueryContentState if the file/stream is no longer available. eg. deleted or offline - imRequiresProtectedContent = 39, - imNoCaptions = 40, // return value for imInitiateAsyncClosedCaptionScan and imGetNextClosedCaption which will signal to stop calling imGetNextClosedCaption - imDelegate = 255 // internal: delegate this file to another importer -}; - -// Other Return codes - -#define imCancel 300 // Returned from imGetPrefs -#define imBadFormatIndex 301 // Returned from imGetIndFormat -#define imIsCacheable 400 // Returned from imInit, non-zero if the plugin can be lazy-inited, - // zero if the plugin must be loaded from disk on startup - - -/* -importer messages: - -Message: imInit -Required: yes -Purpose: Called once at application startup. Importer may need certain - drivers or hardware to be present and initialized. - If any error is returned, importer and file types will not be used. - If the plugin does not have to be loaded immediately upon application startup, - then it should return imIsCacheable instead of imNoError. - param1 : imImportInfoRec * - -Message: imShutdown -Required: yes - Called once at application shutdown. Allows importer to release drivers or other resources. - -Message: imGetIndFormat -Required: yes - Repeatedly called with an ordinal to request all the import file formats that - this importer can handle. Importer should return imBadFormatIndex after - all formats have been enumerated. - parm 1 : format to return, 0-n - parm 2 : imIndFormatRec * - -Message: imGetInfo -Required: yes - Called when a specific file is instantiated. Importer checks file validity, - Optionally allocates file instance data, and fills in an imFileInfoRec. - parm1 : imFileAccessRec * - parm2 : imFileInfoRec * - -Message: imGetInfo8 -Required: yes - Called when a specific file is instantiated. Importer checks file validity, - Optionally allocates file instance data, and fills in an imFileInfoRec8. - parm1 : imFileAccessRec8 * - parm2 : imFileInfoRec8 * - -Message: imGetFrameInfo -Required: no - Called to get information about a specific frame in a file. - The file will already be opened. The importer reads information about the - frame requested and fills in the imFrameInfoRec with information about the - frame. - param1 : imGetFrameInfoRec * - param2 : imFrameInfoRec * - -Message: imDisposeFrameInfo -Required: yes, if imGetFrameInfo returns data that needs to be disposed - param1 : csSDK_int32 - -Message: imGetCompressedFrame -Required: no - param1 : imGetFrameInfoRec * - param2 : csSDK_int32 * - -Message: imDisposeCompressedFrame -Required: - param1 : csSDK_int32 - -Message: imImportImage -Required: yes, if there's image data - Called to rasterize or draw an image in the file. - param1 : imFileRef - param2 : imImportImageRec * - -Message: imImportAudio: -Required: yes, if there's audio data - Called to import audio - param1 : imFileRef - param2 : imImportAudioRec * - -Message: imOpenFile -Required: yes, if canOpen is true - If importer sets canOpen, this message will be sent to - open the file. imFileRef* should be filled in with the file reference - param1 : imFileOpenRec * - param2 : imFileRef * - -Message: imOpenFile8 -Required: yes, if canOpen is true - If importer sets canOpen, this message will be sent to - open the file. imFileRef* should be filled in with the file reference - param1 : imFileOpenRec8 * - param2 : imFileRef * - -Message: imQuietFile -Required: yes, if canOpen is true - If importer requests specialOpen status, this message will be sent to - allow the importer to release memory and drivers - param1 : imFileRef - param2 : privatedata - -Message imCloseFile -Required: yes - Called when the file will no longer be used by the application. - File instance data is disposed of during this call. - If importer set the canOpen flag, the file should also be closed. - param1 : imFileRef * - param2 : private data from imFileInfo - -Message imGetPrefs -Required: no - Called to get any settings that the importer wants to store. - If the file is synthetic (imNoFile), then the importer can change the name - field in the imFileAccessRec parameter to give the file a displayable name. - The importer should return imNoErr if OK. - The importer can also return imCancel. - param1 : imFileAccessRec * - param2 : imGetPrefsRec * - -Message imGetPrefs8 -Required: no - Called to get any settings that the importer wants to store. - If the file is synthetic (imNoFile), then the importer can use the newfilename - field in the imFileAccessRec8 parameter to give the file a displayable name. - The importer should return imNoErr if OK. - The importer can also return imCancel. - param1 : imFileAccessRec8 * - param2 : imGetPrefsRec * - -Message imSetPrefs -Required: no - Called to give the importer any settings it saved previously. - This will always be followed by a call to imFileInfo to allow the importer to - change any fields in imFileInfoRec that depend on saved preferences. - param1 : char * Preferences buffer - -Message imGetTimeInfo -Required: no - Called to get timecode info from a file. - param1 : imFileRef - param2 : imTimeInfoRec * - -Message: imSetTimeInfo -Required: no - Called to set the timecode in a file. - param1 : imFileRef - param2 : imTimeInfoRec * - -Message: imAnalysis -Required: no - Called to get a text description of the file. - If the importer doesn't handle this, a default analysis will be done (based on - the info returned from imGetInfo. - If the buffersize passed in imAnalysisRec is not big enough for the analysis, the - importer can change this field to request a larger size. - param1 : imFileRef - param2 : imAnalysisRec * - -Message: imDataRateAnalysis -Required: no - Called to get a data rate analysis of the file - This will be called once with imDataRateAnalysisRec.buffer == nil, the importer should - fill in imDataRateAnalysisRec.buffersize to the size needed hold its data rate analysis. - When this is called with imDataRateAnalysisRec.buffer != nil, the importer should fill - in the buffer with its data rate analysis - param1 : imFileRef - param1 : imDataRateAnalysisRec * - -Message: imSaveFile -Required: no, unless "canSave" is set - Called to save a file to the fsspec given in param2. - param1 : imSaveFileRec * - -Message: imSaveFile8 -Required: no, unless "canSave" is set - Called to save a file to the fsspec given in param2. - param1 : imSaveFileRec8 * - -Message: imDeleteFile -Required: no, unless "canDelete" is set - Called to delete an importer file, usually because the file - has associated child files that the host can't know about. - param1 : imDeleteFileRec * - -Message: imDeleteFile8 -Required: no, unless "canDelete" is set - Called to delete an importer file, usually because the file - has associated child files that the host can't know about. - param1 : imDeleteFileRec8 * - -Message: imGetMetaData -Required: no - Called to get a metadata chunk specified by a fourcc code - If the imMetaDataRec::buffer pointer is nil, the plug-in - should set the buffersize field to the needed buffer size, - and return imNoErr. Premiere will call again with the - appropriate buffer already allocated. - param1 : imFileRef - param2 : imMetaDataRec * - Return values: imNoErr, imNotFoundErr, imUnsupported - -Message: imSetMetaData -Required: no - Called to add a metadata chunk specified by a fourcc code. - param1 : imFileRef - param2 : imMetaDataRec * - Return values: imNoErr, imNotFoundErr, imUnsupported - -Message: imImportAudio7: -Required: yes, if there's audio data - Called to import audio using the new audio format - param1 : imFileRef - param2 : imImportAudioRec7 * - -Message: imGetInfo7 -Required: yes - Called when a specific file is instantiated. Importer checks file validity, - Optionally allocates file instance data, and fills in an imFileInfoRec7. - parm1 : imFileAccessRec * - parm2 : imFileInfoRec7 * - -Message: imGetIndPixelFormat -Required: no - Called to enumerated the pixel formats available for a specific file. - This message will be sent repeatedly until all formats have been - returned. Pixels formats should be returned in the preferred order - that the importer supports. The host will attempt to always talk - to the importer in the preferred pixel format if possible, but - all importers must support BGRA pixel format as well. The Importer - should return imBadFormatIndex after all formats have been enumerated. - imUnsupported should be returned on the first call if only classic - BGRA format is supported. - parm 1 : format to return, 0-n - parm 2 : imIndPixelFormatRec * - -Message: imResetSequentialAudio: -Required: no - If the plugin supports imGetSequentialAudio, then this selector will be - called to reset the file pointer. - param1 : imFileRef - param2 : imImportAudioRec7 * - -Message: imGetSequentialAudio: -Required: no - If the plugin can support sequential audio calls interleaved with random access - calls, it should add the flag kSeparateSequentialAudio to accessModes in - imFileInfoRec. If it does this, then sequential calls during conforming will - use this selector to get audio instead of imImportAudio7. - param1 : imFileRef - param2 : imImportAudioRec7 * - -Message: imCalcSize -Required: no - This selector is called if the importer sets canCalcSizes to non-zero in - imImportInfoRec. An importer should support this call if it uses a tree - of files represented as one top-level file to Premiere. - The importer should calculate either the trimmed or current size of the - file and return it. See further comments in the imCalcSizeRec struct - param1: imCalcSizeRec * - param2: imFileAccessRec * - -Message: imCalcSize8 -Required: no - This selector is called if the importer sets canCalcSizes to non-zero in - imImportInfoRec. An importer should support this call if it uses a tree - of files represented as one top-level file to Premiere. - The importer should calculate either the trimmed or current size of the - file and return it. See further comments in the imCalcSizeRec struct - param1: imCalcSizeRec * - param2: imFileAccessRec8 * - -Message imCheckTrim -Required: no - This selector is called when the host wants to trim a file. The importer - examines the proposed trimmed size of the file, and can change the requested - in point and duration to new values if the file can only be trimmed at - certain locations (GOP boundaries in MPEG files would be an obvious - example of this type of file). If the importer changes the in and duration, - the new values must include all the material requested in the original - trim request. If an importer does not need to change the in and duration, - it may either return imUnsupported, or imNoErr and simply not change the - in/duration fields. If the importer does not want the file trimmed (perhaps - because the audio or video would be degraded if recompressed?) it can return - imCantTrim and the trim operation will fail and the file will be copied instead. - param1: imCheckTrimRec * - param2: imFileAccessRec * - -Message imCheckTrim8 -Required: no - This selector is called when the host wants to trim a file. The importer - examines the proposed trimmed size of the file, and can change the requested - in point and duration to new values if the file can only be trimmed at - certain locations (GOP boundaries in MPEG files would be an obvious - example of this type of file). If the importer changes the in and duration, - the new values must include all the material requested in the original - trim request. If an importer does not need to change the in and duration, - it may either return imUnsupported, or imNoErr and simply not change the - in/duration fields. If the importer does not want the file trimmed (perhaps - because the audio or video would be degraded if recompressed?) it can return - imCantTrim and the trim operation will fail and the file will be copied instead. - param1: imCheckTrimRec * - param2: imFileAccessRec8 * - -Message imTrimFile -Required: no - param1: imFileAccessRec * - param1: imTrimFileRec * - -Message imTrimFile8 -Required: no - param1: imFileAccessRec8 * - param1: imTrimFileRec8 * - -Message: imGetRollCrawlInfo -Required: no - This selector is called if the importer sets isRollCrawl to non-zero in - imImportInfoRec. The importer should fill in a RollCrawlInfo struct. - param1: imRollCrawlInfoRec * - param2: unused - -Message: imRollCrawlRenderPage -Required: no - This selector is called if the importer sets isRollCrawl to non-zero in - imImportInfoRec. The importer render the requested page of the roll/crawl. - param1: rollCrawlRenderRec * - param2: unused - -Message: imGetPreferredFrameSize -Required: no - This selector is used by Premiere determine if the plugin has one or more preferred - frames sizes for a given pixel format. A preferred frame size is one which the importer - feels it can scale its output to faster than the host can. The native frame size is - usually a preferred size, but there may be others, such as 1/4 native frame. If - the importer can naturally render to any frame size efficiently, then 0 should be - returned as the width and height. - - param1: imPreferredFrameSizeRec* - param2: unused - -Message: imCreateAsyncImporter -Required: only if importer returns supportsAsyncIO != 0 in imImageInfoRec - This selector creates a new AsyncImporter and returns an entry point to it, along with - private data for it. See PrSDKAsyncImporter.h for further information. - - param1: imAsyncImporterCreationRec* - param2: unused - -Message: imGetSourceVideo -Required: only if importer returns supportsGetSourceVideo != 0 in imImageInfoRec - This selector is a different way for the host to get a video frame from the importer. - Instead of pushing down a frame buffer and format, this call requests a frame that - is allocated by the importer. The importer is free to match any of the requested - formats. If it cannot match the requested formats, it is free to fail. - - param1: mFileHandle - param2: imSourceVideoRec* - -Message: imDeferredProcessing -Required: no. - This selector is a way for the importer plugin to request some processing time. - param1: imDeferredProcessingRec* - param2: unused - -Message: imGetPeakAudio: -Required: no - This selector is used by Premiere to obtain peak data used to generate waveforms. - The peak data is returned in two arrays of buffers, one for the maximum values and - one for the minimum values. In Pro 2.0 and later, this will only be called if the importer is - synthetic and its duration is longer than a few minutes (including infinite). - - param1 : imFileRef - param2 : imPeakAudioRec * - -Message: imRetargetAccelerator -Required: no - This selector is static (no instance data). It is called when the host has copied - an original with a registered accelerator matching the file extension reported in - imInit. The host passes the path to the new original and the new accelerator, and - the plugin should update the accelerator to match the original, however necessary. - - param1 : imAcceleratorRec * - param2 : unused - -Message: imCopyFile -Required: no, unless "canCopy" is set - This selector is called to copy the file represented by the inSourcePath to the - inDestPath. After the copy operation is complete the importer should still be - referring to the original file and not the copied file. - param1 : imCopyFileRec * - param2 : unused - -Message imGetTimeInfo8 -Required: no - Called to get timecode info from a file. - param1 : imFileRef - param2 : imTimeInfoRec8 * - -Message imGetSubTypeNames -Required no - Called for each fileType returned by imGetIndFormat. - The plug-in should return an array of imSubTypeDescriptionRec - - param1: in: csSDK_int32 fileType as returned from imGetIndFormat - param2: out: imSubTypeDescriptionRec*, allocated by the plugNewPtrFunc provided by - the host. This array will be released by the host. - - -Message: imGetIndColorProfile -Required: Yes, if the Importer reported that it supports color profiles - Called to enumerate the supported color profiles. - If the support is _Fixed, we will iterate until we reach an error return. We will default to profile 0. - - The first time this is called, the inDestinationBuffer will be NULL. Fill in the required size for the buffer, and we'll call back with enough memory. - param 1: format to return, 0-n - param 2: imIndColorProfileRec* - -Message: imInitiateAsyncClosedCaptionScan -Required: no - Called to get closed captions embedded in the file. - param1 : imFileRef - param2 : imInitiateAsyncClosedCaptionScanRec* - -Message: imGetNextClosedCaption -Required: no - Called to get closed captions embedded in the file. - param1 : imFileRef - param2 : imGetNextClosedCaptionRec* - -Message: imCompleteAsyncClosedCaptionScan -Required: no - Called to get closed captions embedded in the file. - param1 : imFileRef - param2 : imCompleteAsyncClosedCaptionScanRec* - -Message: imGetAudioChannelLayout -Required: no - Called to get the audio channel layout in the file. - param1 : imFileRef - param2 : imGetAudioChannelLayoutRec* - -*/ - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKIMPORT_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKImporterFileManagerSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKImporterFileManagerSuite.h deleted file mode 100755 index afe0d28..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKImporterFileManagerSuite.h +++ /dev/null @@ -1,71 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2006 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKIMPORTERFILEMANAGERSUITE_H -#define PRSDKIMPORTERFILEMANAGERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -#define kPrSDKImporterFileManagerSuite "Importer File Manager Suite" -#define kPrSDKImporterFileManagerSuiteVersion 3 - -typedef struct -{ - /* - ** @param inPluginID, the importerID provided to the plugin - ** @param inStreamIndex, the stream held by the importer to modify - ** @param inFileCount, the number of files that the stream holds open between imOpenFile and imQuietFile. - ** If more files are opened, but on a temporary basis, we don't actually want to know. - */ - prSuiteError (*SetImporterStreamFileCount)(csSDK_uint32 inPluginID, csSDK_int32 inStreamIndex, csSDK_int32 inFileCount); - - /* - ** Asynchronously refreshes any media associated with inFilePath - ** - ** @param inFilePath, path to file on disk - */ - prSuiteError (*RefreshFileAsync)(const prUTF16Char* inFilePath); - - /** - ** Get the refresh interval for growing files. 0 means no automatic refresh. - */ - prSuiteError (*GetGrowingFileRefreshInterval)(csSDK_int32* outIntervalInSeconds); - -} PrSDKImporterFileManagerSuite; - -// - -#ifdef __cplusplus -} -#endif - -#endif // PRSDKIMPORTERFILEMANAGERSUITE_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKImporterShared.h b/Syphon-Transmit/Adobe/Headers/PrSDKImporterShared.h deleted file mode 100755 index 65a98b0..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKImporterShared.h +++ /dev/null @@ -1,71 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKIMPORTERSHARED_H -#define PRSDKIMPORTERSHARED_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -/** -** This struct defines a specific frame format that is being requested -** fromt the importer. Any member can be 0, which means that any value -** is an acceptable match. For instance, the host might ask for a specific -** width and height, but pass 0 as the pixel format, meaning it can accept -** any pixel format. -*/ -typedef struct -{ - csSDK_int32 inFrameWidth; - csSDK_int32 inFrameHeight; - PrPixelFormat inPixelFormat; -} imFrameFormat; - -typedef struct -{ - void* inPrivateData; - csSDK_int32 currentStreamIdx; // Added in Premiere Pro 3.0 to maintain struct alignment, turned into streamIdx for CS6 - PrTime inFrameTime; - imFrameFormat* inFrameFormats; // An array of requested frame format, in order of preference. - // If NULL, then any format is acceptable. - csSDK_int32 inNumFrameFormats; // The number of frame formats in the array. - bool removePulldown; // pulldown should be removed if pixel format supports that. - char unused2[3]; // Added in Premiere Pro 3.0 to maintain struct alignment - PPixHand* outFrame; // A pointer to the PPixHandle holding the requested frame. - void *prefs; // persistent data from imGetSettings - csSDK_int32 prefsSize; // size of persistent data from imGetSettings - PrSDKString selectedColorProfileName; // Added CS5.5 The name of the selected color profile, if the importer supports color management -} imSourceVideoRec; - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKLegacySuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKLegacySuite.h deleted file mode 100755 index d3ce682..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKLegacySuite.h +++ /dev/null @@ -1,105 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKLEGACYSUITE_H -#define PRSDKLEGACYSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKLegacySuite "Premiere Legacy Suite" -#define kPrSDKLegacySuiteVersion 1 -#define kPrSDKLegacySuiteVersion2 2 - -/** -** Legacy overview: -** -** The functions in this suite provide a bridge between old calls and -** structures and their new counterparts. -*/ - -typedef struct -{ - /** - ** This function will convert a scale and sample size from a timebase into - ** a ticks per frame. An error will return if the scale and sample rate - ** do not match a valid video frame rate. - ** - ** @param inScale the scale value of the timebase in question. - ** @param inSampleSize the sample size of the timebase in question. - ** @param outTicksPerFrame on return, the number of time ticks per second. - ** @return kLegacyResult_Success or kLegacyResult_InvalidVideoRate - */ - prSuiteError (*GetTicksPerTimebaseFrame)( - csSDK_uint32 inScale, - csSDK_uint32 inSampleSize, - PrTime* outTicksPerFrame); - -} PrSDKLegacySuite; - - -typedef struct -{ - /** - ** This function will convert a scale and sample size from a timebase into - ** a ticks per frame. An error will return if the scale and sample rate - ** do not match a valid video frame rate. - ** - ** @param inScale the scale value of the timebase in question. - ** @param inSampleSize the sample size of the timebase in question. - ** @param outTicksPerFrame on return, the number of time ticks per second. - ** @return kLegacyResult_Success or kLegacyResult_InvalidVideoRate - */ - prSuiteError (*GetTicksPerTimebaseFrame)( - csSDK_uint32 inScale, - csSDK_uint32 inSampleSize, - PrTime* outTicksPerFrame); - - prSuiteError (*GetTimebaseFrameFromTicks)( - PrTime inTicksPerFrame, - csSDK_uint32* outScale, - csSDK_uint32* outSampleSize); - - -} PrSDKLegacySuite2; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKMALErrors.h b/Syphon-Transmit/Adobe/Headers/PrSDKMALErrors.h deleted file mode 100755 index 2fc0d12..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKMALErrors.h +++ /dev/null @@ -1,244 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/* Adobe Premiere Device Control plug-in definitions */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKMALERRORS_H -#define PRSDKMALERRORS_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -/* These constants are part of our efforts to unify - the Media Abstraction Layer (MAL) interface. -*/ - -//Media abstraction layer errors and types - -typedef csSDK_int32 prMALError; -typedef csSDK_int32 prSuiteError; - -const prMALError malNoError = 0; // no error -const prMALError malUnknownError = 99; // unknown error -const prMALError malSupports7 = 100; // returned by plugins if they support version 7 of the API -const prMALError malSupports8 = 101; // returned by plugins if they support version 8 of the API - -/** -** Errors returned by suite function calls. -*/ - -#define PrSuiteErrorFailed(suiteError) (suiteError < 0) -#define PrSuiteErrorSucceeded(suiteError) (suiteError >= 0) - -/* -** -** Suite Errors are divided into the following bits: -** bit 31 Severity 1 for error, 0 for success (negative numbers are errors) -** bits 30..16 Suite returning error. 0 is reserved for general errors. -** bits 15..0 Error code. -** -** -*/ - -/* -** Successful error results. -*/ -const prSuiteError suiteError_NoError = 0x00000000; // Method succeeded - -/* -** General error results. -*/ -const prSuiteError suiteError_Fail = 0x80000000; // Method failed -const prSuiteError suiteError_InvalidParms = 0x80000001; // A parameter to this method is invalid -const prSuiteError suiteError_OutOfMemory = 0x80000002; // There is not enough memory to complete this method -const prSuiteError suiteError_InvalidCall = 0x80000003; // Usually this means this method call is not appropriate at this time -const prSuiteError suiteError_NotImplemented = 0x80000004; // The requested action is not implemented -const prSuiteError suiteError_IDNotValid = 0x80000005; // The passed in ID (pluginID, clipID...) is not valid - - -/* -** RenderSuite results -*/ - -/* -** RenderSuite ErrorCategory == 1 -** -*/ -const prSuiteError suiteError_RenderPending = 0x00010000; // Render is pending -const prSuiteError suiteError_RenderedFrameNotFound = 0x00010001; // A cached frame was not found. -const prSuiteError suiteError_RenderedFrameCanceled = 0x00010002; // A render was canceled - -const prSuiteError suiteError_RenderInvalidPixelFormat = 0x80010000; // Render output pixel format list is invalid -const prSuiteError suiteError_RenderCompletionProcNotSet = 0x80010001; // The render completion proc was not set for an async request - -/* -** TimeSuite results -*/ - -/* -** TimeSuite ErrorCategory == 2 -** -*/ -const prSuiteError suiteError_TimeRoundedAudioRate = 0x00020000; // Audio rate returned was rounded - -/* -** Compiler{Render,Audio,Settings}Suite results -** -** NOTE: If this list is changed in any way, you must also -** update: -** -** 1.) SuiteErrorToCompilerError() and CompilerErrorToSuiteError() -** in \Plugins\MediaCommon\MediaUtils\Src\Compilers\CompilerErrorUtils.cpp -** 2.) CompilerErrorToSuiteError() in \MediaLayer\Src\Compilers\CompilerModuleCallbacks.cpp -*/ - -/* -** Compiler{Render,Audio,Settings}Suite ErrorCategory == 3 -** -*/ -const prSuiteError suiteError_CompilerCompileAbort = 0x00030001; // User aborted the compile -const prSuiteError suiteError_CompilerCompileDone = 0x00030002; // Compile finished normally -const prSuiteError suiteError_CompilerOutputFormatAccept = 0x00030004; // The output format is valid -const prSuiteError suiteError_CompilerOutputFormatDecline = 0x00030005; // The compile module cannot compile to the output format -const prSuiteError suiteError_CompilerRebuildCutList = 0x00030006; // Return value from compGetFilePrefs used to force Premiere to bebuild its cutlist -const prSuiteError suiteError_CompilerIterateCompiler = 0x00030007; // 6.0 Return value from compInit to request compiler iteration -const prSuiteError suiteError_CompilerIterateCompilerDone = 0x00030008; // 6.0 Return value from compInit to indicate there are no more compilers -const prSuiteError suiteError_CompilerInternalErrorSilent = 0x00030009; // 6.0 Silent error code; Premiere will not display an error message on screen. - // Compilers can return this error code from compDoCompile if they wish to - // put their own customized error message on screen just before returning - // control to Premiere -const prSuiteError suiteError_CompilerIterateCompilerCacheable = 0x0003000A; // 7.0 Return value from compInit to request compiler iteration and indicating that this - // compiler is cacheable. - -const prSuiteError suiteError_CompilerBadFormatIndex = 0x80030000; // Invalid format index - used to stop compGetIndFormat queries -const prSuiteError suiteError_CompilerInternalError = 0x80030001; // -const prSuiteError suiteError_CompilerOutOfDiskSpace = 0x80030002; // Out of disk space error -const prSuiteError suiteError_CompilerBufferFull = 0x80030003; // The offset into the audio buffer would overflow it -const prSuiteError suiteError_CompilerErrOther = 0x80030004; // Someone set gCompileErr -const prSuiteError suiteError_CompilerErrMemory = 0x80030005; // Ran out of memory -const prSuiteError suiteError_CompilerErrFileNotFound = 0x80030006; // File not found -const prSuiteError suiteError_CompilerErrTooManyOpenFiles = 0x80030007; // Too many open files -const prSuiteError suiteError_CompilerErrPermErr = 0x80030008; // Permission violation -const prSuiteError suiteError_CompilerErrOpenErr = 0x80030009; // Unable to open the file -const prSuiteError suiteError_CompilerErrInvalidDrive = 0x8003000A; // Drive isn't valid. -const prSuiteError suiteError_CompilerErrDupFile = 0x8003000B; // Duplicate Filename -const prSuiteError suiteError_CompilerErrIo = 0x8003000C; // File io error -const prSuiteError suiteError_CompilerErrInUse = 0x8003000D; // File is in use -const prSuiteError suiteError_CompilerErrCodecBadInput = 0x8003000E; // A video codec refused the input format -const prSuiteError suiteError_ExporterSuspended = 0x8003000F; // The host has suspended the export -const prSuiteError suiteError_ExporterNoMoreFrames = 0x80030010; // Halt export early skipping all remaining frames including this one. AE uses - -/* -** FileSuite results -*/ - -/* -** FileSuite ErrorCategory == 4 -** -*/ -const prSuiteError suiteError_FileBufferTooSmall = 0x80040000; -const prSuiteError suiteError_FileNotImportableFileType = 0x80040001; // Not an importable file type - -/* -** LegacySuite results -*/ - -/* -** LegacySuite ErrorCategory == 5 -** -*/ -const prSuiteError suiteError_LegacyInvalidVideoRate = 0x80050000; // Invalid video rate (scale and sample rate don't match a valid rate) - -/* -** PlayModuleAudioSuite results -*/ - -/* -** PlayModuleAudioSuite ErrorCategory == 6 -** -*/ -const prSuiteError suiteError_PlayModuleAudioInitFailure = 0x80060000; -const prSuiteError suiteError_PlayModuleAudioIllegalPlaySetting = 0x80060001; -const prSuiteError suiteError_PlayModuleAudioNotInitialized = 0x80060002; -const prSuiteError suiteError_PlayModuleAudioNotStarted = 0x80060003; -const prSuiteError suiteError_PlayModuleAudioIllegalAction = 0x80060004; - -/* -** PlayModuleDeviceControlSuite -*/ - -/* -** PlayModuleDeviceControlSuite ErrorCategory == 7 -** -*/ -const prSuiteError suiteError_PlayModuleDeviceControlSuiteIllegalCallSequence = 0x80070000; - -/* -** MediaAcceleratorSuite ErrorCategory == 8 -*/ -const prSuiteError suiteError_MediaAcceleratorSuitePathNotFound = 0x80080000; -const prSuiteError suiteError_MediaAcceleratorSuiteRegisterFailure = 0x80080001; - - -/* -** Royalty Activation ErrorCategory == 9 -*/ -const prSuiteError suiteError_RepositoryReadFailed = 0x80090000; -const prSuiteError suiteError_RepositoryWriteFailed = 0x80090001; -const prSuiteError suiteError_NotActivated = 0x80090002; -const prSuiteError suiteError_DataNotPresent = 0x80090003; -const prSuiteError suiteError_ServerCommunicationFailed = 0x80090004; -const prSuiteError suiteError_Internal = 0x80090005; - -/* -** PrSDKStringSuite ErrorCategory == A -*/ -const prSuiteError suiteError_StringNotFound = 0x800A0000; -const prSuiteError suiteError_StringBufferTooSmall = 0x800A0001; - - -/* -** PrSDKVideoSegmentSuite ErrorCategory == B -*/ -const prSuiteError suiteError_NoKeyframeAfterInTime = 0x800B0000; - -/* -** PrSDKCaptioningSuite ErrorCategory == C -*/ -const prSuiteError suiteError_NoMoreData = 0x000C0000; - -/* -** PrSDKThreadedWorkSuite ErrorCategory == D -*/ -const prSuiteError suiteError_InstanceDestroyed = 0x800D0000; - -/** -** Control Surface HRESULTs -*/ - -#define CS_E_UNKNOWN_ERROR _HRESULT_TYPEDEF_(0xE0010001); -#define CS_E_INVALID_ID _HRESULT_TYPEDEF_(0xE0010002); - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKMarkerSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKMarkerSuite.h deleted file mode 100755 index 136b6c9..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKMarkerSuite.h +++ /dev/null @@ -1,218 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2004 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - -#ifndef PRSDKMARKERSUITE_H -#define PRSDKMARKERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKFLASHCUEMARKERDATASUITE_H -#include "PrSDKFlashCueMarkerDataSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKMarkerSuite "Marker Suite" -#define kPrSDKMarkerSuiteVersionV1 1 -#define kPrSDKMarkerSuiteVersionV2 2 -#define kPrSDKMarkerSuiteVersion 3 - -enum MarkerType -{ - kMarkerType_Timeline = 0, - kMarkerType_DVD -}; - -enum DVDMarkerType -{ - kDVDMarkerType_Main = 0, - kDVDMarkerType_Scene, - kDVDMarkerType_Stop -}; - -typedef csSDK_int32 PrMarkerType; -const PrMarkerType kMarkerSuiteType_FlashVideoCue = 100; - -typedef void* prMarkerRef; -#define kInvalidMarkerRef prMarkerRef(-1) - -// Obsoleted 20080514 in favor of PRT_MARKER_VALUE64. Use that instead -//#define PRT_MARKER_VALUE 0x00000001 //return value is a long timevalue - -// Obsoleted 20080514 in favor of PRT_MARKER_DURATION64. Use that instead -//#define PRT_MARKER_DURATION 0x00000002 //return value is a long timevalue - -#define PRT_MARKER_COMMENT 0x00000003 //return value is a pointer to a string -#define PRT_MARKER_CHAPTER 0x00000004 //return value is a pointer to a string -#define PRT_MARKER_HREF 0x00000005 //return value is a pointer to a string -#define PRT_MARKER_TARGET 0x00000006 //return value is a pointer to a string - -#define PRT_MARKER_TYPE 0x00000007 //return value is an enum MarkerType -#define PRT_DVD_MARKER_TYPE 0x00000008 //return value is an enum DVDMarkerType - -// Obsoleted 20080514 due to disuse and complication in making it work. It would not be hard to -// provide a PRT_DVDMARKER_THUMBNAIL_OFFSET64, but no current clients have been identified -//#define PRT_DVDMARKER_THUMBNAIL_OFFSET 0x00000009 //return value is a long timevalue - -#define PRT_MARKER_SCALE 0x0000000A //return value is a long scale (in the tdb sense) -#define PRT_MARKER_SAMPLESIZE 0x0000000B //return value is a long sample size (in the tdb sense) -#define PRT_MARKER_NAME 0x00000010 //return value is a pointer to a string - -#define PRT_MARKER_VALUE64 0x00000011 //return value is a 64 bit timevalue -#define PRT_MARKER_DURATION64 0x00000012 //return value is a 64 bit timevalue - -typedef struct -{ - /* - ** Used to retrieve the number of markers of a given type on the incoming inTimelineID, which - ** is provided to the plugin as a "timelineData" member. For compilers this is in compileInfo - ** - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param outNumberMarkers the number of markers of the requested type. May be zero. - */ - prSuiteError (*GetMarkerCount)( - PrTimelineID inTimelineID, - csSDK_uint32* outNumberMarkers); - - /* - ** Call this prior to requesting GetMarkerName, and use the value populated in outMarkerNameLength - ** to allocate memory for the host to copy data to using the stdParms->funcs->memoryFuncs->newPtr - ** and pass in the allocated pointer to GetMarkerName. - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param inMarkerType the marker type to query for, must be a prMarkerType. - ** @param outMarkerNameSize the size of the data caller should allocate with prNewPtr, and call back - ** with GetMarkerName using the allocated buffer. - */ - prSuiteError (*GetMarkerNameSize)( - PrTimelineID inTimelineID, - csSDK_uint32 inMarkerIndex, - size_t* outMarkerNameSize); - - /* - ** Retrieve the marker name - the data is stored as prUTF16Char. See GetMarkerNameSize. - ** - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param inMarkerType the marker type to query for, must be a prMarkerType. - ** @param outMarkerName populated with the marker name - */ - prSuiteError (*GetMarkerName)( - PrTimelineID inTimelineID, - csSDK_uint32 inMarkerIndex, - PrMemoryPtr* outMarkerName); - - /* - ** Retrieve the marker start time - ** - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param inMarkerIndex the zero-based index of the marker you're interested in. Must be within range. - ** @param outStartTime the start time of the marker. - */ - prSuiteError (*GetMarkerStartTime)( - PrTimelineID inTimelineID, - csSDK_uint32 inMarkerIndex, - PrTime* outStartTime); - - /* - ** Retrieve the marker duration - may be zero length. - ** - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param inMarkerIndex the zero-based index of the marker you're interested in. Must be within range. - ** @param outMarkerDuration the duration of the marker. May be zero length if the marker has no duration. - */ - prSuiteError (*GetMarkerDuration)( - PrTimelineID inTimelineID, - csSDK_uint32 inMarkerIndex, - PrTime* outMarkerDuration); - - /* - ** Retrieve a PrFlashCueMarkerID that can be used for retrieving flash cue marker data. It is legal - ** for a marker to not be a flash cue marker, in which case ths outMarkerID will be zero. It is not necessary - ** to call DisposeFlashCueMarkerID if the marker ID is zero, but it is required if it is non-zero. - ** - ** See PrSDKFlashCueMarkerDataSuite for details. - ** - ** @param inTimelineID the timeline instance data used for all marker suite communication, - ** it is passed into the compiler instance in the compDoCompileInfo8 struct - ** @param inMarkerIndex the zero-based index of the marker you're interested in. Must be within range. - ** @param outMarkerID if this is a flash cue marker, outMarkerID will be non-zero - */ - prSuiteError (*GetFlashCueMarkerID)( - PrTimelineID inTimelineID, - csSDK_uint32 inMarkerIndex, - PrFlashCueMarkerID* outMarkerID); - - /* - ** Dispose of a PrFlashCueMarkerID when you no longer need it. - ** - ** @param inMarkerID a flash cue marker ID. - */ - prSuiteError (*DisposeFlashCueMarkerID)( - PrFlashCueMarkerID inMarkerID); - - /* - */ - prMarkerRef (*GetFirstMarker)( - PrTimelineID inTimelineID); - - /* - */ - prMarkerRef (*GetNextMarker)( - PrTimelineID timelineData, - prMarkerRef prev); - - /* - */ - prSuiteError (*GetMarkerData)( - PrTimelineID timelineData, - prMarkerRef marker, - csSDK_uint32 prMarkerDataType, - void* data); - -} PrSDKMarkerSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKMediaAcceleratorSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKMediaAcceleratorSuite.h deleted file mode 100755 index ff7d63f..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKMediaAcceleratorSuite.h +++ /dev/null @@ -1,137 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKMEDIAACCELERATORSUITE_H -#define PRSDKMEDIAACCELERATORSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKMediaAcceleratorSuite "Premiere Media Accelerator Suite" -#define kPrSDKMediaAcceleratorSuiteVersion3 3 -#define kPrSDKMediaAcceleratorSuiteVersion4 4 -#define kPrSDKMediaAcceleratorSuiteVersion kPrSDKMediaAcceleratorSuiteVersion4 - -typedef struct -{ - /** - ** Get the current directory in which to place media accelerator files. - ** - ** @param inPathBufferSize The max size of outPath. - ** @param outPath A buffer to hold the directory path. - */ - prSuiteError (*GetMediaAcceleratorDirectoryPath)( - const prUTF16Char* inOriginalPath, - int inPathBufferSize, - prUTF16Char* outPath); - - /** - ** For a given original path, get the Document ID and Content State GUID - ** which are needed for the register and find calls. - ** - ** @param inOriginalPath The path to the original file - ** @param inWriteIDToFileIfAbsent If non-0, then if there is no XMP doc ID, one will be written to the file. - ** only use this option in a compile or capture situation where it is always appropriate - ** to write to the file. (BTW, even if you set this to false, if the app preference - ** @param outDocumentID The Document ID GUID as a string - ** @param outContentState The Content State as a GUID. - */ - prSuiteError (*GetDocumentIDAndContentState)( - const prUTF16Char* inOriginalPath, - int inWriteIDToFileIfAbsent, - prPluginID* outDocumentID, - prPluginID* outContentState); - - /** - ** Register a path in the media accelerator database. - ** - ** @param inDocumentID the GUID document ID - ** @param inContentState the GUID content state - ** @param inPath the path to register. - ** @param inKey the string key under which to register the path. - ** @param inOriginalMediaPath the path to the original media for this accelerator. - */ - prSuiteError (*RegisterPathInDatabase)( - const prPluginID* inDocumentID, - const prPluginID* inContentState, - const prUTF16Char* inPath, - const prUTF16Char* inKey, - const prUTF16Char* inOriginalMediaPath); - - /** - ** Find if a path matching the requested key and original media exists in the database. - ** - ** @param inPathBufferSize The max size of outPath. - ** @param outPath the path from the database, if found. - ** @param inKey the string key under which to register the path. - ** @param inDocumentID the GUID document ID - ** @param inContentState the GUID content state - */ - prSuiteError (*FindPathInDatabase)( - int inPathBufferSize, - prUTF16Char* outPath, - const prPluginID* inDocumentID, - const prPluginID* inContentState, - const prUTF16Char* inKey); - - /** - ** Find if a path matching the requested key and original media exists in the database. - ** - ** @param inPathBufferSize The max size of outPath. - ** @param outPath the path from the database, if found. - ** @param inKey the string key under which to register the path. - ** @param inDocumentID the GUID document ID - ** @param inContentState the GUID content state - */ - prSuiteError (*FindPathInDatabaseAndValidateContentState)( - int inPathBufferSize, - prUTF16Char* outPath, - const prPluginID* inDocumentID, - const prPluginID* inContentState, - const prUTF16Char* inKey); -} PrSDKMediaAcceleratorSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKMemoryManagerSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKMemoryManagerSuite.h deleted file mode 100755 index 4822961..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKMemoryManagerSuite.h +++ /dev/null @@ -1,223 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKMEMORYMANAGERSUITE_H -#define PRSDKMEMORYMANAGERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKMemoryManagerSuite "Premiere Memory Manager Suite" -#define kPrSDKMemoryManagerSuiteVersion1 1 -#define kPrSDKMemoryManagerSuiteVersion2 2 -#define kPrSDKMemoryManagerSuiteVersion3 3 -#define kPrSDKMemoryManagerSuiteVersion4 4 -#define kPrSDKMemoryManagerSuiteVersion kPrSDKMemoryManagerSuiteVersion4 - -typedef struct -{ - /** - ** Set the memory reserve size in bytes for the plugin with the specified ID. - ** - ** @param inPluginID The ID of the plugin. - ** @param inSize The size in bytes to reserve. - */ - prSuiteError (*ReserveMemory)( - csSDK_uint32 inPluginID, - csSDK_uint32 inSize); - -} PrSDKMemoryManagerSuiteV1; - - -typedef struct -{ - /** - ** Set the memory reserve size in bytes for the plugin with the specified ID. - ** - ** @param inPluginID The ID of the plugin. - ** @param inSize The size in bytes to reserve. - */ - prSuiteError (*ReserveMemory)( - csSDK_uint32 inPluginID, - csSDK_uint32 inSize); - - PrMemoryPtr (*NewPtrClear)( - csSDK_uint32 byteCount); - - PrMemoryPtr (*NewPtr)( - csSDK_uint32 byteCount); - - csSDK_uint32 (*GetPtrSize)( - PrMemoryPtr p); - - void (*SetPtrSize)( - PrMemoryPtr *p, - csSDK_uint32 newSize); - - PrMemoryHandle (*NewHandle)( - csSDK_uint32 byteCount); - - PrMemoryHandle (*NewHandleClear)( - csSDK_uint32 byteCount); - - void (*PrDisposePtr)( - PrMemoryPtr p); - - void (*DisposeHandle)( - PrMemoryHandle h); - - short (*SetHandleSize)( - PrMemoryHandle h, - csSDK_uint32 newSize); - - csSDK_uint32 (*GetHandleSize)( - PrMemoryHandle h); - - void (*HUnlock)( - PrMemoryHandle h); - - void (*HLock)( - PrMemoryHandle h); - -} PrSDKMemoryManagerSuiteV2; - -typedef void (*PrSDKMemoryManagerSuite_PurgeMemoryFunction)( - void* inPurgeMemoryData, - csSDK_uint32 inMemoryID); - -typedef struct -{ - /** - ** Set the memory reserve size in bytes for the plugin with the specified ID. - ** - ** @param inPluginID The ID of the plugin. - ** @param inSize The size in bytes to reserve. - */ - prSuiteError (*ReserveMemory)( - csSDK_uint32 inPluginID, - csSDK_uint32 inSize); - - /** - ** Get the current size of the media cache in this process. - ** - ** @param outMemoryManagerSize The size of the memory manager in bytes. - */ - prSuiteError (*GetMemoryManagerSize)( - csSDK_uint64* outMemoryManagerSize); - - /** - ** Add a block of memory to management. This block should not be something entered - ** in any of the suite cache, and it must be purgeable. The purge function you pass in - ** may be called on any thread. - ** - ** @param inSize The size in bytes of the item in question. - ** @param inPurgeFunction The function pointer that will be called to purge the item. - ** @param inPurgeMemoryData The data object passed back in the purge callback. - ** @param outID The id the host will use for this item. - */ - prSuiteError (*AddBlock)( - csSDK_size_t inSize, - PrSDKMemoryManagerSuite_PurgeMemoryFunction inPurgeFunction, - void* inPurgeMemoryData, - csSDK_uint32* outID); - - /** - ** Each time you use a block of memory, you should call this function. This pushes its - ** priority up in the cache, making a purge less likely. - ** - ** @param inID The id of the block to touch. - */ - prSuiteError (*TouchBlock)( - csSDK_uint32 inID); - - /** - ** You can manually expire an item from the cache with this function. Note that the purge function - ** on the item will not be called. - ** - ** @param inID The id of the block to touch. - */ - prSuiteError (*RemoveBlock)( - csSDK_uint32 inID); - - PrMemoryPtr (*NewPtrClear)( - csSDK_uint32 byteCount); - - PrMemoryPtr (*NewPtr)( - csSDK_uint32 byteCount); - - csSDK_uint32 (*GetPtrSize)( - PrMemoryPtr p); - - void (*SetPtrSize)( - PrMemoryPtr *p, - csSDK_uint32 newSize); - - PrMemoryHandle (*NewHandle)( - csSDK_uint32 byteCount); - - PrMemoryHandle (*NewHandleClear)( - csSDK_uint32 byteCount); - - void (*PrDisposePtr)( - PrMemoryPtr p); - - void (*DisposeHandle)( - PrMemoryHandle h); - - short (*SetHandleSize)( - PrMemoryHandle h, - csSDK_uint32 newSize); - - csSDK_uint32 (*GetHandleSize)( - PrMemoryHandle h); - - prSuiteError (*AdjustReservedMemorySize)( - csSDK_uint32 inPluginID, - csSDK_int64 inSize); - -} PrSDKMemoryManagerSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKOpaqueEffectDataSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKOpaqueEffectDataSuite.h deleted file mode 100755 index 5a5f02e..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKOpaqueEffectDataSuite.h +++ /dev/null @@ -1,123 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKOPAQUEEFFECTDATASUITE_H -#define PRSDKOPAQUEEFFECTDATASUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef _H_AE_Effect -#include "AE_Effect.h" -#endif - - -#define kPrSDKOpaqueEffectDataSuite "Opaque Effect Data Suite" -#define kPrSDKOpaqueEffectDataSuiteVersion2 2 -#define kPrSDKOpaqueEffectDataSuiteVersion kPrSDKOpaqueEffectDataSuiteVersion2 - -struct OpaqueEffectDataType; - -/** -** This suite provides effects a means to share unflattened sequence data between its instances. -** The data is opaque to the host and effects are responsible for maintaining thread safety -** of the shared data. The host provides ref counting that the effect can use to manage -** the lifetime of the shared data. -*/ -typedef struct -{ - /** - ** Acquire pointer to opaque effect data. This is reference counted meaning that - ** AcquireOpaqueEffectData and ReleaseOpaqueEffectData should always be called in pairs. - ** If no opaque effect was registered for the given effect_ref AcquireOpaqueEffectData - ** will return 0 and the reference count remains 0. - */ - SPAPI PF_Err (*AcquireOpaqueEffectData)( - csSDK_int32 instanceID, /* filter instance ID */ - OpaqueEffectDataType **outOpaqueEffectDataPP); /* returned EffectDataP to opaque effect data */ - - /** - ** Register opaque effect data. If multiple threads invoke RegisterOpaqueEffectData - ** only one will be successful. The ioOpaqueEffectDataPP of the successful thread - ** will be returned to all callers. Calling threads are always responsible for - ** managing the data they register. This is the case whether or not threads are - ** successful registering their data. - ** Similarly, RegisterOpaqueEffectData always increments the internal reference count. - - // - // Sample code showing how to use RegisterOpaqueEffectData. - // Note: code is simplified (not exception-safe, etc.) - // - - // - // Try to acquire first, in case another thread registered the opaque effect data earlier - // - OpaqueEffectDataType * pData = 0; - PF_Err err = opaqueEffectDataSuite->AcquireOpaqueEffectData(instanceID, &pData); - assert(err == PF_Err_NONE); - - // - // If acquire did not return a valid pointer, create a new object and register it - // otherwise we are done - // - if (pData == 0) - { - OpaqueEffectDataType * pNewData(new OpaqueEffectDataType()); - pData = pNewData; - err = opaqueEffectDataSuite->RegisterOpaqueEffectData(instanceID, &pData); - assert(err == PF_Err_NONE); - - // now we check if this thread actually succeeded registering - // if the returned pData is unchanged it means that it was successful - if (pData != pNewData) - { - delete pNewData; - } - } - - // pData now points to the right OpaqueEffectDataType object and we can start using it - ... - - ** - ** - ** - */ - - SPAPI PF_Err (*RegisterOpaqueEffectData)( - csSDK_int32 instanceID, /* filter instance ID */ - OpaqueEffectDataType **ioOpaqueEffectDataPP); /* new EffectDataP to opaque effect data. Pointer value might be changed in case another thread calls this function earlier */ - - /** - ** Release opaque effect data. This decrements the internal reference count. - ** If the internal reference count goes to 0 outDisposeOpaqueEffectDataPP is set - ** to the managed data that should be deleted, otherwise it is set to NULL. - ** If the internal reference count goes to 0 any calls made to AcquireOpaqueEffectData - ** will return 0 until new opaque effect data is registered via RegisterOpaqueEffectData. - */ - SPAPI PF_Err (*ReleaseOpaqueEffectData)( - csSDK_int32 instanceID, /* filter instance ID */ - OpaqueEffectDataType **outDisposeOpaqueEffectDataPP); /* pointer to managed data - nonnull indicates effect should dispose of the data (data is no longer referenced) */ -} PrSDKOpaqueEffectDataSuite; - -#endif // PRSDKOPAQUEEFFECTDATASUITE_H - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPPix2Suite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPPix2Suite.h deleted file mode 100755 index a350fcb..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPPix2Suite.h +++ /dev/null @@ -1,144 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPPIX2SUITE_H -#define PRSDKPPIX2SUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKPPIXSUITE_H -#include "PrSDKPPixSuite.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPPix2Suite "Premiere PPix 2 Suite" -// Version 1 added GetSize -#define kPrSDKPPix2SuiteVersion1 1 -// Version 2 adds GetYUV420PlanarBuffers -#define kPrSDKPPix2SuiteVersion2 2 -// Version 3 adds GetOrigin and GetFieldType -#define kPrSDKPPix2SuiteVersion3 3 - -// Current -#define kPrSDKPPix2SuiteVersion kPrSDKPPix2SuiteVersion3 - -typedef struct -{ - /** - ** This will return the total size of the ppix in bytes. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outSize The size of the ppix in bytes. - */ - prSuiteError (*GetSize)( - PPixHand inPPixHand, - size_t* outSize); - - /** - ** [Added in CS4] - ** This will return the planar buffers and rowbytes for a PPixHand - ** if the contained pixels are in a planar format, such as - ** PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601 - ** PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601 - ** PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709 - ** PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709 - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param inRequestedAccess Will return an error if the source is read-only and the request is for write or read/write. - ** - ** @param out_xxx_PixelAddress The output (Y, U, or V) pixel buffer address. May be NULL if the requested access is not supported. - ** @param out_xxx_RowBytes Returns how many bytes must be added to the pixel buffer address to get to the next line. - ** May be negative. - */ - prSuiteError (*GetYUV420PlanarBuffers)( - PPixHand inPPixHand, - PrPPixBufferAccess inRequestedAccess, - char** out_Y_PixelAddress, - csSDK_uint32* out_Y_RowBytes, - char** out_U_PixelAddress, - csSDK_uint32* out_U_RowBytes, - char** out_V_PixelAddress, - csSDK_uint32* out_V_RowBytes); - - /* - ** [Added in CS5] - ** This concept of the origin is primarily useful when using the VideoSegmentRenderSuite. In order to avoid unnecessary work this suite will not normalize to the intended output - ** rectangle and thus you will need to handle this yourself. For example, if you are rendering a Sequence which is 720x480 and you import an image which is 110x100, it will have - ** an origin of -1, -1, implying that it should be centered (or left alone if it matches the desired output size. - ** If you apply a Gaussian Blur to an image, then the origin will be a positive number that represents the soft edge padding size after the blur. - ** If the origin is 0, 0, this implies that it has been set and the top-left corner should align with the logical top-left corner. A good test case for this is a Corner_Pin which - ** leaves the top-left corner alone but modifies the bottom right corner. - ** - ** @param inPPixHand The ppix handle you want to know the origin of - ** @param outOriginX The origin of the ppix is a non-negative number which describes how much of the actual pixel buffer you need to skip to find the top-left origin of image. - ** @param outOriginY If either of the X or Y origin is negative, that implies that the origin has never been set and the image is intended to be centered in the output window. - ** - */ - prSuiteError (*GetOrigin)( - PPixHand inPPixHand, - csSDK_int32* outOriginX, - csSDK_int32* outOriginY); - - /* - ** [Added in CS5] - ** - ** Almost all of the time, the field order of a PPix is clear - if it came from a clip, it will match the clip's. If it came from a render, it will match the Sequence. - ** However, there are edge cases where a PPix will be unexpectedly progressive: - ** - if you put a still on a timeline with no time-varying effects, the frame may be progressive. - ** - if you render at quarter res and we do a quarter-res decompress of an interlaced format, the result is often progressive - ** - if a time-remapping operation includes a hold frame, both fields may be the same time, and thus the result is progressive - ** There may be other cases, but you get the idea. - ** - ** @param inPPixHand The ppix handle you want to know the field type of. - ** @param outFieldType The field type of the ppix. - */ - prSuiteError (*GetFieldOrder)( - PPixHand inPPixHand, - prFieldType* outFieldType); - -} PrSDKPPix2Suite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCacheSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPPixCacheSuite.h deleted file mode 100755 index 8136058..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCacheSuite.h +++ /dev/null @@ -1,310 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPPIXCACHESUITE_H -#define PRSDKPPIXCACHESUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKIMPORTERSHARED_H -#include "PrSDKImporterShared.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPPixCacheSuite "Premiere PPix Cache Suite" -#define kPrSDKPPixCacheSuiteVersion1 1 -#define kPrSDKPPixCacheSuiteVersion2 2 -#define kPrSDKPPixCacheSuiteVersion3 3 -#define kPrSDKPPixCacheSuiteVersion4 4 -#define kPrSDKPPixCacheSuiteVersion5 5 -#define kPrSDKPPixCacheSuiteVersion kPrSDKPPixCacheSuiteVersion5 - -typedef struct -{ - /** - ** This will add the ppix to the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inPPixHand The ppix handle you want to add. - ** @param inFrameNumber The frame number of the ppix. - ** @param inPreferences Current importer preferences, can be NULL for no preferences - ** @param inPreferencesLength Current importer preferences length - */ - prSuiteError (*AddFrameToCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - PPixHand inPPixHand, - csSDK_int32 inFrameNumber, - void* inPreferences, - csSDK_int32 inPreferencesLength); - - /** - ** This will retrieve a ppix from the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inFrameNumber The frame number of the ppix requested. - ** @param outPPixHand A pointer to a ppix handle to hold the retrieved frame. - ** @param inPreferences Current importer preferences, can be NULL for no preferences - ** @param inPreferencesLength Current importer preferences length - */ - prSuiteError (*GetFrameFromCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - csSDK_int32 inFrameNumber, - csSDK_int32 inNumFormats, - imFrameFormat* inFormats, - PPixHand* outPPixHand, - void* inPreferences, - csSDK_int32 inPreferencesLength); - - /** - ** This will add the ppix to the raw cache for this importer instance. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inPPixHand The raw ppix handle you want to add. - ** @param inKey The key to use for this raw ppix. If an entry with this key already - ** exists, this call will fail. - */ - prSuiteError (*AddRawPPixToCache)( - csSDK_uint32 inImporterID, - PPixHand inPPixHand, - csSDK_int32 inKey); - - /** - ** This will retrieve a ppix from the frame cache for this importer instance. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inKey The key to identify this raw ppix. - ** @param outPPixHand A pointer to a ppix handle to hold the retrieved frame. - */ - prSuiteError (*GetRawPPixFromCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inKey, - PPixHand* outPPixHand); - - /** - ** This function allows you to cache a PPix using a GUID as an identifier. - ** - ** @param inPPixIdentifier The ID of the PPix, used to identify this particular set of pixels. - ** The GUID can be anything, but must be unique. - ** @param inPPix The Pixels to put in the cache. If a frame with this id is already in the cache, - ** then this PPix will be ignored. You still have ownership over the PPix. - ** You may want to get the PPix from the cache after this, in case your frame is redundant. - */ - prSuiteError (*AddNamedPPixToCache)( - const prPluginID* inPPixIdentifier, - PPixHand inPPix); - - /** - ** This function retrieves a named PPix from the cache. - ** - ** @param inPPixIdentifier The ID of the PPix. - ** @param outPPixHand The PPix, if it's available. If it's not in the cache, this will be NULL. - ** You are responsible for calling PPixDispose on this PPix, like any other. - */ - prSuiteError (*GetNamedPPixFromCache)( - const prPluginID* inPPixIdentifier, - PPixHand* outPPixHand); - - /** - ** This function registers a dependency on a PPix. If a frame with that identifier is in the cache now, - ** or ends up in the cache soon, then it will not be flushed from the cache while there are outstanding - ** dependencies. You are responsible for call the Unregister function - if you don't then this is the - ** same as a memory leak of a PPix. - ** - ** @param inPPixIdentifier The ID of the PPix you want held in the cache. - */ - prSuiteError (*RegisterDependencyOnNamedPPix)( - const prPluginID* inPPixIdentifier); - - /** - ** This function unregisters a dependency on a named PPix. This must be called for every successful call of - ** RegisterDependencyOnNamedPPix - ** - ** @param inPPixIdentifier The ID of the PPix you no longer need in the cache. - */ - prSuiteError (*UnregisterDependencyOnNamedPPix)( - const prPluginID* inPPixIdentifier); - - /** - ** This function attempts to flush a frame from the cache. If the frame has a registered dependency, then the - ** frame will remain available until the dependency count hits zero. - ** - ** @param inPPixIdentifier The ID of the PPix you want forcibly removed from the cache. - */ - prSuiteError (*ExpireNamedPPixFromCache)( - const prPluginID* inPPixIdentifier); - - /** - ** This function attempts to flush all ppixes from the cache. - */ - prSuiteError (*ExpireAllPPixesFromCache)(); - - /** - ** This will add the ppix to the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inPPixHand The ppix handle you want to add. - ** @param inFrameNumber The frame number of the ppix. - ** @param inPreferences Current importer preferences, can be NULL for no preferences - ** @param inPreferencesLength Current importer preferences length - ** @param inColorProfileName The name of the selected color profile. This is only worth providing if your - ** Importer supports color management, and has more than one possible profile. - ** Otherwise we will default to the single profile provided. - ** @param inColorProfileData This is completely optional. We will use the color profile data provided - ** through the imGetIndColorProfile selector. In some future version we will - ** allow Importers to support arbitrary profiles, at which point this param will - ** be useful. - */ - prSuiteError (*AddFrameToCacheWithColorProfile)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - PPixHand inPPixHand, - csSDK_int32 inFrameNumber, - void* inPreferences, - csSDK_int32 inPreferencesLength, - PrSDKString* inColorProfileName, - void* inColorProfileData, - csSDK_int32 inColorProfileDataLength); - - /** - ** This will retrieve a ppix from the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inFrameNumber The frame number of the ppix requested. - ** @param outPPixHand A pointer to a ppix handle to hold the retrieved frame. - ** @param inPreferences Current importer preferences, can be NULL for no preferences - ** @param inPreferencesLength Current importer preferences length - ** @param inColorProfileName The name of the selected color profile. This is only worth providing if your - ** Importer supports color management, and has more than one possible profile. - ** Otherwise we will default to the single profile provided. - ** @param inColorProfileData This is completely optional. We will use the color profile data provided - ** through the imGetIndColorProfile selector. In some future version we will - ** allow Importers to support arbitrary profiles, at which point this param will - ** be useful. - */ - prSuiteError (*GetFrameFromCacheWithColorProfile)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - csSDK_int32 inFrameNumber, - csSDK_int32 inNumFormats, - imFrameFormat* inFormats, - PPixHand* outPPixHand, - void* inPreferences, - csSDK_int32 inPreferencesLength, - PrSDKString* inColorProfileName, - void* inColorProfileData, - csSDK_int32 inColorProfileDataSize); -} PrSDKPPixCacheSuite; - - -/* -* v1 of suite; please use version 2 -*/ -typedef struct -{ - /** - ** This will add the ppix to the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inPPixHand The ppix handle you want to add. - ** @param inFrameNumber The frame number of the ppix. - */ - prSuiteError (*AddFrameToCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - PPixHand inPPixHand, - csSDK_int32 inFrameNumber); - - /** - ** This will retrieve a ppix from the frame cache for this importer instance and stream. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inStreamIndex The index of this stream - ** @param inFrameNumber The frame number of the ppix requested. - ** @param outPPixHand A pointer to a ppix handle to hold the retrieved frame. - */ - prSuiteError (*GetFrameFromCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inStreamIndex, - csSDK_int32 inFrameNumber, - csSDK_int32 inNumFormats, - imFrameFormat* inFormats, - PPixHand* outPPixHand); - - /** - ** This will add the ppix to the raw cache for this importer instance. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inPPixHand The raw ppix handle you want to add. - ** @param inKey The key to use for this raw ppix. If an entry with this key already - ** exists, this call will fail. - */ - prSuiteError (*AddRawPPixToCache)( - csSDK_uint32 inImporterID, - PPixHand inPPixHand, - csSDK_int32 inKey); - - /** - ** This will retrieve a ppix from the frame cache for this importer instance. - ** - ** @param inImporterID The ID of this importer instance (passed down in imGetInfo8). - ** @param inKey The key to identify this raw ppix. - ** @param outPPixHand A pointer to a ppix handle to hold the retrieved frame. - */ - prSuiteError (*GetRawPPixFromCache)( - csSDK_uint32 inImporterID, - csSDK_int32 inKey, - PPixHand* outPPixHand); - -} PrSDKPPixCacheSuite1; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreator2Suite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreator2Suite.h deleted file mode 100755 index c23ee8c..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreator2Suite.h +++ /dev/null @@ -1,153 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPPIXCREATOR2SUITE_H -#define PRSDKPPIXCREATOR2SUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPPIXSUITE_H -#include "PrSDKPPixSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPPixCreator2Suite "Premiere PPix Creator 2 Suite" -#define kPrSDKPPixCreator2SuiteVersion1 1 -#define kPrSDKPPixCreator2SuiteVersion2 2 -#define kPrSDKPPixCreator2SuiteVersion3 3 -#define kPrSDKPPixCreator2SuiteVersion kPrSDKPPixCreator2SuiteVersion3 - -typedef struct -{ - /** - ** This will create a new ppix. - ** - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inRequestedAccess Requested pixel access. ReadOnly is not allowed (doesn't make sense). - ** @param inPixelFormat The pixel format of this ppix. - ** @param inWidth The horizontal size of the ppix. - ** @param inHeight The vertical size of the ppix. - ** @param inUseFields If true, the ppix is a field. - ** @param inFieldNumber If inUseFields is true, this specifies first field (0) or second (1) - ** @param inPARNumerator The pixel aspect ratio numerator for the ppix. - ** @param inPARDenominator The pixel aspect ratio denominator for the ppix. - */ - prSuiteError (*CreatePPix)( - PPixHand* outPPixHand, - PrPPixBufferAccess inRequestedAccess, - PrPixelFormat inPixelFormat, - int inWidth, - int inHeight, - bool inUseFields, - int inFieldNumber, - int inPARNumerator, - int inPARDenominator); - - /** - ** This will create a new raw ppix. - ** - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inRequestedAccess Requested pixel access. ReadOnly is not allowed (doesn't make sense). - ** @param inSize The size of the ppix in bytes. - ** @param inAlignment The alignment of the beginning of the ppix in bytes. - */ - prSuiteError (*CreateRawPPix)( - PPixHand* outPPixHand, - PrPPixBufferAccess inRequestedAccess, - int inSize, - int inAlignment); - - - /** - ** This will create a new ppix in a custom pixel format. - ** - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inRequestedAccess Requested pixel access. ReadOnly is not allowed (doesn't make sense). - ** @param inPixelFormat The pixel format of this ppix. - ** @param inWidth The horizontal size of the ppix. - ** @param inHeight The vertical size of the ppix. - ** @param inPARNumerator The pixel aspect ratio numerator for the ppix. - ** @param inPARDenominator The pixel aspect ratio denominator for the ppix. - ** @param inDataBufferSize The number of bytes requested, not including the header. - */ - prSuiteError (*CreateCustomPPix)( - PPixHand* outPPixHand, - PrPPixBufferAccess inRequestedAccess, - PrPixelFormat inPixelFormat, - int inWidth, - int inHeight, - int inPARNumerator, - int inPARDenominator, - int inDataBufferSize); - - /** - ** This will create a new ppix properly aligned for reading from disk. - ** - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inPixelFormat The pixel format of this ppix. - ** @param inWidth The horizontal size of the ppix. - ** @param inHeight The vertical size of the ppix. - ** @param inPARNumerator The pixel aspect ratio numerator for the ppix. - ** @param inPARDenominator The pixel aspect ratio denominator for the ppix. - ** @param inMemoryAlignment The alignment of memory required for the start of the first sector. - ** If this value is zero, then we will align to the sector size. - ** This value must be a multiple of the pixel size or bad things will happen. - ** @param inSectorSize The size of a sector on disk. The required amount of memory will be padded - ** up to a multiple of the sector size. If this is zero, then there will be no padding. - ** @param inOffsetToPixelDataFromFirstSectorStart The number of bytes between the start of the first sector and the start - ** of the pixel data. The resulting pixel start location must be aligned to - ** the pixel size. - */ - prSuiteError (*CreateDiskAlignedPPix)( - PPixHand* outPPixHand, - PrPixelFormat inPixelFormat, - int inWidth, - int inHeight, - int inPARNumerator, - int inPARDenominator, - int inMemoryAlignment, - int inSectorSize, - int inOffsetToPixelDataFromFirstSectorStart); - -} PrSDKPPixCreator2Suite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreatorSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreatorSuite.h deleted file mode 100755 index b8f4787..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPPixCreatorSuite.h +++ /dev/null @@ -1,86 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPPIXCREATORSUITE_H -#define PRSDKPPIXCREATORSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPPIXSUITE_H -#include "PrSDKPPixSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPPixCreatorSuite "Premiere PPix Creator Suite" -#define kPrSDKPPixCreatorSuiteVersion 1 - -typedef struct -{ - /** - ** This will create a new ppix. - ** - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inRequestedAccess Requested pixel access. ReadOnly is not allowed (doesn't make sense). - ** @param inPixelFormat The pixel format of this ppix. - */ - prSuiteError (*CreatePPix)( - PPixHand* outPPixHand, - PrPPixBufferAccess inRequestedAccess, - PrPixelFormat inPixelFormat, - const prRect* inBoundingRect); - - /** - ** This will clone an existing ppix. It will ref-count the ppix if only read-access is requested and - ** the ppix to copy from is read-only as well, otherwise it will create a new one and copy. - ** - ** @param inPPixToClone The ppix to clone from. - ** @param outPPixHand The new ppix handle if the create was successfull. NULL otherwise. - ** @param inRequestedAccess Requested pixel access on the new ppix. (Only PrPPixBufferAccess_ReadOnly is allowed right now). - */ - prSuiteError (*ClonePPix)( - PPixHand inPPixToClone, - PPixHand* outPPixHand, - PrPPixBufferAccess inRequestedAccess); - -} PrSDKPPixCreatorSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPPixSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPPixSuite.h deleted file mode 100755 index 9f724ce..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPPixSuite.h +++ /dev/null @@ -1,170 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPPIXSUITE_H -#define PRSDKPPIXSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum -{ - PrPPixBufferAccess_ReadOnly = 0, - PrPPixBufferAccess_WriteOnly = 1, - PrPPixBufferAccess_ReadWrite = 2, - PrPPixBufferAccess_ForceEnumSize = kPrForceEnumToIntValue -} PrPPixBufferAccess; - -#define kPrSDKPPixSuite "Premiere PPix Suite" -#define kPrSDKPPixSuiteVersion 1 - -typedef struct -{ - /** - ** This will free this ppix. The ppix is no longer valid after this function is called. - ** - ** @param inPPixHand The ppix handle you want to dispose. - */ - prSuiteError (*Dispose)( - PPixHand inPPixHand); - - /** - ** This will return a pointer to the pixel buffer. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param inRequestedAccess Requested pixel access. Most PPixs do not support write access modes. - ** @param outPixelAddress The output pixel buffer address. May be NULL if the requested pixel access is not supported. - */ - prSuiteError (*GetPixels)( - PPixHand inPPixHand, - PrPPixBufferAccess inRequestedAccess, - char** outPixelAddress); - - /** - ** This will return the bounding rect. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outBoundingRect The address of a bounding rect to be filled in. - */ - prSuiteError (*GetBounds)( - PPixHand inPPixHand, - prRect* inoutBoundingRect); - - /** - ** This will return the row bytes of the ppix. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outRowBytes Returns how many bytes must be added to the pixel buffer address to get to the next line. - ** May be negative. - */ - prSuiteError (*GetRowBytes)( - PPixHand inPPixHand, - csSDK_int32* outRowBytes); - - /** - ** This will return the pixel aspect ratio of this ppix. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outPixelAspectRatioNumerator Returns the numerator of the pixel aspect ratio. - ** @param outPixelAspectRatioDenominator Returns the denominator of the pixel aspect ratio. - */ - prSuiteError (*GetPixelAspectRatio)( - PPixHand inPPixHand, - csSDK_uint32* outPixelAspectRatioNumerator, - csSDK_uint32* outPixelAspectRatioDenominator); - - /** - ** This will return the pixel format of this ppix. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outPixelFormat Returns the pixel format of this ppix. - */ - prSuiteError (*GetPixelFormat)( - PPixHand inPPixHand, - PrPixelFormat* outPixelFormat); - - /** - ** This will return the unique key for this ppix. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outKeyBuffer Returns the pixel format of this ppix. - ** - ** [TODO] Fill in returned error codes. - ** @returns Error if the buffer size is too small (call GetUniqueKeySize() to get the correct size). - ** @returns Error if the key is not available. - ** @returns Success if the key data was filled in. - */ - prSuiteError (*GetUniqueKey)( - PPixHand inPPixHand, - unsigned char* inoutKeyBuffer, - size_t inKeyBufferSize); - - /** - ** This will return the unique key size. - ** This will not change for the entire run of the application. - ** - ** @param outKeyBufferSize Returns the size of the ppix unique key. - */ - prSuiteError (*GetUniqueKeySize)( - size_t* outKeyBufferSize); - - /** - ** This will return the render time for this ppix. - ** - ** @param inPPixHand The ppix handle you want to operate on. - ** @param outRenderMilliseconds Returns the render time in milliseconds. If the frame was cached, this time will be 0. - */ - prSuiteError (*GetRenderTime)( - PPixHand inPPixHand, - csSDK_int32* outRenderMilliseconds); - -} PrSDKPPixSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPaletteSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPaletteSuite.h deleted file mode 100755 index 0b08fec..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPaletteSuite.h +++ /dev/null @@ -1,120 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPALETTESUITE_H -#define PRSDKPALETTESUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifdef PRWIN_ENV // The Palette Suite is Windows Only - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - - -#define kPrSDKPaletteSuite "Premiere Palette Suite" -#define kPrSDKPaletteSuiteVersion 1 - -#ifdef PRWIN_ENV - //#define compFileRef HANDLE -#define compPalette HPALETTE -#endif -#ifdef PRMAC_ENV - //#define compFileRef short -#define compPalette PaletteHandle -#endif -typedef unsigned long *compHistogramPtr; -typedef struct -{ - int width; // width of image - int height; // height of image - short rowBytes; // # of bytes in a row - char *pixels; // ptr to the pixels -} compHistogramFrameInfoRec; - -#ifdef PRWIN_ENV -typedef struct -{ - LPBITMAPINFOHEADER lpbiIn; // dib format - LPBYTE pbIn; // input pixels - LPBITMAPINFOHEADER lpbiOut; // output dib format - LPBYTE pbOut; // output pixels - HPALETTE hpal; // palette to use -} compPixelInfoRec; -#endif - -#ifdef PRMAC_ENV -typedef struct -{ - CTabHandle hpal; // palette to use -} compPixelInfoRec; -#endif - -typedef struct -{ - compHistogramPtr (*HistogramInit)(); - - void (*HistogramFree)( - compHistogramPtr histogram); - - int (*HistogramProcessPixels)( - compHistogramFrameInfoRec* histogramInfo, - compHistogramPtr histogram); - - compPalette (*HistogramToPalette)( - compHistogramPtr histogram, - char *lp16to8, int nColors); - - void (*HistogramDisposePalette)( - compPalette palette); - - void (*HistogramReducePixels)( LPBITMAPINFOHEADER lpbiIn, // dib format - LPBYTE pbIn, // input pixels - LPBITMAPINFOHEADER lpbiOut, // output dib format - LPBYTE pbOut, // output pixels - int srcRowBytes,// source bytes/line - int dstRowBytes,// dest bytes/line - compPalette palette, // HPALETTE on win - char* lp16to8); // lookup table from HistogramToPalette - -} PrSDKPaletteSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif -#endif /* PRSDKPALETTESUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPiPL.r b/Syphon-Transmit/Adobe/Headers/PrSDKPiPL.r deleted file mode 100755 index 4245664..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPiPL.r +++ /dev/null @@ -1,1083 +0,0 @@ -/* $Id: //premiere/main/Main/r/Mac/US/PiPL.r#10 $ */ - -//------------------------------------------------------------------------------- -// -// File: -// PiPL.r -// -// Copyright 1991-2000, Adobe Systems Incorporated. -// All Rights Reserved. -// -// Distribution: -// PUBLIC -// -// Description: -// This file contains the public resource templates -// for all PiPL types for all graphic and dynamic -// media products. -// -// Use: -// This file must be included to correctly compile any -// resource (.r) files with PiPLs defined in them. -// -// Version history: -// Version 1.0.0 10/9/1997 Cnvtpipl 3.0.1 Ace Initial compilation. -// Compiled for Photoshop, After Effects, Premiere, Illustrator. -// -// Version 1.0.1 3/9/1998 Cnvtpipl 3.0.37 Ace Premiere/PICA updates. -// PrImporter, PrCompile, PrRecord, PrPlay, AdapterVersion, InternalName. -// -// Version 1.0.2 8/26/98 Cnvtpipl 3.0.39 BA Premiere 5.1 updates. -// Activated the version field in Pr_Effect_Info and added two new flags - -// exclusiveDialog (bit 6) and directCompData (bit 4). For backwards compatibility, -// these are protected by #if/#endif blocks which are keyed off the PiPL version -// number. PiPL version 2.2 turns on the new fields. -// -//------------------------------------------------------------------------------- - -#ifndef __PIPL_r__ // Only include this once. -#define __PIPL_r__ - -//------------------------------------------------------------------------------- -// Definitions -- Version and include information -//------------------------------------------------------------------------------- - -// Version of Plug In Properties Template described in this file: -#ifndef kPIPropertiesVersion - #define kPIPropertiesVersion 0 -#endif - -//------------------------------------------------------------------------------- -// Don't include this file on MSWindows -//------------------------------------------------------------------------------- - -#define qIncludeMe 1 - -#ifdef MSWindows - #undef qIncludeMe - #define qIncludeMe !MSWindows -#endif - -#if qIncludeMe // Not MSWindows - -//------------------------------------------------------------------------------- -// Temporarily define PiPL types for all references: -//------------------------------------------------------------------------------- - -#define PIPiPLTypes \ - /* Photoshop plug-in types: */ \ - General = '8BPI', \ - Filter = '8BFM', \ - Parser = '8BYM', \ - ImageFormat='8BIF', \ - Extension = '8BXM', \ - Acquire = '8BAM', \ - Export = '8BEM', \ - Selection = '8BSM', \ - Picker = '8BCM', \ - Actions = '8LIZ', \ - Test = '8BTS', \ - MSPUtility = '8SPU' \ - PsModernFilter='8BFm' \ - /* After Effects plug-in types: */ \ - AEEffect = 'eFKT', \ - AEImageFormat = 'FXIF', \ - AEAccelerator = 'eFST', \ - AEGeneral = 'AEgp', \ - /* Premiere plug-in types: */ \ - PrEffect = 'SPFX', \ - PrVideoFilter = 'VFlt', \ - PrAudioFilter = 'AFlt', \ - PrEDLExport = 'ExpM', \ - PrDataExport = 'ExpD', \ - PrDevice = 'DevC', \ - PrImporter = 'IMPT' \ - PrCompile = 'CMPM', \ - PrRecord = 'RECM', \ - PrPlay = 'PLYM', \ - /* Illustrator/SweetPea plug-in types: */ \ - SweetPea = 'SPEA' \ - AIGeneral = 'ARPI' - -//------------------------------------------------------------------------------- -// PiPL resource template -//------------------------------------------------------------------------------- - -type 'PiPL' - { - longint = kPIPropertiesVersion; - longint = $$CountOf(properties); - array properties - { - switch - { - - - //------------------------------------------------------------------- - // General PiPL properties - //------------------------------------------------------------------- - case Kind: - longint = '8BIM'; - key longint = 'kind'; - longint = 0; - longint = 4; - literal longint PIPiPLTypes; - - case Version: - longint = '8BIM'; - key longint = 'vers'; - longint = 0; - longint = 4; - longint; - - case Priority: - longint = '8BIM'; - key longint = 'prty'; - longint = 0; - longint = 4; - longint; - - case Component: - longint = '8BIM'; - key longint = 'cmpt'; - longint = 0; - #if DeRez - fill long; - #else - longint = (componentEnd[$$ArrayIndex(properties)] - componentStart[$$ArrayIndex(properties)]) / 8; - #endif - componentStart: - longint; // Version. - cstring; // UUID. - componentEnd: - align long; - - case RequiredHost: - longint = '8BIM'; - key longint = 'host'; - longint = 0; - longint = 4; - literal longint; - - case Name: - longint = '8BIM'; - key longint = 'name'; - longint = 0; - #if DeRez - fill long; - #else - longint = (nameEnd[$$ArrayIndex(properties)] - nameStart[$$ArrayIndex(properties)]) / 8; - #endif - nameStart: - pstring; - nameEnd: - align long; - - case Category: - longint = '8BIM'; - key longint = 'catg'; - longint = 0; - #if DeRez - fill long; - #else - longint = (catgEnd[$$ArrayIndex(properties)] - catgStart[$$ArrayIndex(properties)]) / 8; - #endif - catgStart: - pstring - PSHelpMenu = "**Help**"; // Use this to place actions plug-ins in the help menu. - catgEnd: - align long; - - // May no longer be supported in current versions, but kept - // for backwards and PUBLIC compatibility: - case Code68k: - longint = '8BIM'; - key longint = 'm68k'; - longint = 0; - longint = 6; - literal longint PIPiPLTypes; - integer; - align long; - - case Code68kFPU: - longint = '8BIM'; - key longint = '68fp'; - longint = 0; - longint = 6; - literal longint PIPiPLTypes; - integer; - align long; - - case CodePowerPC: - longint = '8BIM'; - key longint = 'pwpc'; - longint = 0; - #if DeRez - fill long; - #else - longint = (pwpcEnd[$$ArrayIndex(properties)] - pwpcStart[$$ArrayIndex(properties)]) / 8; - #endif - pwpcStart: - longint; - longint; - pstring; - pwpcEnd: - align long; - - // For documentation purposes, here's the Windows - // code resource template: - #ifdef MSWindows - case CodeWin32X86: - longint = '8BIM'; - key longint = 'wx86'; - longint = 0; - longint = (win32x86End[$$ArrayIndex(properties)] - win32x86Start[$$ArrayIndex(properties)]) / 8; - win32x86Start: - cstring; - win32x86End: - align long; - #endif - - case SupportedModes: - longint = '8BIM'; - key longint = 'mode'; - longint = 0; - #if DeRez - fill long; - #else - longint = (modeEnd[$$ArrayIndex(properties)] - modeStart[$$ArrayIndex(properties)]) / 8; - #endif - modeStart: - boolean noBitmap, doesSupportBitmap; - boolean noGrayScale, doesSupportGrayScale; - boolean noIndexedColor, doesSupportIndexedColor; - boolean noRGBColor, doesSupportRGBColor; - boolean noCMYKColor, doesSupportCMYKColor; - boolean noHSLColor, doesSupportHSLColor; - boolean noHSBColor, doesSupportHSBColor; - boolean noMultichannel, doesSupportMultichannel; - boolean noDuotone, doesSupportDuotone; - boolean noLABColor, doesSupportLABColor; - fill bit[6]; - modeEnd: - align long; - - case EnableInfo: - longint = '8BIM'; - key longint = 'enbl'; - longint = 0; - #if DeRez - fill long; - #else - longint = (EnableInfoEnd[$$ArrayIndex(properties)] - EnableInfoStart[$$ArrayIndex(properties)]) / 8; - #endif - EnableInfoStart: - cstring; - EnableInfoEnd: - align long; - - //------------------------------------------------------------------- - // Photoshop Filter PiPL properties - //------------------------------------------------------------------- - case FilterCaseInfo: - longint = '8BIM'; - key longint = 'fici'; - longint = 0; - longint = 28; - array [7] - { - byte inCantFilter = 0, - inStraightData = 1, - inBlackMat = 2, - inGrayMat = 3, - inWhiteMat = 4, - inDefringe = 5, - inBlackZap = 6, - inGrayZap = 7, - inWhiteZap = 8, - inBackgroundZap = 10, - inForegroundZap = 11; - byte outCantFilter = 0, - outStraightData = 1, - outBlackMat = 2, - outGrayMat = 3, - outWhiteMat = 4, - outFillMask = 9; - fill bit [4]; - boolean doNotWriteOutsideSelection, writeOutsideSelection; - boolean doesNotFilterLayerMasks, filtersLayerMasks; - boolean doesNotWorkWithBlankData, worksWithBlankData; - boolean copySourceToDestination, doNotCopySourceToDestination; - fill byte; - }; - - //------------------------------------------------------------------- - // Photoshop Export PiPL properties - //------------------------------------------------------------------- - case ExportFlags: - longint = '8BIM'; - key longint = 'expf'; - longint = 0; - #if DeRez - fill long; - #else - longint = (expFlagsEnd[$$ArrayIndex(properties)] - expFlagsStart[$$ArrayIndex(properties)]) / 8; - #endif - expFlagsStart: - boolean expDoesNotSupportTransparency, expSupportsTransparency; - fill bit[7]; - expFlagsEnd: - align long; - - //------------------------------------------------------------------- - // Photoshop File Format PiPL properties - //------------------------------------------------------------------- - case FmtFileType: - longint = '8BIM'; - key longint = 'fmTC'; - longint = 0; - longint = 8; - literal longint; // Default file type. - literal longint; // Default file creator. - - // NOTE: If you specify you can READ type 'foo_', then you - // will never be called with a FilterFile for type 'foo_'. - case ReadTypes: - longint = '8BIM'; - key longint = 'RdTy'; - longint = 0; - longint = $$CountOf(ReadableTypes) * 8; - wide array ReadableTypes { literal longint; literal longint; } ; - - case WriteTypes: - longint = '8BIM'; - key longint = 'WrTy'; - longint = 0; - longint = $$CountOf(WritableTypes) * 8; - wide array WritableTypes { literal longint; literal longint; } ; - - // NOTE: If you specify you want to filter type 'foo_' AND you - // specify you can read type 'foo_', you will never get - // a filter call. - case FilteredTypes: - longint = '8BIM'; - key longint = 'fftT'; - longint = 0; - longint = $$CountOf(FilteredTypes) * 8; - wide array FilteredTypes { literal longint; literal longint; } ; - - // Macintosh plug-ins can use Windows file extensions - // to determine read/write/parseability. - // - // NOTE: If you specify you READ extension '.foo' then you - // won't be called to Filter that type. - case ReadExtensions: - longint = '8BIM'; - key longint = 'RdEx'; - longint = 0; - longint = $$CountOf(ReadableExtensions) * 4; - wide array ReadableExtensions { literal longint; } ; - - case WriteExtensions: - longint = '8BIM'; - key longint = 'WrEx'; - longint = 0; - longint = $$CountOf(WriteableExtensions) * 4; - wide array WriteableExtensions { literal longint; } ; - - // NOTE: If you specify you want to filter extension '.foo' - // AND you specify you can read extension '.foo', you will - // never get a filter call. - case FilteredExtensions: - longint = '8BIM'; - key longint = 'fftE'; - longint = 0; - longint = $$CountOf(FilteredExtensions) * 4; - wide array FilteredExtensions { literal longint; } ; - - case FormatFlags: - longint = '8BIM'; - key longint = 'fmtf'; - longint = 0; - longint = (fmtFlagsEnd[$$ArrayIndex(properties)] - fmtFlagsStart[$$ArrayIndex(properties)]) / 8; - fmtFlagsStart: - boolean = false; // Obsolete. - boolean fmtDoesNotSaveImageResources, fmtSavesImageResources; - boolean fmtCannotRead, fmtCanRead; - boolean fmtCannotWrite, fmtCanWrite; - boolean fmtWritesAll, fmtCanWriteIfRead; - fill bit[3]; - fmtFlagsEnd: - align long; - - case FormatMaxSize: - longint = '8BIM'; - key longint = 'mxsz'; - longint = 0; - longint = 4; - Point; - - case FormatMaxChannels: - longint = '8BIM'; - key longint = 'mxch'; - longint = 0; - longint = $$CountOf(ChannelsSupported) * 2; - wide array ChannelsSupported { integer; } ; - align long; - - //------------------------------------------------------------------- - // Photoshop Parser PiPL properties - //------------------------------------------------------------------- - // NOTE: If you specify you want to filter type 'foo_' and you - // specify you can parse type 'foo_', you will never get a - // filter call. - case ParsableTypes: - longint = '8BIM'; - key longint = 'psTY'; - longint = 0; - longint = $$CountOf(ParsableTypes) * 8; - wide array ParsableTypes { literal longint; literal longint; } ; - - case ParsableClipboardTypes: - longint = '8BIM'; - key longint = 'psCB'; - longint = 0; - longint = $$CountOf(ParsableClipboardTypes) * 4; - wide array ParsableClipboardTypes { literal longint; }; - - // NOTE: If you want to filter type 'foo_' and you specify you - // can parse type 'foo_', you will never get a filter call. - case FilteredParsableTypes: - longint = '8BIM'; - key longint = 'psTy'; - longint = 0; - longint = $$CountOf(ParsableTypes) * 8; - wide array ParsableTypes { literal longint; literal longint; } ; - - - // Macintosh plug-ins can use Windows file extensions - // to determine read/write/parseability. - // - // NOTE: If you want to filter extension '.foo' and you - // specify you can parse extension '.foo', you will - // never get a filter call. - case ParsableExtensions: - longint = '8BIM'; - key longint = 'psEX'; - longint = 0; - longint = $$CountOf(ParsableExtensions) * 4; - wide array ParsableExtensions { literal longint; }; - - case FilteredParsableExtensions: - longint = '8BIM'; - key longint = 'psEx'; - longint = 0; - longint = $$CountOf(ParsableExtensions) * 4; - wide array ParsableExtensions { literal longint; }; - - //------------------------------------------------------------------- - // Photoshop Parser PiPL properties - //------------------------------------------------------------------- - case PickerID: - longint = '8BIM'; - key longint = 'pnme'; - longint = 0; - #if DeRez - fill long; - #else - longint = (PickerIDEnd[$$ArrayIndex(properties)] - PickerIDStart[$$ArrayIndex(properties)]) / 8; - #endif - PickerIDStart: - pstring; // Unique ID string. - PickerIDEnd: - align long; - - //------------------------------------------------------------------- - // Photoshop Actions/Scripting PiPL properties - // (Photoshop 4.0 and later) - //------------------------------------------------------------------- - case HasTerminology: - longint = '8BIM'; - key longint = 'hstm'; - longint = 0; - longint = (hasTermEnd[$$ArrayIndex(properties)] - hasTermStart[$$ArrayIndex(properties)]) / 8; - hasTermStart: - longint = 0; // Version. - longint; // Class ID, always required. Can be Suite ID. - longint; // Event ID, or typeNULL if not Filter/Color Picker/Selection. - integer; // Dictionary ('AETE') resource ID. - cstring; // Unique scope string. Always required in Photoshop 5.0 and later. - hasTermEnd: - align long; - - // If this property is present, then its on. No parameters - // are required: - case Persistent: - longint = '8BIM'; - key longint = 'prst'; - longint = 0; // Index. - longint = 4; // Length. - literal longint = 1; // If specified, always on. - - //------------------------------------------------------------------- - // After Effects and Premiere specific PiPL properties - //------------------------------------------------------------------- - case AE_PiPL_Version: - longint = '8BIM'; - key longint = 'ePVR'; - longint = 0; - longint = 4; - integer; // Minor version. *NOTE: May have these reversed. - integer; // Major version. - - case AE_Effect_Spec_Version: - longint = '8BIM'; - key longint = 'eSVR'; - longint = 0; - longint = 4; - integer; // Minor version. *NOTE: May have these reversed. - integer; // Major version. - - case AE_Effect_Version: - longint = '8BIM'; - key longint = 'eVER'; - longint = 0; - longint = 4; - longint; - - case AE_Effect_Match_Name: - longint = '8BIM'; - key longint = 'eMNA'; - longint = 0; - #if DeRez - fill long; - #else - longint = (matchNameEnd[$$ArrayIndex(properties)] - matchNameStart[$$ArrayIndex(properties)]) / 8; - #endif - matchNameStart: - pstring; - matchNameEnd: - align long; - - //------------------------------------------------------------------- - // After Effects effects PiPL properties - //------------------------------------------------------------------- - case AE_Effect_Info_Flags: - longint = '8BIM'; - key longint = 'eINF'; - longint = 0; - longint = 4; // NOTE CHANGE: Was 2, but everything must be 4 byte aligned. - // integer; // Was defined this way. - // align long; // Was defined this way. - longint; // This is consistent with Windows resource. - - case AE_Effect_Global_OutFlags: - longint = '8BIM'; - key longint = 'eGLO'; - longint = 0; // Index. - longint = 4; // Length. - fill bit[6]; // Reserved. - boolean=0; // PF_OutFlag_RESERVED4 - boolean=0; // PF_OutFlag_RESERVED3 - boolean=0; // PF_OutFlag_RESERVED2 - boolean=0; // PF_OutFlag_RESERVED1 - boolean notObsolete, obsolete; // PF_OutFlag_I_AM_OBSOLETE - boolean dontUseAudio, useAudio; // PF_OutFlag_I_USE_AUDIO - boolean dontUseShutterAngle, useShutterAngle; // PF_OutFlag_I_USE_SHUTTER_ANGLE - boolean noFrameNopRender, useFrameNopRender; // PF_OutFlag_NOP_RENDER (frame) - boolean noRefreshUIEvent, useRefreshUIEvent; // PF_OutFlag_REFRESH_UI (event) - boolean noCustomNTRP, haveCustomNTRP; // PF_OutFlag_CUSTOM_NTRP - boolean noCustomUI, haveCustomUI; // PF_OutFlag_CUSTOM_UI - boolean nonSquarePixOk, squarePixOnly; // PF_OutFlag_SQUARE_PIX_ONLY - boolean dontWorkInPlace, workInPlace; // PF_OutFlag_WORKS_IN_PLACE - boolean doesntShrinkBuffer, shrinksBuffer; // PF_OutFlag_I_SHRINK_BUFFER - boolean doesntWriteInputBuffer, writesInputBuffer; // PF_OutFlag_I_WRITE_INPUT_BUFFER - boolean pixDependent, pixIndependent; // PF_OutFlag_PIX_INDEPENDENT - boolean doesntExpandBuffer, expandsBuffer; // PF_OutFlag_I_EXPAND_BUFFER - boolean dontDisplayErrorMessage, displayErrorMessage; // PF_OutFlag_DISPLAY_ERROR_MESSAGE - boolean dontSendDoDialog, sendDoDialog; // PF_OutFlag_SEND_DO_DIALOG (sequence) - boolean dontUseOutputExtent, useOutputExtent; // PF_OutFlag_USE_OUTPUT_EXTENT - boolean doesntDoDialog, doesDialog; // PF_OutFlag_I_DO_DIALOG - boolean dontFlattenSequenceData, flattenSequenceData; // PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING - boolean dontSendParamsUpdate, sendParamsUpdate; // PF_OutFlag_SEND_PARAMS_UPDATE - boolean noNonParamVary, nonParamVary; // PF_OutFlag_NON_PARAM_VARY - boolean noWideTimeInput, wideTimeInput; // PF_OutFlag_WIDE_TIME_INPUT - boolean dontKeepResourceOpen, keepResourceOpen; // PF_OutFlag_KEEP_RESOURCE_OPEN - - case AE_Reserved: - longint = '8BIM'; - key longint = 'aeRD'; - longint = 0; - longint = 4; - longint; - - case AE_Reserved_Info: - longint = '8BIM'; - key longint = 'aeFL'; - longint = 0; - longint = 4; - longint; - - //------------------------------------------------------------------- - // After Effects Image Format Extension PiPL properties - //------------------------------------------------------------------- - case AE_ImageFormat_Extension_Info: - longint = '8BIM'; - key longint = 'FXMF'; - longint = 0; - longint = 16; - integer; // Major version. - integer; // Minor version. - fill bit[21]; - boolean hasOptions, hasNoOptions; - boolean sequentialOnly, nonSequentialOk; - boolean noInteractRequired, mustInteract; - boolean noInteractPut, hasInteractPut; - boolean noInteractGet, hasInteractGet; - boolean hasTime, hasNoTime; - boolean noVideo, hasVideo; - boolean noStill, still; - boolean noFile, hasFile; - boolean noOutput, output; - boolean noInput, input; - - longint = 0; // Reserved. - literal longint; // Signature. - - //------------------------------------------------------------------- - // After Effects and Premiere ANIM PiPL properties - //------------------------------------------------------------------- - case ANIM_FilterInfo: - longint = '8BIM'; - key longint = 'aFLT'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (animFilterEnd[$$ArrayIndex(properties)] - animFilterStart[$$ArrayIndex(properties)]) / 8; - #endif - - animFilterStart: - longint=1; // spec_version_major (AE & PrMr) - longint=1; // spec_version_minor (AE & PrMr) - longint; // filter_params_version (AE only) - -#ifdef PiPLVer2p3 - fill bit[14]; - boolean notUnityPixelAspectRatio, unityPixelAspectRatio; // ANIM_FF_UNITY_PAR - boolean notAnyPixelAspectRatio, anyPixelAspectRatio; // ANIM_FF_ANY_PAR - boolean reserved4False, reserved4True; // ANIM_FF_RESERVED4 (spare) - boolean reserved3False, reserved3True; // ANIM_FF_RESERVED3 (spare) - boolean reserved2False, reserved2True; // ANIM_FF_RESERVED2 (spare) -#else - fill bit[19]; -#endif - boolean reserved1False, reserved1True; // ANIM_FF_RESERVED1 (AE only) - boolean reserved0False, reserved0True; // ANIM_FF_RESERVED0 (AE only) - boolean driveMe, dontDriveMe; // ANIM_FF_DONT_DRIVE_ME (AE only) - boolean needsDialog, doesntNeedDialog; // ANIM_FF_DOESNT_NEED_DLOG (AE only) - boolean paramsNotPointer, paramsPointer; // ANIM_FF_PARAMS_ARE PTR (AE only) - boolean paramsNotHandle, paramsHandle; // ANIM_FF_PARAMS_ARE_HANDLE (AE only) - boolean paramsNotMacHandle,paramsMacHandle; // ANIM_FF_PARAMS_ARE_MAC_HANDLE (AE only) - boolean dialogNotInRender, dialogInRender; // ANIM_FF_DIALOG_IN_RENDER (AE only) - boolean paramsNotInGlobals,paramsInGlobals; // ANIM_FF_PARAMS_IN_GLOBALS (AE only) - boolean bgNotAnimatable, bgAnimatable; // ANIM_FF_BG_ANIMATABLE (AE only) - boolean fgNotAnimatable, fgAnimatable; // ANIM_FF_FG_ANIMATABLE (AE only) - boolean geometric, notGeometric; // ANIM_FF_NON_GEOMETRIC (AE only) - boolean noRandomness, randomness; // ANIM_FF_HAS_RANDOMNESS (AE only) - - longint; // number of parameters - - cstring[32]; // match name - - longint=0; // Operates in place - not currently implemented - longint=0; // reserved - longint=0; // reserved - longint=0; // reserved - animFilterEnd: - - case ANIM_ParamAtom: - longint = '8BIM'; - key longint = 'aPAR'; - longint; // property id *NOTE: Breaks model -- MUST SPECIFY. - #if DeRez - fill long; - #else - longint = (animParamEnd[$$ArrayIndex(properties)] - animParamStart[$$ArrayIndex(properties)]) / 8; - #endif - - animParamStart: - cstring[32]; // external name - - longint; // match id - - longint ANIM_DT_OPAQUE, // obsolete, don't use OPAQUE with Premiere - ANIM_DT_CHAR, - ANIM_DT_SHORT, - ANIM_DT_LONG, - ANIM_DT_UNSIGNED_CHAR, - ANIM_DT_UNSIGNED_SHORT, - ANIM_DT_UNSIGNED_LONG, - ANIM_DT_FIXED, - ANIM_DT_UNSIGNED_FIXED, - ANIM_DT_EXTENDED_96, - ANIM_DT_DOUBLE_64, - ANIM_DT_FLOAT_32, - ANIM_DT_COLOR_RGB; - - longint ANIM_UI_NO_UI, // UI types are only used by AE - ANIM_UI_ANGLE, - ANIM_UI_SLIDER, - ANIM_UI_POINT, - ANIM_UI_RECT, - ANIM_UI_COLOR_RGB, - ANIM_UI_COLOR_CMYK, - ANIM_UI_COLOR_LAB; - - // These next four sets of longints are IEEE 64-bit doubles. To store - // them correctly, you must specify them as hexidecimal numbers. To - // find the correct hexidecimal number, you must convert your decimal - // number to a double. - hex longint; // low long, valid_min (used for UI type slider - AE only) - hex longint; // high long, valid_min (64-bit double) - - hex longint; // low long, valid_max (used for UI type slider - AE only) - hex longint; // high long, valid_max (64-bit double) - - hex longint; // low long, ui_min (used for UI type slider - AE only) - hex longint; // high long, ui_min (64-bit double) - - hex longint; // low long, ui_max (used for UI type slider - AE only) - hex longint; // high long, ui_max (64-bit double) - -#ifdef PiPLVer2p3 - fill bit[27]; // ANIM_ParamFlags - boolean dontScaleUIRange, scaleUIRange; // ANIM_PF_SCALE_UI_RANGE (Premiere 6.0) -#else - fill bit[28]; // ANIM_ParamFlags -#endif - boolean dontAnimateParam, animateParam; // ANIM_PR_DONT_ANIMATE (PrMr) - boolean dontRestrictBounds, restrictBounds; // ANIM_PF_RESTRICT_BOUNDS (AE only) - boolean spaceIsAbsolute, spaceIsRelative; // ANIM_PF_SPACE_IS_RELATIVE (AE only) - boolean resIndependent, resDependant; // ANIM_PF_IS_RES_DEPENDENT (AE only) - - longint; // size of property described in bytes (short = 2, long = 4, etc.) - - longint=0; // reserved0 - longint=0; // reserved1 - longint=0; // reserved2 - longint=0; // reserved3 - animParamEnd: - - //------------------------------------------------------------------- - // Premiere Transition Effect PiPL properties - //------------------------------------------------------------------- - case Pr_Effect_Info: // Mirrors the old Premiere 'Fopt' resource - longint = 'PrMr'; // Premiere host. - key longint = 'pOPT'; - longint = 0; // Index. - longint = 16; // Length. -#ifdef PiPLVer2p2 - longint; // Version of this property -#else - longint = 0; -#endif - - // Valid corners mask and initial corners (lsb to msb): - // bitTop | bitRight | bitBottom | bitLeft | bitUpperRight | - // bitLowerRight | bitLowerLeft | bitUpperLeft - byte; // Valid corners mask. - byte; // Initial corners. -#ifdef PiPLVer2p2 - boolean; // Premiere 5.1 - boolean noExclusiveDialog, exclusiveDialog; // Premiere 5.1 - boolean doesNotNeedCallbacksAtSetup, needsCallbacksAtSetup; - boolean noDirectCompData, directCompData; // Premiere 5.1 -#else - fill bit[2]; - boolean doesNotNeedCallbacksAtSetup, needsCallbacksAtSetup; - boolean; -#endif - boolean wantInitialSetupCall, dontWantInitialSetupCall; - boolean treatAsTransition, treatAsTwoInputFilter; - boolean noCustomDialog, hasCustomDialog; - boolean dontHighlightOppositeCorners, highlightOppositeCorners; - - // These should be changed to booleans: - byte notExclusive = 0, exclusive = 1; - byte notReversible = 0, reversible = 1; - byte doesNotHaveEdges = 0, haveEdges = 1; - byte doesNotHaveStartPoint = 0, haveStartPoint = 1; - byte doesNotHaveEndPoint = 0, haveEndPoint = 1; - -#ifdef PiPLVer2p3 - longint; // more flags - Premiere 6.0 -#else - longint = 0; // Reserved. -#endif - - case Pr_Effect_Description: // The text description of the transition. - longint = 'PrMr'; // Premiere host. - key longint = 'TEXT'; // This should be changed to 'pDES'. - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (descEnd[$$ArrayIndex(properties)] - descStart[$$ArrayIndex(properties)]) / 8; - #endif - descStart: - pstring; - descEnd: - align long; - - //------------------------------------------------------------------- - // Illustrator/SweetPea PiPL properties - //------------------------------------------------------------------- - case InterfaceVersion: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'ivrs'; - longint = 0; // Index. - longint = 4; // Length. - longint; // Version. - - case AdapterVersion: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'adpt'; - longint = 0; // Index. - longint = 4; // Length. - longint; // Version. - - case SP_STSP: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'STSP'; - longint = 0; // Index. - longint = 4; // Length. - longint; - - case InternalName: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'pinm'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (plugInNameEnd[$$ArrayIndex(properties)] - - plugInNameStart[$$ArrayIndex(properties)]) / 8; - #endif - plugInNameStart: - cstring; - plugInNameEnd: - align long; - - case Imports: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'impt'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (importsEnd[$$ArrayIndex(properties)] - - importsStart[$$ArrayIndex(properties)]) / 8; - #endif - importsStart: - longint = $$CountOf(ImportSuites); - wide array ImportSuites - { - isuitesStart: - // Length (including this long): - #if DeRez - fill long; - #else - longint = ((isuitesEnd[$$ArrayIndex(properties), $$ArrayIndex(ImportSuites)] - - isuitesStart[$$ArrayIndex(properties), $$ArrayIndex(ImportSuites)]) / 8); - #endif - - cstring; - align long; - longint; // Suite version. - isuitesEnd: - }; - importsEnd: - - case Exports: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'expt'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (exportsEnd[$$ArrayIndex(properties)] - - exportsStart[$$ArrayIndex(properties)]) / 8; - #endif - exportsStart: - longint = $$CountOf(ExportSuites); - wide array ExportSuites - { - esuitesStart: - // Length (including this long): - #if DeRez - fill long; - #else - longint = ((esuitesEnd[$$ArrayIndex(properties), $$ArrayIndex(ExportSuites)] - - esuitesStart[$$ArrayIndex(properties), $$ArrayIndex(ExportSuites)]) / 8); - #endif - - cstring; - align long; - longint; // Suite version. - esuitesEnd: - }; - exportsEnd: - - case Description: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'desc'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (descriptionEnd[$$ArrayIndex(properties)] - - descriptionStart[$$ArrayIndex(properties)]) / 8; - #endif - descriptionStart: - cstring; - descriptionEnd: - align long; - - case Keywords: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'keyw'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (keywordsEnd[$$ArrayIndex(properties)] - - keywordsStart[$$ArrayIndex(properties)]) / 8; - #endif - keywordsStart: - longint = $$CountOf(KeywordsArray); - wide array KeywordsArray - { - keywordsArrayStart: - // Length (including this long): - #if DeRez - fill long; - #else - longint = ((keywordsArrayEnd[$$ArrayIndex(properties), $$ArrayIndex(KeywordsArray)] - - keywordsArrayStart[$$ArrayIndex(properties), $$ArrayIndex(KeywordsArray)]) / 8); - #endif - - cstring; - keywordsArrayEnd: - }; - keywordsEnd: - align long; - - case Title: - longint = 'ADBE'; // SweetPea/Illustrator host. - key longint = 'titl'; - longint = 0; // Index. - #if DeRez - fill long; - #else - longint = (titleEnd[$$ArrayIndex(properties)] - - titleStart[$$ArrayIndex(properties)]) / 8; - #endif - titleStart: - cstring; - titleEnd: - align long; - - case Messages: - longint = 'ADBE'; // SweetPea/Illustrator host - key longint = 'AcpM'; - longint = 0; // Index. - longint = 4; // Length. - fill bit[28]; // Reserved. - - boolean startupRequired, noStartupRequired; - boolean doesNotPurgeCache, purgeCache; - boolean shutdownRequired, noShutdownRequired; // Default is to give shutdown msg. - boolean doNotAcceptProperty, acceptProperty; - - //------------------------------------------------------------------- - // PhotoDeluxe PiPL properties - //------------------------------------------------------------------- - case ButtonIcon: - longint = '8BIM'; - key longint = 'btni'; - longint = 0; // pad - #if DeRez - fill long; - #else - longint = (buttonIconEnd[$$ArrayIndex(properties)] - buttonIconStart[$$ArrayIndex(properties)]) / 8; // length - #endif - buttonIconStart: - longint = 0; // version - longint none = 0, - cicn = 1; // Macintosh icon type - longint none = 0, - ICON = 1; // Windows icon type - longint; // Icon resource ID - cstring; // Button icon name - buttonIconEnd: - align long; - - //------------------------------------------------------------------- - // PhotoDeluxe extension to Import plug-in PiPL properties - //------------------------------------------------------------------- - case Class: - longint = '8BIM'; - key longint = 'clas'; - longint = 0; // pad - longint = 8; // length - longint = 0; // version - longint none = 0, - scanner = 1, - camera = 2, - video = 3, - floppy = 4, - cdrom = 5, - internet = 6; - - case PreviewFile: - longint = '8BIM'; - key longint = 'prvw'; - longint = 0; // pad - #if DeRez - fill long; - #else - longint = (previewFileEnd[$$ArrayIndex(properties)] - previewFileStart[$$ArrayIndex(properties)]) / 8; // length - #endif - previewFileStart: - longint = 0; // version - cstring; // preview filename - previewFileEnd: - align long; - }; - }; - }; - -#undef PIPiPLTypes - -#ifndef bitNone -#define bitNone 0x00 -#define bitTop 0x01 -#define bitRight 0x02 -#define bitBottom 0x04 -#define bitLeft 0x08 -#define bitUpperRight 0x10 -#define bitLowerRight 0x20 -#define bitLowerLeft 0x40 -#define bitUpperLeft 0x80 -#endif /* !defined(bitNone) */ - -#ifndef fxBitAnyPAR -#define fxBitAnyPAR 0x10000 -#define fxBitUnityPAR 0x20000 -#endif /* !defined(fxBitAnyPAR) */ - -//------------------------------------------------------------------------------- - -#endif // qIncludeMe -#endif // __PIPL_r__ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPiPLVer.h b/Syphon-Transmit/Adobe/Headers/PrSDKPiPLVer.h deleted file mode 100755 index c9228f9..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPiPLVer.h +++ /dev/null @@ -1,95 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -// This file is part of the public Premiere SDK. - - - -#ifndef PRSDKPIPLVER_H -#define PRSDKPIPLVER_H - -#ifndef MAC_ENV -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif -#endif - -/* - * This file should be included by all plug-in PiPLs. - * It defines a global plug-in version number scheme - * plus a few other useful types. - */ - -/* PiPL Build Stage used in the version string */ - -#define PiPLDevelop 0 -#define PiPLAlpha 1 -#define PiPLBeta 2 -#define PiPLRelease 3 - -/* PiPL version number stuff */ - -#define PiPLMajorVersion 6 -#define PiPLMinorVersion 0 -#define PiPLStage PiPLDevelop -#define PiPLBuildNum 0 - -/* PiPL version number, this is the version of the PiPL resource itself */ - -/* This is being left at 2.1 for 5.1 compatibility; plug-ins which use - 6.0-specific PiPL implementations must update PiPLVerMinor to 3. */ - - -#ifndef PiPLVerMajor -#define PiPLVerMajor 2 -#endif -#ifndef PiPLVerMinor -#define PiPLVerMinor 1 -#endif - -/* true for PiPL version 2.2 or higher (Premiere 5.1) */ - -#define PiPLVer2p2 (PiPLVerMajor > 2 || (PiPLVerMajor == 2 && PiPLVerMinor > 1)) - -/* true for PiPL version 2.3 or higher (Premiere 6.0) */ - -#define PiPLVer2p3 (PiPLVerMajor > 2 || (PiPLVerMajor == 2 && PiPLVerMinor > 2)) - -/* - * These are used by transition PiPLs, and the RT transition record. - * In the SDK, they are defined in PiPL.r - */ - -#define bitNone 0x00 -#define bitTop 0x01 -#define bitRight 0x02 -#define bitBottom 0x04 -#define bitLeft 0x08 -#define bitUpperRight 0x10 -#define bitLowerRight 0x20 -#define bitLowerLeft 0x40 -#define bitUpperLeft 0x80 - -#define fxBitAnyPAR 0x10000 -#define fxBitUnityPAR 0x20000 - -#endif /* PRSDKPIPLVER_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormat.h b/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormat.h deleted file mode 100755 index 7ce0f02..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormat.h +++ /dev/null @@ -1,156 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPIXELFORMAT_H -#define PRSDKPIXELFORMAT_H - -#ifdef PREMIERE_INTERNAL - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#endif - -#ifndef MAKE_PIXEL_FORMAT_FOURCC -#define MAKE_PIXEL_FORMAT_FOURCC(ch0, ch1, ch2, ch3) \ - (static_cast(static_cast(ch0)) | \ - (static_cast(static_cast(ch1)) << 8) | \ - (static_cast(static_cast(ch2)) << 16) | \ - (static_cast(static_cast(ch3)) << 24 )) -#endif - -/** -** Premiere supported pixel formats for RenderFrame and PPixs -*/ - -enum PrPixelFormat -{ - -/** -** Currently supported types -*/ - -// Packed formats -PrPixelFormat_BGRA_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'a'), // 4 byte BGRA, standard windows 32 bit pixels (was kPixelFormat_BGRA32) -PrPixelFormat_VUYA_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'a'), // 4 byte VUYA (was kPixelFormat_VUYA32) -PrPixelFormat_VUYA_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'Y', 'A'), // 4 byte VUYA (was kPixelFormat_VUYA32) -PrPixelFormat_ARGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('a', 'r', 'g', 'b'), // 4 byte ARGB (the format used by AE) (was kPixelFormat_ARGB32) - -PrPixelFormat_BGRX_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'x'), // 4 byte BGRX -PrPixelFormat_VUYX_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'x'), // 4 byte VUYX -PrPixelFormat_VUYX_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'x', '7'), // 4 byte VUYX -PrPixelFormat_XRGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('x', 'r', 'g', 'b'), // 4 byte XRGB - -PrPixelFormat_BGRP_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'p'), // 4 byte BGRP -PrPixelFormat_VUYP_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'p'), // 4 byte VUYP -PrPixelFormat_VUYP_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'p', '7'), // 4 byte VUYP -PrPixelFormat_PRGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('p', 'r', 'g', 'b'), // 4 byte PRGB - -PrPixelFormat_BGRA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'a'), // 16 bit integer per component BGRA -PrPixelFormat_VUYA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('V', 'u', 'y', 'a'), // 16 bit integer per component VUYA -PrPixelFormat_ARGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('A', 'r', 'g', 'b'), // 16 bit integer per component ARGB - -PrPixelFormat_BGRX_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'x'), // 16 bit integer per component BGRX -PrPixelFormat_XRGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('X', 'r', 'g', 'b'), // 16 bit integer per component XRGB - -PrPixelFormat_BGRP_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'p'), // 16 bit integer per component BGRP -PrPixelFormat_PRGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('P', 'r', 'g', 'b'), // 16 bit integer per component PRGB - -PrPixelFormat_BGRA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'a'), // 32 bit float per component BGRA -PrPixelFormat_VUYA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'a'), // 32 bit float per component VUYA -PrPixelFormat_VUYA_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'U', 'Y', 'a'), // 32 bit float per component VUYA -PrPixelFormat_ARGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('A', 'R', 'g', 'b'), // 32 bit float per component ARGB - -PrPixelFormat_BGRX_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'x'), // 32 bit float per component BGRX -PrPixelFormat_VUYX_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'x'), // 32 bit float per component VUYX -PrPixelFormat_VUYX_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'x', '7'), // 32 bit float per component VUYX -PrPixelFormat_XRGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('X', 'R', 'g', 'b'), // 32 bit float per component XRGB - -PrPixelFormat_BGRP_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'p'), // 32 bit float per component BGRX -PrPixelFormat_VUYP_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'p'), // 32 bit float per component VUYX -PrPixelFormat_VUYP_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'p', '7'), // 32 bit float per component VUYX -PrPixelFormat_PRGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('P', 'R', 'g', 'b'), // 32 bit float per component XRGB - -PrPixelFormat_RGB_444_10u = MAKE_PIXEL_FORMAT_FOURCC('R', 'G', 'B', '1'), // Full range 10-bit 444 RGB little-endian - -PrPixelFormat_YUYV_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '2'), // 8 bit 422 YUY2 601 colorspace -PrPixelFormat_YUYV_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '3'), // 8 bit 422 YUY2 709 colorspace - -PrPixelFormat_UYVY_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', 'y'), // 8 bit 422 UYVY 601 colorspace -PrPixelFormat_UYVY_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', '7'), // 8 bit 422 UYVY 709 colorspace - -PrPixelFormat_V210_422_10u_601 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '0'), // packed uncompressed 10 bit 422 YUV aka V210 601 colorspace -PrPixelFormat_V210_422_10u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '1'), // packed uncompressed 10 bit 422 YUV aka V210 709 colorspace - -PrPixelFormat_UYVY_422_32f_601 = MAKE_PIXEL_FORMAT_FOURCC('U', 'Y', 'v', 'y'), -PrPixelFormat_UYVY_422_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('U', 'Y', 'v', '7'), - -PrPixelFormat_BGRA_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'a', 'L'), // 32 bit float per component linear BGRA -PrPixelFormat_BGRP_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'p', 'L'), // 32 bit float per component linear BGRP -PrPixelFormat_BGRX_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'x', 'L'), // 32 bit float per component linear BGRX -PrPixelFormat_ARGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('A', 'R', 'g', 'L'), // 32 bit float per component linear ARGB -PrPixelFormat_PRGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('P', 'R', 'g', 'L'), // 32 bit float per component linear PRGB -PrPixelFormat_XRGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('X', 'R', 'g', 'L'), // 32 bit float per component linear XRGB - -// Planar formats -PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) -PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) -PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'f'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) -PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'f'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) -PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '7'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace -PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '7'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace -PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'F'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace -PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'F'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace - -PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '2'), // YUV with 2x2 chroma subsampling, center chroma. Planar. -PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '2'), // YUV with 2x2 chroma subsampling, center chroma. Planar. -PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'f'), // YUV with 2x2 chroma subsampling, center chroma. Planar. -PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'f'), // YUV with 2x2 chroma subsampling, center chroma. Planar. -PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '7'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace -PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '7'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace -PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'F'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace -PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'F'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace - -// Compressed formats -PrPixelFormat_NTSCDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '2'), // compressed DV-25 -PrPixelFormat_PALDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '2'), // compressed DV-25 -PrPixelFormat_NTSCDV50 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '5'), -PrPixelFormat_PALDV50 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '5'), -PrPixelFormat_NTSCDV100_720p = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '7'), // compressed DV-100 720p, 60 Hz -PrPixelFormat_PALDV100_720p = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '7'), // compressed DV-100 720p, 50 Hz -PrPixelFormat_NTSCDV100_1080i = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '1'), // compressed DV-100 1080i, 60 Hz -PrPixelFormat_PALDV100_1080i = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '1'), // compressed DV-100 1080i, 50 Hz - -// Raw, opaque data formats -PrPixelFormat_Raw = MAKE_PIXEL_FORMAT_FOURCC('r', 'a', 'w', 'w'), // raw, opaque data, with no row bytes or height. - -// Invalid -PrPixelFormat_Invalid = MAKE_PIXEL_FORMAT_FOURCC('b', 'a', 'd', 'f'), // invalid pixel format - this is used for intialization and erorr conditions - -PrPixelFormat_Any = 0 -}; - -#define MAKE_ADOBE_PRIVATE_PIXEL_FORMAT_FOURCC(ch1, ch2, ch3) (static_cast(MAKE_PIXEL_FORMAT_FOURCC('@', ch1, ch2, ch3))) -#define MAKE_THIRD_PARTY_CUSTOM_PIXEL_FORMAT_FOURCC(ch1, ch2, ch3) (static_cast(MAKE_PIXEL_FORMAT_FOURCC('_', ch1, ch2, ch3))) - -#endif // PRSDKPIXELFORMAT_H - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormatSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormatSuite.h deleted file mode 100755 index 4de6631..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPixelFormatSuite.h +++ /dev/null @@ -1,119 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPIXELFORMATSUITE_H -#define PRSDKPIXELFORMATSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPixelFormatSuite "Premiere Pixel Format Suite" -#define kPrSDKPixelFormatSuiteVersion 1 - -typedef struct -{ - /** - ** Retrieves the minimum i.e. "black" value for a give pixel type. - ** - ** [NOTE] pixel types like YUY2, YUYV actually contain a group of two pixels to specify a color - ** completely, so the data size returned in this case will be 4 bytes (rather than 2) - ** - ** @param pixelFormat the Premiere pixel format whose black level you want - ** @param pixelData a void pointer to data large enough to hold the pixel value (see note above) - ** - ** @returns suiteError_NoError : successful retreival of black value - ** @returns suiteError_Fail : - */ - - prSuiteError (*GetBlackForPixelFormat)( - PrPixelFormat pixelFormat, - void* pixelData); - - /** - ** Retrieves the maximum i.e. "white" value for a give pixel type. - ** - ** [NOTE] pixel types like YUY2, YUYV actually contain a group of two pixels to specify a color - ** completely, so the data size returned in this case will be 4 bytes (rather than 2) - ** - ** @param pixelFormat the Premiere pixel format whose white level you want - ** @param pixelData a void pointer to data large enough to hold the pixel value (see note above) - ** - ** @returns suiteError_NoError : successful retreival of white value - ** @returns suiteError_Fail : - */ - - prSuiteError (*GetWhiteForPixelFormat)( - PrPixelFormat pixelFormat, - void* pixelData); - - /** - ** Converts an alpha, red, green, blue specification into a pixel value for a give pixel type. - ** - ** [NOTE] pixel types like YUY2, YUYV actually contain a group of two pixels to specify a color - ** completely, so the data size returned in this case will be 4 bytes (rather than 2) - ** - ** @param pixelFormat the Premiere pixel format whose white level you want - ** @param alpha alpha value (0.0 - 1.0) - ** @param red red value (0.0 - 1.0) - ** @param green green value (0.0 - 1.0) - ** @param blue blue value (0.0 - 1.0) - ** @param pixelData a void pointer to data large enough to hold the pixel value (see note above) - ** - ** @returns suiteError_NoError : successful conversion of color value - ** @returns suiteError_Fail : - */ - - prSuiteError (*ConvertColorToPixelFormattedData)( - PrPixelFormat pixelFormat, - float alpha, - float red, - float green, - float blue, - void* pixelData); - -} PrSDKPixelFormatSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPIXELFORMATSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModule.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlayModule.h deleted file mode 100755 index d35c927..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModule.h +++ /dev/null @@ -1,987 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/* Adobe Premiere Play Module plug-in definitions */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPLAYMODULE_H -#define PRSDKPLAYMODULE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKCLASSDATA_H -#include "PrSDKClassData.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKAUDIOSUITE_H -#include "PrSDKAudioSuite.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKACTIVATIONEVENT_H -#include "PrSDKActivationEvent.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKPLAYMODULEDEVICECONTROLSUITE_H -#include "PrSDKPlayModuleDeviceControlSuite.h" -#endif - -#ifndef PRSDKSCOPERENDERSUITE_H -#include "PrSDKScopeRenderSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -/**************************************************************** -** Version -*/ -#define PLAYMOD_VERSION_70 700 // 7.0/Premiere Pro 1.0 -#define PLAYMOD_VERSION_75 750 // Premiere Pro 1.5 -#define PLAYMOD_VERSION_80 800 // Premiere Pro 2.0 -#define PLAYMOD_VERSION_85 850 // private -#define PLAYMOD_VERSION_90 900 // CS3 -#define PLAYMOD_VERSION_100 1000 // CS4 -#define PLAYMOD_VERSION_110 1100 // CS5 -#define PLAYMOD_VERSION_115 1150 // CS5.5 -#define PLAYMOD_VERSION_120 1200 // CS6 -#define PLAYMOD_VERSION_130 1300 // CS7 -#define PLAYMOD_VERSION PLAYMOD_VERSION_130 - -/**************************************************************** -** Error Definitions -*/ -typedef enum PrPlaymodReturnValue -{ - playmod_ErrNone = 0, // no error - playmod_ErrBadFile = 1, // file is corrupt or unreadable - playmod_ErrDriver = 2, // driver error (hardware failure) - playmod_ErrNotPreferred = 3, // incorrect file subtype - playmod_BadFormatIndex = 4, // format index invalid (for GetIndFormat message) - playmod_DeclinePlay = 5, // I decline to play this back; find another module - playmod_ListWrongType = 6, // can't play back this file -- wrong type; please render it. - playmod_ListBadSpeed = 7, // can't play back this file at this speed; - playmod_CantAddSegment = 8, // the cutlist can't add a segment - playmod_Unsupported = 9, // unsupported call - playmod_AudioOverload = 10, // audio took more time to process than available - playmod_OutOfRange = 11, // callback param out of range (pmEnumAudioFileFunc) - playmod_CannotRender = 12, // cannot render frame in real-time - playmod_RebuildCutlist = 13, // (Not an error) return value used in playmod_GetFilePrefs - playmod_CannotShiftLayer = 14, // can't shift this layer - //DO NOT USE, deprecated in CS5! playmod_OverlayDone = 15, // (Not an error) return value used in playmod_PutFrame - playmod_UnsupportedPlaybackSpeed = 16, // The requested speed is not supported. - playmod_BroadcastPrefs = 17, // Valid during playmod_GetFilePrefs. Tells premiere to call playmod_SetFilePrefs on all open play modules using the returned prefs. - playmod_CannotRecord = 18, // Returned if recording is requested and the playmod cannot support it. - playmod_RenderAndPutFrame = 19, // Put segment could not render this segment, Premiere should render it and return it in a putframe. - - pmIsCacheable = 400, // Returned from playmod_Startup, non-zero if the plugin can be lazy-inited, - // zero if the plugin must be loaded from disk on startup - - playmod_ErrorForceSize = kPrForceEnumToIntValue -} prPlaymodError; - - -/**************************************************************** -** Type Definitions -*/ -typedef csSDK_int32 PrPlayID; // PlayID used in callbacks to identify this playmodule. - - -/**************************************************************** -** Enumerations -*/ - -/** -** Mode types for pmPosRec -*/ -typedef enum -{ - playmode_Stopped = 0, - playmode_Playing = 1, - - //these playmodes are only supported in the context of SetDisplayStateProperties, not in the GetPos call. - playmode_Scrubbing = 2, - - playmode_ForceSize = kPrForceEnumToIntValue -} pmPlayMode; - -/** -** Play module flags. -** -** capPlayLists - This playmodule can accept segments and play sequences. -** -*/ -enum -{ - pmFlag_canPlayLists = 4, // can play lists of files - - pmFlag_ForceSize = kPrForceEnumToIntValue -}; - -/** -** capability flags -*/ -enum -{ - PMCapPutFrame = 0x00000080, // Supports the playmod_PutFrame (VOut) function - PMCapWillReportDroppedFrames = 0x00000800, // This playmod will always report dropped frames during 1x playback - PMCapCanLoopPlayback = 0x00001000, // This playmod can loop playback - PMCapCanShuttlePlayback = 0x00002000, // This playmod can playback speeds between -4x and 4x - PMCapCanZoom = 0x00004000, // This playmod can scale its display - PMCapCanSafeMargin = 0x00008000, // This playmod can display safe margins (supports playmod_AdornSafeAreas). - PMCapCanExport = 0x00010000, // If not set, the Export to Tape menu entry will be greyed out. - PMCapPutSegment = 0x00020000, // DEPRECATED in CS4: This playmod can display RTSegments on the hardware (PutFrame functionality with RTSegments) - PMCapSingleClipPlayerWantsRTSegments = 0x00040000, // This playmod wants segments for single clip players. - PMCapCanDoFractionalResolution = 0x00080000, // This playmod can handle fractions of the display resolution for faster playback (called with playmod_SetFractionalResolution) - PMCapCanPutTemporaryTimeline = 0x00100000, // This playmod can handle putting a temporary timeline. This is a replacement to the old PutSegment functionality - PMCapSupportsDisplayStateProperties = 0x00200000, // This playmod supports playmod_SetDisplayStateProperties - PMCapSupportsOverlayDrawing = 0x00400000, // This playmod supports drawing overlays through PrSDKPlayModuleOverlaySuite - PMCap_ForceSize = kPrForceEnumToIntValue -}; - -/** -** PutFrame destinations -*/ -typedef enum -{ - pmPutFrameDestination_VideoDesktop = 1, - pmPutFrameDestination_VideoHardware = 2, - - pmPutFrameDestination_ForceEnumSize = kPrForceEnumToIntValue -} pmPutFrameDestination; - -/** -** Version enumeration -*/ -typedef enum -{ - PR70RTAPI = PLAYMOD_VERSION_70, // Plugin supports version 7.0 selectors - - PRRTAPI_ForceEnumSize = kPrForceEnumToIntValue -} pmRTAPIVersion; - -/** -** The possible display modes for the player window. -*/ -typedef enum -{ - pmPlayerDisplay_Off = 0, - pmPlayerDisplay_Composite = 1, - pmPlayerDisplay_Alpha = 2, - pmPlayerDisplay_Scope = 3, - pmPlayerDisplay_DirectManipulation = 4, - pmPlayerDisplay_AudioOnly = 5, // An audio-only clip is playing. Times should not be rounded to video frames, - // and no video display should be drawn. - - pmPlayerDisplay_ForceEnumSize = kPrForceEnumToIntValue -} pmDisplayMode; - - -/**************************************************************** -** Structures -*/ - -// Passed in startup to be filled in by the plugin -typedef struct -{ - prPluginID outPlayerID; - prUTF16Char outDisplayName[256]; -} pmStartupRec; - -// file spec for open -typedef struct -{ - int volID; // used on Mac only - int parID; // used on Mac only - char name[256]; // file name on Mac, full path elsewhere -} pmFileSpec; - -typedef struct -{ - prBool enableSafeTitle; // kPrTrue = overlay safe title, kPrFalse = disable overlay of safe title - float safeTitlePercentWidth; // how far (percent-wise) to width inset the overlayed rectangle displaying safe title - // i.e. for a 720x480 display, "0.1" would mean to inset the rectangle by 72x48 pixels - float safeTitlePercentHeight; // how far (percent-wise) to height inset the overlayed rectangle displaying safe title - // i.e. for a 720x480 display, "0.1" would mean to inset the rectangle by 72x48 pixels - prBool enableSafeAction; // kPrTrue = overlay safe action, kPrFalse = disable overlay of safe action - float safeActionPercentWidth; // how far (percent-wise) to width inset the overlayed rectangle displaying safe action - // i.e. for a 720x480 display, "0.1" would mean to inset the rectangle by 72x48 pixels - float safeActionPercentHeight; // how far (percent-wise) to height inset the overlayed rectangle displaying safe action - // i.e. for a 720x480 display, "0.1" would mean to inset the rectangle by 72x48 pixels -} pmAdornSafeAreasParams; - -// struct that describes playback position on screen -typedef struct -{ - prWnd wind; // window to display into (HWND on PC, WindowPtr on Mac) - int originTop; // offset in pixels from top of window to display to - int originLeft; // offset in pixels from top of window to display to - int dispWidth; // width of display area - int dispHeight; // height of display area -} pmDisplayPos; - -// struct that describes playback position on screen -typedef struct -{ - prOffScreen offscreen; // offscreen to display into (HDC on PC, CGrafPtr on Mac) - int originTop; // offset in pixels from top of window to display to - int originLeft; // offset in pixels from top of window to display to - int dispWidth; // width of display area - int dispHeight; // height of display area -} pmOffscreenDisplayPos; - -// playmod_Play struct -typedef struct -{ - PrTime inTime; // in point -- only used for looping - PrTime outTime; // out point -- stop playing here or loop when this frame is reached - PrTime startTime; // start playing from here - prBool loop; // if kPrTrue, loop until playmod_Stop is sent - float speed; // positive means forward, negative means backwards, zero will not be sent - prBool exportVideo; // if kPrTrue, the playmod should play to the device (print to video and export to tape). - PlayModuleDeviceID deviceID; // if transmit is true, then this ID will be non-zero to allow use of the DeviceControl suite. - prBool audioRecord; // non-zero if audio is requested to be recorded. If the player calls InitHostAudio, - // then no special action is required. If the player calls InitPluginAudio, then playmod_CannotRecord - // must be returned to the host in this situation. Once plugin-based audio recording is - // supported (after 7.0), this requirement will change. -} pmPlayParms; - -/** -** playmod_Activate data -*/ -typedef struct -{ - prBool activate; // kPrTrue or kPrFalse - whether to activate or not - PrActivationEvent activationEvent; // Type of event causing the activation/deactivation - PrFourCC pluginClassID; - PrFourCC pluginFileType; -} pmActivateRec; - -// playmod_GetPos struct -typedef struct -{ - PrTime position; // current position - pmPlayMode mode; // current play mode (see enum) -} pmGetPosRec; - -typedef struct -{ - PrTime stepDistance; // how far to step (including the direction) -} pmStepRec; - -// playmod_Startup struct -typedef struct _pmCallbackFuncs pmCallbackFuncs; -typedef struct -{ - int pmInterfaceVer; // version # of playmodule interface (PLAYMOD_VERSION) - pmCallbackFuncs *funcs; - piSuitesPtr piSuites; -} pmStdParms; - -// playmod_Open struct -typedef struct -{ - pmDisplayPos disp; // the display area - pmFileSpec theFile; // the file spec - pmPlayTimebase timebase; // the timebase and duration of the file - PrFourCC filetype; // file type of this file - PrFourCC videoSubType; // the video subtype of this file - PrPlayID playID; // ID of this play instance. Used for callback functions - PrTimelineID timelineData; // An identifer to be passed back to calls in the timeline suite. - PrAudioChannelType audioChannelType; // The audio channel type of the file - PrMemoryPtr playmodPrefs; // A pointer to this playmodules preference data if this playmodule matches the editing mode (PrMemory) - int width; // 'native' file width - int height; // 'native' file height - csSDK_uint32 pixelAspectNum; // The numerator of the file's pixel aspect ratio - csSDK_uint32 pixelAspectDen; // The denominator of the file's pixel aspect ratio - prFieldType fieldType; // field dominance of the file. prFieldsNone, prFieldsUpperFirst, prFieldsLowerFirst, prFieldsUnknown - float audioSampleRate; // New in Pro 3.0 -} pmPlayOpenParms; - -// FILE info record filled in by playmod_GetInfo -typedef struct -{ - int width; // -> 'native' file width - int height; // -> 'native' file height - prBool hasVideo; // <-> file has video - prBool hasAudio; // <-> file has audio - csSDK_int32 prefPreviewWidth; // ->onscreen width we prefer to display at - csSDK_int32 prefPreviewHeight; // ->onscreen height we prefer to display at - csSDK_uint32 pixelAspectNum; // -> The numerator of the file or list's pixel aspect ratio - csSDK_uint32 pixelAspectDen; // -> The denominator of the file or list's pixel aspect ratio -} pmPlayInfoRec; - -// Info rec filled in by module during playmod_GetIndFormat call -typedef struct -{ - PrFourCC filetype; // file type supported - PrFourCC subtype; // subfile type or zero - PrFourCC classID; // The classID for the module - // This is used to differentiate between compile modules that - // support the same fileType and to cross reference between - // different plugin types (i.e. play and record modules). - csSDK_int32 playflags; // see pmFlag enum above - -// play list info - int hasSetup; // If non-zero, the playback module has a private setup dialog - int capabilityFlags; // see PMCap enum above - int requestedAPIVersion; // Allows the playmod to request a version of API - - // future expansion - int reserved[32]; // <- leave all the reserved fields to zero -} pmModuleInfoRec; - -// structure passed during playmod_Newlist -typedef struct -{ - pmPlayTimebase listTimebase; - pmDisplayPos unused; // This is deprecated. Wait for a playmod_SetDisp to get display info. - PrPlayID playID; // ID of this play instance. Used for callback functions - PrTimelineID timelineData; // An identifer to be passed back to calls in the timeline suite. - PrAudioChannelType audioChannelType; // The audio channel type - PrMemoryPtr playmodPrefs; // A pointer to this playmodules preference data if this playmodule matches the editing mode (PrMemory) - int width; // 'native' file width - int height; // 'native' file height - csSDK_uint32 pixelAspectNum; // The numerator of the file's pixel aspect ratio - csSDK_uint32 pixelAspectDen; // The denominator of the file's pixel aspect ratio - prFieldType fieldType; // New in Pro 3.0. Field dominance. prFieldsNone, prFieldsUpperFirst, prFieldsLowerFirst, prFieldsUnknown - float audioSampleRate; // New in Pro 3.0 - csSDK_uint32 videoSubType; // New in Pro 3.0 - csSDK_uint32 maxAudioOutputNum; // New in CS7 -} pmNewListParms; - -// New in Pro 3.0. This is the struct sent with playmod_ListStartEdit -typedef struct -{ - csSDK_uint32 videoSubType; -} pmListStartEditParms; - -// This is the struct sent with playmod_GetFilePrefs -typedef struct -{ - PrFourCC filetype; // the requested filetype preferences - PrFourCC subtype; // the subtype - PrFourCC classID; // The classID for the module - // This is used to differentiate between compile modules that - // support the same fileType and to cross reference between - // different plugin types (i.e. play and record modules). - PrMemoryPtr playmodPrefs; // Buffer to store preferences - // If null, a buffer of the desired size must be allocated using the memory suite - // Otherwise, it's a previously allocated buffer that can be reused. - prBool projectOpen; // if false, the call is being made when no active project is open; - // if true, the call is being made while the project is open. - pmPlayTimebase videoTimebase; // New in Pro 3.0 -} pmGetFilePrefsRec; - -// This is the struct sent with playmod_ActivateFile -typedef struct -{ - csSDK_int32 activate; // If 0, the file should be put in an inactivate state (closed) - pmFileSpec spec; // The filespec. -} pmActivateFileRec; - -// Unicode version of pmActivateFileRec -typedef struct -{ - csSDK_int32 activate; // If 0, the file should be put in an inactivate state (closed) - const prUTF16Char* filepath; // Full path to the file. -} pmActivateFileRec8; - -/** -** This is the struct that gets sent with the playmod_PutFrame selector. -** Playmods that support some kind of secondary output (ie.: external VOut) -** can use this call to synchronize VOut with Premiere's monitor window. -** This is used in conjunction with the PMCapPutFrame flag. -*/ -typedef struct -{ - csSDK_int32 size; // size of the entire struct - csSDK_int32 version; // current version (== PLAYMOD_VERSION) - PPixHand theFrame; // the image - pmPutFrameDestination destination; // The location this put frame should be displayed -} pmPutFrameRec; - -/** -** This is the struct that gets sent with the playmod_PutFrameRequest selector. -** Playmods that support some kind of secondary output (ie.: external VOut) -** can use this call to specify the render format that Premiere should -** use for the playmod_PutFrame operation. -** This is used in conjunction with the PMCapPutFrame flag. -*/ -typedef struct -{ - // these are filled by Premiere - csSDK_int32 size; // size of the entire struct - csSDK_int32 version; // current version (== PLAYMOD_VERSION) - pmPutFrameDestination destination; // The location this put frame should be displayed - - // these are returned by the plug-in - csSDK_int32 width; // (returned by the plug-in) the prefered frame width (pixels) - csSDK_int32 height; // (returned by the plug-in) the prefered frame height (pixels) - PrPixelFormat pixelFormats[64]; // array of pixel format prefs - csSDK_int32 pixelFormatCount; // number of pixel formats - PrRenderQuality quality; // render quality flag -} pmPutFrameRequestRec; - -/** -** This is the struct that gets sent along with the playmod_PutTemporaryTimeline selector. -** The timeline ID is valid for a short period of time, ending on the next playmod_Update call. -*/ -typedef struct -{ - csSDK_int32 size; // size of the entire struct - csSDK_int32 version; // current version (== PLAYMOD_VERSION) - PrTimelineID timelineData; // An identifer to be passed back to calls in the timeline suite. - PrTime position; // The time to display, temporarily -} pmPutTemporaryTimelineRec; - -typedef struct -{ - PrMemoryPtr inPrefs; - unsigned int inPrefsSize; - unsigned int outNumInputChannels; // The number of input channels for the player (currently unsupported). - unsigned int outNumOutputChannels; // The number of output channels for the player. - int outWillUsePluginAudio; // If 0, then the player will never call InitPluginAudio (and the call will - // fail if the player does call it. - prUTF16Char outAudioDisplayName[256]; //The name of the current audio hardware to be displayed in the UI. -} pmAudioInfo; - -typedef struct -{ - PrMemoryPtr inPrefs; - unsigned int inPrefsSize; - unsigned int inChannelIndex; // The index of the channel who's info is being requested. - int inIsInput; // If != 0, then the request is for an input channel. Otherwise, output. - prUTF16Char outChannelName[256]; // A string name for the channel, filled in by the plugin. -} pmAudioChannelInfo; - -typedef struct -{ - int useMaximumRenderPrecision; // If true, the player should attempt to render at a higher bit depth - int mSuppressTransmit; // If !=0, then the player should only provide desktop display of video - int mPrimaryDisplayFullScreen; // If !=0, then the player should display its primary window in fullscreen - // More to come -} pmPlayerSettings; - -////////////////////////////////////////////////// -// The following struct defines a playable RT region -// A playable region defines a region that -// can either be played live or not by the playback -// module. It is used during the -// playmod_GetPlayableRTRange and playmod_GetPlayableAudioRange function calls. -// NOTE: If the queried frame falls past the end of -// the current cut-list, the playback module -// should return the PRT_END_OF_TIMELINE value -// in the "outListPos" field. In this case, -// the other fields are considered irrelevant. - -/* -** A segment that has the following value in the "end" field is -** usually a NULL segment that signifies the end of the timeline -** (no more material to the right of the "inListPos" field of the -** segment). The segment does not have to be kept by the playback -** module (used to be called PRT_END_OF_TIMELINE). -*/ -#define kPrSDKEndOfTimeline 91445760000000000LL - -// this enum is returned by the playmodule to Premiere -// in order to tell what segments can be played fully -// in real-time. -typedef enum -{ - PRT_PLAYCODE_REALTIME = 0, - PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED, - PRT_PLAYCODE_REALTIME_WITH_MISMATCH -} prtPlaycode; - -// Version numbers -#define PRT_VERSION_PLAYABLERANGEREC_PREM6 1 -#define PRT_VERSION_PLAYABLERANGEREC_PREM7 700 -#define PRT_VERSION_PLAYABLERANGEREC_PREM10 1000 -#define PRT_VERSION_PLAYABLERANGEREC_CURRENT PRT_VERSION_PLAYABLERANGEREC_PREM7 - -typedef struct -{ - // the following members are filled by Premiere before the call - csSDK_int32 size; // size of this structure - csSDK_int32 version; // the version of the struct - PrTime inStartTime; // frame being tested - - // the following members are filled by the playback module - PrTime outEndTime; - prtPlaycode playcode; // see enum above -} prtPlayableRangeRec, *prtPlayableRangePtr; - -typedef enum -{ - pmFieldDisplay_ShowFirstField = 0, // ignored if the player is showing progressive content - pmFieldDisplay_ShowSecondField = 1, // ignored if the player is showing progressive content - pmFieldDisplay_ShowBothFields = 2, - - pmFieldDisplay_ForceSize = kPrForceEnumToIntValue -} pmFieldDisplay; - -typedef struct -{ - pmPlayMode inPlayMode; - PrRenderQuality inRenderQuality; - PrRenderQuality inDeinterlaceQuality; - pmFieldDisplay inFieldDisplay; - csSDK_int32 inDownsampleFactor; -} pmDisplayStateProperties; - -/**************************************************************** -** Callback Functions -*/ -// video functions -typedef void (*pmShowFileFrameFunc)(PrPlayID playID, csSDK_int32 frametime, pmDisplayPos *disp, prFloatRect *view); -typedef void (*pmShowFileFrameProxyFunc)(PrPlayID playID, csSDK_int32 frametime, int proxywidth, int proxyheight, int dispwidth, int dispheight); -typedef void (*pmShowNeedsRenderXFunc)(PrPlayID playID, prWnd theWindow, prRect* theXRect); -typedef void (*pmShowFileFrameOffscreenFunc)(PrPlayID playID, csSDK_int32 frametime, pmOffscreenDisplayPos *disp); -typedef int (*pmGetCurrentTime)(PrPlayID playID, double *inCurrentTime); -typedef void (*pmFrameDropped)(PrPlayID playID, csSDK_int32 inNumberFramesDropped); -typedef void (*pmShowFileFrameWithSafeAreasFunc)(PrPlayID playID, csSDK_int32 frametime, pmDisplayPos *disp, prFloatRect *view, pmAdornSafeAreasParams* adornSafeAreaParams); -typedef void (*pmShowFileFrameRenderSettings)(PrPlayID playID, const int inWidth, const int inHeight, const PrRenderQuality inRenderQuality, const prBool inRenderFields); - -// file functions -typedef csSDK_int32 (*pmOpenFileFunc)(PrPlayID playID); -typedef void (*pmReleaseFileFunc)(csSDK_int32 fileref); -typedef void (*pmSetDebugParameterFunc)(PrPlayID playID, csSDK_int32 selector, csSDK_int32 value); -typedef int (*pmGetPixelAspectRatioFunc)(PrPlayID playID, csSDK_uint32 *num, csSDK_uint32 *den); - -typedef struct _FileFuncs -{ - pmOpenFileFunc openFile; - pmReleaseFileFunc releaseFile; - pmSetDebugParameterFunc setDebugParameter; - pmGetPixelAspectRatioFunc getPixelAspectRatio; -} FileFuncs, *FileFuncsPtr; - -typedef struct _VideoFuncs -{ - pmShowFileFrameFunc showFileFrame; - pmShowFileFrameProxyFunc showFileFrameProxy; - pmShowNeedsRenderXFunc showNeedsRenderX; - pmShowFileFrameOffscreenFunc showFileFrameOffscreen; - pmGetCurrentTime getCurrentTime; - pmFrameDropped frameDropped; - pmShowFileFrameWithSafeAreasFunc showFileFrameWithSafeAreas; - pmShowFileFrameRenderSettings showFileFrameRenderSettings; -} VideoFuncs, *VideoFuncsPtr; - -// Utility functions passed during playmod_Startup -typedef struct _pmCallbackFuncs -{ - ClassDataFuncsPtr classFuncs; - FileFuncsPtr fileFuncs; - VideoFuncsPtr videoFuncs; -} pmCallbackFuncs; - - -/**************************************************************** -** Entry Point -*/ -typedef PREMPLUGENTRY(* PlayModEntryFunc)(int selector, pmStdParms *parms, void* param1, void* param2); - - -/**************************************************************** -** Selectors -*/ -enum PrPlaymodSelector { - playmod_Startup = 1, - playmod_Shutdown = 2, - playmod_Open = 3, - playmod_GetInfo = 4, - playmod_SetDisp = 5, - playmod_Update = 6, - playmod_Stop = 10, - playmod_PlayIdle = 11, - playmod_Close = 12, - playmod_GetIndFormat = 14, - playmod_NewList = 21, - playmod_GetFilePrefs = 34, - playmod_UpdateMarkers = 45, - playmod_SetFilePrefs = 46, // the param value is a void* NOT the pmSetFilePrefsRec* in the SDK docs. - playmod_PutFrame = 49, - playmod_SetQuality = 53, - playmod_SetPlaybackSpeed = 54, - playmod_Play = 55, - playmod_SetPos = 56, - playmod_GetPos = 57, - playmod_Step = 59, - playmod_Preroll = 60, - playmod_AdornSafeAreas = 61, - playmod_Activate = 62, - playmod_EnterScrub = 63, - playmod_LeaveScrub = 64, - playmod_SetView = 65, - playmod_SetDisplayMode = 66, // Obsolete (use playmod_SetVideoDisplayType selector instead) - playmod_PutFrameRequest = 67, - playmod_SetVideoDisplayType = 69, - playmod_DisplayMoving = 70, - playmod_DisplayChanged = 71, - playmod_GetAudioInfo = 74, - playmod_GetAudioChannelInfo = 75, - playmod_PushPlayerSettings = 76, // the param value is a pointer to a pmProjectSettings - playmod_EnableDynamicPlayback = 77, - - // new to CS4 - playmod_AllowSetPositionDuringPlayback = 78, - playmod_VideoSequenceHasChanged = 79, - playmod_GetRTStatusForTime = 80, - playmod_SetUseFractionalResolution = 81,// CS 4.1 only - deprecated in CS5 - playmod_SetFractionalResolution = 82, // CS 4.1 only - deprecated in CS5 - - // new to CS5 - playmod_PutTemporaryTimeline = 83, - playmod_SetDisplayStateProperties = 84, //deprecates PlayerQuality and FractionalResolution. Param is a const pmDisplayStateProperties* - - // new to CS7 - playmod_AudioOutputMappingUpdate = 85, - - playmod_SelectorsForceSize = kPrForceEnumToIntValue -}; - -/* Playback module messages - -Message: playmod_Startup -Purpose: called at application startup. The play module determines if it has the - necessary software/drivers to play back a file. If the call returns any error, - Premiere will not call the module for services. - If the plugin does not have to be loaded immediately upon application startup, - then it should return pmIsCacheable instead of playmod_ErrNone - The player must fill in a GUID into the pmStartupStruct or else the player - will not be loaded -Params: pmStartupRec* -Returns non-zero on error - - -Message: playmod_GetIndFormat -Purpose: Return file support info for file format 'n' - Fills in the pmModuleInfoRec passed in or returns an error if no more formats -Params: index - pmModuleInfoRec * - - -Message: playmod_Open -Purpose: Instantiate a file, create the play reference - (Note: file MUST be opened for sharing; other modules may access it simultaneously) -Returns: playmod_ErrNone, - playmod_ErrBadFile // can't open it - playmod_ErrNotPreferred // good file, but subtype is incorrect (e.g. 'I only play MJPG') - playmod_ErrDriver // hardware failure or other unrecoverable error -Params: - pmPlayRef *playref - pmOpenParams *openparms - -Message: playmod_SetDisp -Purpose: Change the display area -Params: - pmPlayRef playref; - pmDisplayPos *disp; - -Message: playmod_Update -Purpose: playback area was obscured, redraw current frame -Params: - pmPlayRef playref; - -Message: playmod_Stop -Purpose: Stops playback -Params: - prPlayRef playref; - -Message: playmod_PlayIdle -Purpose: sent repeatedly during playback so play module can service playback -Params: - prPlayRef playref; - -Message: playmod_Close -Purpose: Close the playback module, release files, shut down, fini. -Params: - prPlayRef playref; - -Message: playmod_NewList -Purpose: Called to create a new cut list -Params: (pmNewListParms structure, or pmNewListParmsV2 if audio playlist) - pmPlayTimebase listTimebase; // timebase for playlist - pmDisplayPos disp; // the display area - csSDK_int32 playID; // ID of this play instance. Used for callback functions - - -Message: playmod_GetPlayableRTRange -Purpose: Sent to get information about a region of the current cut-list - regarding if it can be played in real-time or not. -Params (prtPlayableRange structure) -// the following members are filled by Premiere before the call - csSDK_int32 size; // size of this structure - csSDK_int32 version; // the version of the struct (set to 1) - csSDK_int32 frame; // frame being tested - prtTimebase timebase; // timebase of "frame" - -// the following members are filled by the playback module - csSDK_int32 inListPos; // in point in the play list - csSDK_int32 outListPos; // out point in the plat list (inclusive) - csSDK_int32 playcode; // see enum above - csSDK_int32 layerIndex; // (optional) index of affected layer - - -Message: playmod_GetFilePrefs -Purpose: Sent to make the playback display itw own dialog box for settings filetype - preferences. -Params (pmGetFilePrefsRec structure) - csSDK_int32 filetype; // the requested filetype preferences - csSDK_int32 classID; // The classID for the module - // This is used to differentiate between compile modules that - // support the same fileType and to cross reference between - // different plugin types (i.e. play and record modules). - Ptr playmodPrefs; // Buffer to store preferences - // If null, a buffer of the desired size must be allocated using the memory suite - // Otherwise, it's a previously allocated buffer that can be reused. - // (Same concept as in compile module with "compilePrefs" -Return values: - playmod_ErrNone: No action - playmod_RebuildCutlist: Invalidate the current cut-list (playmod will receive update). This will also call playmod_SetFilePrefs - on all open play modules using the returned prefs. - playmod_BroadcastPrefs: Tells premiere to call playmod_SetFilePrefs on all open play modules using the returned prefs. - - -Message: playmod_ActivateFile -Purpose: If "activate" is 0, the playmodule should close the file (so Premiere can write to it). - If "activate" is 1, the file should be reopened -Params: pmActivateFileRec -Return values: none - -Message: playmod_ActivateFile8 -Purpose: If "activate" is 0, the playmodule should close the file (so Premiere can write to it). - If "activate" is 1, the file should be reopened -Params: pmActivateFileRec8 -Return values: none - -Message: playmod_UpdateMarkers -Purpose: Tell the playmod to update its use of markers - -Params: none, use the callbacks in the PISuites to get at the markers -Return Values: none - -Message: playmod_SetFilePrefs -Purpose: Notify all instances of playmods that their prefs have changed -Params: playmod Prefs - -Message: playmod_ProjectSettingsChanged -Purpose: Notify all instances of playmods that the project settings have changed -Params: none - -Message: playmod_PutFrame -Purpose: Sent to the playmod to let it draw a rendered frame to its output (VOut). - NOTE: This selector is called only if the PMCapPutFrame flag is set for the playmod. -Params: A pmPutFrameRec struct, containing a PPixHand and the put frame destination. - If a playmod_PutFrameRequest is sent first, the size of the frame that is sent will - match the put frame requested size. If this selector is not sent, any size image - can be sent to putframe. -Return values: - playmod_ErrNone: success - - -Message: playmod_PutFrameRequest -Purpose: Sent to the playmod to query for the frame size and pixel format it would like to receive - in a subsequent call to playmod_PutFrame. This is not always sent before a playmod_PutFrame selector. - NOTE: This selector is called only if the PMCapPutFrame flag is set for the playmod -Params: A pmPutFrameRequestRec struct, containing information that is to be filled by the playmod. -Return values: playmod_ErrNone: the rectangle values were succesfully returned by the playmod. - Any other error code: The request is denied by the plug-in. In this case, - Premiere will not call the playmod_PutFrame selector for this - particular frame, but rather do the update only in the monitor window. - NOTE: returning an error code in this case does NOT prevent the - playmod from receiving subsequent calls to the - PutFrameRequest / PutFrame selectors in the next user action. - -Message: playmod_PutTemporaryTimline -Purpose: Sent to the playmod to let it draw a timeline to its output (VOut). - NOTE: This selector is called only if the PMCapCanPutTemporaryTimeline flag is set for the playmod. -Params: A pmPutTemporaryTimelineRec struct -Return values: - playmod_ErrNone: success - playmod_RenderAndPutFrame: the plugin cannot render the put segment. The Premiere will call PutFrameRequest, - render the requested segment, and call PutFrame to display it. - - -Message: playmod_SetVideoDisplayType -Purpose: Send the current display mode (composite, direct manipulation, scope...) to the player. -Params: PrVideoDisplayParameters* -Return values: - playmod_ErrNone: success - - -Message: playmod_SetQuality: -Purpose: change quality during playback. Only called while file is not playing back, - this state needs to be stored and used on a per playmodule instance. -Params: - PrPlaybackQuality playback quality - - -Message: playmod_SetPlaybackSpeed: -Purpose: Request that the playmod adopt the requested playback speed. The speed value is a - float, with positive meaning forward play and negative meaning backward play. Zero - is an illegal speed an will never be passed down. - The playmod can refuse to play at a requested speed, in which case the playmod - should change the float value to the speed it is going to play at and return the - playmod_UnsupportedPlaybackSpeed error code -Params: - prPlayRef playref; - float* inoutPlaybackSpeed. // On input, the requested speed. On output, the actual speed. - - -Message: playmod_Play -Purpose: Starts playback - Position to start at, in/out point, loop flag, and speed are passed in -Params: - prPlayRef playref; - pmPlayParms playparms - -Message: playmod_SetPos -Purpose: tells module to change its logical position to pos. If playing, playback should - reset to the new position. If not playing, then nothing should happen. -Params: - prPlayRef playref; - PrTime* pos; - -Message: playmod_GetPos -Purpose: asks the module what its current position and mode is - Module fills in pos.position and current mode (playing, stopped) -Params: - prPlayRef playref; - pmPosRec7 *pos; - -Message: playmod_Step -Purpose: Move the current position by the requested time. If playing, playback should stop - after the step is completed. If not playing, the frame at the new position should - be displayed. If the playAudio parameter is non-zero, then audio associated with - the destination frame should be played. -Params: - prPlayRef playref; - pmStepRec7 step settings. - -Message: playmod_Preroll -Purpose: Readies movie for playback - Position to start at is passed in -Params: - prPlayRef playref; - pmPlayParms playparms - -Message: playmod_AdornSafeAreas -Purpose: Overlays safe title and safe action graphics on top of play module display -Params: - prPlayRef playref; - pmAdornSafeAreas safe area params - -Message: playmod_Activate -Purpose: Activate/deactivate playback module. - On deactivate, release hardware resources, sound channels, memory so other modules - can play. A module can still recieve playmod_Update, playmod_SetPos, etc. messages, - but will not recieve 'play' messages unless active. - The activation/deactivation reason is sent in to the player. This allows the player to - know why it is being deactivated. - - On activate, start all driver/play hardware, do not update current frame until - playmod_Update message is sent. -Params: - prPlayRef playref; - pmActivateRec* activationRec - -Message: playmod_EnterScrub -Purpose: The user is dragging the time control. The playmod should initialize the audio - system and keep it inialized until LeaveScrub is called. On SetPosition and Step7 calls, - it should move to the new position and play a blip of audio. -Params: - prPlayRef playref; - prBool If true, then any audio from Premiere will be silent and there is no need to - intialize the audio system. - -Message: playmod_LeaveScrub -Purpose: The user has stopped dragging the time control. The playmod should uninitialize the audio - system. - -Message: playmod_SetView -Purpose: Change the viewing rectangle within the player to be displayed in the display area -Params: - pmPlayRef playref; - pmFloatRec *view; - -Message: playmod_SetDisplayMode -Purpose: Set the current display mode of the player. -Params: - pmPlayRef playref; - pmDisplayMode newMode; - -Message: playmod_GetAudioInfo -Purpose: Gets information about the audio capabilities of the player. If the player wants to call - InitPluginAudio in version 2 or higher of the PlayModuleAudioSuite, it must support this - selector. Note that this call is static - a play module instance is not provided. -Params: - pmAudioInfo audioInfo; - param2 unused - -Message: playmod_GetAudioChannelInfo -Purpose: Gets information about a specific audio channel of the player. If the player wants to call - InitPluginAudio in version 2 or higher of the PlayModuleAudioSuite, it must support this - selector. Note that this call is static - a play module instance is not provided. -Params: - pmAudioChannelInfo audioChannelInfo; - param2 unused - -Message: playmod_EnableDynamicPlayback -Purpose: If this is enabled, a player should expect that effect parameters could change during playback, - so the rendering of the effects should occur at the last possible moment. -Params: - prBool enabled; - param2 unused; -*/ - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLAYMODULE_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleAudioSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleAudioSuite.h deleted file mode 100755 index ada0431..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleAudioSuite.h +++ /dev/null @@ -1,489 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLAYMODULEAUDIOSUITE_H -#define PRSDKPLAYMODULEAUDIOSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKAUDIOSUITE_H -#include "PrSDKAudioSuite.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPlayModuleAudioSuite "Premiere Playmod Audio Suite" -#define kPrSDKPlayModuleAudioSuiteVersion 3 - -/** -** Audio playback overview: -** -** A playmod has two choices for playing audio: it can ask the host (Premiere) to play -** the audio through the audio device selected by the user, or it can handle its own -** playback of audio. A single playmod could use both states for different play events. -** -** For host-based audio, the following sequence of calls should happen: -** -** - Plugin receives a preroll selector. -** - Plugin calls initHostAudio. -** - Plugin returns from preroll selector. -** - Plugin receives a start playback selector. -** - Plugin calls startAudio. -** - Plugin plays. -** - Plugin receives stop playback selector. -** - Plugin calls stopAudio. -** -** During playback, the plugin can get the current play position from the host using -** getCurrentTime, which will be clocked from the audio device. -** -** For plugin-based audio, the following sequence should happen. -** -** - Plugin receives a preroll selector. -** - Plugin calls initPluginAudio, passing a AudioPlaybackSettings struct holding -** the current audio playback settings. -** - Plugin returns from preroll selector. -** - Plugin receives a start playback selector. -** - Plugin calls startAudio. -** - Plugin plays. Whenever the plugin needs another buffer of audio, it calls getNextAudioBuffer. -** Note that these buffers are always sequential. -** - Plugin receives stop playback selector. -** - Plugin calls stopAudio. -** -** Note that the initAudio and startAudio calls can fail by returning an error code. -** If this happens, then the player must abort preroll or playback start. -** -** Premiere will return a negative countdown during its own audio preroll, which will -** last at least as long as the requested minimum preroll time in the StartAudio call. -*/ - -typedef struct AudioPlaybackSettings -{ - PrAudioChannelType outputChannelType; // The output channel type (see enum above) - float sampleRate; // The sample rate the playmod would like the audio at - csSDK_uint32 maxBufferSize; // The largest buffer (in sample frames) that the - // playmod will ever ask for. - PrTime inputLatency; // The input latency of audio provided. - PrTime outputLatency; // The time between the request for audio - // and is transmission. -} AudioPlaybackSettings; - -typedef struct AudioPlaybackSettings2 -{ - float sampleRate; // The sample rate the playmod would like the audio at - csSDK_uint32 maxBufferSize; // The largest buffer (in sample frames) that the - // playmod will ever ask for. - PrTime inputLatency; // The input latency of audio provided. - PrTime outputLatency; // The time between the request for audio - // and is transmission. - csSDK_uint32 outNumInputChannels; // The number of input channels activated. Filled in on return. - csSDK_uint32 outNumOutputChannels; // The number of output channels activated. Filled in on return. -} AudioPlaybackSettings2; - -typedef struct AudioPlaybackSettings3 -{ - csSDK_uint32 numInputChannels; // The number of input channels supported by the playmod - csSDK_uint32 numOutputChannels; // The number of output channels supported by the playmod - float sampleRate; // The sample rate the playmod would like the audio at - csSDK_uint32 maxBufferSize; // The largest buffer (in sample frames) that the - // playmod will ever ask for. - PrTime inputLatency; // The input latency of audio provided. - PrTime outputLatency; // The time between the request for audio - // and is transmission. - PrTime delayCompensation; // How early to deliver audio -} AudioPlaybackSettings3; - -/** -** This callback definition is for the host to tell the plugin what the current audio -** time is while it is playing the audio. It will be called on a very high priority -** thread and it is important that the plugin not block this thread or perform any -** lengthy processing during this call. -** -** @param inCurrentTime The current time in PrTime ticks. -*/ -typedef void (*AudioTimeCallback)(void* inInstanceData, PrTime inCurrentTime); - -typedef struct AudioPositions -{ - PrTime inPosition; // The in point of the playback; - // Must be less than the playback start and out points. - PrTime outPosition; // The out point of playback; - // Must be greater than the playback in and start points. - PrTime currentPosition; // the current playback time. - // Must be between the in and out points. - prBool looping; // If TRUE, then playback should loop at the boundaries. -} AudioPositions; - -typedef struct -{ - /** - ** Tell the host to initialize the audio hardware for the host to play the - ** audio. GetNextAudioBuffer will be unavailable using this initialization. - ** - ** @param inTimerCallback This is an optional parameter. If NULL, then the plugin will - ** not be called by the audio hardware thread. If non-NULL, it must - ** point to a function which can handle being called on a high-priority - ** thread at a regular interval. - ** @param inInstanceData If inTimerCallback is non-NULL, then the plugin can pass a pointer - ** to instance data that it wishes returned when the timer callback is - ** called. - ** @param inIsScrubbing If non-zero, Premiere will treat this as a scrubbing init. - ** @param outClockInterval If inTimerCallback is non-NULL and this parameter is non-NULL, - ** then on return it will contain the expected calling interval of - ** inTimerCallback. This should be used as a guide only, and may - ** vary depending on the audio hardware. - ** @return kPrAudioResult_Success or kPrAudioResult_InitializationFailure. - */ - prSuiteError (*InitHostAudio)( - csSDK_int32 inPlayID, - AudioTimeCallback inTimerCallback, - void* inInstanceData, - int inIsScrubbing, - PrTime* outClockInterval); - - /** - ** Tell the host to initialize the audio render chain for the plugin to - ** play the audio. GetNextAudioBuffer will be available using this initialization. - ** - ** @param inSettings the settings for the requested playback. - ** @param inIsScrubbing If non-zero, Premiere will treat this as a scrubbing init. - ** @return kPrAudioResult_Success or kPrAudioResult_InitializationFailure. - */ - prSuiteError (*InitPluginAudio)( - csSDK_int32 inPlayID, - int inIsScrubbing, - const AudioPlaybackSettings* inSettings); // The settings struct for the current playback. - - /** - ** Tell the host to start the audio playback. If InitHostAudio() was used, then the - ** playback clock will start running on another thread, possibly before this - ** call returns. If InitPluginAudio() was used, then GetNextAudioBuffer() is now - ** available. - ** - ** @param inPlayPosition the playback position structure. - ** @param inPlaybackSpeed the requested playback speed. Must be non-zero. - ** @param inMinimumPreroll the minimum time that the player needs to preroll video. Premiere - ** guarantees that the auido clock will start at least this long before - ** the start point. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_IllegalPlaySetting. - */ - prSuiteError (*StartAudio)( - csSDK_int32 inPlayID, - const AudioPositions* inPlayPosition, - float inPlaybackSpeed, - PrTime inMinimumPreroll); - - /** - ** Retrieve the next N samples of audio from the host. This call is only available if ( - ** InitPluginAudio(0 was used. - ** - ** @param inInBuffers a pointer to an array of buffers holding inNumSampleFrames input audio - ** in each buffer, corresponding to the total number of available - ** input channels. - ** @param outOutBuffers a pointer to an array of buffers inNumSampleFrames long into which - ** the host will write the output audio. There must be N buffers, - ** where N is the number of output channels for the output channel - ** type specified in InitPluginAudio. - ** @param inNumSampleFrames the size of each of the buffers in the array in both inInBuffers - ** and outOutBuffers. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*GetNextAudioBuffer)( - csSDK_int32 inPlayID, - float** inInBuffers, - float** outOutBuffers, - unsigned int inNumSampleFrames); - - /** - ** Change the current audio playback position. If it is outside the in or out points, - ** then the appropriate action will be taken to set the position. - ** - ** @param inRequestedPosition points to the requested playback position. - ** @param outActualPosition on return, will contain the actual position after the change (can be NULL). - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*SetPosition)( - csSDK_int32 inPlayID, - const PrTime* inRequestedPosition, - PrTime* outActualPosition); - - /** - ** This function will return the time of the audio buffer currently being played by the audio hardware. - ** It is only valid to call after InitHostAudio(). - ** - ** @param outPosition on return, the time of the audio buffer currently being played by the audio hardware. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*GetPosition)( - csSDK_int32 inPlayID, - PrTime* outPosition); - - /** - ** Change the current audio in and out points, and the looping state. If the current position - ** field contains a valid position (i.e. it is between the in and out points), then the playback - ** position will be moved to this position. If it contains an illegal value, then the playback - ** position will not be moved except as constrained by the changed in and out points. - ** - ** So, to simply change the in and out points or looping state, here is an example of the - ** AudioPositions struct on calling: - ** - ** AudioPositions position(0, 1000000, -1, TRUE); - ** - ** On return, the currentPosition value will be filled in with the current position. - ** - ** If instead the following struct is used: - ** - ** AudioPositions position(0, 1000000, 25000, TRUE); - ** - ** then the current position will be moved to 25000. - ** - ** @param inRequestedPosition The requested state for the in, out, and loop positions, - ** and, if valid, current position. - ** @param outActualPosition On return, this will be the actual position that will be used even if an invalid position - ** was sent in. Can be NULL. - ** - ** @return kPrAudioResult_Success, kPrAudioResult_IllegalPlaySetting, kPrAudioResult_NotInited. - */ - prSuiteError (*SetRange)( - csSDK_int32 inPlayID, - const AudioPositions* inRequestedPosition, - AudioPositions* outActualPosition); - - /** - ** Set the audio playback speed. This value must be non-zero, but can be any positive - ** or negative value. Once the magnitude reaches a certain point, Premiere will - ** generate silence. - ** - ** @param inSpeed the requested playback speed. Must be non-zero. - ** @return kPrAudioResult_Success, kPrAudioResult_IllegalPlaySetting, or - ** kPrAudioResult_NotInited. - */ - prSuiteError (*SetPlaybackSpeed)( - csSDK_int32 inPlayID, - float inSpeed); - - /** - ** StopAudio will cease audio playback and deinitialize the audio system. After calling StopAudio, - ** you must call one of the InitAudio routines before calling Start again. - ** - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*StopAudio)( - csSDK_int32 inPlayID); - -} PrSDKPlayModuleAudioSuiteVersion1; - -typedef struct -{ - /** - ** Tell the host to initialize the audio hardware for the host to play the - ** audio. GetNextAudioBuffer will be unavailable using this initialization. - ** - ** @param inTimerCallback This is an optional parameter. If NULL, then the plugin will - ** not be called by the audio hardware thread. If non-NULL, it must - ** point to a function which can handle being called on a high-priority - ** thread at a regular interval. - ** @param inInstanceData If inTimerCallback is non-NULL, then the plugin can pass a pointer - ** to instance data that it wishes returned when the timer callback is - ** called. - ** @param inIsScrubbing If non-zero, Premiere will treat this as a scrubbing init. - ** @param outClockInterval If inTimerCallback is non-NULL and this parameter is non-NULL, - ** then on return it will contain the expected calling interval of - ** inTimerCallback. This should be used as a guide only, and may - ** vary depending on the audio hardware. - ** @return kPrAudioResult_Success or kPrAudioResult_InitializationFailure. - */ - prSuiteError (*InitHostAudio)( - csSDK_int32 inPlayID, - AudioTimeCallback inTimerCallback, - void* inInstanceData, - int inIsScrubbing, - PrTime* outClockInterval); - - /** - ** Tell the host to initialize the audio render chain for the plugin to - ** play the audio. GetNextAudioBuffer will be available using this initialization. - ** - ** @param inSettings the settings for the requested playback. - ** @param inIsScrubbing If non-zero, Premiere will treat this as a scrubbing init. - ** @return kPrAudioResult_Success or kPrAudioResult_InitializationFailure. - */ - prSuiteError (*InitPluginAudio)( - csSDK_int32 inPlayID, - int inIsScrubbing, - AudioPlaybackSettings2* ioSettings); // The settings struct for the current playback. - - /** - ** Tell the host to start the audio playback. If InitHostAudio() was used, then the - ** playback clock will start running on another thread, possibly before this - ** call returns. If InitPluginAudio() was used, then GetNextAudioBuffer() is now - ** available. - ** - ** @param inPlayPosition the playback position structure. - ** @param inPlaybackSpeed the requested playback speed. Must be non-zero. - ** @param inMinimumPreroll the minimum time that the player needs to preroll video. Premiere - ** guarantees that the auido clock will start at least this long before - ** the start point. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_IllegalPlaySetting. - */ - prSuiteError (*StartAudio)( - csSDK_int32 inPlayID, - const AudioPositions* inPlayPosition, - float inPlaybackSpeed, - PrTime inMinimumPreroll); - - /** - ** Retrieve the next N samples of audio from the host. This call is only available if ( - ** InitPluginAudio(0 was used. - ** - ** @param inInBuffers a pointer to an array of buffers holding inNumSampleFrames input audio - ** in each buffer, corresponding to the total number of available - ** input channels. - ** @param outOutBuffers a pointer to an array of buffers inNumSampleFrames long into which - ** the host will write the output audio. There must be N buffers, - ** where N is the number of output channels for the output channel - ** type specified in InitPluginAudio. - ** @param inNumSampleFrames the size of each of the buffers in the array in both inInBuffers - ** and outOutBuffers. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*GetNextAudioBuffer)( - csSDK_int32 inPlayID, - float** inInBuffers, - float** outOutBuffers, - unsigned int inNumSampleFrames); - - /** - ** Change the current audio playback position. If it is outside the in or out points, - ** then the appropriate action will be taken to set the position. - ** - ** @param inRequestedPosition points to the requested playback position. - ** @param outActualPosition on return, will contain the actual position after the change (can be NULL). - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*SetPosition)( - csSDK_int32 inPlayID, - const PrTime* inRequestedPosition, - PrTime* outActualPosition); - - /** - ** This function will return the time of the audio buffer currently being played by the audio hardware. - ** It is only valid to call after InitHostAudio(). - ** - ** @param outPosition on return, the time of the audio buffer currently being played by the audio hardware. - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*GetPosition)( - csSDK_int32 inPlayID, - PrTime* outPosition); - - /** - ** Change the current audio in and out points, and the looping state. If the current position - ** field contains a valid position (i.e. it is between the in and out points), then the playback - ** position will be moved to this position. If it contains an illegal value, then the playback - ** position will not be moved except as constrained by the changed in and out points. - ** - ** So, to simply change the in and out points or looping state, here is an example of the - ** AudioPositions struct on calling: - ** - ** AudioPositions position(0, 1000000, -1, TRUE); - ** - ** On return, the currentPosition value will be filled in with the current position. - ** - ** If instead the following struct is used: - ** - ** AudioPositions position(0, 1000000, 25000, TRUE); - ** - ** then the current position will be moved to 25000. - ** - ** @param inRequestedPosition The requested state for the in, out, and loop positions, - ** and, if valid, current position. - ** @param outActualPosition On return, this will be the actual position that will be used even if an invalid position - ** was sent in. Can be NULL. - ** - ** @return kPrAudioResult_Success, kPrAudioResult_IllegalPlaySetting, kPrAudioResult_NotInited. - */ - prSuiteError (*SetRange)( - csSDK_int32 inPlayID, - const AudioPositions* inRequestedPosition, - AudioPositions* outActualPosition); - - /** - ** Set the audio playback speed. This value must be non-zero, but can be any positive - ** or negative value. Once the magnitude reaches a certain point, Premiere will - ** generate silence. - ** - ** @param inSpeed the requested playback speed. Must be non-zero. - ** @return kPrAudioResult_Success, kPrAudioResult_IllegalPlaySetting, or - ** kPrAudioResult_NotInited. - */ - prSuiteError (*SetPlaybackSpeed)( - csSDK_int32 inPlayID, - float inSpeed); - - /** - ** StopAudio will cease audio playback and deinitialize the audio system. After calling StopAudio, - ** you must call one of the InitAudio routines before calling Start again. - ** - ** @return kPrAudioResult_Success, kPrAudioResult_NotInited, or kPrAudioResult_NotStarted. - */ - prSuiteError (*StopAudio)( - csSDK_int32 inPlayID); - - /** - ** Tell the host to initialize the audio render chain for the plugin to - ** play the audio. GetNextAudioBuffer will be available using this initialization. - ** - ** @param inSettings the settings for the requested playback. - ** @param inIsScrubbing If non-zero, Premiere will treat this as a scrubbing init. - ** @return kPrAudioResult_Success or kPrAudioResult_InitializationFailure. - */ - prSuiteError (*InitPluginAudio3)( - csSDK_int32 inPlayID, - int inIsScrubbing, - const AudioPlaybackSettings3* inSettings); // The settings struct for the current playback. - -} PrSDKPlayModuleAudioSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLAYMODULEAUDIOSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleDeviceControlSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleDeviceControlSuite.h deleted file mode 100755 index 1b961ac..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleDeviceControlSuite.h +++ /dev/null @@ -1,106 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLAYMODULEDEVICECONTROLSUITE_H -#define PRSDKPLAYMODULEDEVICECONTROLSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKPlayModuleDeviceControlSuite "Premiere Playmod Device Control Suite" -#define kPrSDKPlayModuleDeviceControlSuiteVersion 1 - -typedef csSDK_int32 PlayModuleDeviceID; - -const prSuiteError kPrDeviceControlResult_Success = 0; -const prSuiteError kPrDeviceControlResult_GeneralError = -1; -const prSuiteError kPrDeviceControlResult_IllegalCallSequence = -2; - -/** -** Playmod Device Control overview: -** -** This suite is provided so that play modules can control a hardware -** device during "Export To Tape." The necessary DeviceControlID will only -** be passed down when a transmit is requested. The player must then call -** all of the methods in this suite, in the order in which they are -** listed. -*/ - -typedef struct -{ - /** - ** Tell the device to seek to the appropriate location. - ** - ** @return kPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence. - */ - prSuiteError (*Seek)( - PlayModuleDeviceID inDeviceID); - - /** - ** Tell the device to prepare to record. - ** - ** @return kPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence. - */ - prSuiteError (*Arm)( - PlayModuleDeviceID inDeviceID); - - /** - ** Tell the device to start recording. - ** - ** @return kPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence. - */ - prSuiteError (*Record)( - PlayModuleDeviceID inDeviceID); - - /** - ** Tell the device to stop recording. This also cleans up the device control - ** object, so it is not available after this call. - ** - ** @return kPrDeviceControlResult_Success or kPrDeviceControlResult_IllegalCallSequence. - */ - prSuiteError (*Stop)( - PlayModuleDeviceID inDeviceID); - - -} PrSDKPlayModuleDeviceControlSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLAYMODULEDEVICECONTROLSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleOverlaySuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleOverlaySuite.h deleted file mode 100755 index b509134..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleOverlaySuite.h +++ /dev/null @@ -1,165 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKPLAYMODULEOVERLAYSUITESUITE_H -#define PRSDKPLAYMODULEOVERLAYSUITESUITE_H - - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPLAYMODULE_H -#include "PrSDKPlayModule.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - - -#define kPrSDKPlayModuleOverlaySuite "MediaCore Playmod Overlay Suite" -#define kPrSDKPlayModuleOverlaySuiteVersion 1 - - -/** -** If supported, set the player capability PMCapSupportsOverlayDrawing -*/ -typedef struct -{ - /** - ** Renders an overlay into the provided PPix. - ** May only draw into opaque pixels unless inClearToTransparentBlack is specified. - ** If a PPix is created, it will be cached under the key retrieved from GetIdentifier. - ** - ** @param inPlayID Player module identifier - ** @param inTime Requested overlay time - ** @param inLogicalRegion Region of video segments being rendered - ** @param inDisplayWidth Size of display - ** @param inDisplayHeight Size of display - ** @param inClearToTransparentBlack if kPrTrue the frame will first be cleared to transparent black before render - ** This is useful if the composite will be of the whole frame instead of just - ** the returned visible regions. - ** @param ioPPix The frame into which to draw the overlay - ** If NULL the host will allocate the PPix - ** If provided PPix must be BGRA square pixel and sized to inDisplayWidth & inDisplayHeight - */ - prSuiteError (*RenderImage)( - PrPlayID inPlayID, - PrTime inTime, - const prRect* inLogicalRegion, - int inDisplayWidth, - int inDisplayHeight, - prBool inClearToTransparentBlack, - PPixHand* ioPPix); - - /** - ** Returns a unique identifier for the frame that would be produced with - ** the provided overlay parameters. - ** - ** @param inPlayID Player module identifier - ** @param inTime Requested overlay time - ** @param inLogicalRegion Region of video segments being rendered - ** @param inDisplayWidth Size of display - ** @param inDisplayHeight Size of display - ** @param inClearToTransparentBlack if kPrTrue the frame will first be cleared to transparent black before render - ** @param outIdentifier Unique identifier for requested params - */ - prSuiteError (*GetIdentifier)( - PrPlayID inPlayID, - PrTime inTime, - const prRect* inLogicalRegion, - int inDisplayWidth, - int inDisplayHeight, - prBool inClearToTransparentBlack, - prPluginID* outIdentifier); - - /** - ** Returns if there are any regions visible for the current parameters. - ** - ** @param inPlayID Player module identifier - ** @param inTime Requested overlay time - ** @param inLogicalRegion Region of video segments being rendered - ** @param inDisplayWidth Size of display - ** @param inDisplayHeight Size of display - ** @param outHasVisibleRegions kPrTrue if the overlay varies is visible - */ - prSuiteError (*HasVisibleRegions)( - PrPlayID inPlayID, - PrTime inTime, - const prRect* inLogicalRegion, - int inDisplayWidth, - int inDisplayHeight, - prBool* outHasVisibleRegions); - - /** - ** Returns the set of regions visible in display units for the current parameters. - ** Set will be empty if no overlay exists. - ** - ** @param inPlayID Player module identifier - ** @param inTime Requested overlay time - ** @param inLogicalRegion Region of video segments being rendered - ** @param inDisplayWidth Size of display - ** @param inDisplayHeight Size of display - ** @param outVisibleRegionArray List of visible regions - ** @param ioVisibleRegionArrayCount Count of visible regions. - ** In value is size of outVisibleRegionArray - ** Out value is available count of regions - */ - prSuiteError (*CalculateVisibleRegions)( - PrPlayID inPlayID, - PrTime inTime, - const prRect* inLogicalRegion, - int inDisplayWidth, - int inDisplayHeight, - prRect* outVisibleRegionArray, - csSDK_int32* ioVisibleRegionArrayCount); - - /** - ** Returns if the current overlay will vary over time - ** - ** @param inPlayID Player module identifier - ** @param outVariesOverTime kPrTrue if the overlay varies over time - */ - prSuiteError (*VariesOverTime)( - PrPlayID inPlayID, - prBool* outVariesOverTime); - - -} PrSDKPlayModuleOverlaySuite; - - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleRenderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleRenderSuite.h deleted file mode 100755 index edda55c..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlayModuleRenderSuite.h +++ /dev/null @@ -1,691 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKPLAYMODULERENDERSUITE_H -#define PRSDKPLAYMODULERENDERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPLAYMODULE_H -#include "PrSDKPlayModule.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKRENDERCACHETYPE_H -#include "PrSDKRenderCacheType.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void (*PrSDKPlayModuleRenderSuite_AsyncCompletionProc)(void* inAsyncCompletionData, csSDK_int32 inRequestID, PPixHand inPPixHand); - -#define kPrSDKPlayModuleRenderSuite "PremierePlaymodRenderSuite" -#define kPrSDKPlayModuleRenderSuiteVersion 4 - -#define kPrSDKPlayModuleRenderSuiteVersion_3 3 -#define kPrSDKPlayModuleRenderSuiteVersion_2 2 - -typedef struct -{ - /** - ** This will render the video frame synchronously. It will return will not return until the requested - ** video frame has been rendered or an error has occured. - ** - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*RenderVideoFrame)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - PPixHand* outRenderedFrame, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** This will queue a render of a video frame. It will return immediately. If the frame was available in the cache - ** it will be returned from this call and the completion proc will not be called. If the frame is not available, - ** the request will be queued and the completion proc will be called when the request is complete. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** The async render completion proc must be set before calling this function. - ** - ** @param inAsyncCompletionData User specific data sent to the async completion proc - ** @param inFrameTime The time of the video frame number. - ** @param outRequestID The request ID, if the frame is rendered async - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*QueueAsyncVideoFrameRender)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - void* inAsyncCompletionData, - csSDK_int32* outRequestID, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** Sets the completion function that will be called when an async render request is completed. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** Instance data is sent into each async render call, and will be returned to this completion proc. - ** - ** @param inCompletionProc This method will be called when async renders are completed. - */ - prSuiteError (*SetAsyncRenderCompletionProc)( - csSDK_int32 inPlayID, - PrSDKPlayModuleRenderSuite_AsyncCompletionProc inCompletionProc); - - /* - ** Cancel ALL pending render requests for this RenderFrame ref. - */ - prSuiteError (*CancelAllOutstandingAsyncRequests)( - csSDK_int32 inPlayID); - - /* - ** Cancel a specific render request. - ** - ** @param inAsyncRequestID Identifies the render request. - */ - prSuiteError (*CancelOneOutstandingAsyncRequest)( - csSDK_int32 inPlayID, - csSDK_int32 inAsyncRequestID); - - /** - ** Returns the video frame if it is already in the cache. This does not cause a render to occur. - ** - ** @param inFrame The video frame number. - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*FetchRenderedFrameFromCache)( - csSDK_int32 inPlayID, - const PrTime* inFrame, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality); - - /** - ** Pre-fetches the media needed to render this frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrame The video frame number. - */ - prSuiteError (*PrefetchMedia)( - csSDK_int32 inPlayID, - const PrTime* inFrame); - - /** - ** Pre-fetches the media needed to render this frame, using all of the parameters used to render the frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*PrefetchMediaWithRenderParameters)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - prBool inRenderFields); - - - /** - ** This will cancel all media pre-fetches that are still outstanding. - */ - prSuiteError (*CancelAllOutstandingMediaPrefetches)( - csSDK_int32 inPlayID); - - /** - ** Is all the prefetched media ready? - */ - prSuiteError (*IsPrefetchedMediaReady)( - csSDK_int32 inPlayID, - const PrTime* inFrame, - prBool* outMediaReady); - - /* - ** This will add a video frame to the cache. - ** As an example, this can be used to add a video frame of another pixel format back to the cache. - ** Then future requests for this video frame may be satisfied in this pixel format. - ** - ** @param inOriginalPPix The original PPix that was rendered. - ** @param inNewPPix The new PPix that also represents this frame. - */ - prSuiteError (*AddFrameToCache)( - csSDK_int32 inPlayID, - PPixHand inOriginalPPix, - PPixHand inNewPPix); - - /** - ** Set the type of video frame returned. If set to TRUE the video frame returned may have transparent - ** alpha. Note that this type of video frame still needs to be composited on black. This is an - ** option if you can perform the final composite in hardware, otherwise set to FALSE and the - ** final composite onto black will be performed during the render - ** - ** @param inAllowTransparentVideoFrames If TRUE, the resulting video frame will not be composited onto black. - */ - prSuiteError (*AllowTransparentVideoFrames)( - csSDK_int32 inPlayID, - prBool inAllowTransparentVideoFrames); - - - - /** - ** Cancels Pre-fetches for the media needed to render this frame, using all of the parameters used to render the frame. - ** - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*CancelPrefetchMediaWithRenderParameters)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - prBool inRenderFields); - - /** - ** Force a refresh of the RT segment status for a given player - */ - prSuiteError (*RefreshRTStatus)( - csSDK_int32 inPlayID); - - /** - ** Query the RT status of an accelerated renderer if used - */ - prSuiteError (*GetAcceleratedRendererRTStatusForTime)( - csSDK_int32 inPlayID, - prtPlayableRangePtr outplayableRange); - -} PrSDKPlayModuleRenderSuite; - -typedef PrSDKPlayModuleRenderSuite PrSDKPlayModuleRenderSuite_3; - -typedef struct -{ - /** - ** This will render the video frame synchronously. It will return will not return until the requested - ** video frame has been rendered or an error has occured. - ** - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*RenderVideoFrame)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - PPixHand* outRenderedFrame, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** This will queue a render of a video frame. It will return immediately. If the frame was available in the cache - ** it will be returned from this call and the completion proc will not be called. If the frame is not available, - ** the request will be queued and the completion proc will be called when the request is complete. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** The async render completion proc must be set before calling this function. - ** - ** @param inAsyncCompletionData User specific data sent to the async completion proc - ** @param inFrameTime The time of the video frame number. - ** @param outRequestID The request ID, if the frame is rendered async - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*QueueAsyncVideoFrameRender)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - void* inAsyncCompletionData, - csSDK_int32* outRequestID, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** Sets the completion function that will be called when an async render request is completed. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** Instance data is sent into each async render call, and will be returned to this completion proc. - ** - ** @param inCompletionProc This method will be called when async renders are completed. - */ - prSuiteError (*SetAsyncRenderCompletionProc)( - csSDK_int32 inPlayID, - PrSDKPlayModuleRenderSuite_AsyncCompletionProc inCompletionProc); - - /* - ** Cancel ALL pending render requests for this RenderFrame ref. - */ - prSuiteError (*CancelAllOutstandingAsyncRequests)( - csSDK_int32 inPlayID); - - /* - ** Cancel a specific render request. - ** - ** @param inAsyncRequestID Identifies the render request. - */ - prSuiteError (*CancelOneOutstandingAsyncRequest)( - csSDK_int32 inPlayID, - csSDK_int32 inAsyncRequestID); - - /** - ** Returns the video frame if it is already in the cache. This does not cause a render to occur. - ** - ** @param inFrame The video frame number. - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*FetchRenderedFrameFromCache)( - csSDK_int32 inPlayID, - const PrTime* inFrame, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality); - - /** - ** Pre-fetches the media needed to render this frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrame The video frame number. - */ - prSuiteError (*PrefetchMedia)( - csSDK_int32 inPlayID, - const PrTime* inFrame); - - /** - ** Pre-fetches the media needed to render this frame, using all of the parameters used to render the frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*PrefetchMediaWithRenderParameters)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - prBool inRenderFields); - - - /** - ** This will cancel all media pre-fetches that are still outstanding. - */ - prSuiteError (*CancelAllOutstandingMediaPrefetches)( - csSDK_int32 inPlayID); - - /** - ** Is all the prefetched media ready? - */ - prSuiteError (*IsPrefetchedMediaReady)( - csSDK_int32 inPlayID, - const PrTime* inFrame, - prBool* outMediaReady); - - /* - ** This will add a video frame to the cache. - ** As an example, this can be used to add a video frame of another pixel format back to the cache. - ** Then future requests for this video frame may be satisfied in this pixel format. - ** - ** @param inOriginalPPix The original PPix that was rendered. - ** @param inNewPPix The new PPix that also represents this frame. - */ - prSuiteError (*AddFrameToCache)( - csSDK_int32 inPlayID, - PPixHand inOriginalPPix, - PPixHand inNewPPix); - - /** - ** Set the type of video frame returned. If set to TRUE the video frame returned may have transparent - ** alpha. Note that this type of video frame still needs to be composited on black. This is an - ** option if you can perform the final composite in hardware, otherwise set to FALSE and the - ** final composite onto black will be performed during the render - ** - ** @param inAllowTransparentVideoFrames If TRUE, the resulting video frame will not be composited onto black. - */ - prSuiteError (*AllowTransparentVideoFrames)( - csSDK_int32 inPlayID, - prBool inAllowTransparentVideoFrames); - - -} PrSDKPlayModuleRenderSuite_2; - - - -/* -** Older RenderSuite 1.0 -** Please use the new render suite. -*/ - -#define kPrSDKPlayModuleRenderSuite_1 "Premiere Playmod Render Suite" -#define kPrSDKPlayModuleRenderSuiteVersion_1 1 - -typedef struct -{ - /** - ** This will render the video frame synchronously. It will return will not return until the requested - ** video frame has been rendered or an error has occured. - ** - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*RenderVideoFrame)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - PPixHand* outRenderedFrame, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** This will queue a render of a video frame. It will return immediately. If the frame was available in the cache - ** it will be returned from this call and the completion proc will not be called. If the frame is not available, - ** the request will be queued and the completion proc will be called when the request is complete. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** The async render completion proc must be set before calling this function. - ** - ** @param inAsyncCompletionData User specific data sent to the async completion proc - ** @param inFrameTime The time of the video frame number. - ** @param outRequestID The request ID, if the frame is rendered async - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - ** @param inCacheFlags The cache flags. - */ - prSuiteError (*QueueAsyncVideoFrameRender)( - csSDK_int32 inPlayID, - const PrTime* inFrameTime, - void* inAsyncCompletionData, - csSDK_int32* outRequestID, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality, - PrRenderCacheType inCacheFlags, - prBool inRenderFields); - - /** - ** Sets the completion function that will be called when an async render request is completed. - ** Note: while inside your completion proc, no other video frames will be rendered so do not do any time consuming - ** work in your completion proc. - ** Instance data is sent into each async render call, and will be returned to this completion proc. - ** - ** @param inCompletionProc This method will be called when async renders are completed. - */ - prSuiteError (*SetAsyncRenderCompletionProc)( - csSDK_int32 inPlayID, - PrSDKPlayModuleRenderSuite_AsyncCompletionProc inCompletionProc); - - /* - ** Cancel ALL pending render requests for this RenderFrame ref. - */ - prSuiteError (*CancelAllOutstandingAsyncRequests)( - csSDK_int32 inPlayID); - - /* - ** Cancel a specific render request. - ** - ** @param inAsyncRequestID Identifies the render request. - */ - prSuiteError (*CancelOneOutstandingAsyncRequest)( - csSDK_int32 inPlayID, - csSDK_int32 inAsyncRequestID); - - /** - ** Returns the video frame if it is already in the cache. This does not cause a render to occur. - ** - ** @param inFrame The video frame number. - ** @param outRenderedFrame The output ppix. The caller is responsible to destroy this - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*FetchRenderedFrameFromCache)( - csSDK_int32 inPlayID, - const PrTime* inFrame, - PPixHand* outRenderedFrame, - - const PrPixelFormat* inRequestedPixelFormatArray, - - csSDK_int32 inRequestedPixelFormatArrayCount, - const prRect* inFrameRect, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrRenderQuality inRenderQuality); - - /** - ** Pre-fetches the media needed to render this frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrame The video frame number. - */ - prSuiteError (*PrefetchMedia)( - csSDK_int32 inPlayID, - const PrTime* inFrame); - - /** - ** This will cancel all media pre-fetches that are still outstanding. - */ - prSuiteError (*CancelAllOutstandingMediaPrefetches)( - csSDK_int32 inPlayID); - - /* - ** This will add a video frame to the cache. - ** As an example, this can be used to add a video frame of another pixel format back to the cache. - ** Then future requests for this video frame may be satisfied in this pixel format. - ** - ** @param inOriginalPPix The original PPix that was rendered. - ** @param inNewPPix The new PPix that also represents this frame. - */ - prSuiteError (*AddFrameToCache)( - csSDK_int32 inPlayID, - PPixHand inOriginalPPix, - PPixHand inNewPPix); - - /** - ** Set the type of video frame returned. If set to TRUE the video frame returned may have transparent - ** alpha. Note that this type of video frame still needs to be composited on black. This is an - ** option if you can perform the final composite in hardware, otherwise set to FALSE and the - ** final composite onto black will be performed during the render - ** - ** @param inAllowTransparentVideoFrames If TRUE, the resulting video frame will not be composited onto black. - */ - prSuiteError (*AllowTransparentVideoFrames)( - csSDK_int32 inPlayID, - prBool inAllowTransparentVideoFrames); - -} PrSDKPlayModuleRenderSuite_1; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugMemory.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugMemory.h deleted file mode 100755 index e4b6135..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugMemory.h +++ /dev/null @@ -1,78 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLUGMEMORY_H -#define PRSDKPLUGMEMORY_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// memory functions - -typedef char *(*plugNewPtrFunc)(csSDK_uint32 size); -typedef void (*plugSetPtrSizeFunc)(PrMemoryPtr *ptr, csSDK_uint32 newsize); -typedef csSDK_int32 (*plugGetPtrSizeFunc)(char *ptr); -typedef void (*plugDisposePtrFunc)(char *ptr); -typedef char **(*plugNewHandleFunc)(csSDK_uint32 size); -typedef csSDK_int16 (*plugSetHandleSizeFunc)(PrMemoryHandle h, csSDK_uint32 newsize); -typedef csSDK_int32 (*plugGetHandleSizeFunc)(PrMemoryHandle h); -typedef void (*plugDisposeHandleFunc)(PrMemoryHandle h); -typedef char *(*plugNewPtrClearFunc)(csSDK_uint32 size); -typedef char **(*plugNewHandleClearFunc)(csSDK_uint32 size); -typedef void (*plugLockHandleFunc)(PrMemoryHandle h); -typedef void (*plugUnlockHandleFunc)(PrMemoryHandle h); - - -typedef struct -{ - plugNewPtrFunc newPtr; - plugSetPtrSizeFunc setPtrSize; - plugGetPtrSizeFunc getPtrSize; - plugDisposePtrFunc disposePtr; - plugNewHandleFunc newHandle; - plugSetHandleSizeFunc setHandleSize; - plugGetHandleSizeFunc getHandleSize; - plugDisposeHandleFunc disposeHandle; - plugNewPtrClearFunc newPtrClear; - plugNewHandleClearFunc newHandleClear; - plugLockHandleFunc lockHandle; - plugUnlockHandleFunc unlockHandle; -} PlugMemoryFuncs, *PlugMemoryFuncsPtr; - -#ifdef __cplusplus -} -#endif -#pragma pack(pop) - -#endif /* PRSDKPLUGMEMORY_H */ - - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugPPix.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugPPix.h deleted file mode 100755 index 136be82..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugPPix.h +++ /dev/null @@ -1,71 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLUGPPIX_H -#define PRSDKPLUGPPIX_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef char *(*plugppixGetPixelsFunc)(PPixHand pix); -typedef void (*plugppixGetBoundsFunc)(PPixHand pix, prRect *bounds); -typedef int (*plugppixGetRowbytesFunc)(PPixHand pix); -typedef PPixHand (*plugppixNewFunc)(prRect *bounds); -typedef void (*plugppixDisposeFunc)(PPixHand ppix); -typedef void (*plugppixLockFunc)(PPixHand pix); -typedef void (*plugppixUnlockFunc)(PPixHand pix); -typedef int (*plugppixGetPixelAspectRatioFunc)(PPixHand pix, csSDK_uint32 *num, csSDK_uint32 *den); -typedef void (*plugppixGetAlphaBounds)(PPixHand pix, prRect *alphaBounds); - -typedef struct -{ - plugppixGetPixelsFunc ppixGetPixels; - plugppixGetBoundsFunc ppixGetBounds; - plugppixGetRowbytesFunc ppixGetRowbytes; - plugppixNewFunc ppixNew; /* PR_PISUITES_VERSION_2 */ - plugppixDisposeFunc ppixDispose; /* PR_PISUITES_VERSION_2 */ - plugppixLockFunc ppixLockPixels; /* PR_PISUITES_VERSION_2 */ - plugppixUnlockFunc ppixUnlockPixels; /* PR_PISUITES_VERSION_2 */ - plugppixGetPixelAspectRatioFunc ppixGetPixelAspectRatio; /* PR_PISUITES_VERSION_3 */ - plugppixGetAlphaBounds ppixGetAlphaBounds; /* PR_PISUITES_VERSION_6 */ -} PlugppixFuncs, *PlugppixFuncsPtr; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLUGPPIX_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugSuites.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugSuites.h deleted file mode 100755 index f1682d2..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugSuites.h +++ /dev/null @@ -1,91 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLUGSUITES_H -#define PRSDKPLUGSUITES_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPLUGMEMORY_H -#include "PrSDKPlugMemory.h" -#endif - -#ifndef PRSDKPLUGWINDOW_H -#include "PrSDKPlugWindow.h" -#endif - -#ifndef PRSDKPLUGPPIX_H -#include "PrSDKPlugPPix.h" -#endif - -#ifndef PRSDKPLUGUTILITIES_H -#include "PrSDKPlugUtilities.h" -#endif - -#ifndef PRSDKPLUGTIMELINE_H -#include "PrSDKPlugTimeline.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// Premiere plug-in suites - -#define PR_PISUITES_VERSION_1 1 // 5.0 -#define PR_PISUITES_VERSION_2 2 // 5.1 -#define PR_PISUITES_VERSION_3 3 // 6.0 -#define PR_PISUITES_VERSION_4 4 // 7.0 -#define PR_PISUITES_VERSION_5 5 // Pro 1.5 -#define PR_PISUITES_VERSION_6 6 // Pro 1.5.1 -#define PR_PISUITES_VERSION_7 7 // Pro 2.0 -#define PR_PISUITES_VERSION_8 8 // Pro 3.0 -#define PR_PISUITES_VERSION_9 9 // Pro 4.0 -#define PR_PISUITES_VERSION PR_PISUITES_VERSION_9 - -typedef struct -{ - int piInterfaceVer; // version of plug-in interface (PR_PISUITES_VERSION) - PlugMemoryFuncsPtr memFuncs; - PlugWindowFuncsPtr windFuncs; - PlugppixFuncsPtr ppixFuncs; - PlugUtilFuncsPtr utilFuncs; - PlugTimelineFuncsPtr timelineFuncs; -} piSuites, *piSuitesPtr; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLUGSUITES_H */ - - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugTimeline.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugTimeline.h deleted file mode 100755 index 7847532..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugTimeline.h +++ /dev/null @@ -1,283 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKPLUGTIMELINE_H -#define PRSDKPLUGTIMELINE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// flags for getClipVideo callback -#define kGCVFlag_UseFilePixelAspectRatio 1 - -// utility functions for plugins that want to access timeline information -typedef csSDK_int32 (*plugGetClipVideoFunc)(csSDK_int32 frame, PPixHand thePort, prRect *bounds, csSDK_int32 flags, PrClipID clipData); -typedef csSDK_int32 (*plugGetWorkAreaFunc)(PrTimelineID timelineData, csSDK_int32 *workAreaStart, csSDK_int32 *workAreaEnd); -typedef void (*plugGetCurrentTimebaseFunc)(PrTimelineID timelineData, csSDK_uint32 *scale, csSDK_int32 *sampleSize); -typedef csSDK_int32 (*plugGetCurrentPosFunc)(PrTimelineID timelineData); -typedef csSDK_int32 (*plugGetPreviewFrameExFunc)(PrTimelineID inTimelineData, csSDK_int32 inFrame, - PPixHand* outRenderedFrame, - const prRect* inFrameRect, - PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - bool inAlwaysRender); -typedef csSDK_int32 (*plugGetClipVideoBoundsFunc)(PrClipID inClipData, - prRect *outBounds, - csSDK_uint32 *outPixelAspectRatioNumerator, - csSDK_uint32 *outPixelAspectRatioDenominator); -typedef csSDK_int32 (*plugGetClipVideoExFunc)(csSDK_int32 inFrame, - PPixHand* outRenderedFrame, - const prRect* inFrameRect, - const PrPixelFormat* inRequestedPixelFormatArray, - csSDK_int32 inRequestedPixelFormatArrayCount, - csSDK_uint32 inPixelAspectRatioNumerator, - csSDK_uint32 inPixelAspectRatioDenominator, - PrClipID inClipData); - -typedef struct -{ - void* unused2; - void* unused3; - plugGetClipVideoFunc getClipVideo; - void* unused1; // Not Supported - void* unused8; - void* unused9; - void* unused10; - plugGetWorkAreaFunc getWorkArea; - void* unused7; - void* unused4; - plugGetCurrentTimebaseFunc getCurrentTimebase; - plugGetCurrentPosFunc getCurrentPos; - void* unused5; - void* unused6; - plugGetPreviewFrameExFunc getPreviewFrameEx; - plugGetClipVideoBoundsFunc getClipVideoBounds; - plugGetClipVideoExFunc getClipVideoEx; -} PlugTimelineFuncs, *PlugTimelineFuncsPtr; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLUGTIMELINE_H */ - -/** -************************ Notes for Version 7 ************************* -** -** Implementation of these callbacks have changed in version 7. It is no -** longer acceptable to pass NULL as the timelineData Handle to any of these -** functions. All calls MUST pass the timelineData Handle that was passed -** to the plugin. All calls with NULL passed as the timelineData will return -** errors and invalid data. -** -** If a particular plugin type does not have a timelineData value available to -** them (e.g. Importers), then the timeline suite is unusable by them. -** -** The functions that have been deprecated and are not supported are: -** -** getClipAudioSecond -** getCurrentClipPos -** invalCutList -** -********************************************************************** -*/ - - -/* -FUNCTION -getVideoSegment -DESCRIPTION -This function constructs the segment information tree that corresponds -to the specified timeline position and data. -PARAMETERS -frame: The position of the frame reltive to the start of the - edited/executed section of the timeline. - Zero represents the start of the section that is currently - being edited/executed. Once you get the first segment - at frame zero, inside the segment the inListPos tells - the real position of the editing operation. -timelineData: A handle to the privately-defined timeline data, - as provided in the EffectRecord, VideoRecord, compDoCompileInfo - and playMod newList and Open recs. -RETURN VALUE -A pointer to the newly created segment information, or NULL if -an error occured (or if the value of "frame" is invalid). -NOTE -Don't forget to destroy the segment with the "disposeSegment" -function when finished, or else there will be memory leaks. - -FUNCTION -disposeSegment -DESCRIPTION -This function frees up a segment tree that was allocated during a call -to the "getVideoSegment" callback -PARAMETERS -segment: A pointer to the segment. -RETURN VALUE -None - -FUNCTION -getClipVideo -DESCRIPTION -This function gets the video frame data associated with a specific -clip. That clip is part of a segment tree that is either generated -by a call to getVideoSegment, or passed to the playback module through -the standard "playmod_ListAddRTVideoSegment" call. -PARAMETERS -frame: The frame number of the image to get, relative to the start and - timebase of the file -thePort: A pointer to an allocated PPixHand image. -bounds: The bounding rectangle of the image -flags: GetVideo flags: (ex.: gv24Bit, gv32Bit, etc....) -clipData: The handle that can be found in the "clipData" field of - the "prtFileRec" structure in the segment tree. -RETURN VALUE: -0 if successful, -1 if an error occured - -FUNCTION -getClipAudioSecond -DESCRIPTION -Not supported in version 7 -RETURN VALUE: --1 - -FUNCTION -getFirstMarker -DESCRIPTION -This function returns the first timeline (by time value) marker or kInvalidMarkerRef if there are none. prtMarkerRef is opaque, -use the accesors to access it -PARAMETERS -none -RETURN VALUE: -0 if there are no markers, markerRef is successful - -FUNCTION -getNextMarker -DESCRIPTION -This function returns the next timeline (by time value) marker or kInvalidMarkerRef if there are no more. prtMarkerRef is opaque, -use the accesors to access it -PARAMETERS -prev: The marker returned by either getFirstMarker or the last call to get next marker -RETURN VALUE: -0 if there are no markers, markerRef is successful - -FUNCTION -getMarkerData -DESCRIPTION -This function returns a member of an opaque markerRef. -PARAMETERS -marker: the marker you want data from -prtMarkerDataType: the data type you want, see prSDKRealTime.h -data: a pointer to a long that will return the data -RETURN VALUE: - -FUNCTION -getWorkArea -DESCRIPTION -This function returns the start and end of the current timeline work area -PARAMETERS -Handle timelineData: timeline data handle. -workAreaStart: a pointer to a long that will receive the starting frame number of the timeline work area -workAreaEnd: a pointer to a long that will receive the ending frame number of the work area (exclusive) -RETURN VALUE: -0 if successful - -FUNCTION -invalRTRanges -DESCRIPTION -This function invalidate the current RT ranges. A new round of playmod_GetPlayableRTRange calls will -be sent to the playmod so that the RT ranges can be refreshed on the timeline UI. -NOTE: If you call this function from a playback module, be prepared to be called recursively, -since some invalidations will generate immediate RT ranges updates to be query from the playmod. -This callback should be used only by playmods using the RT interface (playmod_ListAddRTVideoSegment), -or compilers with the same class as RT play modules. -PARAMETERS -Handle timelineData: timeline data handle. -invalStart: first frame of the range to invalidate -invalEnd: last frame of the range to invalidate (exclusive) - Pass -1 to invalidate the whole timeline -RETURN VALUE: -none - -FUNCTION -getCurrentTimebase -DESCRIPTION -Retrieves the current timebase of the timeline (scale + sampleSize) -PARAMETERS -Handle timelineData: timeline data handle. -long *scale: a pointer to the variable that will receive the timebase scale -long *sampleSize: a pointer to the var that will receive the sample size -RETURN VALUE: -none - -FUNCTION -getCurrentPos -DESCRIPTION -Retrieves the current position of the timeline (the position bar set by the user) -PARAMETERS -Handle timelineData: (unused) timeline data handle. For future expansion only. -RETURN VALUE: -the current frame position, specified in the timebase returned by getCurrentTimebase. -If -1 is returned, it means that no current position is set a the present, and the position -bar is invisible. - -FUNCTION -getPreviewFrame -Gets a fully rendered frame from the timeline (all layers). Used for preview purposes only -(not to be used by compilers that are rendering final movies) -PARAMETERS -Handle timelineData: timeline data handle. -long frame: The frame to get, specified in the current timebase. -PPixHand thePort: the destination buffer. Has to be allocated prior to this call by the plug-in, - using the PPix callbacks suite. Also needs to be freed by the caller when done. -long reserved: unused -RETURN VALUE: -0: success rendering the frame, the resulting image is put in "thePort" parameter -negative value: an error has occured - -FUNCTION -getCurrentClipPos -DESCRIPTION -Not supported in version 7 -RETURN VALUE: --1 - -*/ - - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugUtilities.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugUtilities.h deleted file mode 100755 index e0f9bd8..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugUtilities.h +++ /dev/null @@ -1,112 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000-05 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/* Adobe Premiere Utility Callback definitions */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - -#ifndef PRSDKPLUGUTILITIES_H -#define PRSDKPLUGUTILITIES_H - -#pragma once - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#include "SPBasic.h" - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// timebase struct for getFileTimebase -typedef struct { - csSDK_int32 duration; - csSDK_int32 scale; - csSDK_int32 sampleSize; -} prTimebaseRec; - - -// file spec for getFileVideo, getFileAudioSecond and getFileTimebase -typedef struct { - int volID; // used on Mac only - int parID; // used on Mac only - char name[256]; // file name on Mac, full path elsewhere -} prFileSpec; - -// utility functions for plugins - -typedef intptr_t (*plugGetSettingsFunc)(csSDK_uint32 settingsSelector); -typedef void (*plugGetSerialNumberFunc)(char *result); // buffer must be at least 40 bytes long -typedef csSDK_int32 (*plugGetFileTimebaseFunc)(prFileSpec *filespec, csSDK_int32 audioOnly, prTimebaseRec *result); -typedef csSDK_int32 (*plugGetFileVideoFunc)(prFileSpec *filespec, csSDK_int32 frame, PPixHand thePort, prRect *bounds, csSDK_int32 flags); -typedef csSDK_int32 (*plugGetFileAudioSecondFunc)(prFileSpec *filespec, csSDK_int32 num, char *buffer, short flags, csSDK_int32 audrate, short speed); -typedef csSDK_int32 (*plugGetFileVideoBoundsFunc)(prFileSpec *filespec, prRect *bounds); -typedef SPBasicSuite* (*plugGetSPBasicSuiteFunc)(); -typedef csSDK_int32 (*plugGetFileExtStringFunc)(csSDK_uint32 fileTypes, char *inBuffer, csSDK_uint32 inBufferSize); - -#ifdef PRWIN_ENV -typedef HINSTANCE prResFile; -#elif defined(PRMAC_ENV) -typedef CFBundleRef prResFile; -#endif - -typedef prResFile (*plugGetPlugInResFileFunc)(void); - -typedef struct -{ - plugGetSettingsFunc getSettings; - plugGetSerialNumberFunc getSerialNumber; - plugGetFileTimebaseFunc getFileTimebase; - plugGetFileVideoFunc getFileVideo; - plugGetFileAudioSecondFunc getFileAudioSecond; - plugGetPlugInResFileFunc getPlugInResFile; - plugGetFileVideoBoundsFunc getFileVideoBounds; - plugGetSPBasicSuiteFunc getSPBasicSuite; - plugGetFileExtStringFunc getFileExtString; -} PlugUtilFuncs, *PlugUtilFuncsPtr; - - -// selectors for getSettings - -#define kSettingsCapDrive 3 -#define kSettingsTempVideo 4 -#define kSettingsTempAudio 5 -#define kSettingsProjectDrive 17 -#define kSettingsAudioCapDrive 29 -#define kSettingsProjectPath 30 - -// file 'class' constants for getFileExtString callback -const csSDK_uint32 kFileTypes_Still = 1; -const csSDK_uint32 kFileTypes_AudioOnly = 2; -const csSDK_uint32 kFileTypes_AudioVideo = 3; -const csSDK_uint32 kFileTypes_AllNoIntrinsics = 4; // All importable media types, via importers; no ppj/prproj - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKPLUGUTILITIES_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKPlugWindow.h b/Syphon-Transmit/Adobe/Headers/PrSDKPlugWindow.h deleted file mode 100755 index 58684fb..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKPlugWindow.h +++ /dev/null @@ -1,48 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere 6.0 SDK. - - -#ifndef PRSDKPLUGWINDOW_H -#define PRSDKPLUGWINDOW_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#pragma pack(push, 1) - -// window functions - -typedef void (*plugUpdateAllWindowsFunc)(void); -typedef void* (*plugGetMainWindFunc)(void); - - -typedef struct -{ - plugUpdateAllWindowsFunc updateAllWindows; - plugGetMainWindFunc getMainWnd; -} PlugWindowFuncs, *PlugWindowFuncsPtr; - -#pragma pack(pop) - -#endif /* PRSDKPLUGWINDOW_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKQuality.h b/Syphon-Transmit/Adobe/Headers/PrSDKQuality.h deleted file mode 100755 index 8941410..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKQuality.h +++ /dev/null @@ -1,67 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKQUALITY_H -#define PRSDKQUALITY_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -/** -** Render qualities -*/ -typedef enum -{ - kPrRenderQuality_Max = 4, - kPrRenderQuality_High = 3, - kPrRenderQuality_Medium = 2, - kPrRenderQuality_Low = 1, - kPrRenderQuality_Draft = 0, - kPrRenderQuality_ForceEnumSize = kPrForceEnumToIntValue -} PrRenderQuality; - -/** -** Playback qualities -*/ -typedef enum { - kPrPlaybackQuality_Invalid = 4, - kPrPlaybackQuality_High = 3, - kPrPlaybackQuality_Draft = 2, - kPrPlaybackQuality_Auto = 1, - kPrPlaybackQuality_ForceEnumSize = kPrForceEnumToIntValue -} PrPlaybackQuality; - -/** -** Playback Fractional Resolutions -*/ -typedef enum { - kPrPlaybackFractionalResolution_Invalid = 6, - kPrPlaybackFractionalResolution_Sixteenth = 5, - kPrPlaybackFractionalResolution_Eighth = 4, - kPrPlaybackFractionalResolution_Quarter = 3, - kPrPlaybackFractionalResolution_Half = 2, - kPrPlaybackFractionalResolution_Full = 1, - kPrPlaybackFractionalResolution_ForceEnumSize = kPrForceEnumToIntValue -} PrPlaybackFractionalResolution; - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKRecordModule.h b/Syphon-Transmit/Adobe/Headers/PrSDKRecordModule.h deleted file mode 100755 index f67927f..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKRecordModule.h +++ /dev/null @@ -1,834 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -// This header is part of the public Premiere Pro SDK. - - - -//=================================================================== -// -// -// PrSDKRecordModule.h -// -// This header will be used by all recorder plug-ins. -// -//=================================================================== - -#ifndef PRSDKRECORDMODULE_H -#define PRSDKRECORDMODULE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKCLASSDATA_H -#include "PrSDKClassData.h" -#endif - -#ifndef PRSDKPLUGMEMORY_H -#include "PrSDKPlugMemory.h" -#endif - -#ifndef PRSDKPLUGSUITES_H -#include "PrSDKPlugSuites.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKSTRUCTS_H -#include "PrSDKStructs.h" -#endif - -#ifndef PRSDKAUDIOSUITE_H -#include "PrSDKAudioSuite.h" -#endif - -#ifndef PRSDKENTRY_H -#include "PrSDKEntry.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -/**************************************************************** -** Version -*/ -#define RECMOD_VERSION_1 1 // 5.0 -#define RECMOD_VERSION_2 2 // 5.0.1 -#define RECMOD_VERSION_3 3 // 6.0 -#define RECMOD_VERSION_4 4 // 7.0/Premiere Pro 1.0 -#define RECMOD_VERSION_5 5 // Premiere Pro 1.5 -#define RECMOD_VERSION_6 6 // Premiere Pro 2.0 -#define RECMOD_VERSION_7 7 // CS3 -#define RECMOD_VERSION_8 8 // Premiere Elements 3.0 added Stop motion -#define RECMOD_VERSION_9 9 // CS4 -#define RECMOD_VERSION_10 10 // CS5 -#define RECMOD_VERSION_11 11 // CS5.5 -#define RECMOD_VERSION_12 12 // CS6 -#define RECMOD_VERSION RECMOD_VERSION_12 - - -/**************************************************************** -** Error Definitions -*/ -enum prRecordmodError -{ - rmNoErr = 0, - rmUnsupported = 1, // unsupported entry selector - rmAudioRecordError = 2, // general audio recording error - rmVideoRecordError = 3, // general video recording error - rmVideoDataError = 4, // data rate too high to record (return this if too many frames get dropped) - rmDriverError = 5, // general driver error - rmMemoryError = 6, // memory error occurred - rmDiskFullError = 7, // disk full when recording - rmDriverNotFound = 8, // can't connect to capture driver - rmStatusCaptureDone = 9, // returned from recmod_StartRecord if cap module completes recording and no error occured - rmCaptureLimitReached = 10, // returned from recmod_ServiceRecord if the cap module is limiting capture timing itself and has hit the recordlimit time. - rmBadFormatIndex = 11, // Invalid format index - used to stop rmGetIndAudFormat queries - rmFormatAccept = 12, // The output format is valid - rmFormatDecline = 13, // The module cannot capture to this format - rmPrerollAbort = 14, // the preroll function aborted. - rmUserAbort = 15, // error returned from recmodStartRecord if cap completes and user aborted. - rmFileSizeLimit = 16, // error returned from recmod_ServiceRecord if file size limit was reached - rmFramesDropped = 17, // error returned from dropped frames - rmDeviceRemoved = 18, // The capture device was removed during capture (capture was successful until the device was removed) - rmDeviceNotFound = 19, // The capture device is not available - rmCapturedNoFrames = 20, // Captured zero frames - rmEndOfScene = 21, // If detecting scenes, and record module senses the end of a scene - rmNoFrameTimeout = 22, // Haven't seen any frames in a while, maybe the tape stopped or hit blank part of tape? - rmCantDetectScenesError = 23, // Returned if the record module can't find the information it needs to properly judge scene bounds - rmCantFindRecordInPoint = 24, // Returned if capturing in to out and the recorder can't find the in point timecode - rmLastErrorSet = 25, // The plugin set the last error string for UI display using the SuitePea ErrorSuite. - rmLastWarningSet = 26, // The plugin set the last warning string for UI display using the SuitePea ErrorSuite. - rmLastInfoSet = 27, // The plugin set the last info string for UI display using the SuitePea ErrorSuite. - rmIllegalAudioFormatChange = 28, // The audio format changed during capture, and the plugin says that's bad. Plugin should save what was captured to that point. - rmRequiresCustomPrefsError = 29, // New in CS3, no capture prefs found, need to generate custom prefs - rmBadFile = -1, - - rmIsCacheable = 400 // Returned from recmod_startup, non-zero if the plugin can be lazy-inited, - // zero if the plugin must be loaded from disk on startup -}; - - -/**************************************************************** -** Enumerations -*/ -enum -{ - PR60RECMODAPI = 6 // Premiere 6 Recmod for better user experience -}; - -// Audio format support -enum -{ - aud8Mono = 0x000000001, - aud8Stereo = 0x000000002, - aud16Mono = 0x000000004, - aud16Stereo = 0x000000008, - audAllFormats = (aud8Mono | aud8Stereo | aud16Mono | aud16Stereo), - audBadFormat = 0xffffffff -}; - -const csSDK_int32 audUncompressed = 'RAW '; - -const csSDK_int32 kRecMaxSetups = 4; -const csSDK_int32 kRecMaxConnectedDevices = 10; - -/* NEW in 7.0. The scene searching algorithm happens in two passes. - The first pass is at a play fast forward. In this mode, the plugin - is expected to pass back a valid range of timecodes the scene break - may occur. After premiere gets a good range, it will call stopSceneSearch - and start a new slowScan scene search in the opposite direction. The - plugin is expected to report back the 2 timecodes that lie on either edge - of the scene break. -*/ -enum -{ - sceneSearch_FastScan, - sceneSearch_SlowScan -}; - -enum -{ - kMALFieldsNone = 0, // Full frame - kMALFieldsUpperFirst = 1, // topmost line is dominant - kMALFieldsLowerFirst = 2, // topmost+1 line is dominant - kMALFieldsUnknown = 3, // has fields, unknown dominance - kMALFieldsInvalid = 4, // unknown if fields, thus invalid - - kMALFields_Size = kPrForceEnumToIntValue -}; - -// capture info, passed in recmod_QueryInfo -// since record module may not be able to determine all of its current settings, -// there are "kMALInvalid" values for each field. -const csSDK_int32 kMALInvalidCompressorType = 'XxXx'; -const csSDK_int32 kMALInvalidSize = 0; -const csSDK_int32 kMALInvalidDepth = 0; -const csSDK_int32 kMALInvalidPixelAspectRatio = 0x7FFF0001; -const csSDK_int32 kMALInvalidQuality = -1; -const csSDK_int32 kMALInvalidFieldType = kMALFieldsInvalid; -const csSDK_int32 kMALInvalidRate = 0; -const csSDK_int32 kMALInvalidAudFormat = -1; - -const csSDK_int32 kRecCapInfoRecVersion = 1; - - -/**************************************************************** -** Callback Functions -*/ - -// Status function -// The module should call this function while capturing to return status. -// If the module controls the capture, not returning from a recmodStartRecord -// call until capture is complete, it can determine if capturing should be -// aborted by checking the return value from this function; The host returns TRUE -// if capture should be halted. -typedef int (*StatusDispFunc)(void* callbackID, char *stattext, int framenum); - -// Preroll function for capturing with device control -// This function MUST be called just before beginning a capture. -// Host returns a prDevicemodError to inform why the preroll failed -// recmodID is the value passed in recCapParmsRec -typedef csSDK_int32 (*PrerollFunc)(void* callbackID); - -// Obsolete in favor of SceneCapturedFunc (defined below) -// Callback to return the scene detected by the record module -// The 'inSceneEdgeTimecode' parameter marks the timecode of the scene edge, if it can be determined exactly. -// If it cannot, it marks the approximated timecode of the edge, and the 'inEarliestSceneEdgeTimecode' and -// 'inGreatestSceneEdgeTimecode' parameters mark the earliest and latest possible timecodes that the scene -// would fall in between. If the scene transition can be determined exactly, all three return parameters -// will be set to the same value. -typedef void (*ReportSceneFunc)(void* callbackID, - csSDK_uint32 inSceneEdgeTimecode, - csSDK_uint32 inEarliestSceneEdgeTimecode, - csSDK_uint32 inGreatestSceneEdgeTimecode); - - -// NEW in 7.0 -// Callback to return the format of the media stream by the record module so that the -// UI may display the correct aspect ratio. -typedef void (*FormatChangedFunc)(void* callbackID, - unsigned int inPixelAspectRatioNum, - unsigned int inPixelAspectRatioDen, - unsigned int inMaxFrameWidth, - unsigned int inMaxFrameHeight, - TDB_TimeRecord inFramerate, - int isDropFrame); - -typedef void (*GetDeviceTimecodeFunc)( void* inCallbackID, - csSDK_uint32 *outTimecode, - TDB_TimeRecord *outFrameRate, - int *outIsDropFrame); - -typedef struct { - float shortAmplitude; // current volume value at the time of calling - float longAmplitude; // averaged peak volume value since the last call - bool hasClipped; // has clipping occurred since the last status call? -} AudioPeakChannelData; - -const csSDK_uint32 kRecMaxAudioPeakData = 16; - -typedef struct { - csSDK_uint32 numOfUsedChannels; // indicates how many channels are in use - AudioPeakChannelData data[kRecMaxAudioPeakData]; // supports up to 16 channels -} recAudioPeakData; - -// -// NEW in CS5 -// Callback used to return audio metering data to the host. -// The shortAmplitude is the current (instant) audio level -// -typedef void (*AudioPeakDataFunc)(void* callbackID, - recAudioPeakData* inAudioPeakData); - -// Audio settings record used by the audio recording services: - -typedef struct { - csSDK_int32 capAudRate; // 0:11 khz, 1:22 khz, 2:44 khz - short capAudStereo; // 0:mono, 1:stereo - short capAud16; // 0:8 bit samples, 1:16 bit samples - char AudCompRec[512]; // compressed audio record (WAVEFORMATEX) -} AudioRec; - -// Utility functions passed in with the Standard Parms -typedef struct -{ - ClassDataFuncsPtr classFuncs; // class functions - PlugMemoryFuncsPtr memoryFuncs; // memory functions -} recCallbackFuncs; - -// Standard parms -typedef struct -{ - int rmInterfaceVer; // version # of record interface (RECMOD_VERSION) - recCallbackFuncs *funcs; - piSuitesPtr piSuites; -} rmStdParms; - - -/**************************************************************** -** Structures -*/ - -// struct for setup item info -typedef struct -{ - char name[256]; -} recSetupItem; - -// struct for setup item info -typedef struct -{ - prUTF16Char name[256]; -} recSetupItem8; - -// struct filled in by recmod_Startup message -// These are the capabilities/info for the record module -typedef struct -{ - csSDK_int32 recmodID; // Runtime ID for the module - don't change this! - csSDK_int32 fileType; // The file type (AVI, MOOV etc) - // On windows, how is this matched up to extensions? - csSDK_int32 classID; // The classID for the module - // This is no longer used for identification in Pro 2.0. However, if you - // want pre-2.0 projects to map to this recorder, fill in the classID that - // was used in the older projects and Premiere will update the projects - // accordingly - // different plugin types (i.e. play and record modules). - int canVideoCap; // can capture video - int canAudioCap; // can capture audio (*and* audio is available!) - int canStepCap; // can capture async frames to a file on command - int canStillCap; // can capture a still and return as a buffer - int canRecordLimit; // accepts recording time limits - int acceptsTimebase; // can capture to an arbitrary timebase - int acceptsBounds; // can capture to an arbitrary size - int multipleFiles; // may capture to multiple files or external drives - int canSeparateVidAud; // can capture video & audio to different system drives - int canPreview; // can display continuous preview frames - int wantsEvents; // capture module wants to process messages - int wantsMenuInactivate; // capture module wants to an inactivation when a menu goes down - int acceptsAudioSettings; // can accept audio settings from the host. If this is false, record module does its own settings. - int canCountFrames; // can count frames and quit when count is reached - int canAbortDropped; // can abort when frames are dropped - int requestedAPIVersion; // expected API version (allows for improved user experience) - int canGetTimecode; // can get timecode from the capture stream - int reserved[16]; // reserved capabilities - // capture bounds limits; ignored if acceptsBounds != true - int activeDuringSetup; // don't deactivate the record module when before a recmodSetup selector. - csSDK_int32 prefTimescale; // preferred timebase to capture to (if acceptsTimebase was true) - csSDK_int32 prefSamplesize; // preferred dividend of timebase (if acceptsTimebase was true) - csSDK_int32 minWidth; // Minimum width (set min = max to allow only one size) - csSDK_int32 minHeight; // Mininum height - csSDK_int32 maxWidth; // Maximum width - csSDK_int32 maxHeight; // Maximum height - int prefAspect; // 16.16: pixel aspect ratio of source video (e.g., 648.720) - csSDK_int32 prefPreviewWidth; // onscreen width we prefer to display at - csSDK_int32 prefPreviewHeight; // onscreen width we prefer to display at - char recmodName[256]; // The displayable name for this module - csSDK_int32 audioOnlyFileType; // file type to create for audio-only captures. If 0, then type will be same as video type - int canSearchScenes; // NEW in 7.0. Record module can detect a scene transition for searching purposes. - int canCaptureScenes; // NEW in 7.0. Record module can return a value when it has hit the end of a scene. - prPluginID outRecorderID; // NEW in Pro 2.0. A GUID identifier is now required for all recorders. -} recInfoRec, *recInfoPtr; - -// struct filled in by recmod_Startup8 message (Unicode) -// These are the capabilities/info for the record module -typedef struct -{ - csSDK_int32 recmodID; // Runtime ID for the module - don't change this! - csSDK_int32 fileType; // The file type (AVI, MOOV etc) - // On windows, how is this matched up to extensions? - csSDK_int32 classID; // The classID for the module - // This is no longer used for identification in Pro 2.0. However, if you - // want pre-2.0 projects to map to this recorder, fill in the classID that - // was used in the older projects and Premiere will update the projects - // accordingly - // different plugin types (i.e. play and record modules). - int canVideoCap; // can capture video - int canAudioCap; // can capture audio (*and* audio is available!) - int canStepCap; // can capture async frames to a file on command - int canStillCap; // can capture a still - int canRecordLimit; // accepts recording time limits - int acceptsTimebase; // can capture to an arbitrary timebase - int acceptsBounds; // can capture to an arbitrary size - int multipleFiles; // may capture to multiple files or external drives - int canSeparateVidAud; // can capture video & audio to different system drives - int canPreview; // can display continuous preview frames - int wantsEvents; // capture module wants to process messages - int wantsMenuInactivate; // capture module wants to an inactivation when a menu goes down - int acceptsAudioSettings; // can accept audio settings from the host. If this is false, record module does its own settings. - int canCountFrames; // can count frames and quit when count is reached - int canAbortDropped; // can abort when frames are dropped - int requestedAPIVersion; // expected API version (allows for improved user experience) - int canGetTimecode; // can get timecode from the capture stream - int reserved[16]; // reserved capabilities - // capture bounds limits; ignored if acceptsBounds != true - int activeDuringSetup; // don't deactivate the record module when before a recmodSetup selector. - csSDK_int32 prefTimescale; // preferred timebase to capture to (if acceptsTimebase was true) - csSDK_int32 prefSamplesize; // preferred dividend of timebase (if acceptsTimebase was true) - csSDK_int32 minWidth; // Minimum width (set min = max to allow only one size) - csSDK_int32 minHeight; // Mininum height - csSDK_int32 maxWidth; // Maximum width - csSDK_int32 maxHeight; // Maximum height - int prefAspect; // 16.16: pixel aspect ratio of source video (e.g., 648.720) - csSDK_int32 prefPreviewWidth; // onscreen width we prefer to display at - csSDK_int32 prefPreviewHeight; // onscreen width we prefer to display at - prUTF16Char recmodName[256]; // The displayable name for this module - csSDK_int32 audioOnlyFileType; // file type to create for audio-only captures. If 0, then type will be same as video type - int canSearchScenes; // NEW in 7.0. Record module can detect a scene transition for searching purposes. - int canCaptureScenes; // NEW in 7.0. Record module can return a value when it has hit the end of a scene. - prPluginID outRecorderID; // NEW in Pro 2.0. A GUID identifier is now required for all recorders. -} recInfoRec8, *recInfo8Ptr; - -typedef struct -{ - int customSetups; // number of custom setup items ( < kRecMaxSetups) - csSDK_int32 enableflags; // flags for which setups are available (flag = 1 << setupnum) - recSetupItem setups[kRecMaxSetups]; -} recCapSetups; - -typedef struct -{ - int customSetups; // number of custom setup items ( < kRecMaxSetups) - csSDK_int32 enableflags; // flags for which setups are available (flag = 1 << setupnum) - recSetupItem8 setups[kRecMaxSetups]; -} recCapSetups8; - -// audio format support -// Structure for the audio formats an audio compressor supports -// ie 16bit mono @ 44100 -typedef struct -{ - int audioDepths; // audio format support bit field (use audio format support #defines) - csSDK_int32 audioRate; // Audio rates the compressor supports -} recAudioFormat, *recAudioFormatPtr; - -typedef struct -{ - csSDK_int32 recmodID; // ID for the module - don't change this! - csSDK_int32 subtype; // File subtype supported. Generally a compressionID, but not always. - // subtype==compUncompressed is a special case for "no compression" - // subtype==compBadFormat is an invalid format - char name[256]; // The displayable name for this subtype - recAudioFormatPtr audioFormats; // A ptr to a list of audio formats that the compressor supports - // if this param is nil, it supports any rates and bits -} recAudioInfoRec; - -typedef struct -{ - PrAudioSampleType sampleType; //A bit depth from the AudioBitDepth enum. - float sampleRate; //A sample rate in Hz. Use 0 for any sample rate. - PrAudioChannelType channelType; //A channel type from the AudioChannelType enum. -} recAudioFormat7, *recAudioFormat7Ptr; - -typedef struct -{ - csSDK_int32 recmodID; // ID for the module - don't change this! - csSDK_int32 subtype; // File subtype supported. Generally this will be a compressionID, - // but not always. - // subtype==compUncompressed is a special case for "no compression" - // subtype==compBadFormat is an invalid format - - char name[256]; // The displayable name for this subtype - - csSDK_int32 numFormats; // The number of formats in audioFormats - - recAudioFormat7Ptr audioFormats; // A ptr to a list of audio formats that the compressor supports - // if this param is nil, it supports any rates and bits -} recAudioInfoRec7; - -// struct that describes playback position on screen -typedef struct -{ - prWnd wind; // window/embedded view to display into (HWND on PC, NSView* on Mac) - int originTop; // offset in pixels from top of window to display to - int originLeft; // offset in pixels from top of window to display to - int dispWidth; // width of display area - int dispHeight; // height of display area - int mustresize; // the display must fit into these bounds; see note in recmod_SetDisp -} recDisplayPos; - -// recmod_Open struct -typedef struct -{ - recDisplayPos disp; // the display area - void* callbackID; // instance of this open recording session. Used for callback functions - char *setup; // private record module settings from previous session (or nil if none) - FormatChangedFunc formatFunc; // NEW for 7.0 callback to inform Premiere of our aspect ratio. - short isDropFrame; // NEW for Pro 2.0: The current segment of tape timecode is drop frame encoded - AudioPeakDataFunc audioPeakDataFunc; // NEW for CS5: Callback function to send audio metering data to the host. -} recOpenParms; - -// recmod_StartRecord struct -typedef struct -{ - unsigned int pixelAspectRatioNum; // The numerator part of the pixel aspect ratio of the captured file - unsigned int pixelAspectRatioDen; // The denominator part of the pixel aspect ratio of the captured file - char timeCode[31]; // The timecode of the the captured file, uses ; as separaters if drop frame, : of non-drop - TDB_TimeRecord tdb; // NEW in 7.0. The timebase of the captured file - char date[31]; // NEW in PRE 7.0 (2007-2008) The date of the the captured file, format "d/m/y" or "d/m/y h:m" or "d/m/y h:m:s" -} recCapturedFileInfo; - -// file spec for open -typedef struct -{ - short volID; // used on Mac only - csSDK_int32 parID; // used on Mac only - char name[256]; // file name on Mac, full path elsewhere -} recFileSpec; - -typedef struct -{ - short volID; // used on Mac only - csSDK_int32 parID; // used on Mac only - prUTF16Char name[kPrMaxPath]; // file name on Mac, full path elsewhere -} recFileSpec8; - -typedef struct -{ - prParentWnd parentwind; // (modal) parent window to build the setup window on (HWND on Win, NSWindow* on Mac) - int setupnum; - char *setup; -} recSetupParms; - -//TODO: Yogita: These standards are defined at various places in the code and should be ideally at one location -enum recFrameRate -{ - kRecUnknownStandard = 0, - kRecNTSCStandard = 1, - kRecPALStandard = 2, - kHD720p24 = 3, - kHD720p23976 = 4, - kHD720p2997 = 5, - kHD1920x1080_2997 = 6 -}; - -typedef struct -{ - recFrameRate frameRate; -}recVideoStandard; - -// Callback to notify Premiere that a scene has been captured. -// Premiere returns the recFileSpec to designate a filename for the next scene to -// capture and reserves memory for and returns recCapturedFileInfo for the next capture. -typedef void (*SceneCapturedFunc8)( void* inCallbackID, - prUTF16Char *inFileCaptured, - recFileSpec8 *outNextSceneFilename, - recCapturedFileInfo **outFileInfo); - -// Obsolete. Use SceneCapturedFunc8 -typedef void (*SceneCapturedFunc)(void* inCallbackID, - char *inFileCaptured, - recFileSpec *outNextSceneFilename, - recCapturedFileInfo **outFileInfo); - - -// capture params, passed in recmod_PrepRecord -typedef struct -{ - void* callbackID; // must be passed back with statFunc, prerollFunc callbacks - int stepcapture; // capture is a step capture (0 = streaming capture) - int capVideo; // capture video - int capAudio; // capture audio - int width; // width to capture (if acceptsBounds was true) - int height; // height to capture (ditto) - // timebase: timescale/samplesize == fps, e.g 2997/100 - csSDK_int32 timescale; // timebase to capture to (if acceptsTimebase was true) - csSDK_int32 samplesize; // dividend of timebase (if acceptsTimebase was true) - csSDK_int32 audSubtype; // compressed audio format to capture (or audUncompressed) - csSDK_uint32 audrate; // The audio rate in samples per second. - int audsamplesize; // The audio samplesize, 0 == 8bit, 1 == 16bit - int stereo; // If 1, audio is stereo, othewise it's mono - char *setup; // pointer to setup storage created by setup calls - int abortondrops; // stop capturing if any frames get dropped - int recordlimit; // recording limit in seconds (if canRecordLimit was true) - recFileSpec8 thefile; // file to capture to (valid on recmod_PrepRecord only) - StatusDispFunc statFunc; // function pointer used to return capture status (streaming only) - PrerollFunc prerollFunc; // function to call _just_ before capture begins; used for device control preroll (streaming only) - csSDK_int32 frameCount; // Version 2 only! - if module sets canCountFrames, frameCount is # of frames to capture and no device polling is done - char reportDrops; // Version 2 only! - If true, report dropped frames - short currate; // Version 2 only! - the fps of the deck, 30, 25, or 24 - short timeFormat; // Version 3 only - 0=non-drop frame, 1=drop frame timecode - csSDK_int32 timeCode; // Version 3 only - timecode for in-point of capture (-1=ignore) - csSDK_int32 inHandleAmount; // Version 3 only - # frames of "handle" before in-point of capture - ReportSceneFunc reportSceneFunc; // NEW in 7.0. Use this to report the scenes - int captureScenes; // NEW in 7.0. True if user requests capture of scene. - SceneCapturedFunc8 sceneCapturedFunc; // NEW in 7.5. Use this to report scene captured - bool recordImmediate; // NEW in 7.5. If this is set, record immediately after device control returns from seek for preroll, don't wait for a timecode - GetDeviceTimecodeFunc getDeviceTimecodeFunc; // CS3. Added so the Mac could get device timecode in the HDV recorder for HDV1. -} recCapParmsRec8; - -// Obsolete. Use recCapParmsRec8 -typedef struct -{ - void* callbackID; // must be passed back with statFunc, prerollFunc callbacks - int stepcapture; // capture is a step capture (0 = streaming capture) - int capVideo; // capture video - int capAudio; // capture audio - int width; // width to capture (if acceptsBounds was true) - int height; // height to capture (ditto) - // timebase: timescale/samplesize == fps, e.g 2997/100 - csSDK_int32 timescale; // timebase to capture to (if acceptsTimebase was true) - csSDK_int32 samplesize; // dividend of timebase (if acceptsTimebase was true) - csSDK_int32 audSubtype; // compressed audio format to capture (or audUncompressed) - csSDK_uint32 audrate; // The audio rate in samples per second. - int audsamplesize; // The audio samplesize, 0 == 8bit, 1 == 16bit - int stereo; // If 1, audio is stereo, othewise it's mono - char *setup; // pointer to setup storage created by setup calls - int abortondrops; // stop capturing if any frames get dropped - int recordlimit; // recording limit in seconds (if canRecordLimit was true) - recFileSpec thefile; // file to capture to (valid on recmod_PrepRecord only) - StatusDispFunc statFunc; // function pointer used to return capture status (streaming only) - PrerollFunc prerollFunc; // function to call _just_ before capture begins; used for device control preroll (streaming only) - csSDK_int32 frameCount; // Version 2 only! - if module sets canCountFrames, frameCount is # of frames to capture and no device polling is done - char reportDrops; // Version 2 only! - If true, report dropped frames - short currate; // Version 2 only! - the fps of the deck, 30, 25, or 24 - short timeFormat; // Version 3 only - 0=non-drop frame, 1=drop frame timecode - csSDK_int32 timeCode; // Version 3 only - timecode for in-point of capture (-1=ignore) - csSDK_int32 inHandleAmount; // Version 3 only - # frames of "handle" before in-point of capture - ReportSceneFunc reportSceneFunc; // NEW in 7.0. Use this to report the scenes - int captureScenes; // NEW in 7.0. True if user requests capture of scene. - SceneCapturedFunc sceneCapturedFunc; // NEW in 7.5. Use this to report scene captured - bool recordImmediate; // NEW in 7.5. If this is set, record immediately after device control returns from seek for preroll, don't wait for a timecode -} recCapParmsRec; - -typedef struct -{ - int alphaLevel; // alpha of the image to be blended - recFileSpec8 thefile; // name of file which has to be blended. - -}recStillCapChangeParamsRec; - -typedef struct -{ - int width; // width to capture - int height; // height to capture - int depth; // returned depth, 24 or 32bpp allowed - char *pixels; // pixels captured at depth reported, buffer allocated with memfuncs - int rowbytes; // rowbytes of captured data - recFileSpec8 thefile; // file to capture to (valid on recmod_StillImageCpature only) -} recStillCapParmsRec; - - -// NEW in 7.0. Use this to implement goto next/previous scene functionality. -// Selector will only be passed down if recInfoRec's 'canDetectScenes' field is -// set to true. 'searchingForward' is provided as a hint as the state of the device, and -// the 'reportSceneFunc' should be used to notify Premiere of a scene change. -typedef struct -{ - void* callbackID; // must be passed in to the callbacks - ReportSceneFunc reportSceneFunc; // Use this to report the scenes - int searchingForward; // True if the tape is playing forward - int searchMode; // Either FastScan or SlowScan - short isDropFrame; // Version 3 only - 0=non-drop frame, 1=drop frame timecode - csSDK_int32 earliestTimecode; // Only set for SlowScan, inPoint for range to report scene edge - csSDK_int32 greatestTimecode; // Only set for SlowScan, outPoint for range to report scene edge -} recSceneDetectionParmsRec; - -typedef struct -{ - csSDK_int32 version; // version of this struct (kRecCapInfoRecVersion) - int timeScale; // timebase to capture (timeScale/sampleSize == FPS, eg. 2997/100) - int sampleSize; // dividend of timebase - csSDK_int32 vidSubType; // video compressor type - int width; // frame width to capture - int height; // frame height to capture - int depth; // # bits per pixel (8/16/24/32) - int fieldType; // type of fields (kMALFields) - int quality; // video compression quality 0-100 - csSDK_int32 pixelAspectRatio; // (16.16) pixel aspect ratio (eg. 0.9 is (9<<16) | 10) - csSDK_int32 audSubType; // audio compressor type - int audRate; // The audio rate in samples per second. - int audSampleSize; // The audio samplesize, 0 == 8bit, 1 == 16bit - int audStereo; // 0=mono, 1=stereo - int reserved[10]; - char *setup; // pointer to setup storage created by setup calls -} recCapInfoRec; - -// timecode params, passed in recmod_Idle -typedef struct -{ - csSDK_int32 status; // 0=OK, 1=unknown/stale, 2=error - short currate; // the fps of the timecode, 30, 25, or 24 - short timeFormat; // 0=non-drop frame, 1=drop frame timecode - csSDK_int32 timeCode; // current timecode - short autoDetectDropness; // set in device control, relinquishes chore of determining dropness to recorder -} recGetTimecodeRec; - -typedef struct -{ - prUTF16Char name[246]; -}recDeviceInfoRec; - -typedef struct -{ - recDeviceInfoRec devices[kRecMaxConnectedDevices]; - int deviceCount; -}recConnectedDeviceListRec; - -/**************************************************************** -** Entry Point -*/ -typedef PREMPLUGENTRY (* RecordEntryFunc)(csSDK_int32 selector, rmStdParms *stdparms, void* param1, void* param2); - - -/**************************************************************** -** Selectors -*/ -enum PrRecmodSelector { - recmod_Startup, - recmod_Shutdown, - recmod_Open, - recmod_Close, - recmod_PrepRecord, - recmod_StartRecord, - recmod_ServiceRecord, - recmod_StopRecord, - recmod_CloseRecord, - recmod_StepRecord, - recmod_StillRecord, - recmod_ShowOptions, - recmod_SetActive, - recmod_GetAudioIndFormat, - recmod_Idle, - recmod_SetDisp, - recmod_DisplayFrame, // Unused - recmod_QueryFormat, // Unused - recmod_QueryDisplayPos, // Unused - recmod_GetSetupInfo, - recmod_ProcessEvent, // Unused - recmod_QueryInfo, - recmod_GetAudioIndFormat7, // Reserved, do not use - recmod_StartSceneSearch, // NEW in 7.0 - recmod_StopSceneSearch, // NEW in 7.0 - recmod_ServiceSceneSearch, // NEW in 7.0 - recmod_Startup8, // New in PPro 2.0 - recmod_GetSetupInfo8, // New in PPro 2.0 - recmod_PrepRecord8, // New in PPro 2.0 - recmod_DeviceStatusChanged, // New in PPro 2.0 - recmod_StartStopMotionCapture, // New in Pre 3.0 - recmod_StopStopMotionCapture, // New in Pre 3.0 - recmod_ChangeStopMotionSettings, // New in Pre 3.0 - recmod_GetConnectedDeviceNames, // New in Pre 7.0 - recmod_SelectCaptureDevice, // New in Pre 7.0 - recmod_GetConnectedAudioDeviceNames,// New in Pre 7.0 - recmod_SelectAudioCaptureDevice, // New in Pre 7.0 - recmod_GetSelectedDeviceVideoStandard// New in Pre 7.0 -}; - -/* -Record Module Messages: - -Message: recmod_Startup8 - Called once at application launch. - The module should fill in the recInfoRec with it's attributes - If the plugin does not have to be loaded immediately upon application startup, - then it should return rmIsCacheable instead of rmNoErr. - param1 : recInfoRec8 * - -Message: recmod_Startup (deprecated) - Called once at application launch. - The module should fill in the recInfoRec with it's attributes - If the plugin does not have to be loaded immediately upon application startup, - then it should return rmIsCacheable instead of rmNoErr. - param1 : recInfoRec * - -Message: recmod_Shutdown - Called once at application shutdown. - -Message: recmod_GetAudioIndFormat - Called repeatedly to query for audio compressors that the module - supports. Query continues as long as rmNoErr is returned. - param1 : recAudioInfoRec * - param2 : index - -Message: recmod_Open - Called to open the record module - param1 : private module storage char ** - param2 : recOpenParms * - -Message: recmod_SetDisp - Called to modify the display position for previews - Sent if a window moves or is resized. - The module can modify the recDisplayPos record if the display position bounds - cannot be accepted. If the record is modified, the module may be called back - again with the modified bounds but at a new left/top position. - If the 'mustresize' flag is true, then the module must fit the preview within - the specified bounds; if this cannot be done, then the module should display - a black or gray frame for a preview. The 'mustresize' flag will be set to - true when the record settings dialog in Premiere is displayed. - param1 : private module storage - param2 : recDisplayPos * - -Message: recmod_ShowOptions - Called to display the customs when the user requests it. - A recSetupParms record is passed to the module, which contains - the setup number requested and a char *. The char * will be nil - if no setups have ever been requested, or will be a pointer to memory - containing the last setup used. - Notes: - - The memory must be allocated using the PlugMemoryFuncs. - - All setups share the same memory, and only one memory record - will be preserved. If there are several different setup record, - they must all be fit within one flattened memory allocation. - param1 : private module storage - param2: recSetupParms * - -Message: recmod_StartRecord - Called to tell a record module to do the capture. - There are two models for doing the capture: - 1) Do all the capture in recmod_StartRecord. The capture module can control the capture - and should return rmStatusCaptureDone when the capture is finished. - 2) Do processing during recmod_ServiceRecord. The capture module can return malNoError - on recmod_StartRecord and Premiere will continually call recmod_ServiceRecord to give - the record module time. - param1 : private module storage - param2 : ptr to recCapturedFileInfo, the capture module can fill this in with info - about the file that was captured. - For capture modules that do work on recmod_ServiceRecord, the ptr is valid until - the recording finishes (recmod_StopRecord). - -Message: recmod_QueryInfo - Called to give the recmod a chance to respond to updated settings. - param1 : private module storage - param2 : ptr to recCapInfoRec containing current settings. - -Message: recmod_GetAudioIndFormat7 (currently unused) - Called repeatedly to query for audio compressors that the module - supports. Query continues as long as rmNoErr is returned. - param1 : recAudioInfoRec7 * - param2 : index -*/ - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif // PRSDKRECORDMODULE_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKRenderCacheType.h b/Syphon-Transmit/Adobe/Headers/PrSDKRenderCacheType.h deleted file mode 100755 index 9d3a940..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKRenderCacheType.h +++ /dev/null @@ -1,47 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKRENDERCACHETYPE_H -#define PRSDKRENDERCACHETYPE_H - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -typedef csSDK_int32 PrRenderCacheType; -const PrRenderCacheType kRenderCacheType_None = 0; -const PrRenderCacheType kRenderCacheType_ImportedFrames = 1 << 0; -const PrRenderCacheType kRenderCacheType_ImportedStillFrames = 1 << 1; -const PrRenderCacheType kRenderCacheType_IntermediateFrames = 1 << 2; -const PrRenderCacheType kRenderCacheType_RenderedFrame = 1 << 3; -const PrRenderCacheType kRenderCacheType_RenderedStillFrames = 1 << 4; // Still frames with static effects - New in PPro 2.0 -const PrRenderCacheType kRenderCacheType_PersistentPrefetch = 1 << 5; -const PrRenderCacheType kRenderCacheType_AllFrames = kRenderCacheType_ImportedFrames | kRenderCacheType_ImportedStillFrames | kRenderCacheType_IntermediateFrames | kRenderCacheType_RenderedFrame | kRenderCacheType_RenderedStillFrames; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKRollCrawlSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKRollCrawlSuite.h deleted file mode 100755 index 96dd360..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKRollCrawlSuite.h +++ /dev/null @@ -1,126 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKROLLCRAWLSUITE_H -#define PRSDKROLLCRAWLSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKRollCrawlSuite "Premiere RollCrawl Suite" -#define kPrSDKRollCrawlSuiteVersion 1 - - -enum -{ - prcRoll = csSDK_uint32(0x00000000), // default - prcCrawl = csSDK_uint32(0x00000001), - prcStartOffScreen = csSDK_uint32(0x00000000), // default - start the roll off the bottom of the screen - prcStartOnScreen = csSDK_uint32(0x00000002), - prcEndOffScreen = csSDK_uint32(0x00000000), // default - end off the top of the screen - prcEndOnScreen = csSDK_uint32(0x00000004), - prcForward = csSDK_uint32(0x00000000), // default - prcReverse = csSDK_uint32(0x00000008) // ie crawl that moves left to right (ie reads right to left) -}; - -typedef struct -{ - unsigned int flags; // use above enum (roll/crawl, start/end on/off, etc etc etc) - - int length; // # of scanlines for a roll, or width in pixels for a crawl. - // Note that this is NOT necessarily a multiple of the page size. (ie last page may not be full size) - - int easeIn; // # of frames over which the roll/crawl accelerates to get up to speed - int easeOut; // # of frames to decellerate at the end - - int preRoll; // # of frames to pause the first frame for - // (note that preRoll + tiStartOffScrren doesn't make much sense, because - // you would just be holding a black frame, but oh well) - int postRoll; // # of frames to hold the last frame/page on screen (postRoll + !iEndOffScreen also a bit inconsistent) - - // [TODO] - // not yet implemented, but should be for 7.5 - some sort of fading along the top/bottom (or left/right) of a roll/crawl - // these are just place-holders for now - not yet sure what the real values will need to be (and whether - // they'll be percentages or scanlines values, etc) -/* int fadeTop; - int fadeTopWidth; - int fadeBottom; - int fadeBottomWidth;*/ -} RollCrawlInfo; - -typedef struct -{ - // For a given clip that is a roll or crawl, return information about it. See above for - // more information about the RollCrawlInfo that is returned. - prSuiteError (*GetRollCrawlClipInfo)( - PrClipID inClipData, // clipData from a prtFileRec - RollCrawlInfo* outRollCrawlInfo // filled by the host if successful. - ); - - prSuiteError (*GetRollCrawlPage)( - PrClipID inClipData, // clipData from a prtFileRec - int inPage, // page to retrieve - int inWidth, // width of pixels - int inHeight, // height - PrPixelFormat* inRequestedPixelFormatArray, // requested pixel formats. MUST include BGRA as the last element. - csSDK_int32 inRequestedPixelFormatArrayCount, // how many formats in the array. - csSDK_uint32 inPixelAspectRatioNumerator, // aspect ratio, e.g. numerator = 648, denominator = 720 - csSDK_uint32 inPixelAspectRatioDenominator, // - PPixHand* outRenderedFrame // rendered frame from host if succeeded. - // Must be disposed of using Dispose in the PPix suite. - ); - -} PrSDKRollCrawlSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif // PRSDKROLLCRAWLSUITE_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSceneMetaData.h b/Syphon-Transmit/Adobe/Headers/PrSDKSceneMetaData.h deleted file mode 100755 index 53463dd..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSceneMetaData.h +++ /dev/null @@ -1,53 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -/* - Part of the Adobe Premiere SDK. - Defines the scene meta data for attachment to movies. -*/ - -#define kSceneMetaDataFourCC 'ADsc' - -#pragma pack(push, 1) - -typedef struct -{ - csSDK_uint32 scale; // e.g. 2997 - csSDK_int32 sampleSize; // e.g. 100 -} PrSceneTimebaseRec; - -// this is one scene entry -typedef struct -{ - csSDK_int32 startTime; // in SceneTimebase samples - csSDK_int32 duration; // in SceneTimebase samples -} PrSceneRecord; - -// this is the definition of what the data in the scene -// meta data will look like: one PrSceneTimebaseRec -// followed by 'n' PrSceneRecords. -typedef struct -{ - PrSceneTimebaseRec timeBase; - PrSceneRecord scenes[1]; -} PrSceneMetaDataRec; - -#pragma pack(pop) diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKScopeRenderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKScopeRenderSuite.h deleted file mode 100755 index 5a6d4c8..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKScopeRenderSuite.h +++ /dev/null @@ -1,96 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2001 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKSCOPERENDERSUITE_H -#define PRSDKSCOPERENDERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKScopeRenderSuite "Premiere Scope Render Suite" -#define kPrSDKScopeRenderSuiteVersion 2 - -typedef float PrScopeDisplayIntensity; - -typedef enum -{ - kPrVideoDisplayType_Vectorscope, - kPrVideoDisplayType_Waveform, - kPrVideoDisplayType_RGBParade, - kPrVideoDisplayType_YUVParade, - kPrVideoDisplayType_VectWaveYParade, - kPrVideoDisplayType_VectWaveRParade, - kPrVideoDisplayType_Alpha, - kPrVideoDisplayType_All, - kPrVideoDisplayType_Off, - kPrVideoDisplayType_DirectManipulation, - kPrVideoDisplayType_Composite, // Just display composite video - kPrVideoDisplayType_AudioOnly // An audio-only clip is playing. Times should not be rounded to video frames, - // and no video display should be drawn. -} PrVideoDisplayType; - -typedef struct -{ - PrVideoDisplayType displayType; - PrScopeDisplayIntensity scopeIntensity; - prBool scopeUseSetup; - prBool scopeUseIRE; - prBool scopeShowChroma; - prBool scopeMagnify; - csSDK_int32 reserved[23]; -} PrVideoDisplayParameters; - -typedef struct -{ - prSuiteError (*RenderScope)( - prRect inFrameBounds, /* bounds (always 0,0 origin!) */ - int inRowBytes, /* rowbytes */ - char* inFrameBuffer, /* the frame pixel data */ - prFloatRect inFrameSubRect, /* normalized sub-rect of video frame used for zooming */ - PrPixelFormat inPixelFormat, /* RGBA, YUV, etc */ - const PrVideoDisplayParameters* inScopeParameters, /* Parameters for render */ - prWnd inWindow, /* Window to render into */ - prRect inDisplayBounds); /* Display video in this rect */ - -} PrSDKScopeRenderSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif // PRSDKSCOPERENDERSUITE_H diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceAudioSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKSequenceAudioSuite.h deleted file mode 100755 index 149f897..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceAudioSuite.h +++ /dev/null @@ -1,103 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKSEQUENCEAUDIOSUITE_H -#define PRSDKSEQUENCEAUDIOSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#include "PrSDKAudioSuite.h" - -#include "PrSDKTimeSuite.h" - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKSequenceAudioSuite "MediaCore Sequence Audio Suite" -#define kPrSDKSequenceAudioSuiteVersion 1 // started for CS4 - -// return value from MakeAudioRenderer -enum -{ - sequenceAudioSuite_ErrIncompatibleChannelType = 'chan', - sequenceAudioSuite_ErrUnknown = 255 -}; - -typedef struct -{ - // - prSuiteError (*MakeAudioRenderer)( - csSDK_uint32 inPluginID, - PrTime inStartTime, - PrAudioChannelType inChannelType, - PrAudioSampleType inSampleType, - float inSampleRate, - csSDK_uint32 *outAudioRenderID); - - // - prSuiteError (*ReleaseAudioRenderer)( - csSDK_uint32 inPluginID, - csSDK_uint32 inAudioRenderID); - - // Audio is returned as arrays of uninterleaved floats. InBuffer must point to n buffers of floats - // inFrameCount long, where n is the number of channels. This always returns the next contiguous - // chunk of audio sample frames. - prSuiteError (*GetAudio)( - csSDK_uint32 inAudioRenderID, - csSDK_uint32 inFrameCount, - float** inBuffer, - char inClipAudio); - - // This call will reset the position on the audio generation to time zero. - // This can be used for multi-pass encoding. - prSuiteError (*ResetAudioToBeginning)( - csSDK_uint32 inAudioRenderID); - - // GetMaxBlip returns the maximum size of a blip - prSuiteError (*GetMaxBlip)( - csSDK_uint32 inAudioRenderID, - PrTime inTicksPerFrame, - csSDK_int32 *maxBlipSize); - -} PrSDKSequenceAudioSuite; - - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceInfoSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKSequenceInfoSuite.h deleted file mode 100755 index 2b01a73..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceInfoSuite.h +++ /dev/null @@ -1,123 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKSEQUENCEINFOSUITE_H -#define PRSDKSEQUENCEINFOSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKSequenceInfoSuite "MediaCore Sequence Info Suite" -#define kPrSDKSequenceInfoSuiteVersion 3 - -typedef struct -{ - /** - ** Get the video frame size of the sequence. - ** - ** @param inTimelineID the timeline instance data - ** @param outFrameRect on return, the size of the sequence video frame. - */ - prSuiteError (*GetFrameRect)( - PrTimelineID inTimelineID, - prRect *outFrameRect); - - /** - ** Get the aspect ratio of the sequence. - ** - ** @param inTimelineID the timeline instance data - ** @param outNumerator on return, the aspect ratio numerator. - ** @param outDenominator on return, the aspect ratio denominator. - */ - prSuiteError (*GetPixelAspectRatio)( - PrTimelineID inTimelineID, - csSDK_uint32 *outNumerator, - csSDK_uint32 *outDenominator); - - /** - ** Get the framerate of the sequence. - ** - ** @param inTimelineID the timeline instance data - ** @param outTicksPerFrame the framerate in ticks. - */ - prSuiteError (*GetFrameRate)( - PrTimelineID inTimelineID, - PrTime* outTicksPerFrame); - - /** - ** Get the field type of the sequence. - ** - ** @param inTimelineID the timeline instance data - ** @param outFieldType the field type. - */ - prSuiteError (*GetFieldType)( - PrTimelineID inTimelineID, - prFieldType* outFieldType); - - /** - ** Get the zero point of the sequence. - ** - ** @param inTimelineID the timeline instance data - ** @param outTicksPerFrame start time of the sequence. - */ - prSuiteError (*GetZeroPoint)( - PrTimelineID inTimelineID, - PrTime* outTime); - - /** - ** Returns if the sequence timecode is drop or non drop. - ** - ** @param inTimelineID the timeline instance data - ** @param outDropFrame if the sequence timecode is dropframe - */ - prSuiteError (*GetTimecodeDropFrame)( - PrTimelineID inTimelineID, - prBool* outDropFrame); - - -} PrSDKSequenceInfoSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKSEQUENCEINFOSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceRenderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKSequenceRenderSuite.h deleted file mode 100755 index 9698c6c..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSequenceRenderSuite.h +++ /dev/null @@ -1,270 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public MediaCore SDK. - - -#ifndef PRSDKSEQUENCERENDERSUITE_H -#define PRSDKSEQUENCERENDERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKRENDERCACHETYPE_H -#include "PrSDKRenderCacheType.h" -#endif - -#ifndef PRSDKQUALITY_H -#include "PrSDKQuality.h" -#endif - -#ifndef PRSDKSTREAMLABEL_H -#include "PrSDKStreamLabel.h" -#endif -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// Version History -// version 1 - started for CS4, no longer supported -// version 2 - removed an argument from RenderVideoFrame in version 1, as it was unused -#define kPrSDKSequenceRenderSuite "MediaCore Sequence Render Suite" -#define kPrSDKSequenceRenderSuiteVersion1 1 -#define kPrSDKSequenceRenderSuiteVersion2 2 -#define kPrSDKSequenceRenderSuiteVersion3 3 -#define kPrSDKSequenceRenderSuiteVersion4 4 -#define kPrSDKSequenceRenderSuiteVersion kPrSDKSequenceRenderSuiteVersion4 - - -typedef struct -{ - csSDK_int32 repeatCount; // The number of contiguous frames from this file. -} SequenceRender_FrameInfoRec; - -// This is info passed back in response to calling GetFrame or AsyncGetFrame - -typedef struct -{ - void* asyncCompletionData;// data passed to QueueAsyncVideoFrameRender - csSDK_int32 returnVal; // SequenceRenderReturn_ErrNone - no error - // SequenceRenderReturn_Abort - user aborted operation - // SequenceRenderReturn_Done - operation finished - // ... or an error code - csSDK_int32 repeatCount; // The frame should be repeated for repeatCount frames - // in the output files (write null frames, change the frame - // duration or whatever is appropriate) - csSDK_int32 onMarker; // There is a marker on this frame. - PPixHand outFrame; // filled during RenderVideoFrame, -} SequenceRender_GetFrameReturnRec; - - -typedef struct -{ - const PrPixelFormat* inRequestedPixelFormatArray; - csSDK_int32 inRequestedPixelFormatArrayCount; - csSDK_int32 inWidth; - csSDK_int32 inHeight; - csSDK_int32 inPixelAspectRatioNumerator; - csSDK_int32 inPixelAspectRatioDenominator; - PrRenderQuality inRenderQuality; - prFieldType inFieldType; - csSDK_int32 inDeinterlace; - PrRenderQuality inDeinterlaceQuality; - csSDK_int32 inCompositeOnBlack; -} SequenceRender_ParamsRec; - - -// Callback used for async frame notification, passed to RegisterAsyncGetFrameCallback -// Error status (error or abort) is returned in getFrameReturn -typedef void (*PrSDKSequenceAsyncRenderCompletionProc)( - csSDK_uint32 inVideoRenderID, - void* inCallbackRef, - PrTime inTime, - PPixHand inRenderedFrame, // ppixSuite->Dispose() must be called on this buffer - // to release its memory - SequenceRender_GetFrameReturnRec *inGetFrameReturn); - -// suite -typedef struct -{ - // - prSuiteError (*MakeVideoRenderer)( - csSDK_uint32 pluginID, // id from exporter or player - csSDK_uint32 *outVideoRenderID, - PrTime inFrameRate); - - // - prSuiteError (*ReleaseVideoRenderer)( - csSDK_uint32 pluginID, - csSDK_uint32 inVideoRenderID); - - - // GetFrame returns: - // export_ErrNone - continue compiling - // export_Abort - user aborted the compile - // export_Done - finished the compile - // ... or an error code - - prSuiteError (*RenderVideoFrame)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - SequenceRender_ParamsRec* inRenderParams, - PrRenderCacheType inCacheFlags, - SequenceRender_GetFrameReturnRec* getFrameReturn - ); - - - prSuiteError (*QueueAsyncVideoFrameRender)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - csSDK_uint32* outRequestID, - SequenceRender_ParamsRec* inRenderParams, - PrRenderCacheType inCacheFlags, - void* inAsyncCompletionData - ); - - - // Register a notification callback for retrieving async frames - prSuiteError (*SetAsyncRenderCompletionProc)( - csSDK_uint32 inVideoRenderID, - PrSDKSequenceAsyncRenderCompletionProc asyncGetFrameCallback, - void* callbackRef - ); - - // GetFrameInfo - Get information about a given frame - prSuiteError (*GetFrameInfo)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - SequenceRender_FrameInfoRec* outFrameInfo - ); - - /** - ** Pre-fetches the media needed to render this frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrame The video frame number. - */ - prSuiteError (*PrefetchMedia)( - csSDK_uint32 inVideoRenderID, - PrTime inFrame - ); - - /** - ** Pre-fetches the media needed to render this frame, using all of the parameters used to render the frame. - ** This is a hint to the importers to begin reading media needed to render this video frame. - ** - ** @param inFrameTime The time of the video frame number. - ** - ** @param inRequestedPixelFormatArray An array of PrPixelFormats that list your format preferences in order. - ** This list must end with PrPixelFormat_BGRA_4444_8u. - ** @param inRequestedPixelFormatArrayCount Number of formats in the format array - ** @param inFrameRect Video frame size - ** @param inPixelAspectRatioNumerator The numerator for the pixel aspect ratio. - ** @param inPixelAspectRatioDenominator The denominator for the pixel aspect ratio. - ** @param inRenderQuality The render quality of this frame. - */ - prSuiteError (*PrefetchMediaWithRenderParameters)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - SequenceRender_ParamsRec* inRenderParams - ); - - /** - ** This will cancel all media pre-fetches that are still outstanding. - */ - prSuiteError (*CancelAllOutstandingMediaPrefetches)( - csSDK_uint32 inVideoRenderID - ); - - /** - ** Is all the prefetched media ready? - */ - prSuiteError (*IsPrefetchedMediaReady)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - prBool* outMediaReady); - - /** - ** - */ - prSuiteError (*MakeVideoRendererForTimeline)( - PrTimelineID inTimeline, - csSDK_uint32* outVideoRendererID); - - /** - ** - */ - prSuiteError (*MakeVideoRendererForTimelineWithFrameRate)( - PrTimelineID inTimeline, - PrTime inFrameRate, - csSDK_uint32* outVideoRendererID); - - /** - ** - */ - prSuiteError (*ReleaseVideoRendererForTimeline)( - csSDK_uint32 inVideoRendererID); - - /** - ** - */ - prSuiteError (*RenderVideoFrameAndConformToPixelFormat)( - csSDK_uint32 inVideoRenderID, - PrTime inTime, - SequenceRender_ParamsRec* inRenderParams, - PrRenderCacheType inCacheFlags, - PrPixelFormat inConformToFormat, - SequenceRender_GetFrameReturnRec* getFrameReturn - ); - - /** - ** - */ - prSuiteError (*MakeVideoRendererForTimelineWithStreamLabel)( - PrTimelineID inTimeline, - PrSDKStreamLabel inStreamLabel, - csSDK_uint32* outVideoRendererID); - -} PrSDKSequenceRenderSuite; - -#ifdef __cplusplus -} -#endif // __cplusplus - -#pragma pack(pop) - -#endif // PRSDKSEQUENCERENDERSUITE_H - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSetEnv.h b/Syphon-Transmit/Adobe/Headers/PrSDKSetEnv.h deleted file mode 100755 index f9784cb..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSetEnv.h +++ /dev/null @@ -1,53 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -/* - PrSDKSetEnv.h - - Part of the Adobe Premiere SDK. -*/ - -#ifndef PRSDKSETENV_H -#define PRSDKSETENV_H - -#ifdef __APPLE__ - #define PRMAC_ENV - #undef PRWIN_ENV -// #pragma options align=mac68k ?? -#endif - -#ifndef PRWIN_ENV - #if defined(_WIN32) || defined(_WIN64) - #define PRWIN_ENV - #undef PRMAC_ENV - #endif -#endif - -#ifndef CSSDK_TARGET_ARCH_X64 - #define CSSDK_TARGET_ARCH_X64 0 - #if defined(__x86_64__) || defined(_M_X64) - #undef CSSDK_TARGET_ARCH_X64 - #define CSSDK_TARGET_ARCH_X64 1 - #endif -#endif - - -#endif // PRSDKSETENV_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKSmartRenderingSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKSmartRenderingSuite.h deleted file mode 100755 index b6605d7..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKSmartRenderingSuite.h +++ /dev/null @@ -1,84 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2012 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKSMARTRENDERINGSUITE_H -#define PRSDKSMARTRENDERINGSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKSmartRenderingSuite "MediaCore Smart Rendering Suite" -#define kPrSDKSmartRenderingSuiteVersion1 1 -#define kPrSDKSmartRenderingSuiteVersion2 2 -#define kPrSDKSmartRenderingSuiteVersion kPrSDKSmartRenderingSuiteVersion2 - -typedef struct -{ - csSDK_int32 mClipID; - csSDK_int64 mSegmentStartTime; - csSDK_int64 mSegmentEndTime; - csSDK_int64 mSegmentOffset; - - csSDK_int64 mClipStartTime; - csSDK_int64 mClipEndTime; - - PrSDKString mClipPath; // this member will be disposed after the callback function in SDKSuite. - // So if you want to copy this struct and use this member, - // mClipPath need be re-allocated in Plugin side - csSDK_int64 mMediaStartTime; - csSDK_int64 mMediaEndTime; -} PrClipSegmentInfo; - -typedef void (*SegmentInfoCallback)(void* inCallbackData, PrClipSegmentInfo* inClipSegmentInfo); - -typedef struct -{ - prSuiteError (*BuildSmartRenderSegmentList)(SegmentInfoCallback inCallbackFunc, void* inCallbackData, csSDK_int32 inSegmentsID, PrTime inTimeBase, PrPixelFormat inPixelFormat); - prSuiteError (*BuildSmartRenderSegmentListNoPreviewFiles)(SegmentInfoCallback inCallbackFunc, void* inCallbackData, csSDK_int32 inSegmentsID, PrTime inTimeBase, PrPixelFormat inPixelFormat); -} PrSDKSmartRenderingSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - - -#endif //PRSDKSMARTRENDERINGSUITE_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKStockImageSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKStockImageSuite.h deleted file mode 100755 index 39751b1..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKStockImageSuite.h +++ /dev/null @@ -1,83 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKSTOCKIMAGESUITE_H -#define PRSDKSTOCKIMAGESUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKPIXELFORMAT_H -#include "PrSDKPixelFormat.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKPPIXSUITE_H -#include "PrSDKPPixSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKStockImageSuite "Premiere Stock Image Suite" -#define kPrSDKStockImageSuiteVersion 1 - -enum -{ - PrSDK_StockImage_PlayingOnHardware = 1, - PrSDK_StockImage_ColorBars = 3, - PrSDK_StockImage_CapturePreviewOnHardware = 4, - PrSDK_StockImage_MediaPending = 5, - PrSDK_StockImage_MediaOffline = 6, - PrSDK_StockImage_END // check value, always comes last in enum, do not use -}; - -typedef struct -{ - /** - * - **/ - prSuiteError (*GetStockImage)( - PPixHand* outPPixHand, - int inWhichImage, - int inWidth, - int inHeight, - PrPixelFormat inPixelFormat, - int inPARNumerator, - int inPARDenominator); - - -} PrSDKStockImageSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabel.h b/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabel.h deleted file mode 100755 index 0536ea8..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabel.h +++ /dev/null @@ -1,32 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKSTREAMLABEL_H -#define PRSDKSTREAMLABEL_H - -typedef const char* PrSDKStreamLabel; - -#define kPrSDK_StreamLabel_Stereoscopic_Left "ADBE.Stereoscopic.Left" -#define kPrSDK_StreamLabel_Stereoscopic_Right "ADBE.Stereoscopic.Right" - - -#endif //PRSDKSTREAMLABEL_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabelEffectSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabelEffectSuite.h deleted file mode 100755 index 32ac870..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKStreamLabelEffectSuite.h +++ /dev/null @@ -1,49 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKSTREAMLABELEFFECTSUITE_H -#define PRSDKSTREAMLABELEFFECTSUITE_H - -#ifndef PRSDKSTREAMLABEL_H -#include "PrSDKStreamLabel.h" -#endif - -#define kPrSDKStreamLabelEffectSuite "Effect Stream Label Suite" -#define kPrSDKStreamLabelEffectSuiteVersion1 1 -#define kPrSDKStreamLabelEffectSuiteVersion kPrSDKStreamLabelEffectSuiteVersion1 - -#ifndef _H_AE_Effect -#include "AE_Effect.h" -#endif - -typedef struct -{ - // The first two functions are called during global setup, just like the AddSupportedPixelFormat pattern - PF_Err (*PF_AddStreamLabel)(PF_ProgPtr effect_ref, PrSDKStreamLabel inLabel); - PF_Err (*PF_ClearStreamLabels)(PF_ProgPtr effect_ref); - - // This function is called during a render, or frame setup. - PF_Err (*PF_CurrentRenderMatchesStreamLabel)(PF_ProgPtr effect_ref, PrSDKStreamLabel inLabel, PF_Boolean* outMatches); -} PrSDKStreamLabelEffectSuite; - - -#endif //PRSDKSTREAMLABELEFFECTSUITE_H \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKStringSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKStringSuite.h deleted file mode 100755 index 83a33b0..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKStringSuite.h +++ /dev/null @@ -1,127 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2001 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKSTRINGSUITE_H -#define PRSDKSTRINGSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMalErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKStringSuite "MediaCore StringSuite" -#define kPrSDKStringSuiteVersion 1 - -typedef struct -{ - /** - ** This will dispose of an SDKString. It is OK to pass in an empty string. - ** - ** @param inSDKString the string to dispose of - ** - ** @return suiteError_StringNotFound this string has not been allocated, or may have already been disposed - ** @return suiteError_InvalidParms one of the params is invalid - */ - prSuiteError (*DisposeString)( - const PrSDKString* inSDKString); - - /** - ** This will allocate an SDKString from a passed in null terminated string. - ** - ** @param inUTF8String null terminated UTF8 string to copy into the SDK string - ** @param ioSDKString this passed in SDK string will receive the new allocated string - ** - you must dispose of this sdk string - ** - ** @return suiteError_StringNotFound this string has not been allocated, or may have already been disposed - ** @return suiteError_InvalidParms one of the params is invalid - */ - prSuiteError (*AllocateFromUTF8)( - const prUTF8Char* inUTF8String, - PrSDKString* outSDKString); - - /** - ** This will copy an SDKString into a UTF8 null terminated string if ioUTF8StringBufferByteCount reports enough bytes in - ** the string buffer to copy. If there are not enough bytes - suiteError_StringBufferTooSmall will be returned - ** and ioUTF8StringBufferByteCount will contain the number of bytes needed to hold the string. - ** - ** @param outUTF8StringBuffer Buffer where UTF8 string will be stored - ** @param ioUTF8StringBufferSizeInElements Pass in the size, in elements, of outUTF8StringStorage. Returns the number of elements copied. Includes terminating 0. - ** - ** @return suiteError_InvalidParms One of the params is invalid - ** @return suiteError_StringBufferTooSmall The passed in string buffer is too small. ioUTF8StringBufferByteCount will contain the number of bytes needed to copy this string. - ** @return suiteError_NoError The string has been copied. ioUTF8StringBufferByteCount contains the number of bytes copied. - */ - prSuiteError (*CopyToUTF8String)( - const PrSDKString* inSDKString, - prUTF8Char* outUTF8StringBuffer, - csSDK_uint32* ioUTF8StringBufferSizeInElements); - - /** - ** This will allocate an SDKString from a passed in null terminated string. - ** - ** @param inUTF16String null terminated UTF16 string to copy into the SDK string - ** @param ioSDKString this passed in SDK string will receive the new allocated string - ** - you must dispose of this sdk string - ** - ** @return suiteError_StringNotFound this string has not been allocated, or may have already been disposed - ** @return suiteError_InvalidParms one of the params is invalid - */ - prSuiteError (*AllocateFromUTF16)( - const prUTF16Char* inUTF16String, - PrSDKString* outSDKString); - - /** - ** This will copy an SDKString into a UTF16 null terminated string if ioUTF16StringBufferByteCount reports enough bytes in - ** the string buffer to copy. If there are not enough bytes - suiteError_StringBufferTooSmall will be returned - ** and ioUTF16StringBufferByteCount will contain the number of bytes needed to hold the string. - ** - ** @param outUTF16StringBuffer Buffer where UTF16 string will be stored - ** @param ioUTF16StringBufferSizeInElements Pass in the size, in elements, of outUTF16StringStorage. Returns the number of elements copied. Includes terminating 0. - ** - ** @return suiteError_InvalidParms One of the params is invalid - ** @return suiteError_StringBufferTooSmall The passed in string buffer is too small. ioUTF16StringBufferByteCount will contain the number of bytes needed to copy this string. - ** @return suiteError_NoError The string has been copied. ioUTF16StringBufferByteCount contains the number of bytes copied. - */ - prSuiteError (*CopyToUTF16String)( - const PrSDKString* inSDKString, - prUTF16Char* outUTF16StringBuffer, - csSDK_uint32* ioUTF16StringBufferSizeInElements); - - - -} PrSDKStringSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKStructs.h b/Syphon-Transmit/Adobe/Headers/PrSDKStructs.h deleted file mode 100755 index ff51535..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKStructs.h +++ /dev/null @@ -1,190 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -/* prSDKStructs.h - -Defines structures used by the various Premiere interfaces - PPix, TDB, BottleRec - -*/ -#ifndef PRSDKSTRUCTS_H -#define PRSDKSTRUCTS_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#pragma pack(push, 1) - -typedef csSDK_int32 TDB_Time; -typedef csSDK_int32 TDB_SampSize; -typedef csSDK_uint32 TDB_TimeScale; - -typedef struct { - TDB_Time value; - TDB_TimeScale scale; - TDB_SampSize sampleSize; -} TDB_TimeRecord; - - -typedef struct { - csSDK_int32 x; - csSDK_int32 y; -} LongPoint; // change name??? - - -typedef struct -{ - PrMemoryPtr srcPtr; // Pointer to total source block - csSDK_int32 srcSampleOffset; // Offset to important part of source (in samps) - csSDK_int32 srcTotalSampleCount; // Total samples in source block - csSDK_int32 srcSampleCount; // Len of this part of source block (in samples) - short srcFlags; // Format of source block - PrMemoryPtr dstPtr; // Pointer to destination block - csSDK_int32 dstSampleCount; // Len of destination block (in samples) - short dstFlags; // Format of destination block - - csSDK_int32 srcRate; - csSDK_int32 dstRate; - csSDK_int32 prevDstSamples; - csSDK_int32 prevSrcSamples; -} ResampleRec; - -typedef struct -{ - PrMemoryPtr srcPtr; - csSDK_int32 srcSampleCount; - short srcFlags; - - PrMemoryPtr dstPtr; - csSDK_int32 dstSampleCount; - short dstFlags; - - csSDK_int32 convertOffset; - csSDK_int32 step; -} AudioMungeRec; - -typedef void (*StretchBitsPtr)( PPixHand srcPix, - PPixHand dstPix, - prRect *srcRect, - prRect *dstRect, - int mode, - prRgn rgn); // Unused on MacOS - -typedef void (*AudStretchPtr)( PrMemoryPtr src, - csSDK_int32 srclen, - PrMemoryPtr dest, - csSDK_int32 destlen, - unsigned int flags); - -typedef void (*AudMixPtr)( PrMemoryPtr buf1, - csSDK_int32 v1, - PrMemoryPtr buf2, - csSDK_int32 v2, - PrMemoryPtr buf3, - csSDK_int32 v3, - csSDK_int32 width, - PrMemoryPtr dest, - unsigned int flags); - -typedef void (*AudLimitPtr)( PrMemoryPtr src, - PrMemoryPtr dest, - csSDK_int32 width, - unsigned int flags, - csSDK_int32 total); - -typedef void (*AudSumPtr)( PrMemoryPtr src, - PrMemoryPtr dest, - csSDK_int32 width, - csSDK_int32 scale, - unsigned int flags, - csSDK_int32 part, - csSDK_int32 total); - -typedef void (*DistortPolygonPtr)( PPixHand src, - PPixHand dest, - prRect *srcbox, - prPoint *dstpts); - -typedef void (*DistortFixedPolygonPtr)( PPixHand src, - PPixHand dest, - prRect *srcbox, - LongPoint *dstpts); - -typedef void (*PolyToPolyPtr)( PPixHand src, - PPixHand dest, - prPoint *srcpts, - prPoint *dstpts); - -typedef void (*FixedToFixedPtr)(PPixHand src, - PPixHand dest, - LongPoint *srcpts, - LongPoint *dstpts); -typedef void (*ImageKeyPtr)(PPixHand src, PPixHand dest, PPixHand work, PrMemoryPtr workbuf, unsigned short level, void* therec); -typedef void (*ResamplePtr)(ResampleRec *theRec); -typedef void (*AudioMungePtr)(AudioMungeRec *theRec); -typedef void (*ConvolvePtr)(unsigned char *src, unsigned char *dst, short *matrix, short row, short width, short height); -typedef void (*IndexMapPtr)(char *src, char *dst, short row, short pixwidth, short height,char *lookup1, char *lookup2, char *lookup3); - - -typedef struct -{ - short count; // number of routines - short reserved[14]; - - StretchBitsPtr StretchBits; - DistortPolygonPtr DistortPolygon; - PolyToPolyPtr MapPolygon; - AudStretchPtr AudioStretch; - AudMixPtr AudioMix; - AudSumPtr AudioSum; - AudLimitPtr AudioLimit; - DistortFixedPolygonPtr DistortFixed; - FixedToFixedPtr FixedToFixed; - ImageKeyPtr ImageKey; - ResamplePtr Resample; - AudioMungePtr AudioMunge; - IndexMapPtr DoIndexMap; - ConvolvePtr DoConvolve; - csSDK_int32 unused[1]; -} BottleRec; - -/* - These values are used to determing the Project Settings Time Format - used by the plug-in suites utilites callback. - - long timeSettings = getSettings(kSettingsTimeFormat); - - if timeSettings == 131102 == 0x2001e - The framerate is x1e = 30 and the format is 0x20000 = tfSMPTE. - - The low 16-bits has the framerate and the hi 16-bits has the format. -*/ -enum { - tfFrameCount = 0x00010000, // Frames/Samples - tfSMPTE = 0x00020000, // HH:MM:SS:FF where FF is in the frame rate base - tfSMPTEDrop = 0x00040000, // HH;MM;SS;FF in 29.97 base - tfFeetFrame = 0x00080000 // ffff.FF -- frame rate is either 16 (35mm) or 40 (16mm) - -}; - -#pragma pack(pop) - -#endif /* PRSDKSTRUCTS_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKThreadedWorkSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKThreadedWorkSuite.h deleted file mode 100755 index 671959e..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKThreadedWorkSuite.h +++ /dev/null @@ -1,182 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2006 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#ifndef PRSDKTHREADEDWORKSUITE_H -#define PRSDKTHREADEDWORKSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKThreadedWorkSuite "Premiere Threaded Work Suite" -#define kPrSDKThreadedWorkSuiteVersion2 2 -#define kPrSDKThreadedWorkSuiteVersion3 3 - -typedef void (*ThreadedWorkCallback)(void* inInstanceData); - -/* -** For V3, the callback gets the plugin ID and a status value. If the status -** value is suiteError_InstanceDestroyed, the instance has already been destroyed -** and the plugin should only perform cleanup related to the queued function (if any), -** not perform any actual processing. -*/ -typedef void (*ThreadedWorkCallbackVersion3)(void* inInstanceData, csSDK_int32 inPluginID, prSuiteError inStatus); -typedef void* ThreadedWorkRegistration; - -typedef struct -{ - /* - ** Register a callback for future threaded work. - ** - ** @param inCallback The callback function to be called by the host. - ** @param inInstanceData The instance data which is passed back in the callback. - ** @param outRegistrationData A token for identifying this registration. - ** - ** @return suiteError_NoError - */ - prSuiteError (*RegisterForThreadedWork)( - ThreadedWorkCallback inCallback, - void* inInstanceData, - ThreadedWorkRegistration* outRegistrationData); - - /* - ** Queue the registered threaded work callback for processing on a render thread. - ** If you queue multiple times, it is possible for multiple threads to call your callback. - ** If this is a problem, you'll need to handle this on your end. - ** - ** @param inRegistrationData The token returned by RegisterForThreadedWork - */ - prSuiteError (*QueueThreadedWork)( - ThreadedWorkRegistration inRegistrationData); - - /* - ** Remove a registration for a threaded work function. - ** Any queued callbacks will still occur, even after the unregistration. - ** - ** @param inRegistrationData The token returned by RegisterForThreadedWork - */ - prSuiteError (*UnregisterForThreadedWork)( - ThreadedWorkRegistration inRegistrationData); - - /* - ** Register a callback for future threaded work, with the addition that only one thread - ** will call the callback at a time. The same Unregister call is used. - ** - ** @param inCallback The callback function to be called by the host. - ** @param inInstanceData The instance data which is passed back in the callback. - ** @param outRegistrationData A token for identifying this registration. - ** - ** @return suiteError_NoError - */ - prSuiteError (*RegisterForSingleThreadedWork)( - ThreadedWorkCallback inCallback, - void* inInstanceData, - ThreadedWorkRegistration* outRegistrationData); - -} PrSDKThreadedWorkSuiteVersion2; - -/** -** The following typedef is provided for short-term backwards compatibility only. -** Clients should prefer the explicit versioned struct name. -*/ -typedef PrSDKThreadedWorkSuiteVersion2 PrSDKThreadedWorkSuite; - -typedef struct -{ - /* - ** Register a callback for future threaded work. - ** - ** @param inCallback The callback function to be called by the host. - ** @param inInstanceData The instance data which is passed back in the callback. - ** @param outRegistrationData A token for identifying this registration. - ** - ** @return suiteError_NoError - */ - prSuiteError (*RegisterForThreadedWork)( - ThreadedWorkCallbackVersion3 inCallback, - void* inInstanceData, - ThreadedWorkRegistration* outRegistrationData); - - /* - ** Queue the registered threaded work callback for processing on a render thread. - ** If you queue multiple times, it is possible for multiple threads to call your callback. - ** If this is a problem, you'll need to handle this on your end. - ** - ** [IMPORTANT] - ** In a change from previous versions of this suite, your callback will *NOT* be called - ** once your plugin ID is invalid. So, for instance, if you are an importer, once your importer - ** is closed all remaining queued callbacks will not execute. - ** - ** @param inRegistrationData The token returned by RegisterForThreadedWork - ** @param inPluginID The plugin ID for the calling plugin instance. - ** If non-zero, a stable instance of the plugin - ** is guaranteed for the full duration of the callback. - ** If zero, a stable instance of the plugin is not - ** guaranteed for the full duration of the callback. - */ - prSuiteError (*QueueThreadedWork)( - ThreadedWorkRegistration inRegistrationData, - csSDK_int32 inPluginID); - - /* - ** Remove a registration for a threaded work function. - ** Any queued callbacks will still occur, even after the unregistration. - ** - ** @param inRegistrationData The token returned by RegisterForThreadedWork - */ - prSuiteError (*UnregisterForThreadedWork)( - ThreadedWorkRegistration inRegistrationData); - - /* - ** Register a callback for future threaded work, with the addition that only one thread - ** will call the callback at a time. The same Unregister call is used. - ** - ** @param inCallback The callback function to be called by the host. - ** @param inInstanceData The instance data which is passed back in the callback. - ** @param outRegistrationData A token for identifying this registration. - ** - ** @return suiteError_NoError - */ - prSuiteError (*RegisterForSingleThreadedWork)( - ThreadedWorkCallbackVersion3 inCallback, - void* inInstanceData, - ThreadedWorkRegistration* outRegistrationData); - -} PrSDKThreadedWorkSuiteVersion3; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKTHREADEDWORKSUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKTimeSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKTimeSuite.h deleted file mode 100755 index f01794b..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKTimeSuite.h +++ /dev/null @@ -1,140 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2002 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRSDKTIMESUITE_H -#define PRSDKTIMESUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKTimeSuite "Premiere Time Suite" -#define kPrSDKTimeSuiteVersion 1 - -/** -** Time overview: -** -** Premiere uses a tick-based time counter that is stored in a signed -** 64-bit integer. The current number of ticks per second must be retrieved -** using the callback in this suite, but is guaranteed to be constant for -** the duration of runtime. -*/ - -typedef prInt64 PrTime; - -/** -** RatioTime is used where value that are not representable by ticks are needed. -*/ -struct PrRatioTime -{ - prInt64 mValue; - prInt64 mScale; -}; - -// [TODO] [SFMOD] clean this up (PrFrameRate VS. PrVideoFrameRates). Maybe extra helpers? -//#ifdef _MSC_VER -// typedef double PrFrameRate; -//#else -// typedef signed long long PrFrameRate; -//#endif - - -// [SFMOD] [TODO] this normally belongs in PrSDKPlayModule.h -// but now it's also used by PrSDKRealTime.h" (TBD) -// timebase struct -// Example: scale = 2997, sampleSize = 100, fileDurations = numframes * 100 -typedef struct { - csSDK_uint32 scale; // rate of the timebase - csSDK_int32 sampleSize; // size of one sample - csSDK_int32 fileDuration; // number of samples in file -} pmPlayTimebase; - - -enum PrVideoFrameRates -{ - kVideoFrameRate_24Drop = 1, // 24000 / 1001 - kVideoFrameRate_24, // 24 - kVideoFrameRate_PAL, // 25 - kVideoFrameRate_NTSC, // 30000 / 1001 - kVideoFrameRate_30, // 30 - kVideoFrameRate_PAL_HD, // 50 - kVideoFrameRate_NTSC_HD, // 60000 / 1001 - kVideoFrameRate_60, // 60 - kVideoFrameRate_Max = 0xFFFFFFFF -}; - -typedef struct -{ - /** - ** Get the current ticks per second. This is guaranteed to be constant for - ** the duration of runtime. - ** - ** @param outTickPerSec on return, the number of time ticks per second. - */ - prSuiteError (*GetTicksPerSecond)( - PrTime* outTicksPerSec); - - /** - ** Get the number of ticks in a video frame rate. - ** - ** @param inFrameRate an enum value for a video frame rate. - ** @param outTicksPerFrame on return, the number of time ticks per frame. - */ - prSuiteError (*GetTicksPerVideoFrame)( - PrVideoFrameRates inVideoFrameRate, - PrTime* outTicksPerFrame); - - /** - ** Get the number of ticks in an audio sample rate. - ** - ** @param inSampleRate the audio sample rate as a float. - ** @param outTicksPerSample on return, the number of time ticks per sample. - ** @return kPrTimeSuite_RoundedAudioRate is returned if the requested - ** audio sample rate is not an even divisor of the base tick - ** count and therefore times in this rate will not be exact. - */ - prSuiteError (*GetTicksPerAudioSample)( - float inSampleRate, - PrTime* outTicksPerSample); - -} PrSDKTimeSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKTIMESUITE_H */ - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKTransmit.h b/Syphon-Transmit/Adobe/Headers/PrSDKTransmit.h deleted file mode 100755 index 5264b0b..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKTransmit.h +++ /dev/null @@ -1,353 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - - -// This file is part of the public Premiere SDK. - - - -#ifndef PRSDKTRANSMIT_H -#define PRSDKTRANSMIT_H - - -#include "PrSDKPlayModule.h" -#include "PrSDKPlugSuites.h" -#include "PrSDKStreamLabel.h" - - -#pragma pack(push, 1) -#ifdef __cplusplus -extern "C" { -#endif - - -/** -** Interface version -*/ -#define tmInterfaceVersion1 1 // CS6 -#define tmInterfaceVersion tmInterfaceVersion1 - - -/** -** Transmit return codes -*/ -typedef enum PrTransmitReturnValue -{ - tmResult_Success = 0, - tmResult_ContinueIterate = 1, - - tmResult_ErrorUnknown = -1, - tmResult_ErrorMemory = -2, - tmResult_ErrorInvalidArgument = -3, - tmResult_ErrorUnsupported = -4 -} tmResult; - - -/** -** Transmit standard parameters -*/ -typedef struct -{ - csSDK_int32 inPluginIndex; - - PrMemoryPtr ioSerializedPluginData; // may be written by plugin in Startup or Setup, must be serializable by the host - csSDK_size_t ioSerializedPluginDataSize; - - void* ioPrivatePluginData; // may be written by plugin in Startup or Setup - - piSuitesPtr piSuites; -} tmStdParms; - - -/** -** Transmit plugin information -*/ -typedef struct -{ - prPluginID outIdentifier; // persistent plugin identifier - unsigned int outPriority; // 0 is default, higher priority wins - - // audio - prBool outAudioAvailable; - prBool outAudioDefaultEnabled; - - // clock - prBool outClockAvailable; - - // video - prBool outVideoAvailable; - prBool outVideoDefaultEnabled; - - // ui - prUTF16Char outDisplayName[256]; - prBool outHideInUI; - prBool outHasSetup; - - // the SDK version with which the plugin was compiled - csSDK_int32 outInterfaceVersion; -} tmPluginInfo; - - -/** -** Transmit instance information -*/ -typedef struct -{ - csSDK_int32 inInstanceID; - - PrTimelineID inTimelineID; // may be 0 - PrPlayID inPlayID; // may be 0 - - prBool inHasAudio; - csSDK_uint32 inNumChannels; - PrAudioChannelLabel inChannelLabels[16]; - PrAudioSampleType inAudioSampleType; - float inAudioSampleRate; - - prBool inHasVideo; - csSDK_int32 inVideoWidth; - csSDK_int32 inVideoHeight; - csSDK_int32 inVideoPARNum; - csSDK_int32 inVideoPARDen; - PrTime inVideoFrameRate; - prFieldType inVideoFieldType; - - void* ioPrivateInstanceData; // may be written by plugin in CreateInstance, need not be serializable by the host -} tmInstance; - - -/** -** Transmit instance query -*/ -typedef struct -{ - csSDK_int32 outWidth; // 0 for any - csSDK_int32 outHeight; // 0 for any - csSDK_int32 outPARNum; // 0 for any - csSDK_int32 outPARDen; // 0 for any - prFieldType outFieldType; // prFieldsAny for any - PrPixelFormat outPixelFormat; // PrPixelFormat_Any for any - - PrSDKString outStreamLabel; // {0} for normal - PrTime outLatency; // all modes must have the same latency, it is strongly suggested to keep latency at or below 5 frames -} tmVideoMode; -typedef struct -{ - float outAudioSampleRate; - csSDK_uint32 outMaxBufferSize; - csSDK_uint32 outNumChannels; - PrAudioChannelLabel outChannelLabels[16]; - PrTime outLatency; - PrSDKString outAudioOutputNames[16]; -} tmAudioMode; - - -/** -** Transmit playback clock -*/ -typedef void (*tmClockCallback)(void* inContext, PrTime inRelativeTimeAdjustment); -typedef void (*tmDroppedFrameCallback)(void* inContext, csSDK_int64 inNewDroppedFrames); -typedef struct -{ - // To be called when the time changes with a non-speed adjusted amount to increment the clock by - tmClockCallback inClockCallback; - void* inCallbackContext; - - PrTime inStartTime; - pmPlayMode inPlayMode; - float inSpeed; // 1.0 is normal speed, -2.0 is double speed backwards - - // inInTime, inOutTime & inLoop are informational only - // and will be handled by the host - PrTime inInTime; - PrTime inOutTime; - prBool inLoop; - - // To report frames pushed to the plugin but not delivered to the device. - // If all work is done on the transmit thread then this should never need - // to be called as the host will count frames not pushed to the plugin. - tmDroppedFrameCallback inDroppedFrameCallback; -} tmPlaybackClock; - - -/** -** Transmit video -*/ -typedef struct -{ - PPixHand inFrame; // must be disposed by plugin - PrSDKStreamLabel inStreamLabel; -} tmLabeledFrame; -typedef struct -{ - PrTime inTime; // negative for immediate - pmPlayMode inPlayMode; - PrRenderQuality inQuality; - - const tmLabeledFrame* inFrames; - csSDK_size_t inFrameCount; -} tmPushVideo; - - -/** -** Transmit module definition. 0 may be filled in for any unsupported calls. -** Thread safety is defined per module, only a single thread will enter a -** module at a time. -** -** Transmit plugins supporting audio should use PrSDKPlayModuleAudioSuite to -** pull audio in plugin mode using tmInstance::inPlayID if available. The host -** will start and stop the audio suite, only GetNextAudioBuffer should be called. -** See also PrSDKAudioSuite for conversions between common audio formats. -** Currently audio transmit plugins must also implement a clock source. -*/ -typedef struct -{ - /** - ** Initialize or terminate a transmit plugin and fill in basic plugin - ** info. tmResult_ContinueIterate may be returned to support multiple - ** transmit plugins within the same module. ioPrivatePluginData, - ** ioSerializedPluginData & ioSerializedPluginDataSize may be written from - ** Startup. ioPrivatePluginData should be disposed in Shutdown. - ** ioSerializedPluginData must be allocated with PrNewPtr and will be disposed - ** by the host. This must be flat memory that can be serialized by by the host - ** and will be already filled in when Startup is called if previously available. - */ - tmResult (*Startup)( - tmStdParms* ioStdParms, - tmPluginInfo* outPluginInfo); - tmResult (*Shutdown)( - tmStdParms* ioStdParms); - - - /** - ** Prompt the user for any setup needed for the transmit plugin. Will only - ** be called if the plugin returned outHasSetup. ioSerializedPluginData & - ** ioSerializedPluginDataSize may be written from this call. - */ - tmResult (*SetupDialog)( - tmStdParms* ioStdParms, - prParentWnd inParent); - - /** - ** Will be called regularly on the first plugin of a module to allow - ** rebuilding on state changes. If outResetModule is set to true, all open - ** plugins will be shutdown and started up again. - */ - tmResult (*NeedsReset)( - const tmStdParms* inStdParms, - prBool* outResetModule); - - /** - ** Creates or dispose an instance of a transmit plugin. inPlayID and - ** inTimelineID may be 0 if not driven by a player. Multiple instances - ** may be created at the same time. ioPrivateInstanceData may be written - ** from CreateInstance and disposed in DisposeInstance. - */ - tmResult (*CreateInstance)( - const tmStdParms* inStdParms, - tmInstance* ioInstance); - tmResult (*DisposeInstance)( - const tmStdParms* inStdParms, - tmInstance* ioInstance); - - /** - ** Query properties of an instance writing result into outProperty. - ** Only one audio mode is currently supported - ** The audio output names (PrSDKString) in tmAudioMode should be - ** allocated by the plugin and NOT be disposed by the plugin. - ** The host will take care of disposing these strings. These must be - ** displayable names of physical audio outputs like "XYZ HD Speaker 1" - */ - tmResult (*QueryAudioMode)( - const tmStdParms* inStdParms, - const tmInstance* inInstance, - csSDK_int32 inQueryIterationIndex, - tmAudioMode* outAudioMode); - tmResult (*QueryVideoMode)( - const tmStdParms* inStdParms, - const tmInstance* inInstance, - csSDK_int32 inQueryIterationIndex, - tmVideoMode* outVideoMode); - - /** - ** Activate or deactivate a transmit instance, for example during - ** application suspend or switching between monitors. Audio and - ** video may be independently activated. - */ - tmResult (*ActivateDeactivate)( - const tmStdParms* inStdParms, - const tmInstance* inInstance, - PrActivationEvent inActivationEvent, - prBool inAudioActive, - prBool inVideoActive); - - /** - ** Start or stop a clock for playback. Will only be called if the plugin - ** returned outHasClock. The provided callback must be called each time - ** the time changes. Start may be called multiple times without a stop in - ** between to update playback parameters, for example if the speed changes - ** during playback. Invoke the callback immediately during StartPlaybackClock - ** with a negative number for preroll, but do not use this to wait for frames. - ** If video latency is specified, up to the latency's amount of frame marked - ** as playmode_Playing will be sent before StartPlaybackClock is called. - */ - tmResult (*StartPlaybackClock)( - const tmStdParms* inStdParms, - const tmInstance* inInstance, - const tmPlaybackClock* inClock); - tmResult (*StopPlaybackClock)( - const tmStdParms* inStdParms, - const tmInstance* inInstance); - - /** - ** Asynchronously pushes video to a transmit instance. Will only be called - ** if the plugin returned outHasVideo. The list of video frames passed to - ** the plugin will be negotiated based on the properties returned from - ** QueryVideoMode. The plugin is responsible for disposing of all passed in ppix. - */ - tmResult (*PushVideo)( - const tmStdParms* inStdParms, - const tmInstance* inInstance, - const tmPushVideo* inPushVideo); -} tmModule; - - -/** -** Entry point. -*/ -#define tmEntryPointName "xTransmitEntry" -typedef tmResult (*tmEntryFunc)( - csSDK_int32 inInterfaceVersion, // tmInterfaceVersion - prBool inLoadModule, // tmEntryFunc will be called once on load, and once on unload - piSuitesPtr piSuites, - tmModule* outModule); - - - -#ifdef __cplusplus -} -#endif -#pragma pack(pop) - - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKTransmitInvocationSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKTransmitInvocationSuite.h deleted file mode 100755 index 0caa873..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKTransmitInvocationSuite.h +++ /dev/null @@ -1,95 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2011 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - - -// This file is part of the public Premiere SDK. - - - - -#ifndef PRSDKTRANSMITINVOCATIONSUITE_H -#define PRSDKTRANSMITINVOCATIONSUITE_H - - -#include "PrSDKTransmit.h" - - -#pragma pack(push, 1) -#ifdef __cplusplus -extern "C" { -#endif - - -typedef void (*PrSDKTransmitChangedProc)(void* inTransmitChangedContext); - - - -/** -** Simple suite to push audio & video to active transmit plugins -** Host will conform audio & video to the needs of the plugins -*/ -#define kPrSDKTransmitInvocationSuite "MediaCore Transmit Invocation Suite" -#define kPrSDKTransmitInvocationSuiteVersion 1 - -/** -** IDs of adobe provided transmit plugins. -*/ -#define PrTransmitDesktopAudioPluginID "1A3A1D9F-772F-49EF-8850-402B885EF68C" -#define PrTransmitDVPluginID "CA1A71F1-5D7F-454D-9594-5117F50E2CD3" -#define PrTransmitFullScreenPluginID "D40EB215-EBE2-4E89-9D60-B7375F14A02D" - -typedef struct -{ - /** - ** Fill in video & audio properties, leave other values as 0. - ** Will return an error if no active transmit plugins. - */ - tmResult (*CreateInstance)( - tmInstance* ioInstance, - PrSDKTransmitChangedProc inTransmitChangedProc, - void* inTransmitChangedContext); - tmResult (*DisposeInstance)( - tmInstance* ioInstance); - - /** - ** Push media to active transmit plugins - */ - tmResult (*HasVideoDevice)( - const tmInstance* inInstance, - prBool* outHasVideo); - tmResult (*PushVideo)( - const tmInstance* inInstance, - const tmPushVideo* inPushVideo); - -} PrSDKTransmitInvocationSuite; - - - - -#ifdef __cplusplus -} -#endif -#pragma pack(pop) - - - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKTypes.h b/Syphon-Transmit/Adobe/Headers/PrSDKTypes.h deleted file mode 100755 index f6bf7c9..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKTypes.h +++ /dev/null @@ -1,361 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000-2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - -/* prSDKTypes.h - -Defines common types used by the various Premiere interfaces. - -*/ - -#ifndef PRSDKTYPES_H -#define PRSDKTYPES_H - -#include "PrSDKSetEnv.h" - -#ifdef PRWIN_ENV - -// Make sure Windows doesn't define the min & max macros, -// which collide with std min & max in numerous ways, particularly -// apparent when using non-Microsoft implementations of the -// C++ standard library. -#define NOMINMAX - -#ifndef _WINDOWS_ -#include -#endif - -#elif defined(PRMAC_ENV) -//#include "cstdint" -#include - -#if __OBJC__ - // forward declare for Objective-C/C++ (Cocoa type) - @class NSView; - @class NSWindow; -#else - // forward declare for C++ (opaque, only useful with a pointer type) - struct NSView; - struct NSWindow; -#endif - -#include - -#endif - - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -// Locally defined SDK ints. -// Microsoft does not support C99, so we make our own definitions -#ifdef PRWIN_ENV -typedef signed char csSDK_int8; -typedef short int csSDK_int16; -typedef int csSDK_int32; -typedef signed __int64 csSDK_int64; - -typedef unsigned char csSDK_uint8; -typedef unsigned short int csSDK_uint16; -typedef unsigned int csSDK_uint32; -typedef unsigned __int64 csSDK_uint64; - -#elif defined(PRMAC_ENV) - -typedef int8_t csSDK_int8; -typedef int16_t csSDK_int16; -typedef int32_t csSDK_int32; -typedef int64_t csSDK_int64; - -typedef uint8_t csSDK_uint8; -typedef uint16_t csSDK_uint16; -typedef uint32_t csSDK_uint32; -typedef uint64_t csSDK_uint64; - -#endif - -#if CSSDK_TARGET_ARCH_X64 - typedef csSDK_uint64 csSDK_size_t; -#else - typedef csSDK_uint32 csSDK_size_t; -#endif - -typedef char* PrMemoryPtr; -typedef PrMemoryPtr * PrMemoryHandle; /* pointer to a master pointer */ - -#ifndef kPrMaxPath -#define kPrMaxPath 260 -#endif - -#ifndef MAX_FXALIAS -#define MAX_FXALIAS 32 -#endif -/* non-platform-specific items */ - -typedef csSDK_uint32 prColor; -typedef csSDK_uint32 PrFourCC; - -/* pixel aspect ratio value */ - -typedef csSDK_uint32 prPixelAspectRatio; - -#define kPrMaxName kPrMaxPath - -#ifdef PRMAC_ENV -// [FIX ME] this won't work w/o carbon -typedef Rect prRect; - -#ifndef CALLBACK -#define CALLBACK -#endif - -#endif - -#ifdef PRWIN_ENV -typedef RECT prRect; -#endif - -typedef struct -{ - csSDK_int32 x; - csSDK_int32 y; -} prPoint; - -typedef struct -{ - double x; - double y; -} prFPoint64; - -typedef struct -{ - csSDK_uint8 blue; - csSDK_uint8 green; - csSDK_uint8 red; - csSDK_uint8 alpha; -} prPixel; - -typedef struct -{ - float left; - float top; - float right; - float bottom; -} prFloatRect; - -typedef struct -{ - csSDK_int32 day; - csSDK_int32 month; - csSDK_int32 year; - - csSDK_int32 hours; - csSDK_int32 minutes; - double seconds; -} prDateStamp; - -/* -** Plugin bool support -*/ -typedef csSDK_int32 prBool; -const prBool kPrTrue = 1; -const prBool kPrFalse = 0; - -typedef csSDK_uint8 prUTF8Char; - -#ifdef PRWIN_ENV - -typedef HRGN prRgn; -typedef HWND prWnd; -typedef HWND prParentWnd; -typedef HDC prOffScreen; -typedef wchar_t prUTF16Char; -typedef csSDK_int64 prInt64; - -#elif defined(PRMAC_ENV) - -typedef NSView* prWnd; // Consistent with PlatformViewPtr (Cocoa 64-bit) -typedef NSWindow* prParentWnd; // normally not used on Mac, but consistent with PlatformWindowPtr (Cocoa 64-bit) -typedef struct OpaquePrRgn* prRgn; // not used on Mac, here only for cross-platform compatibility -typedef struct OpaquePrOffscreen* prOffScreen; // not used on Mac, here only for cross-platform compatibility -typedef csSDK_int64 prInt64; -typedef csSDK_uint16 prUTF16Char; - -#endif - - - -/* -** SDK Strings -** This type defines the client storage needed to hold an SDK appropriate string reference. -** All SDK strings must be allocated and disposed using the PrSDKStringSuite -** String data is opaque, and can only be read/written using methods in PrSDKStringSuite -*/ -typedef struct -{ - csSDK_int64 opaque[2]; -} PrSDKString; - -/* -** Define to force an enum to an int size -*/ -#define kPrForceEnumToIntValue 0xFFFFFFFF - -/* PPix struct definition */ -typedef struct -{ - prRect bounds; /* bounds (always 0,0 origin!) */ - csSDK_int32 rowbytes; /* rowbytes */ - csSDK_int32 bitsperpixel; /* currently always 32 */ - void* pix; /* the pixels (not accessible) */ - void* reserved[32]; /* internal data (see ppix_fields.h) */ -} PPix, *PPixPtr, **PPixHand; - -#ifndef PWorldID -typedef csSDK_int16 PWorldID; -#endif - -#ifndef prFieldType -typedef csSDK_int32 prFieldType; - -#define prFieldsNone 0 // Full frame -#define prFieldsUpperFirst 1 // topmost line is dominant -#define prFieldsLowerFirst 2 // topmost+1 line is dominant -#define prFieldsUnknown 3 // has fields, unknown dominance -#define prFieldsAny 4 // supports any field type -#define prFieldsInvalid -1 // unknown if fields, thus invalid -#endif /* prFieldType*/ - -typedef csSDK_int32 PrTimelineID; -typedef csSDK_int32 PrClipID; - -// A GUID string in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, NULL terminated -typedef struct -{ - char mGUID[37]; -} prPluginID; - -namespace -{ - inline void prSetRect(prRect* outRect, int inLeft, int inTop, int inRight, int inBottom) - { - outRect->left = inLeft; - outRect->top = inTop; - outRect->right = inRight; - outRect->bottom = inBottom; - } - - inline void prUTF16CharCopy(prUTF16Char* outDest, const prUTF16Char* inSrc) - { - if (outDest && inSrc) - { - for(;*inSrc; ++outDest, ++inSrc) - { - *outDest = *inSrc; - } - *outDest = 0; - } - } - - inline int prUTF16CharCompare(const prUTF16Char* inLHS, const prUTF16Char* inRHS) - { - if (inLHS && inRHS) - { - for(;*inLHS && *inRHS; ++inLHS, ++inRHS) - { - if (*inLHS < *inRHS) - { - return -1; - } - if (*inRHS < *inLHS) - { - return 1; - } - } - if (*inLHS) - { - return 1; - } - if (*inRHS) - { - return -1; - } - } - return 0; - } - - inline int prUTF16CharLength(const prUTF16Char* inStr) - { - int ret = 0; - if (inStr) - { - for (;*inStr; ++inStr, ++ret) - {} - } - return ret; - } - -} // anonymous namespace - -enum PrParamType -{ - kPrParamType_Int8 = 1, - kPrParamType_Int16, - kPrParamType_Int32, - kPrParamType_Int64, - kPrParamType_Float32, - kPrParamType_Float64, - kPrParamType_Bool, - kPrParamType_Point, - kPrParamType_Guid, - kPrParamType_PrMemoryPtr, - kPrParamType_MaxSize = kPrForceEnumToIntValue -}; - -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; - }; -}; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKTYPES_H */ diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentProperties.h b/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentProperties.h deleted file mode 100755 index 0370d4f..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentProperties.h +++ /dev/null @@ -1,311 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - -#ifndef PRSDKVIDEOSEGMENTPROPERTIES_H -#define PRSDKVIDEOSEGMENTPROPERTIES_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -/** -** This file contains all of the string definitions of properties that may be found in video segments. -** Each one is list by the node type it may show up in, and hs a description of its value type. -** -** No property is ever guaranteed to be present on a node. -*/ - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_ClipID "MediaNode::ClipID" - -// MediaNode, string -#define kVideoSegmentProperty_Media_InstanceString "MediaNode::MediaInstanceString" - -// MediaNode, string -#define kVideoSegmentProperty_Media_ImplementationID "MediaNode::ImplementationID" - -// MediaNode, size_t -#define kVideoSegmentProperty_Media_StreamGroup "MediaNode::MediaStreamGroup" - -// MediaNode, string -#define kVideoSegmentProperty_Media_StreamLabel "MediaNode::MediaStreamLabel" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_IsDraft "MediaNode::MediaIsDraft" - -// MediaNode, binary data -#define kVideoSegmentProperty_Media_ModState "MediaNode::MediaModState" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_IsOffline "MediaNode::MediaIsOffline" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_IsPending "MediaNode::MediaIsPending" - -// MediaNode, PrTime -#define kVideoSegmentProperty_Media_StreamFrameRate "MediaNode::StreamFrameRate" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamAlphaType "MediaNode::StreamAlphaType" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamIgnoreAlpha "MediaNode::StreamIgnoreAlpha" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamInvertAlpha "MediaNode::StreamInvertAlpha" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamAlphaMatteColor "MediaNode::StreamAlphaMatteColor" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamRemovePulldown "MediaNode::StreamRemovePulldown" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamPixelAspectRatioNum "MediaNode::StreamPixelAspectRatioNum" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamFrameWidth "MediaNode::StreamFrameWidth" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamFrameHeight "MediaNode::StreamFrameHeight" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamPixelAspectRatioDen "MediaNode::StreamPixelAspectRatioDen" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamFieldType "MediaNode::StreamFieldType" - -// MediaNode, binary data -#define kVideoSegmentProperty_Media_StreamOpaqueData "MediaNode::StreamOpaqueData" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamPullDownCadence "MediaNode::StreamPullDownCadence" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_StreamFrameVidSubType "MediaNode::StreamFrameVidSubType" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamIsContinuousTime "MediaNode::kVideoSegmentProperty_Media_StreamIsContinuousTime" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamIsRollCrawl "MediaNode::StreamIsRollCrawl" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_RollCrawlDuration "MediaNode::RollCrawlDuration" - -// MediaNode, PrTime -#define kVideoSegmentProperty_Media_ContentStart "MediaNode::ContentStart" - -// MediaNode, PrTime -#define kVideoSegmentProperty_Media_ContentEnd "MediaNode::ContentEnd" - -// MediaNode, PrTime -#define kVideoSegmentProperty_Media_StartTimecodeOffset "MediaNode::StartTimecodeOffset" - -// MediaNode, string -#define kVideoSegmentProperty_Media_NestedSequenceHash "MediaNode::NestedSequenceHash" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_SelectedMulticamTrackFromNestedSequence "MediaNode::SelectedMulticamTrack" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_SelectedMulticamTrackTimelineID "MediaNode::SelectedMulticamTrackTimelineID" - -// MediaNode, int32 -#define kVideoSegmentProperty_Media_NestedSequenceTimelineID "MediaNode::NestedSequenceTimelineID" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_TrackItemIsMuted "MediaNode::TrackItemIsMuted" - -// MediaNode, float64 -#define kVideoSegmentProperty_Media_ClipSpeed "MediaNode::ClipSpeed" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_ClipBackwards "MediaNode::ClipBackwards" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamFrameBlend "MediaNode::StreamFrameBlend" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_ClipScaleToFrameSize "MediaNode::ClipScaleToFrameSize" - -// MediaNode, int, optional see PrNodeScalePolicy -#define kVideoSegmentProperty_Media_ClipScaleToFramePolicy "MediaNode::ClipScaleToFramePolicy" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_StreamReverseFieldDominance "MediaNode::StreamReverseFieldDominance" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_DeinterlaceAlways "MediaNode::DeinterlaceAlways" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_RemoveFlicker "MediaNode::RemoveFlicker" - -// MediaNode, bool -#define kVideoSegmentProperty_Media_InterlaceConsecutiveFrames "MediaNode::InterlaceConsecutiveFrames" - -// MediaNode, string -#define kVideoSegmentProperty_Media_ColorProfileName "MediaNode::SelectedColorProfileName" - -// MediaNode, binary data -#define kVideoSegmentProperty_Media_ColorProfileData "MediaNode::SelectedColorProfileData" - -// MediaNode, int32 - positive values mean shift up, negative means shift down -#define kVideoSegmentProperty_Media_ScanlineOffsetToImproveVerticalCentering "MediaNode::ScanlineOffsetToImproveVerticalCentering" - -// MediaNode, int64 - media in point in units of ticks in media time -#define kVideoSegmentProperty_Media_InPointMediaTimeAsTicks "MediaNode::InPointMediaTimeAsTicks" - -// MediaNode, int64 - media out point in units of ticks in media time -#define kVideoSegmentProperty_Media_OutPointMediaTimeAsTicks "MediaNode::OutPointMediaTimeAsTicks" - -// MediaNode, int32 - containing sequence field type - only set if differing from media -#define kVideoSegmentProperty_Media_SequenceFieldType "MediaNode::SequenceFieldType" - -// ClipNode, float64 -#define kVideoSegmentProperty_Clip_ClipSpeed "ClipNode::ClipSpeed" - -// ClipNode, bool -#define kVideoSegmentProperty_Clip_ClipBackwards "ClipNode::ClipBackwards" - -// ClipNode, keyframe data -#define kVideoSegmentProperty_Clip_TimeRemapping "ClipNode::TimeRemapping" - -// ClipNode, PrTime -#define kVideoSegmentProperty_Clip_FrameHoldAtTime "ClipNode::FrameHoldAtTime" - -// ClipNode, bool -#define kVideoSegmentProperty_Clip_FrameHoldFilters "ClipNode::FrameHoldFilters" - -// ClipNode, bool -#define kVideoSegmentProperty_Clip_FrameHoldDeinterlace "ClipNode::FrameHoldDeinterlace" - -// ClipNode, int32 -#define kVideoSegmentProperty_Clip_TrackID "ClipNode::TrackID" - -// ClipNode, int64 - the start of the track item in units of ticks in sequence time -#define kVideoSegmentProperty_Clip_TrackItemStartAsTicks "ClipNode::TrackItemStartAsTicks" - -// ClipNode, int64 - the end of the track item in units of ticks in sequence time -#define kVideoSegmentProperty_Clip_TrackItemEndAsTicks "ClipNode::TrackItemEndAsTicks" - -// ClipNode, int64 - the "effective" start of the track item, adjusted for transitions at the head, in units of ticks in sequence time -#define kVideoSegmentProperty_Clip_EffectiveTrackItemStartAsTicks "ClipNode::EffectiveTrackItemStartAsTicks" - -// ClipNode, int64 - the "effective" start of the track item, adjusted for transitions at the tail, in units of ticks in sequence time -#define kVideoSegmentProperty_Clip_EffectiveTrackItemEndAsTicks "ClipNode::EffectiveTrackItemEndAsTicks" - -// ClipNode, bool - only set if false -#define kVideoSegmentProperty_Clip_AllowLinearCompositing "ClipNode::AllowLinearCompositing" - -// MulticamNode, int32 -#define kVideoSegmentProperty_Multicam_SelectedTrack "MulticamNode::SelectedTrack" - -// MulticamNode, bool -#define kVideoSegmentProperty_Multicam_ShowProgram "MulticamNode::ShowProgram" - -// MulticamNode, bool -#define kVideoSegmentProperty_Multicam_Recording "MulticamNode::Recording" - -// MulticamNode, bool -#define kVideoSegmentProperty_Multicam_IsNonMultiCam "MulticamNode::IsNonMultiCam" - -// SolidColorNode, int32 -#define kVideoSegmentProperty_SolidColor_Color "SolidColorNode::Color" - -// EffectNode, string -#define kVideoSegmentProperty_Effect_FilterMatchName "EffectNode::FilterMatchName" - -// EffectNode, binary data -#define kVideoSegmentProperty_Effect_FilterOpaqueData "EffectNode::FilterOpaqueData" - -// EffectNode, keyframe data -#define kVideoSegmentProperty_Effect_FilterParams "EffectNode::FilterParams" - -// EffectNode, PrTime -#define kVideoSegmentProperty_Effect_EffectDuration "EffectNode::EffectDuration" - -// EffectNode, uint32 -#define kVideoSegmentProperty_Effect_RuntimeInstanceID "EffectNode::RuntimeInstanceID" - -// EffectNode, string -#define kVideoSegmentProperty_Effect_LayerInputHashes "EffectNode::LayerInputHashes" - -// EffectNode, string -#define kVideoSegmentProperty_Effect_StreamLabel "EffectNode::StreamLabel" - -// EffectNode, string -#define kVideoSegmentProperty_Effect_ClipName "EffectNode::ClipName" - -// EffectNode, string -#define kVideoSegmentProperty_Effect_MasterClipName "EffectNode::MasterClipName" - -// TransitionNode, string -#define kVideoSegmentProperty_Transition_TransitionMatchName "TransitionNode::TransitionMatchName" - -// TransitionNode, binary data -#define kVideoSegmentProperty_Transition_TransitionOpaqueData "TransitionNode::TransitionOpaqueData" - -// TransitionNode, fpoint32 -#define kVideoSegmentProperty_Transition_TransitionStartPosition "TransitionNode::TransitionStartPosition" - -// TransitionNode, fpoint32 -#define kVideoSegmentProperty_Transition_TransitionEndPosition "TransitionNode::TransitionEndPosition" - -// TransitionNode, fpoint32 -#define kVideoSegmentProperty_Transition_TransitionCenterPosition "TransitionNode::TransitionCenterPosition" - -// TransitionNode, float32 -#define kVideoSegmentProperty_Transition_TransitionStartPercent "TransitionNode::TransitionStartPercent" - -// TransitionNode, float32 -#define kVideoSegmentProperty_Transition_TransitionEndPercent "TransitionNode::TransitionEndPercent" - -// TransitionNode, float32 -#define kVideoSegmentProperty_Transition_TransitionBorderWidth "TransitionNode::TransitionBorderWidth" - -// TransitionNode, int32 -#define kVideoSegmentProperty_Transition_TransitionBorderColor "TransitionNode::TransitionBorderColor" - -// TransitionNode, bool -#define kVideoSegmentProperty_Transition_TransitionSwitchSources "TransitionNode::TransitionSwitchSources" - -// TransitionNode, bool -#define kVideoSegmentProperty_Transition_TransitionReverse "TransitionNode::TransitionReverse" - -// TransitionNode, int32 -#define kVideoSegmentProperty_Transition_TransitionDirection "TransitionNode::TransitionDirection" - -// TransitionNode, int32 -#define kVideoSegmentProperty_Transition_TransitionAntiAliasQuality "TransitionNode::TransitionAntiAliasQuality" - -// TransitionNode, PrTime -#define kVideoSegmentProperty_Transition_TransitionDuration "TransitionNode::TransitionDuration" - -// TransitionNode, uint32 -#define kVideoSegmentProperty_Transition_RuntimeInstanceID "TransitionNode::RuntimeInstanceID" - -// AdjustmentNode, bool -#define kVideoSegmentProperty_Adjustment_AdjustmentMediaIsOpaque "AdjustmentNode::AdjustmentMediaIsOpaque" - -#endif \ No newline at end of file diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentRenderSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentRenderSuite.h deleted file mode 100755 index eca2d1d..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentRenderSuite.h +++ /dev/null @@ -1,295 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2009 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRVIDEOSEGMENTRENDERSUITE_H -#define PRVIDEOSEGMENTRENDERSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKSEQUENCERENDERSUITE_H -#include "PrSDKSequenceRenderSuite.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKVideoSegmentRenderSuite "MediaCore Video Segment Render Suite" -#define kPrSDKVideoSegmentRenderSuiteVersion 3 // CS6 - -typedef void (*PrSDKVideoSegmentAsyncRenderCompletionProc)( - PPixHand inRenderedFrame, // ppixSuite->Dispose() must be called on this buffer to release its memory - csSDK_int64 inCompletionData, - prSuiteError inResult); - -typedef struct -{ - PrPixelFormat inPixelFormat; - csSDK_int32 inWidth; - csSDK_int32 inHeight; - csSDK_int32 inPixelAspectRatioNumerator; - csSDK_int32 inPixelAspectRatioDenominator; - prFieldType inFieldType; - PrRenderQuality inQuality; -} ClipFrameDescriptor; - -typedef struct -{ - /** - ** For a given node, in a given timeline, render the frame that that node would normally produce, given an overriding frame rect. - ** For any of the overrides, you can pass zero, implying that you don't want to override at all. This is useful when rendering the inputs to a MulticamNode - ** Note that the resulting frame may not match any of your requested pixel formats. - ** - ** @param inTimelineID - the timeline identifier provided by the host - ** @param inNodeID - the node you would like to render. Effect nodes are not suitable for this call, but all other node types will work fine. - ** In general, inputs will work, operators will not. - ** @param inSequenceTime - the time you want rendered, in the containing timeline. This is used for filters that request other media during their render - ** @param inSegmentTime - the time you want rendered, relative to the node's concept of time, not the containing timeline. - ** @param inFrameRateScale - the frame rate you want rendered. In general, this should be the framerate of the timeline, but any can be provided. - ** @param inFrameRateSampleSize - see above. - ** @param inSequenceWidth - the overridden sequence width - ** @param inSequenceHeight - the overridden sequence height - ** @param inSequencePixelAspectRatioNumerator - the overridden sequence PAR - ** @param inSequencePixelAspectRatioDenominator - the overridden sequence PAR - ** @param inRenderParams - the same set of render params used in the SequenceRenderSuite. The option to composite on black is ignored. - ** @param inCompletionProc - the callback that will be called when the render is complete. - ** @param inAsyncCompletionData - an extra param that will be provided to the completion routine. - ** @param outRequestID - an identifier that can be used to cancel this request. It isn't really useful for anything else since your - ** completion routine can be called before this one returns. - */ - prSuiteError (*ProduceFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inNodeID, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - csSDK_int32 inSequenceWidth, - csSDK_int32 inSequenceHeight, - csSDK_int32 inSequencePixelAspectRatioNumerator, - csSDK_int32 inSequencePixelAspectRatioDenominator, - const SequenceRender_ParamsRec* inRenderParams, - PrSDKVideoSegmentAsyncRenderCompletionProc inCompletionProc, - csSDK_int64 inAsyncCompletionData, - csSDK_int32* outRequestID); - - /** - ** A matching function for ProduceFrameAsync. This allows you to check the cache for this frame - ** prior to requesting it to be rendered. - */ - prSuiteError (*GetIdentifierForProduceFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inNodeID, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - csSDK_int32 inSequenceWidth, - csSDK_int32 inSequenceHeight, - csSDK_int32 inSequencePixelAspectRatioNumerator, - csSDK_int32 inSequencePixelAspectRatioDenominator, - const SequenceRender_ParamsRec* inRenderParams, - prPluginID* outIdentifier); - - /** - ** For a given operator, in a given timeline, with a provided input frame, render the effect asynchronously. - ** For any of the overrides, you can pass zero, implying that you don't want to override at all. This is useful when rendering the inputs to a MulticamNode - ** Note that the resulting frame may not match any of your requested pixel formats. - ** - ** @param inTimelineID - the timeline identifier provided by the host - ** @param inClipNodeID - the Clip that contains the operator you want to render - ** @param inOperatorStartIndex - the zero-based index of the operator you want to start rendering at - ** @param inOperatorCount - the number of operators you want to apply - ** @param inSequenceTime - the time you want rendered, in the containing timeline. This is used for filters that request other media during their render - ** @param inSegmentTime - the time you want rendered, relative to the node's concept of time, not the containing timeline. - ** @param inFrameRateScale - the frame rate you want rendered. In general, this should be the framerate of the timeline, but any can be provided. - ** @param inFrameRateSampleSize - see above. - ** @param inSequenceWidth - the overridden sequence width - ** @param inSequenceHeight - the overridden sequence height - ** @param inSequencePixelAspectRatioNumerator - the overridden sequence PAR - ** @param inSequencePixelAspectRatioDenominator - the overridden sequence PAR - ** @param inInputFrame - can be NULL if inOperatorStartIndex is 0, implies that you want the host to provide the clip node's input frame - ** @param inRenderParams - the same set of render params used in the SequenceRenderSuite. The option to composite on black is ignored. - ** @param inCompletionProc - the callback that will be called when the render is complete. - ** @param inAsyncCompletionData - an extra param that will be provided to the completion routine. - ** @param outRequestID - an identifier that can be used to cancel this request. It isn't really useful for anything else since your - ** completion routine can be called before this one returns. - */ - prSuiteError (*ApplyOperatorsToFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inClipNodeID, - csSDK_int32 inOperatorStartIndex, - csSDK_int32 inOperatorCount, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - csSDK_int32 inSequenceWidth, - csSDK_int32 inSequenceHeight, - csSDK_int32 inSequencePixelAspectRatioNumerator, - csSDK_int32 inSequencePixelAspectRatioDenominator, - PPixHand inInputFrame, - const SequenceRender_ParamsRec* inRenderParams, - PrSDKVideoSegmentAsyncRenderCompletionProc inCompletionProc, - csSDK_int64 inAsyncCompletionData, - csSDK_int32* outRequestID); - - /** - ** A matching function for ApplyOperatorsToFrameAsync. This allows you to check the cache for this frame - ** prior to requesting it to be rendered. - */ - prSuiteError (*GetIdentifierForApplyOperatorsToFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inClipNodeID, - csSDK_int32 inOperatorStartIndex, - csSDK_int32 inOperatorCount, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - csSDK_int32 inSequenceWidth, - csSDK_int32 inSequenceHeight, - csSDK_int32 inSequencePixelAspectRatioNumerator, - csSDK_int32 inSequencePixelAspectRatioDenominator, - PPixHand inInputFrame, - const SequenceRender_ParamsRec* inRenderParams, - prPluginID* outIdentifier); - - /** - ** For a given transition, in a given timeline, with two (optional) provided input frames, render the transition. - ** Note that the resulting frame may not match any of your requested pixel formats. - ** - ** @param inTimelineID - the timeline identifier provided by the host - ** @param inTransitionNodeID - Only transition nodes are acceptable here. - ** @param inSequenceTime - the time you want rendered, in the containing timeline. This is used for filters that request other media during their render - ** @param inSegmentTime - the time you want rendered, relative to the node's concept of time, not the containing timeline. - ** @param inFrameRateScale - the frame rate you want rendered. In general, this should be the framerate of the timeline, but any can be provided. - ** @param inFrameRateSampleSize - see above. - ** @param inOutgoingInputFrame - if the PPixHand is NULL, then transparent black will be used - ** @param inIncomingInputFrame - if the PPixHand is NULL, then transparent black will be used - ** @param inRenderParams - the same set of render params used in the SequenceRenderSuite. The option to composite on black is ignored. - ** @param inCompletionProc - the callback that will be called when the render is complete. - ** @param inAsyncCompletionData - an extra param that will be provided to the completion routine. - ** @param outRequestID - an identifier that can be used to cancel this request. It isn't really useful for anything else since your - ** completion routine can be called before this one returns. - */ - prSuiteError (*ApplyTransitionToFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inTransitionNodeID, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - PPixHand inOutgoingInputFrame, - PPixHand inIncomingInputFrame, - const SequenceRender_ParamsRec* inRenderParams, - PrSDKVideoSegmentAsyncRenderCompletionProc inCompletionProc, - csSDK_int64 inAsyncCompletionData, - csSDK_int32* outRequestID); - - /** - ** A matching function for ApplyOperatorsToFrameAsync. This allows you to check the cache for this frame - ** prior to requesting it to be rendered. - */ - prSuiteError (*GetIdentifierForApplyTransitionToFrameAsync)( - PrTimelineID inTimelineID, - csSDK_int32 inTransitionNodeID, - PrTime inSequenceTime, - PrTime inSegmentTime, - PrTime inSequenceTicksPerFrame, - PPixHand inOutgoingInputFrame, - PPixHand inIncomingInputFrame, - const SequenceRender_ParamsRec* inRenderParams, - prPluginID* outIdentifier); - - /** - ** For a given clip (the ClipID is a property of a media node, if applicable), determine the best possible match for a given frame descriptor - ** - ** @param inClipID - a clip ID retrieved from a media node - ** @param inClipTime - it's possible for a source to vary it's answer over time - ** @param inDesiredClipFrameDescriptor - the size, par, quality and pixel format you're looking for. You can leave the size or par at 0 if you just want the native size returned. - ** @param outBestFrameDescriptor - the closest match available. It might not be all that close a match, but it's what we can get from the importer/source - */ - prSuiteError (*SelectClipFrameDescriptor)( - PrClipID inClipID, - PrTime inClipTime, - const ClipFrameDescriptor* inDesiredClipFrameDescriptor, - ClipFrameDescriptor* outBestFrameDescriptor); - - /** - ** For a given clip, at a given time, start a prefetch. - ** - ** @param inClipID - a clip ID retrieved from a media node - ** @param inRequestedFrameDescriptor - a frame descriptor which was returned from a call to SelectClipFrameDescriptor - ** @param inMediaTime - the time, in the media space, that you wish to request - ** @param inCompletionProc - the callback that will be called when the prefetch is complete. - ** @param inAsyncCompletionData - an extra param that will be provided to the completion routine. - ** @param outRequestID - an identifier that can be used to cancel this request. It isn't really useful for anything else since your - ** completion routine can be called before this one returns. - */ - prSuiteError (*InitiateClipPrefetch)( - PrClipID inClipID, - const ClipFrameDescriptor* inRequestedFrameDescriptor, - PrTime inMediaTime, - PrSDKVideoSegmentAsyncRenderCompletionProc inCompletionProc, - csSDK_int64 inAsyncCompletionData, - csSDK_int32* outRequestID); - - /** - ** A matching function for InitiateClipPrefetch. This allows you to check the cache for this frame - ** prior to requesting it to be rendered. - */ - prSuiteError (*GetIdentifierForInitiateClipPrefetch)( - PrClipID inClipID, - const ClipFrameDescriptor* inRequestedFrameDescriptor, - PrTime inMediaTime, - prPluginID* outIdentifier); - - /** - ** - */ - prSuiteError (*CancelAsyncRequest)( - csSDK_int32 inRequestID); - - /** - ** - */ - prSuiteError (*SupportsInitiateClipPrefetch)( - PrClipID inClipID, - prBool* outSupported); - -} PrSDKVideoSegmentRenderSuite; - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentSuite.h deleted file mode 100755 index eb52fc5..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKVideoSegmentSuite.h +++ /dev/null @@ -1,449 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2007 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -// This file is part of the public Premiere SDK. - - -#ifndef PRVIDEOSEGMENTSUITE_H -#define PRVIDEOSEGMENTSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#ifndef PRSDKMALERRORS_H -#include "PrSDKMALErrors.h" -#endif - -#ifndef PRSDKTIMESUITE_H -#include "PrSDKTimeSuite.h" -#endif - -#ifndef PRSDKSTREAMLABEL_H -#include "PrSDKStreamLabel.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKVideoSegmentSuite "MediaCore Video Segment Suite" -#define kPrSDKVideoSegmentSuiteVersion4 4 -#define kPrSDKVideoSegmentSuiteVersion5 5 //Added StreamLabels -#define kPrSDKVideoSegmentSuiteVersion kPrSDKVideoSegmentSuiteVersion5 - -enum PrNodeInfoFlag -{ - kPrNodeInfoFlag_IsCompletelyOpaque = 1 << 0, - kPrNodeInfoFlag_IsCompletelyTransparent = 1 << 1, - kPrNodeInfoFlag_DoesNotDependOnSequenceTime = 1 << 2, - kPrNodeInfoFlag_NodeDoesNotDependOnSegmentTime = 1 << 3, - kPrNodeInfoFlag_NodeDoesNotDependOnClipInOutTime = 1 << 4, - kPrNodeInfoFlag_IsNOP = 1 << 5, - kPrNodeInfoFlag_NodeDoesNotDependOnTrackInputs = 1 << 6, - kPrNodeInfoFlag_IsAdjustment = 1 << 7, - kPrNodeInfoFlag_MaxSize = 0xFFFFFFFF -}; - -const int kMaxNodeTypeStringSize = 256; - -enum PrKeyframeInterpolationModeFlag -{ - kPrInterpolationModeFlag_Linear = 0, - kPrInterpolationModeFlag_Hold = 4, - kPrInterpolationModeFlag_Bezier = 5, - kPrInterpolationModeFlag_Time = 6, - kPrInterpolationModeFlag_TimeTransitionStart = 7, - kPrInterpolationModeFlag_TimeTransitionEnd = 8, - kPrInterpolationModeFlag_MaxSize = 0xFFFFFFFF -}; - -enum PrNodeScalePolicy -{ - kPrNodeScalePolicy_None = 0, - kPrNodeScalePolicy_ScaleToFrame = 1, //Scale to fit in the frame, no distortion, letter or pillar box - kPrNodeScalePolicy_ScaleToFillCrop = 2, //Scale to fit with overlap, no distortion, but some cropping - kPrNodeScalePolicy_ScaleToFillDistort = 3, //Scale to fit, with distortion, no padding -}; - -/** -** This callback function is used by the property query methods. Iteration can be cancelled at -** any time by returning a result other than malNoError. -** -** @param inPluginObject A value (such as "this") passed by the plugin in the original call -** and passed back in the callback. May be NULL. -** @param inKey The key for the property -** @param inValue The value for the property -*/ -typedef prSuiteError (*SegmentNodePropertyCallback)( - csSDK_int32 inPluginObject, - const char* inKey, - const prUTF8Char* inValue); - -/** -** This is the list of strings that identify the different possible node types -*/ -#define kVideoSegment_NodeType_Clip "RenderableNodeClipImpl" -#define kVideoSegment_NodeType_Compositor "RenderableNodeCompositorImpl" -#define kVideoSegment_NodeType_Disabled "RenderableNodeDisabledImpl" -#define kVideoSegment_NodeType_Effect "RenderableNodeEffectImpl" -#define kVideoSegment_NodeType_Transition "RenderableNodeTransitionImpl" -#define kVideoSegment_NodeType_Media "RenderableNodeMediaImpl" -#define kVideoSegment_NodeType_Preview "RenderableNodePreviewImpl" -#define kVideoSegment_NodeType_SolidColor "RenderableNodeSolidColorImpl" -#define kVideoSegment_NodeType_Multicam "RenderableNodeMulticamImpl" -#define kVideoSegment_NodeType_Adjustment "RenderableNode_AdjustmentImpl" - -typedef struct -{ - - /** - ** From a sequence, get an ID to its video segments ID. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Receives the ID for the Video Segments - */ - prSuiteError (*AcquireVideoSegmentsID)( - PrTimelineID inTimelineData, - csSDK_int32* outVideoSegmentsID); - - /** - ** From a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Receives the ID for the Video Segments with Previews. - */ - prSuiteError (*AcquireVideoSegmentsWithPreviewsID)( - PrTimelineID inTimelineData, - csSDK_int32* outVideoSegmentsID); - - /** - ** From a sequence, get an ID to its video segments ID with preview files substituted, but only previews - ** for sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Recevies the ID for the Video Segments with Previews. - */ - prSuiteError (*AcquireVideoSegmentsWithOpaquePreviewsID)( - PrTimelineID inTimelineData, - csSDK_int32* outVideoSegmentsID); - - /** - ** Release a Video Segments ID - ** - ** @param inVideoSegmentsID The Video Segments ID to release - */ - prSuiteError (*ReleaseVideoSegmentsID)( - csSDK_int32 inVideoSegmentsID); - - /** - ** Get the hash of a Video Segments object - ** - ** @param inVideoSegmentsID The Video Segments ID - ** @param outHash The GUID hash of the segments - */ - prSuiteError (*GetHash)( - csSDK_int32 inVideoSegmentsID, - prPluginID* outHash); - - /** - ** Get the number of segments in the segments object - ** - ** @param inVideoSegmentsID The Video Segments ID - ** @param outNumSegments The number of segments - */ - prSuiteError (*GetSegmentCount)( - csSDK_int32 inVideoSegmentsID, - csSDK_int32* outNumSegments); - - /** - ** Get the details of the Nth Node. - ** - ** @param inVideoSegmentsID The Video Segments ID - ** @param inIndex Which segment? - ** @param outStartTime The start time of the segment - ** @param outEndTime The end time of the segment - ** @param outSegmentOffset The offset value for the segment - ** @param outHash The hash for the segment - */ - prSuiteError (*GetSegmentInfo)( - csSDK_int32 inVideoSegmentsID, - csSDK_int32 inIndex, - PrTime* outStartTime, - PrTime* outEndTime, - PrTime* outSegmentOffset, - prPluginID* outHash); - - /** - ** Get a segment node. This object is ref-counted and must be released. - ** - ** @param inVideoSegmentsID The Video Segments ID - ** @param inHash The hash for the segment - ** @param outVideoNodeID The video node ID. - */ - prSuiteError (*AcquireNodeID)( - csSDK_int32 inVideoSegmentsID, - prPluginID* inHash, - csSDK_int32* outVideoNodeID); - - /** - ** Release a Video Node ID - ** - ** @param inVideoNodeID The Video Node ID to release - */ - prSuiteError (*ReleaseVideoNodeID)( - csSDK_int32 inVideoNodeID); - - /** - ** Get details about a node. - ** - ** @param inVideoNodeID The Video Node ID - ** @param outNodeType A string of size kMaxNodeTypeStringSize holding the node type - ** @param outHash The hash for the node (may be different than the hash used to get the node) - ** @param outInfoFlags The flags for this node (see enum above) - */ - prSuiteError (*GetNodeInfo)( - csSDK_int32 inVideoNodeID, - char* outNodeType, - prPluginID* outHash, - csSDK_int32* outFlags); - - /** - ** Get the number of inputs on the node object - ** - ** @param inVideoNodeID The Video Node ID - ** @param outNumInputs The number of inputs - */ - prSuiteError (*GetNodeInputCount)( - csSDK_int32 inVideoNodeID, - csSDK_int32* outNumInputs); - - /** - ** Get a segment node that is an input to another node. This object is ref-counted and must be released. - ** - ** @param inVideoNodeID The Video Node ID - ** @param inIndex The index of the input - ** @param outOffset The time offset relative to it's parent node - ** @param outInputVideoNodeID The video node ID of the input node. - */ - prSuiteError (*AcquireInputNodeID)( - csSDK_int32 inVideoNodeID, - csSDK_int32 inIndex, - PrTime* outOffset, - csSDK_int32* outInputVideoNodeID); - - /** - ** Get the number of inputs on the node object - ** - ** @param inVideoNodeID The Video Node ID - ** @param outNumOperators The number of operators - */ - prSuiteError (*GetNodeOperatorCount)( - csSDK_int32 inVideoNodeID, - csSDK_int32* outNumOperators); - - /** - ** Get a segment node that is an operator on another node. This object is ref-counted and must be released. - ** - ** @param inVideoNodeID The Video Node ID - ** @param inIndex The index of the operator - ** @param outOperatorVideoNodeID The video node ID of the input node. - */ - prSuiteError (*AcquireOperatorNodeID)( - csSDK_int32 inVideoNodeID, - csSDK_int32 inIndex, - csSDK_int32* outOperatorVideoNodeID); - - /** - ** Iterate all of the properties on a node. - ** - ** @param inVideoNodeID The Video Node ID - ** @param inCallback The callback function to return the properties - ** @param inPluginObject The plugin object returned in the callback. - */ - prSuiteError (*IterateNodeProperties)( - csSDK_int32 inVideoNodeID, - SegmentNodePropertyCallback inCallback, - csSDK_int32 inPluginObject); - - /** - ** Get the value of a single property on a node - ** - ** @param inVideoNodeID The Video Node ID - ** @param inKey The key of the property - ** @param outValue A string holding the value. This UTF8 string is allocated using PrNewPtr, - ** and ownership is transferred to the plugin and must be disposed - ** by the plugin. - */ - prSuiteError (*GetNodeProperty)( - csSDK_int32 inVideoNodeID, - const char* inKey, - PrMemoryPtr* outValue); - - /** - ** Get the number of params - ** - ** @param inVideoNodeID The Video Node ID - ** @param outParamCount The number of params - */ - prSuiteError (*GetParamCount)( - csSDK_int32 inVideoNodeID, - csSDK_int32* outParamCount); - - /** - ** Get a specific param value at a specific time - ** - ** @param inVideoNodeID The Video Node ID - ** @param inIndex The index of the param - ** @param inTime The time requested (in Media time) - ** @param outParam The param - */ - prSuiteError (*GetParam)( - csSDK_int32 inVideoNodeID, - csSDK_int32 inIndex, - PrTime inTime, - PrParam* outParam); - - /** - ** Get the next keyframe time after the specified time. - ** - ** Example: Keyframes at 0 and 10 - ** inTime = -1, outKeyframeTime = 0 - ** inTime = 0, outKeyframeTime = 10 - ** inTime = 9, outKeyframeTime = 10 - ** inTime = 10, returns suiteError_NoKeyframeAfterInTime - ** - ** @param inVideoNodeID The Video Node ID - ** @param inIndex The index of the param - ** @param inTime The lower bound time - ** @param outKeyframeTime The time of the next keyframe > inTime - ** @param outKeyframeInterpolationMode The temporal interpolation mode of the keyframe, see - ** the enum for PrKeyframeInterpolationModeFlag above - */ - prSuiteError (*GetNextKeyframeTime)( - csSDK_int32 inVideoNodeID, - csSDK_int32 inIndex, - PrTime inTime, - PrTime* outKeyframeTime, - csSDK_int32* outKeyframeInterpolationMode); - - /** - ** Transform a node local time into a time appropriate for node inputs and - ** operators. When used on the clip node, for instance, this will take into - ** account speed change, reverse, time remapping and return a time value - ** which can be used in the Media and Effect nodes. - ** If the node does not have a time transform, function will not fail but - ** will return in input time in the output. - */ - prSuiteError (*TransformNodeTime)( - csSDK_int32 inVideoNodeID, - PrTime inTime, - PrTime* outTime); - - /** - ** Retrieve general properties of a sequence (video segments). I.e. width/height, par and framerate. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outWidth Receives width of the sequence - ** @param outHeight Receives height of the sequence - ** @param outPixelAspectRatioNumerator Receives the pixel aspect ratio numerator of the sequence - ** @param outPixelAspectRatioDenominator Receives the pixel aspect ratio denominator of the sequence - ** @param outFrameRateNumerator Receives the frame rate numerator of the sequence - ** @param outFrameRateDenominator Receives the frame rate denominator of the sequence - */ - prSuiteError (*GetVideoSegmentsProperties)( - PrTimelineID inTimelineData, - prRect* outBounds, - csSDK_int32* outPixelAspectRatioNumerator, - csSDK_int32* outPixelAspectRatioDenominator, - PrTime* outFrameRate, - prFieldType* outFieldType); - - /** - ** From a sequence, get a segment node for a requested time. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inVideoSegmentsID The Video Segments ID - ** @param inTime Requested segment time - ** @param outVideoNodeID The video node ID - ** @param outSegmentOffset Offset of retrieved segment - */ - prSuiteError (*AcquireNodeForTime)( - csSDK_int32 inVideoSegmentsID, - PrTime inTime, - csSDK_int32* outVideoNodeID, - PrTime* outSegmentOffset); - - /** - ** From a sequence, get an ID to its video segments ID. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Receives the ID for the Video Segments - */ - prSuiteError (*AcquireVideoSegmentsIDWithStreamLabel)( - PrTimelineID inTimelineData, - PrSDKStreamLabel inStreamLabel, - csSDK_int32* outVideoSegmentsID); - - /** - ** From a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Receives the ID for the Video Segments with Previews. - */ - prSuiteError (*AcquireVideoSegmentsWithPreviewsIDWithStreamLabel)( - PrTimelineID inTimelineData, - PrSDKStreamLabel inStreamLabel, - csSDK_int32* outVideoSegmentsID); - - /** - ** From a sequence, get an ID to its video segments ID with preview files substituted, but only previews - ** for sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted - ** object, and must be released when no longer needed. - ** - ** @param inTimelineID The plugin timeline ID for the sequence - ** @param outVideoSegmentsID Recevies the ID for the Video Segments with Previews. - */ - prSuiteError (*AcquireVideoSegmentsWithOpaquePreviewsIDWithStreamLabel)( - PrTimelineID inTimelineData, - PrSDKStreamLabel inStreamLabel, - csSDK_int32* outVideoSegmentsID); - - -} PrSDKVideoSegmentSuite; - - - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif - diff --git a/Syphon-Transmit/Adobe/Headers/PrSDKWindowSuite.h b/Syphon-Transmit/Adobe/Headers/PrSDKWindowSuite.h deleted file mode 100755 index 8524e8d..0000000 --- a/Syphon-Transmit/Adobe/Headers/PrSDKWindowSuite.h +++ /dev/null @@ -1,52 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 2000 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - - -#ifndef PRSDKWINDOWSUITE_H -#define PRSDKWINDOWSUITE_H - -#ifndef PRSDKTYPES_H -#include "PrSDKTypes.h" -#endif - -#pragma pack(push, 1) - -#ifdef __cplusplus -extern "C" { -#endif - -#define kPrSDKWindowSuite "Premiere Window Suite" -#define kPrSDKWindowSuiteVersion 1 - -typedef struct -{ - prWnd (*GetMainWindow)(); - - void (*UpdateAllWindows)(); -} PrSDKWindowSuite; - -#ifdef __cplusplus -} -#endif - -#pragma pack(pop) - -#endif /* PRSDKWINDOWSUITE_H */ diff --git a/Syphon-Transmit/Adobe/Headers/SPBasic.h b/Syphon-Transmit/Adobe/Headers/SPBasic.h deleted file mode 100755 index 9553ce4..0000000 --- a/Syphon-Transmit/Adobe/Headers/SPBasic.h +++ /dev/null @@ -1,86 +0,0 @@ -/***********************************************************************/ -/* */ -/* SPBasic.h */ -/* */ -/* (c) Copyright 1995-1999, 2002 Adobe Systems Incorporated. */ -/* All Rights Reserved. */ -/* */ -/* Patents Pending */ -/* */ -/* NOTICE: All information contained herein is the property of Adobe */ -/* Systems Incorporated. Many of the intellectual and technical */ -/* concepts contained herein are proprietary to Adobe, are protected */ -/* as trade secrets, and are made available only to Adobe licensees */ -/* for their internal use. Any reproduction or dissemination of this */ -/* software is strictly forbidden unless prior written permission is */ -/* obtained from Adobe. */ -/* */ -/***********************************************************************/ -/* $Id: $ */ -/* $DateTime: $ */ -/* $Change: $ */ -/* $Author: $ */ - -#ifndef __SPBasic__ -#define __SPBasic__ - -/******************************************************************************* - ** - ** Imports - ** - **/ - -#include "SPTypes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************* - ** - ** Constants - ** - **/ - -#define kSPBasicSuite "SP Basic Suite" -#define kSPBasicSuiteVersion 4 - -/******************************************************************************* - ** - ** Suite - ** - **/ - -typedef struct SPBasicSuite { - - SPAPI SPErr (*AcquireSuite)( const char *name, long version, const void **suite ); - SPAPI SPErr (*ReleaseSuite)( const char *name, long version ); - SPAPI SPBoolean (*IsEqual)( const char *token1, const char *token2 ); - SPAPI SPErr (*AllocateBlock)( long size, void **block ); - SPAPI SPErr (*FreeBlock)( void *block ); - SPAPI SPErr (*ReallocateBlock)( void *block, long newSize, void **newblock ); - SPAPI SPErr (*Undefined)( void ); - -} SPBasicSuite; - -SPAPI SPErr SPBasicAcquireSuite( const char *name, long version, const void **suite ); -SPAPI SPErr SPBasicReleaseSuite( const char *name, long version ); -SPAPI SPBoolean SPBasicIsEqual( const char *token1, const char *token2 ); -SPAPI SPErr SPBasicAllocateBlock( long size, void **block ); -SPAPI SPErr SPBasicFreeBlock( void *block ); -SPAPI SPErr SPBasicReallocateBlock( void *block, long newSize, void **newblock ); -SPAPI SPErr SPBasicUndefined( void ); - -/******************************************************************************* - ** - ** Errors - ** - **/ - -#include "SPErrorCodes.h" - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/SPConfig.h b/Syphon-Transmit/Adobe/Headers/SPConfig.h deleted file mode 100755 index dd7efdf..0000000 --- a/Syphon-Transmit/Adobe/Headers/SPConfig.h +++ /dev/null @@ -1,78 +0,0 @@ -/***********************************************************************/ -/* */ -/* SPConfig.h */ -/* */ -/* (c) Copyright 1995-1999, 2002 Adobe Systems Incorporated. */ -/* All Rights Reserved. */ -/* */ -/* Patents Pending */ -/* */ -/* NOTICE: All information contained herein is the property of Adobe */ -/* Systems Incorporated. Many of the intellectual and technical */ -/* concepts contained herein are proprietary to Adobe, are protected */ -/* as trade secrets, and are made available only to Adobe licensees */ -/* for their internal use. Any reproduction or dissemination of this */ -/* software is strictly forbidden unless prior written permission is */ -/* obtained from Adobe. */ -/* */ -/***********************************************************************/ -/* $Id: $ */ -/* $DateTime: $ */ -/* $Change: $ */ -/* $Author: $ */ - -/** - - SPConfig.h is the environment configuration file for Sweet Pea. It - defines MAC_ENV or WIN_ENV. These are used to control platform-specific - sections of code. - - **/ - -#ifndef __SPCnfig__ -#define __SPCnfig__ - -/* - * Metrowerks MacOS 68K and PPC - */ - -#ifdef __APPLE__ -#ifndef MAC_ENV -#define MAC_ENV 1 -#endif -#endif - -/* - * Metrowerks Windows - */ -#ifdef __MWERKS__ -#ifdef __INTEL__ -#ifndef WIN_ENV -#define WIN_ENV 1 -#include -#endif -#endif -#endif - -/* - * Windows - */ -#if defined(_WINDOWS) || defined(_MSC_VER) || defined(WINDOWS) // PSMod, better compiler check -#ifndef WIN_ENV -#define WIN_ENV 1 -#endif -#endif - -/* - * Make certain that one and only one of the platform constants is defined. - */ - -#if !defined(WIN_ENV) && !defined(MAC_ENV) -#error -#endif - -#if defined(WIN_ENV) && defined(MAC_ENV) -#error -#endif - -#endif diff --git a/Syphon-Transmit/Adobe/Headers/SPErrorCodes.h b/Syphon-Transmit/Adobe/Headers/SPErrorCodes.h deleted file mode 100755 index bbc30c4..0000000 --- a/Syphon-Transmit/Adobe/Headers/SPErrorCodes.h +++ /dev/null @@ -1,100 +0,0 @@ -/***********************************************************************/ -/* */ -/* SPErrorCodes.h */ -/* */ -/* (c) Copyright 1995-1999, 2002 Adobe Systems Incorporated. */ -/* All Rights Reserved. */ -/* */ -/* Patents Pending */ -/* */ -/* NOTICE: All information contained herein is the property of Adobe */ -/* Systems Incorporated. Many of the intellectual and technical */ -/* concepts contained herein are proprietary to Adobe, are protected */ -/* as trade secrets, and are made available only to Adobe licensees */ -/* for their internal use. Any reproduction or dissemination of this */ -/* software is strictly forbidden unless prior written permission is */ -/* obtained from Adobe. */ -/* */ -/***********************************************************************/ -/* $Id: $ */ -/* $DateTime: $ */ -/* $Change: $ */ -/* $Author: $ */ - -/******************************************************************************* - ** - ** General Errors - ** - **/ - -// General errors -#define kASNoError 0x00000000L -#define kASUnimplementedError '!IMP' -#define kASUserCanceledError 'stop' - -/******************************************************************************* - ** - ** SP Errors - ** - **/ - -// General errors -#define kSPNoError 0x00000000L -#define kSPUnimplementedError '!IMP' -#define kSPUserCanceledError 'stop' -#define kSPOperationInterrupted 'intr' -#define kSPLogicError 'fbar' // general programming error - -// SPAccessSuite errors -#define kSPCantAcquirePluginError '!Acq' -#define kSPCantReleasePluginError '!Rel' -#define kSPPluginAlreadyReleasedError 'AlRl' - -// SPAdaptsSuite errors -#define kSPAdapterAlreadyExistsError 'AdEx' -#define kSPBadAdapterListIteratorError 'BdAL' - -// SPBasicSuite errors -#define kSPBadParameterError 'Parm' - -// Block debugging errors -#define kSPCantChangeBlockDebugNowError '!Now' -#define kSPBlockDebugNotEnabledError '!Nbl' - -// SPBlocks errors -#define kSPOutOfMemoryError 0xFFFFFF6cL /* -108, same as Mac memFullErr */ -#define kSPBlockSizeOutOfRangeError 'BkRg' - -// SPCaches errors -#define kSPPluginCachesFlushResponse 'pFls' -#define kSPPluginCouldntFlushResponse kSPNoError; - -// SPFiles errors -#define kSPTroubleAddingFilesError 'TAdd' -#define kSPBadFileListIteratorError 'BFIt' - -// SPHost errors -#define kSPTroubleInitializingError 'TIni' // Some non-descript problem encountered while starting up. -#define kHostCanceledStartupPluginsError 'H!St' - -// SPInterface errors -#define kSPNotASweetPeaPluginError 'NSPP' -#define kSPAlreadyInSPCallerError 'AISC' - -// SPPlugins errors -#define kSPUnknownAdapterError '?Adp' -#define kSPBadPluginListIteratorError 'PiLI' -#define kSPBadPluginHost 'PiH0' -#define kSPCantAddHostPluginError 'AdHo' -#define kSPPluginNotFound 'P!Fd' - -// SPProperties errors -#define kSPCorruptPiPLError 'CPPL' -#define kSPBadPropertyListIteratorError 'BPrI' - -// SPSuites errors -#define kSPSuiteNotFoundError 'S!Fd' -#define kSPSuiteAlreadyExistsError 'SExi' -#define kSPSuiteAlreadyReleasedError 'SRel' -#define kSPBadSuiteListIteratorError 'SLIt' -#define kSPBadSuiteInternalVersionError 'SIVs' diff --git a/Syphon-Transmit/Adobe/Headers/SPTypes.h b/Syphon-Transmit/Adobe/Headers/SPTypes.h deleted file mode 100755 index b47475d..0000000 --- a/Syphon-Transmit/Adobe/Headers/SPTypes.h +++ /dev/null @@ -1,184 +0,0 @@ -/***********************************************************************/ -/* */ -/* SPTypes.h */ -/* */ -/* (c) Copyright 1995-1999, 2002 Adobe Systems Incorporated. */ -/* All Rights Reserved. */ -/* */ -/* Patents Pending */ -/* */ -/* NOTICE: All information contained herein is the property of Adobe */ -/* Systems Incorporated. Many of the intellectual and technical */ -/* concepts contained herein are proprietary to Adobe, are protected */ -/* as trade secrets, and are made available only to Adobe licensees */ -/* for their internal use. Any reproduction or dissemination of this */ -/* software is strictly forbidden unless prior written permission is */ -/* obtained from Adobe. */ -/* */ -/***********************************************************************/ -/* $Id: $ */ -/* $DateTime: $ */ -/* $Change: $ */ -/* $Author: $ */ - -/** - - These are the basic declarations used by Sweet Pea. - - **/ - -#ifndef __SPTypes__ -#define __SPTypes__ - -/******************************************************************************* - ** - ** Imports - ** - **/ - -#include "SPConfig.h" - -/* - * You can replace SPTypes.h with your own. Define OTHER_SP_TYPES_H on the - * command line or in SPConfig.h to be the name of the replacement file. - * - * Example: - * - * #define OTHER_SP_TYPES_H "MySPTypes.h" - * #include "SPBasic.h" // for example - * - * Sweet Pea depends on TRUE, FALSE, SPErr, etc. Your replacement must - * define them. - */ - -#ifdef OTHER_SP_TYPES_H -#include OTHER_SP_TYPES_H -#else - -/******************************************************************************* - ** - ** Constants - ** - **/ - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef NULL - -#ifdef MAC_ENV -#if !defined(__cplusplus) && (defined(__SC__) || defined(THINK_C)) -#define NULL ((void *) 0) -#else -#define NULL 0 -#endif -#endif - -#ifdef WIN_ENV -#ifdef __cplusplus -#define NULL 0 -#else -#define NULL ((void *)0) -#endif -#endif - -#endif - -/* - * SPAPI is placed in front of procedure declarations in the API. On the Mac - * it is 'pascal', which forces consistent calling conventions across different - * compilers. On Windows it's nothing. - * - * Example: - * - * SPAPI void *SPAllocateBlock( long size, const char *debug, SPErr *error ); - * - */ - -#ifdef MAC_ENV -#define SPAPI pascal -#endif - -#ifdef WIN_ENV -#define SPAPI -#endif - -#ifdef UInt8 - typedef UInt8 SPUInt8; -#else - typedef unsigned char SPUInt8; -#endif - -#ifdef UInt16 - typedef UInt16 SPUInt16; -#else - typedef unsigned short SPUInt16; -#endif - -#ifdef UInt32 - typedef UInt32 SPUInt32; -#else - typedef unsigned long SPUInt32; -#endif - -#ifdef Int32 - typedef Int32 SPInt32; -#else - typedef long SPInt32; -#endif - -#ifdef MAC_ENV - -/* SPBoolean is the same a Macintosh Boolean. */ -typedef unsigned char SPBoolean; - -#endif - -#ifdef WIN_ENV - -/* SPBoolean is the same a Windows BOOL. */ -typedef int SPBoolean; - -#endif - -/******************************************************************************* - ** - ** Error Handling - ** - **/ - -/* - * Error codes in Sweet Pea are C strings, with the exception of the code for - * no error, which is NULL. The error can first be compared with kSPNoError to - * test if the function succeeded. If it is not NULL then the error can be - * string-compared with predefined error strings. - * - * Example: - * - * SPErr error = kSPNoError; - * - * block = SPAllocateBlock( size, debug, &error ); - * if ( error != kSPNoError ) { - * if ( strcmp( error, kSPOutOfMemoryError ) == 0 ) - * FailOutOfMemory(); - * ... - * } - */ - -typedef long SPErr; - -/* - * kSPNoError and kSPUnimplementedError are universal. Other error codes should - * be defined in the appropriate header files. - */ - -#include "SPErrorCodes.h" - -#endif /* OTHER_SP_TYPES_H */ - -#endif diff --git a/Syphon-Transmit/Adobe/Utils/SDK_File.cpp b/Syphon-Transmit/Adobe/Utils/SDK_File.cpp deleted file mode 100755 index 83e99fa..0000000 --- a/Syphon-Transmit/Adobe/Utils/SDK_File.cpp +++ /dev/null @@ -1,1379 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 1999-2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ -// -// SDK_File.cpp - Used to read/write the SDK file format. -// -// Description: SDK Files can contain audio and video -// In addition they can be RLE compressed -// -// Purpose: This "artificial" file format is used as -// a part of the SDK "Media Abstraction Layer". By writing -// an import and compile module, and optionally a -// real-time playback module and assigning a Filetype, -// Subtype, and a unique ClassID, your plug-ins can -// work cooperatively with one another. -// -// Created by Adobe Developer Technologies for -// Adobe Systems, Inc. -// Part of the Adobe Premiere Pro SDK -// _______________________________________ -// Version 1.0 - eks -// 1.1 - bbb - (.c -> .cpp) -// 1.2 - zal - Fixed file write, work area export -// 1.3 - zal - Added support for arbitrary audio sample rates, multi-channel audio, -// pixel aspect ratio, and fields -// 1.4 - zal - Support for 24-bit video (no alpha channel), versioning -// 2.0 - zal - Generic routines for rendering and writing video, audio, and markers -// 2.5 - zal - High-bit video support (v410) - -#include "SDK_File.h" - -prMALError WriteSDK_FileHeader(exportStdParms *stdParms, exDoExportRec *exportInfoP, PrTime exportDuration) -{ - prMALError result = malNoError; - csSDK_uint32 bytesToWriteLu = 0; - csSDK_uint32 exID = exportInfoP->exporterPluginID; - exParamValues codecSubType, - height, - width, - ticksPerFrame, - fieldType, - pixelAspectRatio, - sampleRate, - channelType; - PrTime ticksPerSample; - ExportSettings *mySettings; - - // Update the private data with the parameter settings - mySettings = reinterpret_cast(exportInfoP->privateData); - - #ifdef PRWIN_ENV - strcpy_s(mySettings->SDKFileRec.name, sizeof(SDK_NAME), SDK_NAME); - #else - strcpy(mySettings->SDKFileRec.name, SDK_NAME); - #endif - mySettings->SDKFileRec.version = SDK_FILE_CURRENT_VERSION; - - if(exportInfoP->exportVideo) - { - mySettings->SDKFileRec.hasVideo = kPrTrue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoCodec, &codecSubType); - mySettings->SDKFileRec.videoSubtype = codecSubType.value.intValue; - - mySettings->SDKFileRec.pixelFormat = (PrPixelFormat)0; - switch(codecSubType.value.intValue) - { - case SDK_8_BIT_RGB: - mySettings->SDKFileRec.depth = 32; - break; - - case SDK_10_BIT_YUV: - mySettings->SDKFileRec.depth = 24; - break; - } - - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoWidth, &width); - mySettings->SDKFileRec.width = width.value.intValue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoHeight, &height); - mySettings->SDKFileRec.height = height.value.intValue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoFPS, &ticksPerFrame); - mySettings->SDKFileRec.numFrames = - static_cast(exportDuration / ticksPerFrame.value.timeValue); // Zero based. - mySettings->SDKFileRec.frameRate = ticksPerFrame.value.timeValue; - - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoFieldType, &fieldType); - mySettings->SDKFileRec.fieldType = fieldType.value.intValue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoAspect, &pixelAspectRatio); - mySettings->SDKFileRec.pixelAspectNum = pixelAspectRatio.value.ratioValue.numerator; - mySettings->SDKFileRec.pixelAspectDen = pixelAspectRatio.value.ratioValue.denominator; - } - else - { - mySettings->SDKFileRec.hasVideo = kPrFalse; // No video in file - } - - if(exportInfoP->exportAudio) - { - mySettings->SDKFileRec.hasAudio = kPrTrue; - mySettings->SDKFileRec.audioSubtype = 'RAW_'; //exportInfoP->outputRec.audCompression.subtype; - - // Calculate audio samples - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEAudioRatePerSecond, &sampleRate); - mySettings->SDKFileRec.sampleRate = sampleRate.value.floatValue; - mySettings->timeSuite->GetTicksPerAudioSample ((float)sampleRate.value.floatValue, &ticksPerSample); - mySettings->SDKFileRec.numSampleFrames = exportDuration / ticksPerSample; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEAudioNumChannels, &channelType); - mySettings->SDKFileRec.channelType = channelType.value.intValue; - } - else - { - mySettings->SDKFileRec.hasAudio = kPrFalse; // No audio in file - } - - // Simple validation - if (mySettings->SDKFileRec.hasVideo && (!mySettings->SDKFileRec.width || !mySettings->SDKFileRec.height)) - { - result = exportReturn_ErrOther; - } - else - { - // Write out the header - bytesToWriteLu = sizeof(SDK_File); - - exportInfoP->privateData = reinterpret_cast(mySettings); - - // Seek to beginning of file - prInt64 newPosition; - mySettings->exportFileSuite->Seek(exportInfoP->fileObject, - 0, - newPosition, - fileSeekMode_Begin); - mySettings->exportFileSuite->Write( exportInfoP->fileObject, - reinterpret_cast(&mySettings->SDKFileRec), - bytesToWriteLu); - } - - return result; -} - - -////////////////////////////////////////////////////////////////// -// -// prWriteFile - File write. -// - -int -prWriteFile ( - imFileRef refNum, - const void *data, - csSDK_uint32 *bytes) -{ - csSDK_uint32 orig_bytes = *bytes; - csSDK_int32 err; - #ifdef PRWIN_ENV - err = !WriteFile(refNum, data, (DWORD)*bytes, (LPDWORD)bytes, NULL); - if (err) - { - err = GetLastError (); - } - #else - err = FSWriteFork( reinterpret_cast(refNum), - fsAtMark, - 0, - orig_bytes, - data, - reinterpret_cast(bytes)); - #endif - - if (!err && (*bytes != orig_bytes)) { - err = exportReturn_OutOfDiskSpace; - } - return err; -} - -////////////////////////////////////////////////////////////////// -// -// WriteRLE - Simple RLE function, frame by frame. -// -// RLE Compress the data in the frame, then write to file -// -/* -void WriteRLE(long *src, compFileRef ref, long totalPix) -{ - long totalNodes = 1; - unsigned long in_bytes = 0; - Node * nodes = (Node*)malloc((sizeof(Node) * totalPix)); // Create Nodes - register Node * N = nodes; - register long * s1 = src; - register long * s2 = src; - - ++s2; - - if (!N) // Make sure I've got the memory... - return; - - N->count = 1; // initialize the first element in our node - N->pixel = *src; // get the value of the first pixel from src - - while (--totalPix) - { - // Look at the source buffer, compare to next. pixel - - if (*s1++ == *s2++) - { - // If the current and next pixel values match, - // increment the count of the already stored - // pixel. - ++(N->count); - } - else - { - // If the current and next pixel don't match - // Increment the node position, start a new node count - // assign the value of the current pixel and increment - // the total number of nodes created. - ++N; - N->count = 1; - N->pixel = *s1; - ++totalNodes; - } - } - in_bytes = totalNodes * sizeof(Node); - prWriteFile(ref, - nodes, - &in_bytes); - - free(nodes); - -} -*/ - -////////////////////////////////////////////////////////////////// -// -// ReadSDKFileAsync - Read theFrame from the indicated SDK file, -// Returns a populated inFrameBuffer. -// Only for uncompressed SDK files -// - -#ifdef PRWIN_ENV -unsigned char ReadSDKFileAsync( - imFileRef SDKfileRef, - csSDK_int32 frameBytes, - csSDK_int32 theFrame, - char *inFrameBuffer, - OVERLAPPED *overlapped) -{ - prBool didRead = 0; - DWORD lastError = 0; - csSDK_int32 offset = sizeof(SDK_File); - csSDK_uint32 bytesRead = 0; - - offset += theFrame * frameBytes; - if( theFrame > 0) - { - // take the extra 4 bytes (\n\n\n\n) at the end of each frame into account - offset += (4 * (theFrame)); - } - - overlapped->Offset = offset; - overlapped->OffsetHigh = 0; - didRead = ReadFile( SDKfileRef, - inFrameBuffer, - frameBytes, - NULL, - overlapped); - - return imNoErr; -} -#endif - - -////////////////////////////////////////////////////////////////// -// -// ReadSDK_File - Read theFrame from the indicated SDK file, -// Returns a populated inFrameBuffer. -// Only for uncompressed SDK files -// - -unsigned char ReadSDK_File( imFileRef SDKfileRef, - csSDK_int32 frameBytes, - csSDK_int32 theFrame, - char *inFrameBuffer) -{ - csSDK_int32 offset = sizeof(SDK_File); - csSDK_uint32 bytesRead = 0; - - #ifdef PRWIN_ENV - char didRead = 0; - #else - OSErr returnValue = 0; - #endif - - offset += theFrame * frameBytes; - if( theFrame > 0) - { - // Take the extra bytes at the end of each frame into account - offset += (PLUS_LINE_LENGTH * (theFrame)); - } - - #ifdef PRWIN_ENV - SetFilePointer(SDKfileRef,offset,NULL,FILE_BEGIN); - didRead = ReadFile( SDKfileRef, - inFrameBuffer, - frameBytes, - reinterpret_cast(&bytesRead), - NULL); - if(!didRead) - { - return imBadFile; - } - #else - returnValue = FSReadFork( reinterpret_cast(SDKfileRef), - fsFromStart, - offset, - frameBytes, - inFrameBuffer, - reinterpret_cast(&bytesRead)); - if(returnValue) - { - return imBadFile; - } - #endif - - return imNoErr; -} - - -////////////////////////////////////////////////////////////////// -// -// ScaleAndBltFrame - Scaling Function -// -// Designed to work with SDK format files, modify for your own importer needs -// - -void ScaleAndBltFrame(imStdParms *stdParms, - SDK_File fileHeader, - csSDK_uint32 frameBytes, - char *inFrameBuffer, - imImportImageRec *imageRec) -{ - // original source and dest in pixels - csSDK_int32 srcWidth, srcHeight, dstWidth, dstHeight, dstCoorW,dstCoorH; - float ratioW, ratioH; - char paddingBytes = 0; - - char *tempPix; - csSDK_int32 *dstPix = (csSDK_int32*)imageRec->pix; - - paddingBytes = (imageRec->rowbytes) - (imageRec->dstWidth * 4); - - srcWidth = fileHeader.width;; - srcHeight = fileHeader.height; - dstWidth = imageRec->dstWidth; - dstHeight = imageRec->dstHeight; - - // coordinate numbers, ratios - - ratioW = (float)srcWidth / (float)dstWidth; - ratioH = (float)srcHeight / (float)dstHeight; - - // loop through the destination coordinate grid, find the "virtual" pixel in source grid - - for(dstCoorH = 0; dstCoorH < dstHeight; ++dstCoorH) - { - for(dstCoorW = 0; dstCoorW < dstWidth; ++dstCoorW) - { - *dstPix = GetSrcPix(inFrameBuffer, fileHeader,dstCoorW,dstCoorH,ratioW,ratioH); - ++dstPix; - } - // add the padding bytes to the dst after it's scaled - tempPix = (char*)dstPix; - tempPix += paddingBytes; - dstPix = (csSDK_int32*)tempPix; - } - return; -} - -////////////////////////////////////////////////////////////////// -// -// GetSrcPix - Utility function used by the scaling functions -// - -csSDK_int32 GetSrcPix(char *inFrameBuffer, - SDK_File fileHeader, - csSDK_uint32 dstCoorW, - csSDK_uint32 dstCoorH, - float ratioW, - float ratioH) -{ - csSDK_uint32 w, h; - csSDK_uint32 *thePixel = reinterpret_cast(inFrameBuffer); - - // The translated coordinates - - w = static_cast(dstCoorW * ratioW); - h = static_cast(dstCoorH * ratioH); - - thePixel += (h * fileHeader.width) + w; - - return *thePixel; -} - - -// Source and destination frames may be the same -void RemoveRowPadding( char *srcFrame, - char *dstFrame, - csSDK_int32 rowBytes, - csSDK_int32 pixelSize, - csSDK_int32 widthL, - csSDK_int32 heightL) -{ - csSDK_int32 widthBytes = widthL * pixelSize; - - if (widthBytes < rowBytes) - { - for(csSDK_int32 hL = 0; hL < heightL; ++hL) - { - memcpy (&dstFrame[hL * widthBytes], &srcFrame[hL * rowBytes], widthBytes); - } - } - - return; -} - - -// Source and destination frames may be the same -void AddRowPadding( char *srcFrame, - char *dstFrame, - csSDK_uint32 rowBytesL, - csSDK_uint32 pixelSize, - csSDK_uint32 widthL, - csSDK_uint32 heightL) -{ - csSDK_uint32 widthBytes = widthL * pixelSize; - - if (widthBytes < rowBytesL) - { - // Expand rows starting from last row, so that we can handle an in-place operation - for(csSDK_int32 hL = heightL - 1; hL >= 0; --hL) - { - memcpy (&dstFrame[hL * rowBytesL], &srcFrame[hL * widthBytes], widthBytes); - } - } - - return; -} - - -// Returns malNoError if successful, or comp_CompileAbort if user aborted -prMALError RenderAndWriteVideoFrame( - const PrTime videoTime, - exDoExportRec *exportInfoP) -{ - csSDK_int32 resultS = malNoError; - csSDK_uint32 exID = exportInfoP->exporterPluginID; - ExportSettings *mySettings = reinterpret_cast(exportInfoP->privateData); - csSDK_int32 rowbytes = 0; - csSDK_int32 renderedPixelSize = 0; - exParamValues width, - height, - pixelAspectRatio, - fieldType, - codecSubType; - PrPixelFormat renderedPixelFormat; - csSDK_uint32 bytesToWriteLu = 0; - char *frameBufferP = NULL, - *f32BufferP = NULL, - *frameNoPaddingP = NULL, - *v410Buffer = NULL; - SequenceRender_ParamsRec renderParms; - PrPixelFormat pixelFormats[] = {PrPixelFormat_BGRA_4444_8u, PrPixelFormat_BGRA_4444_8u}; - - renderParms.inRequestedPixelFormatArray = pixelFormats; - renderParms.inRequestedPixelFormatArrayCount = 1; - - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoWidth, &width); - renderParms.inWidth = width.value.intValue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoHeight, &height); - renderParms.inHeight = height.value.intValue; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoAspect, &pixelAspectRatio); - renderParms.inPixelAspectRatioNumerator = pixelAspectRatio.value.ratioValue.numerator; - renderParms.inPixelAspectRatioDenominator = pixelAspectRatio.value.ratioValue.denominator; - - renderParms.inRenderQuality = kPrRenderQuality_High; - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoFieldType, &fieldType); - renderParms.inFieldType = fieldType.value.intValue; - // By setting this to false, we basically leave deinterlacing up to the host logic - // We could set it to true if we wanted to force deinterlacing - renderParms.inDeinterlace = kPrFalse; - renderParms.inDeinterlaceQuality = kPrRenderQuality_High; - - mySettings->exportParamSuite->GetParamValue(exID, 0, ADBEVideoCodec, &codecSubType); - - switch(codecSubType.value.intValue) - { - case SDK_8_BIT_RGB: - renderParms.inCompositeOnBlack = kPrFalse; - break; - - case SDK_10_BIT_YUV: - renderParms.inCompositeOnBlack = kPrTrue; - renderParms.inRequestedPixelFormatArrayCount = 2; - pixelFormats[0] = PrPixelFormat_VUYA_4444_32f; - break; - } - - SequenceRender_GetFrameReturnRec renderResult; - - resultS = mySettings->sequenceRenderSuite->RenderVideoFrame(mySettings->videoRenderID, - videoTime, - &renderParms, - kRenderCacheType_None, // [TODO] Try different settings - &renderResult); - mySettings->ppixSuite->GetPixels( renderResult.outFrame, - PrPPixBufferAccess_ReadOnly, - &frameBufferP); - mySettings->ppixSuite->GetRowBytes(renderResult.outFrame, &rowbytes); - mySettings->ppixSuite->GetPixelFormat(renderResult.outFrame, &renderedPixelFormat); - renderedPixelSize = GetPixelFormatSize(renderedPixelFormat); - - // If user hit cancel - if (resultS == suiteError_CompilerCompileAbort) - { - // Just return the abort - } - else - { - // If there is extra row padding, trim it off. - // Currently, rows are aligned to 128 bytes for optimizations. - // So, for example a width of 320 * 4 bytes per pixel = 1280 = 128 * 10 = no padding - // But a width of 720 * 4 bytes per pixel = 2880 = 128 * 22.5 = padding - if (rowbytes != width.value.intValue * renderedPixelSize) - { - frameNoPaddingP = new char[width.value.intValue * height.value.intValue * renderedPixelSize]; - RemoveRowPadding( frameBufferP, - frameNoPaddingP, - rowbytes, - renderedPixelSize, - width.value.intValue, - height.value.intValue); - rowbytes = width.value.intValue * renderedPixelSize; - frameBufferP = frameNoPaddingP; - } - - if (codecSubType.value.intValue == SDK_10_BIT_YUV) - { - // Check for returned pixel format and convert if necessary - if (renderedPixelFormat == PrPixelFormat_BGRA_4444_8u) - { - f32BufferP = new char[width.value.intValue * height.value.intValue * GetPixelFormatSize(PrPixelFormat_VUYA_4444_32f)]; - ConvertFrom8uTo32f( frameBufferP, - f32BufferP, - width.value.intValue, - height.value.intValue); - ConvertFromBGRA32fToVUYA32f(f32BufferP, - width.value.intValue, - height.value.intValue); - frameBufferP = f32BufferP; - } - - v410Buffer = new char[width.value.intValue * height.value.intValue * GetPixelFormatSize(codecSubType.value.intValue)]; - ConvertFrom32fToV410( frameBufferP, - v410Buffer, - width.value.intValue, - height.value.intValue); - rowbytes = width.value.intValue * GetPixelFormatSize(codecSubType.value.intValue); - frameBufferP = v410Buffer; - } - - // Save the uncompressed frames to disk - if (codecSubType.value.intValue != SDK_RLE) - { - bytesToWriteLu = rowbytes * height.value.intValue; - mySettings->exportFileSuite->Write(exportInfoP->fileObject, - frameBufferP, - bytesToWriteLu); - } - /* - else (codecSubType.value.intValue == SDK_RLE) - { - // Currently the SDK import cannot read RLE - WriteRLE( reinterpret_cast(frameBufferP), - exportInfoP->outputFileRef, - (height.value.intValue * width.value.intValue)); - } - */ - - // Write divider between frames - bytesToWriteLu = PLUS_LINE_LENGTH; - mySettings->exportFileSuite->Write(exportInfoP->fileObject, - const_cast(PLUS_LINE), - bytesToWriteLu); - - // Now that buffer is written to disk, we can dispose of memory - mySettings->ppixSuite->Dispose(renderResult.outFrame); - if (frameNoPaddingP) - { - delete(frameNoPaddingP); - frameNoPaddingP = NULL; - } - if (f32BufferP) - { - delete(f32BufferP); - f32BufferP = NULL; - } - if (v410Buffer) - { - delete(v410Buffer); - v410Buffer = NULL; - } - } - - return resultS; -} - - -void calculateAudioRequest( - imImportAudioRec7 *audioRec7, - const PrAudioSample totalSampleFrames, - PrAudioSample *savedAudioPosition, - PrAudioSample *startAudioPosition, - PrAudioSample *numAudioFrames) -{ - // If audioRec7->position is less than zero, this means Premiere Pro is requesting - // contiguous samples from the last call - if (audioRec7->position < 0) - { - *startAudioPosition = *savedAudioPosition; - } - else - { - *startAudioPosition = audioRec7->position; - } - - // If amount requested is more than amount left in file - if (*startAudioPosition + audioRec7->size > totalSampleFrames) - { - // Update number of actual audio frames to read - *numAudioFrames = totalSampleFrames - *startAudioPosition; - - // Save off next audio position, in case another sequential call is made - *savedAudioPosition = totalSampleFrames; - } - else - { - // Update number of actual audio frames to read - *numAudioFrames = audioRec7->size; - - // Save off next audio position, in case another sequential call is made - *savedAudioPosition = *startAudioPosition + audioRec7->size; - } - - return; -} - - -void setPointerToAudioStart( - ImporterLocalRec8H ldataH, - const PrAudioSample startAudioPosition, - imFileRef SDKfileRef) -{ - csSDK_uint32 totalVideoFramesLu = 0; - csSDK_int64 bytesPerFrameLL = 0, - videoOffsetLL = 0; - PrAudioSample audioOffset = 0; - - #ifdef PRWIN_ENV - csSDK_int32 tempErrorS = 0; - LARGE_INTEGER distanceToMoveLI; - #else - SInt64 distanceToMove; - #endif - - totalVideoFramesLu = (*ldataH)->theFile.numFrames; - if ((*ldataH)->theFile.hasVideo && totalVideoFramesLu > 0) - { - bytesPerFrameLL = (*ldataH)->theFile.width * (*ldataH)->theFile.height * - GetPixelFormatSize((*ldataH)->theFile.videoSubtype); - - videoOffsetLL += totalVideoFramesLu * bytesPerFrameLL; - - // Take the extra bytes at the end of each frame into account - videoOffsetLL += (PLUS_LINE_LENGTH * (totalVideoFramesLu)); - } - - audioOffset = startAudioPosition * AUDIO_SAMPLE_SIZE; - - #ifdef PRWIN_ENV - distanceToMoveLI.QuadPart = sizeof(SDK_File) + videoOffsetLL + audioOffset; - tempErrorS = SetFilePointerEx(SDKfileRef, - distanceToMoveLI, - NULL, - FILE_BEGIN); - - if (tempErrorS == INVALID_SET_FILE_POINTER) - { - GetLastError (); - } - #else - distanceToMove = sizeof(SDK_File) + videoOffsetLL + audioOffset; - FSSetForkPosition ( reinterpret_cast(SDKfileRef), - fsFromStart, - distanceToMove); - #endif -} - - -prMALError readAudioToBuffer ( const PrAudioSample numAudioFrames, - const PrAudioSample totalSampleFrames, - const csSDK_int32 numAudioChannels, - imFileRef SDKfileRef, - float ** audioBuffer) -{ - prMALError result = malNoError; - csSDK_uint32 bytesReadLu = 0; - - #ifdef PRWIN_ENV - csSDK_int32 didReadL = 0; - csSDK_int32 tempErrorS = 0; - LARGE_INTEGER distanceToMoveLI; - #else - SInt64 distanceToMove; - #endif - - // Read all channels into their respective buffers - for (csSDK_int32 bufferIndexL = 0; bufferIndexL < numAudioChannels; bufferIndexL++) - { - #ifdef PRWIN_ENV - didReadL = ReadFile(SDKfileRef, - audioBuffer[bufferIndexL], - static_cast(numAudioFrames) * AUDIO_SAMPLE_SIZE, - reinterpret_cast(&bytesReadLu), - NULL); - if (!didReadL) - { - return imBadFile; - } - - #else - result = FSReadFork(reinterpret_cast(SDKfileRef), - fsAtMark, - 0, - numAudioFrames * AUDIO_SAMPLE_SIZE, - audioBuffer[bufferIndexL], - reinterpret_cast(&bytesReadLu)); - if (result) - { - return imBadFile; - } - #endif - - // Move file pointer to next audio channel - #ifdef PRWIN_ENV - distanceToMoveLI.QuadPart = (totalSampleFrames - numAudioFrames) * AUDIO_SAMPLE_SIZE; - tempErrorS = SetFilePointerEx( SDKfileRef, - distanceToMoveLI, - NULL, - FILE_CURRENT); - - if (tempErrorS == INVALID_SET_FILE_POINTER) - { - GetLastError (); - } - #else - distanceToMove = (totalSampleFrames - numAudioFrames) * AUDIO_SAMPLE_SIZE; - result = FSSetForkPosition( reinterpret_cast(SDKfileRef), - fsFromMark, - distanceToMove); - #endif - } - - return result; -} - - -// Returns malNoError if successful -prMALError RenderAndWriteAllAudio( - exDoExportRec *exportInfoP, - PrTime exportDuration) -{ - csSDK_int32 resultS = malNoError; - csSDK_uint32 exID = exportInfoP->exporterPluginID; - ExportSettings *mySettings = reinterpret_cast(exportInfoP->privateData); - exParamValues ticksPerFrame, - sampleRate, - channelType; - csSDK_int64 distanceToMove; - prInt64 filePtrLocation; - PrAudioSample totalAudioSamples = 0, - samplesRemaining = 0; - csSDK_uint32 audioRenderID = 0; - csSDK_int32 maxBlip = 0; - csSDK_int32 audioBufferSizeL = 0, - samplesRequestedL = 0, - audioChannelsL = 0; - float * audioBuffer[6] = {NULL, NULL, NULL, NULL, NULL, NULL}; - csSDK_uint32 bytesToWriteLu = 0; - - PrSDKMemoryManagerSuite *memorySuite = mySettings->memorySuite; - PrSDKTimeSuite *timeSuite = mySettings->timeSuite; - PrTime ticksPerSample = 0; - - PrSDKExportParamSuite *paramSuite = mySettings->exportParamSuite; - paramSuite->GetParamValue(exID, 0, ADBEVideoFPS, &ticksPerFrame); - paramSuite->GetParamValue(exID, 0, ADBEAudioRatePerSecond, &sampleRate); - paramSuite->GetParamValue(exID, 0, ADBEAudioNumChannels, &channelType); - audioChannelsL = GetNumberOfAudioChannels (channelType.value.intValue); - - timeSuite->GetTicksPerAudioSample ((float)sampleRate.value.floatValue, &ticksPerSample); - - mySettings->sequenceAudioSuite->MakeAudioRenderer( exID, - exportInfoP->startTime, - (PrAudioChannelType)channelType.value.intValue, - kPrAudioSampleType_32BitFloat, - (float)sampleRate.value.floatValue, - &audioRenderID); - - totalAudioSamples = exportDuration / ticksPerSample; - samplesRemaining = totalAudioSamples; - - // Find size of blip to ask for - // The lesser of the value returned from GetMaxBlip and number of samples remaining - mySettings->sequenceAudioSuite->GetMaxBlip (audioRenderID, ticksPerFrame.value.timeValue, &maxBlip); - if (maxBlip < samplesRemaining) - { - samplesRequestedL = maxBlip; - } - else - { - samplesRequestedL = (csSDK_int32) samplesRemaining; - } - - // Set temporary audio buffer size (measured in samples) - // to be size of first blip requested - audioBufferSizeL = samplesRequestedL; - - // Allocate audio buffers - for (csSDK_int32 bufferIndexL = 0; bufferIndexL < audioChannelsL; bufferIndexL++) - { - audioBuffer[bufferIndexL] = (float *) memorySuite->NewPtr (audioBufferSizeL * AUDIO_SAMPLE_SIZE); - } - - while(samplesRemaining && (resultS == malNoError)) - { - // Fill the buffer with audio - resultS = mySettings->sequenceAudioSuite->GetAudio( audioRenderID, - (csSDK_uint32) samplesRequestedL, - audioBuffer, - kPrFalse); - - if (resultS == malNoError) - { - bytesToWriteLu = samplesRequestedL * AUDIO_SAMPLE_SIZE; - - // Write out the buffer of audio retrieved - for (csSDK_int32 bufferIndexL = 0; bufferIndexL < audioChannelsL; bufferIndexL++) - { - resultS = mySettings->exportFileSuite->Write( exportInfoP->fileObject, - reinterpret_cast(audioBuffer[bufferIndexL]), - (csSDK_int32) bytesToWriteLu); - - if (bufferIndexL < audioChannelsL - 1) - { - // Move file pointer to next audio buffer - distanceToMove = totalAudioSamples * AUDIO_SAMPLE_SIZE - bytesToWriteLu; - resultS = mySettings->exportFileSuite->Seek(exportInfoP->fileObject, - distanceToMove, - filePtrLocation, - fileSeekMode_Current); - } - else - { - // Move file pointer back from last to first audio buffer - distanceToMove = -totalAudioSamples * AUDIO_SAMPLE_SIZE * (audioChannelsL - 1); - resultS = mySettings->exportFileSuite->Seek(exportInfoP->fileObject, - distanceToMove, - filePtrLocation, - fileSeekMode_Current); - } - } - - // Calculate remaining audio - samplesRemaining -= samplesRequestedL; - - // Find size of next blip to ask for - mySettings->sequenceAudioSuite->GetMaxBlip (audioRenderID, ticksPerFrame.value.timeValue, &maxBlip); - if (maxBlip < samplesRemaining) - { - samplesRequestedL = maxBlip; - } - else - { - samplesRequestedL = (csSDK_int32) samplesRemaining; - } - if (audioBufferSizeL < samplesRequestedL) - { - samplesRequestedL = audioBufferSizeL; - } - } - } - - // Free up audioBuffer - for (csSDK_int32 bufferIndexL = 0; bufferIndexL < audioChannelsL; bufferIndexL++) - { - memorySuite->PrDisposePtr ((char *) audioBuffer[bufferIndexL]); - } - - mySettings->sequenceAudioSuite->ReleaseAudioRenderer( exID, - audioRenderID); - - return resultS; -} - - -// Writes an HTML File that contains the marker info in the same folder as the output -void WriteMarkerAndProjectDataToFile( - exportStdParms *stdParmsP, - exDoExportRec *exportInfoP) -{ - #ifdef PRWIN_ENV - FILE *fileP = NULL; - prMarkerRef marker = 0; - char *nameZ = NULL, - *commentZ = NULL, - *chapterZ = NULL, - *hrefZ = NULL, - *targetZ = NULL; - wchar_t htmlOutputFilePath[256] = {'\0'}; - char settingsA[256] = {'\0'}; - prBool firstMarker = kPrTrue; - ExportSettings *mySettings = reinterpret_cast(exportInfoP->privateData); - - char HTML_begin[] = "\n\nSDK Exporter - Sequence Marker Data Output\n\n \n", - HTML_body[] = "", - HTML_end[] = "\n", - noMarkers[] = "
There were no markers found in the Adobe Premiere Pro Sequence"; - csSDK_int32 filepathLen = 255; - csSDK_uint32 markerType = 0, - DVDmarkerType = 0, - numMarkers = 0; - PrTime ticksPerSecond = 0, - markerTime = 0, - markerDuration = 0; - float markerTimeFloat = 0.0, - markerDurationFloat = 0.0; - - mySettings->exportFileSuite->GetPlatformPath(exportInfoP->fileObject, &filepathLen, htmlOutputFilePath); - mySettings->timeSuite->GetTicksPerSecond (&ticksPerSecond); - - #ifdef PRWIN_ENV - wcscat_s(htmlOutputFilePath, sizeof (htmlOutputFilePath) / sizeof (wchar_t), L".html"); - _wfopen_s(&fileP, htmlOutputFilePath, L"w"); - #else - wcscat(htmlOutputFilePath, L".html"); - fileP = _wfopen(htmlOutputFilePath, L"w"); - #endif - - mySettings->markerSuite->GetMarkerCount(exportInfoP->timelineData, &numMarkers); - marker = mySettings->markerSuite->GetFirstMarker(exportInfoP->timelineData); - - // If no markers in the timeline, create default "no markers" - if (numMarkers == 0) - { - fprintf(fileP, HTML_begin); - fprintf(fileP, HTML_body); - fprintf(fileP, settingsA); - fprintf(fileP, "%s", &noMarkers); - fprintf(fileP, HTML_end); - fclose(fileP); - - // Exit the function, nothing else to do - return; - } - - while (marker != kInvalidMarkerRef) - { - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_VALUE64, &markerTime); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_DURATION64, &markerDuration); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_NAME, reinterpret_cast(&nameZ)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_COMMENT, reinterpret_cast(&commentZ)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_CHAPTER, reinterpret_cast(&chapterZ)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_HREF, reinterpret_cast(&hrefZ)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_TARGET, reinterpret_cast(&targetZ)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_MARKER_TYPE, reinterpret_cast(&markerType)); - mySettings->markerSuite->GetMarkerData(exportInfoP->timelineData, marker, PRT_DVD_MARKER_TYPE, reinterpret_cast(&DVDmarkerType)); - - // Create an HTML table of marker information, make links active - if (firstMarker) - { - fprintf(fileP, HTML_begin); - fprintf(fileP, HTML_body); - fprintf(fileP, "
\nSequence Marker Data Output

\n"); - fprintf(fileP, "\n"); - firstMarker = false; - } - - markerTimeFloat = static_cast(markerTime) / static_cast(ticksPerSecond); - fprintf(fileP, "", markerTimeFloat); - markerDurationFloat = static_cast(markerDuration) / static_cast(ticksPerSecond); - fprintf(fileP, "\n", markerDurationFloat); - fprintf(fileP, "\n", nameZ); - fprintf(fileP, "\n", commentZ); - fprintf(fileP, "\n", chapterZ); - fprintf(fileP, "\n", hrefZ, hrefZ); - fprintf(fileP, "\n", targetZ); - if (markerType == kMarkerType_Timeline) - { - fprintf(fileP, "\n\n"); - } - else if (markerType == kMarkerType_DVD) - { - if (DVDmarkerType == kDVDMarkerType_Main) - { - fprintf(fileP, "\n\n"); - } - else if (DVDmarkerType == kDVDMarkerType_Scene) - { - fprintf(fileP, "\n\n"); - } - else if (DVDmarkerType == kDVDMarkerType_Stop) - { - fprintf(fileP, "\n\n"); - } - else - { - fprintf(fileP, "\n\n"); - } - } - else - { - fprintf(fileP, "\n\n"); - } - - marker = mySettings->markerSuite->GetNextMarker(exportInfoP->timelineData, marker); - } - - fprintf(fileP, "
Time%.2f sec
Duration%.2f sec
Name%s
Comment%s
Chapter%s
HREF%s
Frame Target%s
Marker TypeTimeline Marker
--------------------
Marker TypeDVD Chapter Marker
--------------------
Marker TypeDVD Scene Marker
--------------------
Marker TypeDVD Stop Marker
--------------------
Marker TypeUnknown DVD Marker
--------------------
Marker TypeUnknown Marker Type
--------------------
\n

\n\n"); - fclose(fileP); - - #endif - - return; -} - - -csSDK_int32 GetNumberOfAudioChannels(csSDK_int32 audioChannelType) -{ - csSDK_int32 numberOfChannels = -1; - - if (audioChannelType == kPrAudioChannelType_Mono) - { - numberOfChannels = 1; - } - else if (audioChannelType == kPrAudioChannelType_Stereo) - { - numberOfChannels = 2; - } - else if (audioChannelType == kPrAudioChannelType_51) - { - numberOfChannels = 6; - } - return numberOfChannels; -} - - -csSDK_int32 GetPixelFormatSize(PrFourCC subtype) -{ - csSDK_int32 formatSize = 4; // Default to size of 8-bit pixel formats - - if (subtype == SDK_10_BIT_YUV) - { - formatSize = 4; - } - return formatSize; -} - - -csSDK_int32 GetPixelFormatSize(PrPixelFormat pixelFormat) -{ - csSDK_int32 formatSize = 4; // Default to size of 8-bit pixel formats - - if (pixelFormat == PrPixelFormat_VUYA_4444_32f) - { - formatSize = 16; - } - return formatSize; -} - - -float max(float a, float b) -{ - return (a > b ? a : b); -} - - -float min(float a, float b) -{ - return (a < b ? a : b); -} - - -void ConvertFrom8uTo32f( - char *buffer8u, - char *buffer32f, - csSDK_int32 width, - csSDK_int32 height) -{ - csSDK_uint32 *tempSrcBuffer = (csSDK_uint32 *)buffer8u; - float *tempDestBuffer = (float *)buffer32f; - csSDK_uint32 X, Y, Z, A; - for (csSDK_int32 row = 0; row < height; row++) - { - for (csSDK_int32 col = 0; col < width; col++) - { - Z = ((*tempSrcBuffer) << 24) >> 24; - Y = ((*tempSrcBuffer) << 16) >> 24; - X = ((*tempSrcBuffer) << 8) >> 24; - A = (*tempSrcBuffer) >> 24; - tempDestBuffer[0] = (float)Z / 255.0f; - tempDestBuffer[1] = (float)Y / 255.0f; - tempDestBuffer[2] = (float)X / 255.0f; - tempDestBuffer[3] = (float)A / 255.0f; - tempSrcBuffer++; - tempDestBuffer += 4; - } - } -} - - -// This uses ITU-R Recommendation BT.601 -void ConvertFromBGRA32fToVUYA32f( - char *buffer32f, - csSDK_int32 width, - csSDK_int32 height) -{ - float *tempBuffer = (float *)buffer32f; - float Y, Cb, Cr; - // The luma component float range is 0.0 = black to 1.0 = white - float Y_RGBtoYCbCr[3] = { 0.299f, 0.587f, 0.114f}; - // The Cb and Cr float range is -0.5 to 0.5 - float Cb_RGBtoYCbCr[3] = { -0.168736f, -0.331264f, 0.5f}; - float Cr_RGBtoYCbCr[3] = { 0.5f, -0.418688f, -0.081312f}; - for (csSDK_int32 row = 0; row < height; row++) - { - for (csSDK_int32 col = 0; col < width; col++) - { - // BGR -> VUY - Y = Y_RGBtoYCbCr[0] * tempBuffer[2] + // Red - Y_RGBtoYCbCr[1] * tempBuffer[1] + // Green - Y_RGBtoYCbCr[2] * tempBuffer[0]; // Blue - Cb = Cb_RGBtoYCbCr[0] * tempBuffer[2] + - Cb_RGBtoYCbCr[1] * tempBuffer[1] + - Cb_RGBtoYCbCr[2] * tempBuffer[0]; - Cr = Cr_RGBtoYCbCr[0] * tempBuffer[2] + - Cr_RGBtoYCbCr[1] * tempBuffer[1] + - Cr_RGBtoYCbCr[2] * tempBuffer[0]; - - tempBuffer[0] = Cr; - tempBuffer[1] = Cb; - tempBuffer[2] = Y; - - tempBuffer += 4; - } - } -} - - -// Converts a 32f VUYA buffer to the v410 format described at -// http://developer.apple.com/quicktime/icefloe/dispatch019.html#v410 -void ConvertFrom32fToV410( - char *buffer32f, - char *bufferV410, - csSDK_int32 width, - csSDK_int32 height) -{ - float *tempSrcBuffer = (float *)buffer32f; - csSDK_int32 *tempDestBuffer = (csSDK_int32 *)bufferV410; - float fY, fCr, fCb; - csSDK_uint32 Y, Cr, Cb; - for (csSDK_int32 row = 0; row < height; row++) - { - for (csSDK_int32 col = 0; col < width; col++) - { - fCr = (*(tempSrcBuffer + 1) * 896.0f + 512.5f); - Cr = (csSDK_uint32)max(64, min(960, fCr)); - fY = (*(tempSrcBuffer + 2) * 876.0f + 64.5f); - Y = (csSDK_uint32)max(64, min(940, fY)); - fCb = (*tempSrcBuffer * 896.0f + 512.5f); - Cb = (csSDK_uint32)max(64, min(960, fCb)); - *tempDestBuffer = (Cr << 22) + (Y << 12) + (Cb << 2); - tempSrcBuffer += 4; - tempDestBuffer++; - } - } -} - - -// Converts to a 32f VUYA buffer from the v410 format described at -// http://developer.apple.com/quicktime/icefloe/dispatch019.html#v410 -void ConvertFromV410To32f( - char *bufferV410, - char *buffer32f, - csSDK_int32 width, - csSDK_int32 height) -{ - csSDK_uint32 *tempSrcBuffer = (csSDK_uint32 *)bufferV410; - float *tempDestBuffer = (float *)buffer32f; - csSDK_uint32 Y, Cr, Cb; // Y != y - for (csSDK_int32 row = 0; row < height; row++) - { - for (csSDK_int32 col = 0; col < width; col++) - { - Cr = (*tempSrcBuffer) >> 22; - Y = ((*tempSrcBuffer) << 10) >> 22; - Cb = ((*tempSrcBuffer) << 20) >> 22; - tempDestBuffer[0] = ((float)Cb - 512.0f) / 896.0f; - tempDestBuffer[1] = ((float)Cr - 512.0f) / 896.0f; - tempDestBuffer[2] = ((float)Y - 64.0f) / 876.0f; - tempDestBuffer[3] = 1.0f; - tempSrcBuffer++; - tempDestBuffer += 4; - } - } -} - - -// Assumes that prTime is a framerate < ticksPerSecond -void ConvertPrTimeToScaleSampleSize( - PrSDKTimeSuite *timeSuite, - PrTime prTime, - csSDK_int32 *scale, - csSDK_int32 *sampleSize) -{ - PrTime ticksPerSecond = 0, - tempFrameRate = 0; - timeSuite->GetTicksPerSecond(&ticksPerSecond); - if (ticksPerSecond % prTime == 0) // a nice round frame rate - { - *scale = static_cast(ticksPerSecond / prTime); - *sampleSize = 1; - } - else - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_NTSC, &tempFrameRate); - if (tempFrameRate == prTime) - { - *scale = 30000; - *sampleSize = 1001; - } - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_NTSC_HD, &tempFrameRate); - if (tempFrameRate == prTime) - { - *scale = 60000; - *sampleSize = 1001; - } - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_24Drop, &tempFrameRate); - if (tempFrameRate == prTime) - { - *scale = 24000; - *sampleSize = 1001; - } - } -} - - -void ConvertScaleSampleSizeToPrTime( - PrSDKTimeSuite *timeSuite, - csSDK_int32 *scale, - csSDK_int32 *sampleSize, - PrTime *prTime) -{ - if ((*scale == 24000 && *sampleSize == 1001) || - (*scale == 23976 && *sampleSize == 1000) || - (*scale == 2397 && *sampleSize == 100)) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_24Drop, prTime); - } - else if (*scale == 24) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_24, prTime); - } - else if (*scale == 25) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_PAL, prTime); - } - else if ((*scale == 30000 && *sampleSize == 1001) || - (*scale == 29970 && *sampleSize == 1000) || - (*scale == 2997 && *sampleSize == 100)) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_NTSC, prTime); - } - else if (*scale == 30) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_30, prTime); - } - else if (*scale == 50) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_PAL_HD, prTime); - } - else if ((*scale == 60000 && *sampleSize == 1001) || - (*scale == 5994 && *sampleSize == 100)) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_NTSC_HD, prTime); - } - else if (*scale == 60) - { - timeSuite->GetTicksPerVideoFrame(kVideoFrameRate_60, prTime); - } -} - - -// Function to convert and copy string literals to the format expected by the exporter API. -// On Win: Pass the input directly to the output -// On Mac: All conversion happens through the CFString format -void copyConvertStringLiteralIntoUTF16(const wchar_t* inputString, prUTF16Char* destination) -{ -#ifdef PRMAC_ENV - int length = wcslen(inputString); - CFRange range = {0, kPrMaxPath}; - range.length = length; - CFStringRef inputStringCFSR = CFStringCreateWithBytes( kCFAllocatorDefault, - reinterpret_cast(inputString), - length * sizeof(wchar_t), - kCFStringEncodingUTF32LE, - kPrFalse); - CFStringGetBytes( inputStringCFSR, - range, - kCFStringEncodingUTF16, - 0, - kPrFalse, - reinterpret_cast(destination), - length * (sizeof (prUTF16Char)), - NULL); - destination[length] = 0; // Set NULL-terminator, since CFString calls don't set it, and MediaCore hosts expect it - CFRelease(inputStringCFSR); -#elif defined PRWIN_ENV - size_t length = wcslen(inputString); - wcscpy_s(destination, length + 1, inputString); -#endif -} - - -// Utility function to merge strcpy_s on Win and strcpy on Mac into one call -void safeStrCpy (char *destStr, int size, const char *srcStr) -{ -#ifdef PRWIN_ENV - strcpy_s (destStr, size, srcStr); -#elif defined PRMAC_ENV - strcpy (destStr, srcStr); -#endif -} - - -// Utility function to merge wcscat_s on Win and wcscat on Mac into one call -void safeWcscat (wchar_t *destStr, int size, const wchar_t *srcStr) -{ -#ifdef PRWIN_ENV - wcscat_s (destStr, size, srcStr); -#elif defined PRMAC_ENV - wcscat (destStr, srcStr); -#endif -} diff --git a/Syphon-Transmit/Adobe/Utils/SDK_File.h b/Syphon-Transmit/Adobe/Utils/SDK_File.h deleted file mode 100755 index bb13574..0000000 --- a/Syphon-Transmit/Adobe/Utils/SDK_File.h +++ /dev/null @@ -1,311 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 1999-2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ -// -// SDK_File.h - Used to read/write a custom file format -// .sdk files are simple media files consisting of a header, -// followed by video, then audio, both optional. - -#ifndef SDKFILE_H -#define SDKFILE_H - -#include "PrSDKStructs.h" -#include "PrSDKImport.h" -#include "PrSDKExport.h" -#include "PrSDKExportFileSuite.h" -#include "PrSDKExportInfoSuite.h" -#include "PrSDKExportParamSuite.h" -#include "PrSDKExportProgressSuite.h" -#include "PrSDKErrorSuite.h" -#include "PrSDKMALErrors.h" -#include "PrSDKMarkerSuite.h" -#include "PrSDKSequenceRenderSuite.h" -#include "PrSDKSequenceAudioSuite.h" -#include "PrSDKClipRenderSuite.h" -#include "PrSDKPPixCreatorSuite.h" -#include "PrSDKPPixCacheSuite.h" -#include "PrSDKMemoryManagerSuite.h" -#include "PrSDKWindowSuite.h" -#include "SDK_Segment_Utils.h" -#ifdef PRMAC_ENV -#include -#endif - -#include -#include - -#define SDK_FILE_CURRENT_VERSION 5 // The current file version number. When making a change - // to the file structure, increment this value. -#define SDK_FILETYPE 'SDK_' // The four character code for our filetype -#define SDK_FILE_EXTENSION L"sdk" - -// Display strings for menus -#define SDK_FILE_NAME L"SDK File" -#define SDK_8_BIT_RGB_NAME L"Uncompressed 8-bit RGB" -#define SDK_10_BIT_YUV_NAME L"Uncompressed 10-bit YUV (v410)" -#define SDK_RLE_NAME L"RLE Compressed 8-bit RGB" - -#define SDK_NAME "PREMIERE SDK_FILE " // This string is used in the file header -#define SDK_CLSS 'DTEK' // ClassID four character code, used in the Editing Mode XML - -// Codec (subtype) fourCCs -#define SDK_8_BIT_RGB 'RAW ' -#define SDK_10_BIT_YUV '10yu' -#define SDK_RLE 'RLE_' - -#define AUDIO_SAMPLE_SIZE 4 // Currently, only 32-bit float is supported -#define PLUS_LINE "++++" // Buffer for padding between video frames -#define PLUS_LINE_LENGTH 4 - - -/////////////////////////////////////////////////////////////////////////////// -// SDK header structure -#pragma pack(1) -typedef struct { - char name[18]; // SDK_NAME (see above) - csSDK_int32 version; // File version # - prBool hasAudio; - PrFourCC audioSubtype; - prBool hasVideo; - PrFourCC videoSubtype; // SDK_8_BIT_RGB, SDK_10_BIT_YUV, or SDK_RLE (not implemented) - // NOTE: for demo purposes - the compiler does NOT compress audio - PrPixelFormat pixelFormat; - csSDK_int32 depth; // Bit depth of video - csSDK_int32 width; - csSDK_int32 height; - csSDK_uint32 numFrames; // Number of video frames - PrAudioSample numSampleFrames;// Number of audio sample frames. Note that audio samples may extend - // past the last video frame. - csSDK_int32 channelType; // Audio channel type; uses same enum as PrSDKAudioSuite.h - // - kAudioChannelType_Mono, kAudioChannelType_Stereo, or kAudioChannelType_51 - PrTime frameRate; - double sampleRate; // Can be any sample rate supported by Premiere - csSDK_int32 fieldType; // Uses same enum as compiler API - // - compFieldsNone, compFieldsUpperFirst, or compFieldsLowerFirst - csSDK_uint32 pixelAspectNum; // Numerator of pixel aspect ratio - csSDK_uint32 pixelAspectDen; // Denominator of pixel aspect ratio - char orgtime[18]; // These fields map directly to those in imTimeInfoRec. - char alttime[18]; - char orgreel[40]; - char altreel[40]; - char logcomment[256]; - csSDK_int32 magic; - csSDK_int32 unused[32]; // For future expansion -} SDK_File, *SDK_FileP, **SDK_FileH; -#pragma pack() - - -/////////////////////////////////////////////////////////////////////////////// -// Importer local data structure, defined here for convenience, -// and shared between the various importer SDK samples - -typedef struct -{ - SDK_File theFile; - PrAudioSample audioPosition; - // fileName is used as an example of saving a filename in private data, - // and could be used if a clip has child files that Premiere doesn't know about - prUTF16Char fileName[256]; - imFileRef fileRef; - #ifdef PRWIN_ENV - HANDLE ioCompletionPort; - #endif - PlugMemoryFuncsPtr memFuncs; - csSDK_int32 importerID; - SPBasicSuite *BasicSuite; - PrSDKPPixCreatorSuite *PPixCreatorSuite; - PrSDKPPixCacheSuite *PPixCacheSuite; - PrSDKPPixSuite *PPixSuite; - PrSDKTimeSuite *TimeSuite; -} ImporterLocalRec8, *ImporterLocalRec8Ptr, **ImporterLocalRec8H; - - -/////////////////////////////////////////////////////////////////////////////// -// Exporter local data structure, defined here for convenience -typedef struct ExportSettings -{ - SDK_File SDKFileRec; // The struct of the file header - VideoSequenceParser *videoSequenceParser; - SPBasicSuite *spBasic; - PrSDKExportParamSuite *exportParamSuite; - PrSDKExportProgressSuite *exportProgressSuite; - PrSDKExportInfoSuite *exportInfoSuite; - PrSDKExportFileSuite *exportFileSuite; - PrSDKErrorSuite3 *errorSuite; - PrSDKClipRenderSuite *clipRenderSuite; - PrSDKMarkerSuite *markerSuite; - PrSDKPPixSuite *ppixSuite; - PrSDKTimeSuite *timeSuite; - PrSDKMemoryManagerSuite *memorySuite; - PrSDKSequenceAudioSuite *sequenceAudioSuite; - PrSDKSequenceRenderSuite *sequenceRenderSuite; - PrSDKWindowSuite *windowSuite; - csSDK_uint32 videoRenderID; - prFieldType sourceFieldType; -} ExportSettings; - - -// Set during exSelParamButton, and passed during exSelExport -typedef struct CodecSettings -{ - prBool sampleSetting; // Sample setting to demonstrate how to set and get custom settings -} CodecSettings; - - -/////////////////////////////////////////////////////////////////////////////// -// Video import-related calls -#ifdef PRWIN_ENV -unsigned char ReadSDKFileAsync( imFileRef SDKfileRef, - csSDK_int32 frameBytes, - csSDK_int32 theFrame, - char *inFrameBuffer, - OVERLAPPED *overlapped); -#endif - -unsigned char ReadSDK_File( imFileRef SDKfileRef, - csSDK_int32 frameBytes, - csSDK_int32 theFrame, - char *inFrameBuffer); - -void AddRowPadding( char *srcFrameZ, - char *dstFrameZ, - csSDK_uint32 rowBytesL, - csSDK_uint32 pixelSize, - csSDK_uint32 widthL, - csSDK_uint32 heightL); - -void ScaleAndBltFrame(imStdParms *stdParms, - SDK_File fileHeader, - csSDK_uint32 frameBytes, - char *inFrameBuffer, - imImportImageRec *imageRec); - -csSDK_int32 GetSrcPix( char *inFrameBuffer, - SDK_File fileHeader, - csSDK_uint32 dstCoorW, - csSDK_uint32 dstCoorH, - float ratioW, - float ratioH); - -int prWriteFile (imFileRef refNum, - const void *data, - csSDK_uint32 *bytes); -/* -void WriteRLE (long *src, - compFileRef ref, - long totalPix); -*/ - - -/////////////////////////////////////////////////////////////////////////////// -// Audio import-related calls -void calculateAudioRequest( - imImportAudioRec7 *audioRec7, - const PrAudioSample totalSampleFrames, - PrAudioSample *savedAudioPosition, - PrAudioSample *startAudioPosition, - PrAudioSample *numAudioFrames); - -void setPointerToAudioStart( - ImporterLocalRec8H ldataH, - const PrAudioSample startAudioPosition, - imFileRef SDKfileRef); - -prMALError readAudioToBuffer ( const PrAudioSample numAudioFrames, - const PrAudioSample totalSampleFrames, - const csSDK_int32 numAudioChannels, - imFileRef SDKfileRef, - float ** audioBuffer); - - -/////////////////////////////////////////////////////////////////////////////// -// Export-related calls -prMALError WriteSDK_FileHeader( exportStdParms *stdParms, - exDoExportRec *exportInfoP, - PrTime exportDuration); - -prMALError RenderAndWriteVideoFrame( - const PrTime videoTime, - exDoExportRec *exportInfoP); - -void RemoveRowPadding( char *srcFrameZ, - char *dstFrameZ, - csSDK_int32 rowBytesL, - csSDK_int32 pixelSize, - csSDK_int32 widthL, - csSDK_int32 heightL); - -prMALError RenderAndWriteAllAudio( - exDoExportRec *exportInfoP, - PrTime exportDuration); - -void WriteMarkerAndProjectDataToFile( - exportStdParms *stdParms, - exDoExportRec *exportInfoP); - - -/////////////////////////////////////////////////////////////////////////////// -// Miscellaneous helper funcs -csSDK_int32 GetNumberOfAudioChannels(csSDK_int32 audioChannelType); - -csSDK_int32 GetPixelFormatSize(PrFourCC subtype); -csSDK_int32 GetPixelFormatSize(PrPixelFormat pixelFormat); - -void ConvertFrom8uTo32f(char *buffer8u, char *buffer32f, csSDK_int32 width, csSDK_int32 height); -void ConvertFromBGRA32fToVUYA32f(char *buffer32f, csSDK_int32 width, csSDK_int32 height); -void ConvertFrom32fToV410(char *buffer32f, char *bufferV210, csSDK_int32 width, csSDK_int32 height); -void ConvertFromV410To32f(char *bufferV210, char *buffer32f, csSDK_int32 width, csSDK_int32 height); - -void ConvertPrTimeToScaleSampleSize( - PrSDKTimeSuite *timeSuite, - PrTime prTime, - csSDK_int32 *scale, - csSDK_int32 *sampleSize); - -void ConvertScaleSampleSizeToPrTime( - PrSDKTimeSuite *timeSuite, - csSDK_int32 *scale, - csSDK_int32 *sampleSize, - PrTime *prTime); - -void copyConvertStringLiteralIntoUTF16(const wchar_t* inputString, prUTF16Char* destination); - -void safeStrCpy (char *destStr, int size, const char *srcStr); -void safeWcscat (wchar_t *destStr, int size, const wchar_t *srcStr); - -// This format does not support audio interleaving or "smart" RLE encoding. - -// Frames end with \n\n\n\n, audio "blips" start with ++++ -// So, read until you get to the first \n, that will be the total amount -// of bytes for the first frame. Likewise for a "frame" or "blip" of audio. - -// RLE Compression is done on a pixel repeat per frame basis. -// So if a row has all one color such as -// [fa,fb,fc,00], it would look like -// (num_repeat)(fafbfc00) -// where num_repeat is the number of pixels from 1 to totalPixels (pixWidth * pixHeight) - -// Node struct, used in RLE compression -typedef struct Node{ - csSDK_int32 count; - csSDK_int32 pixel; -} Node; - -#endif diff --git a/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.cpp b/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.cpp deleted file mode 100755 index 5b6f755..0000000 --- a/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.cpp +++ /dev/null @@ -1,984 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 1992-2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ -/* - 12/24/08 ZL Split segment-parsing code out to separate utility file -*/ - -#include - - -// This is the information we keep on each segment in the cutlist -// We initialize each segment with this default information -segmentInfo::segmentInfo() -{ - segmentHash.mGUID[0] = '\0'; - description = "Empty"; - startTime = -kPrSDKEndOfTimeline; - endTime = kPrSDKEndOfTimeline; - playcode = PRT_PLAYCODE_REALTIME; - clipID = -1; -} - - -VideoSequenceParser::VideoSequenceParser ( - SPBasicSuite *spBasic, - int width, - int height, - csSDK_uint32 PARNum, - csSDK_uint32 PARDen) -{ - mSPBasic = spBasic; - mWidth = width; - mHeight = height; - mPARNum = PARNum; - mPARDen = PARDen; - mCutlist = new std::list(1); // Create cutlist with one empty segment - - // Acquire suites - if (mSPBasic->AcquireSuite(kPrSDKVideoSegmentSuite, kPrSDKVideoSegmentSuiteVersion, - reinterpret_cast((const void **)&mSegmentSuite)) != kSPNoError) - { - // This would be a problem - } - if (mSPBasic->AcquireSuite(kPrSDKMemoryManagerSuite, kPrSDKMemoryManagerSuiteVersion, - reinterpret_cast((const void **)&mMemorySuite)) != kSPNoError) - { - // This would be a problem - } - if (mSPBasic->AcquireSuite(kPrSDKMemoryManagerSuite, kPrSDKMemoryManagerSuiteVersion, - reinterpret_cast((const void **)&mMemorySuite)) != kSPNoError) - { - // This would be a problem - } - if (mSPBasic->AcquireSuite(kPrSDKPPixSuite, kPrSDKPPixSuiteVersion, - reinterpret_cast((const void **)&mPPixSuite)) != kSPNoError) - { - // This would be a problem - } - if (spBasic->AcquireSuite ( kPrSDKMediaAcceleratorSuite, - kPrSDKMediaAcceleratorSuiteVersion, - const_cast(reinterpret_cast(&mMediaAccelSuite))) != kSPNoError) - { - // This would be a problem - } - if (spBasic->AcquireSuite( kPrSDKRollCrawlSuite, - kPrSDKRollCrawlSuiteVersion, - reinterpret_cast((const void **)&mRollCrawlSuite)) != kSPNoError) - { - // This would be a problem; - } - -} - - -VideoSequenceParser::~VideoSequenceParser () -{ - // Cleanup the cutlist - mCutlist->clear(); - delete mCutlist; -} - - -prMALError VideoSequenceParser::ParseSequence (PrTimelineID mSequenceID, csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - std::list::iterator segmentIt, segmentEnd; - csSDK_int32 segmentsID = 0, - nodeID = 0, - numSegments = 0, - nodeFlags = 0; - PrTime startTime = 0, - endTime = 0, - segmentOffset = 0; - prPluginID segmentHash, - nodeHash; - char tempText[255], - nodeType[kMaxNodeTypeStringSize]; - - mSegmentSuite->AcquireVideoSegmentsWithPreviewsID(mSequenceID, &segmentsID); - mSegmentSuite->GetSegmentCount(segmentsID, &numSegments); - segmentIt = mCutlist->begin(); - - if (static_cast(numSegments) > mCutlist->size()) - { - mCutlist->resize(numSegments); - } - - for (int i = 0; i < numSegments; i++, segmentIt++) - { - mSegmentSuite->GetSegmentInfo( segmentsID, - i, - &startTime, - &endTime, - &segmentOffset, - &segmentHash); - mSegmentSuite->AcquireNodeID( segmentsID, - &segmentHash, - &nodeID); - segmentIt->nodeID = nodeID; - // Even if the segment hash doesn't change, the start and end times may be changed - segmentIt->startTime = startTime; - segmentIt->endTime = endTime; - if (strcmp (segmentIt->segmentHash.mGUID, segmentHash.mGUID)) - { - segmentIt->description.clear(); - segmentIt->description.append("Segment Start: "); - } - #ifdef PRWIN_ENV - sprintf_s(tempText, 255, "%*.2f sec ", 7, startTime / 254016000000.0); - #elif defined PRMAC_ENV - sprintf(tempText, "%*.2f sec ", 7, startTime / 254016000000.0); - #endif - segmentIt->description.replace(15, 13, tempText); - - segmentIt->description.replace(28, 6, " End: "); - #ifdef PRWIN_ENV - sprintf_s(tempText, 255, "%*.2f sec ", 7, endTime / 254016000000.0); - #elif defined PRMAC_ENV - sprintf(tempText, "%*.2f sec ", 7, endTime / 254016000000.0); - #endif - segmentIt->description.replace(34, 13, tempText); - - segmentIt->description.replace(47, 9, " Offset: "); - #ifdef PRWIN_ENV - sprintf_s(tempText, 255, "%*.2f sec\n", 8, segmentOffset / 254016000000.0); - #elif defined PRMAC_ENV - sprintf(tempText, "%*.2f sec\n", 8, endTime / 254016000000.0); - #endif - segmentIt->description.replace(56, 13, tempText); - - if (strcmp (segmentIt->segmentHash.mGUID, segmentHash.mGUID)) - { - #ifdef PRWIN_ENV - strcpy_s(segmentIt->segmentHash.mGUID, 37, segmentHash.mGUID); - #elif defined PRMAC_ENV - strcpy(segmentIt->segmentHash.mGUID, segmentHash.mGUID); - #endif - segmentIt->playcode = PRT_PLAYCODE_REALTIME; // RT until proven otherwise - mSegmentSuite->GetNodeInfo( nodeID, - nodeType, - &nodeHash, - &nodeFlags); - if (strcmp(nodeType, kVideoSegment_NodeType_Compositor) == 0) - { - returnValue = parseCompositor(segmentIt, nodeID, indentation + 1); - } - else if (strcmp(nodeType, kVideoSegment_NodeType_Multicam) == 0) - { - returnValue = parseMulticam(segmentIt, nodeID, indentation + 1); - } - else if (strcmp(nodeType, kVideoSegment_NodeType_Preview) == 0) - { - segmentIt->description.append("Preview "); - // Preview files should be marked as non-realtime (even though they should play realtime) - segmentIt->playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - returnValue = parseMedia(segmentIt, nodeID, indentation + 1); - } - else - { - segmentIt->description.append("Unknown Node Type\n"); - } - mSegmentSuite->ReleaseVideoNodeID(nodeID); - } - } - - // If there are no segments, make sure there is a long empty segment - if (!numSegments) - { - mCutlist->clear(); - mCutlist->resize(1); - } - // Otherwise, make sure the segment at the end is a long empty segment - else - { - // Make sure there is one more segment - segmentEnd = mCutlist->end(); - if (segmentIt == segmentEnd) - { - mCutlist->resize(mCutlist->size() + 1); - segmentIt--; - } - - // Create the long empty segment - segmentEnd = segmentIt; - segmentIt--; - segmentEnd->segmentHash.mGUID[0] = '\0'; - segmentEnd->description.clear(); - segmentEnd->startTime = segmentIt->endTime; - segmentEnd->endTime = kPrSDKEndOfTimeline; - segmentEnd->playcode = PRT_PLAYCODE_REALTIME; - - // Delete rest of segments, if any - segmentEnd = mCutlist->end(); - segmentEnd--; - segmentIt++; - if (segmentIt != segmentEnd) - { - mCutlist->erase(++segmentIt, mCutlist->end()); - } - } - - mSegmentSuite->ReleaseVideoSegmentsID(segmentsID); - - return result; -} - - -prMALError VideoSequenceParser::parseCompositor ( - std::list::iterator segmentIt, - csSDK_int32 nodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - - csSDK_int32 nodeInputs = 0, - layerNodeID = 0, - layerNodeFlags = 0; - PrTime layerNodeOffset = 0; - prPluginID layerNodeHash; - char layerNodeType[kMaxNodeTypeStringSize], - tempText[255]; - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Compositor Node\n"); - - // How many layers are in this compositor node? - mSegmentSuite->GetNodeInputCount(nodeID, &nodeInputs); - // Iterate over the layers - for (int nodeInput = 0; nodeInput < nodeInputs; nodeInput++) - { - mSegmentSuite->AcquireInputNodeID( nodeID, - nodeInput, - &layerNodeOffset, - &layerNodeID); - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append(" Layer offset: "); - #ifdef PRWIN_ENV - sprintf_s(tempText, 255, "%*.2f sec\n", 7, layerNodeOffset / 254016000000.0); - #elif defined PRMAC_ENV - sprintf(tempText, "%*.2f sec\n", 7, layerNodeOffset / 254016000000.0); - #endif - segmentIt->description.append(tempText); - - mSegmentSuite->GetNodeInfo( layerNodeID, - layerNodeType, - &layerNodeHash, - &layerNodeFlags); - if (strcmp (layerNodeType, kVideoSegment_NodeType_Clip) == 0) - { - returnValue = parseClips(segmentIt, layerNodeID, indentation + 1); - } - else if (strcmp (layerNodeType, kVideoSegment_NodeType_Transition) == 0) - { - returnValue = parseTransition(segmentIt, layerNodeID, indentation + 1); - } - else - { - // Return an error in the text overlay - } - mSegmentSuite->ReleaseVideoNodeID(layerNodeID); - } - - return result; -} - - -prMALError VideoSequenceParser::parseMulticam ( - std::list::iterator segmentIt, - csSDK_int32 nodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - - char *selectedTrackID; - csSDK_int32 nodeInputs = 0, - layerNodeID = 0, - layerNodeFlags = 0; - PrTime layerNodeOffset = 0; - prPluginID layerNodeHash; - char layerNodeType[kMaxNodeTypeStringSize]; - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Multicam Node\n"); - returnValue = mSegmentSuite->GetNodeProperty( - nodeID, - kVideoSegmentProperty_Multicam_SelectedTrack, - &selectedTrackID); - if (returnValue) - { - // As of CS5, there is a bug (2551735) where nested sequences masquerade as multicam sequences - // If the selected track isn't returned, then we know this was really a nested sequence - ParseSequence(nodeID, indentation); - } - else - { - mMemorySuite->PrDisposePtr(selectedTrackID); - - // How many layers are in this multicam node? - mSegmentSuite->GetNodeInputCount(nodeID, &nodeInputs); - // Iterate over the layers - for (int nodeInput = 0; nodeInput < nodeInputs; nodeInput++) - { - mSegmentSuite->AcquireInputNodeID( nodeID, - nodeInput, - &layerNodeOffset, - &layerNodeID); - mSegmentSuite->GetNodeInfo( layerNodeID, - layerNodeType, - &layerNodeHash, - &layerNodeFlags); - if (strcmp (layerNodeType, kVideoSegment_NodeType_Clip) == 0) - { - returnValue = parseClips(segmentIt, layerNodeID, indentation + 1); - } - else if (strcmp (layerNodeType, kVideoSegment_NodeType_Transition) == 0) - { - returnValue = parseTransition(segmentIt, layerNodeID, indentation + 1); - } - else - { - // Return an error in the text overlay - } - mSegmentSuite->ReleaseVideoNodeID(layerNodeID); - } - } - - return result; -} - - -prMALError VideoSequenceParser::parseTransition ( - std::list::iterator segmentIt, - csSDK_int32 transitionNodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - - PrMemoryPtr transitionName, - transitionDurationString, - transitionOpaqueData, - transitionInstanceID; - csSDK_int32 transitionNodeInputs = 0, - transitionInputNodeID = 0, - transitionInputNodeFlags = 0, - transitionInputNodeInputs = 0; - PrTime transitionDuration = 0, - transitionInputNodeOffset = 0; - prPluginID transitionInputNodeHash; - char transitionInputNodeType[kMaxNodeTypeStringSize]; - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Transition Node: "); - mSegmentSuite->GetNodeProperty( transitionNodeID, - kVideoSegmentProperty_Transition_TransitionMatchName, - &transitionName); - mSegmentSuite->GetNodeProperty( transitionNodeID, - kVideoSegmentProperty_Transition_TransitionDuration, - &transitionDurationString); - returnValue = mSegmentSuite->GetNodeProperty(transitionNodeID, - kVideoSegmentProperty_Transition_TransitionOpaqueData, - &transitionOpaqueData); - mSegmentSuite->GetNodeProperty(transitionNodeID, - "TransitionNode::RuntimeInstanceID", - &transitionInstanceID); - transitionDuration = atoi(transitionDurationString); - segmentIt->description.append(transitionName); - segmentIt->description.append("\n"); - mMemorySuite->PrDisposePtr(transitionName); - mMemorySuite->PrDisposePtr(transitionDurationString); - if (!returnValue) - { - mMemorySuite->PrDisposePtr(transitionOpaqueData); - } - mMemorySuite->PrDisposePtr(transitionInstanceID); - - // This player chooses to mark all transition segments as non-RT - segmentIt->playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - - // How many clip items are in this transition node? - mSegmentSuite->GetNodeInputCount(transitionNodeID, &transitionNodeInputs); - // Iterate over the clips - for (int transitionNodeIndex = 0; transitionNodeIndex < transitionNodeInputs; transitionNodeIndex++) - { - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - if (transitionNodeIndex == 0) - { - segmentIt->description.append("Input 1 (outgoing clip):\n"); - } - else if (transitionNodeIndex == 1) - { - segmentIt->description.append("Input 2 (incoming clip):\n"); - } - returnValue = mSegmentSuite->AcquireInputNodeID(transitionNodeID, - transitionNodeIndex, - &transitionInputNodeOffset, - &transitionInputNodeID); - if (!returnValue && transitionInputNodeID) - { - // This call will return malUnknownError if this transitionNodeInput is empty - returnValue = mSegmentSuite->GetNodeInfo( transitionInputNodeID, - transitionInputNodeType, - &transitionInputNodeHash, - &transitionInputNodeFlags); - if (strcmp(transitionInputNodeType, kVideoSegment_NodeType_Clip) == 0) - { - returnValue = parseClips(segmentIt, transitionInputNodeID, indentation + 1); - } - else - { - for (int i = 0; i < indentation + 1; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Empty (transparent black)\n"); - } - - // How many inputs are there for this node? Should be none. - mSegmentSuite->GetNodeInputCount(transitionInputNodeID, &transitionInputNodeInputs); - mSegmentSuite->ReleaseVideoNodeID(transitionInputNodeID); - } - else - { - for (int i = 0; i < indentation + 1; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Empty (transparent black)\n"); - } - } - - return result; -} - - -prMALError VideoSequenceParser::parseClips ( - std::list::iterator segmentIt, - csSDK_int32 clipNodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - - csSDK_int32 clipNodeInputs = 0, - mediaNodeID = 0, - mediaNodeFlags = 0, - mediaNodeInputs = 0; - PrTime mediaNodeOffset = 0; - prPluginID mediaNodeHash; - char mediaNodeType[kMaxNodeTypeStringSize], - tempText[255]; - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Clip Node\n"); - // How many media items are in this clip node? Should be just one. - mSegmentSuite->GetNodeInputCount(clipNodeID, &clipNodeInputs); - // Iterate over the media - for (int mediaNodeIndex = 0; mediaNodeIndex < clipNodeInputs; mediaNodeIndex++) - { - mSegmentSuite->AcquireInputNodeID( clipNodeID, - mediaNodeIndex, - &mediaNodeOffset, - &mediaNodeID); - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append(" Media offset: "); - #ifdef PRWIN_ENV - sprintf_s(tempText, 255, "%*.2f sec\n", 7, mediaNodeOffset / 254016000000.0); - #elif defined PRMAC_ENV - sprintf(tempText, "%*.2f sec\n", 7, mediaNodeOffset / 254016000000.0); - #endif - segmentIt->description.append(tempText); - - mSegmentSuite->GetNodeInfo( mediaNodeID, - mediaNodeType, - &mediaNodeHash, - &mediaNodeFlags); - if (strcmp(mediaNodeType, kVideoSegment_NodeType_Media) == 0) - { - returnValue = parseMedia(segmentIt, mediaNodeID, indentation + 1); - } - - // How many inputs are there for this media node? Should be none. - mSegmentSuite->GetNodeInputCount(mediaNodeID, &mediaNodeInputs); - mSegmentSuite->ReleaseVideoNodeID(mediaNodeID); - } - - returnValue = parseClipOperators(segmentIt, clipNodeID, indentation + 1); - - return result; -} - - -prMALError VideoSequenceParser::parseMedia ( - std::list::iterator segmentIt, - csSDK_int32 mediaNodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - char *nestedSequenceIDString = 0, - *multicamSequenceIDString = 0, - *mediaSubtype = 0, - *mediaWidthString = 0, - *mediaHeightString = 0, - *mediaPARNumString = 0, - *mediaPARDenString = 0, - *mediaFrameRateString = 0, - *mediaClipSpeedString = 0, - *mediaPath = 0, - *mediaClipIDString = 0, - *mediaAlphaTypeString = 0, - *isOffline = 0; - int nestedSequenceID = 0, - multicamSequenceID = 0, - mediaWidth = 0, - mediaHeight = 0, - mediaPARNum = 0, - mediaPARDen = 0, - mediaClipID = 0, - mediaAlphaType = 0; - double mediaClipSpeed = 0.0; - PrTime mediaFrameRate = 0; - PrMemoryPtr isRollCrawl = 0; - - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Media Node:\n"); - - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_NestedSequenceTimelineID, - &nestedSequenceIDString); - if (!returnValue) - { - // This "media" must be a nested sequence - nestedSequenceID = atoi(nestedSequenceIDString); - returnValue = ParseSequence(nestedSequenceID, indentation + 1); - mMemorySuite->PrDisposePtr(nestedSequenceIDString); - } - else - { - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_SelectedMulticamTrackTimelineID, - &multicamSequenceIDString); - if (!returnValue) - { - // This "media" must be a multicam sequence - multicamSequenceID = atoi(multicamSequenceIDString); - returnValue = parseMulticam(segmentIt, multicamSequenceID, indentation + 1); - } - else - { - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamFrameWidth, - &mediaWidthString); - mediaWidth = atoi(mediaWidthString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamFrameHeight, - &mediaHeightString); - mediaHeight = atoi(mediaHeightString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamPixelAspectRatioNum, - &mediaPARNumString); - mediaPARNum = atoi(mediaPARNumString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamPixelAspectRatioDen, - &mediaPARDenString); - mediaPARDen = atoi(mediaPARDenString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamFrameRate, - &mediaFrameRateString); - mediaFrameRate = atoi(mediaFrameRateString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_ClipSpeed, - &mediaClipSpeedString); - mediaClipSpeed = atof(mediaClipSpeedString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamFrameVidSubType, - &mediaSubtype); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_InstanceString, - &mediaPath); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_ClipID, - &mediaClipIDString); - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamAlphaType, - &mediaAlphaTypeString); - if (returnValue == 0) - { - mediaAlphaType = atoi(mediaAlphaTypeString); - } - if (returnValue == 0) - { - mediaClipID = atoi(mediaClipIDString); - segmentIt->clipID = mediaClipID; - } - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_IsOffline, - &isOffline); - - // If media doesn't match sequence size, or speed is not 100% - if (mediaWidth != mWidth || - mediaHeight != mHeight || - mediaPARNum != mPARNum || - mediaPARDen != mPARDen) - { - segmentIt->playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - } - if (mediaClipSpeed < 0.99 || - mediaClipSpeed > 1.01) - { - for (int i = 0; i < indentation + 1; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Media clip speed changed\n"); - segmentIt->playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - } - - for (int i = 0; i < indentation + 1; i++) - { - segmentIt->description.append(" "); - } - if (mediaClipIDString) - { - segmentIt->description.append("Media ClipID: "); - segmentIt->description.append(mediaClipIDString); - segmentIt->description.append("\n"); - } - - // If media is online - if (!returnValue && (atoi (isOffline) == 0)) - { - for (int i = 0; i < indentation + 1; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append(mediaPath); - - #ifdef PRWIN_ENV - // Sample code to check mpegindex media accelerator for HDV files - if (strcmp (mediaSubtype, "1297106247") == 0) - { - #define ACCEL_KEY L"mpgindex" - prUTF16Char path[255], mediaPathW[255]; - prPluginID documentID, contentState; - MultiByteToWideChar (CP_UTF8, 0, mediaPath, -1, mediaPathW, 255); - mMediaAccelSuite->GetDocumentIDAndContentState (mediaPathW, kPrFalse, &documentID, &contentState); - mMediaAccelSuite->FindPathInDatabase (255, path, &documentID, &contentState, ACCEL_KEY); - } - #endif - - mMemorySuite->PrDisposePtr(mediaSubtype); - mMemorySuite->PrDisposePtr(mediaWidthString); - mMemorySuite->PrDisposePtr(mediaHeightString); - mMemorySuite->PrDisposePtr(mediaPARNumString); - mMemorySuite->PrDisposePtr(mediaPARDenString); - mMemorySuite->PrDisposePtr(mediaFrameRateString); - mMemorySuite->PrDisposePtr(mediaClipSpeedString); - mMemorySuite->PrDisposePtr(mediaPath); - mMemorySuite->PrDisposePtr(mediaClipIDString); - mMemorySuite->PrDisposePtr(mediaAlphaTypeString); - mMemorySuite->PrDisposePtr(isOffline); - - returnValue = mSegmentSuite->GetNodeProperty( - mediaNodeID, - kVideoSegmentProperty_Media_StreamIsRollCrawl, - &isRollCrawl); - // Test code for RollCrawl suite - if (!returnValue && atoi(isRollCrawl) != 0) - { - PrPixelFormat pixelFormatArray[] = {PrPixelFormat_BGRA_4444_8u}; - prSuiteError returnValue = suiteError_NoError; - RollCrawlInfo rollCrawlInfo; - PPixHand rollCrawlPPH; - - returnValue = mRollCrawlSuite->GetRollCrawlClipInfo(mediaClipID, - &rollCrawlInfo); - if (!returnValue) - { - prBool isCrawl = !!(rollCrawlInfo.flags & prcCrawl); - if (isCrawl) - { - segmentIt->description.append("\nCrawling title"); - } - prBool isStartOnscreen = !!(rollCrawlInfo.flags & prcStartOnScreen); - if (isStartOnscreen) - { - segmentIt->description.append("\nStarts onscreen"); - } - prBool isEndOnscreen = !!(rollCrawlInfo.flags & prcEndOnScreen); - if (isEndOnscreen) - { - segmentIt->description.append("\nEnds onscreen"); - } - prBool isReverse = !!(rollCrawlInfo.flags & prcReverse); - if (isReverse) - { - segmentIt->description.append("\nDirection reversed"); - } - } - returnValue = mRollCrawlSuite->GetRollCrawlPage(mediaClipID, - 0, // page - mediaWidth, - mediaHeight, - pixelFormatArray, - 1, - mediaPARNum, - mediaPARDen, - &rollCrawlPPH); - if (returnValue == suiteError_NoError) - { - mPPixSuite->Dispose(rollCrawlPPH); - } - mMemorySuite->PrDisposePtr(reinterpret_cast(isRollCrawl)); - } - segmentIt->description.append("\n"); - } - // If media is offline - else - { - segmentIt->description.append("Media Offline\n"); - } - } - } - - return result; -} - - -prMALError VideoSequenceParser::parseClipOperators ( - std::list::iterator segmentIt, - csSDK_int32 clipNodeID, - csSDK_int32 indentation) -{ - prMALError result = malNoError, - returnValue = malNoError; - csSDK_int32 clipNodeOperators = 0, - operatorNodeID = 0, - operatorNodeFlags = 0, - filterParamCount = 0; - char operatorNodeType[kMaxNodeTypeStringSize]; - prPluginID operatorNodeHash; - PrTime startTime = 0, - nextKeyframeTime = 0; - PrMemoryPtr effectName, effectInstanceID, filterParams; - PrParam motionPositionParam, opacityLevelParam; - - mSegmentSuite->GetNodeOperatorCount(clipNodeID, &clipNodeOperators); - // Iterate over the clip operators - for (int operatorNodeIndex = 0; operatorNodeIndex < clipNodeOperators; operatorNodeIndex++) - { - for (int i = 0; i < indentation; i++) - { - segmentIt->description.append(" "); - } - segmentIt->description.append("Clip Operator: "); - - // This player chooses to mark all segments with clip operators as non-RT - segmentIt->playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - - mSegmentSuite->AcquireOperatorNodeID( clipNodeID, - operatorNodeIndex, - &operatorNodeID); - mSegmentSuite->GetNodeInfo( operatorNodeID, - operatorNodeType, - &operatorNodeHash, - &operatorNodeFlags); - if (strcmp(operatorNodeType, kVideoSegment_NodeType_Effect) == 0) - { - mSegmentSuite->GetNodeProperty( operatorNodeID, - kVideoSegmentProperty_Effect_FilterMatchName, - &effectName); - segmentIt->description.append(effectName); - segmentIt->description.append("\n"); - mSegmentSuite->GetNodeProperty(operatorNodeID, - kVideoSegmentProperty_Effect_RuntimeInstanceID, - &effectInstanceID); - mMemorySuite->PrDisposePtr(effectInstanceID); - - if (strcmp(effectName, "AE.ADBE Motion") == 0) - { - // Look at param values - mSegmentSuite->GetNodeProperty( operatorNodeID, - kVideoSegmentProperty_Effect_FilterParams, - &filterParams); - mSegmentSuite->GetParamCount(operatorNodeID, &filterParamCount); - if (filterParamCount >= 1) - { - mSegmentSuite->GetParam(operatorNodeID, 0, 0, &motionPositionParam); - csSDK_int32 keyframeInterpMode = -1; - returnValue = mSegmentSuite->GetNextKeyframeTime(operatorNodeID, 0, startTime, &nextKeyframeTime, &keyframeInterpMode); - - csSDK_int32 nextKeyframeInterpolationMode = -1; - returnValue = mSegmentSuite->GetNextKeyframeTime(operatorNodeID, 0, nextKeyframeTime, &nextKeyframeTime, &nextKeyframeInterpolationMode); - } - mMemorySuite->PrDisposePtr(filterParams); - } - else if (strcmp(effectName, "AE.ADBE Opacity") == 0) - { - // Look at param values - mSegmentSuite->GetNodeProperty( operatorNodeID, - kVideoSegmentProperty_Effect_FilterParams, - &filterParams); - mSegmentSuite->GetParamCount(operatorNodeID, &filterParamCount); - if (filterParamCount >= 1) - { - mSegmentSuite->GetParam(operatorNodeID, 0, 0, &opacityLevelParam); - } - mMemorySuite->PrDisposePtr(filterParams); - } - mMemorySuite->PrDisposePtr(effectName); - } - - mSegmentSuite->ReleaseVideoNodeID(operatorNodeID); - } - - return result; -} - - -// Searches for the segment that covers the time requested -// If found, returns kFindSegmentSuccess and iterator points to segment requested -// If segment doesn't exist but there are other segments, -// returns kFindSegmentMissing and iterator points to next segment -// If segment is past end of cutlist, returns kFindSegmentEnd -findSegmentReturnCode VideoSequenceParser::CutlistFindSegmentAtTime( - PrTime position, - std::list::iterator *segmentIt) -{ - prBool found = kPrFalse; - - if(!mCutlist->empty()) - { - // Search from beginning to end - for ( *segmentIt = mCutlist->begin(); - found == kPrFalse && *segmentIt != mCutlist->end(); - (*segmentIt)++) - { - if (position < (*segmentIt)->endTime && position >= (*segmentIt)->startTime) - { - return kFindSegmentSuccess; - } - // Is the position in a gap between segments? - else if (position < (*segmentIt)->startTime && *segmentIt != mCutlist->begin()) - { - return kFindSegmentMissing; - } - } - } - return kFindSegmentEnd; -} - -void VideoSequenceParser::GetRTStatus ( - PrTime startTime, - PrTime &endTime, - prtPlaycode &playcode) -{ - std::list::iterator segmentIt; - findSegmentReturnCode findSegmentResult; - - if (startTime == -kPrSDKEndOfTimeline && - mCutlist->begin()->startTime != -kPrSDKEndOfTimeline) - { - endTime = mCutlist->begin()->startTime; - playcode = PRT_PLAYCODE_REALTIME; - } - else - { - findSegmentResult = CutlistFindSegmentAtTime(startTime, &segmentIt); - if (findSegmentResult == kFindSegmentSuccess) - { - endTime = segmentIt->endTime; - playcode = segmentIt->playcode; - } - else if (findSegmentResult == kFindSegmentMissing) - { - endTime = segmentIt->startTime; - playcode = PRT_PLAYCODE_REALTIME; - } - else if (findSegmentResult == kFindSegmentEnd) - { - endTime = kPrSDKEndOfTimeline; - playcode = PRT_PLAYCODE_REALTIME; - } - else - { - endTime = kPrSDKEndOfTimeline; - playcode = PRT_PLAYCODE_NON_REALTIME_UNSPECIFIED; - } - } -} - -PrClipID VideoSequenceParser::FindClipIDAtTime(PrTime position) -{ - PrClipID clipID = -1; - std::list::iterator segmentIt; - findSegmentReturnCode findSegmentResult; - - findSegmentResult = CutlistFindSegmentAtTime(position, &segmentIt); - if (findSegmentResult == kFindSegmentSuccess) - { - clipID = segmentIt->clipID; - } - return clipID; -} diff --git a/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.h b/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.h deleted file mode 100755 index 132623f..0000000 --- a/Syphon-Transmit/Adobe/Utils/SDK_Segment_Utils.h +++ /dev/null @@ -1,123 +0,0 @@ -/*******************************************************************/ -/* */ -/* ADOBE CONFIDENTIAL */ -/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ -/* */ -/* Copyright 1992-2008 Adobe Systems Incorporated */ -/* All Rights Reserved. */ -/* */ -/* NOTICE: All information contained herein is, and remains the */ -/* property of Adobe Systems Incorporated and its suppliers, if */ -/* any. The intellectual and technical concepts contained */ -/* herein are proprietary to Adobe Systems Incorporated and its */ -/* suppliers and may be covered by U.S. and Foreign Patents, */ -/* patents in process, and are protected by trade secret or */ -/* copyright law. Dissemination of this information or */ -/* reproduction of this material is strictly forbidden unless */ -/* prior written permission is obtained from Adobe Systems */ -/* Incorporated. */ -/* */ -/*******************************************************************/ - -#include "PrSDKPlayModule.h" -#include "PrSDKVideoSegmentSuite.h" -#include "PrSDKVideoSegmentProperties.h" -#include "PrSDKMemoryManagerSuite.h" -#include "PrSDKPPixSuite.h" -#include "PrSDKMediaAcceleratorSuite.h" -#include "PrSDKRollCrawlSuite.h" - -#include -#include - -typedef enum -{ - kFindSegmentMissing = 0, - kFindSegmentSuccess, - kFindSegmentEnd -} findSegmentReturnCode; - - -class segmentInfo -{ -public: - prPluginID segmentHash; // hash value - std::string description; // our actual segment info (just text in our case) - PrTime startTime; // the segment's trim in - PrTime endTime; // the segment's trim out - prtPlaycode playcode; // real-time flags - csSDK_int32 nodeID; // the nodeID of the segment - PrClipID clipID; // the clipID of the media, if only one piece of media in the segment - - segmentInfo(); -}; - - -class VideoSequenceParser -{ -public: - VideoSequenceParser ( - SPBasicSuite *spBasic, - int width, - int height, - csSDK_uint32 PARNum, - csSDK_uint32 PARDen); - - ~VideoSequenceParser (); - - prMALError ParseSequence (PrTimelineID timelineID, csSDK_int32 indentation = 0); - - findSegmentReturnCode CutlistFindSegmentAtTime( - PrTime position, - std::list::iterator *segmentIt); - - PrClipID FindClipIDAtTime(PrTime position); - - void GetRTStatus ( - PrTime startTime, - PrTime &endTime, - prtPlaycode &playcode); - -private: - std::list *mCutlist; - int mWidth; - int mHeight; - csSDK_uint32 mPARNum; - csSDK_uint32 mPARDen; - SPBasicSuite *mSPBasic; - PrSDKVideoSegmentSuite *mSegmentSuite; - PrSDKMemoryManagerSuite *mMemorySuite; - PrSDKMediaAcceleratorSuite *mMediaAccelSuite; - PrSDKPPixSuite *mPPixSuite; - PrSDKRollCrawlSuite *mRollCrawlSuite; - - prMALError parseCompositor ( - std::list::iterator segmentIt, - csSDK_int32 nodeID, - csSDK_int32 indentation); - - prMALError parseMulticam ( - std::list::iterator segmentIt, - csSDK_int32 nodeID, - csSDK_int32 indentation); - - prMALError parseTransition ( - std::list::iterator segmentIt, - csSDK_int32 transitionNodeID, - csSDK_int32 indentation); - - prMALError parseClips ( - std::list::iterator segmentIt, - csSDK_int32 clipNodeID, - csSDK_int32 indentation); - - prMALError parseMedia ( - std::list::iterator segmentIt, - csSDK_int32 mediaNodeID, - csSDK_int32 indentation); - - prMALError parseClipOperators ( - std::list::iterator segmentIt, - csSDK_int32 clipNodeID, - csSDK_int32 indentation); -}; diff --git a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.pbxproj b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.pbxproj index 5566a71..e7c3b11 100755 --- a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.pbxproj +++ b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 1B006DEC1B0BCBFE00B7A99C /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B006DEB1B0BCBFE00B7A99C /* OpenGL.framework */; }; 1B5FE5151B28BEAC00EED2A1 /* Syphon.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1B5FE5111B28BE7B00EED2A1 /* Syphon.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 1B5FE5181B28C2EA00EED2A1 /* Syphon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B5FE5111B28BE7B00EED2A1 /* Syphon.framework */; }; + 1BF166A1293DAB99004D5608 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BF166A0293DAB99004D5608 /* Metal.framework */; }; 7E27144514BAAD78008769A1 /* SyphonTransmitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E27144214BAAD78008769A1 /* SyphonTransmitter.cpp */; }; 7E27144614BAAD78008769A1 /* SyphonTransmitterPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E27144314BAAD78008769A1 /* SyphonTransmitterPlugin.mm */; }; 7E48CD0F1700FCA400D1EFDC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E48CD0E1700FCA400D1EFDC /* Cocoa.framework */; }; @@ -54,6 +54,7 @@ 0AA1909FFE8422F4C02AAC07 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 1B006DEB1B0BCBFE00B7A99C /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; }; 1B5FE50B1B28BE7B00EED2A1 /* Syphon.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Syphon.xcodeproj; path = "../../Syphon-Framework/Syphon.xcodeproj"; sourceTree = ""; }; + 1BF166A0293DAB99004D5608 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; }; 7E27144214BAAD78008769A1 /* SyphonTransmitter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SyphonTransmitter.cpp; path = ../SyphonTransmitter.cpp; sourceTree = SOURCE_ROOT; }; 7E27144314BAAD78008769A1 /* SyphonTransmitterPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SyphonTransmitterPlugin.mm; path = ../SyphonTransmitterPlugin.mm; sourceTree = SOURCE_ROOT; }; 7E27144414BAAD78008769A1 /* SyphonTransmitterPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SyphonTransmitterPlugin.h; path = ../SyphonTransmitterPlugin.h; sourceTree = SOURCE_ROOT; }; @@ -72,8 +73,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1BF166A1293DAB99004D5608 /* Metal.framework in Frameworks */, 1B5FE5181B28C2EA00EED2A1 /* Syphon.framework in Frameworks */, - 1B006DEC1B0BCBFE00B7A99C /* OpenGL.framework in Frameworks */, 8D576314048677EA00EA77CD /* CoreFoundation.framework in Frameworks */, 7EFEE1D115E5641300B7561D /* Foundation.framework in Frameworks */, 7E48CD0F1700FCA400D1EFDC /* Cocoa.framework in Frameworks */, @@ -91,6 +92,7 @@ 089C167CFE841241C02AAC07 /* Resources */, 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, 19C28FB6FE9D52B211CA2CBB /* Products */, + 1BF1669F293DAB99004D5608 /* Frameworks */, ); name = Transmitter; sourceTree = ""; @@ -145,6 +147,14 @@ name = Products; sourceTree = ""; }; + 1BF1669F293DAB99004D5608 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1BF166A0293DAB99004D5608 /* Metal.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -274,6 +284,7 @@ ); INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Bundles"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "Syphon Transmit"; SDKROOT = macosx; @@ -294,6 +305,7 @@ GCC_MODEL_TUNING = G5; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Library/Bundles"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "Syphon Transmit"; SDKROOT = macosx; @@ -304,7 +316,6 @@ 1DEB911F08733D790010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp; @@ -325,7 +336,6 @@ 1DEB912008733D790010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp; diff --git a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index b6f6afe..d993fa7 100644 --- a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -1,11 +1,13 @@ + startingLineNumber = "377" + endingLineNumber = "377" + landmarkName = "SyphonTransmitPlugin::SyphonTransmitPlugin(ioStdParms, outPluginInfo)" + landmarkType = "7"> diff --git a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Transmitter.xcscheme b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Syphon Transmit.xcscheme similarity index 80% rename from Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Transmitter.xcscheme rename to Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Syphon Transmit.xcscheme index d0b11dc..78e13e3 100644 --- a/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Transmitter.xcscheme +++ b/Syphon-Transmit/Mac/Syphon Transmit.xcodeproj/xcuserdata/vade.xcuserdatad/xcschemes/Syphon Transmit.xcscheme @@ -23,34 +23,27 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> - - - - + BundleIdentifier = "com.adobe.Character-Animator.application" + FilePath = "/Applications/Adobe Character Animator 2023/Adobe Character Animator 2023.app"> - - SchemeUserState - Transmitter.xcscheme + Syphon Transmit.xcscheme orderHint 0