after_effects_sys/opt/rustwide/workdir/
bindings_macos.rs

1/* automatically generated by rust-bindgen 0.72.0 */
2
3pub const A_INTERNAL_TEST_TWO: u32 = 1;
4pub const PF_Vers_BUILD_BITS: u32 = 511;
5pub const PF_Vers_BUILD_SHIFT: u32 = 0;
6pub const PF_Vers_STAGE_BITS: u32 = 3;
7pub const PF_Vers_STAGE_SHIFT: u32 = 9;
8pub const PF_Vers_BUGFIX_BITS: u32 = 15;
9pub const PF_Vers_BUGFIX_SHIFT: u32 = 11;
10pub const PF_Vers_SUBVERS_BITS: u32 = 15;
11pub const PF_Vers_SUBVERS_SHIFT: u32 = 15;
12pub const PF_Vers_VERS_BITS: u32 = 7;
13pub const PF_Vers_VERS_SHIFT: u32 = 19;
14pub const PF_Vers_VERS_HIGH_BITS: u32 = 15;
15pub const PF_Vers_VERS_HIGH_SHIFT: u32 = 26;
16pub const PF_Vers_VERS_LOW_SHIFT: u32 = 3;
17pub const PF_AE234_PLUG_IN_VERSION: u32 = 13;
18pub const PF_AE234_PLUG_IN_SUBVERS: u32 = 28;
19pub const PF_AE220_PLUG_IN_VERSION: u32 = 13;
20pub const PF_AE220_PLUG_IN_SUBVERS: u32 = 27;
21pub const PF_AE184_PLUG_IN_VERSION: u32 = 13;
22pub const PF_AE184_PLUG_IN_SUBVERS: u32 = 26;
23pub const PF_AE182_PLUG_IN_VERSION: u32 = 13;
24pub const PF_AE182_PLUG_IN_SUBVERS: u32 = 25;
25pub const PF_AE180_PLUG_IN_VERSION: u32 = 13;
26pub const PF_AE180_PLUG_IN_SUBVERS: u32 = 24;
27pub const PF_AE177_PLUG_IN_VERSION: u32 = 13;
28pub const PF_AE177_PLUG_IN_SUBVERS: u32 = 23;
29pub const PF_AE176_PLUG_IN_VERSION: u32 = 13;
30pub const PF_AE176_PLUG_IN_SUBVERS: u32 = 22;
31pub const PF_AE175_PLUG_IN_VERSION: u32 = 13;
32pub const PF_AE175_PLUG_IN_SUBVERS: u32 = 21;
33pub const PF_AE171_PLUG_IN_VERSION: u32 = 13;
34pub const PF_AE171_PLUG_IN_SUBVERS: u32 = 20;
35pub const PF_AE170_PLUG_IN_VERSION: u32 = 13;
36pub const PF_AE170_PLUG_IN_SUBVERS: u32 = 18;
37pub const PF_AE161_PLUG_IN_VERSION: u32 = 13;
38pub const PF_AE161_PLUG_IN_SUBVERS: u32 = 17;
39pub const PF_AE160_PLUG_IN_VERSION: u32 = 13;
40pub const PF_AE160_PLUG_IN_SUBVERS: u32 = 16;
41pub const PF_AE151_PLUG_IN_VERSION: u32 = 13;
42pub const PF_AE151_PLUG_IN_SUBVERS: u32 = 15;
43pub const PF_AE150_PLUG_IN_VERSION: u32 = 13;
44pub const PF_AE150_PLUG_IN_SUBVERS: u32 = 15;
45pub const PF_AE142_PLUG_IN_VERSION: u32 = 13;
46pub const PF_AE142_PLUG_IN_SUBVERS: u32 = 14;
47pub const PF_AE140_PLUG_IN_VERSION: u32 = 13;
48pub const PF_AE140_PLUG_IN_SUBVERS: u32 = 13;
49pub const PF_AE138_PLUG_IN_VERSION: u32 = 13;
50pub const PF_AE138_PLUG_IN_SUBVERS: u32 = 11;
51pub const PF_AE136_PLUG_IN_VERSION: u32 = 13;
52pub const PF_AE136_PLUG_IN_SUBVERS: u32 = 10;
53pub const PF_AE135_PLUG_IN_VERSION: u32 = 13;
54pub const PF_AE135_PLUG_IN_SUBVERS: u32 = 9;
55pub const PF_AE130_PLUG_IN_VERSION: u32 = 13;
56pub const PF_AE130_PLUG_IN_SUBVERS: u32 = 7;
57pub const PF_AE122_PLUG_IN_VERSION: u32 = 13;
58pub const PF_AE122_PLUG_IN_SUBVERS: u32 = 6;
59pub const PF_AE121_PLUG_IN_VERSION: u32 = 13;
60pub const PF_AE121_PLUG_IN_SUBVERS: u32 = 5;
61pub const PF_AE120_PLUG_IN_VERSION: u32 = 13;
62pub const PF_AE120_PLUG_IN_SUBVERS: u32 = 4;
63pub const PF_AE1101_PLUG_IN_VERSION: u32 = 13;
64pub const PF_AE1101_PLUG_IN_SUBVERS: u32 = 3;
65pub const PF_AE110_PLUG_IN_VERSION: u32 = 13;
66pub const PF_AE110_PLUG_IN_SUBVERS: u32 = 2;
67pub const PF_AE105_PLUG_IN_VERSION: u32 = 13;
68pub const PF_AE105_PLUG_IN_SUBVERS: u32 = 1;
69pub const PF_AE100_PLUG_IN_VERSION: u32 = 13;
70pub const PF_AE100_PLUG_IN_SUBVERS: u32 = 0;
71pub const PF_AE90_PLUG_IN_VERSION: u32 = 12;
72pub const PF_AE90_PLUG_IN_SUBVERS: u32 = 14;
73pub const PF_AE80_PLUG_IN_VERSION: u32 = 12;
74pub const PF_AE80_PLUG_IN_SUBVERS: u32 = 13;
75pub const PF_AE70_PLUG_IN_VERSION: u32 = 12;
76pub const PF_AE70_PLUG_IN_SUBVERS: u32 = 12;
77pub const PF_AE65_PLUG_IN_VERSION: u32 = 12;
78pub const PF_AE65_PLUG_IN_SUBVERS: u32 = 11;
79pub const PF_AE41_PLUG_IN_VERSION: u32 = 12;
80pub const PF_AE41_PLUG_IN_SUBVERS: u32 = 2;
81pub const PF_AE40_PLUG_IN_VERSION: u32 = 12;
82pub const PF_AE40_PLUG_IN_SUBVERS: u32 = 1;
83pub const PF_AE31_PLUG_IN_VERSION: u32 = 11;
84pub const PF_AE31_PLUG_IN_SUBVERS: u32 = 6;
85pub const PF_AE31_PLUG_IN_SUBVERS_STRICTIFY: u32 = 8;
86pub const PF_AE_PLUG_IN_VERSION: u32 = 13;
87pub const PF_AE_PLUG_IN_SUBVERS: u32 = 28;
88pub const PF_MAX_EFFECT_NAME_LEN: u32 = 31;
89pub const PF_MAX_EFFECT_CATEGORY_NAME_LEN: u32 = 31;
90pub const PF_MAX_EFFECT_PARAM_NAME_LEN: u32 = 31;
91pub const PF_MAX_PARAM_DESCRIPTION_LEN: u32 = 31;
92pub const PF_MAX_PARAM_VALUE_LEN: u32 = 31;
93pub const PF_MAX_EFFECT_MSG_LEN: u32 = 255;
94pub const PF_AE65_AND_EARLIER_MAX_NUM_EFFECT_PARAMS: u32 = 127;
95pub const PF_MAX_WORLD_WIDTH: u32 = 30000;
96pub const PF_MAX_WORLD_HEIGHT: u32 = 30000;
97pub const PF_FIRST_ERR: u32 = 512;
98pub const PF_Category_BLUR_AND_SHARPEN: &[u8; 15] = b"Blur & Sharpen\0";
99pub const PF_Category_CHANNEL: &[u8; 8] = b"Channel\0";
100pub const PF_Category_DISTORT: &[u8; 8] = b"Distort\0";
101pub const PF_Category_IMAGE_CONTROL: &[u8; 14] = b"Image Control\0";
102pub const PF_Category_KEYING: &[u8; 7] = b"Keying\0";
103pub const PF_Category_PERSPECTIVE: &[u8; 12] = b"Perspective\0";
104pub const PF_Category_STYLIZE: &[u8; 8] = b"Stylize\0";
105pub const PF_Category_TEXT: &[u8; 5] = b"Text\0";
106pub const PF_Category_VIDEO: &[u8; 6] = b"Video\0";
107pub const PF_Category_TRANSITION: &[u8; 11] = b"Transition\0";
108pub const PF_Category_AUDIO: &[u8; 6] = b"Audio\0";
109pub const PF_Category_OTHER: &[u8; 6] = b"Other\0";
110pub const PF_MAX_CHAN8: u32 = 255;
111pub const PF_HALF_CHAN8: u32 = 128;
112pub const PF_MAX_CHAN16: u32 = 32768;
113pub const PF_HALF_CHAN16: u32 = 16384;
114pub const PF_HUE_UNDEFINED: u32 = 2147483648;
115pub const PF_CHANNEL_NAME_LEN: u32 = 63;
116pub const PF_CONTEXT_MAGIC: u32 = 99251998;
117pub const kSPNoError: u32 = 0;
118pub const kSPBasicSuite: &[u8; 15] = b"SP Basic Suite\0";
119pub const kSPBasicSuiteVersion: u32 = 4;
120pub const kPFAdvAppSuite: &[u8; 20] = b"PF AE Adv App Suite\0";
121pub const kPFAdvAppSuiteVersion1: u32 = 1;
122pub const kPFAdvAppSuiteVersion2: u32 = 2;
123pub const PF_MAX_TIME_LEN: u32 = 31;
124pub const kPFAdvTimeSuite: &[u8; 21] = b"PF AE Adv Time Suite\0";
125pub const kPFAdvTimeSuiteVersion4: u32 = 4;
126pub const kPFAdvTimeSuiteVersion3: u32 = 3;
127pub const kPFAdvTimeSuiteVersion2: u32 = 2;
128pub const kPFAdvTimeSuiteVersion1: u32 = 1;
129pub const kPFAdvItemSuite: &[u8; 21] = b"PF AE Adv Item Suite\0";
130pub const kPFAdvItemSuiteVersion1: u32 = 1;
131pub const kPFCacheOnLoadSuite: &[u8; 23] = b"PF Cache On Load Suite\0";
132pub const kPFCacheOnLoadSuiteVersion1: u32 = 1;
133pub const PF_CHANNEL_DEPTH_INFINITY: f64 = 10000000.0;
134pub const kPFChannelSuite1: &[u8; 20] = b"PF AE Channel Suite\0";
135pub const kPFChannelSuiteVersion1: u32 = 1;
136pub const PF_PI: f64 = 3.141592653589793;
137pub const PF_2PI: f64 = 6.283185307179586;
138pub const PF_HALF_PI: f64 = 1.5707963267948966;
139pub const PF_E: f64 = 2.718281828459045;
140pub const PF_SQRT2: f64 = 1.4142135623730951;
141pub const PF_RAD_PER_DEGREE: f64 = 0.017453292519943295;
142pub const PF_KernelFlag_2D: u32 = 0;
143pub const PF_KernelFlag_1D: u32 = 1;
144pub const PF_KernelFlag_UNNORMALIZED: u32 = 0;
145pub const PF_KernelFlag_NORMALIZED: u32 = 2;
146pub const PF_KernelFlag_CLAMP: u32 = 0;
147pub const PF_KernelFlag_NO_CLAMP: u32 = 4;
148pub const PF_KernelFlag_USE_LONG: u32 = 0;
149pub const PF_KernelFlag_USE_CHAR: u32 = 8;
150pub const PF_KernelFlag_USE_FIXED: u32 = 16;
151pub const PF_KernelFlag_USE_UNDEFINED: u32 = 24;
152pub const PF_KernelFlag_HORIZONTAL: u32 = 0;
153pub const PF_KernelFlag_VERTICAL: u32 = 32;
154pub const PF_KernelFlag_TRANSPARENT_BORDERS: u32 = 0;
155pub const PF_KernelFlag_REPLICATE_BORDERS: u32 = 64;
156pub const PF_KernelFlag_STRAIGHT_CONVOLVE: u32 = 0;
157pub const PF_KernelFlag_ALPHA_WEIGHT_CONVOLVE: u32 = 128;
158pub const PF_Iterations_ONCE_PER_PROCESSOR: i32 = -1;
159pub const PF_Iteratations_ONCE_PER_PROCESSOR: i32 = -1;
160pub const kPFHandleSuite: &[u8; 16] = b"PF Handle Suite\0";
161pub const kPFHandleSuiteVersion1: u32 = 2;
162pub const kPFANSISuite: &[u8; 14] = b"PF ANSI Suite\0";
163pub const kPFANSISuiteVersion1: u32 = 1;
164pub const kPFPixelDataSuite: &[u8; 20] = b"PF Pixel Data Suite\0";
165pub const kPFPixelDataSuiteVersion1: u32 = 1;
166pub const kPFPixelDataSuiteVersion2: u32 = 2;
167pub const kPFColorCallbacksSuite: &[u8; 15] = b"PF Color Suite\0";
168pub const kPFColorCallbacksSuiteVersion1: u32 = 1;
169pub const kPFColorCallbacks16Suite: &[u8; 17] = b"PF Color16 Suite\0";
170pub const kPFColorCallbacks16SuiteVersion1: u32 = 1;
171pub const kPFColorCallbacksFloatSuite: &[u8; 20] = b"PF ColorFloat Suite\0";
172pub const kPFColorCallbacksFloatSuiteVersion1: u32 = 1;
173pub const kPFBatchSamplingSuite: &[u8; 24] = b"PF Batch Sampling Suite\0";
174pub const kPFBatchSamplingSuiteVersion1: u32 = 1;
175pub const kPFSampling8Suite: &[u8; 19] = b"PF Sampling8 Suite\0";
176pub const kPFSampling8SuiteVersion1: u32 = 1;
177pub const kPFSampling16Suite: &[u8; 20] = b"PF Sampling16 Suite\0";
178pub const kPFSampling16SuiteVersion1: u32 = 1;
179pub const kPFSamplingFloatSuite: &[u8; 23] = b"PF SamplingFloat Suite\0";
180pub const kPFSamplingFloatSuiteVersion1: u32 = 1;
181pub const kPFWorldSuite: &[u8; 15] = b"PF World Suite\0";
182pub const kPFWorldSuiteVersion2: u32 = 2;
183pub const kPFPixelFormatSuite: &[u8; 22] = b"PF Pixel Format Suite\0";
184pub const kPFPixelFormatSuiteVersion2: u32 = 2;
185pub const kPFWorldSuiteVersion1: u32 = 1;
186pub const kPFIterate8Suite: &[u8; 18] = b"PF Iterate8 Suite\0";
187pub const kPFIterate8SuiteVersion1: u32 = 1;
188pub const kPFIterate8SuiteVersion2: u32 = 2;
189pub const kPFIterate16Suite: &[u8; 19] = b"PF iterate16 Suite\0";
190pub const kPFIterate16SuiteVersion1: u32 = 1;
191pub const kPFIterate16SuiteVersion2: u32 = 2;
192pub const kPFIterateFloatSuite: &[u8; 22] = b"PF iterateFloat Suite\0";
193pub const kPFIterateFloatSuiteVersion1: u32 = 1;
194pub const kPFIterateFloatSuiteVersion2: u32 = 2;
195pub const kPFWorldTransformSuite: &[u8; 25] = b"PF World Transform Suite\0";
196pub const kPFWorldTransformSuiteVersion1: u32 = 1;
197pub const kPFFillMatteSuite: &[u8; 20] = b"PF Fill Matte Suite\0";
198pub const kPFFillMatteSuiteVersion2: u32 = 2;
199pub const PF_CUDAVersion: u32 = 11080;
200pub const kPFGPUDeviceSuite: &[u8; 20] = b"PF GPU Device Suite\0";
201pub const kPFGPUDeviceSuiteVersion1: u32 = 1;
202pub const kPFPathQuerySuite: &[u8; 20] = b"PF Path Query Suite\0";
203pub const kPFPathQuerySuiteVersion1: u32 = 1;
204pub const kPFPathDataSuite: &[u8; 19] = b"PF Path Data Suite\0";
205pub const kPFPathDataSuiteVersion1: u32 = 1;
206pub const PF_MAX_PATH_NAME_LEN: u32 = 31;
207pub const kPFParamUtilsSuite: &[u8; 21] = b"PF Param Utils Suite\0";
208pub const kPFParamUtilsSuiteVersion3: u32 = 3;
209pub const PF_ParamIndex_NONE: i32 = -1;
210pub const PF_ParamIndex_CHECK_ALL: i32 = -2;
211pub const PF_ParamIndex_CHECK_ALL_EXCEPT_LAYER_PARAMS: i32 = -3;
212pub const PF_ParamIndex_CHECK_ALL_HONOR_EXCLUDE: i32 = -4;
213pub const PF_KeyIndex_NONE: i32 = -1;
214pub const kPFColorParamSuite: &[u8; 19] = b"PF ColorParamSuite\0";
215pub const kPFColorParamSuiteVersion1: u32 = 1;
216pub const kPFPointParamSuite: &[u8; 19] = b"PF PointParamSuite\0";
217pub const kPFPointParamSuiteVersion1: u32 = 1;
218pub const kPFAngleParamSuite: &[u8; 19] = b"PF AngleParamSuite\0";
219pub const kPFAngleParamSuiteVersion1: u32 = 1;
220pub const kPFAppSuite: &[u8; 16] = b"PF AE App Suite\0";
221pub const kPFAppSuiteVersion6: u32 = 1;
222pub const PF_APP_MAX_PERS_LEN: u32 = 63;
223pub const PF_FONT_NAME_LEN: u32 = 255;
224pub const PF_APP_LANG_TAG_SIZE: u32 = 6;
225pub const kPFEffectUISuite: &[u8; 19] = b"PF Effect UI Suite\0";
226pub const kPFEffectUISuiteVersion1: u32 = 1;
227pub const kPFEffectCustomUISuite: &[u8; 26] = b"PF Effect Custom UI Suite\0";
228pub const kPFEffectCustomUISuiteVersion2: u32 = 2;
229pub const kPFEffectCustomUIOverlayThemeSuite: &[u8; 40] =
230    b"PF Effect Custom UI Overlay Theme Suite\0";
231pub const kPFEffectCustomUIOverlayThemeSuiteVersion1: u32 = 1;
232pub const kPFParamUtilsSuiteVersion1: u32 = 2;
233pub const kPFAppSuiteVersion4: u32 = 6;
234pub const kPFAppSuiteVersion5: u32 = 7;
235pub const kPFEffectCustomUISuiteVersion1: u32 = 1;
236pub const kPFHelperSuite: &[u8; 23] = b"AE Plugin Helper Suite\0";
237pub const kPFHelperSuiteVersion1: u32 = 1;
238pub const kPFHelperSuiteVersion: u32 = 1;
239pub const kPFHelperSuite2: &[u8; 24] = b"AE Plugin Helper Suite2\0";
240pub const kPFHelperSuite2Version1: u32 = 1;
241pub const kPFHelperSuite2Version2: u32 = 2;
242pub const kPFHelperSuite2Version: u32 = 2;
243pub const PF_PLUG_IN_VERSION: u32 = 13;
244pub const PF_PLUG_IN_SUBVERS: u32 = 28;
245pub const FIEL_Label_VERSION: u32 = 1;
246pub const FIEL_ResID: u32 = 128;
247pub const PR_ARTISAN_EXTENSION: &[u8; 5] = b".aex\0";
248pub const PR_ARTISAN_API_VERSION_MAJOR: u32 = 1;
249pub const PR_ARTISAN_API_VERSION_MINOR: u32 = 0;
250pub const PR_PUBLIC_MATCH_NAME_LEN: u32 = 31;
251pub const PR_PUBLIC_ARTISAN_NAME_LEN: u32 = 31;
252pub const PF_MASKS_MAJOR_VERSION: u32 = 1;
253pub const PF_MASKS_MINOR_VERSION: u32 = 0;
254pub const kPF_MaskSuite: &[u8; 16] = b"AEGP Mask Suite\0";
255pub const kPF_MaskSuiteVersion1: u32 = 1;
256pub const AEIO_MAX_MODULE_NAME_LEN: u32 = 31;
257pub const AEIO_MAX_TYPES: u32 = 16;
258pub const AEIO_MAX_SEQ_NAME_LEN: u32 = 31;
259pub const AEIO_MAX_MESSAGE_LEN: u32 = 127;
260pub const AEIO_MAX_AUX_EXT: u32 = 16;
261pub const AEIO_ANY_CREATOR: i32 = -1;
262pub const AEIO_AlphaLabel_VERSION: u32 = 257;
263pub const AEIO_FileType_DIR: i32 = -2;
264pub const AEIO_FileType_NONE: i32 = -1;
265pub const AEIO_FileType_ANY: u32 = 0;
266pub const AEIO_FileType_GENERIC: u32 = 1;
267pub const AEGP_INITFUNC_MAJOR_VERSION: u32 = 1;
268pub const AEGP_INITFUNC_MINOR_VERSION: u32 = 9;
269pub const AEGP_SubLayer_ALL: i32 = -1;
270pub const AEGP_MAX_PATH_SIZE: u32 = 260;
271pub const AEGP_MAX_ABOUT_STRING_SIZE: u32 = 256;
272pub const AEGP_MAX_RQITEM_COMMENT_SIZE: u32 = 256;
273pub const AEGP_MAX_TYPE_NAME_SIZE: u32 = 32;
274pub const AEGP_MAX_ITEM_NAME_SIZE: u32 = 32;
275pub const AEGP_MAX_LAYER_NAME_SIZE: u32 = 32;
276pub const AEGP_MAX_MASK_NAME_SIZE: u32 = 32;
277pub const AEGP_MAX_EFFECT_NAME_SIZE: u32 = 48;
278pub const AEGP_MAX_EFFECT_MATCH_NAME_SIZE: u32 = 48;
279pub const AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE: u32 = 32;
280pub const AEGP_MAX_STREAM_NAME_SIZE: u32 = 32;
281pub const AEGP_MAX_STREAM_UNITS_SIZE: u32 = 32;
282pub const AEGP_MAX_PROJ_NAME_SIZE: u32 = 48;
283pub const AEGP_MAX_PLUGIN_NAME_SIZE: u32 = 32;
284pub const AEGP_MAX_MARKER_NAME_SIZE: u32 = 64;
285pub const AEGP_MAX_MARKER_URL_SIZE: u32 = 1024;
286pub const AEGP_MAX_MARKER_TARGET_SIZE: u32 = 128;
287pub const AEGP_MAX_MARKER_CHAPTER_SIZE: u32 = 128;
288pub const AEGP_LayerIDVal_NONE: u32 = 0;
289pub const AEGP_MaskIDVal_NONE: u32 = 0;
290pub const AEGP_FramesPerFoot_35MM: u32 = 16;
291pub const AEGP_FramesPerFoot_16MM: u32 = 40;
292pub const kAEGPProjSuite: &[u8; 16] = b"AEGP Proj Suite\0";
293pub const kAEGPProjSuiteVersion6: u32 = 9;
294pub const kAEGPItemSuite: &[u8; 16] = b"AEGP Item Suite\0";
295pub const kAEGPItemSuiteVersion9: u32 = 14;
296pub const kAEGPItemViewSuite: &[u8; 21] = b"AEGP Item View Suite\0";
297pub const kAEGPItemViewSuiteVersion1: u32 = 1;
298pub const kAEGPSoundDataSuite: &[u8; 22] = b"AEGP Sound Data Suite\0";
299pub const kAEGPSoundDataVersion1: u32 = 1;
300pub const kAEGPCompSuite: &[u8; 16] = b"AEGP Comp Suite\0";
301pub const kAEGPCompSuiteVersion12: u32 = 26;
302pub const kAEGPMemorySuite: &[u8; 18] = b"AEGP Memory Suite\0";
303pub const kAEGPMemorySuiteVersion1: u32 = 1;
304pub const AEGP_REORDER_LAYER_TO_END: i32 = -1;
305pub const kAEGPLayerSuite: &[u8; 17] = b"AEGP Layer Suite\0";
306pub const kAEGPLayerSuiteVersion9: u32 = 15;
307pub const kAEGPStreamSuite: &[u8; 18] = b"AEGP Stream Suite\0";
308pub const kAEGPStreamSuiteVersion6: u32 = 11;
309pub const AEGP_MAX_STREAM_MATCH_NAME_SIZE: u32 = 40;
310pub const AEGP_StreamGroupName_MASK_PARADE: &[u8; 17] = b"ADBE Mask Parade\0";
311pub const AEGP_StreamGroupName_MASK_ATOM: &[u8; 15] = b"ADBE Mask Atom\0";
312pub const AEGP_StreamName_MASK_FEATHER: &[u8; 18] = b"ADBE Mask Feather\0";
313pub const AEGP_StreamName_MASK_OPACITY: &[u8; 18] = b"ADBE Mask Opacity\0";
314pub const AEGP_StreamName_MASK_OFFSET: &[u8; 17] = b"ADBE Mask Offset\0";
315pub const AEGP_StreamGroupName_EFFECT_PARADE: &[u8; 19] = b"ADBE Effect Parade\0";
316pub const AEGP_StreamGroupName_LAYER: &[u8; 20] = b"ADBE Abstract Layer\0";
317pub const AEGP_StreamGroupName_AV_LAYER: &[u8; 14] = b"ADBE AV Layer\0";
318pub const AEGP_StreamGroupName_TEXT_LAYER: &[u8; 16] = b"ADBE Text Layer\0";
319pub const AEGP_StreamGroupName_CAMERA_LAYER: &[u8; 18] = b"ADBE Camera Layer\0";
320pub const AEGP_StreamGroupName_LIGHT_LAYER: &[u8; 17] = b"ADBE Light Layer\0";
321pub const AEGP_StreamGroupName_AUDIO: &[u8; 17] = b"ADBE Audio Group\0";
322pub const AEGP_StreamGroupName_MATERIAL_OPTIONS: &[u8; 28] = b"ADBE Material Options Group\0";
323pub const AEGP_StreamGroupName_TRANSFORM: &[u8; 21] = b"ADBE Transform Group\0";
324pub const AEGP_StreamGroupName_LIGHT_OPTIONS: &[u8; 25] = b"ADBE Light Options Group\0";
325pub const AEGP_StreamGroupName_CAMERA_OPTIONS: &[u8; 26] = b"ADBE Camera Options Group\0";
326pub const kAEGPDynamicStreamSuite: &[u8; 26] = b"AEGP Dynamic Stream Suite\0";
327pub const kAEGPDynamicStreamSuiteVersion4: u32 = 5;
328pub const kAEGPKeyframeSuite: &[u8; 20] = b"AEGP Keyframe Suite\0";
329pub const kAEGPKeyframeSuiteVersion5: u32 = 5;
330pub const kAEGPTextDocumentSuite: &[u8; 25] = b"AEGP Text Document Suite\0";
331pub const kAEGPTextDocumentSuiteVersion1: u32 = 1;
332pub const kAEGPMarkerSuite: &[u8; 18] = b"AEGP Marker Suite\0";
333pub const kAEGPMarkerSuiteVersion3: u32 = 3;
334pub const kAEGPTextLayerSuite: &[u8; 22] = b"AEGP Text Layer Suite\0";
335pub const kAEGPTextLayerSuiteVersion1: u32 = 1;
336pub const AEGP_InstalledEffectKey_NONE: u32 = 0;
337pub const kAEGPEffectSuite: &[u8; 18] = b"AEGP Effect Suite\0";
338pub const kAEGPEffectSuiteVersion5: u32 = 5;
339pub const kAEGPMaskSuite: &[u8; 22] = b"AEGP Layer Mask Suite\0";
340pub const kAEGPMaskSuiteVersion6: u32 = 7;
341pub const AEGP_VertexIndex_END: u32 = 10922;
342pub const kAEGPMaskOutlineSuite: &[u8; 24] = b"AEGP Mask Outline Suite\0";
343pub const kAEGPMaskOutlineSuiteVersion3: u32 = 5;
344pub const AEGP_FOOTAGE_LAYER_NAME_LEN: u32 = 63;
345pub const AEGP_LayerIndex_UNKNOWN: i32 = -2;
346pub const AEGP_LayerIndex_MERGED: i32 = -1;
347pub const AEGP_LayerID_UNKNOWN: i32 = -1;
348pub const AEGP_ANY_FRAME: i32 = -1;
349pub const AEGP_FOOTAGE_MAIN_FILE_INDEX: u32 = 0;
350pub const kAEGPFootageSuite: &[u8; 19] = b"AEGP Footage Suite\0";
351pub const kAEGPFootageSuiteVersion5: u32 = 11;
352pub const AEGP_Command_ALL: u32 = 0;
353pub const kAEGPRegisterSuite: &[u8; 20] = b"AEGP Register Suite\0";
354pub const kAEGPRegisterSuiteVersion5: u32 = 6;
355pub const AEGP_MENU_INSERT_SORTED: i32 = -2;
356pub const AEGP_MENU_INSERT_AT_BOTTOM: i32 = -1;
357pub const AEGP_MENU_INSERT_AT_TOP: u32 = 0;
358pub const kAEGPCommandSuite: &[u8; 19] = b"AEGP Command Suite\0";
359pub const kAEGPCommandSuiteVersion1: u32 = 1;
360pub const kAEGPUtilitySuite: &[u8; 19] = b"AEGP Utility Suite\0";
361pub const kAEGPUtilitySuiteVersion6: u32 = 13;
362pub const kAEGPMathSuite: &[u8; 16] = b"AEGP Math Suite\0";
363pub const kAEGPMathSuiteVersion1: u32 = 1;
364pub const kAEGPColorSettingsSuite: &[u8; 24] = b"PF Color Settings Suite\0";
365pub const kAEGPColorSettingsSuiteVersion6: u32 = 7;
366pub const kAEGPRenderQueueSuite: &[u8; 24] = b"AEGP Render Queue Suite\0";
367pub const kAEGPRenderQueueSuiteVersion1: u32 = 1;
368pub const kAEGPRQItemSuite: &[u8; 29] = b"AEGP Render Queue Item Suite\0";
369pub const kAEGPRQItemSuiteVersion4: u32 = 5;
370pub const kAEGPOutputModuleSuite: &[u8; 25] = b"AEGP Output Module Suite\0";
371pub const kAEGPOutputModuleSuiteVersion4: u32 = 4;
372pub const kAEGPCanvasSuite: &[u8; 18] = b"AEGP Canvas Suite\0";
373pub const kAEGPCanvasSuiteVersion8: u32 = 14;
374pub const kAEGPArtisanUtilSuite: &[u8; 24] = b"AEGP Artisan Util Suite\0";
375pub const kAEGPArtisanUtilSuiteVersion1: u32 = 1;
376pub const kAEGPCameraSuite: &[u8; 18] = b"AEGP Camera Suite\0";
377pub const kAEGPCameraSuiteVersion2: u32 = 2;
378pub const kAEGPLightSuiteVersion2: u32 = 2;
379pub const kAEGPLightSuite: &[u8; 17] = b"AEGP Light Suite\0";
380pub const kAEGPLightSuiteVersion3: u32 = 3;
381pub const kAEGPQueryXformSuite: &[u8; 22] = b"AEGP QueryXform Suite\0";
382pub const kAEGPQueryXformSuiteVersion2: u32 = 4;
383pub const kAEGPCompositeSuite: &[u8; 21] = b"AEGP Composite Suite\0";
384pub const kAEGPCompositeSuiteVersion2: u32 = 4;
385pub const kAEGPIterateSuite: &[u8; 19] = b"AEGP Iterate Suite\0";
386pub const kAEGPIterateSuiteVersion2: u32 = 2;
387pub const kAEGPPFInterfaceSuite: &[u8; 24] = b"AEGP PF Interface Suite\0";
388pub const kAEGPPFInterfaceSuiteVersion1: u32 = 1;
389pub const kAEGPIOInSuite: &[u8; 17] = b"AEGP IO In Suite\0";
390pub const kAEGPIOInSuiteVersion6: u32 = 7;
391pub const kAEGPIOOutSuite: &[u8; 18] = b"AEGP IO Out Suite\0";
392pub const kAEGPIOOutSuiteVersion5: u32 = 8;
393pub const kAEGPFIMSuite: &[u8; 31] = b"AEGP File Import Manager Suite\0";
394pub const kAEGPFIMSuiteVersion4: u32 = 4;
395pub const kAEGPPersistentDataSuite: &[u8; 27] = b"AEGP Persistent Data Suite\0";
396pub const kAEGPPersistentDataSuiteVersion4: u32 = 4;
397pub const kAEGPCollectionSuite: &[u8; 22] = b"AEGP Collection Suite\0";
398pub const kAEGPCollectionSuiteVersion2: u32 = 2;
399pub const kAEGPWorldSuite: &[u8; 17] = b"AEGP World Suite\0";
400pub const kAEGPWorldSuiteVersion3: u32 = 3;
401pub const kAEGPRenderOptionsSuite: &[u8; 26] = b"AEGP Render Options Suite\0";
402pub const kAEGPRenderOptionsSuiteVersion4: u32 = 4;
403pub const kAEGPLayerRenderOptionsSuite: &[u8; 32] = b"AEGP Layer Render Options Suite\0";
404pub const kAEGPLayerRenderOptionsSuiteVersion2: u32 = 2;
405pub const kAEGPRenderSuite: &[u8; 18] = b"AEGP Render Suite\0";
406pub const kAEGPRenderSuiteVersion5: u32 = 8;
407pub const kAEGPRenderAsyncManagerSuite: &[u8; 31] = b"AEGP Render Asyc Manager Suite\0";
408pub const kAEGPRenderAsyncManagerSuiteVersion1: u32 = 1;
409pub const kAEGPTrackerSuite: &[u8; 19] = b"AEGP Tracker Suite\0";
410pub const kAEGPTrackerSuiteVersion1: u32 = 1;
411pub const kAEGPTrackerUtilitySuite: &[u8; 27] = b"AEGP Tracker Utility Suite\0";
412pub const kAEGPTrackerUtilitySuiteVersion1: u32 = 1;
413pub const kAEGPRenderQueueMonitorSuite: &[u8; 31] = b"AEGP RenderQueue Monitor Suite\0";
414pub const kAEGPRenderQueueMonitorSuiteVersion1: u32 = 1;
415pub const kPFEffectSequenceDataSuite: &[u8; 30] = b"PF Effect Sequence Data Suite\0";
416pub const kPFEffectSequenceDataSuiteVersion1: u32 = 1;
417pub const kAEGPCanvasSuiteVersion1: u32 = 4;
418pub const kAEGPRQItemSuiteVersion3: u32 = 4;
419pub const kAEGPRQItemSuiteVersion2: u32 = 3;
420pub const kAEGPRQItemSuiteVersion1: u32 = 1;
421pub const kAEGPCanvasSuiteVersion2: u32 = 6;
422pub const kAEGPCanvasSuiteVersion4: u32 = 9;
423pub const kAEGPCanvasSuiteVersion5: u32 = 10;
424pub const kAEGPCanvasSuiteVersion6: u32 = 11;
425pub const kAEGPCanvasSuiteVersion7: u32 = 13;
426pub const kAEGPMaskOutlineSuiteVersion2: u32 = 3;
427pub const kAEGPMaskOutlineSuiteVersion1: u32 = 2;
428pub const kAEGPCompSuiteVersion11: u32 = 25;
429pub const kAEGPCompSuiteVersion10: u32 = 21;
430pub const kAEGPCompSuiteVersion9: u32 = 19;
431pub const kAEGPCompSuiteVersion8: u32 = 18;
432pub const kAEGPCompSuiteVersion7: u32 = 15;
433pub const kAEGPCompSuiteVersion6: u32 = 14;
434pub const kAEGPCompSuiteVersion5: u32 = 11;
435pub const kAEGPCompSuiteVersion4: u32 = 9;
436pub const kAEGPCompSuiteVersion3: u32 = 7;
437pub const kAEGPCompSuiteVersion2: u32 = 6;
438pub const kAEGPCompSuiteVersion1: u32 = 4;
439pub const kAEGPLayerSuiteVersion8: u32 = 14;
440pub const kAEGPLayerSuiteVersion7: u32 = 13;
441pub const kAEGPLayerSuiteVersion6: u32 = 12;
442pub const kAEGPLayerSuiteVersion5: u32 = 11;
443pub const kAEGPLayerSuiteVersion4: u32 = 10;
444pub const kAEGPLayerSuiteVersion3: u32 = 8;
445pub const kAEGPStreamSuiteVersion5: u32 = 10;
446pub const kAEGPStreamSuiteVersion4: u32 = 9;
447pub const kAEGPStreamSuiteVersion3: u32 = 8;
448pub const kAEGPStreamSuiteVersion2: u32 = 7;
449pub const kAEGPStreamSuiteVersion1: u32 = 4;
450pub const kAEGPLayerSuiteVersion1: u32 = 5;
451pub const kAEGPLayerSuiteVersion2: u32 = 7;
452pub const kAEGPEffectSuiteVersion1: u32 = 1;
453pub const kAEGPEffectSuiteVersion2: u32 = 2;
454pub const kAEGPEffectSuiteVersion3: u32 = 3;
455pub const kAEGPEffectSuiteVersion4: u32 = 4;
456pub const kAEGPLightSuiteVersion1: u32 = 1;
457pub const kAEGPMaskSuiteVersion5: u32 = 6;
458pub const kAEGPMaskSuiteVersion4: u32 = 5;
459pub const kAEGPMaskSuiteVersion3: u32 = 4;
460pub const kAEGPMaskSuiteVersion1: u32 = 2;
461pub const kAEGPMaskSuiteVersion2: u32 = 3;
462pub const kAEGPCameraSuiteVersion1: u32 = 1;
463pub const kAEGPItemSuiteVersion8: u32 = 13;
464pub const kAEGPItemSuiteVersion7: u32 = 11;
465pub const kAEGPItemSuiteVersion6: u32 = 10;
466pub const kAEGPItemSuiteVersion5: u32 = 7;
467pub const kAEGPItemSuiteVersion4: u32 = 6;
468pub const kAEGPItemSuiteVersion3: u32 = 5;
469pub const kAEGPKeyframeSuiteVersion4: u32 = 4;
470pub const kAEGPKeyframeSuiteVersion3: u32 = 3;
471pub const kAEGPKeyframeSuiteVersion2: u32 = 2;
472pub const kAEGPKeyframeSuiteVersion1: u32 = 1;
473pub const kAEGPItemSuiteVersion2: u32 = 4;
474pub const kAEGPItemSuiteVersion1: u32 = 3;
475pub const kAEGPUtilitySuiteVersion5: u32 = 11;
476pub const kAEGPUtilitySuiteVersion4: u32 = 10;
477pub const kAEGPUtilitySuiteVersion3: u32 = 7;
478pub const kAEGPUtilitySuiteVersion2: u32 = 5;
479pub const kAEGPUtilitySuiteVersion1: u32 = 3;
480pub const kAEGPQueryXformSuiteVersion1: u32 = 1;
481pub const kAEGPRenderSuiteVersion1: u32 = 1;
482pub const kAEGPRenderSuiteVersion2: u32 = 2;
483pub const kAEGPRenderSuiteVersion3: u32 = 3;
484pub const kAEGPRenderSuiteVersion4: u32 = 5;
485pub const kAEGPWorldSuiteVersion2: u32 = 2;
486pub const kAEGPWorldSuiteVersion1: u32 = 1;
487pub const kAEGPCollectionSuiteVersion1: u32 = 1;
488pub const kAEGPDynamicStreamSuiteVersion1: u32 = 1;
489pub const kAEGPDynamicStreamSuiteVersion2: u32 = 2;
490pub const kAEGPDynamicStreamSuiteVersion3: u32 = 3;
491pub const kAEGPRenderOptionsSuiteVersion3: u32 = 3;
492pub const kAEGPRenderOptionsSuiteVersion2: u32 = 2;
493pub const kAEGPRenderOptionsSuiteVersion1: u32 = 1;
494pub const kAEGPLayerRenderOptionsSuiteVersion1: u32 = 1;
495pub const kAEGPColorSettingsSuiteVersion1: u32 = 1;
496pub const kAEGPColorSettingsSuiteVersion2: u32 = 3;
497pub const kAEGPColorSettingsSuiteVersion3: u32 = 4;
498pub const kAEGPColorSettingsSuiteVersion4: u32 = 5;
499pub const kAEGPColorSettingsSuiteVersion5: u32 = 6;
500pub const kAEGPMarkerSuiteVersion1: u32 = 1;
501pub const kAEGPMarkerSuiteVersion2: u32 = 2;
502pub const kAEGPProjSuiteVersion5: u32 = 8;
503pub const kAEGPPersistentDataSuiteVersion3: u32 = 3;
504pub const kAEGPIterateSuiteVersion1: u32 = 1;
505pub const kAEGPIOInSuiteVersion5: u32 = 6;
506pub const kAEGPIOInSuiteVersion4: u32 = 5;
507pub const kAEGPIOOutSuiteVersion4: u32 = 7;
508pub const kAEGPFIMSuiteVersion3: u32 = 3;
509pub const kPFPixelFormatSuiteVersion1: u32 = 1;
510pub const kPFPixelFormatSuiteVersion: u32 = 1;
511pub const kPFBackgroundFrameSuite: &[u8; 26] = b"PF Background Frame Suite\0";
512pub const kPFBackgroundFrameSuiteVersion1: u32 = 1;
513pub const kPFBackgroundFrameSuiteVersion: u32 = 1;
514pub const kPFUtilitySuite: &[u8; 17] = b"PF Utility Suite\0";
515pub const kPFUtilitySuiteVersion2: u32 = 2;
516pub const kPFUtilitySuiteVersion3: u32 = 3;
517pub const kPFUtilitySuiteVersion4: u32 = 4;
518pub const kPFUtilitySuiteVersion5: u32 = 5;
519pub const kPFUtilitySuiteVersion6: u32 = 6;
520pub const kPFUtilitySuiteVersion7: u32 = 7;
521pub const kPFUtilitySuiteVersion8: u32 = 8;
522pub const kPFUtilitySuiteVersion9: u32 = 9;
523pub const kPFUtilitySuiteVersion: u32 = 9;
524pub const kPFSourceSettingsSuite: &[u8; 25] = b"PF Source Settings Suite\0";
525pub const kPFSourceSettingsSuiteVersion: u32 = 1;
526pub const kPFTransitionSuite: &[u8; 20] = b"PF Transition Suite\0";
527pub const kPFTransitionSuiteVersion1: u32 = 1;
528pub const kPFTransitionSuiteVersion2: u32 = 2;
529pub const kPFTransitionSuiteVersion: u32 = 2;
530pub const kDRAWBOT_DrawSuite: &[u8; 19] = b"DRAWBOT Draw Suite\0";
531pub const kDRAWBOT_DrawSuite_Version1: u32 = 1;
532pub const kDRAWBOT_DrawSuite_VersionCurrent: u32 = 1;
533pub const kDRAWBOT_SupplierSuite: &[u8; 23] = b"DRAWBOT Supplier Suite\0";
534pub const kDRAWBOT_SupplierSuite_Version1: u32 = 1;
535pub const kDRAWBOT_SupplierSuite_VersionCurrent: u32 = 1;
536pub const kDRAWBOT_SurfaceSuite: &[u8; 22] = b"DRAWBOT Surface Suite\0";
537pub const kDRAWBOT_SurfaceSuite_Version1: u32 = 1;
538pub const kDRAWBOT_SurfaceSuite_Version2: u32 = 2;
539pub const kDRAWBOT_SurfaceSuite_VersionCurrent: u32 = 2;
540pub const kDRAWBOT_PathSuite: &[u8; 19] = b"DRAWBOT Path Suite\0";
541pub const kDRAWBOT_PathSuite_Version1: u32 = 1;
542pub const kDRAWBOT_PathSuite_VersionCurrent: u32 = 1;
543pub const kDRAWBOT_PenSuite: &[u8; 18] = b"DRAWBOT Pen Suite\0";
544pub const kDRAWBOT_PenSuite_Version1: u32 = 1;
545pub const kDRAWBOT_PenSuite_VersionCurrent: u32 = 1;
546pub const kDRAWBOT_ImageSuite: &[u8; 20] = b"DRAWBOT Image Suite\0";
547pub const kDRAWBOT_ImageSuite_Version1: u32 = 1;
548pub const kDRAWBOT_ImageSuite_VersionCurrent: u32 = 1;
549pub const kPrSDKStringSuite: &[u8; 22] = b"MediaCore StringSuite\0";
550pub const kPrSDKStringSuiteVersion: u32 = 1;
551pub type A_long = i32;
552pub type A_u_long = u32;
553pub type A_char = ::std::os::raw::c_char;
554pub type A_FpLong = f64;
555pub type A_FpShort = f32;
556pub type A_Err = A_long;
557pub type A_Handle = *mut ::std::os::raw::c_void;
558pub type A_Fixed = A_long;
559pub type A_UFixed = A_u_long;
560pub type A_short = i16;
561pub type A_u_short = u16;
562pub type A_u_char = u8;
563pub type A_Boolean = u8;
564pub type A_intptr_t = isize;
565pub type A_u_longlong = u64;
566#[repr(C)]
567#[derive(Debug, Copy, Clone)]
568pub struct A_Time {
569    pub value: A_long,
570    pub scale: A_u_long,
571}
572#[repr(C)]
573#[derive(Debug, Copy, Clone)]
574pub struct A_Ratio {
575    pub num: A_long,
576    pub den: A_u_long,
577}
578#[repr(C)]
579#[derive(Debug, Copy, Clone)]
580pub struct A_FloatPoint {
581    pub x: A_FpLong,
582    pub y: A_FpLong,
583}
584#[repr(C)]
585#[derive(Debug, Copy, Clone)]
586pub struct A_FloatPoint3 {
587    pub x: A_FpLong,
588    pub y: A_FpLong,
589    pub z: A_FpLong,
590}
591#[repr(C)]
592#[derive(Debug, Copy, Clone)]
593pub struct A_FloatRect {
594    pub left: A_FpLong,
595    pub top: A_FpLong,
596    pub right: A_FpLong,
597    pub bottom: A_FpLong,
598}
599#[repr(C)]
600#[derive(Debug, Copy, Clone)]
601pub struct A_Matrix3 {
602    pub mat: [[A_FpLong; 3usize]; 3usize],
603}
604#[repr(C)]
605#[derive(Debug, Copy, Clone)]
606pub struct A_Matrix4 {
607    pub mat: [[A_FpLong; 4usize]; 4usize],
608}
609#[repr(C)]
610#[derive(Debug, Copy, Clone)]
611pub struct A_LegacyRect {
612    pub top: A_short,
613    pub left: A_short,
614    pub bottom: A_short,
615    pub right: A_short,
616}
617#[repr(C)]
618#[derive(Debug, Copy, Clone)]
619pub struct A_LRect {
620    pub left: A_long,
621    pub top: A_long,
622    pub right: A_long,
623    pub bottom: A_long,
624}
625pub type A_Rect = A_LRect;
626#[repr(C)]
627#[derive(Debug, Copy, Clone)]
628pub struct A_LPoint {
629    pub x: A_long,
630    pub y: A_long,
631}
632#[repr(C)]
633#[derive(Debug, Copy, Clone)]
634pub struct A_FloatPolar {
635    pub radius: A_FpLong,
636    pub angle: A_FpLong,
637}
638pub type A_HandleSize = A_u_longlong;
639#[repr(C)]
640#[derive(Debug, Copy, Clone)]
641pub struct A_Color {
642    pub alpha: A_FpLong,
643    pub red: A_FpLong,
644    pub green: A_FpLong,
645    pub blue: A_FpLong,
646}
647pub const A_Err_NONE: _bindgen_ty_1 = 0;
648pub const A_Err_GENERIC: _bindgen_ty_1 = 1;
649pub const A_Err_STRUCT: _bindgen_ty_1 = 2;
650pub const A_Err_PARAMETER: _bindgen_ty_1 = 3;
651pub const A_Err_ALLOC: _bindgen_ty_1 = 4;
652pub const A_Err_WRONG_THREAD: _bindgen_ty_1 = 5;
653pub const A_Err_CONST_PROJECT_MODIFICATION: _bindgen_ty_1 = 6;
654pub const A_Err_RESERVED_7: _bindgen_ty_1 = 7;
655pub const A_Err_RESERVED_8: _bindgen_ty_1 = 8;
656pub const A_Err_RESERVED_9: _bindgen_ty_1 = 9;
657pub const A_Err_RESERVED_10: _bindgen_ty_1 = 10;
658pub const A_Err_RESERVED_11: _bindgen_ty_1 = 11;
659pub const A_Err_RESERVED_12: _bindgen_ty_1 = 12;
660pub const A_Err_MISSING_SUITE: _bindgen_ty_1 = 13;
661pub const A_Err_RESERVED_14: _bindgen_ty_1 = 14;
662pub const A_Err_RESERVED_15: _bindgen_ty_1 = 15;
663pub const A_Err_RESERVED_16: _bindgen_ty_1 = 16;
664pub const A_Err_RESERVED_17: _bindgen_ty_1 = 17;
665pub const A_Err_RESERVED_18: _bindgen_ty_1 = 18;
666pub const A_Err_RESERVED_19: _bindgen_ty_1 = 19;
667pub const A_Err_RESERVED_20: _bindgen_ty_1 = 20;
668pub const A_Err_RESERVED_21: _bindgen_ty_1 = 21;
669pub const A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING: _bindgen_ty_1 = 22;
670pub const A_Err_PROJECT_LOAD_FATAL: _bindgen_ty_1 = 23;
671pub const A_Err_EFFECT_APPLY_FATAL: _bindgen_ty_1 = 24;
672pub const A_Err_LAST: _bindgen_ty_1 = 25;
673pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
674#[repr(C)]
675#[derive(Debug, Copy, Clone)]
676pub struct A_Version {
677    pub majorS: A_short,
678    pub minorS: A_short,
679}
680#[repr(C)]
681#[derive(Debug, Copy, Clone)]
682pub struct _Up_OpaqueMem {
683    _unused: [u8; 0],
684}
685pub type AEGP_MemHandle = *mut *mut _Up_OpaqueMem;
686pub type A_UTF16Char = A_u_short;
687pub type A_LegacyEnumType = A_char;
688pub type UInt32 = ::std::os::raw::c_uint;
689pub type SInt32 = ::std::os::raw::c_int;
690pub type Fixed = SInt32;
691pub type Ptr = *mut ::std::os::raw::c_char;
692pub type Handle = *mut Ptr;
693pub type Boolean = ::std::os::raw::c_uchar;
694pub type ProcPtr = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_long>;
695pub type ProcHandle = *mut ProcPtr;
696#[repr(C, packed(2))]
697#[derive(Debug, Copy, Clone)]
698pub struct ProcessSerialNumber {
699    pub highLongOfPSN: UInt32,
700    pub lowLongOfPSN: UInt32,
701}
702pub type ProcessSerialNumberPtr = *mut ProcessSerialNumber;
703pub type PFVersionInfo = A_u_long;
704pub const PF_Stage_DEVELOP: _bindgen_ty_8 = 0;
705pub const PF_Stage_ALPHA: _bindgen_ty_8 = 1;
706pub const PF_Stage_BETA: _bindgen_ty_8 = 2;
707pub const PF_Stage_RELEASE: _bindgen_ty_8 = 3;
708pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
709pub type PF_Stage = A_long;
710pub const PF_Quality_DRAWING_AUDIO: _bindgen_ty_9 = -1;
711pub const PF_Quality_LO: _bindgen_ty_9 = 0;
712pub const PF_Quality_HI: _bindgen_ty_9 = 1;
713pub type _bindgen_ty_9 = ::std::os::raw::c_int;
714pub type PF_Quality = A_long;
715pub const PF_MF_Alpha_PREMUL: _bindgen_ty_10 = 0;
716pub const PF_MF_Alpha_STRAIGHT: _bindgen_ty_10 = 1;
717pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
718pub type PF_ModeFlags = A_long;
719pub const PF_Field_FRAME: _bindgen_ty_11 = 0;
720pub const PF_Field_UPPER: _bindgen_ty_11 = 1;
721pub const PF_Field_LOWER: _bindgen_ty_11 = 2;
722pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
723pub type PF_Field = A_long;
724pub const PF_Param_RESERVED: _bindgen_ty_12 = -1;
725pub const PF_Param_LAYER: _bindgen_ty_12 = 0;
726pub const PF_Param_SLIDER: _bindgen_ty_12 = 1;
727pub const PF_Param_FIX_SLIDER: _bindgen_ty_12 = 2;
728pub const PF_Param_ANGLE: _bindgen_ty_12 = 3;
729pub const PF_Param_CHECKBOX: _bindgen_ty_12 = 4;
730pub const PF_Param_COLOR: _bindgen_ty_12 = 5;
731pub const PF_Param_POINT: _bindgen_ty_12 = 6;
732pub const PF_Param_POPUP: _bindgen_ty_12 = 7;
733pub const PF_Param_CUSTOM: _bindgen_ty_12 = 8;
734pub const PF_Param_NO_DATA: _bindgen_ty_12 = 9;
735pub const PF_Param_FLOAT_SLIDER: _bindgen_ty_12 = 10;
736pub const PF_Param_ARBITRARY_DATA: _bindgen_ty_12 = 11;
737pub const PF_Param_PATH: _bindgen_ty_12 = 12;
738pub const PF_Param_GROUP_START: _bindgen_ty_12 = 13;
739pub const PF_Param_GROUP_END: _bindgen_ty_12 = 14;
740pub const PF_Param_BUTTON: _bindgen_ty_12 = 15;
741pub const PF_Param_RESERVED2: _bindgen_ty_12 = 16;
742pub const PF_Param_RESERVED3: _bindgen_ty_12 = 17;
743pub const PF_Param_POINT_3D: _bindgen_ty_12 = 18;
744pub type _bindgen_ty_12 = ::std::os::raw::c_int;
745pub type PF_ParamType = A_long;
746pub const PF_ParamFlag_RESERVED1: _bindgen_ty_13 = 1;
747pub const PF_ParamFlag_CANNOT_TIME_VARY: _bindgen_ty_13 = 2;
748pub const PF_ParamFlag_CANNOT_INTERP: _bindgen_ty_13 = 4;
749pub const PF_ParamFlag_RESERVED2: _bindgen_ty_13 = 8;
750pub const PF_ParamFlag_RESERVED3: _bindgen_ty_13 = 16;
751pub const PF_ParamFlag_COLLAPSE_TWIRLY: _bindgen_ty_13 = 32;
752pub const PF_ParamFlag_SUPERVISE: _bindgen_ty_13 = 64;
753pub const PF_ParamFlag_START_COLLAPSED: _bindgen_ty_13 = 32;
754pub const PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS: _bindgen_ty_13 = 128;
755pub const PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE: _bindgen_ty_13 = 128;
756pub const PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED: _bindgen_ty_13 = 256;
757pub const PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_13 = 512;
758pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
759pub type PF_ParamFlags = A_long;
760pub const PF_Err_NONE: _bindgen_ty_14 = 0;
761pub const PF_Err_OUT_OF_MEMORY: _bindgen_ty_14 = 4;
762pub const PF_Err_INTERNAL_STRUCT_DAMAGED: _bindgen_ty_14 = 512;
763pub const PF_Err_INVALID_INDEX: _bindgen_ty_14 = 513;
764pub const PF_Err_UNRECOGNIZED_PARAM_TYPE: _bindgen_ty_14 = 514;
765pub const PF_Err_INVALID_CALLBACK: _bindgen_ty_14 = 515;
766pub const PF_Err_BAD_CALLBACK_PARAM: _bindgen_ty_14 = 516;
767pub const PF_Interrupt_CANCEL: _bindgen_ty_14 = 517;
768pub const PF_Err_CANNOT_PARSE_KEYFRAME_TEXT: _bindgen_ty_14 = 518;
769pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
770pub type PF_Err = A_long;
771pub const PF_WorldFlag_DEEP: _bindgen_ty_15 = 1;
772pub const PF_WorldFlag_WRITEABLE: _bindgen_ty_15 = 2;
773pub const PF_WorldFlag_RESERVED0: _bindgen_ty_15 = 16777216;
774pub const PF_WorldFlag_RESERVED1: _bindgen_ty_15 = 33554432;
775pub const PF_WorldFlag_RESERVED2: _bindgen_ty_15 = 67108864;
776pub const PF_WorldFlag_RESERVED3: _bindgen_ty_15 = 134217728;
777pub const PF_WorldFlag_RESERVED4: _bindgen_ty_15 = 268435456;
778pub const PF_WorldFlag_RESERVED5: _bindgen_ty_15 = 536870912;
779pub const PF_WorldFlag_RESERVED6: _bindgen_ty_15 = 1073741824;
780pub const PF_WorldFlag_RESERVED: _bindgen_ty_15 = 2147483648;
781pub type _bindgen_ty_15 = ::std::os::raw::c_uint;
782pub type PF_WorldFlags = A_long;
783pub const PF_OutFlag_NONE: _bindgen_ty_16 = 0;
784pub const PF_OutFlag_KEEP_RESOURCE_OPEN: _bindgen_ty_16 = 1;
785pub const PF_OutFlag_WIDE_TIME_INPUT: _bindgen_ty_16 = 2;
786pub const PF_OutFlag_NON_PARAM_VARY: _bindgen_ty_16 = 4;
787pub const PF_OutFlag_RESERVED6: _bindgen_ty_16 = 8;
788pub const PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING: _bindgen_ty_16 = 16;
789pub const PF_OutFlag_I_DO_DIALOG: _bindgen_ty_16 = 32;
790pub const PF_OutFlag_USE_OUTPUT_EXTENT: _bindgen_ty_16 = 64;
791pub const PF_OutFlag_SEND_DO_DIALOG: _bindgen_ty_16 = 128;
792pub const PF_OutFlag_DISPLAY_ERROR_MESSAGE: _bindgen_ty_16 = 256;
793pub const PF_OutFlag_I_EXPAND_BUFFER: _bindgen_ty_16 = 512;
794pub const PF_OutFlag_PIX_INDEPENDENT: _bindgen_ty_16 = 1024;
795pub const PF_OutFlag_I_WRITE_INPUT_BUFFER: _bindgen_ty_16 = 2048;
796pub const PF_OutFlag_I_SHRINK_BUFFER: _bindgen_ty_16 = 4096;
797pub const PF_OutFlag_WORKS_IN_PLACE: _bindgen_ty_16 = 8192;
798pub const PF_OutFlag_RESERVED8: _bindgen_ty_16 = 16384;
799pub const PF_OutFlag_CUSTOM_UI: _bindgen_ty_16 = 32768;
800pub const PF_OutFlag_RESERVED7: _bindgen_ty_16 = 65536;
801pub const PF_OutFlag_REFRESH_UI: _bindgen_ty_16 = 131072;
802pub const PF_OutFlag_NOP_RENDER: _bindgen_ty_16 = 262144;
803pub const PF_OutFlag_I_USE_SHUTTER_ANGLE: _bindgen_ty_16 = 524288;
804pub const PF_OutFlag_I_USE_AUDIO: _bindgen_ty_16 = 1048576;
805pub const PF_OutFlag_I_AM_OBSOLETE: _bindgen_ty_16 = 2097152;
806pub const PF_OutFlag_FORCE_RERENDER: _bindgen_ty_16 = 4194304;
807pub const PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS: _bindgen_ty_16 = 8388608;
808pub const PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES: _bindgen_ty_16 = 16777216;
809pub const PF_OutFlag_DEEP_COLOR_AWARE: _bindgen_ty_16 = 33554432;
810pub const PF_OutFlag_SEND_UPDATE_PARAMS_UI: _bindgen_ty_16 = 67108864;
811pub const PF_OutFlag_AUDIO_FLOAT_ONLY: _bindgen_ty_16 = 134217728;
812pub const PF_OutFlag_AUDIO_IIR: _bindgen_ty_16 = 268435456;
813pub const PF_OutFlag_I_SYNTHESIZE_AUDIO: _bindgen_ty_16 = 536870912;
814pub const PF_OutFlag_AUDIO_EFFECT_TOO: _bindgen_ty_16 = 1073741824;
815pub const PF_OutFlag_AUDIO_EFFECT_ONLY: _bindgen_ty_16 = 2147483648;
816#[doc = " -------------------- Output Flags --------------------\n\nThe out_flags field of the OutData can be set to an OR-ed\ncombination of these flags to communicate various things to\nthe driver program.  The flags are described here:\n\nPF_OutFlag_NONE\nThis is the \"empty\" setting -- no outflags.\n\nPF_OutFlag_WIDE_TIME_INPUT\nSet this flag if the effect calls get_param to inquire a\nparameter at a time besides the current one (e.g. to get\nthe previous video frame). This should be sent, if it is\ngoing to be sent, at PF_Cmd_GLOBAL_SETUP. Can be over-ridden\ndynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nAs of AE10, this flag is no longer recommended. It still works the\nsame way and is safe to set, but there's a more efficient option.\nSee PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT.\n\nPF_OutFlag_NON_PARAM_VARY\nSet this if the effect uses information other than the parameters\nin the param list to generate its output at the current time.\nFor instance, if the effect uses the current time of the frame\nor some random value to decide the output, set this flag.  This\nflag should be sent at PF_Cmd_GLOBAL_SETUP.  If the effect\nproduces changing frames when applied to a still image and\nall parameters are constant, that's a sure sign that this bit\nshould be set (e.g. Wave Warp).\tCan be over-ridden dynamically\nduring PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING\nWhen you allocate a sequence data handle, the app\nmay write the handle out to disk and reuse it\nlater. Pass this flag if the handle is not \"flat\"\n(i.e. has pointers or handles hanging off of it).\nBasically, this gives you a chance to alter the\nhandle contents before it is written out to disk,\nso  you won't get invalid handles or pointers. Once\nyou have flattened a handle, you will get an\nopportunity to un-flatten it before the effect\nneeds to continue. For sequence data, you will be\ninvoked with a PF_Cmd_SEQUENCE_RESETUP call. You\nshould store a boolean at a common  offset in your\nunflattened and flattened data that says whether\nthe data is flat or not. If you get a\nPF_Cmd_SEQUENCE_RESETUP and the boolean indicated\nthe data is flattened, you should  unflatten the\ndata, free the flattened data handle, and set the\nsequence_data handle in the  PF_OutData. If you\never set the data to NULL when you flatten it, you\nwill NOT get the sequence  resetup call to\nunflatten it. Instead, you may just get a RENDER\ncall with NULL data. Forewarned is  forearmed. This\nflag, indicating if the data will need to be\nflattened, should be set at  PF_Cmd_GLOBAL_SETUP time.\n\nPF_OutFlag_I_DO_DIALOG\nSet this is the effect responds to a PF_Cmd_DO_DIALOG, i.e. Does this\neffect bring up an options dialog box.  PF_Cmd_DO_DIALOG is generated\nwhen the user presses the Options button on the Effect floater.\nThis flag should be set at PF_Cmd_GLOBAL_SETUP time.\n\nPF_OutFlag_USE_OUTPUT_EXTENT\nThe output layer is passed with an \"extent rect\" indicating\nthe area of the layer that actually contains visible image data.  If\nthe effect changes its behavior based on the extent rect (for instance,\nby not iterating over the entire image), set this flag, so the\napplication will know whether having the extent\tchange should cause\nthe frame to re-render.  Specify this flag at PF_Cmd_GLOBAL_SETUP.\n\nPF_OutFlag_SEND_DO_DIALOG\nSome filters need their options dialog box to be brought up at least\nonce to be valid.  You can set this flag, and the driver app will\nautomatically send a PF_Cmd_DO_DIALOG to the effect when it is applied.\nThe DO_DIALOG will be sent after PF_Cmd_SEQUENCE_SETUP.  This flag\nshould be set in PF_Cmd_SEQUENCE_SETUP if it is going to be set.\n\nPF_OutFlag_DISPLAY_ERROR_MESSAGE\nWhenever the return_msg field in the PF_OutData is set to a string,\nAfter Effects will bring up a simple dialog box containing that\nstring.  If you set this flag, the dialog box will be made to look\nlike an error message dialog box.  If you don't set this flag, it\nwill be an undecorated dialog box.  Using this flag, an effects module\ncan have and display its own error messages and not worry about the\ncode for dialog boxes -- the program will do it for you.\nThis flag can be sent after any command.\n\nPF_OutFlag_I_EXPAND_BUFFER\nStarting with After Effects 2.0, effects will be able to expand their buffers\nbeyond the current layer's dimensions. This has always been part of the\nPF specification, but as an extra precaution (and hint to the AE rendering\nengine) set this flag at PF_Cmd_GLOBAL_SETUP if you plan to expand your\nbuffer.\n\nPF_OutFlag_I_SHRINK_BUFFER\nSet this flag if you can shrink your buffer based on the extent-rects passed\nto you in order to be more memory efficient.\n\nPF_OutFlag_PIX_INDEPENDENT\nSet this flag if the output at a given pixel is not dependent on the values\nof the pixels around it. If this is set, the pixels After Effects does not\ncare about (because of field rendering, for example) could be filled with garbage\ncolors.  Please set this flag at PF_Cmd_GLOBAL_SETUP. Can be over-ridden\ndynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_I_WRITE_INPUT_BUFFER\nSet this flag if your effect would like to write into the input buffer. This\ncan be useful if you need an scratch buffer, but it also invalidates some speedups\nin the AE rendering pipeline, so use it with some discretion. Please set this\nflag at PF_Cmd_GLOBAL_SETUP.\n\nPF_OutFlag_KEEP_RESOURCE_OPEN\n\nObsoleted in AE 2015 (does nothing when set).\n\nSet this flag if your effect expects its Macintosh resource fork to be open\nat any time other than global setup.  Note that this does not mean that\nthe resource fork will be kept open at all times, just whenever the\neffect is being executed.\n\nPF_OutFlag_NOP_RENDER\n\nSet this flag in PF_Cmd_GLOBAL_SETUP if the render would never result in changes\nto the source image (or audio?). For example, an expression control would set this.\n\nPF_OutFlag_CUSTOM_UI\n\nThis flag must be set if your effect has a custom UI in the Effect Controls\nWindow, Layer Window or Comp Window.\n\nPF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER\t(new in 13.5)\n\nThis flags enables use of AEGP_CheckoutOrRender_*_AsyncManager() calls\nwhich avoid the need for plugin management of the lifetime of async custom UI renders from the UI thread.\nThe plugin asks for what frames it needs and the manager calls PF_Event_DRAW again when they are available\n(or cancels them as needed automatically).  The plugin responds in PF_Event_DRAW by asking for what it needs\nand drawing what it can from what is available.\n\nDue to separation of Render thread and UI thread in 13.5, frames for custom UI should no longer be\nrendered synchronously (see RenderSuite5 for more details). The manager simplifies this, especially when\nthere are multiple requests needed for DRAW.\n\nWhen enabled, this flag associates a \"PF_AsyncManager\" with the NEW_CONTEXT/CLOSE_CONTEXT and PF_Event_DRAW\nthat will automatically track completion of 1 or more asynch render requests made for drawing custom UI.\nAs requests complete,  PF_Event_DRAW will be called again and the current state of the CUSTOM_UI can be drawn.\nSuch requests may be canceled automatically as the user scrubs the time needle or project changes are made and\nbecome invalid.\n\nThis flag is used in addition to the CUSTOM_UI flag during PF_Cmd_GLOBAL_SETUP\n\nPF_OutFlag_REFRESH_UI\n\nCan be returned from PF_Cmd_EVENT, PF_Cmd_RENDER, and PF_Cmd_DO_DIALOG.\nCauses the effects control window, layer window, and comp window to be re-drawn.\n\nPF_OutFlag_I_USE_SHUTTER_ANGLE\n\nMust be set at PF_Cmd_GLOBAL_SETUP time if the effect uses\nthe shutter_angle or the shutter_phase. Can be over-ridden dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag_I_USE_AUDIO\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for a visual effect\nthat calls the audio checkout calls.\n\nPF_OutFlag_I_AM_OBSOLETE\n\nSet at PF_Cmd_GLOBAL_SETUP time for effects that don't\nwant to appear in the AE Effects menu (but will still be invoked\nif you load a project that has an old copy of the effect applied).\n\nPF_OutFlag_FORCE_RERENDER\n\nSet at PF_Cmd_EVENT if the effect modified sequence data,\nor did anything else that requires the effect needs to re-render.\nNote that setting PF_ChangeFlag_CHANGED_VALUE automatically\ncauses a re-render, so don't worry about setting PF_OutFlag_FORCE_RERENDER\nin that case. Also, I_MIX_GUID_DEPENDENCIES can be used to trigger a rerender on\ndependant changes if sequence_data has not been changed.\n\nIMPORTANT: FORCE_RERENDER should be used as a last resort. Long term we should be eliminating the need for this\nbecause it causes forced cache invalidation that doesn't work well with undo.\nOnce we have the full set of APIs in place needed to manage render state, we will be able to deprecate this.\nPrefer using ARB data + CHANGED_VALUE or I_MIX_GUID_DEPENDENCIES when possible instead.\n\nIn 13.5 the split between a UI and render threads means that FORCE_RERENDER will now also have the needed\nside effect of copying sequence_data state to the render project.  This can be expensive if the sequence_data is large.\nSupport GET_FLATTENED_SEQUENCE_DATA to prevent deallocation of your sequence_data, which can help.\nGET_FLATTENED_SEQUENCE_DATA support is required for FORCE_RERENDER use in custom mouse/key events.\n\nPF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS\n\nValid only for setting in your PiPL.  When set out_flags will be\nignored at PF_Cmd_GLOBAL_SETUP time (& thus don't need to match).\n\nPF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if the effect has dependencies\nthat the user should know about before transporting their project to a\ndifferent machine.  For example, dependencies on an installed font,\nor on an external file.  If set, the effect will receive a\nPF_Cmd_GET_EXTERNAL_DEPENDENCIES request, where the extra\nparam will be a PF_ExtDependenciesExtra, and the effect should\nreport its information based on the given sequence_data.\n\nPF_OutFlag_SEND_UPDATE_PARAMS_UI\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you want to receive\nPF_Cmd_UPDATE_PARAMS_UI messages.\n\nPF_OutFlag_AUDIO_FLOAT_ONLY\n\nSet this flag if you only want to receive PF_SIGNED_FLOAT data\nwhen processing audio data.  Requires PF_OutFlag_AUDIO_EFFECT_TOO\nor PF_OutFlag_AUDIO_EFFECT_ONLY.\n\nPF_OutFlag_AUDIO_IIR\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you are an\nInfinite-Impulse-Response audio filter (i.e. your output at a given\ntime depends on your output from previous times).\n\nPF_OutFlag_I_SYNTHESIZE_AUDIO\n\nSet this flag at PF_Cmd_GLOBAL_SETUP time if you generate\naudio even when handed silence.  Requires PF_OutFlag_AUDIO_EFFECT_TOO\nor PF_OutFlag_AUDIO_EFFECT_ONLY.\n\nPF_OutFlag_AUDIO_EFFECT_TOO\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for an effect that\nwants to filter the audio too (as opposed to just reading the audio).\n\nPF_OutFlag_AUDIO_EFFECT_ONLY\n\nMust be set at PF_Cmd_GLOBAL_SETUP time for an effect\nthat only filters audio (no video).\n\nPF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS\n\nSet this during PF_Cmd_GLOBAL_SETUP if the effect handles PF_Cmd_QUERY_DYNAMIC_FLAGS.\nSupporting this command can dramatically improve performance for certain\neffects, because it provides dynamic information to the host about what\ncan be cached (as opposed to PIPL bits which cannot be changed at run-time)\n\nPF_OutFlag2_I_USE_3D_CAMERA\n\nThis bit must be set if the effect ever uses the AEGP PF_Interface suite to\naccess camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_I_USE_3D_LIGHTS\n\nThis bit must be set if the effect ever uses the AEGP PF_Interface suite to\naccess camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG\n\nIf you want a parameter group to honor the PF_ParamFlag_COLLAPSE_TWIRLY or\nPF_ParamFlag_START_COLLAPSED flag, set this bit.  Otherwise, all parameter\ngroups will be collapsed by default.\n\nPF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS\n\nAdded for render optimizations; shrinks the input buffer passed to the effect to\nexclude any empty pixels (where empty means \"zero alpha\" unless\nPF_OutFlag2_REVEALS_ZERO_ALPHA is set, in which case RGB must be zero as well.)\nThe origin of the trimmed buffer can be found in in_data->pre_effect_source_origin.\nEffects with both this flag and PF_OutFlag_I_EXPAND_BUFFER set may get called with\na null input buffer if their input is completely empty, and must be able to handle\nthis case without crashing. This flag can be cleared dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_REVEALS_ZERO_ALPHA\n\nThe effect can take pixels with zero alpha and reveal the RGB data in them (like\nour Set Channels effect). This tells After Effects not to trim such pixels when\ndetermining the input for the effect. This flag can be cleared dynamically during\nPF_Cmd_QUERY_DYNAMIC_FLAGS.\n\nPF_OutFlag2_I_AM_DEPRECATED\nthis effect is still available, and shows up under user-visible \"Obsolete\" category\nin the UI. Setting this flag means \"there's a better way to do this, but this effect\nmay still be useful in some situations\".  distinct from PF_OutFlag_I_AM_OBSOLETE in\nthat these will still show up in the GUI and the user can still apply them to new\nprojects.  The category that is set by the effect is pretty much ignored, as it will\ninstead always go into the \"Obsolete\" category\n\nPF_OutFlag2_I_USE_TIMECODE\nNew in AE 9.0.  The effect depends on the Composition's timecode or a layer's\nsource footage timecode.  If the underlying timecode changes the effects will\nbe asked to rerender.\n\nPF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT\nNew in AE 10. Requires setting of PF_OutFlag_WIDE_TIME_INPUT (which allows you\nto support old hosts), but effectively overrides that flag. When set, all\nparameter checkouts are tracked so over-time dependencies are known by AE. Note\nthat if you use this new flag, and you cache any time-dependent data in your\nsequence data (or anywhere else), you must validate that cache using the\nnew PF_HaveInputsChangedOverTimeSpan() before using it.\n\nThis only works for smart effects (those that set PF_OutFlag2_SUPPORTS_SMART_RENDER). If you haven't\nset that, After Effects will silently treat this as PF_OutFlag_WIDE_TIME_INPUT instead.\n\nTo test that it's working, apply your effect with one parameter keyframed on every frame.\nRAM Preview to fill the cache, then change one of the keyframes. The related frame and\nall dependent frames (e.g. later frames, in the case of a simulation) should lose their\ncache marks and require re-rendering. Simlarly, upstream changes to sources of layer\nparameters should cause time-selective invalidation of the cache.\n\nPF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS\nSet this if you are going to look at paths that aren't directly referenced by a path\nparam, e.g. if you are going to draw a stroke on all masks.\n\nPF_OutFlag2_OUTPUT_IS_WATERMARKED\nSet this if your output is going to be watermarked in some way that makes it unsuitable for\nfinal use, probably because the user is using an unlicensed demo version. It is ok to change\nthis state during the course of app session, if e.g. a floating license status changes.\nPlugin authors that actually do have this state changing asynchronously must be careful to\nhave the next render match the last state returned from QUERY_DYNAMIC_FLAGS otherwise race conditions\ncould cause incorrect frames to be cached. (This is a non-issue if you only change this in response\nto DO_DIALOG.)\n\nPF_OutFlag2_I_MIX_GUID_DEPENDENCIES\t(new in 13.5)\nSmart effects only. With this option, FORCE_RERENDER becomes a cache-savvy more efficient MAYBE rerender.\nIf custom UI or DO_DIALOG change sequence data, returning FORCE_RERENDER requests AE to check whether\nrerender needs to occur.  During PreRender, the effect uses the GuidMixInPtr callback to mix\nany additional state that affects the render into our internal GUID for the cached frame.\nAE can then tell whether the frame already exists and if so, no longer needs to render.\nThis also means that DO_DIALOG no longer always blows the cache and that undo works across DO_DIALOG.\nCancelation of DO_DIALOG no longer blows the cache either.\nThis also means that I_USE_* flags are now basically redundant since any dependency could be mixed in.\nJust be sure to mix in everything that can uniquely affect resulting rendered pixels (that is not already\nan AE stream parameter).  But don't mixin things that are disabled and have no render effect  (this\nresults in less cache efficiency).\n\nPF_OutFlag2_SUPPORTS_THREADED_RENDERING\nIndicates the effect supports rendering on multiple threads at the same time. Single or multiple\napplications of this effect on a layer can be called to render at the same time on multiple threads.\n\nUI selectors are still sent on the main thread, however Sequence Setup, Sequence Resetup, Sequence SetDown,\nPreRender, and Render may be sent on multiple threads at the same time as the UI selectors are being handled\nso all of these selectors must be thread safe.\n\nGlobal Setup and Global Setdown selectors are unaffected by this flag.  Regardless whether this flag is set\nor not, they will only be sent on the main thread, and will not be sent at the same time as any other selectors.\n\nIf the effect sets PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING indicating the sequence data needs flattening\nthen it must also set PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA.\n\nsequence_data is read-only at render time and must be accessed with PF_EffectSequenceDataSuite.\nin_data->sequence_data will be NULL during render. AEGP_ComputeCacheSuite is suggested if writing to\nsequence_data at render time is needed for caching. This suite unifies cache entries so multiple threads do\nnot recompute the same cache value. If neither of these solutions work, see the next flag,\nPF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER.\n\nPF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER\nIndicates the effect needs sequence_data replicated for each render thread, thus allowing each render to have\nsequence_data which can be written to. Note that changes to sequence_data will be discarded regularly, currently\nafter each span of frames is rendered such as single RAM Preview or Render Queue export."]
817pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
818pub type PF_OutFlags = A_long;
819pub const PF_OutFlag2_NONE: _bindgen_ty_17 = 0;
820pub const PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS: _bindgen_ty_17 = 1;
821pub const PF_OutFlag2_I_USE_3D_CAMERA: _bindgen_ty_17 = 2;
822pub const PF_OutFlag2_I_USE_3D_LIGHTS: _bindgen_ty_17 = 4;
823pub const PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG: _bindgen_ty_17 = 8;
824pub const PF_OutFlag2_I_AM_THREADSAFE: _bindgen_ty_17 = 16;
825pub const PF_OutFlag2_CAN_COMBINE_WITH_DESTINATION: _bindgen_ty_17 = 32;
826pub const PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS: _bindgen_ty_17 = 64;
827pub const PF_OutFlag2_REVEALS_ZERO_ALPHA: _bindgen_ty_17 = 128;
828pub const PF_OutFlag2_PRESERVES_FULLY_OPAQUE_PIXELS: _bindgen_ty_17 = 256;
829pub const PF_OutFlag2_SUPPORTS_SMART_RENDER: _bindgen_ty_17 = 1024;
830pub const PF_OutFlag2_RESERVED9: _bindgen_ty_17 = 2048;
831pub const PF_OutFlag2_FLOAT_COLOR_AWARE: _bindgen_ty_17 = 4096;
832pub const PF_OutFlag2_I_USE_COLORSPACE_ENUMERATION: _bindgen_ty_17 = 8192;
833pub const PF_OutFlag2_I_AM_DEPRECATED: _bindgen_ty_17 = 16384;
834pub const PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER: _bindgen_ty_17 = 32768;
835pub const PF_OutFlag2_RESERVED10: _bindgen_ty_17 = 65536;
836pub const PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT: _bindgen_ty_17 = 131072;
837pub const PF_OutFlag2_I_USE_TIMECODE: _bindgen_ty_17 = 262144;
838pub const PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS: _bindgen_ty_17 = 524288;
839pub const PF_OutFlag2_OUTPUT_IS_WATERMARKED: _bindgen_ty_17 = 1048576;
840pub const PF_OutFlag2_I_MIX_GUID_DEPENDENCIES: _bindgen_ty_17 = 2097152;
841pub const PF_OutFlag2_AE13_5_THREADSAFE: _bindgen_ty_17 = 4194304;
842pub const PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_17 = 8388608;
843pub const PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER: _bindgen_ty_17 = 16777216;
844pub const PF_OutFlag2_SUPPORTS_GPU_RENDER_F32: _bindgen_ty_17 = 33554432;
845pub const PF_OutFlag2_RESERVED12: _bindgen_ty_17 = 67108864;
846pub const PF_OutFlag2_SUPPORTS_THREADED_RENDERING: _bindgen_ty_17 = 134217728;
847pub const PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER: _bindgen_ty_17 = 268435456;
848pub const PF_OutFlag2_SUPPORTS_DIRECTX_RENDERING: _bindgen_ty_17 = 536870912;
849pub type _bindgen_ty_17 = ::std::os::raw::c_uint;
850pub type PF_OutFlags2 = A_long;
851pub const PF_InFlag_NONE: _bindgen_ty_18 = 0;
852pub const PF_InFlag_PROJECT_IS_RENDER_ONLY: _bindgen_ty_18 = 1;
853#[doc = " -------------------- Input Flags --------------------\n\nThe in_flags field of the InData can be set to an OR-ed\ncombination of these flags to communicate various things from AE to an effect plugin\nThe flags are described here:\n\nPF_InFlag_NONE\nThis is the \"empty\" setting -- no inflags.\n\nPF_InFlag_PROJECT_IS_RENDER_ONLY  (since 13.5)\n\nFor efficiency, if a plugin sets up UI that is not used in render, this flag\ncan be tested to skip that step when an effect is being RESETUP for render only.\nEffect instances with this flag on in RESETUP are in read-only AE projects and will not receive UI related selectors.\n\nThis is an optimization hint.  If you don't make such optimizations in render your plugin should still work.\n\nThis flag should generally not be used to suppress errors in render.  Errors should still be reported as usual via AE standard mechanisms,\nand AE will then handle the differences in context reporting.\n\nIf this is off, UI should be set up normally (and the effect could also be running in an earlier version of\nAE that assumed render and UI on the same effect instance.)"]
854pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
855pub type PF_InFlags = A_long;
856pub const PF_Cmd_ABOUT: _bindgen_ty_19 = 0;
857pub const PF_Cmd_GLOBAL_SETUP: _bindgen_ty_19 = 1;
858pub const PF_Cmd_UNUSED_0: _bindgen_ty_19 = 2;
859pub const PF_Cmd_GLOBAL_SETDOWN: _bindgen_ty_19 = 3;
860pub const PF_Cmd_PARAMS_SETUP: _bindgen_ty_19 = 4;
861pub const PF_Cmd_SEQUENCE_SETUP: _bindgen_ty_19 = 5;
862pub const PF_Cmd_SEQUENCE_RESETUP: _bindgen_ty_19 = 6;
863pub const PF_Cmd_SEQUENCE_FLATTEN: _bindgen_ty_19 = 7;
864pub const PF_Cmd_SEQUENCE_SETDOWN: _bindgen_ty_19 = 8;
865pub const PF_Cmd_DO_DIALOG: _bindgen_ty_19 = 9;
866pub const PF_Cmd_FRAME_SETUP: _bindgen_ty_19 = 10;
867pub const PF_Cmd_RENDER: _bindgen_ty_19 = 11;
868pub const PF_Cmd_FRAME_SETDOWN: _bindgen_ty_19 = 12;
869pub const PF_Cmd_USER_CHANGED_PARAM: _bindgen_ty_19 = 13;
870pub const PF_Cmd_UPDATE_PARAMS_UI: _bindgen_ty_19 = 14;
871pub const PF_Cmd_EVENT: _bindgen_ty_19 = 15;
872pub const PF_Cmd_GET_EXTERNAL_DEPENDENCIES: _bindgen_ty_19 = 16;
873pub const PF_Cmd_COMPLETELY_GENERAL: _bindgen_ty_19 = 17;
874pub const PF_Cmd_QUERY_DYNAMIC_FLAGS: _bindgen_ty_19 = 18;
875pub const PF_Cmd_AUDIO_RENDER: _bindgen_ty_19 = 19;
876pub const PF_Cmd_AUDIO_SETUP: _bindgen_ty_19 = 20;
877pub const PF_Cmd_AUDIO_SETDOWN: _bindgen_ty_19 = 21;
878pub const PF_Cmd_ARBITRARY_CALLBACK: _bindgen_ty_19 = 22;
879pub const PF_Cmd_SMART_PRE_RENDER: _bindgen_ty_19 = 23;
880pub const PF_Cmd_SMART_RENDER: _bindgen_ty_19 = 24;
881pub const PF_Cmd_RESERVED1: _bindgen_ty_19 = 25;
882pub const PF_Cmd_RESERVED2: _bindgen_ty_19 = 26;
883pub const PF_Cmd_RESERVED3: _bindgen_ty_19 = 27;
884pub const PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_19 = 28;
885pub const PF_Cmd_TRANSLATE_PARAMS_TO_PREFS: _bindgen_ty_19 = 29;
886pub const PF_Cmd_RESERVED4: _bindgen_ty_19 = 30;
887pub const PF_Cmd_SMART_RENDER_GPU: _bindgen_ty_19 = 31;
888pub const PF_Cmd_GPU_DEVICE_SETUP: _bindgen_ty_19 = 32;
889pub const PF_Cmd_GPU_DEVICE_SETDOWN: _bindgen_ty_19 = 33;
890pub const PF_Cmd_NUM_CMDS: _bindgen_ty_19 = 34;
891#[doc = " -------------------- Command Selectors --------------------\n\nThe first parameter to the effect routine is one of t\these command\nselectors.  The commands are described here.\n\nPF_Cmd_ABOUT\nThis command should display an information dialog box about the\neffect module.  The easiest thing to do is PF_SPRINTF the info\ninto the out_data->return_msg field.  After Effects will bring\nup a simple undecorated modal dialog with your text proudly displayed.\nThis command can be sent at _any_ time, so don't count on having\nany global data or anything else set.  (Except, as always, the\ncurrent resource file will be set to your effects module.)\n\nPF_Cmd_GLOBAL_SETUP\nWhen you get this command, you should check the version of the\neffect protocol with which you are being invoked, and set any of\nthe necessary out flags (described above) or out data fields\n(described below).  If your global data was flattened, the flat\ndata will be passed here and you should unflatten it, free the\nflat global data, and set the OutData global_data to the new un-flat\ndata.  Alternatively, the global data may come in NULL and you can\nallocate new global data at this time.\n\nPF_Cmd_GLOBAL_SETDOWN\nYou should free any global data you have allocated when you get\nthis command.\n\nPF_Cmd_PARAMS_SETUP\nHere you should add any params your effect wants using the\nPF_ADD_PARAM callback described below.  This is called after global\nsetup -- see the add_param callback described below.\n\nPF_Cmd_SEQUENCE_SETUP\nThis is called when the effect is first applied to a layer.\nA sequence is a series of images that will usually be all be of the same\nsize and in the same context.  You can allocate sequence data\nat this time -- many more input fields are defined at this time.\nSee the PF_InData description below.\n\nAs of 13.5 this only happens on the UI thread.\nExcept for legacy (no GET_FLATTENED_SEQUENCE_DATA) effects that do I_DO_DIALOG which can still hit this in render.\n\nPF_Cmd_SEQUENCE_RESETUP\nThis call is made to unflatten flattened sequence data.\nThere are at least three cases when this can happen:\n1) after the sequence data is written to disk, 2) after the\nsequence data is read in from disk, 3) after a duplicate\nis made (called on both original and the new sequence).\n\nThis can happen in UI or Render thread (13.5),  the effect must handle\ninitialization of a NULL sequence_data input if needed.  See also PF_InFlag_PROJECT_IS_RENDER_ONLY.\n\nPF_Cmd_SEQUENCE_FLATTEN\nThis call is made to flatten unflat sequence data so it can be\ncached to disk.  After the data is flattened, free the un-flat data\nand set the out_data->sequence_data to the new flat data.\nIf you don't want your sequence handle written to disk, you\ncan set it to NULL (after disposing it) at this time.  Presumably\nyou would then reallocate it at another time.\n\nThis command will be sent when saving and when duplicating\nthe sequence.\n\nPF_Cmd_GET_FLATTENED_SEQUENCE_DATA\t(new in 13.5)\nReturns an independent allocation of the sequence data which can be written\nto disk or used to initialise or update other instances of the effect plug-in.\n\nThe host calls this command to serialize the sequence data without\nhaving to flatten and resetup the UI plug-in as was legacy practice. (However, at present effects\nstill may need flattening in render if the sequence_data is about to be assigned.)\n\nAn effect that implements GET_FLATTENED_SEQUENCE_DATA will only receive SEQUENCE_SETUP on the UI thread.\nSEQUENCE_RESETUP can happen on either thread. Make sure you handle a NULL sequence_data in RESETUP.\n(Without GET_FLATTENED, a legacy effect may still get SEQUENCE_SETUP in render but DO_DIALOG will not be called.)\n\nAlso when enabled, this means that the effect is guaranteed to get a\nSEQUENCE_SETDOWN cmd to dispose the effect's sequence_data  (previously\nit was possible for AE to bypass this if the sequence_data was flat,\nbut that lead to SEQUENCE_SETUP/SETDOWN imbalances for some plugins.\nThe imbalance should not happen when using this flag, but the plugin must\nhandle being called on SETDOWN with possibly flat data. For example,\ntry copy and pasting an effect onto itself.\n\nSupport for this command is indicated by setting\nPF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA\n\nThe ownership of the returned handle is transferred to the host.\n\nPF_Cmd_SEQUENCE_SETDOWN\nYou should free any sequence data you have allocated when you\nget this command.\n\nPF_Cmd_DO_DIALOG\nThis command indicated that the Options button or command has\nbeen selected and the effect should bring up its options dialog.\nThis command will only be sent it the effect has indicated that\nit has an options dialog with PF_OutFlag_I_DO_DIALOG.  This\ncommand will automatically be sent once upon applying the filter\nif PF_OutFlag_SEND_DO_DIALOG is set in SEQUENCE_SETUP.\n\nPF_Cmd_FRAME_SETUP\nThis is called immediately before each frame is invoked.  You\ncan allocate frame data at this time, if you wish, or you can\njust wait for the RENDER which will immediately follow.\n\nPF_Cmd_RENDER\nThis is the call to render the frame.  All fields in the in_data\nwill be valid at this time and you can inquire parameters or\nwhat-have-you.  This should set the output frame with the new\nimage data.  This is the main action command.\n\nPF_Cmd_FRAME_SETDOWN\nIf you allocated data in PF_Cmd_FRAME_SETUP, this is the time\nto free it and clean up after rendering the frame.\n\nPF_Cmd_USER_CHANGED_PARAM\nThis command will be sent if you set the PF_ParamFlag_SUPERVISE\nflag for a param.  This allows you to modify the params array contents to\ncontrol values or make one control affect others, including arbitrary\ndata.  This command will be sent whenever the user interacts with a\nstandard param controller that has PF_ParamFlag_SUPERVISE\nset.\n\nThe \"extra\" field will be a pointer to a PF_UserChangedParamExtra structure\nwhich contains the param_index of the changed parameter.\n\nYou can return PF_ChangeFlag_CHANGED_VALUE and/or call PF_UpdateParamUI()\nfor any param.\n\nPF_Cmd_UPDATE_PARAMS_UI\nThis command will be sent when the Effect Controls Window (ECW)\nneeds to updated (e.g. after opening the ECW or moving the comp to\na new time) if you have set PF_OutFlag_SEND_UPDATE_PARAMS_UI at\nglobal setup time.\n\nThis gives you a chance to call PF_UpdateParamUI() to modify certain\nui fields for the params.  See the doc for PF_UpdateParamUI()\nto see which fields can be modified.\n\nWARNING: When handling PF_Cmd_UPDATE_PARAMS_UI, you can call\nPF_UpdateParamUI() for any param(s), but not PF_ChangeFlag_CHANGED_VALUE --\nonly cosmetic changes can be made in response to this command.\n\nPF_Cmd_QUERY_DYNAMIC_FLAGS\nThis command will be sent at arbitrary times if PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS\nis set during global setup. During this call the effect may examine the values\nof its parameters at the current time (except layer parameters) by checking them out,\nand decide whether any of the flags that support PF_Cmd_QUERY_DYNAMIC_FLAGS should be set.\n\nThe appropriate flags must be set in out_data->out_flags and out_data->out_flags2 before\nreturning. The effect must decide what information is necessary to render a frame at\nthe current time, given only the values of parameters at that time. Clearing the\nappropriate bits when possible can result in great performance improvements, but\nincorrectly clearing bits will result in caching bugs, and you won't like that. Nope.\n\n Important Reminder***\nBefore you add a new PF_Cmd, evaluate whether it should allow\nnew Sequence Data allocations! If so, remember to add it to\nCmdCanChangeSequenceData() in FLT_Host.cpp!"]
892pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
893pub type PF_Cmd = A_long;
894#[repr(C)]
895#[derive(Debug, Copy, Clone)]
896pub struct _PF_LayerAudio {
897    _unused: [u8; 0],
898}
899#[doc = " -------------------- Simple Types --------------------"]
900pub type PF_LayerAudio = *mut _PF_LayerAudio;
901pub type PF_SndSamplePtr = *mut ::std::os::raw::c_void;
902#[repr(C)]
903#[derive(Debug, Copy, Clone)]
904pub struct PF_ProgressInfo {
905    _unused: [u8; 0],
906}
907pub type PF_ProgPtr = *mut PF_ProgressInfo;
908pub type PF_ParamValue = A_long;
909#[repr(C)]
910#[derive(Debug, Copy, Clone)]
911pub struct PF_SpecVersion {
912    pub major: A_short,
913    pub minor: A_short,
914}
915pub type PF_ParamIndex = A_long;
916pub type PF_UFixed = A_u_long;
917pub type PF_Fixed = Fixed;
918pub type PF_Boolean = Boolean;
919pub type PF_Handle = Handle;
920#[repr(C)]
921#[derive(Debug, Copy, Clone)]
922pub struct PF_Point {
923    pub h: A_long,
924    pub v: A_long,
925}
926#[repr(C)]
927#[derive(Debug, Copy, Clone)]
928pub struct PF_LRect {
929    pub left: A_long,
930    pub top: A_long,
931    pub right: A_long,
932    pub bottom: A_long,
933}
934pub type PF_Rect = PF_LRect;
935pub type PF_UnionableRect = PF_Rect;
936#[repr(C)]
937#[derive(Debug, Copy, Clone)]
938pub struct PF_RationalScale {
939    pub num: A_long,
940    pub den: A_u_long,
941}
942#[repr(C)]
943#[derive(Debug, Copy, Clone)]
944pub struct PF_FixedPoint {
945    pub x: PF_Fixed,
946    pub y: PF_Fixed,
947}
948#[repr(C)]
949#[derive(Debug, Copy, Clone)]
950pub struct PF_FixedRect {
951    pub left: PF_Fixed,
952    pub top: PF_Fixed,
953    pub right: PF_Fixed,
954    pub bottom: PF_Fixed,
955}
956#[repr(C)]
957#[derive(Debug, Copy, Clone)]
958pub struct PF_Matrix {
959    pub mat: [[PF_Fixed; 3usize]; 3usize],
960}
961pub type PF_TransferMode = A_long;
962pub type PF_XferMode = PF_TransferMode;
963#[repr(C)]
964#[derive(Debug, Copy, Clone)]
965pub struct PF_Pixel {
966    pub alpha: A_u_char,
967    pub red: A_u_char,
968    pub green: A_u_char,
969    pub blue: A_u_char,
970}
971pub type PF_Pixel8 = PF_Pixel;
972pub type PF_UnionablePixel = PF_Pixel;
973#[repr(C)]
974#[derive(Debug, Copy, Clone)]
975pub struct PF_Pixel16 {
976    pub alpha: A_u_short,
977    pub red: A_u_short,
978    pub green: A_u_short,
979    pub blue: A_u_short,
980}
981pub type PF_FpShort = A_FpShort;
982pub type PF_FpLong = A_FpLong;
983#[repr(C)]
984#[derive(Debug, Copy, Clone)]
985pub struct PF_PixelFloat {
986    pub alpha: PF_FpShort,
987    pub red: PF_FpShort,
988    pub green: PF_FpShort,
989    pub blue: PF_FpShort,
990}
991pub type PF_Pixel32 = PF_PixelFloat;
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct PF_FloatMatrix {
995    pub mat: [[PF_FpLong; 3usize]; 3usize],
996}
997#[repr(C)]
998#[derive(Debug, Copy, Clone)]
999pub struct PF_CompositeMode {
1000    pub xfer: PF_TransferMode,
1001    pub rand_seed: A_long,
1002    pub opacity: A_u_char,
1003    pub rgb_only: PF_Boolean,
1004    pub opacitySu: A_u_short,
1005}
1006pub type PF_PixLong = A_u_long;
1007#[repr(C)]
1008#[derive(Debug, Copy, Clone)]
1009pub struct _PF_PixelOpaque {
1010    _unused: [u8; 0],
1011}
1012pub type PF_PixelOpaquePtr = *mut _PF_PixelOpaque;
1013pub type PF_PixelPtr = *mut PF_Pixel;
1014pub type PF_RGB_Pixel = [PF_Fixed; 3usize];
1015pub type PF_YIQ_Pixel = [PF_Fixed; 3usize];
1016pub type PF_HLS_Pixel = [PF_Fixed; 3usize];
1017pub type PF_ChannelType = A_long;
1018pub type PF_DataType = A_long;
1019#[doc = " for enumerating over all the channels"]
1020pub type PF_ChannelIndex = A_long;
1021#[repr(C)]
1022#[derive(Debug, Copy, Clone)]
1023pub struct PF_ChannelDesc {
1024    pub channel_type: PF_ChannelType,
1025    pub name: [A_char; 64usize],
1026    pub data_type: PF_DataType,
1027    pub dimension: A_long,
1028}
1029#[doc = " the opaque type representing the channel data"]
1030#[repr(C)]
1031#[derive(Debug, Copy, Clone)]
1032pub struct PF_ChannelRef {
1033    pub opaque: [A_intptr_t; 8usize],
1034}
1035#[doc = " the opaque type representing the channel data"]
1036pub type PF_ChannelRefPtr = *mut PF_ChannelRef;
1037#[doc = " the channel data parallels the image data in size and shape.\n the width is the number of pixels, the height is the number of scanlines\n the height is image_height\n the dimension is the number of planes in a pixel\n the row_bytes is the length of a scanline in bytes\n the data type is the type of data in a plane\n\tNote : a pixel consists of dimensionL * sizeof(data_type) bytes\n dataH is a handle to the data.\n dataPV is a pointer to the dereferenced locked handle\n effects should always have dataPV non null."]
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct PF_ChannelChunk {
1041    pub channel_ref: PF_ChannelRef,
1042    pub widthL: A_long,
1043    pub heightL: A_long,
1044    pub dimensionL: A_long,
1045    pub row_bytesL: A_long,
1046    pub data_type: PF_DataType,
1047    pub dataH: PF_Handle,
1048    pub dataPV: *mut ::std::os::raw::c_void,
1049}
1050pub const PF_LayerDefault_MYSELF: _bindgen_ty_20 = -1;
1051pub const PF_LayerDefault_NONE: _bindgen_ty_20 = 0;
1052#[doc = " -------------------- Effect Parameter Description Structures --------------------\n\nIn general each structure is divided into two parts:\na) description of the parameter\nb) setting of parameter at the current invocation time\n\nA number of these structures end in A_char*, A_char[] unions.  These\nstructures are \"flattened\" between the add_param callback (in which\nthe A_char * should be used) and the read-only values accessible when\nthe effect is later invoked (at which time the A_char [] is used and\nthe string data is concatenated right at the end of the struct)."]
1053pub type _bindgen_ty_20 = ::std::os::raw::c_int;
1054#[repr(C)]
1055#[derive(Debug, Copy, Clone)]
1056pub struct PF_LayerDef {
1057    pub reserved0: *mut ::std::os::raw::c_void,
1058    pub reserved1: *mut ::std::os::raw::c_void,
1059    pub world_flags: PF_WorldFlags,
1060    pub data: PF_PixelPtr,
1061    pub rowbytes: A_long,
1062    pub width: A_long,
1063    pub height: A_long,
1064    pub extent_hint: PF_UnionableRect,
1065    pub platform_ref: *mut ::std::os::raw::c_void,
1066    pub reserved_long1: A_long,
1067    pub reserved_long4: *mut ::std::os::raw::c_void,
1068    pub pix_aspect_ratio: PF_RationalScale,
1069    pub reserved_long2: *mut ::std::os::raw::c_void,
1070    pub origin_x: A_long,
1071    pub origin_y: A_long,
1072    pub reserved_long3: A_long,
1073    pub dephault: A_long,
1074}
1075pub type PF_EffectWorld = PF_LayerDef;
1076pub const PF_UNSIGNED_PCM: _bindgen_ty_21 = 0;
1077pub const PF_SIGNED_PCM: _bindgen_ty_21 = 1;
1078pub const PF_SIGNED_FLOAT: _bindgen_ty_21 = 2;
1079pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
1080pub type PF_SoundFormat = A_short;
1081pub const PF_SSS_1: _bindgen_ty_22 = 1;
1082pub const PF_SSS_2: _bindgen_ty_22 = 2;
1083pub const PF_SSS_4: _bindgen_ty_22 = 4;
1084pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
1085pub type PF_SoundSampleSize = A_short;
1086pub const PF_Channels_MONO: _bindgen_ty_23 = 1;
1087pub const PF_Channels_STEREO: _bindgen_ty_23 = 2;
1088pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
1089pub type PF_SoundChannels = A_short;
1090#[repr(C)]
1091#[derive(Debug, Copy, Clone)]
1092pub struct PF_SoundFormatInfo {
1093    pub rateF: PF_FpLong,
1094    pub num_channels: PF_SoundChannels,
1095    pub format: PF_SoundFormat,
1096    pub sample_size: PF_SoundSampleSize,
1097}
1098#[repr(C)]
1099#[derive(Debug, Copy, Clone)]
1100pub struct PF_SoundWorld {
1101    pub fi: PF_SoundFormatInfo,
1102    pub num_samples: A_long,
1103    pub dataP: *mut ::std::os::raw::c_void,
1104}
1105pub const PF_ValueDisplayFlag_NONE: _bindgen_ty_24 = 0;
1106pub const PF_ValueDisplayFlag_PERCENT: _bindgen_ty_24 = 1;
1107pub const PF_ValueDisplayFlag_PIXEL: _bindgen_ty_24 = 2;
1108pub const PF_ValueDisplayFlag_RESERVED1: _bindgen_ty_24 = 4;
1109pub const PF_ValueDisplayFlag_REVERSE: _bindgen_ty_24 = 8;
1110pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
1111pub type PF_ValueDisplayFlags = A_short;
1112#[doc = " Slider -- PF_Param_SLIDER"]
1113#[repr(C)]
1114#[derive(Debug, Copy, Clone)]
1115pub struct PF_SliderDef {
1116    pub value: PF_ParamValue,
1117    pub value_str: [A_char; 32usize],
1118    pub value_desc: [A_char; 32usize],
1119    pub valid_min: PF_ParamValue,
1120    pub valid_max: PF_ParamValue,
1121    pub slider_min: PF_ParamValue,
1122    pub slider_max: PF_ParamValue,
1123    pub dephault: PF_ParamValue,
1124}
1125#[doc = " Fixed Point Slider -- PF_Param_FIX_SLIDER"]
1126#[repr(C)]
1127#[derive(Debug, Copy, Clone)]
1128pub struct PF_FixedSliderDef {
1129    pub value: PF_Fixed,
1130    pub value_str: [A_char; 32usize],
1131    pub value_desc: [A_char; 32usize],
1132    pub valid_min: PF_Fixed,
1133    pub valid_max: PF_Fixed,
1134    pub slider_min: PF_Fixed,
1135    pub slider_max: PF_Fixed,
1136    pub dephault: PF_Fixed,
1137    pub precision: A_short,
1138    pub display_flags: PF_ValueDisplayFlags,
1139}
1140pub const PF_FSliderFlag_NONE: _bindgen_ty_25 = 0;
1141pub const PF_FSliderFlag_WANT_PHASE: _bindgen_ty_25 = 1;
1142pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
1143pub type PF_FSliderFlags = A_u_long;
1144#[doc = " Floating Point Slider -- PF_Param_FLOAT_SLIDER"]
1145#[repr(C)]
1146#[derive(Debug, Copy, Clone)]
1147pub struct PF_FloatSliderDef {
1148    pub value: PF_FpLong,
1149    pub phase: PF_FpLong,
1150    pub value_desc: [A_char; 32usize],
1151    pub valid_min: PF_FpShort,
1152    pub valid_max: PF_FpShort,
1153    pub slider_min: PF_FpShort,
1154    pub slider_max: PF_FpShort,
1155    pub dephault: PF_FpShort,
1156    pub precision: A_short,
1157    pub display_flags: PF_ValueDisplayFlags,
1158    pub fs_flags: PF_FSliderFlags,
1159    pub curve_tolerance: PF_FpShort,
1160    pub useExponent: PF_Boolean,
1161    pub exponent: PF_FpShort,
1162}
1163#[doc = " Angle -- PF_Param_ANGLE"]
1164#[repr(C)]
1165#[derive(Debug, Copy, Clone)]
1166pub struct PF_AngleDef {
1167    pub value: PF_Fixed,
1168    pub dephault: PF_Fixed,
1169    pub valid_min: PF_Fixed,
1170    pub valid_max: PF_Fixed,
1171}
1172#[doc = " CheckBox -- PF_Param_CHECKBOX"]
1173#[repr(C)]
1174#[derive(Copy, Clone)]
1175pub struct PF_CheckBoxDef {
1176    pub value: PF_ParamValue,
1177    pub dephault: PF_Boolean,
1178    pub reserved: A_char,
1179    pub reserved1: A_short,
1180    pub u: PF_CheckBoxDef__bindgen_ty_1,
1181}
1182#[repr(C)]
1183#[derive(Copy, Clone)]
1184pub union PF_CheckBoxDef__bindgen_ty_1 {
1185    pub nameptr: *const A_char,
1186}
1187#[doc = " Color -- PF_Param_COLOR"]
1188#[repr(C)]
1189#[derive(Debug, Copy, Clone)]
1190pub struct PF_ColorDef {
1191    pub value: PF_UnionablePixel,
1192    pub dephault: PF_UnionablePixel,
1193}
1194#[doc = " Point -- PF_Param_POINT\n\nThe values for the point use the source's coordinate system, with the\norigin at the top left. The values are expressed in fixed point, with\n16 bits of fractional precision (out of a total of 32 bits).\n\nThe dephaults (sorry) are expressed as percentages (with 16 bits of\nfraction) with the origin at the top left. The percent can be negative,\nbut should not be smaller than -600%. It should not be greater than 600%.\n\nIf restrict_bounds is TRUE, the user will not be allowed to specify\npoints outside the bounds of the layer to which they are applying the\neffect. If this is TRUE, the dephaults should be between 0.0 and 100.0."]
1195#[repr(C)]
1196#[derive(Debug, Copy, Clone)]
1197pub struct PF_PointDef {
1198    pub x_value: PF_Fixed,
1199    pub y_value: PF_Fixed,
1200    pub reserved: [A_char; 3usize],
1201    pub restrict_bounds: PF_Boolean,
1202    pub x_dephault: PF_Fixed,
1203    pub y_dephault: PF_Fixed,
1204}
1205#[doc = " 3D Point -- PF_Param_POINT_3D\n\nJust like POINT, with an extra dimension. Supported in AE starting with version 10.5 (CS 5.5)."]
1206#[repr(C)]
1207#[derive(Debug, Copy, Clone)]
1208pub struct PF_Point3DDef {
1209    pub x_value: PF_FpLong,
1210    pub y_value: PF_FpLong,
1211    pub z_value: PF_FpLong,
1212    pub x_dephault: PF_FpLong,
1213    pub y_dephault: PF_FpLong,
1214    pub z_dephault: PF_FpLong,
1215    pub reserved: [::std::os::raw::c_char; 16usize],
1216}
1217#[doc = " Popup Menu -- PF_Param_POPUP\n\n can also be used as a radio-button group in some hosts\n when PF_PUI_RADIO_BUTTON is set\n"]
1218#[repr(C)]
1219#[derive(Copy, Clone)]
1220pub struct PF_PopupDef {
1221    pub value: PF_ParamValue,
1222    pub num_choices: A_short,
1223    pub dephault: A_short,
1224    pub u: PF_PopupDef__bindgen_ty_1,
1225}
1226#[repr(C)]
1227#[derive(Copy, Clone)]
1228pub union PF_PopupDef__bindgen_ty_1 {
1229    pub namesptr: *const A_char,
1230}
1231#[doc = " Momentary Buttons -- PF_Param_BUTTON\n\n supported by AE starting with CS 5.5 (AE 10.5); may be supported in other hosts\n"]
1232#[repr(C)]
1233#[derive(Copy, Clone)]
1234pub struct PF_ButtonDef {
1235    pub value: PF_ParamValue,
1236    pub u: PF_ButtonDef__bindgen_ty_1,
1237}
1238#[repr(C)]
1239#[derive(Copy, Clone)]
1240pub union PF_ButtonDef__bindgen_ty_1 {
1241    pub namesptr: *const A_char,
1242}
1243pub const PF_PathID_NONE: _bindgen_ty_26 = 0;
1244pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
1245pub type PF_PathID = A_u_long;
1246pub const PF_MaskMode_NONE: _bindgen_ty_27 = 0;
1247pub const PF_MaskMode_ADD: _bindgen_ty_27 = 1;
1248pub const PF_MaskMode_SUBTRACT: _bindgen_ty_27 = 2;
1249pub const PF_MaskMode_INTERSECT: _bindgen_ty_27 = 3;
1250pub const PF_MaskMode_LIGHTEN: _bindgen_ty_27 = 4;
1251pub const PF_MaskMode_DARKEN: _bindgen_ty_27 = 5;
1252pub const PF_MaskMode_DIFFERENCE: _bindgen_ty_27 = 6;
1253pub const PF_MaskMode_ACCUM: _bindgen_ty_27 = 7;
1254pub const PF_NUM_MASKMODES: _bindgen_ty_27 = 8;
1255pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
1256pub type PF_MaskMode = A_long;
1257#[doc = " Path -- PF_Param_PATH\n\nPath parameters give access to the mask/path/shapes of the layer on which\nthe effect is applied.  For more information\non how to use these paths, see the PF_PathQuerySuite, and the PF_PathDataSuite\nin AE_EffectSuites.h"]
1258#[repr(C)]
1259#[derive(Debug, Copy, Clone)]
1260pub struct PF_PathDef {
1261    pub path_id: PF_PathID,
1262    pub reserved0: A_long,
1263    pub dephault: A_long,
1264}
1265pub type PF_ArbitraryH = PF_Handle;
1266#[repr(C)]
1267#[derive(Debug, Copy, Clone)]
1268pub struct PF_ArbitraryDef {
1269    pub id: A_short,
1270    pub pad: A_short,
1271    pub dephault: PF_ArbitraryH,
1272    pub value: PF_ArbitraryH,
1273    pub refconPV: *mut ::std::os::raw::c_void,
1274}
1275pub const PF_Arbitrary_NEW_FUNC: _bindgen_ty_28 = 0;
1276pub const PF_Arbitrary_DISPOSE_FUNC: _bindgen_ty_28 = 1;
1277pub const PF_Arbitrary_COPY_FUNC: _bindgen_ty_28 = 2;
1278pub const PF_Arbitrary_FLAT_SIZE_FUNC: _bindgen_ty_28 = 3;
1279pub const PF_Arbitrary_FLATTEN_FUNC: _bindgen_ty_28 = 4;
1280pub const PF_Arbitrary_UNFLATTEN_FUNC: _bindgen_ty_28 = 5;
1281pub const PF_Arbitrary_INTERP_FUNC: _bindgen_ty_28 = 6;
1282pub const PF_Arbitrary_COMPARE_FUNC: _bindgen_ty_28 = 7;
1283pub const PF_Arbitrary_PRINT_SIZE_FUNC: _bindgen_ty_28 = 8;
1284pub const PF_Arbitrary_PRINT_FUNC: _bindgen_ty_28 = 9;
1285pub const PF_Arbitrary_SCAN_FUNC: _bindgen_ty_28 = 10;
1286pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
1287pub type PF_FunctionSelector = A_long;
1288pub const PF_ArbCompare_EQUAL: _bindgen_ty_29 = 0;
1289pub const PF_ArbCompare_LESS: _bindgen_ty_29 = 1;
1290pub const PF_ArbCompare_MORE: _bindgen_ty_29 = 2;
1291pub const PF_ArbCompare_NOT_EQUAL: _bindgen_ty_29 = 3;
1292pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
1293pub type PF_ArbCompareResult = A_long;
1294pub const PF_ArbPrint_NONE: _bindgen_ty_30 = 0;
1295pub const PF_ArbPrint_ABBREVIATED: _bindgen_ty_30 = 1;
1296pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
1297pub type PF_ArbPrintFlags = A_long;
1298#[repr(C)]
1299#[derive(Copy, Clone)]
1300pub struct PF_ArbParamsExtra {
1301    pub which_function: PF_FunctionSelector,
1302    pub id: A_short,
1303    pub padding: A_short,
1304    pub u: PF_ArbParamsExtra__bindgen_ty_1,
1305}
1306#[repr(C)]
1307#[derive(Copy, Clone)]
1308pub union PF_ArbParamsExtra__bindgen_ty_1 {
1309    pub new_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1,
1310    pub dispose_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2,
1311    pub copy_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3,
1312    pub flat_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4,
1313    pub flatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5,
1314    pub unflatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6,
1315    pub interp_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7,
1316    pub compare_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8,
1317    pub print_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9,
1318    pub print_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10,
1319    pub scan_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11,
1320}
1321#[repr(C)]
1322#[derive(Debug, Copy, Clone)]
1323pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1 {
1324    pub refconPV: *mut ::std::os::raw::c_void,
1325    pub arbPH: *mut PF_ArbitraryH,
1326}
1327#[repr(C)]
1328#[derive(Debug, Copy, Clone)]
1329pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2 {
1330    pub refconPV: *mut ::std::os::raw::c_void,
1331    pub arbH: PF_ArbitraryH,
1332}
1333#[repr(C)]
1334#[derive(Debug, Copy, Clone)]
1335pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3 {
1336    pub refconPV: *mut ::std::os::raw::c_void,
1337    pub src_arbH: PF_ArbitraryH,
1338    pub dst_arbPH: *mut PF_ArbitraryH,
1339}
1340#[repr(C)]
1341#[derive(Debug, Copy, Clone)]
1342pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4 {
1343    pub refconPV: *mut ::std::os::raw::c_void,
1344    pub arbH: PF_ArbitraryH,
1345    pub flat_data_sizePLu: *mut A_u_long,
1346}
1347#[repr(C)]
1348#[derive(Debug, Copy, Clone)]
1349pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5 {
1350    pub refconPV: *mut ::std::os::raw::c_void,
1351    pub arbH: PF_ArbitraryH,
1352    pub buf_sizeLu: A_u_long,
1353    pub flat_dataPV: *mut ::std::os::raw::c_void,
1354}
1355#[repr(C)]
1356#[derive(Debug, Copy, Clone)]
1357pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6 {
1358    pub refconPV: *mut ::std::os::raw::c_void,
1359    pub buf_sizeLu: A_u_long,
1360    pub flat_dataPV: *const ::std::os::raw::c_void,
1361    pub arbPH: *mut PF_ArbitraryH,
1362}
1363#[repr(C)]
1364#[derive(Debug, Copy, Clone)]
1365pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7 {
1366    pub refconPV: *mut ::std::os::raw::c_void,
1367    pub left_arbH: PF_ArbitraryH,
1368    pub right_arbH: PF_ArbitraryH,
1369    pub tF: PF_FpLong,
1370    pub interpPH: *mut PF_ArbitraryH,
1371}
1372#[repr(C)]
1373#[derive(Debug, Copy, Clone)]
1374pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8 {
1375    pub refconPV: *mut ::std::os::raw::c_void,
1376    pub a_arbH: PF_ArbitraryH,
1377    pub b_arbH: PF_ArbitraryH,
1378    pub compareP: *mut PF_ArbCompareResult,
1379}
1380#[repr(C)]
1381#[derive(Debug, Copy, Clone)]
1382pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9 {
1383    pub refconPV: *mut ::std::os::raw::c_void,
1384    pub arbH: PF_ArbitraryH,
1385    pub print_sizePLu: *mut A_u_long,
1386}
1387#[repr(C)]
1388#[derive(Debug, Copy, Clone)]
1389pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10 {
1390    pub refconPV: *mut ::std::os::raw::c_void,
1391    pub print_flags: PF_ArbPrintFlags,
1392    pub arbH: PF_ArbitraryH,
1393    pub print_sizeLu: A_u_long,
1394    pub print_bufferPC: *mut A_char,
1395}
1396#[repr(C)]
1397#[derive(Debug, Copy, Clone)]
1398pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11 {
1399    pub refconPV: *mut ::std::os::raw::c_void,
1400    pub bufPC: *const A_char,
1401    pub bytes_to_scanLu: A_u_long,
1402    pub arbPH: *mut PF_ArbitraryH,
1403}
1404#[repr(C)]
1405#[derive(Debug, Copy, Clone)]
1406pub struct PF_UserChangedParamExtra {
1407    pub param_index: PF_ParamIndex,
1408}
1409#[repr(C)]
1410#[derive(Debug, Copy, Clone)]
1411pub struct PF_ImporterPrefsData {
1412    _unused: [u8; 0],
1413}
1414pub type PF_ImporterPrefsDataPtr = *mut PF_ImporterPrefsData;
1415#[repr(C)]
1416#[derive(Debug, Copy, Clone)]
1417pub struct PF_TranslateParamsToPrefsExtra {
1418    pub prefsPC: PF_ImporterPrefsDataPtr,
1419    pub prefs_sizeLu: A_u_long,
1420}
1421pub const PF_DepCheckType_NONE: _bindgen_ty_31 = 0;
1422pub const PF_DepCheckType_ALL_DEPENDENCIES: _bindgen_ty_31 = 1;
1423pub const PF_DepCheckType_MISSING_DEPENDENCIES: _bindgen_ty_31 = 2;
1424pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
1425pub type PF_DepCheckType = A_long;
1426#[repr(C)]
1427#[derive(Debug, Copy, Clone)]
1428pub struct PF_ExtDependenciesExtra {
1429    pub check_type: PF_DepCheckType,
1430    pub dependencies_strH: PF_Handle,
1431}
1432#[repr(C)]
1433#[derive(Copy, Clone)]
1434pub union PF_ParamDefUnion {
1435    pub ld: PF_LayerDef,
1436    pub sd: PF_SliderDef,
1437    pub fd: PF_FixedSliderDef,
1438    pub ad: PF_AngleDef,
1439    pub bd: PF_CheckBoxDef,
1440    pub cd: PF_ColorDef,
1441    pub td: PF_PointDef,
1442    pub pd: PF_PopupDef,
1443    pub fs_d: PF_FloatSliderDef,
1444    pub arb_d: PF_ArbitraryDef,
1445    pub path_d: PF_PathDef,
1446    pub button_d: PF_ButtonDef,
1447    pub point3d_d: PF_Point3DDef,
1448}
1449pub const PF_PUI_NONE: _bindgen_ty_32 = 0;
1450pub const PF_PUI_TOPIC: _bindgen_ty_32 = 1;
1451pub const PF_PUI_CONTROL: _bindgen_ty_32 = 2;
1452pub const PF_PUI_STD_CONTROL_ONLY: _bindgen_ty_32 = 4;
1453pub const PF_PUI_NO_ECW_UI: _bindgen_ty_32 = 8;
1454pub const PF_PUI_ECW_SEPARATOR: _bindgen_ty_32 = 16;
1455pub const PF_PUI_DISABLED: _bindgen_ty_32 = 32;
1456pub const PF_PUI_DONT_ERASE_TOPIC: _bindgen_ty_32 = 64;
1457pub const PF_PUI_DONT_ERASE_CONTROL: _bindgen_ty_32 = 128;
1458pub const PF_PUI_RADIO_BUTTON: _bindgen_ty_32 = 256;
1459pub const PF_PUI_INVISIBLE: _bindgen_ty_32 = 512;
1460pub const PF_PUI_RESERVED: _bindgen_ty_32 = 1024;
1461#[doc = " Param UI Flags\n\nPF_PUI_TOPIC\n\nSet this flag if you handle PF_Cmd_EVENTs for the \"topic\" of\nthe parameter.  The \"topic\" is the portion of the param UI\nin the Effect Controls Window (ECW) that is still visible\nwhen the twirly-arrow is twirled up for that param.\n\nIf you set this flag, you must also set PF_OutFlag_CUSTOM_UI\nat PF_Cmd_GLOBAL_SETUP time.\n\nPF_PUI_CONTROL\n\nSet this flag if you handle PF_Cmd_EVENTs for the control\narea in the ECW.  This is the area that becomes invisible\nwhen you twirl up a parameter's twirly arrow (and is the\nusual place to have your custom UI).\n\nIf you set this flag, you must also set PF_OutFlag_CUSTOM_UI\nat PF_Cmd_GLOBAL_SETUP time.\n\nPF_PUI_STD_CONTROL_ONLY\n\nSet this flag if you want the standard control only -- no\ndata stream will be associated with this parameter, and\nthus no keyframes (nothing appears in the Time Layout window\nfor this type of param).\n\nYou might want to do this to control something in your\nsequence data with a standard control.  Or in your arb\ndata, or custom UI in the comp window, or to group-set multiple\nother controls.\n\n\nThis flag can be used with these param types:\nPF_Param_SLIDER, PF_Param_FIX_SLIDER, PF_Param_ANGLE,\nPF_Param_CHECKBOX, PF_Param_COLOR, PF_Param_POINT,\nPF_Param_POPUP, PF_Param_FLOAT_SLIDER, PF_Param_POINT_3D\n\nbut NOT:\n\nPF_Param_CUSTOM, PF_Param_NO_DATA,\nPF_Param_LAYER, PF_Param_ARBITRARY_DATA, PF_Param_PATH\n\nIf you set this flag, you must also set PF_ParamFlag_SUPERVISE\n(otherwise you would never find out about value changes, and\nthe setting would never be used for anything).  This flag\ndoes not require the setting of PF_OutFlag_CUSTOM_UI.\n\nIf you want a standard control for PF_Param_ARBITRARY_DATA,\njust add one (or more) using PF_PUI_STD_CONTROL_ONLY with\nthe supported param types, and then when handling\nPF_Cmd_USER_CHANGED_PARAM you can modify your arb data.\n\n\nPF_PUI_NO_ECW_UI\n\nSet this flag if you want no UI to appear in the Effect Controls\nWindow.  Presumably, you are setting the value of the parameter\nthrough some other method (e.g. custom UI in the comp window,\nor while handling PF_Cmd_USER_CHANGED_PARAM for a different param with\nPF_ParamFlag_SUPERVISE set). In AE, this doesn't affect keyframe\nvisibility in the timeline. In PPro it does remove the entire row,\nso you won't see keyframes.\n\nPF_PUI_ECW_SEPARATOR\n\nSet this flag if you'd like a thick line above this parameter\nin the effect control window. This is provided so that parameters\ncan be grouped visually, if needed (without adding groups).\nThis flag can be changed at runtime through the PF_UpdateParamUI()\nmethod. Not used by AE.\n\nPF_PUI_INVISIBLE\n\nSet this flag if you'd like the parameter to be initially invisible. This is useful\nif your effect needs hidden data parameters that affect rendering.\n\nPremiere only: The parameter can later be made visible by clearing the flag\nduring the PF_UpdateParamUI() callback."]
1462pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
1463pub type PF_ParamUIFlags = A_long;
1464pub const PF_ChangeFlag_NONE: _bindgen_ty_33 = 0;
1465pub const PF_ChangeFlag_CHANGED_VALUE: _bindgen_ty_33 = 1;
1466pub const PF_ChangeFlag_RESERVED: _bindgen_ty_33 = 2;
1467pub const PF_ChangeFlag_SET_TO_VARY: _bindgen_ty_33 = 4;
1468pub const PF_ChangeFlag_SET_TO_CONSTANT: _bindgen_ty_33 = 8;
1469#[doc = " PF_ChangeFlags\n\nNew in AE 4.0 (although PF_ChangeFlag_CHANGED_VALUE was implemented\nby setting low bit of old changed field).\n\nPF_ChangeFlag_CHANGED_VALUE\n\nSet this flag for each param whose value you change when handling\na PF_Cmd_USER_CHANGED_PARAM or specific PF_Cmd_EVENT events\n(PF_Event_DO_CLICK, PF_Event_DRAG, & PF_Event_KEYDOWN). If set during\nPF_Cmd_EVENT, but sure to also set PF_EO_HANDLED_EVENT before returning.\nYou can change as many params as you want at once.  These changes are undoable and\nre-doable by the user.  Exception: do not set PF_PUI_STD_CONTROL_ONLY\nparam values with this flag, use PF_UpdateParamUI() instead.\n\nPF_ChangeFlag_SET_TO_VARY\n\nNot yet implemented.  Same restrictions as PF_ChangeFlag_CHANGED_VALUE.\n\nPF_ChangeFlag_SET_TO_CONSTANT\n\nNot yet implemented.  Same restrictions as PF_ChangeFlag_CHANGED_VALUE."]
1470pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
1471pub type PF_ChangeFlags = A_long;
1472#[doc = " ParamDef"]
1473#[repr(C)]
1474#[derive(Copy, Clone)]
1475pub struct PF_ParamDef {
1476    pub uu: PF_ParamDef__bindgen_ty_1,
1477    pub ui_flags: PF_ParamUIFlags,
1478    pub ui_width: A_short,
1479    pub ui_height: A_short,
1480    pub param_type: PF_ParamType,
1481    pub name: [A_char; 32usize],
1482    pub flags: PF_ParamFlags,
1483    pub unused: A_long,
1484    pub u: PF_ParamDefUnion,
1485}
1486#[repr(C)]
1487#[derive(Copy, Clone)]
1488pub union PF_ParamDef__bindgen_ty_1 {
1489    pub id: A_long,
1490    pub change_flags: PF_ChangeFlags,
1491}
1492#[doc = " ParamDef"]
1493pub type PF_ParamDefPtr = *mut PF_ParamDef;
1494#[doc = " ParamDef"]
1495pub type PF_ParamDefH = *mut *mut PF_ParamDef;
1496pub type PF_ParamList = *mut *mut PF_ParamDef;
1497pub const PF_ChannelMask_ALPHA: _bindgen_ty_34 = 1;
1498pub const PF_ChannelMask_RED: _bindgen_ty_34 = 2;
1499pub const PF_ChannelMask_GREEN: _bindgen_ty_34 = 4;
1500pub const PF_ChannelMask_BLUE: _bindgen_ty_34 = 8;
1501pub const PF_ChannelMask_ARGB: _bindgen_ty_34 = 15;
1502#[doc = " -------------------- Smart Render Interface Constants and Structures --------------------\n\nPF_Cmd_SMART_PRE_RENDER gets a PF_PreRenderExtra struct in the extra pointer, and must\nfill out the \"output\" field before returning.\n\nPF_Cmd_SMART_RENDER gets a PF_SmartRenderExtra struct in the extra pointer, if pre-render was invoked.\n"]
1503pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
1504pub type PF_ChannelMask = A_long;
1505pub const PF_GPU_Framework_NONE: _bindgen_ty_35 = 0;
1506pub const PF_GPU_Framework_OPENCL: _bindgen_ty_35 = 1;
1507pub const PF_GPU_Framework_METAL: _bindgen_ty_35 = 2;
1508pub const PF_GPU_Framework_CUDA: _bindgen_ty_35 = 3;
1509pub const PF_GPU_Framework_DIRECTX: _bindgen_ty_35 = 4;
1510pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
1511pub type PF_GPU_Framework = A_long;
1512#[repr(C)]
1513#[derive(Debug, Copy, Clone)]
1514pub struct PF_RenderRequest {
1515    pub rect: PF_LRect,
1516    pub field: PF_Field,
1517    pub channel_mask: PF_ChannelMask,
1518    pub preserve_rgb_of_zero_alpha: PF_Boolean,
1519    pub unused: [::std::os::raw::c_char; 3usize],
1520    pub reserved: [A_long; 4usize],
1521}
1522#[repr(C)]
1523#[derive(Debug, Copy, Clone)]
1524pub struct PF_PreRenderInput {
1525    pub output_request: PF_RenderRequest,
1526    pub bitdepth: ::std::os::raw::c_short,
1527    pub gpu_data: *const ::std::os::raw::c_void,
1528    pub what_gpu: PF_GPU_Framework,
1529    pub device_index: A_u_long,
1530}
1531pub type PF_DeletePreRenderDataFunc =
1532    ::std::option::Option<unsafe extern "C" fn(pre_render_data: *mut ::std::os::raw::c_void)>;
1533pub const PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS: _bindgen_ty_36 = 1;
1534pub const PF_RenderOutputFlag_GPU_RENDER_POSSIBLE: _bindgen_ty_36 = 2;
1535pub const PF_RenderOutputFlag_RESERVED1: _bindgen_ty_36 = 4;
1536pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
1537pub type PF_RenderOutputFlags = ::std::os::raw::c_short;
1538#[repr(C)]
1539#[derive(Debug, Copy, Clone)]
1540pub struct PF_PreRenderOutput {
1541    pub result_rect: PF_LRect,
1542    pub max_result_rect: PF_LRect,
1543    pub solid: PF_Boolean,
1544    pub reserved: PF_Boolean,
1545    pub flags: PF_RenderOutputFlags,
1546    pub pre_render_data: *mut ::std::os::raw::c_void,
1547    pub delete_pre_render_data_func: PF_DeletePreRenderDataFunc,
1548}
1549#[repr(C)]
1550#[derive(Debug, Copy, Clone)]
1551pub struct PF_CheckoutResult {
1552    pub result_rect: PF_LRect,
1553    pub max_result_rect: PF_LRect,
1554    pub par: PF_RationalScale,
1555    pub solid: PF_Boolean,
1556    pub reservedB: [PF_Boolean; 3usize],
1557    pub ref_width: A_long,
1558    pub ref_height: A_long,
1559    pub reserved: [A_long; 6usize],
1560}
1561#[repr(C)]
1562#[derive(Debug, Copy, Clone)]
1563pub struct PF_PreRenderCallbacks {
1564    pub checkout_layer: ::std::option::Option<
1565        unsafe extern "C" fn(
1566            effect_ref: PF_ProgPtr,
1567            index: PF_ParamIndex,
1568            checkout_idL: A_long,
1569            req: *const PF_RenderRequest,
1570            what_time: A_long,
1571            time_step: A_long,
1572            time_scale: A_u_long,
1573            checkout_result: *mut PF_CheckoutResult,
1574        ) -> PF_Err,
1575    >,
1576    pub GuidMixInPtr: ::std::option::Option<
1577        unsafe extern "C" fn(
1578            effect_ref: PF_ProgPtr,
1579            buf_sizeLu: A_u_long,
1580            buf: *const ::std::os::raw::c_void,
1581        ) -> PF_Err,
1582    >,
1583}
1584#[repr(C)]
1585#[derive(Debug, Copy, Clone)]
1586pub struct PF_PreRenderExtra {
1587    pub input: *mut PF_PreRenderInput,
1588    pub output: *mut PF_PreRenderOutput,
1589    pub cb: *mut PF_PreRenderCallbacks,
1590}
1591#[repr(C)]
1592#[derive(Debug, Copy, Clone)]
1593pub struct PF_SmartRenderInput {
1594    pub output_request: PF_RenderRequest,
1595    pub bitdepth: ::std::os::raw::c_short,
1596    pub pre_render_data: *mut ::std::os::raw::c_void,
1597    pub gpu_data: *const ::std::os::raw::c_void,
1598    pub what_gpu: PF_GPU_Framework,
1599    pub device_index: A_u_long,
1600}
1601#[repr(C)]
1602#[derive(Debug, Copy, Clone)]
1603pub struct PF_SmartRenderCallbacks {
1604    pub checkout_layer_pixels: ::std::option::Option<
1605        unsafe extern "C" fn(
1606            effect_ref: PF_ProgPtr,
1607            checkout_idL: A_long,
1608            pixels: *mut *mut PF_EffectWorld,
1609        ) -> PF_Err,
1610    >,
1611    pub checkin_layer_pixels: ::std::option::Option<
1612        unsafe extern "C" fn(effect_ref: PF_ProgPtr, checkout_idL: A_long) -> PF_Err,
1613    >,
1614    pub checkout_output: ::std::option::Option<
1615        unsafe extern "C" fn(effect_ref: PF_ProgPtr, output: *mut *mut PF_EffectWorld) -> PF_Err,
1616    >,
1617}
1618#[repr(C)]
1619#[derive(Debug, Copy, Clone)]
1620pub struct PF_SmartRenderExtra {
1621    pub input: *mut PF_SmartRenderInput,
1622    pub cb: *mut PF_SmartRenderCallbacks,
1623}
1624#[doc = " -------------------- GPU Setup/Setdown Constants and Structures --------------------\n\nPF_Cmd_GPU_DEVICE_SETUP gets a PF_GPUDeviceSetupExtra struct in the extra pointer.\n\nPF_Cmd_GPU_DEVICE_SETDOWN gets a PF_GPUDeviceSetdownExtra struct in the extra pointer.\n"]
1625#[repr(C)]
1626#[derive(Debug, Copy, Clone)]
1627pub struct PF_GPUDeviceSetupInput {
1628    pub what_gpu: PF_GPU_Framework,
1629    pub device_index: A_u_long,
1630}
1631#[repr(C)]
1632#[derive(Debug, Copy, Clone)]
1633pub struct PF_GPUDeviceSetupOutput {
1634    pub gpu_data: *mut ::std::os::raw::c_void,
1635}
1636#[repr(C)]
1637#[derive(Debug, Copy, Clone)]
1638pub struct PF_GPUDeviceSetupExtra {
1639    pub input: *mut PF_GPUDeviceSetupInput,
1640    pub output: *mut PF_GPUDeviceSetupOutput,
1641}
1642#[repr(C)]
1643#[derive(Debug, Copy, Clone)]
1644pub struct PF_GPUDeviceSetdownInput {
1645    pub gpu_data: *mut ::std::os::raw::c_void,
1646    pub what_gpu: PF_GPU_Framework,
1647    pub device_index: A_u_long,
1648}
1649#[repr(C)]
1650#[derive(Debug, Copy, Clone)]
1651pub struct PF_GPUDeviceSetdownExtra {
1652    pub input: *mut PF_GPUDeviceSetdownInput,
1653}
1654#[doc = " -------------------- Interaction Callbacks --------------------\n\nEffects modules use callbacks to define their parameters.  When invoked,\nthey will be given the parameters values at the particular invocation\nmoment, but some effects may need to ask for the parameter values at\nother times (notably of layer parameters for, say, a visual echo).\n\nWhile running, effects modules are responsible for checking for user\ninterrupts.  This checking can be done with either the abort callback,\nwhich will return a value indicating if the user has taken any action,\nor with the progress callback, which performs user interrupt checking\njust like the abort callback, and also displays a progress display.\n\nAt the bottom of this section are macros for accessing these callback\nroutines.  The first parameter to each macro is a pointer to a PF_InData\nstructure, defined below.  This pointer will be passed to your effect.\n\ncheckout_param\nThe checkout_param callback allows you to inquire param values at times\nother than the current one, and allows you to access layer params other\nthan the default input layer and the output layer.  See the notes on the\n\"params\" structure at the end of this file.  The PF_ParamDef you must\nspecify cannot point into the \"params\" array; the memory must exist else-\nwhere, such as on the stack.\n\nIf you checkout a layer parameter and the layer popup is currently set\nto <none>, the return value will be filled with zeros.  You can check\nthe \"data\" pointer.  If it is NULL, then the layer param is set to <none>\nand you should do something like faking an all alpha zero layer or some\nsuch nonsense.  IMPORTANT: Due to 13.5 threading changes, checking out\na layer param that is not <none> inside of UPDATE_PARAMS_UI will return\na frame with black pixels to avoid render requests and possible deadlock.\nIn other selectors the actual render will be triggered as it did before.\n\ncheckin_param\nWhen you have called checkout_param, you must call checkin_param when you\nare done, so After Effects can clean up after itself and you.  This is\nvery important for smooth functioning and also to save memory where possible.\nOnce checked in, the fields in the PF_ParamDef will no longer be valid.\n\nadd_param\nWhen given the PARAMS_SETUP message, the effect will generally make a\nseries of calls to the add_param routine to define the interface that\nthe After Effects user will see.  See the PF_ParamDefs defined above.\nCurrently you can only add params at the end, and only at PARAMS_SETUP\ntime.\n\nabort\nPeriodically, you should check if the user wants to interrupt the\ncurrent processing.  The abort proc here will return non-zero if\nthe effects module should suspend its current processing.  If you\ncall this routine and it returns a value other than zero, you should\nreturn that value when your effect returns.  That will let us know\nif the effect completed rendering or not.\n\nprogress\nAlternatively, you may wish to display a progress bar while you are\nprocessing the image.  This routine combines the abort proc user\ninterrupt checking with code that will display a progress bar for\nyou.  The current and total params represent a fraction (current/total)\nthat describes how far you are along in your processing.  Current\nshould equal total when done.  Additionally, this routine will return\nnon-zero if you should suspend/abort your current processing.  You\nshould probably try not to call this too frequently (e.g. at every pixel).\nIt is better to call it, say, once per scanline, unless your filter is\nreally really slow."]
1655pub type PF_CustomUIInfo = _PF_CustomUIInfo;
1656#[repr(C)]
1657#[derive(Debug, Copy, Clone)]
1658pub struct PF_InteractCallbacks {
1659    pub checkout_param: ::std::option::Option<
1660        unsafe extern "C" fn(
1661            effect_ref: PF_ProgPtr,
1662            index: PF_ParamIndex,
1663            what_time: A_long,
1664            time_step: A_long,
1665            time_scale: A_u_long,
1666            param: *mut PF_ParamDef,
1667        ) -> PF_Err,
1668    >,
1669    pub checkin_param: ::std::option::Option<
1670        unsafe extern "C" fn(effect_ref: PF_ProgPtr, param: *mut PF_ParamDef) -> PF_Err,
1671    >,
1672    pub add_param: ::std::option::Option<
1673        unsafe extern "C" fn(
1674            effect_ref: PF_ProgPtr,
1675            index: PF_ParamIndex,
1676            def: PF_ParamDefPtr,
1677        ) -> PF_Err,
1678    >,
1679    pub abort: ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
1680    pub progress: ::std::option::Option<
1681        unsafe extern "C" fn(effect_ref: PF_ProgPtr, current: A_long, total: A_long) -> PF_Err,
1682    >,
1683    pub register_ui: ::std::option::Option<
1684        unsafe extern "C" fn(effect_ref: PF_ProgPtr, cust_info: *mut PF_CustomUIInfo) -> PF_Err,
1685    >,
1686    pub checkout_layer_audio: ::std::option::Option<
1687        unsafe extern "C" fn(
1688            effect_ref: PF_ProgPtr,
1689            index: PF_ParamIndex,
1690            start_time: A_long,
1691            duration: A_long,
1692            time_scale: A_u_long,
1693            rate: PF_UFixed,
1694            bytes_per_sample: A_long,
1695            num_channels: A_long,
1696            fmt_signed: A_long,
1697            audio: *mut PF_LayerAudio,
1698        ) -> PF_Err,
1699    >,
1700    pub checkin_layer_audio: ::std::option::Option<
1701        unsafe extern "C" fn(effect_ref: PF_ProgPtr, audio: PF_LayerAudio) -> PF_Err,
1702    >,
1703    pub get_audio_data: ::std::option::Option<
1704        unsafe extern "C" fn(
1705            effect_ref: PF_ProgPtr,
1706            audio: PF_LayerAudio,
1707            data0: *mut PF_SndSamplePtr,
1708            num_samples0: *mut A_long,
1709            rate0: *mut PF_UFixed,
1710            bytes_per_sample0: *mut A_long,
1711            num_channels0: *mut A_long,
1712            fmt_signed0: *mut A_long,
1713        ) -> PF_Err,
1714    >,
1715    pub reserved_str: [*mut ::std::os::raw::c_void; 3usize],
1716    pub reserved: [*mut ::std::os::raw::c_void; 10usize],
1717}
1718#[doc = " -------------------- Effect Parameter Blocks --------------------\n\nThe effects module itself is invoked with input and output blocks\nof parameters for various messages that it needs to handle.  The\noutput block (values returned from the effect to the program) and\nthe input block (values provided by the program for the edification\nof the effect) are defined here.  Discussion follows.\n\nThe Output Block\n\nMost fields of the output block are only examined for changes after\ncertain commands have been sent to the effect module.  Each field\nbelow describes when it will be checked.\n\nmy_version\nThis is the version number of your plug-in effect, not to be confused\nwith the version of the plug-in specification. Please set this\nat PF_Cmd_GLOBAL_SETUP.\n\nname\nThis lets you override the name of the effect in the Time Layout and\nin the Effect Controls windows when the effect is applied. The name from\nthe PiPL resource is always used in the Effect menu. This field is\nchecked after PF_Cmd_SEQUENCE_SETUP. You will almost always leave\nthis field empty.\n\nglobal_data\nThis is a Handle that you can allocate at PF_Cmd_GLOBAL_SETUP\ntime.  It will be passed back to you verbatim in the input\nparameter block for use later on.  In PF_Cmd_GLOBAL_SETUP,\nthe global_data field in the Input Block may be set to a\nflattened version of your global data, in which case you should\nunflatten it, free the flat version, and set this field to the\nunflattened new global data.\n\nIt will be locked & unlocked for you automatically like sequence_data.\n\nnum_params\nThe calling application will sanity check the num_params field\nvs the times add_param is called.  The implicit main\nlayer parameter MUST be included in the parameter count.  Use the\nnum_params value in the in_data as a starting value (it will\ninclude the implicit layer parameter).\nSet this field when you get PF_Cmd_PARAMS_SETUP.\n\nsequence_data\nThis is a Handle that you can allocate (using PF_NEW_HANDLE)\nat PF_Cmd_SEQUENCE_SETUP time.\nIt will be passed back to you in the input parameter block\nfor later use.\n\nWARNING: this handle is always locked for you before your plugin\nis called, and the lock-state is restored on the way out.  If you\nhave arbitrary data, your plugin can be called re-entrantly, so\nif you have a lock/unlock inside your plugin, the handle will\nbecome unlocked prematurely -- instead simply depend on the host\nto lock & unlock your sequence data for you.  Of course during\nPF_Cmd_SEQUENCE_SETUP the handle you allocate will not be\nlocked unless you explicitly lock it at that time.\n\nThe contents of this handle will be written out to\ndisk.  If other handles\thang off this block, you must specify the\nPF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING out flag when you get\nthe PF_Cmd_GLOBAL_SETUP command.  You will then receive the\nPF_Cmd_SEQUENCE_FLATTEN before your handle is written out.  At that\ntime, you should create a flat version of the handle contents,\nfree the old unflat handle, and set this field to the flattened\nversion of the handle.  Or after disposing, simply set to NULL\nand nothing will be written to disk.\n\nYou will receive a PF_Cmd_SEQUENCE_RESETUP\ncall to unflatten this handle (as well as to adjust the sequence\ndata to altered frame rates, etc).  If your\nsequence data can be flat or unflat, you should store its current\nstate along with the other data, and check that value in Resetup.\nIf the handle is flat, Resetup should unflatten it, free the flat\nhandle, and set this field to the new unflat usable handle.\n\nflat_sdata_size\nOBSOLETE.  Turns out, it was never used.  Since the handle\nset in sequence_data must be allocated using PF_NEW_HANDLE,\nthe host can find out the size of the handle without asking.\n\nframe_data\nThis is a Handle that you can allocated at PF_Cmd_FRAME_SETUP\ntime.  It will be passed to you in the input parameters, as\nwith the global_data and the sequence_data.  This will not\nbe written out to disk.  There is no particular use for this.\nSet this field in PF_Cmd_FRAME_SETUP, if you must.\n\nIt will be locked & unlocked for you like sequence_data.\n\nwidth\nheight\norigin\nYou set these fields at PF_Cmd_FRAME_SETUP time to indicate\nthat the output image will be larger than the input image.\nYou\tshould set width and height to the size that you want the\noutput buffer to be.  Set origin to the place that the\npoint (0,0) in the input should map to in the new larger\noutput.  Thus, if you created a 5 pixel drop shadow up and left,\nyou would set origin to (5, 5).\n\nout_flags\nout_flags2\nThis field can be set to an OR-ed combination of the PF_OutFlag\nand PF_OutFlag2 constants (don't mix them up!) to communicate\nthings to After Effects.  This will be checked after every\ncommand, but only certain flags are relevant at given times.\nCheck the PF_OutFlag constants above.\n\nreturn_msg\nThis is a message string (in C string format) that will be\ninterpreted as either an error message or a useful display\nmessage (for instance, for handling PF_Cmd_ABOUT).  Fill\nthis string with a message you want After Effects to report\nto the user for you.  It will come up in a simple dialog\nwith an OK button.  Set the first byte of this string to '\\0'\nto indicate no string -- it is set that way upon entry.  This\nfield is examined after every PF_Cmd.\n\nThe Input Block\n\nMany parts of the input block are actually structures defined elsewhere\nin this file, or in the companion file AE_EffectCB.h.  See the documentation\nwhere those structures are defined to understand their contents.\nWith any given PF_Cmd, only certain fields in the Input Block will\nhave valid values.  Each field described below tells when it is valid.\n\nin_flags\nin_flags2\nThese are various flags indicating some boolean value to\nthe effect module.  This is a combination of PF_InFlag values\nOR-ed together.  This is set for all commands, though most\nflags make sense only at certain times.  Usually this is\njust a copy of the PiPL global flags.  See PF_OutFlags and\nPF_OutFlags2 above.\n\ninter\nThis is a structure defined above containing callbacks\nrelated to user interaction.  This has callbacks to add parameters,\nto check if the user has interrupted the effect, to display\na progress bar, and to inquire parameter values outside of the\ncurrent moment.  See the doc above.  When each callback can\nvalidly be executed is defined above.\n\nutils\nThis is a pointer to a block of useful graphical and mathematical\ncallbacks provided for the effects module.  The documentation\nfor this block is in the AE_EffectCB.h file.  This is a void *,\nwhich can be confusing.  See AE_EffectCB.h for macros to use these\nfunctions.  This pointer will be defined at all times.\n\neffect_ref\nThis is a opaque piece of data that needs to be passed to\nmost of the various callback routines.  Don't worry about it.\n\nquality\nThis is set to one of the PF_Quality constants above to\ndescribe the Quality currently chosen by the user.  Ideally,\nyour effect should do a faster version with LO quality, and\na better, \"broadcast\"-able version with HI quality.  Also,\nsome of the utility callbacks perform differently between\nLO and HI quality.  This is defined for all PF_Cmds related\nto SEQUENCE and FRAME (obviously, including RENDER).\n\nversion\nThis is the version of the effects spec with which you are\nbeing invoked.  This will not be defined until after GLOBAL_SETUP.\n\nserial_num\nThis is the serial number of the invoking application.\n\nappl_id\nThis is the identifier of the invoking application.  It will\nbe the creator A_long of the app.\n\nfreq\nThis is an estimate of the frequency with which you should\ncall the abort check callback.  You can ignore this.\n\nnum_params\nThis is set to the number of input parameters you are receiving.\n\nwhat_cpu\nThis is set to the return value from Gestalt asking what sort\nof CPU your machine has.  If your effect requires a certain\ntype of CPU it should check this value and return an error\nindicating that it cannot run.  After Effects only runs on\n68020s and higher, so don't sweat it if you require that.\n\nwhat_fpu\nThis is set to the return value from Gestalt asking what sort\nof FPU your machine has.  If you require a floating point unit,\nyou should return the OutFlag indicating that in GLOBAL_SETUP,\nand then do not execute your floating point code if this value\nis set to 0 -- just do a PF_COPY of the input to the output when\nyou get the PF_Cmd_RENDER.  See OutFlag description above.\n\ncurrent_time\nThis is the time of the current frame.  It will be set in RENDER.\nThe number of the current frame is current_time / time_step.\nAll effects sequences start at time 0.\n\ntime_step\nThis is the time difference to the next or last frame.  This value\nand current_time and total_time are in units given by time_scale.\nThe time between frames is time_step, not 1.  This value will be 0\nat SEQUENCE_SETUP if it is not constant for all frames.  It will\nbe set correctly in the FRAME calls, even if it's not constant.\n\ntotal_time\nThis is the amount of time from the start to the end of the\nimage sequence on which this effect is being invoked.  The total\nnumber of frames is total_time / time_step.\n\ntime_scale\nThese are the units that current_time, time_step, and total_time\nare in.  See QuickTime for an explanation of how these time values work.\n\nwidth\nheight\nThese are the size of the input image. As Stoney Ballard points out,\nthese are certainly NOT the same as the\twidth and height fields in param[0],\nbut rather reflect the full-resolution dimensions of the input layer.\n\nfield\nWill be set to PF_Field_UPPER or PF_Field_LOWER during field-rendering\nif certain conditions are met -- for example: effect must have\nPF_OutFlag_PIX_INDEPENDENT set, and the layer to which the effect is\napplied must not be rotated, scaled nor positioned on a subpixel.\nYou can safely ignore the setting of this field, but might be able to\noptimize things by only processing the specified field.\n\nextent_hint\nThis is a rectangle that indicates the intersection of the visible\nportions of the input and output layers.  For an effect that does\nnot do a geometric distortion of the image, copying just this rectangle\nfrom the source image to the destination image is sufficient to copy\nall the image data that the user will see.  This can speed up effects\nvery much.  Just iterate over only this rectangle of pixels.\n\noutput_origin_x\noutput_origin_y\nThese fields correspond to the origin returned in the out_data at\nPF_Cmd_FRAME_SETUP time. They indicate the position of the top left\ncorner of the input buffer in the output buffer.\n\ndownsample_x\ndownsample_y\nFor speed, the user may have asked for only every Nth vertical or\nhorizontal pixel to be actually rendered by After Effects.  The width\nand height of all effect parameters (including layers) will be\nautomatically adjusted to compensate, but the effect needs to know\nthe downsampling factors to correctly interpret scalar parameters\n(ie. sliders) that represent pixel distances in the image.\nDownsample factors will be in the range 1 to 999+.  This is set in\nSEQUENCE_SETUP or RESETUP as the case may be. As of PF_PLUG_IN_VERSION 2,\nthis factor is a rational quantity.\n\nglobal_data\nsequence_data\nframe_data\nThese fields are copied from the out data on previous invocations\nand set here for you to access as you need them.  They will only\nbe set if they have been allocated during previous commands.\n\npre_effect_source_origin_x\npre_effect_source_origin_y\nThese fields are the origin of the source image in the input buffer. They are set\nonly during frame calls (PF_Cmd_FRAME_SETUP, PF_Cmd_RENDER, PF_Cmd_FRAME_SETDOWN).\nThey will be non-zero only if one or more effects that preceded this effect\non the same layer resized the output buffer (i.e. specified that the output\nimage will be larger or smaller than the input image)."]
1719#[repr(C)]
1720#[derive(Copy, Clone)]
1721pub struct PF_OutData {
1722    pub my_version: A_u_long,
1723    pub name: [A_char; 32usize],
1724    pub global_data: PF_Handle,
1725    pub num_params: A_long,
1726    pub sequence_data: PF_Handle,
1727    pub flat_sdata_size: A_long,
1728    pub frame_data: PF_Handle,
1729    pub width: A_long,
1730    pub height: A_long,
1731    pub origin: PF_Point,
1732    pub out_flags: PF_OutFlags,
1733    pub return_msg: [A_char; 256usize],
1734    pub start_sampL: A_long,
1735    pub dur_sampL: A_long,
1736    pub dest_snd: PF_SoundWorld,
1737    pub out_flags2: PF_OutFlags2,
1738}
1739#[repr(C)]
1740#[derive(Debug, Copy, Clone)]
1741pub struct PF_InData {
1742    pub inter: PF_InteractCallbacks,
1743    pub utils: *mut _PF_UtilCallbacks,
1744    pub effect_ref: PF_ProgPtr,
1745    pub quality: PF_Quality,
1746    pub version: PF_SpecVersion,
1747    pub serial_num: A_long,
1748    pub appl_id: A_long,
1749    pub num_params: A_long,
1750    pub reserved: A_long,
1751    pub what_cpu: A_long,
1752    pub what_fpu: A_long,
1753    pub current_time: A_long,
1754    pub time_step: A_long,
1755    pub total_time: A_long,
1756    pub local_time_step: A_long,
1757    pub time_scale: A_u_long,
1758    pub field: PF_Field,
1759    pub shutter_angle: PF_Fixed,
1760    pub width: A_long,
1761    pub height: A_long,
1762    pub extent_hint: PF_Rect,
1763    pub output_origin_x: A_long,
1764    pub output_origin_y: A_long,
1765    pub downsample_x: PF_RationalScale,
1766    pub downsample_y: PF_RationalScale,
1767    pub pixel_aspect_ratio: PF_RationalScale,
1768    pub in_flags: PF_InFlags,
1769    pub global_data: PF_Handle,
1770    pub sequence_data: PF_Handle,
1771    pub frame_data: PF_Handle,
1772    pub start_sampL: A_long,
1773    pub dur_sampL: A_long,
1774    pub total_sampL: A_long,
1775    pub src_snd: PF_SoundWorld,
1776    pub pica_basicP: *mut SPBasicSuite,
1777    pub pre_effect_source_origin_x: A_long,
1778    pub pre_effect_source_origin_y: A_long,
1779    pub shutter_phase: PF_Fixed,
1780}
1781#[doc = " -------------------- Effect Prototype --------------------\n\nThe effects module provides a single entry point corresponding to the\nbelow prototype through which all messages are dispatched to the\nappropriate code.\n\nThe cmd parameter is one of the PF_Cmd enumeration defined above.\nAll commands are discussed at that enumeration.  There are a lot.\n\nThe in_data and out_data parameters are respectively, PF_InData and\nPF_OutData blocks defined and described above.  The in_data contains\nread only information that the effect can use.  The out_data contains\nwrite only information through which the effect communicates back to\nthe calling program.  The descriptions above give a lot more detail.\n\nThe params list is an array of pointers to variably sized PF_ParamDef\nstructs.  This is in typical Unix-like argv format, where the last item\npoints to NULL.  The entries in this array describe the current settings\nof the parameters to the effect.  Params[0] is the layer to which the\neffect has been applied and is a PF_LayerDef param.  Other parameters\nare defined by the effect.\n\nThe output param is also a PF_LayerDef param, like params[0], and is\nan output buffer into which your effect should write the new contents\nof the layer.\n\nA brief explanation about parameter passing to effects:\n\nWhen you are invoked to Render, all \"params\" array entries will be filled\nwith their value at the current time, except for layer params other than\nthe default input layer parameter (ie. param[0]).  To get other layer param\nvalues, you must call the checkout_param callback.  (See callbacks above.)\n\nIn other words, on PF_Cmd_RENDER, params[0] will be a valid ready-to-use\nPF_EffectWorld and output will be a valid ready-to-use PF_EffectWorld.  Other params that\nare not layer params (i.e. sliders, popups, etc.) will be ready-to-use, filled\nwith their value at the current time; you do not need to call checkout_param for\nthem.  However, other params (besides [0]) that are layer params will NOT be\nfilled in correctly -- you must make a checkout_param callback to get them.\n\nANY param which you call checkout_param on, you must also call checkin_param\nbefore you exit.  If not, After Effects will automatically erase your effect\nmodule code resource from the users hard disk, along with any files that contain\nyour name or any nicknames you have.  Sorry.  Calling checkin_param is important!"]
1782pub type PF_FilterProc = ::std::option::Option<
1783    unsafe extern "C" fn(
1784        cmd: PF_Cmd,
1785        in_data: *mut PF_InData,
1786        out_data: *mut PF_OutData,
1787        params: PF_ParamList,
1788        output: *mut PF_LayerDef,
1789        extra: *mut ::std::os::raw::c_void,
1790    ) -> PF_Err,
1791>;
1792#[repr(C)]
1793#[derive(Debug, Copy, Clone)]
1794pub struct _DRAWBOT_DrawRef {
1795    _unused: [u8; 0],
1796}
1797pub type DRAWBOT_DrawRef = *mut _DRAWBOT_DrawRef;
1798#[repr(C)]
1799#[derive(Debug, Copy, Clone)]
1800pub struct _DRAWBOT_SupplierRef {
1801    _unused: [u8; 0],
1802}
1803pub type DRAWBOT_SupplierRef = *mut _DRAWBOT_SupplierRef;
1804#[repr(C)]
1805#[derive(Debug, Copy, Clone)]
1806pub struct _DRAWBOT_SurfaceRef {
1807    _unused: [u8; 0],
1808}
1809pub type DRAWBOT_SurfaceRef = *mut _DRAWBOT_SurfaceRef;
1810#[repr(C)]
1811#[derive(Debug, Copy, Clone)]
1812pub struct _DRAWBOT_PenRef {
1813    _unused: [u8; 0],
1814}
1815pub type DRAWBOT_PenRef = *mut _DRAWBOT_PenRef;
1816#[repr(C)]
1817#[derive(Debug, Copy, Clone)]
1818pub struct _DRAWBOT_PathRef {
1819    _unused: [u8; 0],
1820}
1821pub type DRAWBOT_PathRef = *mut _DRAWBOT_PathRef;
1822#[repr(C)]
1823#[derive(Debug, Copy, Clone)]
1824pub struct _DRAWBOT_BrushRef {
1825    _unused: [u8; 0],
1826}
1827pub type DRAWBOT_BrushRef = *mut _DRAWBOT_BrushRef;
1828#[repr(C)]
1829#[derive(Debug, Copy, Clone)]
1830pub struct _DRAWBOT_ImageRef {
1831    _unused: [u8; 0],
1832}
1833pub type DRAWBOT_ImageRef = *mut _DRAWBOT_ImageRef;
1834#[repr(C)]
1835#[derive(Debug, Copy, Clone)]
1836pub struct _DRAWBOT_FontRef {
1837    _unused: [u8; 0],
1838}
1839pub type DRAWBOT_FontRef = *mut _DRAWBOT_FontRef;
1840#[repr(C)]
1841#[derive(Debug, Copy, Clone)]
1842pub struct _DRAWBOT_ObjectRef {
1843    _unused: [u8; 0],
1844}
1845pub type DRAWBOT_ObjectRef = *mut _DRAWBOT_ObjectRef;
1846#[repr(C)]
1847#[derive(Debug, Copy, Clone)]
1848pub struct DRAWBOT_ColorRGBA {
1849    pub red: f32,
1850    pub green: f32,
1851    pub blue: f32,
1852    pub alpha: f32,
1853}
1854#[repr(C)]
1855#[derive(Debug, Copy, Clone)]
1856pub struct DRAWBOT_PointF32 {
1857    pub x: f32,
1858    pub y: f32,
1859}
1860#[repr(C)]
1861#[derive(Debug, Copy, Clone)]
1862pub struct DRAWBOT_RectF32 {
1863    pub left: f32,
1864    pub top: f32,
1865    pub width: f32,
1866    pub height: f32,
1867}
1868#[repr(C)]
1869#[derive(Debug, Copy, Clone)]
1870pub struct DRAWBOT_Rect32 {
1871    pub left: ::std::os::raw::c_int,
1872    pub top: ::std::os::raw::c_int,
1873    pub width: ::std::os::raw::c_int,
1874    pub height: ::std::os::raw::c_int,
1875}
1876#[repr(C)]
1877#[derive(Debug, Copy, Clone)]
1878pub struct DRAWBOT_MatrixF32 {
1879    pub mat: [[f32; 3usize]; 3usize],
1880}
1881pub const kDRAWBOT_FillType_EvenOdd: _bindgen_ty_37 = 0;
1882pub const kDRAWBOT_FillType_Winding: _bindgen_ty_37 = 1;
1883pub const kDRAWBOT_FillType_Default: _bindgen_ty_37 = 1;
1884pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
1885pub type DRAWBOT_FillType = ::std::os::raw::c_int;
1886pub const kDRAWBOT_PixelLayout_24RGB: _bindgen_ty_38 = 0;
1887pub const kDRAWBOT_PixelLayout_24BGR: _bindgen_ty_38 = 1;
1888pub const kDRAWBOT_PixelLayout_32RGB: _bindgen_ty_38 = 2;
1889pub const kDRAWBOT_PixelLayout_32BGR: _bindgen_ty_38 = 3;
1890pub const kDRAWBOT_PixelLayout_32ARGB_Straight: _bindgen_ty_38 = 4;
1891pub const kDRAWBOT_PixelLayout_32ARGB_Premul: _bindgen_ty_38 = 5;
1892pub const kDRAWBOT_PixelLayout_32BGRA_Straight: _bindgen_ty_38 = 6;
1893pub const kDRAWBOT_PixelLayout_32BGRA_Premul: _bindgen_ty_38 = 7;
1894pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
1895pub type DRAWBOT_PixelLayout = ::std::os::raw::c_int;
1896pub const kDRAWBOT_TextAlignment_Left: _bindgen_ty_39 = 0;
1897pub const kDRAWBOT_TextAlignment_Center: _bindgen_ty_39 = 1;
1898pub const kDRAWBOT_TextAlignment_Right: _bindgen_ty_39 = 2;
1899pub const kDRAWBOT_TextAlignment_Default: _bindgen_ty_39 = 0;
1900pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
1901pub type DRAWBOT_TextAlignment = ::std::os::raw::c_int;
1902pub const kDRAWBOT_TextTruncation_None: _bindgen_ty_40 = 0;
1903pub const kDRAWBOT_TextTruncation_End: _bindgen_ty_40 = 1;
1904pub const kDRAWBOT_TextTruncation_EndEllipsis: _bindgen_ty_40 = 2;
1905pub const kDRAWBOT_TextTruncation_PathEllipsis: _bindgen_ty_40 = 3;
1906pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
1907pub type DRAWBOT_TextTruncation = ::std::os::raw::c_int;
1908pub const kDRAWBOT_InterpolationPolicy_None: _bindgen_ty_41 = 0;
1909pub const kDRAWBOT_InterpolationPolicy_Med: _bindgen_ty_41 = 1;
1910pub const kDRAWBOT_InterpolationPolicy_High: _bindgen_ty_41 = 2;
1911pub const kDRAWBOT_InterpolationPolicy_Default: _bindgen_ty_41 = 0;
1912pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
1913pub type DRAWBOT_InterpolationPolicy = ::std::os::raw::c_int;
1914pub const kDRAWBOT_AntiAliasPolicy_None: _bindgen_ty_42 = 0;
1915pub const kDRAWBOT_AntiAliasPolicy_Med: _bindgen_ty_42 = 1;
1916pub const kDRAWBOT_AntiAliasPolicy_High: _bindgen_ty_42 = 2;
1917pub const kDRAWBOT_AntiAliasPolicy_Default: _bindgen_ty_42 = 0;
1918pub type _bindgen_ty_42 = ::std::os::raw::c_uint;
1919pub type DRAWBOT_AntiAliasPolicy = ::std::os::raw::c_int;
1920pub const PF_CustomEFlag_NONE: _bindgen_ty_43 = 0;
1921pub const PF_CustomEFlag_COMP: _bindgen_ty_43 = 1;
1922pub const PF_CustomEFlag_LAYER: _bindgen_ty_43 = 2;
1923pub const PF_CustomEFlag_EFFECT: _bindgen_ty_43 = 4;
1924pub const PF_CustomEFlag_PREVIEW: _bindgen_ty_43 = 8;
1925#[doc = " PF_CustomFlags\n\n kinds of events and actions the custom parameter type might require\n"]
1926pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
1927pub type PF_CustomEventFlags = A_long;
1928pub const PF_Window_NONE: _bindgen_ty_44 = -1;
1929pub const PF_Window_COMP: _bindgen_ty_44 = 0;
1930pub const PF_Window_LAYER: _bindgen_ty_44 = 1;
1931pub const PF_Window_EFFECT: _bindgen_ty_44 = 2;
1932pub const PF_Window_PREVIEW: _bindgen_ty_44 = 3;
1933pub type _bindgen_ty_44 = ::std::os::raw::c_int;
1934pub type PF_WindowType = A_long;
1935pub const PF_Event_NONE: _bindgen_ty_45 = -1;
1936pub const PF_Event_NEW_CONTEXT: _bindgen_ty_45 = 0;
1937pub const PF_Event_ACTIVATE: _bindgen_ty_45 = 1;
1938pub const PF_Event_DO_CLICK: _bindgen_ty_45 = 2;
1939pub const PF_Event_DRAG: _bindgen_ty_45 = 3;
1940pub const PF_Event_DRAW: _bindgen_ty_45 = 4;
1941pub const PF_Event_DEACTIVATE: _bindgen_ty_45 = 5;
1942pub const PF_Event_CLOSE_CONTEXT: _bindgen_ty_45 = 6;
1943pub const PF_Event_IDLE: _bindgen_ty_45 = 7;
1944pub const PF_Event_KEYDOWN_OBSOLETE: _bindgen_ty_45 = 8;
1945pub const PF_Event_ADJUST_CURSOR: _bindgen_ty_45 = 9;
1946pub const PF_Event_KEYDOWN: _bindgen_ty_45 = 10;
1947pub const PF_Event_MOUSE_EXITED: _bindgen_ty_45 = 11;
1948pub const PF_Event_NUM_EVENTS: _bindgen_ty_45 = 12;
1949pub type _bindgen_ty_45 = ::std::os::raw::c_int;
1950pub type PF_EventType = A_long;
1951pub const PF_Cursor_NONE: _bindgen_ty_46 = 0;
1952pub const PF_Cursor_CUSTOM: _bindgen_ty_46 = 1;
1953pub const PF_Cursor_ARROW: _bindgen_ty_46 = 2;
1954pub const PF_Cursor_HOLLOW_ARROW: _bindgen_ty_46 = 3;
1955pub const PF_Cursor_WATCH_N_WAIT: _bindgen_ty_46 = 4;
1956pub const PF_Cursor_MAGNIFY: _bindgen_ty_46 = 5;
1957pub const PF_Cursor_MAGNIFY_PLUS: _bindgen_ty_46 = 6;
1958pub const PF_Cursor_MAGNIFY_MINUS: _bindgen_ty_46 = 7;
1959pub const PF_Cursor_CROSSHAIRS: _bindgen_ty_46 = 8;
1960pub const PF_Cursor_CROSS_RECT: _bindgen_ty_46 = 9;
1961pub const PF_Cursor_CROSS_OVAL: _bindgen_ty_46 = 10;
1962pub const PF_Cursor_CROSS_ROTATE: _bindgen_ty_46 = 11;
1963pub const PF_Cursor_PAN: _bindgen_ty_46 = 12;
1964pub const PF_Cursor_EYEDROPPER: _bindgen_ty_46 = 13;
1965pub const PF_Cursor_HAND: _bindgen_ty_46 = 14;
1966pub const PF_Cursor_PEN: _bindgen_ty_46 = 15;
1967pub const PF_Cursor_PEN_ADD: _bindgen_ty_46 = 16;
1968pub const PF_Cursor_PEN_DELETE: _bindgen_ty_46 = 17;
1969pub const PF_Cursor_PEN_CLOSE: _bindgen_ty_46 = 18;
1970pub const PF_Cursor_PEN_DRAG: _bindgen_ty_46 = 19;
1971pub const PF_Cursor_PEN_CORNER: _bindgen_ty_46 = 20;
1972pub const PF_Cursor_RESIZE_VERTICAL: _bindgen_ty_46 = 21;
1973pub const PF_Cursor_RESIZE_HORIZONTAL: _bindgen_ty_46 = 22;
1974pub const PF_Cursor_FINGER_POINTER: _bindgen_ty_46 = 23;
1975pub const PF_Cursor_SCALE_HORIZ: _bindgen_ty_46 = 24;
1976pub const PF_Cursor_SCALE_DIAG_LR: _bindgen_ty_46 = 25;
1977pub const PF_Cursor_SCALE_VERT: _bindgen_ty_46 = 26;
1978pub const PF_Cursor_SCALE_DIAG_UR: _bindgen_ty_46 = 27;
1979pub const PF_Cursor_ROT_TOP: _bindgen_ty_46 = 28;
1980pub const PF_Cursor_ROT_TOP_RIGHT: _bindgen_ty_46 = 29;
1981pub const PF_Cursor_ROT_RIGHT: _bindgen_ty_46 = 30;
1982pub const PF_Cursor_ROT_BOT_RIGHT: _bindgen_ty_46 = 31;
1983pub const PF_Cursor_ROT_BOTTOM: _bindgen_ty_46 = 32;
1984pub const PF_Cursor_ROT_BOT_LEFT: _bindgen_ty_46 = 33;
1985pub const PF_Cursor_ROT_LEFT: _bindgen_ty_46 = 34;
1986pub const PF_Cursor_ROT_TOP_LEFT: _bindgen_ty_46 = 35;
1987pub const PF_Cursor_DRAG_CENTER: _bindgen_ty_46 = 36;
1988pub const PF_Cursor_COPY: _bindgen_ty_46 = 37;
1989pub const PF_Cursor_ALIAS: _bindgen_ty_46 = 38;
1990pub const PF_Cursor_CONTEXT: _bindgen_ty_46 = 39;
1991pub const PF_Cursor_SLIP_EDIT: _bindgen_ty_46 = 40;
1992pub const PF_Cursor_CAMERA_ORBIT_CAMERA: _bindgen_ty_46 = 41;
1993pub const PF_Cursor_CAMERA_PAN_CAMERA: _bindgen_ty_46 = 42;
1994pub const PF_Cursor_CAMERA_DOLLY_CAMERA: _bindgen_ty_46 = 43;
1995pub const PF_Cursor_ROTATE_X: _bindgen_ty_46 = 44;
1996pub const PF_Cursor_ROTATE_Y: _bindgen_ty_46 = 45;
1997pub const PF_Cursor_ROTATE_Z: _bindgen_ty_46 = 46;
1998pub const PF_Cursor_ARROW_X: _bindgen_ty_46 = 47;
1999pub const PF_Cursor_ARROW_Y: _bindgen_ty_46 = 48;
2000pub const PF_Cursor_ARROW_Z: _bindgen_ty_46 = 49;
2001pub const PF_Cursor_SCISSORS: _bindgen_ty_46 = 50;
2002pub const PF_Cursor_FAT_EYEDROPPER: _bindgen_ty_46 = 51;
2003pub const PF_Cursor_FINGER_POINTER_SCRUB: _bindgen_ty_46 = 52;
2004pub const PF_Cursor_HORZ_I_BEAM: _bindgen_ty_46 = 53;
2005pub const PF_Cursor_VERT_I_BEAM: _bindgen_ty_46 = 54;
2006pub const PF_Cursor_HORZ_BOX_I_BEAM: _bindgen_ty_46 = 55;
2007pub const PF_Cursor_VERT_BOX_I_BEAM: _bindgen_ty_46 = 56;
2008pub const PF_Cursor_I_BEAM_0: _bindgen_ty_46 = 57;
2009pub const PF_Cursor_I_BEAM_11_25: _bindgen_ty_46 = 58;
2010pub const PF_Cursor_I_BEAM_22_5: _bindgen_ty_46 = 59;
2011pub const PF_Cursor_I_BEAM_33_75: _bindgen_ty_46 = 60;
2012pub const PF_Cursor_I_BEAM_45: _bindgen_ty_46 = 61;
2013pub const PF_Cursor_I_BEAM_56_25: _bindgen_ty_46 = 62;
2014pub const PF_Cursor_I_BEAM_67_5: _bindgen_ty_46 = 63;
2015pub const PF_Cursor_I_BEAM_78_75: _bindgen_ty_46 = 64;
2016pub const PF_Cursor_I_BEAM_90: _bindgen_ty_46 = 65;
2017pub const PF_Cursor_I_BEAM_101_25: _bindgen_ty_46 = 66;
2018pub const PF_Cursor_I_BEAM_112_5: _bindgen_ty_46 = 67;
2019pub const PF_Cursor_I_BEAM_123_75: _bindgen_ty_46 = 68;
2020pub const PF_Cursor_I_BEAM_135: _bindgen_ty_46 = 69;
2021pub const PF_Cursor_I_BEAM_146_25: _bindgen_ty_46 = 70;
2022pub const PF_Cursor_I_BEAM_157_5: _bindgen_ty_46 = 71;
2023pub const PF_Cursor_I_BEAM_168_75: _bindgen_ty_46 = 72;
2024pub const PF_Cursor_CROSSHAIRS_PICKUP: _bindgen_ty_46 = 73;
2025pub const PF_Cursor_ARROW_SELECTOR: _bindgen_ty_46 = 74;
2026pub const PF_Cursor_LAYER_MOVE: _bindgen_ty_46 = 75;
2027pub const PF_Cursor_MOVE_START_MARGIN: _bindgen_ty_46 = 76;
2028pub const PF_Cursor_MOVE_END_MARGIN: _bindgen_ty_46 = 77;
2029pub const PF_Cursor_SOLID_ARROW: _bindgen_ty_46 = 78;
2030pub const PF_Cursor_HOLLOW_ARROW_PLUS: _bindgen_ty_46 = 79;
2031pub const PF_Cursor_BRUSH_CENTER: _bindgen_ty_46 = 80;
2032pub const PF_Cursor_CLONE_SOURCE: _bindgen_ty_46 = 81;
2033pub const PF_Cursor_CLONE_SOURCE_OFFSET: _bindgen_ty_46 = 82;
2034pub const PF_Cursor_HOLLOW_LAYER_MOVE: _bindgen_ty_46 = 83;
2035pub const PF_Cursor_MOVE_TRACK_SEARCH_REGION: _bindgen_ty_46 = 84;
2036pub const PF_Cursor_MOVE_TRACK_ATTACH_POINT: _bindgen_ty_46 = 85;
2037pub const PF_Cursor_COLOR_CUBE_CROSS_SECTION: _bindgen_ty_46 = 86;
2038pub const PF_Cursor_PEN_CORNER_ROTOBEZ_TENSION: _bindgen_ty_46 = 87;
2039pub const PF_Cursor_PIN: _bindgen_ty_46 = 88;
2040pub const PF_Cursor_PIN_ADD: _bindgen_ty_46 = 89;
2041pub const PF_Cursor_MESH_ADD: _bindgen_ty_46 = 90;
2042pub const PF_Cursor_MARQUEE: _bindgen_ty_46 = 91;
2043pub const PF_Cursor_CROSS_ROUNDED_RECT: _bindgen_ty_46 = 92;
2044pub const PF_Cursor_CROSS_POLYGON: _bindgen_ty_46 = 93;
2045pub const PF_Cursor_CROSS_STAR: _bindgen_ty_46 = 94;
2046pub const PF_Cursor_PIN_STARCH: _bindgen_ty_46 = 95;
2047pub const PF_Cursor_PIN_OVERLAP: _bindgen_ty_46 = 96;
2048pub const PF_Cursor_STOPWATCH: _bindgen_ty_46 = 97;
2049pub const PF_Cursor_DRAG_DOT: _bindgen_ty_46 = 98;
2050pub const PF_Cursor_DRAG_CIRCLE: _bindgen_ty_46 = 99;
2051pub const PF_Cursor_DIRECT_SELECT: _bindgen_ty_46 = 100;
2052pub const PF_Cursor_DRAG_COPY_MOVE: _bindgen_ty_46 = 101;
2053pub const PF_Cursor_DRAG_COPY_ROTATE: _bindgen_ty_46 = 102;
2054pub const PF_Cursor_CAMERA_MAYA: _bindgen_ty_46 = 103;
2055pub const PF_Cursor_RESIZE_HORIZONTAL_LEFT: _bindgen_ty_46 = 104;
2056pub const PF_Cursor_RESIZE_HORIZONTAL_RIGHT: _bindgen_ty_46 = 105;
2057pub const PF_Cursor_FEATHER: _bindgen_ty_46 = 106;
2058pub const PF_Cursor_FEATHER_ADD: _bindgen_ty_46 = 107;
2059pub const PF_Cursor_FEATHER_DELETE: _bindgen_ty_46 = 108;
2060pub const PF_Cursor_FEATHER_MOVE: _bindgen_ty_46 = 109;
2061pub const PF_Cursor_FEATHER_TENSION: _bindgen_ty_46 = 110;
2062pub const PF_Cursor_FEATHER_MARQUEE: _bindgen_ty_46 = 111;
2063pub const PF_Cursor_LASSO_ARROW: _bindgen_ty_46 = 112;
2064pub const PF_Cursor_DRAG_NO_DROP: _bindgen_ty_46 = 113;
2065pub const PF_Cursor_DRAG_COPY: _bindgen_ty_46 = 114;
2066pub const PF_Cursor_DRAG_LINK: _bindgen_ty_46 = 115;
2067pub const PF_Cursor_PIN_BEND: _bindgen_ty_46 = 116;
2068pub const PF_Cursor_PIN_ADVANCED: _bindgen_ty_46 = 117;
2069pub const PF_Cursor_CAMERA_ORBIT_CURSOR: _bindgen_ty_46 = 118;
2070pub const PF_Cursor_CAMERA_ORBIT_SCENE: _bindgen_ty_46 = 119;
2071pub const PF_Cursor_CAMERA_PAN_CURSOR: _bindgen_ty_46 = 120;
2072pub const PF_Cursor_CAMERA_DOLLY_TOWARDS_CURSOR: _bindgen_ty_46 = 121;
2073pub const PF_Cursor_CAMERA_DOLLY_TO_CURSOR: _bindgen_ty_46 = 122;
2074pub const PF_MAX_CURSOR_PLUS_ONE: _bindgen_ty_46 = 123;
2075pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
2076pub type PF_CursorType = A_long;
2077pub const PF_Mod_NONE: _bindgen_ty_47 = 0;
2078pub const PF_Mod_CMD_CTRL_KEY: _bindgen_ty_47 = 256;
2079pub const PF_Mod_SHIFT_KEY: _bindgen_ty_47 = 512;
2080pub const PF_Mod_CAPS_LOCK_KEY: _bindgen_ty_47 = 1024;
2081pub const PF_Mod_OPT_ALT_KEY: _bindgen_ty_47 = 2048;
2082pub const PF_Mod_MAC_CONTROL_KEY: _bindgen_ty_47 = 4096;
2083pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
2084pub type PF_Modifiers = A_long;
2085#[repr(C)]
2086#[derive(Copy, Clone)]
2087pub struct PF_AdjustCursorEventInfo {
2088    pub screen_point: PF_Point,
2089    pub modifiers: PF_Modifiers,
2090    pub set_cursor: PF_CursorType,
2091}
2092#[repr(C)]
2093#[derive(Copy, Clone)]
2094pub struct PF_DoClickEventInfo {
2095    pub when: A_u_long,
2096    pub screen_point: PF_Point,
2097    pub num_clicks: A_long,
2098    pub modifiers: PF_Modifiers,
2099    pub continue_refcon: [A_intptr_t; 4usize],
2100    pub send_drag: PF_Boolean,
2101    pub last_time: PF_Boolean,
2102}
2103#[repr(C)]
2104#[derive(Debug, Copy, Clone)]
2105pub struct PF_DrawEventInfo {
2106    pub update_rect: PF_UnionableRect,
2107    pub depth: A_long,
2108}
2109#[repr(C)]
2110#[derive(Copy, Clone)]
2111pub struct PF_KeyDownEventObsolete {
2112    pub when: A_u_long,
2113    pub screen_point: PF_Point,
2114    pub char_code: A_long,
2115    pub key_code: A_long,
2116    pub modifiers: PF_Modifiers,
2117}
2118pub type PF_KeyCode = A_u_long;
2119pub type PF_ControlCode = A_u_short;
2120#[repr(C)]
2121#[derive(Copy, Clone)]
2122pub struct PF_KeyDownEvent {
2123    pub when: A_u_long,
2124    pub screen_point: PF_Point,
2125    pub keycode: PF_KeyCode,
2126    pub modifiers: PF_Modifiers,
2127}
2128pub const PF_KEYCODE_FLAG_Printable: _bindgen_ty_48 = -2147483648;
2129pub const PF_KEYCODE_FLAG_Extended: _bindgen_ty_48 = 1073741824;
2130pub type _bindgen_ty_48 = ::std::os::raw::c_int;
2131pub const PF_ControlCode_Unknown: _bindgen_ty_49 = 65535;
2132pub const PF_ControlCode_Space: _bindgen_ty_49 = 1;
2133pub const PF_ControlCode_Backspace: _bindgen_ty_49 = 2;
2134pub const PF_ControlCode_Tab: _bindgen_ty_49 = 3;
2135pub const PF_ControlCode_Return: _bindgen_ty_49 = 4;
2136pub const PF_ControlCode_Enter: _bindgen_ty_49 = 5;
2137pub const PF_ControlCode_Escape: _bindgen_ty_49 = 6;
2138pub const PF_ControlCode_F1: _bindgen_ty_49 = 7;
2139pub const PF_ControlCode_F2: _bindgen_ty_49 = 8;
2140pub const PF_ControlCode_F3: _bindgen_ty_49 = 9;
2141pub const PF_ControlCode_F4: _bindgen_ty_49 = 10;
2142pub const PF_ControlCode_F5: _bindgen_ty_49 = 11;
2143pub const PF_ControlCode_F6: _bindgen_ty_49 = 12;
2144pub const PF_ControlCode_F7: _bindgen_ty_49 = 13;
2145pub const PF_ControlCode_F8: _bindgen_ty_49 = 14;
2146pub const PF_ControlCode_F9: _bindgen_ty_49 = 15;
2147pub const PF_ControlCode_F10: _bindgen_ty_49 = 16;
2148pub const PF_ControlCode_F11: _bindgen_ty_49 = 17;
2149pub const PF_ControlCode_F12: _bindgen_ty_49 = 18;
2150pub const PF_ControlCode_F13: _bindgen_ty_49 = 19;
2151pub const PF_ControlCode_F14: _bindgen_ty_49 = 20;
2152pub const PF_ControlCode_F15: _bindgen_ty_49 = 21;
2153pub const PF_ControlCode_F16: _bindgen_ty_49 = 22;
2154pub const PF_ControlCode_F17: _bindgen_ty_49 = 23;
2155pub const PF_ControlCode_F18: _bindgen_ty_49 = 24;
2156pub const PF_ControlCode_F19: _bindgen_ty_49 = 25;
2157pub const PF_ControlCode_F20: _bindgen_ty_49 = 26;
2158pub const PF_ControlCode_F21: _bindgen_ty_49 = 27;
2159pub const PF_ControlCode_F22: _bindgen_ty_49 = 28;
2160pub const PF_ControlCode_F23: _bindgen_ty_49 = 29;
2161pub const PF_ControlCode_F24: _bindgen_ty_49 = 30;
2162pub const PF_ControlCode_PrintScreen: _bindgen_ty_49 = 31;
2163pub const PF_ControlCode_ScrollLock: _bindgen_ty_49 = 32;
2164pub const PF_ControlCode_Pause: _bindgen_ty_49 = 33;
2165pub const PF_ControlCode_Insert: _bindgen_ty_49 = 34;
2166pub const PF_ControlCode_Delete: _bindgen_ty_49 = 35;
2167pub const PF_ControlCode_Home: _bindgen_ty_49 = 36;
2168pub const PF_ControlCode_End: _bindgen_ty_49 = 37;
2169pub const PF_ControlCode_PageUp: _bindgen_ty_49 = 38;
2170pub const PF_ControlCode_PageDown: _bindgen_ty_49 = 39;
2171pub const PF_ControlCode_Help: _bindgen_ty_49 = 40;
2172pub const PF_ControlCode_Clear: _bindgen_ty_49 = 41;
2173pub const PF_ControlCode_Left: _bindgen_ty_49 = 42;
2174pub const PF_ControlCode_Right: _bindgen_ty_49 = 43;
2175pub const PF_ControlCode_Up: _bindgen_ty_49 = 44;
2176pub const PF_ControlCode_Down: _bindgen_ty_49 = 45;
2177pub const PF_ControlCode_NumLock: _bindgen_ty_49 = 46;
2178pub const PF_ControlCode_Command: _bindgen_ty_49 = 47;
2179pub const PF_ControlCode_Option: _bindgen_ty_49 = 48;
2180pub const PF_ControlCode_Alt: _bindgen_ty_49 = 48;
2181pub const PF_ControlCode_Control: _bindgen_ty_49 = 49;
2182pub const PF_ControlCode_Shift: _bindgen_ty_49 = 50;
2183pub const PF_ControlCode_CapsLock: _bindgen_ty_49 = 51;
2184pub const PF_ControlCode_ContextMenu: _bindgen_ty_49 = 52;
2185pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
2186#[repr(C)]
2187#[derive(Copy, Clone)]
2188pub union PF_EventUnion {
2189    pub do_click: PF_DoClickEventInfo,
2190    pub draw: PF_DrawEventInfo,
2191    pub key_down: PF_KeyDownEvent,
2192    pub adjust_cursor: PF_AdjustCursorEventInfo,
2193}
2194#[repr(C)]
2195#[derive(Debug, Copy, Clone)]
2196pub struct _PF_ContextRefcon {
2197    _unused: [u8; 0],
2198}
2199pub type PF_ContextRefcon = *mut _PF_ContextRefcon;
2200#[repr(C)]
2201#[derive(Debug, Copy, Clone)]
2202pub struct PF_Context {
2203    pub magic: A_u_long,
2204    pub w_type: PF_WindowType,
2205    pub reserved_flt: PF_ContextRefcon,
2206    pub plugin_state: [A_intptr_t; 4usize],
2207    pub reserved_drawref: DRAWBOT_DrawRef,
2208    pub reserved_paneP: *mut ::std::os::raw::c_void,
2209    pub reserved_job_manageP: *mut ::std::os::raw::c_void,
2210}
2211pub type PF_ContextPtr = *mut PF_Context;
2212pub type PF_ContextH = *mut *mut PF_Context;
2213pub const PF_StylusTool_PenTip: PF_StylusTool = 0;
2214pub const PF_StylusTool_PenEraser: PF_StylusTool = 1;
2215pub type PF_StylusTool = ::std::os::raw::c_uint;
2216#[repr(C)]
2217#[derive(Debug, Copy, Clone)]
2218pub struct PF_StylusEventInfo {
2219    pub stylus_tiltxF: A_FpShort,
2220    pub stylus_tiltyF: A_FpShort,
2221    pub stylus_pressureF: A_FpShort,
2222    pub stylus_wheelF: A_FpShort,
2223}
2224#[repr(C)]
2225#[derive(Copy, Clone)]
2226pub struct PF_PointerEventInfo {
2227    pub when_secondsF: A_FpLong,
2228    pub screen_point: PF_Point,
2229    pub num_clicksS: A_short,
2230    pub mod_keysL: A_long,
2231    pub stylus_tool: PF_StylusTool,
2232    pub stylus_extra_dataB: PF_Boolean,
2233    pub stylus_extra_data: PF_StylusEventInfo,
2234}
2235#[repr(C)]
2236#[derive(Debug, Copy, Clone)]
2237pub struct PF_EventCallbacks {
2238    pub refcon: *mut ::std::os::raw::c_void,
2239    pub layer_to_comp: ::std::option::Option<
2240        unsafe extern "C" fn(
2241            refcon: *mut ::std::os::raw::c_void,
2242            context: PF_ContextH,
2243            curr_time: A_long,
2244            time_scale: A_long,
2245            pt: *mut PF_FixedPoint,
2246        ) -> PF_Err,
2247    >,
2248    pub comp_to_layer: ::std::option::Option<
2249        unsafe extern "C" fn(
2250            refcon: *mut ::std::os::raw::c_void,
2251            context: PF_ContextH,
2252            curr_time: A_long,
2253            time_scale: A_long,
2254            pt: *mut PF_FixedPoint,
2255        ) -> PF_Err,
2256    >,
2257    pub get_comp2layer_xform: ::std::option::Option<
2258        unsafe extern "C" fn(
2259            refcon: *mut ::std::os::raw::c_void,
2260            context: PF_ContextH,
2261            curr_time: A_long,
2262            time_scale: A_long,
2263            exists: *mut A_long,
2264            c2l: *mut PF_FloatMatrix,
2265        ) -> PF_Err,
2266    >,
2267    pub get_layer2comp_xform: ::std::option::Option<
2268        unsafe extern "C" fn(
2269            refcon: *mut ::std::os::raw::c_void,
2270            context: PF_ContextH,
2271            curr_time: A_long,
2272            time_scale: A_long,
2273            l2c: *mut PF_FloatMatrix,
2274        ) -> PF_Err,
2275    >,
2276    pub source_to_frame: ::std::option::Option<
2277        unsafe extern "C" fn(
2278            refcon: *mut ::std::os::raw::c_void,
2279            context: PF_ContextH,
2280            pt: *mut PF_FixedPoint,
2281        ) -> PF_Err,
2282    >,
2283    pub frame_to_source: ::std::option::Option<
2284        unsafe extern "C" fn(
2285            refcon: *mut ::std::os::raw::c_void,
2286            context: PF_ContextH,
2287            pt: *mut PF_FixedPoint,
2288        ) -> PF_Err,
2289    >,
2290    pub info_draw_color: ::std::option::Option<
2291        unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, color: PF_Pixel) -> PF_Err,
2292    >,
2293    pub info_draw_text: ::std::option::Option<
2294        unsafe extern "C" fn(
2295            refcon: *mut ::std::os::raw::c_void,
2296            text1Z0: *const A_char,
2297            text2Z0: *const A_char,
2298        ) -> PF_Err,
2299    >,
2300}
2301pub type PF_EventCallbacksPtr = *mut PF_EventCallbacks;
2302pub const PF_EA_NONE: _bindgen_ty_50 = 0;
2303pub const PF_EA_PARAM_TITLE: _bindgen_ty_50 = 1;
2304pub const PF_EA_CONTROL: _bindgen_ty_50 = 2;
2305pub type _bindgen_ty_50 = ::std::os::raw::c_uint;
2306pub type PF_EffectArea = A_long;
2307#[repr(C)]
2308#[derive(Debug, Copy, Clone)]
2309pub struct PF_EffectWindowInfo {
2310    pub index: PF_ParamIndex,
2311    pub area: PF_EffectArea,
2312    pub current_frame: PF_UnionableRect,
2313    pub param_title_frame: PF_UnionableRect,
2314    pub horiz_offset: A_long,
2315}
2316pub const PF_EO_NONE: _bindgen_ty_51 = 0;
2317pub const PF_EO_HANDLED_EVENT: _bindgen_ty_51 = 1;
2318pub const PF_EO_ALWAYS_UPDATE: _bindgen_ty_51 = 2;
2319pub const PF_EO_NEVER_UPDATE: _bindgen_ty_51 = 4;
2320pub const PF_EO_UPDATE_NOW: _bindgen_ty_51 = 8;
2321pub type _bindgen_ty_51 = ::std::os::raw::c_uint;
2322pub type PF_EventOutFlags = A_long;
2323pub const PF_EI_NONE: _bindgen_ty_52 = 0;
2324pub const PF_EI_DONT_DRAW: _bindgen_ty_52 = 1;
2325pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
2326pub type PF_EventInFlags = A_long;
2327#[repr(C)]
2328#[derive(Debug, Copy, Clone)]
2329pub struct PF_ItemWindowInfo {
2330    pub port_rect: PF_UnionableRect,
2331}
2332#[repr(C)]
2333#[derive(Copy, Clone)]
2334pub union PF_WindowUnion {
2335    pub effect_win: PF_EffectWindowInfo,
2336    pub item_win: PF_ItemWindowInfo,
2337}
2338#[repr(C)]
2339#[derive(Copy, Clone)]
2340pub struct PF_EventExtra {
2341    pub contextH: PF_ContextH,
2342    pub e_type: PF_EventType,
2343    pub u: PF_EventUnion,
2344    pub effect_win: PF_EffectWindowInfo,
2345    pub cbs: PF_EventCallbacks,
2346    pub evt_in_flags: PF_EventInFlags,
2347    pub evt_out_flags: PF_EventOutFlags,
2348}
2349pub const PF_UIAlignment_NONE: _bindgen_ty_53 = 0;
2350pub const PF_UIAlignment_TOP: _bindgen_ty_53 = 1;
2351pub const PF_UIAlignment_LEFT: _bindgen_ty_53 = 2;
2352pub const PF_UIAlignment_BOTTOM: _bindgen_ty_53 = 4;
2353pub const PF_UIAlignment_RIGHT: _bindgen_ty_53 = 8;
2354pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
2355pub type PF_UIAlignment = A_long;
2356#[repr(C)]
2357#[derive(Debug, Copy, Clone)]
2358pub struct _PF_CustomUIInfo {
2359    pub reserved: A_long,
2360    pub events: PF_CustomEventFlags,
2361    pub comp_ui_width: A_long,
2362    pub comp_ui_height: A_long,
2363    pub comp_ui_alignment: PF_UIAlignment,
2364    pub layer_ui_width: A_long,
2365    pub layer_ui_height: A_long,
2366    pub layer_ui_alignment: PF_UIAlignment,
2367    pub preview_ui_width: A_long,
2368    pub preview_ui_height: A_long,
2369    pub preview_ui_alignment: PF_UIAlignment,
2370}
2371pub type int32 = i32;
2372pub type uint8 = u8;
2373pub type SPBoolean = uint8;
2374pub type SPErr = int32;
2375#[doc = " @ingroup Suites\nThis suite provides basic memory management for PICA (the Adobe plug-in manager)\nand defines the basic functions for acquiring and releasing other suites.\n\nA suite consists of a list of function pointers. The application, or a\nplug-in that loads a suite, provides valid pointers when the suite is\nacquired. When a suite is not available, the pointers are set to the\naddress of the \\c #Undefined() function.\n\nDo not attempt to acquire a suite (other than the \\c #SPBlocksSuite)\nin response to a PICA access (\\c #kSPAccessCaller) or property\n(\\c #kSPPropertiesCaller) message. Most suites are unavailable\nduring these load and unload operations.\n\nYou can acquire all the suites you will need when your plug-in is first\nloaded, as long as you release them before your plug-in is unloaded.\nAt shutdown, however, it is most efficient to acquire only those\nsuites explicitly needed to shut down; for example, to free memory\nand save preferences.\n\nThe \\c SPBasicSuite itself is a part of the message data passed\nto your plug-in with any call. To access it from the message data structure:\n@code\nSPBasicSuite sBasic = message->d.basic;\nsBasic->function( )\n@endcode"]
2376#[repr(C)]
2377#[derive(Debug, Copy, Clone)]
2378pub struct SPBasicSuite {
2379    #[doc = " Acquires a function suite. Loads the suite if necessary,\nand increments its reference count. For example:\n@code\nSPErr error;\nSPBasicSuite *sBasic = message->d.basic;\nAIRandomSuite *sRandom;\nsBasic->AcquireSuite( kAIRandomSuite, kAIRandomVersion, &sRandom );\n@endcode\n@param name The suite name.\n@param version The suite version number.\n@param suite [out] A buffer in which to return the suite pointer.\n@see \\c #SPSuitesSuite::AcquireSuite()"]
2380    pub AcquireSuite: ::std::option::Option<
2381        unsafe extern "C" fn(
2382            name: *const ::std::os::raw::c_char,
2383            version: int32,
2384            suite: *mut *const ::std::os::raw::c_void,
2385        ) -> SPErr,
2386    >,
2387    #[doc = " Decrements the reference count of a suite and unloads it when the\nreference count reaches 0.\n@param name The suite name.\n@param version The suite version number."]
2388    pub ReleaseSuite: ::std::option::Option<
2389        unsafe extern "C" fn(name: *const ::std::os::raw::c_char, version: int32) -> SPErr,
2390    >,
2391    #[doc = " Compares two strings for equality.\n@param token1 The first null-terminated string.\n@param token2 The second null-terminated string.\n@return True if the strings are the same, false otherwise."]
2392    pub IsEqual: ::std::option::Option<
2393        unsafe extern "C" fn(
2394            token1: *const ::std::os::raw::c_char,
2395            token2: *const ::std::os::raw::c_char,
2396        ) -> SPBoolean,
2397    >,
2398    #[doc = " Allocates a block of memory.\n@param size The number of bytes.\n@param block [out] A buffer in which to return the block pointer.\n@see \\c #SPBlocksSuite::AllocateBlock()"]
2399    pub AllocateBlock: ::std::option::Option<
2400        unsafe extern "C" fn(size: usize, block: *mut *mut ::std::os::raw::c_void) -> SPErr,
2401    >,
2402    #[doc = " Frees a block of memory allocated with \\c #AllocateBlock().\n@param block The block pointer.\n@see \\c #SPBlocksSuite::FreeBlock()"]
2403    pub FreeBlock:
2404        ::std::option::Option<unsafe extern "C" fn(block: *mut ::std::os::raw::c_void) -> SPErr>,
2405    #[doc = " Reallocates a block previously allocated with \\c #AllocateBlock().\nIncreases the size without changing the location, if possible.\n@param block The block pointer.\n@param newSize The new number of bytes.\n@param newblock [out] A buffer in which to return the new block pointer.\n@see \\c #SPBlocksSuite::ReallocateBlock()"]
2406    pub ReallocateBlock: ::std::option::Option<
2407        unsafe extern "C" fn(
2408            block: *mut ::std::os::raw::c_void,
2409            newSize: usize,
2410            newblock: *mut *mut ::std::os::raw::c_void,
2411        ) -> SPErr,
2412    >,
2413    #[doc = " A function pointer for unloaded suites. This is a protective measure\nagainst other plug-ins that may mistakenly use the suite after they have\nreleased it.\n\nA plug-in that exports a suite should unload the suite's procedure pointers\nwhen it is unloaded, and restore them when the plug-in is reloaded.\n\\li On unload, replace the suite's procedure pointers\nwith the address of this function.\n\\li On reload, restore the suite's procedure\npointers with the updated addresses of their functions.\n\nFor example:\n@code\nSPErr UnloadSuite( MySuite *mySuite, SPAccessMessage *message ) {\nmySuite->functionA = (void *) message->d.basic->Undefined;\nmySuite->functionB = (void *) message->d.basic->Undefined;\n}\n\nSPErr ReloadSuite( MySuite *mySuite, SPAccessMessage *message ) {\nmySuite->functionA = functionA;\nmySuite->functionB = functionB;\n}\n@endcode"]
2414    pub Undefined: ::std::option::Option<unsafe extern "C" fn() -> SPErr>,
2415}
2416#[repr(C)]
2417#[derive(Debug, Copy, Clone)]
2418pub struct PF_AdvAppSuite1 {
2419    pub PF_SetProjectDirty: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2420    pub PF_SaveProject: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2421    pub PF_SaveBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2422    pub PF_ForceForeground: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2423    pub PF_RestoreBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2424    pub PF_RefreshAllWindows: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2425    pub PF_InfoDrawText: ::std::option::Option<
2426        unsafe extern "C" fn(line1Z0: *const A_char, line2Z0: *const A_char) -> PF_Err,
2427    >,
2428    pub PF_InfoDrawColor: ::std::option::Option<unsafe extern "C" fn(color: PF_Pixel) -> PF_Err>,
2429    pub PF_InfoDrawText3: ::std::option::Option<
2430        unsafe extern "C" fn(
2431            line1Z0: *const A_char,
2432            line2Z0: *const A_char,
2433            line3Z0: *const A_char,
2434        ) -> PF_Err,
2435    >,
2436    pub PF_InfoDrawText3Plus: ::std::option::Option<
2437        unsafe extern "C" fn(
2438            line1Z0: *const A_char,
2439            line2_jrZ0: *const A_char,
2440            line2_jlZ0: *const A_char,
2441            line3_jrZ0: *const A_char,
2442            line3_jlZ0: *const A_char,
2443        ) -> PF_Err,
2444    >,
2445}
2446#[repr(C)]
2447#[derive(Debug, Copy, Clone)]
2448pub struct PF_AdvAppSuite2 {
2449    pub PF_SetProjectDirty: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2450    pub PF_SaveProject: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2451    pub PF_SaveBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2452    pub PF_ForceForeground: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2453    pub PF_RestoreBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2454    pub PF_RefreshAllWindows: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2455    pub PF_InfoDrawText: ::std::option::Option<
2456        unsafe extern "C" fn(line1Z0: *const A_char, line2Z0: *const A_char) -> PF_Err,
2457    >,
2458    pub PF_InfoDrawColor: ::std::option::Option<unsafe extern "C" fn(color: PF_Pixel) -> PF_Err>,
2459    pub PF_InfoDrawText3: ::std::option::Option<
2460        unsafe extern "C" fn(
2461            line1Z0: *const A_char,
2462            line2Z0: *const A_char,
2463            line3Z0: *const A_char,
2464        ) -> PF_Err,
2465    >,
2466    pub PF_InfoDrawText3Plus: ::std::option::Option<
2467        unsafe extern "C" fn(
2468            line1Z0: *const A_char,
2469            line2_jrZ0: *const A_char,
2470            line2_jlZ0: *const A_char,
2471            line3_jrZ0: *const A_char,
2472            line3_jlZ0: *const A_char,
2473        ) -> PF_Err,
2474    >,
2475    pub PF_AppendInfoText:
2476        ::std::option::Option<unsafe extern "C" fn(appendZ0: *const A_char) -> PF_Err>,
2477}
2478pub const PF_Step_FORWARD: _bindgen_ty_54 = 0;
2479pub const PF_Step_BACKWARD: _bindgen_ty_54 = 1;
2480pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
2481pub type PF_Step = A_LegacyEnumType;
2482pub const PF_TimeDisplayFormatTimecode: _bindgen_ty_55 = 0;
2483pub const PF_TimeDisplayFormatFrames: _bindgen_ty_55 = 1;
2484pub const PF_TimeDisplayFormatFeetFrames: _bindgen_ty_55 = 2;
2485pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
2486#[repr(C)]
2487#[derive(Debug, Copy, Clone)]
2488pub struct PF_TimeDisplayPrefVersion3 {
2489    pub display_mode: A_char,
2490    pub framemax: A_long,
2491    pub frames_per_foot: A_long,
2492    pub frames_start: A_char,
2493    pub nondrop30B: A_Boolean,
2494    pub honor_source_timecodeB: A_Boolean,
2495    pub use_feet_framesB: A_Boolean,
2496}
2497#[repr(C)]
2498#[derive(Debug, Copy, Clone)]
2499pub struct PF_AdvTimeSuite4 {
2500    pub PF_FormatTimeActiveItem: ::std::option::Option<
2501        unsafe extern "C" fn(
2502            time_valueUL: A_long,
2503            time_scaleL: A_u_long,
2504            durationB: PF_Boolean,
2505            time_buf: *mut A_char,
2506        ) -> PF_Err,
2507    >,
2508    pub PF_FormatTime: ::std::option::Option<
2509        unsafe extern "C" fn(
2510            in_data: *mut PF_InData,
2511            world: *mut PF_EffectWorld,
2512            time_valueUL: A_long,
2513            time_scaleL: A_u_long,
2514            durationB: PF_Boolean,
2515            time_buf: *mut A_char,
2516        ) -> PF_Err,
2517    >,
2518    pub PF_FormatTimePlus: ::std::option::Option<
2519        unsafe extern "C" fn(
2520            in_data: *mut PF_InData,
2521            world: *mut PF_EffectWorld,
2522            time_valueUL: A_long,
2523            time_scaleL: A_u_long,
2524            comp_timeB: PF_Boolean,
2525            durationB: PF_Boolean,
2526            time_buf: *mut A_char,
2527        ) -> PF_Err,
2528    >,
2529    pub PF_GetTimeDisplayPref: ::std::option::Option<
2530        unsafe extern "C" fn(
2531            tdp: *mut PF_TimeDisplayPrefVersion3,
2532            starting_frame_num: *mut A_long,
2533        ) -> PF_Err,
2534    >,
2535    pub PF_TimeCountFrames: ::std::option::Option<
2536        unsafe extern "C" fn(
2537            start_timeTP: *const A_Time,
2538            time_stepTP: *const A_Time,
2539            include_partial_frameB: A_Boolean,
2540            frame_countL: *mut A_long,
2541        ) -> PF_Err,
2542    >,
2543}
2544#[repr(C)]
2545#[derive(Debug, Copy, Clone)]
2546pub struct PF_AdvTimeSuite3 {
2547    pub PF_FormatTimeActiveItem: ::std::option::Option<
2548        unsafe extern "C" fn(
2549            time_valueUL: A_long,
2550            time_scaleL: A_u_long,
2551            durationB: PF_Boolean,
2552            time_buf: *mut A_char,
2553        ) -> PF_Err,
2554    >,
2555    pub PF_FormatTime: ::std::option::Option<
2556        unsafe extern "C" fn(
2557            in_data: *mut PF_InData,
2558            world: *mut PF_EffectWorld,
2559            time_valueUL: A_long,
2560            time_scaleL: A_u_long,
2561            durationB: PF_Boolean,
2562            time_buf: *mut A_char,
2563        ) -> PF_Err,
2564    >,
2565    pub PF_FormatTimePlus: ::std::option::Option<
2566        unsafe extern "C" fn(
2567            in_data: *mut PF_InData,
2568            world: *mut PF_EffectWorld,
2569            time_valueUL: A_long,
2570            time_scaleL: A_u_long,
2571            comp_timeB: PF_Boolean,
2572            durationB: PF_Boolean,
2573            time_buf: *mut A_char,
2574        ) -> PF_Err,
2575    >,
2576    pub PF_GetTimeDisplayPref: ::std::option::Option<
2577        unsafe extern "C" fn(
2578            tdp: *mut PF_TimeDisplayPrefVersion3,
2579            starting_frame_num: *mut A_long,
2580        ) -> PF_Err,
2581    >,
2582}
2583#[repr(C)]
2584#[derive(Debug, Copy, Clone)]
2585pub struct PF_TimeDisplayPrefVersion2 {
2586    pub display_mode: A_char,
2587    pub framemax: A_char,
2588    pub frames_per_foot: A_char,
2589    pub frames_start: A_char,
2590    pub nondrop30B: A_Boolean,
2591    pub honor_source_timecodeB: A_Boolean,
2592    pub use_feet_framesB: A_Boolean,
2593}
2594#[repr(C)]
2595#[derive(Debug, Copy, Clone)]
2596pub struct PF_AdvTimeSuite2 {
2597    pub PF_FormatTimeActiveItem: ::std::option::Option<
2598        unsafe extern "C" fn(
2599            time_valueUL: A_long,
2600            time_scaleL: A_u_long,
2601            durationB: PF_Boolean,
2602            time_buf: *mut A_char,
2603        ) -> PF_Err,
2604    >,
2605    pub PF_FormatTime: ::std::option::Option<
2606        unsafe extern "C" fn(
2607            in_data: *mut PF_InData,
2608            world: *mut PF_EffectWorld,
2609            time_valueUL: A_long,
2610            time_scaleL: A_u_long,
2611            durationB: PF_Boolean,
2612            time_buf: *mut A_char,
2613        ) -> PF_Err,
2614    >,
2615    pub PF_FormatTimePlus: ::std::option::Option<
2616        unsafe extern "C" fn(
2617            in_data: *mut PF_InData,
2618            world: *mut PF_EffectWorld,
2619            time_valueUL: A_long,
2620            time_scaleL: A_u_long,
2621            comp_timeB: PF_Boolean,
2622            durationB: PF_Boolean,
2623            time_buf: *mut A_char,
2624        ) -> PF_Err,
2625    >,
2626    pub PF_GetTimeDisplayPref: ::std::option::Option<
2627        unsafe extern "C" fn(
2628            tdp: *mut PF_TimeDisplayPrefVersion2,
2629            starting_frame_num: *mut A_long,
2630        ) -> PF_Err,
2631    >,
2632}
2633#[repr(C)]
2634#[derive(Debug, Copy, Clone)]
2635pub struct PF_TimeDisplayPref {
2636    pub time_display_format: A_char,
2637    pub framemax: A_char,
2638    pub nondrop30: A_char,
2639    pub frames_per_foot: A_char,
2640}
2641#[repr(C)]
2642#[derive(Debug, Copy, Clone)]
2643pub struct PF_AdvTimeSuite1 {
2644    pub PF_FormatTimeActiveItem: ::std::option::Option<
2645        unsafe extern "C" fn(
2646            time_valueUL: A_long,
2647            time_scaleL: A_u_long,
2648            durationB: PF_Boolean,
2649            time_buf: *mut A_char,
2650        ) -> PF_Err,
2651    >,
2652    pub PF_FormatTime: ::std::option::Option<
2653        unsafe extern "C" fn(
2654            in_data: *mut PF_InData,
2655            world: *mut PF_EffectWorld,
2656            time_valueUL: A_long,
2657            time_scaleL: A_u_long,
2658            durationB: PF_Boolean,
2659            time_buf: *mut A_char,
2660        ) -> PF_Err,
2661    >,
2662    pub PF_FormatTimePlus: ::std::option::Option<
2663        unsafe extern "C" fn(
2664            in_data: *mut PF_InData,
2665            world: *mut PF_EffectWorld,
2666            time_valueUL: A_long,
2667            time_scaleL: A_u_long,
2668            comp_timeB: PF_Boolean,
2669            durationB: PF_Boolean,
2670            time_buf: *mut A_char,
2671        ) -> PF_Err,
2672    >,
2673    pub PF_GetTimeDisplayPref: ::std::option::Option<
2674        unsafe extern "C" fn(
2675            tdp: *mut PF_TimeDisplayPref,
2676            starting_frame_num: *mut A_long,
2677        ) -> PF_Err,
2678    >,
2679}
2680#[repr(C)]
2681#[derive(Debug, Copy, Clone)]
2682pub struct PF_AdvItemSuite1 {
2683    pub PF_MoveTimeStep: ::std::option::Option<
2684        unsafe extern "C" fn(
2685            in_data: *mut PF_InData,
2686            world: *mut PF_EffectWorld,
2687            time_dir: PF_Step,
2688            num_stepsL: A_long,
2689        ) -> PF_Err,
2690    >,
2691    pub PF_MoveTimeStepActiveItem: ::std::option::Option<
2692        unsafe extern "C" fn(time_dir: PF_Step, num_stepsL: A_long) -> PF_Err,
2693    >,
2694    pub PF_TouchActiveItem: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2695    pub PF_ForceRerender: ::std::option::Option<
2696        unsafe extern "C" fn(in_data: *mut PF_InData, world: *mut PF_EffectWorld) -> PF_Err,
2697    >,
2698    pub PF_EffectIsActiveOrEnabled: ::std::option::Option<
2699        unsafe extern "C" fn(contextH: PF_ContextH, enabledPB: *mut PF_Boolean) -> PF_Err,
2700    >,
2701}
2702#[repr(C)]
2703#[derive(Debug, Copy, Clone)]
2704pub struct PF_CacheOnLoadSuite1 {
2705    pub PF_SetNoCacheOnLoad: ::std::option::Option<
2706        unsafe extern "C" fn(effect_ref: PF_ProgPtr, effectAvailable: A_long) -> PF_Err,
2707    >,
2708}
2709#[doc = " the suite functions"]
2710#[repr(C)]
2711#[derive(Debug, Copy, Clone)]
2712pub struct PF_ChannelSuite1 {
2713    pub PF_GetLayerChannelCount: ::std::option::Option<
2714        unsafe extern "C" fn(
2715            effect_ref: PF_ProgPtr,
2716            param_index: PF_ParamIndex,
2717            num_channelsPL: *mut A_long,
2718        ) -> PF_Err,
2719    >,
2720    pub PF_GetLayerChannelIndexedRefAndDesc: ::std::option::Option<
2721        unsafe extern "C" fn(
2722            effect_ref: PF_ProgPtr,
2723            param_index: PF_ParamIndex,
2724            channel_index: PF_ChannelIndex,
2725            foundPB: *mut PF_Boolean,
2726            channel_refP: *mut PF_ChannelRef,
2727            channel_descP: *mut PF_ChannelDesc,
2728        ) -> PF_Err,
2729    >,
2730    pub PF_GetLayerChannelTypedRefAndDesc: ::std::option::Option<
2731        unsafe extern "C" fn(
2732            effect_ref: PF_ProgPtr,
2733            param_index: PF_ParamIndex,
2734            channel_type: PF_ChannelType,
2735            foundPB: *mut PF_Boolean,
2736            channel_refP: *mut PF_ChannelRef,
2737            channel_descP: *mut PF_ChannelDesc,
2738        ) -> PF_Err,
2739    >,
2740    pub PF_CheckoutLayerChannel: ::std::option::Option<
2741        unsafe extern "C" fn(
2742            effect_ref: PF_ProgPtr,
2743            channel_refP: PF_ChannelRefPtr,
2744            what_time: A_long,
2745            duration: A_long,
2746            time_scale: A_u_long,
2747            data_type: PF_DataType,
2748            channel_chunkP: *mut PF_ChannelChunk,
2749        ) -> PF_Err,
2750    >,
2751    pub PF_CheckinLayerChannel: ::std::option::Option<
2752        unsafe extern "C" fn(
2753            effect_ref: PF_ProgPtr,
2754            channel_refP: PF_ChannelRefPtr,
2755            channel_chunkP: *mut PF_ChannelChunk,
2756        ) -> PF_Err,
2757    >,
2758}
2759pub type PF_KernelFlags = A_u_long;
2760pub const PF_SampleEdgeBehav_ZERO: _bindgen_ty_56 = 0;
2761#[doc = " ---------- PF_SampleEdgeBehav ----------\n\nThe sampling routines always deal with 32 bit images, and thus\nneed to compute properly alpha-weighted samples. An issue arises\nwhen an attempt is made to sample outside of the image content area.\n\nBefore PF_PLUG_IN_VERSION 2, After Effects always treated pixels\noutside of the image content area as having alpha = 0, which is desirable\nin many cases. Distortions and other effects may want different sampling\nbehaviors, however, hence the PF_SampleEdgeBehav.\n"]
2762pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
2763pub type PF_SampleEdgeBehav = A_u_long;
2764pub const PF_Xfer_NONE: _bindgen_ty_57 = -1;
2765pub const PF_Xfer_COPY: _bindgen_ty_57 = 0;
2766pub const PF_Xfer_BEHIND: _bindgen_ty_57 = 1;
2767pub const PF_Xfer_IN_FRONT: _bindgen_ty_57 = 2;
2768pub const PF_Xfer_DISSOLVE: _bindgen_ty_57 = 3;
2769pub const PF_Xfer_ADD: _bindgen_ty_57 = 4;
2770pub const PF_Xfer_MULTIPLY: _bindgen_ty_57 = 5;
2771pub const PF_Xfer_SCREEN: _bindgen_ty_57 = 6;
2772pub const PF_Xfer_OVERLAY: _bindgen_ty_57 = 7;
2773pub const PF_Xfer_SOFT_LIGHT: _bindgen_ty_57 = 8;
2774pub const PF_Xfer_HARD_LIGHT: _bindgen_ty_57 = 9;
2775pub const PF_Xfer_DARKEN: _bindgen_ty_57 = 10;
2776pub const PF_Xfer_LIGHTEN: _bindgen_ty_57 = 11;
2777pub const PF_Xfer_DIFFERENCE: _bindgen_ty_57 = 12;
2778pub const PF_Xfer_HUE: _bindgen_ty_57 = 13;
2779pub const PF_Xfer_SATURATION: _bindgen_ty_57 = 14;
2780pub const PF_Xfer_COLOR: _bindgen_ty_57 = 15;
2781pub const PF_Xfer_LUMINOSITY: _bindgen_ty_57 = 16;
2782pub const PF_Xfer_MULTIPLY_ALPHA: _bindgen_ty_57 = 17;
2783pub const PF_Xfer_MULTIPLY_ALPHA_LUMA: _bindgen_ty_57 = 18;
2784pub const PF_Xfer_MULTIPLY_NOT_ALPHA: _bindgen_ty_57 = 19;
2785pub const PF_Xfer_MULTIPLY_NOT_ALPHA_LUMA: _bindgen_ty_57 = 20;
2786pub const PF_Xfer_ADDITIVE_PREMUL: _bindgen_ty_57 = 21;
2787pub const PF_Xfer_ALPHA_ADD: _bindgen_ty_57 = 22;
2788pub const PF_Xfer_COLOR_DODGE: _bindgen_ty_57 = 23;
2789pub const PF_Xfer_COLOR_BURN: _bindgen_ty_57 = 24;
2790pub const PF_Xfer_EXCLUSION: _bindgen_ty_57 = 25;
2791pub const PF_Xfer_DIFFERENCE2: _bindgen_ty_57 = 26;
2792pub const PF_Xfer_COLOR_DODGE2: _bindgen_ty_57 = 27;
2793pub const PF_Xfer_COLOR_BURN2: _bindgen_ty_57 = 28;
2794pub const PF_Xfer_LINEAR_DODGE: _bindgen_ty_57 = 29;
2795pub const PF_Xfer_LINEAR_BURN: _bindgen_ty_57 = 30;
2796pub const PF_Xfer_LINEAR_LIGHT: _bindgen_ty_57 = 31;
2797pub const PF_Xfer_VIVID_LIGHT: _bindgen_ty_57 = 32;
2798pub const PF_Xfer_PIN_LIGHT: _bindgen_ty_57 = 33;
2799pub const PF_Xfer_HARD_MIX: _bindgen_ty_57 = 34;
2800pub const PF_Xfer_LIGHTER_COLOR: _bindgen_ty_57 = 35;
2801pub const PF_Xfer_DARKER_COLOR: _bindgen_ty_57 = 36;
2802pub const PF_Xfer_SUBTRACT: _bindgen_ty_57 = 37;
2803pub const PF_Xfer_DIVIDE: _bindgen_ty_57 = 38;
2804pub const PF_Xfer_RESERVED0: _bindgen_ty_57 = 39;
2805pub const PF_Xfer_RESERVED1: _bindgen_ty_57 = 40;
2806pub const PF_Xfer_NUM_MODES: _bindgen_ty_57 = 41;
2807pub type _bindgen_ty_57 = ::std::os::raw::c_int;
2808pub const PF_Xfer_TINT: _bindgen_ty_58 = 29;
2809pub const PF_Xfer_SHADE: _bindgen_ty_58 = 30;
2810pub const PF_Xfer_INTENSE_LIGHT: _bindgen_ty_58 = 32;
2811pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
2812pub const PF_MaskFlag_NONE: _bindgen_ty_59 = 0;
2813pub const PF_MaskFlag_INVERTED: _bindgen_ty_59 = 1;
2814pub const PF_MaskFlag_LUMINANCE: _bindgen_ty_59 = 2;
2815pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
2816pub type PF_MaskFlags = A_long;
2817#[repr(C)]
2818#[derive(Copy, Clone)]
2819pub struct PF_MaskWorld {
2820    pub mask: PF_EffectWorld,
2821    pub offset: PF_Point,
2822    pub what_is_mask: PF_MaskFlags,
2823}
2824#[doc = " ---------- PF_SampPB ----------\n\nThere are calls to sample an a non-integral point in an image,\nand to sample an area of an image.  This parameter block describes\nsome information needed for these image resampling routines."]
2825#[repr(C)]
2826#[derive(Debug, Copy, Clone)]
2827pub struct PF_SampPB {
2828    pub x_radius: PF_Fixed,
2829    pub y_radius: PF_Fixed,
2830    pub area: PF_Fixed,
2831    pub src: *mut PF_EffectWorld,
2832    pub samp_behave: PF_SampleEdgeBehav,
2833    pub allow_asynch: A_long,
2834    pub motion_blur: A_long,
2835    pub comp_mode: PF_CompositeMode,
2836    pub mask0: PF_PixelPtr,
2837    pub fcm_table: *mut A_u_char,
2838    pub fcd_table: *mut A_u_char,
2839    pub reserved: [A_long; 8usize],
2840}
2841pub const PF_Callback_NONE: _bindgen_ty_60 = 0;
2842pub const PF_Callback_BEGIN_SAMPLING: _bindgen_ty_60 = 1;
2843pub const PF_Callback_SUBPIXEL_SAMPLE: _bindgen_ty_60 = 2;
2844pub const PF_Callback_AREA_SAMPLE: _bindgen_ty_60 = 3;
2845pub const PF_Callback_OBSOLETE0: _bindgen_ty_60 = 4;
2846pub const PF_Callback_END_SAMPLING: _bindgen_ty_60 = 5;
2847pub const PF_Callback_COMPOSITE_RECT: _bindgen_ty_60 = 6;
2848pub const PF_Callback_BLEND: _bindgen_ty_60 = 7;
2849pub const PF_Callback_CONVOLVE: _bindgen_ty_60 = 8;
2850pub const PF_Callback_COPY: _bindgen_ty_60 = 9;
2851pub const PF_Callback_FILL: _bindgen_ty_60 = 10;
2852pub const PF_Callback_GAUSSIAN: _bindgen_ty_60 = 11;
2853pub const PF_Callback_ITERATE: _bindgen_ty_60 = 12;
2854pub const PF_Callback_PREMUL: _bindgen_ty_60 = 13;
2855pub const PF_Callback_PREMUL_COLOR: _bindgen_ty_60 = 14;
2856pub const PF_Callback_RGB_TO_HLS: _bindgen_ty_60 = 15;
2857pub const PF_Callback_HLS_TO_RGB: _bindgen_ty_60 = 16;
2858pub const PF_Callback_RGB_TO_YIQ: _bindgen_ty_60 = 17;
2859pub const PF_Callback_YIQ_TO_RGB: _bindgen_ty_60 = 18;
2860pub const PF_Callback_LUMINANCE: _bindgen_ty_60 = 19;
2861pub const PF_Callback_HUE: _bindgen_ty_60 = 20;
2862pub const PF_Callback_LIGHTNESS: _bindgen_ty_60 = 21;
2863pub const PF_Callback_SATURATION: _bindgen_ty_60 = 22;
2864pub const PF_Callback_NEW_WORLD: _bindgen_ty_60 = 23;
2865pub const PF_Callback_DISPOSE_WORLD: _bindgen_ty_60 = 24;
2866pub const PF_Callback_ITERATE_ORIGIN: _bindgen_ty_60 = 25;
2867pub const PF_Callback_ITERATE_LUT: _bindgen_ty_60 = 26;
2868pub const PF_Callback_TRANSFER_RECT: _bindgen_ty_60 = 27;
2869pub const PF_Callback_TRANSFORM_WORLD: _bindgen_ty_60 = 28;
2870pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC: _bindgen_ty_60 = 29;
2871pub const PF_Callback_ITERATE_GENERIC: _bindgen_ty_60 = 30;
2872pub const PF_Callback_SUBPIXEL_SAMPLE16: _bindgen_ty_60 = 31;
2873pub const PF_Callback_AREA_SAMPLE16: _bindgen_ty_60 = 32;
2874pub const PF_Callback_FILL16: _bindgen_ty_60 = 33;
2875pub const PF_Callback_PREMUL_COLOR16: _bindgen_ty_60 = 34;
2876pub const PF_Callback_ITERATE16: _bindgen_ty_60 = 35;
2877pub const PF_Callback_ITERATE_ORIGIN16: _bindgen_ty_60 = 36;
2878pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16: _bindgen_ty_60 = 37;
2879pub const PF_Callback_ITERATE_GENERIC_NO_MAX_THREADS: _bindgen_ty_60 = 38;
2880pub const PF_Callback_ITERATE_NO_MAX_THREADS: _bindgen_ty_60 = 39;
2881pub const PF_Callback_ITERATE_ORIGIN_NO_MAX_THREADS: _bindgen_ty_60 = 40;
2882pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC_NO_MAX_THREADS: _bindgen_ty_60 = 41;
2883pub const PF_Callback_ITERATE16_NO_MAX_THREADS: _bindgen_ty_60 = 42;
2884pub const PF_Callback_ITERATE_ORIGIN16_NO_MAX_THREADS: _bindgen_ty_60 = 43;
2885pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16_NO_MAX_THREADS: _bindgen_ty_60 = 44;
2886#[doc = " ---------- Callback Selectors ----------\n\nSome callbacks have different high and low quality versions.\nThe parameter block of function pointers will automatically\nbe filled with the appropriate versions for the current quality\nsetting, but some filters may wish to override this and access\na callback of different quality.  To do this, a get_callback_addr\ncallback is provided which will take a callback selector and a\ndesired quality and return the callback of that quality.  The\nselectors for the various callbacks are listed here.  Also, a\ntypedef for the function pointer that will be returned is given."]
2887pub type _bindgen_ty_60 = ::std::os::raw::c_uint;
2888pub type PF_CallbackID = A_long;
2889#[repr(C)]
2890#[derive(Debug, Copy, Clone)]
2891pub struct PF_YouMustCastThisToActualFunctionType {
2892    _unused: [u8; 0],
2893}
2894#[doc = "Previous versions of PF_CallbackFunc were defined using varargs in attempt to enforce\nthe effect_ref passed as the first argument to all callbacks. The actual host\nimplementations are generally *not* varargs, and on some platforms the calling\nconventions between normal C ABI and C varargs ABI are not compatible. If your\ncode is trying to call through a PF_CallbackFunc it is unsafe; with this definition\nit will now no longer compile. To fix, cast to the proper API signature before\ncalling. Or better, use the extensive Suite implementations which are explicitly typed"]
2895pub type PF_CallbackFunc = *mut PF_YouMustCastThisToActualFunctionType;
2896pub const PF_PlatData_MAIN_WND: _bindgen_ty_61 = 0;
2897pub const PF_PlatData_EXE_FILE_PATH_DEPRECATED: _bindgen_ty_61 = 1;
2898pub const PF_PlatData_RES_FILE_PATH_DEPRECATED: _bindgen_ty_61 = 2;
2899pub const PF_PlatData_RES_REFNUM: _bindgen_ty_61 = 3;
2900pub const PF_PlatData_RES_DLLINSTANCE: _bindgen_ty_61 = 4;
2901pub const PF_PlatData_SP_PLUG_REF: _bindgen_ty_61 = 5;
2902pub const PF_PlatData_BUNDLE_REF: _bindgen_ty_61 = 6;
2903pub const PF_PlatData_EXE_FILE_PATH_W: _bindgen_ty_61 = 7;
2904pub const PF_PlatData_RES_FILE_PATH_W: _bindgen_ty_61 = 8;
2905pub type _bindgen_ty_61 = ::std::os::raw::c_uint;
2906pub type PF_PlatDataID = A_long;
2907pub const PF_Plane_ALPHA: _bindgen_ty_62 = 1;
2908pub const PF_Plane_RED: _bindgen_ty_62 = 2;
2909pub const PF_Plane_GREEN: _bindgen_ty_62 = 4;
2910pub const PF_Plane_BLUE: _bindgen_ty_62 = 8;
2911#[doc = " ---------- Image Plane Selectors ----------\n\nThese constants can be used to specify a subset\nof the planes of the 32-bit image."]
2912pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
2913pub type PF_Plane = A_u_long;
2914#[doc = " ---------- ANSI Routines Block ----------\n\nWithin the callback routines block there is a block of ANSI\nroutines, so that the filter will not need to link with the\nANSI library.  The following structure describes that block\nand is included in the larger Callback Routines block below.\n\nAll angles are expressed in radians; use PF_RAD_PER_DEGREE\nto convert from degrees to radians, if necessary.  Be aware\nthat angle parameter types use degrees (in fixed point).\n\nSprintf and strcpy are provided to facilitate string usage,\nsuch as printing for names and supervised controls.\n\nNone of these callbacks vary based on the Quality setting."]
2915#[repr(C)]
2916#[derive(Debug, Copy, Clone)]
2917pub struct PF_ANSICallbacks {
2918    pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2919    pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
2920    pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2921    pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2922    pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2923    pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2924    pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2925    pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2926    pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2927    pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2928    pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2929    pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2930    pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2931    pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2932    pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2933    pub sprintf: ::std::option::Option<
2934        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
2935    >,
2936    pub strcpy: ::std::option::Option<
2937        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
2938    >,
2939    pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2940    pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2941    pub ansi_procs: [A_long; 1usize],
2942}
2943#[doc = " ---------- Colorspace Conversion Callbacks\n"]
2944#[repr(C)]
2945#[derive(Debug, Copy, Clone)]
2946pub struct PF_ColorCallbacks {
2947    pub RGBtoHLS: ::std::option::Option<
2948        unsafe extern "C" fn(
2949            effect_ref: PF_ProgPtr,
2950            rgb: *mut PF_Pixel,
2951            hls: *mut PF_Fixed,
2952        ) -> PF_Err,
2953    >,
2954    pub HLStoRGB: ::std::option::Option<
2955        unsafe extern "C" fn(
2956            effect_ref: PF_ProgPtr,
2957            hls: *mut PF_Fixed,
2958            rgb: *mut PF_Pixel,
2959        ) -> PF_Err,
2960    >,
2961    pub RGBtoYIQ: ::std::option::Option<
2962        unsafe extern "C" fn(
2963            effect_ref: PF_ProgPtr,
2964            rgb: *mut PF_Pixel,
2965            yiq: *mut PF_Fixed,
2966        ) -> PF_Err,
2967    >,
2968    pub YIQtoRGB: ::std::option::Option<
2969        unsafe extern "C" fn(
2970            effect_ref: PF_ProgPtr,
2971            yiq: *mut PF_Fixed,
2972            rgb: *mut PF_Pixel,
2973        ) -> PF_Err,
2974    >,
2975    pub Luminance: ::std::option::Option<
2976        unsafe extern "C" fn(
2977            effect_ref: PF_ProgPtr,
2978            rgb: *mut PF_Pixel,
2979            lum100: *mut A_long,
2980        ) -> PF_Err,
2981    >,
2982    pub Hue: ::std::option::Option<
2983        unsafe extern "C" fn(
2984            effect_ref: PF_ProgPtr,
2985            rgb: *mut PF_Pixel,
2986            hue: *mut A_long,
2987        ) -> PF_Err,
2988    >,
2989    pub Lightness: ::std::option::Option<
2990        unsafe extern "C" fn(
2991            effect_ref: PF_ProgPtr,
2992            rgb: *mut PF_Pixel,
2993            lightness: *mut A_long,
2994        ) -> PF_Err,
2995    >,
2996    pub Saturation: ::std::option::Option<
2997        unsafe extern "C" fn(
2998            effect_ref: PF_ProgPtr,
2999            rgb: *mut PF_Pixel,
3000            saturation: *mut A_long,
3001        ) -> PF_Err,
3002    >,
3003}
3004pub type PF_BatchSampleFunc = *mut ::std::os::raw::c_void;
3005pub type PF_BatchSample16Func = *mut ::std::os::raw::c_void;
3006pub const PF_NewWorldFlag_NONE: _bindgen_ty_63 = 0;
3007pub const PF_NewWorldFlag_CLEAR_PIXELS: _bindgen_ty_63 = 1;
3008pub const PF_NewWorldFlag_DEEP_PIXELS: _bindgen_ty_63 = 2;
3009pub const PF_NewWorldFlag_RESERVED0: _bindgen_ty_63 = 4;
3010pub const PF_NewWorldFlag_RESERVED1: _bindgen_ty_63 = 8;
3011pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
3012pub type PF_NewWorldFlags = A_long;
3013#[doc = "prototypes for PF_ITERATE8 and PF_ITERATE16 pixel functions\n\nthe user of PF_ITERATE provides a refcon; After Effects may distribute iteration\nacross multiple threads, so any data pointed to by refconL should be read-only or\nproperly synchronized\n\ninP is writable only if the world you pass to PF_ITERATE() is PF_WorldFlag_WRITEABLE\n\n"]
3014pub type PF_IteratePixel8Func = ::std::option::Option<
3015    unsafe extern "C" fn(
3016        refconP: *mut ::std::os::raw::c_void,
3017        xL: A_long,
3018        yL: A_long,
3019        inP: *mut PF_Pixel,
3020        outP: *mut PF_Pixel,
3021    ) -> PF_Err,
3022>;
3023pub type PF_IteratePixel16Func = ::std::option::Option<
3024    unsafe extern "C" fn(
3025        refconP: *mut ::std::os::raw::c_void,
3026        xL: A_long,
3027        yL: A_long,
3028        inP: *mut PF_Pixel16,
3029        outP: *mut PF_Pixel16,
3030    ) -> PF_Err,
3031>;
3032pub type PF_IteratePixelFloatFunc = ::std::option::Option<
3033    unsafe extern "C" fn(
3034        refconP: *mut ::std::os::raw::c_void,
3035        xL: A_long,
3036        yL: A_long,
3037        inP: *mut PF_PixelFloat,
3038        outP: *mut PF_PixelFloat,
3039    ) -> PF_Err,
3040>;
3041#[repr(C)]
3042#[derive(Debug, Copy, Clone)]
3043pub struct _PF_UtilCallbacks {
3044    pub begin_sampling: ::std::option::Option<
3045        unsafe extern "C" fn(
3046            effect_ref: PF_ProgPtr,
3047            qual: PF_Quality,
3048            mf: PF_ModeFlags,
3049            params: *mut PF_SampPB,
3050        ) -> PF_Err,
3051    >,
3052    pub subpixel_sample: ::std::option::Option<
3053        unsafe extern "C" fn(
3054            effect_ref: PF_ProgPtr,
3055            x: PF_Fixed,
3056            y: PF_Fixed,
3057            params: *const PF_SampPB,
3058            dst_pixel: *mut PF_Pixel,
3059        ) -> PF_Err,
3060    >,
3061    pub area_sample: ::std::option::Option<
3062        unsafe extern "C" fn(
3063            effect_ref: PF_ProgPtr,
3064            x: PF_Fixed,
3065            y: PF_Fixed,
3066            params: *const PF_SampPB,
3067            dst_pixel: *mut PF_Pixel,
3068        ) -> PF_Err,
3069    >,
3070    pub get_batch_func_is_deprecated: *mut ::std::os::raw::c_void,
3071    pub end_sampling: ::std::option::Option<
3072        unsafe extern "C" fn(
3073            effect_ref: PF_ProgPtr,
3074            qual: PF_Quality,
3075            mf: PF_ModeFlags,
3076            params: *mut PF_SampPB,
3077        ) -> PF_Err,
3078    >,
3079    pub composite_rect: ::std::option::Option<
3080        unsafe extern "C" fn(
3081            effect_ref: PF_ProgPtr,
3082            src_rect: *mut PF_Rect,
3083            src_opacity: A_long,
3084            source_wld: *mut PF_EffectWorld,
3085            dest_x: A_long,
3086            dest_y: A_long,
3087            field_rdr: PF_Field,
3088            xfer_mode: PF_XferMode,
3089            dest_wld: *mut PF_EffectWorld,
3090        ) -> PF_Err,
3091    >,
3092    pub blend: ::std::option::Option<
3093        unsafe extern "C" fn(
3094            effect_ref: PF_ProgPtr,
3095            src1: *const PF_EffectWorld,
3096            src2: *const PF_EffectWorld,
3097            ratio: PF_Fixed,
3098            dst: *mut PF_EffectWorld,
3099        ) -> PF_Err,
3100    >,
3101    pub convolve: ::std::option::Option<
3102        unsafe extern "C" fn(
3103            effect_ref: PF_ProgPtr,
3104            src: *mut PF_EffectWorld,
3105            area: *const PF_Rect,
3106            flags: PF_KernelFlags,
3107            kernel_size: A_long,
3108            a_kernel: *mut ::std::os::raw::c_void,
3109            r_kernel: *mut ::std::os::raw::c_void,
3110            g_kernel: *mut ::std::os::raw::c_void,
3111            b_kernel: *mut ::std::os::raw::c_void,
3112            dst: *mut PF_EffectWorld,
3113        ) -> PF_Err,
3114    >,
3115    pub copy: ::std::option::Option<
3116        unsafe extern "C" fn(
3117            effect_ref: PF_ProgPtr,
3118            src: *mut PF_EffectWorld,
3119            dst: *mut PF_EffectWorld,
3120            src_r: *mut PF_Rect,
3121            dst_r: *mut PF_Rect,
3122        ) -> PF_Err,
3123    >,
3124    pub fill: ::std::option::Option<
3125        unsafe extern "C" fn(
3126            effect_ref: PF_ProgPtr,
3127            color: *const PF_Pixel,
3128            dst_rect: *const PF_Rect,
3129            world: *mut PF_EffectWorld,
3130        ) -> PF_Err,
3131    >,
3132    pub gaussian_kernel: ::std::option::Option<
3133        unsafe extern "C" fn(
3134            effect_ref: PF_ProgPtr,
3135            kRadius: A_FpLong,
3136            flags: PF_KernelFlags,
3137            multiplier: A_FpLong,
3138            diameter: *mut A_long,
3139            kernel: *mut ::std::os::raw::c_void,
3140        ) -> PF_Err,
3141    >,
3142    pub iterate: ::std::option::Option<
3143        unsafe extern "C" fn(
3144            in_data: *mut PF_InData,
3145            progress_base: A_long,
3146            progress_final: A_long,
3147            src: *mut PF_EffectWorld,
3148            area: *const PF_Rect,
3149            refcon: *mut ::std::os::raw::c_void,
3150            pix_fn: PF_IteratePixel8Func,
3151            dst: *mut PF_EffectWorld,
3152        ) -> PF_Err,
3153    >,
3154    pub premultiply: ::std::option::Option<
3155        unsafe extern "C" fn(
3156            effect_ref: PF_ProgPtr,
3157            forward: A_long,
3158            dst: *mut PF_EffectWorld,
3159        ) -> PF_Err,
3160    >,
3161    pub premultiply_color: ::std::option::Option<
3162        unsafe extern "C" fn(
3163            effect_ref: PF_ProgPtr,
3164            src: *mut PF_EffectWorld,
3165            color: *const PF_Pixel,
3166            forward: A_long,
3167            dst: *mut PF_EffectWorld,
3168        ) -> PF_Err,
3169    >,
3170    pub new_world: ::std::option::Option<
3171        unsafe extern "C" fn(
3172            effect_ref: PF_ProgPtr,
3173            width: A_long,
3174            height: A_long,
3175            flags: PF_NewWorldFlags,
3176            world: *mut PF_EffectWorld,
3177        ) -> PF_Err,
3178    >,
3179    pub dispose_world: ::std::option::Option<
3180        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
3181    >,
3182    pub iterate_origin: ::std::option::Option<
3183        unsafe extern "C" fn(
3184            in_data: *mut PF_InData,
3185            progress_base: A_long,
3186            progress_final: A_long,
3187            src: *mut PF_EffectWorld,
3188            area: *const PF_Rect,
3189            origin: *const PF_Point,
3190            refcon: *mut ::std::os::raw::c_void,
3191            pix_fn: PF_IteratePixel8Func,
3192            dst: *mut PF_EffectWorld,
3193        ) -> PF_Err,
3194    >,
3195    pub iterate_lut: ::std::option::Option<
3196        unsafe extern "C" fn(
3197            in_data: *mut PF_InData,
3198            progress_base: A_long,
3199            progress_final: A_long,
3200            src: *mut PF_EffectWorld,
3201            area: *const PF_Rect,
3202            a_lut0: *mut A_u_char,
3203            r_lut0: *mut A_u_char,
3204            g_lut0: *mut A_u_char,
3205            b_lut0: *mut A_u_char,
3206            dst: *mut PF_EffectWorld,
3207        ) -> PF_Err,
3208    >,
3209    pub transfer_rect: ::std::option::Option<
3210        unsafe extern "C" fn(
3211            effect_ref: PF_ProgPtr,
3212            quality: PF_Quality,
3213            m_flags: PF_ModeFlags,
3214            field: PF_Field,
3215            src_rec: *const PF_Rect,
3216            src_world: *const PF_EffectWorld,
3217            comp_mode: *const PF_CompositeMode,
3218            mask_world0: *const PF_MaskWorld,
3219            dest_x: A_long,
3220            dest_y: A_long,
3221            dst_world: *mut PF_EffectWorld,
3222        ) -> PF_Err,
3223    >,
3224    pub transform_world: ::std::option::Option<
3225        unsafe extern "C" fn(
3226            effect_ref: PF_ProgPtr,
3227            quality: PF_Quality,
3228            m_flags: PF_ModeFlags,
3229            field: PF_Field,
3230            src_world: *const PF_EffectWorld,
3231            comp_mode: *const PF_CompositeMode,
3232            mask_world0: *const PF_MaskWorld,
3233            matrices: *const PF_FloatMatrix,
3234            num_matrices: A_long,
3235            src2dst_matrix: PF_Boolean,
3236            dest_rect: *const PF_Rect,
3237            dst_world: *mut PF_EffectWorld,
3238        ) -> PF_Err,
3239    >,
3240    pub host_new_handle:
3241        ::std::option::Option<unsafe extern "C" fn(size: A_u_longlong) -> PF_Handle>,
3242    pub host_lock_handle: ::std::option::Option<
3243        unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
3244    >,
3245    pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3246    pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3247    pub get_callback_addr: ::std::option::Option<
3248        unsafe extern "C" fn(
3249            effect_ref: PF_ProgPtr,
3250            quality: PF_Quality,
3251            mode_flags: PF_ModeFlags,
3252            which_callback: PF_CallbackID,
3253            fn_ptr: *mut PF_CallbackFunc,
3254        ) -> PF_Err,
3255    >,
3256    pub app:
3257        ::std::option::Option<unsafe extern "C" fn(arg1: PF_ProgPtr, arg2: A_long, ...) -> PF_Err>,
3258    pub ansi: PF_ANSICallbacks,
3259    pub colorCB: PF_ColorCallbacks,
3260    pub get_platform_data: ::std::option::Option<
3261        unsafe extern "C" fn(
3262            effect_ref: PF_ProgPtr,
3263            which: PF_PlatDataID,
3264            data: *mut ::std::os::raw::c_void,
3265        ) -> PF_Err,
3266    >,
3267    pub host_get_handle_size:
3268        ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_u_longlong>,
3269    pub iterate_origin_non_clip_src: ::std::option::Option<
3270        unsafe extern "C" fn(
3271            in_data: *mut PF_InData,
3272            progress_base: A_long,
3273            progress_final: A_long,
3274            src: *mut PF_EffectWorld,
3275            area: *const PF_Rect,
3276            origin: *const PF_Point,
3277            refcon: *mut ::std::os::raw::c_void,
3278            pix_fn: PF_IteratePixel8Func,
3279            dst: *mut PF_EffectWorld,
3280        ) -> PF_Err,
3281    >,
3282    pub iterate_generic: ::std::option::Option<
3283        unsafe extern "C" fn(
3284            iterationsL: A_long,
3285            refconPV: *mut ::std::os::raw::c_void,
3286            fn_func: ::std::option::Option<
3287                unsafe extern "C" fn(
3288                    refconPV: *mut ::std::os::raw::c_void,
3289                    thread_indexL: A_long,
3290                    i: A_long,
3291                    iterationsL: A_long,
3292                ) -> PF_Err,
3293            >,
3294        ) -> PF_Err,
3295    >,
3296    pub host_resize_handle: ::std::option::Option<
3297        unsafe extern "C" fn(new_sizeL: A_u_longlong, handlePH: *mut PF_Handle) -> PF_Err,
3298    >,
3299    pub subpixel_sample16: ::std::option::Option<
3300        unsafe extern "C" fn(
3301            effect_ref: PF_ProgPtr,
3302            x: PF_Fixed,
3303            y: PF_Fixed,
3304            params: *const PF_SampPB,
3305            dst_pixel: *mut PF_Pixel16,
3306        ) -> PF_Err,
3307    >,
3308    pub area_sample16: ::std::option::Option<
3309        unsafe extern "C" fn(
3310            effect_ref: PF_ProgPtr,
3311            x: PF_Fixed,
3312            y: PF_Fixed,
3313            params: *const PF_SampPB,
3314            dst_pixel: *mut PF_Pixel16,
3315        ) -> PF_Err,
3316    >,
3317    pub fill16: ::std::option::Option<
3318        unsafe extern "C" fn(
3319            effect_ref: PF_ProgPtr,
3320            color: *const PF_Pixel16,
3321            dst_rect: *const PF_Rect,
3322            world: *mut PF_EffectWorld,
3323        ) -> PF_Err,
3324    >,
3325    pub premultiply_color16: ::std::option::Option<
3326        unsafe extern "C" fn(
3327            effect_ref: PF_ProgPtr,
3328            src: *mut PF_EffectWorld,
3329            color: *const PF_Pixel16,
3330            forward: A_long,
3331            dst: *mut PF_EffectWorld,
3332        ) -> PF_Err,
3333    >,
3334    pub iterate16: ::std::option::Option<
3335        unsafe extern "C" fn(
3336            in_data: *mut PF_InData,
3337            progress_base: A_long,
3338            progress_final: A_long,
3339            src: *mut PF_EffectWorld,
3340            area: *const PF_Rect,
3341            refcon: *mut ::std::os::raw::c_void,
3342            pix_fn: PF_IteratePixel16Func,
3343            dst: *mut PF_EffectWorld,
3344        ) -> PF_Err,
3345    >,
3346    pub iterate_origin16: ::std::option::Option<
3347        unsafe extern "C" fn(
3348            in_data: *mut PF_InData,
3349            progress_base: A_long,
3350            progress_final: A_long,
3351            src: *mut PF_EffectWorld,
3352            area: *const PF_Rect,
3353            origin: *const PF_Point,
3354            refcon: *mut ::std::os::raw::c_void,
3355            pix_fn: PF_IteratePixel16Func,
3356            dst: *mut PF_EffectWorld,
3357        ) -> PF_Err,
3358    >,
3359    pub iterate_origin_non_clip_src16: ::std::option::Option<
3360        unsafe extern "C" fn(
3361            in_data: *mut PF_InData,
3362            progress_base: A_long,
3363            progress_final: A_long,
3364            src: *mut PF_EffectWorld,
3365            area: *const PF_Rect,
3366            origin: *const PF_Point,
3367            refcon: *mut ::std::os::raw::c_void,
3368            pix_fn: PF_IteratePixel16Func,
3369            dst: *mut PF_EffectWorld,
3370        ) -> PF_Err,
3371    >,
3372    pub get_pixel_data8: ::std::option::Option<
3373        unsafe extern "C" fn(
3374            worldP: *mut PF_EffectWorld,
3375            pixelsP0: PF_PixelPtr,
3376            pixPP: *mut *mut PF_Pixel8,
3377        ) -> PF_Err,
3378    >,
3379    pub get_pixel_data16: ::std::option::Option<
3380        unsafe extern "C" fn(
3381            worldP: *mut PF_EffectWorld,
3382            pixelsP0: PF_PixelPtr,
3383            pixPP: *mut *mut PF_Pixel16,
3384        ) -> PF_Err,
3385    >,
3386    pub reserved: [A_long; 1usize],
3387}
3388pub type PF_UtilCallbacks = _PF_UtilCallbacks;
3389pub const PF_PixelFormat_ARGB32: _bindgen_ty_64 = 1650946657;
3390pub const PF_PixelFormat_ARGB64: _bindgen_ty_64 = 909206881;
3391pub const PF_PixelFormat_ARGB128: _bindgen_ty_64 = 842229089;
3392pub const PF_PixelFormat_GPU_BGRA128: _bindgen_ty_64 = 1094992704;
3393pub const PF_PixelFormat_RESERVED: _bindgen_ty_64 = 1631863616;
3394pub const PF_PixelFormat_BGRA32: _bindgen_ty_64 = 1634887522;
3395pub const PF_PixelFormat_VUYA32: _bindgen_ty_64 = 1635349878;
3396pub const PF_PixelFormat_NTSCDV25: _bindgen_ty_64 = 846100068;
3397pub const PF_PixelFormat_PALDV25: _bindgen_ty_64 = 846231140;
3398pub const PF_PixelFormat_INVALID: _bindgen_ty_64 = 1717854562;
3399pub const PF_PixelFormat_FORCE_LONG_INT: _bindgen_ty_64 = 4294967295;
3400pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
3401pub type PF_PixelFormat = A_long;
3402#[repr(C)]
3403#[derive(Debug, Copy, Clone)]
3404pub struct PF_HandleSuite1 {
3405    pub host_new_handle:
3406        ::std::option::Option<unsafe extern "C" fn(size: A_HandleSize) -> PF_Handle>,
3407    pub host_lock_handle: ::std::option::Option<
3408        unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
3409    >,
3410    pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3411    pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3412    pub host_get_handle_size:
3413        ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_HandleSize>,
3414    pub host_resize_handle: ::std::option::Option<
3415        unsafe extern "C" fn(new_sizeL: A_HandleSize, handlePH: *mut PF_Handle) -> PF_Err,
3416    >,
3417}
3418#[repr(C)]
3419#[derive(Debug, Copy, Clone)]
3420pub struct PF_ANSICallbacksSuite1 {
3421    pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3422    pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
3423    pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3424    pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3425    pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3426    pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3427    pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3428    pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3429    pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3430    pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3431    pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3432    pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3433    pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3434    pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3435    pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3436    pub sprintf: ::std::option::Option<
3437        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
3438    >,
3439    pub strcpy: ::std::option::Option<
3440        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
3441    >,
3442    pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3443    pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3444}
3445#[repr(C)]
3446#[derive(Debug, Copy, Clone)]
3447pub struct PF_PixelDataSuite1 {
3448    pub get_pixel_data8: ::std::option::Option<
3449        unsafe extern "C" fn(
3450            worldP: *mut PF_EffectWorld,
3451            pixelsP0: PF_PixelPtr,
3452            pixPP: *mut *mut PF_Pixel8,
3453        ) -> PF_Err,
3454    >,
3455    pub get_pixel_data16: ::std::option::Option<
3456        unsafe extern "C" fn(
3457            worldP: *mut PF_EffectWorld,
3458            pixelsP0: PF_PixelPtr,
3459            pixPP: *mut *mut PF_Pixel16,
3460        ) -> PF_Err,
3461    >,
3462    pub get_pixel_data_float: ::std::option::Option<
3463        unsafe extern "C" fn(
3464            worldP: *mut PF_EffectWorld,
3465            pixelsP0: PF_PixelPtr,
3466            pixPP: *mut *mut PF_PixelFloat,
3467        ) -> PF_Err,
3468    >,
3469}
3470#[repr(C)]
3471#[derive(Debug, Copy, Clone)]
3472pub struct PF_PixelDataSuite2 {
3473    pub get_pixel_data8: ::std::option::Option<
3474        unsafe extern "C" fn(
3475            worldP: *mut PF_EffectWorld,
3476            pixelsP0: PF_PixelPtr,
3477            pixPP: *mut *mut PF_Pixel8,
3478        ) -> PF_Err,
3479    >,
3480    pub get_pixel_data16: ::std::option::Option<
3481        unsafe extern "C" fn(
3482            worldP: *mut PF_EffectWorld,
3483            pixelsP0: PF_PixelPtr,
3484            pixPP: *mut *mut PF_Pixel16,
3485        ) -> PF_Err,
3486    >,
3487    pub get_pixel_data_float: ::std::option::Option<
3488        unsafe extern "C" fn(
3489            worldP: *mut PF_EffectWorld,
3490            pixelsP0: PF_PixelPtr,
3491            pixPP: *mut *mut PF_PixelFloat,
3492        ) -> PF_Err,
3493    >,
3494    pub get_pixel_data_float_gpu: ::std::option::Option<
3495        unsafe extern "C" fn(
3496            worldP: *mut PF_EffectWorld,
3497            pixPP: *mut *mut ::std::os::raw::c_void,
3498        ) -> PF_Err,
3499    >,
3500}
3501#[repr(C)]
3502#[derive(Debug, Copy, Clone)]
3503pub struct PF_ColorCallbacksSuite1 {
3504    pub RGBtoHLS: ::std::option::Option<
3505        unsafe extern "C" fn(
3506            effect_ref: PF_ProgPtr,
3507            rgb: *mut PF_Pixel,
3508            hls: *mut PF_Fixed,
3509        ) -> PF_Err,
3510    >,
3511    pub HLStoRGB: ::std::option::Option<
3512        unsafe extern "C" fn(
3513            effect_ref: PF_ProgPtr,
3514            hls: *mut PF_Fixed,
3515            rgb: *mut PF_Pixel,
3516        ) -> PF_Err,
3517    >,
3518    pub RGBtoYIQ: ::std::option::Option<
3519        unsafe extern "C" fn(
3520            effect_ref: PF_ProgPtr,
3521            rgb: *mut PF_Pixel,
3522            yiq: *mut PF_Fixed,
3523        ) -> PF_Err,
3524    >,
3525    pub YIQtoRGB: ::std::option::Option<
3526        unsafe extern "C" fn(
3527            effect_ref: PF_ProgPtr,
3528            yiq: *mut PF_Fixed,
3529            rgb: *mut PF_Pixel,
3530        ) -> PF_Err,
3531    >,
3532    pub Luminance: ::std::option::Option<
3533        unsafe extern "C" fn(
3534            effect_ref: PF_ProgPtr,
3535            rgb: *mut PF_Pixel,
3536            lum100: *mut A_long,
3537        ) -> PF_Err,
3538    >,
3539    pub Hue: ::std::option::Option<
3540        unsafe extern "C" fn(
3541            effect_ref: PF_ProgPtr,
3542            rgb: *mut PF_Pixel,
3543            hue: *mut A_long,
3544        ) -> PF_Err,
3545    >,
3546    pub Lightness: ::std::option::Option<
3547        unsafe extern "C" fn(
3548            effect_ref: PF_ProgPtr,
3549            rgb: *mut PF_Pixel,
3550            lightness: *mut A_long,
3551        ) -> PF_Err,
3552    >,
3553    pub Saturation: ::std::option::Option<
3554        unsafe extern "C" fn(
3555            effect_ref: PF_ProgPtr,
3556            rgb: *mut PF_Pixel,
3557            saturation: *mut A_long,
3558        ) -> PF_Err,
3559    >,
3560}
3561#[repr(C)]
3562#[derive(Debug, Copy, Clone)]
3563pub struct PF_ColorCallbacks16Suite1 {
3564    pub RGBtoHLS: ::std::option::Option<
3565        unsafe extern "C" fn(
3566            effect_ref: PF_ProgPtr,
3567            rgb: *mut PF_Pixel16,
3568            hls: *mut PF_Fixed,
3569        ) -> PF_Err,
3570    >,
3571    pub HLStoRGB: ::std::option::Option<
3572        unsafe extern "C" fn(
3573            effect_ref: PF_ProgPtr,
3574            hls: *mut PF_Fixed,
3575            rgb: *mut PF_Pixel16,
3576        ) -> PF_Err,
3577    >,
3578    pub RGBtoYIQ: ::std::option::Option<
3579        unsafe extern "C" fn(
3580            effect_ref: PF_ProgPtr,
3581            rgb: *mut PF_Pixel16,
3582            yiq: *mut PF_Fixed,
3583        ) -> PF_Err,
3584    >,
3585    pub YIQtoRGB: ::std::option::Option<
3586        unsafe extern "C" fn(
3587            effect_ref: PF_ProgPtr,
3588            yiq: *mut PF_Fixed,
3589            rgb: *mut PF_Pixel16,
3590        ) -> PF_Err,
3591    >,
3592    pub Luminance: ::std::option::Option<
3593        unsafe extern "C" fn(
3594            effect_ref: PF_ProgPtr,
3595            rgb: *mut PF_Pixel16,
3596            lum100: *mut A_long,
3597        ) -> PF_Err,
3598    >,
3599    pub Hue: ::std::option::Option<
3600        unsafe extern "C" fn(
3601            effect_ref: PF_ProgPtr,
3602            rgb: *mut PF_Pixel16,
3603            hue: *mut A_long,
3604        ) -> PF_Err,
3605    >,
3606    pub Lightness: ::std::option::Option<
3607        unsafe extern "C" fn(
3608            effect_ref: PF_ProgPtr,
3609            rgb: *mut PF_Pixel16,
3610            lightness: *mut A_long,
3611        ) -> PF_Err,
3612    >,
3613    pub Saturation: ::std::option::Option<
3614        unsafe extern "C" fn(
3615            effect_ref: PF_ProgPtr,
3616            rgb: *mut PF_Pixel16,
3617            saturation: *mut A_long,
3618        ) -> PF_Err,
3619    >,
3620}
3621#[repr(C)]
3622#[derive(Debug, Copy, Clone)]
3623pub struct PF_ColorCallbacksFloatSuite1 {
3624    pub RGBtoHLS: ::std::option::Option<
3625        unsafe extern "C" fn(
3626            effect_ref: PF_ProgPtr,
3627            rgb: *mut PF_PixelFloat,
3628            hls: *mut PF_Fixed,
3629        ) -> PF_Err,
3630    >,
3631    pub HLStoRGB: ::std::option::Option<
3632        unsafe extern "C" fn(
3633            effect_ref: PF_ProgPtr,
3634            hls: *mut PF_Fixed,
3635            rgb: *mut PF_PixelFloat,
3636        ) -> PF_Err,
3637    >,
3638    pub RGBtoYIQ: ::std::option::Option<
3639        unsafe extern "C" fn(
3640            effect_ref: PF_ProgPtr,
3641            rgb: *mut PF_PixelFloat,
3642            yiq: *mut PF_Fixed,
3643        ) -> PF_Err,
3644    >,
3645    pub YIQtoRGB: ::std::option::Option<
3646        unsafe extern "C" fn(
3647            effect_ref: PF_ProgPtr,
3648            yiq: *mut PF_Fixed,
3649            rgb: *mut PF_PixelFloat,
3650        ) -> PF_Err,
3651    >,
3652    pub Luminance: ::std::option::Option<
3653        unsafe extern "C" fn(
3654            effect_ref: PF_ProgPtr,
3655            rgb: *mut PF_PixelFloat,
3656            lumP: *mut f32,
3657        ) -> PF_Err,
3658    >,
3659    pub Hue: ::std::option::Option<
3660        unsafe extern "C" fn(
3661            effect_ref: PF_ProgPtr,
3662            rgb: *mut PF_PixelFloat,
3663            hue: *mut f32,
3664        ) -> PF_Err,
3665    >,
3666    pub Lightness: ::std::option::Option<
3667        unsafe extern "C" fn(
3668            effect_ref: PF_ProgPtr,
3669            rgb: *mut PF_PixelFloat,
3670            lightness: *mut f32,
3671        ) -> PF_Err,
3672    >,
3673    pub Saturation: ::std::option::Option<
3674        unsafe extern "C" fn(
3675            effect_ref: PF_ProgPtr,
3676            rgb: *mut PF_PixelFloat,
3677            saturation: *mut f32,
3678        ) -> PF_Err,
3679    >,
3680}
3681#[repr(C)]
3682#[derive(Debug, Copy, Clone)]
3683pub struct PF_BatchSamplingSuite1 {
3684    pub begin_sampling: ::std::option::Option<
3685        unsafe extern "C" fn(
3686            effect_ref: PF_ProgPtr,
3687            qual: PF_Quality,
3688            mf: PF_ModeFlags,
3689            params: *mut PF_SampPB,
3690        ) -> PF_Err,
3691    >,
3692    pub end_sampling: ::std::option::Option<
3693        unsafe extern "C" fn(
3694            effect_ref: PF_ProgPtr,
3695            qual: PF_Quality,
3696            mf: PF_ModeFlags,
3697            params: *mut PF_SampPB,
3698        ) -> PF_Err,
3699    >,
3700    pub get_batch_func: ::std::option::Option<
3701        unsafe extern "C" fn(
3702            effect_ref: PF_ProgPtr,
3703            quality: PF_Quality,
3704            mode_flags: PF_ModeFlags,
3705            params: *const PF_SampPB,
3706            batch: *mut PF_BatchSampleFunc,
3707        ) -> PF_Err,
3708    >,
3709    pub get_batch_func16: ::std::option::Option<
3710        unsafe extern "C" fn(
3711            effect_ref: PF_ProgPtr,
3712            quality: PF_Quality,
3713            mode_flags: PF_ModeFlags,
3714            params: *const PF_SampPB,
3715            batch: *mut PF_BatchSample16Func,
3716        ) -> PF_Err,
3717    >,
3718}
3719#[repr(C)]
3720#[derive(Debug, Copy, Clone)]
3721pub struct PF_Sampling8Suite1 {
3722    pub nn_sample: ::std::option::Option<
3723        unsafe extern "C" fn(
3724            effect_ref: PF_ProgPtr,
3725            x: PF_Fixed,
3726            y: PF_Fixed,
3727            params: *const PF_SampPB,
3728            dst_pixel: *mut PF_Pixel,
3729        ) -> PF_Err,
3730    >,
3731    pub subpixel_sample: ::std::option::Option<
3732        unsafe extern "C" fn(
3733            effect_ref: PF_ProgPtr,
3734            x: PF_Fixed,
3735            y: PF_Fixed,
3736            params: *const PF_SampPB,
3737            dst_pixel: *mut PF_Pixel,
3738        ) -> PF_Err,
3739    >,
3740    pub area_sample: ::std::option::Option<
3741        unsafe extern "C" fn(
3742            effect_ref: PF_ProgPtr,
3743            x: PF_Fixed,
3744            y: PF_Fixed,
3745            params: *const PF_SampPB,
3746            dst_pixel: *mut PF_Pixel,
3747        ) -> PF_Err,
3748    >,
3749}
3750#[repr(C)]
3751#[derive(Debug, Copy, Clone)]
3752pub struct PF_Sampling16Suite1 {
3753    pub nn_sample16: ::std::option::Option<
3754        unsafe extern "C" fn(
3755            effect_ref: PF_ProgPtr,
3756            x: PF_Fixed,
3757            y: PF_Fixed,
3758            params: *const PF_SampPB,
3759            dst_pixel: *mut PF_Pixel16,
3760        ) -> PF_Err,
3761    >,
3762    pub subpixel_sample16: ::std::option::Option<
3763        unsafe extern "C" fn(
3764            effect_ref: PF_ProgPtr,
3765            x: PF_Fixed,
3766            y: PF_Fixed,
3767            params: *const PF_SampPB,
3768            dst_pixel: *mut PF_Pixel16,
3769        ) -> PF_Err,
3770    >,
3771    pub area_sample16: ::std::option::Option<
3772        unsafe extern "C" fn(
3773            effect_ref: PF_ProgPtr,
3774            x: PF_Fixed,
3775            y: PF_Fixed,
3776            params: *const PF_SampPB,
3777            dst_pixel: *mut PF_Pixel16,
3778        ) -> PF_Err,
3779    >,
3780}
3781#[repr(C)]
3782#[derive(Debug, Copy, Clone)]
3783pub struct PF_SamplingFloatSuite1 {
3784    pub nn_sample_float: ::std::option::Option<
3785        unsafe extern "C" fn(
3786            effect_ref: PF_ProgPtr,
3787            x: PF_Fixed,
3788            y: PF_Fixed,
3789            params: *const PF_SampPB,
3790            dst_pixel: *mut PF_PixelFloat,
3791        ) -> PF_Err,
3792    >,
3793    pub subpixel_sample_float: ::std::option::Option<
3794        unsafe extern "C" fn(
3795            effect_ref: PF_ProgPtr,
3796            x: PF_Fixed,
3797            y: PF_Fixed,
3798            params: *const PF_SampPB,
3799            dst_pixel: *mut PF_PixelFloat,
3800        ) -> PF_Err,
3801    >,
3802    pub area_sample_float: ::std::option::Option<
3803        unsafe extern "C" fn(
3804            effect_ref: PF_ProgPtr,
3805            x: PF_Fixed,
3806            y: PF_Fixed,
3807            params: *const PF_SampPB,
3808            dst_pixel: *mut PF_PixelFloat,
3809        ) -> PF_Err,
3810    >,
3811}
3812#[repr(C)]
3813#[derive(Debug, Copy, Clone)]
3814pub struct PF_WorldSuite2 {
3815    pub PF_NewWorld: ::std::option::Option<
3816        unsafe extern "C" fn(
3817            effect_ref: PF_ProgPtr,
3818            widthL: A_long,
3819            heightL: A_long,
3820            clear_pixB: PF_Boolean,
3821            pixel_format: PF_PixelFormat,
3822            worldP: *mut PF_EffectWorld,
3823        ) -> PF_Err,
3824    >,
3825    pub PF_DisposeWorld: ::std::option::Option<
3826        unsafe extern "C" fn(effect_ref: PF_ProgPtr, worldP: *mut PF_EffectWorld) -> PF_Err,
3827    >,
3828    pub PF_GetPixelFormat: ::std::option::Option<
3829        unsafe extern "C" fn(
3830            worldP: *const PF_EffectWorld,
3831            pixel_formatP: *mut PF_PixelFormat,
3832        ) -> PF_Err,
3833    >,
3834}
3835#[repr(C)]
3836#[derive(Debug, Copy, Clone)]
3837pub struct PF_PixelFormatSuite2 {
3838    pub PF_AddSupportedPixelFormat: ::std::option::Option<
3839        unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixel_format: PF_PixelFormat) -> PF_Err,
3840    >,
3841    pub PF_ClearSupportedPixelFormats:
3842        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
3843}
3844#[repr(C)]
3845#[derive(Debug, Copy, Clone)]
3846pub struct PF_WorldSuite1 {
3847    pub new_world: ::std::option::Option<
3848        unsafe extern "C" fn(
3849            effect_ref: PF_ProgPtr,
3850            width: A_long,
3851            height: A_long,
3852            flags: PF_NewWorldFlags,
3853            world: *mut PF_EffectWorld,
3854        ) -> PF_Err,
3855    >,
3856    pub dispose_world: ::std::option::Option<
3857        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
3858    >,
3859}
3860#[repr(C)]
3861#[derive(Debug, Copy, Clone)]
3862pub struct PF_Iterate8Suite1 {
3863    pub iterate: ::std::option::Option<
3864        unsafe extern "C" fn(
3865            in_data: *mut PF_InData,
3866            progress_base: A_long,
3867            progress_final: A_long,
3868            src: *mut PF_EffectWorld,
3869            area: *const PF_Rect,
3870            refcon: *mut ::std::os::raw::c_void,
3871            pix_fn: ::std::option::Option<
3872                unsafe extern "C" fn(
3873                    refcon: *mut ::std::os::raw::c_void,
3874                    x: A_long,
3875                    y: A_long,
3876                    in_: *mut PF_Pixel,
3877                    out: *mut PF_Pixel,
3878                ) -> PF_Err,
3879            >,
3880            dst: *mut PF_EffectWorld,
3881        ) -> PF_Err,
3882    >,
3883    pub iterate_origin: ::std::option::Option<
3884        unsafe extern "C" fn(
3885            in_data: *mut PF_InData,
3886            progress_base: A_long,
3887            progress_final: A_long,
3888            src: *mut PF_EffectWorld,
3889            area: *const PF_Rect,
3890            origin: *const PF_Point,
3891            refcon: *mut ::std::os::raw::c_void,
3892            pix_fn: ::std::option::Option<
3893                unsafe extern "C" fn(
3894                    refcon: *mut ::std::os::raw::c_void,
3895                    x: A_long,
3896                    y: A_long,
3897                    in_: *mut PF_Pixel,
3898                    out: *mut PF_Pixel,
3899                ) -> PF_Err,
3900            >,
3901            dst: *mut PF_EffectWorld,
3902        ) -> PF_Err,
3903    >,
3904    pub iterate_lut: ::std::option::Option<
3905        unsafe extern "C" fn(
3906            in_data: *mut PF_InData,
3907            progress_base: A_long,
3908            progress_final: A_long,
3909            src: *mut PF_EffectWorld,
3910            area: *const PF_Rect,
3911            a_lut0: *mut A_u_char,
3912            r_lut0: *mut A_u_char,
3913            g_lut0: *mut A_u_char,
3914            b_lut0: *mut A_u_char,
3915            dst: *mut PF_EffectWorld,
3916        ) -> PF_Err,
3917    >,
3918    pub iterate_origin_non_clip_src: ::std::option::Option<
3919        unsafe extern "C" fn(
3920            in_data: *mut PF_InData,
3921            progress_base: A_long,
3922            progress_final: A_long,
3923            src: *mut PF_EffectWorld,
3924            area: *const PF_Rect,
3925            origin: *const PF_Point,
3926            refcon: *mut ::std::os::raw::c_void,
3927            pix_fn: ::std::option::Option<
3928                unsafe extern "C" fn(
3929                    refcon: *mut ::std::os::raw::c_void,
3930                    x: A_long,
3931                    y: A_long,
3932                    in_: *mut PF_Pixel,
3933                    out: *mut PF_Pixel,
3934                ) -> PF_Err,
3935            >,
3936            dst: *mut PF_EffectWorld,
3937        ) -> PF_Err,
3938    >,
3939    pub iterate_generic: ::std::option::Option<
3940        unsafe extern "C" fn(
3941            iterationsL: A_long,
3942            refconPV: *mut ::std::os::raw::c_void,
3943            fn_func: ::std::option::Option<
3944                unsafe extern "C" fn(
3945                    refconPV: *mut ::std::os::raw::c_void,
3946                    thread_indexL: A_long,
3947                    i: A_long,
3948                    iterationsL: A_long,
3949                ) -> PF_Err,
3950            >,
3951        ) -> PF_Err,
3952    >,
3953}
3954#[repr(C)]
3955#[derive(Debug, Copy, Clone)]
3956pub struct PF_Iterate8Suite2 {
3957    pub iterate: ::std::option::Option<
3958        unsafe extern "C" fn(
3959            in_data: *mut PF_InData,
3960            progress_base: A_long,
3961            progress_final: A_long,
3962            src: *mut PF_EffectWorld,
3963            area: *const PF_Rect,
3964            refcon: *mut ::std::os::raw::c_void,
3965            pix_fn: ::std::option::Option<
3966                unsafe extern "C" fn(
3967                    refcon: *mut ::std::os::raw::c_void,
3968                    x: A_long,
3969                    y: A_long,
3970                    in_: *mut PF_Pixel,
3971                    out: *mut PF_Pixel,
3972                ) -> PF_Err,
3973            >,
3974            dst: *mut PF_EffectWorld,
3975        ) -> PF_Err,
3976    >,
3977    pub iterate_origin: ::std::option::Option<
3978        unsafe extern "C" fn(
3979            in_data: *mut PF_InData,
3980            progress_base: A_long,
3981            progress_final: A_long,
3982            src: *mut PF_EffectWorld,
3983            area: *const PF_Rect,
3984            origin: *const PF_Point,
3985            refcon: *mut ::std::os::raw::c_void,
3986            pix_fn: ::std::option::Option<
3987                unsafe extern "C" fn(
3988                    refcon: *mut ::std::os::raw::c_void,
3989                    x: A_long,
3990                    y: A_long,
3991                    in_: *mut PF_Pixel,
3992                    out: *mut PF_Pixel,
3993                ) -> PF_Err,
3994            >,
3995            dst: *mut PF_EffectWorld,
3996        ) -> PF_Err,
3997    >,
3998    pub iterate_lut: ::std::option::Option<
3999        unsafe extern "C" fn(
4000            in_data: *mut PF_InData,
4001            progress_base: A_long,
4002            progress_final: A_long,
4003            src: *mut PF_EffectWorld,
4004            area: *const PF_Rect,
4005            a_lut0: *mut A_u_char,
4006            r_lut0: *mut A_u_char,
4007            g_lut0: *mut A_u_char,
4008            b_lut0: *mut A_u_char,
4009            dst: *mut PF_EffectWorld,
4010        ) -> PF_Err,
4011    >,
4012    pub iterate_origin_non_clip_src: ::std::option::Option<
4013        unsafe extern "C" fn(
4014            in_data: *mut PF_InData,
4015            progress_base: A_long,
4016            progress_final: A_long,
4017            src: *mut PF_EffectWorld,
4018            area: *const PF_Rect,
4019            origin: *const PF_Point,
4020            refcon: *mut ::std::os::raw::c_void,
4021            pix_fn: ::std::option::Option<
4022                unsafe extern "C" fn(
4023                    refcon: *mut ::std::os::raw::c_void,
4024                    x: A_long,
4025                    y: A_long,
4026                    in_: *mut PF_Pixel,
4027                    out: *mut PF_Pixel,
4028                ) -> PF_Err,
4029            >,
4030            dst: *mut PF_EffectWorld,
4031        ) -> PF_Err,
4032    >,
4033    pub iterate_generic: ::std::option::Option<
4034        unsafe extern "C" fn(
4035            iterationsL: A_long,
4036            refconPV: *mut ::std::os::raw::c_void,
4037            fn_func: ::std::option::Option<
4038                unsafe extern "C" fn(
4039                    refconPV: *mut ::std::os::raw::c_void,
4040                    thread_indexL: A_long,
4041                    i: A_long,
4042                    iterationsL: A_long,
4043                ) -> PF_Err,
4044            >,
4045        ) -> PF_Err,
4046    >,
4047}
4048#[repr(C)]
4049#[derive(Debug, Copy, Clone)]
4050pub struct PF_iterate16Suite1 {
4051    pub iterate: ::std::option::Option<
4052        unsafe extern "C" fn(
4053            in_data: *mut PF_InData,
4054            progress_base: A_long,
4055            progress_final: A_long,
4056            src: *mut PF_EffectWorld,
4057            area: *const PF_Rect,
4058            refcon: *mut ::std::os::raw::c_void,
4059            pix_fn: ::std::option::Option<
4060                unsafe extern "C" fn(
4061                    refcon: *mut ::std::os::raw::c_void,
4062                    x: A_long,
4063                    y: A_long,
4064                    in_: *mut PF_Pixel16,
4065                    out: *mut PF_Pixel16,
4066                ) -> PF_Err,
4067            >,
4068            dst: *mut PF_EffectWorld,
4069        ) -> PF_Err,
4070    >,
4071    pub iterate_origin: ::std::option::Option<
4072        unsafe extern "C" fn(
4073            in_data: *mut PF_InData,
4074            progress_base: A_long,
4075            progress_final: A_long,
4076            src: *mut PF_EffectWorld,
4077            area: *const PF_Rect,
4078            origin: *const PF_Point,
4079            refcon: *mut ::std::os::raw::c_void,
4080            pix_fn: ::std::option::Option<
4081                unsafe extern "C" fn(
4082                    refcon: *mut ::std::os::raw::c_void,
4083                    x: A_long,
4084                    y: A_long,
4085                    in_: *mut PF_Pixel16,
4086                    out: *mut PF_Pixel16,
4087                ) -> PF_Err,
4088            >,
4089            dst: *mut PF_EffectWorld,
4090        ) -> PF_Err,
4091    >,
4092    pub iterate_origin_non_clip_src: ::std::option::Option<
4093        unsafe extern "C" fn(
4094            in_data: *mut PF_InData,
4095            progress_base: A_long,
4096            progress_final: A_long,
4097            src: *mut PF_EffectWorld,
4098            area: *const PF_Rect,
4099            origin: *const PF_Point,
4100            refcon: *mut ::std::os::raw::c_void,
4101            pix_fn: ::std::option::Option<
4102                unsafe extern "C" fn(
4103                    refcon: *mut ::std::os::raw::c_void,
4104                    x: A_long,
4105                    y: A_long,
4106                    in_: *mut PF_Pixel16,
4107                    out: *mut PF_Pixel16,
4108                ) -> PF_Err,
4109            >,
4110            dst: *mut PF_EffectWorld,
4111        ) -> PF_Err,
4112    >,
4113}
4114pub type PF_Iterate16Suite1 = PF_iterate16Suite1;
4115#[repr(C)]
4116#[derive(Debug, Copy, Clone)]
4117pub struct PF_iterate16Suite2 {
4118    pub iterate: ::std::option::Option<
4119        unsafe extern "C" fn(
4120            in_data: *mut PF_InData,
4121            progress_base: A_long,
4122            progress_final: A_long,
4123            src: *mut PF_EffectWorld,
4124            area: *const PF_Rect,
4125            refcon: *mut ::std::os::raw::c_void,
4126            pix_fn: ::std::option::Option<
4127                unsafe extern "C" fn(
4128                    refcon: *mut ::std::os::raw::c_void,
4129                    x: A_long,
4130                    y: A_long,
4131                    in_: *mut PF_Pixel16,
4132                    out: *mut PF_Pixel16,
4133                ) -> PF_Err,
4134            >,
4135            dst: *mut PF_EffectWorld,
4136        ) -> PF_Err,
4137    >,
4138    pub iterate_origin: ::std::option::Option<
4139        unsafe extern "C" fn(
4140            in_data: *mut PF_InData,
4141            progress_base: A_long,
4142            progress_final: A_long,
4143            src: *mut PF_EffectWorld,
4144            area: *const PF_Rect,
4145            origin: *const PF_Point,
4146            refcon: *mut ::std::os::raw::c_void,
4147            pix_fn: ::std::option::Option<
4148                unsafe extern "C" fn(
4149                    refcon: *mut ::std::os::raw::c_void,
4150                    x: A_long,
4151                    y: A_long,
4152                    in_: *mut PF_Pixel16,
4153                    out: *mut PF_Pixel16,
4154                ) -> PF_Err,
4155            >,
4156            dst: *mut PF_EffectWorld,
4157        ) -> PF_Err,
4158    >,
4159    pub iterate_origin_non_clip_src: ::std::option::Option<
4160        unsafe extern "C" fn(
4161            in_data: *mut PF_InData,
4162            progress_base: A_long,
4163            progress_final: A_long,
4164            src: *mut PF_EffectWorld,
4165            area: *const PF_Rect,
4166            origin: *const PF_Point,
4167            refcon: *mut ::std::os::raw::c_void,
4168            pix_fn: ::std::option::Option<
4169                unsafe extern "C" fn(
4170                    refcon: *mut ::std::os::raw::c_void,
4171                    x: A_long,
4172                    y: A_long,
4173                    in_: *mut PF_Pixel16,
4174                    out: *mut PF_Pixel16,
4175                ) -> PF_Err,
4176            >,
4177            dst: *mut PF_EffectWorld,
4178        ) -> PF_Err,
4179    >,
4180}
4181pub type PF_Iterate16Suite2 = PF_iterate16Suite2;
4182#[repr(C)]
4183#[derive(Debug, Copy, Clone)]
4184pub struct PF_iterateFloatSuite1 {
4185    pub iterate: ::std::option::Option<
4186        unsafe extern "C" fn(
4187            in_data: *mut PF_InData,
4188            progress_base: A_long,
4189            progress_final: A_long,
4190            src: *mut PF_EffectWorld,
4191            area: *const PF_Rect,
4192            refcon: *mut ::std::os::raw::c_void,
4193            pix_fn: PF_IteratePixelFloatFunc,
4194            dst: *mut PF_EffectWorld,
4195        ) -> PF_Err,
4196    >,
4197    pub iterate_origin: ::std::option::Option<
4198        unsafe extern "C" fn(
4199            in_data: *mut PF_InData,
4200            progress_base: A_long,
4201            progress_final: A_long,
4202            src: *mut PF_EffectWorld,
4203            area: *const PF_Rect,
4204            origin: *const PF_Point,
4205            refcon: *mut ::std::os::raw::c_void,
4206            pix_fn: PF_IteratePixelFloatFunc,
4207            dst: *mut PF_EffectWorld,
4208        ) -> PF_Err,
4209    >,
4210    pub iterate_origin_non_clip_src: ::std::option::Option<
4211        unsafe extern "C" fn(
4212            in_data: *mut PF_InData,
4213            progress_base: A_long,
4214            progress_final: A_long,
4215            src: *mut PF_EffectWorld,
4216            area: *const PF_Rect,
4217            origin: *const PF_Point,
4218            refcon: *mut ::std::os::raw::c_void,
4219            pix_fn: PF_IteratePixelFloatFunc,
4220            dst: *mut PF_EffectWorld,
4221        ) -> PF_Err,
4222    >,
4223}
4224pub type PF_IterateFloatSuite1 = PF_iterateFloatSuite1;
4225#[repr(C)]
4226#[derive(Debug, Copy, Clone)]
4227pub struct PF_iterateFloatSuite2 {
4228    pub iterate: ::std::option::Option<
4229        unsafe extern "C" fn(
4230            in_data: *mut PF_InData,
4231            progress_base: A_long,
4232            progress_final: A_long,
4233            src: *mut PF_EffectWorld,
4234            area: *const PF_Rect,
4235            refcon: *mut ::std::os::raw::c_void,
4236            pix_fn: PF_IteratePixelFloatFunc,
4237            dst: *mut PF_EffectWorld,
4238        ) -> PF_Err,
4239    >,
4240    pub iterate_origin: ::std::option::Option<
4241        unsafe extern "C" fn(
4242            in_data: *mut PF_InData,
4243            progress_base: A_long,
4244            progress_final: A_long,
4245            src: *mut PF_EffectWorld,
4246            area: *const PF_Rect,
4247            origin: *const PF_Point,
4248            refcon: *mut ::std::os::raw::c_void,
4249            pix_fn: PF_IteratePixelFloatFunc,
4250            dst: *mut PF_EffectWorld,
4251        ) -> PF_Err,
4252    >,
4253    pub iterate_origin_non_clip_src: ::std::option::Option<
4254        unsafe extern "C" fn(
4255            in_data: *mut PF_InData,
4256            progress_base: A_long,
4257            progress_final: A_long,
4258            src: *mut PF_EffectWorld,
4259            area: *const PF_Rect,
4260            origin: *const PF_Point,
4261            refcon: *mut ::std::os::raw::c_void,
4262            pix_fn: PF_IteratePixelFloatFunc,
4263            dst: *mut PF_EffectWorld,
4264        ) -> PF_Err,
4265    >,
4266}
4267pub type PF_IterateFloatSuite2 = PF_iterateFloatSuite2;
4268#[repr(C)]
4269#[derive(Debug, Copy, Clone)]
4270pub struct PF_WorldTransformSuite1 {
4271    pub composite_rect: ::std::option::Option<
4272        unsafe extern "C" fn(
4273            effect_ref: PF_ProgPtr,
4274            src_rect: *mut PF_Rect,
4275            src_opacity: A_long,
4276            source_wld: *mut PF_EffectWorld,
4277            dest_x: A_long,
4278            dest_y: A_long,
4279            field_rdr: PF_Field,
4280            xfer_mode: PF_XferMode,
4281            dest_wld: *mut PF_EffectWorld,
4282        ) -> PF_Err,
4283    >,
4284    pub blend: ::std::option::Option<
4285        unsafe extern "C" fn(
4286            effect_ref: PF_ProgPtr,
4287            src1: *const PF_EffectWorld,
4288            src2: *const PF_EffectWorld,
4289            ratio: PF_Fixed,
4290            dst: *mut PF_EffectWorld,
4291        ) -> PF_Err,
4292    >,
4293    pub convolve: ::std::option::Option<
4294        unsafe extern "C" fn(
4295            effect_ref: PF_ProgPtr,
4296            src: *mut PF_EffectWorld,
4297            area: *const PF_Rect,
4298            flags: PF_KernelFlags,
4299            kernel_size: A_long,
4300            a_kernel: *mut ::std::os::raw::c_void,
4301            r_kernel: *mut ::std::os::raw::c_void,
4302            g_kernel: *mut ::std::os::raw::c_void,
4303            b_kernel: *mut ::std::os::raw::c_void,
4304            dst: *mut PF_EffectWorld,
4305        ) -> PF_Err,
4306    >,
4307    pub copy: ::std::option::Option<
4308        unsafe extern "C" fn(
4309            effect_ref: PF_ProgPtr,
4310            src: *mut PF_EffectWorld,
4311            dst: *mut PF_EffectWorld,
4312            src_r: *mut PF_Rect,
4313            dst_r: *mut PF_Rect,
4314        ) -> PF_Err,
4315    >,
4316    pub copy_hq: ::std::option::Option<
4317        unsafe extern "C" fn(
4318            effect_ref: PF_ProgPtr,
4319            src: *mut PF_EffectWorld,
4320            dst: *mut PF_EffectWorld,
4321            src_r: *mut PF_Rect,
4322            dst_r: *mut PF_Rect,
4323        ) -> PF_Err,
4324    >,
4325    pub transfer_rect: ::std::option::Option<
4326        unsafe extern "C" fn(
4327            effect_ref: PF_ProgPtr,
4328            quality: PF_Quality,
4329            m_flags: PF_ModeFlags,
4330            field: PF_Field,
4331            src_rec: *const PF_Rect,
4332            src_world: *const PF_EffectWorld,
4333            comp_mode: *const PF_CompositeMode,
4334            mask_world0: *const PF_MaskWorld,
4335            dest_x: A_long,
4336            dest_y: A_long,
4337            dst_world: *mut PF_EffectWorld,
4338        ) -> PF_Err,
4339    >,
4340    pub transform_world: ::std::option::Option<
4341        unsafe extern "C" fn(
4342            effect_ref: PF_ProgPtr,
4343            quality: PF_Quality,
4344            m_flags: PF_ModeFlags,
4345            field: PF_Field,
4346            src_world: *const PF_EffectWorld,
4347            comp_mode: *const PF_CompositeMode,
4348            mask_world0: *const PF_MaskWorld,
4349            matrices: *const PF_FloatMatrix,
4350            num_matrices: A_long,
4351            src2dst_matrix: PF_Boolean,
4352            dest_rect: *const PF_Rect,
4353            dst_world: *mut PF_EffectWorld,
4354        ) -> PF_Err,
4355    >,
4356}
4357#[repr(C)]
4358#[derive(Debug, Copy, Clone)]
4359pub struct PF_FillMatteSuite2 {
4360    pub fill: ::std::option::Option<
4361        unsafe extern "C" fn(
4362            effect_ref: PF_ProgPtr,
4363            color: *const PF_Pixel,
4364            dst_rect: *const PF_Rect,
4365            world: *mut PF_EffectWorld,
4366        ) -> PF_Err,
4367    >,
4368    pub fill16: ::std::option::Option<
4369        unsafe extern "C" fn(
4370            effect_ref: PF_ProgPtr,
4371            color: *const PF_Pixel16,
4372            dst_rect: *const PF_Rect,
4373            world: *mut PF_EffectWorld,
4374        ) -> PF_Err,
4375    >,
4376    pub fill_float: ::std::option::Option<
4377        unsafe extern "C" fn(
4378            effect_ref: PF_ProgPtr,
4379            color: *const PF_PixelFloat,
4380            dst_rect: *const PF_Rect,
4381            world: *mut PF_EffectWorld,
4382        ) -> PF_Err,
4383    >,
4384    pub premultiply: ::std::option::Option<
4385        unsafe extern "C" fn(
4386            effect_ref: PF_ProgPtr,
4387            forward: A_long,
4388            dst: *mut PF_EffectWorld,
4389        ) -> PF_Err,
4390    >,
4391    pub premultiply_color: ::std::option::Option<
4392        unsafe extern "C" fn(
4393            effect_ref: PF_ProgPtr,
4394            src: *mut PF_EffectWorld,
4395            color: *const PF_Pixel,
4396            forward: A_long,
4397            dst: *mut PF_EffectWorld,
4398        ) -> PF_Err,
4399    >,
4400    pub premultiply_color16: ::std::option::Option<
4401        unsafe extern "C" fn(
4402            effect_ref: PF_ProgPtr,
4403            src: *mut PF_EffectWorld,
4404            color: *const PF_Pixel16,
4405            forward: A_long,
4406            dst: *mut PF_EffectWorld,
4407        ) -> PF_Err,
4408    >,
4409    pub premultiply_color_float: ::std::option::Option<
4410        unsafe extern "C" fn(
4411            effect_ref: PF_ProgPtr,
4412            src: *mut PF_EffectWorld,
4413            color: *const PF_PixelFloat,
4414            forward: A_long,
4415            dst: *mut PF_EffectWorld,
4416        ) -> PF_Err,
4417    >,
4418}
4419#[repr(C)]
4420#[derive(Debug, Copy, Clone)]
4421pub struct PF_GPUDeviceInfo {
4422    pub device_framework: PF_GPU_Framework,
4423    pub compatibleB: PF_Boolean,
4424    pub platformPV: *mut ::std::os::raw::c_void,
4425    pub devicePV: *mut ::std::os::raw::c_void,
4426    pub contextPV: *mut ::std::os::raw::c_void,
4427    pub command_queuePV: *mut ::std::os::raw::c_void,
4428    pub offscreen_opengl_contextPV: *mut ::std::os::raw::c_void,
4429    pub offscreen_opengl_devicePV: *mut ::std::os::raw::c_void,
4430}
4431#[repr(C)]
4432#[derive(Debug, Copy, Clone)]
4433pub struct PF_GPUDeviceSuite1 {
4434    #[doc = "\tThis will return the number of gpu devices the host supports.\n\n\t@param\teffect_ref\t\t\t\t\t\t\t\tComes with PF_InData.\n\t@param\tdevice_countP\t\t\t\t\t\t\tReturn number of devices available."]
4435    pub GetDeviceCount: ::std::option::Option<
4436        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_countP: *mut A_u_long) -> PF_Err,
4437    >,
4438    #[doc = "\tThis will return the device info with given device index, which includes necessary context/queue information\n\tneeded to dispatch task to the device. Refer PF_GPUDeviceInfo for details.\n\n\t@param\teffect_ref\t\t\t\t\t\t\t\tComes with PF_InData.\n\t@param\tdevice_index\t\t\t\t\t\t\tThe device index for the requested device.\n\t@param\tPF_GPUDeviceInfo\t\t\t\t\t\tThe device info will to be filled."]
4439    pub GetDeviceInfo: ::std::option::Option<
4440        unsafe extern "C" fn(
4441            effect_ref: PF_ProgPtr,
4442            device_index: A_u_long,
4443            device_infoP: *mut PF_GPUDeviceInfo,
4444        ) -> PF_Err,
4445    >,
4446    #[doc = "\tAcquire/release exclusive access to inDeviceIndex. All calls below this point generally require access be held.\n\tFor full GPU plugins (those that use a separate entry point for GPU rendering) exclusive access is always held.\n\tThese calls do not need to be made in that case.\n\t\tFor CUDA calls cuCtxPushCurrent/cuCtxPopCurrent on the current thread to manage the devices context."]
4447    pub AcquireExclusiveDeviceAccess: ::std::option::Option<
4448        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_index: A_u_long) -> PF_Err,
4449    >,
4450    pub ReleaseExclusiveDeviceAccess: ::std::option::Option<
4451        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_index: A_u_long) -> PF_Err,
4452    >,
4453    #[doc = "\tAll device memory must be allocated through this suite.\n\t\tPurge should be called only in emergency situations when working with GPU memory\n\t\t\tthat cannot be allocated through this suite (eg OpenGL memory).\n\t\tReturned pointer value represents memory allocated through cuMemAlloc or clCreateBuffer or CreateCommittedResource."]
4454    pub AllocateDeviceMemory: ::std::option::Option<
4455        unsafe extern "C" fn(
4456            effect_ref: PF_ProgPtr,
4457            device_index: A_u_long,
4458            size_bytes: usize,
4459            memoryPP: *mut *mut ::std::os::raw::c_void,
4460        ) -> PF_Err,
4461    >,
4462    pub FreeDeviceMemory: ::std::option::Option<
4463        unsafe extern "C" fn(
4464            effect_ref: PF_ProgPtr,
4465            device_index: A_u_long,
4466            memoryP: *mut ::std::os::raw::c_void,
4467        ) -> PF_Err,
4468    >,
4469    pub PurgeDeviceMemory: ::std::option::Option<
4470        unsafe extern "C" fn(
4471            effect_ref: PF_ProgPtr,
4472            device_index: A_u_long,
4473            size_bytes: usize,
4474            bytes_purgedP0: *mut usize,
4475        ) -> PF_Err,
4476    >,
4477    #[doc = "\tAll host (pinned) memory must be allocated through this suite.\n\t\tPurge should be called only in emergency situations when working with GPU memory\n\t\t\tthat cannot be allocated through this suite (eg OpenGL memory).\n\t\tReturned pointer value represents memory allocated through cuMemHostAlloc or malloc or CreateCommittedResource (on upload heap)."]
4478    pub AllocateHostMemory: ::std::option::Option<
4479        unsafe extern "C" fn(
4480            effect_ref: PF_ProgPtr,
4481            device_index: A_u_long,
4482            size_bytes: usize,
4483            memoryPP: *mut *mut ::std::os::raw::c_void,
4484        ) -> PF_Err,
4485    >,
4486    pub FreeHostMemory: ::std::option::Option<
4487        unsafe extern "C" fn(
4488            effect_ref: PF_ProgPtr,
4489            device_index: A_u_long,
4490            memoryP: *mut ::std::os::raw::c_void,
4491        ) -> PF_Err,
4492    >,
4493    pub PurgeHostMemory: ::std::option::Option<
4494        unsafe extern "C" fn(
4495            effect_ref: PF_ProgPtr,
4496            device_index: A_u_long,
4497            bytes_to_purge: usize,
4498            bytes_purgedP0: *mut usize,
4499        ) -> PF_Err,
4500    >,
4501    #[doc = "\tThis will allocate a gpu effect world. Caller is responsible for deallocating the buffer with\n\tPF_GPUDeviceSuite1::DisposeGPUWorld.\n\n\t@param\teffect_ref\t\t\t\t\tComes with PF_InData.\n\t@param\tdevice_index\t\t\t\tThe device you want your gpu effect world allocated with.\n\t@param\twidth\t\t\t\t\t\tWidth of the effect world.\n\t@param\theight\t\t\t\t\t\tHeight of the effect world.\n\t@param\tpixel_aspect_ratio\t\t\tPixel Aspect Ratio of the effect world.\n\t@param\tfield_type\t\t\t\t\tThe field of the effect world.\n\t@param\tpixel_format\t\t\t\tThe pixel format of the effect world, only gpu formats are accepted.\n\t@param\tclear_pixB\t\t\t\t\tPass in 'true' for a transparent black frame.\n\t@param\tworldPP\t\t\t\t\t\tThe handle to the effect world to be created."]
4502    pub CreateGPUWorld: ::std::option::Option<
4503        unsafe extern "C" fn(
4504            effect_ref: PF_ProgPtr,
4505            device_index: A_u_long,
4506            width: A_long,
4507            height: A_long,
4508            pixel_aspect_ratio: PF_RationalScale,
4509            field_type: PF_Field,
4510            pixel_format: PF_PixelFormat,
4511            clear_pixB: PF_Boolean,
4512            worldPP: *mut *mut PF_EffectWorld,
4513        ) -> PF_Err,
4514    >,
4515    #[doc = "\tThis will free this effect world. The effect world is no longer valid after this function is called.\n\tPlugin module is only allowed to dispose of effect worlds they create.\n\n\t@param\teffect_ref\t\t\t\t\tComes with PF_InData.\n\t@param\tworldP\t\t\t\t\t\tThe effect world you want to dispose."]
4516    pub DisposeGPUWorld: ::std::option::Option<
4517        unsafe extern "C" fn(effect_ref: PF_ProgPtr, worldP: *mut PF_EffectWorld) -> PF_Err,
4518    >,
4519    #[doc = "\tThis will return the gpu buffer address of the given effect world.\n\n\t@param\teffect_ref\t\t\t\t\t\tComes with PF_InData.\n\t@param\tworldP\t\t\t\t\t\t\tThe effect world you want to operate on, has to be a gpu effect world.\n\t@param\tpixPP\t\t\t\t\t\t\tReturns the gpu buffer address."]
4520    pub GetGPUWorldData: ::std::option::Option<
4521        unsafe extern "C" fn(
4522            effect_ref: PF_ProgPtr,
4523            worldP: *mut PF_EffectWorld,
4524            pixPP: *mut *mut ::std::os::raw::c_void,
4525        ) -> PF_Err,
4526    >,
4527    #[doc = "\tThis will return the size of the total data in the effect world.\n\n\t@param\teffect_ref\t\t\t\t\t\tComes with PF_InData.\n\t@param\tworldP\t\t\t\t\t\t\tThe effect world you want to operate on, has to be a gpu effect world.\n\t@param\tdevice_indexP\t\t\t\t\tReturns the size of the total data in the effect world."]
4528    pub GetGPUWorldSize: ::std::option::Option<
4529        unsafe extern "C" fn(
4530            effect_ref: PF_ProgPtr,
4531            worldP: *mut PF_EffectWorld,
4532            size_in_bytesP: *mut usize,
4533        ) -> PF_Err,
4534    >,
4535    #[doc = "\tThis will return device index the gpu effect world is associated with.\n\n\t@param\teffect_ref\t\t\t\t\t\tComes with PF_InData.\n\t@param\tworldP\t\t\t\t\t\t\tThe effect world you want to operate on, has to be a gpu effect world.\n\t@param\tdevice_indexP\t\t\t\t\tReturns the device index of the given effect world."]
4536    pub GetGPUWorldDeviceIndex: ::std::option::Option<
4537        unsafe extern "C" fn(
4538            effect_ref: PF_ProgPtr,
4539            worldP: *mut PF_EffectWorld,
4540            device_indexP: *mut A_u_long,
4541        ) -> PF_Err,
4542    >,
4543}
4544#[repr(C)]
4545#[derive(Debug, Copy, Clone)]
4546pub struct PF_PathOutline {
4547    _unused: [u8; 0],
4548}
4549pub type PF_PathOutlinePtr = *mut PF_PathOutline;
4550#[repr(C)]
4551#[derive(Debug, Copy, Clone)]
4552pub struct PF_PathSegPrep {
4553    _unused: [u8; 0],
4554}
4555pub type PF_PathSegPrepPtr = *mut PF_PathSegPrep;
4556#[repr(C)]
4557#[derive(Debug, Copy, Clone)]
4558pub struct PF_PathQuerySuite1 {
4559    pub PF_NumPaths: ::std::option::Option<
4560        unsafe extern "C" fn(effect_ref: PF_ProgPtr, num_pathsPL: *mut A_long) -> PF_Err,
4561    >,
4562    pub PF_PathInfo: ::std::option::Option<
4563        unsafe extern "C" fn(
4564            effect_ref: PF_ProgPtr,
4565            indexL: A_long,
4566            unique_idP: *mut PF_PathID,
4567        ) -> PF_Err,
4568    >,
4569    pub PF_CheckoutPath: ::std::option::Option<
4570        unsafe extern "C" fn(
4571            effect_ref: PF_ProgPtr,
4572            unique_id: PF_PathID,
4573            what_time: A_long,
4574            time_step: A_long,
4575            time_scale: A_u_long,
4576            pathPP: *mut PF_PathOutlinePtr,
4577        ) -> PF_Err,
4578    >,
4579    pub PF_CheckinPath: ::std::option::Option<
4580        unsafe extern "C" fn(
4581            effect_ref: PF_ProgPtr,
4582            unique_id: PF_PathID,
4583            changedB: PF_Boolean,
4584            pathP: PF_PathOutlinePtr,
4585        ) -> PF_Err,
4586    >,
4587}
4588#[repr(C)]
4589#[derive(Debug, Copy, Clone)]
4590pub struct PF_PathVertex {
4591    pub x: PF_FpLong,
4592    pub y: PF_FpLong,
4593    pub tan_in_x: PF_FpLong,
4594    pub tan_in_y: PF_FpLong,
4595    pub tan_out_x: PF_FpLong,
4596    pub tan_out_y: PF_FpLong,
4597}
4598#[repr(C)]
4599#[derive(Debug, Copy, Clone)]
4600pub struct PF_PathDataSuite1 {
4601    pub PF_PathIsOpen: ::std::option::Option<
4602        unsafe extern "C" fn(
4603            effect_ref0: PF_ProgPtr,
4604            pathP: PF_PathOutlinePtr,
4605            openPB: *mut PF_Boolean,
4606        ) -> PF_Err,
4607    >,
4608    pub PF_PathNumSegments: ::std::option::Option<
4609        unsafe extern "C" fn(
4610            effect_ref0: PF_ProgPtr,
4611            pathP: PF_PathOutlinePtr,
4612            num_segmentsPL: *mut A_long,
4613        ) -> PF_Err,
4614    >,
4615    pub PF_PathVertexInfo: ::std::option::Option<
4616        unsafe extern "C" fn(
4617            effect_ref0: PF_ProgPtr,
4618            pathP: PF_PathOutlinePtr,
4619            which_pointL: A_long,
4620            vertexP: *mut PF_PathVertex,
4621        ) -> PF_Err,
4622    >,
4623    pub PF_PathPrepareSegLength: ::std::option::Option<
4624        unsafe extern "C" fn(
4625            effect_ref0: PF_ProgPtr,
4626            pathP: PF_PathOutlinePtr,
4627            which_segL: A_long,
4628            frequencyL: A_long,
4629            lengthPrepPP: *mut PF_PathSegPrepPtr,
4630        ) -> PF_Err,
4631    >,
4632    pub PF_PathGetSegLength: ::std::option::Option<
4633        unsafe extern "C" fn(
4634            effect_ref0: PF_ProgPtr,
4635            pathP: PF_PathOutlinePtr,
4636            which_segL: A_long,
4637            lengthPrepP0: *mut PF_PathSegPrepPtr,
4638            lengthPF: *mut PF_FpLong,
4639        ) -> PF_Err,
4640    >,
4641    pub PF_PathEvalSegLength: ::std::option::Option<
4642        unsafe extern "C" fn(
4643            effect_ref0: PF_ProgPtr,
4644            pathP: PF_PathOutlinePtr,
4645            lengthPrepPP0: *mut PF_PathSegPrepPtr,
4646            which_segL: A_long,
4647            lengthF: PF_FpLong,
4648            x: *mut PF_FpLong,
4649            y: *mut PF_FpLong,
4650        ) -> PF_Err,
4651    >,
4652    pub PF_PathEvalSegLengthDeriv1: ::std::option::Option<
4653        unsafe extern "C" fn(
4654            effect_ref0: PF_ProgPtr,
4655            pathP: PF_PathOutlinePtr,
4656            lengthPrepPP0: *mut PF_PathSegPrepPtr,
4657            which_segL: A_long,
4658            lengthF: PF_FpLong,
4659            x: *mut PF_FpLong,
4660            y: *mut PF_FpLong,
4661            deriv1x: *mut PF_FpLong,
4662            deriv1y: *mut PF_FpLong,
4663        ) -> PF_Err,
4664    >,
4665    pub PF_PathCleanupSegLength: ::std::option::Option<
4666        unsafe extern "C" fn(
4667            effect_ref0: PF_ProgPtr,
4668            pathP: PF_PathOutlinePtr,
4669            which_segL: A_long,
4670            lengthPrepPP: *mut PF_PathSegPrepPtr,
4671        ) -> PF_Err,
4672    >,
4673    pub PF_PathIsInverted: ::std::option::Option<
4674        unsafe extern "C" fn(
4675            effect_ref: PF_ProgPtr,
4676            unique_id: PF_PathID,
4677            invertedB: *mut PF_Boolean,
4678        ) -> PF_Err,
4679    >,
4680    pub PF_PathGetMaskMode: ::std::option::Option<
4681        unsafe extern "C" fn(
4682            effect_ref: PF_ProgPtr,
4683            unique_id: PF_PathID,
4684            modeP: *mut PF_MaskMode,
4685        ) -> PF_Err,
4686    >,
4687    pub PF_PathGetName: ::std::option::Option<
4688        unsafe extern "C" fn(
4689            effect_ref: PF_ProgPtr,
4690            unique_id: PF_PathID,
4691            nameZ: *mut A_char,
4692        ) -> PF_Err,
4693    >,
4694}
4695#[repr(C)]
4696#[derive(Debug, Copy, Clone)]
4697pub struct PF_State {
4698    pub reservedAL: [A_long; 4usize],
4699}
4700pub const PF_TimeDir_GREATER_THAN: _bindgen_ty_65 = 0;
4701pub const PF_TimeDir_LESS_THAN: _bindgen_ty_65 = 1;
4702pub const PF_TimeDir_GREATER_THAN_OR_EQUAL: _bindgen_ty_65 = 4096;
4703pub const PF_TimeDir_LESS_THAN_OR_EQUAL: _bindgen_ty_65 = 4097;
4704pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
4705pub type PF_TimeDir = A_long;
4706pub type PF_KeyIndex = A_long;
4707#[doc = " PF_ParamUtilsSuite3\n\nPF_UpdateParamUI()\n\nYou can call this function for each param whose UI settings you\nwant to change when handling a PF_Cmd_USER_CHANGED_PARAM or\nPF_Cmd_UPDATE_PARAMS_UI.  These changes are cosmetic only, and don't\ngo into the undo buffer.\n\nThe ONLY fields that can be changed in this way are:\n\nPF_ParamDef\nui_flags: PF_PUI_ECW_SEPARATOR, PF_PUI_DISABLED only (and PF_PUI_INVISIBLE in Premiere).\nui_width\nui_height\nname\nflags: PF_ParamFlag_COLLAPSE_TWIRLY only\n\nPF_ParamDefUnion:\nslider_min, slider_max, precision, display_flags of any slider type\n\nFor PF_PUI_STD_CONTROL_ONLY params, you can also change the value field by setting\nPF_ChangeFlag_CHANGED_VALUE before returning.  But you are not allowed to change\nthe value during PF_Cmd_UPDATE_PARAMS_UI.\n\nPF_GetCurrentState() / PF_AreStatesIdentical()\nThis API lets you determine if a set of your inputs (either layers, other properties, or both)\nare different between when you first called PF_GetCurrentState() and a current call, so it can\nbe used for caching. You can specify a range of time to consider or all of time.\n\nFor effects that do simulation across time and therefore set PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT,\nwhen you ask about a time range, it will be expanded to include any times needed to produce\nthat range.\n\nSee doc on the old PF_HaveInputsChangedOverTimeSpan() for historical context."]
4708#[repr(C)]
4709#[derive(Debug, Copy, Clone)]
4710pub struct PF_ParamUtilsSuite3 {
4711    pub PF_UpdateParamUI: ::std::option::Option<
4712        unsafe extern "C" fn(
4713            effect_ref: PF_ProgPtr,
4714            param_index: PF_ParamIndex,
4715            defP: *const PF_ParamDef,
4716        ) -> PF_Err,
4717    >,
4718    pub PF_GetCurrentState: ::std::option::Option<
4719        unsafe extern "C" fn(
4720            effect_ref: PF_ProgPtr,
4721            param_index: PF_ParamIndex,
4722            startPT0: *const A_Time,
4723            durationPT0: *const A_Time,
4724            stateP: *mut PF_State,
4725        ) -> PF_Err,
4726    >,
4727    pub PF_AreStatesIdentical: ::std::option::Option<
4728        unsafe extern "C" fn(
4729            effect_ref: PF_ProgPtr,
4730            state1P: *const PF_State,
4731            state2P: *const PF_State,
4732            samePB: *mut A_Boolean,
4733        ) -> PF_Err,
4734    >,
4735    pub PF_IsIdenticalCheckout: ::std::option::Option<
4736        unsafe extern "C" fn(
4737            effect_ref: PF_ProgPtr,
4738            param_index: PF_ParamIndex,
4739            what_time1: A_long,
4740            time_step1: A_long,
4741            time_scale1: A_u_long,
4742            what_time2: A_long,
4743            time_step2: A_long,
4744            time_scale2: A_u_long,
4745            identicalPB: *mut PF_Boolean,
4746        ) -> PF_Err,
4747    >,
4748    pub PF_FindKeyframeTime: ::std::option::Option<
4749        unsafe extern "C" fn(
4750            effect_ref: PF_ProgPtr,
4751            param_index: PF_ParamIndex,
4752            what_time: A_long,
4753            time_scale: A_u_long,
4754            time_dir: PF_TimeDir,
4755            foundPB: *mut PF_Boolean,
4756            key_indexP0: *mut PF_KeyIndex,
4757            key_timeP0: *mut A_long,
4758            key_timescaleP0: *mut A_u_long,
4759        ) -> PF_Err,
4760    >,
4761    pub PF_GetKeyframeCount: ::std::option::Option<
4762        unsafe extern "C" fn(
4763            effect_ref: PF_ProgPtr,
4764            param_index: PF_ParamIndex,
4765            key_countP: *mut PF_KeyIndex,
4766        ) -> PF_Err,
4767    >,
4768    pub PF_CheckoutKeyframe: ::std::option::Option<
4769        unsafe extern "C" fn(
4770            effect_ref: PF_ProgPtr,
4771            param_index: PF_ParamIndex,
4772            key_index: PF_KeyIndex,
4773            key_timeP0: *mut A_long,
4774            key_timescaleP0: *mut A_u_long,
4775            paramP0: *mut PF_ParamDef,
4776        ) -> PF_Err,
4777    >,
4778    pub PF_CheckinKeyframe: ::std::option::Option<
4779        unsafe extern "C" fn(effect_ref: PF_ProgPtr, paramP: *mut PF_ParamDef) -> PF_Err,
4780    >,
4781    pub PF_KeyIndexToTime: ::std::option::Option<
4782        unsafe extern "C" fn(
4783            effect_ref: PF_ProgPtr,
4784            param_index: PF_ParamIndex,
4785            key_indexP: PF_KeyIndex,
4786            key_timeP: *mut A_long,
4787            key_timescaleP: *mut A_u_long,
4788        ) -> PF_Err,
4789    >,
4790}
4791#[doc = " PF_ColorParamSuite1"]
4792#[repr(C)]
4793#[derive(Debug, Copy, Clone)]
4794pub struct PF_ColorParamSuite1 {
4795    pub PF_GetFloatingPointColorFromColorDef: ::std::option::Option<
4796        unsafe extern "C" fn(
4797            effect_ref: PF_ProgPtr,
4798            color_defP: *const PF_ParamDef,
4799            fp_colorP: *mut PF_PixelFloat,
4800        ) -> PF_Err,
4801    >,
4802}
4803#[doc = " PF_PointParamSuite1"]
4804#[repr(C)]
4805#[derive(Debug, Copy, Clone)]
4806pub struct PF_PointParamSuite1 {
4807    pub PF_GetFloatingPointValueFromPointDef: ::std::option::Option<
4808        unsafe extern "C" fn(
4809            effect_ref: PF_ProgPtr,
4810            point_defP: *const PF_ParamDef,
4811            fp_pointP: *mut A_FloatPoint,
4812        ) -> PF_Err,
4813    >,
4814}
4815#[doc = " PF_AngleParamSuite1"]
4816#[repr(C)]
4817#[derive(Debug, Copy, Clone)]
4818pub struct PF_AngleParamSuite1 {
4819    pub PF_GetFloatingPointValueFromAngleDef: ::std::option::Option<
4820        unsafe extern "C" fn(
4821            effect_ref: PF_ProgPtr,
4822            angle_defP: *const PF_ParamDef,
4823            fp_valueP: *mut A_FpLong,
4824        ) -> PF_Err,
4825    >,
4826}
4827pub const PF_App_Color_NONE: _bindgen_ty_66 = -1;
4828pub const PF_App_Color_FRAME: _bindgen_ty_66 = 0;
4829pub const PF_App_Color_FILL: _bindgen_ty_66 = 1;
4830pub const PF_App_Color_TEXT: _bindgen_ty_66 = 2;
4831pub const PF_App_Color_LIGHT_TINGE: _bindgen_ty_66 = 3;
4832pub const PF_App_Color_DARK_TINGE: _bindgen_ty_66 = 4;
4833pub const PF_App_Color_HILITE: _bindgen_ty_66 = 5;
4834pub const PF_App_Color_SHADOW: _bindgen_ty_66 = 6;
4835pub const PF_App_Color_BUTTON_FRAME: _bindgen_ty_66 = 7;
4836pub const PF_App_Color_BUTTON_FILL: _bindgen_ty_66 = 8;
4837pub const PF_App_Color_BUTTON_TEXT: _bindgen_ty_66 = 9;
4838pub const PF_App_Color_BUTTON_LIGHT_TINGE: _bindgen_ty_66 = 10;
4839pub const PF_App_Color_BUTTON_DARK_TINGE: _bindgen_ty_66 = 11;
4840pub const PF_App_Color_BUTTON_HILITE: _bindgen_ty_66 = 12;
4841pub const PF_App_Color_BUTTON_SHADOW: _bindgen_ty_66 = 13;
4842pub const PF_App_Color_BUTTON_PRESSED_FRAME: _bindgen_ty_66 = 14;
4843pub const PF_App_Color_BUTTON_PRESSED_FILL: _bindgen_ty_66 = 15;
4844pub const PF_App_Color_BUTTON_PRESSED_TEXT: _bindgen_ty_66 = 16;
4845pub const PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE: _bindgen_ty_66 = 17;
4846pub const PF_App_Color_BUTTON_PRESSED_DARK_TINGE: _bindgen_ty_66 = 18;
4847pub const PF_App_Color_BUTTON_PRESSED_HILITE: _bindgen_ty_66 = 19;
4848pub const PF_App_Color_BUTTON_PRESSED_SHADOW: _bindgen_ty_66 = 20;
4849pub const PF_App_Color_FRAME_DISABLED: _bindgen_ty_66 = 21;
4850pub const PF_App_Color_FILL_DISABLED: _bindgen_ty_66 = 22;
4851pub const PF_App_Color_TEXT_DISABLED: _bindgen_ty_66 = 23;
4852pub const PF_App_Color_LIGHT_TINGE_DISABLED: _bindgen_ty_66 = 24;
4853pub const PF_App_Color_DARK_TINGE_DISABLED: _bindgen_ty_66 = 25;
4854pub const PF_App_Color_HILITE_DISABLED: _bindgen_ty_66 = 26;
4855pub const PF_App_Color_SHADOW_DISABLED: _bindgen_ty_66 = 27;
4856pub const PF_App_Color_BUTTON_FRAME_DISABLED: _bindgen_ty_66 = 28;
4857pub const PF_App_Color_BUTTON_FILL_DISABLED: _bindgen_ty_66 = 29;
4858pub const PF_App_Color_BUTTON_TEXT_DISABLED: _bindgen_ty_66 = 30;
4859pub const PF_App_Color_BUTTON_LIGHT_TINGE_DISABLED: _bindgen_ty_66 = 31;
4860pub const PF_App_Color_BUTTON_DARK_TINGE_DISABLED: _bindgen_ty_66 = 32;
4861pub const PF_App_Color_BUTTON_HILITE_DISABLED: _bindgen_ty_66 = 33;
4862pub const PF_App_Color_BUTTON_SHADOW_DISABLED: _bindgen_ty_66 = 34;
4863pub const PF_App_Color_BUTTON_PRESSED_FRAME_DISABLED: _bindgen_ty_66 = 35;
4864pub const PF_App_Color_BUTTON_PRESSED_FILL_DISABLED: _bindgen_ty_66 = 36;
4865pub const PF_App_Color_BUTTON_PRESSED_TEXT_DISABLED: _bindgen_ty_66 = 37;
4866pub const PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE_DISABLED: _bindgen_ty_66 = 38;
4867pub const PF_App_Color_BUTTON_PRESSED_DARK_TINGE_DISABLED: _bindgen_ty_66 = 39;
4868pub const PF_App_Color_BUTTON_PRESSED_HILITE_DISABLED: _bindgen_ty_66 = 40;
4869pub const PF_App_Color_BUTTON_PRESSED_SHADOW_DISABLED: _bindgen_ty_66 = 41;
4870pub const PF_App_Color_BLACK: _bindgen_ty_66 = 42;
4871pub const PF_App_Color_WHITE: _bindgen_ty_66 = 43;
4872pub const PF_App_Color_GRAY: _bindgen_ty_66 = 44;
4873pub const PF_App_Color_RED: _bindgen_ty_66 = 45;
4874pub const PF_App_Color_YELLOW: _bindgen_ty_66 = 46;
4875pub const PF_App_Color_GREEN: _bindgen_ty_66 = 47;
4876pub const PF_App_Color_CYAN: _bindgen_ty_66 = 48;
4877pub const PF_App_Color_TLW_NEEDLE_CURRENT_TIME: _bindgen_ty_66 = 49;
4878pub const PF_App_Color_TLW_NEEDLE_PREVIEW_TIME: _bindgen_ty_66 = 50;
4879pub const PF_App_Color_TLW_CACHE_MARK_MEM: _bindgen_ty_66 = 51;
4880pub const PF_App_Color_TLW_CACHE_MARK_DISK: _bindgen_ty_66 = 52;
4881pub const PF_App_Color_TLW_CACHE_MARK_MIX: _bindgen_ty_66 = 53;
4882pub const PF_App_Color_FILL_LIGHT: _bindgen_ty_66 = 54;
4883pub const PF_App_Color_HOT_TEXT: _bindgen_ty_66 = 55;
4884pub const PF_App_Color_HOT_TEXT_DISABLED: _bindgen_ty_66 = 56;
4885pub const PF_App_Color_LABEL_0: _bindgen_ty_66 = 57;
4886pub const PF_App_Color_LABEL_1: _bindgen_ty_66 = 58;
4887pub const PF_App_Color_LABEL_2: _bindgen_ty_66 = 59;
4888pub const PF_App_Color_LABEL_3: _bindgen_ty_66 = 60;
4889pub const PF_App_Color_LABEL_4: _bindgen_ty_66 = 61;
4890pub const PF_App_Color_LABEL_5: _bindgen_ty_66 = 62;
4891pub const PF_App_Color_LABEL_6: _bindgen_ty_66 = 63;
4892pub const PF_App_Color_LABEL_7: _bindgen_ty_66 = 64;
4893pub const PF_App_Color_LABEL_8: _bindgen_ty_66 = 65;
4894pub const PF_App_Color_LABEL_9: _bindgen_ty_66 = 66;
4895pub const PF_App_Color_LABEL_10: _bindgen_ty_66 = 67;
4896pub const PF_App_Color_LABEL_11: _bindgen_ty_66 = 68;
4897pub const PF_App_Color_LABEL_12: _bindgen_ty_66 = 69;
4898pub const PF_App_Color_LABEL_13: _bindgen_ty_66 = 70;
4899pub const PF_App_Color_LABEL_14: _bindgen_ty_66 = 71;
4900pub const PF_App_Color_LABEL_15: _bindgen_ty_66 = 72;
4901pub const PF_App_Color_LABEL_16: _bindgen_ty_66 = 73;
4902pub const PF_App_Color_TLW_CACHE_MARK_MEM_DUBIOUS: _bindgen_ty_66 = 74;
4903pub const PF_App_Color_TLW_CACHE_MARK_DISK_DUBIOUS: _bindgen_ty_66 = 75;
4904pub const PF_App_Color_TLW_CACHE_MARK_MIX_DUBIOUS: _bindgen_ty_66 = 76;
4905pub const PF_App_Color_HOT_TEXT_PRESSED: _bindgen_ty_66 = 77;
4906pub const PF_App_Color_HOT_TEXT_WARNING: _bindgen_ty_66 = 78;
4907pub const PF_App_Color_PURE_BLACK: _bindgen_ty_66 = 79;
4908pub const PF_App_Color_PURE_WHITE: _bindgen_ty_66 = 80;
4909pub const PF_App_Color_PANEL_BACKGROUND: _bindgen_ty_66 = 1000;
4910pub const PF_App_Color_LIST_BOX_FILL: _bindgen_ty_66 = 1001;
4911pub const PF_App_Color_DARK_CAPTION_FILL: _bindgen_ty_66 = 1002;
4912pub const PF_App_Color_DARK_CAPTION_TEXT: _bindgen_ty_66 = 1003;
4913pub const PF_App_Color_TEXT_ON_LIGHTER_BG: _bindgen_ty_66 = 1004;
4914pub const PF_App_Color_NUMTYPES: _bindgen_ty_66 = 1005;
4915pub type _bindgen_ty_66 = ::std::os::raw::c_int;
4916pub type PF_App_ColorType = A_short;
4917pub const PF_EyeDropperSampleMode_DEFAULT: _bindgen_ty_67 = 0;
4918pub const PF_EyeDropperSampleMode_STRAIGHT: _bindgen_ty_67 = 1;
4919pub const PF_EyeDropperSampleMode_PREMUL: _bindgen_ty_67 = 2;
4920pub type _bindgen_ty_67 = ::std::os::raw::c_uint;
4921pub type PF_EyeDropperSampleMode = A_short;
4922#[repr(C)]
4923#[derive(Debug, Copy, Clone)]
4924pub struct PF_App_Color {
4925    pub red: A_u_short,
4926    pub green: A_u_short,
4927    pub blue: A_u_short,
4928}
4929#[repr(C)]
4930#[derive(Debug, Copy, Clone)]
4931pub struct PF_AppPersonalTextInfo {
4932    pub name: [A_char; 64usize],
4933    pub org: [A_char; 64usize],
4934    pub serial_str: [A_char; 64usize],
4935}
4936pub const PF_FontStyle_NONE: _bindgen_ty_68 = -1;
4937pub const PF_FontStyle_SYS: _bindgen_ty_68 = 0;
4938pub const PF_FontStyle_SMALL: _bindgen_ty_68 = 1;
4939pub const PF_FontStyle_SMALL_BOLD: _bindgen_ty_68 = 2;
4940pub const PF_FontStyle_SMALL_ITALIC: _bindgen_ty_68 = 3;
4941pub const PF_FontStyle_MED: _bindgen_ty_68 = 4;
4942pub const PF_FontStyle_MED_BOLD: _bindgen_ty_68 = 5;
4943pub const PF_FontStyle_APP: _bindgen_ty_68 = 6;
4944pub const PF_FontStyle_APP_BOLD: _bindgen_ty_68 = 7;
4945pub const PF_FontStyle_APP_ITALIC: _bindgen_ty_68 = 8;
4946pub type _bindgen_ty_68 = ::std::os::raw::c_int;
4947pub type PF_FontStyleSheet = A_LegacyEnumType;
4948#[repr(C)]
4949#[derive(Debug, Copy, Clone)]
4950pub struct PF_FontName {
4951    pub font_nameAC: [A_char; 256usize],
4952}
4953#[repr(C)]
4954#[derive(Debug, Copy, Clone)]
4955pub struct _PF_AppProgressDialog {
4956    _unused: [u8; 0],
4957}
4958pub type PF_AppProgressDialogP = *mut _PF_AppProgressDialog;
4959#[repr(C)]
4960#[derive(Debug, Copy, Clone)]
4961pub struct PFAppSuite6 {
4962    pub PF_AppGetBgColor:
4963        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
4964    pub PF_AppGetColor: ::std::option::Option<
4965        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
4966    >,
4967    pub PF_AppGetLanguage:
4968        ::std::option::Option<unsafe extern "C" fn(lang_tagZ: *mut A_char) -> PF_Err>,
4969    pub PF_GetPersonalInfo:
4970        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
4971    pub PF_GetFontStyleSheet: ::std::option::Option<
4972        unsafe extern "C" fn(
4973            sheet: PF_FontStyleSheet,
4974            font_nameP0: *mut PF_FontName,
4975            font_numPS0: *mut A_short,
4976            sizePS0: *mut A_short,
4977            stylePS0: *mut A_short,
4978        ) -> PF_Err,
4979    >,
4980    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
4981    pub PF_IsRenderEngine:
4982        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
4983    pub PF_AppColorPickerDialog: ::std::option::Option<
4984        unsafe extern "C" fn(
4985            dialog_titleZ0: *const A_char,
4986            sample_colorP: *const PF_PixelFloat,
4987            use_ws_to_monitor_xformB: PF_Boolean,
4988            new_colorP: *mut PF_PixelFloat,
4989        ) -> PF_Err,
4990    >,
4991    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
4992    pub PF_InvalidateRect: ::std::option::Option<
4993        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
4994    >,
4995    pub PF_ConvertLocalToGlobal: ::std::option::Option<
4996        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
4997    >,
4998    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
4999        unsafe extern "C" fn(
5000            globalP: *const PF_Point,
5001            eyeSize: A_short,
5002            mode: PF_EyeDropperSampleMode,
5003            outColorP: *mut PF_PixelFloat,
5004        ) -> PF_Err,
5005    >,
5006    pub PF_CreateNewAppProgressDialog: ::std::option::Option<
5007        unsafe extern "C" fn(
5008            titleZ: *const A_UTF16Char,
5009            cancel_strZ0: *const A_UTF16Char,
5010            indeterminateB: PF_Boolean,
5011            prog_dlgPP: *mut PF_AppProgressDialogP,
5012        ) -> PF_Err,
5013    >,
5014    pub PF_AppProgressDialogUpdate: ::std::option::Option<
5015        unsafe extern "C" fn(
5016            prog_dlgP: PF_AppProgressDialogP,
5017            countL: A_long,
5018            totalL: A_long,
5019        ) -> PF_Err,
5020    >,
5021    pub PF_DisposeAppProgressDialog:
5022        ::std::option::Option<unsafe extern "C" fn(prog_dlgP: PF_AppProgressDialogP) -> PF_Err>,
5023}
5024#[repr(C)]
5025#[derive(Debug, Copy, Clone)]
5026pub struct PF_EffectUISuite1 {
5027    pub PF_SetOptionsButtonName: ::std::option::Option<
5028        unsafe extern "C" fn(effect_ref: PF_ProgPtr, nameZ: *const A_char) -> PF_Err,
5029    >,
5030}
5031#[repr(C)]
5032#[derive(Debug, Copy, Clone)]
5033pub struct _PF_AsyncManager {
5034    _unused: [u8; 0],
5035}
5036pub type PF_AsyncManagerP = *mut _PF_AsyncManager;
5037#[repr(C)]
5038#[derive(Debug, Copy, Clone)]
5039pub struct PF_EffectCustomUISuite2 {
5040    pub PF_GetDrawingReference: ::std::option::Option<
5041        unsafe extern "C" fn(
5042            effect_contextH: PF_ContextH,
5043            referenceP0: *mut DRAWBOT_DrawRef,
5044        ) -> PF_Err,
5045    >,
5046    pub PF_GetContextAsyncManager: ::std::option::Option<
5047        unsafe extern "C" fn(
5048            in_data: *mut PF_InData,
5049            extra: *mut PF_EventExtra,
5050            managerPP0: *mut PF_AsyncManagerP,
5051        ) -> PF_Err,
5052    >,
5053}
5054#[repr(C)]
5055#[derive(Debug, Copy, Clone)]
5056pub struct PF_EffectCustomUIOverlayThemeSuite1 {
5057    pub PF_GetPreferredForegroundColor: ::std::option::Option<
5058        unsafe extern "C" fn(foreground_colorP: *mut DRAWBOT_ColorRGBA) -> PF_Err,
5059    >,
5060    pub PF_GetPreferredShadowColor: ::std::option::Option<
5061        unsafe extern "C" fn(shadow_colorP: *mut DRAWBOT_ColorRGBA) -> PF_Err,
5062    >,
5063    pub PF_GetPreferredStrokeWidth:
5064        ::std::option::Option<unsafe extern "C" fn(stroke_widthPF: *mut f32) -> PF_Err>,
5065    pub PF_GetPreferredVertexSize:
5066        ::std::option::Option<unsafe extern "C" fn(vertex_sizePF: *mut f32) -> PF_Err>,
5067    pub PF_GetPreferredShadowOffset:
5068        ::std::option::Option<unsafe extern "C" fn(shadow_offsetP: *mut A_LPoint) -> PF_Err>,
5069    pub PF_StrokePath: ::std::option::Option<
5070        unsafe extern "C" fn(
5071            drawbot_ref: DRAWBOT_DrawRef,
5072            path_ref: DRAWBOT_PathRef,
5073            draw_shadowB: PF_Boolean,
5074        ) -> PF_Err,
5075    >,
5076    pub PF_FillPath: ::std::option::Option<
5077        unsafe extern "C" fn(
5078            drawbot_ref: DRAWBOT_DrawRef,
5079            path_ref: DRAWBOT_PathRef,
5080            draw_shadowB: PF_Boolean,
5081        ) -> PF_Err,
5082    >,
5083    pub PF_FillVertex: ::std::option::Option<
5084        unsafe extern "C" fn(
5085            drawbot_ref: DRAWBOT_DrawRef,
5086            center_pointP: *const A_FloatPoint,
5087            draw_shadowB: PF_Boolean,
5088        ) -> PF_Err,
5089    >,
5090}
5091#[repr(C)]
5092#[derive(Debug, Copy, Clone)]
5093pub struct PF_ParamUtilsSuite1 {
5094    pub PF_UpdateParamUI: ::std::option::Option<
5095        unsafe extern "C" fn(
5096            effect_ref: PF_ProgPtr,
5097            param_index: PF_ParamIndex,
5098            defP: *const PF_ParamDef,
5099        ) -> PF_Err,
5100    >,
5101    pub PF_GetCurrentStateObsolete: ::std::option::Option<
5102        unsafe extern "C" fn(effect_ref: PF_ProgPtr, stateP: *mut PF_State) -> PF_Err,
5103    >,
5104    pub PF_HasParamChangedObsolete: ::std::option::Option<
5105        unsafe extern "C" fn(
5106            effect_ref: PF_ProgPtr,
5107            stateP: *const PF_State,
5108            param_index: PF_ParamIndex,
5109            changedPB: *mut PF_Boolean,
5110        ) -> PF_Err,
5111    >,
5112    pub PF_HaveInputsChangedOverTimeSpanObsolete: ::std::option::Option<
5113        unsafe extern "C" fn(
5114            effect_ref: PF_ProgPtr,
5115            stateP: *const PF_State,
5116            startPT0: *const A_Time,
5117            durationPT0: *const A_Time,
5118            changedPB: *mut PF_Boolean,
5119        ) -> PF_Err,
5120    >,
5121    pub PF_IsIdenticalCheckout: ::std::option::Option<
5122        unsafe extern "C" fn(
5123            effect_ref: PF_ProgPtr,
5124            param_index: PF_ParamIndex,
5125            what_time1: A_long,
5126            time_step1: A_long,
5127            time_scale1: A_u_long,
5128            what_time2: A_long,
5129            time_step2: A_long,
5130            time_scale2: A_u_long,
5131            identicalPB: *mut PF_Boolean,
5132        ) -> PF_Err,
5133    >,
5134    pub PF_FindKeyframeTime: ::std::option::Option<
5135        unsafe extern "C" fn(
5136            effect_ref: PF_ProgPtr,
5137            param_index: PF_ParamIndex,
5138            what_time: A_long,
5139            time_scale: A_u_long,
5140            time_dir: PF_TimeDir,
5141            foundPB: *mut PF_Boolean,
5142            key_indexP0: *mut PF_KeyIndex,
5143            key_timeP0: *mut A_long,
5144            key_timescaleP0: *mut A_u_long,
5145        ) -> PF_Err,
5146    >,
5147    pub PF_GetKeyframeCount: ::std::option::Option<
5148        unsafe extern "C" fn(
5149            effect_ref: PF_ProgPtr,
5150            param_index: PF_ParamIndex,
5151            key_countP: *mut PF_KeyIndex,
5152        ) -> PF_Err,
5153    >,
5154    pub PF_CheckoutKeyframe: ::std::option::Option<
5155        unsafe extern "C" fn(
5156            effect_ref: PF_ProgPtr,
5157            param_index: PF_ParamIndex,
5158            key_index: PF_KeyIndex,
5159            key_timeP0: *mut A_long,
5160            key_timescaleP0: *mut A_u_long,
5161            paramP0: *mut PF_ParamDef,
5162        ) -> PF_Err,
5163    >,
5164    pub PF_CheckinKeyframe: ::std::option::Option<
5165        unsafe extern "C" fn(effect_ref: PF_ProgPtr, paramP: *mut PF_ParamDef) -> PF_Err,
5166    >,
5167    pub PF_KeyIndexToTime: ::std::option::Option<
5168        unsafe extern "C" fn(
5169            effect_ref: PF_ProgPtr,
5170            param_index: PF_ParamIndex,
5171            key_indexP: PF_KeyIndex,
5172            key_timeP: *mut A_long,
5173            key_timescaleP: *mut A_u_long,
5174        ) -> PF_Err,
5175    >,
5176}
5177#[repr(C)]
5178#[derive(Debug, Copy, Clone)]
5179pub struct PFAppSuite4 {
5180    pub PF_AppGetBgColor:
5181        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
5182    pub PF_AppGetColor: ::std::option::Option<
5183        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
5184    >,
5185    pub PF_GetPersonalInfo:
5186        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
5187    pub PF_GetFontStyleSheet: ::std::option::Option<
5188        unsafe extern "C" fn(
5189            sheet: PF_FontStyleSheet,
5190            font_nameP0: *mut PF_FontName,
5191            font_numPS0: *mut A_short,
5192            sizePS0: *mut A_short,
5193            stylePS0: *mut A_short,
5194        ) -> PF_Err,
5195    >,
5196    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
5197    pub PF_IsRenderEngine:
5198        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
5199    pub PF_AppColorPickerDialog: ::std::option::Option<
5200        unsafe extern "C" fn(
5201            dialog_titleZ0: *const A_char,
5202            sample_colorP: *const PF_PixelFloat,
5203            use_ws_to_monitor_xformB: PF_Boolean,
5204            new_colorP: *mut PF_PixelFloat,
5205        ) -> PF_Err,
5206    >,
5207    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
5208    pub PF_InvalidateRect: ::std::option::Option<
5209        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
5210    >,
5211    pub PF_ConvertLocalToGlobal: ::std::option::Option<
5212        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
5213    >,
5214    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
5215        unsafe extern "C" fn(
5216            globalP: *const PF_Point,
5217            eyeSize: A_short,
5218            mode: PF_EyeDropperSampleMode,
5219            outColorP: *mut PF_PixelFloat,
5220        ) -> PF_Err,
5221    >,
5222}
5223#[repr(C)]
5224#[derive(Debug, Copy, Clone)]
5225pub struct PFAppSuite5 {
5226    pub PF_AppGetBgColor:
5227        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
5228    pub PF_AppGetColor: ::std::option::Option<
5229        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
5230    >,
5231    pub PF_AppGetLanguage:
5232        ::std::option::Option<unsafe extern "C" fn(lang_tagZ: *mut A_char) -> PF_Err>,
5233    pub PF_GetPersonalInfo:
5234        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
5235    pub PF_GetFontStyleSheet: ::std::option::Option<
5236        unsafe extern "C" fn(
5237            sheet: PF_FontStyleSheet,
5238            font_nameP0: *mut PF_FontName,
5239            font_numPS0: *mut A_short,
5240            sizePS0: *mut A_short,
5241            stylePS0: *mut A_short,
5242        ) -> PF_Err,
5243    >,
5244    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
5245    pub PF_IsRenderEngine:
5246        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
5247    pub PF_AppColorPickerDialog: ::std::option::Option<
5248        unsafe extern "C" fn(
5249            dialog_titleZ0: *const A_char,
5250            sample_colorP: *const PF_PixelFloat,
5251            use_ws_to_monitor_xformB: PF_Boolean,
5252            new_colorP: *mut PF_PixelFloat,
5253        ) -> PF_Err,
5254    >,
5255    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
5256    pub PF_InvalidateRect: ::std::option::Option<
5257        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
5258    >,
5259    pub PF_ConvertLocalToGlobal: ::std::option::Option<
5260        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
5261    >,
5262    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
5263        unsafe extern "C" fn(
5264            globalP: *const PF_Point,
5265            eyeSize: A_short,
5266            mode: PF_EyeDropperSampleMode,
5267            outColorP: *mut PF_PixelFloat,
5268        ) -> PF_Err,
5269    >,
5270}
5271#[repr(C)]
5272#[derive(Debug, Copy, Clone)]
5273pub struct PF_EffectCustomUISuite1 {
5274    pub PF_GetDrawingReference: ::std::option::Option<
5275        unsafe extern "C" fn(
5276            effect_contextH: PF_ContextH,
5277            referenceP0: *mut DRAWBOT_DrawRef,
5278        ) -> PF_Err,
5279    >,
5280}
5281pub const PF_SuiteTool_NONE: _bindgen_ty_69 = 0;
5282pub const PF_SuiteTool_ARROW: _bindgen_ty_69 = 1;
5283pub const PF_SuiteTool_ROTATE: _bindgen_ty_69 = 2;
5284pub const PF_SuiteTool_SHAPE: _bindgen_ty_69 = 3;
5285pub const PF_SuiteTool_OBSOLETE: _bindgen_ty_69 = 4;
5286pub const PF_SuiteTool_PEN: _bindgen_ty_69 = 5;
5287pub const PF_SuiteTool_PAN: _bindgen_ty_69 = 6;
5288pub const PF_SuiteTool_HAND: _bindgen_ty_69 = 7;
5289pub const PF_SuiteTool_MAGNIFY: _bindgen_ty_69 = 8;
5290pub const PF_SuiteTool_ROUNDED_RECT: _bindgen_ty_69 = 9;
5291pub const PF_SuiteTool_POLYGON: _bindgen_ty_69 = 10;
5292pub const PF_SuiteTool_STAR: _bindgen_ty_69 = 11;
5293pub const PF_SuiteTool_PIN: _bindgen_ty_69 = 12;
5294pub const PF_SuiteTool_PIN_STARCH: _bindgen_ty_69 = 13;
5295pub const PF_SuiteTool_PIN_DEPTH: _bindgen_ty_69 = 14;
5296pub type _bindgen_ty_69 = ::std::os::raw::c_uint;
5297pub type PF_SuiteTool = A_LegacyEnumType;
5298#[repr(C)]
5299#[derive(Debug, Copy, Clone)]
5300pub struct PF_HelperSuite1 {
5301    pub PF_GetCurrentTool:
5302        ::std::option::Option<unsafe extern "C" fn(toolP: *mut PF_SuiteTool) -> PF_Err>,
5303}
5304pub const PF_ExtendedSuiteTool_NONE: _bindgen_ty_70 = 0;
5305pub const PF_ExtendedSuiteTool_ARROW: _bindgen_ty_70 = 1;
5306pub const PF_ExtendedSuiteTool_ROTATE: _bindgen_ty_70 = 2;
5307pub const PF_ExtendedSuiteTool_PEN_NORMAL: _bindgen_ty_70 = 3;
5308pub const PF_ExtendedSuiteTool_PEN_ADD_POINT: _bindgen_ty_70 = 4;
5309pub const PF_ExtendedSuiteTool_PEN_DELETE_POINT: _bindgen_ty_70 = 5;
5310pub const PF_ExtendedSuiteTool_PEN_CONVERT_POINT: _bindgen_ty_70 = 6;
5311pub const PF_ExtendedSuiteTool_RECT: _bindgen_ty_70 = 7;
5312pub const PF_ExtendedSuiteTool_OVAL: _bindgen_ty_70 = 8;
5313pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_CAMERA: _bindgen_ty_70 = 9;
5314pub const PF_ExtendedSuiteTool_CAMERA_PAN_CAMERA: _bindgen_ty_70 = 10;
5315pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_CAMERA: _bindgen_ty_70 = 11;
5316pub const PF_ExtendedSuiteTool_PAN_BEHIND: _bindgen_ty_70 = 12;
5317pub const PF_ExtendedSuiteTool_HAND: _bindgen_ty_70 = 13;
5318pub const PF_ExtendedSuiteTool_MAGNIFY: _bindgen_ty_70 = 14;
5319pub const PF_ExtendedSuiteTool_PAINTBRUSH: _bindgen_ty_70 = 15;
5320pub const PF_ExtendedSuiteTool_PENCIL: _bindgen_ty_70 = 16;
5321pub const PF_ExtendedSuiteTool_CLONE_STAMP: _bindgen_ty_70 = 17;
5322pub const PF_ExtendedSuiteTool_ERASER: _bindgen_ty_70 = 18;
5323pub const PF_ExtendedSuiteTool_TEXT: _bindgen_ty_70 = 19;
5324pub const PF_ExtendedSuiteTool_TEXT_VERTICAL: _bindgen_ty_70 = 20;
5325pub const PF_ExtendedSuiteTool_PIN: _bindgen_ty_70 = 21;
5326pub const PF_ExtendedSuiteTool_PIN_STARCH: _bindgen_ty_70 = 22;
5327pub const PF_ExtendedSuiteTool_PIN_DEPTH: _bindgen_ty_70 = 23;
5328pub const PF_ExtendedSuiteTool_ROUNDED_RECT: _bindgen_ty_70 = 24;
5329pub const PF_ExtendedSuiteTool_POLYGON: _bindgen_ty_70 = 25;
5330pub const PF_ExtendedSuiteTool_STAR: _bindgen_ty_70 = 26;
5331pub const PF_ExtendedSuiteTool_QUICKSELECT: _bindgen_ty_70 = 27;
5332pub const PF_ExtendedSuiteTool_CAMERA_MAYA: _bindgen_ty_70 = 28;
5333pub const PF_ExtendedSuiteTool_HAIRBRUSH: _bindgen_ty_70 = 29;
5334pub const PF_ExtendedSuiteTool_FEATHER: _bindgen_ty_70 = 30;
5335pub const PF_ExtendedSuiteTool_PIN_BEND: _bindgen_ty_70 = 31;
5336pub const PF_ExtendedSuiteTool_PIN_ADVANCED: _bindgen_ty_70 = 32;
5337pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_CURSOR: _bindgen_ty_70 = 33;
5338pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_SCENE: _bindgen_ty_70 = 34;
5339pub const PF_ExtendedSuiteTool_CAMERA_PAN_CURSOR: _bindgen_ty_70 = 35;
5340pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_TOWARDS_CURSOR: _bindgen_ty_70 = 36;
5341pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_TO_CURSOR: _bindgen_ty_70 = 37;
5342pub const PF_ExtendedSuiteTool_OBJECTSELECT: _bindgen_ty_70 = 38;
5343pub const PF_ExtendedSuiteTool_CUBE: _bindgen_ty_70 = 39;
5344pub const PF_ExtendedSuiteTool_SPHERE: _bindgen_ty_70 = 40;
5345pub const PF_ExtendedSuiteTool_PLANE: _bindgen_ty_70 = 41;
5346pub const PF_ExtendedSuiteTool_TORUS: _bindgen_ty_70 = 42;
5347pub const PF_ExtendedSuiteTool_CONE: _bindgen_ty_70 = 43;
5348pub const PF_ExtendedSuiteTool_CYLINDER: _bindgen_ty_70 = 44;
5349#[doc = " PF_HelperSuite2\n\nPF_ParseClipboard()\n\ncauses After Effects to parse the clipboard immediately"]
5350pub type _bindgen_ty_70 = ::std::os::raw::c_uint;
5351pub type PF_ExtendedSuiteTool = A_LegacyEnumType;
5352#[repr(C)]
5353#[derive(Debug, Copy, Clone)]
5354pub struct PF_HelperSuite2 {
5355    pub PF_ParseClipboard: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
5356    pub PF_SetCurrentExtendedTool:
5357        ::std::option::Option<unsafe extern "C" fn(tool: PF_ExtendedSuiteTool) -> PF_Err>,
5358    pub PF_GetCurrentExtendedTool:
5359        ::std::option::Option<unsafe extern "C" fn(tool: *mut PF_ExtendedSuiteTool) -> PF_Err>,
5360}
5361pub const FIEL_Type_FRAME_RENDERED: _bindgen_ty_71 = 0;
5362pub const FIEL_Type_INTERLACED: _bindgen_ty_71 = 1;
5363pub const FIEL_Type_HALF_HEIGHT: _bindgen_ty_71 = 2;
5364pub const FIEL_Type_FIELD_DOUBLED: _bindgen_ty_71 = 3;
5365pub const FIEL_Type_UNSPECIFIED: _bindgen_ty_71 = 4;
5366pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
5367pub type FIEL_Type = u32;
5368pub const FIEL_Order_UPPER_FIRST: _bindgen_ty_72 = 0;
5369pub const FIEL_Order_LOWER_FIRST: _bindgen_ty_72 = 1;
5370pub type _bindgen_ty_72 = ::std::os::raw::c_uint;
5371pub type FIEL_Order = u32;
5372#[repr(C, packed(2))]
5373#[derive(Debug, Copy, Clone)]
5374pub struct FIEL_Label {
5375    pub signature: u32,
5376    pub version: i16,
5377    pub type_: FIEL_Type,
5378    pub order: FIEL_Order,
5379    pub reserved: u32,
5380}
5381#[doc = " $$$ move to aegp.h"]
5382pub type PR_Handle = *mut *mut _Up_OpaqueMem;
5383pub type PR_FlatHandle = PR_Handle;
5384pub type PR_GlobalDataH = PR_Handle;
5385pub type PR_InstanceDataH = PR_Handle;
5386pub type PR_RenderDataH = PR_Handle;
5387#[repr(C)]
5388#[derive(Debug, Copy, Clone)]
5389pub struct PR_GlobalContext {
5390    _unused: [u8; 0],
5391}
5392pub type PR_GlobalContextH = *mut *mut PR_GlobalContext;
5393#[repr(C)]
5394#[derive(Debug, Copy, Clone)]
5395pub struct PR_InstanceContext {
5396    _unused: [u8; 0],
5397}
5398pub type PR_InstanceContextH = *mut *mut PR_InstanceContext;
5399#[repr(C)]
5400#[derive(Debug, Copy, Clone)]
5401pub struct PR_RenderContext {
5402    _unused: [u8; 0],
5403}
5404pub type PR_RenderContextH = *mut *mut PR_RenderContext;
5405#[repr(C)]
5406#[derive(Debug, Copy, Clone)]
5407pub struct PR_QueryContext {
5408    _unused: [u8; 0],
5409}
5410pub type PR_QueryContextH = *mut *mut PR_QueryContext;
5411pub type PF_EffectWorldPtr = *mut PF_LayerDef;
5412#[doc = " in data is passed to every pr entry function"]
5413pub type PR_MessageFunc =
5414    ::std::option::Option<unsafe extern "C" fn(err_number: A_Err, msgA: *const A_char)>;
5415#[repr(C, packed(4))]
5416#[derive(Debug, Copy, Clone)]
5417pub struct PR_InData {
5418    pub msg_func: PR_MessageFunc,
5419    pub pica_basicP: *const SPBasicSuite,
5420    pub aegp_plug_id: A_long,
5421    pub aegp_refconPV: *mut ::std::os::raw::c_void,
5422}
5423pub const PR_DialogResult_NO_CHANGE: _bindgen_ty_73 = 0;
5424pub const PR_DialogResult_CHANGE_MADE: _bindgen_ty_73 = 1;
5425#[doc = " response from dialog box function"]
5426pub type _bindgen_ty_73 = ::std::os::raw::c_uint;
5427pub type PR_DialogResult = A_long;
5428pub const PR_QueryType_NONE: _bindgen_ty_74 = 0;
5429pub const PR_QueryType_TRANSFORM: _bindgen_ty_74 = 1;
5430pub const PR_QueryType_INTERACTIVE_WINDOW_DISPOSE: _bindgen_ty_74 = 2;
5431pub const PR_QueryType_INTERACTIVE_WINDOW_CLEAR: _bindgen_ty_74 = 3;
5432pub const PR_QueryType_INTERACTIVE_WINDOW_FROZEN_PROXY: _bindgen_ty_74 = 4;
5433pub const PR_QueryType_INTERACTIVE_SWAP_BUFFER: _bindgen_ty_74 = 5;
5434pub const PR_QueryType_INTERACTIVE_DRAW_PROCS: _bindgen_ty_74 = 6;
5435pub const PR_QueryType_PREPARE_FOR_LINE_DRAWING: _bindgen_ty_74 = 7;
5436pub const PR_QueryType_UNPREPARE_FOR_LINE_DRAWING: _bindgen_ty_74 = 8;
5437pub const PR_QueryType_GET_CURRENT_CONTEXT_SAFE_FOR_LINE_DRAWING: _bindgen_ty_74 = 9;
5438pub const PR_QueryType_GET_ARTISAN_QUALITY: _bindgen_ty_74 = 10;
5439#[doc = " The types of queries that will be made.\n"]
5440pub type _bindgen_ty_74 = ::std::os::raw::c_uint;
5441pub type PR_QueryType = A_u_long;
5442pub const PR_ArtisanFeature_NONE: _bindgen_ty_75 = 0;
5443pub type _bindgen_ty_75 = ::std::os::raw::c_uint;
5444pub type PR_ArtisanFeature_Flags = A_long;
5445pub const PR_InstanceFlags_NONE: _bindgen_ty_76 = 0;
5446pub const PR_InstanceFlags_DUPLICATE: _bindgen_ty_76 = 1;
5447#[doc = " PR_InstanceSetupFunc flags"]
5448pub type _bindgen_ty_76 = ::std::os::raw::c_uint;
5449pub type PR_InstanceFlags = A_u_long;
5450#[doc = " called after main. This happens just once, after the plugin is loaded.\n The global data is common across all instances of the plugin"]
5451pub type PR_GlobalSetupFunc = ::std::option::Option<
5452    unsafe extern "C" fn(
5453        in_dataP: *const PR_InData,
5454        global_contextH: PR_GlobalContextH,
5455        global_dataPH: *mut PR_GlobalDataH,
5456    ) -> A_Err,
5457>;
5458#[doc = " dispose of the global data"]
5459pub type PR_GlobalSetdownFunc = ::std::option::Option<
5460    unsafe extern "C" fn(
5461        in_dataP: *const PR_InData,
5462        global_contextH: PR_GlobalContextH,
5463        global_dataH: PR_GlobalDataH,
5464    ) -> A_Err,
5465>;
5466#[doc = " display an about box"]
5467pub type PR_GlobalDoAboutFunc = ::std::option::Option<
5468    unsafe extern "C" fn(
5469        in_dataP: *const PR_InData,
5470        global_contextH: PR_GlobalContextH,
5471        global_dataH: PR_GlobalDataH,
5472    ) -> A_Err,
5473>;
5474#[doc = " Analogous to an Effect's Sequence setup call. This sets up the renderer's\n instance data."]
5475pub type PR_InstanceSetupFunc = ::std::option::Option<
5476    unsafe extern "C" fn(
5477        in_dataP: *const PR_InData,
5478        global_contextH: PR_GlobalContextH,
5479        instance_contextH: PR_InstanceContextH,
5480        global_dataH: PR_GlobalDataH,
5481        flags: PR_InstanceFlags,
5482        flat_dataH0: PR_FlatHandle,
5483        instance_dataPH: *mut PR_InstanceDataH,
5484    ) -> A_Err,
5485>;
5486#[doc = " dispose of the instance data"]
5487pub type PR_InstanceSetdownFunc = ::std::option::Option<
5488    unsafe extern "C" fn(
5489        in_dataP: *const PR_InData,
5490        global_contextH: PR_GlobalContextH,
5491        instance_contextH: PR_InstanceContextH,
5492        global_dataH: PR_GlobalDataH,
5493        instance_dataH: PR_InstanceDataH,
5494    ) -> A_Err,
5495>;
5496#[doc = " flatten your data in preparation to being written to disk.\n Make sure its OS independent"]
5497pub type PR_FlattenInstanceFunc = ::std::option::Option<
5498    unsafe extern "C" fn(
5499        in_dataP: *const PR_InData,
5500        global_contextH: PR_GlobalContextH,
5501        instance_contextH: PR_InstanceContextH,
5502        global_dataH: PR_GlobalDataH,
5503        instance_dataH: PR_InstanceDataH,
5504        flatH: *mut PR_FlatHandle,
5505    ) -> A_Err,
5506>;
5507#[doc = " if the renderer has parameters, this is where they get set or changed."]
5508pub type PR_DoInstanceDialogFunc = ::std::option::Option<
5509    unsafe extern "C" fn(
5510        in_dataP: *const PR_InData,
5511        global_contextH: PR_GlobalContextH,
5512        instance_contextH: PR_InstanceContextH,
5513        global_dataH: PR_GlobalDataH,
5514        instance_dataH: PR_InstanceDataH,
5515        resultP: *mut PR_DialogResult,
5516    ) -> A_Err,
5517>;
5518#[doc = " allocate render data if needed"]
5519pub type PR_FrameSetupFunc = ::std::option::Option<
5520    unsafe extern "C" fn(
5521        in_dataP: *const PR_InData,
5522        global_contextH: PR_GlobalContextH,
5523        instance_contextH: PR_InstanceContextH,
5524        render_contextH: PR_RenderContextH,
5525        global_dataH: PR_GlobalDataH,
5526        instance_dataH: PR_InstanceDataH,
5527        render_dataPH: *mut PR_RenderDataH,
5528    ) -> A_Err,
5529>;
5530#[doc = " deallocate render data"]
5531pub type PR_FrameSetdownFunc = ::std::option::Option<
5532    unsafe extern "C" fn(
5533        in_dataP: *const PR_InData,
5534        global_contextH: PR_GlobalContextH,
5535        instance_contextH: PR_InstanceContextH,
5536        render_contextH: PR_RenderContextH,
5537        global_dataH: PR_GlobalDataH,
5538        instance_dataH: PR_InstanceDataH,
5539        render_dataH: PR_RenderDataH,
5540    ) -> A_Err,
5541>;
5542#[doc = " the main drawing routine"]
5543pub type PR_RenderFunc = ::std::option::Option<
5544    unsafe extern "C" fn(
5545        in_dataP: *const PR_InData,
5546        global_contextH: PR_GlobalContextH,
5547        instance_contextH: PR_InstanceContextH,
5548        render_contextH: PR_RenderContextH,
5549        global_dataH: PR_GlobalDataH,
5550        instance_dataH: PR_InstanceDataH,
5551        render_dataH: PR_RenderDataH,
5552    ) -> A_Err,
5553>;
5554#[doc = " AE will need to have the artisan process data on its behalf such as\n projecting points to the screen, transforming axis, etc. This routine will handle\n it all"]
5555pub type PR_QueryFunc = ::std::option::Option<
5556    unsafe extern "C" fn(
5557        in_dataP: *const PR_InData,
5558        global_contextH: PR_GlobalContextH,
5559        instance_contextH: PR_InstanceContextH,
5560        query_contextH: PR_QueryContextH,
5561        query_type: PR_QueryType,
5562        global_data: PR_GlobalDataH,
5563        instance_dataH: PR_InstanceDataH,
5564    ) -> A_Err,
5565>;
5566#[doc = " main fills this in, just once at plugin load time\n These are the entry points that AE calls to use an artisan."]
5567#[repr(C, packed(4))]
5568#[derive(Debug, Copy, Clone)]
5569pub struct PR_ArtisanEntryPoints {
5570    pub global_setup_func0: PR_GlobalSetupFunc,
5571    pub global_setdown_func0: PR_GlobalSetdownFunc,
5572    pub global_do_about_func0: PR_GlobalDoAboutFunc,
5573    pub setup_instance_func0: PR_InstanceSetupFunc,
5574    pub setdown_instance_func0: PR_InstanceSetdownFunc,
5575    pub flatten_instance_func0: PR_FlattenInstanceFunc,
5576    pub do_instance_dialog_func0: PR_DoInstanceDialogFunc,
5577    pub frame_setup_func0: PR_FrameSetupFunc,
5578    pub render_func: PR_RenderFunc,
5579    pub frame_setdown_func0: PR_FrameSetdownFunc,
5580    pub query_func0: PR_QueryFunc,
5581}
5582#[doc = " line drawing routines for interactive artisans"]
5583pub type PR_Draw_MoveToFunc = ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong)>;
5584pub type PR_Draw_LineToFunc = ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong)>;
5585pub type PR_Draw_LineRelFunc =
5586    ::std::option::Option<unsafe extern "C" fn(dx: A_FpLong, dy: A_FpLong)>;
5587pub type PR_Draw_ForeColorFunc =
5588    ::std::option::Option<unsafe extern "C" fn(fore_color: *const A_Color)>;
5589pub type PR_Draw_BackColorFunc =
5590    ::std::option::Option<unsafe extern "C" fn(fore_color: *const A_Color)>;
5591pub type PR_Draw_FrameRectFunc =
5592    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5593pub type PR_Draw_PaintRectFunc =
5594    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5595pub type PR_Draw_FrameOvalFunc =
5596    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5597pub type PR_Draw_PaintOvalFunc =
5598    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5599pub type PR_Draw_InvertRectFunc =
5600    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5601pub type PR_Draw_SetClipFunc =
5602    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect, invertB: A_Boolean)>;
5603pub type PR_Draw_PenNormal = ::std::option::Option<unsafe extern "C" fn()>;
5604pub type PR_Draw_PenSize =
5605    ::std::option::Option<unsafe extern "C" fn(widthS: A_FpLong, heightS: A_FpLong)>;
5606pub type PR_Draw_PenPat = ::std::option::Option<unsafe extern "C" fn(pattern: A_u_char)>;
5607pub type PR_Draw_Invert = ::std::option::Option<unsafe extern "C" fn(arg1: A_Boolean)>;
5608pub type PR_CacheIconFunc = ::std::option::Option<unsafe extern "C" fn(iconP: PF_EffectWorldPtr)>;
5609pub type PR_DrawCachedIconFunc = ::std::option::Option<unsafe extern "C" fn(x: A_long, y: A_long)>;
5610pub type PR_DrawStringFunc = ::std::option::Option<
5611    unsafe extern "C" fn(
5612        nameZ: *const A_UTF16Char,
5613        style: PF_FontStyleSheet,
5614        fore_colorP: *const A_Color,
5615        shadow_colorP: *const A_Color,
5616        originP: *const A_FloatPoint,
5617        shadow_offsetP: *const A_FloatPoint,
5618    ),
5619>;
5620pub type PR_StrokePolyFunc =
5621    ::std::option::Option<unsafe extern "C" fn(nptsL: A_long, ptsA: *mut A_FloatPoint)>;
5622pub type PR_PaintPolyFunc =
5623    ::std::option::Option<unsafe extern "C" fn(nptsL: A_long, ptsA: *mut A_FloatPoint)>;
5624#[repr(C, packed(4))]
5625#[derive(Debug, Copy, Clone)]
5626pub struct PR_InteractiveDrawProcs {
5627    pub move_to_func: PR_Draw_MoveToFunc,
5628    pub line_to_func: PR_Draw_LineToFunc,
5629    pub line_rel_func: PR_Draw_LineRelFunc,
5630    pub fore_color_func: PR_Draw_ForeColorFunc,
5631    pub back_color_func: PR_Draw_BackColorFunc,
5632    pub frame_rect_func: PR_Draw_FrameRectFunc,
5633    pub paint_rect_func: PR_Draw_PaintRectFunc,
5634    pub frame_oval_func: PR_Draw_FrameOvalFunc,
5635    pub paint_oval_func: PR_Draw_PaintOvalFunc,
5636    pub invert_rect_func: PR_Draw_InvertRectFunc,
5637    pub set_clip_func: PR_Draw_SetClipFunc,
5638    pub pen_normal_func: PR_Draw_PenNormal,
5639    pub pen_size_func: PR_Draw_PenSize,
5640    pub pen_pat_func: PR_Draw_PenPat,
5641    pub invert_func: PR_Draw_Invert,
5642    pub cache_icon_func: PR_CacheIconFunc,
5643    pub draw_cached_icon_func: PR_DrawCachedIconFunc,
5644    pub draw_string_func: PR_DrawStringFunc,
5645    pub stroke_poly_func: PR_StrokePolyFunc,
5646    pub paint_poly_func: PR_PaintPolyFunc,
5647}
5648#[repr(C, packed(2))]
5649#[derive(Debug, Copy, Clone)]
5650pub struct PF_MaskSuite1 {
5651    pub PF_MaskWorldWithPath: ::std::option::Option<
5652        unsafe extern "C" fn(
5653            effect_ref: PF_ProgPtr,
5654            mask: *mut PF_PathOutlinePtr,
5655            feather_x: PF_FpLong,
5656            feather_y: PF_FpLong,
5657            invert: PF_Boolean,
5658            opacity: PF_FpLong,
5659            quality: PF_Quality,
5660            worldP: *mut PF_EffectWorld,
5661            bboxPR0: *mut PF_Rect,
5662        ) -> A_Err,
5663    >,
5664}
5665#[repr(C)]
5666#[derive(Debug, Copy, Clone)]
5667pub struct AEIO_FileExt {
5668    pub pad: A_char,
5669    pub extension: [A_char; 3usize],
5670}
5671#[repr(C)]
5672#[derive(Debug, Copy, Clone)]
5673pub struct _AEGP_MarkerVal {
5674    _unused: [u8; 0],
5675}
5676pub type AEGP_ConstMarkerValP = *const _AEGP_MarkerVal;
5677#[doc = " in data is passed to every function block function"]
5678pub type AEIO_MessageFunc =
5679    ::std::option::Option<unsafe extern "C" fn(err_number: A_Err, msgA: *const A_char)>;
5680#[repr(C)]
5681#[derive(Debug, Copy, Clone)]
5682pub struct AEIO_InData {
5683    pub msg_func: AEIO_MessageFunc,
5684    pub pica_basicP: *const SPBasicSuite,
5685    pub aegp_plug_id: A_long,
5686    pub aegp_refconPV: *mut ::std::os::raw::c_void,
5687}
5688pub type AEIO_BasicData = AEIO_InData;
5689pub const AEIO_Err_UNSUPPORTED_CALLBACK: _bindgen_ty_77 = 9985;
5690pub const AEIO_Err_UNIMPLEMENTED: _bindgen_ty_77 = 9986;
5691pub const AEIO_Err_UNSUPPORTED_FILETYPE: _bindgen_ty_77 = 9987;
5692pub const AEIO_Err_INAPPROPRIATE_ACTION: _bindgen_ty_77 = 9988;
5693pub const AEIO_Err_BAD_BMWORLD: _bindgen_ty_77 = 9989;
5694pub const AEIO_Err_INCONSISTENT_PARAMETERS: _bindgen_ty_77 = 9990;
5695pub const AEIO_Err_INVALID_TIME: _bindgen_ty_77 = 9991;
5696pub const AEIO_Err_USE_DFLT_CALLBACK: _bindgen_ty_77 = 9992;
5697pub const AEIO_Err_USER_CANCEL: _bindgen_ty_77 = 9993;
5698pub const AEIO_Err_DISK_FULL: _bindgen_ty_77 = 9994;
5699pub const AEIO_Err_INITIALIZE_FAILED: _bindgen_ty_77 = 9995;
5700pub const AEIO_Err_BAD_FILENAME: _bindgen_ty_77 = 9996;
5701pub const AEIO_Err_PARSING: _bindgen_ty_77 = 9997;
5702pub const AEIO_Err_NOT_SEQUENCE: _bindgen_ty_77 = 9998;
5703pub const AEIO_Err_USE_DFLT_GETSIZES_FREESPACE: _bindgen_ty_77 = 9999;
5704pub type _bindgen_ty_77 = ::std::os::raw::c_uint;
5705pub type AEIO_Handle = *mut *mut _Up_OpaqueMem;
5706pub const AEIO_DFlags_NONE: _bindgen_ty_78 = 0;
5707pub const AEIO_DFlags_DID_DEINT: _bindgen_ty_78 = 2;
5708pub const AEIO_DFlags_DID_ALPHA_CONV: _bindgen_ty_78 = 4;
5709pub type _bindgen_ty_78 = ::std::os::raw::c_uint;
5710pub type AEIO_DrawingFlags = A_long;
5711pub const AEIO_Qual_LOW: _bindgen_ty_79 = 0;
5712pub const AEIO_Qual_HIGH: _bindgen_ty_79 = 1;
5713pub type _bindgen_ty_79 = ::std::os::raw::c_uint;
5714pub type AEIO_Quality = A_short;
5715pub const AEIO_TimeDir_FORWARD: _bindgen_ty_80 = 0;
5716pub const AEIO_TimeDir_BACKWARD: _bindgen_ty_80 = 1;
5717pub const AEIO_TimeDir_INCLUDE_BASE_TIME: _bindgen_ty_80 = 4096;
5718pub type _bindgen_ty_80 = ::std::os::raw::c_uint;
5719pub type AEIO_TimeDir = A_short;
5720pub const AEIO_IdleFlag_NONE: _bindgen_ty_81 = 0;
5721pub const AEIO_IdleFlag_PURGED_MEM: _bindgen_ty_81 = 1;
5722pub const AEIO_IdleFlag_ADD_YOUR_OWN: _bindgen_ty_81 = 2;
5723pub type _bindgen_ty_81 = ::std::os::raw::c_uint;
5724pub type AEIO_IdleFlags = A_long;
5725pub const AEIO_SndQuality_APPROX: _bindgen_ty_82 = -1;
5726pub const AEIO_SndQuality_LO: _bindgen_ty_82 = 0;
5727pub const AEIO_SndQuality_HI: _bindgen_ty_82 = 1;
5728pub type _bindgen_ty_82 = ::std::os::raw::c_int;
5729pub type AEIO_SndQuality = A_long;
5730pub const AEIO_E_UNSIGNED_PCM: _bindgen_ty_83 = 1;
5731pub const AEIO_E_SIGNED_PCM: _bindgen_ty_83 = 2;
5732pub const AEIO_E_SIGNED_FLOAT: _bindgen_ty_83 = 3;
5733pub type _bindgen_ty_83 = ::std::os::raw::c_uint;
5734pub type AEIO_SndEncoding = A_short;
5735pub const AEIO_SS_1: _bindgen_ty_84 = 1;
5736pub const AEIO_SS_2: _bindgen_ty_84 = 2;
5737pub const AEIO_SS_4: _bindgen_ty_84 = 4;
5738pub type _bindgen_ty_84 = ::std::os::raw::c_uint;
5739pub type AEIO_SndSampleSize = A_short;
5740pub const AEIO_SndChannels_MONO: _bindgen_ty_85 = 1;
5741pub const AEIO_SndChannels_STEREO: _bindgen_ty_85 = 2;
5742pub type _bindgen_ty_85 = ::std::os::raw::c_uint;
5743pub type AEIO_SndChannels = A_short;
5744pub const AEIO_Marker_URL_FLIP: _bindgen_ty_86 = 0;
5745pub const AEIO_Marker_CHAPTER: _bindgen_ty_86 = 1;
5746pub const AEIO_Marker_HOTSPOT: _bindgen_ty_86 = 2;
5747pub const AEIO_Marker_NONE: _bindgen_ty_86 = 3;
5748pub type _bindgen_ty_86 = ::std::os::raw::c_uint;
5749pub type AEIO_MarkerType = A_u_char;
5750pub const AEIO_Field_FRAME: _bindgen_ty_87 = 0;
5751pub const AEIO_Field_UPPER: _bindgen_ty_87 = 1;
5752pub const AEIO_Field_LOWER: _bindgen_ty_87 = 2;
5753pub type _bindgen_ty_87 = ::std::os::raw::c_uint;
5754pub type AEIO_Field = A_long;
5755#[repr(C)]
5756#[derive(Debug, Copy, Clone)]
5757pub struct AEIO_Marker {
5758    pub chapterZ0: *const A_char,
5759    pub commentZ0: *const A_char,
5760    pub urlZ0: *const A_char,
5761    pub url_frame_targetZ0: *const A_char,
5762}
5763pub const AEIO_FrameBlend_NONE: _bindgen_ty_88 = 0;
5764pub const AEIO_FrameBlend_LOW: _bindgen_ty_88 = 1;
5765pub const AEIO_FrameBlend_HIGH: _bindgen_ty_88 = 2;
5766pub type _bindgen_ty_88 = ::std::os::raw::c_uint;
5767pub type AEIO_FrameBlend = A_char;
5768pub const AEIO_LFlag_ALFA: _bindgen_ty_89 = 1;
5769pub const AEIO_LFlag_FIELDS: _bindgen_ty_89 = 2;
5770pub const AEIO_LFlag_SIGNATURE: _bindgen_ty_89 = 4;
5771pub type _bindgen_ty_89 = ::std::os::raw::c_uint;
5772pub type AEIO_LabelFlags = A_long;
5773pub const AEIO_InputDepth_1: _bindgen_ty_90 = 1;
5774pub const AEIO_InputDepth_2: _bindgen_ty_90 = 2;
5775pub const AEIO_InputDepth_4: _bindgen_ty_90 = 4;
5776pub const AEIO_InputDepth_8: _bindgen_ty_90 = 8;
5777pub const AEIO_InputDepth_16: _bindgen_ty_90 = 16;
5778pub const AEIO_InputDepth_24: _bindgen_ty_90 = 24;
5779pub const AEIO_InputDepth_30: _bindgen_ty_90 = 30;
5780pub const AEIO_InputDepth_32: _bindgen_ty_90 = 32;
5781pub const AEIO_InputDepth_GRAY_2: _bindgen_ty_90 = 34;
5782pub const AEIO_InputDepth_GRAY_4: _bindgen_ty_90 = 36;
5783pub const AEIO_InputDepth_GRAY_8: _bindgen_ty_90 = 40;
5784pub const AEIO_InputDepth_48: _bindgen_ty_90 = 48;
5785pub const AEIO_InputDepth_64: _bindgen_ty_90 = 64;
5786pub const AEIO_InputDepth_96: _bindgen_ty_90 = 96;
5787pub const AEIO_InputDepth_128: _bindgen_ty_90 = 128;
5788pub const AEIO_InputDepth_GRAY_16: _bindgen_ty_90 = -16;
5789pub const AEIO_InputDepth_GRAY_32: _bindgen_ty_90 = -32;
5790pub type _bindgen_ty_90 = ::std::os::raw::c_int;
5791pub type AEIO_InputDepth = A_long;
5792pub const AEIO_SupportedDepthFlags_NONE: _bindgen_ty_91 = 0;
5793pub const AEIO_SupportedDepthFlags_DEPTH_1: _bindgen_ty_91 = 2;
5794pub const AEIO_SupportedDepthFlags_DEPTH_2: _bindgen_ty_91 = 4;
5795pub const AEIO_SupportedDepthFlags_DEPTH_4: _bindgen_ty_91 = 8;
5796pub const AEIO_SupportedDepthFlags_DEPTH_8: _bindgen_ty_91 = 16;
5797pub const AEIO_SupportedDepthFlags_DEPTH_16: _bindgen_ty_91 = 32;
5798pub const AEIO_SupportedDepthFlags_DEPTH_24: _bindgen_ty_91 = 64;
5799pub const AEIO_SupportedDepthFlags_DEPTH_32: _bindgen_ty_91 = 128;
5800pub const AEIO_SupportedDepthFlags_DEPTH_GRAY_2: _bindgen_ty_91 = 256;
5801pub const AEIO_SupportedDepthFlags_DEPTH_GRAY_4: _bindgen_ty_91 = 512;
5802pub const AEIO_SupportedDepthFlags_DEPTH_GRAY_8: _bindgen_ty_91 = 1024;
5803pub const AEIO_SupportedDepthFlags_DEPTH_48: _bindgen_ty_91 = 2048;
5804pub const AEIO_SupportedDepthFlags_DEPTH_64: _bindgen_ty_91 = 4096;
5805pub const AEIO_SupportedDepthFlags_DEPTH_GRAY_16: _bindgen_ty_91 = 8192;
5806pub const AEIO_SupportedDepthFlags_DEPTH_96: _bindgen_ty_91 = 16384;
5807pub const AEIO_SupportedDepthFlags_DEPTH_128: _bindgen_ty_91 = 32768;
5808pub const AEIO_SupportedDepthFlags_LAST: _bindgen_ty_91 = 65536;
5809pub type _bindgen_ty_91 = ::std::os::raw::c_uint;
5810pub type AEIO_SupportedDepthFlags = A_long;
5811pub const AEIO_Phase_NO_PULLDOWN: _bindgen_ty_92 = 0;
5812pub const AEIO_Phase_WSSWW: _bindgen_ty_92 = 1;
5813pub const AEIO_Phase_SSWWW: _bindgen_ty_92 = 2;
5814pub const AEIO_Phase_SWWWS: _bindgen_ty_92 = 3;
5815pub const AEIO_Phase_WWWSS: _bindgen_ty_92 = 4;
5816pub const AEIO_Phase_WWSSW: _bindgen_ty_92 = 5;
5817pub type _bindgen_ty_92 = ::std::os::raw::c_uint;
5818pub type AEIO_Pulldown = A_long;
5819pub type AEIO_FileType = A_long;
5820pub type AEIO_Creator = A_long;
5821#[repr(C)]
5822#[derive(Debug, Copy, Clone)]
5823pub struct PFILE_FileKind {
5824    pub type_: AEIO_FileType,
5825    pub creator: AEIO_Creator,
5826}
5827#[repr(C)]
5828#[derive(Copy, Clone)]
5829pub union AEIO_FileKind {
5830    pub mac: PFILE_FileKind,
5831    pub ext: AEIO_FileExt,
5832    pub scrap: A_long,
5833}
5834#[repr(C)]
5835#[derive(Debug, Copy, Clone)]
5836pub struct AEIO_Verbiage {
5837    pub name: [A_char; 32usize],
5838    pub type_: [A_char; 32usize],
5839    pub sub_type: [A_char; 128usize],
5840}
5841#[repr(C)]
5842#[derive(Debug, Copy, Clone)]
5843pub struct AEIO_SeqSpec {
5844    _unused: [u8; 0],
5845}
5846pub type AEIO_InSpecH = *mut *mut AEIO_SeqSpec;
5847#[repr(C)]
5848#[derive(Debug, Copy, Clone)]
5849pub struct AEIO_OutSpec {
5850    _unused: [u8; 0],
5851}
5852pub type AEIO_OutSpecH = *mut *mut AEIO_OutSpec;
5853pub type AEIO_ModuleSignature = A_long;
5854#[repr(C)]
5855#[derive(Debug, Copy, Clone)]
5856pub struct AEIO_RationalScale {
5857    pub x: A_Ratio,
5858    pub y: A_Ratio,
5859}
5860pub const AEIO_AlphaPremul: _bindgen_ty_93 = 1;
5861pub const AEIO_AlphaInverted: _bindgen_ty_93 = 2;
5862pub type _bindgen_ty_93 = ::std::os::raw::c_uint;
5863pub type AEIO_AlphaFlags = A_u_long;
5864pub const AEIO_Alpha_STRAIGHT: _bindgen_ty_94 = 0;
5865pub const AEIO_Alpha_PREMUL: _bindgen_ty_94 = 1;
5866pub const AEIO_Alpha_IGNORE: _bindgen_ty_94 = 2;
5867pub const AEIO_Alpha_NONE: _bindgen_ty_94 = 3;
5868pub type _bindgen_ty_94 = ::std::os::raw::c_uint;
5869pub type AEIO_AlphaType = A_u_char;
5870#[repr(C, packed(2))]
5871#[derive(Debug, Copy, Clone)]
5872pub struct AEIO_AlphaLabel {
5873    pub version: A_short,
5874    pub flags: AEIO_AlphaFlags,
5875    pub red: A_u_char,
5876    pub green: A_u_char,
5877    pub blue: A_u_char,
5878    pub alpha: AEIO_AlphaType,
5879}
5880pub type AEIO_AbortProc =
5881    ::std::option::Option<unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void) -> A_Err>;
5882pub type AEIO_ProgressProc = ::std::option::Option<
5883    unsafe extern "C" fn(
5884        refcon: *mut ::std::os::raw::c_void,
5885        count: A_long,
5886        total: A_long,
5887    ) -> A_Err,
5888>;
5889#[repr(C)]
5890#[derive(Debug, Copy, Clone)]
5891pub struct AEIO_InterruptFuncs {
5892    pub refcon: *mut ::std::os::raw::c_void,
5893    pub abort0: AEIO_AbortProc,
5894    pub progress0: AEIO_ProgressProc,
5895}
5896#[repr(C)]
5897#[derive(Debug, Copy, Clone)]
5898pub struct AEIO_DrawFramePB {
5899    pub qual: AEIO_Quality,
5900    pub alpha_label: AEIO_AlphaLabel,
5901    pub field_request: AEIO_Field,
5902    pub rs: AEIO_RationalScale,
5903    pub tr: A_Time,
5904    pub duration: A_Time,
5905    pub time_filter: AEIO_FrameBlend,
5906    pub required_region0: A_LRect,
5907    pub inter: AEIO_InterruptFuncs,
5908}
5909pub const AEIO_RenderMarkerFlag_NONE: _bindgen_ty_95 = 0;
5910pub const AEIO_RenderMarkerFlag_COMP: _bindgen_ty_95 = 1;
5911pub type _bindgen_ty_95 = ::std::os::raw::c_uint;
5912pub type AEIO_RenderMarkerFlag = A_long;
5913pub const AEIO_MFlag_NONE: _bindgen_ty_96 = 0;
5914pub const AEIO_MFlag_INPUT: _bindgen_ty_96 = 1;
5915pub const AEIO_MFlag_OUTPUT: _bindgen_ty_96 = 2;
5916pub const AEIO_MFlag_FILE: _bindgen_ty_96 = 4;
5917pub const AEIO_MFlag_STILL: _bindgen_ty_96 = 8;
5918pub const AEIO_MFlag_VIDEO: _bindgen_ty_96 = 16;
5919pub const AEIO_MFlag_AUDIO: _bindgen_ty_96 = 32;
5920pub const AEIO_MFlag_NO_TIME: _bindgen_ty_96 = 64;
5921pub const AEIO_MFlag_INTERACTIVE_GET: _bindgen_ty_96 = 128;
5922pub const AEIO_MFlag_INTERACTIVE_PUT: _bindgen_ty_96 = 256;
5923pub const AEIO_MFlag_CANT_CLIP: _bindgen_ty_96 = 512;
5924pub const AEIO_MFlag_MUST_INTERACT_PUT: _bindgen_ty_96 = 1024;
5925pub const AEIO_MFlag_CANT_SOUND_INTERLEAVE: _bindgen_ty_96 = 2048;
5926pub const AEIO_MFlag_CAN_ADD_FRAMES_NON_LINEAR: _bindgen_ty_96 = 4096;
5927pub const AEIO_MFlag_HOST_DEPTH_DIALOG: _bindgen_ty_96 = 8192;
5928pub const AEIO_MFlag_HOST_FRAME_START_DIALOG: _bindgen_ty_96 = 16384;
5929pub const AEIO_MFlag_RESERVED1: _bindgen_ty_96 = 32768;
5930pub const AEIO_MFlag_NO_OPTIONS: _bindgen_ty_96 = 65536;
5931pub const AEIO_MFlag_RESERVED2: _bindgen_ty_96 = 131072;
5932pub const AEIO_MFlag_RESERVED3: _bindgen_ty_96 = 262144;
5933pub const AEIO_MFlag_NO_PIXELS: _bindgen_ty_96 = 524288;
5934pub const AEIO_MFlag_SEQUENCE_OPTIONS_OK: _bindgen_ty_96 = 1048576;
5935pub const AEIO_MFlag_INPUT_OPTIONS: _bindgen_ty_96 = 2097152;
5936pub const AEIO_MFlag_HSF_AWARE: _bindgen_ty_96 = 4194304;
5937pub const AEIO_MFlag_HAS_LAYERS: _bindgen_ty_96 = 8388608;
5938pub const AEIO_MFlag_SCRAP: _bindgen_ty_96 = 16777216;
5939pub const AEIO_MFlag_NO_UI: _bindgen_ty_96 = 33554432;
5940pub const AEIO_MFlag_SEQ_OPTIONS_DLG: _bindgen_ty_96 = 67108864;
5941pub const AEIO_MFlag_HAS_AUX_DATA: _bindgen_ty_96 = 134217728;
5942pub const AEIO_MFlag_HAS_META_DATA: _bindgen_ty_96 = 268435456;
5943pub const AEIO_MFlag_CAN_DO_MARKERS: _bindgen_ty_96 = 536870912;
5944pub const AEIO_MFlag_CAN_DRAW_DEEP: _bindgen_ty_96 = 1073741824;
5945pub const AEIO_MFlag_RESERVED4: _bindgen_ty_96 = 2147483648;
5946#[doc = "\n PUBLIC ///////////////////////////////////\n"]
5947pub type _bindgen_ty_96 = ::std::os::raw::c_uint;
5948pub type AEIO_ModuleFlags = A_u_long;
5949pub const AEIO_MFlag2_NONE: _bindgen_ty_97 = 0;
5950pub const AEIO_MFlag2_AUDIO_OPTIONS: _bindgen_ty_97 = 1;
5951pub const AEIO_MFlag2_RESERVED1: _bindgen_ty_97 = 2;
5952pub const AEIO_MFlag2_SEND_ADDMARKER_BEFORE_ADDFRAME: _bindgen_ty_97 = 4;
5953pub const AEIO_MFlag2_CAN_DO_MARKERS_2: _bindgen_ty_97 = 8;
5954pub const AEIO_MFlag2_CAN_DRAW_FLOAT: _bindgen_ty_97 = 16;
5955pub const AEIO_MFlag2_RESERVED2: _bindgen_ty_97 = 32;
5956pub const AEIO_MFlag2_CAN_DO_AUDIO_32: _bindgen_ty_97 = 64;
5957pub const AEIO_MFlag2_RESERVED3: _bindgen_ty_97 = 128;
5958pub const AEIO_MFlag2_SUPPORTS_ICC_PROFILES: _bindgen_ty_97 = 256;
5959pub const AEIO_MFlag2_CAN_DO_MARKERS_3: _bindgen_ty_97 = 512;
5960pub const AEIO_MFlag2_SEND_ADDMARKER_BEFORE_STARTADDING: _bindgen_ty_97 = 1024;
5961pub const AEIO_MFlag2_RESERVED4: _bindgen_ty_97 = 2048;
5962pub const AEIO_MFlag2_USES_QUICKTIME: _bindgen_ty_97 = 4096;
5963pub const AEIO_MFlag2_RESERVED5: _bindgen_ty_97 = 8192;
5964pub const AEIO_MFlag2_RESERVED6: _bindgen_ty_97 = 16384;
5965pub const AEIO_MFlag2_RESERVED7: _bindgen_ty_97 = 32768;
5966pub const AEIO_MFlag2_RESERVED8: _bindgen_ty_97 = 65536;
5967pub const AEIO_MFlag2_RESERVED9: _bindgen_ty_97 = 131072;
5968pub const AEIO_MFlag2_RESERVED10: _bindgen_ty_97 = 262144;
5969pub type _bindgen_ty_97 = ::std::os::raw::c_uint;
5970pub type AEIO_ModuleFlags2 = A_u_long;
5971#[repr(C)]
5972#[derive(Debug, Copy, Clone)]
5973pub struct AEIO_AuxExt {
5974    pub extension: [A_char; 4usize],
5975    pub type_: A_long,
5976    pub creator: A_long,
5977}
5978#[repr(C)]
5979#[derive(Copy, Clone)]
5980pub struct AEIO_ModuleInfo {
5981    pub sig: AEIO_ModuleSignature,
5982    pub name: [A_char; 32usize],
5983    pub flags: AEIO_ModuleFlags,
5984    pub flags2: AEIO_ModuleFlags2,
5985    pub max_width: A_long,
5986    pub max_height: A_long,
5987    pub num_filetypes: A_short,
5988    pub num_extensions: A_short,
5989    pub num_clips: A_short,
5990    pub pad: A_short,
5991    pub create_kind: PFILE_FileKind,
5992    pub create_ext: AEIO_FileExt,
5993    pub read_kinds: [AEIO_FileKind; 16usize],
5994    pub num_aux_extensionsS: A_short,
5995    pub aux_ext: [AEIO_AuxExt; 16usize],
5996}
5997#[repr(C)]
5998#[derive(Debug, Copy, Clone)]
5999pub struct AEIO_OptionsCBInfo {
6000    pub o_flags: AEIO_SupportedDepthFlags,
6001    pub out_specH: AEIO_OutSpecH,
6002}
6003#[repr(C)]
6004#[derive(Debug, Copy, Clone)]
6005pub struct AEIO_DrawSparseFramePB {
6006    pub qual: AEIO_Quality,
6007    pub rs: AEIO_RationalScale,
6008    pub tr: A_Time,
6009    pub duration: A_Time,
6010    pub required_region: A_LRect,
6011    pub inter: AEIO_InterruptFuncs,
6012}
6013#[doc = "   plugin entry points  *****************************\n the main routine of each plugin fills in these function pointers\n AE will call them as appropriate"]
6014#[repr(C)]
6015#[derive(Debug, Copy, Clone)]
6016pub struct _AEIO_FunctionBlock4 {
6017    pub AEIO_InitInSpecFromFile: ::std::option::Option<
6018        unsafe extern "C" fn(
6019            basic_dataP: *mut AEIO_BasicData,
6020            file_pathZ: *const A_UTF16Char,
6021            inH: AEIO_InSpecH,
6022        ) -> A_Err,
6023    >,
6024    pub AEIO_InitInSpecInteractive: ::std::option::Option<
6025        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, inH: AEIO_InSpecH) -> A_Err,
6026    >,
6027    pub AEIO_DisposeInSpec: ::std::option::Option<
6028        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, inH: AEIO_InSpecH) -> A_Err,
6029    >,
6030    pub AEIO_FlattenOptions: ::std::option::Option<
6031        unsafe extern "C" fn(
6032            basic_dataP: *mut AEIO_BasicData,
6033            inH: AEIO_InSpecH,
6034            flat_optionsPH: *mut AEIO_Handle,
6035        ) -> A_Err,
6036    >,
6037    pub AEIO_InflateOptions: ::std::option::Option<
6038        unsafe extern "C" fn(
6039            basic_dataP: *mut AEIO_BasicData,
6040            inH: AEIO_InSpecH,
6041            flat_optionsH: AEIO_Handle,
6042        ) -> A_Err,
6043    >,
6044    pub AEIO_SynchInSpec: ::std::option::Option<
6045        unsafe extern "C" fn(
6046            basic_dataP: *mut AEIO_BasicData,
6047            inH: AEIO_InSpecH,
6048            changed0: *mut A_Boolean,
6049        ) -> A_Err,
6050    >,
6051    pub AEIO_GetActiveExtent: ::std::option::Option<
6052        unsafe extern "C" fn(
6053            basic_dataP: *mut AEIO_BasicData,
6054            inH: AEIO_InSpecH,
6055            tr: *const A_Time,
6056            extent: *mut A_LRect,
6057        ) -> A_Err,
6058    >,
6059    pub AEIO_GetInSpecInfo: ::std::option::Option<
6060        unsafe extern "C" fn(
6061            basic_dataP: *mut AEIO_BasicData,
6062            inH: AEIO_InSpecH,
6063            verbiageP: *mut AEIO_Verbiage,
6064        ) -> A_Err,
6065    >,
6066    pub AEIO_DrawSparseFrame: ::std::option::Option<
6067        unsafe extern "C" fn(
6068            basic_dataP: *mut AEIO_BasicData,
6069            inH: AEIO_InSpecH,
6070            sparse_framePPB: *const AEIO_DrawSparseFramePB,
6071            worldP: *mut PF_EffectWorld,
6072            draw_flagsP: *mut AEIO_DrawingFlags,
6073        ) -> A_Err,
6074    >,
6075    pub AEIO_GetDimensions: ::std::option::Option<
6076        unsafe extern "C" fn(
6077            basic_dataP: *mut AEIO_BasicData,
6078            inH: AEIO_InSpecH,
6079            rs0: *const AEIO_RationalScale,
6080            width0: *mut A_long,
6081            height0: *mut A_long,
6082        ) -> A_Err,
6083    >,
6084    pub AEIO_GetDuration: ::std::option::Option<
6085        unsafe extern "C" fn(
6086            basic_dataP: *mut AEIO_BasicData,
6087            inH: AEIO_InSpecH,
6088            tr: *mut A_Time,
6089        ) -> A_Err,
6090    >,
6091    pub AEIO_GetTime: ::std::option::Option<
6092        unsafe extern "C" fn(
6093            basic_dataP: *mut AEIO_BasicData,
6094            inH: AEIO_InSpecH,
6095            tr: *mut A_Time,
6096        ) -> A_Err,
6097    >,
6098    pub AEIO_GetSound: ::std::option::Option<
6099        unsafe extern "C" fn(
6100            basic_dataP: *mut AEIO_BasicData,
6101            inH: AEIO_InSpecH,
6102            quality: AEIO_SndQuality,
6103            interrupt_funcsP0: *const AEIO_InterruptFuncs,
6104            startPT: *const A_Time,
6105            durPT: *const A_Time,
6106            start_sampLu: A_u_long,
6107            num_samplesLu: A_u_long,
6108            dataPV: *mut ::std::os::raw::c_void,
6109        ) -> A_Err,
6110    >,
6111    pub AEIO_InqNextFrameTime: ::std::option::Option<
6112        unsafe extern "C" fn(
6113            basic_dataP: *mut AEIO_BasicData,
6114            inH: AEIO_InSpecH,
6115            base_time_tr: *const A_Time,
6116            time_dir: AEIO_TimeDir,
6117            found0: *mut A_Boolean,
6118            key_time_tr0: *mut A_Time,
6119        ) -> A_Err,
6120    >,
6121    pub AEIO_InitOutputSpec: ::std::option::Option<
6122        unsafe extern "C" fn(
6123            basic_dataP: *mut AEIO_BasicData,
6124            outH: AEIO_OutSpecH,
6125            user_interacted: *mut A_Boolean,
6126        ) -> A_Err,
6127    >,
6128    pub AEIO_GetFlatOutputOptions: ::std::option::Option<
6129        unsafe extern "C" fn(
6130            basic_dataP: *mut AEIO_BasicData,
6131            outH: AEIO_OutSpecH,
6132            optionsH: *mut AEIO_Handle,
6133        ) -> A_Err,
6134    >,
6135    pub AEIO_DisposeOutputOptions: ::std::option::Option<
6136        unsafe extern "C" fn(
6137            basic_dataP: *mut AEIO_BasicData,
6138            optionsPV: *mut ::std::os::raw::c_void,
6139        ) -> A_Err,
6140    >,
6141    pub AEIO_UserOptionsDialog: ::std::option::Option<
6142        unsafe extern "C" fn(
6143            basic_dataP: *mut AEIO_BasicData,
6144            outH: AEIO_OutSpecH,
6145            sample0: *const PF_EffectWorld,
6146            user_interacted0: *mut A_Boolean,
6147        ) -> A_Err,
6148    >,
6149    pub AEIO_GetOutputInfo: ::std::option::Option<
6150        unsafe extern "C" fn(
6151            basic_dataP: *mut AEIO_BasicData,
6152            outH: AEIO_OutSpecH,
6153            verbiage: *mut AEIO_Verbiage,
6154        ) -> A_Err,
6155    >,
6156    pub AEIO_OutputInfoChanged: ::std::option::Option<
6157        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, outH: AEIO_OutSpecH) -> A_Err,
6158    >,
6159    pub AEIO_SetOutputFile: ::std::option::Option<
6160        unsafe extern "C" fn(
6161            basic_dataP: *mut AEIO_BasicData,
6162            outH: AEIO_OutSpecH,
6163            file_pathZ: *const A_UTF16Char,
6164        ) -> A_Err,
6165    >,
6166    pub AEIO_StartAdding: ::std::option::Option<
6167        unsafe extern "C" fn(
6168            basic_dataP: *mut AEIO_BasicData,
6169            outH: AEIO_OutSpecH,
6170            flags: A_long,
6171        ) -> A_Err,
6172    >,
6173    pub AEIO_AddFrame: ::std::option::Option<
6174        unsafe extern "C" fn(
6175            basic_dataP: *mut AEIO_BasicData,
6176            outH: AEIO_OutSpecH,
6177            frame_index: A_long,
6178            frames: A_long,
6179            wP: *const PF_EffectWorld,
6180            origin0: *const A_LPoint,
6181            was_compressedB: A_Boolean,
6182            inter0: *mut AEIO_InterruptFuncs,
6183        ) -> A_Err,
6184    >,
6185    pub AEIO_EndAdding: ::std::option::Option<
6186        unsafe extern "C" fn(
6187            basic_dataP: *mut AEIO_BasicData,
6188            outH: AEIO_OutSpecH,
6189            flags: A_long,
6190        ) -> A_Err,
6191    >,
6192    pub AEIO_OutputFrame: ::std::option::Option<
6193        unsafe extern "C" fn(
6194            basic_dataP: *mut AEIO_BasicData,
6195            outH: AEIO_OutSpecH,
6196            wP: *const PF_EffectWorld,
6197        ) -> A_Err,
6198    >,
6199    pub AEIO_WriteLabels: ::std::option::Option<
6200        unsafe extern "C" fn(
6201            basic_dataP: *mut AEIO_BasicData,
6202            outH: AEIO_OutSpecH,
6203            written: *mut AEIO_LabelFlags,
6204        ) -> A_Err,
6205    >,
6206    pub AEIO_GetSizes: ::std::option::Option<
6207        unsafe extern "C" fn(
6208            basic_dataP: *mut AEIO_BasicData,
6209            outH: AEIO_OutSpecH,
6210            free_space: *mut A_u_longlong,
6211            file_size: *mut A_u_longlong,
6212        ) -> A_Err,
6213    >,
6214    pub AEIO_Flush: ::std::option::Option<
6215        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, outH: AEIO_OutSpecH) -> A_Err,
6216    >,
6217    pub AEIO_AddSoundChunk: ::std::option::Option<
6218        unsafe extern "C" fn(
6219            basic_dataP: *mut AEIO_BasicData,
6220            outH: AEIO_OutSpecH,
6221            start: *const A_Time,
6222            num_samplesLu: A_u_long,
6223            dataPV: *const ::std::os::raw::c_void,
6224        ) -> A_Err,
6225    >,
6226    pub AEIO_Idle: ::std::option::Option<
6227        unsafe extern "C" fn(
6228            basic_dataP: *mut AEIO_BasicData,
6229            sig: AEIO_ModuleSignature,
6230            idle_flags0: *mut AEIO_IdleFlags,
6231        ) -> A_Err,
6232    >,
6233    pub AEIO_GetDepths: ::std::option::Option<
6234        unsafe extern "C" fn(
6235            basic_dataP: *mut AEIO_BasicData,
6236            outH: AEIO_OutSpecH,
6237            which: *mut AEIO_SupportedDepthFlags,
6238        ) -> A_Err,
6239    >,
6240    pub AEIO_GetOutputSuffix: ::std::option::Option<
6241        unsafe extern "C" fn(
6242            basic_dataP: *mut AEIO_BasicData,
6243            outH: AEIO_OutSpecH,
6244            suffix: *mut A_char,
6245        ) -> A_Err,
6246    >,
6247    pub AEIO_SeqOptionsDlg: ::std::option::Option<
6248        unsafe extern "C" fn(
6249            basic_dataP: *mut AEIO_BasicData,
6250            inH: AEIO_InSpecH,
6251            user_interactedPB0: *mut A_Boolean,
6252        ) -> A_Err,
6253    >,
6254    pub AEIO_GetNumAuxChannels: ::std::option::Option<
6255        unsafe extern "C" fn(
6256            basic_dataP: *mut AEIO_BasicData,
6257            inH: AEIO_InSpecH,
6258            num_channelsPL: *mut A_long,
6259        ) -> A_Err,
6260    >,
6261    pub AEIO_GetAuxChannelDesc: ::std::option::Option<
6262        unsafe extern "C" fn(
6263            basic_dataP: *mut AEIO_BasicData,
6264            inH: AEIO_InSpecH,
6265            chan_indexL: A_long,
6266            descP: *mut PF_ChannelDesc,
6267        ) -> A_Err,
6268    >,
6269    pub AEIO_DrawAuxChannel: ::std::option::Option<
6270        unsafe extern "C" fn(
6271            basic_dataP: *mut AEIO_BasicData,
6272            inH: AEIO_InSpecH,
6273            chan_indexL: A_long,
6274            pbP: *const AEIO_DrawFramePB,
6275            chunkP: *mut PF_ChannelChunk,
6276        ) -> A_Err,
6277    >,
6278    pub AEIO_FreeAuxChannel: ::std::option::Option<
6279        unsafe extern "C" fn(
6280            basic_dataP: *mut AEIO_BasicData,
6281            inH: AEIO_InSpecH,
6282            chunkP: *mut PF_ChannelChunk,
6283        ) -> A_Err,
6284    >,
6285    pub AEIO_NumAuxFiles: ::std::option::Option<
6286        unsafe extern "C" fn(
6287            basic_dataP: *mut AEIO_BasicData,
6288            seqH: AEIO_InSpecH,
6289            files_per_framePL0: *mut A_long,
6290        ) -> A_Err,
6291    >,
6292    pub AEIO_GetNthAuxFileSpec: ::std::option::Option<
6293        unsafe extern "C" fn(
6294            basic_dataP: *mut AEIO_BasicData,
6295            seqH: AEIO_InSpecH,
6296            frame_numL: A_long,
6297            n: A_long,
6298            pathPH: *mut AEGP_MemHandle,
6299        ) -> A_Err,
6300    >,
6301    pub AEIO_CloseSourceFiles: ::std::option::Option<
6302        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, seqH: AEIO_InSpecH) -> A_Err,
6303    >,
6304    pub AEIO_CountUserData: ::std::option::Option<
6305        unsafe extern "C" fn(
6306            basic_dataP: *mut AEIO_BasicData,
6307            inH: AEIO_InSpecH,
6308            typeLu: A_u_long,
6309            max_sizeLu: A_u_long,
6310            num_of_typePLu: *mut A_u_long,
6311        ) -> A_Err,
6312    >,
6313    pub AEIO_SetUserData: ::std::option::Option<
6314        unsafe extern "C" fn(
6315            basic_dataP: *mut AEIO_BasicData,
6316            outH: AEIO_OutSpecH,
6317            typeLu: A_u_long,
6318            indexLu: A_u_long,
6319            dataH: AEIO_Handle,
6320        ) -> A_Err,
6321    >,
6322    pub AEIO_GetUserData: ::std::option::Option<
6323        unsafe extern "C" fn(
6324            basic_dataP: *mut AEIO_BasicData,
6325            inH: AEIO_InSpecH,
6326            typeLu: A_u_long,
6327            indexLu: A_u_long,
6328            max_sizeLu: A_u_long,
6329            dataPH: *mut AEIO_Handle,
6330        ) -> A_Err,
6331    >,
6332    pub AEIO_AddMarker: ::std::option::Option<
6333        unsafe extern "C" fn(
6334            basic_dataP: *mut AEIO_BasicData,
6335            outH: AEIO_OutSpecH,
6336            frame_index: A_long,
6337            marker_type: AEIO_MarkerType,
6338            marker_dataPV: *mut ::std::os::raw::c_void,
6339            inter0: *mut AEIO_InterruptFuncs,
6340        ) -> A_Err,
6341    >,
6342    pub AEIO_VerifyFileImportable: ::std::option::Option<
6343        unsafe extern "C" fn(
6344            basic_dataP: *mut AEIO_BasicData,
6345            sig: AEIO_ModuleSignature,
6346            file_pathZ: *const A_UTF16Char,
6347            importablePB: *mut A_Boolean,
6348        ) -> A_Err,
6349    >,
6350    pub AEIO_UserAudioOptionsDialog: ::std::option::Option<
6351        unsafe extern "C" fn(
6352            basic_dataP: *mut AEIO_BasicData,
6353            outH: AEIO_OutSpecH,
6354            user_interacted0: *mut A_Boolean,
6355        ) -> A_Err,
6356    >,
6357    pub AEIO_AddMarker2: ::std::option::Option<
6358        unsafe extern "C" fn(
6359            basic_dataP: *mut AEIO_BasicData,
6360            outH: AEIO_OutSpecH,
6361            frame_index: A_long,
6362            markerP: *const AEIO_Marker,
6363            inter0: *mut AEIO_InterruptFuncs,
6364        ) -> A_Err,
6365    >,
6366    pub AEIO_AddMarker3: ::std::option::Option<
6367        unsafe extern "C" fn(
6368            basic_dataP: *mut AEIO_BasicData,
6369            outH: AEIO_OutSpecH,
6370            frame_index: A_long,
6371            marker_valP: AEGP_ConstMarkerValP,
6372            marker_flag: AEIO_RenderMarkerFlag,
6373            inter0: *mut AEIO_InterruptFuncs,
6374        ) -> A_Err,
6375    >,
6376    pub AEIO_GetMimeType: ::std::option::Option<
6377        unsafe extern "C" fn(
6378            basic_dataP: *mut AEIO_BasicData,
6379            outH: AEIO_OutSpecH,
6380            mime_type_sizeL: A_long,
6381            mime_typeZ: *mut ::std::os::raw::c_char,
6382        ) -> A_Err,
6383    >,
6384}
6385#[doc = "   plugin entry points  *****************************\n the main routine of each plugin fills in these function pointers\n AE will call them as appropriate"]
6386pub type AEIO_FunctionBlock4 = _AEIO_FunctionBlock4;
6387pub type PT_Index = A_long;
6388#[repr(C)]
6389#[derive(Debug, Copy, Clone)]
6390pub struct PT_Tracker {
6391    _unused: [u8; 0],
6392}
6393pub type PT_TrackerPtr = *mut PT_Tracker;
6394#[repr(C)]
6395#[derive(Debug, Copy, Clone)]
6396pub struct PT_TrackerInstance {
6397    _unused: [u8; 0],
6398}
6399pub type PT_TrackerInstancePtr = *mut PT_TrackerInstance;
6400#[repr(C)]
6401#[derive(Debug, Copy, Clone)]
6402pub struct PT_TrackingContext {
6403    _unused: [u8; 0],
6404}
6405pub type PT_TrackingContextPtr = *mut PT_TrackingContext;
6406pub type PT_GlobalSetupFunc = ::std::option::Option<
6407    unsafe extern "C" fn(trackerP: PT_TrackerPtr, global_dataPH: *mut AEGP_MemHandle) -> A_Err,
6408>;
6409pub type PT_GlobalSetdownFunc =
6410    ::std::option::Option<unsafe extern "C" fn(trackerP: PT_TrackerPtr) -> A_Err>;
6411pub type PT_GlobalDoAboutFunc =
6412    ::std::option::Option<unsafe extern "C" fn(trackerP: PT_TrackerPtr) -> A_Err>;
6413pub type PT_InstanceSetupFunc = ::std::option::Option<
6414    unsafe extern "C" fn(
6415        tracker_instanceP: PT_TrackerInstancePtr,
6416        flat_instance_dataH0: AEGP_MemHandle,
6417        instance_dataPH: *mut AEGP_MemHandle,
6418    ) -> A_Err,
6419>;
6420pub type PT_InstanceSetdownFunc =
6421    ::std::option::Option<unsafe extern "C" fn(tracker_instanceP: PT_TrackerInstancePtr) -> A_Err>;
6422pub type PT_InstanceFlattenFunc = ::std::option::Option<
6423    unsafe extern "C" fn(
6424        tracker_instanceP: PT_TrackerInstancePtr,
6425        flat_instance_dataPH: *mut AEGP_MemHandle,
6426    ) -> A_Err,
6427>;
6428pub type PT_InstanceDoOptionsFunc =
6429    ::std::option::Option<unsafe extern "C" fn(tracker_instanceP: PT_TrackerInstancePtr) -> A_Err>;
6430pub type PT_PrepareTrackFunc = ::std::option::Option<
6431    unsafe extern "C" fn(
6432        contextP: PT_TrackingContextPtr,
6433        tracker_dataPH: *mut AEGP_MemHandle,
6434    ) -> A_Err,
6435>;
6436pub type PT_TrackFunc =
6437    ::std::option::Option<unsafe extern "C" fn(contextP: PT_TrackingContextPtr) -> A_Err>;
6438pub type PT_FinishTrackFunc =
6439    ::std::option::Option<unsafe extern "C" fn(contextP: PT_TrackingContextPtr) -> A_Err>;
6440#[repr(C, packed(4))]
6441#[derive(Debug, Copy, Clone)]
6442pub struct PT_TrackerEntryPoints {
6443    pub global_setup_func: PT_GlobalSetupFunc,
6444    pub global_setdown_func: PT_GlobalSetdownFunc,
6445    pub global_do_about_func: PT_GlobalDoAboutFunc,
6446    pub instance_setup_func: PT_InstanceSetupFunc,
6447    pub instance_setdown_func: PT_InstanceSetdownFunc,
6448    pub instance_flatten_func: PT_InstanceFlattenFunc,
6449    pub instance_do_options_func: PT_InstanceDoOptionsFunc,
6450    pub track_prepare_func: PT_PrepareTrackFunc,
6451    pub track_func: PT_TrackFunc,
6452    pub track_finish_func: PT_FinishTrackFunc,
6453}
6454#[repr(C)]
6455#[derive(Debug, Copy, Clone)]
6456pub struct _AEGP_Project {
6457    _unused: [u8; 0],
6458}
6459pub type AEGP_ProjectH = *mut *mut _AEGP_Project;
6460#[repr(C)]
6461#[derive(Debug, Copy, Clone)]
6462pub struct _AEGP_Item {
6463    _unused: [u8; 0],
6464}
6465pub type AEGP_ItemH = *mut *mut _AEGP_Item;
6466#[repr(C)]
6467#[derive(Debug, Copy, Clone)]
6468pub struct _AEGP_Comp {
6469    _unused: [u8; 0],
6470}
6471pub type AEGP_CompH = *mut *mut _AEGP_Comp;
6472#[repr(C)]
6473#[derive(Debug, Copy, Clone)]
6474pub struct _AEGP_Footage {
6475    _unused: [u8; 0],
6476}
6477pub type AEGP_FootageH = *mut *mut _AEGP_Footage;
6478#[repr(C)]
6479#[derive(Debug, Copy, Clone)]
6480pub struct _AEGP_Layer {
6481    _unused: [u8; 0],
6482}
6483pub type AEGP_LayerH = *mut *mut _AEGP_Layer;
6484#[repr(C)]
6485#[derive(Debug, Copy, Clone)]
6486pub struct _AEGP_Effect {
6487    _unused: [u8; 0],
6488}
6489pub type AEGP_EffectRefH = *mut *mut _AEGP_Effect;
6490#[repr(C)]
6491#[derive(Debug, Copy, Clone)]
6492pub struct _AEGP_Mask {
6493    _unused: [u8; 0],
6494}
6495pub type AEGP_MaskRefH = *mut *mut _AEGP_Mask;
6496#[repr(C)]
6497#[derive(Debug, Copy, Clone)]
6498pub struct _AEGPp_Stream {
6499    _unused: [u8; 0],
6500}
6501pub type AEGP_StreamRefH = *mut *mut _AEGPp_Stream;
6502#[repr(C)]
6503#[derive(Debug, Copy, Clone)]
6504pub struct _AEGP_LayerContext {
6505    _unused: [u8; 0],
6506}
6507pub type AEGP_RenderLayerContextH = *mut *mut _AEGP_LayerContext;
6508#[repr(C)]
6509#[derive(Debug, Copy, Clone)]
6510pub struct _AEGP_PersistentBlob {
6511    _unused: [u8; 0],
6512}
6513pub type AEGP_PersistentBlobH = *mut *mut _AEGP_PersistentBlob;
6514#[repr(C)]
6515#[derive(Debug, Copy, Clone)]
6516pub struct _AEGP_MaskOutline {
6517    _unused: [u8; 0],
6518}
6519pub type AEGP_MaskOutlineValH = *mut *mut _AEGP_MaskOutline;
6520#[repr(C)]
6521#[derive(Debug, Copy, Clone)]
6522pub struct _AEGP_Collection {
6523    _unused: [u8; 0],
6524}
6525pub type AEGP_CollectionH = *mut *mut _AEGP_Collection;
6526#[repr(C)]
6527#[derive(Debug, Copy, Clone)]
6528pub struct _AEGP_Collection2 {
6529    _unused: [u8; 0],
6530}
6531pub type AEGP_Collection2H = *mut *mut _AEGP_Collection2;
6532#[repr(C)]
6533#[derive(Debug, Copy, Clone)]
6534pub struct _AEGP_SoundData {
6535    _unused: [u8; 0],
6536}
6537pub type AEGP_SoundDataH = *mut *mut _AEGP_SoundData;
6538#[repr(C)]
6539#[derive(Debug, Copy, Clone)]
6540pub struct _AEGP_AddKeyframesInfo {
6541    _unused: [u8; 0],
6542}
6543pub type AEGP_AddKeyframesInfoH = *mut *mut _AEGP_AddKeyframesInfo;
6544#[repr(C)]
6545#[derive(Debug, Copy, Clone)]
6546pub struct _AEGP_RenderReceipt {
6547    _unused: [u8; 0],
6548}
6549pub type AEGP_RenderReceiptH = *mut *mut _AEGP_RenderReceipt;
6550#[repr(C)]
6551#[derive(Debug, Copy, Clone)]
6552pub struct _AEGP_World {
6553    _unused: [u8; 0],
6554}
6555pub type AEGP_WorldH = *mut *mut _AEGP_World;
6556#[repr(C)]
6557#[derive(Debug, Copy, Clone)]
6558pub struct _AEGP_RenderOptions {
6559    _unused: [u8; 0],
6560}
6561pub type AEGP_RenderOptionsH = *mut *mut _AEGP_RenderOptions;
6562#[repr(C)]
6563#[derive(Debug, Copy, Clone)]
6564pub struct _AEGP_LayerRenderOptions {
6565    _unused: [u8; 0],
6566}
6567pub type AEGP_LayerRenderOptionsH = *mut *mut _AEGP_LayerRenderOptions;
6568#[repr(C)]
6569#[derive(Debug, Copy, Clone)]
6570pub struct _AEGP_FrameReceipt {
6571    _unused: [u8; 0],
6572}
6573pub type AEGP_FrameReceiptH = *mut *mut _AEGP_FrameReceipt;
6574#[repr(C)]
6575#[derive(Debug, Copy, Clone)]
6576pub struct _AEGP_RenderQueueItem {
6577    _unused: [u8; 0],
6578}
6579pub type AEGP_RQItemRefH = *mut *mut _AEGP_RenderQueueItem;
6580#[repr(C)]
6581#[derive(Debug, Copy, Clone)]
6582pub struct _AEGP_OutputModule {
6583    _unused: [u8; 0],
6584}
6585pub type AEGP_OutputModuleRefH = *mut *mut _AEGP_OutputModule;
6586#[repr(C)]
6587#[derive(Debug, Copy, Clone)]
6588pub struct _AEGP_TextDocument {
6589    _unused: [u8; 0],
6590}
6591pub type AEGP_TextDocumentH = *mut *mut _AEGP_TextDocument;
6592pub type AEGP_MarkerValP = *mut _AEGP_MarkerVal;
6593#[repr(C)]
6594#[derive(Debug, Copy, Clone)]
6595pub struct _AEGP_TextOutlines {
6596    _unused: [u8; 0],
6597}
6598pub type AEGP_TextOutlinesH = *mut *mut _AEGP_TextOutlines;
6599#[repr(C)]
6600#[derive(Debug, Copy, Clone)]
6601pub struct _AEGP_TimeStamp {
6602    pub a: [A_char; 4usize],
6603}
6604pub type AEGP_TimeStamp = _AEGP_TimeStamp;
6605#[repr(C)]
6606#[derive(Debug, Copy, Clone)]
6607pub struct _AEGP_PlatformWorld {
6608    _unused: [u8; 0],
6609}
6610pub type AEGP_PlatformWorldH = *mut *mut _AEGP_PlatformWorld;
6611#[repr(C)]
6612#[derive(Debug, Copy, Clone)]
6613pub struct _AEGP_ItemView {
6614    _unused: [u8; 0],
6615}
6616pub type AEGP_ItemViewP = *mut _AEGP_ItemView;
6617#[repr(C)]
6618#[derive(Debug, Copy, Clone)]
6619pub struct _AEGP_ColorProfile {
6620    _unused: [u8; 0],
6621}
6622pub type AEGP_ColorProfileP = *mut _AEGP_ColorProfile;
6623pub type AEGP_ConstColorProfileP = *mut _AEGP_ColorProfile;
6624#[repr(C)]
6625#[derive(Debug, Copy, Clone)]
6626pub struct _AEGP_Guid {
6627    _unused: [u8; 0],
6628}
6629pub type AEGP_GuidP = *mut _AEGP_Guid;
6630pub type AEGP_SubLayerIndex = A_long;
6631pub type AEGP_PluginID = A_long;
6632#[repr(C)]
6633#[derive(Debug, Copy, Clone)]
6634pub struct _AEGP_GlobalRefcon {
6635    _unused: [u8; 0],
6636}
6637pub type AEGP_GlobalRefcon = *mut _AEGP_GlobalRefcon;
6638#[repr(C)]
6639#[derive(Debug, Copy, Clone)]
6640pub struct _AEGP_CommandRefcon {
6641    _unused: [u8; 0],
6642}
6643pub type AEGP_CommandRefcon = *mut _AEGP_CommandRefcon;
6644#[repr(C)]
6645#[derive(Debug, Copy, Clone)]
6646pub struct _AEGP_UpdateMenuRefcon {
6647    _unused: [u8; 0],
6648}
6649pub type AEGP_UpdateMenuRefcon = *mut _AEGP_UpdateMenuRefcon;
6650#[repr(C)]
6651#[derive(Debug, Copy, Clone)]
6652pub struct _AEGP_DeathRefcon {
6653    _unused: [u8; 0],
6654}
6655pub type AEGP_DeathRefcon = *mut _AEGP_DeathRefcon;
6656#[repr(C)]
6657#[derive(Debug, Copy, Clone)]
6658pub struct _AEGP_VersionRefcon {
6659    _unused: [u8; 0],
6660}
6661pub type AEGP_VersionRefcon = *mut _AEGP_VersionRefcon;
6662#[repr(C)]
6663#[derive(Debug, Copy, Clone)]
6664pub struct _AEGP_AboutStringRefcon {
6665    _unused: [u8; 0],
6666}
6667pub type AEGP_AboutStringRefcon = *mut _AEGP_AboutStringRefcon;
6668#[repr(C)]
6669#[derive(Debug, Copy, Clone)]
6670pub struct _AEGP_AboutRefcon {
6671    _unused: [u8; 0],
6672}
6673pub type AEGP_AboutRefcon = *mut _AEGP_AboutRefcon;
6674#[repr(C)]
6675#[derive(Debug, Copy, Clone)]
6676pub struct _AEGP_AsyncFrameRequestRefcon {
6677    _unused: [u8; 0],
6678}
6679pub type AEGP_AsyncFrameRequestRefcon = *mut _AEGP_AsyncFrameRequestRefcon;
6680#[repr(C)]
6681#[derive(Debug, Copy, Clone)]
6682pub struct _AEGP_IdleRefcon {
6683    _unused: [u8; 0],
6684}
6685pub type AEGP_IdleRefcon = *mut _AEGP_IdleRefcon;
6686#[repr(C)]
6687#[derive(Debug, Copy, Clone)]
6688pub struct _AEGP_IORefcon {
6689    _unused: [u8; 0],
6690}
6691pub type AEGP_IORefcon = *mut _AEGP_IORefcon;
6692#[repr(C)]
6693#[derive(Debug, Copy, Clone)]
6694pub struct _AEGP_CancelRefcon {
6695    _unused: [u8; 0],
6696}
6697pub type AEGP_CancelRefcon = *mut _AEGP_CancelRefcon;
6698pub const AEGP_Platform_MAC: _bindgen_ty_98 = 0;
6699pub const AEGP_Platform_WIN: _bindgen_ty_98 = 1;
6700pub type _bindgen_ty_98 = ::std::os::raw::c_uint;
6701pub type AEGP_Platform = A_long;
6702pub const AEGP_ProjBitDepth_8: _bindgen_ty_99 = 0;
6703pub const AEGP_ProjBitDepth_16: _bindgen_ty_99 = 1;
6704pub const AEGP_ProjBitDepth_32: _bindgen_ty_99 = 2;
6705pub const AEGP_ProjBitDepth_NUM_VALID_DEPTHS: _bindgen_ty_99 = 3;
6706pub type _bindgen_ty_99 = ::std::os::raw::c_uint;
6707pub type AEGP_ProjBitDepth = A_char;
6708pub type AEGP_Index = A_long;
6709pub type AEGP_LayerIDVal = A_long;
6710pub type AEGP_MaskIDVal = A_long;
6711#[repr(C)]
6712#[derive(Debug, Copy, Clone)]
6713pub struct AEGP_ColorVal {
6714    pub alphaF: A_FpLong,
6715    pub redF: A_FpLong,
6716    pub greenF: A_FpLong,
6717    pub blueF: A_FpLong,
6718}
6719pub const AEGP_CameraType_NONE: _bindgen_ty_100 = -1;
6720pub const AEGP_CameraType_PERSPECTIVE: _bindgen_ty_100 = 0;
6721pub const AEGP_CameraType_ORTHOGRAPHIC: _bindgen_ty_100 = 1;
6722pub const AEGP_CameraType_NUM_TYPES: _bindgen_ty_100 = 2;
6723pub type _bindgen_ty_100 = ::std::os::raw::c_int;
6724pub type AEGP_CameraType = A_u_long;
6725pub const AEGP_FootageDepth_1: _bindgen_ty_101 = 1;
6726pub const AEGP_FootageDepth_2: _bindgen_ty_101 = 2;
6727pub const AEGP_FootageDepth_4: _bindgen_ty_101 = 4;
6728pub const AEGP_FootageDepth_8: _bindgen_ty_101 = 8;
6729pub const AEGP_FootageDepth_16: _bindgen_ty_101 = 16;
6730pub const AEGP_FootageDepth_24: _bindgen_ty_101 = 24;
6731pub const AEGP_FootageDepth_30: _bindgen_ty_101 = 30;
6732pub const AEGP_FootageDepth_32: _bindgen_ty_101 = 32;
6733pub const AEGP_FootageDepth_GRAY_2: _bindgen_ty_101 = 34;
6734pub const AEGP_FootageDepth_GRAY_4: _bindgen_ty_101 = 36;
6735pub const AEGP_FootageDepth_GRAY_8: _bindgen_ty_101 = 40;
6736pub const AEGP_FootageDepth_48: _bindgen_ty_101 = 48;
6737pub const AEGP_FootageDepth_64: _bindgen_ty_101 = 64;
6738pub const AEGP_FootageDepth_GRAY_16: _bindgen_ty_101 = -16;
6739pub type _bindgen_ty_101 = ::std::os::raw::c_int;
6740pub const AEGP_FilmSizeUnits_NONE: _bindgen_ty_102 = 0;
6741pub const AEGP_FilmSizeUnits_HORIZONTAL: _bindgen_ty_102 = 1;
6742pub const AEGP_FilmSizeUnits_VERTICAL: _bindgen_ty_102 = 2;
6743pub const AEGP_FilmSizeUnits_DIAGONAL: _bindgen_ty_102 = 3;
6744pub type _bindgen_ty_102 = ::std::os::raw::c_uint;
6745pub type AEGP_FilmSizeUnits = A_long;
6746pub const AEGP_LightType_NONE: _bindgen_ty_103 = -1;
6747pub const AEGP_LightType_PARALLEL: _bindgen_ty_103 = 0;
6748pub const AEGP_LightType_SPOT: _bindgen_ty_103 = 1;
6749pub const AEGP_LightType_POINT: _bindgen_ty_103 = 2;
6750pub const AEGP_LightType_AMBIENT: _bindgen_ty_103 = 3;
6751pub const AEGP_LightType_ENVIRONMENT: _bindgen_ty_103 = 4;
6752pub const AEGP_LightType_NUM_TYPES: _bindgen_ty_103 = 5;
6753pub type _bindgen_ty_103 = ::std::os::raw::c_int;
6754pub type AEGP_LightType = A_u_long;
6755pub const AEGP_LightFalloff_NONE: _bindgen_ty_104 = 0;
6756pub const AEGP_LightFalloff_SMOOTH: _bindgen_ty_104 = 1;
6757pub const AEGP_LightFalloff_INVERSE_SQUARE_CLAMPED: _bindgen_ty_104 = 2;
6758pub type _bindgen_ty_104 = ::std::os::raw::c_uint;
6759pub type AEGP_LightFalloffType = A_u_long;
6760pub const AEGP_TimeDisplayType_TIMECODE: _bindgen_ty_105 = 0;
6761pub const AEGP_TimeDisplayType_FRAMES: _bindgen_ty_105 = 1;
6762pub const AEGP_TimeDisplayType_FEET_AND_FRAMES: _bindgen_ty_105 = 2;
6763pub type _bindgen_ty_105 = ::std::os::raw::c_uint;
6764pub type AEGP_TimeDisplayType = A_char;
6765#[repr(C)]
6766#[derive(Debug, Copy, Clone)]
6767pub struct AEGP_TimeDisplay2 {
6768    pub time_display_type: AEGP_TimeDisplayType,
6769    pub timebaseC: A_char,
6770    pub non_drop_30B: A_Boolean,
6771    pub frames_per_footC: A_char,
6772    pub starting_frameL: A_long,
6773    pub auto_timecode_baseB: A_Boolean,
6774}
6775pub const AEGP_TimeDisplay_TIMECODE: _bindgen_ty_106 = 0;
6776pub const AEGP_TimeDisplay_FRAMES: _bindgen_ty_106 = 1;
6777pub type _bindgen_ty_106 = ::std::os::raw::c_uint;
6778pub type AEGP_TimeDisplayMode = ::std::os::raw::c_char;
6779pub const AEGP_SourceTimecode_ZERO: _bindgen_ty_107 = 0;
6780pub const AEGP_SourceTimecode_SOURCE_TIMECODE: _bindgen_ty_107 = 1;
6781pub type _bindgen_ty_107 = ::std::os::raw::c_uint;
6782pub type AEGP_SourceTimecodeDisplayMode = ::std::os::raw::c_char;
6783pub const AEGP_Frames_ZERO_BASED: _bindgen_ty_108 = 0;
6784pub const AEGP_Frames_ONE_BASED: _bindgen_ty_108 = 1;
6785pub const AEGP_Frames_TIMECODE_CONVERSION: _bindgen_ty_108 = 2;
6786pub type _bindgen_ty_108 = ::std::os::raw::c_uint;
6787pub type AEGP_FramesDisplayMode = ::std::os::raw::c_char;
6788#[repr(C)]
6789#[derive(Debug, Copy, Clone)]
6790pub struct AEGP_TimeDisplay3 {
6791    pub display_mode: AEGP_TimeDisplayMode,
6792    pub footage_display_mode: AEGP_SourceTimecodeDisplayMode,
6793    pub display_dropframeB: A_Boolean,
6794    pub use_feet_framesB: A_Boolean,
6795    pub timebaseC: A_char,
6796    pub frames_per_footC: A_char,
6797    pub frames_display_mode: AEGP_FramesDisplayMode,
6798}
6799#[repr(C)]
6800#[derive(Debug, Copy, Clone)]
6801pub struct AEGP_ProjSuite6 {
6802    pub AEGP_GetNumProjects:
6803        ::std::option::Option<unsafe extern "C" fn(num_projPL: *mut A_long) -> A_Err>,
6804    pub AEGP_GetProjectByIndex: ::std::option::Option<
6805        unsafe extern "C" fn(proj_indexL: A_long, projPH: *mut AEGP_ProjectH) -> A_Err,
6806    >,
6807    pub AEGP_GetProjectName: ::std::option::Option<
6808        unsafe extern "C" fn(projH: AEGP_ProjectH, nameZ: *mut A_char) -> A_Err,
6809    >,
6810    pub AEGP_GetProjectPath: ::std::option::Option<
6811        unsafe extern "C" fn(projH: AEGP_ProjectH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
6812    >,
6813    pub AEGP_GetProjectRootFolder: ::std::option::Option<
6814        unsafe extern "C" fn(projH: AEGP_ProjectH, root_folderPH: *mut AEGP_ItemH) -> A_Err,
6815    >,
6816    pub AEGP_SaveProjectToPath: ::std::option::Option<
6817        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
6818    >,
6819    pub AEGP_GetProjectTimeDisplay: ::std::option::Option<
6820        unsafe extern "C" fn(projH: AEGP_ProjectH, time_displayP: *mut AEGP_TimeDisplay3) -> A_Err,
6821    >,
6822    pub AEGP_SetProjectTimeDisplay: ::std::option::Option<
6823        unsafe extern "C" fn(
6824            projH: AEGP_ProjectH,
6825            time_displayP: *const AEGP_TimeDisplay3,
6826        ) -> A_Err,
6827    >,
6828    pub AEGP_ProjectIsDirty: ::std::option::Option<
6829        unsafe extern "C" fn(projH: AEGP_ProjectH, is_dirtyPB: *mut A_Boolean) -> A_Err,
6830    >,
6831    pub AEGP_SaveProjectAs: ::std::option::Option<
6832        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
6833    >,
6834    pub AEGP_NewProject:
6835        ::std::option::Option<unsafe extern "C" fn(new_projectPH: *mut AEGP_ProjectH) -> A_Err>,
6836    pub AEGP_OpenProjectFromPath: ::std::option::Option<
6837        unsafe extern "C" fn(pathZ: *const A_UTF16Char, projectPH: *mut AEGP_ProjectH) -> A_Err,
6838    >,
6839    pub AEGP_GetProjectBitDepth: ::std::option::Option<
6840        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depthP: *mut AEGP_ProjBitDepth) -> A_Err,
6841    >,
6842    pub AEGP_SetProjectBitDepth: ::std::option::Option<
6843        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depth: AEGP_ProjBitDepth) -> A_Err,
6844    >,
6845}
6846pub const AEGP_SoundEncoding_UNSIGNED_PCM: _bindgen_ty_109 = 3;
6847pub const AEGP_SoundEncoding_SIGNED_PCM: _bindgen_ty_109 = 4;
6848pub const AEGP_SoundEncoding_FLOAT: _bindgen_ty_109 = 5;
6849pub const AEGP_SoundEncoding_END: _bindgen_ty_109 = 6;
6850pub const AEGP_SoundEncoding_BEGIN: _bindgen_ty_109 = 3;
6851pub type _bindgen_ty_109 = ::std::os::raw::c_uint;
6852pub type AEGP_SoundEncoding = A_long;
6853#[repr(C)]
6854#[derive(Debug, Copy, Clone)]
6855pub struct AEGP_SoundDataFormat {
6856    pub sample_rateF: A_FpLong,
6857    pub encoding: AEGP_SoundEncoding,
6858    pub bytes_per_sampleL: A_long,
6859    pub num_channelsL: A_long,
6860}
6861pub const AEGP_ItemType_NONE: _bindgen_ty_110 = 0;
6862pub const AEGP_ItemType_FOLDER: _bindgen_ty_110 = 1;
6863pub const AEGP_ItemType_COMP: _bindgen_ty_110 = 2;
6864pub const AEGP_ItemType_SOLID_defunct: _bindgen_ty_110 = 3;
6865pub const AEGP_ItemType_FOOTAGE: _bindgen_ty_110 = 4;
6866pub const AEGP_ItemType_NUM_TYPES1: _bindgen_ty_110 = 5;
6867pub type _bindgen_ty_110 = ::std::os::raw::c_uint;
6868pub type AEGP_ItemType = A_short;
6869pub const AEGP_ItemFlag_MISSING: _bindgen_ty_111 = 1;
6870pub const AEGP_ItemFlag_HAS_PROXY: _bindgen_ty_111 = 2;
6871pub const AEGP_ItemFlag_USING_PROXY: _bindgen_ty_111 = 4;
6872pub const AEGP_ItemFlag_MISSING_PROXY: _bindgen_ty_111 = 8;
6873pub const AEGP_ItemFlag_HAS_VIDEO: _bindgen_ty_111 = 16;
6874pub const AEGP_ItemFlag_HAS_AUDIO: _bindgen_ty_111 = 32;
6875pub const AEGP_ItemFlag_STILL: _bindgen_ty_111 = 64;
6876pub const AEGP_ItemFlag_HAS_ACTIVE_AUDIO: _bindgen_ty_111 = 128;
6877pub type _bindgen_ty_111 = ::std::os::raw::c_uint;
6878pub type AEGP_ItemFlags = A_long;
6879pub const AEGP_Label_NONE: _bindgen_ty_112 = -1;
6880pub const AEGP_Label_NO_LABEL: _bindgen_ty_112 = 0;
6881pub const AEGP_Label_1: _bindgen_ty_112 = 1;
6882pub const AEGP_Label_2: _bindgen_ty_112 = 2;
6883pub const AEGP_Label_3: _bindgen_ty_112 = 3;
6884pub const AEGP_Label_4: _bindgen_ty_112 = 4;
6885pub const AEGP_Label_5: _bindgen_ty_112 = 5;
6886pub const AEGP_Label_6: _bindgen_ty_112 = 6;
6887pub const AEGP_Label_7: _bindgen_ty_112 = 7;
6888pub const AEGP_Label_8: _bindgen_ty_112 = 8;
6889pub const AEGP_Label_9: _bindgen_ty_112 = 9;
6890pub const AEGP_Label_10: _bindgen_ty_112 = 10;
6891pub const AEGP_Label_11: _bindgen_ty_112 = 11;
6892pub const AEGP_Label_12: _bindgen_ty_112 = 12;
6893pub const AEGP_Label_13: _bindgen_ty_112 = 13;
6894pub const AEGP_Label_14: _bindgen_ty_112 = 14;
6895pub const AEGP_Label_15: _bindgen_ty_112 = 15;
6896pub const AEGP_Label_16: _bindgen_ty_112 = 16;
6897pub const AEGP_Label_NUMTYPES: _bindgen_ty_112 = 17;
6898pub type _bindgen_ty_112 = ::std::os::raw::c_int;
6899pub type AEGP_LabelID = A_char;
6900pub const AEGP_PersistentType_MACHINE_SPECIFIC: _bindgen_ty_113 = 0;
6901pub const AEGP_PersistentType_MACHINE_INDEPENDENT: _bindgen_ty_113 = 1;
6902pub const AEGP_PersistentType_MACHINE_INDEPENDENT_RENDER: _bindgen_ty_113 = 2;
6903pub const AEGP_PersistentType_MACHINE_INDEPENDENT_OUTPUT: _bindgen_ty_113 = 3;
6904pub const AEGP_PersistentType_MACHINE_INDEPENDENT_COMPOSITION: _bindgen_ty_113 = 4;
6905pub const AEGP_PersistentType_MACHINE_SPECIFIC_TEXT: _bindgen_ty_113 = 5;
6906pub const AEGP_PersistentType_MACHINE_SPECIFIC_PAINT: _bindgen_ty_113 = 6;
6907pub const AEGP_PersistentType_MACHINE_SPECIFIC_EFFECTS: _bindgen_ty_113 = 7;
6908pub const AEGP_PersistentType_MACHINE_SPECIFIC_EXPRESSION_SNIPPETS: _bindgen_ty_113 = 8;
6909pub const AEGP_PersistentType_MACHINE_SPECIFIC_SCRIPT_SNIPPETS: _bindgen_ty_113 = 9;
6910pub const AEGP_PersistentType_NUMTYPES: _bindgen_ty_113 = 10;
6911pub type _bindgen_ty_113 = ::std::os::raw::c_uint;
6912pub type AEGP_PersistentType = A_long;
6913#[repr(C)]
6914#[derive(Debug, Copy, Clone)]
6915pub struct AEGP_ItemSuite9 {
6916    pub AEGP_GetFirstProjItem: ::std::option::Option<
6917        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
6918    >,
6919    pub AEGP_GetNextProjItem: ::std::option::Option<
6920        unsafe extern "C" fn(
6921            projectH: AEGP_ProjectH,
6922            itemH: AEGP_ItemH,
6923            next_itemPH: *mut AEGP_ItemH,
6924        ) -> A_Err,
6925    >,
6926    pub AEGP_GetActiveItem:
6927        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
6928    pub AEGP_IsItemSelected: ::std::option::Option<
6929        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
6930    >,
6931    pub AEGP_SelectItem: ::std::option::Option<
6932        unsafe extern "C" fn(
6933            itemH: AEGP_ItemH,
6934            selectB: A_Boolean,
6935            deselect_othersB: A_Boolean,
6936        ) -> A_Err,
6937    >,
6938    pub AEGP_GetItemType: ::std::option::Option<
6939        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
6940    >,
6941    pub AEGP_GetTypeName: ::std::option::Option<
6942        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
6943    >,
6944    pub AEGP_GetItemName: ::std::option::Option<
6945        unsafe extern "C" fn(
6946            pluginID: AEGP_PluginID,
6947            itemH: AEGP_ItemH,
6948            unicode_namePH: *mut AEGP_MemHandle,
6949        ) -> A_Err,
6950    >,
6951    pub AEGP_SetItemName: ::std::option::Option<
6952        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_UTF16Char) -> A_Err,
6953    >,
6954    pub AEGP_GetItemID: ::std::option::Option<
6955        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
6956    >,
6957    pub AEGP_GetItemFlags: ::std::option::Option<
6958        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
6959    >,
6960    pub AEGP_SetItemUseProxy: ::std::option::Option<
6961        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
6962    >,
6963    pub AEGP_GetItemParentFolder: ::std::option::Option<
6964        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
6965    >,
6966    pub AEGP_SetItemParentFolder: ::std::option::Option<
6967        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
6968    >,
6969    pub AEGP_GetItemDuration: ::std::option::Option<
6970        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
6971    >,
6972    pub AEGP_GetItemCurrentTime: ::std::option::Option<
6973        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
6974    >,
6975    pub AEGP_GetItemDimensions: ::std::option::Option<
6976        unsafe extern "C" fn(
6977            itemH: AEGP_ItemH,
6978            widthPL: *mut A_long,
6979            heightPL: *mut A_long,
6980        ) -> A_Err,
6981    >,
6982    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
6983        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
6984    >,
6985    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
6986    pub AEGP_CreateNewFolder: ::std::option::Option<
6987        unsafe extern "C" fn(
6988            nameZ: *const A_UTF16Char,
6989            parent_folderH0: AEGP_ItemH,
6990            new_folderPH: *mut AEGP_ItemH,
6991        ) -> A_Err,
6992    >,
6993    pub AEGP_SetItemCurrentTime: ::std::option::Option<
6994        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
6995    >,
6996    pub AEGP_GetItemComment: ::std::option::Option<
6997        unsafe extern "C" fn(itemH: AEGP_ItemH, unicode_namePH: *mut AEGP_MemHandle) -> A_Err,
6998    >,
6999    pub AEGP_SetItemComment: ::std::option::Option<
7000        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_UTF16Char) -> A_Err,
7001    >,
7002    pub AEGP_GetItemLabel: ::std::option::Option<
7003        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
7004    >,
7005    pub AEGP_SetItemLabel: ::std::option::Option<
7006        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
7007    >,
7008    pub AEGP_GetItemMRUView: ::std::option::Option<
7009        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
7010    >,
7011}
7012#[repr(C)]
7013#[derive(Debug, Copy, Clone)]
7014pub struct AEGP_ItemViewSuite1 {
7015    pub AEGP_GetItemViewPlaybackTime: ::std::option::Option<
7016        unsafe extern "C" fn(
7017            item_viewP: AEGP_ItemViewP,
7018            is_currently_previewingPB0: *mut A_Boolean,
7019            curr_timePT: *mut A_Time,
7020        ) -> A_Err,
7021    >,
7022}
7023#[repr(C)]
7024#[derive(Debug, Copy, Clone)]
7025pub struct AEGP_SoundDataSuite1 {
7026    pub AEGP_NewSoundData: ::std::option::Option<
7027        unsafe extern "C" fn(
7028            sound_formatP: *const AEGP_SoundDataFormat,
7029            new_sound_dataPH: *mut AEGP_SoundDataH,
7030        ) -> A_Err,
7031    >,
7032    pub AEGP_DisposeSoundData:
7033        ::std::option::Option<unsafe extern "C" fn(sound_dataH: AEGP_SoundDataH) -> A_Err>,
7034    pub AEGP_GetSoundDataFormat: ::std::option::Option<
7035        unsafe extern "C" fn(
7036            soundH: AEGP_SoundDataH,
7037            sound_formatP: *mut AEGP_SoundDataFormat,
7038        ) -> A_Err,
7039    >,
7040    pub AEGP_LockSoundDataSamples: ::std::option::Option<
7041        unsafe extern "C" fn(
7042            soundH: AEGP_SoundDataH,
7043            samples: *mut *mut ::std::os::raw::c_void,
7044        ) -> A_Err,
7045    >,
7046    pub AEGP_UnlockSoundDataSamples:
7047        ::std::option::Option<unsafe extern "C" fn(soundH: AEGP_SoundDataH) -> A_Err>,
7048    pub AEGP_GetNumSamples: ::std::option::Option<
7049        unsafe extern "C" fn(soundH: AEGP_SoundDataH, num_samplesPL: *mut A_long) -> A_Err,
7050    >,
7051}
7052#[repr(C)]
7053#[derive(Debug, Copy, Clone)]
7054pub struct AEGP_DownsampleFactor {
7055    pub xS: A_short,
7056    pub yS: A_short,
7057}
7058pub const AEGP_CompFlag_SHOW_ALL_SHY: _bindgen_ty_114 = 1;
7059pub const AEGP_CompFlag_RESERVED_1: _bindgen_ty_114 = 2;
7060pub const AEGP_CompFlag_RESERVED_2: _bindgen_ty_114 = 4;
7061pub const AEGP_CompFlag_ENABLE_MOTION_BLUR: _bindgen_ty_114 = 8;
7062pub const AEGP_CompFlag_ENABLE_TIME_FILTER: _bindgen_ty_114 = 16;
7063pub const AEGP_CompFlag_GRID_TO_FRAMES: _bindgen_ty_114 = 32;
7064pub const AEGP_CompFlag_GRID_TO_FIELDS: _bindgen_ty_114 = 64;
7065pub const AEGP_CompFlag_USE_LOCAL_DSF: _bindgen_ty_114 = 128;
7066pub const AEGP_CompFlag_DRAFT_3D: _bindgen_ty_114 = 256;
7067pub const AEGP_CompFlag_SHOW_GRAPH: _bindgen_ty_114 = 512;
7068pub const AEGP_CompFlag_RESERVED_3: _bindgen_ty_114 = 1024;
7069pub type _bindgen_ty_114 = ::std::os::raw::c_uint;
7070pub type AEGP_CompFlags = A_long;
7071#[repr(C)]
7072#[derive(Debug, Copy, Clone)]
7073pub struct AEGP_CompSuite12 {
7074    pub AEGP_GetCompFromItem: ::std::option::Option<
7075        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
7076    >,
7077    pub AEGP_GetItemFromComp: ::std::option::Option<
7078        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
7079    >,
7080    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
7081        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
7082    >,
7083    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
7084        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
7085    >,
7086    pub AEGP_GetCompBGColor: ::std::option::Option<
7087        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
7088    >,
7089    pub AEGP_SetCompBGColor: ::std::option::Option<
7090        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
7091    >,
7092    pub AEGP_GetCompFlags: ::std::option::Option<
7093        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
7094    >,
7095    pub AEGP_GetShowLayerNameOrSourceName: ::std::option::Option<
7096        unsafe extern "C" fn(compH: AEGP_CompH, layer_names_shownPB: *mut A_Boolean) -> A_Err,
7097    >,
7098    pub AEGP_SetShowLayerNameOrSourceName: ::std::option::Option<
7099        unsafe extern "C" fn(compH: AEGP_CompH, show_layer_namesB: A_Boolean) -> A_Err,
7100    >,
7101    pub AEGP_GetShowBlendModes: ::std::option::Option<
7102        unsafe extern "C" fn(compH: AEGP_CompH, blend_modes_shownPB: *mut A_Boolean) -> A_Err,
7103    >,
7104    pub AEGP_SetShowBlendModes: ::std::option::Option<
7105        unsafe extern "C" fn(compH: AEGP_CompH, show_blend_modesB: A_Boolean) -> A_Err,
7106    >,
7107    pub AEGP_GetCompFramerate: ::std::option::Option<
7108        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
7109    >,
7110    pub AEGP_SetCompFrameRate: ::std::option::Option<
7111        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
7112    >,
7113    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
7114        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
7115    >,
7116    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
7117        unsafe extern "C" fn(
7118            compH: AEGP_CompH,
7119            comp_timeP: *const A_Time,
7120            start: *mut A_Time,
7121            duration: *mut A_Time,
7122        ) -> A_Err,
7123    >,
7124    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
7125        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
7126    >,
7127    pub AEGP_SetCompSuggestedMotionBlurSamples:
7128        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
7129    pub AEGP_GetCompMotionBlurAdaptiveSampleLimit: ::std::option::Option<
7130        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
7131    >,
7132    pub AEGP_SetCompMotionBlurAdaptiveSampleLimit:
7133        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
7134    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
7135        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
7136    >,
7137    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
7138        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
7139    >,
7140    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
7141        unsafe extern "C" fn(
7142            compH: AEGP_CompH,
7143            work_area_startPT: *const A_Time,
7144            work_area_durationPT: *const A_Time,
7145        ) -> A_Err,
7146    >,
7147    pub AEGP_CreateSolidInComp: ::std::option::Option<
7148        unsafe extern "C" fn(
7149            utf_nameZ: *const A_UTF16Char,
7150            width: A_long,
7151            height: A_long,
7152            color: *const AEGP_ColorVal,
7153            parent_compH: AEGP_CompH,
7154            durationPT0: *const A_Time,
7155            new_solidPH: *mut AEGP_LayerH,
7156        ) -> A_Err,
7157    >,
7158    pub AEGP_CreateCameraInComp: ::std::option::Option<
7159        unsafe extern "C" fn(
7160            utf_nameZ: *const A_UTF16Char,
7161            center_point: A_FloatPoint,
7162            parent_compH: AEGP_CompH,
7163            new_cameraPH: *mut AEGP_LayerH,
7164        ) -> A_Err,
7165    >,
7166    pub AEGP_CreateLightInComp: ::std::option::Option<
7167        unsafe extern "C" fn(
7168            utf_nameZ: *const A_UTF16Char,
7169            center_point: A_FloatPoint,
7170            parent_compH: AEGP_CompH,
7171            new_lightPH: *mut AEGP_LayerH,
7172        ) -> A_Err,
7173    >,
7174    pub AEGP_CreateComp: ::std::option::Option<
7175        unsafe extern "C" fn(
7176            parent_folderH0: AEGP_ItemH,
7177            utf_nameZ: *const A_UTF16Char,
7178            widthL: A_long,
7179            heightL: A_long,
7180            pixel_aspect_ratioPRt: *const A_Ratio,
7181            durationPT: *const A_Time,
7182            frameratePRt: *const A_Ratio,
7183            new_compPH: *mut AEGP_CompH,
7184        ) -> A_Err,
7185    >,
7186    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
7187        unsafe extern "C" fn(
7188            plugin_id: AEGP_PluginID,
7189            compH: AEGP_CompH,
7190            collectionPH: *mut AEGP_Collection2H,
7191        ) -> A_Err,
7192    >,
7193    pub AEGP_SetSelection: ::std::option::Option<
7194        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
7195    >,
7196    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
7197        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
7198    >,
7199    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
7200        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
7201    >,
7202    pub AEGP_SetCompDuration: ::std::option::Option<
7203        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
7204    >,
7205    pub AEGP_CreateNullInComp: ::std::option::Option<
7206        unsafe extern "C" fn(
7207            utf_nameZ: *const A_UTF16Char,
7208            parent_compH: AEGP_CompH,
7209            durationPT0: *const A_Time,
7210            new_null_solidPH: *mut AEGP_LayerH,
7211        ) -> A_Err,
7212    >,
7213    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
7214        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
7215    >,
7216    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
7217        unsafe extern "C" fn(
7218            parent_compH: AEGP_CompH,
7219            select_new_layerB: A_Boolean,
7220            horzB: A_Boolean,
7221            new_text_layerPH: *mut AEGP_LayerH,
7222        ) -> A_Err,
7223    >,
7224    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
7225        unsafe extern "C" fn(
7226            parent_compH: AEGP_CompH,
7227            select_new_layerB: A_Boolean,
7228            box_dimensions: A_FloatPoint,
7229            horzB: A_Boolean,
7230            new_text_layerPH: *mut AEGP_LayerH,
7231        ) -> A_Err,
7232    >,
7233    pub AEGP_SetCompDimensions: ::std::option::Option<
7234        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
7235    >,
7236    pub AEGP_DuplicateComp: ::std::option::Option<
7237        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
7238    >,
7239    pub AEGP_GetCompFrameDuration:
7240        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
7241    pub AEGP_GetMostRecentlyUsedComp:
7242        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
7243    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
7244        unsafe extern "C" fn(
7245            parent_compH: AEGP_CompH,
7246            new_vector_layerPH: *mut AEGP_LayerH,
7247        ) -> A_Err,
7248    >,
7249    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
7250        unsafe extern "C" fn(
7251            aegp_plugin_id: AEGP_PluginID,
7252            parent_compH: AEGP_CompH,
7253            streamPH: *mut AEGP_StreamRefH,
7254        ) -> A_Err,
7255    >,
7256    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
7257        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
7258    >,
7259    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
7260        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
7261    >,
7262    pub AEGP_ReorderCompSelection:
7263        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, index: A_long) -> A_Err>,
7264}
7265pub const AEGP_MemFlag_NONE: _bindgen_ty_115 = 0;
7266pub const AEGP_MemFlag_CLEAR: _bindgen_ty_115 = 1;
7267pub const AEGP_MemFlag_QUIET: _bindgen_ty_115 = 2;
7268pub type _bindgen_ty_115 = ::std::os::raw::c_uint;
7269pub type AEGP_MemFlag = A_long;
7270pub type AEGP_MemSize = A_u_long;
7271#[repr(C)]
7272#[derive(Debug, Copy, Clone)]
7273pub struct AEGP_MemorySuite1 {
7274    pub AEGP_NewMemHandle: ::std::option::Option<
7275        unsafe extern "C" fn(
7276            plugin_id: AEGP_PluginID,
7277            whatZ: *const A_char,
7278            size: AEGP_MemSize,
7279            flags: AEGP_MemFlag,
7280            memPH: *mut AEGP_MemHandle,
7281        ) -> A_Err,
7282    >,
7283    pub AEGP_FreeMemHandle:
7284        ::std::option::Option<unsafe extern "C" fn(memH: AEGP_MemHandle) -> A_Err>,
7285    pub AEGP_LockMemHandle: ::std::option::Option<
7286        unsafe extern "C" fn(
7287            memH: AEGP_MemHandle,
7288            ptr_to_ptr: *mut *mut ::std::os::raw::c_void,
7289        ) -> A_Err,
7290    >,
7291    pub AEGP_UnlockMemHandle:
7292        ::std::option::Option<unsafe extern "C" fn(memH: AEGP_MemHandle) -> A_Err>,
7293    pub AEGP_GetMemHandleSize: ::std::option::Option<
7294        unsafe extern "C" fn(memH: AEGP_MemHandle, sizeP: *mut AEGP_MemSize) -> A_Err,
7295    >,
7296    pub AEGP_ResizeMemHandle: ::std::option::Option<
7297        unsafe extern "C" fn(
7298            whatZ: *const A_char,
7299            new_size: AEGP_MemSize,
7300            memH: AEGP_MemHandle,
7301        ) -> A_Err,
7302    >,
7303    pub AEGP_SetMemReportingOn:
7304        ::std::option::Option<unsafe extern "C" fn(turn_OnB: A_Boolean) -> A_Err>,
7305    pub AEGP_GetMemStats: ::std::option::Option<
7306        unsafe extern "C" fn(
7307            plugin_id: AEGP_PluginID,
7308            countPL: *mut A_long,
7309            sizePL: *mut A_long,
7310        ) -> A_Err,
7311    >,
7312}
7313pub const AEGP_TransferFlag_PRESERVE_ALPHA: _bindgen_ty_116 = 1;
7314pub const AEGP_TransferFlag_RANDOMIZE_DISSOLVE: _bindgen_ty_116 = 2;
7315pub type _bindgen_ty_116 = ::std::os::raw::c_uint;
7316pub type AEGP_TransferFlags = A_long;
7317pub const AEGP_TrackMatte_NO_TRACK_MATTE: _bindgen_ty_117 = 0;
7318pub const AEGP_TrackMatte_ALPHA: _bindgen_ty_117 = 1;
7319pub const AEGP_TrackMatte_NOT_ALPHA: _bindgen_ty_117 = 2;
7320pub const AEGP_TrackMatte_LUMA: _bindgen_ty_117 = 3;
7321pub const AEGP_TrackMatte_NOT_LUMA: _bindgen_ty_117 = 4;
7322pub type _bindgen_ty_117 = ::std::os::raw::c_uint;
7323pub type AEGP_TrackMatte = A_long;
7324#[repr(C)]
7325#[derive(Debug, Copy, Clone)]
7326pub struct AEGP_LayerTransferMode {
7327    pub mode: PF_TransferMode,
7328    pub flags: AEGP_TransferFlags,
7329    pub track_matte: AEGP_TrackMatte,
7330}
7331pub const AEGP_LayerQual_NONE: _bindgen_ty_118 = -1;
7332pub const AEGP_LayerQual_WIREFRAME: _bindgen_ty_118 = 0;
7333pub const AEGP_LayerQual_DRAFT: _bindgen_ty_118 = 1;
7334pub const AEGP_LayerQual_BEST: _bindgen_ty_118 = 2;
7335pub type _bindgen_ty_118 = ::std::os::raw::c_int;
7336pub type AEGP_LayerQuality = A_short;
7337pub const AEGP_LayerSamplingQual_BILINEAR: _bindgen_ty_119 = 0;
7338pub const AEGP_LayerSamplingQual_BICUBIC: _bindgen_ty_119 = 1;
7339pub type _bindgen_ty_119 = ::std::os::raw::c_uint;
7340pub type AEGP_LayerSamplingQuality = A_short;
7341pub const AEGP_LayerFlag_NONE: _bindgen_ty_120 = 0;
7342pub const AEGP_LayerFlag_VIDEO_ACTIVE: _bindgen_ty_120 = 1;
7343pub const AEGP_LayerFlag_AUDIO_ACTIVE: _bindgen_ty_120 = 2;
7344pub const AEGP_LayerFlag_EFFECTS_ACTIVE: _bindgen_ty_120 = 4;
7345pub const AEGP_LayerFlag_MOTION_BLUR: _bindgen_ty_120 = 8;
7346pub const AEGP_LayerFlag_FRAME_BLENDING: _bindgen_ty_120 = 16;
7347pub const AEGP_LayerFlag_LOCKED: _bindgen_ty_120 = 32;
7348pub const AEGP_LayerFlag_SHY: _bindgen_ty_120 = 64;
7349pub const AEGP_LayerFlag_COLLAPSE: _bindgen_ty_120 = 128;
7350pub const AEGP_LayerFlag_AUTO_ORIENT_ROTATION: _bindgen_ty_120 = 256;
7351pub const AEGP_LayerFlag_ADJUSTMENT_LAYER: _bindgen_ty_120 = 512;
7352pub const AEGP_LayerFlag_TIME_REMAPPING: _bindgen_ty_120 = 1024;
7353pub const AEGP_LayerFlag_LAYER_IS_3D: _bindgen_ty_120 = 2048;
7354pub const AEGP_LayerFlag_LOOK_AT_CAMERA: _bindgen_ty_120 = 4096;
7355pub const AEGP_LayerFlag_LOOK_AT_POI: _bindgen_ty_120 = 8192;
7356pub const AEGP_LayerFlag_SOLO: _bindgen_ty_120 = 16384;
7357pub const AEGP_LayerFlag_MARKERS_LOCKED: _bindgen_ty_120 = 32768;
7358pub const AEGP_LayerFlag_NULL_LAYER: _bindgen_ty_120 = 65536;
7359pub const AEGP_LayerFlag_HIDE_LOCKED_MASKS: _bindgen_ty_120 = 131072;
7360pub const AEGP_LayerFlag_GUIDE_LAYER: _bindgen_ty_120 = 262144;
7361pub const AEGP_LayerFlag_ADVANCED_FRAME_BLENDING: _bindgen_ty_120 = 524288;
7362pub const AEGP_LayerFlag_SUBLAYERS_RENDER_SEPARATELY: _bindgen_ty_120 = 1048576;
7363pub const AEGP_LayerFlag_ENVIRONMENT_LAYER: _bindgen_ty_120 = 2097152;
7364pub type _bindgen_ty_120 = ::std::os::raw::c_uint;
7365pub type AEGP_LayerFlags = A_long;
7366pub const AEGP_ObjectType_NONE: _bindgen_ty_121 = -1;
7367pub const AEGP_ObjectType_AV: _bindgen_ty_121 = 0;
7368pub const AEGP_ObjectType_LIGHT: _bindgen_ty_121 = 1;
7369pub const AEGP_ObjectType_CAMERA: _bindgen_ty_121 = 2;
7370pub const AEGP_ObjectType_TEXT: _bindgen_ty_121 = 3;
7371pub const AEGP_ObjectType_VECTOR: _bindgen_ty_121 = 4;
7372pub const AEGP_ObjectType_3D_MODEL: _bindgen_ty_121 = 5;
7373pub const AEGP_ObjectType_RESERVED1: _bindgen_ty_121 = 6;
7374pub const AEGP_ObjectType_RESERVED2: _bindgen_ty_121 = 7;
7375pub const AEGP_ObjectType_RESERVED3: _bindgen_ty_121 = 8;
7376pub const AEGP_ObjectType_NUM_TYPES: _bindgen_ty_121 = 9;
7377pub type _bindgen_ty_121 = ::std::os::raw::c_int;
7378pub type AEGP_ObjectType = A_long;
7379pub const AEGP_LTimeMode_LayerTime: _bindgen_ty_122 = 0;
7380pub const AEGP_LTimeMode_CompTime: _bindgen_ty_122 = 1;
7381pub type _bindgen_ty_122 = ::std::os::raw::c_uint;
7382pub type AEGP_LTimeMode = A_short;
7383#[repr(C)]
7384#[derive(Debug, Copy, Clone)]
7385pub struct AEGP_LayerSuite9 {
7386    pub AEGP_GetCompNumLayers: ::std::option::Option<
7387        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
7388    >,
7389    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
7390        unsafe extern "C" fn(
7391            compH: AEGP_CompH,
7392            layer_indexL: A_long,
7393            layerPH: *mut AEGP_LayerH,
7394        ) -> A_Err,
7395    >,
7396    pub AEGP_GetActiveLayer:
7397        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
7398    pub AEGP_GetLayerIndex: ::std::option::Option<
7399        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
7400    >,
7401    pub AEGP_GetLayerSourceItem: ::std::option::Option<
7402        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
7403    >,
7404    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
7405        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
7406    >,
7407    pub AEGP_GetLayerParentComp: ::std::option::Option<
7408        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
7409    >,
7410    pub AEGP_GetLayerName: ::std::option::Option<
7411        unsafe extern "C" fn(
7412            pluginID: AEGP_PluginID,
7413            layerH: AEGP_LayerH,
7414            utf_layer_namePH0: *mut AEGP_MemHandle,
7415            utf_source_namePH0: *mut AEGP_MemHandle,
7416        ) -> A_Err,
7417    >,
7418    pub AEGP_GetLayerQuality: ::std::option::Option<
7419        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
7420    >,
7421    pub AEGP_SetLayerQuality: ::std::option::Option<
7422        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
7423    >,
7424    pub AEGP_GetLayerFlags: ::std::option::Option<
7425        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
7426    >,
7427    pub AEGP_SetLayerFlag: ::std::option::Option<
7428        unsafe extern "C" fn(
7429            layerH: AEGP_LayerH,
7430            single_flag: AEGP_LayerFlags,
7431            valueB: A_Boolean,
7432        ) -> A_Err,
7433    >,
7434    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
7435        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
7436    >,
7437    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
7438        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
7439    >,
7440    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
7441        unsafe extern "C" fn(
7442            layerH: AEGP_LayerH,
7443            time_mode: AEGP_LTimeMode,
7444            curr_timePT: *mut A_Time,
7445        ) -> A_Err,
7446    >,
7447    pub AEGP_GetLayerInPoint: ::std::option::Option<
7448        unsafe extern "C" fn(
7449            layerH: AEGP_LayerH,
7450            time_mode: AEGP_LTimeMode,
7451            in_pointPT: *mut A_Time,
7452        ) -> A_Err,
7453    >,
7454    pub AEGP_GetLayerDuration: ::std::option::Option<
7455        unsafe extern "C" fn(
7456            layerH: AEGP_LayerH,
7457            time_mode: AEGP_LTimeMode,
7458            durationPT: *mut A_Time,
7459        ) -> A_Err,
7460    >,
7461    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
7462        unsafe extern "C" fn(
7463            layerH: AEGP_LayerH,
7464            time_mode: AEGP_LTimeMode,
7465            in_pointPT: *const A_Time,
7466            durationPT: *const A_Time,
7467        ) -> A_Err,
7468    >,
7469    pub AEGP_GetLayerOffset: ::std::option::Option<
7470        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
7471    >,
7472    pub AEGP_SetLayerOffset: ::std::option::Option<
7473        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
7474    >,
7475    pub AEGP_GetLayerStretch: ::std::option::Option<
7476        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
7477    >,
7478    pub AEGP_SetLayerStretch: ::std::option::Option<
7479        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
7480    >,
7481    pub AEGP_GetLayerTransferMode: ::std::option::Option<
7482        unsafe extern "C" fn(
7483            layerH: AEGP_LayerH,
7484            transfer_modeP: *mut AEGP_LayerTransferMode,
7485        ) -> A_Err,
7486    >,
7487    pub AEGP_SetLayerTransferMode: ::std::option::Option<
7488        unsafe extern "C" fn(
7489            layerH: AEGP_LayerH,
7490            transfer_modeP: *const AEGP_LayerTransferMode,
7491        ) -> A_Err,
7492    >,
7493    pub AEGP_IsAddLayerValid: ::std::option::Option<
7494        unsafe extern "C" fn(
7495            item_to_addH: AEGP_ItemH,
7496            into_compH: AEGP_CompH,
7497            validPB: *mut A_Boolean,
7498        ) -> A_Err,
7499    >,
7500    pub AEGP_AddLayer: ::std::option::Option<
7501        unsafe extern "C" fn(
7502            item_to_addH: AEGP_ItemH,
7503            into_compH: AEGP_CompH,
7504            added_layerPH0: *mut AEGP_LayerH,
7505        ) -> A_Err,
7506    >,
7507    pub AEGP_ReorderLayer: ::std::option::Option<
7508        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
7509    >,
7510    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
7511        unsafe extern "C" fn(
7512            layerH: AEGP_LayerH,
7513            time_mode: AEGP_LTimeMode,
7514            timePT: *const A_Time,
7515            boundsPR: *mut A_FloatRect,
7516        ) -> A_Err,
7517    >,
7518    pub AEGP_GetLayerObjectType: ::std::option::Option<
7519        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
7520    >,
7521    pub AEGP_IsLayer3D: ::std::option::Option<
7522        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
7523    >,
7524    pub AEGP_IsLayer2D: ::std::option::Option<
7525        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
7526    >,
7527    pub AEGP_IsVideoActive: ::std::option::Option<
7528        unsafe extern "C" fn(
7529            layerH: AEGP_LayerH,
7530            time_mode: AEGP_LTimeMode,
7531            timePT: *const A_Time,
7532            is_activePB: *mut A_Boolean,
7533        ) -> A_Err,
7534    >,
7535    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
7536        unsafe extern "C" fn(
7537            layerH: AEGP_LayerH,
7538            fill_must_be_activeB: A_Boolean,
7539            is_track_mattePB: *mut A_Boolean,
7540        ) -> A_Err,
7541    >,
7542    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
7543        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
7544    >,
7545    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
7546        unsafe extern "C" fn(
7547            layerH: AEGP_LayerH,
7548            comp_timePT: *const A_Time,
7549            layer_timePT: *mut A_Time,
7550        ) -> A_Err,
7551    >,
7552    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
7553        unsafe extern "C" fn(
7554            layerH: AEGP_LayerH,
7555            layer_timePT: *const A_Time,
7556            comp_timePT: *mut A_Time,
7557        ) -> A_Err,
7558    >,
7559    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
7560        unsafe extern "C" fn(
7561            layerH: AEGP_LayerH,
7562            comp_timePT: *const A_Time,
7563            rand_valuePL: *mut A_long,
7564        ) -> A_Err,
7565    >,
7566    pub AEGP_GetLayerID: ::std::option::Option<
7567        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
7568    >,
7569    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
7570        unsafe extern "C" fn(
7571            aegp_layerH: AEGP_LayerH,
7572            comp_timeP: *const A_Time,
7573            transform: *mut A_Matrix4,
7574        ) -> A_Err,
7575    >,
7576    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
7577        unsafe extern "C" fn(
7578            aegp_layerH: AEGP_LayerH,
7579            view_timeP: *const A_Time,
7580            comp_timeP: *const A_Time,
7581            transform: *mut A_Matrix4,
7582        ) -> A_Err,
7583    >,
7584    pub AEGP_SetLayerName: ::std::option::Option<
7585        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
7586    >,
7587    pub AEGP_GetLayerParent: ::std::option::Option<
7588        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
7589    >,
7590    pub AEGP_SetLayerParent: ::std::option::Option<
7591        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
7592    >,
7593    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
7594    pub AEGP_DuplicateLayer: ::std::option::Option<
7595        unsafe extern "C" fn(
7596            orig_layerH: AEGP_LayerH,
7597            duplicate_layerPH: *mut AEGP_LayerH,
7598        ) -> A_Err,
7599    >,
7600    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
7601        unsafe extern "C" fn(
7602            parent_compH: AEGP_CompH,
7603            id: AEGP_LayerIDVal,
7604            layerPH: *mut AEGP_LayerH,
7605        ) -> A_Err,
7606    >,
7607    pub AEGP_GetLayerLabel: ::std::option::Option<
7608        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
7609    >,
7610    pub AEGP_SetLayerLabel: ::std::option::Option<
7611        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
7612    >,
7613    pub AEGP_GetLayerSamplingQuality: ::std::option::Option<
7614        unsafe extern "C" fn(
7615            layerH: AEGP_LayerH,
7616            qualityP: *mut AEGP_LayerSamplingQuality,
7617        ) -> A_Err,
7618    >,
7619    pub AEGP_SetLayerSamplingQuality: ::std::option::Option<
7620        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerSamplingQuality) -> A_Err,
7621    >,
7622    pub AEGP_GetTrackMatteLayer: ::std::option::Option<
7623        unsafe extern "C" fn(layerH: AEGP_LayerH, track_matte_layerPH: *mut AEGP_LayerH) -> A_Err,
7624    >,
7625    pub AEGP_SetTrackMatte: ::std::option::Option<
7626        unsafe extern "C" fn(
7627            layerH: AEGP_LayerH,
7628            track_matte_layerH0: AEGP_LayerH,
7629            track_matte_type: AEGP_TrackMatte,
7630        ) -> A_Err,
7631    >,
7632    pub AEGP_RemoveTrackMatte:
7633        ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
7634}
7635pub const AEGP_LayerStream_NONE: _bindgen_ty_123 = -1;
7636pub const AEGP_LayerStream_ANCHORPOINT: _bindgen_ty_123 = 0;
7637pub const AEGP_LayerStream_POSITION: _bindgen_ty_123 = 1;
7638pub const AEGP_LayerStream_SCALE: _bindgen_ty_123 = 2;
7639pub const AEGP_LayerStream_ROTATION: _bindgen_ty_123 = 3;
7640pub const AEGP_LayerStream_ROTATE_Z: _bindgen_ty_123 = 3;
7641pub const AEGP_LayerStream_OPACITY: _bindgen_ty_123 = 4;
7642pub const AEGP_LayerStream_AUDIO: _bindgen_ty_123 = 5;
7643pub const AEGP_LayerStream_MARKER: _bindgen_ty_123 = 6;
7644pub const AEGP_LayerStream_TIME_REMAP: _bindgen_ty_123 = 7;
7645pub const AEGP_LayerStream_ROTATE_X: _bindgen_ty_123 = 8;
7646pub const AEGP_LayerStream_ROTATE_Y: _bindgen_ty_123 = 9;
7647pub const AEGP_LayerStream_ORIENTATION: _bindgen_ty_123 = 10;
7648pub const AEGP_LayerStream_ZOOM: _bindgen_ty_123 = 11;
7649pub const AEGP_LayerStream_DEPTH_OF_FIELD: _bindgen_ty_123 = 12;
7650pub const AEGP_LayerStream_FOCUS_DISTANCE: _bindgen_ty_123 = 13;
7651pub const AEGP_LayerStream_APERTURE: _bindgen_ty_123 = 14;
7652pub const AEGP_LayerStream_BLUR_LEVEL: _bindgen_ty_123 = 15;
7653pub const AEGP_LayerStream_INTENSITY: _bindgen_ty_123 = 16;
7654pub const AEGP_LayerStream_COLOR: _bindgen_ty_123 = 17;
7655pub const AEGP_LayerStream_CONE_ANGLE: _bindgen_ty_123 = 18;
7656pub const AEGP_LayerStream_CONE_FEATHER: _bindgen_ty_123 = 19;
7657pub const AEGP_LayerStream_SHADOW_DARKNESS: _bindgen_ty_123 = 20;
7658pub const AEGP_LayerStream_SHADOW_DIFFUSION: _bindgen_ty_123 = 21;
7659pub const AEGP_LayerStream_ACCEPTS_SHADOWS: _bindgen_ty_123 = 22;
7660pub const AEGP_LayerStream_ACCEPTS_LIGHTS: _bindgen_ty_123 = 23;
7661pub const AEGP_LayerStream_AMBIENT_COEFF: _bindgen_ty_123 = 24;
7662pub const AEGP_LayerStream_DIFFUSE_COEFF: _bindgen_ty_123 = 25;
7663pub const AEGP_LayerStream_SPECULAR_INTENSITY: _bindgen_ty_123 = 26;
7664pub const AEGP_LayerStream_SPECULAR_SHININESS: _bindgen_ty_123 = 27;
7665pub const AEGP_LayerStream_CASTS_SHADOWS: _bindgen_ty_123 = 28;
7666pub const AEGP_LayerStream_LIGHT_TRANSMISSION: _bindgen_ty_123 = 29;
7667pub const AEGP_LayerStream_METAL: _bindgen_ty_123 = 30;
7668pub const AEGP_LayerStream_SOURCE_TEXT: _bindgen_ty_123 = 31;
7669pub const AEGP_LayerStream_IRIS_SHAPE: _bindgen_ty_123 = 32;
7670pub const AEGP_LayerStream_IRIS_ROTATION: _bindgen_ty_123 = 33;
7671pub const AEGP_LayerStream_IRIS_ROUNDNESS: _bindgen_ty_123 = 34;
7672pub const AEGP_LayerStream_IRIS_ASPECT_RATIO: _bindgen_ty_123 = 35;
7673pub const AEGP_LayerStream_IRIS_DIFFRACTION_FRINGE: _bindgen_ty_123 = 36;
7674pub const AEGP_LayerStream_IRIS_HIGHLIGHT_GAIN: _bindgen_ty_123 = 37;
7675pub const AEGP_LayerStream_IRIS_HIGHLIGHT_THRESHOLD: _bindgen_ty_123 = 38;
7676pub const AEGP_LayerStream_IRIS_HIGHLIGHT_SATURATION: _bindgen_ty_123 = 39;
7677pub const AEGP_LayerStream_LIGHT_FALLOFF_TYPE: _bindgen_ty_123 = 40;
7678pub const AEGP_LayerStream_LIGHT_FALLOFF_START: _bindgen_ty_123 = 41;
7679pub const AEGP_LayerStream_LIGHT_FALLOFF_DISTANCE: _bindgen_ty_123 = 42;
7680pub const AEGP_LayerStream_REFLECTION_INTENSITY: _bindgen_ty_123 = 43;
7681pub const AEGP_LayerStream_REFLECTION_SHARPNESS: _bindgen_ty_123 = 44;
7682pub const AEGP_LayerStream_REFLECTION_ROLLOFF: _bindgen_ty_123 = 45;
7683pub const AEGP_LayerStream_TRANSPARENCY_COEFF: _bindgen_ty_123 = 46;
7684pub const AEGP_LayerStream_TRANSPARENCY_ROLLOFF: _bindgen_ty_123 = 47;
7685pub const AEGP_LayerStream_INDEX_OF_REFRACTION: _bindgen_ty_123 = 48;
7686pub const AEGP_LayerStream_EXTRUSION_BEVEL_STYLE: _bindgen_ty_123 = 49;
7687pub const AEGP_LayerStream_EXTRUSION_BEVEL_DIRECTION: _bindgen_ty_123 = 50;
7688pub const AEGP_LayerStream_EXTRUSION_BEVEL_DEPTH: _bindgen_ty_123 = 51;
7689pub const AEGP_LayerStream_EXTRUSION_HOLE_BEVEL_DEPTH: _bindgen_ty_123 = 52;
7690pub const AEGP_LayerStream_EXTRUSION_DEPTH: _bindgen_ty_123 = 53;
7691pub const AEGP_LayerStream_PLANE_CURVATURE: _bindgen_ty_123 = 54;
7692pub const AEGP_LayerStream_PLANE_SUBDIVISION: _bindgen_ty_123 = 55;
7693pub const AEGP_LayerStream_LIGHT_BACKGROUND_VISIBLE: _bindgen_ty_123 = 56;
7694pub const AEGP_LayerStream_LIGHT_BACKGROUND_OPACITY: _bindgen_ty_123 = 57;
7695pub const AEGP_LayerStream_LIGHT_BACKGROUND_BLUR: _bindgen_ty_123 = 58;
7696pub const AEGP_LayerStream_SHADOW_COLOR: _bindgen_ty_123 = 59;
7697pub const AEGP_LayerStream_NUMTYPES: _bindgen_ty_123 = 60;
7698pub const AEGP_LayerStream_BEGIN: _bindgen_ty_123 = 0;
7699pub const AEGP_LayerStream_END: _bindgen_ty_123 = 60;
7700pub type _bindgen_ty_123 = ::std::os::raw::c_int;
7701pub type AEGP_LayerStream = A_long;
7702pub const AEGP_MaskStream_OUTLINE: _bindgen_ty_124 = 400;
7703pub const AEGP_MaskStream_OPACITY: _bindgen_ty_124 = 401;
7704pub const AEGP_MaskStream_FEATHER: _bindgen_ty_124 = 402;
7705pub const AEGP_MaskStream_EXPANSION: _bindgen_ty_124 = 403;
7706pub const AEGP_MaskStream_BEGIN: _bindgen_ty_124 = 400;
7707pub const AEGP_MaskStream_END: _bindgen_ty_124 = 404;
7708pub type _bindgen_ty_124 = ::std::os::raw::c_uint;
7709pub type AEGP_MaskStream = A_long;
7710pub const AEGP_StreamFlag_NONE: _bindgen_ty_125 = 0;
7711pub const AEGP_StreamFlag_HAS_MIN: _bindgen_ty_125 = 1;
7712pub const AEGP_StreamFlag_HAS_MAX: _bindgen_ty_125 = 2;
7713pub const AEGP_StreamFlag_IS_SPATIAL: _bindgen_ty_125 = 4;
7714pub type _bindgen_ty_125 = ::std::os::raw::c_uint;
7715pub type AEGP_StreamFlags = A_long;
7716pub type AEGP_OneDVal = A_FpLong;
7717#[repr(C)]
7718#[derive(Debug, Copy, Clone)]
7719pub struct AEGP_TwoDVal {
7720    pub x: A_FpLong,
7721    pub y: A_FpLong,
7722}
7723#[repr(C)]
7724#[derive(Debug, Copy, Clone)]
7725pub struct AEGP_ThreeDVal {
7726    pub x: A_FpLong,
7727    pub y: A_FpLong,
7728    pub z: A_FpLong,
7729}
7730pub type AEGP_FourDVal = [A_FpLong; 4usize];
7731pub type AEGP_ArbBlockVal = A_Handle;
7732pub const AEGP_KeyInterp_NONE: _bindgen_ty_126 = 0;
7733pub const AEGP_KeyInterp_LINEAR: _bindgen_ty_126 = 1;
7734pub const AEGP_KeyInterp_BEZIER: _bindgen_ty_126 = 2;
7735pub const AEGP_KeyInterp_HOLD: _bindgen_ty_126 = 3;
7736pub const AEGP_Interp_NUM_VALUES: _bindgen_ty_126 = 4;
7737pub type _bindgen_ty_126 = ::std::os::raw::c_uint;
7738pub type AEGP_KeyframeInterpolationType = A_long;
7739pub const AEGP_KeyInterpMask_NONE: _bindgen_ty_127 = 0;
7740pub const AEGP_KeyInterpMask_LINEAR: _bindgen_ty_127 = 1;
7741pub const AEGP_KeyInterpMask_BEZIER: _bindgen_ty_127 = 2;
7742pub const AEGP_KeyInterpMask_HOLD: _bindgen_ty_127 = 4;
7743pub const AEGP_KeyInterpMask_CUSTOM: _bindgen_ty_127 = 8;
7744pub const AEGP_KeyInterpMask_ANY: _bindgen_ty_127 = 65535;
7745pub type _bindgen_ty_127 = ::std::os::raw::c_uint;
7746pub type AEGP_KeyInterpolationMask = A_long;
7747#[repr(C)]
7748#[derive(Debug, Copy, Clone)]
7749pub struct AEGP_KeyframeEase {
7750    pub speedF: A_FpLong,
7751    pub influenceF: A_FpLong,
7752}
7753#[repr(C)]
7754#[derive(Copy, Clone)]
7755pub union AEGP_StreamVal2 {
7756    pub four_d: AEGP_FourDVal,
7757    pub three_d: AEGP_ThreeDVal,
7758    pub two_d: AEGP_TwoDVal,
7759    pub one_d: AEGP_OneDVal,
7760    pub color: AEGP_ColorVal,
7761    pub arbH: AEGP_ArbBlockVal,
7762    pub markerP: AEGP_MarkerValP,
7763    pub layer_id: AEGP_LayerIDVal,
7764    pub mask_id: AEGP_MaskIDVal,
7765    pub mask: AEGP_MaskOutlineValH,
7766    pub text_documentH: AEGP_TextDocumentH,
7767}
7768#[repr(C)]
7769#[derive(Copy, Clone)]
7770pub struct AEGP_StreamValue2 {
7771    pub streamH: AEGP_StreamRefH,
7772    pub val: AEGP_StreamVal2,
7773}
7774pub const AEGP_StreamType_NO_DATA: _bindgen_ty_128 = 0;
7775pub const AEGP_StreamType_ThreeD_SPATIAL: _bindgen_ty_128 = 1;
7776pub const AEGP_StreamType_ThreeD: _bindgen_ty_128 = 2;
7777pub const AEGP_StreamType_TwoD_SPATIAL: _bindgen_ty_128 = 3;
7778pub const AEGP_StreamType_TwoD: _bindgen_ty_128 = 4;
7779pub const AEGP_StreamType_OneD: _bindgen_ty_128 = 5;
7780pub const AEGP_StreamType_COLOR: _bindgen_ty_128 = 6;
7781pub const AEGP_StreamType_ARB: _bindgen_ty_128 = 7;
7782pub const AEGP_StreamType_MARKER: _bindgen_ty_128 = 8;
7783pub const AEGP_StreamType_LAYER_ID: _bindgen_ty_128 = 9;
7784pub const AEGP_StreamType_MASK_ID: _bindgen_ty_128 = 10;
7785pub const AEGP_StreamType_MASK: _bindgen_ty_128 = 11;
7786pub const AEGP_StreamType_TEXT_DOCUMENT: _bindgen_ty_128 = 12;
7787pub type _bindgen_ty_128 = ::std::os::raw::c_uint;
7788pub type AEGP_StreamType = A_long;
7789#[repr(C)]
7790#[derive(Debug, Copy, Clone)]
7791pub struct AEGP_StreamSuite6 {
7792    pub AEGP_IsStreamLegal: ::std::option::Option<
7793        unsafe extern "C" fn(
7794            layerH: AEGP_LayerH,
7795            which_stream: AEGP_LayerStream,
7796            is_legalP: *mut A_Boolean,
7797        ) -> A_Err,
7798    >,
7799    pub AEGP_CanVaryOverTime: ::std::option::Option<
7800        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
7801    >,
7802    pub AEGP_GetValidInterpolations: ::std::option::Option<
7803        unsafe extern "C" fn(
7804            streamH: AEGP_StreamRefH,
7805            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
7806        ) -> A_Err,
7807    >,
7808    pub AEGP_GetNewLayerStream: ::std::option::Option<
7809        unsafe extern "C" fn(
7810            aegp_plugin_id: AEGP_PluginID,
7811            layerH: AEGP_LayerH,
7812            which_stream: AEGP_LayerStream,
7813            streamPH: *mut AEGP_StreamRefH,
7814        ) -> A_Err,
7815    >,
7816    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
7817        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
7818    >,
7819    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
7820        unsafe extern "C" fn(
7821            aegp_plugin_id: AEGP_PluginID,
7822            effect_refH: AEGP_EffectRefH,
7823            param_index: PF_ParamIndex,
7824            streamPH: *mut AEGP_StreamRefH,
7825        ) -> A_Err,
7826    >,
7827    pub AEGP_GetNewMaskStream: ::std::option::Option<
7828        unsafe extern "C" fn(
7829            aegp_plugin_id: AEGP_PluginID,
7830            mask_refH: AEGP_MaskRefH,
7831            which_stream: AEGP_MaskStream,
7832            mask_streamPH: *mut AEGP_StreamRefH,
7833        ) -> A_Err,
7834    >,
7835    pub AEGP_DisposeStream:
7836        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
7837    pub AEGP_GetStreamName: ::std::option::Option<
7838        unsafe extern "C" fn(
7839            pluginID: AEGP_PluginID,
7840            streamH: AEGP_StreamRefH,
7841            force_englishB: A_Boolean,
7842            utf_stream_namePH: *mut AEGP_MemHandle,
7843        ) -> A_Err,
7844    >,
7845    pub AEGP_GetStreamUnitsText: ::std::option::Option<
7846        unsafe extern "C" fn(
7847            streamH: AEGP_StreamRefH,
7848            force_englishB: A_Boolean,
7849            unitsZ: *mut A_char,
7850        ) -> A_Err,
7851    >,
7852    pub AEGP_GetStreamProperties: ::std::option::Option<
7853        unsafe extern "C" fn(
7854            streamH: AEGP_StreamRefH,
7855            flagsP: *mut AEGP_StreamFlags,
7856            minP0: *mut A_FpLong,
7857            maxP0: *mut A_FpLong,
7858        ) -> A_Err,
7859    >,
7860    pub AEGP_IsStreamTimevarying: ::std::option::Option<
7861        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
7862    >,
7863    pub AEGP_GetStreamType: ::std::option::Option<
7864        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
7865    >,
7866    pub AEGP_GetNewStreamValue: ::std::option::Option<
7867        unsafe extern "C" fn(
7868            aegp_plugin_id: AEGP_PluginID,
7869            streamH: AEGP_StreamRefH,
7870            time_mode: AEGP_LTimeMode,
7871            timePT: *const A_Time,
7872            pre_expressionB: A_Boolean,
7873            valueP: *mut AEGP_StreamValue2,
7874        ) -> A_Err,
7875    >,
7876    pub AEGP_DisposeStreamValue:
7877        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
7878    pub AEGP_SetStreamValue: ::std::option::Option<
7879        unsafe extern "C" fn(
7880            aegp_plugin_id: AEGP_PluginID,
7881            streamH: AEGP_StreamRefH,
7882            valueP: *mut AEGP_StreamValue2,
7883        ) -> A_Err,
7884    >,
7885    pub AEGP_GetLayerStreamValue: ::std::option::Option<
7886        unsafe extern "C" fn(
7887            layerH: AEGP_LayerH,
7888            which_stream: AEGP_LayerStream,
7889            time_mode: AEGP_LTimeMode,
7890            timePT: *const A_Time,
7891            pre_expressionB: A_Boolean,
7892            stream_valP: *mut AEGP_StreamVal2,
7893            stream_typeP0: *mut AEGP_StreamType,
7894        ) -> A_Err,
7895    >,
7896    pub AEGP_GetExpressionState: ::std::option::Option<
7897        unsafe extern "C" fn(
7898            aegp_plugin_id: AEGP_PluginID,
7899            streamH: AEGP_StreamRefH,
7900            enabledPB: *mut A_Boolean,
7901        ) -> A_Err,
7902    >,
7903    pub AEGP_SetExpressionState: ::std::option::Option<
7904        unsafe extern "C" fn(
7905            aegp_plugin_id: AEGP_PluginID,
7906            streamH: AEGP_StreamRefH,
7907            enabledB: A_Boolean,
7908        ) -> A_Err,
7909    >,
7910    pub AEGP_GetExpression: ::std::option::Option<
7911        unsafe extern "C" fn(
7912            aegp_plugin_id: AEGP_PluginID,
7913            streamH: AEGP_StreamRefH,
7914            unicodeHZ: *mut AEGP_MemHandle,
7915        ) -> A_Err,
7916    >,
7917    pub AEGP_SetExpression: ::std::option::Option<
7918        unsafe extern "C" fn(
7919            aegp_plugin_id: AEGP_PluginID,
7920            streamH: AEGP_StreamRefH,
7921            expressionP: *const A_UTF16Char,
7922        ) -> A_Err,
7923    >,
7924    pub AEGP_DuplicateStreamRef: ::std::option::Option<
7925        unsafe extern "C" fn(
7926            aegp_plugin_id: AEGP_PluginID,
7927            streamH: AEGP_StreamRefH,
7928            dup_streamPH: *mut AEGP_StreamRefH,
7929        ) -> A_Err,
7930    >,
7931    pub AEGP_GetUniqueStreamID: ::std::option::Option<
7932        unsafe extern "C" fn(streamH: AEGP_StreamRefH, outID: *mut i32) -> A_Err,
7933    >,
7934}
7935pub const AEGP_StreamGroupingType_NONE: _bindgen_ty_129 = -1;
7936pub const AEGP_StreamGroupingType_LEAF: _bindgen_ty_129 = 0;
7937pub const AEGP_StreamGroupingType_NAMED_GROUP: _bindgen_ty_129 = 1;
7938pub const AEGP_StreamGroupingType_INDEXED_GROUP: _bindgen_ty_129 = 2;
7939pub type _bindgen_ty_129 = ::std::os::raw::c_int;
7940pub type AEGP_StreamGroupingType = A_long;
7941pub const AEGP_DynStreamFlag_ACTIVE_EYEBALL: _bindgen_ty_130 = 1;
7942pub const AEGP_DynStreamFlag_HIDDEN: _bindgen_ty_130 = 2;
7943pub const AEGP_DynStreamFlag_DISABLED: _bindgen_ty_130 = 16;
7944pub const AEGP_DynStreamFlag_ELIDED: _bindgen_ty_130 = 32;
7945pub const AEGP_DynStreamFlag_SHOWN_WHEN_EMPTY: _bindgen_ty_130 = 1024;
7946pub const AEGP_DynStreamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_130 = 65536;
7947pub type _bindgen_ty_130 = ::std::os::raw::c_uint;
7948pub type AEGP_DynStreamFlags = A_u_long;
7949#[repr(C)]
7950#[derive(Debug, Copy, Clone)]
7951pub struct AEGP_DynamicStreamSuite4 {
7952    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
7953        unsafe extern "C" fn(
7954            aegp_plugin_id: AEGP_PluginID,
7955            layerH: AEGP_LayerH,
7956            streamPH: *mut AEGP_StreamRefH,
7957        ) -> A_Err,
7958    >,
7959    pub AEGP_GetNewStreamRefForMask: ::std::option::Option<
7960        unsafe extern "C" fn(
7961            aegp_plugin_id: AEGP_PluginID,
7962            maskH: AEGP_MaskRefH,
7963            streamPH: *mut AEGP_StreamRefH,
7964        ) -> A_Err,
7965    >,
7966    pub AEGP_GetStreamDepth: ::std::option::Option<
7967        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
7968    >,
7969    pub AEGP_GetStreamGroupingType: ::std::option::Option<
7970        unsafe extern "C" fn(
7971            streamH: AEGP_StreamRefH,
7972            group_typeP: *mut AEGP_StreamGroupingType,
7973        ) -> A_Err,
7974    >,
7975    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
7976        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
7977    >,
7978    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
7979        unsafe extern "C" fn(
7980            streamH: AEGP_StreamRefH,
7981            stream_flagsP: *mut AEGP_DynStreamFlags,
7982        ) -> A_Err,
7983    >,
7984    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
7985        unsafe extern "C" fn(
7986            streamH: AEGP_StreamRefH,
7987            one_flag: AEGP_DynStreamFlags,
7988            undoableB: A_Boolean,
7989            setB: A_Boolean,
7990        ) -> A_Err,
7991    >,
7992    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
7993        unsafe extern "C" fn(
7994            aegp_plugin_id: AEGP_PluginID,
7995            parent_groupH: AEGP_StreamRefH,
7996            indexL: A_long,
7997            streamPH: *mut AEGP_StreamRefH,
7998        ) -> A_Err,
7999    >,
8000    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
8001        unsafe extern "C" fn(
8002            aegp_plugin_id: AEGP_PluginID,
8003            parent_groupH: AEGP_StreamRefH,
8004            utf8_match_nameZ: *const A_char,
8005            streamPH: *mut AEGP_StreamRefH,
8006        ) -> A_Err,
8007    >,
8008    pub AEGP_DeleteStream:
8009        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
8010    pub AEGP_ReorderStream: ::std::option::Option<
8011        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
8012    >,
8013    pub AEGP_DuplicateStream: ::std::option::Option<
8014        unsafe extern "C" fn(
8015            aegp_plugin_id: AEGP_PluginID,
8016            streamH: AEGP_StreamRefH,
8017            new_indexPL0: *mut A_long,
8018        ) -> A_Err,
8019    >,
8020    pub AEGP_SetStreamName: ::std::option::Option<
8021        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_UTF16Char) -> A_Err,
8022    >,
8023    pub AEGP_CanAddStream: ::std::option::Option<
8024        unsafe extern "C" fn(
8025            group_streamH: AEGP_StreamRefH,
8026            utf8_match_nameZ: *const A_char,
8027            can_addPB: *mut A_Boolean,
8028        ) -> A_Err,
8029    >,
8030    pub AEGP_AddStream: ::std::option::Option<
8031        unsafe extern "C" fn(
8032            aegp_plugin_id: AEGP_PluginID,
8033            indexed_group_streamH: AEGP_StreamRefH,
8034            utf8_match_nameZ: *const A_char,
8035            streamPH0: *mut AEGP_StreamRefH,
8036        ) -> A_Err,
8037    >,
8038    pub AEGP_GetMatchName: ::std::option::Option<
8039        unsafe extern "C" fn(streamH: AEGP_StreamRefH, utf8_match_nameZ: *mut A_char) -> A_Err,
8040    >,
8041    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
8042        unsafe extern "C" fn(
8043            aegp_plugin_id: AEGP_PluginID,
8044            streamH: AEGP_StreamRefH,
8045            parent_streamPH: *mut AEGP_StreamRefH,
8046        ) -> A_Err,
8047    >,
8048    pub AEGP_GetStreamIsModified: ::std::option::Option<
8049        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
8050    >,
8051    pub AEGP_GetStreamIndexInParent: ::std::option::Option<
8052        unsafe extern "C" fn(streamH: AEGP_StreamRefH, indexPL: *mut A_long) -> A_Err,
8053    >,
8054    pub AEGP_IsSeparationLeader: ::std::option::Option<
8055        unsafe extern "C" fn(streamH: AEGP_StreamRefH, leaderPB: *mut A_Boolean) -> A_Err,
8056    >,
8057    pub AEGP_AreDimensionsSeparated: ::std::option::Option<
8058        unsafe extern "C" fn(leader_streamH: AEGP_StreamRefH, separatedPB: *mut A_Boolean) -> A_Err,
8059    >,
8060    pub AEGP_SetDimensionsSeparated: ::std::option::Option<
8061        unsafe extern "C" fn(leader_streamH: AEGP_StreamRefH, separatedB: A_Boolean) -> A_Err,
8062    >,
8063    pub AEGP_GetSeparationFollower: ::std::option::Option<
8064        unsafe extern "C" fn(
8065            leader_streamH: AEGP_StreamRefH,
8066            dimS: A_short,
8067            follower_streamPH: *mut AEGP_StreamRefH,
8068        ) -> A_Err,
8069    >,
8070    pub AEGP_IsSeparationFollower: ::std::option::Option<
8071        unsafe extern "C" fn(streamH: AEGP_StreamRefH, followerPB: *mut A_Boolean) -> A_Err,
8072    >,
8073    pub AEGP_GetSeparationLeader: ::std::option::Option<
8074        unsafe extern "C" fn(
8075            follower_streamH: AEGP_StreamRefH,
8076            leader_streamPH: *mut AEGP_StreamRefH,
8077        ) -> A_Err,
8078    >,
8079    pub AEGP_GetSeparationDimension: ::std::option::Option<
8080        unsafe extern "C" fn(follower_streamH: AEGP_StreamRefH, dimPS: *mut A_short) -> A_Err,
8081    >,
8082}
8083pub type AEGP_KeyframeIndex = A_long;
8084pub const AEGP_KeyframeFlag_NONE: _bindgen_ty_131 = 0;
8085pub const AEGP_KeyframeFlag_TEMPORAL_CONTINUOUS: _bindgen_ty_131 = 1;
8086pub const AEGP_KeyframeFlag_TEMPORAL_AUTOBEZIER: _bindgen_ty_131 = 2;
8087pub const AEGP_KeyframeFlag_SPATIAL_CONTINUOUS: _bindgen_ty_131 = 4;
8088pub const AEGP_KeyframeFlag_SPATIAL_AUTOBEZIER: _bindgen_ty_131 = 8;
8089pub const AEGP_KeyframeFlag_ROVING: _bindgen_ty_131 = 16;
8090pub type _bindgen_ty_131 = ::std::os::raw::c_uint;
8091pub type AEGP_KeyframeFlags = A_long;
8092pub const AEGP_NumKF_NO_DATA: _bindgen_ty_132 = -1;
8093pub type _bindgen_ty_132 = ::std::os::raw::c_int;
8094#[repr(C)]
8095#[derive(Debug, Copy, Clone)]
8096pub struct AEGP_KeyframeSuite5 {
8097    pub AEGP_GetStreamNumKFs: ::std::option::Option<
8098        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
8099    >,
8100    pub AEGP_GetKeyframeTime: ::std::option::Option<
8101        unsafe extern "C" fn(
8102            streamH: AEGP_StreamRefH,
8103            key_index: AEGP_KeyframeIndex,
8104            time_mode: AEGP_LTimeMode,
8105            timePT: *mut A_Time,
8106        ) -> A_Err,
8107    >,
8108    pub AEGP_InsertKeyframe: ::std::option::Option<
8109        unsafe extern "C" fn(
8110            streamH: AEGP_StreamRefH,
8111            time_mode: AEGP_LTimeMode,
8112            timePT: *const A_Time,
8113            key_indexP: *mut AEGP_KeyframeIndex,
8114        ) -> A_Err,
8115    >,
8116    pub AEGP_DeleteKeyframe: ::std::option::Option<
8117        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
8118    >,
8119    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
8120        unsafe extern "C" fn(
8121            aegp_plugin_id: AEGP_PluginID,
8122            streamH: AEGP_StreamRefH,
8123            key_index: AEGP_KeyframeIndex,
8124            valueP: *mut AEGP_StreamValue2,
8125        ) -> A_Err,
8126    >,
8127    pub AEGP_SetKeyframeValue: ::std::option::Option<
8128        unsafe extern "C" fn(
8129            streamH: AEGP_StreamRefH,
8130            key_index: AEGP_KeyframeIndex,
8131            valueP: *const AEGP_StreamValue2,
8132        ) -> A_Err,
8133    >,
8134    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
8135        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
8136    >,
8137    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
8138        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
8139    >,
8140    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
8141        unsafe extern "C" fn(
8142            aegp_plugin_id: AEGP_PluginID,
8143            streamH: AEGP_StreamRefH,
8144            key_index: AEGP_KeyframeIndex,
8145            in_tanP0: *mut AEGP_StreamValue2,
8146            out_tanP0: *mut AEGP_StreamValue2,
8147        ) -> A_Err,
8148    >,
8149    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
8150        unsafe extern "C" fn(
8151            streamH: AEGP_StreamRefH,
8152            key_index: AEGP_KeyframeIndex,
8153            in_tanP0: *const AEGP_StreamValue2,
8154            out_tanP0: *const AEGP_StreamValue2,
8155        ) -> A_Err,
8156    >,
8157    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
8158        unsafe extern "C" fn(
8159            streamH: AEGP_StreamRefH,
8160            key_index: AEGP_KeyframeIndex,
8161            dimensionL: A_long,
8162            in_easeP0: *mut AEGP_KeyframeEase,
8163            out_easeP0: *mut AEGP_KeyframeEase,
8164        ) -> A_Err,
8165    >,
8166    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
8167        unsafe extern "C" fn(
8168            streamH: AEGP_StreamRefH,
8169            key_index: AEGP_KeyframeIndex,
8170            dimensionL: A_long,
8171            in_easeP0: *const AEGP_KeyframeEase,
8172            out_easeP0: *const AEGP_KeyframeEase,
8173        ) -> A_Err,
8174    >,
8175    pub AEGP_GetKeyframeFlags: ::std::option::Option<
8176        unsafe extern "C" fn(
8177            streamH: AEGP_StreamRefH,
8178            key_index: AEGP_KeyframeIndex,
8179            flagsP: *mut AEGP_KeyframeFlags,
8180        ) -> A_Err,
8181    >,
8182    pub AEGP_SetKeyframeFlag: ::std::option::Option<
8183        unsafe extern "C" fn(
8184            streamH: AEGP_StreamRefH,
8185            key_index: AEGP_KeyframeIndex,
8186            flag: AEGP_KeyframeFlags,
8187            true_falseB: A_Boolean,
8188        ) -> A_Err,
8189    >,
8190    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
8191        unsafe extern "C" fn(
8192            streamH: AEGP_StreamRefH,
8193            key_index: AEGP_KeyframeIndex,
8194            in_interpP0: *mut AEGP_KeyframeInterpolationType,
8195            out_interpP0: *mut AEGP_KeyframeInterpolationType,
8196        ) -> A_Err,
8197    >,
8198    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
8199        unsafe extern "C" fn(
8200            streamH: AEGP_StreamRefH,
8201            key_index: AEGP_KeyframeIndex,
8202            in_interp: AEGP_KeyframeInterpolationType,
8203            out_interp: AEGP_KeyframeInterpolationType,
8204        ) -> A_Err,
8205    >,
8206    pub AEGP_StartAddKeyframes: ::std::option::Option<
8207        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
8208    >,
8209    pub AEGP_AddKeyframes: ::std::option::Option<
8210        unsafe extern "C" fn(
8211            akH: AEGP_AddKeyframesInfoH,
8212            time_mode: AEGP_LTimeMode,
8213            timePT: *const A_Time,
8214            key_indexPL: *mut A_long,
8215        ) -> A_Err,
8216    >,
8217    pub AEGP_SetAddKeyframe: ::std::option::Option<
8218        unsafe extern "C" fn(
8219            akH: AEGP_AddKeyframesInfoH,
8220            key_indexL: A_long,
8221            valueP: *const AEGP_StreamValue2,
8222        ) -> A_Err,
8223    >,
8224    pub AEGP_EndAddKeyframes: ::std::option::Option<
8225        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
8226    >,
8227    pub AEGP_GetKeyframeLabelColorIndex: ::std::option::Option<
8228        unsafe extern "C" fn(
8229            streamH: AEGP_StreamRefH,
8230            key_index: AEGP_KeyframeIndex,
8231            key_labelP: *mut A_long,
8232        ) -> A_Err,
8233    >,
8234    pub AEGP_SetKeyframeLabelColorIndex: ::std::option::Option<
8235        unsafe extern "C" fn(
8236            streamH: AEGP_StreamRefH,
8237            key_index: AEGP_KeyframeIndex,
8238            key_label: A_long,
8239        ) -> A_Err,
8240    >,
8241}
8242#[repr(C)]
8243#[derive(Debug, Copy, Clone)]
8244pub struct AEGP_TextDocumentSuite1 {
8245    pub AEGP_GetNewText: ::std::option::Option<
8246        unsafe extern "C" fn(
8247            aegp_plugin_id: AEGP_PluginID,
8248            text_documentH: AEGP_TextDocumentH,
8249            unicodePH: *mut AEGP_MemHandle,
8250        ) -> A_Err,
8251    >,
8252    pub AEGP_SetText: ::std::option::Option<
8253        unsafe extern "C" fn(
8254            text_documentH: AEGP_TextDocumentH,
8255            unicodePS: *const A_u_short,
8256            lengthL: A_long,
8257        ) -> A_Err,
8258    >,
8259}
8260pub const AEGP_MarkerString_NONE: _bindgen_ty_133 = 0;
8261pub const AEGP_MarkerString_COMMENT: _bindgen_ty_133 = 1;
8262pub const AEGP_MarkerString_CHAPTER: _bindgen_ty_133 = 2;
8263pub const AEGP_MarkerString_URL: _bindgen_ty_133 = 3;
8264pub const AEGP_MarkerString_FRAME_TARGET: _bindgen_ty_133 = 4;
8265pub const AEGP_MarkerString_CUE_POINT_NAME: _bindgen_ty_133 = 5;
8266pub const AEGP_MarkerString_NUMTYPES: _bindgen_ty_133 = 6;
8267pub type _bindgen_ty_133 = ::std::os::raw::c_uint;
8268pub type AEGP_MarkerStringType = A_long;
8269pub const AEGP_MarkerFlag_NONE: _bindgen_ty_134 = 0;
8270pub const AEGP_MarkerFlag_NAVIGATION: _bindgen_ty_134 = 1;
8271pub const AEGP_MarkerFlag_PROTECT_REGION: _bindgen_ty_134 = 2;
8272pub type _bindgen_ty_134 = ::std::os::raw::c_uint;
8273pub type AEGP_MarkerFlagType = A_long;
8274#[repr(C)]
8275#[derive(Debug, Copy, Clone)]
8276pub struct AEGP_MarkerSuite3 {
8277    pub AEGP_NewMarker:
8278        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
8279    pub AEGP_DisposeMarker:
8280        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
8281    pub AEGP_DuplicateMarker: ::std::option::Option<
8282        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
8283    >,
8284    pub AEGP_SetMarkerFlag: ::std::option::Option<
8285        unsafe extern "C" fn(
8286            markerP: AEGP_MarkerValP,
8287            flagType: AEGP_MarkerFlagType,
8288            valueB: A_Boolean,
8289        ) -> A_Err,
8290    >,
8291    pub AEGP_GetMarkerFlag: ::std::option::Option<
8292        unsafe extern "C" fn(
8293            markerP: AEGP_ConstMarkerValP,
8294            flagType: AEGP_MarkerFlagType,
8295            valueBP: *mut A_Boolean,
8296        ) -> A_Err,
8297    >,
8298    pub AEGP_GetMarkerString: ::std::option::Option<
8299        unsafe extern "C" fn(
8300            aegp_plugin_id: AEGP_PluginID,
8301            markerP: AEGP_ConstMarkerValP,
8302            strType: AEGP_MarkerStringType,
8303            unicodePH: *mut AEGP_MemHandle,
8304        ) -> A_Err,
8305    >,
8306    pub AEGP_SetMarkerString: ::std::option::Option<
8307        unsafe extern "C" fn(
8308            markerP: AEGP_MarkerValP,
8309            strType: AEGP_MarkerStringType,
8310            unicodeP: *const A_u_short,
8311            lengthL: A_long,
8312        ) -> A_Err,
8313    >,
8314    pub AEGP_CountCuePointParams: ::std::option::Option<
8315        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
8316    >,
8317    pub AEGP_GetIndCuePointParam: ::std::option::Option<
8318        unsafe extern "C" fn(
8319            aegp_plugin_id: AEGP_PluginID,
8320            markerP: AEGP_ConstMarkerValP,
8321            param_indexL: A_long,
8322            unicodeKeyPH: *mut AEGP_MemHandle,
8323            unicodeValuePH: *mut AEGP_MemHandle,
8324        ) -> A_Err,
8325    >,
8326    pub AEGP_SetIndCuePointParam: ::std::option::Option<
8327        unsafe extern "C" fn(
8328            markerP: AEGP_MarkerValP,
8329            param_indexL: A_long,
8330            unicodeKeyP: *const A_u_short,
8331            key_lengthL: A_long,
8332            unicodeValueP: *const A_u_short,
8333            value_lengthL: A_long,
8334        ) -> A_Err,
8335    >,
8336    pub AEGP_InsertCuePointParam: ::std::option::Option<
8337        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
8338    >,
8339    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
8340        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
8341    >,
8342    pub AEGP_SetMarkerDuration: ::std::option::Option<
8343        unsafe extern "C" fn(markerP: AEGP_MarkerValP, durationPT: *const A_Time) -> A_Err,
8344    >,
8345    pub AEGP_GetMarkerDuration: ::std::option::Option<
8346        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, durationPT: *mut A_Time) -> A_Err,
8347    >,
8348    pub AEGP_SetMarkerLabel: ::std::option::Option<
8349        unsafe extern "C" fn(markerP: AEGP_MarkerValP, value: A_long) -> A_Err,
8350    >,
8351    pub AEGP_GetMarkerLabel: ::std::option::Option<
8352        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, valueP: *mut A_long) -> A_Err,
8353    >,
8354}
8355#[repr(C)]
8356#[derive(Debug, Copy, Clone)]
8357pub struct AEGP_TextLayerSuite1 {
8358    pub AEGP_GetNewTextOutlines: ::std::option::Option<
8359        unsafe extern "C" fn(
8360            layerH: AEGP_LayerH,
8361            layer_timePT: *const A_Time,
8362            outlinesPH: *mut AEGP_TextOutlinesH,
8363        ) -> A_Err,
8364    >,
8365    pub AEGP_DisposeTextOutlines:
8366        ::std::option::Option<unsafe extern "C" fn(outlinesH: AEGP_TextOutlinesH) -> A_Err>,
8367    pub AEGP_GetNumTextOutlines: ::std::option::Option<
8368        unsafe extern "C" fn(outlinesH: AEGP_TextOutlinesH, num_outlinesPL: *mut A_long) -> A_Err,
8369    >,
8370    pub AEGP_GetIndexedTextOutline: ::std::option::Option<
8371        unsafe extern "C" fn(
8372            outlinesH: AEGP_TextOutlinesH,
8373            path_indexL: A_long,
8374            pathPP: *mut PF_PathOutlinePtr,
8375        ) -> A_Err,
8376    >,
8377}
8378pub type AEGP_InstalledEffectKey = A_long;
8379pub const AEGP_EffectFlags_NONE: _bindgen_ty_135 = 0;
8380pub const AEGP_EffectFlags_ACTIVE: _bindgen_ty_135 = 1;
8381pub const AEGP_EffectFlags_AUDIO_ONLY: _bindgen_ty_135 = 2;
8382pub const AEGP_EffectFlags_AUDIO_TOO: _bindgen_ty_135 = 4;
8383pub const AEGP_EffectFlags_MISSING: _bindgen_ty_135 = 8;
8384pub type _bindgen_ty_135 = ::std::os::raw::c_uint;
8385pub type AEGP_EffectFlags = A_long;
8386pub type AEGP_EffectIndex = A_long;
8387#[repr(C)]
8388#[derive(Debug, Copy, Clone)]
8389pub struct AEGP_EffectSuite5 {
8390    pub AEGP_GetLayerNumEffects: ::std::option::Option<
8391        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
8392    >,
8393    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
8394        unsafe extern "C" fn(
8395            aegp_plugin_id: AEGP_PluginID,
8396            layerH: AEGP_LayerH,
8397            layer_effect_indexL: AEGP_EffectIndex,
8398            effectPH: *mut AEGP_EffectRefH,
8399        ) -> A_Err,
8400    >,
8401    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
8402        unsafe extern "C" fn(
8403            effect_refH: AEGP_EffectRefH,
8404            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
8405        ) -> A_Err,
8406    >,
8407    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
8408        unsafe extern "C" fn(
8409            aegp_plugin_id: AEGP_PluginID,
8410            effect_refH: AEGP_EffectRefH,
8411            param_index: PF_ParamIndex,
8412            param_typeP: *mut PF_ParamType,
8413            uP0: *mut PF_ParamDefUnion,
8414        ) -> A_Err,
8415    >,
8416    pub AEGP_GetEffectFlags: ::std::option::Option<
8417        unsafe extern "C" fn(
8418            effect_refH: AEGP_EffectRefH,
8419            effect_flagsP: *mut AEGP_EffectFlags,
8420        ) -> A_Err,
8421    >,
8422    pub AEGP_SetEffectFlags: ::std::option::Option<
8423        unsafe extern "C" fn(
8424            effect_refH: AEGP_EffectRefH,
8425            effect_flags_set_mask: AEGP_EffectFlags,
8426            effect_flags: AEGP_EffectFlags,
8427        ) -> A_Err,
8428    >,
8429    pub AEGP_ReorderEffect: ::std::option::Option<
8430        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
8431    >,
8432    #[doc = " new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command"]
8433    pub AEGP_EffectCallGeneric: ::std::option::Option<
8434        unsafe extern "C" fn(
8435            aegp_plugin_id: AEGP_PluginID,
8436            effect_refH: AEGP_EffectRefH,
8437            timePT: *const A_Time,
8438            effect_cmd: PF_Cmd,
8439            effect_extraPV: *mut ::std::os::raw::c_void,
8440        ) -> A_Err,
8441    >,
8442    pub AEGP_DisposeEffect:
8443        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
8444    pub AEGP_ApplyEffect: ::std::option::Option<
8445        unsafe extern "C" fn(
8446            aegp_plugin_id: AEGP_PluginID,
8447            layerH: AEGP_LayerH,
8448            installed_effect_key: AEGP_InstalledEffectKey,
8449            effect_refPH: *mut AEGP_EffectRefH,
8450        ) -> A_Err,
8451    >,
8452    pub AEGP_DeleteLayerEffect:
8453        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
8454    pub AEGP_GetNumInstalledEffects:
8455        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
8456    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
8457        unsafe extern "C" fn(
8458            installed_effect_key: AEGP_InstalledEffectKey,
8459            next_effectPH: *mut AEGP_InstalledEffectKey,
8460        ) -> A_Err,
8461    >,
8462    pub AEGP_GetEffectName: ::std::option::Option<
8463        unsafe extern "C" fn(
8464            installed_effect_key: AEGP_InstalledEffectKey,
8465            nameZ: *mut A_char,
8466        ) -> A_Err,
8467    >,
8468    pub AEGP_GetEffectMatchName: ::std::option::Option<
8469        unsafe extern "C" fn(
8470            installed_effect_key: AEGP_InstalledEffectKey,
8471            utf8_match_nameZ: *mut A_char,
8472        ) -> A_Err,
8473    >,
8474    pub AEGP_GetEffectCategory: ::std::option::Option<
8475        unsafe extern "C" fn(
8476            installed_effect_key: AEGP_InstalledEffectKey,
8477            categoryZ: *mut A_char,
8478        ) -> A_Err,
8479    >,
8480    pub AEGP_DuplicateEffect: ::std::option::Option<
8481        unsafe extern "C" fn(
8482            original_effect_refH: AEGP_EffectRefH,
8483            duplicate_effect_refPH: *mut AEGP_EffectRefH,
8484        ) -> A_Err,
8485    >,
8486    #[doc = " new in AE 13.0: effect masks"]
8487    pub AEGP_NumEffectMask: ::std::option::Option<
8488        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_masksPL: *mut A_u_long) -> A_Err,
8489    >,
8490    pub AEGP_GetEffectMaskID: ::std::option::Option<
8491        unsafe extern "C" fn(
8492            effect_refH: AEGP_EffectRefH,
8493            mask_indexL: A_u_long,
8494            id_valP: *mut AEGP_MaskIDVal,
8495        ) -> A_Err,
8496    >,
8497    pub AEGP_AddEffectMask: ::std::option::Option<
8498        unsafe extern "C" fn(
8499            effect_refH: AEGP_EffectRefH,
8500            id_val: AEGP_MaskIDVal,
8501            streamPH0: *mut AEGP_StreamRefH,
8502        ) -> A_Err,
8503    >,
8504    pub AEGP_RemoveEffectMask: ::std::option::Option<
8505        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, id_val: AEGP_MaskIDVal) -> A_Err,
8506    >,
8507    pub AEGP_SetEffectMask: ::std::option::Option<
8508        unsafe extern "C" fn(
8509            effect_refH: AEGP_EffectRefH,
8510            mask_indexL: A_u_long,
8511            id_val: AEGP_MaskIDVal,
8512            streamPH0: *mut AEGP_StreamRefH,
8513        ) -> A_Err,
8514    >,
8515    pub AEGP_GetIsInternalEffect: ::std::option::Option<
8516        unsafe extern "C" fn(
8517            installed_effect_key: AEGP_InstalledEffectKey,
8518            isInternal: *mut A_Boolean,
8519        ) -> A_Err,
8520    >,
8521}
8522pub type AEGP_MaskIndex = A_long;
8523pub const AEGP_MaskMBlur_SAME_AS_LAYER: _bindgen_ty_136 = 0;
8524pub const AEGP_MaskMBlur_OFF: _bindgen_ty_136 = 1;
8525pub const AEGP_MaskMBlur_ON: _bindgen_ty_136 = 2;
8526pub type _bindgen_ty_136 = ::std::os::raw::c_uint;
8527pub type AEGP_MaskMBlur = A_u_char;
8528pub const AEGP_MaskFeatherFalloff_SMOOTH: _bindgen_ty_137 = 0;
8529pub const AEGP_MaskFeatherFalloff_LINEAR: _bindgen_ty_137 = 1;
8530pub type _bindgen_ty_137 = ::std::os::raw::c_uint;
8531pub type AEGP_MaskFeatherFalloff = A_u_char;
8532pub const AEGP_MaskFeatherInterp_NORMAL: _bindgen_ty_138 = 0;
8533pub const AEGP_MaskFeatherInterp_HOLD_CW: _bindgen_ty_138 = 1;
8534pub type _bindgen_ty_138 = ::std::os::raw::c_uint;
8535pub type AEGP_MaskFeatherInterp = A_u_char;
8536pub const AEGP_MaskFeatherType_OUTER: _bindgen_ty_139 = 0;
8537pub const AEGP_MaskFeatherType_INNER: _bindgen_ty_139 = 1;
8538pub type _bindgen_ty_139 = ::std::os::raw::c_uint;
8539pub type AEGP_MaskFeatherType = A_u_char;
8540#[repr(C)]
8541#[derive(Debug, Copy, Clone)]
8542pub struct AEGP_MaskSuite6 {
8543    pub AEGP_GetLayerNumMasks: ::std::option::Option<
8544        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
8545    >,
8546    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
8547        unsafe extern "C" fn(
8548            aegp_layerH: AEGP_LayerH,
8549            mask_indexL: AEGP_MaskIndex,
8550            maskPH: *mut AEGP_MaskRefH,
8551        ) -> A_Err,
8552    >,
8553    pub AEGP_DisposeMask:
8554        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
8555    pub AEGP_GetMaskInvert: ::std::option::Option<
8556        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
8557    >,
8558    pub AEGP_SetMaskInvert: ::std::option::Option<
8559        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
8560    >,
8561    pub AEGP_GetMaskMode: ::std::option::Option<
8562        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
8563    >,
8564    pub AEGP_SetMaskMode: ::std::option::Option<
8565        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
8566    >,
8567    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
8568        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
8569    >,
8570    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
8571        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
8572    >,
8573    pub AEGP_GetMaskFeatherFalloff: ::std::option::Option<
8574        unsafe extern "C" fn(
8575            mask_refH: AEGP_MaskRefH,
8576            feather_falloffP: *mut AEGP_MaskFeatherFalloff,
8577        ) -> A_Err,
8578    >,
8579    pub AEGP_SetMaskFeatherFalloff: ::std::option::Option<
8580        unsafe extern "C" fn(
8581            mask_refH: AEGP_MaskRefH,
8582            feather_falloffP: AEGP_MaskFeatherFalloff,
8583        ) -> A_Err,
8584    >,
8585    pub AEGP_GetMaskID: ::std::option::Option<
8586        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
8587    >,
8588    pub AEGP_CreateNewMask: ::std::option::Option<
8589        unsafe extern "C" fn(
8590            layerH: AEGP_LayerH,
8591            mask_refPH: *mut AEGP_MaskRefH,
8592            mask_indexPL0: *mut A_long,
8593        ) -> A_Err,
8594    >,
8595    pub AEGP_DeleteMaskFromLayer:
8596        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
8597    pub AEGP_GetMaskColor: ::std::option::Option<
8598        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
8599    >,
8600    pub AEGP_SetMaskColor: ::std::option::Option<
8601        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
8602    >,
8603    pub AEGP_GetMaskLockState: ::std::option::Option<
8604        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
8605    >,
8606    pub AEGP_SetMaskLockState: ::std::option::Option<
8607        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
8608    >,
8609    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
8610        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
8611    >,
8612    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
8613        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
8614    >,
8615    pub AEGP_DuplicateMask: ::std::option::Option<
8616        unsafe extern "C" fn(
8617            orig_mask_refH: AEGP_MaskRefH,
8618            duplicate_mask_refPH: *mut AEGP_MaskRefH,
8619        ) -> A_Err,
8620    >,
8621}
8622#[repr(C)]
8623#[derive(Debug, Copy, Clone)]
8624pub struct AEGP_MaskFeather {
8625    pub segment: A_long,
8626    pub segment_sF: PF_FpLong,
8627    pub radiusF: PF_FpLong,
8628    pub ui_corner_angleF: PF_FpShort,
8629    pub tensionF: PF_FpShort,
8630    pub interp: AEGP_MaskFeatherInterp,
8631    pub type_: AEGP_MaskFeatherType,
8632}
8633pub type AEGP_FeatherIndex = A_long;
8634pub type AEGP_MaskVertex = PF_PathVertex;
8635pub type AEGP_VertexIndex = A_long;
8636#[repr(C)]
8637#[derive(Debug, Copy, Clone)]
8638pub struct AEGP_MaskOutlineSuite3 {
8639    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
8640        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
8641    >,
8642    pub AEGP_SetMaskOutlineOpen: ::std::option::Option<
8643        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openB: A_Boolean) -> A_Err,
8644    >,
8645    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
8646        unsafe extern "C" fn(
8647            mask_outlineH: AEGP_MaskOutlineValH,
8648            num_segmentsPL: *mut A_long,
8649        ) -> A_Err,
8650    >,
8651    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
8652        unsafe extern "C" fn(
8653            mask_outlineH: AEGP_MaskOutlineValH,
8654            which_pointL: AEGP_VertexIndex,
8655            vertexP: *mut AEGP_MaskVertex,
8656        ) -> A_Err,
8657    >,
8658    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
8659        unsafe extern "C" fn(
8660            mask_outlineH: AEGP_MaskOutlineValH,
8661            which_pointL: AEGP_VertexIndex,
8662            vertexP: *const AEGP_MaskVertex,
8663        ) -> A_Err,
8664    >,
8665    pub AEGP_CreateVertex: ::std::option::Option<
8666        unsafe extern "C" fn(
8667            mask_outlineH: AEGP_MaskOutlineValH,
8668            insert_position: AEGP_VertexIndex,
8669        ) -> A_Err,
8670    >,
8671    pub AEGP_DeleteVertex: ::std::option::Option<
8672        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
8673    >,
8674    pub AEGP_GetMaskOutlineNumFeathers: ::std::option::Option<
8675        unsafe extern "C" fn(
8676            mask_outlineH: AEGP_MaskOutlineValH,
8677            num_feathersPL: *mut A_long,
8678        ) -> A_Err,
8679    >,
8680    pub AEGP_GetMaskOutlineFeatherInfo: ::std::option::Option<
8681        unsafe extern "C" fn(
8682            mask_outlineH: AEGP_MaskOutlineValH,
8683            which_featherL: AEGP_FeatherIndex,
8684            featherP: *mut AEGP_MaskFeather,
8685        ) -> A_Err,
8686    >,
8687    pub AEGP_SetMaskOutlineFeatherInfo: ::std::option::Option<
8688        unsafe extern "C" fn(
8689            mask_outlineH: AEGP_MaskOutlineValH,
8690            which_featherL: AEGP_VertexIndex,
8691            featherP: *const AEGP_MaskFeather,
8692        ) -> A_Err,
8693    >,
8694    pub AEGP_CreateMaskOutlineFeather: ::std::option::Option<
8695        unsafe extern "C" fn(
8696            mask_outlineH: AEGP_MaskOutlineValH,
8697            featherP0: *const AEGP_MaskFeather,
8698            insert_positionP: *mut AEGP_FeatherIndex,
8699        ) -> A_Err,
8700    >,
8701    pub AEGP_DeleteMaskOutlineFeather: ::std::option::Option<
8702        unsafe extern "C" fn(
8703            mask_outlineH: AEGP_MaskOutlineValH,
8704            index: AEGP_FeatherIndex,
8705        ) -> A_Err,
8706    >,
8707}
8708pub type AEGP_InterlaceLabel = FIEL_Label;
8709pub const AEGP_AlphaPremul: _bindgen_ty_140 = 1;
8710pub const AEGP_AlphaInverted: _bindgen_ty_140 = 2;
8711pub const AEGP_AlphaIgnore: _bindgen_ty_140 = 4;
8712pub type _bindgen_ty_140 = ::std::os::raw::c_uint;
8713pub type AEGP_AlphaFlags = A_u_long;
8714#[repr(C)]
8715#[derive(Debug, Copy, Clone)]
8716pub struct AEGP_AlphaLabel {
8717    pub flags: AEGP_AlphaFlags,
8718    pub redCu: A_u_char,
8719    pub greenCu: A_u_char,
8720    pub blueCu: A_u_char,
8721}
8722pub const AEGP_PulldownPhase_NO_PULLDOWN: _bindgen_ty_141 = 0;
8723pub const AEGP_PulldownPhase_WSSWW: _bindgen_ty_141 = 1;
8724pub const AEGP_PulldownPhase_SSWWW: _bindgen_ty_141 = 2;
8725pub const AEGP_PulldownPhase_SWWWS: _bindgen_ty_141 = 3;
8726pub const AEGP_PulldownPhase_WWWSS: _bindgen_ty_141 = 4;
8727pub const AEGP_PulldownPhase_WWSSW: _bindgen_ty_141 = 5;
8728pub const AEGP_PulldownPhase_WWWSW: _bindgen_ty_141 = 6;
8729pub const AEGP_PulldownPhase_WWSWW: _bindgen_ty_141 = 7;
8730pub const AEGP_PulldownPhase_WSWWW: _bindgen_ty_141 = 8;
8731pub const AEGP_PulldownPhase_SWWWW: _bindgen_ty_141 = 9;
8732pub const AEGP_PulldownPhase_WWWWS: _bindgen_ty_141 = 10;
8733pub type _bindgen_ty_141 = ::std::os::raw::c_uint;
8734pub type AEGP_PulldownPhase = A_long;
8735#[repr(C)]
8736#[derive(Debug, Copy, Clone)]
8737pub struct AEGP_LoopBehavior {
8738    pub loops: A_long,
8739    pub reserved: A_long,
8740}
8741#[repr(C)]
8742#[derive(Debug, Copy, Clone)]
8743pub struct AEGP_FootageInterp {
8744    pub il: AEGP_InterlaceLabel,
8745    pub al: AEGP_AlphaLabel,
8746    pub pd: AEGP_PulldownPhase,
8747    pub loop_: AEGP_LoopBehavior,
8748    pub pix_aspect_ratio: A_Ratio,
8749    pub native_fpsF: A_FpLong,
8750    pub conform_fpsF: A_FpLong,
8751    pub depthL: A_long,
8752    pub motion_dB: A_Boolean,
8753}
8754pub const AEGP_LayerDrawStyle_LAYER_BOUNDS: _bindgen_ty_142 = 0;
8755pub const AEGP_LayerDrawStyle_DOCUMENT_BOUNDS: _bindgen_ty_142 = 1;
8756pub type _bindgen_ty_142 = ::std::os::raw::c_uint;
8757pub type AEGP_LayerDrawStyle = A_long;
8758#[repr(C)]
8759#[derive(Debug, Copy, Clone)]
8760pub struct AEGP_FootageLayerKey {
8761    pub layer_idL: A_long,
8762    pub layer_indexL: A_long,
8763    pub nameAC: [A_char; 64usize],
8764    pub layer_draw_style: AEGP_LayerDrawStyle,
8765}
8766#[repr(C)]
8767#[derive(Debug, Copy, Clone)]
8768pub struct AEGP_FileSequenceImportOptions {
8769    pub all_in_folderB: A_Boolean,
8770    pub force_alphabeticalB: A_Boolean,
8771    pub start_frameL: A_long,
8772    pub end_frameL: A_long,
8773}
8774pub const AEGP_FootageSignature_NONE: _bindgen_ty_143 = -1;
8775pub const AEGP_FootageSignature_MISSING: _bindgen_ty_143 = 0;
8776pub const AEGP_FootageSignature_SOLID: _bindgen_ty_143 = 1399811177;
8777pub type _bindgen_ty_143 = ::std::os::raw::c_int;
8778pub type AEGP_FootageSignature = A_long;
8779pub const AEGP_InterpretationStyle_NO_DIALOG_GUESS: _bindgen_ty_144 = 0;
8780pub const AEGP_InterpretationStyle_DIALOG_OK: _bindgen_ty_144 = 1;
8781pub const AEGP_InterpretationStyle_NO_DIALOG_NO_GUESS: _bindgen_ty_144 = 2;
8782pub type _bindgen_ty_144 = ::std::os::raw::c_uint;
8783pub type AEGP_InterpretationStyle = A_u_char;
8784#[repr(C)]
8785#[derive(Debug, Copy, Clone)]
8786pub struct AEGP_FootageSuite5 {
8787    pub AEGP_GetMainFootageFromItem: ::std::option::Option<
8788        unsafe extern "C" fn(itemH: AEGP_ItemH, footagePH: *mut AEGP_FootageH) -> A_Err,
8789    >,
8790    pub AEGP_GetProxyFootageFromItem: ::std::option::Option<
8791        unsafe extern "C" fn(itemH: AEGP_ItemH, proxy_footagePH: *mut AEGP_FootageH) -> A_Err,
8792    >,
8793    pub AEGP_GetFootageNumFiles: ::std::option::Option<
8794        unsafe extern "C" fn(
8795            footageH: AEGP_FootageH,
8796            num_main_filesPL0: *mut A_long,
8797            files_per_framePL0: *mut A_long,
8798        ) -> A_Err,
8799    >,
8800    pub AEGP_GetFootagePath: ::std::option::Option<
8801        unsafe extern "C" fn(
8802            footageH: AEGP_FootageH,
8803            frame_numL: A_long,
8804            file_indexL: A_long,
8805            unicode_pathPH: *mut AEGP_MemHandle,
8806        ) -> A_Err,
8807    >,
8808    pub AEGP_GetFootageSignature: ::std::option::Option<
8809        unsafe extern "C" fn(footageH: AEGP_FootageH, sigP: *mut AEGP_FootageSignature) -> A_Err,
8810    >,
8811    pub AEGP_NewFootage: ::std::option::Option<
8812        unsafe extern "C" fn(
8813            aegp_plugin_id: AEGP_PluginID,
8814            pathZ: *const A_UTF16Char,
8815            layer_infoP0: *const AEGP_FootageLayerKey,
8816            sequence_optionsP0: *const AEGP_FileSequenceImportOptions,
8817            interp_style: AEGP_InterpretationStyle,
8818            reserved: *mut ::std::os::raw::c_void,
8819            footagePH: *mut AEGP_FootageH,
8820        ) -> A_Err,
8821    >,
8822    pub AEGP_AddFootageToProject: ::std::option::Option<
8823        unsafe extern "C" fn(
8824            footageH: AEGP_FootageH,
8825            folderH: AEGP_ItemH,
8826            added_itemPH0: *mut AEGP_ItemH,
8827        ) -> A_Err,
8828    >,
8829    pub AEGP_SetItemProxyFootage: ::std::option::Option<
8830        unsafe extern "C" fn(footageH: AEGP_FootageH, itemH: AEGP_ItemH) -> A_Err,
8831    >,
8832    pub AEGP_ReplaceItemMainFootage: ::std::option::Option<
8833        unsafe extern "C" fn(footageH: AEGP_FootageH, itemH: AEGP_ItemH) -> A_Err,
8834    >,
8835    pub AEGP_DisposeFootage:
8836        ::std::option::Option<unsafe extern "C" fn(footageH: AEGP_FootageH) -> A_Err>,
8837    pub AEGP_GetFootageInterpretation: ::std::option::Option<
8838        unsafe extern "C" fn(
8839            itemH: AEGP_ItemH,
8840            proxyB: A_Boolean,
8841            interpP: *mut AEGP_FootageInterp,
8842        ) -> A_Err,
8843    >,
8844    pub AEGP_SetFootageInterpretation: ::std::option::Option<
8845        unsafe extern "C" fn(
8846            itemH: AEGP_ItemH,
8847            proxyB: A_Boolean,
8848            interpP: *const AEGP_FootageInterp,
8849        ) -> A_Err,
8850    >,
8851    pub AEGP_GetFootageLayerKey: ::std::option::Option<
8852        unsafe extern "C" fn(
8853            footageH: AEGP_FootageH,
8854            layerKeyP: *mut AEGP_FootageLayerKey,
8855        ) -> A_Err,
8856    >,
8857    pub AEGP_NewPlaceholderFootage: ::std::option::Option<
8858        unsafe extern "C" fn(
8859            plugin_id: AEGP_PluginID,
8860            nameZ: *const A_char,
8861            width: A_long,
8862            height: A_long,
8863            durationPT: *const A_Time,
8864            footagePH: *mut AEGP_FootageH,
8865        ) -> A_Err,
8866    >,
8867    pub AEGP_NewPlaceholderFootageWithPath: ::std::option::Option<
8868        unsafe extern "C" fn(
8869            plugin_id: AEGP_PluginID,
8870            pathZ: *const A_UTF16Char,
8871            path_platform: AEGP_Platform,
8872            file_type: AEIO_FileType,
8873            widthL: A_long,
8874            heightL: A_long,
8875            durationPT: *const A_Time,
8876            footagePH: *mut AEGP_FootageH,
8877        ) -> A_Err,
8878    >,
8879    pub AEGP_NewSolidFootage: ::std::option::Option<
8880        unsafe extern "C" fn(
8881            nameZ: *const A_char,
8882            width: A_long,
8883            height: A_long,
8884            colorP: *const AEGP_ColorVal,
8885            footagePH: *mut AEGP_FootageH,
8886        ) -> A_Err,
8887    >,
8888    pub AEGP_GetSolidFootageColor: ::std::option::Option<
8889        unsafe extern "C" fn(
8890            itemH: AEGP_ItemH,
8891            proxyB: A_Boolean,
8892            colorP: *mut AEGP_ColorVal,
8893        ) -> A_Err,
8894    >,
8895    pub AEGP_SetSolidFootageColor: ::std::option::Option<
8896        unsafe extern "C" fn(
8897            itemH: AEGP_ItemH,
8898            proxyB: A_Boolean,
8899            colorP: *const AEGP_ColorVal,
8900        ) -> A_Err,
8901    >,
8902    pub AEGP_SetSolidFootageDimensions: ::std::option::Option<
8903        unsafe extern "C" fn(
8904            itemH: AEGP_ItemH,
8905            proxyB: A_Boolean,
8906            widthL: A_long,
8907            heightL: A_long,
8908        ) -> A_Err,
8909    >,
8910    pub AEGP_GetFootageSoundDataFormat: ::std::option::Option<
8911        unsafe extern "C" fn(
8912            footageH: AEGP_FootageH,
8913            sound_formatP: *mut AEGP_SoundDataFormat,
8914        ) -> A_Err,
8915    >,
8916    pub AEGP_GetFootageSequenceImportOptions: ::std::option::Option<
8917        unsafe extern "C" fn(
8918            footageH: AEGP_FootageH,
8919            optionsP: *mut AEGP_FileSequenceImportOptions,
8920        ) -> A_Err,
8921    >,
8922}
8923pub type AEGP_Command = A_long;
8924pub const AEGP_WindType_NONE: _bindgen_ty_145 = 0;
8925pub const AEGP_WindType_PROJECT: _bindgen_ty_145 = 1;
8926pub const AEGP_WindType_COMP: _bindgen_ty_145 = 2;
8927pub const AEGP_WindType_TIME_LAYOUT: _bindgen_ty_145 = 3;
8928pub const AEGP_WindType_LAYER: _bindgen_ty_145 = 4;
8929pub const AEGP_WindType_FOOTAGE: _bindgen_ty_145 = 5;
8930pub const AEGP_WindType_RENDER_QUEUE: _bindgen_ty_145 = 6;
8931pub const AEGP_WindType_QT: _bindgen_ty_145 = 7;
8932pub const AEGP_WindType_DIALOG: _bindgen_ty_145 = 8;
8933pub const AEGP_WindType_FLOWCHART: _bindgen_ty_145 = 9;
8934pub const AEGP_WindType_EFFECT: _bindgen_ty_145 = 10;
8935pub const AEGP_WindType_OTHER: _bindgen_ty_145 = 11;
8936pub type _bindgen_ty_145 = ::std::os::raw::c_uint;
8937pub type AEGP_WindowType = A_LegacyEnumType;
8938pub const AEGP_HP_BeforeAE: _bindgen_ty_146 = 1;
8939pub const AEGP_HP_AfterAE: _bindgen_ty_146 = 2;
8940pub type _bindgen_ty_146 = ::std::os::raw::c_uint;
8941pub type AEGP_HookPriority = A_u_long;
8942pub type AEGP_CommandHook = ::std::option::Option<
8943    unsafe extern "C" fn(
8944        plugin_refconP: AEGP_GlobalRefcon,
8945        refconP: AEGP_CommandRefcon,
8946        command: AEGP_Command,
8947        hook_priority: AEGP_HookPriority,
8948        already_handledB: A_Boolean,
8949        handledPB: *mut A_Boolean,
8950    ) -> A_Err,
8951>;
8952pub type AEGP_UpdateMenuHook = ::std::option::Option<
8953    unsafe extern "C" fn(
8954        plugin_refconP: AEGP_GlobalRefcon,
8955        refconP: AEGP_UpdateMenuRefcon,
8956        active_window: AEGP_WindowType,
8957    ) -> A_Err,
8958>;
8959pub type AEGP_DeathHook = ::std::option::Option<
8960    unsafe extern "C" fn(plugin_refconP: AEGP_GlobalRefcon, refconP: AEGP_DeathRefcon) -> A_Err,
8961>;
8962pub type AEGP_VersionHook = ::std::option::Option<
8963    unsafe extern "C" fn(
8964        plugin_refconP: AEGP_GlobalRefcon,
8965        refconP: AEGP_VersionRefcon,
8966        pf_versionPLu: *mut A_u_long,
8967    ) -> A_Err,
8968>;
8969pub type AEGP_AboutStringHook = ::std::option::Option<
8970    unsafe extern "C" fn(
8971        plugin_refconP: AEGP_GlobalRefcon,
8972        refconP: AEGP_AboutStringRefcon,
8973        aboutZ: *mut A_char,
8974    ) -> A_Err,
8975>;
8976pub type AEGP_AboutHook = ::std::option::Option<
8977    unsafe extern "C" fn(plugin_refconP: AEGP_GlobalRefcon, refconP: AEGP_AboutRefcon) -> A_Err,
8978>;
8979pub type AEGP_IdleHook = ::std::option::Option<
8980    unsafe extern "C" fn(
8981        plugin_refconP: AEGP_GlobalRefcon,
8982        refconP: AEGP_IdleRefcon,
8983        max_sleepPL: *mut A_long,
8984    ) -> A_Err,
8985>;
8986#[repr(C)]
8987#[derive(Debug, Copy, Clone)]
8988pub struct AEGP_RegisterSuite5 {
8989    pub AEGP_RegisterCommandHook: ::std::option::Option<
8990        unsafe extern "C" fn(
8991            aegp_plugin_id: AEGP_PluginID,
8992            hook_priority: AEGP_HookPriority,
8993            command: AEGP_Command,
8994            command_hook_func: AEGP_CommandHook,
8995            refconP: AEGP_CommandRefcon,
8996        ) -> A_Err,
8997    >,
8998    pub AEGP_RegisterUpdateMenuHook: ::std::option::Option<
8999        unsafe extern "C" fn(
9000            plugin_id: AEGP_PluginID,
9001            update_menu_hook_func: AEGP_UpdateMenuHook,
9002            refconP: AEGP_UpdateMenuRefcon,
9003        ) -> A_Err,
9004    >,
9005    pub AEGP_RegisterDeathHook: ::std::option::Option<
9006        unsafe extern "C" fn(
9007            aegp_plugin_id: AEGP_PluginID,
9008            death_hook_func: AEGP_DeathHook,
9009            refconP: AEGP_DeathRefcon,
9010        ) -> A_Err,
9011    >,
9012    pub AEGP_RegisterVersionHook: ::std::option::Option<
9013        unsafe extern "C" fn(
9014            aegp_plugin_id: AEGP_PluginID,
9015            version_hook_func: AEGP_VersionHook,
9016            refconP: AEGP_VersionRefcon,
9017        ) -> A_Err,
9018    >,
9019    pub AEGP_RegisterAboutStringHook: ::std::option::Option<
9020        unsafe extern "C" fn(
9021            aegp_plugin_id: AEGP_PluginID,
9022            about_string_hook_func: AEGP_AboutStringHook,
9023            refconP: AEGP_AboutStringRefcon,
9024        ) -> A_Err,
9025    >,
9026    pub AEGP_RegisterAboutHook: ::std::option::Option<
9027        unsafe extern "C" fn(
9028            aegp_plugin_id: AEGP_PluginID,
9029            about_hook_func: AEGP_AboutHook,
9030            refconP: AEGP_AboutRefcon,
9031        ) -> A_Err,
9032    >,
9033    pub AEGP_RegisterArtisan: ::std::option::Option<
9034        unsafe extern "C" fn(
9035            api_version: A_Version,
9036            artisan_version: A_Version,
9037            aegp_plugin_id: AEGP_PluginID,
9038            aegp_refconPV: *mut ::std::os::raw::c_void,
9039            utf8_match_nameZ: *const A_char,
9040            artisan_nameZ: *const A_char,
9041            entry_funcs: *mut PR_ArtisanEntryPoints,
9042        ) -> A_Err,
9043    >,
9044    pub AEGP_RegisterIO: ::std::option::Option<
9045        unsafe extern "C" fn(
9046            aegp_plugin_id: AEGP_PluginID,
9047            aegp_refconP: AEGP_IORefcon,
9048            io_infoP: *const AEIO_ModuleInfo,
9049            aeio_fcn_blockP: *const AEIO_FunctionBlock4,
9050        ) -> A_Err,
9051    >,
9052    pub AEGP_RegisterIdleHook: ::std::option::Option<
9053        unsafe extern "C" fn(
9054            aegp_plugin_id: AEGP_PluginID,
9055            idle_hook_func: AEGP_IdleHook,
9056            refconP: AEGP_IdleRefcon,
9057        ) -> A_Err,
9058    >,
9059    pub AEGP_RegisterTracker: ::std::option::Option<
9060        unsafe extern "C" fn(
9061            api_version: A_Version,
9062            tracker_version: A_Version,
9063            aegp_plugin_id: AEGP_PluginID,
9064            refconP: AEGP_GlobalRefcon,
9065            utf8_match_nameZ: *const A_char,
9066            tracker_nameZ: *const A_char,
9067            entry_pointsP: *const PT_TrackerEntryPoints,
9068        ) -> A_Err,
9069    >,
9070    pub AEGP_RegisterInteractiveArtisan: ::std::option::Option<
9071        unsafe extern "C" fn(
9072            api_version: A_Version,
9073            artisan_version: A_Version,
9074            aegp_plugin_id: AEGP_PluginID,
9075            aegp_refconPV: *mut ::std::os::raw::c_void,
9076            utf8_match_nameZ: *const A_char,
9077            artisan_nameZ: *const A_char,
9078            entry_funcs: *mut PR_ArtisanEntryPoints,
9079        ) -> A_Err,
9080    >,
9081    pub AEGP_RegisterPresetLocalizationString: ::std::option::Option<
9082        unsafe extern "C" fn(english_nameZ: *const A_char, localized_nameZ: *const A_char) -> A_Err,
9083    >,
9084}
9085pub const AEGP_Menu_NONE: _bindgen_ty_147 = 0;
9086pub const AEGP_Menu_APPLE: _bindgen_ty_147 = 1;
9087pub const AEGP_Menu_FILE: _bindgen_ty_147 = 2;
9088pub const AEGP_Menu_EDIT: _bindgen_ty_147 = 3;
9089pub const AEGP_Menu_COMPOSITION: _bindgen_ty_147 = 4;
9090pub const AEGP_Menu_LAYER: _bindgen_ty_147 = 5;
9091pub const AEGP_Menu_EFFECT: _bindgen_ty_147 = 6;
9092pub const AEGP_Menu_WINDOW: _bindgen_ty_147 = 7;
9093pub const AEGP_Menu_FLOATERS: _bindgen_ty_147 = 8;
9094pub const AEGP_Menu_KF_ASSIST: _bindgen_ty_147 = 9;
9095pub const AEGP_Menu_IMPORT: _bindgen_ty_147 = 10;
9096pub const AEGP_Menu_SAVE_FRAME_AS: _bindgen_ty_147 = 11;
9097pub const AEGP_Menu_PREFS: _bindgen_ty_147 = 12;
9098pub const AEGP_Menu_EXPORT: _bindgen_ty_147 = 13;
9099pub const AEGP_Menu_ANIMATION: _bindgen_ty_147 = 14;
9100pub const AEGP_Menu_PURGE: _bindgen_ty_147 = 15;
9101pub const AEGP_Menu_NEW: _bindgen_ty_147 = 16;
9102pub type _bindgen_ty_147 = ::std::os::raw::c_uint;
9103pub type AEGP_MenuID = A_LegacyEnumType;
9104#[repr(C)]
9105#[derive(Debug, Copy, Clone)]
9106pub struct AEGP_CommandSuite1 {
9107    pub AEGP_GetUniqueCommand:
9108        ::std::option::Option<unsafe extern "C" fn(unique_commandP: *mut AEGP_Command) -> A_Err>,
9109    pub AEGP_InsertMenuCommand: ::std::option::Option<
9110        unsafe extern "C" fn(
9111            command: AEGP_Command,
9112            nameZ: *const A_char,
9113            menu_id: AEGP_MenuID,
9114            after_itemL: A_long,
9115        ) -> A_Err,
9116    >,
9117    pub AEGP_RemoveMenuCommand:
9118        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
9119    pub AEGP_SetMenuCommandName: ::std::option::Option<
9120        unsafe extern "C" fn(command: AEGP_Command, nameZ: *const A_char) -> A_Err,
9121    >,
9122    pub AEGP_EnableCommand:
9123        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
9124    pub AEGP_DisableCommand:
9125        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
9126    pub AEGP_CheckMarkMenuCommand: ::std::option::Option<
9127        unsafe extern "C" fn(command: AEGP_Command, checkB: A_Boolean) -> A_Err,
9128    >,
9129    pub AEGP_DoCommand: ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
9130}
9131#[repr(C)]
9132#[derive(Debug, Copy, Clone)]
9133pub struct AEGP_ErrReportState {
9134    pub reservedAL: [A_long; 12usize],
9135}
9136pub const AEGP_GetPathTypes_PLUGIN: _bindgen_ty_148 = 0;
9137pub const AEGP_GetPathTypes_USER_PLUGIN: _bindgen_ty_148 = 1;
9138pub const AEGP_GetPathTypes_ALLUSER_PLUGIN: _bindgen_ty_148 = 2;
9139pub const AEGP_GetPathTypes_APP: _bindgen_ty_148 = 3;
9140pub type _bindgen_ty_148 = ::std::os::raw::c_uint;
9141pub type AEGP_GetPathTypes = A_u_long;
9142#[repr(C)]
9143#[derive(Debug, Copy, Clone)]
9144pub struct AEGP_UtilitySuite6 {
9145    pub AEGP_ReportInfo: ::std::option::Option<
9146        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
9147    >,
9148    pub AEGP_ReportInfoUnicode: ::std::option::Option<
9149        unsafe extern "C" fn(
9150            aegp_plugin_id: AEGP_PluginID,
9151            info_stringP: *const A_UTF16Char,
9152        ) -> A_Err,
9153    >,
9154    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
9155        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
9156    >,
9157    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
9158        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
9159    >,
9160    pub AEGP_StartQuietErrors:
9161        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
9162    pub AEGP_EndQuietErrors: ::std::option::Option<
9163        unsafe extern "C" fn(
9164            report_quieted_errorsB: A_Boolean,
9165            err_stateP: *mut AEGP_ErrReportState,
9166        ) -> A_Err,
9167    >,
9168    pub AEGP_GetLastErrorMessage: ::std::option::Option<
9169        unsafe extern "C" fn(
9170            buffer_size: A_long,
9171            error_string: *mut A_char,
9172            error_num: *mut A_Err,
9173        ) -> A_Err,
9174    >,
9175    pub AEGP_StartUndoGroup:
9176        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
9177    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
9178    pub AEGP_RegisterWithAEGP: ::std::option::Option<
9179        unsafe extern "C" fn(
9180            global_refcon: AEGP_GlobalRefcon,
9181            plugin_nameZ: *const A_char,
9182            plugin_id: *mut AEGP_PluginID,
9183        ) -> A_Err,
9184    >,
9185    pub AEGP_GetMainHWND: ::std::option::Option<
9186        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
9187    >,
9188    pub AEGP_ShowHideAllFloaters:
9189        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
9190    pub AEGP_PaintPalGetForeColor:
9191        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
9192    pub AEGP_PaintPalGetBackColor:
9193        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
9194    pub AEGP_PaintPalSetForeColor:
9195        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
9196    pub AEGP_PaintPalSetBackColor:
9197        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
9198    pub AEGP_CharPalGetFillColor: ::std::option::Option<
9199        unsafe extern "C" fn(
9200            is_fill_color_definedPB: *mut A_Boolean,
9201            fill_colorP: *mut AEGP_ColorVal,
9202        ) -> A_Err,
9203    >,
9204    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
9205        unsafe extern "C" fn(
9206            is_stroke_color_definedPB: *mut A_Boolean,
9207            stroke_colorP: *mut AEGP_ColorVal,
9208        ) -> A_Err,
9209    >,
9210    pub AEGP_CharPalSetFillColor:
9211        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
9212    pub AEGP_CharPalSetStrokeColor:
9213        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
9214    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
9215        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
9216    >,
9217    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
9218        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
9219    >,
9220    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
9221        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
9222    >,
9223    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
9224    pub AEGP_GetSuppressInteractiveUI:
9225        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
9226    pub AEGP_WriteToOSConsole:
9227        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
9228    pub AEGP_WriteToDebugLog: ::std::option::Option<
9229        unsafe extern "C" fn(
9230            subsystemZ: *const A_char,
9231            event_typeZ: *const A_char,
9232            infoZ: *const A_char,
9233        ) -> A_Err,
9234    >,
9235    pub AEGP_IsScriptingAvailable:
9236        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
9237    pub AEGP_ExecuteScript: ::std::option::Option<
9238        unsafe extern "C" fn(
9239            inPlugin_id: AEGP_PluginID,
9240            inScriptZ: *const A_char,
9241            platform_encodingB: A_Boolean,
9242            outResultPH0: *mut AEGP_MemHandle,
9243            outErrorStringPH0: *mut AEGP_MemHandle,
9244        ) -> A_Err,
9245    >,
9246    pub AEGP_HostIsActivated:
9247        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
9248    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
9249        unsafe extern "C" fn(
9250            plug_id: AEGP_PluginID,
9251            plat_refPPV: *mut *mut ::std::os::raw::c_void,
9252        ) -> A_Err,
9253    >,
9254    pub AEGP_UpdateFontList: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
9255    pub AEGP_GetPluginPaths: ::std::option::Option<
9256        unsafe extern "C" fn(
9257            aegp_plugin_id: AEGP_PluginID,
9258            path_type: AEGP_GetPathTypes,
9259            unicode_pathPH: *mut AEGP_MemHandle,
9260        ) -> A_Err,
9261    >,
9262}
9263#[repr(C)]
9264#[derive(Debug, Copy, Clone)]
9265pub struct AEGP_MathSuite1 {
9266    pub AEGP_IdentityMatrix4:
9267        ::std::option::Option<unsafe extern "C" fn(matrixP: *mut A_Matrix4) -> A_Err>,
9268    pub AEGP_MultiplyMatrix4: ::std::option::Option<
9269        unsafe extern "C" fn(
9270            A: *const A_Matrix4,
9271            B: *const A_Matrix4,
9272            resultP: *mut A_Matrix4,
9273        ) -> A_Err,
9274    >,
9275    pub AEGP_Matrix3ToMatrix4: ::std::option::Option<
9276        unsafe extern "C" fn(A: *const A_Matrix3, B: *mut A_Matrix4) -> A_Err,
9277    >,
9278    pub AEGP_MultiplyMatrix4by3: ::std::option::Option<
9279        unsafe extern "C" fn(
9280            A: *const A_Matrix4,
9281            B: *const A_Matrix3,
9282            resultP: *mut A_Matrix4,
9283        ) -> A_Err,
9284    >,
9285    pub AEGP_MatrixDecompose4: ::std::option::Option<
9286        unsafe extern "C" fn(
9287            A: *const A_Matrix4,
9288            posVP: *mut A_FloatPoint3,
9289            scaleVP: *mut A_FloatPoint3,
9290            shearVP: *mut A_FloatPoint3,
9291            rotVP: *mut A_FloatPoint3,
9292        ) -> A_Err,
9293    >,
9294}
9295#[repr(C)]
9296#[derive(Debug, Copy, Clone)]
9297pub struct _PF_OpaqueBlendingTables {
9298    _unused: [u8; 0],
9299}
9300pub type PF_EffectBlendingTables = *mut _PF_OpaqueBlendingTables;
9301#[repr(C)]
9302#[derive(Debug, Copy, Clone)]
9303pub struct AEGP_ColorSettingsSuite6 {
9304    pub AEGP_GetBlendingTables: ::std::option::Option<
9305        unsafe extern "C" fn(
9306            render_contextH: PR_RenderContextH,
9307            blending_tables: *mut PF_EffectBlendingTables,
9308        ) -> A_Err,
9309    >,
9310    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
9311        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
9312    >,
9313    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
9314        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
9315    >,
9316    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
9317        unsafe extern "C" fn(
9318            aegp_plugin_id: AEGP_PluginID,
9319            compH: AEGP_CompH,
9320            color_profilePP: *mut AEGP_ColorProfileP,
9321        ) -> A_Err,
9322    >,
9323    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
9324        unsafe extern "C" fn(
9325            aegp_plugin_id: AEGP_PluginID,
9326            icc_sizeL: A_long,
9327            icc_dataPV: *const ::std::os::raw::c_void,
9328            color_profilePP: *mut AEGP_ColorProfileP,
9329        ) -> A_Err,
9330    >,
9331    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
9332        unsafe extern "C" fn(
9333            aegp_plugin_id: AEGP_PluginID,
9334            color_profileP: AEGP_ConstColorProfileP,
9335            icc_profilePH: *mut AEGP_MemHandle,
9336        ) -> A_Err,
9337    >,
9338    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
9339        unsafe extern "C" fn(
9340            aegp_plugin_id: AEGP_PluginID,
9341            color_profileP: AEGP_ConstColorProfileP,
9342            unicode_descPH: *mut AEGP_MemHandle,
9343        ) -> A_Err,
9344    >,
9345    pub AEGP_DisposeColorProfile:
9346        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
9347    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
9348        unsafe extern "C" fn(
9349            color_profileP: AEGP_ConstColorProfileP,
9350            approx_gammaP: *mut A_FpShort,
9351        ) -> A_Err,
9352    >,
9353    pub AEGP_IsRGBColorProfile: ::std::option::Option<
9354        unsafe extern "C" fn(
9355            color_profileP: AEGP_ConstColorProfileP,
9356            is_rgbPB: *mut A_Boolean,
9357        ) -> A_Err,
9358    >,
9359    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
9360        unsafe extern "C" fn(
9361            aegp_plugin_id: AEGP_PluginID,
9362            compH: AEGP_CompH,
9363            color_profileP: AEGP_ConstColorProfileP,
9364        ) -> A_Err,
9365    >,
9366    pub AEGP_IsOCIOColorManagementUsed: ::std::option::Option<
9367        unsafe extern "C" fn(
9368            aegp_plugin_id: AEGP_PluginID,
9369            is_OCIOColorManagementUsedPB: *mut A_Boolean,
9370        ) -> A_Err,
9371    >,
9372    pub AEGP_GetOCIOConfigurationFile: ::std::option::Option<
9373        unsafe extern "C" fn(
9374            aegp_plugin_id: AEGP_PluginID,
9375            config_filePH: *mut AEGP_MemHandle,
9376        ) -> A_Err,
9377    >,
9378    pub AEGP_GetOCIOConfigurationFilePath: ::std::option::Option<
9379        unsafe extern "C" fn(
9380            aegp_plugin_id: AEGP_PluginID,
9381            config_filePH: *mut AEGP_MemHandle,
9382        ) -> A_Err,
9383    >,
9384    pub AEGPD_GetOCIOWorkingColorSpace: ::std::option::Option<
9385        unsafe extern "C" fn(
9386            aegp_plugin_id: AEGP_PluginID,
9387            ocio_working_colorspaceH: *mut AEGP_MemHandle,
9388        ) -> A_Err,
9389    >,
9390    pub AEGPD_GetOCIODisplayColorSpace: ::std::option::Option<
9391        unsafe extern "C" fn(
9392            aegp_plugin_id: AEGP_PluginID,
9393            ocio_displayH: *mut AEGP_MemHandle,
9394            ocio_viewH: *mut AEGP_MemHandle,
9395        ) -> A_Err,
9396    >,
9397    pub AEGPD_IsColorSpaceAwareEffectsEnabled: ::std::option::Option<
9398        unsafe extern "C" fn(
9399            aegp_plugin_id: AEGP_PluginID,
9400            outIsGetColorAwareEnabled: *mut A_Boolean,
9401        ) -> A_Err,
9402    >,
9403    pub AEGPD_GetLUTInterpolationMethod: ::std::option::Option<
9404        unsafe extern "C" fn(
9405            aegp_plugin_id: AEGP_PluginID,
9406            outLUTInterpolationMethod: *mut A_u_short,
9407        ) -> A_Err,
9408    >,
9409    pub AEGPD_GetGraphicsWhiteLuminance: ::std::option::Option<
9410        unsafe extern "C" fn(
9411            aegp_plugin_id: AEGP_PluginID,
9412            outGraphicsWhiteLuminance: *mut A_u_short,
9413        ) -> A_Err,
9414    >,
9415    pub AEGPD_GetWorkingColorSpaceId: ::std::option::Option<
9416        unsafe extern "C" fn(
9417            aegp_plugin_id: AEGP_PluginID,
9418            workingColorSpaceGuid: AEGP_GuidP,
9419        ) -> A_Err,
9420    >,
9421}
9422pub const AEGP_RenderQueueState_STOPPED: _bindgen_ty_149 = 0;
9423pub const AEGP_RenderQueueState_PAUSED: _bindgen_ty_149 = 1;
9424pub const AEGP_RenderQueueState_RENDERING: _bindgen_ty_149 = 2;
9425pub type _bindgen_ty_149 = ::std::os::raw::c_uint;
9426pub type AEGP_RenderQueueState = A_u_long;
9427pub const AEGP_RenderItemStatus_NONE: _bindgen_ty_150 = -2;
9428pub const AEGP_RenderItemStatus_WILL_CONTINUE: _bindgen_ty_150 = -1;
9429pub const AEGP_RenderItemStatus_NEEDS_OUTPUT: _bindgen_ty_150 = 0;
9430pub const AEGP_RenderItemStatus_UNQUEUED: _bindgen_ty_150 = 1;
9431pub const AEGP_RenderItemStatus_QUEUED: _bindgen_ty_150 = 2;
9432pub const AEGP_RenderItemStatus_RENDERING: _bindgen_ty_150 = 3;
9433pub const AEGP_RenderItemStatus_USER_STOPPED: _bindgen_ty_150 = 4;
9434pub const AEGP_RenderItemStatus_ERR_STOPPED: _bindgen_ty_150 = 5;
9435pub const AEGP_RenderItemStatus_DONE: _bindgen_ty_150 = 6;
9436pub const AEGP_RenderItemStatus_LAST_PLUS_ONE: _bindgen_ty_150 = 7;
9437pub type _bindgen_ty_150 = ::std::os::raw::c_int;
9438pub type AEGP_RenderItemStatusType = A_long;
9439#[repr(C)]
9440#[derive(Debug, Copy, Clone)]
9441pub struct AEGP_RenderQueueSuite1 {
9442    pub AEGP_AddCompToRenderQueue: ::std::option::Option<
9443        unsafe extern "C" fn(comp: AEGP_CompH, pathZ: *const A_char) -> A_Err,
9444    >,
9445    pub AEGP_SetRenderQueueState:
9446        ::std::option::Option<unsafe extern "C" fn(state: AEGP_RenderQueueState) -> A_Err>,
9447    pub AEGP_GetRenderQueueState:
9448        ::std::option::Option<unsafe extern "C" fn(stateP: *mut AEGP_RenderQueueState) -> A_Err>,
9449}
9450pub const AEGP_LogType_NONE: _bindgen_ty_151 = -1;
9451pub const AEGP_LogType_ERRORS_ONLY: _bindgen_ty_151 = 0;
9452pub const AEGP_LogType_PLUS_SETTINGS: _bindgen_ty_151 = 1;
9453pub const AEGP_LogType_PER_FRAME_INFO: _bindgen_ty_151 = 2;
9454pub const AEGP_LogType_NUM_TYPES: _bindgen_ty_151 = 3;
9455pub type _bindgen_ty_151 = ::std::os::raw::c_int;
9456pub type AEGP_LogType = A_long;
9457pub const AEGP_Embedding_NONE: _bindgen_ty_152 = -1;
9458pub const AEGP_Embedding_NOTHING: _bindgen_ty_152 = 0;
9459pub const AEGP_Embedding_LINK: _bindgen_ty_152 = 1;
9460pub const AEGP_Embedding_LINK_AND_COPY: _bindgen_ty_152 = 2;
9461pub const AEGP_Embedding_NUM_TYPES: _bindgen_ty_152 = 3;
9462pub type _bindgen_ty_152 = ::std::os::raw::c_int;
9463pub type AEGP_EmbeddingType = A_long;
9464pub const AEGP_PostRenderOptions_NONE: _bindgen_ty_153 = -1;
9465pub const AEGP_PostRenderOptions_IMPORT: _bindgen_ty_153 = 0;
9466pub const AEGP_PostRenderOptions_IMPORT_AND_REPLACE_USAGE: _bindgen_ty_153 = 1;
9467pub const AEGP_PostRenderOptions_SET_PROXY: _bindgen_ty_153 = 2;
9468pub const AEGP_PostRenderOptions_NUM_OPTIONS: _bindgen_ty_153 = 3;
9469pub type _bindgen_ty_153 = ::std::os::raw::c_int;
9470pub type AEGP_PostRenderAction = A_long;
9471pub const AEGP_OutputType_NONE: _bindgen_ty_154 = 0;
9472pub const AEGP_OutputType_VIDEO: _bindgen_ty_154 = 1;
9473pub const AEGP_OutputType_AUDIO: _bindgen_ty_154 = 2;
9474pub const AEGP_OutputType_NUM_TYPES: _bindgen_ty_154 = 3;
9475pub type _bindgen_ty_154 = ::std::os::raw::c_uint;
9476pub type AEGP_OutputTypes = A_long;
9477pub const AEGP_VideoChannels_NONE: _bindgen_ty_155 = -1;
9478pub const AEGP_VideoChannels_RGB: _bindgen_ty_155 = 0;
9479pub const AEGP_VideoChannels_RGBA: _bindgen_ty_155 = 1;
9480pub const AEGP_VideoChannels_ALPHA: _bindgen_ty_155 = 2;
9481pub const AEGP_VideoChannels_NUMTYPES: _bindgen_ty_155 = 3;
9482pub type _bindgen_ty_155 = ::std::os::raw::c_int;
9483pub type AEGP_VideoChannels = A_long;
9484pub const AEGP_StretchQual_NONE: _bindgen_ty_156 = -1;
9485pub const AEGP_StretchQual_LOW: _bindgen_ty_156 = 0;
9486pub const AEGP_StretchQual_HIGH: _bindgen_ty_156 = 1;
9487pub const AEGP_StretchQual_NUMTYPES: _bindgen_ty_156 = 2;
9488pub type _bindgen_ty_156 = ::std::os::raw::c_int;
9489pub type AEGP_StretchQuality = A_long;
9490pub const AEGP_OutputColorType_STRAIGHT: _bindgen_ty_157 = -1;
9491pub const AEGP_OutputColorType_PREMUL: _bindgen_ty_157 = 0;
9492pub type _bindgen_ty_157 = ::std::os::raw::c_int;
9493pub type AEGP_OutputColorType = A_long;
9494#[repr(C)]
9495#[derive(Debug, Copy, Clone)]
9496pub struct AEGP_RQItemSuite4 {
9497    pub AEGP_GetNumRQItems:
9498        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
9499    pub AEGP_GetRQItemByIndex: ::std::option::Option<
9500        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
9501    >,
9502    pub AEGP_GetNextRQItem: ::std::option::Option<
9503        unsafe extern "C" fn(
9504            current_rq_itemH: AEGP_RQItemRefH,
9505            next_rq_itemH: *mut AEGP_RQItemRefH,
9506        ) -> A_Err,
9507    >,
9508    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
9509        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
9510    >,
9511    pub AEGP_GetRenderState: ::std::option::Option<
9512        unsafe extern "C" fn(
9513            rq_itemH: AEGP_RQItemRefH,
9514            statusP: *mut AEGP_RenderItemStatusType,
9515        ) -> A_Err,
9516    >,
9517    pub AEGP_SetRenderState: ::std::option::Option<
9518        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
9519    >,
9520    pub AEGP_GetStartedTime: ::std::option::Option<
9521        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
9522    >,
9523    pub AEGP_GetElapsedTime: ::std::option::Option<
9524        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
9525    >,
9526    pub AEGP_GetLogType: ::std::option::Option<
9527        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
9528    >,
9529    pub AEGP_SetLogType: ::std::option::Option<
9530        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
9531    >,
9532    pub AEGP_RemoveOutputModule: ::std::option::Option<
9533        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
9534    >,
9535    pub AEGP_GetComment: ::std::option::Option<
9536        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, unicodeH: *mut AEGP_MemHandle) -> A_Err,
9537    >,
9538    pub AEGP_SetComment: ::std::option::Option<
9539        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_UTF16Char) -> A_Err,
9540    >,
9541    pub AEGP_GetCompFromRQItem: ::std::option::Option<
9542        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
9543    >,
9544    pub AEGP_DeleteRQItem:
9545        ::std::option::Option<unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH) -> A_Err>,
9546}
9547#[repr(C)]
9548#[derive(Debug, Copy, Clone)]
9549pub struct AEGP_OutputModuleSuite4 {
9550    pub AEGP_GetOutputModuleByIndex: ::std::option::Option<
9551        unsafe extern "C" fn(
9552            rq_itemH: AEGP_RQItemRefH,
9553            outmod_indexL: A_long,
9554            outmodPH: *mut AEGP_OutputModuleRefH,
9555        ) -> A_Err,
9556    >,
9557    pub AEGP_GetEmbedOptions: ::std::option::Option<
9558        unsafe extern "C" fn(
9559            rq_itemH: AEGP_RQItemRefH,
9560            outmodH: AEGP_OutputModuleRefH,
9561            embed_optionsP: *mut AEGP_EmbeddingType,
9562        ) -> A_Err,
9563    >,
9564    pub AEGP_SetEmbedOptions: ::std::option::Option<
9565        unsafe extern "C" fn(
9566            rq_itemH: AEGP_RQItemRefH,
9567            outmodH: AEGP_OutputModuleRefH,
9568            embed_options: AEGP_EmbeddingType,
9569        ) -> A_Err,
9570    >,
9571    pub AEGP_GetPostRenderAction: ::std::option::Option<
9572        unsafe extern "C" fn(
9573            rq_itemH: AEGP_RQItemRefH,
9574            outmodH: AEGP_OutputModuleRefH,
9575            post_render_actionP: *mut AEGP_PostRenderAction,
9576        ) -> A_Err,
9577    >,
9578    pub AEGP_SetPostRenderAction: ::std::option::Option<
9579        unsafe extern "C" fn(
9580            rq_itemH: AEGP_RQItemRefH,
9581            outmodH: AEGP_OutputModuleRefH,
9582            post_render_action: AEGP_PostRenderAction,
9583        ) -> A_Err,
9584    >,
9585    pub AEGP_GetEnabledOutputs: ::std::option::Option<
9586        unsafe extern "C" fn(
9587            rq_itemH: AEGP_RQItemRefH,
9588            outmodH: AEGP_OutputModuleRefH,
9589            enabled_typesP: *mut AEGP_OutputTypes,
9590        ) -> A_Err,
9591    >,
9592    pub AEGP_SetEnabledOutputs: ::std::option::Option<
9593        unsafe extern "C" fn(
9594            rq_itemH: AEGP_RQItemRefH,
9595            outmodH: AEGP_OutputModuleRefH,
9596            enabled_types: AEGP_OutputTypes,
9597        ) -> A_Err,
9598    >,
9599    pub AEGP_GetOutputChannels: ::std::option::Option<
9600        unsafe extern "C" fn(
9601            rq_itemH: AEGP_RQItemRefH,
9602            outmodH: AEGP_OutputModuleRefH,
9603            output_channelsP: *mut AEGP_VideoChannels,
9604        ) -> A_Err,
9605    >,
9606    pub AEGP_SetOutputChannels: ::std::option::Option<
9607        unsafe extern "C" fn(
9608            rq_itemH: AEGP_RQItemRefH,
9609            outmodH: AEGP_OutputModuleRefH,
9610            output_channels: AEGP_VideoChannels,
9611        ) -> A_Err,
9612    >,
9613    pub AEGP_GetStretchInfo: ::std::option::Option<
9614        unsafe extern "C" fn(
9615            rq_itemH: AEGP_RQItemRefH,
9616            outmodH: AEGP_OutputModuleRefH,
9617            is_enabledPB: *mut A_Boolean,
9618            stretch_qualityP: *mut AEGP_StretchQuality,
9619            lockedPB: *mut A_Boolean,
9620        ) -> A_Err,
9621    >,
9622    pub AEGP_SetStretchInfo: ::std::option::Option<
9623        unsafe extern "C" fn(
9624            rq_itemH: AEGP_RQItemRefH,
9625            outmodH: AEGP_OutputModuleRefH,
9626            is_enabledB: A_Boolean,
9627            stretch_quality: AEGP_StretchQuality,
9628        ) -> A_Err,
9629    >,
9630    pub AEGP_GetCropInfo: ::std::option::Option<
9631        unsafe extern "C" fn(
9632            rq_itemH: AEGP_RQItemRefH,
9633            outmodH: AEGP_OutputModuleRefH,
9634            is_enabledBP: *mut A_Boolean,
9635            crop_rectP: *mut A_Rect,
9636        ) -> A_Err,
9637    >,
9638    pub AEGP_SetCropInfo: ::std::option::Option<
9639        unsafe extern "C" fn(
9640            rq_itemH: AEGP_RQItemRefH,
9641            outmodH: AEGP_OutputModuleRefH,
9642            enableB: A_Boolean,
9643            crop_rect: A_Rect,
9644        ) -> A_Err,
9645    >,
9646    pub AEGP_GetSoundFormatInfo: ::std::option::Option<
9647        unsafe extern "C" fn(
9648            rq_itemH: AEGP_RQItemRefH,
9649            outmodH: AEGP_OutputModuleRefH,
9650            sound_format_infoP: *mut AEGP_SoundDataFormat,
9651            audio_enabledPB: *mut A_Boolean,
9652        ) -> A_Err,
9653    >,
9654    pub AEGP_SetSoundFormatInfo: ::std::option::Option<
9655        unsafe extern "C" fn(
9656            rq_itemH: AEGP_RQItemRefH,
9657            outmodH: AEGP_OutputModuleRefH,
9658            sound_format_info: AEGP_SoundDataFormat,
9659            audio_enabledB: A_Boolean,
9660        ) -> A_Err,
9661    >,
9662    pub AEGP_GetOutputFilePath: ::std::option::Option<
9663        unsafe extern "C" fn(
9664            rq_itemH: AEGP_RQItemRefH,
9665            outmodH: AEGP_OutputModuleRefH,
9666            unicode_pathPH: *mut AEGP_MemHandle,
9667        ) -> A_Err,
9668    >,
9669    pub AEGP_SetOutputFilePath: ::std::option::Option<
9670        unsafe extern "C" fn(
9671            rq_itemH: AEGP_RQItemRefH,
9672            outmodH: AEGP_OutputModuleRefH,
9673            pathZ: *const A_UTF16Char,
9674        ) -> A_Err,
9675    >,
9676    pub AEGP_AddDefaultOutputModule: ::std::option::Option<
9677        unsafe extern "C" fn(
9678            rq_itemH: AEGP_RQItemRefH,
9679            outmodPH: *mut AEGP_OutputModuleRefH,
9680        ) -> A_Err,
9681    >,
9682    pub AEGP_GetExtraOutputModuleInfo: ::std::option::Option<
9683        unsafe extern "C" fn(
9684            rq_itemH: AEGP_RQItemRefH,
9685            outmodH: AEGP_OutputModuleRefH,
9686            format_unicodePH: *mut AEGP_MemHandle,
9687            info__unicodePH: *mut AEGP_MemHandle,
9688            is_sequenceBP: *mut A_Boolean,
9689            multi_frameBP: *mut A_Boolean,
9690        ) -> A_Err,
9691    >,
9692}
9693pub const AEGP_RenderHints_NONE: _bindgen_ty_158 = 0;
9694pub const AEGP_RenderHints_IGNORE_EXTENTS: _bindgen_ty_158 = 1;
9695pub const AEGP_RenderHints_NO_TRANSFER_MODE: _bindgen_ty_158 = 2;
9696pub type _bindgen_ty_158 = ::std::os::raw::c_uint;
9697pub type AEGP_RenderHints = A_u_long;
9698pub const AEGP_RenderReceiptStatus_INVALID: _bindgen_ty_159 = 0;
9699pub const AEGP_RenderReceiptStatus_VALID: _bindgen_ty_159 = 1;
9700pub const AEGP_RenderReceiptStatus_VALID_BUT_INCOMPLETE: _bindgen_ty_159 = 2;
9701pub type _bindgen_ty_159 = ::std::os::raw::c_uint;
9702pub type AEGP_RenderReceiptStatus = A_u_long;
9703pub const AEGP_BinType_NONE: _bindgen_ty_160 = -1;
9704pub const AEGP_BinType_2D: _bindgen_ty_160 = 0;
9705pub const AEGP_BinType_3D: _bindgen_ty_160 = 1;
9706pub type _bindgen_ty_160 = ::std::os::raw::c_int;
9707pub type AEGP_BinType = A_long;
9708pub type AEGP_PlatformWindowRef = *mut ::std::os::raw::c_void;
9709pub const AEGP_DisplayChannel_NONE: _bindgen_ty_161 = 0;
9710pub const AEGP_DisplayChannel_RED: _bindgen_ty_161 = 1;
9711pub const AEGP_DisplayChannel_GREEN: _bindgen_ty_161 = 2;
9712pub const AEGP_DisplayChannel_BLUE: _bindgen_ty_161 = 3;
9713pub const AEGP_DisplayChannel_ALPHA: _bindgen_ty_161 = 4;
9714pub const AEGP_DisplayChannel_RED_ALT: _bindgen_ty_161 = 5;
9715pub const AEGP_DisplayChannel_GREEN_ALT: _bindgen_ty_161 = 6;
9716pub const AEGP_DisplayChannel_BLUE_ALT: _bindgen_ty_161 = 7;
9717pub const AEGP_DisplayChannel_ALPHA_ALT: _bindgen_ty_161 = 8;
9718pub const AEGP_DisplayChannel_NUM_ITEMS: _bindgen_ty_161 = 9;
9719pub type _bindgen_ty_161 = ::std::os::raw::c_uint;
9720pub type AEGP_DisplayChannelType = A_long;
9721pub const AEGP_RenderNumEffects_ALL_EFFECTS: _bindgen_ty_162 = -1;
9722pub type _bindgen_ty_162 = ::std::os::raw::c_int;
9723pub type AEGP_NumEffectsToRenderType = A_short;
9724#[repr(C)]
9725#[derive(Debug, Copy, Clone)]
9726pub struct AEGP_CanvasSuite8 {
9727    pub AEGP_GetCompToRender: ::std::option::Option<
9728        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
9729    >,
9730    pub AEGP_GetNumLayersToRender: ::std::option::Option<
9731        unsafe extern "C" fn(
9732            render_contextH: PR_RenderContextH,
9733            num_to_renderPL: *mut A_long,
9734        ) -> A_Err,
9735    >,
9736    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
9737        unsafe extern "C" fn(
9738            render_contextH: PR_RenderContextH,
9739            n: A_long,
9740            layer_contextPH: *mut AEGP_RenderLayerContextH,
9741        ) -> A_Err,
9742    >,
9743    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
9744        unsafe extern "C" fn(
9745            render_contextH: PR_RenderContextH,
9746            layer_contextH: AEGP_RenderLayerContextH,
9747            layerPH: *mut AEGP_LayerH,
9748        ) -> A_Err,
9749    >,
9750    pub AEGP_GetLayerAndSubLayerFromLayerContext: ::std::option::Option<
9751        unsafe extern "C" fn(
9752            render_contextH: PR_RenderContextH,
9753            layer_contextH: AEGP_RenderLayerContextH,
9754            layerPH: *mut AEGP_LayerH,
9755            sublayerP: *mut AEGP_SubLayerIndex,
9756        ) -> A_Err,
9757    >,
9758    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
9759    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
9760        unsafe extern "C" fn(
9761            render_contextH: PR_RenderContextH,
9762            layer_contextH: AEGP_RenderLayerContextH,
9763            layerPH: *mut AEGP_LayerH,
9764        ) -> A_Err,
9765    >,
9766    pub AEGP_GetCompRenderTime: ::std::option::Option<
9767        unsafe extern "C" fn(
9768            render_contextH: PR_RenderContextH,
9769            time: *mut A_Time,
9770            time_step: *mut A_Time,
9771        ) -> A_Err,
9772    >,
9773    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
9774        unsafe extern "C" fn(
9775            render_contextH: PR_RenderContextH,
9776            compH: AEGP_CompH,
9777            dst: *mut AEGP_WorldH,
9778        ) -> A_Err,
9779    >,
9780    pub AEGP_GetROI: ::std::option::Option<
9781        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
9782    >,
9783    pub AEGP_RenderTexture: ::std::option::Option<
9784        unsafe extern "C" fn(
9785            render_contextH: PR_RenderContextH,
9786            layer_contextH: AEGP_RenderLayerContextH,
9787            render_hints: AEGP_RenderHints,
9788            suggested_scaleP0: *mut A_FloatPoint,
9789            suggested_src_rectP0: *mut A_FloatRect,
9790            src_matrixP0: *mut A_Matrix3,
9791            dstPH: *mut AEGP_WorldH,
9792        ) -> A_Err,
9793    >,
9794    pub AEGP_DisposeTexture: ::std::option::Option<
9795        unsafe extern "C" fn(
9796            render_contextH: PR_RenderContextH,
9797            layer_contextH: AEGP_RenderLayerContextH,
9798            dstH0: AEGP_WorldH,
9799        ) -> A_Err,
9800    >,
9801    pub AEGP_GetFieldRender: ::std::option::Option<
9802        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
9803    >,
9804    pub AEGP_ReportArtisanProgress: ::std::option::Option<
9805        unsafe extern "C" fn(
9806            render_contextH: PR_RenderContextH,
9807            countL: A_long,
9808            totalL: A_long,
9809        ) -> A_Err,
9810    >,
9811    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
9812        unsafe extern "C" fn(
9813            render_contextH: PR_RenderContextH,
9814            dsfP: *mut AEGP_DownsampleFactor,
9815        ) -> A_Err,
9816    >,
9817    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
9818        unsafe extern "C" fn(
9819            render_contextH: PR_RenderContextH,
9820            dsfP: *mut AEGP_DownsampleFactor,
9821        ) -> A_Err,
9822    >,
9823    pub AEGP_IsBlankCanvas: ::std::option::Option<
9824        unsafe extern "C" fn(
9825            render_contextH: PR_RenderContextH,
9826            is_blankPB: *mut A_Boolean,
9827        ) -> A_Err,
9828    >,
9829    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
9830        unsafe extern "C" fn(
9831            render_contextH: PR_RenderContextH,
9832            layer_contextH: AEGP_RenderLayerContextH,
9833            comp_timeP: *const A_Time,
9834            transform: *mut A_Matrix4,
9835        ) -> A_Err,
9836    >,
9837    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
9838        unsafe extern "C" fn(
9839            render_contextH: PR_RenderContextH,
9840            layer_contextH: AEGP_RenderLayerContextH,
9841            comp_timeP: *const A_Time,
9842            boundsP: *mut A_LegacyRect,
9843        ) -> A_Err,
9844    >,
9845    pub AEGP_GetRenderOpacity: ::std::option::Option<
9846        unsafe extern "C" fn(
9847            render_contextH: PR_RenderContextH,
9848            layer_contextH: AEGP_RenderLayerContextH,
9849            comp_timePT: *const A_Time,
9850            opacityPF: *mut A_FpLong,
9851        ) -> A_Err,
9852    >,
9853    pub AEGP_IsRenderLayerActive: ::std::option::Option<
9854        unsafe extern "C" fn(
9855            render_contextH: PR_RenderContextH,
9856            layer_contextH: AEGP_RenderLayerContextH,
9857            comp_timePT: *const A_Time,
9858            activePB: *mut A_Boolean,
9859        ) -> A_Err,
9860    >,
9861    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
9862        unsafe extern "C" fn(
9863            render_contextH: PR_RenderContextH,
9864            countL: A_long,
9865            num_layersL: A_long,
9866        ) -> A_Err,
9867    >,
9868    pub AEGP_RenderLayerPlus: ::std::option::Option<
9869        unsafe extern "C" fn(
9870            render_contextH: PR_RenderContextH,
9871            layerH: AEGP_LayerH,
9872            layer_contextH: AEGP_RenderLayerContextH,
9873            render_hints: AEGP_RenderHints,
9874            render_bufferPH: *mut AEGP_WorldH,
9875        ) -> A_Err,
9876    >,
9877    pub AEGP_GetTrackMatteContext: ::std::option::Option<
9878        unsafe extern "C" fn(
9879            render_contextH: PR_RenderContextH,
9880            fill_contextH: AEGP_RenderLayerContextH,
9881            matte_contextPH: *mut AEGP_RenderLayerContextH,
9882        ) -> A_Err,
9883    >,
9884    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
9885        unsafe extern "C" fn(
9886            render_contextH: PR_RenderContextH,
9887            layer_contextH: AEGP_RenderLayerContextH,
9888            render_hints: AEGP_RenderHints,
9889            num_effectsS: AEGP_NumEffectsToRenderType,
9890            suggested_scaleP0: *mut A_FloatPoint,
9891            suggested_src_rectP0: *mut A_FloatRect,
9892            src_matrixP0: *mut A_Matrix3,
9893            render_receiptPH: *mut AEGP_RenderReceiptH,
9894            dstPH: *mut AEGP_WorldH,
9895        ) -> A_Err,
9896    >,
9897    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
9898        unsafe extern "C" fn(
9899            render_contextH: PR_RenderContextH,
9900            layer_contextH: AEGP_RenderLayerContextH,
9901            num_software_effectsPS: *mut A_short,
9902        ) -> A_Err,
9903    >,
9904    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
9905        unsafe extern "C" fn(
9906            render_contextH: PR_RenderContextH,
9907            layerH: AEGP_LayerH,
9908            layer_contextH: AEGP_RenderLayerContextH,
9909            render_hints: AEGP_RenderHints,
9910            render_receiptPH: *mut AEGP_RenderReceiptH,
9911            render_bufferPH: *mut AEGP_WorldH,
9912        ) -> A_Err,
9913    >,
9914    pub AEGP_DisposeRenderReceipt:
9915        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
9916    pub AEGP_CheckRenderReceipt: ::std::option::Option<
9917        unsafe extern "C" fn(
9918            current_render_contextH: PR_RenderContextH,
9919            current_layer_contextH: AEGP_RenderLayerContextH,
9920            old_render_receiptH: AEGP_RenderReceiptH,
9921            check_geometricsB: A_Boolean,
9922            num_effectsS: AEGP_NumEffectsToRenderType,
9923            receipt_statusP: *mut AEGP_RenderReceiptStatus,
9924        ) -> A_Err,
9925    >,
9926    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
9927        unsafe extern "C" fn(
9928            current_render_contextH: PR_RenderContextH,
9929            current_layer_contextH: AEGP_RenderLayerContextH,
9930            num_effectsS: AEGP_NumEffectsToRenderType,
9931            render_receiptPH: *mut AEGP_RenderReceiptH,
9932        ) -> A_Err,
9933    >,
9934    pub AEGP_GetNumBinsToRender: ::std::option::Option<
9935        unsafe extern "C" fn(
9936            render_contextH: PR_RenderContextH,
9937            num_bins_to_renderPL: *mut A_long,
9938        ) -> A_Err,
9939    >,
9940    pub AEGP_SetNthBin: ::std::option::Option<
9941        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
9942    >,
9943    pub AEGP_GetBinType: ::std::option::Option<
9944        unsafe extern "C" fn(
9945            render_contextH: PR_RenderContextH,
9946            bin_typeP: *mut AEGP_BinType,
9947        ) -> A_Err,
9948    >,
9949    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
9950        unsafe extern "C" fn(
9951            render_contextH: PR_RenderContextH,
9952            layer_contextH: AEGP_RenderLayerContextH,
9953            comp_timeP: *const A_Time,
9954            only_2dB: A_Boolean,
9955            transform: *mut A_Matrix4,
9956        ) -> A_Err,
9957    >,
9958    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
9959        unsafe extern "C" fn(
9960            render_contextH: PR_RenderContextH,
9961            window_refP: *mut AEGP_PlatformWindowRef,
9962        ) -> A_Err,
9963    >,
9964    pub AEGP_GetViewportScale: ::std::option::Option<
9965        unsafe extern "C" fn(
9966            render_contextH: PR_RenderContextH,
9967            scale_xPF: *mut A_FpLong,
9968            scale_yPF: *mut A_FpLong,
9969        ) -> A_Err,
9970    >,
9971    pub AEGP_GetViewportOrigin: ::std::option::Option<
9972        unsafe extern "C" fn(
9973            render_contextH: PR_RenderContextH,
9974            origin_xPL: *mut A_long,
9975            origin_yPL: *mut A_long,
9976        ) -> A_Err,
9977    >,
9978    pub AEGP_GetViewportRect: ::std::option::Option<
9979        unsafe extern "C" fn(
9980            render_contextH: PR_RenderContextH,
9981            viewport_rectPR: *mut A_LegacyRect,
9982        ) -> A_Err,
9983    >,
9984    pub AEGP_GetFallowColor: ::std::option::Option<
9985        unsafe extern "C" fn(
9986            render_contextH: PR_RenderContextH,
9987            fallow_colorP: *mut PF_Pixel8,
9988        ) -> A_Err,
9989    >,
9990    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
9991        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
9992    >,
9993    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
9994        unsafe extern "C" fn(
9995            render_contextH: PR_RenderContextH,
9996            checkerboard_onPB: *mut A_Boolean,
9997        ) -> A_Err,
9998    >,
9999    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
10000        unsafe extern "C" fn(
10001            render_contextH: PR_RenderContextH,
10002            checkerboard_color1P: *mut PF_Pixel,
10003            checkerboard_color2P: *mut PF_Pixel,
10004        ) -> A_Err,
10005    >,
10006    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
10007        unsafe extern "C" fn(
10008            render_contextH: PR_RenderContextH,
10009            checkerboard_widthPLu: *mut A_u_long,
10010            checkerboard_heightPLu: *mut A_u_long,
10011        ) -> A_Err,
10012    >,
10013    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
10014        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
10015    >,
10016    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
10017        unsafe extern "C" fn(
10018            render_contextH: PR_RenderContextH,
10019            layer_contextH: AEGP_RenderLayerContextH,
10020            use_render_texturePB: *mut A_Boolean,
10021        ) -> A_Err,
10022    >,
10023    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
10024        unsafe extern "C" fn(
10025            render_contextH: PR_RenderContextH,
10026            display_channelP: *mut AEGP_DisplayChannelType,
10027        ) -> A_Err,
10028    >,
10029    pub AEGP_GetInteractiveExposure: ::std::option::Option<
10030        unsafe extern "C" fn(
10031            render_contextH: PR_RenderContextH,
10032            exposurePF: *mut A_FpLong,
10033        ) -> A_Err,
10034    >,
10035    pub AEGP_GetColorTransform: ::std::option::Option<
10036        unsafe extern "C" fn(
10037            render_contextH: PR_RenderContextH,
10038            cms_onB: *mut A_Boolean,
10039            xform_keyLu: *mut A_u_long,
10040            xformP: *mut ::std::os::raw::c_void,
10041        ) -> A_Err,
10042    >,
10043    pub AEGP_GetCompShutterTime: ::std::option::Option<
10044        unsafe extern "C" fn(
10045            render_contextH: PR_RenderContextH,
10046            shutter_time: *mut A_Time,
10047            shutter_dur: *mut A_Time,
10048        ) -> A_Err,
10049    >,
10050    pub AEGP_MapCompToLayerTime: ::std::option::Option<
10051        unsafe extern "C" fn(
10052            render_contextH: PR_RenderContextH,
10053            layer_contextH: AEGP_RenderLayerContextH,
10054            comp_timePT: *const A_Time,
10055            layer_timePT: *mut A_Time,
10056        ) -> A_Err,
10057    >,
10058}
10059#[repr(C)]
10060#[derive(Debug, Copy, Clone)]
10061pub struct AEGP_ArtisanUtilSuite1 {
10062    pub AEGP_GetGlobalContextFromInstanceContext: ::std::option::Option<
10063        unsafe extern "C" fn(
10064            instance_contextH: PR_InstanceContextH,
10065            global_contextPH: *mut PR_GlobalContextH,
10066        ) -> A_Err,
10067    >,
10068    pub AEGP_GetInstanceContextFromRenderContext: ::std::option::Option<
10069        unsafe extern "C" fn(
10070            render_contextH: PR_RenderContextH,
10071            instance_contextPH: *mut PR_InstanceContextH,
10072        ) -> A_Err,
10073    >,
10074    pub AEGP_GetInstanceContextFromQueryContext: ::std::option::Option<
10075        unsafe extern "C" fn(
10076            query_contextH: PR_QueryContextH,
10077            instance_contextPH: *mut PR_InstanceContextH,
10078        ) -> A_Err,
10079    >,
10080    pub AEGP_GetGlobalData: ::std::option::Option<
10081        unsafe extern "C" fn(
10082            global_contextH: PR_GlobalContextH,
10083            global_dataPH: *mut PR_GlobalDataH,
10084        ) -> A_Err,
10085    >,
10086    pub AEGP_GetInstanceData: ::std::option::Option<
10087        unsafe extern "C" fn(
10088            instance_contextH: PR_InstanceContextH,
10089            instance_dataPH: *mut PR_InstanceDataH,
10090        ) -> A_Err,
10091    >,
10092    pub AEGP_GetRenderData: ::std::option::Option<
10093        unsafe extern "C" fn(
10094            render_contextH: PR_RenderContextH,
10095            render_dataPH: *mut PR_RenderDataH,
10096        ) -> A_Err,
10097    >,
10098}
10099#[repr(C)]
10100#[derive(Debug, Copy, Clone)]
10101pub struct AEGP_CameraSuite2 {
10102    pub AEGP_GetCamera: ::std::option::Option<
10103        unsafe extern "C" fn(
10104            render_contextH: PR_RenderContextH,
10105            comp_timeP: *const A_Time,
10106            camera_layerPH: *mut AEGP_LayerH,
10107        ) -> A_Err,
10108    >,
10109    pub AEGP_GetCameraType: ::std::option::Option<
10110        unsafe extern "C" fn(
10111            camera_layerH: AEGP_LayerH,
10112            camera_typeP: *mut AEGP_CameraType,
10113        ) -> A_Err,
10114    >,
10115    pub AEGP_GetDefaultCameraDistanceToImagePlane: ::std::option::Option<
10116        unsafe extern "C" fn(compH: AEGP_CompH, dist_to_planePF: *mut A_FpLong) -> A_Err,
10117    >,
10118    pub AEGP_GetCameraFilmSize: ::std::option::Option<
10119        unsafe extern "C" fn(
10120            camera_layerH: AEGP_LayerH,
10121            film_size_unitsP: *mut AEGP_FilmSizeUnits,
10122            film_sizePF0: *mut A_FpLong,
10123        ) -> A_Err,
10124    >,
10125    pub AEGP_SetCameraFilmSize: ::std::option::Option<
10126        unsafe extern "C" fn(
10127            camera_layerH: AEGP_LayerH,
10128            film_size_units: AEGP_FilmSizeUnits,
10129            film_sizePF0: *mut A_FpLong,
10130        ) -> A_Err,
10131    >,
10132}
10133#[repr(C)]
10134#[derive(Debug, Copy, Clone)]
10135pub struct AEGP_LightSuite2 {
10136    pub AEGP_GetLightType: ::std::option::Option<
10137        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_typeP: *mut AEGP_LightType) -> A_Err,
10138    >,
10139    pub AEGP_SetLightType: ::std::option::Option<
10140        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_type: AEGP_LightType) -> A_Err,
10141    >,
10142}
10143#[repr(C)]
10144#[derive(Debug, Copy, Clone)]
10145pub struct AEGP_LightSuite3 {
10146    pub AEGP_GetLightType: ::std::option::Option<
10147        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_typeP: *mut AEGP_LightType) -> A_Err,
10148    >,
10149    pub AEGP_SetLightType: ::std::option::Option<
10150        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_type: AEGP_LightType) -> A_Err,
10151    >,
10152    pub AEGP_GetLightSource: ::std::option::Option<
10153        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_sourcePH: *mut AEGP_LayerH) -> A_Err,
10154    >,
10155    pub AEGP_SetLightSource: ::std::option::Option<
10156        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_sourceH: AEGP_LayerH) -> A_Err,
10157    >,
10158}
10159pub const AEGP_Query_Xform_LAYER: _bindgen_ty_163 = 0;
10160pub const AEGP_Query_Xform_WORLD: _bindgen_ty_163 = 1;
10161pub const AEGP_Query_Xform_VIEW: _bindgen_ty_163 = 2;
10162pub const AEGP_Query_Xform_SCREEN: _bindgen_ty_163 = 3;
10163#[doc = " the type of source or dst transformation wanted"]
10164pub type _bindgen_ty_163 = ::std::os::raw::c_uint;
10165pub type AEGP_QueryXformType = A_u_long;
10166#[repr(C)]
10167#[derive(Debug, Copy, Clone)]
10168pub struct AEGP_QueryXformSuite2 {
10169    pub AEGP_QueryXformGetSrcType: ::std::option::Option<
10170        unsafe extern "C" fn(
10171            query_contextH: PR_QueryContextH,
10172            src_type: *mut AEGP_QueryXformType,
10173        ) -> A_Err,
10174    >,
10175    pub AEGP_QueryXformGetDstType: ::std::option::Option<
10176        unsafe extern "C" fn(
10177            query_contextH: PR_QueryContextH,
10178            dst_type: *mut AEGP_QueryXformType,
10179        ) -> A_Err,
10180    >,
10181    pub AEGP_QueryXformGetLayer: ::std::option::Option<
10182        unsafe extern "C" fn(query_contextH: PR_QueryContextH, layerPH: *mut AEGP_LayerH) -> A_Err,
10183    >,
10184    pub AEGP_QueryXformGetComp: ::std::option::Option<
10185        unsafe extern "C" fn(query_contextH: PR_QueryContextH, compPH: *mut AEGP_CompH) -> A_Err,
10186    >,
10187    pub AEGP_QueryXformGetTransformTime: ::std::option::Option<
10188        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
10189    >,
10190    pub AEGP_QueryXformGetViewTime: ::std::option::Option<
10191        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
10192    >,
10193    pub AEGP_QueryXformGetCamera: ::std::option::Option<
10194        unsafe extern "C" fn(
10195            query_contextH: PR_QueryContextH,
10196            camera_layerPH: *mut AEGP_LayerH,
10197        ) -> A_Err,
10198    >,
10199    pub AEGP_QueryXformGetXform: ::std::option::Option<
10200        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
10201    >,
10202    pub AEGP_QueryXformSetXform: ::std::option::Option<
10203        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
10204    >,
10205    pub AEGP_QueryWindowRef: ::std::option::Option<
10206        unsafe extern "C" fn(
10207            query_contextH: PR_QueryContextH,
10208            window_refP: *mut AEGP_PlatformWindowRef,
10209        ) -> A_Err,
10210    >,
10211    pub AEGP_QueryWindowClear: ::std::option::Option<
10212        unsafe extern "C" fn(
10213            query_contextH: PR_QueryContextH,
10214            window_refP: *mut AEGP_PlatformWindowRef,
10215            boundsPR: *mut A_LegacyRect,
10216        ) -> A_Err,
10217    >,
10218    pub AEGP_QueryFrozenProxy: ::std::option::Option<
10219        unsafe extern "C" fn(query_contextH: PR_QueryContextH, onPB: *mut A_Boolean) -> A_Err,
10220    >,
10221    pub AEGP_QuerySwapBuffer: ::std::option::Option<
10222        unsafe extern "C" fn(
10223            query_contextH: PR_QueryContextH,
10224            window_refP: *mut AEGP_PlatformWindowRef,
10225            dest_bufferp: *mut AEGP_WorldH,
10226        ) -> A_Err,
10227    >,
10228    pub AEGP_QueryDrawProcs: ::std::option::Option<
10229        unsafe extern "C" fn(
10230            query_contextH: PR_QueryContextH,
10231            window_refP: *mut PR_InteractiveDrawProcs,
10232        ) -> A_Err,
10233    >,
10234    pub AEGP_QueryPrepareForLineDrawing: ::std::option::Option<
10235        unsafe extern "C" fn(
10236            query_contextH: PR_QueryContextH,
10237            window_refP: *mut AEGP_PlatformWindowRef,
10238            viewportP: *mut A_LegacyRect,
10239            originP: *mut A_LPoint,
10240            scaleP: *mut A_FloatPoint,
10241        ) -> A_Err,
10242    >,
10243    pub AEGP_QueryUnprepareForLineDrawing: ::std::option::Option<
10244        unsafe extern "C" fn(
10245            query_contextH: PR_QueryContextH,
10246            window_refP: *mut AEGP_PlatformWindowRef,
10247        ) -> A_Err,
10248    >,
10249    pub AEGP_QueryGetData: ::std::option::Option<
10250        unsafe extern "C" fn(
10251            query_contextH: PR_QueryContextH,
10252            i: A_long,
10253            dataPP: *mut *mut ::std::os::raw::c_void,
10254        ) -> A_Err,
10255    >,
10256    pub AEGP_QuerySetData: ::std::option::Option<
10257        unsafe extern "C" fn(
10258            query_contextH: PR_QueryContextH,
10259            i: A_long,
10260            dataP: *mut ::std::os::raw::c_void,
10261        ) -> A_Err,
10262    >,
10263}
10264#[repr(C)]
10265#[derive(Debug, Copy, Clone)]
10266pub struct AEGP_CompositeSuite2 {
10267    pub AEGP_ClearAlphaExceptRect: ::std::option::Option<
10268        unsafe extern "C" fn(clipped_dest_rectPR: *mut A_Rect, dstP: *mut PF_EffectWorld) -> A_Err,
10269    >,
10270    pub AEGP_PrepTrackMatte: ::std::option::Option<
10271        unsafe extern "C" fn(
10272            num_pix: A_long,
10273            deepB: A_Boolean,
10274            src_mask: *const PF_Pixel,
10275            mask_flags: PF_MaskFlags,
10276            dst_mask: *mut PF_Pixel,
10277        ) -> A_Err,
10278    >,
10279    pub AEGP_TransferRect: ::std::option::Option<
10280        unsafe extern "C" fn(
10281            quality: PF_Quality,
10282            m_flags: PF_ModeFlags,
10283            field: PF_Field,
10284            src_rec: *const A_Rect,
10285            src_world: *const PF_EffectWorld,
10286            comp_mode: *const PF_CompositeMode,
10287            blend_tablesP0: PF_EffectBlendingTables,
10288            mask_world0: *const PF_MaskWorld,
10289            dest_x: A_long,
10290            dest_y: A_long,
10291            dst_world: *mut PF_EffectWorld,
10292        ) -> A_Err,
10293    >,
10294    pub AEGP_CopyBits_LQ: ::std::option::Option<
10295        unsafe extern "C" fn(
10296            src_worldP: *mut PF_EffectWorld,
10297            src_r: *mut A_Rect,
10298            dst_r: *mut A_Rect,
10299            dst_worldP: *mut PF_EffectWorld,
10300        ) -> A_Err,
10301    >,
10302    pub AEGP_CopyBits_HQ_Straight: ::std::option::Option<
10303        unsafe extern "C" fn(
10304            src: *mut PF_EffectWorld,
10305            src_r: *mut A_Rect,
10306            dst_r: *mut A_Rect,
10307            dst: *mut PF_EffectWorld,
10308        ) -> A_Err,
10309    >,
10310    pub AEGP_CopyBits_HQ_Premul: ::std::option::Option<
10311        unsafe extern "C" fn(
10312            src: *mut PF_EffectWorld,
10313            src_r: *mut A_Rect,
10314            dst_r: *mut A_Rect,
10315            dst: *mut PF_EffectWorld,
10316        ) -> A_Err,
10317    >,
10318}
10319#[repr(C)]
10320#[derive(Debug, Copy, Clone)]
10321pub struct AEGP_IterateSuite2 {
10322    pub AEGP_GetNumThreads:
10323        ::std::option::Option<unsafe extern "C" fn(num_threadsPL: *mut A_long) -> A_Err>,
10324    pub AEGP_IterateGeneric: ::std::option::Option<
10325        unsafe extern "C" fn(
10326            iterationsL: A_long,
10327            refconPV: *mut ::std::os::raw::c_void,
10328            fn_func: ::std::option::Option<
10329                unsafe extern "C" fn(
10330                    refconPV: *mut ::std::os::raw::c_void,
10331                    thread_indexL: A_long,
10332                    i: A_long,
10333                    iterationsL: A_long,
10334                ) -> A_Err,
10335            >,
10336        ) -> A_Err,
10337    >,
10338}
10339pub type AEGP_PluginInitFuncPrototype = ::std::option::Option<
10340    unsafe extern "C" fn(
10341        pica_basicP: *mut SPBasicSuite,
10342        driver_major_versionL: A_long,
10343        driver_minor_versionL: A_long,
10344        aegp_plugin_id: AEGP_PluginID,
10345        plugin_refconP: *mut AEGP_GlobalRefcon,
10346    ) -> A_Err,
10347>;
10348pub type AEGP_PluginInitFunc = AEGP_PluginInitFuncPrototype;
10349#[repr(C)]
10350#[derive(Debug, Copy, Clone)]
10351pub struct AEGP_PFInterfaceSuite1 {
10352    pub AEGP_GetEffectLayer: ::std::option::Option<
10353        unsafe extern "C" fn(effect_pp_ref: PF_ProgPtr, layerPH: *mut AEGP_LayerH) -> A_Err,
10354    >,
10355    pub AEGP_GetNewEffectForEffect: ::std::option::Option<
10356        unsafe extern "C" fn(
10357            aegp_plugin_id: AEGP_PluginID,
10358            effect_pp_ref: PF_ProgPtr,
10359            effect_refPH: *mut AEGP_EffectRefH,
10360        ) -> A_Err,
10361    >,
10362    pub AEGP_ConvertEffectToCompTime: ::std::option::Option<
10363        unsafe extern "C" fn(
10364            effect_pp_ref: PF_ProgPtr,
10365            what_timeL: A_long,
10366            time_scaleLu: A_u_long,
10367            comp_timePT: *mut A_Time,
10368        ) -> A_Err,
10369    >,
10370    pub AEGP_GetEffectCamera: ::std::option::Option<
10371        unsafe extern "C" fn(
10372            effect_pp_ref: PF_ProgPtr,
10373            comp_timePT: *const A_Time,
10374            camera_layerPH: *mut AEGP_LayerH,
10375        ) -> A_Err,
10376    >,
10377    pub AEGP_GetEffectCameraMatrix: ::std::option::Option<
10378        unsafe extern "C" fn(
10379            effect_pp_ref: PF_ProgPtr,
10380            comp_timePT: *const A_Time,
10381            camera_matrixP: *mut A_Matrix4,
10382            dist_to_image_planePF: *mut A_FpLong,
10383            image_plane_widthPL: *mut A_short,
10384            image_plane_heightPL: *mut A_short,
10385        ) -> A_Err,
10386    >,
10387}
10388pub type AEIO_FileSize = A_u_longlong;
10389#[repr(C)]
10390#[derive(Debug, Copy, Clone)]
10391pub struct AEGP_IOInSuite6 {
10392    pub AEGP_GetInSpecOptionsHandle: ::std::option::Option<
10393        unsafe extern "C" fn(
10394            inH: AEIO_InSpecH,
10395            optionsPPV: *mut *mut ::std::os::raw::c_void,
10396        ) -> A_Err,
10397    >,
10398    pub AEGP_SetInSpecOptionsHandle: ::std::option::Option<
10399        unsafe extern "C" fn(
10400            inH: AEIO_InSpecH,
10401            optionsPV: *mut ::std::os::raw::c_void,
10402            old_optionsPPV: *mut *mut ::std::os::raw::c_void,
10403        ) -> A_Err,
10404    >,
10405    pub AEGP_GetInSpecFilePath: ::std::option::Option<
10406        unsafe extern "C" fn(inH: AEIO_InSpecH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
10407    >,
10408    pub AEGP_GetInSpecNativeFPS: ::std::option::Option<
10409        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
10410    >,
10411    pub AEGP_SetInSpecNativeFPS: ::std::option::Option<
10412        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fps: A_Fixed) -> A_Err,
10413    >,
10414    pub AEGP_GetInSpecDepth: ::std::option::Option<
10415        unsafe extern "C" fn(inH: AEIO_InSpecH, depthPS: *mut A_short) -> A_Err,
10416    >,
10417    pub AEGP_SetInSpecDepth:
10418        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, depthS: A_short) -> A_Err>,
10419    pub AEGP_GetInSpecSize: ::std::option::Option<
10420        unsafe extern "C" fn(inH: AEIO_InSpecH, sizePL: *mut AEIO_FileSize) -> A_Err,
10421    >,
10422    pub AEGP_SetInSpecSize: ::std::option::Option<
10423        unsafe extern "C" fn(inH: AEIO_InSpecH, sizeL: AEIO_FileSize) -> A_Err,
10424    >,
10425    pub AEGP_GetInSpecInterlaceLabel: ::std::option::Option<
10426        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
10427    >,
10428    pub AEGP_SetInSpecInterlaceLabel: ::std::option::Option<
10429        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *const FIEL_Label) -> A_Err,
10430    >,
10431    pub AEGP_GetInSpecAlphaLabel: ::std::option::Option<
10432        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
10433    >,
10434    pub AEGP_SetInSpecAlphaLabel: ::std::option::Option<
10435        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
10436    >,
10437    pub AEGP_GetInSpecDuration: ::std::option::Option<
10438        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *mut A_Time) -> A_Err,
10439    >,
10440    pub AEGP_SetInSpecDuration: ::std::option::Option<
10441        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *const A_Time) -> A_Err,
10442    >,
10443    pub AEGP_GetInSpecDimensions: ::std::option::Option<
10444        unsafe extern "C" fn(
10445            inH: AEIO_InSpecH,
10446            widthPL0: *mut A_long,
10447            heightPL0: *mut A_long,
10448        ) -> A_Err,
10449    >,
10450    pub AEGP_SetInSpecDimensions: ::std::option::Option<
10451        unsafe extern "C" fn(inH: AEIO_InSpecH, widthL: A_long, heightL: A_long) -> A_Err,
10452    >,
10453    pub AEGP_InSpecGetRationalDimensions: ::std::option::Option<
10454        unsafe extern "C" fn(
10455            inH: AEIO_InSpecH,
10456            rs0: *const AEIO_RationalScale,
10457            width0: *mut A_long,
10458            height0: *mut A_long,
10459            r0: *mut A_Rect,
10460        ) -> A_Err,
10461    >,
10462    pub AEGP_GetInSpecHSF:
10463        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *mut A_Ratio) -> A_Err>,
10464    pub AEGP_SetInSpecHSF: ::std::option::Option<
10465        unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *const A_Ratio) -> A_Err,
10466    >,
10467    pub AEGP_GetInSpecSoundRate: ::std::option::Option<
10468        unsafe extern "C" fn(inH: AEIO_InSpecH, ratePF: *mut A_FpLong) -> A_Err,
10469    >,
10470    pub AEGP_SetInSpecSoundRate:
10471        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, rateF: A_FpLong) -> A_Err>,
10472    pub AEGP_GetInSpecSoundEncoding: ::std::option::Option<
10473        unsafe extern "C" fn(inH: AEIO_InSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
10474    >,
10475    pub AEGP_SetInSpecSoundEncoding: ::std::option::Option<
10476        unsafe extern "C" fn(inH: AEIO_InSpecH, encoding: AEIO_SndEncoding) -> A_Err,
10477    >,
10478    pub AEGP_GetInSpecSoundSampleSize: ::std::option::Option<
10479        unsafe extern "C" fn(
10480            inH: AEIO_InSpecH,
10481            bytes_per_sampleP: *mut AEIO_SndSampleSize,
10482        ) -> A_Err,
10483    >,
10484    pub AEGP_SetInSpecSoundSampleSize: ::std::option::Option<
10485        unsafe extern "C" fn(inH: AEIO_InSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
10486    >,
10487    pub AEGP_GetInSpecSoundChannels: ::std::option::Option<
10488        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
10489    >,
10490    pub AEGP_SetInSpecSoundChannels: ::std::option::Option<
10491        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channels: AEIO_SndChannels) -> A_Err,
10492    >,
10493    pub AEGP_AddAuxExtMap: ::std::option::Option<
10494        unsafe extern "C" fn(extension: *const A_char, file_type: A_long, creator: A_long) -> A_Err,
10495    >,
10496    pub AEGP_SetInSpecEmbeddedColorProfile: ::std::option::Option<
10497        unsafe extern "C" fn(
10498            inH: AEIO_InSpecH,
10499            color_profileP0: AEGP_ConstColorProfileP,
10500            profile_descP0: *const A_UTF16Char,
10501        ) -> A_Err,
10502    >,
10503    pub AEGP_SetInSpecAssignedColorProfile: ::std::option::Option<
10504        unsafe extern "C" fn(inH: AEIO_InSpecH, color_profileP: AEGP_ConstColorProfileP) -> A_Err,
10505    >,
10506    pub AEGP_GetInSpecNativeStartTime: ::std::option::Option<
10507        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *mut A_Time) -> A_Err,
10508    >,
10509    pub AEGP_SetInSpecNativeStartTime: ::std::option::Option<
10510        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *const A_Time) -> A_Err,
10511    >,
10512    pub AEGP_ClearInSpecNativeStartTime:
10513        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH) -> A_Err>,
10514    pub AEGP_GetInSpecNativeDisplayDropFrame: ::std::option::Option<
10515        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameBP: *mut A_Boolean) -> A_Err,
10516    >,
10517    pub AEGP_SetInSpecNativeDisplayDropFrame: ::std::option::Option<
10518        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameB: A_Boolean) -> A_Err,
10519    >,
10520    pub AEGP_SetInSpecStillSequenceNativeFPS: ::std::option::Option<
10521        unsafe extern "C" fn(inH: AEIO_InSpecH, native_still_seq_fps: A_Fixed) -> A_Err,
10522    >,
10523    pub AEGP_SetInSpecColorSpaceFromCICP: ::std::option::Option<
10524        unsafe extern "C" fn(
10525            inH: AEIO_InSpecH,
10526            inColorPrimariesCode: A_long,
10527            inTransferCharacteristicsCode: A_long,
10528            inMatrixCoefficientsCode: A_long,
10529            inFullRangeVideoFlag: A_long,
10530            inBitDepthL: A_long,
10531            inIsRGB: A_Boolean,
10532        ) -> A_Err,
10533    >,
10534}
10535#[repr(C)]
10536#[derive(Debug, Copy, Clone)]
10537pub struct AEGP_IOOutSuite5 {
10538    pub AEGP_GetOutSpecOptionsHandle: ::std::option::Option<
10539        unsafe extern "C" fn(
10540            outH: AEIO_OutSpecH,
10541            optionsPPV: *mut *mut ::std::os::raw::c_void,
10542        ) -> A_Err,
10543    >,
10544    pub AEGP_SetOutSpecOptionsHandle: ::std::option::Option<
10545        unsafe extern "C" fn(
10546            outH: AEIO_OutSpecH,
10547            optionsPV: *mut ::std::os::raw::c_void,
10548            old_optionsPPVO: *mut *mut ::std::os::raw::c_void,
10549        ) -> A_Err,
10550    >,
10551    pub AEGP_GetOutSpecFilePath: ::std::option::Option<
10552        unsafe extern "C" fn(
10553            outH: AEIO_OutSpecH,
10554            unicode_pathPH: *mut AEGP_MemHandle,
10555            file_reservedPB: *mut A_Boolean,
10556        ) -> A_Err,
10557    >,
10558    pub AEGP_GetOutSpecFPS: ::std::option::Option<
10559        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
10560    >,
10561    pub AEGP_SetOutSpecNativeFPS: ::std::option::Option<
10562        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: A_Fixed) -> A_Err,
10563    >,
10564    pub AEGP_GetOutSpecDepth: ::std::option::Option<
10565        unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: *mut A_short) -> A_Err,
10566    >,
10567    pub AEGP_SetOutSpecDepth:
10568        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: A_short) -> A_Err>,
10569    pub AEGP_GetOutSpecInterlaceLabel: ::std::option::Option<
10570        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
10571    >,
10572    pub AEGP_SetOutSpecInterlaceLabel: ::std::option::Option<
10573        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *const FIEL_Label) -> A_Err,
10574    >,
10575    pub AEGP_GetOutSpecAlphaLabel: ::std::option::Option<
10576        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
10577    >,
10578    pub AEGP_SetOutSpecAlphaLabel: ::std::option::Option<
10579        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
10580    >,
10581    pub AEGP_GetOutSpecDuration: ::std::option::Option<
10582        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *mut A_Time) -> A_Err,
10583    >,
10584    pub AEGP_SetOutSpecDuration: ::std::option::Option<
10585        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *const A_Time) -> A_Err,
10586    >,
10587    pub AEGP_GetOutSpecDimensions: ::std::option::Option<
10588        unsafe extern "C" fn(
10589            outH: AEIO_OutSpecH,
10590            widthPL: *mut A_long,
10591            heightPL: *mut A_long,
10592        ) -> A_Err,
10593    >,
10594    pub AEGP_GetOutSpecHSF: ::std::option::Option<
10595        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *mut A_Ratio) -> A_Err,
10596    >,
10597    pub AEGP_SetOutSpecHSF: ::std::option::Option<
10598        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *const A_Ratio) -> A_Err,
10599    >,
10600    pub AEGP_GetOutSpecSoundRate: ::std::option::Option<
10601        unsafe extern "C" fn(outH: AEIO_OutSpecH, ratePF: *mut A_FpLong) -> A_Err,
10602    >,
10603    pub AEGP_SetOutSpecSoundRate:
10604        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, rateF: A_FpLong) -> A_Err>,
10605    pub AEGP_GetOutSpecSoundEncoding: ::std::option::Option<
10606        unsafe extern "C" fn(outH: AEIO_OutSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
10607    >,
10608    pub AEGP_SetOutSpecSoundEncoding: ::std::option::Option<
10609        unsafe extern "C" fn(outH: AEIO_OutSpecH, encoding: AEIO_SndEncoding) -> A_Err,
10610    >,
10611    pub AEGP_GetOutSpecSoundSampleSize: ::std::option::Option<
10612        unsafe extern "C" fn(
10613            outH: AEIO_OutSpecH,
10614            bytes_per_sampleP: *mut AEIO_SndSampleSize,
10615        ) -> A_Err,
10616    >,
10617    pub AEGP_SetOutSpecSoundSampleSize: ::std::option::Option<
10618        unsafe extern "C" fn(outH: AEIO_OutSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
10619    >,
10620    pub AEGP_GetOutSpecSoundChannels: ::std::option::Option<
10621        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
10622    >,
10623    pub AEGP_SetOutSpecSoundChannels: ::std::option::Option<
10624        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channels: AEIO_SndChannels) -> A_Err,
10625    >,
10626    pub AEGP_GetOutSpecIsStill: ::std::option::Option<
10627        unsafe extern "C" fn(outH: AEIO_OutSpecH, is_stillPB: *mut A_Boolean) -> A_Err,
10628    >,
10629    pub AEGP_GetOutSpecPosterTime: ::std::option::Option<
10630        unsafe extern "C" fn(outH: AEIO_OutSpecH, poster_timeP: *mut A_Time) -> A_Err,
10631    >,
10632    pub AEGP_GetOutSpecStartFrame: ::std::option::Option<
10633        unsafe extern "C" fn(outH: AEIO_OutSpecH, start_frameP: *mut A_long) -> A_Err,
10634    >,
10635    pub AEGP_GetOutSpecPullDown: ::std::option::Option<
10636        unsafe extern "C" fn(outH: AEIO_OutSpecH, pulldownP: *mut AEIO_Pulldown) -> A_Err,
10637    >,
10638    pub AEGP_GetOutSpecIsMissing: ::std::option::Option<
10639        unsafe extern "C" fn(outH: AEIO_OutSpecH, missingPB: *mut A_Boolean) -> A_Err,
10640    >,
10641    pub AEGP_GetOutSpecShouldEmbedICCProfile: ::std::option::Option<
10642        unsafe extern "C" fn(outH: AEIO_OutSpecH, embedPB: *mut A_Boolean) -> A_Err,
10643    >,
10644    pub AEGP_GetNewOutSpecColorProfile: ::std::option::Option<
10645        unsafe extern "C" fn(
10646            aegp_plugin_id: AEGP_PluginID,
10647            outH: AEIO_OutSpecH,
10648            color_profilePP: *mut AEGP_ColorProfileP,
10649        ) -> A_Err,
10650    >,
10651    pub AEGP_GetOutSpecOutputModule: ::std::option::Option<
10652        unsafe extern "C" fn(
10653            outH: AEIO_OutSpecH,
10654            rq_itemP: *mut AEGP_RQItemRefH,
10655            om_refP: *mut AEGP_OutputModuleRefH,
10656        ) -> A_Err,
10657    >,
10658    pub AEGP_GetOutSpecStartTime: ::std::option::Option<
10659        unsafe extern "C" fn(outH: AEIO_OutSpecH, outStartTimePT: *mut A_Time) -> A_Err,
10660    >,
10661    pub AEGP_GetOutSpecFrameTime: ::std::option::Option<
10662        unsafe extern "C" fn(outH: AEIO_OutSpecH, outFrameTimePT: *mut A_Time) -> A_Err,
10663    >,
10664    pub AEGP_GetOutSpecIsDropFrame: ::std::option::Option<
10665        unsafe extern "C" fn(outH: AEIO_OutSpecH, outIsDropFramePB: *mut A_Boolean) -> A_Err,
10666    >,
10667}
10668pub type AE_FIM_ImportFlavorRef = A_long;
10669pub type AE_FIM_ImportFlags = A_long;
10670pub type AE_FIM_SpecialAction = A_long;
10671#[repr(C)]
10672#[derive(Debug, Copy, Clone)]
10673pub struct AE_FIM_RefconTag {
10674    _unused: [u8; 0],
10675}
10676pub type AE_FIM_Refcon = *mut AE_FIM_RefconTag;
10677#[repr(C)]
10678#[derive(Debug, Copy, Clone)]
10679pub struct AE_FIM_ImportOptionsTag {
10680    _unused: [u8; 0],
10681}
10682pub type AE_FIM_ImportOptions = *mut AE_FIM_ImportOptionsTag;
10683pub type AE_FIM_ImportFileCB = ::std::option::Option<
10684    unsafe extern "C" fn(
10685        pathZ: *const A_UTF16Char,
10686        imp_options: AE_FIM_ImportOptions,
10687        action: AE_FIM_SpecialAction,
10688        itemH: AEGP_ItemH,
10689        refcon: AE_FIM_Refcon,
10690    ) -> A_Err,
10691>;
10692pub type AE_FIM_VerifyImportableCB = ::std::option::Option<
10693    unsafe extern "C" fn(
10694        pathZ: *const A_UTF16Char,
10695        refcon: AE_FIM_Refcon,
10696        importablePB: *mut A_Boolean,
10697    ) -> A_Err,
10698>;
10699#[repr(C)]
10700#[derive(Debug, Copy, Clone)]
10701pub struct AE_FIM_ImportCallbacks {
10702    pub refcon: AE_FIM_Refcon,
10703    pub import_cb: AE_FIM_ImportFileCB,
10704    pub verify_cb: AE_FIM_VerifyImportableCB,
10705}
10706#[repr(C)]
10707#[derive(Debug, Copy, Clone)]
10708pub struct AEGP_FIMSuite4 {
10709    pub AEGP_RegisterImportFlavor: ::std::option::Option<
10710        unsafe extern "C" fn(nameZ: *const A_char, imp_refP: *mut AE_FIM_ImportFlavorRef) -> A_Err,
10711    >,
10712    pub AEGP_RegisterImportFlavorFileTypes: ::std::option::Option<
10713        unsafe extern "C" fn(
10714            imp_ref: AE_FIM_ImportFlavorRef,
10715            num_filekindsL: A_long,
10716            kindsAP: *const AEIO_FileKind,
10717            num_fileextsL: A_long,
10718            extsAP: *const AEIO_FileKind,
10719        ) -> A_Err,
10720    >,
10721    pub AEGP_RegisterImportFlavorImportCallbacks: ::std::option::Option<
10722        unsafe extern "C" fn(
10723            imp_ref: AE_FIM_ImportFlavorRef,
10724            single_flag: AE_FIM_ImportFlags,
10725            imp_cbsP: *const AE_FIM_ImportCallbacks,
10726        ) -> A_Err,
10727    >,
10728    pub AEGP_SetImportedItem: ::std::option::Option<
10729        unsafe extern "C" fn(
10730            imp_options: AE_FIM_ImportOptions,
10731            imported_itemH: AEGP_ItemH,
10732        ) -> A_Err,
10733    >,
10734    pub AEGP_FileSequenceImportOptionsFromFIMImportOptions: ::std::option::Option<
10735        unsafe extern "C" fn(
10736            imp_options: AE_FIM_ImportOptions,
10737            seq_import_optionsP: *mut AEGP_FileSequenceImportOptions,
10738        ) -> A_Err,
10739    >,
10740}
10741#[repr(C)]
10742#[derive(Debug, Copy, Clone)]
10743pub struct AEGP_PersistentDataSuite4 {
10744    pub AEGP_GetApplicationBlob: ::std::option::Option<
10745        unsafe extern "C" fn(
10746            blob_type: AEGP_PersistentType,
10747            blobPH: *mut AEGP_PersistentBlobH,
10748        ) -> A_Err,
10749    >,
10750    pub AEGP_GetNumSections: ::std::option::Option<
10751        unsafe extern "C" fn(blobH: AEGP_PersistentBlobH, num_sectionPL: *mut A_long) -> A_Err,
10752    >,
10753    pub AEGP_GetSectionKeyByIndex: ::std::option::Option<
10754        unsafe extern "C" fn(
10755            blobH: AEGP_PersistentBlobH,
10756            section_index: A_long,
10757            max_section_size: A_long,
10758            section_keyZ: *mut A_char,
10759        ) -> A_Err,
10760    >,
10761    pub AEGP_DoesKeyExist: ::std::option::Option<
10762        unsafe extern "C" fn(
10763            blobH: AEGP_PersistentBlobH,
10764            section_keyZ: *const A_char,
10765            value_keyZ: *const A_char,
10766            existsPB: *mut A_Boolean,
10767        ) -> A_Err,
10768    >,
10769    pub AEGP_GetNumKeys: ::std::option::Option<
10770        unsafe extern "C" fn(
10771            blobH: AEGP_PersistentBlobH,
10772            section_keyZ: *const A_char,
10773            num_keysPL: *mut A_long,
10774        ) -> A_Err,
10775    >,
10776    pub AEGP_GetValueKeyByIndex: ::std::option::Option<
10777        unsafe extern "C" fn(
10778            blobH: AEGP_PersistentBlobH,
10779            section_keyZ: *const A_char,
10780            key_index: A_long,
10781            max_key_size: A_long,
10782            value_keyZ: *mut A_char,
10783        ) -> A_Err,
10784    >,
10785    pub AEGP_GetDataHandle: ::std::option::Option<
10786        unsafe extern "C" fn(
10787            plugin_id: AEGP_PluginID,
10788            blobH: AEGP_PersistentBlobH,
10789            section_keyZ: *const A_char,
10790            value_keyZ: *const A_char,
10791            defaultH0: AEGP_MemHandle,
10792            valuePH: *mut AEGP_MemHandle,
10793        ) -> A_Err,
10794    >,
10795    pub AEGP_GetData: ::std::option::Option<
10796        unsafe extern "C" fn(
10797            blobH: AEGP_PersistentBlobH,
10798            section_keyZ: *const A_char,
10799            value_keyZ: *const A_char,
10800            data_sizeLu: A_u_long,
10801            defaultPV0: *const ::std::os::raw::c_void,
10802            bufPV: *mut ::std::os::raw::c_void,
10803        ) -> A_Err,
10804    >,
10805    pub AEGP_GetString: ::std::option::Option<
10806        unsafe extern "C" fn(
10807            blobH: AEGP_PersistentBlobH,
10808            section_keyZ: *const A_char,
10809            value_keyZ: *const A_char,
10810            defaultZ0: *const A_char,
10811            buf_sizeLu: A_u_long,
10812            bufZ: *mut A_char,
10813            actual_buf_sizeLu0: *mut A_u_long,
10814        ) -> A_Err,
10815    >,
10816    pub AEGP_GetLong: ::std::option::Option<
10817        unsafe extern "C" fn(
10818            blobH: AEGP_PersistentBlobH,
10819            section_keyZ: *const A_char,
10820            value_keyZ: *const A_char,
10821            defaultL: A_long,
10822            valuePL: *mut A_long,
10823        ) -> A_Err,
10824    >,
10825    pub AEGP_GetFpLong: ::std::option::Option<
10826        unsafe extern "C" fn(
10827            blobH: AEGP_PersistentBlobH,
10828            section_keyZ: *const A_char,
10829            value_keyZ: *const A_char,
10830            defaultF: A_FpLong,
10831            valuePF: *mut A_FpLong,
10832        ) -> A_Err,
10833    >,
10834    pub AEGP_GetTime: ::std::option::Option<
10835        unsafe extern "C" fn(
10836            blobH: AEGP_PersistentBlobH,
10837            section_keyZ: *const A_char,
10838            value_keyZ: *const A_char,
10839            defaultPT0: *const A_Time,
10840            valuePT: *mut A_Time,
10841        ) -> A_Err,
10842    >,
10843    pub AEGP_GetARGB: ::std::option::Option<
10844        unsafe extern "C" fn(
10845            blobH: AEGP_PersistentBlobH,
10846            section_keyZ: *const A_char,
10847            value_keyZ: *const A_char,
10848            defaultP0: *const PF_PixelFloat,
10849            valueP: *mut PF_PixelFloat,
10850        ) -> A_Err,
10851    >,
10852    pub AEGP_SetDataHandle: ::std::option::Option<
10853        unsafe extern "C" fn(
10854            blobH: AEGP_PersistentBlobH,
10855            section_keyZ: *const A_char,
10856            value_keyZ: *const A_char,
10857            valueH: AEGP_MemHandle,
10858        ) -> A_Err,
10859    >,
10860    pub AEGP_SetData: ::std::option::Option<
10861        unsafe extern "C" fn(
10862            blobH: AEGP_PersistentBlobH,
10863            section_keyZ: *const A_char,
10864            value_keyZ: *const A_char,
10865            data_sizeLu: A_u_long,
10866            dataPV: *const ::std::os::raw::c_void,
10867        ) -> A_Err,
10868    >,
10869    pub AEGP_SetString: ::std::option::Option<
10870        unsafe extern "C" fn(
10871            blobH: AEGP_PersistentBlobH,
10872            section_keyZ: *const A_char,
10873            value_keyZ: *const A_char,
10874            strZ: *const A_char,
10875        ) -> A_Err,
10876    >,
10877    pub AEGP_SetLong: ::std::option::Option<
10878        unsafe extern "C" fn(
10879            blobH: AEGP_PersistentBlobH,
10880            section_keyZ: *const A_char,
10881            value_keyZ: *const A_char,
10882            valueL: A_long,
10883        ) -> A_Err,
10884    >,
10885    pub AEGP_SetFpLong: ::std::option::Option<
10886        unsafe extern "C" fn(
10887            blobH: AEGP_PersistentBlobH,
10888            section_keyZ: *const A_char,
10889            value_keyZ: *const A_char,
10890            valueF: A_FpLong,
10891        ) -> A_Err,
10892    >,
10893    pub AEGP_SetTime: ::std::option::Option<
10894        unsafe extern "C" fn(
10895            blobH: AEGP_PersistentBlobH,
10896            section_keyZ: *const A_char,
10897            value_keyZ: *const A_char,
10898            valuePT: *const A_Time,
10899        ) -> A_Err,
10900    >,
10901    pub AEGP_SetARGB: ::std::option::Option<
10902        unsafe extern "C" fn(
10903            blobH: AEGP_PersistentBlobH,
10904            section_keyZ: *const A_char,
10905            value_keyZ: *const A_char,
10906            valueP: *const PF_PixelFloat,
10907        ) -> A_Err,
10908    >,
10909    pub AEGP_DeleteEntry: ::std::option::Option<
10910        unsafe extern "C" fn(
10911            blobH: AEGP_PersistentBlobH,
10912            section_keyZ: *const A_char,
10913            value_keyZ: *const A_char,
10914        ) -> A_Err,
10915    >,
10916    pub AEGP_GetPrefsDirectory:
10917        ::std::option::Option<unsafe extern "C" fn(unicode_pathPH: *mut AEGP_MemHandle) -> A_Err>,
10918}
10919pub const AEGP_CollectionItemType_NONE: _bindgen_ty_166 = 0;
10920pub const AEGP_CollectionItemType_LAYER: _bindgen_ty_166 = 1;
10921pub const AEGP_CollectionItemType_MASK: _bindgen_ty_166 = 2;
10922pub const AEGP_CollectionItemType_EFFECT: _bindgen_ty_166 = 3;
10923pub const AEGP_CollectionItemType_STREAM: _bindgen_ty_166 = 4;
10924pub const AEGP_CollectionItemType_KEYFRAME: _bindgen_ty_166 = 5;
10925pub const AEGP_CollectionItemType_MASK_VERTEX: _bindgen_ty_166 = 6;
10926pub const AEGP_CollectionItemType_STREAMREF: _bindgen_ty_166 = 7;
10927pub const AEGP_CollectionItemType_END: _bindgen_ty_166 = 8;
10928pub const AEGP_CollectionItemType_BEGIN: _bindgen_ty_166 = 1;
10929pub type _bindgen_ty_166 = ::std::os::raw::c_uint;
10930pub type AEGP_CollectionItemType = A_LegacyEnumType;
10931#[repr(C)]
10932#[derive(Debug, Copy, Clone)]
10933pub struct AEGP_LayerCollectionItem {
10934    pub layerH: AEGP_LayerH,
10935}
10936#[repr(C)]
10937#[derive(Debug, Copy, Clone)]
10938pub struct AEGP_MaskCollectionItem {
10939    pub layerH: AEGP_LayerH,
10940    pub index: AEGP_MaskIndex,
10941}
10942#[repr(C)]
10943#[derive(Debug, Copy, Clone)]
10944pub struct AEGP_EffectCollectionItem {
10945    pub layerH: AEGP_LayerH,
10946    pub index: AEGP_EffectIndex,
10947}
10948pub const AEGP_StreamCollectionItemType_NONE: _bindgen_ty_167 = 0;
10949pub const AEGP_StreamCollectionItemType_LAYER: _bindgen_ty_167 = 1;
10950pub const AEGP_StreamCollectionItemType_MASK: _bindgen_ty_167 = 2;
10951pub const AEGP_StreamCollectionItemType_EFFECT: _bindgen_ty_167 = 3;
10952pub const AEGP_StreamCollectionItemType_END: _bindgen_ty_167 = 4;
10953pub const AEGP_StreamCollectionItemType_BEGIN: _bindgen_ty_167 = 1;
10954pub type _bindgen_ty_167 = ::std::os::raw::c_uint;
10955pub type AEGP_StreamCollectionItemType = A_LegacyEnumType;
10956#[repr(C)]
10957#[derive(Debug, Copy, Clone)]
10958pub struct AEGP_MaskStreamCollectionItem {
10959    pub mask: AEGP_MaskCollectionItem,
10960    pub mask_stream: AEGP_MaskStream,
10961}
10962#[repr(C)]
10963#[derive(Debug, Copy, Clone)]
10964pub struct AEGP_EffectStreamCollectionItem {
10965    pub effect: AEGP_EffectCollectionItem,
10966    pub param_index: A_long,
10967}
10968#[repr(C)]
10969#[derive(Debug, Copy, Clone)]
10970pub struct AEGP_LayerStreamCollectionItem {
10971    pub layerH: AEGP_LayerH,
10972    pub layer_stream: AEGP_LayerStream,
10973}
10974#[repr(C)]
10975#[derive(Copy, Clone)]
10976pub struct AEGP_StreamCollectionItem {
10977    pub type_: AEGP_StreamCollectionItemType,
10978    pub u: AEGP_StreamCollectionItem__bindgen_ty_1,
10979}
10980#[repr(C)]
10981#[derive(Copy, Clone)]
10982pub union AEGP_StreamCollectionItem__bindgen_ty_1 {
10983    pub layer_stream: AEGP_LayerStreamCollectionItem,
10984    pub mask_stream: AEGP_MaskStreamCollectionItem,
10985    pub effect_stream: AEGP_EffectStreamCollectionItem,
10986}
10987#[repr(C)]
10988#[derive(Debug, Copy, Clone)]
10989pub struct AEGP_MaskVertexCollectionItem {
10990    pub mask_sel: AEGP_MaskCollectionItem,
10991    pub index: AEGP_VertexIndex,
10992}
10993#[repr(C)]
10994#[derive(Copy, Clone)]
10995pub struct AEGP_KeyframeCollectionItem {
10996    pub stream_coll: AEGP_StreamCollectionItem,
10997    pub index: AEGP_KeyframeIndex,
10998}
10999#[repr(C)]
11000#[derive(Copy, Clone)]
11001pub struct AEGP_CollectionItemV2 {
11002    pub type_: AEGP_CollectionItemType,
11003    pub u: AEGP_CollectionItemV2__bindgen_ty_1,
11004    pub stream_refH: AEGP_StreamRefH,
11005}
11006#[repr(C)]
11007#[derive(Copy, Clone)]
11008pub union AEGP_CollectionItemV2__bindgen_ty_1 {
11009    pub layer: AEGP_LayerCollectionItem,
11010    pub mask: AEGP_MaskCollectionItem,
11011    pub effect: AEGP_EffectCollectionItem,
11012    pub stream: AEGP_StreamCollectionItem,
11013    pub mask_vertex: AEGP_MaskVertexCollectionItem,
11014    pub keyframe: AEGP_KeyframeCollectionItem,
11015}
11016#[repr(C)]
11017#[derive(Debug, Copy, Clone)]
11018pub struct AEGP_CollectionSuite2 {
11019    pub AEGP_NewCollection: ::std::option::Option<
11020        unsafe extern "C" fn(
11021            plugin_id: AEGP_PluginID,
11022            collectionPH: *mut AEGP_Collection2H,
11023        ) -> A_Err,
11024    >,
11025    pub AEGP_DisposeCollection:
11026        ::std::option::Option<unsafe extern "C" fn(collectionH: AEGP_Collection2H) -> A_Err>,
11027    pub AEGP_GetCollectionNumItems: ::std::option::Option<
11028        unsafe extern "C" fn(collectionH: AEGP_Collection2H, num_itemsPL: *mut A_u_long) -> A_Err,
11029    >,
11030    pub AEGP_GetCollectionItemByIndex: ::std::option::Option<
11031        unsafe extern "C" fn(
11032            collectionH: AEGP_Collection2H,
11033            indexL: A_u_long,
11034            collection_itemP: *mut AEGP_CollectionItemV2,
11035        ) -> A_Err,
11036    >,
11037    pub AEGP_CollectionPushBack: ::std::option::Option<
11038        unsafe extern "C" fn(
11039            collectionH: AEGP_Collection2H,
11040            collection_itemP: *const AEGP_CollectionItemV2,
11041        ) -> A_Err,
11042    >,
11043    pub AEGP_CollectionErase: ::std::option::Option<
11044        unsafe extern "C" fn(
11045            collectionH: AEGP_Collection2H,
11046            index_firstL: A_u_long,
11047            index_lastL: A_u_long,
11048        ) -> A_Err,
11049    >,
11050}
11051pub const AEGP_WorldType_NONE: _bindgen_ty_168 = 0;
11052pub const AEGP_WorldType_8: _bindgen_ty_168 = 1;
11053pub const AEGP_WorldType_16: _bindgen_ty_168 = 2;
11054pub const AEGP_WorldType_32: _bindgen_ty_168 = 3;
11055pub type _bindgen_ty_168 = ::std::os::raw::c_uint;
11056pub type AEGP_WorldType = A_long;
11057#[repr(C)]
11058#[derive(Debug, Copy, Clone)]
11059pub struct AEGP_WorldSuite3 {
11060    pub AEGP_New: ::std::option::Option<
11061        unsafe extern "C" fn(
11062            plugin_id: AEGP_PluginID,
11063            type_: AEGP_WorldType,
11064            widthL: A_long,
11065            heightL: A_long,
11066            worldPH: *mut AEGP_WorldH,
11067        ) -> A_Err,
11068    >,
11069    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
11070    pub AEGP_GetType: ::std::option::Option<
11071        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
11072    >,
11073    pub AEGP_GetSize: ::std::option::Option<
11074        unsafe extern "C" fn(
11075            worldH: AEGP_WorldH,
11076            widthPL: *mut A_long,
11077            heightPL: *mut A_long,
11078        ) -> A_Err,
11079    >,
11080    pub AEGP_GetRowBytes: ::std::option::Option<
11081        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
11082    >,
11083    pub AEGP_GetBaseAddr8: ::std::option::Option<
11084        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
11085    >,
11086    pub AEGP_GetBaseAddr16: ::std::option::Option<
11087        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
11088    >,
11089    pub AEGP_GetBaseAddr32: ::std::option::Option<
11090        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_PixelFloat) -> A_Err,
11091    >,
11092    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
11093        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
11094    >,
11095    pub AEGP_FastBlur: ::std::option::Option<
11096        unsafe extern "C" fn(
11097            radiusF: A_FpLong,
11098            mode: PF_ModeFlags,
11099            quality: PF_Quality,
11100            worldH: AEGP_WorldH,
11101        ) -> A_Err,
11102    >,
11103    pub AEGP_NewPlatformWorld: ::std::option::Option<
11104        unsafe extern "C" fn(
11105            plugin_id: AEGP_PluginID,
11106            type_: AEGP_WorldType,
11107            widthL: A_long,
11108            heightL: A_long,
11109            worldPH: *mut AEGP_PlatformWorldH,
11110        ) -> A_Err,
11111    >,
11112    pub AEGP_DisposePlatformWorld:
11113        ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_PlatformWorldH) -> A_Err>,
11114    pub AEGP_NewReferenceFromPlatformWorld: ::std::option::Option<
11115        unsafe extern "C" fn(
11116            plugin_id: AEGP_PluginID,
11117            platform_worldH: AEGP_PlatformWorldH,
11118            worldPH: *mut AEGP_WorldH,
11119        ) -> A_Err,
11120    >,
11121}
11122pub const AEGP_MatteMode_STRAIGHT: _bindgen_ty_169 = 0;
11123pub const AEGP_MatteMode_PREMUL_BLACK: _bindgen_ty_169 = 1;
11124pub const AEGP_MatteMode_PREMUL_BG_COLOR: _bindgen_ty_169 = 2;
11125pub type _bindgen_ty_169 = ::std::os::raw::c_uint;
11126pub type AEGP_MatteMode = A_long;
11127pub const AEGP_ChannelOrder_ARGB: _bindgen_ty_170 = 0;
11128pub const AEGP_ChannelOrder_BGRA: _bindgen_ty_170 = 1;
11129pub type _bindgen_ty_170 = ::std::os::raw::c_uint;
11130pub type AEGP_ChannelOrder = A_char;
11131pub const AEGP_ItemQuality_DRAFT: _bindgen_ty_171 = 0;
11132pub const AEGP_ItemQuality_BEST: _bindgen_ty_171 = 1;
11133pub type _bindgen_ty_171 = ::std::os::raw::c_uint;
11134pub type AEGP_ItemQuality = A_char;
11135#[repr(C)]
11136#[derive(Debug, Copy, Clone)]
11137pub struct AEGP_RenderOptionsSuite4 {
11138    pub AEGP_NewFromItem: ::std::option::Option<
11139        unsafe extern "C" fn(
11140            plugin_id: AEGP_PluginID,
11141            itemH: AEGP_ItemH,
11142            optionsPH: *mut AEGP_RenderOptionsH,
11143        ) -> A_Err,
11144    >,
11145    pub AEGP_Duplicate: ::std::option::Option<
11146        unsafe extern "C" fn(
11147            plugin_id: AEGP_PluginID,
11148            optionsH: AEGP_RenderOptionsH,
11149            copyPH: *mut AEGP_RenderOptionsH,
11150        ) -> A_Err,
11151    >,
11152    pub AEGP_Dispose:
11153        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
11154    pub AEGP_SetTime: ::std::option::Option<
11155        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
11156    >,
11157    pub AEGP_GetTime: ::std::option::Option<
11158        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
11159    >,
11160    pub AEGP_SetTimeStep: ::std::option::Option<
11161        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
11162    >,
11163    pub AEGP_GetTimeStep: ::std::option::Option<
11164        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
11165    >,
11166    pub AEGP_SetFieldRender: ::std::option::Option<
11167        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
11168    >,
11169    pub AEGP_GetFieldRender: ::std::option::Option<
11170        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
11171    >,
11172    pub AEGP_SetWorldType: ::std::option::Option<
11173        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
11174    >,
11175    pub AEGP_GetWorldType: ::std::option::Option<
11176        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
11177    >,
11178    pub AEGP_SetDownsampleFactor: ::std::option::Option<
11179        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
11180    >,
11181    pub AEGP_GetDownsampleFactor: ::std::option::Option<
11182        unsafe extern "C" fn(
11183            optionsH: AEGP_RenderOptionsH,
11184            xP: *mut A_short,
11185            yP: *mut A_short,
11186        ) -> A_Err,
11187    >,
11188    pub AEGP_SetRegionOfInterest: ::std::option::Option<
11189        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
11190    >,
11191    pub AEGP_GetRegionOfInterest: ::std::option::Option<
11192        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
11193    >,
11194    pub AEGP_SetMatteMode: ::std::option::Option<
11195        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
11196    >,
11197    pub AEGP_GetMatteMode: ::std::option::Option<
11198        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
11199    >,
11200    pub AEGP_SetChannelOrder: ::std::option::Option<
11201        unsafe extern "C" fn(
11202            optionsH: AEGP_RenderOptionsH,
11203            channel_order: AEGP_ChannelOrder,
11204        ) -> A_Err,
11205    >,
11206    pub AEGP_GetChannelOrder: ::std::option::Option<
11207        unsafe extern "C" fn(
11208            optionsH: AEGP_RenderOptionsH,
11209            channelP: *mut AEGP_ChannelOrder,
11210        ) -> A_Err,
11211    >,
11212    pub AEGP_GetRenderGuideLayers: ::std::option::Option<
11213        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, will_renderPB: *mut A_Boolean) -> A_Err,
11214    >,
11215    pub AEGP_SetRenderGuideLayers: ::std::option::Option<
11216        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, render_themB: A_Boolean) -> A_Err,
11217    >,
11218    pub AEGP_GetRenderQuality: ::std::option::Option<
11219        unsafe extern "C" fn(
11220            optionsH: AEGP_RenderOptionsH,
11221            qualityP: *mut AEGP_ItemQuality,
11222        ) -> A_Err,
11223    >,
11224    pub AEGP_SetRenderQuality: ::std::option::Option<
11225        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, quality: AEGP_ItemQuality) -> A_Err,
11226    >,
11227}
11228#[repr(C)]
11229#[derive(Debug, Copy, Clone)]
11230pub struct AEGP_LayerRenderOptionsSuite2 {
11231    pub AEGP_NewFromLayer: ::std::option::Option<
11232        unsafe extern "C" fn(
11233            plugin_id: AEGP_PluginID,
11234            layerH: AEGP_LayerH,
11235            optionsPH: *mut AEGP_LayerRenderOptionsH,
11236        ) -> A_Err,
11237    >,
11238    pub AEGP_NewFromUpstreamOfEffect: ::std::option::Option<
11239        unsafe extern "C" fn(
11240            plugin_id: AEGP_PluginID,
11241            effectH: AEGP_EffectRefH,
11242            optionsPH: *mut AEGP_LayerRenderOptionsH,
11243        ) -> A_Err,
11244    >,
11245    pub AEGP_NewFromDownstreamOfEffect: ::std::option::Option<
11246        unsafe extern "C" fn(
11247            plugin_id: AEGP_PluginID,
11248            effectH: AEGP_EffectRefH,
11249            optionsPH: *mut AEGP_LayerRenderOptionsH,
11250        ) -> A_Err,
11251    >,
11252    pub AEGP_Duplicate: ::std::option::Option<
11253        unsafe extern "C" fn(
11254            plugin_id: AEGP_PluginID,
11255            optionsH: AEGP_LayerRenderOptionsH,
11256            copyPH: *mut AEGP_LayerRenderOptionsH,
11257        ) -> A_Err,
11258    >,
11259    pub AEGP_Dispose:
11260        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH) -> A_Err>,
11261    pub AEGP_SetTime: ::std::option::Option<
11262        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time: A_Time) -> A_Err,
11263    >,
11264    pub AEGP_GetTime: ::std::option::Option<
11265        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timeP: *mut A_Time) -> A_Err,
11266    >,
11267    pub AEGP_SetTimeStep: ::std::option::Option<
11268        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time_step: A_Time) -> A_Err,
11269    >,
11270    pub AEGP_GetTimeStep: ::std::option::Option<
11271        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timePT: *mut A_Time) -> A_Err,
11272    >,
11273    pub AEGP_SetWorldType: ::std::option::Option<
11274        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, type_: AEGP_WorldType) -> A_Err,
11275    >,
11276    pub AEGP_GetWorldType: ::std::option::Option<
11277        unsafe extern "C" fn(
11278            optionsH: AEGP_LayerRenderOptionsH,
11279            typeP: *mut AEGP_WorldType,
11280        ) -> A_Err,
11281    >,
11282    pub AEGP_SetDownsampleFactor: ::std::option::Option<
11283        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, x: A_short, y: A_short) -> A_Err,
11284    >,
11285    pub AEGP_GetDownsampleFactor: ::std::option::Option<
11286        unsafe extern "C" fn(
11287            optionsH: AEGP_LayerRenderOptionsH,
11288            xP: *mut A_short,
11289            yP: *mut A_short,
11290        ) -> A_Err,
11291    >,
11292    pub AEGP_SetMatteMode: ::std::option::Option<
11293        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
11294    >,
11295    pub AEGP_GetMatteMode: ::std::option::Option<
11296        unsafe extern "C" fn(
11297            optionsH: AEGP_LayerRenderOptionsH,
11298            modeP: *mut AEGP_MatteMode,
11299        ) -> A_Err,
11300    >,
11301}
11302pub type AEGP_AsyncRequestId = A_u_longlong;
11303pub type AEGP_RenderSuiteCheckForCancel = ::std::option::Option<
11304    unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, cancelPB: *mut A_Boolean) -> A_Err,
11305>;
11306pub type AEGP_AsyncFrameReadyCallback = ::std::option::Option<
11307    unsafe extern "C" fn(
11308        request_id: AEGP_AsyncRequestId,
11309        was_canceled: A_Boolean,
11310        error: A_Err,
11311        receiptH: AEGP_FrameReceiptH,
11312        refconP0: AEGP_AsyncFrameRequestRefcon,
11313    ) -> A_Err,
11314>;
11315#[repr(C)]
11316#[derive(Debug, Copy, Clone)]
11317pub struct AEGP_RenderSuite5 {
11318    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
11319        unsafe extern "C" fn(
11320            optionsH: AEGP_RenderOptionsH,
11321            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11322            cancel_function_refconP0: AEGP_CancelRefcon,
11323            receiptPH: *mut AEGP_FrameReceiptH,
11324        ) -> A_Err,
11325    >,
11326    pub AEGP_RenderAndCheckoutLayerFrame: ::std::option::Option<
11327        unsafe extern "C" fn(
11328            optionsH: AEGP_LayerRenderOptionsH,
11329            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11330            cancel_function_refconP0: AEGP_CancelRefcon,
11331            receiptPH: *mut AEGP_FrameReceiptH,
11332        ) -> A_Err,
11333    >,
11334    pub AEGP_RenderAndCheckoutLayerFrame_Async: ::std::option::Option<
11335        unsafe extern "C" fn(
11336            optionsH: AEGP_LayerRenderOptionsH,
11337            callback: AEGP_AsyncFrameReadyCallback,
11338            request_completion_refconP0: AEGP_AsyncFrameRequestRefcon,
11339            asyncRequestIdP: *mut AEGP_AsyncRequestId,
11340        ) -> A_Err,
11341    >,
11342    pub AEGP_CancelAsyncRequest:
11343        ::std::option::Option<unsafe extern "C" fn(asyncRequestId: AEGP_AsyncRequestId) -> A_Err>,
11344    pub AEGP_CheckinFrame:
11345        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
11346    pub AEGP_GetReceiptWorld: ::std::option::Option<
11347        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
11348    >,
11349    pub AEGP_GetRenderedRegion: ::std::option::Option<
11350        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
11351    >,
11352    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
11353        unsafe extern "C" fn(
11354            rendered_optionsH: AEGP_RenderOptionsH,
11355            proposed_optionsH: AEGP_RenderOptionsH,
11356            rendered_is_sufficientPB: *mut A_Boolean,
11357        ) -> A_Err,
11358    >,
11359    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
11360        unsafe extern "C" fn(
11361            itemH: AEGP_ItemH,
11362            start_timePT: *const A_Time,
11363            durationPT: *const A_Time,
11364            sound_formatP: *const AEGP_SoundDataFormat,
11365            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11366            cancel_function_refconP0: AEGP_CancelRefcon,
11367            new_sound_dataPH: *mut AEGP_SoundDataH,
11368        ) -> A_Err,
11369    >,
11370    pub AEGP_GetCurrentTimestamp:
11371        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
11372    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
11373        unsafe extern "C" fn(
11374            itemH: AEGP_ItemH,
11375            start_timeP: *const A_Time,
11376            durationP: *const A_Time,
11377            time_stampP: *const AEGP_TimeStamp,
11378            item_has_changedPB: *mut A_Boolean,
11379        ) -> A_Err,
11380    >,
11381    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
11382        unsafe extern "C" fn(
11383            roH: AEGP_RenderOptionsH,
11384            time_stampP: *const AEGP_TimeStamp,
11385            worthwhile_to_renderPB: *mut A_Boolean,
11386        ) -> A_Err,
11387    >,
11388    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
11389        unsafe extern "C" fn(
11390            roH: AEGP_RenderOptionsH,
11391            time_stampP: *const AEGP_TimeStamp,
11392            ticks_to_renderL: A_u_long,
11393            imageH: AEGP_PlatformWorldH,
11394        ) -> A_Err,
11395    >,
11396    pub AEGP_GetReceiptGuid: ::std::option::Option<
11397        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
11398    >,
11399}
11400#[repr(C)]
11401#[derive(Debug, Copy, Clone)]
11402pub struct AEGP_RenderAsyncManagerSuite1 {
11403    pub AEGP_CheckoutOrRender_ItemFrame_AsyncManager: ::std::option::Option<
11404        unsafe extern "C" fn(
11405            async_managerP: PF_AsyncManagerP,
11406            purpose_id: A_u_long,
11407            ro: AEGP_RenderOptionsH,
11408            out_receiptPH: *mut AEGP_FrameReceiptH,
11409        ) -> A_Err,
11410    >,
11411    pub AEGP_CheckoutOrRender_LayerFrame_AsyncManager: ::std::option::Option<
11412        unsafe extern "C" fn(
11413            async_managerP: PF_AsyncManagerP,
11414            purpose_id: A_u_long,
11415            lro: AEGP_LayerRenderOptionsH,
11416            out_receiptPH: *mut AEGP_FrameReceiptH,
11417        ) -> A_Err,
11418    >,
11419}
11420#[repr(C)]
11421#[derive(Debug, Copy, Clone)]
11422pub struct AEGP_TrackerSuite1 {
11423    pub AEGP_GetNumFeatures: ::std::option::Option<
11424        unsafe extern "C" fn(contextP: PT_TrackingContextPtr, num_featuresPL: *mut A_long) -> A_Err,
11425    >,
11426    pub AEGP_GetFeatureRegionByIndex: ::std::option::Option<
11427        unsafe extern "C" fn(
11428            contextP: PT_TrackingContextPtr,
11429            index: PT_Index,
11430            rectP: *mut A_FloatRect,
11431        ) -> A_Err,
11432    >,
11433    pub AEGP_GetSearchRegionByIndex: ::std::option::Option<
11434        unsafe extern "C" fn(
11435            contextP: PT_TrackingContextPtr,
11436            index: PT_Index,
11437            rectP: *mut A_FloatRect,
11438        ) -> A_Err,
11439    >,
11440    pub AEGP_GetFeatureWorldByIndex: ::std::option::Option<
11441        unsafe extern "C" fn(
11442            contextP: PT_TrackingContextPtr,
11443            index: PT_Index,
11444            feature_worldPH: *mut AEGP_WorldH,
11445        ) -> A_Err,
11446    >,
11447    pub AEGP_GetFrameWorld: ::std::option::Option<
11448        unsafe extern "C" fn(
11449            contextP: PT_TrackingContextPtr,
11450            frame_worldPH: *mut AEGP_WorldH,
11451        ) -> A_Err,
11452    >,
11453    pub AEGP_GetTrackerSourceDimensions: ::std::option::Option<
11454        unsafe extern "C" fn(
11455            contextP: PT_TrackingContextPtr,
11456            widthPL: *mut A_long,
11457            heightPL: *mut A_long,
11458        ) -> A_Err,
11459    >,
11460    pub AEGP_SetFeatureRegionByIndex: ::std::option::Option<
11461        unsafe extern "C" fn(
11462            contextP: PT_TrackingContextPtr,
11463            index: PT_Index,
11464            rectP: *const A_FloatRect,
11465        ) -> A_Err,
11466    >,
11467    pub AEGP_SetAccuracyByIndex: ::std::option::Option<
11468        unsafe extern "C" fn(
11469            contextP: PT_TrackingContextPtr,
11470            index: PT_Index,
11471            accuracyF: A_FpLong,
11472        ) -> A_Err,
11473    >,
11474    pub AEGP_ShouldTrackFeature: ::std::option::Option<
11475        unsafe extern "C" fn(
11476            contextP: PT_TrackingContextPtr,
11477            index: PT_Index,
11478            trackPB: *mut A_Boolean,
11479        ) -> A_Err,
11480    >,
11481}
11482#[repr(C)]
11483#[derive(Debug, Copy, Clone)]
11484pub struct AEGP_TrackerUtilitySuite1 {
11485    pub AEGP_HasUserCancelled: ::std::option::Option<
11486        unsafe extern "C" fn(
11487            contextP: PT_TrackingContextPtr,
11488            user_cancelledPB: *mut A_Boolean,
11489        ) -> A_Err,
11490    >,
11491    pub AEGP_GetTrackerFromTrackerInstance: ::std::option::Option<
11492        unsafe extern "C" fn(
11493            tracker_instanceP: PT_TrackerInstancePtr,
11494            trackerPP: *mut PT_TrackerPtr,
11495        ) -> A_Err,
11496    >,
11497    pub AEGP_GetTrackerInstanceFromTrackingContext: ::std::option::Option<
11498        unsafe extern "C" fn(
11499            contextP: PT_TrackingContextPtr,
11500            tracker_instancePP: *mut PT_TrackerInstancePtr,
11501        ) -> A_Err,
11502    >,
11503    pub AEGP_GetGlobalData: ::std::option::Option<
11504        unsafe extern "C" fn(trackerP: PT_TrackerPtr, global_dataPH: *mut AEGP_MemHandle) -> A_Err,
11505    >,
11506    pub AEGP_GetInstanceData: ::std::option::Option<
11507        unsafe extern "C" fn(
11508            tracker_instanceP: PT_TrackerInstancePtr,
11509            instance_dataPH: *mut AEGP_MemHandle,
11510        ) -> A_Err,
11511    >,
11512    pub AEGP_GetTrackData: ::std::option::Option<
11513        unsafe extern "C" fn(
11514            contextP: PT_TrackingContextPtr,
11515            track_dataPH: *mut AEGP_MemHandle,
11516        ) -> A_Err,
11517    >,
11518}
11519#[repr(C)]
11520#[derive(Debug, Copy, Clone)]
11521pub struct _AEGP_RQM_Refcon {
11522    _unused: [u8; 0],
11523}
11524pub type AEGP_RQM_Refcon = *mut _AEGP_RQM_Refcon;
11525pub type AEGP_RQM_SessionId = A_u_longlong;
11526pub type AEGP_RQM_ItemId = A_u_longlong;
11527pub type AEGP_RQM_FrameId = A_u_longlong;
11528pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_UNKNOWN: AEGP_RQM_FinishedStatus = 0;
11529pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_SUCCEEDED: AEGP_RQM_FinishedStatus = 1;
11530pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_ABORTED: AEGP_RQM_FinishedStatus = 2;
11531pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_ERRED: AEGP_RQM_FinishedStatus = 3;
11532pub type AEGP_RQM_FinishedStatus = ::std::os::raw::c_uint;
11533#[repr(C)]
11534#[derive(Debug, Copy, Clone)]
11535pub struct _AEGP_RQM_BasicData {
11536    pub pica_basicP: *const SPBasicSuite,
11537    pub aegp_plug_id: A_long,
11538    pub aegp_refconPV: AEGP_RQM_Refcon,
11539}
11540pub type AEGP_RQM_BasicData = _AEGP_RQM_BasicData;
11541#[repr(C)]
11542#[derive(Debug, Copy, Clone)]
11543pub struct _AEGP_RQM_FunctionBlock1 {
11544    pub AEGP_RQM_RenderJobStarted: ::std::option::Option<
11545        unsafe extern "C" fn(
11546            basic_dataP: *mut AEGP_RQM_BasicData,
11547            jobid: AEGP_RQM_SessionId,
11548        ) -> A_Err,
11549    >,
11550    pub AEGP_RQM_RenderJobEnded: ::std::option::Option<
11551        unsafe extern "C" fn(
11552            basic_dataP: *mut AEGP_RQM_BasicData,
11553            jobid: AEGP_RQM_SessionId,
11554        ) -> A_Err,
11555    >,
11556    pub AEGP_RQM_RenderJobItemStarted: ::std::option::Option<
11557        unsafe extern "C" fn(
11558            basic_dataP: *mut AEGP_RQM_BasicData,
11559            jobid: AEGP_RQM_SessionId,
11560            itemid: AEGP_RQM_ItemId,
11561        ) -> A_Err,
11562    >,
11563    pub AEGP_RQM_RenderJobItemUpdated: ::std::option::Option<
11564        unsafe extern "C" fn(
11565            basic_dataP: *mut AEGP_RQM_BasicData,
11566            jobid: AEGP_RQM_SessionId,
11567            itemid: AEGP_RQM_ItemId,
11568            frameid: AEGP_RQM_FrameId,
11569        ) -> A_Err,
11570    >,
11571    pub AEGP_RQM_RenderJobItemEnded: ::std::option::Option<
11572        unsafe extern "C" fn(
11573            basic_dataP: *mut AEGP_RQM_BasicData,
11574            jobid: AEGP_RQM_SessionId,
11575            itemid: AEGP_RQM_ItemId,
11576            fstatus: AEGP_RQM_FinishedStatus,
11577        ) -> A_Err,
11578    >,
11579    pub AEGP_RQM_RenderJobItemReportLog: ::std::option::Option<
11580        unsafe extern "C" fn(
11581            basic_dataP: *mut AEGP_RQM_BasicData,
11582            jobid: AEGP_RQM_SessionId,
11583            itemid: AEGP_RQM_ItemId,
11584            isError: A_Boolean,
11585            logbuf: AEGP_MemHandle,
11586        ) -> A_Err,
11587    >,
11588}
11589pub type AEGP_RQM_FunctionBlock1 = _AEGP_RQM_FunctionBlock1;
11590#[repr(C)]
11591#[derive(Debug, Copy, Clone)]
11592pub struct AEGP_RenderQueueMonitorSuite1 {
11593    pub AEGP_RegisterListener: ::std::option::Option<
11594        unsafe extern "C" fn(
11595            aegp_plugin_id: AEGP_PluginID,
11596            aegp_refconP: AEGP_RQM_Refcon,
11597            fcn_blockP: *const AEGP_RQM_FunctionBlock1,
11598        ) -> A_Err,
11599    >,
11600    pub AEGP_DeregisterListener: ::std::option::Option<
11601        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, aegp_refconP: AEGP_RQM_Refcon) -> A_Err,
11602    >,
11603    pub AEGP_GetProjectName: ::std::option::Option<
11604        unsafe extern "C" fn(
11605            sessid: AEGP_RQM_SessionId,
11606            utf_project_namePH0: *mut AEGP_MemHandle,
11607        ) -> A_Err,
11608    >,
11609    pub AEGP_GetAppVersion: ::std::option::Option<
11610        unsafe extern "C" fn(
11611            sessid: AEGP_RQM_SessionId,
11612            utf_app_versionPH0: *mut AEGP_MemHandle,
11613        ) -> A_Err,
11614    >,
11615    pub AEGP_GetNumJobItems: ::std::option::Option<
11616        unsafe extern "C" fn(sessid: AEGP_RQM_SessionId, num_jobitemsPL: *mut A_long) -> A_Err,
11617    >,
11618    pub AEGP_GetJobItemID: ::std::option::Option<
11619        unsafe extern "C" fn(
11620            sessid: AEGP_RQM_SessionId,
11621            jobItemIndex: A_long,
11622            jobItemID: *mut AEGP_RQM_ItemId,
11623        ) -> A_Err,
11624    >,
11625    pub AEGP_GetNumJobItemRenderSettings: ::std::option::Option<
11626        unsafe extern "C" fn(
11627            sessid: AEGP_RQM_SessionId,
11628            itemid: AEGP_RQM_ItemId,
11629            num_settingsPL: *mut A_long,
11630        ) -> A_Err,
11631    >,
11632    pub AEGP_GetJobItemRenderSetting: ::std::option::Option<
11633        unsafe extern "C" fn(
11634            sessid: AEGP_RQM_SessionId,
11635            itemid: AEGP_RQM_ItemId,
11636            settingIndex: A_long,
11637            utf_setting_namePH0: *mut AEGP_MemHandle,
11638            utf_setting_valuePH0: *mut AEGP_MemHandle,
11639        ) -> A_Err,
11640    >,
11641    pub AEGP_GetNumJobItemOutputModules: ::std::option::Option<
11642        unsafe extern "C" fn(
11643            sessid: AEGP_RQM_SessionId,
11644            itemid: AEGP_RQM_ItemId,
11645            num_outputmodulesPL: *mut A_long,
11646        ) -> A_Err,
11647    >,
11648    pub AEGP_GetNumJobItemOutputModuleSettings: ::std::option::Option<
11649        unsafe extern "C" fn(
11650            sessid: AEGP_RQM_SessionId,
11651            itemid: AEGP_RQM_ItemId,
11652            outputModuleIndex: A_long,
11653            num_settingsPL: *mut A_long,
11654        ) -> A_Err,
11655    >,
11656    pub AEGP_GetJobItemOutputModuleSetting: ::std::option::Option<
11657        unsafe extern "C" fn(
11658            sessid: AEGP_RQM_SessionId,
11659            itemid: AEGP_RQM_ItemId,
11660            outputModuleIndex: A_long,
11661            settingIndex: A_long,
11662            utf_setting_namePH0: *mut AEGP_MemHandle,
11663            utf_setting_valuePH0: *mut AEGP_MemHandle,
11664        ) -> A_Err,
11665    >,
11666    pub AEGP_GetNumJobItemOutputModuleWarnings: ::std::option::Option<
11667        unsafe extern "C" fn(
11668            sessid: AEGP_RQM_SessionId,
11669            itemid: AEGP_RQM_ItemId,
11670            outputModuleIndex: A_long,
11671            num_warningsPL: *mut A_long,
11672        ) -> A_Err,
11673    >,
11674    pub AEGP_GetJobItemOutputModuleWarning: ::std::option::Option<
11675        unsafe extern "C" fn(
11676            sessid: AEGP_RQM_SessionId,
11677            itemid: AEGP_RQM_ItemId,
11678            outputModuleIndex: A_long,
11679            warningIndex: A_long,
11680            utf_warning_valuePH0: *mut AEGP_MemHandle,
11681        ) -> A_Err,
11682    >,
11683    pub AEGP_GetNumJobItemFrameProperties: ::std::option::Option<
11684        unsafe extern "C" fn(
11685            sessid: AEGP_RQM_SessionId,
11686            itemid: AEGP_RQM_ItemId,
11687            frameid: AEGP_RQM_FrameId,
11688            num_propertiesPL: *mut A_long,
11689        ) -> A_Err,
11690    >,
11691    pub AEGP_GetJobItemFrameProperty: ::std::option::Option<
11692        unsafe extern "C" fn(
11693            sessid: AEGP_RQM_SessionId,
11694            itemid: AEGP_RQM_ItemId,
11695            frameid: AEGP_RQM_FrameId,
11696            propertyIndex: A_long,
11697            utf_property_namePH0: *mut AEGP_MemHandle,
11698            utf_property_valuePH0: *mut AEGP_MemHandle,
11699        ) -> A_Err,
11700    >,
11701    pub AEGP_GetNumJobItemOutputModuleProperties: ::std::option::Option<
11702        unsafe extern "C" fn(
11703            sessid: AEGP_RQM_SessionId,
11704            itemid: AEGP_RQM_ItemId,
11705            outputModuleIndex: A_long,
11706            num_propertiesPL: *mut A_long,
11707        ) -> A_Err,
11708    >,
11709    pub AEGP_GetJobItemOutputModuleProperty: ::std::option::Option<
11710        unsafe extern "C" fn(
11711            sessid: AEGP_RQM_SessionId,
11712            itemid: AEGP_RQM_ItemId,
11713            outputModuleIndex: A_long,
11714            propertyIndex: A_long,
11715            utf_property_namePH0: *mut AEGP_MemHandle,
11716            utf_property_valuePH0: *mut AEGP_MemHandle,
11717        ) -> A_Err,
11718    >,
11719    pub AEGP_GetJobItemFrameThumbnail: ::std::option::Option<
11720        unsafe extern "C" fn(
11721            sessid: AEGP_RQM_SessionId,
11722            itemid: AEGP_RQM_ItemId,
11723            frameid: AEGP_RQM_FrameId,
11724            widthPL: *mut A_long,
11725            heightPL: *mut A_long,
11726            thumbnailPH0: *mut AEGP_MemHandle,
11727        ) -> A_Err,
11728    >,
11729}
11730pub type PF_ConstPtr = *const ::std::os::raw::c_void;
11731pub type PF_ConstHandle = *const PF_ConstPtr;
11732#[repr(C)]
11733#[derive(Debug, Copy, Clone)]
11734pub struct PF_EffectSequenceDataSuite1 {
11735    pub PF_GetConstSequenceData: ::std::option::Option<
11736        unsafe extern "C" fn(effect_ref: PF_ProgPtr, sequence_data: *mut PF_ConstHandle) -> PF_Err,
11737    >,
11738}
11739#[repr(C)]
11740#[derive(Debug, Copy, Clone)]
11741pub struct AEGP_TimeDisplay {
11742    pub time_display_type: AEGP_TimeDisplayType,
11743    pub timebaseC: A_char,
11744    pub non_drop_30B: A_Boolean,
11745    pub frames_per_footC: A_char,
11746    pub starting_frameL: A_long,
11747}
11748#[repr(C)]
11749#[derive(Debug, Copy, Clone)]
11750pub struct AEGP_CanvasSuite1 {
11751    pub AEGP_GetCompToRender: ::std::option::Option<
11752        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
11753    >,
11754    pub AEGP_GetNumLayersToRender: ::std::option::Option<
11755        unsafe extern "C" fn(
11756            render_contextH: PR_RenderContextH,
11757            num_to_renderPL: *mut A_long,
11758        ) -> A_Err,
11759    >,
11760    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
11761        unsafe extern "C" fn(
11762            render_contextH: PR_RenderContextH,
11763            n: A_long,
11764            layer_contextPH: *mut AEGP_RenderLayerContextH,
11765        ) -> A_Err,
11766    >,
11767    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
11768        unsafe extern "C" fn(
11769            render_contextH: PR_RenderContextH,
11770            layer_contextH: AEGP_RenderLayerContextH,
11771            layerPH: *mut AEGP_LayerH,
11772        ) -> A_Err,
11773    >,
11774    pub AEGP_GetCompRenderTime: ::std::option::Option<
11775        unsafe extern "C" fn(
11776            render_contextH: PR_RenderContextH,
11777            time: *mut A_Time,
11778            time_step: *mut A_Time,
11779        ) -> A_Err,
11780    >,
11781    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
11782        unsafe extern "C" fn(
11783            render_contextH: PR_RenderContextH,
11784            compH: AEGP_CompH,
11785            dst: *mut PF_EffectWorld,
11786        ) -> A_Err,
11787    >,
11788    pub AEGP_GetROI: ::std::option::Option<
11789        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
11790    >,
11791    #[doc = " for rendering track mattes"]
11792    pub AEGP_RenderLayer: ::std::option::Option<
11793        unsafe extern "C" fn(
11794            render_contextH: PR_RenderContextH,
11795            layerH: AEGP_LayerH,
11796            render_hints: AEGP_RenderHints,
11797            render_bufferP: *mut PF_EffectWorld,
11798        ) -> A_Err,
11799    >,
11800    pub AEGP_RenderTexture: ::std::option::Option<
11801        unsafe extern "C" fn(
11802            render_contextH: PR_RenderContextH,
11803            layer_contextH: AEGP_RenderLayerContextH,
11804            render_hints: AEGP_RenderHints,
11805            suggested_scaleP0: *mut A_FloatPoint,
11806            suggested_src_rectP0: *mut A_FloatRect,
11807            src_matrixP0: *mut A_Matrix3,
11808            dst: *mut PF_EffectWorld,
11809        ) -> A_Err,
11810    >,
11811    pub AEGP_DisposeTexture: ::std::option::Option<
11812        unsafe extern "C" fn(
11813            render_contextH: PR_RenderContextH,
11814            layer_contextH: AEGP_RenderLayerContextH,
11815            dst0: *mut PF_EffectWorld,
11816        ) -> A_Err,
11817    >,
11818    pub AEGP_GetFieldRender: ::std::option::Option<
11819        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
11820    >,
11821    pub AEGP_ReportArtisanProgress: ::std::option::Option<
11822        unsafe extern "C" fn(
11823            render_contextH: PR_RenderContextH,
11824            countL: A_long,
11825            totalL: A_long,
11826        ) -> A_Err,
11827    >,
11828    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
11829        unsafe extern "C" fn(
11830            render_contextH: PR_RenderContextH,
11831            dsfP: *mut AEGP_DownsampleFactor,
11832        ) -> A_Err,
11833    >,
11834    pub AEGP_IsBlankCanvas: ::std::option::Option<
11835        unsafe extern "C" fn(
11836            render_contextH: PR_RenderContextH,
11837            is_blankPB: *mut A_Boolean,
11838        ) -> A_Err,
11839    >,
11840    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
11841        unsafe extern "C" fn(
11842            render_contextH: PR_RenderContextH,
11843            layer_contextH: AEGP_RenderLayerContextH,
11844            comp_timeP: *const A_Time,
11845            transform: *mut A_Matrix4,
11846        ) -> A_Err,
11847    >,
11848    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
11849        unsafe extern "C" fn(
11850            render_contextH: PR_RenderContextH,
11851            layer_contextH: AEGP_RenderLayerContextH,
11852            comp_timeP: *const A_Time,
11853            boundsP: *mut A_LegacyRect,
11854        ) -> A_Err,
11855    >,
11856    pub AEGP_GetRenderOpacity: ::std::option::Option<
11857        unsafe extern "C" fn(
11858            render_contextH: PR_RenderContextH,
11859            layer_contextH: AEGP_RenderLayerContextH,
11860            comp_timePT: *const A_Time,
11861            opacityPF: *mut A_FpLong,
11862        ) -> A_Err,
11863    >,
11864    pub AEGP_IsRenderLayerActive: ::std::option::Option<
11865        unsafe extern "C" fn(
11866            render_contextH: PR_RenderContextH,
11867            layer_contextH: AEGP_RenderLayerContextH,
11868            comp_timePT: *const A_Time,
11869            activePB: *mut A_Boolean,
11870        ) -> A_Err,
11871    >,
11872    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
11873        unsafe extern "C" fn(
11874            render_contextH: PR_RenderContextH,
11875            countL: A_long,
11876            num_layersL: A_long,
11877        ) -> A_Err,
11878    >,
11879}
11880#[repr(C)]
11881#[derive(Debug, Copy, Clone)]
11882pub struct AEGP_RQItemSuite3 {
11883    pub AEGP_GetNumRQItems:
11884        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11885    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11886        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11887    >,
11888    pub AEGP_GetNextRQItem: ::std::option::Option<
11889        unsafe extern "C" fn(
11890            current_rq_itemH: AEGP_RQItemRefH,
11891            next_rq_itemH: *mut AEGP_RQItemRefH,
11892        ) -> A_Err,
11893    >,
11894    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11895        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
11896    >,
11897    pub AEGP_GetRenderState: ::std::option::Option<
11898        unsafe extern "C" fn(
11899            rq_itemH: AEGP_RQItemRefH,
11900            statusP: *mut AEGP_RenderItemStatusType,
11901        ) -> A_Err,
11902    >,
11903    pub AEGP_SetRenderState: ::std::option::Option<
11904        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
11905    >,
11906    pub AEGP_GetStartedTime: ::std::option::Option<
11907        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
11908    >,
11909    pub AEGP_GetElapsedTime: ::std::option::Option<
11910        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
11911    >,
11912    pub AEGP_GetLogType: ::std::option::Option<
11913        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
11914    >,
11915    pub AEGP_SetLogType: ::std::option::Option<
11916        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
11917    >,
11918    pub AEGP_RemoveOutputModule: ::std::option::Option<
11919        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
11920    >,
11921    pub AEGP_GetComment: ::std::option::Option<
11922        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
11923    >,
11924    pub AEGP_SetComment: ::std::option::Option<
11925        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
11926    >,
11927    pub AEGP_GetCompFromRQItem: ::std::option::Option<
11928        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
11929    >,
11930    pub AEGP_DeleteRQItem:
11931        ::std::option::Option<unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH) -> A_Err>,
11932}
11933#[repr(C)]
11934#[derive(Debug, Copy, Clone)]
11935pub struct AEGP_RQItemSuite2 {
11936    pub AEGP_GetNumRQItems:
11937        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11938    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11939        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11940    >,
11941    pub AEGP_GetNextRQItem: ::std::option::Option<
11942        unsafe extern "C" fn(
11943            current_rq_itemH: AEGP_RQItemRefH,
11944            next_rq_itemH: *mut AEGP_RQItemRefH,
11945        ) -> A_Err,
11946    >,
11947    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11948        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
11949    >,
11950    pub AEGP_GetRenderState: ::std::option::Option<
11951        unsafe extern "C" fn(
11952            rq_itemH: AEGP_RQItemRefH,
11953            statusP: *mut AEGP_RenderItemStatusType,
11954        ) -> A_Err,
11955    >,
11956    pub AEGP_SetRenderState: ::std::option::Option<
11957        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
11958    >,
11959    pub AEGP_GetStartedTime: ::std::option::Option<
11960        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
11961    >,
11962    pub AEGP_GetElapsedTime: ::std::option::Option<
11963        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
11964    >,
11965    pub AEGP_GetLogType: ::std::option::Option<
11966        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
11967    >,
11968    pub AEGP_SetLogType: ::std::option::Option<
11969        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
11970    >,
11971    pub AEGP_RemoveOutputModule: ::std::option::Option<
11972        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
11973    >,
11974    pub AEGP_GetComment: ::std::option::Option<
11975        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
11976    >,
11977    pub AEGP_SetComment: ::std::option::Option<
11978        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
11979    >,
11980    pub AEGP_GetCompFromRQItem: ::std::option::Option<
11981        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
11982    >,
11983}
11984#[repr(C)]
11985#[derive(Debug, Copy, Clone)]
11986pub struct AEGP_RQItemSuite1 {
11987    pub AEGP_GetNumRQItems:
11988        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11989    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11990        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11991    >,
11992    pub AEGP_GetNextRQItem: ::std::option::Option<
11993        unsafe extern "C" fn(
11994            current_rq_itemH: AEGP_RQItemRefH,
11995            next_rq_itemH: *mut AEGP_RQItemRefH,
11996        ) -> A_Err,
11997    >,
11998    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11999        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
12000    >,
12001    pub AEGP_GetRenderState: ::std::option::Option<
12002        unsafe extern "C" fn(
12003            rq_itemH: AEGP_RQItemRefH,
12004            statusP: *mut AEGP_RenderItemStatusType,
12005        ) -> A_Err,
12006    >,
12007    pub AEGP_SetRenderState: ::std::option::Option<
12008        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
12009    >,
12010    pub AEGP_GetStartedTime: ::std::option::Option<
12011        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
12012    >,
12013    pub AEGP_GetElapsedTime: ::std::option::Option<
12014        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
12015    >,
12016    pub AEGP_GetLogType: ::std::option::Option<
12017        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
12018    >,
12019    pub AEGP_SetLogType: ::std::option::Option<
12020        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
12021    >,
12022    pub AEGP_RemoveOutputModule: ::std::option::Option<
12023        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
12024    >,
12025    pub AEGP_GetComment: ::std::option::Option<
12026        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
12027    >,
12028    pub AEGP_SetComment: ::std::option::Option<
12029        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
12030    >,
12031}
12032#[repr(C)]
12033#[derive(Debug, Copy, Clone)]
12034pub struct AEGP_CanvasSuite2 {
12035    pub AEGP_GetCompToRender: ::std::option::Option<
12036        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12037    >,
12038    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12039        unsafe extern "C" fn(
12040            render_contextH: PR_RenderContextH,
12041            num_to_renderPL: *mut A_long,
12042        ) -> A_Err,
12043    >,
12044    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12045        unsafe extern "C" fn(
12046            render_contextH: PR_RenderContextH,
12047            n: A_long,
12048            layer_contextPH: *mut AEGP_RenderLayerContextH,
12049        ) -> A_Err,
12050    >,
12051    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12052        unsafe extern "C" fn(
12053            render_contextH: PR_RenderContextH,
12054            layer_contextH: AEGP_RenderLayerContextH,
12055            layerPH: *mut AEGP_LayerH,
12056        ) -> A_Err,
12057    >,
12058    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
12059    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12060        unsafe extern "C" fn(
12061            render_contextH: PR_RenderContextH,
12062            layer_contextH: AEGP_RenderLayerContextH,
12063            layerPH: *mut AEGP_LayerH,
12064        ) -> A_Err,
12065    >,
12066    pub AEGP_GetCompRenderTime: ::std::option::Option<
12067        unsafe extern "C" fn(
12068            render_contextH: PR_RenderContextH,
12069            time: *mut A_Time,
12070            time_step: *mut A_Time,
12071        ) -> A_Err,
12072    >,
12073    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12074        unsafe extern "C" fn(
12075            render_contextH: PR_RenderContextH,
12076            compH: AEGP_CompH,
12077            dst: *mut PF_EffectWorld,
12078        ) -> A_Err,
12079    >,
12080    pub AEGP_GetROI: ::std::option::Option<
12081        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12082    >,
12083    #[doc = " for rendering track mattes"]
12084    pub AEGP_RenderLayer: ::std::option::Option<
12085        unsafe extern "C" fn(
12086            render_contextH: PR_RenderContextH,
12087            layerH: AEGP_LayerH,
12088            render_hints: AEGP_RenderHints,
12089            render_bufferP: *mut PF_EffectWorld,
12090        ) -> A_Err,
12091    >,
12092    pub AEGP_RenderTexture: ::std::option::Option<
12093        unsafe extern "C" fn(
12094            render_contextH: PR_RenderContextH,
12095            layer_contextH: AEGP_RenderLayerContextH,
12096            render_hints: AEGP_RenderHints,
12097            suggested_scaleP0: *mut A_FloatPoint,
12098            suggested_src_rectP0: *mut A_FloatRect,
12099            src_matrixP0: *mut A_Matrix3,
12100            dst: *mut PF_EffectWorld,
12101        ) -> A_Err,
12102    >,
12103    pub AEGP_DisposeTexture: ::std::option::Option<
12104        unsafe extern "C" fn(
12105            render_contextH: PR_RenderContextH,
12106            layer_contextH: AEGP_RenderLayerContextH,
12107            dst0: *mut PF_EffectWorld,
12108        ) -> A_Err,
12109    >,
12110    pub AEGP_GetFieldRender: ::std::option::Option<
12111        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12112    >,
12113    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12114        unsafe extern "C" fn(
12115            render_contextH: PR_RenderContextH,
12116            countL: A_long,
12117            totalL: A_long,
12118        ) -> A_Err,
12119    >,
12120    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12121        unsafe extern "C" fn(
12122            render_contextH: PR_RenderContextH,
12123            dsfP: *mut AEGP_DownsampleFactor,
12124        ) -> A_Err,
12125    >,
12126    pub AEGP_IsBlankCanvas: ::std::option::Option<
12127        unsafe extern "C" fn(
12128            render_contextH: PR_RenderContextH,
12129            is_blankPB: *mut A_Boolean,
12130        ) -> A_Err,
12131    >,
12132    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12133        unsafe extern "C" fn(
12134            render_contextH: PR_RenderContextH,
12135            layer_contextH: AEGP_RenderLayerContextH,
12136            comp_timeP: *const A_Time,
12137            transform: *mut A_Matrix4,
12138        ) -> A_Err,
12139    >,
12140    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12141        unsafe extern "C" fn(
12142            render_contextH: PR_RenderContextH,
12143            layer_contextH: AEGP_RenderLayerContextH,
12144            comp_timeP: *const A_Time,
12145            boundsP: *mut A_LegacyRect,
12146        ) -> A_Err,
12147    >,
12148    pub AEGP_GetRenderOpacity: ::std::option::Option<
12149        unsafe extern "C" fn(
12150            render_contextH: PR_RenderContextH,
12151            layer_contextH: AEGP_RenderLayerContextH,
12152            comp_timePT: *const A_Time,
12153            opacityPF: *mut A_FpLong,
12154        ) -> A_Err,
12155    >,
12156    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12157        unsafe extern "C" fn(
12158            render_contextH: PR_RenderContextH,
12159            layer_contextH: AEGP_RenderLayerContextH,
12160            comp_timePT: *const A_Time,
12161            activePB: *mut A_Boolean,
12162        ) -> A_Err,
12163    >,
12164    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12165        unsafe extern "C" fn(
12166            render_contextH: PR_RenderContextH,
12167            countL: A_long,
12168            num_layersL: A_long,
12169        ) -> A_Err,
12170    >,
12171    pub AEGP_RenderLayerPlus: ::std::option::Option<
12172        unsafe extern "C" fn(
12173            render_contextH: PR_RenderContextH,
12174            layerH: AEGP_LayerH,
12175            layer_contextH: AEGP_RenderLayerContextH,
12176            render_hints: AEGP_RenderHints,
12177            render_bufferP: *mut PF_EffectWorld,
12178        ) -> A_Err,
12179    >,
12180    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12181        unsafe extern "C" fn(
12182            render_contextH: PR_RenderContextH,
12183            fill_contextH: AEGP_RenderLayerContextH,
12184            matte_contextPH: *mut AEGP_RenderLayerContextH,
12185        ) -> A_Err,
12186    >,
12187}
12188#[repr(C)]
12189#[derive(Debug, Copy, Clone)]
12190pub struct AEGP_CanvasSuite4 {
12191    pub AEGP_GetCompToRender: ::std::option::Option<
12192        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12193    >,
12194    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12195        unsafe extern "C" fn(
12196            render_contextH: PR_RenderContextH,
12197            num_to_renderPL: *mut A_long,
12198        ) -> A_Err,
12199    >,
12200    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12201        unsafe extern "C" fn(
12202            render_contextH: PR_RenderContextH,
12203            n: A_long,
12204            layer_contextPH: *mut AEGP_RenderLayerContextH,
12205        ) -> A_Err,
12206    >,
12207    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12208        unsafe extern "C" fn(
12209            render_contextH: PR_RenderContextH,
12210            layer_contextH: AEGP_RenderLayerContextH,
12211            layerPH: *mut AEGP_LayerH,
12212        ) -> A_Err,
12213    >,
12214    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
12215    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12216        unsafe extern "C" fn(
12217            render_contextH: PR_RenderContextH,
12218            layer_contextH: AEGP_RenderLayerContextH,
12219            layerPH: *mut AEGP_LayerH,
12220        ) -> A_Err,
12221    >,
12222    pub AEGP_GetCompRenderTime: ::std::option::Option<
12223        unsafe extern "C" fn(
12224            render_contextH: PR_RenderContextH,
12225            time: *mut A_Time,
12226            time_step: *mut A_Time,
12227        ) -> A_Err,
12228    >,
12229    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12230        unsafe extern "C" fn(
12231            render_contextH: PR_RenderContextH,
12232            compH: AEGP_CompH,
12233            dst: *mut AEGP_WorldH,
12234        ) -> A_Err,
12235    >,
12236    pub AEGP_GetROI: ::std::option::Option<
12237        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12238    >,
12239    pub AEGP_RenderTexture: ::std::option::Option<
12240        unsafe extern "C" fn(
12241            render_contextH: PR_RenderContextH,
12242            layer_contextH: AEGP_RenderLayerContextH,
12243            render_hints: AEGP_RenderHints,
12244            suggested_scaleP0: *mut A_FloatPoint,
12245            suggested_src_rectP0: *mut A_FloatRect,
12246            src_matrixP0: *mut A_Matrix3,
12247            dstPH: *mut AEGP_WorldH,
12248        ) -> A_Err,
12249    >,
12250    pub AEGP_DisposeTexture: ::std::option::Option<
12251        unsafe extern "C" fn(
12252            render_contextH: PR_RenderContextH,
12253            layer_contextH: AEGP_RenderLayerContextH,
12254            dstH0: AEGP_WorldH,
12255        ) -> A_Err,
12256    >,
12257    pub AEGP_GetFieldRender: ::std::option::Option<
12258        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12259    >,
12260    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12261        unsafe extern "C" fn(
12262            render_contextH: PR_RenderContextH,
12263            countL: A_long,
12264            totalL: A_long,
12265        ) -> A_Err,
12266    >,
12267    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12268        unsafe extern "C" fn(
12269            render_contextH: PR_RenderContextH,
12270            dsfP: *mut AEGP_DownsampleFactor,
12271        ) -> A_Err,
12272    >,
12273    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12274        unsafe extern "C" fn(
12275            render_contextH: PR_RenderContextH,
12276            dsfP: *mut AEGP_DownsampleFactor,
12277        ) -> A_Err,
12278    >,
12279    pub AEGP_IsBlankCanvas: ::std::option::Option<
12280        unsafe extern "C" fn(
12281            render_contextH: PR_RenderContextH,
12282            is_blankPB: *mut A_Boolean,
12283        ) -> A_Err,
12284    >,
12285    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12286        unsafe extern "C" fn(
12287            render_contextH: PR_RenderContextH,
12288            layer_contextH: AEGP_RenderLayerContextH,
12289            comp_timeP: *const A_Time,
12290            transform: *mut A_Matrix4,
12291        ) -> A_Err,
12292    >,
12293    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12294        unsafe extern "C" fn(
12295            render_contextH: PR_RenderContextH,
12296            layer_contextH: AEGP_RenderLayerContextH,
12297            comp_timeP: *const A_Time,
12298            boundsP: *mut A_LegacyRect,
12299        ) -> A_Err,
12300    >,
12301    pub AEGP_GetRenderOpacity: ::std::option::Option<
12302        unsafe extern "C" fn(
12303            render_contextH: PR_RenderContextH,
12304            layer_contextH: AEGP_RenderLayerContextH,
12305            comp_timePT: *const A_Time,
12306            opacityPF: *mut A_FpLong,
12307        ) -> A_Err,
12308    >,
12309    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12310        unsafe extern "C" fn(
12311            render_contextH: PR_RenderContextH,
12312            layer_contextH: AEGP_RenderLayerContextH,
12313            comp_timePT: *const A_Time,
12314            activePB: *mut A_Boolean,
12315        ) -> A_Err,
12316    >,
12317    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12318        unsafe extern "C" fn(
12319            render_contextH: PR_RenderContextH,
12320            countL: A_long,
12321            num_layersL: A_long,
12322        ) -> A_Err,
12323    >,
12324    pub AEGP_RenderLayerPlus: ::std::option::Option<
12325        unsafe extern "C" fn(
12326            render_contextH: PR_RenderContextH,
12327            layerH: AEGP_LayerH,
12328            layer_contextH: AEGP_RenderLayerContextH,
12329            render_hints: AEGP_RenderHints,
12330            render_bufferPH: *mut AEGP_WorldH,
12331        ) -> A_Err,
12332    >,
12333    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12334        unsafe extern "C" fn(
12335            render_contextH: PR_RenderContextH,
12336            fill_contextH: AEGP_RenderLayerContextH,
12337            matte_contextPH: *mut AEGP_RenderLayerContextH,
12338        ) -> A_Err,
12339    >,
12340    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12341        unsafe extern "C" fn(
12342            render_contextH: PR_RenderContextH,
12343            layer_contextH: AEGP_RenderLayerContextH,
12344            render_hints: AEGP_RenderHints,
12345            suggested_scaleP0: *mut A_FloatPoint,
12346            suggested_src_rectP0: *mut A_FloatRect,
12347            src_matrixP0: *mut A_Matrix3,
12348            render_receiptPH: *mut AEGP_RenderReceiptH,
12349            dstPH: *mut AEGP_WorldH,
12350        ) -> A_Err,
12351    >,
12352    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12353        unsafe extern "C" fn(
12354            render_contextH: PR_RenderContextH,
12355            layerH: AEGP_LayerH,
12356            layer_contextH: AEGP_RenderLayerContextH,
12357            render_hints: AEGP_RenderHints,
12358            render_receiptPH: *mut AEGP_RenderReceiptH,
12359            render_bufferPH: *mut AEGP_WorldH,
12360        ) -> A_Err,
12361    >,
12362    pub AEGP_DisposeRenderReceipt:
12363        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12364    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12365        unsafe extern "C" fn(
12366            current_render_contextH: PR_RenderContextH,
12367            current_layer_contextH: AEGP_RenderLayerContextH,
12368            old_render_receiptH: AEGP_RenderReceiptH,
12369            check_aceB: A_Boolean,
12370            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12371        ) -> A_Err,
12372    >,
12373    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12374        unsafe extern "C" fn(
12375            render_contextH: PR_RenderContextH,
12376            num_bins_to_renderPL: *mut A_long,
12377        ) -> A_Err,
12378    >,
12379    pub AEGP_SetNthBin: ::std::option::Option<
12380        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12381    >,
12382    pub AEGP_GetBinType: ::std::option::Option<
12383        unsafe extern "C" fn(
12384            render_contextH: PR_RenderContextH,
12385            bin_typeP: *mut AEGP_BinType,
12386        ) -> A_Err,
12387    >,
12388    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12389        unsafe extern "C" fn(
12390            render_contextH: PR_RenderContextH,
12391            layer_contextH: AEGP_RenderLayerContextH,
12392            comp_timeP: *const A_Time,
12393            only_2dB: A_Boolean,
12394            transform: *mut A_Matrix4,
12395        ) -> A_Err,
12396    >,
12397    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12398        unsafe extern "C" fn(
12399            render_contextH: PR_RenderContextH,
12400            window_refP: *mut AEGP_PlatformWindowRef,
12401        ) -> A_Err,
12402    >,
12403    pub AEGP_GetViewportScale: ::std::option::Option<
12404        unsafe extern "C" fn(
12405            render_contextH: PR_RenderContextH,
12406            scale_xPF: *mut A_FpLong,
12407            scale_yPF: *mut A_FpLong,
12408        ) -> A_Err,
12409    >,
12410    pub AEGP_GetViewportOrigin: ::std::option::Option<
12411        unsafe extern "C" fn(
12412            render_contextH: PR_RenderContextH,
12413            origin_xPL: *mut A_long,
12414            origin_yPL: *mut A_long,
12415        ) -> A_Err,
12416    >,
12417    pub AEGP_GetViewportRect: ::std::option::Option<
12418        unsafe extern "C" fn(
12419            render_contextH: PR_RenderContextH,
12420            viewport_rectPR: *mut A_LegacyRect,
12421        ) -> A_Err,
12422    >,
12423    pub AEGP_GetFallowColor: ::std::option::Option<
12424        unsafe extern "C" fn(
12425            render_contextH: PR_RenderContextH,
12426            fallow_colorP: *mut PF_Pixel8,
12427        ) -> A_Err,
12428    >,
12429    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
12430        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12431    >,
12432    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
12433        unsafe extern "C" fn(
12434            render_contextH: PR_RenderContextH,
12435            checkerboard_onPB: *mut A_Boolean,
12436        ) -> A_Err,
12437    >,
12438    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
12439        unsafe extern "C" fn(
12440            render_contextH: PR_RenderContextH,
12441            checkerboard_color1P: *mut PF_Pixel,
12442            checkerboard_color2P: *mut PF_Pixel,
12443        ) -> A_Err,
12444    >,
12445    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
12446        unsafe extern "C" fn(
12447            render_contextH: PR_RenderContextH,
12448            checkerboard_widthPLu: *mut A_u_long,
12449            checkerboard_heightPLu: *mut A_u_long,
12450        ) -> A_Err,
12451    >,
12452    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
12453        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12454    >,
12455    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
12456        unsafe extern "C" fn(
12457            render_contextH: PR_RenderContextH,
12458            layer_contextH: AEGP_RenderLayerContextH,
12459            use_render_texturePB: *mut A_Boolean,
12460        ) -> A_Err,
12461    >,
12462}
12463#[repr(C)]
12464#[derive(Debug, Copy, Clone)]
12465pub struct AEGP_CanvasSuite5 {
12466    pub AEGP_GetCompToRender: ::std::option::Option<
12467        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12468    >,
12469    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12470        unsafe extern "C" fn(
12471            render_contextH: PR_RenderContextH,
12472            num_to_renderPL: *mut A_long,
12473        ) -> A_Err,
12474    >,
12475    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12476        unsafe extern "C" fn(
12477            render_contextH: PR_RenderContextH,
12478            n: A_long,
12479            layer_contextPH: *mut AEGP_RenderLayerContextH,
12480        ) -> A_Err,
12481    >,
12482    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12483        unsafe extern "C" fn(
12484            render_contextH: PR_RenderContextH,
12485            layer_contextH: AEGP_RenderLayerContextH,
12486            layerPH: *mut AEGP_LayerH,
12487        ) -> A_Err,
12488    >,
12489    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
12490    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12491        unsafe extern "C" fn(
12492            render_contextH: PR_RenderContextH,
12493            layer_contextH: AEGP_RenderLayerContextH,
12494            layerPH: *mut AEGP_LayerH,
12495        ) -> A_Err,
12496    >,
12497    pub AEGP_GetCompRenderTime: ::std::option::Option<
12498        unsafe extern "C" fn(
12499            render_contextH: PR_RenderContextH,
12500            time: *mut A_Time,
12501            time_step: *mut A_Time,
12502        ) -> A_Err,
12503    >,
12504    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12505        unsafe extern "C" fn(
12506            render_contextH: PR_RenderContextH,
12507            compH: AEGP_CompH,
12508            dst: *mut AEGP_WorldH,
12509        ) -> A_Err,
12510    >,
12511    pub AEGP_GetROI: ::std::option::Option<
12512        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12513    >,
12514    pub AEGP_RenderTexture: ::std::option::Option<
12515        unsafe extern "C" fn(
12516            render_contextH: PR_RenderContextH,
12517            layer_contextH: AEGP_RenderLayerContextH,
12518            render_hints: AEGP_RenderHints,
12519            suggested_scaleP0: *mut A_FloatPoint,
12520            suggested_src_rectP0: *mut A_FloatRect,
12521            src_matrixP0: *mut A_Matrix3,
12522            dstPH: *mut AEGP_WorldH,
12523        ) -> A_Err,
12524    >,
12525    pub AEGP_DisposeTexture: ::std::option::Option<
12526        unsafe extern "C" fn(
12527            render_contextH: PR_RenderContextH,
12528            layer_contextH: AEGP_RenderLayerContextH,
12529            dstH0: AEGP_WorldH,
12530        ) -> A_Err,
12531    >,
12532    pub AEGP_GetFieldRender: ::std::option::Option<
12533        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12534    >,
12535    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12536        unsafe extern "C" fn(
12537            render_contextH: PR_RenderContextH,
12538            countL: A_long,
12539            totalL: A_long,
12540        ) -> A_Err,
12541    >,
12542    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12543        unsafe extern "C" fn(
12544            render_contextH: PR_RenderContextH,
12545            dsfP: *mut AEGP_DownsampleFactor,
12546        ) -> A_Err,
12547    >,
12548    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12549        unsafe extern "C" fn(
12550            render_contextH: PR_RenderContextH,
12551            dsfP: *mut AEGP_DownsampleFactor,
12552        ) -> A_Err,
12553    >,
12554    pub AEGP_IsBlankCanvas: ::std::option::Option<
12555        unsafe extern "C" fn(
12556            render_contextH: PR_RenderContextH,
12557            is_blankPB: *mut A_Boolean,
12558        ) -> A_Err,
12559    >,
12560    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12561        unsafe extern "C" fn(
12562            render_contextH: PR_RenderContextH,
12563            layer_contextH: AEGP_RenderLayerContextH,
12564            comp_timeP: *const A_Time,
12565            transform: *mut A_Matrix4,
12566        ) -> A_Err,
12567    >,
12568    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12569        unsafe extern "C" fn(
12570            render_contextH: PR_RenderContextH,
12571            layer_contextH: AEGP_RenderLayerContextH,
12572            comp_timeP: *const A_Time,
12573            boundsP: *mut A_LegacyRect,
12574        ) -> A_Err,
12575    >,
12576    pub AEGP_GetRenderOpacity: ::std::option::Option<
12577        unsafe extern "C" fn(
12578            render_contextH: PR_RenderContextH,
12579            layer_contextH: AEGP_RenderLayerContextH,
12580            comp_timePT: *const A_Time,
12581            opacityPF: *mut A_FpLong,
12582        ) -> A_Err,
12583    >,
12584    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12585        unsafe extern "C" fn(
12586            render_contextH: PR_RenderContextH,
12587            layer_contextH: AEGP_RenderLayerContextH,
12588            comp_timePT: *const A_Time,
12589            activePB: *mut A_Boolean,
12590        ) -> A_Err,
12591    >,
12592    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12593        unsafe extern "C" fn(
12594            render_contextH: PR_RenderContextH,
12595            countL: A_long,
12596            num_layersL: A_long,
12597        ) -> A_Err,
12598    >,
12599    pub AEGP_RenderLayerPlus: ::std::option::Option<
12600        unsafe extern "C" fn(
12601            render_contextH: PR_RenderContextH,
12602            layerH: AEGP_LayerH,
12603            layer_contextH: AEGP_RenderLayerContextH,
12604            render_hints: AEGP_RenderHints,
12605            render_bufferPH: *mut AEGP_WorldH,
12606        ) -> A_Err,
12607    >,
12608    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12609        unsafe extern "C" fn(
12610            render_contextH: PR_RenderContextH,
12611            fill_contextH: AEGP_RenderLayerContextH,
12612            matte_contextPH: *mut AEGP_RenderLayerContextH,
12613        ) -> A_Err,
12614    >,
12615    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12616        unsafe extern "C" fn(
12617            render_contextH: PR_RenderContextH,
12618            layer_contextH: AEGP_RenderLayerContextH,
12619            render_hints: AEGP_RenderHints,
12620            suggested_scaleP0: *mut A_FloatPoint,
12621            suggested_src_rectP0: *mut A_FloatRect,
12622            src_matrixP0: *mut A_Matrix3,
12623            render_receiptPH: *mut AEGP_RenderReceiptH,
12624            dstPH: *mut AEGP_WorldH,
12625        ) -> A_Err,
12626    >,
12627    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12628        unsafe extern "C" fn(
12629            render_contextH: PR_RenderContextH,
12630            layerH: AEGP_LayerH,
12631            layer_contextH: AEGP_RenderLayerContextH,
12632            render_hints: AEGP_RenderHints,
12633            render_receiptPH: *mut AEGP_RenderReceiptH,
12634            render_bufferPH: *mut AEGP_WorldH,
12635        ) -> A_Err,
12636    >,
12637    pub AEGP_DisposeRenderReceipt:
12638        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12639    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12640        unsafe extern "C" fn(
12641            current_render_contextH: PR_RenderContextH,
12642            current_layer_contextH: AEGP_RenderLayerContextH,
12643            old_render_receiptH: AEGP_RenderReceiptH,
12644            check_geometricsB: A_Boolean,
12645            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12646        ) -> A_Err,
12647    >,
12648    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12649        unsafe extern "C" fn(
12650            render_contextH: PR_RenderContextH,
12651            num_bins_to_renderPL: *mut A_long,
12652        ) -> A_Err,
12653    >,
12654    pub AEGP_SetNthBin: ::std::option::Option<
12655        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12656    >,
12657    pub AEGP_GetBinType: ::std::option::Option<
12658        unsafe extern "C" fn(
12659            render_contextH: PR_RenderContextH,
12660            bin_typeP: *mut AEGP_BinType,
12661        ) -> A_Err,
12662    >,
12663    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12664        unsafe extern "C" fn(
12665            render_contextH: PR_RenderContextH,
12666            layer_contextH: AEGP_RenderLayerContextH,
12667            comp_timeP: *const A_Time,
12668            only_2dB: A_Boolean,
12669            transform: *mut A_Matrix4,
12670        ) -> A_Err,
12671    >,
12672    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12673        unsafe extern "C" fn(
12674            render_contextH: PR_RenderContextH,
12675            window_refP: *mut AEGP_PlatformWindowRef,
12676        ) -> A_Err,
12677    >,
12678    pub AEGP_GetViewportScale: ::std::option::Option<
12679        unsafe extern "C" fn(
12680            render_contextH: PR_RenderContextH,
12681            scale_xPF: *mut A_FpLong,
12682            scale_yPF: *mut A_FpLong,
12683        ) -> A_Err,
12684    >,
12685    pub AEGP_GetViewportOrigin: ::std::option::Option<
12686        unsafe extern "C" fn(
12687            render_contextH: PR_RenderContextH,
12688            origin_xPL: *mut A_long,
12689            origin_yPL: *mut A_long,
12690        ) -> A_Err,
12691    >,
12692    pub AEGP_GetViewportRect: ::std::option::Option<
12693        unsafe extern "C" fn(
12694            render_contextH: PR_RenderContextH,
12695            viewport_rectPR: *mut A_LegacyRect,
12696        ) -> A_Err,
12697    >,
12698    pub AEGP_GetFallowColor: ::std::option::Option<
12699        unsafe extern "C" fn(
12700            render_contextH: PR_RenderContextH,
12701            fallow_colorP: *mut PF_Pixel8,
12702        ) -> A_Err,
12703    >,
12704    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
12705        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12706    >,
12707    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
12708        unsafe extern "C" fn(
12709            render_contextH: PR_RenderContextH,
12710            checkerboard_onPB: *mut A_Boolean,
12711        ) -> A_Err,
12712    >,
12713    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
12714        unsafe extern "C" fn(
12715            render_contextH: PR_RenderContextH,
12716            checkerboard_color1P: *mut PF_Pixel,
12717            checkerboard_color2P: *mut PF_Pixel,
12718        ) -> A_Err,
12719    >,
12720    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
12721        unsafe extern "C" fn(
12722            render_contextH: PR_RenderContextH,
12723            checkerboard_widthPLu: *mut A_u_long,
12724            checkerboard_heightPLu: *mut A_u_long,
12725        ) -> A_Err,
12726    >,
12727    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
12728        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12729    >,
12730    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
12731        unsafe extern "C" fn(
12732            render_contextH: PR_RenderContextH,
12733            layer_contextH: AEGP_RenderLayerContextH,
12734            use_render_texturePB: *mut A_Boolean,
12735        ) -> A_Err,
12736    >,
12737    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
12738        unsafe extern "C" fn(
12739            render_contextH: PR_RenderContextH,
12740            display_channelP: *mut AEGP_DisplayChannelType,
12741        ) -> A_Err,
12742    >,
12743}
12744#[repr(C)]
12745#[derive(Debug, Copy, Clone)]
12746pub struct AEGP_CanvasSuite6 {
12747    pub AEGP_GetCompToRender: ::std::option::Option<
12748        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12749    >,
12750    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12751        unsafe extern "C" fn(
12752            render_contextH: PR_RenderContextH,
12753            num_to_renderPL: *mut A_long,
12754        ) -> A_Err,
12755    >,
12756    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12757        unsafe extern "C" fn(
12758            render_contextH: PR_RenderContextH,
12759            n: A_long,
12760            layer_contextPH: *mut AEGP_RenderLayerContextH,
12761        ) -> A_Err,
12762    >,
12763    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12764        unsafe extern "C" fn(
12765            render_contextH: PR_RenderContextH,
12766            layer_contextH: AEGP_RenderLayerContextH,
12767            layerPH: *mut AEGP_LayerH,
12768        ) -> A_Err,
12769    >,
12770    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
12771    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12772        unsafe extern "C" fn(
12773            render_contextH: PR_RenderContextH,
12774            layer_contextH: AEGP_RenderLayerContextH,
12775            layerPH: *mut AEGP_LayerH,
12776        ) -> A_Err,
12777    >,
12778    pub AEGP_GetCompRenderTime: ::std::option::Option<
12779        unsafe extern "C" fn(
12780            render_contextH: PR_RenderContextH,
12781            time: *mut A_Time,
12782            time_step: *mut A_Time,
12783        ) -> A_Err,
12784    >,
12785    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12786        unsafe extern "C" fn(
12787            render_contextH: PR_RenderContextH,
12788            compH: AEGP_CompH,
12789            dst: *mut AEGP_WorldH,
12790        ) -> A_Err,
12791    >,
12792    pub AEGP_GetROI: ::std::option::Option<
12793        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12794    >,
12795    pub AEGP_RenderTexture: ::std::option::Option<
12796        unsafe extern "C" fn(
12797            render_contextH: PR_RenderContextH,
12798            layer_contextH: AEGP_RenderLayerContextH,
12799            render_hints: AEGP_RenderHints,
12800            suggested_scaleP0: *mut A_FloatPoint,
12801            suggested_src_rectP0: *mut A_FloatRect,
12802            src_matrixP0: *mut A_Matrix3,
12803            dstPH: *mut AEGP_WorldH,
12804        ) -> A_Err,
12805    >,
12806    pub AEGP_DisposeTexture: ::std::option::Option<
12807        unsafe extern "C" fn(
12808            render_contextH: PR_RenderContextH,
12809            layer_contextH: AEGP_RenderLayerContextH,
12810            dstH0: AEGP_WorldH,
12811        ) -> A_Err,
12812    >,
12813    pub AEGP_GetFieldRender: ::std::option::Option<
12814        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12815    >,
12816    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12817        unsafe extern "C" fn(
12818            render_contextH: PR_RenderContextH,
12819            countL: A_long,
12820            totalL: A_long,
12821        ) -> A_Err,
12822    >,
12823    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12824        unsafe extern "C" fn(
12825            render_contextH: PR_RenderContextH,
12826            dsfP: *mut AEGP_DownsampleFactor,
12827        ) -> A_Err,
12828    >,
12829    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12830        unsafe extern "C" fn(
12831            render_contextH: PR_RenderContextH,
12832            dsfP: *mut AEGP_DownsampleFactor,
12833        ) -> A_Err,
12834    >,
12835    pub AEGP_IsBlankCanvas: ::std::option::Option<
12836        unsafe extern "C" fn(
12837            render_contextH: PR_RenderContextH,
12838            is_blankPB: *mut A_Boolean,
12839        ) -> A_Err,
12840    >,
12841    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12842        unsafe extern "C" fn(
12843            render_contextH: PR_RenderContextH,
12844            layer_contextH: AEGP_RenderLayerContextH,
12845            comp_timeP: *const A_Time,
12846            transform: *mut A_Matrix4,
12847        ) -> A_Err,
12848    >,
12849    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12850        unsafe extern "C" fn(
12851            render_contextH: PR_RenderContextH,
12852            layer_contextH: AEGP_RenderLayerContextH,
12853            comp_timeP: *const A_Time,
12854            boundsP: *mut A_LegacyRect,
12855        ) -> A_Err,
12856    >,
12857    pub AEGP_GetRenderOpacity: ::std::option::Option<
12858        unsafe extern "C" fn(
12859            render_contextH: PR_RenderContextH,
12860            layer_contextH: AEGP_RenderLayerContextH,
12861            comp_timePT: *const A_Time,
12862            opacityPF: *mut A_FpLong,
12863        ) -> A_Err,
12864    >,
12865    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12866        unsafe extern "C" fn(
12867            render_contextH: PR_RenderContextH,
12868            layer_contextH: AEGP_RenderLayerContextH,
12869            comp_timePT: *const A_Time,
12870            activePB: *mut A_Boolean,
12871        ) -> A_Err,
12872    >,
12873    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12874        unsafe extern "C" fn(
12875            render_contextH: PR_RenderContextH,
12876            countL: A_long,
12877            num_layersL: A_long,
12878        ) -> A_Err,
12879    >,
12880    pub AEGP_RenderLayerPlus: ::std::option::Option<
12881        unsafe extern "C" fn(
12882            render_contextH: PR_RenderContextH,
12883            layerH: AEGP_LayerH,
12884            layer_contextH: AEGP_RenderLayerContextH,
12885            render_hints: AEGP_RenderHints,
12886            render_bufferPH: *mut AEGP_WorldH,
12887        ) -> A_Err,
12888    >,
12889    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12890        unsafe extern "C" fn(
12891            render_contextH: PR_RenderContextH,
12892            fill_contextH: AEGP_RenderLayerContextH,
12893            matte_contextPH: *mut AEGP_RenderLayerContextH,
12894        ) -> A_Err,
12895    >,
12896    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12897        unsafe extern "C" fn(
12898            render_contextH: PR_RenderContextH,
12899            layer_contextH: AEGP_RenderLayerContextH,
12900            render_hints: AEGP_RenderHints,
12901            num_effectsS: AEGP_NumEffectsToRenderType,
12902            suggested_scaleP0: *mut A_FloatPoint,
12903            suggested_src_rectP0: *mut A_FloatRect,
12904            src_matrixP0: *mut A_Matrix3,
12905            render_receiptPH: *mut AEGP_RenderReceiptH,
12906            dstPH: *mut AEGP_WorldH,
12907        ) -> A_Err,
12908    >,
12909    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
12910        unsafe extern "C" fn(
12911            render_contextH: PR_RenderContextH,
12912            layer_contextH: AEGP_RenderLayerContextH,
12913            num_software_effectsPS: *mut A_short,
12914        ) -> A_Err,
12915    >,
12916    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12917        unsafe extern "C" fn(
12918            render_contextH: PR_RenderContextH,
12919            layerH: AEGP_LayerH,
12920            layer_contextH: AEGP_RenderLayerContextH,
12921            render_hints: AEGP_RenderHints,
12922            render_receiptPH: *mut AEGP_RenderReceiptH,
12923            render_bufferPH: *mut AEGP_WorldH,
12924        ) -> A_Err,
12925    >,
12926    pub AEGP_DisposeRenderReceipt:
12927        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12928    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12929        unsafe extern "C" fn(
12930            current_render_contextH: PR_RenderContextH,
12931            current_layer_contextH: AEGP_RenderLayerContextH,
12932            old_render_receiptH: AEGP_RenderReceiptH,
12933            check_geometricsB: A_Boolean,
12934            num_effectsS: AEGP_NumEffectsToRenderType,
12935            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12936        ) -> A_Err,
12937    >,
12938    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
12939        unsafe extern "C" fn(
12940            current_render_contextH: PR_RenderContextH,
12941            current_layer_contextH: AEGP_RenderLayerContextH,
12942            num_effectsS: AEGP_NumEffectsToRenderType,
12943            render_receiptPH: *mut AEGP_RenderReceiptH,
12944        ) -> A_Err,
12945    >,
12946    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12947        unsafe extern "C" fn(
12948            render_contextH: PR_RenderContextH,
12949            num_bins_to_renderPL: *mut A_long,
12950        ) -> A_Err,
12951    >,
12952    pub AEGP_SetNthBin: ::std::option::Option<
12953        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12954    >,
12955    pub AEGP_GetBinType: ::std::option::Option<
12956        unsafe extern "C" fn(
12957            render_contextH: PR_RenderContextH,
12958            bin_typeP: *mut AEGP_BinType,
12959        ) -> A_Err,
12960    >,
12961    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12962        unsafe extern "C" fn(
12963            render_contextH: PR_RenderContextH,
12964            layer_contextH: AEGP_RenderLayerContextH,
12965            comp_timeP: *const A_Time,
12966            only_2dB: A_Boolean,
12967            transform: *mut A_Matrix4,
12968        ) -> A_Err,
12969    >,
12970    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12971        unsafe extern "C" fn(
12972            render_contextH: PR_RenderContextH,
12973            window_refP: *mut AEGP_PlatformWindowRef,
12974        ) -> A_Err,
12975    >,
12976    pub AEGP_GetViewportScale: ::std::option::Option<
12977        unsafe extern "C" fn(
12978            render_contextH: PR_RenderContextH,
12979            scale_xPF: *mut A_FpLong,
12980            scale_yPF: *mut A_FpLong,
12981        ) -> A_Err,
12982    >,
12983    pub AEGP_GetViewportOrigin: ::std::option::Option<
12984        unsafe extern "C" fn(
12985            render_contextH: PR_RenderContextH,
12986            origin_xPL: *mut A_long,
12987            origin_yPL: *mut A_long,
12988        ) -> A_Err,
12989    >,
12990    pub AEGP_GetViewportRect: ::std::option::Option<
12991        unsafe extern "C" fn(
12992            render_contextH: PR_RenderContextH,
12993            viewport_rectPR: *mut A_LegacyRect,
12994        ) -> A_Err,
12995    >,
12996    pub AEGP_GetFallowColor: ::std::option::Option<
12997        unsafe extern "C" fn(
12998            render_contextH: PR_RenderContextH,
12999            fallow_colorP: *mut PF_Pixel8,
13000        ) -> A_Err,
13001    >,
13002    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
13003        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13004    >,
13005    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
13006        unsafe extern "C" fn(
13007            render_contextH: PR_RenderContextH,
13008            checkerboard_onPB: *mut A_Boolean,
13009        ) -> A_Err,
13010    >,
13011    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
13012        unsafe extern "C" fn(
13013            render_contextH: PR_RenderContextH,
13014            checkerboard_color1P: *mut PF_Pixel,
13015            checkerboard_color2P: *mut PF_Pixel,
13016        ) -> A_Err,
13017    >,
13018    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
13019        unsafe extern "C" fn(
13020            render_contextH: PR_RenderContextH,
13021            checkerboard_widthPLu: *mut A_u_long,
13022            checkerboard_heightPLu: *mut A_u_long,
13023        ) -> A_Err,
13024    >,
13025    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
13026        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13027    >,
13028    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
13029        unsafe extern "C" fn(
13030            render_contextH: PR_RenderContextH,
13031            layer_contextH: AEGP_RenderLayerContextH,
13032            use_render_texturePB: *mut A_Boolean,
13033        ) -> A_Err,
13034    >,
13035    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
13036        unsafe extern "C" fn(
13037            render_contextH: PR_RenderContextH,
13038            display_channelP: *mut AEGP_DisplayChannelType,
13039        ) -> A_Err,
13040    >,
13041}
13042#[repr(C)]
13043#[derive(Debug, Copy, Clone)]
13044pub struct AEGP_CanvasSuite7 {
13045    pub AEGP_GetCompToRender: ::std::option::Option<
13046        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
13047    >,
13048    pub AEGP_GetNumLayersToRender: ::std::option::Option<
13049        unsafe extern "C" fn(
13050            render_contextH: PR_RenderContextH,
13051            num_to_renderPL: *mut A_long,
13052        ) -> A_Err,
13053    >,
13054    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
13055        unsafe extern "C" fn(
13056            render_contextH: PR_RenderContextH,
13057            n: A_long,
13058            layer_contextPH: *mut AEGP_RenderLayerContextH,
13059        ) -> A_Err,
13060    >,
13061    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
13062        unsafe extern "C" fn(
13063            render_contextH: PR_RenderContextH,
13064            layer_contextH: AEGP_RenderLayerContextH,
13065            layerPH: *mut AEGP_LayerH,
13066        ) -> A_Err,
13067    >,
13068    pub AEGP_GetLayerAndSubLayerFromLayerContext: ::std::option::Option<
13069        unsafe extern "C" fn(
13070            render_contextH: PR_RenderContextH,
13071            layer_contextH: AEGP_RenderLayerContextH,
13072            layerPH: *mut AEGP_LayerH,
13073            sublayerP: *mut AEGP_SubLayerIndex,
13074        ) -> A_Err,
13075    >,
13076    #[doc = " With collapsed geometrics \"on\" this gives the layer in the root comp\n contining the layer context. With collapsed geometrics off\n this is the same as AEGP_GetLayerFromLayerContext.\n"]
13077    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
13078        unsafe extern "C" fn(
13079            render_contextH: PR_RenderContextH,
13080            layer_contextH: AEGP_RenderLayerContextH,
13081            layerPH: *mut AEGP_LayerH,
13082        ) -> A_Err,
13083    >,
13084    pub AEGP_GetCompRenderTime: ::std::option::Option<
13085        unsafe extern "C" fn(
13086            render_contextH: PR_RenderContextH,
13087            time: *mut A_Time,
13088            time_step: *mut A_Time,
13089        ) -> A_Err,
13090    >,
13091    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
13092        unsafe extern "C" fn(
13093            render_contextH: PR_RenderContextH,
13094            compH: AEGP_CompH,
13095            dst: *mut AEGP_WorldH,
13096        ) -> A_Err,
13097    >,
13098    pub AEGP_GetROI: ::std::option::Option<
13099        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
13100    >,
13101    pub AEGP_RenderTexture: ::std::option::Option<
13102        unsafe extern "C" fn(
13103            render_contextH: PR_RenderContextH,
13104            layer_contextH: AEGP_RenderLayerContextH,
13105            render_hints: AEGP_RenderHints,
13106            suggested_scaleP0: *mut A_FloatPoint,
13107            suggested_src_rectP0: *mut A_FloatRect,
13108            src_matrixP0: *mut A_Matrix3,
13109            dstPH: *mut AEGP_WorldH,
13110        ) -> A_Err,
13111    >,
13112    pub AEGP_DisposeTexture: ::std::option::Option<
13113        unsafe extern "C" fn(
13114            render_contextH: PR_RenderContextH,
13115            layer_contextH: AEGP_RenderLayerContextH,
13116            dstH0: AEGP_WorldH,
13117        ) -> A_Err,
13118    >,
13119    pub AEGP_GetFieldRender: ::std::option::Option<
13120        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
13121    >,
13122    pub AEGP_ReportArtisanProgress: ::std::option::Option<
13123        unsafe extern "C" fn(
13124            render_contextH: PR_RenderContextH,
13125            countL: A_long,
13126            totalL: A_long,
13127        ) -> A_Err,
13128    >,
13129    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
13130        unsafe extern "C" fn(
13131            render_contextH: PR_RenderContextH,
13132            dsfP: *mut AEGP_DownsampleFactor,
13133        ) -> A_Err,
13134    >,
13135    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
13136        unsafe extern "C" fn(
13137            render_contextH: PR_RenderContextH,
13138            dsfP: *mut AEGP_DownsampleFactor,
13139        ) -> A_Err,
13140    >,
13141    pub AEGP_IsBlankCanvas: ::std::option::Option<
13142        unsafe extern "C" fn(
13143            render_contextH: PR_RenderContextH,
13144            is_blankPB: *mut A_Boolean,
13145        ) -> A_Err,
13146    >,
13147    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
13148        unsafe extern "C" fn(
13149            render_contextH: PR_RenderContextH,
13150            layer_contextH: AEGP_RenderLayerContextH,
13151            comp_timeP: *const A_Time,
13152            transform: *mut A_Matrix4,
13153        ) -> A_Err,
13154    >,
13155    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
13156        unsafe extern "C" fn(
13157            render_contextH: PR_RenderContextH,
13158            layer_contextH: AEGP_RenderLayerContextH,
13159            comp_timeP: *const A_Time,
13160            boundsP: *mut A_LegacyRect,
13161        ) -> A_Err,
13162    >,
13163    pub AEGP_GetRenderOpacity: ::std::option::Option<
13164        unsafe extern "C" fn(
13165            render_contextH: PR_RenderContextH,
13166            layer_contextH: AEGP_RenderLayerContextH,
13167            comp_timePT: *const A_Time,
13168            opacityPF: *mut A_FpLong,
13169        ) -> A_Err,
13170    >,
13171    pub AEGP_IsRenderLayerActive: ::std::option::Option<
13172        unsafe extern "C" fn(
13173            render_contextH: PR_RenderContextH,
13174            layer_contextH: AEGP_RenderLayerContextH,
13175            comp_timePT: *const A_Time,
13176            activePB: *mut A_Boolean,
13177        ) -> A_Err,
13178    >,
13179    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
13180        unsafe extern "C" fn(
13181            render_contextH: PR_RenderContextH,
13182            countL: A_long,
13183            num_layersL: A_long,
13184        ) -> A_Err,
13185    >,
13186    pub AEGP_RenderLayerPlus: ::std::option::Option<
13187        unsafe extern "C" fn(
13188            render_contextH: PR_RenderContextH,
13189            layerH: AEGP_LayerH,
13190            layer_contextH: AEGP_RenderLayerContextH,
13191            render_hints: AEGP_RenderHints,
13192            render_bufferPH: *mut AEGP_WorldH,
13193        ) -> A_Err,
13194    >,
13195    pub AEGP_GetTrackMatteContext: ::std::option::Option<
13196        unsafe extern "C" fn(
13197            render_contextH: PR_RenderContextH,
13198            fill_contextH: AEGP_RenderLayerContextH,
13199            matte_contextPH: *mut AEGP_RenderLayerContextH,
13200        ) -> A_Err,
13201    >,
13202    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
13203        unsafe extern "C" fn(
13204            render_contextH: PR_RenderContextH,
13205            layer_contextH: AEGP_RenderLayerContextH,
13206            render_hints: AEGP_RenderHints,
13207            num_effectsS: AEGP_NumEffectsToRenderType,
13208            suggested_scaleP0: *mut A_FloatPoint,
13209            suggested_src_rectP0: *mut A_FloatRect,
13210            src_matrixP0: *mut A_Matrix3,
13211            render_receiptPH: *mut AEGP_RenderReceiptH,
13212            dstPH: *mut AEGP_WorldH,
13213        ) -> A_Err,
13214    >,
13215    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
13216        unsafe extern "C" fn(
13217            render_contextH: PR_RenderContextH,
13218            layer_contextH: AEGP_RenderLayerContextH,
13219            num_software_effectsPS: *mut A_short,
13220        ) -> A_Err,
13221    >,
13222    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
13223        unsafe extern "C" fn(
13224            render_contextH: PR_RenderContextH,
13225            layerH: AEGP_LayerH,
13226            layer_contextH: AEGP_RenderLayerContextH,
13227            render_hints: AEGP_RenderHints,
13228            render_receiptPH: *mut AEGP_RenderReceiptH,
13229            render_bufferPH: *mut AEGP_WorldH,
13230        ) -> A_Err,
13231    >,
13232    pub AEGP_DisposeRenderReceipt:
13233        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
13234    pub AEGP_CheckRenderReceipt: ::std::option::Option<
13235        unsafe extern "C" fn(
13236            current_render_contextH: PR_RenderContextH,
13237            current_layer_contextH: AEGP_RenderLayerContextH,
13238            old_render_receiptH: AEGP_RenderReceiptH,
13239            check_geometricsB: A_Boolean,
13240            num_effectsS: AEGP_NumEffectsToRenderType,
13241            receipt_statusP: *mut AEGP_RenderReceiptStatus,
13242        ) -> A_Err,
13243    >,
13244    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
13245        unsafe extern "C" fn(
13246            current_render_contextH: PR_RenderContextH,
13247            current_layer_contextH: AEGP_RenderLayerContextH,
13248            num_effectsS: AEGP_NumEffectsToRenderType,
13249            render_receiptPH: *mut AEGP_RenderReceiptH,
13250        ) -> A_Err,
13251    >,
13252    pub AEGP_GetNumBinsToRender: ::std::option::Option<
13253        unsafe extern "C" fn(
13254            render_contextH: PR_RenderContextH,
13255            num_bins_to_renderPL: *mut A_long,
13256        ) -> A_Err,
13257    >,
13258    pub AEGP_SetNthBin: ::std::option::Option<
13259        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
13260    >,
13261    pub AEGP_GetBinType: ::std::option::Option<
13262        unsafe extern "C" fn(
13263            render_contextH: PR_RenderContextH,
13264            bin_typeP: *mut AEGP_BinType,
13265        ) -> A_Err,
13266    >,
13267    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
13268        unsafe extern "C" fn(
13269            render_contextH: PR_RenderContextH,
13270            layer_contextH: AEGP_RenderLayerContextH,
13271            comp_timeP: *const A_Time,
13272            only_2dB: A_Boolean,
13273            transform: *mut A_Matrix4,
13274        ) -> A_Err,
13275    >,
13276    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
13277        unsafe extern "C" fn(
13278            render_contextH: PR_RenderContextH,
13279            window_refP: *mut AEGP_PlatformWindowRef,
13280        ) -> A_Err,
13281    >,
13282    pub AEGP_GetViewportScale: ::std::option::Option<
13283        unsafe extern "C" fn(
13284            render_contextH: PR_RenderContextH,
13285            scale_xPF: *mut A_FpLong,
13286            scale_yPF: *mut A_FpLong,
13287        ) -> A_Err,
13288    >,
13289    pub AEGP_GetViewportOrigin: ::std::option::Option<
13290        unsafe extern "C" fn(
13291            render_contextH: PR_RenderContextH,
13292            origin_xPL: *mut A_long,
13293            origin_yPL: *mut A_long,
13294        ) -> A_Err,
13295    >,
13296    pub AEGP_GetViewportRect: ::std::option::Option<
13297        unsafe extern "C" fn(
13298            render_contextH: PR_RenderContextH,
13299            viewport_rectPR: *mut A_LegacyRect,
13300        ) -> A_Err,
13301    >,
13302    pub AEGP_GetFallowColor: ::std::option::Option<
13303        unsafe extern "C" fn(
13304            render_contextH: PR_RenderContextH,
13305            fallow_colorP: *mut PF_Pixel8,
13306        ) -> A_Err,
13307    >,
13308    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
13309        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13310    >,
13311    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
13312        unsafe extern "C" fn(
13313            render_contextH: PR_RenderContextH,
13314            checkerboard_onPB: *mut A_Boolean,
13315        ) -> A_Err,
13316    >,
13317    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
13318        unsafe extern "C" fn(
13319            render_contextH: PR_RenderContextH,
13320            checkerboard_color1P: *mut PF_Pixel,
13321            checkerboard_color2P: *mut PF_Pixel,
13322        ) -> A_Err,
13323    >,
13324    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
13325        unsafe extern "C" fn(
13326            render_contextH: PR_RenderContextH,
13327            checkerboard_widthPLu: *mut A_u_long,
13328            checkerboard_heightPLu: *mut A_u_long,
13329        ) -> A_Err,
13330    >,
13331    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
13332        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13333    >,
13334    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
13335        unsafe extern "C" fn(
13336            render_contextH: PR_RenderContextH,
13337            layer_contextH: AEGP_RenderLayerContextH,
13338            use_render_texturePB: *mut A_Boolean,
13339        ) -> A_Err,
13340    >,
13341    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
13342        unsafe extern "C" fn(
13343            render_contextH: PR_RenderContextH,
13344            display_channelP: *mut AEGP_DisplayChannelType,
13345        ) -> A_Err,
13346    >,
13347    pub AEGP_GetInteractiveExposure: ::std::option::Option<
13348        unsafe extern "C" fn(
13349            render_contextH: PR_RenderContextH,
13350            exposurePF: *mut A_FpLong,
13351        ) -> A_Err,
13352    >,
13353    pub AEGP_GetColorTransform: ::std::option::Option<
13354        unsafe extern "C" fn(
13355            render_contextH: PR_RenderContextH,
13356            cms_onB: *mut A_Boolean,
13357            xform_keyLu: *mut A_u_long,
13358            xformP: *mut ::std::os::raw::c_void,
13359        ) -> A_Err,
13360    >,
13361    pub AEGP_GetCompShutterTime: ::std::option::Option<
13362        unsafe extern "C" fn(
13363            render_contextH: PR_RenderContextH,
13364            shutter_time: *mut A_Time,
13365            shutter_dur: *mut A_Time,
13366        ) -> A_Err,
13367    >,
13368}
13369#[repr(C)]
13370#[derive(Debug, Copy, Clone)]
13371pub struct AEGP_MaskOutlineSuite2 {
13372    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
13373        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
13374    >,
13375    pub AEGP_SetMaskOutlineOpen: ::std::option::Option<
13376        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openB: A_Boolean) -> A_Err,
13377    >,
13378    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
13379        unsafe extern "C" fn(
13380            mask_outlineH: AEGP_MaskOutlineValH,
13381            num_segmentsPL: *mut A_long,
13382        ) -> A_Err,
13383    >,
13384    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
13385        unsafe extern "C" fn(
13386            mask_outlineH: AEGP_MaskOutlineValH,
13387            which_pointL: AEGP_VertexIndex,
13388            vertexP: *mut AEGP_MaskVertex,
13389        ) -> A_Err,
13390    >,
13391    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
13392        unsafe extern "C" fn(
13393            mask_outlineH: AEGP_MaskOutlineValH,
13394            which_pointL: AEGP_VertexIndex,
13395            vertexP: *const AEGP_MaskVertex,
13396        ) -> A_Err,
13397    >,
13398    pub AEGP_CreateVertex: ::std::option::Option<
13399        unsafe extern "C" fn(
13400            mask_outlineH: AEGP_MaskOutlineValH,
13401            insert_position: AEGP_VertexIndex,
13402        ) -> A_Err,
13403    >,
13404    pub AEGP_DeleteVertex: ::std::option::Option<
13405        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
13406    >,
13407}
13408#[repr(C)]
13409#[derive(Debug, Copy, Clone)]
13410pub struct AEGP_MaskOutlineSuite1 {
13411    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
13412        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
13413    >,
13414    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
13415        unsafe extern "C" fn(
13416            mask_outlineH: AEGP_MaskOutlineValH,
13417            num_segmentsPL: *mut A_long,
13418        ) -> A_Err,
13419    >,
13420    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
13421        unsafe extern "C" fn(
13422            mask_outlineH: AEGP_MaskOutlineValH,
13423            which_pointL: AEGP_VertexIndex,
13424            vertexP: *mut AEGP_MaskVertex,
13425        ) -> A_Err,
13426    >,
13427    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
13428        unsafe extern "C" fn(
13429            mask_outlineH: AEGP_MaskOutlineValH,
13430            which_pointL: AEGP_VertexIndex,
13431            vertexP: *const AEGP_MaskVertex,
13432        ) -> A_Err,
13433    >,
13434    pub AEGP_CreateVertex: ::std::option::Option<
13435        unsafe extern "C" fn(
13436            mask_outlineH: AEGP_MaskOutlineValH,
13437            insert_position: AEGP_VertexIndex,
13438        ) -> A_Err,
13439    >,
13440    pub AEGP_DeleteVertex: ::std::option::Option<
13441        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
13442    >,
13443}
13444#[repr(C)]
13445#[derive(Debug, Copy, Clone)]
13446pub struct AEGP_CompSuite11 {
13447    pub AEGP_GetCompFromItem: ::std::option::Option<
13448        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13449    >,
13450    pub AEGP_GetItemFromComp: ::std::option::Option<
13451        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13452    >,
13453    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13454        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13455    >,
13456    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13457        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13458    >,
13459    pub AEGP_GetCompBGColor: ::std::option::Option<
13460        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13461    >,
13462    pub AEGP_SetCompBGColor: ::std::option::Option<
13463        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13464    >,
13465    pub AEGP_GetCompFlags: ::std::option::Option<
13466        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13467    >,
13468    pub AEGP_GetShowLayerNameOrSourceName: ::std::option::Option<
13469        unsafe extern "C" fn(compH: AEGP_CompH, layer_names_shownPB: *mut A_Boolean) -> A_Err,
13470    >,
13471    pub AEGP_SetShowLayerNameOrSourceName: ::std::option::Option<
13472        unsafe extern "C" fn(compH: AEGP_CompH, show_layer_namesB: A_Boolean) -> A_Err,
13473    >,
13474    pub AEGP_GetShowBlendModes: ::std::option::Option<
13475        unsafe extern "C" fn(compH: AEGP_CompH, blend_modes_shownPB: *mut A_Boolean) -> A_Err,
13476    >,
13477    pub AEGP_SetShowBlendModes: ::std::option::Option<
13478        unsafe extern "C" fn(compH: AEGP_CompH, show_blend_modesB: A_Boolean) -> A_Err,
13479    >,
13480    pub AEGP_GetCompFramerate: ::std::option::Option<
13481        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13482    >,
13483    pub AEGP_SetCompFrameRate: ::std::option::Option<
13484        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13485    >,
13486    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13487        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13488    >,
13489    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13490        unsafe extern "C" fn(
13491            compH: AEGP_CompH,
13492            comp_timeP: *const A_Time,
13493            start: *mut A_Time,
13494            duration: *mut A_Time,
13495        ) -> A_Err,
13496    >,
13497    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13498        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13499    >,
13500    pub AEGP_SetCompSuggestedMotionBlurSamples:
13501        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13502    pub AEGP_GetCompMotionBlurAdaptiveSampleLimit: ::std::option::Option<
13503        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13504    >,
13505    pub AEGP_SetCompMotionBlurAdaptiveSampleLimit:
13506        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13507    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13508        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13509    >,
13510    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13511        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13512    >,
13513    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13514        unsafe extern "C" fn(
13515            compH: AEGP_CompH,
13516            work_area_startPT: *const A_Time,
13517            work_area_durationPT: *const A_Time,
13518        ) -> A_Err,
13519    >,
13520    pub AEGP_CreateSolidInComp: ::std::option::Option<
13521        unsafe extern "C" fn(
13522            utf_nameZ: *const A_UTF16Char,
13523            width: A_long,
13524            height: A_long,
13525            color: *const AEGP_ColorVal,
13526            parent_compH: AEGP_CompH,
13527            durationPT0: *const A_Time,
13528            new_solidPH: *mut AEGP_LayerH,
13529        ) -> A_Err,
13530    >,
13531    pub AEGP_CreateCameraInComp: ::std::option::Option<
13532        unsafe extern "C" fn(
13533            utf_nameZ: *const A_UTF16Char,
13534            center_point: A_FloatPoint,
13535            parent_compH: AEGP_CompH,
13536            new_cameraPH: *mut AEGP_LayerH,
13537        ) -> A_Err,
13538    >,
13539    pub AEGP_CreateLightInComp: ::std::option::Option<
13540        unsafe extern "C" fn(
13541            utf_nameZ: *const A_UTF16Char,
13542            center_point: A_FloatPoint,
13543            parent_compH: AEGP_CompH,
13544            new_lightPH: *mut AEGP_LayerH,
13545        ) -> A_Err,
13546    >,
13547    pub AEGP_CreateComp: ::std::option::Option<
13548        unsafe extern "C" fn(
13549            parent_folderH0: AEGP_ItemH,
13550            utf_nameZ: *const A_UTF16Char,
13551            widthL: A_long,
13552            heightL: A_long,
13553            pixel_aspect_ratioPRt: *const A_Ratio,
13554            durationPT: *const A_Time,
13555            frameratePRt: *const A_Ratio,
13556            new_compPH: *mut AEGP_CompH,
13557        ) -> A_Err,
13558    >,
13559    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13560        unsafe extern "C" fn(
13561            plugin_id: AEGP_PluginID,
13562            compH: AEGP_CompH,
13563            collectionPH: *mut AEGP_Collection2H,
13564        ) -> A_Err,
13565    >,
13566    pub AEGP_SetSelection: ::std::option::Option<
13567        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13568    >,
13569    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13570        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13571    >,
13572    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13573        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13574    >,
13575    pub AEGP_SetCompDuration: ::std::option::Option<
13576        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13577    >,
13578    pub AEGP_CreateNullInComp: ::std::option::Option<
13579        unsafe extern "C" fn(
13580            utf_nameZ: *const A_UTF16Char,
13581            parent_compH: AEGP_CompH,
13582            durationPT0: *const A_Time,
13583            new_null_solidPH: *mut AEGP_LayerH,
13584        ) -> A_Err,
13585    >,
13586    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13587        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13588    >,
13589    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13590        unsafe extern "C" fn(
13591            parent_compH: AEGP_CompH,
13592            select_new_layerB: A_Boolean,
13593            new_text_layerPH: *mut AEGP_LayerH,
13594        ) -> A_Err,
13595    >,
13596    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13597        unsafe extern "C" fn(
13598            parent_compH: AEGP_CompH,
13599            select_new_layerB: A_Boolean,
13600            box_dimensions: A_FloatPoint,
13601            new_text_layerPH: *mut AEGP_LayerH,
13602        ) -> A_Err,
13603    >,
13604    pub AEGP_SetCompDimensions: ::std::option::Option<
13605        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13606    >,
13607    pub AEGP_DuplicateComp: ::std::option::Option<
13608        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13609    >,
13610    pub AEGP_GetCompFrameDuration:
13611        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13612    pub AEGP_GetMostRecentlyUsedComp:
13613        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13614    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13615        unsafe extern "C" fn(
13616            parent_compH: AEGP_CompH,
13617            new_vector_layerPH: *mut AEGP_LayerH,
13618        ) -> A_Err,
13619    >,
13620    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13621        unsafe extern "C" fn(
13622            aegp_plugin_id: AEGP_PluginID,
13623            parent_compH: AEGP_CompH,
13624            streamPH: *mut AEGP_StreamRefH,
13625        ) -> A_Err,
13626    >,
13627    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13628        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13629    >,
13630    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13631        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13632    >,
13633    pub AEGP_ReorderCompSelection:
13634        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, index: A_long) -> A_Err>,
13635}
13636#[repr(C)]
13637#[derive(Debug, Copy, Clone)]
13638pub struct AEGP_CompSuite10 {
13639    pub AEGP_GetCompFromItem: ::std::option::Option<
13640        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13641    >,
13642    pub AEGP_GetItemFromComp: ::std::option::Option<
13643        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13644    >,
13645    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13646        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13647    >,
13648    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13649        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13650    >,
13651    pub AEGP_GetCompBGColor: ::std::option::Option<
13652        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13653    >,
13654    pub AEGP_SetCompBGColor: ::std::option::Option<
13655        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13656    >,
13657    pub AEGP_GetCompFlags: ::std::option::Option<
13658        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13659    >,
13660    pub AEGP_GetShowLayerNameOrSourceName: ::std::option::Option<
13661        unsafe extern "C" fn(compH: AEGP_CompH, layer_names_shownPB: *mut A_Boolean) -> A_Err,
13662    >,
13663    pub AEGP_SetShowLayerNameOrSourceName: ::std::option::Option<
13664        unsafe extern "C" fn(compH: AEGP_CompH, show_layer_namesB: A_Boolean) -> A_Err,
13665    >,
13666    pub AEGP_GetShowBlendModes: ::std::option::Option<
13667        unsafe extern "C" fn(compH: AEGP_CompH, blend_modes_shownPB: *mut A_Boolean) -> A_Err,
13668    >,
13669    pub AEGP_SetShowBlendModes: ::std::option::Option<
13670        unsafe extern "C" fn(compH: AEGP_CompH, show_blend_modesB: A_Boolean) -> A_Err,
13671    >,
13672    pub AEGP_GetCompFramerate: ::std::option::Option<
13673        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13674    >,
13675    pub AEGP_SetCompFrameRate: ::std::option::Option<
13676        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13677    >,
13678    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13679        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13680    >,
13681    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13682        unsafe extern "C" fn(
13683            compH: AEGP_CompH,
13684            comp_timeP: *const A_Time,
13685            start: *mut A_Time,
13686            duration: *mut A_Time,
13687        ) -> A_Err,
13688    >,
13689    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13690        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13691    >,
13692    pub AEGP_SetCompSuggestedMotionBlurSamples:
13693        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13694    pub AEGP_GetCompMotionBlurAdaptiveSampleLimit: ::std::option::Option<
13695        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13696    >,
13697    pub AEGP_SetCompMotionBlurAdaptiveSampleLimit:
13698        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13699    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13700        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13701    >,
13702    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13703        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13704    >,
13705    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13706        unsafe extern "C" fn(
13707            compH: AEGP_CompH,
13708            work_area_startPT: *const A_Time,
13709            work_area_durationPT: *const A_Time,
13710        ) -> A_Err,
13711    >,
13712    pub AEGP_CreateSolidInComp: ::std::option::Option<
13713        unsafe extern "C" fn(
13714            utf_nameZ: *const A_UTF16Char,
13715            width: A_long,
13716            height: A_long,
13717            color: *const AEGP_ColorVal,
13718            parent_compH: AEGP_CompH,
13719            durationPT0: *const A_Time,
13720            new_solidPH: *mut AEGP_LayerH,
13721        ) -> A_Err,
13722    >,
13723    pub AEGP_CreateCameraInComp: ::std::option::Option<
13724        unsafe extern "C" fn(
13725            utf_nameZ: *const A_UTF16Char,
13726            center_point: A_FloatPoint,
13727            parent_compH: AEGP_CompH,
13728            new_cameraPH: *mut AEGP_LayerH,
13729        ) -> A_Err,
13730    >,
13731    pub AEGP_CreateLightInComp: ::std::option::Option<
13732        unsafe extern "C" fn(
13733            utf_nameZ: *const A_UTF16Char,
13734            center_point: A_FloatPoint,
13735            parent_compH: AEGP_CompH,
13736            new_lightPH: *mut AEGP_LayerH,
13737        ) -> A_Err,
13738    >,
13739    pub AEGP_CreateComp: ::std::option::Option<
13740        unsafe extern "C" fn(
13741            parent_folderH0: AEGP_ItemH,
13742            utf_nameZ: *const A_UTF16Char,
13743            widthL: A_long,
13744            heightL: A_long,
13745            pixel_aspect_ratioPRt: *const A_Ratio,
13746            durationPT: *const A_Time,
13747            frameratePRt: *const A_Ratio,
13748            new_compPH: *mut AEGP_CompH,
13749        ) -> A_Err,
13750    >,
13751    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13752        unsafe extern "C" fn(
13753            plugin_id: AEGP_PluginID,
13754            compH: AEGP_CompH,
13755            collectionPH: *mut AEGP_Collection2H,
13756        ) -> A_Err,
13757    >,
13758    pub AEGP_SetSelection: ::std::option::Option<
13759        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13760    >,
13761    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13762        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13763    >,
13764    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13765        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13766    >,
13767    pub AEGP_SetCompDuration: ::std::option::Option<
13768        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13769    >,
13770    pub AEGP_CreateNullInComp: ::std::option::Option<
13771        unsafe extern "C" fn(
13772            utf_nameZ: *const A_UTF16Char,
13773            parent_compH: AEGP_CompH,
13774            durationPT0: *const A_Time,
13775            new_null_solidPH: *mut AEGP_LayerH,
13776        ) -> A_Err,
13777    >,
13778    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13779        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13780    >,
13781    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13782        unsafe extern "C" fn(
13783            parent_compH: AEGP_CompH,
13784            select_new_layerB: A_Boolean,
13785            new_text_layerPH: *mut AEGP_LayerH,
13786        ) -> A_Err,
13787    >,
13788    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13789        unsafe extern "C" fn(
13790            parent_compH: AEGP_CompH,
13791            select_new_layerB: A_Boolean,
13792            box_dimensions: A_FloatPoint,
13793            new_text_layerPH: *mut AEGP_LayerH,
13794        ) -> A_Err,
13795    >,
13796    pub AEGP_SetCompDimensions: ::std::option::Option<
13797        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13798    >,
13799    pub AEGP_DuplicateComp: ::std::option::Option<
13800        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13801    >,
13802    pub AEGP_GetCompFrameDuration:
13803        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13804    pub AEGP_GetMostRecentlyUsedComp:
13805        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13806    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13807        unsafe extern "C" fn(
13808            parent_compH: AEGP_CompH,
13809            new_vector_layerPH: *mut AEGP_LayerH,
13810        ) -> A_Err,
13811    >,
13812    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13813        unsafe extern "C" fn(
13814            aegp_plugin_id: AEGP_PluginID,
13815            parent_compH: AEGP_CompH,
13816            streamPH: *mut AEGP_StreamRefH,
13817        ) -> A_Err,
13818    >,
13819    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13820        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13821    >,
13822    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13823        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13824    >,
13825}
13826#[repr(C)]
13827#[derive(Debug, Copy, Clone)]
13828pub struct AEGP_CompSuite9 {
13829    pub AEGP_GetCompFromItem: ::std::option::Option<
13830        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13831    >,
13832    pub AEGP_GetItemFromComp: ::std::option::Option<
13833        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13834    >,
13835    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13836        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13837    >,
13838    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13839        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13840    >,
13841    pub AEGP_GetCompBGColor: ::std::option::Option<
13842        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13843    >,
13844    pub AEGP_SetCompBGColor: ::std::option::Option<
13845        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13846    >,
13847    pub AEGP_GetCompFlags: ::std::option::Option<
13848        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13849    >,
13850    pub AEGP_GetCompFramerate: ::std::option::Option<
13851        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13852    >,
13853    pub AEGP_SetCompFrameRate: ::std::option::Option<
13854        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13855    >,
13856    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13857        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13858    >,
13859    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13860        unsafe extern "C" fn(
13861            compH: AEGP_CompH,
13862            comp_timeP: *const A_Time,
13863            start: *mut A_Time,
13864            duration: *mut A_Time,
13865        ) -> A_Err,
13866    >,
13867    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13868        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13869    >,
13870    pub AEGP_SetCompSuggestedMotionBlurSamples:
13871        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13872    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13873        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13874    >,
13875    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13876        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13877    >,
13878    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13879        unsafe extern "C" fn(
13880            compH: AEGP_CompH,
13881            work_area_startPT: *const A_Time,
13882            work_area_durationPT: *const A_Time,
13883        ) -> A_Err,
13884    >,
13885    pub AEGP_CreateSolidInComp: ::std::option::Option<
13886        unsafe extern "C" fn(
13887            utf_nameZ: *const A_UTF16Char,
13888            width: A_long,
13889            height: A_long,
13890            color: *const AEGP_ColorVal,
13891            parent_compH: AEGP_CompH,
13892            durationPT0: *const A_Time,
13893            new_solidPH: *mut AEGP_LayerH,
13894        ) -> A_Err,
13895    >,
13896    pub AEGP_CreateCameraInComp: ::std::option::Option<
13897        unsafe extern "C" fn(
13898            utf_nameZ: *const A_UTF16Char,
13899            center_point: A_FloatPoint,
13900            parent_compH: AEGP_CompH,
13901            new_cameraPH: *mut AEGP_LayerH,
13902        ) -> A_Err,
13903    >,
13904    pub AEGP_CreateLightInComp: ::std::option::Option<
13905        unsafe extern "C" fn(
13906            utf_nameZ: *const A_UTF16Char,
13907            center_point: A_FloatPoint,
13908            parent_compH: AEGP_CompH,
13909            new_lightPH: *mut AEGP_LayerH,
13910        ) -> A_Err,
13911    >,
13912    pub AEGP_CreateComp: ::std::option::Option<
13913        unsafe extern "C" fn(
13914            parent_folderH0: AEGP_ItemH,
13915            utf_nameZ: *const A_UTF16Char,
13916            widthL: A_long,
13917            heightL: A_long,
13918            pixel_aspect_ratioPRt: *const A_Ratio,
13919            durationPT: *const A_Time,
13920            frameratePRt: *const A_Ratio,
13921            new_compPH: *mut AEGP_CompH,
13922        ) -> A_Err,
13923    >,
13924    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13925        unsafe extern "C" fn(
13926            plugin_id: AEGP_PluginID,
13927            compH: AEGP_CompH,
13928            collectionPH: *mut AEGP_Collection2H,
13929        ) -> A_Err,
13930    >,
13931    pub AEGP_SetSelection: ::std::option::Option<
13932        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13933    >,
13934    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13935        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13936    >,
13937    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13938        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13939    >,
13940    pub AEGP_SetCompDuration: ::std::option::Option<
13941        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13942    >,
13943    pub AEGP_CreateNullInComp: ::std::option::Option<
13944        unsafe extern "C" fn(
13945            utf_nameZ: *const A_UTF16Char,
13946            parent_compH: AEGP_CompH,
13947            durationPT0: *const A_Time,
13948            new_null_solidPH: *mut AEGP_LayerH,
13949        ) -> A_Err,
13950    >,
13951    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13952        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13953    >,
13954    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13955        unsafe extern "C" fn(
13956            parent_compH: AEGP_CompH,
13957            select_new_layerB: A_Boolean,
13958            new_text_layerPH: *mut AEGP_LayerH,
13959        ) -> A_Err,
13960    >,
13961    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13962        unsafe extern "C" fn(
13963            parent_compH: AEGP_CompH,
13964            select_new_layerB: A_Boolean,
13965            box_dimensions: A_FloatPoint,
13966            new_text_layerPH: *mut AEGP_LayerH,
13967        ) -> A_Err,
13968    >,
13969    pub AEGP_SetCompDimensions: ::std::option::Option<
13970        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13971    >,
13972    pub AEGP_DuplicateComp: ::std::option::Option<
13973        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13974    >,
13975    pub AEGP_GetCompFrameDuration:
13976        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13977    pub AEGP_GetMostRecentlyUsedComp:
13978        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13979    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13980        unsafe extern "C" fn(
13981            parent_compH: AEGP_CompH,
13982            new_vector_layerPH: *mut AEGP_LayerH,
13983        ) -> A_Err,
13984    >,
13985    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13986        unsafe extern "C" fn(
13987            aegp_plugin_id: AEGP_PluginID,
13988            parent_compH: AEGP_CompH,
13989            streamPH: *mut AEGP_StreamRefH,
13990        ) -> A_Err,
13991    >,
13992    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13993        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13994    >,
13995    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13996        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13997    >,
13998}
13999#[repr(C)]
14000#[derive(Debug, Copy, Clone)]
14001pub struct AEGP_CompSuite8 {
14002    pub AEGP_GetCompFromItem: ::std::option::Option<
14003        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14004    >,
14005    pub AEGP_GetItemFromComp: ::std::option::Option<
14006        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14007    >,
14008    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14009        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14010    >,
14011    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14012        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14013    >,
14014    pub AEGP_GetCompBGColor: ::std::option::Option<
14015        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14016    >,
14017    pub AEGP_SetCompBGColor: ::std::option::Option<
14018        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
14019    >,
14020    pub AEGP_GetCompFlags: ::std::option::Option<
14021        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14022    >,
14023    pub AEGP_GetCompFramerate: ::std::option::Option<
14024        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14025    >,
14026    pub AEGP_SetCompFrameRate: ::std::option::Option<
14027        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14028    >,
14029    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14030        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14031    >,
14032    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14033        unsafe extern "C" fn(
14034            compH: AEGP_CompH,
14035            comp_timeP: *const A_Time,
14036            start: *mut A_Time,
14037            duration: *mut A_Time,
14038        ) -> A_Err,
14039    >,
14040    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
14041        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
14042    >,
14043    pub AEGP_SetCompSuggestedMotionBlurSamples:
14044        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
14045    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14046        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14047    >,
14048    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14049        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14050    >,
14051    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14052        unsafe extern "C" fn(
14053            compH: AEGP_CompH,
14054            work_area_startPT: *const A_Time,
14055            work_area_durationPT: *const A_Time,
14056        ) -> A_Err,
14057    >,
14058    pub AEGP_CreateSolidInComp: ::std::option::Option<
14059        unsafe extern "C" fn(
14060            utf_nameZ: *const A_UTF16Char,
14061            width: A_long,
14062            height: A_long,
14063            color: *const AEGP_ColorVal,
14064            parent_compH: AEGP_CompH,
14065            durationPT0: *const A_Time,
14066            new_solidPH: *mut AEGP_LayerH,
14067        ) -> A_Err,
14068    >,
14069    pub AEGP_CreateCameraInComp: ::std::option::Option<
14070        unsafe extern "C" fn(
14071            utf_nameZ: *const A_UTF16Char,
14072            center_point: A_FloatPoint,
14073            parent_compH: AEGP_CompH,
14074            new_cameraPH: *mut AEGP_LayerH,
14075        ) -> A_Err,
14076    >,
14077    pub AEGP_CreateLightInComp: ::std::option::Option<
14078        unsafe extern "C" fn(
14079            utf_nameZ: *const A_UTF16Char,
14080            center_point: A_FloatPoint,
14081            parent_compH: AEGP_CompH,
14082            new_lightPH: *mut AEGP_LayerH,
14083        ) -> A_Err,
14084    >,
14085    pub AEGP_CreateComp: ::std::option::Option<
14086        unsafe extern "C" fn(
14087            parent_folderH0: AEGP_ItemH,
14088            utf_nameZ: *const A_UTF16Char,
14089            widthL: A_long,
14090            heightL: A_long,
14091            pixel_aspect_ratioPRt: *const A_Ratio,
14092            durationPT: *const A_Time,
14093            frameratePRt: *const A_Ratio,
14094            new_compPH: *mut AEGP_CompH,
14095        ) -> A_Err,
14096    >,
14097    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14098        unsafe extern "C" fn(
14099            plugin_id: AEGP_PluginID,
14100            compH: AEGP_CompH,
14101            collectionPH: *mut AEGP_Collection2H,
14102        ) -> A_Err,
14103    >,
14104    pub AEGP_SetSelection: ::std::option::Option<
14105        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14106    >,
14107    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14108        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14109    >,
14110    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14111        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14112    >,
14113    pub AEGP_SetCompDuration: ::std::option::Option<
14114        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14115    >,
14116    pub AEGP_CreateNullInComp: ::std::option::Option<
14117        unsafe extern "C" fn(
14118            utf_nameZ: *const A_UTF16Char,
14119            parent_compH: AEGP_CompH,
14120            durationPT0: *const A_Time,
14121            new_null_solidPH: *mut AEGP_LayerH,
14122        ) -> A_Err,
14123    >,
14124    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14125        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14126    >,
14127    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14128        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14129    >,
14130    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
14131        unsafe extern "C" fn(
14132            parent_compH: AEGP_CompH,
14133            box_dimensions: A_FloatPoint,
14134            new_text_layerPH: *mut AEGP_LayerH,
14135        ) -> A_Err,
14136    >,
14137    pub AEGP_SetCompDimensions: ::std::option::Option<
14138        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14139    >,
14140    pub AEGP_DuplicateComp: ::std::option::Option<
14141        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14142    >,
14143    pub AEGP_GetCompFrameDuration:
14144        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14145    pub AEGP_GetMostRecentlyUsedComp:
14146        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14147    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
14148        unsafe extern "C" fn(
14149            parent_compH: AEGP_CompH,
14150            new_vector_layerPH: *mut AEGP_LayerH,
14151        ) -> A_Err,
14152    >,
14153    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
14154        unsafe extern "C" fn(
14155            aegp_plugin_id: AEGP_PluginID,
14156            parent_compH: AEGP_CompH,
14157            streamPH: *mut AEGP_StreamRefH,
14158        ) -> A_Err,
14159    >,
14160    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
14161        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
14162    >,
14163    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
14164        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
14165    >,
14166}
14167#[repr(C)]
14168#[derive(Debug, Copy, Clone)]
14169pub struct AEGP_CompSuite7 {
14170    pub AEGP_GetCompFromItem: ::std::option::Option<
14171        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14172    >,
14173    pub AEGP_GetItemFromComp: ::std::option::Option<
14174        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14175    >,
14176    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14177        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14178    >,
14179    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14180        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14181    >,
14182    pub AEGP_GetCompBGColor: ::std::option::Option<
14183        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14184    >,
14185    pub AEGP_SetCompBGColor: ::std::option::Option<
14186        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
14187    >,
14188    pub AEGP_GetCompFlags: ::std::option::Option<
14189        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14190    >,
14191    pub AEGP_GetCompFramerate: ::std::option::Option<
14192        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14193    >,
14194    pub AEGP_SetCompFrameRate: ::std::option::Option<
14195        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14196    >,
14197    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14198        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14199    >,
14200    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14201        unsafe extern "C" fn(
14202            compH: AEGP_CompH,
14203            comp_timeP: *const A_Time,
14204            start: *mut A_Time,
14205            duration: *mut A_Time,
14206        ) -> A_Err,
14207    >,
14208    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
14209        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
14210    >,
14211    pub AEGP_SetCompSuggestedMotionBlurSamples:
14212        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
14213    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14214        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14215    >,
14216    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14217        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14218    >,
14219    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14220        unsafe extern "C" fn(
14221            compH: AEGP_CompH,
14222            work_area_startPT: *const A_Time,
14223            work_area_durationPT: *const A_Time,
14224        ) -> A_Err,
14225    >,
14226    pub AEGP_CreateSolidInComp: ::std::option::Option<
14227        unsafe extern "C" fn(
14228            utf_nameZ: *const A_UTF16Char,
14229            width: A_long,
14230            height: A_long,
14231            color: *const AEGP_ColorVal,
14232            parent_compH: AEGP_CompH,
14233            durationPT0: *const A_Time,
14234            new_solidPH: *mut AEGP_LayerH,
14235        ) -> A_Err,
14236    >,
14237    pub AEGP_CreateCameraInComp: ::std::option::Option<
14238        unsafe extern "C" fn(
14239            utf_nameZ: *const A_UTF16Char,
14240            center_point: A_FloatPoint,
14241            parent_compH: AEGP_CompH,
14242            new_cameraPH: *mut AEGP_LayerH,
14243        ) -> A_Err,
14244    >,
14245    pub AEGP_CreateLightInComp: ::std::option::Option<
14246        unsafe extern "C" fn(
14247            utf_nameZ: *const A_UTF16Char,
14248            center_point: A_FloatPoint,
14249            parent_compH: AEGP_CompH,
14250            new_lightPH: *mut AEGP_LayerH,
14251        ) -> A_Err,
14252    >,
14253    pub AEGP_CreateComp: ::std::option::Option<
14254        unsafe extern "C" fn(
14255            parent_folderH0: AEGP_ItemH,
14256            utf_nameZ: *const A_UTF16Char,
14257            widthL: A_long,
14258            heightL: A_long,
14259            pixel_aspect_ratioPRt: *const A_Ratio,
14260            durationPT: *const A_Time,
14261            frameratePRt: *const A_Ratio,
14262            new_compPH: *mut AEGP_CompH,
14263        ) -> A_Err,
14264    >,
14265    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14266        unsafe extern "C" fn(
14267            plugin_id: AEGP_PluginID,
14268            compH: AEGP_CompH,
14269            collectionPH: *mut AEGP_Collection2H,
14270        ) -> A_Err,
14271    >,
14272    pub AEGP_SetSelection: ::std::option::Option<
14273        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14274    >,
14275    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14276        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14277    >,
14278    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14279        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14280    >,
14281    pub AEGP_SetCompDuration: ::std::option::Option<
14282        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14283    >,
14284    pub AEGP_CreateNullInComp: ::std::option::Option<
14285        unsafe extern "C" fn(
14286            utf_nameZ: *const A_UTF16Char,
14287            parent_compH: AEGP_CompH,
14288            durationPT0: *const A_Time,
14289            new_null_solidPH: *mut AEGP_LayerH,
14290        ) -> A_Err,
14291    >,
14292    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14293        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14294    >,
14295    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14296        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14297    >,
14298    pub AEGP_SetCompDimensions: ::std::option::Option<
14299        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14300    >,
14301    pub AEGP_DuplicateComp: ::std::option::Option<
14302        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14303    >,
14304    pub AEGP_GetCompFrameDuration:
14305        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14306    pub AEGP_GetMostRecentlyUsedComp:
14307        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14308    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
14309        unsafe extern "C" fn(
14310            parent_compH: AEGP_CompH,
14311            new_vector_layerPH: *mut AEGP_LayerH,
14312        ) -> A_Err,
14313    >,
14314    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
14315        unsafe extern "C" fn(
14316            aegp_plugin_id: AEGP_PluginID,
14317            parent_compH: AEGP_CompH,
14318            streamPH: *mut AEGP_StreamRefH,
14319        ) -> A_Err,
14320    >,
14321}
14322#[repr(C)]
14323#[derive(Debug, Copy, Clone)]
14324pub struct AEGP_CompSuite6 {
14325    pub AEGP_GetCompFromItem: ::std::option::Option<
14326        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14327    >,
14328    pub AEGP_GetItemFromComp: ::std::option::Option<
14329        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14330    >,
14331    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14332        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14333    >,
14334    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14335        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14336    >,
14337    pub AEGP_GetCompBGColor: ::std::option::Option<
14338        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14339    >,
14340    pub AEGP_SetCompBGColor: ::std::option::Option<
14341        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
14342    >,
14343    pub AEGP_GetCompFlags: ::std::option::Option<
14344        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14345    >,
14346    pub AEGP_GetCompFramerate: ::std::option::Option<
14347        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14348    >,
14349    pub AEGP_SetCompFrameRate: ::std::option::Option<
14350        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14351    >,
14352    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14353        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14354    >,
14355    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14356        unsafe extern "C" fn(
14357            compH: AEGP_CompH,
14358            comp_timeP: *const A_Time,
14359            start: *mut A_Time,
14360            duration: *mut A_Time,
14361        ) -> A_Err,
14362    >,
14363    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
14364        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
14365    >,
14366    pub AEGP_SetCompSuggestedMotionBlurSamples:
14367        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
14368    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14369        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14370    >,
14371    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14372        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14373    >,
14374    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14375        unsafe extern "C" fn(
14376            compH: AEGP_CompH,
14377            work_area_startPT: *const A_Time,
14378            work_area_durationPT: *const A_Time,
14379        ) -> A_Err,
14380    >,
14381    pub AEGP_CreateSolidInComp: ::std::option::Option<
14382        unsafe extern "C" fn(
14383            nameZ: *const A_char,
14384            width: A_long,
14385            height: A_long,
14386            color: *const AEGP_ColorVal,
14387            parent_compH: AEGP_CompH,
14388            durationPT0: *const A_Time,
14389            new_solidPH: *mut AEGP_LayerH,
14390        ) -> A_Err,
14391    >,
14392    pub AEGP_CreateCameraInComp: ::std::option::Option<
14393        unsafe extern "C" fn(
14394            nameZ: *const A_char,
14395            center_point: A_FloatPoint,
14396            parent_compH: AEGP_CompH,
14397            new_cameraPH: *mut AEGP_LayerH,
14398        ) -> A_Err,
14399    >,
14400    pub AEGP_CreateLightInComp: ::std::option::Option<
14401        unsafe extern "C" fn(
14402            nameZ: *const A_char,
14403            center_point: A_FloatPoint,
14404            parent_compH: AEGP_CompH,
14405            new_lightPH: *mut AEGP_LayerH,
14406        ) -> A_Err,
14407    >,
14408    pub AEGP_CreateComp: ::std::option::Option<
14409        unsafe extern "C" fn(
14410            parent_folderH0: AEGP_ItemH,
14411            nameZ: *const A_char,
14412            widthL: A_long,
14413            heightL: A_long,
14414            pixel_aspect_ratioPRt: *const A_Ratio,
14415            durationPT: *const A_Time,
14416            frameratePRt: *const A_Ratio,
14417            new_compPH: *mut AEGP_CompH,
14418        ) -> A_Err,
14419    >,
14420    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14421        unsafe extern "C" fn(
14422            plugin_id: AEGP_PluginID,
14423            compH: AEGP_CompH,
14424            collectionPH: *mut AEGP_Collection2H,
14425        ) -> A_Err,
14426    >,
14427    pub AEGP_SetSelection: ::std::option::Option<
14428        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14429    >,
14430    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14431        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14432    >,
14433    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14434        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14435    >,
14436    pub AEGP_SetCompDuration: ::std::option::Option<
14437        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14438    >,
14439    pub AEGP_CreateNullInComp: ::std::option::Option<
14440        unsafe extern "C" fn(
14441            nameZ: *const A_char,
14442            parent_compH: AEGP_CompH,
14443            durationPT0: *const A_Time,
14444            new_null_solidPH: *mut AEGP_LayerH,
14445        ) -> A_Err,
14446    >,
14447    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14448        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14449    >,
14450    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14451        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14452    >,
14453    pub AEGP_SetCompDimensions: ::std::option::Option<
14454        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14455    >,
14456    pub AEGP_DuplicateComp: ::std::option::Option<
14457        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14458    >,
14459    pub AEGP_GetCompFrameDuration:
14460        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14461    pub AEGP_GetMostRecentlyUsedComp:
14462        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14463    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
14464        unsafe extern "C" fn(
14465            parent_compH: AEGP_CompH,
14466            new_vector_layerPH: *mut AEGP_LayerH,
14467        ) -> A_Err,
14468    >,
14469    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
14470        unsafe extern "C" fn(
14471            aegp_plugin_id: AEGP_PluginID,
14472            parent_compH: AEGP_CompH,
14473            streamPH: *mut AEGP_StreamRefH,
14474        ) -> A_Err,
14475    >,
14476}
14477#[repr(C)]
14478#[derive(Debug, Copy, Clone)]
14479pub struct AEGP_CompSuite5 {
14480    pub AEGP_GetCompFromItem: ::std::option::Option<
14481        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14482    >,
14483    pub AEGP_GetItemFromComp: ::std::option::Option<
14484        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14485    >,
14486    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14487        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14488    >,
14489    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14490        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14491    >,
14492    pub AEGP_GetCompBGColor: ::std::option::Option<
14493        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14494    >,
14495    pub AEGP_SetCompBGColor: ::std::option::Option<
14496        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
14497    >,
14498    pub AEGP_GetCompFlags: ::std::option::Option<
14499        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14500    >,
14501    pub AEGP_GetCompFramerate: ::std::option::Option<
14502        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14503    >,
14504    pub AEGP_SetCompFrameRate: ::std::option::Option<
14505        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14506    >,
14507    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14508        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14509    >,
14510    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14511        unsafe extern "C" fn(
14512            compH: AEGP_CompH,
14513            comp_timeP: *const A_Time,
14514            start: *mut A_Time,
14515            duration: *mut A_Time,
14516        ) -> A_Err,
14517    >,
14518    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14519        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14520    >,
14521    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14522        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14523    >,
14524    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14525        unsafe extern "C" fn(
14526            compH: AEGP_CompH,
14527            work_area_startPT: *mut A_Time,
14528            work_area_durationPT: *mut A_Time,
14529        ) -> A_Err,
14530    >,
14531    pub AEGP_CreateSolidInComp: ::std::option::Option<
14532        unsafe extern "C" fn(
14533            nameZ: *const A_char,
14534            width: A_long,
14535            height: A_long,
14536            color: *const AEGP_ColorVal,
14537            parent_compH: AEGP_CompH,
14538            durationPT0: *const A_Time,
14539            new_solidPH: *mut AEGP_LayerH,
14540        ) -> A_Err,
14541    >,
14542    pub AEGP_CreateCameraInComp: ::std::option::Option<
14543        unsafe extern "C" fn(
14544            nameZ: *const A_char,
14545            center_point: A_FloatPoint,
14546            parent_compH: AEGP_CompH,
14547            new_cameraPH: *mut AEGP_LayerH,
14548        ) -> A_Err,
14549    >,
14550    pub AEGP_CreateLightInComp: ::std::option::Option<
14551        unsafe extern "C" fn(
14552            nameZ: *const A_char,
14553            center_point: A_FloatPoint,
14554            parent_compH: AEGP_CompH,
14555            new_lightPH: *mut AEGP_LayerH,
14556        ) -> A_Err,
14557    >,
14558    pub AEGP_CreateComp: ::std::option::Option<
14559        unsafe extern "C" fn(
14560            parent_folderH0: AEGP_ItemH,
14561            nameZ: *const A_char,
14562            widthL: A_long,
14563            heightL: A_long,
14564            pixel_aspect_ratioPRt: *const A_Ratio,
14565            durationPT: *const A_Time,
14566            frameratePRt: *const A_Ratio,
14567            new_compPH: *mut AEGP_CompH,
14568        ) -> A_Err,
14569    >,
14570    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14571        unsafe extern "C" fn(
14572            plugin_id: AEGP_PluginID,
14573            compH: AEGP_CompH,
14574            collectionPH: *mut AEGP_Collection2H,
14575        ) -> A_Err,
14576    >,
14577    pub AEGP_SetSelection: ::std::option::Option<
14578        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14579    >,
14580    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14581        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14582    >,
14583    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14584        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14585    >,
14586    pub AEGP_SetCompDuration: ::std::option::Option<
14587        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14588    >,
14589    pub AEGP_CreateNullInComp: ::std::option::Option<
14590        unsafe extern "C" fn(
14591            nameZ: *const A_char,
14592            parent_compH: AEGP_CompH,
14593            durationPT0: *const A_Time,
14594            new_null_solidPH: *mut AEGP_LayerH,
14595        ) -> A_Err,
14596    >,
14597    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14598        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14599    >,
14600    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14601        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14602    >,
14603    pub AEGP_SetCompDimensions: ::std::option::Option<
14604        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14605    >,
14606    pub AEGP_DuplicateComp: ::std::option::Option<
14607        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14608    >,
14609    pub AEGP_GetCompFrameDuration:
14610        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14611    pub AEGP_GetMostRecentlyUsedComp:
14612        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14613}
14614#[repr(C)]
14615#[derive(Debug, Copy, Clone)]
14616pub struct AEGP_CompSuite4 {
14617    pub AEGP_GetCompFromItem: ::std::option::Option<
14618        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14619    >,
14620    pub AEGP_GetItemFromComp: ::std::option::Option<
14621        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14622    >,
14623    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14624        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14625    >,
14626    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14627        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14628    >,
14629    pub AEGP_GetCompBGColor: ::std::option::Option<
14630        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14631    >,
14632    pub AEGP_GetCompFlags: ::std::option::Option<
14633        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14634    >,
14635    pub AEGP_GetCompFramerate: ::std::option::Option<
14636        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14637    >,
14638    pub AEGP_SetCompFrameRate: ::std::option::Option<
14639        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14640    >,
14641    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14642        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14643    >,
14644    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14645        unsafe extern "C" fn(
14646            compH: AEGP_CompH,
14647            comp_timeP: *const A_Time,
14648            start: *mut A_Time,
14649            duration: *mut A_Time,
14650        ) -> A_Err,
14651    >,
14652    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14653        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14654    >,
14655    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14656        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14657    >,
14658    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14659        unsafe extern "C" fn(
14660            compH: AEGP_CompH,
14661            work_area_startPT: *mut A_Time,
14662            work_area_durationPT: *mut A_Time,
14663        ) -> A_Err,
14664    >,
14665    pub AEGP_CreateSolidInComp: ::std::option::Option<
14666        unsafe extern "C" fn(
14667            nameZ: *const A_char,
14668            width: A_long,
14669            height: A_long,
14670            color: *const AEGP_ColorVal,
14671            parent_compH: AEGP_CompH,
14672            durationPT0: *const A_Time,
14673            new_solidPH: *mut AEGP_LayerH,
14674        ) -> A_Err,
14675    >,
14676    pub AEGP_CreateCameraInComp: ::std::option::Option<
14677        unsafe extern "C" fn(
14678            nameZ: *const A_char,
14679            center_point: A_FloatPoint,
14680            parent_compH: AEGP_CompH,
14681            new_cameraPH: *mut AEGP_LayerH,
14682        ) -> A_Err,
14683    >,
14684    pub AEGP_CreateLightInComp: ::std::option::Option<
14685        unsafe extern "C" fn(
14686            nameZ: *const A_char,
14687            center_point: A_FloatPoint,
14688            parent_compH: AEGP_CompH,
14689            new_lightPH: *mut AEGP_LayerH,
14690        ) -> A_Err,
14691    >,
14692    pub AEGP_CreateComp: ::std::option::Option<
14693        unsafe extern "C" fn(
14694            parent_folderH0: AEGP_ItemH,
14695            nameZ: *const A_char,
14696            widthL: A_long,
14697            heightL: A_long,
14698            pixel_aspect_ratioPRt: *const A_Ratio,
14699            durationPT: *const A_Time,
14700            frameratePRt: *const A_Ratio,
14701            new_compPH: *mut AEGP_CompH,
14702        ) -> A_Err,
14703    >,
14704    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14705        unsafe extern "C" fn(
14706            plugin_id: AEGP_PluginID,
14707            compH: AEGP_CompH,
14708            collectionPH: *mut AEGP_Collection2H,
14709        ) -> A_Err,
14710    >,
14711    pub AEGP_SetSelection: ::std::option::Option<
14712        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14713    >,
14714    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14715        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14716    >,
14717    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14718        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14719    >,
14720    pub AEGP_SetCompDuration: ::std::option::Option<
14721        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14722    >,
14723    pub AEGP_CreateNullInComp: ::std::option::Option<
14724        unsafe extern "C" fn(
14725            nameZ: *const A_char,
14726            parent_compH: AEGP_CompH,
14727            durationPT0: *const A_Time,
14728            new_null_solidPH: *mut AEGP_LayerH,
14729        ) -> A_Err,
14730    >,
14731    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14732        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14733    >,
14734    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14735        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14736    >,
14737    pub AEGP_SetCompDimensions: ::std::option::Option<
14738        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14739    >,
14740    pub AEGP_DuplicateComp: ::std::option::Option<
14741        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14742    >,
14743    pub AEGP_GetCompFrameDuration:
14744        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14745}
14746#[repr(C)]
14747#[derive(Debug, Copy, Clone)]
14748pub struct AEGP_CompSuite3 {
14749    pub AEGP_GetCompFromItem: ::std::option::Option<
14750        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14751    >,
14752    pub AEGP_GetItemFromComp: ::std::option::Option<
14753        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14754    >,
14755    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14756        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14757    >,
14758    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14759        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14760    >,
14761    pub AEGP_GetCompBGColor: ::std::option::Option<
14762        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14763    >,
14764    pub AEGP_GetCompFlags: ::std::option::Option<
14765        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14766    >,
14767    pub AEGP_GetCompFramerate: ::std::option::Option<
14768        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14769    >,
14770    pub AEGP_SetCompFrameRate: ::std::option::Option<
14771        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14772    >,
14773    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14774        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14775    >,
14776    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14777        unsafe extern "C" fn(
14778            compH: AEGP_CompH,
14779            comp_timeP: *const A_Time,
14780            start: *mut A_Time,
14781            duration: *mut A_Time,
14782        ) -> A_Err,
14783    >,
14784    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14785        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14786    >,
14787    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14788        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14789    >,
14790    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14791        unsafe extern "C" fn(
14792            compH: AEGP_CompH,
14793            work_area_startPT: *mut A_Time,
14794            work_area_durationPT: *mut A_Time,
14795        ) -> A_Err,
14796    >,
14797    pub AEGP_CreateSolidInComp: ::std::option::Option<
14798        unsafe extern "C" fn(
14799            nameZ: *const A_char,
14800            width: A_long,
14801            height: A_long,
14802            color: *const AEGP_ColorVal,
14803            parent_compH: AEGP_CompH,
14804            durationPT0: *const A_Time,
14805            new_solidPH: *mut AEGP_LayerH,
14806        ) -> A_Err,
14807    >,
14808    pub AEGP_CreateCameraInComp: ::std::option::Option<
14809        unsafe extern "C" fn(
14810            nameZ: *const A_char,
14811            center_point: A_FloatPoint,
14812            parent_compH: AEGP_CompH,
14813            new_cameraPH: *mut AEGP_LayerH,
14814        ) -> A_Err,
14815    >,
14816    pub AEGP_CreateLightInComp: ::std::option::Option<
14817        unsafe extern "C" fn(
14818            nameZ: *const A_char,
14819            center_point: A_FloatPoint,
14820            parent_compH: AEGP_CompH,
14821            new_lightPH: *mut AEGP_LayerH,
14822        ) -> A_Err,
14823    >,
14824    pub AEGP_CreateComp: ::std::option::Option<
14825        unsafe extern "C" fn(
14826            parent_folderH0: AEGP_ItemH,
14827            nameZ: *const A_char,
14828            widthL: A_long,
14829            heightL: A_long,
14830            pixel_aspect_ratioPRt: *const A_Ratio,
14831            durationPT: *const A_Time,
14832            frameratePRt: *const A_Ratio,
14833            new_compPH: *mut AEGP_CompH,
14834        ) -> A_Err,
14835    >,
14836    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14837        unsafe extern "C" fn(
14838            plugin_id: AEGP_PluginID,
14839            compH: AEGP_CompH,
14840            collectionPH: *mut AEGP_CollectionH,
14841        ) -> A_Err,
14842    >,
14843    pub AEGP_SetSelection: ::std::option::Option<
14844        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
14845    >,
14846    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14847        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14848    >,
14849    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14850        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14851    >,
14852    pub AEGP_SetCompDuration: ::std::option::Option<
14853        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14854    >,
14855    pub AEGP_CreateNullInComp: ::std::option::Option<
14856        unsafe extern "C" fn(
14857            nameZ: *const A_char,
14858            parent_compH: AEGP_CompH,
14859            durationPT0: *const A_Time,
14860            new_null_solidPH: *mut AEGP_LayerH,
14861        ) -> A_Err,
14862    >,
14863    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14864        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14865    >,
14866    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14867        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14868    >,
14869}
14870#[repr(C)]
14871#[derive(Debug, Copy, Clone)]
14872pub struct AEGP_CompSuite2 {
14873    pub AEGP_GetCompFromItem: ::std::option::Option<
14874        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14875    >,
14876    pub AEGP_GetItemFromComp: ::std::option::Option<
14877        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14878    >,
14879    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14880        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14881    >,
14882    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14883        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14884    >,
14885    pub AEGP_GetCompBGColor: ::std::option::Option<
14886        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14887    >,
14888    pub AEGP_GetCompFlags: ::std::option::Option<
14889        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14890    >,
14891    pub AEGP_GetCompFramerate: ::std::option::Option<
14892        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14893    >,
14894    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14895        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14896    >,
14897    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14898        unsafe extern "C" fn(
14899            compH: AEGP_CompH,
14900            comp_timeP: *const A_Time,
14901            start: *mut A_Time,
14902            duration: *mut A_Time,
14903        ) -> A_Err,
14904    >,
14905    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14906        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14907    >,
14908    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14909        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14910    >,
14911    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14912        unsafe extern "C" fn(
14913            compH: AEGP_CompH,
14914            work_area_startPT: *mut A_Time,
14915            work_area_durationPT: *mut A_Time,
14916        ) -> A_Err,
14917    >,
14918    pub AEGP_CreateSolidInComp: ::std::option::Option<
14919        unsafe extern "C" fn(
14920            nameZ: *const A_char,
14921            width: A_long,
14922            height: A_long,
14923            color: *const AEGP_ColorVal,
14924            parent_compH: AEGP_ItemH,
14925            durationPT0: *const A_Time,
14926            new_solidPH: *mut AEGP_LayerH,
14927        ) -> A_Err,
14928    >,
14929    pub AEGP_CreateCameraInComp: ::std::option::Option<
14930        unsafe extern "C" fn(
14931            nameZ: *const A_char,
14932            center_point: A_FloatPoint,
14933            parent_compH: AEGP_ItemH,
14934            new_cameraPH: *mut AEGP_LayerH,
14935        ) -> A_Err,
14936    >,
14937    pub AEGP_CreateLightInComp: ::std::option::Option<
14938        unsafe extern "C" fn(
14939            nameZ: *const A_char,
14940            center_point: A_FloatPoint,
14941            parent_compH: AEGP_ItemH,
14942            new_lightPH: *mut AEGP_LayerH,
14943        ) -> A_Err,
14944    >,
14945    pub AEGP_CreateComp: ::std::option::Option<
14946        unsafe extern "C" fn(
14947            parent_folderH0: AEGP_ItemH,
14948            nameZ: *const A_char,
14949            widthL: A_long,
14950            heightL: A_long,
14951            pixel_aspect_ratioPRt: *const A_Ratio,
14952            durationPT: *const A_Time,
14953            frameratePRt: *const A_Ratio,
14954            new_compPH: *mut AEGP_CompH,
14955        ) -> A_Err,
14956    >,
14957    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14958        unsafe extern "C" fn(
14959            plugin_id: AEGP_PluginID,
14960            compH: AEGP_CompH,
14961            collectionPH: *mut AEGP_CollectionH,
14962        ) -> A_Err,
14963    >,
14964    pub AEGP_SetSelection: ::std::option::Option<
14965        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
14966    >,
14967    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14968        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14969    >,
14970    pub AEGP_SetCompDuration: ::std::option::Option<
14971        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14972    >,
14973    pub AEGP_CreateNullInComp: ::std::option::Option<
14974        unsafe extern "C" fn(
14975            nameZ: *const A_char,
14976            parent_compH: AEGP_CompH,
14977            durationPT0: *const A_Time,
14978            new_null_solidPH: *mut AEGP_LayerH,
14979        ) -> A_Err,
14980    >,
14981}
14982#[repr(C)]
14983#[derive(Debug, Copy, Clone)]
14984pub struct AEGP_CompSuite1 {
14985    pub AEGP_GetCompFromItem: ::std::option::Option<
14986        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14987    >,
14988    pub AEGP_GetItemFromComp: ::std::option::Option<
14989        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14990    >,
14991    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14992        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14993    >,
14994    pub AEGP_GetCompBGColor: ::std::option::Option<
14995        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14996    >,
14997    pub AEGP_GetCompFlags: ::std::option::Option<
14998        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14999    >,
15000    pub AEGP_GetCompFramerate: ::std::option::Option<
15001        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
15002    >,
15003    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
15004        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
15005    >,
15006    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
15007        unsafe extern "C" fn(
15008            compH: AEGP_CompH,
15009            comp_timeP: *const A_Time,
15010            start: *mut A_Time,
15011            duration: *mut A_Time,
15012        ) -> A_Err,
15013    >,
15014    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
15015        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
15016    >,
15017    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
15018        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
15019    >,
15020    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
15021        unsafe extern "C" fn(
15022            compH: AEGP_CompH,
15023            work_area_startPT: *mut A_Time,
15024            work_area_durationPT: *mut A_Time,
15025        ) -> A_Err,
15026    >,
15027    pub AEGP_CreateSolidInComp: ::std::option::Option<
15028        unsafe extern "C" fn(
15029            nameZ: *const A_char,
15030            width: A_long,
15031            height: A_long,
15032            color: *const AEGP_ColorVal,
15033            parent_compH: AEGP_ItemH,
15034            new_solidPH: *mut AEGP_LayerH,
15035        ) -> A_Err,
15036    >,
15037    pub AEGP_CreateComp: ::std::option::Option<
15038        unsafe extern "C" fn(
15039            parent_folderH0: AEGP_ItemH,
15040            nameZ: *const A_char,
15041            widthL: A_long,
15042            heightL: A_long,
15043            pixel_aspect_ratioPRt: *const A_Ratio,
15044            durationPT: *const A_Time,
15045            frameratePRt: *const A_Ratio,
15046            new_compPH: *mut AEGP_ItemH,
15047        ) -> A_Err,
15048    >,
15049    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
15050        unsafe extern "C" fn(
15051            plugin_id: AEGP_PluginID,
15052            compH: AEGP_CompH,
15053            collectionPH: *mut AEGP_CollectionH,
15054        ) -> A_Err,
15055    >,
15056    pub AEGP_SetSelection: ::std::option::Option<
15057        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
15058    >,
15059    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
15060        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
15061    >,
15062    pub AEGP_SetCompDuration: ::std::option::Option<
15063        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
15064    >,
15065}
15066#[repr(C)]
15067#[derive(Debug, Copy, Clone)]
15068pub struct AEGP_LayerSuite8 {
15069    pub AEGP_GetCompNumLayers: ::std::option::Option<
15070        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15071    >,
15072    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15073        unsafe extern "C" fn(
15074            compH: AEGP_CompH,
15075            layer_indexL: A_long,
15076            layerPH: *mut AEGP_LayerH,
15077        ) -> A_Err,
15078    >,
15079    pub AEGP_GetActiveLayer:
15080        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15081    pub AEGP_GetLayerIndex: ::std::option::Option<
15082        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15083    >,
15084    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15085        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15086    >,
15087    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15088        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15089    >,
15090    pub AEGP_GetLayerParentComp: ::std::option::Option<
15091        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15092    >,
15093    pub AEGP_GetLayerName: ::std::option::Option<
15094        unsafe extern "C" fn(
15095            pluginID: AEGP_PluginID,
15096            layerH: AEGP_LayerH,
15097            utf_layer_namePH0: *mut AEGP_MemHandle,
15098            utf_source_namePH0: *mut AEGP_MemHandle,
15099        ) -> A_Err,
15100    >,
15101    pub AEGP_GetLayerQuality: ::std::option::Option<
15102        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15103    >,
15104    pub AEGP_SetLayerQuality: ::std::option::Option<
15105        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15106    >,
15107    pub AEGP_GetLayerFlags: ::std::option::Option<
15108        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15109    >,
15110    pub AEGP_SetLayerFlag: ::std::option::Option<
15111        unsafe extern "C" fn(
15112            layerH: AEGP_LayerH,
15113            single_flag: AEGP_LayerFlags,
15114            valueB: A_Boolean,
15115        ) -> A_Err,
15116    >,
15117    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15118        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15119    >,
15120    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15121        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15122    >,
15123    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15124        unsafe extern "C" fn(
15125            layerH: AEGP_LayerH,
15126            time_mode: AEGP_LTimeMode,
15127            curr_timePT: *mut A_Time,
15128        ) -> A_Err,
15129    >,
15130    pub AEGP_GetLayerInPoint: ::std::option::Option<
15131        unsafe extern "C" fn(
15132            layerH: AEGP_LayerH,
15133            time_mode: AEGP_LTimeMode,
15134            in_pointPT: *mut A_Time,
15135        ) -> A_Err,
15136    >,
15137    pub AEGP_GetLayerDuration: ::std::option::Option<
15138        unsafe extern "C" fn(
15139            layerH: AEGP_LayerH,
15140            time_mode: AEGP_LTimeMode,
15141            durationPT: *mut A_Time,
15142        ) -> A_Err,
15143    >,
15144    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15145        unsafe extern "C" fn(
15146            layerH: AEGP_LayerH,
15147            time_mode: AEGP_LTimeMode,
15148            in_pointPT: *const A_Time,
15149            durationPT: *const A_Time,
15150        ) -> A_Err,
15151    >,
15152    pub AEGP_GetLayerOffset: ::std::option::Option<
15153        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15154    >,
15155    pub AEGP_SetLayerOffset: ::std::option::Option<
15156        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15157    >,
15158    pub AEGP_GetLayerStretch: ::std::option::Option<
15159        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15160    >,
15161    pub AEGP_SetLayerStretch: ::std::option::Option<
15162        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15163    >,
15164    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15165        unsafe extern "C" fn(
15166            layerH: AEGP_LayerH,
15167            transfer_modeP: *mut AEGP_LayerTransferMode,
15168        ) -> A_Err,
15169    >,
15170    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15171        unsafe extern "C" fn(
15172            layerH: AEGP_LayerH,
15173            transfer_modeP: *const AEGP_LayerTransferMode,
15174        ) -> A_Err,
15175    >,
15176    pub AEGP_IsAddLayerValid: ::std::option::Option<
15177        unsafe extern "C" fn(
15178            item_to_addH: AEGP_ItemH,
15179            into_compH: AEGP_CompH,
15180            validPB: *mut A_Boolean,
15181        ) -> A_Err,
15182    >,
15183    pub AEGP_AddLayer: ::std::option::Option<
15184        unsafe extern "C" fn(
15185            item_to_addH: AEGP_ItemH,
15186            into_compH: AEGP_CompH,
15187            added_layerPH0: *mut AEGP_LayerH,
15188        ) -> A_Err,
15189    >,
15190    pub AEGP_ReorderLayer: ::std::option::Option<
15191        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15192    >,
15193    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15194        unsafe extern "C" fn(
15195            layerH: AEGP_LayerH,
15196            time_mode: AEGP_LTimeMode,
15197            timePT: *const A_Time,
15198            boundsPR: *mut A_FloatRect,
15199        ) -> A_Err,
15200    >,
15201    pub AEGP_GetLayerObjectType: ::std::option::Option<
15202        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15203    >,
15204    pub AEGP_IsLayer3D: ::std::option::Option<
15205        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15206    >,
15207    pub AEGP_IsLayer2D: ::std::option::Option<
15208        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15209    >,
15210    pub AEGP_IsVideoActive: ::std::option::Option<
15211        unsafe extern "C" fn(
15212            layerH: AEGP_LayerH,
15213            time_mode: AEGP_LTimeMode,
15214            timePT: *const A_Time,
15215            is_activePB: *mut A_Boolean,
15216        ) -> A_Err,
15217    >,
15218    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15219        unsafe extern "C" fn(
15220            layerH: AEGP_LayerH,
15221            fill_must_be_activeB: A_Boolean,
15222            is_track_mattePB: *mut A_Boolean,
15223        ) -> A_Err,
15224    >,
15225    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15226        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15227    >,
15228    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15229        unsafe extern "C" fn(
15230            layerH: AEGP_LayerH,
15231            comp_timePT: *const A_Time,
15232            layer_timePT: *mut A_Time,
15233        ) -> A_Err,
15234    >,
15235    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15236        unsafe extern "C" fn(
15237            layerH: AEGP_LayerH,
15238            layer_timePT: *const A_Time,
15239            comp_timePT: *mut A_Time,
15240        ) -> A_Err,
15241    >,
15242    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15243        unsafe extern "C" fn(
15244            layerH: AEGP_LayerH,
15245            comp_timePT: *const A_Time,
15246            rand_valuePL: *mut A_long,
15247        ) -> A_Err,
15248    >,
15249    pub AEGP_GetLayerID: ::std::option::Option<
15250        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15251    >,
15252    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15253        unsafe extern "C" fn(
15254            aegp_layerH: AEGP_LayerH,
15255            comp_timeP: *const A_Time,
15256            transform: *mut A_Matrix4,
15257        ) -> A_Err,
15258    >,
15259    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15260        unsafe extern "C" fn(
15261            aegp_layerH: AEGP_LayerH,
15262            view_timeP: *const A_Time,
15263            comp_timeP: *const A_Time,
15264            transform: *mut A_Matrix4,
15265        ) -> A_Err,
15266    >,
15267    pub AEGP_SetLayerName: ::std::option::Option<
15268        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
15269    >,
15270    pub AEGP_GetLayerParent: ::std::option::Option<
15271        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15272    >,
15273    pub AEGP_SetLayerParent: ::std::option::Option<
15274        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15275    >,
15276    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15277    pub AEGP_DuplicateLayer: ::std::option::Option<
15278        unsafe extern "C" fn(
15279            orig_layerH: AEGP_LayerH,
15280            duplicate_layerPH: *mut AEGP_LayerH,
15281        ) -> A_Err,
15282    >,
15283    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15284        unsafe extern "C" fn(
15285            parent_compH: AEGP_CompH,
15286            id: AEGP_LayerIDVal,
15287            layerPH: *mut AEGP_LayerH,
15288        ) -> A_Err,
15289    >,
15290    pub AEGP_GetLayerLabel: ::std::option::Option<
15291        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
15292    >,
15293    pub AEGP_SetLayerLabel: ::std::option::Option<
15294        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
15295    >,
15296    pub AEGP_GetLayerSamplingQuality: ::std::option::Option<
15297        unsafe extern "C" fn(
15298            layerH: AEGP_LayerH,
15299            qualityP: *mut AEGP_LayerSamplingQuality,
15300        ) -> A_Err,
15301    >,
15302    pub AEGP_SetLayerSamplingQuality: ::std::option::Option<
15303        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerSamplingQuality) -> A_Err,
15304    >,
15305}
15306#[repr(C)]
15307#[derive(Debug, Copy, Clone)]
15308pub struct AEGP_LayerSuite7 {
15309    pub AEGP_GetCompNumLayers: ::std::option::Option<
15310        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15311    >,
15312    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15313        unsafe extern "C" fn(
15314            compH: AEGP_CompH,
15315            layer_indexL: A_long,
15316            layerPH: *mut AEGP_LayerH,
15317        ) -> A_Err,
15318    >,
15319    pub AEGP_GetActiveLayer:
15320        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15321    pub AEGP_GetLayerIndex: ::std::option::Option<
15322        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15323    >,
15324    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15325        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15326    >,
15327    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15328        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15329    >,
15330    pub AEGP_GetLayerParentComp: ::std::option::Option<
15331        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15332    >,
15333    pub AEGP_GetLayerName: ::std::option::Option<
15334        unsafe extern "C" fn(
15335            pluginID: AEGP_PluginID,
15336            layerH: AEGP_LayerH,
15337            utf_layer_namePH0: *mut AEGP_MemHandle,
15338            utf_source_namePH0: *mut AEGP_MemHandle,
15339        ) -> A_Err,
15340    >,
15341    pub AEGP_GetLayerQuality: ::std::option::Option<
15342        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15343    >,
15344    pub AEGP_SetLayerQuality: ::std::option::Option<
15345        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15346    >,
15347    pub AEGP_GetLayerFlags: ::std::option::Option<
15348        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15349    >,
15350    pub AEGP_SetLayerFlag: ::std::option::Option<
15351        unsafe extern "C" fn(
15352            layerH: AEGP_LayerH,
15353            single_flag: AEGP_LayerFlags,
15354            valueB: A_Boolean,
15355        ) -> A_Err,
15356    >,
15357    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15358        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15359    >,
15360    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15361        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15362    >,
15363    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15364        unsafe extern "C" fn(
15365            layerH: AEGP_LayerH,
15366            time_mode: AEGP_LTimeMode,
15367            curr_timePT: *mut A_Time,
15368        ) -> A_Err,
15369    >,
15370    pub AEGP_GetLayerInPoint: ::std::option::Option<
15371        unsafe extern "C" fn(
15372            layerH: AEGP_LayerH,
15373            time_mode: AEGP_LTimeMode,
15374            in_pointPT: *mut A_Time,
15375        ) -> A_Err,
15376    >,
15377    pub AEGP_GetLayerDuration: ::std::option::Option<
15378        unsafe extern "C" fn(
15379            layerH: AEGP_LayerH,
15380            time_mode: AEGP_LTimeMode,
15381            durationPT: *mut A_Time,
15382        ) -> A_Err,
15383    >,
15384    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15385        unsafe extern "C" fn(
15386            layerH: AEGP_LayerH,
15387            time_mode: AEGP_LTimeMode,
15388            in_pointPT: *const A_Time,
15389            durationPT: *const A_Time,
15390        ) -> A_Err,
15391    >,
15392    pub AEGP_GetLayerOffset: ::std::option::Option<
15393        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15394    >,
15395    pub AEGP_SetLayerOffset: ::std::option::Option<
15396        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15397    >,
15398    pub AEGP_GetLayerStretch: ::std::option::Option<
15399        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15400    >,
15401    pub AEGP_SetLayerStretch: ::std::option::Option<
15402        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15403    >,
15404    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15405        unsafe extern "C" fn(
15406            layerH: AEGP_LayerH,
15407            transfer_modeP: *mut AEGP_LayerTransferMode,
15408        ) -> A_Err,
15409    >,
15410    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15411        unsafe extern "C" fn(
15412            layerH: AEGP_LayerH,
15413            transfer_modeP: *const AEGP_LayerTransferMode,
15414        ) -> A_Err,
15415    >,
15416    pub AEGP_IsAddLayerValid: ::std::option::Option<
15417        unsafe extern "C" fn(
15418            item_to_addH: AEGP_ItemH,
15419            into_compH: AEGP_CompH,
15420            validPB: *mut A_Boolean,
15421        ) -> A_Err,
15422    >,
15423    pub AEGP_AddLayer: ::std::option::Option<
15424        unsafe extern "C" fn(
15425            item_to_addH: AEGP_ItemH,
15426            into_compH: AEGP_CompH,
15427            added_layerPH0: *mut AEGP_LayerH,
15428        ) -> A_Err,
15429    >,
15430    pub AEGP_ReorderLayer: ::std::option::Option<
15431        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15432    >,
15433    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15434        unsafe extern "C" fn(
15435            layerH: AEGP_LayerH,
15436            time_mode: AEGP_LTimeMode,
15437            timePT: *const A_Time,
15438            boundsPR: *mut A_FloatRect,
15439        ) -> A_Err,
15440    >,
15441    pub AEGP_GetLayerObjectType: ::std::option::Option<
15442        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15443    >,
15444    pub AEGP_IsLayer3D: ::std::option::Option<
15445        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15446    >,
15447    pub AEGP_IsLayer2D: ::std::option::Option<
15448        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15449    >,
15450    pub AEGP_IsVideoActive: ::std::option::Option<
15451        unsafe extern "C" fn(
15452            layerH: AEGP_LayerH,
15453            time_mode: AEGP_LTimeMode,
15454            timePT: *const A_Time,
15455            is_activePB: *mut A_Boolean,
15456        ) -> A_Err,
15457    >,
15458    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15459        unsafe extern "C" fn(
15460            layerH: AEGP_LayerH,
15461            fill_must_be_activeB: A_Boolean,
15462            is_track_mattePB: *mut A_Boolean,
15463        ) -> A_Err,
15464    >,
15465    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15466        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15467    >,
15468    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15469        unsafe extern "C" fn(
15470            layerH: AEGP_LayerH,
15471            comp_timePT: *const A_Time,
15472            layer_timePT: *mut A_Time,
15473        ) -> A_Err,
15474    >,
15475    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15476        unsafe extern "C" fn(
15477            layerH: AEGP_LayerH,
15478            layer_timePT: *const A_Time,
15479            comp_timePT: *mut A_Time,
15480        ) -> A_Err,
15481    >,
15482    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15483        unsafe extern "C" fn(
15484            layerH: AEGP_LayerH,
15485            comp_timePT: *const A_Time,
15486            rand_valuePL: *mut A_long,
15487        ) -> A_Err,
15488    >,
15489    pub AEGP_GetLayerID: ::std::option::Option<
15490        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15491    >,
15492    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15493        unsafe extern "C" fn(
15494            aegp_layerH: AEGP_LayerH,
15495            comp_timeP: *const A_Time,
15496            transform: *mut A_Matrix4,
15497        ) -> A_Err,
15498    >,
15499    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15500        unsafe extern "C" fn(
15501            aegp_layerH: AEGP_LayerH,
15502            view_timeP: *const A_Time,
15503            comp_timeP: *const A_Time,
15504            transform: *mut A_Matrix4,
15505        ) -> A_Err,
15506    >,
15507    pub AEGP_SetLayerName: ::std::option::Option<
15508        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
15509    >,
15510    pub AEGP_GetLayerParent: ::std::option::Option<
15511        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15512    >,
15513    pub AEGP_SetLayerParent: ::std::option::Option<
15514        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15515    >,
15516    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15517    pub AEGP_DuplicateLayer: ::std::option::Option<
15518        unsafe extern "C" fn(
15519            orig_layerH: AEGP_LayerH,
15520            duplicate_layerPH: *mut AEGP_LayerH,
15521        ) -> A_Err,
15522    >,
15523    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15524        unsafe extern "C" fn(
15525            parent_compH: AEGP_CompH,
15526            id: AEGP_LayerIDVal,
15527            layerPH: *mut AEGP_LayerH,
15528        ) -> A_Err,
15529    >,
15530    pub AEGP_GetLayerLabel: ::std::option::Option<
15531        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
15532    >,
15533    pub AEGP_SetLayerLabel: ::std::option::Option<
15534        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
15535    >,
15536}
15537#[repr(C)]
15538#[derive(Debug, Copy, Clone)]
15539pub struct AEGP_LayerSuite6 {
15540    pub AEGP_GetCompNumLayers: ::std::option::Option<
15541        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15542    >,
15543    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15544        unsafe extern "C" fn(
15545            compH: AEGP_CompH,
15546            layer_indexL: A_long,
15547            layerPH: *mut AEGP_LayerH,
15548        ) -> A_Err,
15549    >,
15550    pub AEGP_GetActiveLayer:
15551        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15552    pub AEGP_GetLayerIndex: ::std::option::Option<
15553        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15554    >,
15555    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15556        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15557    >,
15558    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15559        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15560    >,
15561    pub AEGP_GetLayerParentComp: ::std::option::Option<
15562        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15563    >,
15564    pub AEGP_GetLayerName: ::std::option::Option<
15565        unsafe extern "C" fn(
15566            pluginID: AEGP_PluginID,
15567            layerH: AEGP_LayerH,
15568            utf_layer_namePH0: *mut AEGP_MemHandle,
15569            utf_source_namePH0: *mut AEGP_MemHandle,
15570        ) -> A_Err,
15571    >,
15572    pub AEGP_GetLayerQuality: ::std::option::Option<
15573        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15574    >,
15575    pub AEGP_SetLayerQuality: ::std::option::Option<
15576        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15577    >,
15578    pub AEGP_GetLayerFlags: ::std::option::Option<
15579        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15580    >,
15581    pub AEGP_SetLayerFlag: ::std::option::Option<
15582        unsafe extern "C" fn(
15583            layerH: AEGP_LayerH,
15584            single_flag: AEGP_LayerFlags,
15585            valueB: A_Boolean,
15586        ) -> A_Err,
15587    >,
15588    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15589        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15590    >,
15591    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15592        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15593    >,
15594    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15595        unsafe extern "C" fn(
15596            layerH: AEGP_LayerH,
15597            time_mode: AEGP_LTimeMode,
15598            curr_timePT: *mut A_Time,
15599        ) -> A_Err,
15600    >,
15601    pub AEGP_GetLayerInPoint: ::std::option::Option<
15602        unsafe extern "C" fn(
15603            layerH: AEGP_LayerH,
15604            time_mode: AEGP_LTimeMode,
15605            in_pointPT: *mut A_Time,
15606        ) -> A_Err,
15607    >,
15608    pub AEGP_GetLayerDuration: ::std::option::Option<
15609        unsafe extern "C" fn(
15610            layerH: AEGP_LayerH,
15611            time_mode: AEGP_LTimeMode,
15612            durationPT: *mut A_Time,
15613        ) -> A_Err,
15614    >,
15615    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15616        unsafe extern "C" fn(
15617            layerH: AEGP_LayerH,
15618            time_mode: AEGP_LTimeMode,
15619            in_pointPT: *const A_Time,
15620            durationPT: *const A_Time,
15621        ) -> A_Err,
15622    >,
15623    pub AEGP_GetLayerOffset: ::std::option::Option<
15624        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15625    >,
15626    pub AEGP_SetLayerOffset: ::std::option::Option<
15627        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15628    >,
15629    pub AEGP_GetLayerStretch: ::std::option::Option<
15630        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15631    >,
15632    pub AEGP_SetLayerStretch: ::std::option::Option<
15633        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15634    >,
15635    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15636        unsafe extern "C" fn(
15637            layerH: AEGP_LayerH,
15638            transfer_modeP: *mut AEGP_LayerTransferMode,
15639        ) -> A_Err,
15640    >,
15641    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15642        unsafe extern "C" fn(
15643            layerH: AEGP_LayerH,
15644            transfer_modeP: *const AEGP_LayerTransferMode,
15645        ) -> A_Err,
15646    >,
15647    pub AEGP_IsAddLayerValid: ::std::option::Option<
15648        unsafe extern "C" fn(
15649            item_to_addH: AEGP_ItemH,
15650            into_compH: AEGP_CompH,
15651            validPB: *mut A_Boolean,
15652        ) -> A_Err,
15653    >,
15654    pub AEGP_AddLayer: ::std::option::Option<
15655        unsafe extern "C" fn(
15656            item_to_addH: AEGP_ItemH,
15657            into_compH: AEGP_CompH,
15658            added_layerPH0: *mut AEGP_LayerH,
15659        ) -> A_Err,
15660    >,
15661    pub AEGP_ReorderLayer: ::std::option::Option<
15662        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15663    >,
15664    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15665        unsafe extern "C" fn(
15666            layerH: AEGP_LayerH,
15667            time_mode: AEGP_LTimeMode,
15668            timePT: *const A_Time,
15669            boundsPR: *mut A_FloatRect,
15670        ) -> A_Err,
15671    >,
15672    pub AEGP_GetLayerObjectType: ::std::option::Option<
15673        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15674    >,
15675    pub AEGP_IsLayer3D: ::std::option::Option<
15676        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15677    >,
15678    pub AEGP_IsLayer2D: ::std::option::Option<
15679        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15680    >,
15681    pub AEGP_IsVideoActive: ::std::option::Option<
15682        unsafe extern "C" fn(
15683            layerH: AEGP_LayerH,
15684            time_mode: AEGP_LTimeMode,
15685            timePT: *const A_Time,
15686            is_activePB: *mut A_Boolean,
15687        ) -> A_Err,
15688    >,
15689    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15690        unsafe extern "C" fn(
15691            layerH: AEGP_LayerH,
15692            fill_must_be_activeB: A_Boolean,
15693            is_track_mattePB: *mut A_Boolean,
15694        ) -> A_Err,
15695    >,
15696    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15697        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15698    >,
15699    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15700        unsafe extern "C" fn(
15701            layerH: AEGP_LayerH,
15702            comp_timePT: *const A_Time,
15703            layer_timePT: *mut A_Time,
15704        ) -> A_Err,
15705    >,
15706    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15707        unsafe extern "C" fn(
15708            layerH: AEGP_LayerH,
15709            layer_timePT: *const A_Time,
15710            comp_timePT: *mut A_Time,
15711        ) -> A_Err,
15712    >,
15713    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15714        unsafe extern "C" fn(
15715            layerH: AEGP_LayerH,
15716            comp_timePT: *const A_Time,
15717            rand_valuePL: *mut A_long,
15718        ) -> A_Err,
15719    >,
15720    pub AEGP_GetLayerID: ::std::option::Option<
15721        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15722    >,
15723    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15724        unsafe extern "C" fn(
15725            aegp_layerH: AEGP_LayerH,
15726            comp_timeP: *const A_Time,
15727            transform: *mut A_Matrix4,
15728        ) -> A_Err,
15729    >,
15730    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15731        unsafe extern "C" fn(
15732            aegp_layerH: AEGP_LayerH,
15733            view_timeP: *const A_Time,
15734            comp_timeP: *const A_Time,
15735            transform: *mut A_Matrix4,
15736        ) -> A_Err,
15737    >,
15738    pub AEGP_SetLayerName: ::std::option::Option<
15739        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
15740    >,
15741    pub AEGP_GetLayerParent: ::std::option::Option<
15742        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15743    >,
15744    pub AEGP_SetLayerParent: ::std::option::Option<
15745        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15746    >,
15747    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15748    pub AEGP_DuplicateLayer: ::std::option::Option<
15749        unsafe extern "C" fn(
15750            orig_layerH: AEGP_LayerH,
15751            duplicate_layerPH: *mut AEGP_LayerH,
15752        ) -> A_Err,
15753    >,
15754    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15755        unsafe extern "C" fn(
15756            parent_compH: AEGP_CompH,
15757            id: AEGP_LayerIDVal,
15758            layerPH: *mut AEGP_LayerH,
15759        ) -> A_Err,
15760    >,
15761}
15762#[repr(C)]
15763#[derive(Debug, Copy, Clone)]
15764pub struct AEGP_LayerSuite5 {
15765    pub AEGP_GetCompNumLayers: ::std::option::Option<
15766        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15767    >,
15768    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15769        unsafe extern "C" fn(
15770            compH: AEGP_CompH,
15771            layer_indexL: A_long,
15772            layerPH: *mut AEGP_LayerH,
15773        ) -> A_Err,
15774    >,
15775    pub AEGP_GetActiveLayer:
15776        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15777    pub AEGP_GetLayerIndex: ::std::option::Option<
15778        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15779    >,
15780    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15781        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15782    >,
15783    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15784        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15785    >,
15786    pub AEGP_GetLayerParentComp: ::std::option::Option<
15787        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15788    >,
15789    pub AEGP_GetLayerName: ::std::option::Option<
15790        unsafe extern "C" fn(
15791            layerH: AEGP_LayerH,
15792            layer_nameZ0: *mut A_char,
15793            source_nameZ0: *mut A_char,
15794        ) -> A_Err,
15795    >,
15796    pub AEGP_GetLayerQuality: ::std::option::Option<
15797        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15798    >,
15799    pub AEGP_SetLayerQuality: ::std::option::Option<
15800        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15801    >,
15802    pub AEGP_GetLayerFlags: ::std::option::Option<
15803        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15804    >,
15805    pub AEGP_SetLayerFlag: ::std::option::Option<
15806        unsafe extern "C" fn(
15807            layerH: AEGP_LayerH,
15808            single_flag: AEGP_LayerFlags,
15809            valueB: A_Boolean,
15810        ) -> A_Err,
15811    >,
15812    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15813        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15814    >,
15815    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15816        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15817    >,
15818    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15819        unsafe extern "C" fn(
15820            layerH: AEGP_LayerH,
15821            time_mode: AEGP_LTimeMode,
15822            curr_timePT: *mut A_Time,
15823        ) -> A_Err,
15824    >,
15825    pub AEGP_GetLayerInPoint: ::std::option::Option<
15826        unsafe extern "C" fn(
15827            layerH: AEGP_LayerH,
15828            time_mode: AEGP_LTimeMode,
15829            in_pointPT: *mut A_Time,
15830        ) -> A_Err,
15831    >,
15832    pub AEGP_GetLayerDuration: ::std::option::Option<
15833        unsafe extern "C" fn(
15834            layerH: AEGP_LayerH,
15835            time_mode: AEGP_LTimeMode,
15836            durationPT: *mut A_Time,
15837        ) -> A_Err,
15838    >,
15839    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15840        unsafe extern "C" fn(
15841            layerH: AEGP_LayerH,
15842            time_mode: AEGP_LTimeMode,
15843            in_pointPT: *const A_Time,
15844            durationPT: *const A_Time,
15845        ) -> A_Err,
15846    >,
15847    pub AEGP_GetLayerOffset: ::std::option::Option<
15848        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15849    >,
15850    pub AEGP_SetLayerOffset: ::std::option::Option<
15851        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15852    >,
15853    pub AEGP_GetLayerStretch: ::std::option::Option<
15854        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15855    >,
15856    pub AEGP_SetLayerStretch: ::std::option::Option<
15857        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15858    >,
15859    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15860        unsafe extern "C" fn(
15861            layerH: AEGP_LayerH,
15862            transfer_modeP: *mut AEGP_LayerTransferMode,
15863        ) -> A_Err,
15864    >,
15865    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15866        unsafe extern "C" fn(
15867            layerH: AEGP_LayerH,
15868            transfer_modeP: *const AEGP_LayerTransferMode,
15869        ) -> A_Err,
15870    >,
15871    pub AEGP_IsAddLayerValid: ::std::option::Option<
15872        unsafe extern "C" fn(
15873            item_to_addH: AEGP_ItemH,
15874            into_compH: AEGP_CompH,
15875            validPB: *mut A_Boolean,
15876        ) -> A_Err,
15877    >,
15878    pub AEGP_AddLayer: ::std::option::Option<
15879        unsafe extern "C" fn(
15880            item_to_addH: AEGP_ItemH,
15881            into_compH: AEGP_CompH,
15882            added_layerPH0: *mut AEGP_LayerH,
15883        ) -> A_Err,
15884    >,
15885    pub AEGP_ReorderLayer: ::std::option::Option<
15886        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15887    >,
15888    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15889        unsafe extern "C" fn(
15890            layerH: AEGP_LayerH,
15891            time_mode: AEGP_LTimeMode,
15892            timePT: *const A_Time,
15893            boundsPR: *mut A_FloatRect,
15894        ) -> A_Err,
15895    >,
15896    pub AEGP_GetLayerObjectType: ::std::option::Option<
15897        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15898    >,
15899    pub AEGP_IsLayer3D: ::std::option::Option<
15900        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15901    >,
15902    pub AEGP_IsLayer2D: ::std::option::Option<
15903        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15904    >,
15905    pub AEGP_IsVideoActive: ::std::option::Option<
15906        unsafe extern "C" fn(
15907            layerH: AEGP_LayerH,
15908            time_mode: AEGP_LTimeMode,
15909            timePT: *const A_Time,
15910            is_activePB: *mut A_Boolean,
15911        ) -> A_Err,
15912    >,
15913    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15914        unsafe extern "C" fn(
15915            layerH: AEGP_LayerH,
15916            fill_must_be_activeB: A_Boolean,
15917            is_track_mattePB: *mut A_Boolean,
15918        ) -> A_Err,
15919    >,
15920    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15921        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15922    >,
15923    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15924        unsafe extern "C" fn(
15925            layerH: AEGP_LayerH,
15926            comp_timePT: *const A_Time,
15927            layer_timePT: *mut A_Time,
15928        ) -> A_Err,
15929    >,
15930    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15931        unsafe extern "C" fn(
15932            layerH: AEGP_LayerH,
15933            layer_timePT: *const A_Time,
15934            comp_timePT: *mut A_Time,
15935        ) -> A_Err,
15936    >,
15937    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15938        unsafe extern "C" fn(
15939            layerH: AEGP_LayerH,
15940            comp_timePT: *const A_Time,
15941            rand_valuePL: *mut A_long,
15942        ) -> A_Err,
15943    >,
15944    pub AEGP_GetLayerID: ::std::option::Option<
15945        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15946    >,
15947    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15948        unsafe extern "C" fn(
15949            aegp_layerH: AEGP_LayerH,
15950            comp_timeP: *const A_Time,
15951            transform: *mut A_Matrix4,
15952        ) -> A_Err,
15953    >,
15954    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15955        unsafe extern "C" fn(
15956            aegp_layerH: AEGP_LayerH,
15957            view_timeP: *const A_Time,
15958            comp_timeP: *const A_Time,
15959            transform: *mut A_Matrix4,
15960        ) -> A_Err,
15961    >,
15962    pub AEGP_SetLayerName: ::std::option::Option<
15963        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
15964    >,
15965    pub AEGP_GetLayerParent: ::std::option::Option<
15966        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15967    >,
15968    pub AEGP_SetLayerParent: ::std::option::Option<
15969        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15970    >,
15971    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15972    pub AEGP_DuplicateLayer: ::std::option::Option<
15973        unsafe extern "C" fn(
15974            orig_layerH: AEGP_LayerH,
15975            duplicate_layerPH: *mut AEGP_LayerH,
15976        ) -> A_Err,
15977    >,
15978    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15979        unsafe extern "C" fn(
15980            parent_compH: AEGP_CompH,
15981            id: AEGP_LayerIDVal,
15982            layerPH: *mut AEGP_LayerH,
15983        ) -> A_Err,
15984    >,
15985}
15986#[repr(C)]
15987#[derive(Debug, Copy, Clone)]
15988pub struct AEGP_LayerSuite4 {
15989    pub AEGP_GetCompNumLayers: ::std::option::Option<
15990        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15991    >,
15992    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15993        unsafe extern "C" fn(
15994            compH: AEGP_CompH,
15995            layer_indexL: A_long,
15996            layerPH: *mut AEGP_LayerH,
15997        ) -> A_Err,
15998    >,
15999    pub AEGP_GetActiveLayer:
16000        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
16001    pub AEGP_GetLayerIndex: ::std::option::Option<
16002        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
16003    >,
16004    pub AEGP_GetLayerSourceItem: ::std::option::Option<
16005        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
16006    >,
16007    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
16008        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
16009    >,
16010    pub AEGP_GetLayerParentComp: ::std::option::Option<
16011        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
16012    >,
16013    pub AEGP_GetLayerName: ::std::option::Option<
16014        unsafe extern "C" fn(
16015            layerH: AEGP_LayerH,
16016            layer_nameZ0: *mut A_char,
16017            source_nameZ0: *mut A_char,
16018        ) -> A_Err,
16019    >,
16020    pub AEGP_GetLayerQuality: ::std::option::Option<
16021        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
16022    >,
16023    pub AEGP_SetLayerQuality: ::std::option::Option<
16024        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
16025    >,
16026    pub AEGP_GetLayerFlags: ::std::option::Option<
16027        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
16028    >,
16029    pub AEGP_SetLayerFlag: ::std::option::Option<
16030        unsafe extern "C" fn(
16031            layerH: AEGP_LayerH,
16032            single_flag: AEGP_LayerFlags,
16033            valueB: A_Boolean,
16034        ) -> A_Err,
16035    >,
16036    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
16037        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16038    >,
16039    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
16040        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16041    >,
16042    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
16043        unsafe extern "C" fn(
16044            layerH: AEGP_LayerH,
16045            time_mode: AEGP_LTimeMode,
16046            curr_timePT: *mut A_Time,
16047        ) -> A_Err,
16048    >,
16049    pub AEGP_GetLayerInPoint: ::std::option::Option<
16050        unsafe extern "C" fn(
16051            layerH: AEGP_LayerH,
16052            time_mode: AEGP_LTimeMode,
16053            in_pointPT: *mut A_Time,
16054        ) -> A_Err,
16055    >,
16056    pub AEGP_GetLayerDuration: ::std::option::Option<
16057        unsafe extern "C" fn(
16058            layerH: AEGP_LayerH,
16059            time_mode: AEGP_LTimeMode,
16060            durationPT: *mut A_Time,
16061        ) -> A_Err,
16062    >,
16063    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
16064        unsafe extern "C" fn(
16065            layerH: AEGP_LayerH,
16066            time_mode: AEGP_LTimeMode,
16067            in_pointPT: *const A_Time,
16068            durationPT: *const A_Time,
16069        ) -> A_Err,
16070    >,
16071    pub AEGP_GetLayerOffset: ::std::option::Option<
16072        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
16073    >,
16074    pub AEGP_SetLayerOffset: ::std::option::Option<
16075        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
16076    >,
16077    pub AEGP_GetLayerStretch: ::std::option::Option<
16078        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
16079    >,
16080    pub AEGP_SetLayerStretch: ::std::option::Option<
16081        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
16082    >,
16083    pub AEGP_GetLayerTransferMode: ::std::option::Option<
16084        unsafe extern "C" fn(
16085            layerH: AEGP_LayerH,
16086            transfer_modeP: *mut AEGP_LayerTransferMode,
16087        ) -> A_Err,
16088    >,
16089    pub AEGP_SetLayerTransferMode: ::std::option::Option<
16090        unsafe extern "C" fn(
16091            layerH: AEGP_LayerH,
16092            transfer_modeP: *const AEGP_LayerTransferMode,
16093        ) -> A_Err,
16094    >,
16095    pub AEGP_IsAddLayerValid: ::std::option::Option<
16096        unsafe extern "C" fn(
16097            item_to_addH: AEGP_ItemH,
16098            into_compH: AEGP_CompH,
16099            validPB: *mut A_Boolean,
16100        ) -> A_Err,
16101    >,
16102    pub AEGP_AddLayer: ::std::option::Option<
16103        unsafe extern "C" fn(
16104            item_to_addH: AEGP_ItemH,
16105            into_compH: AEGP_CompH,
16106            added_layerPH0: *mut AEGP_LayerH,
16107        ) -> A_Err,
16108    >,
16109    pub AEGP_ReorderLayer: ::std::option::Option<
16110        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
16111    >,
16112    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
16113        unsafe extern "C" fn(
16114            layerH: AEGP_LayerH,
16115            time_mode: AEGP_LTimeMode,
16116            timePT: *const A_Time,
16117            boundsPR: *mut A_FloatRect,
16118        ) -> A_Err,
16119    >,
16120    pub AEGP_GetLayerObjectType: ::std::option::Option<
16121        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
16122    >,
16123    pub AEGP_IsLayer3D: ::std::option::Option<
16124        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
16125    >,
16126    pub AEGP_IsLayer2D: ::std::option::Option<
16127        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
16128    >,
16129    pub AEGP_IsVideoActive: ::std::option::Option<
16130        unsafe extern "C" fn(
16131            layerH: AEGP_LayerH,
16132            time_mode: AEGP_LTimeMode,
16133            timePT: *const A_Time,
16134            is_activePB: *mut A_Boolean,
16135        ) -> A_Err,
16136    >,
16137    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
16138        unsafe extern "C" fn(
16139            layerH: AEGP_LayerH,
16140            fill_must_be_activeB: A_Boolean,
16141            is_track_mattePB: *mut A_Boolean,
16142        ) -> A_Err,
16143    >,
16144    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
16145        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
16146    >,
16147    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
16148        unsafe extern "C" fn(
16149            layerH: AEGP_LayerH,
16150            comp_timePT: *const A_Time,
16151            layer_timePT: *mut A_Time,
16152        ) -> A_Err,
16153    >,
16154    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
16155        unsafe extern "C" fn(
16156            layerH: AEGP_LayerH,
16157            layer_timePT: *const A_Time,
16158            comp_timePT: *mut A_Time,
16159        ) -> A_Err,
16160    >,
16161    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
16162        unsafe extern "C" fn(
16163            layerH: AEGP_LayerH,
16164            comp_timePT: *const A_Time,
16165            rand_valuePL: *mut A_long,
16166        ) -> A_Err,
16167    >,
16168    pub AEGP_GetLayerID: ::std::option::Option<
16169        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
16170    >,
16171    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
16172        unsafe extern "C" fn(
16173            aegp_layerH: AEGP_LayerH,
16174            comp_timeP: *const A_Time,
16175            transform: *mut A_Matrix4,
16176        ) -> A_Err,
16177    >,
16178    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
16179        unsafe extern "C" fn(
16180            aegp_layerH: AEGP_LayerH,
16181            view_timeP: *const A_Time,
16182            comp_timeP: *const A_Time,
16183            transform: *mut A_Matrix4,
16184        ) -> A_Err,
16185    >,
16186    pub AEGP_SetLayerName: ::std::option::Option<
16187        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
16188    >,
16189    pub AEGP_GetLayerParent: ::std::option::Option<
16190        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
16191    >,
16192    pub AEGP_SetLayerParent: ::std::option::Option<
16193        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
16194    >,
16195    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
16196    pub AEGP_DuplicateLayer: ::std::option::Option<
16197        unsafe extern "C" fn(
16198            orig_layerH: AEGP_LayerH,
16199            duplicate_layerPH: *mut AEGP_LayerH,
16200        ) -> A_Err,
16201    >,
16202}
16203#[repr(C)]
16204#[derive(Debug, Copy, Clone)]
16205pub struct AEGP_LayerSuite3 {
16206    pub AEGP_GetCompNumLayers: ::std::option::Option<
16207        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
16208    >,
16209    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
16210        unsafe extern "C" fn(
16211            compH: AEGP_CompH,
16212            layer_indexL: A_long,
16213            layerPH: *mut AEGP_LayerH,
16214        ) -> A_Err,
16215    >,
16216    pub AEGP_GetActiveLayer:
16217        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
16218    pub AEGP_GetLayerIndex: ::std::option::Option<
16219        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
16220    >,
16221    pub AEGP_GetLayerSourceItem: ::std::option::Option<
16222        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
16223    >,
16224    pub AEGP_GetLayerParentComp: ::std::option::Option<
16225        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
16226    >,
16227    pub AEGP_GetLayerName: ::std::option::Option<
16228        unsafe extern "C" fn(
16229            layerH: AEGP_LayerH,
16230            layer_nameZ0: *mut A_char,
16231            source_nameZ0: *mut A_char,
16232        ) -> A_Err,
16233    >,
16234    pub AEGP_GetLayerQuality: ::std::option::Option<
16235        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
16236    >,
16237    pub AEGP_SetLayerQuality: ::std::option::Option<
16238        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
16239    >,
16240    pub AEGP_GetLayerFlags: ::std::option::Option<
16241        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
16242    >,
16243    pub AEGP_SetLayerFlag: ::std::option::Option<
16244        unsafe extern "C" fn(
16245            layerH: AEGP_LayerH,
16246            single_flag: AEGP_LayerFlags,
16247            valueB: A_Boolean,
16248        ) -> A_Err,
16249    >,
16250    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
16251        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16252    >,
16253    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
16254        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16255    >,
16256    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
16257        unsafe extern "C" fn(
16258            layerH: AEGP_LayerH,
16259            time_mode: AEGP_LTimeMode,
16260            curr_timePT: *mut A_Time,
16261        ) -> A_Err,
16262    >,
16263    pub AEGP_GetLayerInPoint: ::std::option::Option<
16264        unsafe extern "C" fn(
16265            layerH: AEGP_LayerH,
16266            time_mode: AEGP_LTimeMode,
16267            in_pointPT: *mut A_Time,
16268        ) -> A_Err,
16269    >,
16270    pub AEGP_GetLayerDuration: ::std::option::Option<
16271        unsafe extern "C" fn(
16272            layerH: AEGP_LayerH,
16273            time_mode: AEGP_LTimeMode,
16274            durationPT: *mut A_Time,
16275        ) -> A_Err,
16276    >,
16277    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
16278        unsafe extern "C" fn(
16279            layerH: AEGP_LayerH,
16280            time_mode: AEGP_LTimeMode,
16281            in_pointPT: *const A_Time,
16282            durationPT: *const A_Time,
16283        ) -> A_Err,
16284    >,
16285    pub AEGP_GetLayerOffset: ::std::option::Option<
16286        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
16287    >,
16288    pub AEGP_SetLayerOffset: ::std::option::Option<
16289        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
16290    >,
16291    pub AEGP_GetLayerStretch: ::std::option::Option<
16292        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
16293    >,
16294    pub AEGP_SetLayerStretch: ::std::option::Option<
16295        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
16296    >,
16297    pub AEGP_GetLayerTransferMode: ::std::option::Option<
16298        unsafe extern "C" fn(
16299            layerH: AEGP_LayerH,
16300            transfer_modeP: *mut AEGP_LayerTransferMode,
16301        ) -> A_Err,
16302    >,
16303    pub AEGP_SetLayerTransferMode: ::std::option::Option<
16304        unsafe extern "C" fn(
16305            layerH: AEGP_LayerH,
16306            transfer_modeP: *const AEGP_LayerTransferMode,
16307        ) -> A_Err,
16308    >,
16309    pub AEGP_IsAddLayerValid: ::std::option::Option<
16310        unsafe extern "C" fn(
16311            item_to_addH: AEGP_ItemH,
16312            into_compH: AEGP_CompH,
16313            validPB: *mut A_Boolean,
16314        ) -> A_Err,
16315    >,
16316    pub AEGP_AddLayer: ::std::option::Option<
16317        unsafe extern "C" fn(
16318            item_to_addH: AEGP_ItemH,
16319            into_compH: AEGP_CompH,
16320            added_layerPH0: *mut AEGP_LayerH,
16321        ) -> A_Err,
16322    >,
16323    pub AEGP_ReorderLayer: ::std::option::Option<
16324        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
16325    >,
16326    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
16327        unsafe extern "C" fn(
16328            layerH: AEGP_LayerH,
16329            time_mode: AEGP_LTimeMode,
16330            timePT: *const A_Time,
16331            boundsPR: *mut A_FloatRect,
16332        ) -> A_Err,
16333    >,
16334    pub AEGP_GetLayerObjectType: ::std::option::Option<
16335        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
16336    >,
16337    pub AEGP_IsLayer3D: ::std::option::Option<
16338        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
16339    >,
16340    pub AEGP_IsLayer2D: ::std::option::Option<
16341        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
16342    >,
16343    pub AEGP_IsVideoActive: ::std::option::Option<
16344        unsafe extern "C" fn(
16345            layerH: AEGP_LayerH,
16346            time_mode: AEGP_LTimeMode,
16347            timePT: *const A_Time,
16348            is_activePB: *mut A_Boolean,
16349        ) -> A_Err,
16350    >,
16351    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
16352        unsafe extern "C" fn(
16353            layerH: AEGP_LayerH,
16354            fill_must_be_activeB: A_Boolean,
16355            is_track_mattePB: *mut A_Boolean,
16356        ) -> A_Err,
16357    >,
16358    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
16359        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
16360    >,
16361    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
16362        unsafe extern "C" fn(
16363            layerH: AEGP_LayerH,
16364            comp_timePT: *const A_Time,
16365            layer_timePT: *mut A_Time,
16366        ) -> A_Err,
16367    >,
16368    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
16369        unsafe extern "C" fn(
16370            layerH: AEGP_LayerH,
16371            layer_timePT: *const A_Time,
16372            comp_timePT: *mut A_Time,
16373        ) -> A_Err,
16374    >,
16375    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
16376        unsafe extern "C" fn(
16377            layerH: AEGP_LayerH,
16378            comp_timePT: *const A_Time,
16379            rand_valuePL: *mut A_long,
16380        ) -> A_Err,
16381    >,
16382    pub AEGP_GetLayerID: ::std::option::Option<
16383        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
16384    >,
16385    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
16386        unsafe extern "C" fn(
16387            aegp_layerH: AEGP_LayerH,
16388            comp_timeP: *const A_Time,
16389            tranform: *mut A_Matrix4,
16390        ) -> A_Err,
16391    >,
16392    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
16393        unsafe extern "C" fn(
16394            aegp_layerH: AEGP_LayerH,
16395            view_timeP: *const A_Time,
16396            comp_timeP: *const A_Time,
16397            tranform: *mut A_Matrix4,
16398        ) -> A_Err,
16399    >,
16400    pub AEGP_SetLayerName: ::std::option::Option<
16401        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
16402    >,
16403    pub AEGP_GetLayerParent: ::std::option::Option<
16404        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
16405    >,
16406    pub AEGP_SetLayerParent: ::std::option::Option<
16407        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
16408    >,
16409    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
16410}
16411#[repr(C)]
16412#[derive(Debug, Copy, Clone)]
16413pub struct AEGP_MarkerVal {
16414    pub nameAC: [A_char; 64usize],
16415    pub urlAC: [A_char; 1024usize],
16416    pub targetAC: [A_char; 128usize],
16417    pub chapterAC: [A_char; 128usize],
16418}
16419pub type AEGP_MarkerValH = *mut *mut AEGP_MarkerVal;
16420#[repr(C)]
16421#[derive(Copy, Clone)]
16422pub union AEGP_StreamVal {
16423    pub four_d: AEGP_FourDVal,
16424    pub three_d: AEGP_ThreeDVal,
16425    pub two_d: AEGP_TwoDVal,
16426    pub one_d: AEGP_OneDVal,
16427    pub color: AEGP_ColorVal,
16428    pub arbH: AEGP_ArbBlockVal,
16429    pub markerH: AEGP_MarkerValH,
16430    pub layer_id: AEGP_LayerIDVal,
16431    pub mask_id: AEGP_MaskIDVal,
16432    pub mask: AEGP_MaskOutlineValH,
16433    pub text_documentH: AEGP_TextDocumentH,
16434}
16435#[repr(C)]
16436#[derive(Copy, Clone)]
16437pub struct AEGP_StreamValue {
16438    pub streamH: AEGP_StreamRefH,
16439    pub val: AEGP_StreamVal,
16440}
16441#[repr(C)]
16442#[derive(Debug, Copy, Clone)]
16443pub struct AEGP_StreamSuite5 {
16444    pub AEGP_IsStreamLegal: ::std::option::Option<
16445        unsafe extern "C" fn(
16446            layerH: AEGP_LayerH,
16447            which_stream: AEGP_LayerStream,
16448            is_legalP: *mut A_Boolean,
16449        ) -> A_Err,
16450    >,
16451    pub AEGP_CanVaryOverTime: ::std::option::Option<
16452        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16453    >,
16454    pub AEGP_GetValidInterpolations: ::std::option::Option<
16455        unsafe extern "C" fn(
16456            streamH: AEGP_StreamRefH,
16457            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16458        ) -> A_Err,
16459    >,
16460    pub AEGP_GetNewLayerStream: ::std::option::Option<
16461        unsafe extern "C" fn(
16462            aegp_plugin_id: AEGP_PluginID,
16463            layerH: AEGP_LayerH,
16464            which_stream: AEGP_LayerStream,
16465            streamPH: *mut AEGP_StreamRefH,
16466        ) -> A_Err,
16467    >,
16468    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16469        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16470    >,
16471    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16472        unsafe extern "C" fn(
16473            aegp_plugin_id: AEGP_PluginID,
16474            effect_refH: AEGP_EffectRefH,
16475            param_index: PF_ParamIndex,
16476            streamPH: *mut AEGP_StreamRefH,
16477        ) -> A_Err,
16478    >,
16479    pub AEGP_GetNewMaskStream: ::std::option::Option<
16480        unsafe extern "C" fn(
16481            aegp_plugin_id: AEGP_PluginID,
16482            mask_refH: AEGP_MaskRefH,
16483            which_stream: AEGP_MaskStream,
16484            mask_streamPH: *mut AEGP_StreamRefH,
16485        ) -> A_Err,
16486    >,
16487    pub AEGP_DisposeStream:
16488        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16489    pub AEGP_GetStreamName: ::std::option::Option<
16490        unsafe extern "C" fn(
16491            pluginID: AEGP_PluginID,
16492            streamH: AEGP_StreamRefH,
16493            force_englishB: A_Boolean,
16494            utf_stream_namePH: *mut AEGP_MemHandle,
16495        ) -> A_Err,
16496    >,
16497    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16498        unsafe extern "C" fn(
16499            streamH: AEGP_StreamRefH,
16500            force_englishB: A_Boolean,
16501            unitsZ: *mut A_char,
16502        ) -> A_Err,
16503    >,
16504    pub AEGP_GetStreamProperties: ::std::option::Option<
16505        unsafe extern "C" fn(
16506            streamH: AEGP_StreamRefH,
16507            flagsP: *mut AEGP_StreamFlags,
16508            minP0: *mut A_FpLong,
16509            maxP0: *mut A_FpLong,
16510        ) -> A_Err,
16511    >,
16512    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16513        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16514    >,
16515    pub AEGP_GetStreamType: ::std::option::Option<
16516        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16517    >,
16518    pub AEGP_GetNewStreamValue: ::std::option::Option<
16519        unsafe extern "C" fn(
16520            aegp_plugin_id: AEGP_PluginID,
16521            streamH: AEGP_StreamRefH,
16522            time_mode: AEGP_LTimeMode,
16523            timePT: *const A_Time,
16524            pre_expressionB: A_Boolean,
16525            valueP: *mut AEGP_StreamValue2,
16526        ) -> A_Err,
16527    >,
16528    pub AEGP_DisposeStreamValue:
16529        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16530    pub AEGP_SetStreamValue: ::std::option::Option<
16531        unsafe extern "C" fn(
16532            aegp_plugin_id: AEGP_PluginID,
16533            streamH: AEGP_StreamRefH,
16534            valueP: *mut AEGP_StreamValue2,
16535        ) -> A_Err,
16536    >,
16537    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16538        unsafe extern "C" fn(
16539            layerH: AEGP_LayerH,
16540            which_stream: AEGP_LayerStream,
16541            time_mode: AEGP_LTimeMode,
16542            timePT: *const A_Time,
16543            pre_expressionB: A_Boolean,
16544            stream_valP: *mut AEGP_StreamVal2,
16545            stream_typeP0: *mut AEGP_StreamType,
16546        ) -> A_Err,
16547    >,
16548    pub AEGP_GetExpressionState: ::std::option::Option<
16549        unsafe extern "C" fn(
16550            aegp_plugin_id: AEGP_PluginID,
16551            streamH: AEGP_StreamRefH,
16552            enabledPB: *mut A_Boolean,
16553        ) -> A_Err,
16554    >,
16555    pub AEGP_SetExpressionState: ::std::option::Option<
16556        unsafe extern "C" fn(
16557            aegp_plugin_id: AEGP_PluginID,
16558            streamH: AEGP_StreamRefH,
16559            enabledB: A_Boolean,
16560        ) -> A_Err,
16561    >,
16562    pub AEGP_GetExpression: ::std::option::Option<
16563        unsafe extern "C" fn(
16564            aegp_plugin_id: AEGP_PluginID,
16565            streamH: AEGP_StreamRefH,
16566            unicodeHZ: *mut AEGP_MemHandle,
16567        ) -> A_Err,
16568    >,
16569    pub AEGP_SetExpression: ::std::option::Option<
16570        unsafe extern "C" fn(
16571            aegp_plugin_id: AEGP_PluginID,
16572            streamH: AEGP_StreamRefH,
16573            expressionP: *const A_UTF16Char,
16574        ) -> A_Err,
16575    >,
16576    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16577        unsafe extern "C" fn(
16578            aegp_plugin_id: AEGP_PluginID,
16579            streamH: AEGP_StreamRefH,
16580            dup_streamPH: *mut AEGP_StreamRefH,
16581        ) -> A_Err,
16582    >,
16583}
16584#[repr(C)]
16585#[derive(Debug, Copy, Clone)]
16586pub struct AEGP_StreamSuite4 {
16587    pub AEGP_IsStreamLegal: ::std::option::Option<
16588        unsafe extern "C" fn(
16589            layerH: AEGP_LayerH,
16590            which_stream: AEGP_LayerStream,
16591            is_legalP: *mut A_Boolean,
16592        ) -> A_Err,
16593    >,
16594    pub AEGP_CanVaryOverTime: ::std::option::Option<
16595        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16596    >,
16597    pub AEGP_GetValidInterpolations: ::std::option::Option<
16598        unsafe extern "C" fn(
16599            streamH: AEGP_StreamRefH,
16600            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16601        ) -> A_Err,
16602    >,
16603    pub AEGP_GetNewLayerStream: ::std::option::Option<
16604        unsafe extern "C" fn(
16605            aegp_plugin_id: AEGP_PluginID,
16606            layerH: AEGP_LayerH,
16607            which_stream: AEGP_LayerStream,
16608            streamPH: *mut AEGP_StreamRefH,
16609        ) -> A_Err,
16610    >,
16611    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16612        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16613    >,
16614    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16615        unsafe extern "C" fn(
16616            aegp_plugin_id: AEGP_PluginID,
16617            effect_refH: AEGP_EffectRefH,
16618            param_index: PF_ParamIndex,
16619            streamPH: *mut AEGP_StreamRefH,
16620        ) -> A_Err,
16621    >,
16622    pub AEGP_GetNewMaskStream: ::std::option::Option<
16623        unsafe extern "C" fn(
16624            aegp_plugin_id: AEGP_PluginID,
16625            mask_refH: AEGP_MaskRefH,
16626            which_stream: AEGP_MaskStream,
16627            mask_streamPH: *mut AEGP_StreamRefH,
16628        ) -> A_Err,
16629    >,
16630    pub AEGP_DisposeStream:
16631        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16632    pub AEGP_GetStreamName: ::std::option::Option<
16633        unsafe extern "C" fn(
16634            pluginID: AEGP_PluginID,
16635            streamH: AEGP_StreamRefH,
16636            force_englishB: A_Boolean,
16637            utf_stream_namePH: *mut AEGP_MemHandle,
16638        ) -> A_Err,
16639    >,
16640    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16641        unsafe extern "C" fn(
16642            streamH: AEGP_StreamRefH,
16643            force_englishB: A_Boolean,
16644            unitsZ: *mut A_char,
16645        ) -> A_Err,
16646    >,
16647    pub AEGP_GetStreamProperties: ::std::option::Option<
16648        unsafe extern "C" fn(
16649            streamH: AEGP_StreamRefH,
16650            flagsP: *mut AEGP_StreamFlags,
16651            minP0: *mut A_FpLong,
16652            maxP0: *mut A_FpLong,
16653        ) -> A_Err,
16654    >,
16655    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16656        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16657    >,
16658    pub AEGP_GetStreamType: ::std::option::Option<
16659        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16660    >,
16661    pub AEGP_GetNewStreamValue: ::std::option::Option<
16662        unsafe extern "C" fn(
16663            aegp_plugin_id: AEGP_PluginID,
16664            streamH: AEGP_StreamRefH,
16665            time_mode: AEGP_LTimeMode,
16666            timePT: *const A_Time,
16667            pre_expressionB: A_Boolean,
16668            valueP: *mut AEGP_StreamValue2,
16669        ) -> A_Err,
16670    >,
16671    pub AEGP_DisposeStreamValue:
16672        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16673    pub AEGP_SetStreamValue: ::std::option::Option<
16674        unsafe extern "C" fn(
16675            aegp_plugin_id: AEGP_PluginID,
16676            streamH: AEGP_StreamRefH,
16677            valueP: *mut AEGP_StreamValue2,
16678        ) -> A_Err,
16679    >,
16680    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16681        unsafe extern "C" fn(
16682            layerH: AEGP_LayerH,
16683            which_stream: AEGP_LayerStream,
16684            time_mode: AEGP_LTimeMode,
16685            timePT: *const A_Time,
16686            pre_expressionB: A_Boolean,
16687            stream_valP: *mut AEGP_StreamVal2,
16688            stream_typeP0: *mut AEGP_StreamType,
16689        ) -> A_Err,
16690    >,
16691    pub AEGP_GetExpressionState: ::std::option::Option<
16692        unsafe extern "C" fn(
16693            aegp_plugin_id: AEGP_PluginID,
16694            streamH: AEGP_StreamRefH,
16695            enabledPB: *mut A_Boolean,
16696        ) -> A_Err,
16697    >,
16698    pub AEGP_SetExpressionState: ::std::option::Option<
16699        unsafe extern "C" fn(
16700            aegp_plugin_id: AEGP_PluginID,
16701            streamH: AEGP_StreamRefH,
16702            enabledB: A_Boolean,
16703        ) -> A_Err,
16704    >,
16705    pub AEGP_GetExpression: ::std::option::Option<
16706        unsafe extern "C" fn(
16707            aegp_plugin_id: AEGP_PluginID,
16708            streamH: AEGP_StreamRefH,
16709            expressionHZ: *mut AEGP_MemHandle,
16710        ) -> A_Err,
16711    >,
16712    pub AEGP_SetExpression: ::std::option::Option<
16713        unsafe extern "C" fn(
16714            aegp_plugin_id: AEGP_PluginID,
16715            streamH: AEGP_StreamRefH,
16716            expressionP: *const A_char,
16717        ) -> A_Err,
16718    >,
16719    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16720        unsafe extern "C" fn(
16721            aegp_plugin_id: AEGP_PluginID,
16722            streamH: AEGP_StreamRefH,
16723            dup_streamPH: *mut AEGP_StreamRefH,
16724        ) -> A_Err,
16725    >,
16726}
16727#[repr(C)]
16728#[derive(Debug, Copy, Clone)]
16729pub struct AEGP_StreamSuite3 {
16730    pub AEGP_IsStreamLegal: ::std::option::Option<
16731        unsafe extern "C" fn(
16732            layerH: AEGP_LayerH,
16733            which_stream: AEGP_LayerStream,
16734            is_legalP: *mut A_Boolean,
16735        ) -> A_Err,
16736    >,
16737    pub AEGP_CanVaryOverTime: ::std::option::Option<
16738        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16739    >,
16740    pub AEGP_GetValidInterpolations: ::std::option::Option<
16741        unsafe extern "C" fn(
16742            streamH: AEGP_StreamRefH,
16743            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16744        ) -> A_Err,
16745    >,
16746    pub AEGP_GetNewLayerStream: ::std::option::Option<
16747        unsafe extern "C" fn(
16748            aegp_plugin_id: AEGP_PluginID,
16749            layerH: AEGP_LayerH,
16750            which_stream: AEGP_LayerStream,
16751            streamPH: *mut AEGP_StreamRefH,
16752        ) -> A_Err,
16753    >,
16754    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16755        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16756    >,
16757    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16758        unsafe extern "C" fn(
16759            aegp_plugin_id: AEGP_PluginID,
16760            effect_refH: AEGP_EffectRefH,
16761            param_index: PF_ParamIndex,
16762            streamPH: *mut AEGP_StreamRefH,
16763        ) -> A_Err,
16764    >,
16765    pub AEGP_GetNewMaskStream: ::std::option::Option<
16766        unsafe extern "C" fn(
16767            aegp_plugin_id: AEGP_PluginID,
16768            mask_refH: AEGP_MaskRefH,
16769            which_stream: AEGP_MaskStream,
16770            mask_streamPH: *mut AEGP_StreamRefH,
16771        ) -> A_Err,
16772    >,
16773    pub AEGP_DisposeStream:
16774        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16775    pub AEGP_GetStreamName: ::std::option::Option<
16776        unsafe extern "C" fn(
16777            streamH: AEGP_StreamRefH,
16778            force_englishB: A_Boolean,
16779            nameZ: *mut A_char,
16780        ) -> A_Err,
16781    >,
16782    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16783        unsafe extern "C" fn(
16784            streamH: AEGP_StreamRefH,
16785            force_englishB: A_Boolean,
16786            unitsZ: *mut A_char,
16787        ) -> A_Err,
16788    >,
16789    pub AEGP_GetStreamProperties: ::std::option::Option<
16790        unsafe extern "C" fn(
16791            streamH: AEGP_StreamRefH,
16792            flagsP: *mut AEGP_StreamFlags,
16793            minP0: *mut A_FpLong,
16794            maxP0: *mut A_FpLong,
16795        ) -> A_Err,
16796    >,
16797    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16798        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16799    >,
16800    pub AEGP_GetStreamType: ::std::option::Option<
16801        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16802    >,
16803    pub AEGP_GetNewStreamValue: ::std::option::Option<
16804        unsafe extern "C" fn(
16805            aegp_plugin_id: AEGP_PluginID,
16806            streamH: AEGP_StreamRefH,
16807            time_mode: AEGP_LTimeMode,
16808            timePT: *const A_Time,
16809            pre_expressionB: A_Boolean,
16810            valueP: *mut AEGP_StreamValue2,
16811        ) -> A_Err,
16812    >,
16813    pub AEGP_DisposeStreamValue:
16814        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16815    pub AEGP_SetStreamValue: ::std::option::Option<
16816        unsafe extern "C" fn(
16817            aegp_plugin_id: AEGP_PluginID,
16818            streamH: AEGP_StreamRefH,
16819            valueP: *mut AEGP_StreamValue2,
16820        ) -> A_Err,
16821    >,
16822    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16823        unsafe extern "C" fn(
16824            layerH: AEGP_LayerH,
16825            which_stream: AEGP_LayerStream,
16826            time_mode: AEGP_LTimeMode,
16827            timePT: *const A_Time,
16828            pre_expressionB: A_Boolean,
16829            stream_valP: *mut AEGP_StreamVal2,
16830            stream_typeP0: *mut AEGP_StreamType,
16831        ) -> A_Err,
16832    >,
16833    pub AEGP_GetExpressionState: ::std::option::Option<
16834        unsafe extern "C" fn(
16835            aegp_plugin_id: AEGP_PluginID,
16836            streamH: AEGP_StreamRefH,
16837            enabledPB: *mut A_Boolean,
16838        ) -> A_Err,
16839    >,
16840    pub AEGP_SetExpressionState: ::std::option::Option<
16841        unsafe extern "C" fn(
16842            aegp_plugin_id: AEGP_PluginID,
16843            streamH: AEGP_StreamRefH,
16844            enabledB: A_Boolean,
16845        ) -> A_Err,
16846    >,
16847    pub AEGP_GetExpression: ::std::option::Option<
16848        unsafe extern "C" fn(
16849            aegp_plugin_id: AEGP_PluginID,
16850            streamH: AEGP_StreamRefH,
16851            expressionHZ: *mut AEGP_MemHandle,
16852        ) -> A_Err,
16853    >,
16854    pub AEGP_SetExpression: ::std::option::Option<
16855        unsafe extern "C" fn(
16856            aegp_plugin_id: AEGP_PluginID,
16857            streamH: AEGP_StreamRefH,
16858            expressionP: *const A_char,
16859        ) -> A_Err,
16860    >,
16861    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16862        unsafe extern "C" fn(
16863            aegp_plugin_id: AEGP_PluginID,
16864            streamH: AEGP_StreamRefH,
16865            dup_streamPH: *mut AEGP_StreamRefH,
16866        ) -> A_Err,
16867    >,
16868}
16869#[repr(C)]
16870#[derive(Debug, Copy, Clone)]
16871pub struct AEGP_StreamSuite2 {
16872    pub AEGP_IsStreamLegal: ::std::option::Option<
16873        unsafe extern "C" fn(
16874            layerH: AEGP_LayerH,
16875            which_stream: AEGP_LayerStream,
16876            is_legalP: *mut A_Boolean,
16877        ) -> A_Err,
16878    >,
16879    pub AEGP_CanVaryOverTime: ::std::option::Option<
16880        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16881    >,
16882    pub AEGP_GetValidInterpolations: ::std::option::Option<
16883        unsafe extern "C" fn(
16884            streamH: AEGP_StreamRefH,
16885            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16886        ) -> A_Err,
16887    >,
16888    pub AEGP_GetNewLayerStream: ::std::option::Option<
16889        unsafe extern "C" fn(
16890            aegp_plugin_id: AEGP_PluginID,
16891            layerH: AEGP_LayerH,
16892            which_stream: AEGP_LayerStream,
16893            streamPH: *mut AEGP_StreamRefH,
16894        ) -> A_Err,
16895    >,
16896    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16897        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16898    >,
16899    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16900        unsafe extern "C" fn(
16901            aegp_plugin_id: AEGP_PluginID,
16902            effect_refH: AEGP_EffectRefH,
16903            param_index: PF_ParamIndex,
16904            streamPH: *mut AEGP_StreamRefH,
16905        ) -> A_Err,
16906    >,
16907    pub AEGP_GetNewMaskStream: ::std::option::Option<
16908        unsafe extern "C" fn(
16909            aegp_plugin_id: AEGP_PluginID,
16910            mask_refH: AEGP_MaskRefH,
16911            which_stream: AEGP_MaskStream,
16912            mask_streamPH: *mut AEGP_StreamRefH,
16913        ) -> A_Err,
16914    >,
16915    pub AEGP_DisposeStream:
16916        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16917    pub AEGP_GetStreamName: ::std::option::Option<
16918        unsafe extern "C" fn(
16919            streamH: AEGP_StreamRefH,
16920            force_englishB: A_Boolean,
16921            nameZ: *mut A_char,
16922        ) -> A_Err,
16923    >,
16924    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16925        unsafe extern "C" fn(
16926            streamH: AEGP_StreamRefH,
16927            force_englishB: A_Boolean,
16928            unitsZ: *mut A_char,
16929        ) -> A_Err,
16930    >,
16931    pub AEGP_GetStreamProperties: ::std::option::Option<
16932        unsafe extern "C" fn(
16933            streamH: AEGP_StreamRefH,
16934            flagsP: *mut AEGP_StreamFlags,
16935            minP0: *mut A_FpLong,
16936            maxP0: *mut A_FpLong,
16937        ) -> A_Err,
16938    >,
16939    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16940        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16941    >,
16942    pub AEGP_GetStreamType: ::std::option::Option<
16943        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16944    >,
16945    pub AEGP_GetNewStreamValue: ::std::option::Option<
16946        unsafe extern "C" fn(
16947            aegp_plugin_id: AEGP_PluginID,
16948            streamH: AEGP_StreamRefH,
16949            time_mode: AEGP_LTimeMode,
16950            timePT: *const A_Time,
16951            pre_expressionB: A_Boolean,
16952            valueP: *mut AEGP_StreamValue,
16953        ) -> A_Err,
16954    >,
16955    pub AEGP_DisposeStreamValue:
16956        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue) -> A_Err>,
16957    pub AEGP_SetStreamValue: ::std::option::Option<
16958        unsafe extern "C" fn(
16959            aegp_plugin_id: AEGP_PluginID,
16960            streamH: AEGP_StreamRefH,
16961            valueP: *mut AEGP_StreamValue,
16962        ) -> A_Err,
16963    >,
16964    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16965        unsafe extern "C" fn(
16966            layerH: AEGP_LayerH,
16967            which_stream: AEGP_LayerStream,
16968            time_mode: AEGP_LTimeMode,
16969            timePT: *const A_Time,
16970            pre_expressionB: A_Boolean,
16971            stream_valP: *mut AEGP_StreamVal,
16972            stream_typeP0: *mut AEGP_StreamType,
16973        ) -> A_Err,
16974    >,
16975    pub AEGP_GetExpressionState: ::std::option::Option<
16976        unsafe extern "C" fn(
16977            aegp_plugin_id: AEGP_PluginID,
16978            streamH: AEGP_StreamRefH,
16979            enabledPB: *mut A_Boolean,
16980        ) -> A_Err,
16981    >,
16982    pub AEGP_SetExpressionState: ::std::option::Option<
16983        unsafe extern "C" fn(
16984            aegp_plugin_id: AEGP_PluginID,
16985            streamH: AEGP_StreamRefH,
16986            enabledB: A_Boolean,
16987        ) -> A_Err,
16988    >,
16989    pub AEGP_GetExpression: ::std::option::Option<
16990        unsafe extern "C" fn(
16991            aegp_plugin_id: AEGP_PluginID,
16992            streamH: AEGP_StreamRefH,
16993            expressionHZ: *mut AEGP_MemHandle,
16994        ) -> A_Err,
16995    >,
16996    pub AEGP_SetExpression: ::std::option::Option<
16997        unsafe extern "C" fn(
16998            aegp_plugin_id: AEGP_PluginID,
16999            streamH: AEGP_StreamRefH,
17000            expressionP: *const A_char,
17001        ) -> A_Err,
17002    >,
17003    pub AEGP_DuplicateStreamRef: ::std::option::Option<
17004        unsafe extern "C" fn(
17005            aegp_plugin_id: AEGP_PluginID,
17006            streamH: AEGP_StreamRefH,
17007            dup_streamPH: *mut AEGP_StreamRefH,
17008        ) -> A_Err,
17009    >,
17010}
17011#[repr(C)]
17012#[derive(Debug, Copy, Clone)]
17013pub struct AEGP_StreamSuite1 {
17014    pub AEGP_IsStreamLegal: ::std::option::Option<
17015        unsafe extern "C" fn(
17016            layerH: AEGP_LayerH,
17017            which_stream: AEGP_LayerStream,
17018            is_legalP: *mut A_Boolean,
17019        ) -> A_Err,
17020    >,
17021    pub AEGP_CanVaryOverTime: ::std::option::Option<
17022        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
17023    >,
17024    pub AEGP_GetNewLayerStream: ::std::option::Option<
17025        unsafe extern "C" fn(
17026            aegp_plugin_id: AEGP_PluginID,
17027            layerH: AEGP_LayerH,
17028            which_stream: AEGP_LayerStream,
17029            streamPH: *mut AEGP_StreamRefH,
17030        ) -> A_Err,
17031    >,
17032    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
17033        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
17034    >,
17035    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
17036        unsafe extern "C" fn(
17037            aegp_plugin_id: AEGP_PluginID,
17038            effect_refH: AEGP_EffectRefH,
17039            param_index: PF_ParamIndex,
17040            streamPH: *mut AEGP_StreamRefH,
17041        ) -> A_Err,
17042    >,
17043    pub AEGP_GetNewMaskStream: ::std::option::Option<
17044        unsafe extern "C" fn(
17045            aegp_plugin_id: AEGP_PluginID,
17046            mask_refH: AEGP_MaskRefH,
17047            which_stream: AEGP_MaskStream,
17048            mask_streamPH: *mut AEGP_StreamRefH,
17049        ) -> A_Err,
17050    >,
17051    pub AEGP_DisposeStream:
17052        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
17053    pub AEGP_GetStreamName: ::std::option::Option<
17054        unsafe extern "C" fn(
17055            streamH: AEGP_StreamRefH,
17056            force_englishB: A_Boolean,
17057            nameZ: *mut A_char,
17058        ) -> A_Err,
17059    >,
17060    pub AEGP_GetStreamUnitsText: ::std::option::Option<
17061        unsafe extern "C" fn(
17062            streamH: AEGP_StreamRefH,
17063            force_englishB: A_Boolean,
17064            unitsZ: *mut A_char,
17065        ) -> A_Err,
17066    >,
17067    pub AEGP_GetStreamProperties: ::std::option::Option<
17068        unsafe extern "C" fn(
17069            streamH: AEGP_StreamRefH,
17070            flagsP: *mut AEGP_StreamFlags,
17071            minP0: *mut A_FpLong,
17072            maxP0: *mut A_FpLong,
17073        ) -> A_Err,
17074    >,
17075    pub AEGP_IsStreamTimevarying: ::std::option::Option<
17076        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
17077    >,
17078    pub AEGP_GetStreamType: ::std::option::Option<
17079        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
17080    >,
17081    pub AEGP_GetNewStreamValue: ::std::option::Option<
17082        unsafe extern "C" fn(
17083            aegp_plugin_id: AEGP_PluginID,
17084            streamH: AEGP_StreamRefH,
17085            time_mode: AEGP_LTimeMode,
17086            timePT: *const A_Time,
17087            pre_expressionB: A_Boolean,
17088            valueP: *mut AEGP_StreamValue,
17089        ) -> A_Err,
17090    >,
17091    pub AEGP_DisposeStreamValue:
17092        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue) -> A_Err>,
17093    pub AEGP_SetStreamValue: ::std::option::Option<
17094        unsafe extern "C" fn(
17095            aegp_plugin_id: AEGP_PluginID,
17096            streamH: AEGP_StreamRefH,
17097            valueP: *mut AEGP_StreamValue,
17098        ) -> A_Err,
17099    >,
17100    pub AEGP_GetLayerStreamValue: ::std::option::Option<
17101        unsafe extern "C" fn(
17102            layerH: AEGP_LayerH,
17103            which_stream: AEGP_LayerStream,
17104            time_mode: AEGP_LTimeMode,
17105            timePT: *const A_Time,
17106            pre_expressionB: A_Boolean,
17107            stream_valP: *mut AEGP_StreamVal,
17108            stream_typeP0: *mut AEGP_StreamType,
17109        ) -> A_Err,
17110    >,
17111    pub AEGP_GetExpressionState: ::std::option::Option<
17112        unsafe extern "C" fn(
17113            aegp_plugin_id: AEGP_PluginID,
17114            streamH: AEGP_StreamRefH,
17115            enabledPB: *mut A_Boolean,
17116        ) -> A_Err,
17117    >,
17118    pub AEGP_SetExpressionState: ::std::option::Option<
17119        unsafe extern "C" fn(
17120            aegp_plugin_id: AEGP_PluginID,
17121            streamH: AEGP_StreamRefH,
17122            enabledB: A_Boolean,
17123        ) -> A_Err,
17124    >,
17125    pub AEGP_GetExpression: ::std::option::Option<
17126        unsafe extern "C" fn(
17127            aegp_plugin_id: AEGP_PluginID,
17128            streamH: AEGP_StreamRefH,
17129            expressionHZ: *mut AEGP_MemHandle,
17130        ) -> A_Err,
17131    >,
17132    pub AEGP_SetExpression: ::std::option::Option<
17133        unsafe extern "C" fn(
17134            aegp_plugin_id: AEGP_PluginID,
17135            streamH: AEGP_StreamRefH,
17136            expressionP: *const A_char,
17137        ) -> A_Err,
17138    >,
17139}
17140#[repr(C)]
17141#[derive(Debug, Copy, Clone)]
17142pub struct AEGP_LayerSuite1 {
17143    pub AEGP_GetCompNumLayers: ::std::option::Option<
17144        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
17145    >,
17146    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
17147        unsafe extern "C" fn(
17148            compH: AEGP_CompH,
17149            layer_indexL: A_long,
17150            layerPH: *mut AEGP_LayerH,
17151        ) -> A_Err,
17152    >,
17153    pub AEGP_GetActiveLayer:
17154        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
17155    pub AEGP_GetLayerIndex: ::std::option::Option<
17156        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
17157    >,
17158    pub AEGP_GetLayerSourceItem: ::std::option::Option<
17159        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
17160    >,
17161    pub AEGP_GetLayerParentComp: ::std::option::Option<
17162        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
17163    >,
17164    pub AEGP_GetLayerName: ::std::option::Option<
17165        unsafe extern "C" fn(
17166            layerH: AEGP_LayerH,
17167            layer_nameZ0: *mut A_char,
17168            source_nameZ0: *mut A_char,
17169        ) -> A_Err,
17170    >,
17171    pub AEGP_GetLayerQuality: ::std::option::Option<
17172        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
17173    >,
17174    pub AEGP_SetLayerQuality: ::std::option::Option<
17175        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
17176    >,
17177    pub AEGP_GetLayerFlags: ::std::option::Option<
17178        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
17179    >,
17180    pub AEGP_SetLayerFlag: ::std::option::Option<
17181        unsafe extern "C" fn(
17182            layerH: AEGP_LayerH,
17183            single_flag: AEGP_LayerFlags,
17184            valueB: A_Boolean,
17185        ) -> A_Err,
17186    >,
17187    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
17188        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
17189    >,
17190    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
17191        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
17192    >,
17193    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
17194        unsafe extern "C" fn(
17195            layerH: AEGP_LayerH,
17196            time_mode: AEGP_LTimeMode,
17197            curr_timePT: *mut A_Time,
17198        ) -> A_Err,
17199    >,
17200    pub AEGP_GetLayerInPoint: ::std::option::Option<
17201        unsafe extern "C" fn(
17202            layerH: AEGP_LayerH,
17203            time_mode: AEGP_LTimeMode,
17204            in_pointPT: *mut A_Time,
17205        ) -> A_Err,
17206    >,
17207    pub AEGP_GetLayerDuration: ::std::option::Option<
17208        unsafe extern "C" fn(
17209            layerH: AEGP_LayerH,
17210            time_mode: AEGP_LTimeMode,
17211            durationPT: *mut A_Time,
17212        ) -> A_Err,
17213    >,
17214    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
17215        unsafe extern "C" fn(
17216            layerH: AEGP_LayerH,
17217            time_mode: AEGP_LTimeMode,
17218            in_pointPT: *const A_Time,
17219            durationPT: *const A_Time,
17220        ) -> A_Err,
17221    >,
17222    pub AEGP_GetLayerOffset: ::std::option::Option<
17223        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
17224    >,
17225    pub AEGP_SetLayerOffset: ::std::option::Option<
17226        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
17227    >,
17228    pub AEGP_GetLayerStretch: ::std::option::Option<
17229        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
17230    >,
17231    pub AEGP_SetLayerStretch: ::std::option::Option<
17232        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
17233    >,
17234    pub AEGP_GetLayerTransferMode: ::std::option::Option<
17235        unsafe extern "C" fn(
17236            layerH: AEGP_LayerH,
17237            transfer_modeP: *mut AEGP_LayerTransferMode,
17238        ) -> A_Err,
17239    >,
17240    pub AEGP_SetLayerTransferMode: ::std::option::Option<
17241        unsafe extern "C" fn(
17242            layerH: AEGP_LayerH,
17243            transfer_modeP: *const AEGP_LayerTransferMode,
17244        ) -> A_Err,
17245    >,
17246    pub AEGP_IsAddLayerValid: ::std::option::Option<
17247        unsafe extern "C" fn(
17248            item_to_addH: AEGP_ItemH,
17249            into_compH: AEGP_CompH,
17250            validPB: *mut A_Boolean,
17251        ) -> A_Err,
17252    >,
17253    pub AEGP_AddLayer: ::std::option::Option<
17254        unsafe extern "C" fn(
17255            item_to_addH: AEGP_ItemH,
17256            into_compH: AEGP_CompH,
17257            added_layerPH0: *mut AEGP_LayerH,
17258        ) -> A_Err,
17259    >,
17260    pub AEGP_ReorderLayer: ::std::option::Option<
17261        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
17262    >,
17263    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
17264        unsafe extern "C" fn(
17265            layerH: AEGP_LayerH,
17266            time_mode: AEGP_LTimeMode,
17267            timePT: *const A_Time,
17268            boundsPR: *mut A_FloatRect,
17269        ) -> A_Err,
17270    >,
17271    pub AEGP_GetLayerObjectType: ::std::option::Option<
17272        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
17273    >,
17274    pub AEGP_IsLayer3D: ::std::option::Option<
17275        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
17276    >,
17277    pub AEGP_IsLayer2D: ::std::option::Option<
17278        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
17279    >,
17280    pub AEGP_IsVideoActive: ::std::option::Option<
17281        unsafe extern "C" fn(
17282            layerH: AEGP_LayerH,
17283            time_mode: AEGP_LTimeMode,
17284            timePT: *const A_Time,
17285            is_activePB: *mut A_Boolean,
17286        ) -> A_Err,
17287    >,
17288    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
17289        unsafe extern "C" fn(
17290            layerH: AEGP_LayerH,
17291            fill_must_be_activeB: A_Boolean,
17292            is_track_mattePB: *mut A_Boolean,
17293        ) -> A_Err,
17294    >,
17295    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
17296        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
17297    >,
17298    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
17299        unsafe extern "C" fn(
17300            layerH: AEGP_LayerH,
17301            comp_timeP: *const A_Time,
17302            layer_timeP: *mut A_Time,
17303        ) -> A_Err,
17304    >,
17305    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
17306        unsafe extern "C" fn(
17307            layerH: AEGP_LayerH,
17308            comp_timePT: *const A_Time,
17309            rand_valuePL: *mut A_long,
17310        ) -> A_Err,
17311    >,
17312    pub AEGP_GetLayerID: ::std::option::Option<
17313        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
17314    >,
17315    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
17316        unsafe extern "C" fn(
17317            aegp_layerH: AEGP_LayerH,
17318            comp_timeP: *const A_Time,
17319            tranform: *mut A_Matrix4,
17320        ) -> A_Err,
17321    >,
17322    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
17323        unsafe extern "C" fn(
17324            aegp_layerH: AEGP_LayerH,
17325            view_timeP: *const A_Time,
17326            comp_timeP: *const A_Time,
17327            tranform: *mut A_Matrix4,
17328        ) -> A_Err,
17329    >,
17330    pub AEGP_SetLayerName: ::std::option::Option<
17331        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
17332    >,
17333}
17334#[repr(C)]
17335#[derive(Debug, Copy, Clone)]
17336pub struct AEGP_LayerSuite2 {
17337    pub AEGP_GetCompNumLayers: ::std::option::Option<
17338        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
17339    >,
17340    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
17341        unsafe extern "C" fn(
17342            compH: AEGP_CompH,
17343            layer_indexL: A_long,
17344            layerPH: *mut AEGP_LayerH,
17345        ) -> A_Err,
17346    >,
17347    pub AEGP_GetActiveLayer:
17348        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
17349    pub AEGP_GetLayerIndex: ::std::option::Option<
17350        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
17351    >,
17352    pub AEGP_GetLayerSourceItem: ::std::option::Option<
17353        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
17354    >,
17355    pub AEGP_GetLayerParentComp: ::std::option::Option<
17356        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
17357    >,
17358    pub AEGP_GetLayerName: ::std::option::Option<
17359        unsafe extern "C" fn(
17360            layerH: AEGP_LayerH,
17361            layer_nameZ0: *mut A_char,
17362            source_nameZ0: *mut A_char,
17363        ) -> A_Err,
17364    >,
17365    pub AEGP_GetLayerQuality: ::std::option::Option<
17366        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
17367    >,
17368    pub AEGP_SetLayerQuality: ::std::option::Option<
17369        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
17370    >,
17371    pub AEGP_GetLayerFlags: ::std::option::Option<
17372        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
17373    >,
17374    pub AEGP_SetLayerFlag: ::std::option::Option<
17375        unsafe extern "C" fn(
17376            layerH: AEGP_LayerH,
17377            single_flag: AEGP_LayerFlags,
17378            valueB: A_Boolean,
17379        ) -> A_Err,
17380    >,
17381    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
17382        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
17383    >,
17384    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
17385        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
17386    >,
17387    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
17388        unsafe extern "C" fn(
17389            layerH: AEGP_LayerH,
17390            time_mode: AEGP_LTimeMode,
17391            curr_timePT: *mut A_Time,
17392        ) -> A_Err,
17393    >,
17394    pub AEGP_GetLayerInPoint: ::std::option::Option<
17395        unsafe extern "C" fn(
17396            layerH: AEGP_LayerH,
17397            time_mode: AEGP_LTimeMode,
17398            in_pointPT: *mut A_Time,
17399        ) -> A_Err,
17400    >,
17401    pub AEGP_GetLayerDuration: ::std::option::Option<
17402        unsafe extern "C" fn(
17403            layerH: AEGP_LayerH,
17404            time_mode: AEGP_LTimeMode,
17405            durationPT: *mut A_Time,
17406        ) -> A_Err,
17407    >,
17408    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
17409        unsafe extern "C" fn(
17410            layerH: AEGP_LayerH,
17411            time_mode: AEGP_LTimeMode,
17412            in_pointPT: *const A_Time,
17413            durationPT: *const A_Time,
17414        ) -> A_Err,
17415    >,
17416    pub AEGP_GetLayerOffset: ::std::option::Option<
17417        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
17418    >,
17419    pub AEGP_SetLayerOffset: ::std::option::Option<
17420        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
17421    >,
17422    pub AEGP_GetLayerStretch: ::std::option::Option<
17423        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
17424    >,
17425    pub AEGP_SetLayerStretch: ::std::option::Option<
17426        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
17427    >,
17428    pub AEGP_GetLayerTransferMode: ::std::option::Option<
17429        unsafe extern "C" fn(
17430            layerH: AEGP_LayerH,
17431            transfer_modeP: *mut AEGP_LayerTransferMode,
17432        ) -> A_Err,
17433    >,
17434    pub AEGP_SetLayerTransferMode: ::std::option::Option<
17435        unsafe extern "C" fn(
17436            layerH: AEGP_LayerH,
17437            transfer_modeP: *const AEGP_LayerTransferMode,
17438        ) -> A_Err,
17439    >,
17440    pub AEGP_IsAddLayerValid: ::std::option::Option<
17441        unsafe extern "C" fn(
17442            item_to_addH: AEGP_ItemH,
17443            into_compH: AEGP_CompH,
17444            validPB: *mut A_Boolean,
17445        ) -> A_Err,
17446    >,
17447    pub AEGP_AddLayer: ::std::option::Option<
17448        unsafe extern "C" fn(
17449            item_to_addH: AEGP_ItemH,
17450            into_compH: AEGP_CompH,
17451            added_layerPH0: *mut AEGP_LayerH,
17452        ) -> A_Err,
17453    >,
17454    pub AEGP_ReorderLayer: ::std::option::Option<
17455        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
17456    >,
17457    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
17458        unsafe extern "C" fn(
17459            layerH: AEGP_LayerH,
17460            time_mode: AEGP_LTimeMode,
17461            timePT: *const A_Time,
17462            boundsPR: *mut A_FloatRect,
17463        ) -> A_Err,
17464    >,
17465    pub AEGP_GetLayerObjectType: ::std::option::Option<
17466        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
17467    >,
17468    pub AEGP_IsLayer3D: ::std::option::Option<
17469        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
17470    >,
17471    pub AEGP_IsLayer2D: ::std::option::Option<
17472        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
17473    >,
17474    pub AEGP_IsVideoActive: ::std::option::Option<
17475        unsafe extern "C" fn(
17476            layerH: AEGP_LayerH,
17477            time_mode: AEGP_LTimeMode,
17478            timePT: *const A_Time,
17479            is_activePB: *mut A_Boolean,
17480        ) -> A_Err,
17481    >,
17482    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
17483        unsafe extern "C" fn(
17484            layerH: AEGP_LayerH,
17485            fill_must_be_activeB: A_Boolean,
17486            is_track_mattePB: *mut A_Boolean,
17487        ) -> A_Err,
17488    >,
17489    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
17490        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
17491    >,
17492    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
17493        unsafe extern "C" fn(
17494            layerH: AEGP_LayerH,
17495            comp_timePT: *const A_Time,
17496            layer_timePT: *mut A_Time,
17497        ) -> A_Err,
17498    >,
17499    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
17500        unsafe extern "C" fn(
17501            layerH: AEGP_LayerH,
17502            layer_timePT: *const A_Time,
17503            comp_timePT: *mut A_Time,
17504        ) -> A_Err,
17505    >,
17506    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
17507        unsafe extern "C" fn(
17508            layerH: AEGP_LayerH,
17509            comp_timePT: *const A_Time,
17510            rand_valuePL: *mut A_long,
17511        ) -> A_Err,
17512    >,
17513    pub AEGP_GetLayerID: ::std::option::Option<
17514        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
17515    >,
17516    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
17517        unsafe extern "C" fn(
17518            aegp_layerH: AEGP_LayerH,
17519            comp_timeP: *const A_Time,
17520            tranform: *mut A_Matrix4,
17521        ) -> A_Err,
17522    >,
17523    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
17524        unsafe extern "C" fn(
17525            aegp_layerH: AEGP_LayerH,
17526            view_timeP: *const A_Time,
17527            comp_timeP: *const A_Time,
17528            tranform: *mut A_Matrix4,
17529        ) -> A_Err,
17530    >,
17531    pub AEGP_SetLayerName: ::std::option::Option<
17532        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
17533    >,
17534    pub AEGP_GetLayerParent: ::std::option::Option<
17535        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
17536    >,
17537    pub AEGP_SetLayerParent: ::std::option::Option<
17538        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH: AEGP_LayerH) -> A_Err,
17539    >,
17540}
17541#[repr(C)]
17542#[derive(Debug, Copy, Clone)]
17543pub struct AEGP_EffectSuite1 {
17544    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17545        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17546    >,
17547    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17548        unsafe extern "C" fn(
17549            aegp_plugin_id: AEGP_PluginID,
17550            layerH: AEGP_LayerH,
17551            layer_effect_indexL: AEGP_EffectIndex,
17552            effectPH: *mut AEGP_EffectRefH,
17553        ) -> A_Err,
17554    >,
17555    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17556        unsafe extern "C" fn(
17557            effect_refH: AEGP_EffectRefH,
17558            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17559        ) -> A_Err,
17560    >,
17561    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17562        unsafe extern "C" fn(
17563            aegp_plugin_id: AEGP_PluginID,
17564            effect_refH: AEGP_EffectRefH,
17565            param_index: PF_ParamIndex,
17566            param_typeP: *mut PF_ParamType,
17567            uP0: *mut PF_ParamDefUnion,
17568        ) -> A_Err,
17569    >,
17570    pub AEGP_GetEffectFlags: ::std::option::Option<
17571        unsafe extern "C" fn(
17572            effect_refH: AEGP_EffectRefH,
17573            effect_flagsP: *mut AEGP_EffectFlags,
17574        ) -> A_Err,
17575    >,
17576    pub AEGP_SetEffectFlags: ::std::option::Option<
17577        unsafe extern "C" fn(
17578            effect_refH: AEGP_EffectRefH,
17579            effect_flags_set_mask: AEGP_EffectFlags,
17580            effect_flags: AEGP_EffectFlags,
17581        ) -> A_Err,
17582    >,
17583    pub AEGP_ReorderEffect: ::std::option::Option<
17584        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17585    >,
17586    pub AEGP_EffectCallGeneric: ::std::option::Option<
17587        unsafe extern "C" fn(
17588            aegp_plugin_id: AEGP_PluginID,
17589            effect_refH: AEGP_EffectRefH,
17590            timePT: *const A_Time,
17591            effect_extraPV: *mut ::std::os::raw::c_void,
17592        ) -> A_Err,
17593    >,
17594    pub AEGP_DisposeEffect:
17595        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17596    pub AEGP_ApplyEffect: ::std::option::Option<
17597        unsafe extern "C" fn(
17598            aegp_plugin_id: AEGP_PluginID,
17599            layerH: AEGP_LayerH,
17600            installed_effect_key: AEGP_InstalledEffectKey,
17601            effect_refPH: *mut AEGP_EffectRefH,
17602        ) -> A_Err,
17603    >,
17604    pub AEGP_DeleteLayerEffect:
17605        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17606    pub AEGP_GetNumInstalledEffects:
17607        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17608    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17609        unsafe extern "C" fn(
17610            installed_effect_key: AEGP_InstalledEffectKey,
17611            next_effectPH: *mut AEGP_InstalledEffectKey,
17612        ) -> A_Err,
17613    >,
17614    pub AEGP_GetEffectName: ::std::option::Option<
17615        unsafe extern "C" fn(
17616            installed_effect_key: AEGP_InstalledEffectKey,
17617            nameZ: *mut A_char,
17618        ) -> A_Err,
17619    >,
17620    pub AEGP_GetEffectMatchName: ::std::option::Option<
17621        unsafe extern "C" fn(
17622            installed_effect_key: AEGP_InstalledEffectKey,
17623            match_nameZ: *mut A_char,
17624        ) -> A_Err,
17625    >,
17626    pub AEGP_GetEffectCategory: ::std::option::Option<
17627        unsafe extern "C" fn(
17628            installed_effect_key: AEGP_InstalledEffectKey,
17629            categoryZ: *mut A_char,
17630        ) -> A_Err,
17631    >,
17632}
17633#[repr(C)]
17634#[derive(Debug, Copy, Clone)]
17635pub struct AEGP_EffectSuite2 {
17636    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17637        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17638    >,
17639    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17640        unsafe extern "C" fn(
17641            aegp_plugin_id: AEGP_PluginID,
17642            layerH: AEGP_LayerH,
17643            layer_effect_indexL: AEGP_EffectIndex,
17644            effectPH: *mut AEGP_EffectRefH,
17645        ) -> A_Err,
17646    >,
17647    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17648        unsafe extern "C" fn(
17649            effect_refH: AEGP_EffectRefH,
17650            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17651        ) -> A_Err,
17652    >,
17653    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17654        unsafe extern "C" fn(
17655            aegp_plugin_id: AEGP_PluginID,
17656            effect_refH: AEGP_EffectRefH,
17657            param_index: PF_ParamIndex,
17658            param_typeP: *mut PF_ParamType,
17659            uP0: *mut PF_ParamDefUnion,
17660        ) -> A_Err,
17661    >,
17662    pub AEGP_GetEffectFlags: ::std::option::Option<
17663        unsafe extern "C" fn(
17664            effect_refH: AEGP_EffectRefH,
17665            effect_flagsP: *mut AEGP_EffectFlags,
17666        ) -> A_Err,
17667    >,
17668    pub AEGP_SetEffectFlags: ::std::option::Option<
17669        unsafe extern "C" fn(
17670            effect_refH: AEGP_EffectRefH,
17671            effect_flags_set_mask: AEGP_EffectFlags,
17672            effect_flags: AEGP_EffectFlags,
17673        ) -> A_Err,
17674    >,
17675    pub AEGP_ReorderEffect: ::std::option::Option<
17676        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17677    >,
17678    pub AEGP_EffectCallGeneric: ::std::option::Option<
17679        unsafe extern "C" fn(
17680            aegp_plugin_id: AEGP_PluginID,
17681            effect_refH: AEGP_EffectRefH,
17682            timePT: *const A_Time,
17683            effect_extraPV: *mut ::std::os::raw::c_void,
17684        ) -> A_Err,
17685    >,
17686    pub AEGP_DisposeEffect:
17687        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17688    pub AEGP_ApplyEffect: ::std::option::Option<
17689        unsafe extern "C" fn(
17690            aegp_plugin_id: AEGP_PluginID,
17691            layerH: AEGP_LayerH,
17692            installed_effect_key: AEGP_InstalledEffectKey,
17693            effect_refPH: *mut AEGP_EffectRefH,
17694        ) -> A_Err,
17695    >,
17696    pub AEGP_DeleteLayerEffect:
17697        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17698    pub AEGP_GetNumInstalledEffects:
17699        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17700    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17701        unsafe extern "C" fn(
17702            installed_effect_key: AEGP_InstalledEffectKey,
17703            next_effectPH: *mut AEGP_InstalledEffectKey,
17704        ) -> A_Err,
17705    >,
17706    pub AEGP_GetEffectName: ::std::option::Option<
17707        unsafe extern "C" fn(
17708            installed_effect_key: AEGP_InstalledEffectKey,
17709            nameZ: *mut A_char,
17710        ) -> A_Err,
17711    >,
17712    pub AEGP_GetEffectMatchName: ::std::option::Option<
17713        unsafe extern "C" fn(
17714            installed_effect_key: AEGP_InstalledEffectKey,
17715            match_nameZ: *mut A_char,
17716        ) -> A_Err,
17717    >,
17718    pub AEGP_GetEffectCategory: ::std::option::Option<
17719        unsafe extern "C" fn(
17720            installed_effect_key: AEGP_InstalledEffectKey,
17721            categoryZ: *mut A_char,
17722        ) -> A_Err,
17723    >,
17724    pub AEGP_DuplicateEffect: ::std::option::Option<
17725        unsafe extern "C" fn(
17726            original_effect_refH: AEGP_EffectRefH,
17727            duplicate_effect_refPH: *mut AEGP_EffectRefH,
17728        ) -> A_Err,
17729    >,
17730}
17731#[repr(C)]
17732#[derive(Debug, Copy, Clone)]
17733pub struct AEGP_EffectSuite3 {
17734    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17735        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17736    >,
17737    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17738        unsafe extern "C" fn(
17739            aegp_plugin_id: AEGP_PluginID,
17740            layerH: AEGP_LayerH,
17741            layer_effect_indexL: AEGP_EffectIndex,
17742            effectPH: *mut AEGP_EffectRefH,
17743        ) -> A_Err,
17744    >,
17745    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17746        unsafe extern "C" fn(
17747            effect_refH: AEGP_EffectRefH,
17748            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17749        ) -> A_Err,
17750    >,
17751    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17752        unsafe extern "C" fn(
17753            aegp_plugin_id: AEGP_PluginID,
17754            effect_refH: AEGP_EffectRefH,
17755            param_index: PF_ParamIndex,
17756            param_typeP: *mut PF_ParamType,
17757            uP0: *mut PF_ParamDefUnion,
17758        ) -> A_Err,
17759    >,
17760    pub AEGP_GetEffectFlags: ::std::option::Option<
17761        unsafe extern "C" fn(
17762            effect_refH: AEGP_EffectRefH,
17763            effect_flagsP: *mut AEGP_EffectFlags,
17764        ) -> A_Err,
17765    >,
17766    pub AEGP_SetEffectFlags: ::std::option::Option<
17767        unsafe extern "C" fn(
17768            effect_refH: AEGP_EffectRefH,
17769            effect_flags_set_mask: AEGP_EffectFlags,
17770            effect_flags: AEGP_EffectFlags,
17771        ) -> A_Err,
17772    >,
17773    pub AEGP_ReorderEffect: ::std::option::Option<
17774        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17775    >,
17776    #[doc = " new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command"]
17777    pub AEGP_EffectCallGeneric: ::std::option::Option<
17778        unsafe extern "C" fn(
17779            aegp_plugin_id: AEGP_PluginID,
17780            effect_refH: AEGP_EffectRefH,
17781            timePT: *const A_Time,
17782            effect_cmd: PF_Cmd,
17783            effect_extraPV: *mut ::std::os::raw::c_void,
17784        ) -> A_Err,
17785    >,
17786    pub AEGP_DisposeEffect:
17787        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17788    pub AEGP_ApplyEffect: ::std::option::Option<
17789        unsafe extern "C" fn(
17790            aegp_plugin_id: AEGP_PluginID,
17791            layerH: AEGP_LayerH,
17792            installed_effect_key: AEGP_InstalledEffectKey,
17793            effect_refPH: *mut AEGP_EffectRefH,
17794        ) -> A_Err,
17795    >,
17796    pub AEGP_DeleteLayerEffect:
17797        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17798    pub AEGP_GetNumInstalledEffects:
17799        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17800    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17801        unsafe extern "C" fn(
17802            installed_effect_key: AEGP_InstalledEffectKey,
17803            next_effectPH: *mut AEGP_InstalledEffectKey,
17804        ) -> A_Err,
17805    >,
17806    pub AEGP_GetEffectName: ::std::option::Option<
17807        unsafe extern "C" fn(
17808            installed_effect_key: AEGP_InstalledEffectKey,
17809            nameZ: *mut A_char,
17810        ) -> A_Err,
17811    >,
17812    pub AEGP_GetEffectMatchName: ::std::option::Option<
17813        unsafe extern "C" fn(
17814            installed_effect_key: AEGP_InstalledEffectKey,
17815            match_nameZ: *mut A_char,
17816        ) -> A_Err,
17817    >,
17818    pub AEGP_GetEffectCategory: ::std::option::Option<
17819        unsafe extern "C" fn(
17820            installed_effect_key: AEGP_InstalledEffectKey,
17821            categoryZ: *mut A_char,
17822        ) -> A_Err,
17823    >,
17824    pub AEGP_DuplicateEffect: ::std::option::Option<
17825        unsafe extern "C" fn(
17826            original_effect_refH: AEGP_EffectRefH,
17827            duplicate_effect_refPH: *mut AEGP_EffectRefH,
17828        ) -> A_Err,
17829    >,
17830}
17831#[repr(C)]
17832#[derive(Debug, Copy, Clone)]
17833pub struct AEGP_EffectSuite4 {
17834    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17835        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17836    >,
17837    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17838        unsafe extern "C" fn(
17839            aegp_plugin_id: AEGP_PluginID,
17840            layerH: AEGP_LayerH,
17841            layer_effect_indexL: AEGP_EffectIndex,
17842            effectPH: *mut AEGP_EffectRefH,
17843        ) -> A_Err,
17844    >,
17845    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17846        unsafe extern "C" fn(
17847            effect_refH: AEGP_EffectRefH,
17848            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17849        ) -> A_Err,
17850    >,
17851    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17852        unsafe extern "C" fn(
17853            aegp_plugin_id: AEGP_PluginID,
17854            effect_refH: AEGP_EffectRefH,
17855            param_index: PF_ParamIndex,
17856            param_typeP: *mut PF_ParamType,
17857            uP0: *mut PF_ParamDefUnion,
17858        ) -> A_Err,
17859    >,
17860    pub AEGP_GetEffectFlags: ::std::option::Option<
17861        unsafe extern "C" fn(
17862            effect_refH: AEGP_EffectRefH,
17863            effect_flagsP: *mut AEGP_EffectFlags,
17864        ) -> A_Err,
17865    >,
17866    pub AEGP_SetEffectFlags: ::std::option::Option<
17867        unsafe extern "C" fn(
17868            effect_refH: AEGP_EffectRefH,
17869            effect_flags_set_mask: AEGP_EffectFlags,
17870            effect_flags: AEGP_EffectFlags,
17871        ) -> A_Err,
17872    >,
17873    pub AEGP_ReorderEffect: ::std::option::Option<
17874        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17875    >,
17876    #[doc = " new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command"]
17877    pub AEGP_EffectCallGeneric: ::std::option::Option<
17878        unsafe extern "C" fn(
17879            aegp_plugin_id: AEGP_PluginID,
17880            effect_refH: AEGP_EffectRefH,
17881            timePT: *const A_Time,
17882            effect_cmd: PF_Cmd,
17883            effect_extraPV: *mut ::std::os::raw::c_void,
17884        ) -> A_Err,
17885    >,
17886    pub AEGP_DisposeEffect:
17887        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17888    pub AEGP_ApplyEffect: ::std::option::Option<
17889        unsafe extern "C" fn(
17890            aegp_plugin_id: AEGP_PluginID,
17891            layerH: AEGP_LayerH,
17892            installed_effect_key: AEGP_InstalledEffectKey,
17893            effect_refPH: *mut AEGP_EffectRefH,
17894        ) -> A_Err,
17895    >,
17896    pub AEGP_DeleteLayerEffect:
17897        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17898    pub AEGP_GetNumInstalledEffects:
17899        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17900    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17901        unsafe extern "C" fn(
17902            installed_effect_key: AEGP_InstalledEffectKey,
17903            next_effectPH: *mut AEGP_InstalledEffectKey,
17904        ) -> A_Err,
17905    >,
17906    pub AEGP_GetEffectName: ::std::option::Option<
17907        unsafe extern "C" fn(
17908            installed_effect_key: AEGP_InstalledEffectKey,
17909            nameZ: *mut A_char,
17910        ) -> A_Err,
17911    >,
17912    pub AEGP_GetEffectMatchName: ::std::option::Option<
17913        unsafe extern "C" fn(
17914            installed_effect_key: AEGP_InstalledEffectKey,
17915            utf8_match_nameZ: *mut A_char,
17916        ) -> A_Err,
17917    >,
17918    pub AEGP_GetEffectCategory: ::std::option::Option<
17919        unsafe extern "C" fn(
17920            installed_effect_key: AEGP_InstalledEffectKey,
17921            categoryZ: *mut A_char,
17922        ) -> A_Err,
17923    >,
17924    pub AEGP_DuplicateEffect: ::std::option::Option<
17925        unsafe extern "C" fn(
17926            original_effect_refH: AEGP_EffectRefH,
17927            duplicate_effect_refPH: *mut AEGP_EffectRefH,
17928        ) -> A_Err,
17929    >,
17930    #[doc = " new in AE 13.0: effect masks"]
17931    pub AEGP_NumEffectMask: ::std::option::Option<
17932        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_masksPL: *mut A_u_long) -> A_Err,
17933    >,
17934    pub AEGP_GetEffectMaskID: ::std::option::Option<
17935        unsafe extern "C" fn(
17936            effect_refH: AEGP_EffectRefH,
17937            mask_indexL: A_u_long,
17938            id_valP: *mut AEGP_MaskIDVal,
17939        ) -> A_Err,
17940    >,
17941    pub AEGP_AddEffectMask: ::std::option::Option<
17942        unsafe extern "C" fn(
17943            effect_refH: AEGP_EffectRefH,
17944            id_val: AEGP_MaskIDVal,
17945            streamPH0: *mut AEGP_StreamRefH,
17946        ) -> A_Err,
17947    >,
17948    pub AEGP_RemoveEffectMask: ::std::option::Option<
17949        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, id_val: AEGP_MaskIDVal) -> A_Err,
17950    >,
17951    pub AEGP_SetEffectMask: ::std::option::Option<
17952        unsafe extern "C" fn(
17953            effect_refH: AEGP_EffectRefH,
17954            mask_indexL: A_u_long,
17955            id_val: AEGP_MaskIDVal,
17956            streamPH0: *mut AEGP_StreamRefH,
17957        ) -> A_Err,
17958    >,
17959}
17960#[repr(C)]
17961#[derive(Debug, Copy, Clone)]
17962pub struct AEGP_LightSuite1 {
17963    pub AEGP_GetLightType: ::std::option::Option<
17964        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_typeP: *mut AEGP_LightType) -> A_Err,
17965    >,
17966}
17967#[repr(C)]
17968#[derive(Debug, Copy, Clone)]
17969pub struct AEGP_MaskSuite5 {
17970    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17971        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17972    >,
17973    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17974        unsafe extern "C" fn(
17975            aegp_layerH: AEGP_LayerH,
17976            mask_indexL: AEGP_MaskIndex,
17977            maskPH: *mut AEGP_MaskRefH,
17978        ) -> A_Err,
17979    >,
17980    pub AEGP_DisposeMask:
17981        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17982    pub AEGP_GetMaskInvert: ::std::option::Option<
17983        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17984    >,
17985    pub AEGP_SetMaskInvert: ::std::option::Option<
17986        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
17987    >,
17988    pub AEGP_GetMaskMode: ::std::option::Option<
17989        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17990    >,
17991    pub AEGP_SetMaskMode: ::std::option::Option<
17992        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
17993    >,
17994    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
17995        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
17996    >,
17997    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
17998        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
17999    >,
18000    pub AEGP_GetMaskID: ::std::option::Option<
18001        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
18002    >,
18003    pub AEGP_CreateNewMask: ::std::option::Option<
18004        unsafe extern "C" fn(
18005            layerH: AEGP_LayerH,
18006            mask_refPH: *mut AEGP_MaskRefH,
18007            mask_indexPL0: *mut A_long,
18008        ) -> A_Err,
18009    >,
18010    pub AEGP_DeleteMaskFromLayer:
18011        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18012    pub AEGP_GetMaskColor: ::std::option::Option<
18013        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
18014    >,
18015    pub AEGP_SetMaskColor: ::std::option::Option<
18016        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
18017    >,
18018    pub AEGP_GetMaskLockState: ::std::option::Option<
18019        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
18020    >,
18021    pub AEGP_SetMaskLockState: ::std::option::Option<
18022        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
18023    >,
18024    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
18025        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
18026    >,
18027    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
18028        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
18029    >,
18030    pub AEGP_DuplicateMask: ::std::option::Option<
18031        unsafe extern "C" fn(
18032            orig_mask_refH: AEGP_MaskRefH,
18033            duplicate_mask_refPH: *mut AEGP_MaskRefH,
18034        ) -> A_Err,
18035    >,
18036}
18037#[repr(C)]
18038#[derive(Debug, Copy, Clone)]
18039pub struct AEGP_MaskSuite4 {
18040    pub AEGP_GetLayerNumMasks: ::std::option::Option<
18041        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
18042    >,
18043    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
18044        unsafe extern "C" fn(
18045            aegp_layerH: AEGP_LayerH,
18046            mask_indexL: AEGP_MaskIndex,
18047            maskPH: *mut AEGP_MaskRefH,
18048        ) -> A_Err,
18049    >,
18050    pub AEGP_DisposeMask:
18051        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18052    pub AEGP_GetMaskInvert: ::std::option::Option<
18053        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
18054    >,
18055    pub AEGP_SetMaskInvert: ::std::option::Option<
18056        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
18057    >,
18058    pub AEGP_GetMaskMode: ::std::option::Option<
18059        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
18060    >,
18061    pub AEGP_SetMaskMode: ::std::option::Option<
18062        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
18063    >,
18064    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
18065        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
18066    >,
18067    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
18068        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
18069    >,
18070    pub AEGP_GetMaskName: ::std::option::Option<
18071        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18072    >,
18073    pub AEGP_SetMaskName: ::std::option::Option<
18074        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18075    >,
18076    pub AEGP_GetMaskID: ::std::option::Option<
18077        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
18078    >,
18079    pub AEGP_CreateNewMask: ::std::option::Option<
18080        unsafe extern "C" fn(
18081            layerH: AEGP_LayerH,
18082            mask_refPH: *mut AEGP_MaskRefH,
18083            mask_indexPL0: *mut A_long,
18084        ) -> A_Err,
18085    >,
18086    pub AEGP_DeleteMaskFromLayer:
18087        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18088    pub AEGP_GetMaskColor: ::std::option::Option<
18089        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
18090    >,
18091    pub AEGP_SetMaskColor: ::std::option::Option<
18092        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
18093    >,
18094    pub AEGP_GetMaskLockState: ::std::option::Option<
18095        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
18096    >,
18097    pub AEGP_SetMaskLockState: ::std::option::Option<
18098        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
18099    >,
18100    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
18101        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
18102    >,
18103    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
18104        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
18105    >,
18106    pub AEGP_DuplicateMask: ::std::option::Option<
18107        unsafe extern "C" fn(
18108            orig_mask_refH: AEGP_MaskRefH,
18109            duplicate_mask_refPH: *mut AEGP_MaskRefH,
18110        ) -> A_Err,
18111    >,
18112}
18113#[repr(C)]
18114#[derive(Debug, Copy, Clone)]
18115pub struct AEGP_MaskSuite3 {
18116    pub AEGP_GetLayerNumMasks: ::std::option::Option<
18117        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
18118    >,
18119    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
18120        unsafe extern "C" fn(
18121            aegp_layerH: AEGP_LayerH,
18122            mask_indexL: AEGP_MaskIndex,
18123            maskPH: *mut AEGP_MaskRefH,
18124        ) -> A_Err,
18125    >,
18126    pub AEGP_DisposeMask:
18127        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18128    pub AEGP_GetMaskInvert: ::std::option::Option<
18129        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
18130    >,
18131    pub AEGP_SetMaskInvert: ::std::option::Option<
18132        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
18133    >,
18134    pub AEGP_GetMaskMode: ::std::option::Option<
18135        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
18136    >,
18137    pub AEGP_SetMaskMode: ::std::option::Option<
18138        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
18139    >,
18140    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
18141        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
18142    >,
18143    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
18144        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
18145    >,
18146    pub AEGP_GetMaskName: ::std::option::Option<
18147        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18148    >,
18149    pub AEGP_SetMaskName: ::std::option::Option<
18150        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18151    >,
18152    pub AEGP_GetMaskID: ::std::option::Option<
18153        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
18154    >,
18155    pub AEGP_CreateNewMask: ::std::option::Option<
18156        unsafe extern "C" fn(
18157            layerH: AEGP_LayerH,
18158            mask_refPH: *mut AEGP_MaskRefH,
18159            mask_indexPL0: *mut A_long,
18160        ) -> A_Err,
18161    >,
18162    pub AEGP_DeleteMaskFromLayer:
18163        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18164    pub AEGP_GetMaskColor: ::std::option::Option<
18165        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
18166    >,
18167    pub AEGP_SetMaskColor: ::std::option::Option<
18168        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
18169    >,
18170    pub AEGP_GetMaskLockState: ::std::option::Option<
18171        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
18172    >,
18173    pub AEGP_SetMaskLockState: ::std::option::Option<
18174        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
18175    >,
18176    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
18177        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
18178    >,
18179    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
18180        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
18181    >,
18182}
18183#[repr(C)]
18184#[derive(Debug, Copy, Clone)]
18185pub struct AEGP_MaskSuite1 {
18186    pub AEGP_GetLayerNumMasks: ::std::option::Option<
18187        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
18188    >,
18189    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
18190        unsafe extern "C" fn(
18191            aegp_layerH: AEGP_LayerH,
18192            mask_indexL: AEGP_MaskIndex,
18193            maskPH: *mut AEGP_MaskRefH,
18194        ) -> A_Err,
18195    >,
18196    pub AEGP_DisposeMask:
18197        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18198    pub AEGP_GetMaskInvert: ::std::option::Option<
18199        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
18200    >,
18201    pub AEGP_GetMaskMode: ::std::option::Option<
18202        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
18203    >,
18204    pub AEGP_GetMaskName: ::std::option::Option<
18205        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18206    >,
18207    pub AEGP_GetMaskID: ::std::option::Option<
18208        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
18209    >,
18210    pub AEGP_CreateNewMask: ::std::option::Option<
18211        unsafe extern "C" fn(
18212            layerH: AEGP_LayerH,
18213            mask_refPH: *mut AEGP_MaskRefH,
18214            mask_indexPL0: *mut A_long,
18215        ) -> A_Err,
18216    >,
18217    pub AEGP_DeleteMaskFromLayer:
18218        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18219}
18220#[repr(C)]
18221#[derive(Debug, Copy, Clone)]
18222pub struct AEGP_MaskSuite2 {
18223    pub AEGP_GetLayerNumMasks: ::std::option::Option<
18224        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
18225    >,
18226    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
18227        unsafe extern "C" fn(
18228            aegp_layerH: AEGP_LayerH,
18229            mask_indexL: AEGP_MaskIndex,
18230            maskPH: *mut AEGP_MaskRefH,
18231        ) -> A_Err,
18232    >,
18233    pub AEGP_DisposeMask:
18234        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18235    pub AEGP_GetMaskInvert: ::std::option::Option<
18236        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
18237    >,
18238    pub AEGP_SetMaskInvert: ::std::option::Option<
18239        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
18240    >,
18241    pub AEGP_GetMaskMode: ::std::option::Option<
18242        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
18243    >,
18244    pub AEGP_SetMaskMode: ::std::option::Option<
18245        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
18246    >,
18247    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
18248        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
18249    >,
18250    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
18251        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
18252    >,
18253    pub AEGP_GetMaskName: ::std::option::Option<
18254        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
18255    >,
18256    pub AEGP_GetMaskID: ::std::option::Option<
18257        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
18258    >,
18259    pub AEGP_CreateNewMask: ::std::option::Option<
18260        unsafe extern "C" fn(
18261            layerH: AEGP_LayerH,
18262            mask_refPH: *mut AEGP_MaskRefH,
18263            mask_indexPL0: *mut A_long,
18264        ) -> A_Err,
18265    >,
18266    pub AEGP_DeleteMaskFromLayer:
18267        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
18268}
18269#[repr(C)]
18270#[derive(Debug, Copy, Clone)]
18271pub struct AEGP_CameraSuite1 {
18272    pub AEGP_GetCamera: ::std::option::Option<
18273        unsafe extern "C" fn(
18274            render_contextH: PR_RenderContextH,
18275            comp_timeP: *const A_Time,
18276            camera_layerPH: *mut AEGP_LayerH,
18277        ) -> A_Err,
18278    >,
18279    pub AEGP_GetCameraType: ::std::option::Option<
18280        unsafe extern "C" fn(
18281            camera_layerH: AEGP_LayerH,
18282            camera_typeP: *mut AEGP_CameraType,
18283        ) -> A_Err,
18284    >,
18285    pub AEGP_GetDefaultCameraDistanceToImagePlane: ::std::option::Option<
18286        unsafe extern "C" fn(compH: AEGP_CompH, dist_to_planePF: *mut A_FpLong) -> A_Err,
18287    >,
18288}
18289#[repr(C)]
18290#[derive(Debug, Copy, Clone)]
18291pub struct AEGP_ItemSuite8 {
18292    pub AEGP_GetFirstProjItem: ::std::option::Option<
18293        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
18294    >,
18295    pub AEGP_GetNextProjItem: ::std::option::Option<
18296        unsafe extern "C" fn(
18297            projectH: AEGP_ProjectH,
18298            itemH: AEGP_ItemH,
18299            next_itemPH: *mut AEGP_ItemH,
18300        ) -> A_Err,
18301    >,
18302    pub AEGP_GetActiveItem:
18303        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18304    pub AEGP_IsItemSelected: ::std::option::Option<
18305        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18306    >,
18307    pub AEGP_SelectItem: ::std::option::Option<
18308        unsafe extern "C" fn(
18309            itemH: AEGP_ItemH,
18310            selectB: A_Boolean,
18311            deselect_othersB: A_Boolean,
18312        ) -> A_Err,
18313    >,
18314    pub AEGP_GetItemType: ::std::option::Option<
18315        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18316    >,
18317    pub AEGP_GetTypeName: ::std::option::Option<
18318        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18319    >,
18320    pub AEGP_GetItemName: ::std::option::Option<
18321        unsafe extern "C" fn(
18322            pluginID: AEGP_PluginID,
18323            itemH: AEGP_ItemH,
18324            unicode_namePH: *mut AEGP_MemHandle,
18325        ) -> A_Err,
18326    >,
18327    pub AEGP_SetItemName: ::std::option::Option<
18328        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_UTF16Char) -> A_Err,
18329    >,
18330    pub AEGP_GetItemID: ::std::option::Option<
18331        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18332    >,
18333    pub AEGP_GetItemFlags: ::std::option::Option<
18334        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18335    >,
18336    pub AEGP_SetItemUseProxy: ::std::option::Option<
18337        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18338    >,
18339    pub AEGP_GetItemParentFolder: ::std::option::Option<
18340        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18341    >,
18342    pub AEGP_SetItemParentFolder: ::std::option::Option<
18343        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
18344    >,
18345    pub AEGP_GetItemDuration: ::std::option::Option<
18346        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18347    >,
18348    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18349        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18350    >,
18351    pub AEGP_GetItemDimensions: ::std::option::Option<
18352        unsafe extern "C" fn(
18353            itemH: AEGP_ItemH,
18354            widthPL: *mut A_long,
18355            heightPL: *mut A_long,
18356        ) -> A_Err,
18357    >,
18358    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18359        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18360    >,
18361    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18362    pub AEGP_CreateNewFolder: ::std::option::Option<
18363        unsafe extern "C" fn(
18364            nameZ: *const A_UTF16Char,
18365            parent_folderH0: AEGP_ItemH,
18366            new_folderPH: *mut AEGP_ItemH,
18367        ) -> A_Err,
18368    >,
18369    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18370        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18371    >,
18372    pub AEGP_GetItemCommentLength: ::std::option::Option<
18373        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18374    >,
18375    pub AEGP_GetItemComment: ::std::option::Option<
18376        unsafe extern "C" fn(
18377            itemH: AEGP_ItemH,
18378            buf_sizeLu: A_u_long,
18379            commentZ: *mut A_char,
18380        ) -> A_Err,
18381    >,
18382    pub AEGP_SetItemComment: ::std::option::Option<
18383        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
18384    >,
18385    pub AEGP_GetItemLabel: ::std::option::Option<
18386        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
18387    >,
18388    pub AEGP_SetItemLabel: ::std::option::Option<
18389        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
18390    >,
18391    pub AEGP_GetItemMRUView: ::std::option::Option<
18392        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
18393    >,
18394}
18395#[repr(C)]
18396#[derive(Debug, Copy, Clone)]
18397pub struct AEGP_ItemSuite7 {
18398    pub AEGP_GetFirstProjItem: ::std::option::Option<
18399        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
18400    >,
18401    pub AEGP_GetNextProjItem: ::std::option::Option<
18402        unsafe extern "C" fn(
18403            projectH: AEGP_ProjectH,
18404            itemH: AEGP_ItemH,
18405            next_itemPH: *mut AEGP_ItemH,
18406        ) -> A_Err,
18407    >,
18408    pub AEGP_GetActiveItem:
18409        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18410    pub AEGP_IsItemSelected: ::std::option::Option<
18411        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18412    >,
18413    pub AEGP_SelectItem: ::std::option::Option<
18414        unsafe extern "C" fn(
18415            itemH: AEGP_ItemH,
18416            selectB: A_Boolean,
18417            deselect_othersB: A_Boolean,
18418        ) -> A_Err,
18419    >,
18420    pub AEGP_GetItemType: ::std::option::Option<
18421        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18422    >,
18423    pub AEGP_GetTypeName: ::std::option::Option<
18424        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18425    >,
18426    pub AEGP_GetItemName:
18427        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18428    pub AEGP_SetItemName: ::std::option::Option<
18429        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_char) -> A_Err,
18430    >,
18431    pub AEGP_GetItemID: ::std::option::Option<
18432        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18433    >,
18434    pub AEGP_GetItemFlags: ::std::option::Option<
18435        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18436    >,
18437    pub AEGP_SetItemUseProxy: ::std::option::Option<
18438        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18439    >,
18440    pub AEGP_GetItemParentFolder: ::std::option::Option<
18441        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18442    >,
18443    pub AEGP_SetItemParentFolder: ::std::option::Option<
18444        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
18445    >,
18446    pub AEGP_GetItemDuration: ::std::option::Option<
18447        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18448    >,
18449    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18450        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18451    >,
18452    pub AEGP_GetItemDimensions: ::std::option::Option<
18453        unsafe extern "C" fn(
18454            itemH: AEGP_ItemH,
18455            widthPL: *mut A_long,
18456            heightPL: *mut A_long,
18457        ) -> A_Err,
18458    >,
18459    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18460        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18461    >,
18462    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18463    pub AEGP_CreateNewFolder: ::std::option::Option<
18464        unsafe extern "C" fn(
18465            nameZ: *const A_char,
18466            parent_folderH0: AEGP_ItemH,
18467            new_folderPH: *mut AEGP_ItemH,
18468        ) -> A_Err,
18469    >,
18470    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18471        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18472    >,
18473    pub AEGP_GetItemCommentLength: ::std::option::Option<
18474        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18475    >,
18476    pub AEGP_GetItemComment: ::std::option::Option<
18477        unsafe extern "C" fn(
18478            itemH: AEGP_ItemH,
18479            buf_sizeLu: A_u_long,
18480            commentZ: *mut A_char,
18481        ) -> A_Err,
18482    >,
18483    pub AEGP_SetItemComment: ::std::option::Option<
18484        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
18485    >,
18486    pub AEGP_GetItemLabel: ::std::option::Option<
18487        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
18488    >,
18489    pub AEGP_SetItemLabel: ::std::option::Option<
18490        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
18491    >,
18492    pub AEGP_GetItemMRUView: ::std::option::Option<
18493        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
18494    >,
18495}
18496#[repr(C)]
18497#[derive(Debug, Copy, Clone)]
18498pub struct AEGP_ItemSuite6 {
18499    pub AEGP_GetFirstProjItem: ::std::option::Option<
18500        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
18501    >,
18502    pub AEGP_GetNextProjItem: ::std::option::Option<
18503        unsafe extern "C" fn(
18504            projectH: AEGP_ProjectH,
18505            itemH: AEGP_ItemH,
18506            next_itemPH: *mut AEGP_ItemH,
18507        ) -> A_Err,
18508    >,
18509    pub AEGP_GetActiveItem:
18510        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18511    pub AEGP_IsItemSelected: ::std::option::Option<
18512        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18513    >,
18514    pub AEGP_SelectItem: ::std::option::Option<
18515        unsafe extern "C" fn(
18516            itemH: AEGP_ItemH,
18517            selectB: A_Boolean,
18518            deselect_othersB: A_Boolean,
18519        ) -> A_Err,
18520    >,
18521    pub AEGP_GetItemType: ::std::option::Option<
18522        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18523    >,
18524    pub AEGP_GetTypeName: ::std::option::Option<
18525        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18526    >,
18527    pub AEGP_GetItemName:
18528        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18529    pub AEGP_SetItemName: ::std::option::Option<
18530        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_char) -> A_Err,
18531    >,
18532    pub AEGP_GetItemID: ::std::option::Option<
18533        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18534    >,
18535    pub AEGP_GetItemFlags: ::std::option::Option<
18536        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18537    >,
18538    pub AEGP_SetItemUseProxy: ::std::option::Option<
18539        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18540    >,
18541    pub AEGP_GetItemParentFolder: ::std::option::Option<
18542        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18543    >,
18544    pub AEGP_SetItemParentFolder: ::std::option::Option<
18545        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
18546    >,
18547    pub AEGP_GetItemDuration: ::std::option::Option<
18548        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18549    >,
18550    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18551        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18552    >,
18553    pub AEGP_GetItemDimensions: ::std::option::Option<
18554        unsafe extern "C" fn(
18555            itemH: AEGP_ItemH,
18556            widthPL: *mut A_long,
18557            heightPL: *mut A_long,
18558        ) -> A_Err,
18559    >,
18560    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18561        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18562    >,
18563    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18564    pub AEGP_CreateNewFolder: ::std::option::Option<
18565        unsafe extern "C" fn(
18566            nameZ: *const A_char,
18567            parent_folderH0: AEGP_ItemH,
18568            new_folderPH: *mut AEGP_ItemH,
18569        ) -> A_Err,
18570    >,
18571    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18572        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18573    >,
18574    pub AEGP_GetItemCommentLength: ::std::option::Option<
18575        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18576    >,
18577    pub AEGP_GetItemComment: ::std::option::Option<
18578        unsafe extern "C" fn(
18579            itemH: AEGP_ItemH,
18580            buf_sizeLu: A_u_long,
18581            commentZ: *mut A_char,
18582        ) -> A_Err,
18583    >,
18584    pub AEGP_SetItemComment: ::std::option::Option<
18585        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
18586    >,
18587    pub AEGP_GetItemLabel: ::std::option::Option<
18588        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
18589    >,
18590    pub AEGP_SetItemLabel: ::std::option::Option<
18591        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
18592    >,
18593}
18594#[repr(C)]
18595#[derive(Debug, Copy, Clone)]
18596pub struct AEGP_ItemSuite5 {
18597    pub AEGP_GetNextItem: ::std::option::Option<
18598        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18599    >,
18600    pub AEGP_GetActiveItem:
18601        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18602    pub AEGP_IsItemSelected: ::std::option::Option<
18603        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18604    >,
18605    pub AEGP_SelectItem: ::std::option::Option<
18606        unsafe extern "C" fn(
18607            itemH: AEGP_ItemH,
18608            selectB: A_Boolean,
18609            deselect_othersB: A_Boolean,
18610        ) -> A_Err,
18611    >,
18612    pub AEGP_GetItemType: ::std::option::Option<
18613        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18614    >,
18615    pub AEGP_GetTypeName: ::std::option::Option<
18616        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18617    >,
18618    pub AEGP_GetItemName:
18619        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18620    pub AEGP_GetItemID: ::std::option::Option<
18621        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18622    >,
18623    pub AEGP_GetItemFlags: ::std::option::Option<
18624        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18625    >,
18626    pub AEGP_SetItemUseProxy: ::std::option::Option<
18627        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18628    >,
18629    pub AEGP_GetItemParentFolder: ::std::option::Option<
18630        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18631    >,
18632    pub AEGP_SetItemParentFolder: ::std::option::Option<
18633        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
18634    >,
18635    pub AEGP_GetItemDuration: ::std::option::Option<
18636        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18637    >,
18638    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18639        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18640    >,
18641    pub AEGP_GetItemDimensions: ::std::option::Option<
18642        unsafe extern "C" fn(
18643            itemH: AEGP_ItemH,
18644            widthPL: *mut A_long,
18645            heightPL: *mut A_long,
18646        ) -> A_Err,
18647    >,
18648    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18649        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18650    >,
18651    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18652    pub AEGP_CreateNewFolder: ::std::option::Option<
18653        unsafe extern "C" fn(
18654            nameZ: *const A_char,
18655            parent_folderH0: AEGP_ItemH,
18656            new_folderPH: *mut AEGP_ItemH,
18657        ) -> A_Err,
18658    >,
18659    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18660        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18661    >,
18662    pub AEGP_GetItemCommentLength: ::std::option::Option<
18663        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18664    >,
18665    pub AEGP_GetItemComment: ::std::option::Option<
18666        unsafe extern "C" fn(
18667            itemH: AEGP_ItemH,
18668            buf_sizeLu: A_u_long,
18669            commentZ: *mut ::std::os::raw::c_char,
18670        ) -> A_Err,
18671    >,
18672    pub AEGP_SetItemComment: ::std::option::Option<
18673        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const ::std::os::raw::c_char) -> A_Err,
18674    >,
18675}
18676#[repr(C)]
18677#[derive(Debug, Copy, Clone)]
18678pub struct AEGP_ItemSuite4 {
18679    pub AEGP_GetNextItem: ::std::option::Option<
18680        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18681    >,
18682    pub AEGP_GetActiveItem:
18683        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18684    pub AEGP_IsItemSelected: ::std::option::Option<
18685        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18686    >,
18687    pub AEGP_SelectItem: ::std::option::Option<
18688        unsafe extern "C" fn(
18689            itemH: AEGP_ItemH,
18690            selectB: A_Boolean,
18691            deselect_othersB: A_Boolean,
18692        ) -> A_Err,
18693    >,
18694    pub AEGP_GetItemType: ::std::option::Option<
18695        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18696    >,
18697    pub AEGP_GetTypeName: ::std::option::Option<
18698        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18699    >,
18700    pub AEGP_GetItemName:
18701        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18702    pub AEGP_GetItemID: ::std::option::Option<
18703        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18704    >,
18705    pub AEGP_GetItemFlags: ::std::option::Option<
18706        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18707    >,
18708    pub AEGP_SetItemUseProxy: ::std::option::Option<
18709        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18710    >,
18711    pub AEGP_GetItemParentFolder: ::std::option::Option<
18712        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18713    >,
18714    pub AEGP_GetItemDuration: ::std::option::Option<
18715        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18716    >,
18717    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18718        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18719    >,
18720    pub AEGP_GetItemDimensions: ::std::option::Option<
18721        unsafe extern "C" fn(
18722            itemH: AEGP_ItemH,
18723            widthPL: *mut A_long,
18724            heightPL: *mut A_long,
18725        ) -> A_Err,
18726    >,
18727    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18728        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18729    >,
18730    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18731    pub AEGP_CreateNewFolder: ::std::option::Option<
18732        unsafe extern "C" fn(
18733            nameZ: *const A_char,
18734            parent_folderH0: AEGP_ItemH,
18735            new_folderPH: *mut AEGP_ItemH,
18736        ) -> A_Err,
18737    >,
18738    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18739        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18740    >,
18741    pub AEGP_GetItemCommentLength: ::std::option::Option<
18742        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18743    >,
18744    pub AEGP_GetItemComment: ::std::option::Option<
18745        unsafe extern "C" fn(
18746            itemH: AEGP_ItemH,
18747            buf_sizeLu: A_u_long,
18748            commentZ: *mut ::std::os::raw::c_char,
18749        ) -> A_Err,
18750    >,
18751    pub AEGP_SetItemComment: ::std::option::Option<
18752        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const ::std::os::raw::c_char) -> A_Err,
18753    >,
18754}
18755#[repr(C)]
18756#[derive(Debug, Copy, Clone)]
18757pub struct AEGP_ItemSuite3 {
18758    pub AEGP_GetNextItem: ::std::option::Option<
18759        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18760    >,
18761    pub AEGP_GetActiveItem:
18762        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18763    pub AEGP_IsItemSelected: ::std::option::Option<
18764        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18765    >,
18766    pub AEGP_SelectItem: ::std::option::Option<
18767        unsafe extern "C" fn(
18768            itemH: AEGP_ItemH,
18769            selectB: A_Boolean,
18770            deselect_othersB: A_Boolean,
18771        ) -> A_Err,
18772    >,
18773    pub AEGP_GetItemType: ::std::option::Option<
18774        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18775    >,
18776    pub AEGP_GetTypeName: ::std::option::Option<
18777        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18778    >,
18779    pub AEGP_GetItemName:
18780        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18781    pub AEGP_GetItemID: ::std::option::Option<
18782        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18783    >,
18784    pub AEGP_GetItemFlags: ::std::option::Option<
18785        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18786    >,
18787    pub AEGP_SetItemUseProxy: ::std::option::Option<
18788        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18789    >,
18790    pub AEGP_GetItemParentFolder: ::std::option::Option<
18791        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18792    >,
18793    pub AEGP_GetItemDuration: ::std::option::Option<
18794        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18795    >,
18796    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18797        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18798    >,
18799    pub AEGP_GetItemDimensions: ::std::option::Option<
18800        unsafe extern "C" fn(
18801            itemH: AEGP_ItemH,
18802            widthPL: *mut A_long,
18803            heightPL: *mut A_long,
18804        ) -> A_Err,
18805    >,
18806    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18807        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18808    >,
18809    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18810    pub AEGP_GetItemSolidColor: ::std::option::Option<
18811        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
18812    >,
18813    pub AEGP_SetSolidColor: ::std::option::Option<
18814        unsafe extern "C" fn(itemH: AEGP_ItemH, color: AEGP_ColorVal) -> A_Err,
18815    >,
18816    pub AEGP_SetSolidDimensions: ::std::option::Option<
18817        unsafe extern "C" fn(itemH: AEGP_ItemH, widthS: A_short, heightS: A_short) -> A_Err,
18818    >,
18819    pub AEGP_CreateNewFolder: ::std::option::Option<
18820        unsafe extern "C" fn(
18821            nameZ: *const A_char,
18822            parent_folderH0: AEGP_ItemH,
18823            new_folderPH: *mut AEGP_ItemH,
18824        ) -> A_Err,
18825    >,
18826    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18827        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18828    >,
18829}
18830#[repr(C)]
18831#[derive(Debug, Copy, Clone)]
18832pub struct AEGP_KeyframeSuite4 {
18833    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18834        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18835    >,
18836    pub AEGP_GetKeyframeTime: ::std::option::Option<
18837        unsafe extern "C" fn(
18838            streamH: AEGP_StreamRefH,
18839            key_index: AEGP_KeyframeIndex,
18840            time_mode: AEGP_LTimeMode,
18841            timePT: *mut A_Time,
18842        ) -> A_Err,
18843    >,
18844    pub AEGP_InsertKeyframe: ::std::option::Option<
18845        unsafe extern "C" fn(
18846            streamH: AEGP_StreamRefH,
18847            time_mode: AEGP_LTimeMode,
18848            timePT: *const A_Time,
18849            key_indexP: *mut AEGP_KeyframeIndex,
18850        ) -> A_Err,
18851    >,
18852    pub AEGP_DeleteKeyframe: ::std::option::Option<
18853        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18854    >,
18855    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18856        unsafe extern "C" fn(
18857            aegp_plugin_id: AEGP_PluginID,
18858            streamH: AEGP_StreamRefH,
18859            key_index: AEGP_KeyframeIndex,
18860            valueP: *mut AEGP_StreamValue2,
18861        ) -> A_Err,
18862    >,
18863    pub AEGP_SetKeyframeValue: ::std::option::Option<
18864        unsafe extern "C" fn(
18865            streamH: AEGP_StreamRefH,
18866            key_index: AEGP_KeyframeIndex,
18867            valueP: *const AEGP_StreamValue2,
18868        ) -> A_Err,
18869    >,
18870    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
18871        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
18872    >,
18873    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
18874        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
18875    >,
18876    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
18877        unsafe extern "C" fn(
18878            aegp_plugin_id: AEGP_PluginID,
18879            streamH: AEGP_StreamRefH,
18880            key_index: AEGP_KeyframeIndex,
18881            in_tanP0: *mut AEGP_StreamValue2,
18882            out_tanP0: *mut AEGP_StreamValue2,
18883        ) -> A_Err,
18884    >,
18885    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
18886        unsafe extern "C" fn(
18887            streamH: AEGP_StreamRefH,
18888            key_index: AEGP_KeyframeIndex,
18889            in_tanP0: *const AEGP_StreamValue2,
18890            out_tanP0: *const AEGP_StreamValue2,
18891        ) -> A_Err,
18892    >,
18893    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
18894        unsafe extern "C" fn(
18895            streamH: AEGP_StreamRefH,
18896            key_index: AEGP_KeyframeIndex,
18897            dimensionL: A_long,
18898            in_easeP0: *mut AEGP_KeyframeEase,
18899            out_easeP0: *mut AEGP_KeyframeEase,
18900        ) -> A_Err,
18901    >,
18902    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
18903        unsafe extern "C" fn(
18904            streamH: AEGP_StreamRefH,
18905            key_index: AEGP_KeyframeIndex,
18906            dimensionL: A_long,
18907            in_easeP0: *const AEGP_KeyframeEase,
18908            out_easeP0: *const AEGP_KeyframeEase,
18909        ) -> A_Err,
18910    >,
18911    pub AEGP_GetKeyframeFlags: ::std::option::Option<
18912        unsafe extern "C" fn(
18913            streamH: AEGP_StreamRefH,
18914            key_index: AEGP_KeyframeIndex,
18915            flagsP: *mut AEGP_KeyframeFlags,
18916        ) -> A_Err,
18917    >,
18918    pub AEGP_SetKeyframeFlag: ::std::option::Option<
18919        unsafe extern "C" fn(
18920            streamH: AEGP_StreamRefH,
18921            key_index: AEGP_KeyframeIndex,
18922            flag: AEGP_KeyframeFlags,
18923            true_falseB: A_Boolean,
18924        ) -> A_Err,
18925    >,
18926    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
18927        unsafe extern "C" fn(
18928            streamH: AEGP_StreamRefH,
18929            key_index: AEGP_KeyframeIndex,
18930            in_interpP0: *mut AEGP_KeyframeInterpolationType,
18931            out_interpP0: *mut AEGP_KeyframeInterpolationType,
18932        ) -> A_Err,
18933    >,
18934    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
18935        unsafe extern "C" fn(
18936            streamH: AEGP_StreamRefH,
18937            key_index: AEGP_KeyframeIndex,
18938            in_interp: AEGP_KeyframeInterpolationType,
18939            out_interp: AEGP_KeyframeInterpolationType,
18940        ) -> A_Err,
18941    >,
18942    pub AEGP_StartAddKeyframes: ::std::option::Option<
18943        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
18944    >,
18945    pub AEGP_AddKeyframes: ::std::option::Option<
18946        unsafe extern "C" fn(
18947            akH: AEGP_AddKeyframesInfoH,
18948            time_mode: AEGP_LTimeMode,
18949            timePT: *const A_Time,
18950            key_indexPL: *mut A_long,
18951        ) -> A_Err,
18952    >,
18953    pub AEGP_SetAddKeyframe: ::std::option::Option<
18954        unsafe extern "C" fn(
18955            akH: AEGP_AddKeyframesInfoH,
18956            key_indexL: A_long,
18957            valueP: *const AEGP_StreamValue2,
18958        ) -> A_Err,
18959    >,
18960    pub AEGP_EndAddKeyframes: ::std::option::Option<
18961        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
18962    >,
18963}
18964#[repr(C)]
18965#[derive(Debug, Copy, Clone)]
18966pub struct AEGP_KeyframeSuite3 {
18967    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18968        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18969    >,
18970    pub AEGP_GetKeyframeTime: ::std::option::Option<
18971        unsafe extern "C" fn(
18972            streamH: AEGP_StreamRefH,
18973            key_index: AEGP_KeyframeIndex,
18974            time_mode: AEGP_LTimeMode,
18975            timePT: *mut A_Time,
18976        ) -> A_Err,
18977    >,
18978    pub AEGP_InsertKeyframe: ::std::option::Option<
18979        unsafe extern "C" fn(
18980            streamH: AEGP_StreamRefH,
18981            time_mode: AEGP_LTimeMode,
18982            timePT: *const A_Time,
18983            key_indexP: *mut AEGP_KeyframeIndex,
18984        ) -> A_Err,
18985    >,
18986    pub AEGP_DeleteKeyframe: ::std::option::Option<
18987        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18988    >,
18989    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18990        unsafe extern "C" fn(
18991            aegp_plugin_id: AEGP_PluginID,
18992            streamH: AEGP_StreamRefH,
18993            key_index: AEGP_KeyframeIndex,
18994            valueP: *mut AEGP_StreamValue,
18995        ) -> A_Err,
18996    >,
18997    pub AEGP_SetKeyframeValue: ::std::option::Option<
18998        unsafe extern "C" fn(
18999            streamH: AEGP_StreamRefH,
19000            key_index: AEGP_KeyframeIndex,
19001            valueP: *const AEGP_StreamValue,
19002        ) -> A_Err,
19003    >,
19004    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
19005        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
19006    >,
19007    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
19008        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
19009    >,
19010    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
19011        unsafe extern "C" fn(
19012            aegp_plugin_id: AEGP_PluginID,
19013            streamH: AEGP_StreamRefH,
19014            key_index: AEGP_KeyframeIndex,
19015            in_tanP0: *mut AEGP_StreamValue,
19016            out_tanP0: *mut AEGP_StreamValue,
19017        ) -> A_Err,
19018    >,
19019    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
19020        unsafe extern "C" fn(
19021            streamH: AEGP_StreamRefH,
19022            key_index: AEGP_KeyframeIndex,
19023            in_tanP0: *const AEGP_StreamValue,
19024            out_tanP0: *const AEGP_StreamValue,
19025        ) -> A_Err,
19026    >,
19027    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
19028        unsafe extern "C" fn(
19029            streamH: AEGP_StreamRefH,
19030            key_index: AEGP_KeyframeIndex,
19031            dimensionL: A_long,
19032            in_easeP0: *mut AEGP_KeyframeEase,
19033            out_easeP0: *mut AEGP_KeyframeEase,
19034        ) -> A_Err,
19035    >,
19036    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
19037        unsafe extern "C" fn(
19038            streamH: AEGP_StreamRefH,
19039            key_index: AEGP_KeyframeIndex,
19040            dimensionL: A_long,
19041            in_easeP0: *const AEGP_KeyframeEase,
19042            out_easeP0: *const AEGP_KeyframeEase,
19043        ) -> A_Err,
19044    >,
19045    pub AEGP_GetKeyframeFlags: ::std::option::Option<
19046        unsafe extern "C" fn(
19047            streamH: AEGP_StreamRefH,
19048            key_index: AEGP_KeyframeIndex,
19049            flagsP: *mut AEGP_KeyframeFlags,
19050        ) -> A_Err,
19051    >,
19052    pub AEGP_SetKeyframeFlag: ::std::option::Option<
19053        unsafe extern "C" fn(
19054            streamH: AEGP_StreamRefH,
19055            key_index: AEGP_KeyframeIndex,
19056            flag: AEGP_KeyframeFlags,
19057            true_falseB: A_Boolean,
19058        ) -> A_Err,
19059    >,
19060    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
19061        unsafe extern "C" fn(
19062            streamH: AEGP_StreamRefH,
19063            key_index: AEGP_KeyframeIndex,
19064            in_interpP0: *mut AEGP_KeyframeInterpolationType,
19065            out_interpP0: *mut AEGP_KeyframeInterpolationType,
19066        ) -> A_Err,
19067    >,
19068    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
19069        unsafe extern "C" fn(
19070            streamH: AEGP_StreamRefH,
19071            key_index: AEGP_KeyframeIndex,
19072            in_interp: AEGP_KeyframeInterpolationType,
19073            out_interp: AEGP_KeyframeInterpolationType,
19074        ) -> A_Err,
19075    >,
19076    pub AEGP_StartAddKeyframes: ::std::option::Option<
19077        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
19078    >,
19079    pub AEGP_AddKeyframes: ::std::option::Option<
19080        unsafe extern "C" fn(
19081            akH: AEGP_AddKeyframesInfoH,
19082            time_mode: AEGP_LTimeMode,
19083            timePT: *const A_Time,
19084            key_indexPL: *mut A_long,
19085        ) -> A_Err,
19086    >,
19087    pub AEGP_SetAddKeyframe: ::std::option::Option<
19088        unsafe extern "C" fn(
19089            akH: AEGP_AddKeyframesInfoH,
19090            key_indexL: A_long,
19091            valueP: *const AEGP_StreamValue,
19092        ) -> A_Err,
19093    >,
19094    pub AEGP_EndAddKeyframes: ::std::option::Option<
19095        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
19096    >,
19097}
19098#[repr(C)]
19099#[derive(Debug, Copy, Clone)]
19100pub struct AEGP_KeyframeSuite2 {
19101    pub AEGP_GetStreamNumKFs: ::std::option::Option<
19102        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
19103    >,
19104    pub AEGP_GetKeyframeTime: ::std::option::Option<
19105        unsafe extern "C" fn(
19106            streamH: AEGP_StreamRefH,
19107            key_index: AEGP_KeyframeIndex,
19108            time_mode: AEGP_LTimeMode,
19109            timePT: *mut A_Time,
19110        ) -> A_Err,
19111    >,
19112    pub AEGP_InsertKeyframe: ::std::option::Option<
19113        unsafe extern "C" fn(
19114            streamH: AEGP_StreamRefH,
19115            time_mode: AEGP_LTimeMode,
19116            timePT: *const A_Time,
19117            key_indexP: *mut AEGP_KeyframeIndex,
19118        ) -> A_Err,
19119    >,
19120    pub AEGP_DeleteKeyframe: ::std::option::Option<
19121        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
19122    >,
19123    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
19124        unsafe extern "C" fn(
19125            aegp_plugin_id: AEGP_PluginID,
19126            streamH: AEGP_StreamRefH,
19127            key_index: AEGP_KeyframeIndex,
19128            valueP: *mut AEGP_StreamValue,
19129        ) -> A_Err,
19130    >,
19131    pub AEGP_SetKeyframeValue: ::std::option::Option<
19132        unsafe extern "C" fn(
19133            streamH: AEGP_StreamRefH,
19134            key_index: AEGP_KeyframeIndex,
19135            valueP: *const AEGP_StreamValue,
19136        ) -> A_Err,
19137    >,
19138    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
19139        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
19140    >,
19141    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
19142        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
19143    >,
19144    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
19145        unsafe extern "C" fn(
19146            aegp_plugin_id: AEGP_PluginID,
19147            streamH: AEGP_StreamRefH,
19148            key_index: AEGP_KeyframeIndex,
19149            in_tanP0: *mut AEGP_StreamValue,
19150            out_tanP0: *mut AEGP_StreamValue,
19151        ) -> A_Err,
19152    >,
19153    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
19154        unsafe extern "C" fn(
19155            streamH: AEGP_StreamRefH,
19156            key_index: AEGP_KeyframeIndex,
19157            in_tanP0: *const AEGP_StreamValue,
19158            out_tanP0: *const AEGP_StreamValue,
19159        ) -> A_Err,
19160    >,
19161    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
19162        unsafe extern "C" fn(
19163            streamH: AEGP_StreamRefH,
19164            key_index: AEGP_KeyframeIndex,
19165            dimensionL: A_long,
19166            in_easeP0: *mut AEGP_KeyframeEase,
19167            out_easeP0: *mut AEGP_KeyframeEase,
19168        ) -> A_Err,
19169    >,
19170    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
19171        unsafe extern "C" fn(
19172            streamH: AEGP_StreamRefH,
19173            key_index: AEGP_KeyframeIndex,
19174            dimensionL: A_long,
19175            in_easeP0: *const AEGP_KeyframeEase,
19176            out_easeP0: *const AEGP_KeyframeEase,
19177        ) -> A_Err,
19178    >,
19179    pub AEGP_GetKeyframeFlags: ::std::option::Option<
19180        unsafe extern "C" fn(
19181            streamH: AEGP_StreamRefH,
19182            key_index: AEGP_KeyframeIndex,
19183            flagsP: *mut AEGP_KeyframeFlags,
19184        ) -> A_Err,
19185    >,
19186    pub AEGP_SetKeyframeFlag: ::std::option::Option<
19187        unsafe extern "C" fn(
19188            streamH: AEGP_StreamRefH,
19189            key_index: AEGP_KeyframeIndex,
19190            flag: AEGP_KeyframeFlags,
19191            true_falseB: A_Boolean,
19192        ) -> A_Err,
19193    >,
19194    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
19195        unsafe extern "C" fn(
19196            streamH: AEGP_StreamRefH,
19197            key_index: AEGP_KeyframeIndex,
19198            in_interpP0: *mut AEGP_KeyframeInterpolationType,
19199            out_interpP0: *mut AEGP_KeyframeInterpolationType,
19200        ) -> A_Err,
19201    >,
19202    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
19203        unsafe extern "C" fn(
19204            streamH: AEGP_StreamRefH,
19205            key_index: AEGP_KeyframeIndex,
19206            in_interp: AEGP_KeyframeInterpolationType,
19207            out_interp: AEGP_KeyframeInterpolationType,
19208        ) -> A_Err,
19209    >,
19210    pub AEGP_StartAddKeyframes: ::std::option::Option<
19211        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
19212    >,
19213    pub AEGP_AddKeyframes: ::std::option::Option<
19214        unsafe extern "C" fn(
19215            akH: AEGP_AddKeyframesInfoH,
19216            time_mode: AEGP_LTimeMode,
19217            timePT: *const A_Time,
19218            key_indexPL: *mut A_long,
19219        ) -> A_Err,
19220    >,
19221    pub AEGP_SetAddKeyframe: ::std::option::Option<
19222        unsafe extern "C" fn(
19223            akH: AEGP_AddKeyframesInfoH,
19224            key_indexL: A_long,
19225            valueP: *const AEGP_StreamValue,
19226        ) -> A_Err,
19227    >,
19228    pub AEGP_EndAddKeyframes: ::std::option::Option<
19229        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
19230    >,
19231}
19232#[repr(C)]
19233#[derive(Debug, Copy, Clone)]
19234pub struct AEGP_KeyframeSuite1 {
19235    pub AEGP_GetStreamNumKFs: ::std::option::Option<
19236        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
19237    >,
19238    pub AEGP_GetKeyframeTime: ::std::option::Option<
19239        unsafe extern "C" fn(
19240            streamH: AEGP_StreamRefH,
19241            key_index: AEGP_KeyframeIndex,
19242            time_mode: AEGP_LTimeMode,
19243            timePT: *mut A_Time,
19244        ) -> A_Err,
19245    >,
19246    pub AEGP_InsertKeyframe: ::std::option::Option<
19247        unsafe extern "C" fn(
19248            streamH: AEGP_StreamRefH,
19249            time_mode: AEGP_LTimeMode,
19250            timePT: *const A_Time,
19251            key_indexP: *mut AEGP_KeyframeIndex,
19252        ) -> A_Err,
19253    >,
19254    pub AEGP_DeleteKeyframe: ::std::option::Option<
19255        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
19256    >,
19257    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
19258        unsafe extern "C" fn(
19259            aegp_plugin_id: AEGP_PluginID,
19260            streamH: AEGP_StreamRefH,
19261            key_index: AEGP_KeyframeIndex,
19262            valueP: *mut AEGP_StreamValue,
19263        ) -> A_Err,
19264    >,
19265    pub AEGP_SetKeyframeValue: ::std::option::Option<
19266        unsafe extern "C" fn(
19267            streamH: AEGP_StreamRefH,
19268            key_index: AEGP_KeyframeIndex,
19269            valueP: *const AEGP_StreamValue,
19270        ) -> A_Err,
19271    >,
19272    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
19273        unsafe extern "C" fn(
19274            streamH: AEGP_StreamRefH,
19275            value_dimPS: *mut ::std::os::raw::c_short,
19276        ) -> A_Err,
19277    >,
19278    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
19279        unsafe extern "C" fn(
19280            streamH: AEGP_StreamRefH,
19281            temporal_dimPS: *mut ::std::os::raw::c_short,
19282        ) -> A_Err,
19283    >,
19284    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
19285        unsafe extern "C" fn(
19286            aegp_plugin_id: AEGP_PluginID,
19287            streamH: AEGP_StreamRefH,
19288            key_index: AEGP_KeyframeIndex,
19289            in_tanP0: *mut AEGP_StreamValue,
19290            out_tanP0: *mut AEGP_StreamValue,
19291        ) -> A_Err,
19292    >,
19293    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
19294        unsafe extern "C" fn(
19295            streamH: AEGP_StreamRefH,
19296            key_index: AEGP_KeyframeIndex,
19297            in_tanP0: *const AEGP_StreamValue,
19298            out_tanP0: *const AEGP_StreamValue,
19299        ) -> A_Err,
19300    >,
19301    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
19302        unsafe extern "C" fn(
19303            streamH: AEGP_StreamRefH,
19304            key_index: AEGP_KeyframeIndex,
19305            dimensionL: A_long,
19306            in_easeP0: *mut AEGP_KeyframeEase,
19307            out_easeP0: *mut AEGP_KeyframeEase,
19308        ) -> A_Err,
19309    >,
19310    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
19311        unsafe extern "C" fn(
19312            streamH: AEGP_StreamRefH,
19313            key_index: AEGP_KeyframeIndex,
19314            dimensionL: A_long,
19315            in_easeP0: *const AEGP_KeyframeEase,
19316            out_easeP0: *const AEGP_KeyframeEase,
19317        ) -> A_Err,
19318    >,
19319    pub AEGP_GetKeyframeFlags: ::std::option::Option<
19320        unsafe extern "C" fn(
19321            streamH: AEGP_StreamRefH,
19322            key_index: AEGP_KeyframeIndex,
19323            flagsP: *mut AEGP_KeyframeFlags,
19324        ) -> A_Err,
19325    >,
19326    pub AEGP_SetKeyframeFlag: ::std::option::Option<
19327        unsafe extern "C" fn(
19328            streamH: AEGP_StreamRefH,
19329            key_index: AEGP_KeyframeIndex,
19330            flag: AEGP_KeyframeFlags,
19331            true_falseB: A_Boolean,
19332        ) -> A_Err,
19333    >,
19334    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
19335        unsafe extern "C" fn(
19336            streamH: AEGP_StreamRefH,
19337            key_index: AEGP_KeyframeIndex,
19338            in_interpP0: *mut AEGP_KeyframeInterpolationType,
19339            out_interpP0: *mut AEGP_KeyframeInterpolationType,
19340        ) -> A_Err,
19341    >,
19342    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
19343        unsafe extern "C" fn(
19344            streamH: AEGP_StreamRefH,
19345            key_index: AEGP_KeyframeIndex,
19346            in_interp: AEGP_KeyframeInterpolationType,
19347            out_interp: AEGP_KeyframeInterpolationType,
19348        ) -> A_Err,
19349    >,
19350}
19351#[repr(C)]
19352#[derive(Debug, Copy, Clone)]
19353pub struct AEGP_ItemSuite2 {
19354    pub AEGP_GetNextItem: ::std::option::Option<
19355        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
19356    >,
19357    pub AEGP_GetActiveItem:
19358        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
19359    pub AEGP_IsItemSelected: ::std::option::Option<
19360        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
19361    >,
19362    pub AEGP_SelectItem: ::std::option::Option<
19363        unsafe extern "C" fn(
19364            itemH: AEGP_ItemH,
19365            selectB: A_Boolean,
19366            deselect_othersB: A_Boolean,
19367        ) -> A_Err,
19368    >,
19369    pub AEGP_GetItemType: ::std::option::Option<
19370        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
19371    >,
19372    pub AEGP_GetTypeName: ::std::option::Option<
19373        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
19374    >,
19375    pub AEGP_GetItemName:
19376        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
19377    pub AEGP_GetItemID: ::std::option::Option<
19378        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
19379    >,
19380    pub AEGP_GetItemFlags: ::std::option::Option<
19381        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
19382    >,
19383    pub AEGP_SetItemUseProxy: ::std::option::Option<
19384        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
19385    >,
19386    pub AEGP_GetItemParentFolder: ::std::option::Option<
19387        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
19388    >,
19389    pub AEGP_GetItemDuration: ::std::option::Option<
19390        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
19391    >,
19392    pub AEGP_GetItemCurrentTime: ::std::option::Option<
19393        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
19394    >,
19395    pub AEGP_GetItemDimensions: ::std::option::Option<
19396        unsafe extern "C" fn(
19397            itemH: AEGP_ItemH,
19398            widthPL: *mut A_long,
19399            heightPL: *mut A_long,
19400        ) -> A_Err,
19401    >,
19402    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
19403        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
19404    >,
19405    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
19406    pub AEGP_GetItemSolidColor: ::std::option::Option<
19407        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
19408    >,
19409    pub AEGP_SetSolidColor: ::std::option::Option<
19410        unsafe extern "C" fn(itemH: AEGP_ItemH, color: AEGP_ColorVal) -> A_Err,
19411    >,
19412    pub AEGP_SetSolidDimensions: ::std::option::Option<
19413        unsafe extern "C" fn(itemH: AEGP_ItemH, widthS: A_short, heightS: A_short) -> A_Err,
19414    >,
19415    pub AEGP_CreateNewFolder: ::std::option::Option<
19416        unsafe extern "C" fn(
19417            nameZ: *const A_char,
19418            parent_folderH0: AEGP_ItemH,
19419            new_folderPH: *mut AEGP_ItemH,
19420        ) -> A_Err,
19421    >,
19422    pub AEGP_SetItemCurrentTime: ::std::option::Option<
19423        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
19424    >,
19425    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19426        unsafe extern "C" fn(
19427            itemH: AEGP_ItemH,
19428            start_timePT: *const A_Time,
19429            durationPT: *const A_Time,
19430            sound_formatP: *const AEGP_SoundDataFormat,
19431            new_sound_dataPH: *mut AEGP_SoundDataH,
19432        ) -> A_Err,
19433    >,
19434}
19435#[repr(C)]
19436#[derive(Debug, Copy, Clone)]
19437pub struct AEGP_ItemSuite1 {
19438    pub AEGP_GetNextItem: ::std::option::Option<
19439        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
19440    >,
19441    pub AEGP_GetActiveItem:
19442        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
19443    pub AEGP_IsItemSelected: ::std::option::Option<
19444        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
19445    >,
19446    pub AEGP_SelectItem: ::std::option::Option<
19447        unsafe extern "C" fn(
19448            itemH: AEGP_ItemH,
19449            selectB: A_Boolean,
19450            deselect_othersB: A_Boolean,
19451        ) -> A_Err,
19452    >,
19453    pub AEGP_GetItemType: ::std::option::Option<
19454        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
19455    >,
19456    pub AEGP_GetTypeName: ::std::option::Option<
19457        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
19458    >,
19459    pub AEGP_GetItemName:
19460        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
19461    pub AEGP_GetItemID: ::std::option::Option<
19462        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
19463    >,
19464    pub AEGP_GetItemFlags: ::std::option::Option<
19465        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
19466    >,
19467    pub AEGP_SetItemUseProxy: ::std::option::Option<
19468        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
19469    >,
19470    pub AEGP_GetItemParentFolder: ::std::option::Option<
19471        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
19472    >,
19473    pub AEGP_GetItemDuration: ::std::option::Option<
19474        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
19475    >,
19476    pub AEGP_GetItemCurrentTime: ::std::option::Option<
19477        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
19478    >,
19479    pub AEGP_GetItemDimensions: ::std::option::Option<
19480        unsafe extern "C" fn(
19481            itemH: AEGP_ItemH,
19482            widthPL: *mut A_long,
19483            heightPL: *mut A_long,
19484        ) -> A_Err,
19485    >,
19486    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
19487        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
19488    >,
19489    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
19490    pub AEGP_GetItemSolidColor: ::std::option::Option<
19491        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
19492    >,
19493    pub AEGP_CreateNewFolder: ::std::option::Option<
19494        unsafe extern "C" fn(
19495            nameZ: *const A_char,
19496            parent_folderH0: AEGP_ItemH,
19497            new_folderPH: *mut AEGP_ItemH,
19498        ) -> A_Err,
19499    >,
19500    pub AEGP_SetItemCurrentTime: ::std::option::Option<
19501        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
19502    >,
19503    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19504        unsafe extern "C" fn(
19505            itemH: AEGP_ItemH,
19506            start_timePT: *const A_Time,
19507            durationPT: *const A_Time,
19508            sound_formatP: *const AEGP_SoundDataFormat,
19509            new_sound_dataPH: *mut AEGP_SoundDataH,
19510        ) -> A_Err,
19511    >,
19512}
19513#[repr(C)]
19514#[derive(Debug, Copy, Clone)]
19515pub struct AEGP_UtilitySuite5 {
19516    pub AEGP_ReportInfo: ::std::option::Option<
19517        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19518    >,
19519    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19520        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19521    >,
19522    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19523        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19524    >,
19525    pub AEGP_StartQuietErrors:
19526        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19527    pub AEGP_EndQuietErrors: ::std::option::Option<
19528        unsafe extern "C" fn(
19529            report_quieted_errorsB: A_Boolean,
19530            err_stateP: *mut AEGP_ErrReportState,
19531        ) -> A_Err,
19532    >,
19533    pub AEGP_GetLastErrorMessage: ::std::option::Option<
19534        unsafe extern "C" fn(
19535            buffer_size: A_long,
19536            error_string: *mut A_char,
19537            error_num: *mut A_Err,
19538        ) -> A_Err,
19539    >,
19540    pub AEGP_StartUndoGroup:
19541        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19542    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19543    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19544        unsafe extern "C" fn(
19545            global_refcon: AEGP_GlobalRefcon,
19546            plugin_nameZ: *const A_char,
19547            plugin_id: *mut AEGP_PluginID,
19548        ) -> A_Err,
19549    >,
19550    pub AEGP_GetMainHWND: ::std::option::Option<
19551        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19552    >,
19553    pub AEGP_ShowHideAllFloaters:
19554        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19555    pub AEGP_PaintPalGetForeColor:
19556        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19557    pub AEGP_PaintPalGetBackColor:
19558        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19559    pub AEGP_PaintPalSetForeColor:
19560        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19561    pub AEGP_PaintPalSetBackColor:
19562        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19563    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19564        unsafe extern "C" fn(
19565            is_fill_color_definedPB: *mut A_Boolean,
19566            fill_colorP: *mut AEGP_ColorVal,
19567        ) -> A_Err,
19568    >,
19569    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19570        unsafe extern "C" fn(
19571            is_stroke_color_definedPB: *mut A_Boolean,
19572            stroke_colorP: *mut AEGP_ColorVal,
19573        ) -> A_Err,
19574    >,
19575    pub AEGP_CharPalSetFillColor:
19576        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19577    pub AEGP_CharPalSetStrokeColor:
19578        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19579    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19580        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19581    >,
19582    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
19583        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
19584    >,
19585    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
19586        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
19587    >,
19588    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19589    pub AEGP_GetSuppressInteractiveUI:
19590        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
19591    pub AEGP_WriteToOSConsole:
19592        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19593    pub AEGP_WriteToDebugLog: ::std::option::Option<
19594        unsafe extern "C" fn(
19595            subsystemZ: *const A_char,
19596            event_typeZ: *const A_char,
19597            infoZ: *const A_char,
19598        ) -> A_Err,
19599    >,
19600    pub AEGP_IsScriptingAvailable:
19601        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
19602    pub AEGP_ExecuteScript: ::std::option::Option<
19603        unsafe extern "C" fn(
19604            inPlugin_id: AEGP_PluginID,
19605            inScriptZ: *const A_char,
19606            platform_encodingB: A_Boolean,
19607            outResultPH0: *mut AEGP_MemHandle,
19608            outErrorStringPH0: *mut AEGP_MemHandle,
19609        ) -> A_Err,
19610    >,
19611    pub AEGP_HostIsActivated:
19612        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
19613    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
19614        unsafe extern "C" fn(
19615            plug_id: AEGP_PluginID,
19616            plat_refPPV: *mut *mut ::std::os::raw::c_void,
19617        ) -> A_Err,
19618    >,
19619    pub AEGP_UpdateFontList: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19620}
19621#[repr(C)]
19622#[derive(Debug, Copy, Clone)]
19623pub struct AEGP_UtilitySuite4 {
19624    pub AEGP_ReportInfo: ::std::option::Option<
19625        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19626    >,
19627    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19628        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19629    >,
19630    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19631        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19632    >,
19633    pub AEGP_StartQuietErrors:
19634        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19635    pub AEGP_EndQuietErrors: ::std::option::Option<
19636        unsafe extern "C" fn(
19637            report_quieted_errorsB: A_Boolean,
19638            err_stateP: *mut AEGP_ErrReportState,
19639        ) -> A_Err,
19640    >,
19641    pub AEGP_GetLastErrorMessage: ::std::option::Option<
19642        unsafe extern "C" fn(
19643            buffer_size: A_long,
19644            error_string: *mut A_char,
19645            error_num: *mut A_Err,
19646        ) -> A_Err,
19647    >,
19648    pub AEGP_StartUndoGroup:
19649        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19650    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19651    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19652        unsafe extern "C" fn(
19653            global_refcon: AEGP_GlobalRefcon,
19654            plugin_nameZ: *const A_char,
19655            plugin_id: *mut AEGP_PluginID,
19656        ) -> A_Err,
19657    >,
19658    pub AEGP_GetMainHWND: ::std::option::Option<
19659        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19660    >,
19661    pub AEGP_ShowHideAllFloaters:
19662        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19663    pub AEGP_PaintPalGetForeColor:
19664        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19665    pub AEGP_PaintPalGetBackColor:
19666        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19667    pub AEGP_PaintPalSetForeColor:
19668        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19669    pub AEGP_PaintPalSetBackColor:
19670        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19671    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19672        unsafe extern "C" fn(
19673            is_fill_color_definedPB: *mut A_Boolean,
19674            fill_colorP: *mut AEGP_ColorVal,
19675        ) -> A_Err,
19676    >,
19677    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19678        unsafe extern "C" fn(
19679            is_stroke_color_definedPB: *mut A_Boolean,
19680            stroke_colorP: *mut AEGP_ColorVal,
19681        ) -> A_Err,
19682    >,
19683    pub AEGP_CharPalSetFillColor:
19684        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19685    pub AEGP_CharPalSetStrokeColor:
19686        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19687    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19688        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19689    >,
19690    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
19691        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
19692    >,
19693    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
19694        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
19695    >,
19696    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19697    pub AEGP_GetSuppressInteractiveUI:
19698        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
19699    pub AEGP_WriteToOSConsole:
19700        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19701    pub AEGP_WriteToDebugLog: ::std::option::Option<
19702        unsafe extern "C" fn(
19703            subsystemZ: *const A_char,
19704            event_typeZ: *const A_char,
19705            infoZ: *const A_char,
19706        ) -> A_Err,
19707    >,
19708    pub AEGP_IsScriptingAvailable:
19709        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
19710    pub AEGP_ExecuteScript: ::std::option::Option<
19711        unsafe extern "C" fn(
19712            inPlugin_id: AEGP_PluginID,
19713            inScriptZ: *const A_char,
19714            platform_encodingB: A_Boolean,
19715            outResultPH0: *mut AEGP_MemHandle,
19716            outErrorStringPH0: *mut AEGP_MemHandle,
19717        ) -> A_Err,
19718    >,
19719    pub AEGP_HostIsActivated:
19720        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
19721    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
19722        unsafe extern "C" fn(
19723            plug_id: AEGP_PluginID,
19724            plat_refPPV: *mut *mut ::std::os::raw::c_void,
19725        ) -> A_Err,
19726    >,
19727}
19728#[repr(C)]
19729#[derive(Debug, Copy, Clone)]
19730pub struct AEGP_UtilitySuite3 {
19731    pub AEGP_ReportInfo: ::std::option::Option<
19732        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19733    >,
19734    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19735        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19736    >,
19737    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19738        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19739    >,
19740    pub AEGP_StartQuietErrors:
19741        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19742    pub AEGP_EndQuietErrors: ::std::option::Option<
19743        unsafe extern "C" fn(
19744            report_quieted_errorsB: A_Boolean,
19745            err_stateP: *mut AEGP_ErrReportState,
19746        ) -> A_Err,
19747    >,
19748    pub AEGP_StartUndoGroup:
19749        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19750    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19751    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19752        unsafe extern "C" fn(
19753            global_refcon: AEGP_GlobalRefcon,
19754            plugin_nameZ: *const A_char,
19755            plugin_id: *mut AEGP_PluginID,
19756        ) -> A_Err,
19757    >,
19758    pub AEGP_GetMainHWND: ::std::option::Option<
19759        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19760    >,
19761    pub AEGP_ShowHideAllFloaters:
19762        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19763    pub AEGP_PaintPalGetForeColor:
19764        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19765    pub AEGP_PaintPalGetBackColor:
19766        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19767    pub AEGP_PaintPalSetForeColor:
19768        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19769    pub AEGP_PaintPalSetBackColor:
19770        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19771    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19772        unsafe extern "C" fn(
19773            is_fill_color_definedPB: *mut A_Boolean,
19774            fill_colorP: *mut AEGP_ColorVal,
19775        ) -> A_Err,
19776    >,
19777    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19778        unsafe extern "C" fn(
19779            is_stroke_color_definedPB: *mut A_Boolean,
19780            stroke_colorP: *mut AEGP_ColorVal,
19781        ) -> A_Err,
19782    >,
19783    pub AEGP_CharPalSetFillColor:
19784        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19785    pub AEGP_CharPalSetStrokeColor:
19786        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19787    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19788        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19789    >,
19790    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
19791        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
19792    >,
19793    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
19794        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
19795    >,
19796    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19797    pub AEGP_GetSuppressInteractiveUI:
19798        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
19799    pub AEGP_WriteToOSConsole:
19800        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19801    pub AEGP_WriteToDebugLog: ::std::option::Option<
19802        unsafe extern "C" fn(
19803            subsystemZ: *const A_char,
19804            event_typeZ: *const A_char,
19805            infoZ: *const A_char,
19806        ) -> A_Err,
19807    >,
19808}
19809#[repr(C)]
19810#[derive(Debug, Copy, Clone)]
19811pub struct AEGP_UtilitySuite2 {
19812    pub AEGP_ReportInfo: ::std::option::Option<
19813        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19814    >,
19815    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19816        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19817    >,
19818    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19819        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19820    >,
19821    pub AEGP_StartQuietErrors:
19822        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19823    pub AEGP_EndQuietErrors: ::std::option::Option<
19824        unsafe extern "C" fn(
19825            report_quieted_errorsB: A_Boolean,
19826            err_stateP: *mut AEGP_ErrReportState,
19827        ) -> A_Err,
19828    >,
19829    pub AEGP_StartUndoGroup:
19830        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19831    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19832    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19833        unsafe extern "C" fn(
19834            global_refcon: AEGP_GlobalRefcon,
19835            plugin_nameZ: *const A_char,
19836            plugin_id: *mut AEGP_PluginID,
19837        ) -> A_Err,
19838    >,
19839    pub AEGP_GetMainHWND: ::std::option::Option<
19840        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19841    >,
19842    pub AEGP_ShowHideAllFloaters:
19843        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19844    pub AEGP_PaintPalGetForeColor:
19845        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19846    pub AEGP_PaintPalGetBackColor:
19847        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19848    pub AEGP_PaintPalSetForeColor:
19849        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19850    pub AEGP_PaintPalSetBackColor:
19851        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19852    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19853        unsafe extern "C" fn(
19854            is_fill_color_definedPB: *mut A_Boolean,
19855            fill_colorP: *mut AEGP_ColorVal,
19856        ) -> A_Err,
19857    >,
19858    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19859        unsafe extern "C" fn(
19860            is_stroke_color_definedPB: *mut A_Boolean,
19861            stroke_colorP: *mut AEGP_ColorVal,
19862        ) -> A_Err,
19863    >,
19864    pub AEGP_CharPalSetFillColor:
19865        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19866    pub AEGP_CharPalSetStrokeColor:
19867        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19868    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19869        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19870    >,
19871}
19872#[repr(C)]
19873#[derive(Debug, Copy, Clone)]
19874pub struct AEGP_UtilitySuite1 {
19875    pub AEGP_ReportInfo: ::std::option::Option<
19876        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19877    >,
19878    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19879        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19880    >,
19881    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19882        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19883    >,
19884    pub AEGP_StartQuietErrors:
19885        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19886    pub AEGP_EndQuietErrors: ::std::option::Option<
19887        unsafe extern "C" fn(
19888            report_quieted_errorsB: A_Boolean,
19889            err_stateP: *mut AEGP_ErrReportState,
19890        ) -> A_Err,
19891    >,
19892    pub AEGP_StartUndoGroup:
19893        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19894    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19895    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19896        unsafe extern "C" fn(
19897            global_refcon: AEGP_GlobalRefcon,
19898            plugin_nameZ: *const A_char,
19899            plugin_id: *mut AEGP_PluginID,
19900        ) -> A_Err,
19901    >,
19902    pub AEGP_GetMainHWND: ::std::option::Option<
19903        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19904    >,
19905}
19906#[repr(C)]
19907#[derive(Debug, Copy, Clone)]
19908pub struct AEGP_QueryXformSuite1 {
19909    pub AEGP_QueryXformGetSrcType: ::std::option::Option<
19910        unsafe extern "C" fn(
19911            query_contextH: PR_QueryContextH,
19912            src_type: *mut AEGP_QueryXformType,
19913        ) -> A_Err,
19914    >,
19915    pub AEGP_QueryXformGetDstType: ::std::option::Option<
19916        unsafe extern "C" fn(
19917            query_contextH: PR_QueryContextH,
19918            dst_type: *mut AEGP_QueryXformType,
19919        ) -> A_Err,
19920    >,
19921    pub AEGP_QueryXformGetLayer: ::std::option::Option<
19922        unsafe extern "C" fn(query_contextH: PR_QueryContextH, layerPH: *mut AEGP_LayerH) -> A_Err,
19923    >,
19924    pub AEGP_QueryXformGetComp: ::std::option::Option<
19925        unsafe extern "C" fn(query_contextH: PR_QueryContextH, compPH: *mut AEGP_CompH) -> A_Err,
19926    >,
19927    pub AEGP_QueryXformGetTransformTime: ::std::option::Option<
19928        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
19929    >,
19930    pub AEGP_QueryXformGetViewTime: ::std::option::Option<
19931        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
19932    >,
19933    pub AEGP_QueryXformGetCamera: ::std::option::Option<
19934        unsafe extern "C" fn(
19935            query_contextH: PR_QueryContextH,
19936            camera_layerPH: *mut AEGP_LayerH,
19937        ) -> A_Err,
19938    >,
19939    pub AEGP_QueryXformGetXform: ::std::option::Option<
19940        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
19941    >,
19942    pub AEGP_QueryXformSetXform: ::std::option::Option<
19943        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
19944    >,
19945}
19946#[repr(C)]
19947#[derive(Debug, Copy, Clone)]
19948pub struct AEGP_RenderSuite1 {
19949    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19950        unsafe extern "C" fn(
19951            optionsH: AEGP_RenderOptionsH,
19952            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19953            cancel_function_refconP0: AEGP_CancelRefcon,
19954            receiptPH: *mut AEGP_FrameReceiptH,
19955        ) -> A_Err,
19956    >,
19957    pub AEGP_CheckinFrame:
19958        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
19959    pub AEGP_GetReceiptWorld: ::std::option::Option<
19960        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
19961    >,
19962    pub AEGP_GetRenderedRegion: ::std::option::Option<
19963        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
19964    >,
19965    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
19966        unsafe extern "C" fn(
19967            rendered_optionsH: AEGP_RenderOptionsH,
19968            proposed_optionsH: AEGP_RenderOptionsH,
19969            rendered_is_sufficientPB: *mut A_Boolean,
19970        ) -> A_Err,
19971    >,
19972    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19973        unsafe extern "C" fn(
19974            itemH: AEGP_ItemH,
19975            start_timePT: *const A_Time,
19976            durationPT: *const A_Time,
19977            sound_formatP: *const AEGP_SoundDataFormat,
19978            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19979            cancel_function_refconP0: AEGP_CancelRefcon,
19980            new_sound_dataPH: *mut AEGP_SoundDataH,
19981        ) -> A_Err,
19982    >,
19983}
19984pub type AEGP_RenderSuiteCheckForCancelv1 = ::std::option::Option<
19985    unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, cancelPB: *mut A_Boolean) -> A_Err,
19986>;
19987#[repr(C)]
19988#[derive(Debug, Copy, Clone)]
19989pub struct AEGP_RenderSuite2 {
19990    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19991        unsafe extern "C" fn(
19992            optionsH: AEGP_RenderOptionsH,
19993            cancel_functionP0: AEGP_RenderSuiteCheckForCancelv1,
19994            cancel_function_refconP0: AEGP_CancelRefcon,
19995            receiptPH: *mut AEGP_FrameReceiptH,
19996        ) -> A_Err,
19997    >,
19998    pub AEGP_CheckinFrame:
19999        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
20000    pub AEGP_GetReceiptWorld: ::std::option::Option<
20001        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
20002    >,
20003    pub AEGP_GetRenderedRegion: ::std::option::Option<
20004        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
20005    >,
20006    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
20007        unsafe extern "C" fn(
20008            rendered_optionsH: AEGP_RenderOptionsH,
20009            proposed_optionsH: AEGP_RenderOptionsH,
20010            rendered_is_sufficientPB: *mut A_Boolean,
20011        ) -> A_Err,
20012    >,
20013    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
20014        unsafe extern "C" fn(
20015            itemH: AEGP_ItemH,
20016            start_timePT: *const A_Time,
20017            durationPT: *const A_Time,
20018            sound_formatP: *const AEGP_SoundDataFormat,
20019            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20020            cancel_function_refconP0: AEGP_CancelRefcon,
20021            new_sound_dataPH: *mut AEGP_SoundDataH,
20022        ) -> A_Err,
20023    >,
20024    pub AEGP_GetCurrentTimestamp:
20025        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
20026    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
20027        unsafe extern "C" fn(
20028            itemH: AEGP_ItemH,
20029            start_timeP: *const A_Time,
20030            durationP: *const A_Time,
20031            time_stampP: *const AEGP_TimeStamp,
20032            item_has_changedPB: *mut A_Boolean,
20033        ) -> A_Err,
20034    >,
20035    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
20036        unsafe extern "C" fn(
20037            roH: AEGP_RenderOptionsH,
20038            time_stampP: *const AEGP_TimeStamp,
20039            worthwhile_to_renderPB: *mut A_Boolean,
20040        ) -> A_Err,
20041    >,
20042    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
20043        unsafe extern "C" fn(
20044            roH: AEGP_RenderOptionsH,
20045            time_stampP: *const AEGP_TimeStamp,
20046            ticks_to_renderL: A_u_long,
20047            imageH: AEGP_PlatformWorldH,
20048        ) -> A_Err,
20049    >,
20050}
20051#[repr(C)]
20052#[derive(Debug, Copy, Clone)]
20053pub struct AEGP_RenderSuite3 {
20054    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
20055        unsafe extern "C" fn(
20056            optionsH: AEGP_RenderOptionsH,
20057            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20058            cancel_function_refconP0: AEGP_CancelRefcon,
20059            receiptPH: *mut AEGP_FrameReceiptH,
20060        ) -> A_Err,
20061    >,
20062    pub AEGP_CheckinFrame:
20063        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
20064    pub AEGP_GetReceiptWorld: ::std::option::Option<
20065        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
20066    >,
20067    pub AEGP_GetRenderedRegion: ::std::option::Option<
20068        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
20069    >,
20070    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
20071        unsafe extern "C" fn(
20072            rendered_optionsH: AEGP_RenderOptionsH,
20073            proposed_optionsH: AEGP_RenderOptionsH,
20074            rendered_is_sufficientPB: *mut A_Boolean,
20075        ) -> A_Err,
20076    >,
20077    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
20078        unsafe extern "C" fn(
20079            itemH: AEGP_ItemH,
20080            start_timePT: *const A_Time,
20081            durationPT: *const A_Time,
20082            sound_formatP: *const AEGP_SoundDataFormat,
20083            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20084            cancel_function_refconP0: AEGP_CancelRefcon,
20085            new_sound_dataPH: *mut AEGP_SoundDataH,
20086        ) -> A_Err,
20087    >,
20088    pub AEGP_GetCurrentTimestamp:
20089        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
20090    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
20091        unsafe extern "C" fn(
20092            itemH: AEGP_ItemH,
20093            start_timeP: *const A_Time,
20094            durationP: *const A_Time,
20095            time_stampP: *const AEGP_TimeStamp,
20096            item_has_changedPB: *mut A_Boolean,
20097        ) -> A_Err,
20098    >,
20099    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
20100        unsafe extern "C" fn(
20101            roH: AEGP_RenderOptionsH,
20102            time_stampP: *const AEGP_TimeStamp,
20103            worthwhile_to_renderPB: *mut A_Boolean,
20104        ) -> A_Err,
20105    >,
20106    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
20107        unsafe extern "C" fn(
20108            roH: AEGP_RenderOptionsH,
20109            time_stampP: *const AEGP_TimeStamp,
20110            ticks_to_renderL: A_u_long,
20111            imageH: AEGP_PlatformWorldH,
20112        ) -> A_Err,
20113    >,
20114    pub AEGP_GetReceiptGuid: ::std::option::Option<
20115        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
20116    >,
20117}
20118#[repr(C)]
20119#[derive(Debug, Copy, Clone)]
20120pub struct AEGP_RenderSuite4 {
20121    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
20122        unsafe extern "C" fn(
20123            optionsH: AEGP_RenderOptionsH,
20124            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20125            cancel_function_refconP0: AEGP_CancelRefcon,
20126            receiptPH: *mut AEGP_FrameReceiptH,
20127        ) -> A_Err,
20128    >,
20129    pub AEGP_RenderAndCheckoutLayerFrame: ::std::option::Option<
20130        unsafe extern "C" fn(
20131            optionsH: AEGP_LayerRenderOptionsH,
20132            render_plain_layer_frameB: A_Boolean,
20133            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20134            cancel_function_refconP0: AEGP_CancelRefcon,
20135            receiptPH: *mut AEGP_FrameReceiptH,
20136        ) -> A_Err,
20137    >,
20138    pub AEGP_CheckinFrame:
20139        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
20140    pub AEGP_GetReceiptWorld: ::std::option::Option<
20141        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
20142    >,
20143    pub AEGP_GetRenderedRegion: ::std::option::Option<
20144        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
20145    >,
20146    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
20147        unsafe extern "C" fn(
20148            rendered_optionsH: AEGP_RenderOptionsH,
20149            proposed_optionsH: AEGP_RenderOptionsH,
20150            rendered_is_sufficientPB: *mut A_Boolean,
20151        ) -> A_Err,
20152    >,
20153    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
20154        unsafe extern "C" fn(
20155            itemH: AEGP_ItemH,
20156            start_timePT: *const A_Time,
20157            durationPT: *const A_Time,
20158            sound_formatP: *const AEGP_SoundDataFormat,
20159            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
20160            cancel_function_refconP0: AEGP_CancelRefcon,
20161            new_sound_dataPH: *mut AEGP_SoundDataH,
20162        ) -> A_Err,
20163    >,
20164    pub AEGP_GetCurrentTimestamp:
20165        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
20166    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
20167        unsafe extern "C" fn(
20168            itemH: AEGP_ItemH,
20169            start_timeP: *const A_Time,
20170            durationP: *const A_Time,
20171            time_stampP: *const AEGP_TimeStamp,
20172            item_has_changedPB: *mut A_Boolean,
20173        ) -> A_Err,
20174    >,
20175    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
20176        unsafe extern "C" fn(
20177            roH: AEGP_RenderOptionsH,
20178            time_stampP: *const AEGP_TimeStamp,
20179            worthwhile_to_renderPB: *mut A_Boolean,
20180        ) -> A_Err,
20181    >,
20182    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
20183        unsafe extern "C" fn(
20184            roH: AEGP_RenderOptionsH,
20185            time_stampP: *const AEGP_TimeStamp,
20186            ticks_to_renderL: A_u_long,
20187            imageH: AEGP_PlatformWorldH,
20188        ) -> A_Err,
20189    >,
20190    pub AEGP_GetReceiptGuid: ::std::option::Option<
20191        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
20192    >,
20193}
20194#[repr(C)]
20195#[derive(Debug, Copy, Clone)]
20196pub struct AEGP_WorldSuite2 {
20197    pub AEGP_New: ::std::option::Option<
20198        unsafe extern "C" fn(
20199            plugin_id: AEGP_PluginID,
20200            type_: AEGP_WorldType,
20201            widthL: A_long,
20202            heightL: A_long,
20203            worldPH: *mut AEGP_WorldH,
20204        ) -> A_Err,
20205    >,
20206    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
20207    pub AEGP_GetType: ::std::option::Option<
20208        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
20209    >,
20210    pub AEGP_GetSize: ::std::option::Option<
20211        unsafe extern "C" fn(
20212            worldH: AEGP_WorldH,
20213            widthPL: *mut A_long,
20214            heightPL: *mut A_long,
20215        ) -> A_Err,
20216    >,
20217    pub AEGP_GetRowBytes: ::std::option::Option<
20218        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
20219    >,
20220    pub AEGP_GetBaseAddr8: ::std::option::Option<
20221        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
20222    >,
20223    pub AEGP_GetBaseAddr16: ::std::option::Option<
20224        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
20225    >,
20226    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
20227        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
20228    >,
20229    pub AEGP_FastBlur: ::std::option::Option<
20230        unsafe extern "C" fn(
20231            radiusF: A_FpLong,
20232            mode: PF_ModeFlags,
20233            quality: PF_Quality,
20234            worldH: AEGP_WorldH,
20235        ) -> A_Err,
20236    >,
20237    pub AEGP_NewPlatformWorld: ::std::option::Option<
20238        unsafe extern "C" fn(
20239            plugin_id: AEGP_PluginID,
20240            type_: AEGP_WorldType,
20241            widthL: A_long,
20242            heightL: A_long,
20243            worldPH: *mut AEGP_PlatformWorldH,
20244        ) -> A_Err,
20245    >,
20246    pub AEGP_DisposePlatformWorld:
20247        ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_PlatformWorldH) -> A_Err>,
20248    pub AEGP_NewReferenceFromPlatformWorld: ::std::option::Option<
20249        unsafe extern "C" fn(
20250            plugin_id: AEGP_PluginID,
20251            platform_worldH: AEGP_PlatformWorldH,
20252            worldPH: *mut AEGP_WorldH,
20253        ) -> A_Err,
20254    >,
20255}
20256#[repr(C)]
20257#[derive(Debug, Copy, Clone)]
20258pub struct AEGP_WorldSuite1 {
20259    pub AEGP_New: ::std::option::Option<
20260        unsafe extern "C" fn(
20261            plugin_id: AEGP_PluginID,
20262            type_: AEGP_WorldType,
20263            widthL: A_long,
20264            heightL: A_long,
20265            worldPH: *mut AEGP_WorldH,
20266        ) -> A_Err,
20267    >,
20268    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
20269    pub AEGP_GetType: ::std::option::Option<
20270        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
20271    >,
20272    pub AEGP_GetSize: ::std::option::Option<
20273        unsafe extern "C" fn(
20274            worldH: AEGP_WorldH,
20275            widthPL: *mut A_long,
20276            heightPL: *mut A_long,
20277        ) -> A_Err,
20278    >,
20279    pub AEGP_GetRowBytes: ::std::option::Option<
20280        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
20281    >,
20282    pub AEGP_GetBaseAddr8: ::std::option::Option<
20283        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
20284    >,
20285    pub AEGP_GetBaseAddr16: ::std::option::Option<
20286        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
20287    >,
20288    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
20289        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
20290    >,
20291    pub AEGP_FastBlur: ::std::option::Option<
20292        unsafe extern "C" fn(
20293            radiusF: A_FpLong,
20294            mode: PF_ModeFlags,
20295            quality: PF_Quality,
20296            worldH: AEGP_WorldH,
20297        ) -> A_Err,
20298    >,
20299}
20300#[repr(C)]
20301#[derive(Copy, Clone)]
20302pub struct AEGP_CollectionItem {
20303    pub type_: AEGP_CollectionItemType,
20304    pub u: AEGP_CollectionItem__bindgen_ty_1,
20305}
20306#[repr(C)]
20307#[derive(Copy, Clone)]
20308pub union AEGP_CollectionItem__bindgen_ty_1 {
20309    pub layer: AEGP_LayerCollectionItem,
20310    pub mask: AEGP_MaskCollectionItem,
20311    pub effect: AEGP_EffectCollectionItem,
20312    pub stream: AEGP_StreamCollectionItem,
20313    pub mask_vertex: AEGP_MaskVertexCollectionItem,
20314    pub keyframe: AEGP_KeyframeCollectionItem,
20315}
20316#[repr(C)]
20317#[derive(Debug, Copy, Clone)]
20318pub struct AEGP_CollectionSuite1 {
20319    pub AEGP_NewCollection: ::std::option::Option<
20320        unsafe extern "C" fn(
20321            plugin_id: AEGP_PluginID,
20322            collectionPH: *mut AEGP_CollectionH,
20323        ) -> A_Err,
20324    >,
20325    pub AEGP_DisposeCollection:
20326        ::std::option::Option<unsafe extern "C" fn(collectionH: AEGP_CollectionH) -> A_Err>,
20327    pub AEGP_GetCollectionNumItems: ::std::option::Option<
20328        unsafe extern "C" fn(collectionH: AEGP_CollectionH, num_itemsPL: *mut A_u_long) -> A_Err,
20329    >,
20330    pub AEGP_GetCollectionItemByIndex: ::std::option::Option<
20331        unsafe extern "C" fn(
20332            collectionH: AEGP_CollectionH,
20333            indexL: A_u_long,
20334            collection_itemP: *mut AEGP_CollectionItem,
20335        ) -> A_Err,
20336    >,
20337    pub AEGP_CollectionPushBack: ::std::option::Option<
20338        unsafe extern "C" fn(
20339            collectionH: AEGP_CollectionH,
20340            collection_itemP: *const AEGP_CollectionItem,
20341        ) -> A_Err,
20342    >,
20343    pub AEGP_CollectionErase: ::std::option::Option<
20344        unsafe extern "C" fn(
20345            collectionH: AEGP_CollectionH,
20346            index_firstL: A_u_long,
20347            index_lastL: A_u_long,
20348        ) -> A_Err,
20349    >,
20350}
20351#[repr(C)]
20352#[derive(Debug, Copy, Clone)]
20353pub struct AEGP_DynamicStreamSuite1 {
20354    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
20355        unsafe extern "C" fn(
20356            aegp_plugin_id: AEGP_PluginID,
20357            layerH: AEGP_LayerH,
20358            streamPH: *mut AEGP_StreamRefH,
20359        ) -> A_Err,
20360    >,
20361    pub AEGP_GetStreamDepth: ::std::option::Option<
20362        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
20363    >,
20364    pub AEGP_GetStreamGroupingType: ::std::option::Option<
20365        unsafe extern "C" fn(
20366            streamH: AEGP_StreamRefH,
20367            group_typeP: *mut AEGP_StreamGroupingType,
20368        ) -> A_Err,
20369    >,
20370    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
20371        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
20372    >,
20373    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
20374        unsafe extern "C" fn(
20375            streamH: AEGP_StreamRefH,
20376            stream_flagsP: *mut AEGP_DynStreamFlags,
20377        ) -> A_Err,
20378    >,
20379    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
20380        unsafe extern "C" fn(
20381            streamH: AEGP_StreamRefH,
20382            one_flag: AEGP_DynStreamFlags,
20383            setB: A_Boolean,
20384        ) -> A_Err,
20385    >,
20386    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
20387        unsafe extern "C" fn(
20388            aegp_plugin_id: AEGP_PluginID,
20389            parent_groupH: AEGP_StreamRefH,
20390            indexL: A_long,
20391            streamPH: *mut AEGP_StreamRefH,
20392        ) -> A_Err,
20393    >,
20394    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
20395        unsafe extern "C" fn(
20396            aegp_plugin_id: AEGP_PluginID,
20397            parent_groupH: AEGP_StreamRefH,
20398            match_nameZ: *const A_char,
20399            streamPH: *mut AEGP_StreamRefH,
20400        ) -> A_Err,
20401    >,
20402    pub AEGP_DeleteStream:
20403        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
20404    pub AEGP_ReorderStream: ::std::option::Option<
20405        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
20406    >,
20407    pub AEGP_DuplicateStream: ::std::option::Option<
20408        unsafe extern "C" fn(
20409            aegp_plugin_id: AEGP_PluginID,
20410            streamH: AEGP_StreamRefH,
20411            new_indexPL0: *mut A_long,
20412        ) -> A_Err,
20413    >,
20414    pub AEGP_SetStreamName: ::std::option::Option<
20415        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
20416    >,
20417    pub AEGP_CanAddStream: ::std::option::Option<
20418        unsafe extern "C" fn(
20419            group_streamH: AEGP_StreamRefH,
20420            match_nameZ: *const A_char,
20421            can_addPB: *mut A_Boolean,
20422        ) -> A_Err,
20423    >,
20424    pub AEGP_AddStream: ::std::option::Option<
20425        unsafe extern "C" fn(
20426            aegp_plugin_id: AEGP_PluginID,
20427            indexed_group_streamH: AEGP_StreamRefH,
20428            match_nameZ: *const A_char,
20429            streamPH0: *mut AEGP_StreamRefH,
20430        ) -> A_Err,
20431    >,
20432    pub AEGP_GetMatchName: ::std::option::Option<
20433        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
20434    >,
20435    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
20436        unsafe extern "C" fn(
20437            aegp_plugin_id: AEGP_PluginID,
20438            streamH: AEGP_StreamRefH,
20439            parent_streamPH: *mut AEGP_StreamRefH,
20440        ) -> A_Err,
20441    >,
20442    pub AEGP_GetStreamIsModified: ::std::option::Option<
20443        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
20444    >,
20445}
20446#[repr(C)]
20447#[derive(Debug, Copy, Clone)]
20448pub struct AEGP_DynamicStreamSuite2 {
20449    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
20450        unsafe extern "C" fn(
20451            aegp_plugin_id: AEGP_PluginID,
20452            layerH: AEGP_LayerH,
20453            streamPH: *mut AEGP_StreamRefH,
20454        ) -> A_Err,
20455    >,
20456    pub AEGP_GetStreamDepth: ::std::option::Option<
20457        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
20458    >,
20459    pub AEGP_GetStreamGroupingType: ::std::option::Option<
20460        unsafe extern "C" fn(
20461            streamH: AEGP_StreamRefH,
20462            group_typeP: *mut AEGP_StreamGroupingType,
20463        ) -> A_Err,
20464    >,
20465    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
20466        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
20467    >,
20468    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
20469        unsafe extern "C" fn(
20470            streamH: AEGP_StreamRefH,
20471            stream_flagsP: *mut AEGP_DynStreamFlags,
20472        ) -> A_Err,
20473    >,
20474    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
20475        unsafe extern "C" fn(
20476            streamH: AEGP_StreamRefH,
20477            one_flag: AEGP_DynStreamFlags,
20478            undoableB: A_Boolean,
20479            setB: A_Boolean,
20480        ) -> A_Err,
20481    >,
20482    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
20483        unsafe extern "C" fn(
20484            aegp_plugin_id: AEGP_PluginID,
20485            parent_groupH: AEGP_StreamRefH,
20486            indexL: A_long,
20487            streamPH: *mut AEGP_StreamRefH,
20488        ) -> A_Err,
20489    >,
20490    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
20491        unsafe extern "C" fn(
20492            aegp_plugin_id: AEGP_PluginID,
20493            parent_groupH: AEGP_StreamRefH,
20494            match_nameZ: *const A_char,
20495            streamPH: *mut AEGP_StreamRefH,
20496        ) -> A_Err,
20497    >,
20498    pub AEGP_DeleteStream:
20499        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
20500    pub AEGP_ReorderStream: ::std::option::Option<
20501        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
20502    >,
20503    pub AEGP_DuplicateStream: ::std::option::Option<
20504        unsafe extern "C" fn(
20505            aegp_plugin_id: AEGP_PluginID,
20506            streamH: AEGP_StreamRefH,
20507            new_indexPL0: *mut A_long,
20508        ) -> A_Err,
20509    >,
20510    pub AEGP_SetStreamName: ::std::option::Option<
20511        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
20512    >,
20513    pub AEGP_CanAddStream: ::std::option::Option<
20514        unsafe extern "C" fn(
20515            group_streamH: AEGP_StreamRefH,
20516            match_nameZ: *const A_char,
20517            can_addPB: *mut A_Boolean,
20518        ) -> A_Err,
20519    >,
20520    pub AEGP_AddStream: ::std::option::Option<
20521        unsafe extern "C" fn(
20522            aegp_plugin_id: AEGP_PluginID,
20523            indexed_group_streamH: AEGP_StreamRefH,
20524            match_nameZ: *const A_char,
20525            streamPH0: *mut AEGP_StreamRefH,
20526        ) -> A_Err,
20527    >,
20528    pub AEGP_GetMatchName: ::std::option::Option<
20529        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
20530    >,
20531    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
20532        unsafe extern "C" fn(
20533            aegp_plugin_id: AEGP_PluginID,
20534            streamH: AEGP_StreamRefH,
20535            parent_streamPH: *mut AEGP_StreamRefH,
20536        ) -> A_Err,
20537    >,
20538    pub AEGP_GetStreamIsModified: ::std::option::Option<
20539        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
20540    >,
20541}
20542#[repr(C)]
20543#[derive(Debug, Copy, Clone)]
20544pub struct AEGP_DynamicStreamSuite3 {
20545    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
20546        unsafe extern "C" fn(
20547            aegp_plugin_id: AEGP_PluginID,
20548            layerH: AEGP_LayerH,
20549            streamPH: *mut AEGP_StreamRefH,
20550        ) -> A_Err,
20551    >,
20552    pub AEGP_GetStreamDepth: ::std::option::Option<
20553        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
20554    >,
20555    pub AEGP_GetStreamGroupingType: ::std::option::Option<
20556        unsafe extern "C" fn(
20557            streamH: AEGP_StreamRefH,
20558            group_typeP: *mut AEGP_StreamGroupingType,
20559        ) -> A_Err,
20560    >,
20561    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
20562        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
20563    >,
20564    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
20565        unsafe extern "C" fn(
20566            streamH: AEGP_StreamRefH,
20567            stream_flagsP: *mut AEGP_DynStreamFlags,
20568        ) -> A_Err,
20569    >,
20570    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
20571        unsafe extern "C" fn(
20572            streamH: AEGP_StreamRefH,
20573            one_flag: AEGP_DynStreamFlags,
20574            undoableB: A_Boolean,
20575            setB: A_Boolean,
20576        ) -> A_Err,
20577    >,
20578    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
20579        unsafe extern "C" fn(
20580            aegp_plugin_id: AEGP_PluginID,
20581            parent_groupH: AEGP_StreamRefH,
20582            indexL: A_long,
20583            streamPH: *mut AEGP_StreamRefH,
20584        ) -> A_Err,
20585    >,
20586    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
20587        unsafe extern "C" fn(
20588            aegp_plugin_id: AEGP_PluginID,
20589            parent_groupH: AEGP_StreamRefH,
20590            match_nameZ: *const A_char,
20591            streamPH: *mut AEGP_StreamRefH,
20592        ) -> A_Err,
20593    >,
20594    pub AEGP_DeleteStream:
20595        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
20596    pub AEGP_ReorderStream: ::std::option::Option<
20597        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
20598    >,
20599    pub AEGP_DuplicateStream: ::std::option::Option<
20600        unsafe extern "C" fn(
20601            aegp_plugin_id: AEGP_PluginID,
20602            streamH: AEGP_StreamRefH,
20603            new_indexPL0: *mut A_long,
20604        ) -> A_Err,
20605    >,
20606    pub AEGP_SetStreamName: ::std::option::Option<
20607        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
20608    >,
20609    pub AEGP_CanAddStream: ::std::option::Option<
20610        unsafe extern "C" fn(
20611            group_streamH: AEGP_StreamRefH,
20612            match_nameZ: *const A_char,
20613            can_addPB: *mut A_Boolean,
20614        ) -> A_Err,
20615    >,
20616    pub AEGP_AddStream: ::std::option::Option<
20617        unsafe extern "C" fn(
20618            aegp_plugin_id: AEGP_PluginID,
20619            indexed_group_streamH: AEGP_StreamRefH,
20620            match_nameZ: *const A_char,
20621            streamPH0: *mut AEGP_StreamRefH,
20622        ) -> A_Err,
20623    >,
20624    pub AEGP_GetMatchName: ::std::option::Option<
20625        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
20626    >,
20627    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
20628        unsafe extern "C" fn(
20629            aegp_plugin_id: AEGP_PluginID,
20630            streamH: AEGP_StreamRefH,
20631            parent_streamPH: *mut AEGP_StreamRefH,
20632        ) -> A_Err,
20633    >,
20634    pub AEGP_GetStreamIsModified: ::std::option::Option<
20635        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
20636    >,
20637    pub AEGP_GetStreamIndexInParent: ::std::option::Option<
20638        unsafe extern "C" fn(streamH: AEGP_StreamRefH, indexPL: *mut A_long) -> A_Err,
20639    >,
20640}
20641#[repr(C)]
20642#[derive(Debug, Copy, Clone)]
20643pub struct AEGP_RenderOptionsSuite3 {
20644    pub AEGP_NewFromItem: ::std::option::Option<
20645        unsafe extern "C" fn(
20646            plugin_id: AEGP_PluginID,
20647            itemH: AEGP_ItemH,
20648            optionsPH: *mut AEGP_RenderOptionsH,
20649        ) -> A_Err,
20650    >,
20651    pub AEGP_Duplicate: ::std::option::Option<
20652        unsafe extern "C" fn(
20653            plugin_id: AEGP_PluginID,
20654            optionsH: AEGP_RenderOptionsH,
20655            copyPH: *mut AEGP_RenderOptionsH,
20656        ) -> A_Err,
20657    >,
20658    pub AEGP_Dispose:
20659        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20660    pub AEGP_SetTime: ::std::option::Option<
20661        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20662    >,
20663    pub AEGP_GetTime: ::std::option::Option<
20664        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20665    >,
20666    pub AEGP_SetTimeStep: ::std::option::Option<
20667        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20668    >,
20669    pub AEGP_GetTimeStep: ::std::option::Option<
20670        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20671    >,
20672    pub AEGP_SetFieldRender: ::std::option::Option<
20673        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20674    >,
20675    pub AEGP_GetFieldRender: ::std::option::Option<
20676        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20677    >,
20678    pub AEGP_SetWorldType: ::std::option::Option<
20679        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20680    >,
20681    pub AEGP_GetWorldType: ::std::option::Option<
20682        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20683    >,
20684    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20685        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20686    >,
20687    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20688        unsafe extern "C" fn(
20689            optionsH: AEGP_RenderOptionsH,
20690            xP: *mut A_short,
20691            yP: *mut A_short,
20692        ) -> A_Err,
20693    >,
20694    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20695        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20696    >,
20697    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20698        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20699    >,
20700    pub AEGP_SetMatteMode: ::std::option::Option<
20701        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20702    >,
20703    pub AEGP_GetMatteMode: ::std::option::Option<
20704        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20705    >,
20706    pub AEGP_SetChannelOrder: ::std::option::Option<
20707        unsafe extern "C" fn(
20708            optionsH: AEGP_RenderOptionsH,
20709            channel_order: AEGP_ChannelOrder,
20710        ) -> A_Err,
20711    >,
20712    pub AEGP_GetChannelOrder: ::std::option::Option<
20713        unsafe extern "C" fn(
20714            optionsH: AEGP_RenderOptionsH,
20715            channelP: *mut AEGP_ChannelOrder,
20716        ) -> A_Err,
20717    >,
20718    pub AEGP_GetRenderGuideLayers: ::std::option::Option<
20719        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, will_renderPB: *mut A_Boolean) -> A_Err,
20720    >,
20721    pub AEGP_SetRenderGuideLayers: ::std::option::Option<
20722        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, render_themB: A_Boolean) -> A_Err,
20723    >,
20724}
20725#[repr(C)]
20726#[derive(Debug, Copy, Clone)]
20727pub struct AEGP_RenderOptionsSuite2 {
20728    pub AEGP_NewFromItem: ::std::option::Option<
20729        unsafe extern "C" fn(
20730            plugin_id: AEGP_PluginID,
20731            itemH: AEGP_ItemH,
20732            optionsPH: *mut AEGP_RenderOptionsH,
20733        ) -> A_Err,
20734    >,
20735    pub AEGP_Duplicate: ::std::option::Option<
20736        unsafe extern "C" fn(
20737            plugin_id: AEGP_PluginID,
20738            optionsH: AEGP_RenderOptionsH,
20739            copyPH: *mut AEGP_RenderOptionsH,
20740        ) -> A_Err,
20741    >,
20742    pub AEGP_Dispose:
20743        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20744    pub AEGP_SetTime: ::std::option::Option<
20745        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20746    >,
20747    pub AEGP_GetTime: ::std::option::Option<
20748        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20749    >,
20750    pub AEGP_SetTimeStep: ::std::option::Option<
20751        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20752    >,
20753    pub AEGP_GetTimeStep: ::std::option::Option<
20754        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20755    >,
20756    pub AEGP_SetFieldRender: ::std::option::Option<
20757        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20758    >,
20759    pub AEGP_GetFieldRender: ::std::option::Option<
20760        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20761    >,
20762    pub AEGP_SetWorldType: ::std::option::Option<
20763        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20764    >,
20765    pub AEGP_GetWorldType: ::std::option::Option<
20766        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20767    >,
20768    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20769        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20770    >,
20771    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20772        unsafe extern "C" fn(
20773            optionsH: AEGP_RenderOptionsH,
20774            xP: *mut A_short,
20775            yP: *mut A_short,
20776        ) -> A_Err,
20777    >,
20778    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20779        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20780    >,
20781    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20782        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20783    >,
20784    pub AEGP_SetMatteMode: ::std::option::Option<
20785        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20786    >,
20787    pub AEGP_GetMatteMode: ::std::option::Option<
20788        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20789    >,
20790    pub AEGP_SetChannelOrder: ::std::option::Option<
20791        unsafe extern "C" fn(
20792            optionsH: AEGP_RenderOptionsH,
20793            channel_order: AEGP_ChannelOrder,
20794        ) -> A_Err,
20795    >,
20796    pub AEGP_GetChannelOrder: ::std::option::Option<
20797        unsafe extern "C" fn(
20798            optionsH: AEGP_RenderOptionsH,
20799            channelP: *mut AEGP_ChannelOrder,
20800        ) -> A_Err,
20801    >,
20802}
20803#[repr(C)]
20804#[derive(Debug, Copy, Clone)]
20805pub struct AEGP_RenderOptionsSuite1 {
20806    pub AEGP_NewFromItem: ::std::option::Option<
20807        unsafe extern "C" fn(
20808            plugin_id: AEGP_PluginID,
20809            itemH: AEGP_ItemH,
20810            optionsPH: *mut AEGP_RenderOptionsH,
20811        ) -> A_Err,
20812    >,
20813    pub AEGP_Duplicate: ::std::option::Option<
20814        unsafe extern "C" fn(
20815            plugin_id: AEGP_PluginID,
20816            optionsH: AEGP_RenderOptionsH,
20817            copyPH: *mut AEGP_RenderOptionsH,
20818        ) -> A_Err,
20819    >,
20820    pub AEGP_Dispose:
20821        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20822    pub AEGP_SetTime: ::std::option::Option<
20823        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20824    >,
20825    pub AEGP_GetTime: ::std::option::Option<
20826        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20827    >,
20828    pub AEGP_SetTimeStep: ::std::option::Option<
20829        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20830    >,
20831    pub AEGP_GetTimeStep: ::std::option::Option<
20832        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20833    >,
20834    pub AEGP_SetFieldRender: ::std::option::Option<
20835        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20836    >,
20837    pub AEGP_GetFieldRender: ::std::option::Option<
20838        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20839    >,
20840    pub AEGP_SetWorldType: ::std::option::Option<
20841        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20842    >,
20843    pub AEGP_GetWorldType: ::std::option::Option<
20844        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20845    >,
20846    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20847        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20848    >,
20849    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20850        unsafe extern "C" fn(
20851            optionsH: AEGP_RenderOptionsH,
20852            xP: *mut A_short,
20853            yP: *mut A_short,
20854        ) -> A_Err,
20855    >,
20856    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20857        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20858    >,
20859    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20860        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20861    >,
20862    pub AEGP_SetMatteMode: ::std::option::Option<
20863        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20864    >,
20865    pub AEGP_GetMatteMode: ::std::option::Option<
20866        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20867    >,
20868}
20869#[repr(C)]
20870#[derive(Debug, Copy, Clone)]
20871pub struct AEGP_LayerRenderOptionsSuite1 {
20872    pub AEGP_NewFromLayer: ::std::option::Option<
20873        unsafe extern "C" fn(
20874            plugin_id: AEGP_PluginID,
20875            layerH: AEGP_LayerH,
20876            optionsPH: *mut AEGP_LayerRenderOptionsH,
20877        ) -> A_Err,
20878    >,
20879    pub AEGP_NewFromUpstreamOfEffect: ::std::option::Option<
20880        unsafe extern "C" fn(
20881            plugin_id: AEGP_PluginID,
20882            effectH: AEGP_EffectRefH,
20883            optionsPH: *mut AEGP_LayerRenderOptionsH,
20884        ) -> A_Err,
20885    >,
20886    pub AEGP_Duplicate: ::std::option::Option<
20887        unsafe extern "C" fn(
20888            plugin_id: AEGP_PluginID,
20889            optionsH: AEGP_LayerRenderOptionsH,
20890            copyPH: *mut AEGP_LayerRenderOptionsH,
20891        ) -> A_Err,
20892    >,
20893    pub AEGP_Dispose:
20894        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH) -> A_Err>,
20895    pub AEGP_SetTime: ::std::option::Option<
20896        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time: A_Time) -> A_Err,
20897    >,
20898    pub AEGP_GetTime: ::std::option::Option<
20899        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timeP: *mut A_Time) -> A_Err,
20900    >,
20901    pub AEGP_SetTimeStep: ::std::option::Option<
20902        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time_step: A_Time) -> A_Err,
20903    >,
20904    pub AEGP_GetTimeStep: ::std::option::Option<
20905        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timePT: *mut A_Time) -> A_Err,
20906    >,
20907    pub AEGP_SetWorldType: ::std::option::Option<
20908        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20909    >,
20910    pub AEGP_GetWorldType: ::std::option::Option<
20911        unsafe extern "C" fn(
20912            optionsH: AEGP_LayerRenderOptionsH,
20913            typeP: *mut AEGP_WorldType,
20914        ) -> A_Err,
20915    >,
20916    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20917        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, x: A_short, y: A_short) -> A_Err,
20918    >,
20919    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20920        unsafe extern "C" fn(
20921            optionsH: AEGP_LayerRenderOptionsH,
20922            xP: *mut A_short,
20923            yP: *mut A_short,
20924        ) -> A_Err,
20925    >,
20926    pub AEGP_SetMatteMode: ::std::option::Option<
20927        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20928    >,
20929    pub AEGP_GetMatteMode: ::std::option::Option<
20930        unsafe extern "C" fn(
20931            optionsH: AEGP_LayerRenderOptionsH,
20932            modeP: *mut AEGP_MatteMode,
20933        ) -> A_Err,
20934    >,
20935}
20936#[repr(C)]
20937#[derive(Debug, Copy, Clone)]
20938pub struct AEGP_ColorSettingsSuite1 {
20939    pub AEGP_GetBlendingTables: ::std::option::Option<
20940        unsafe extern "C" fn(
20941            render_contextH: PR_RenderContextH,
20942            blending_tables: *mut PF_EffectBlendingTables,
20943        ) -> A_Err,
20944    >,
20945}
20946#[repr(C)]
20947#[derive(Debug, Copy, Clone)]
20948pub struct AEGP_ColorSettingsSuite2 {
20949    pub AEGP_GetBlendingTables: ::std::option::Option<
20950        unsafe extern "C" fn(
20951            render_contextH: PR_RenderContextH,
20952            blending_tables: *mut PF_EffectBlendingTables,
20953        ) -> A_Err,
20954    >,
20955    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
20956        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
20957    >,
20958    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
20959        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
20960    >,
20961    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
20962        unsafe extern "C" fn(
20963            aegp_plugin_id: AEGP_PluginID,
20964            compH: AEGP_CompH,
20965            color_profilePP: *mut AEGP_ColorProfileP,
20966        ) -> A_Err,
20967    >,
20968    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
20969        unsafe extern "C" fn(
20970            aegp_plugin_id: AEGP_PluginID,
20971            icc_sizeL: A_long,
20972            icc_dataPV: *const ::std::os::raw::c_void,
20973            color_profilePP: *mut AEGP_ColorProfileP,
20974        ) -> A_Err,
20975    >,
20976    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
20977        unsafe extern "C" fn(
20978            aegp_plugin_id: AEGP_PluginID,
20979            color_profileP: AEGP_ConstColorProfileP,
20980            icc_profilePH: *mut AEGP_MemHandle,
20981        ) -> A_Err,
20982    >,
20983    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
20984        unsafe extern "C" fn(
20985            aegp_plugin_id: AEGP_PluginID,
20986            color_profileP: AEGP_ConstColorProfileP,
20987            unicode_descPH: *mut AEGP_MemHandle,
20988        ) -> A_Err,
20989    >,
20990    pub AEGP_DisposeColorProfile:
20991        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
20992    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
20993        unsafe extern "C" fn(
20994            color_profileP: AEGP_ConstColorProfileP,
20995            approx_gammaP: *mut A_FpShort,
20996        ) -> A_Err,
20997    >,
20998    pub AEGP_IsRGBColorProfile: ::std::option::Option<
20999        unsafe extern "C" fn(
21000            color_profileP: AEGP_ConstColorProfileP,
21001            is_rgbPB: *mut A_Boolean,
21002        ) -> A_Err,
21003    >,
21004}
21005#[repr(C)]
21006#[derive(Debug, Copy, Clone)]
21007pub struct AEGP_ColorSettingsSuite3 {
21008    pub AEGP_GetBlendingTables: ::std::option::Option<
21009        unsafe extern "C" fn(
21010            render_contextH: PR_RenderContextH,
21011            blending_tables: *mut PF_EffectBlendingTables,
21012        ) -> A_Err,
21013    >,
21014    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
21015        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
21016    >,
21017    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
21018        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
21019    >,
21020    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
21021        unsafe extern "C" fn(
21022            aegp_plugin_id: AEGP_PluginID,
21023            compH: AEGP_CompH,
21024            color_profilePP: *mut AEGP_ColorProfileP,
21025        ) -> A_Err,
21026    >,
21027    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
21028        unsafe extern "C" fn(
21029            aegp_plugin_id: AEGP_PluginID,
21030            icc_sizeL: A_long,
21031            icc_dataPV: *const ::std::os::raw::c_void,
21032            color_profilePP: *mut AEGP_ColorProfileP,
21033        ) -> A_Err,
21034    >,
21035    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
21036        unsafe extern "C" fn(
21037            aegp_plugin_id: AEGP_PluginID,
21038            color_profileP: AEGP_ConstColorProfileP,
21039            icc_profilePH: *mut AEGP_MemHandle,
21040        ) -> A_Err,
21041    >,
21042    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
21043        unsafe extern "C" fn(
21044            aegp_plugin_id: AEGP_PluginID,
21045            color_profileP: AEGP_ConstColorProfileP,
21046            unicode_descPH: *mut AEGP_MemHandle,
21047        ) -> A_Err,
21048    >,
21049    pub AEGP_DisposeColorProfile:
21050        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
21051    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
21052        unsafe extern "C" fn(
21053            color_profileP: AEGP_ConstColorProfileP,
21054            approx_gammaP: *mut A_FpShort,
21055        ) -> A_Err,
21056    >,
21057    pub AEGP_IsRGBColorProfile: ::std::option::Option<
21058        unsafe extern "C" fn(
21059            color_profileP: AEGP_ConstColorProfileP,
21060            is_rgbPB: *mut A_Boolean,
21061        ) -> A_Err,
21062    >,
21063    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
21064        unsafe extern "C" fn(
21065            aegp_plugin_id: AEGP_PluginID,
21066            compH: AEGP_CompH,
21067            color_profileP: AEGP_ConstColorProfileP,
21068        ) -> A_Err,
21069    >,
21070}
21071#[repr(C)]
21072#[derive(Debug, Copy, Clone)]
21073pub struct AEGP_ColorSettingsSuite4 {
21074    pub AEGP_GetBlendingTables: ::std::option::Option<
21075        unsafe extern "C" fn(
21076            render_contextH: PR_RenderContextH,
21077            blending_tables: *mut PF_EffectBlendingTables,
21078        ) -> A_Err,
21079    >,
21080    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
21081        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
21082    >,
21083    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
21084        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
21085    >,
21086    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
21087        unsafe extern "C" fn(
21088            aegp_plugin_id: AEGP_PluginID,
21089            compH: AEGP_CompH,
21090            color_profilePP: *mut AEGP_ColorProfileP,
21091        ) -> A_Err,
21092    >,
21093    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
21094        unsafe extern "C" fn(
21095            aegp_plugin_id: AEGP_PluginID,
21096            icc_sizeL: A_long,
21097            icc_dataPV: *const ::std::os::raw::c_void,
21098            color_profilePP: *mut AEGP_ColorProfileP,
21099        ) -> A_Err,
21100    >,
21101    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
21102        unsafe extern "C" fn(
21103            aegp_plugin_id: AEGP_PluginID,
21104            color_profileP: AEGP_ConstColorProfileP,
21105            icc_profilePH: *mut AEGP_MemHandle,
21106        ) -> A_Err,
21107    >,
21108    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
21109        unsafe extern "C" fn(
21110            aegp_plugin_id: AEGP_PluginID,
21111            color_profileP: AEGP_ConstColorProfileP,
21112            unicode_descPH: *mut AEGP_MemHandle,
21113        ) -> A_Err,
21114    >,
21115    pub AEGP_DisposeColorProfile:
21116        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
21117    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
21118        unsafe extern "C" fn(
21119            color_profileP: AEGP_ConstColorProfileP,
21120            approx_gammaP: *mut A_FpShort,
21121        ) -> A_Err,
21122    >,
21123    pub AEGP_IsRGBColorProfile: ::std::option::Option<
21124        unsafe extern "C" fn(
21125            color_profileP: AEGP_ConstColorProfileP,
21126            is_rgbPB: *mut A_Boolean,
21127        ) -> A_Err,
21128    >,
21129    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
21130        unsafe extern "C" fn(
21131            aegp_plugin_id: AEGP_PluginID,
21132            compH: AEGP_CompH,
21133            color_profileP: AEGP_ConstColorProfileP,
21134        ) -> A_Err,
21135    >,
21136    pub AEGP_IsOCIOColorManagementUsed: ::std::option::Option<
21137        unsafe extern "C" fn(
21138            aegp_plugin_id: AEGP_PluginID,
21139            is_OCIOColorManagementUsedPB: *mut A_Boolean,
21140        ) -> A_Err,
21141    >,
21142    pub AEGP_GetOCIOConfigurationFile: ::std::option::Option<
21143        unsafe extern "C" fn(
21144            aegp_plugin_id: AEGP_PluginID,
21145            config_filePH: *mut AEGP_MemHandle,
21146        ) -> A_Err,
21147    >,
21148}
21149#[repr(C)]
21150#[derive(Debug, Copy, Clone)]
21151pub struct AEGP_ColorSettingsSuite5 {
21152    pub AEGP_GetBlendingTables: ::std::option::Option<
21153        unsafe extern "C" fn(
21154            render_contextH: PR_RenderContextH,
21155            blending_tables: *mut PF_EffectBlendingTables,
21156        ) -> A_Err,
21157    >,
21158    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
21159        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
21160    >,
21161    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
21162        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
21163    >,
21164    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
21165        unsafe extern "C" fn(
21166            aegp_plugin_id: AEGP_PluginID,
21167            compH: AEGP_CompH,
21168            color_profilePP: *mut AEGP_ColorProfileP,
21169        ) -> A_Err,
21170    >,
21171    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
21172        unsafe extern "C" fn(
21173            aegp_plugin_id: AEGP_PluginID,
21174            icc_sizeL: A_long,
21175            icc_dataPV: *const ::std::os::raw::c_void,
21176            color_profilePP: *mut AEGP_ColorProfileP,
21177        ) -> A_Err,
21178    >,
21179    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
21180        unsafe extern "C" fn(
21181            aegp_plugin_id: AEGP_PluginID,
21182            color_profileP: AEGP_ConstColorProfileP,
21183            icc_profilePH: *mut AEGP_MemHandle,
21184        ) -> A_Err,
21185    >,
21186    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
21187        unsafe extern "C" fn(
21188            aegp_plugin_id: AEGP_PluginID,
21189            color_profileP: AEGP_ConstColorProfileP,
21190            unicode_descPH: *mut AEGP_MemHandle,
21191        ) -> A_Err,
21192    >,
21193    pub AEGP_DisposeColorProfile:
21194        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
21195    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
21196        unsafe extern "C" fn(
21197            color_profileP: AEGP_ConstColorProfileP,
21198            approx_gammaP: *mut A_FpShort,
21199        ) -> A_Err,
21200    >,
21201    pub AEGP_IsRGBColorProfile: ::std::option::Option<
21202        unsafe extern "C" fn(
21203            color_profileP: AEGP_ConstColorProfileP,
21204            is_rgbPB: *mut A_Boolean,
21205        ) -> A_Err,
21206    >,
21207    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
21208        unsafe extern "C" fn(
21209            aegp_plugin_id: AEGP_PluginID,
21210            compH: AEGP_CompH,
21211            color_profileP: AEGP_ConstColorProfileP,
21212        ) -> A_Err,
21213    >,
21214    pub AEGP_IsOCIOColorManagementUsed: ::std::option::Option<
21215        unsafe extern "C" fn(
21216            aegp_plugin_id: AEGP_PluginID,
21217            is_OCIOColorManagementUsedPB: *mut A_Boolean,
21218        ) -> A_Err,
21219    >,
21220    pub AEGP_GetOCIOConfigurationFile: ::std::option::Option<
21221        unsafe extern "C" fn(
21222            aegp_plugin_id: AEGP_PluginID,
21223            config_filePH: *mut AEGP_MemHandle,
21224        ) -> A_Err,
21225    >,
21226    pub AEGP_GetOCIOConfigurationFilePath: ::std::option::Option<
21227        unsafe extern "C" fn(
21228            aegp_plugin_id: AEGP_PluginID,
21229            config_filePH: *mut AEGP_MemHandle,
21230        ) -> A_Err,
21231    >,
21232    pub AEGPD_GetOCIOWorkingColorSpace: ::std::option::Option<
21233        unsafe extern "C" fn(
21234            aegp_plugin_id: AEGP_PluginID,
21235            ocio_working_colorspaceH: *mut AEGP_MemHandle,
21236        ) -> A_Err,
21237    >,
21238    pub AEGPD_GetOCIODisplayColorSpace: ::std::option::Option<
21239        unsafe extern "C" fn(
21240            aegp_plugin_id: AEGP_PluginID,
21241            ocio_displayH: *mut AEGP_MemHandle,
21242            ocio_viewH: *mut AEGP_MemHandle,
21243        ) -> A_Err,
21244    >,
21245}
21246#[repr(C)]
21247#[derive(Debug, Copy, Clone)]
21248pub struct AEGP_MarkerSuite1 {
21249    pub AEGP_NewMarker:
21250        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
21251    pub AEGP_DisposeMarker:
21252        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
21253    pub AEGP_DuplicateMarker: ::std::option::Option<
21254        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
21255    >,
21256    pub AEGP_SetMarkerFlag: ::std::option::Option<
21257        unsafe extern "C" fn(
21258            markerP: AEGP_MarkerValP,
21259            flagType: AEGP_MarkerFlagType,
21260            valueB: A_Boolean,
21261        ) -> A_Err,
21262    >,
21263    pub AEGP_GetMarkerFlag: ::std::option::Option<
21264        unsafe extern "C" fn(
21265            markerP: AEGP_ConstMarkerValP,
21266            flagType: AEGP_MarkerFlagType,
21267            valueBP: *mut A_Boolean,
21268        ) -> A_Err,
21269    >,
21270    pub AEGP_GetMarkerString: ::std::option::Option<
21271        unsafe extern "C" fn(
21272            aegp_plugin_id: AEGP_PluginID,
21273            markerP: AEGP_ConstMarkerValP,
21274            strType: AEGP_MarkerStringType,
21275            unicodePH: *mut AEGP_MemHandle,
21276        ) -> A_Err,
21277    >,
21278    pub AEGP_SetMarkerString: ::std::option::Option<
21279        unsafe extern "C" fn(
21280            markerP: AEGP_MarkerValP,
21281            strType: AEGP_MarkerStringType,
21282            unicodeP: *const A_u_short,
21283            lengthL: A_long,
21284        ) -> A_Err,
21285    >,
21286    pub AEGP_CountCuePointParams: ::std::option::Option<
21287        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
21288    >,
21289    pub AEGP_GetIndCuePointParam: ::std::option::Option<
21290        unsafe extern "C" fn(
21291            aegp_plugin_id: AEGP_PluginID,
21292            markerP: AEGP_ConstMarkerValP,
21293            param_indexL: A_long,
21294            unicodeKeyPH: *mut AEGP_MemHandle,
21295            unicodeValuePH: *mut AEGP_MemHandle,
21296        ) -> A_Err,
21297    >,
21298    pub AEGP_SetIndCuePointParam: ::std::option::Option<
21299        unsafe extern "C" fn(
21300            markerP: AEGP_MarkerValP,
21301            param_indexL: A_long,
21302            unicodeKeyP: *const A_u_short,
21303            key_lengthL: A_long,
21304            unicodeValueP: *const A_u_short,
21305            value_lengthL: A_long,
21306        ) -> A_Err,
21307    >,
21308    pub AEGP_InsertCuePointParam: ::std::option::Option<
21309        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
21310    >,
21311    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
21312        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
21313    >,
21314}
21315#[repr(C)]
21316#[derive(Debug, Copy, Clone)]
21317pub struct AEGP_MarkerSuite2 {
21318    pub AEGP_NewMarker:
21319        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
21320    pub AEGP_DisposeMarker:
21321        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
21322    pub AEGP_DuplicateMarker: ::std::option::Option<
21323        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
21324    >,
21325    pub AEGP_SetMarkerFlag: ::std::option::Option<
21326        unsafe extern "C" fn(
21327            markerP: AEGP_MarkerValP,
21328            flagType: AEGP_MarkerFlagType,
21329            valueB: A_Boolean,
21330        ) -> A_Err,
21331    >,
21332    pub AEGP_GetMarkerFlag: ::std::option::Option<
21333        unsafe extern "C" fn(
21334            markerP: AEGP_ConstMarkerValP,
21335            flagType: AEGP_MarkerFlagType,
21336            valueBP: *mut A_Boolean,
21337        ) -> A_Err,
21338    >,
21339    pub AEGP_GetMarkerString: ::std::option::Option<
21340        unsafe extern "C" fn(
21341            aegp_plugin_id: AEGP_PluginID,
21342            markerP: AEGP_ConstMarkerValP,
21343            strType: AEGP_MarkerStringType,
21344            unicodePH: *mut AEGP_MemHandle,
21345        ) -> A_Err,
21346    >,
21347    pub AEGP_SetMarkerString: ::std::option::Option<
21348        unsafe extern "C" fn(
21349            markerP: AEGP_MarkerValP,
21350            strType: AEGP_MarkerStringType,
21351            unicodeP: *const A_u_short,
21352            lengthL: A_long,
21353        ) -> A_Err,
21354    >,
21355    pub AEGP_CountCuePointParams: ::std::option::Option<
21356        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
21357    >,
21358    pub AEGP_GetIndCuePointParam: ::std::option::Option<
21359        unsafe extern "C" fn(
21360            aegp_plugin_id: AEGP_PluginID,
21361            markerP: AEGP_ConstMarkerValP,
21362            param_indexL: A_long,
21363            unicodeKeyPH: *mut AEGP_MemHandle,
21364            unicodeValuePH: *mut AEGP_MemHandle,
21365        ) -> A_Err,
21366    >,
21367    pub AEGP_SetIndCuePointParam: ::std::option::Option<
21368        unsafe extern "C" fn(
21369            markerP: AEGP_MarkerValP,
21370            param_indexL: A_long,
21371            unicodeKeyP: *const A_u_short,
21372            key_lengthL: A_long,
21373            unicodeValueP: *const A_u_short,
21374            value_lengthL: A_long,
21375        ) -> A_Err,
21376    >,
21377    pub AEGP_InsertCuePointParam: ::std::option::Option<
21378        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
21379    >,
21380    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
21381        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
21382    >,
21383    pub AEGP_SetMarkerDuration: ::std::option::Option<
21384        unsafe extern "C" fn(markerP: AEGP_MarkerValP, durationPT: *const A_Time) -> A_Err,
21385    >,
21386    pub AEGP_GetMarkerDuration: ::std::option::Option<
21387        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, durationPT: *mut A_Time) -> A_Err,
21388    >,
21389}
21390#[repr(C)]
21391#[derive(Debug, Copy, Clone)]
21392pub struct AEGP_ProjSuite5 {
21393    pub AEGP_GetNumProjects:
21394        ::std::option::Option<unsafe extern "C" fn(num_projPL: *mut A_long) -> A_Err>,
21395    pub AEGP_GetProjectByIndex: ::std::option::Option<
21396        unsafe extern "C" fn(proj_indexL: A_long, projPH: *mut AEGP_ProjectH) -> A_Err,
21397    >,
21398    pub AEGP_GetProjectName: ::std::option::Option<
21399        unsafe extern "C" fn(projH: AEGP_ProjectH, nameZ: *mut A_char) -> A_Err,
21400    >,
21401    pub AEGP_GetProjectPath: ::std::option::Option<
21402        unsafe extern "C" fn(projH: AEGP_ProjectH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
21403    >,
21404    pub AEGP_GetProjectRootFolder: ::std::option::Option<
21405        unsafe extern "C" fn(projH: AEGP_ProjectH, root_folderPH: *mut AEGP_ItemH) -> A_Err,
21406    >,
21407    pub AEGP_SaveProjectToPath: ::std::option::Option<
21408        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
21409    >,
21410    pub AEGP_GetProjectTimeDisplay: ::std::option::Option<
21411        unsafe extern "C" fn(projH: AEGP_ProjectH, time_displayP: *mut AEGP_TimeDisplay2) -> A_Err,
21412    >,
21413    pub AEGP_SetProjectTimeDisplay: ::std::option::Option<
21414        unsafe extern "C" fn(
21415            projH: AEGP_ProjectH,
21416            time_displayP: *const AEGP_TimeDisplay2,
21417        ) -> A_Err,
21418    >,
21419    pub AEGP_ProjectIsDirty: ::std::option::Option<
21420        unsafe extern "C" fn(projH: AEGP_ProjectH, is_dirtyPB: *mut A_Boolean) -> A_Err,
21421    >,
21422    pub AEGP_SaveProjectAs: ::std::option::Option<
21423        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
21424    >,
21425    pub AEGP_NewProject:
21426        ::std::option::Option<unsafe extern "C" fn(new_projectPH: *mut AEGP_ProjectH) -> A_Err>,
21427    pub AEGP_OpenProjectFromPath: ::std::option::Option<
21428        unsafe extern "C" fn(pathZ: *const A_UTF16Char, projectPH: *mut AEGP_ProjectH) -> A_Err,
21429    >,
21430    pub AEGP_GetProjectBitDepth: ::std::option::Option<
21431        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depthP: *mut AEGP_ProjBitDepth) -> A_Err,
21432    >,
21433    pub AEGP_SetProjectBitDepth: ::std::option::Option<
21434        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depth: AEGP_ProjBitDepth) -> A_Err,
21435    >,
21436}
21437#[repr(C)]
21438#[derive(Debug, Copy, Clone)]
21439pub struct AEGP_PersistentDataSuite3 {
21440    pub AEGP_GetApplicationBlob:
21441        ::std::option::Option<unsafe extern "C" fn(blobPH: *mut AEGP_PersistentBlobH) -> A_Err>,
21442    pub AEGP_GetNumSections: ::std::option::Option<
21443        unsafe extern "C" fn(blobH: AEGP_PersistentBlobH, num_sectionPL: *mut A_long) -> A_Err,
21444    >,
21445    pub AEGP_GetSectionKeyByIndex: ::std::option::Option<
21446        unsafe extern "C" fn(
21447            blobH: AEGP_PersistentBlobH,
21448            section_index: A_long,
21449            max_section_size: A_long,
21450            section_keyZ: *mut A_char,
21451        ) -> A_Err,
21452    >,
21453    pub AEGP_DoesKeyExist: ::std::option::Option<
21454        unsafe extern "C" fn(
21455            blobH: AEGP_PersistentBlobH,
21456            section_keyZ: *const A_char,
21457            value_keyZ: *const A_char,
21458            existsPB: *mut A_Boolean,
21459        ) -> A_Err,
21460    >,
21461    pub AEGP_GetNumKeys: ::std::option::Option<
21462        unsafe extern "C" fn(
21463            blobH: AEGP_PersistentBlobH,
21464            section_keyZ: *const A_char,
21465            num_keysPL: *mut A_long,
21466        ) -> A_Err,
21467    >,
21468    pub AEGP_GetValueKeyByIndex: ::std::option::Option<
21469        unsafe extern "C" fn(
21470            blobH: AEGP_PersistentBlobH,
21471            section_keyZ: *const A_char,
21472            key_index: A_long,
21473            max_key_size: A_long,
21474            value_keyZ: *mut A_char,
21475        ) -> A_Err,
21476    >,
21477    pub AEGP_GetDataHandle: ::std::option::Option<
21478        unsafe extern "C" fn(
21479            plugin_id: AEGP_PluginID,
21480            blobH: AEGP_PersistentBlobH,
21481            section_keyZ: *const A_char,
21482            value_keyZ: *const A_char,
21483            defaultH0: AEGP_MemHandle,
21484            valuePH: *mut AEGP_MemHandle,
21485        ) -> A_Err,
21486    >,
21487    pub AEGP_GetData: ::std::option::Option<
21488        unsafe extern "C" fn(
21489            blobH: AEGP_PersistentBlobH,
21490            section_keyZ: *const A_char,
21491            value_keyZ: *const A_char,
21492            data_sizeLu: A_u_long,
21493            defaultPV0: *const ::std::os::raw::c_void,
21494            bufPV: *mut ::std::os::raw::c_void,
21495        ) -> A_Err,
21496    >,
21497    pub AEGP_GetString: ::std::option::Option<
21498        unsafe extern "C" fn(
21499            blobH: AEGP_PersistentBlobH,
21500            section_keyZ: *const A_char,
21501            value_keyZ: *const A_char,
21502            defaultZ0: *const A_char,
21503            buf_sizeLu: A_u_long,
21504            bufZ: *mut A_char,
21505            actual_buf_sizeLu0: *mut A_u_long,
21506        ) -> A_Err,
21507    >,
21508    pub AEGP_GetLong: ::std::option::Option<
21509        unsafe extern "C" fn(
21510            blobH: AEGP_PersistentBlobH,
21511            section_keyZ: *const A_char,
21512            value_keyZ: *const A_char,
21513            defaultL: A_long,
21514            valuePL: *mut A_long,
21515        ) -> A_Err,
21516    >,
21517    pub AEGP_GetFpLong: ::std::option::Option<
21518        unsafe extern "C" fn(
21519            blobH: AEGP_PersistentBlobH,
21520            section_keyZ: *const A_char,
21521            value_keyZ: *const A_char,
21522            defaultF: A_FpLong,
21523            valuePF: *mut A_FpLong,
21524        ) -> A_Err,
21525    >,
21526    pub AEGP_SetDataHandle: ::std::option::Option<
21527        unsafe extern "C" fn(
21528            blobH: AEGP_PersistentBlobH,
21529            section_keyZ: *const A_char,
21530            value_keyZ: *const A_char,
21531            valueH: AEGP_MemHandle,
21532        ) -> A_Err,
21533    >,
21534    pub AEGP_SetData: ::std::option::Option<
21535        unsafe extern "C" fn(
21536            blobH: AEGP_PersistentBlobH,
21537            section_keyZ: *const A_char,
21538            value_keyZ: *const A_char,
21539            data_sizeLu: A_u_long,
21540            dataPV: *const ::std::os::raw::c_void,
21541        ) -> A_Err,
21542    >,
21543    pub AEGP_SetString: ::std::option::Option<
21544        unsafe extern "C" fn(
21545            blobH: AEGP_PersistentBlobH,
21546            section_keyZ: *const A_char,
21547            value_keyZ: *const A_char,
21548            strZ: *const A_char,
21549        ) -> A_Err,
21550    >,
21551    pub AEGP_SetLong: ::std::option::Option<
21552        unsafe extern "C" fn(
21553            blobH: AEGP_PersistentBlobH,
21554            section_keyZ: *const A_char,
21555            value_keyZ: *const A_char,
21556            valueL: A_long,
21557        ) -> A_Err,
21558    >,
21559    pub AEGP_SetFpLong: ::std::option::Option<
21560        unsafe extern "C" fn(
21561            blobH: AEGP_PersistentBlobH,
21562            section_keyZ: *const A_char,
21563            value_keyZ: *const A_char,
21564            valueF: A_FpLong,
21565        ) -> A_Err,
21566    >,
21567    pub AEGP_DeleteEntry: ::std::option::Option<
21568        unsafe extern "C" fn(
21569            blobH: AEGP_PersistentBlobH,
21570            section_keyZ: *const A_char,
21571            value_keyZ: *const A_char,
21572        ) -> A_Err,
21573    >,
21574    pub AEGP_GetPrefsDirectory:
21575        ::std::option::Option<unsafe extern "C" fn(unicode_pathPH: *mut AEGP_MemHandle) -> A_Err>,
21576}
21577#[repr(C)]
21578#[derive(Debug, Copy, Clone)]
21579pub struct AEGP_IterateSuite1 {
21580    pub AEGP_GetNumThreads:
21581        ::std::option::Option<unsafe extern "C" fn(num_threadsPL: *mut A_long) -> A_Err>,
21582    pub AEGP_IterateGeneric: ::std::option::Option<
21583        unsafe extern "C" fn(
21584            iterationsL: A_long,
21585            refconPV: *mut ::std::os::raw::c_void,
21586            fn_func: ::std::option::Option<
21587                unsafe extern "C" fn(
21588                    refconPV: *mut ::std::os::raw::c_void,
21589                    thread_indexL: A_long,
21590                    i: A_long,
21591                    iterationsL: A_long,
21592                ) -> A_Err,
21593            >,
21594        ) -> A_Err,
21595    >,
21596}
21597#[repr(C)]
21598#[derive(Debug, Copy, Clone)]
21599pub struct AEGP_IOInSuite5 {
21600    pub AEGP_GetInSpecOptionsHandle: ::std::option::Option<
21601        unsafe extern "C" fn(
21602            inH: AEIO_InSpecH,
21603            optionsPPV: *mut *mut ::std::os::raw::c_void,
21604        ) -> A_Err,
21605    >,
21606    pub AEGP_SetInSpecOptionsHandle: ::std::option::Option<
21607        unsafe extern "C" fn(
21608            inH: AEIO_InSpecH,
21609            optionsPV: *mut ::std::os::raw::c_void,
21610            old_optionsPPV: *mut *mut ::std::os::raw::c_void,
21611        ) -> A_Err,
21612    >,
21613    pub AEGP_GetInSpecFilePath: ::std::option::Option<
21614        unsafe extern "C" fn(inH: AEIO_InSpecH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
21615    >,
21616    pub AEGP_GetInSpecNativeFPS: ::std::option::Option<
21617        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
21618    >,
21619    pub AEGP_SetInSpecNativeFPS: ::std::option::Option<
21620        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fps: A_Fixed) -> A_Err,
21621    >,
21622    pub AEGP_GetInSpecDepth: ::std::option::Option<
21623        unsafe extern "C" fn(inH: AEIO_InSpecH, depthPS: *mut A_short) -> A_Err,
21624    >,
21625    pub AEGP_SetInSpecDepth:
21626        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, depthS: A_short) -> A_Err>,
21627    pub AEGP_GetInSpecSize: ::std::option::Option<
21628        unsafe extern "C" fn(inH: AEIO_InSpecH, sizePL: *mut AEIO_FileSize) -> A_Err,
21629    >,
21630    pub AEGP_SetInSpecSize: ::std::option::Option<
21631        unsafe extern "C" fn(inH: AEIO_InSpecH, sizeL: AEIO_FileSize) -> A_Err,
21632    >,
21633    pub AEGP_GetInSpecInterlaceLabel: ::std::option::Option<
21634        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
21635    >,
21636    pub AEGP_SetInSpecInterlaceLabel: ::std::option::Option<
21637        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *const FIEL_Label) -> A_Err,
21638    >,
21639    pub AEGP_GetInSpecAlphaLabel: ::std::option::Option<
21640        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
21641    >,
21642    pub AEGP_SetInSpecAlphaLabel: ::std::option::Option<
21643        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
21644    >,
21645    pub AEGP_GetInSpecDuration: ::std::option::Option<
21646        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *mut A_Time) -> A_Err,
21647    >,
21648    pub AEGP_SetInSpecDuration: ::std::option::Option<
21649        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *const A_Time) -> A_Err,
21650    >,
21651    pub AEGP_GetInSpecDimensions: ::std::option::Option<
21652        unsafe extern "C" fn(
21653            inH: AEIO_InSpecH,
21654            widthPL0: *mut A_long,
21655            heightPL0: *mut A_long,
21656        ) -> A_Err,
21657    >,
21658    pub AEGP_SetInSpecDimensions: ::std::option::Option<
21659        unsafe extern "C" fn(inH: AEIO_InSpecH, widthL: A_long, heightL: A_long) -> A_Err,
21660    >,
21661    pub AEGP_InSpecGetRationalDimensions: ::std::option::Option<
21662        unsafe extern "C" fn(
21663            inH: AEIO_InSpecH,
21664            rs0: *const AEIO_RationalScale,
21665            width0: *mut A_long,
21666            height0: *mut A_long,
21667            r0: *mut A_Rect,
21668        ) -> A_Err,
21669    >,
21670    pub AEGP_GetInSpecHSF:
21671        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *mut A_Ratio) -> A_Err>,
21672    pub AEGP_SetInSpecHSF: ::std::option::Option<
21673        unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *const A_Ratio) -> A_Err,
21674    >,
21675    pub AEGP_GetInSpecSoundRate: ::std::option::Option<
21676        unsafe extern "C" fn(inH: AEIO_InSpecH, ratePF: *mut A_FpLong) -> A_Err,
21677    >,
21678    pub AEGP_SetInSpecSoundRate:
21679        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, rateF: A_FpLong) -> A_Err>,
21680    pub AEGP_GetInSpecSoundEncoding: ::std::option::Option<
21681        unsafe extern "C" fn(inH: AEIO_InSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
21682    >,
21683    pub AEGP_SetInSpecSoundEncoding: ::std::option::Option<
21684        unsafe extern "C" fn(inH: AEIO_InSpecH, encoding: AEIO_SndEncoding) -> A_Err,
21685    >,
21686    pub AEGP_GetInSpecSoundSampleSize: ::std::option::Option<
21687        unsafe extern "C" fn(
21688            inH: AEIO_InSpecH,
21689            bytes_per_sampleP: *mut AEIO_SndSampleSize,
21690        ) -> A_Err,
21691    >,
21692    pub AEGP_SetInSpecSoundSampleSize: ::std::option::Option<
21693        unsafe extern "C" fn(inH: AEIO_InSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
21694    >,
21695    pub AEGP_GetInSpecSoundChannels: ::std::option::Option<
21696        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
21697    >,
21698    pub AEGP_SetInSpecSoundChannels: ::std::option::Option<
21699        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channels: AEIO_SndChannels) -> A_Err,
21700    >,
21701    pub AEGP_AddAuxExtMap: ::std::option::Option<
21702        unsafe extern "C" fn(extension: *const A_char, file_type: A_long, creator: A_long) -> A_Err,
21703    >,
21704    pub AEGP_SetInSpecEmbeddedColorProfile: ::std::option::Option<
21705        unsafe extern "C" fn(
21706            inH: AEIO_InSpecH,
21707            color_profileP0: AEGP_ConstColorProfileP,
21708            profile_descP0: *const A_UTF16Char,
21709        ) -> A_Err,
21710    >,
21711    pub AEGP_SetInSpecAssignedColorProfile: ::std::option::Option<
21712        unsafe extern "C" fn(inH: AEIO_InSpecH, color_profileP: AEGP_ConstColorProfileP) -> A_Err,
21713    >,
21714    pub AEGP_GetInSpecNativeStartTime: ::std::option::Option<
21715        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *mut A_Time) -> A_Err,
21716    >,
21717    pub AEGP_SetInSpecNativeStartTime: ::std::option::Option<
21718        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *const A_Time) -> A_Err,
21719    >,
21720    pub AEGP_ClearInSpecNativeStartTime:
21721        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH) -> A_Err>,
21722    pub AEGP_GetInSpecNativeDisplayDropFrame: ::std::option::Option<
21723        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameBP: *mut A_Boolean) -> A_Err,
21724    >,
21725    pub AEGP_SetInSpecNativeDisplayDropFrame: ::std::option::Option<
21726        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameB: A_Boolean) -> A_Err,
21727    >,
21728    pub AEGP_SetInSpecStillSequenceNativeFPS: ::std::option::Option<
21729        unsafe extern "C" fn(inH: AEIO_InSpecH, native_still_seq_fps: A_Fixed) -> A_Err,
21730    >,
21731}
21732#[repr(C)]
21733#[derive(Debug, Copy, Clone)]
21734pub struct AEGP_IOInSuite4 {
21735    pub AEGP_GetInSpecOptionsHandle: ::std::option::Option<
21736        unsafe extern "C" fn(
21737            inH: AEIO_InSpecH,
21738            optionsPPV: *mut *mut ::std::os::raw::c_void,
21739        ) -> A_Err,
21740    >,
21741    pub AEGP_SetInSpecOptionsHandle: ::std::option::Option<
21742        unsafe extern "C" fn(
21743            inH: AEIO_InSpecH,
21744            optionsPV: *mut ::std::os::raw::c_void,
21745            old_optionsPPV: *mut *mut ::std::os::raw::c_void,
21746        ) -> A_Err,
21747    >,
21748    pub AEGP_GetInSpecFilePath: ::std::option::Option<
21749        unsafe extern "C" fn(inH: AEIO_InSpecH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
21750    >,
21751    pub AEGP_GetInSpecNativeFPS: ::std::option::Option<
21752        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
21753    >,
21754    pub AEGP_SetInSpecNativeFPS: ::std::option::Option<
21755        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fps: A_Fixed) -> A_Err,
21756    >,
21757    pub AEGP_GetInSpecDepth: ::std::option::Option<
21758        unsafe extern "C" fn(inH: AEIO_InSpecH, depthPS: *mut A_short) -> A_Err,
21759    >,
21760    pub AEGP_SetInSpecDepth:
21761        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, depthS: A_short) -> A_Err>,
21762    pub AEGP_GetInSpecSize: ::std::option::Option<
21763        unsafe extern "C" fn(inH: AEIO_InSpecH, sizePL: *mut AEIO_FileSize) -> A_Err,
21764    >,
21765    pub AEGP_SetInSpecSize: ::std::option::Option<
21766        unsafe extern "C" fn(inH: AEIO_InSpecH, sizeL: AEIO_FileSize) -> A_Err,
21767    >,
21768    pub AEGP_GetInSpecInterlaceLabel: ::std::option::Option<
21769        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
21770    >,
21771    pub AEGP_SetInSpecInterlaceLabel: ::std::option::Option<
21772        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *const FIEL_Label) -> A_Err,
21773    >,
21774    pub AEGP_GetInSpecAlphaLabel: ::std::option::Option<
21775        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
21776    >,
21777    pub AEGP_SetInSpecAlphaLabel: ::std::option::Option<
21778        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
21779    >,
21780    pub AEGP_GetInSpecDuration: ::std::option::Option<
21781        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *mut A_Time) -> A_Err,
21782    >,
21783    pub AEGP_SetInSpecDuration: ::std::option::Option<
21784        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *const A_Time) -> A_Err,
21785    >,
21786    pub AEGP_GetInSpecDimensions: ::std::option::Option<
21787        unsafe extern "C" fn(
21788            inH: AEIO_InSpecH,
21789            widthPL0: *mut A_long,
21790            heightPL0: *mut A_long,
21791        ) -> A_Err,
21792    >,
21793    pub AEGP_SetInSpecDimensions: ::std::option::Option<
21794        unsafe extern "C" fn(inH: AEIO_InSpecH, widthL: A_long, heightL: A_long) -> A_Err,
21795    >,
21796    pub AEGP_InSpecGetRationalDimensions: ::std::option::Option<
21797        unsafe extern "C" fn(
21798            inH: AEIO_InSpecH,
21799            rs0: *const AEIO_RationalScale,
21800            width0: *mut A_long,
21801            height0: *mut A_long,
21802            r0: *mut A_Rect,
21803        ) -> A_Err,
21804    >,
21805    pub AEGP_GetInSpecHSF:
21806        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *mut A_Ratio) -> A_Err>,
21807    pub AEGP_SetInSpecHSF: ::std::option::Option<
21808        unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *const A_Ratio) -> A_Err,
21809    >,
21810    pub AEGP_GetInSpecSoundRate: ::std::option::Option<
21811        unsafe extern "C" fn(inH: AEIO_InSpecH, ratePF: *mut A_FpLong) -> A_Err,
21812    >,
21813    pub AEGP_SetInSpecSoundRate:
21814        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, rateF: A_FpLong) -> A_Err>,
21815    pub AEGP_GetInSpecSoundEncoding: ::std::option::Option<
21816        unsafe extern "C" fn(inH: AEIO_InSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
21817    >,
21818    pub AEGP_SetInSpecSoundEncoding: ::std::option::Option<
21819        unsafe extern "C" fn(inH: AEIO_InSpecH, encoding: AEIO_SndEncoding) -> A_Err,
21820    >,
21821    pub AEGP_GetInSpecSoundSampleSize: ::std::option::Option<
21822        unsafe extern "C" fn(
21823            inH: AEIO_InSpecH,
21824            bytes_per_sampleP: *mut AEIO_SndSampleSize,
21825        ) -> A_Err,
21826    >,
21827    pub AEGP_SetInSpecSoundSampleSize: ::std::option::Option<
21828        unsafe extern "C" fn(inH: AEIO_InSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
21829    >,
21830    pub AEGP_GetInSpecSoundChannels: ::std::option::Option<
21831        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
21832    >,
21833    pub AEGP_SetInSpecSoundChannels: ::std::option::Option<
21834        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channels: AEIO_SndChannels) -> A_Err,
21835    >,
21836    pub AEGP_AddAuxExtMap: ::std::option::Option<
21837        unsafe extern "C" fn(extension: *const A_char, file_type: A_long, creator: A_long) -> A_Err,
21838    >,
21839    pub AEGP_SetInSpecEmbeddedColorProfile: ::std::option::Option<
21840        unsafe extern "C" fn(
21841            inH: AEIO_InSpecH,
21842            color_profileP0: AEGP_ConstColorProfileP,
21843            profile_descP0: *const A_UTF16Char,
21844        ) -> A_Err,
21845    >,
21846    pub AEGP_SetInSpecAssignedColorProfile: ::std::option::Option<
21847        unsafe extern "C" fn(inH: AEIO_InSpecH, color_profileP: AEGP_ConstColorProfileP) -> A_Err,
21848    >,
21849}
21850#[repr(C)]
21851#[derive(Debug, Copy, Clone)]
21852pub struct AEGP_IOOutSuite4 {
21853    pub AEGP_GetOutSpecOptionsHandle: ::std::option::Option<
21854        unsafe extern "C" fn(
21855            outH: AEIO_OutSpecH,
21856            optionsPPV: *mut *mut ::std::os::raw::c_void,
21857        ) -> A_Err,
21858    >,
21859    pub AEGP_SetOutSpecOptionsHandle: ::std::option::Option<
21860        unsafe extern "C" fn(
21861            outH: AEIO_OutSpecH,
21862            optionsPV: *mut ::std::os::raw::c_void,
21863            old_optionsPPVO: *mut *mut ::std::os::raw::c_void,
21864        ) -> A_Err,
21865    >,
21866    pub AEGP_GetOutSpecFilePath: ::std::option::Option<
21867        unsafe extern "C" fn(
21868            outH: AEIO_OutSpecH,
21869            unicode_pathPH: *mut AEGP_MemHandle,
21870            file_reservedPB: *mut A_Boolean,
21871        ) -> A_Err,
21872    >,
21873    pub AEGP_GetOutSpecFPS: ::std::option::Option<
21874        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
21875    >,
21876    pub AEGP_SetOutSpecNativeFPS: ::std::option::Option<
21877        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: A_Fixed) -> A_Err,
21878    >,
21879    pub AEGP_GetOutSpecDepth: ::std::option::Option<
21880        unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: *mut A_short) -> A_Err,
21881    >,
21882    pub AEGP_SetOutSpecDepth:
21883        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: A_short) -> A_Err>,
21884    pub AEGP_GetOutSpecInterlaceLabel: ::std::option::Option<
21885        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
21886    >,
21887    pub AEGP_SetOutSpecInterlaceLabel: ::std::option::Option<
21888        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *const FIEL_Label) -> A_Err,
21889    >,
21890    pub AEGP_GetOutSpecAlphaLabel: ::std::option::Option<
21891        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
21892    >,
21893    pub AEGP_SetOutSpecAlphaLabel: ::std::option::Option<
21894        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
21895    >,
21896    pub AEGP_GetOutSpecDuration: ::std::option::Option<
21897        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *mut A_Time) -> A_Err,
21898    >,
21899    pub AEGP_SetOutSpecDuration: ::std::option::Option<
21900        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *const A_Time) -> A_Err,
21901    >,
21902    pub AEGP_GetOutSpecDimensions: ::std::option::Option<
21903        unsafe extern "C" fn(
21904            outH: AEIO_OutSpecH,
21905            widthPL: *mut A_long,
21906            heightPL: *mut A_long,
21907        ) -> A_Err,
21908    >,
21909    pub AEGP_GetOutSpecHSF: ::std::option::Option<
21910        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *mut A_Ratio) -> A_Err,
21911    >,
21912    pub AEGP_SetOutSpecHSF: ::std::option::Option<
21913        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *const A_Ratio) -> A_Err,
21914    >,
21915    pub AEGP_GetOutSpecSoundRate: ::std::option::Option<
21916        unsafe extern "C" fn(outH: AEIO_OutSpecH, ratePF: *mut A_FpLong) -> A_Err,
21917    >,
21918    pub AEGP_SetOutSpecSoundRate:
21919        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, rateF: A_FpLong) -> A_Err>,
21920    pub AEGP_GetOutSpecSoundEncoding: ::std::option::Option<
21921        unsafe extern "C" fn(outH: AEIO_OutSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
21922    >,
21923    pub AEGP_SetOutSpecSoundEncoding: ::std::option::Option<
21924        unsafe extern "C" fn(outH: AEIO_OutSpecH, encoding: AEIO_SndEncoding) -> A_Err,
21925    >,
21926    pub AEGP_GetOutSpecSoundSampleSize: ::std::option::Option<
21927        unsafe extern "C" fn(
21928            outH: AEIO_OutSpecH,
21929            bytes_per_sampleP: *mut AEIO_SndSampleSize,
21930        ) -> A_Err,
21931    >,
21932    pub AEGP_SetOutSpecSoundSampleSize: ::std::option::Option<
21933        unsafe extern "C" fn(outH: AEIO_OutSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
21934    >,
21935    pub AEGP_GetOutSpecSoundChannels: ::std::option::Option<
21936        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
21937    >,
21938    pub AEGP_SetOutSpecSoundChannels: ::std::option::Option<
21939        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channels: AEIO_SndChannels) -> A_Err,
21940    >,
21941    pub AEGP_GetOutSpecIsStill: ::std::option::Option<
21942        unsafe extern "C" fn(outH: AEIO_OutSpecH, is_stillPB: *mut A_Boolean) -> A_Err,
21943    >,
21944    pub AEGP_GetOutSpecPosterTime: ::std::option::Option<
21945        unsafe extern "C" fn(outH: AEIO_OutSpecH, poster_timeP: *mut A_Time) -> A_Err,
21946    >,
21947    pub AEGP_GetOutSpecStartFrame: ::std::option::Option<
21948        unsafe extern "C" fn(outH: AEIO_OutSpecH, start_frameP: *mut A_long) -> A_Err,
21949    >,
21950    pub AEGP_GetOutSpecPullDown: ::std::option::Option<
21951        unsafe extern "C" fn(outH: AEIO_OutSpecH, pulldownP: *mut AEIO_Pulldown) -> A_Err,
21952    >,
21953    pub AEGP_GetOutSpecIsMissing: ::std::option::Option<
21954        unsafe extern "C" fn(outH: AEIO_OutSpecH, missingPB: *mut A_Boolean) -> A_Err,
21955    >,
21956    pub AEGP_GetOutSpecShouldEmbedICCProfile: ::std::option::Option<
21957        unsafe extern "C" fn(outH: AEIO_OutSpecH, embedPB: *mut A_Boolean) -> A_Err,
21958    >,
21959    pub AEGP_GetNewOutSpecColorProfile: ::std::option::Option<
21960        unsafe extern "C" fn(
21961            aegp_plugin_id: AEGP_PluginID,
21962            outH: AEIO_OutSpecH,
21963            color_profilePP: *mut AEGP_ColorProfileP,
21964        ) -> A_Err,
21965    >,
21966    pub AEGP_GetOutSpecOutputModule: ::std::option::Option<
21967        unsafe extern "C" fn(
21968            outH: AEIO_OutSpecH,
21969            rq_itemP: *mut AEGP_RQItemRefH,
21970            om_refP: *mut AEGP_OutputModuleRefH,
21971        ) -> A_Err,
21972    >,
21973}
21974#[repr(C)]
21975#[derive(Debug, Copy, Clone)]
21976pub struct AEGP_FIMSuite3 {
21977    pub AEGP_RegisterImportFlavor: ::std::option::Option<
21978        unsafe extern "C" fn(nameZ: *const A_char, imp_refP: *mut AE_FIM_ImportFlavorRef) -> A_Err,
21979    >,
21980    pub AEGP_RegisterImportFlavorFileTypes: ::std::option::Option<
21981        unsafe extern "C" fn(
21982            imp_ref: AE_FIM_ImportFlavorRef,
21983            num_filekindsL: A_long,
21984            kindsAP: *const AEIO_FileKind,
21985            num_fileextsL: A_long,
21986            extsAP: *const AEIO_FileKind,
21987        ) -> A_Err,
21988    >,
21989    pub AEGP_RegisterImportFlavorImportCallbacks: ::std::option::Option<
21990        unsafe extern "C" fn(
21991            imp_ref: AE_FIM_ImportFlavorRef,
21992            single_flag: AE_FIM_ImportFlags,
21993            imp_cbsP: *const AE_FIM_ImportCallbacks,
21994        ) -> A_Err,
21995    >,
21996    pub AEGP_SetImportedItem: ::std::option::Option<
21997        unsafe extern "C" fn(
21998            imp_options: AE_FIM_ImportOptions,
21999            imported_itemH: AEGP_ItemH,
22000        ) -> A_Err,
22001    >,
22002}
22003#[repr(C)]
22004#[derive(Debug, Copy, Clone)]
22005pub struct PF_PluginData {
22006    _unused: [u8; 0],
22007}
22008pub type PF_PluginDataPtr = *mut PF_PluginData;
22009pub type PF_PluginDataCB2 = ::std::option::Option<
22010    unsafe extern "C" fn(
22011        inPtr: PF_PluginDataPtr,
22012        inNamePtr: *const A_u_char,
22013        inMatchNamePtr: *const A_u_char,
22014        inCategoryPtr: *const A_u_char,
22015        inEntryPointNamePtr: *const A_u_char,
22016        inkind: A_long,
22017        inApiVersionMajor: A_long,
22018        inApiVersionMinor: A_long,
22019        inReservedInfo: A_long,
22020        inSupportURLPtr: *const A_u_char,
22021    ) -> A_Err,
22022>;
22023pub type PF_PluginDataCB = ::std::option::Option<
22024    unsafe extern "C" fn(
22025        inPtr: PF_PluginDataPtr,
22026        inNamePtr: *const A_u_char,
22027        inMatchNamePtr: *const A_u_char,
22028        inCategoryPtr: *const A_u_char,
22029        inEntryPointNamePtr: *const A_u_char,
22030        inkind: A_long,
22031        inApiVersionMajor: A_long,
22032        inApiVersionMinor: A_long,
22033        inReservedInfo: A_long,
22034    ) -> A_Err,
22035>;
22036#[doc = "\tCurrently supported types"]
22037pub const PrPixelFormat_PrPixelFormat_BGRA_4444_8u: PrPixelFormat = 1634887522;
22038#[doc = "\tCurrently supported types"]
22039pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u: PrPixelFormat = 1635349878;
22040#[doc = "\tCurrently supported types"]
22041pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u_709: PrPixelFormat = 1096373590;
22042#[doc = "\tCurrently supported types"]
22043pub const PrPixelFormat_PrPixelFormat_ARGB_4444_8u: PrPixelFormat = 1650946657;
22044#[doc = "\tCurrently supported types"]
22045pub const PrPixelFormat_PrPixelFormat_BGRX_4444_8u: PrPixelFormat = 2020763490;
22046#[doc = "\tCurrently supported types"]
22047pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u: PrPixelFormat = 2021225846;
22048#[doc = "\tCurrently supported types"]
22049pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u_709: PrPixelFormat = 930641270;
22050#[doc = "\tCurrently supported types"]
22051pub const PrPixelFormat_PrPixelFormat_XRGB_4444_8u: PrPixelFormat = 1650946680;
22052#[doc = "\tCurrently supported types"]
22053pub const PrPixelFormat_PrPixelFormat_BGRP_4444_8u: PrPixelFormat = 1886545762;
22054#[doc = "\tCurrently supported types"]
22055pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u: PrPixelFormat = 1887008118;
22056#[doc = "\tCurrently supported types"]
22057pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u_709: PrPixelFormat = 930116982;
22058#[doc = "\tCurrently supported types"]
22059pub const PrPixelFormat_PrPixelFormat_PRGB_4444_8u: PrPixelFormat = 1650946672;
22060#[doc = "\tCurrently supported types"]
22061pub const PrPixelFormat_PrPixelFormat_BGRA_4444_16u: PrPixelFormat = 1634887490;
22062#[doc = "\tCurrently supported types"]
22063pub const PrPixelFormat_PrPixelFormat_VUYA_4444_16u: PrPixelFormat = 1635349846;
22064#[doc = "\tCurrently supported types"]
22065pub const PrPixelFormat_PrPixelFormat_ARGB_4444_16u: PrPixelFormat = 1650946625;
22066#[doc = "\tCurrently supported types"]
22067pub const PrPixelFormat_PrPixelFormat_BGRX_4444_16u: PrPixelFormat = 2020763458;
22068#[doc = "\tCurrently supported types"]
22069pub const PrPixelFormat_PrPixelFormat_XRGB_4444_16u: PrPixelFormat = 1650946648;
22070#[doc = "\tCurrently supported types"]
22071pub const PrPixelFormat_PrPixelFormat_BGRP_4444_16u: PrPixelFormat = 1886545730;
22072#[doc = "\tCurrently supported types"]
22073pub const PrPixelFormat_PrPixelFormat_PRGB_4444_16u: PrPixelFormat = 1650946640;
22074#[doc = "\tCurrently supported types"]
22075pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f: PrPixelFormat = 1634879298;
22076#[doc = "\tCurrently supported types"]
22077pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f: PrPixelFormat = 1635341654;
22078#[doc = "\tCurrently supported types"]
22079pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f_709: PrPixelFormat = 1633244534;
22080#[doc = "\tCurrently supported types"]
22081pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f: PrPixelFormat = 1650938433;
22082#[doc = "\tCurrently supported types"]
22083pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f: PrPixelFormat = 2020755266;
22084#[doc = "\tCurrently supported types"]
22085pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f: PrPixelFormat = 2021217622;
22086#[doc = "\tCurrently supported types"]
22087pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f_709: PrPixelFormat = 930633046;
22088#[doc = "\tCurrently supported types"]
22089pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f: PrPixelFormat = 1650938456;
22090#[doc = "\tCurrently supported types"]
22091pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f: PrPixelFormat = 1886537538;
22092#[doc = "\tCurrently supported types"]
22093pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f: PrPixelFormat = 1886999894;
22094#[doc = "\tCurrently supported types"]
22095pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f_709: PrPixelFormat = 930108758;
22096#[doc = "\tCurrently supported types"]
22097pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f: PrPixelFormat = 1650938448;
22098#[doc = "\tCurrently supported types"]
22099pub const PrPixelFormat_PrPixelFormat_RGB_444_10u: PrPixelFormat = 826427218;
22100#[doc = "\tCurrently supported types"]
22101pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_601: PrPixelFormat = 846820729;
22102#[doc = "\tCurrently supported types"]
22103pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_709: PrPixelFormat = 863597945;
22104#[doc = "\tCurrently supported types"]
22105pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_601: PrPixelFormat = 2037807477;
22106#[doc = "\tCurrently supported types"]
22107pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_709: PrPixelFormat = 930511221;
22108#[doc = "\tCurrently supported types"]
22109pub const PrPixelFormat_PrPixelFormat_V210_422_10u_601: PrPixelFormat = 808530550;
22110#[doc = "\tCurrently supported types"]
22111pub const PrPixelFormat_PrPixelFormat_V210_422_10u_709: PrPixelFormat = 825307766;
22112#[doc = "\tCurrently supported types"]
22113pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_601: PrPixelFormat = 2037799253;
22114#[doc = "\tCurrently supported types"]
22115pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_709: PrPixelFormat = 930502997;
22116#[doc = "\tCurrently supported types"]
22117pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f_Linear: PrPixelFormat = 1281443650;
22118#[doc = "\tCurrently supported types"]
22119pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f_Linear: PrPixelFormat = 1282426690;
22120#[doc = "\tCurrently supported types"]
22121pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f_Linear: PrPixelFormat = 1282950978;
22122#[doc = "\tCurrently supported types"]
22123pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f_Linear: PrPixelFormat = 1281839681;
22124#[doc = "\tCurrently supported types"]
22125pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f_Linear: PrPixelFormat = 1281839696;
22126#[doc = "\tCurrently supported types"]
22127pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f_Linear: PrPixelFormat = 1281839704;
22128#[doc = "\tCurrently supported types"]
22129pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_709: PrPixelFormat = 928075840;
22130pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_P3: PrPixelFormat = 1347506240;
22131pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_2020: PrPixelFormat = 844189760;
22132pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
22133    842102393;
22134pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
22135    845772409;
22136pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange:
22137    PrPixelFormat = 1714517625;
22138pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange:
22139    PrPixelFormat = 1718187641;
22140pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
22141    925988473;
22142pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
22143    929658489;
22144pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange:
22145    PrPixelFormat = 1177646713;
22146pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange:
22147    PrPixelFormat = 1181316729;
22148pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
22149    842102361;
22150pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
22151    845772377;
22152pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange:
22153    PrPixelFormat = 1714517593;
22154pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange:
22155    PrPixelFormat = 1718187609;
22156pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
22157    925988441;
22158pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
22159    929658457;
22160pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange:
22161    PrPixelFormat = 1177646681;
22162pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange:
22163    PrPixelFormat = 1181316697;
22164pub const PrPixelFormat_PrPixelFormat_NTSCDV25: PrPixelFormat = 846100068;
22165pub const PrPixelFormat_PrPixelFormat_PALDV25: PrPixelFormat = 846231140;
22166pub const PrPixelFormat_PrPixelFormat_NTSCDV50: PrPixelFormat = 896431716;
22167pub const PrPixelFormat_PrPixelFormat_PALDV50: PrPixelFormat = 896562788;
22168pub const PrPixelFormat_PrPixelFormat_NTSCDV100_720p: PrPixelFormat = 929986148;
22169pub const PrPixelFormat_PrPixelFormat_PALDV100_720p: PrPixelFormat = 930117220;
22170pub const PrPixelFormat_PrPixelFormat_NTSCDV100_1080i: PrPixelFormat = 829322852;
22171pub const PrPixelFormat_PrPixelFormat_PALDV100_1080i: PrPixelFormat = 829453924;
22172pub const PrPixelFormat_PrPixelFormat_Raw: PrPixelFormat = 2004312434;
22173pub const PrPixelFormat_PrPixelFormat_Invalid: PrPixelFormat = 1717854562;
22174pub const PrPixelFormat_PrPixelFormat_Any: PrPixelFormat = 0;
22175#[doc = "\tPremiere supported pixel formats for RenderFrame and PPixs"]
22176pub type PrPixelFormat = ::std::os::raw::c_uint;
22177pub type csSDK_uint32 = ::std::os::raw::c_uint;
22178pub type csSDK_int32 = ::std::os::raw::c_int;
22179pub type csSDK_int64 = i64;
22180pub type prInt64 = csSDK_int64;
22181pub type prFieldType = csSDK_int32;
22182pub type PrTimelineID = csSDK_int32;
22183pub type PrClipID = csSDK_int32;
22184pub type PrTime = prInt64;
22185#[repr(C)]
22186#[derive(Debug, Copy, Clone)]
22187pub struct PrSDKString {
22188    pub opaque: [csSDK_int64; 2usize],
22189}
22190pub const PF_TimeDisplay_24: _bindgen_ty_175 = 1;
22191pub const PF_TimeDisplay_25: _bindgen_ty_175 = 2;
22192pub const PF_TimeDisplay_30Drop: _bindgen_ty_175 = 3;
22193pub const PF_TimeDisplay_30NonDrop: _bindgen_ty_175 = 4;
22194pub const PF_TimeDisplay_50: _bindgen_ty_175 = 5;
22195pub const PF_TimeDisplay_60Drop: _bindgen_ty_175 = 6;
22196pub const PF_TimeDisplay_60NonDrop: _bindgen_ty_175 = 7;
22197pub const PF_TimeDisplay_NonStandard: _bindgen_ty_175 = 8;
22198pub const PF_TimeDisplay_Invalid: _bindgen_ty_175 = 9;
22199pub type _bindgen_ty_175 = ::std::os::raw::c_uint;
22200pub type PF_TimeDisplay = csSDK_uint32;
22201#[repr(C)]
22202#[derive(Debug, Copy, Clone)]
22203pub struct PF_PixelFormatSuite {
22204    pub AddSupportedPixelFormat: ::std::option::Option<
22205        unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixelFormat: PrPixelFormat) -> PF_Err,
22206    >,
22207    pub ClearSupportedPixelFormats:
22208        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
22209    pub NewWorldOfPixelFormat: ::std::option::Option<
22210        unsafe extern "C" fn(
22211            effect_ref: PF_ProgPtr,
22212            width: A_u_long,
22213            height: A_u_long,
22214            flags: PF_NewWorldFlags,
22215            pixelFormat: PrPixelFormat,
22216            world: *mut PF_EffectWorld,
22217        ) -> PF_Err,
22218    >,
22219    pub DisposeWorld: ::std::option::Option<
22220        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
22221    >,
22222    pub GetPixelFormat: ::std::option::Option<
22223        unsafe extern "C" fn(
22224            inWorld: *mut PF_EffectWorld,
22225            pixelFormat: *mut PrPixelFormat,
22226        ) -> PF_Err,
22227    >,
22228    pub GetBlackForPixelFormat: ::std::option::Option<
22229        unsafe extern "C" fn(
22230            pixelFormat: PrPixelFormat,
22231            pixelData: *mut ::std::os::raw::c_void,
22232        ) -> PF_Err,
22233    >,
22234    pub GetWhiteForPixelFormat: ::std::option::Option<
22235        unsafe extern "C" fn(
22236            pixelFormat: PrPixelFormat,
22237            pixelData: *mut ::std::os::raw::c_void,
22238        ) -> PF_Err,
22239    >,
22240    pub ConvertColorToPixelFormattedData: ::std::option::Option<
22241        unsafe extern "C" fn(
22242            pixelFormat: PrPixelFormat,
22243            alpha: f32,
22244            red: f32,
22245            green: f32,
22246            blue: f32,
22247            pixelData: *mut ::std::os::raw::c_void,
22248        ) -> PF_Err,
22249    >,
22250}
22251pub type PF_PixelFormatSuite1 = PF_PixelFormatSuite;
22252#[repr(C)]
22253#[derive(Debug, Copy, Clone)]
22254pub struct PF_BackgroundFrameSuite {
22255    pub AddSupportedBackgroundTransferMode: ::std::option::Option<
22256        unsafe extern "C" fn(
22257            inEffectRef: PF_ProgPtr,
22258            supportedTransferMode: PF_TransferMode,
22259            supportedPixelFormat: PrPixelFormat,
22260        ) -> PF_Err,
22261    >,
22262    pub GetBackgroundFrame: ::std::option::Option<
22263        unsafe extern "C" fn(
22264            inEffectRef: PF_ProgPtr,
22265            backgroundFrame: *mut *mut PF_LayerDef,
22266            backgroundTransferMode: *mut PF_TransferMode,
22267        ) -> PF_Err,
22268    >,
22269}
22270pub type PF_BackgroundFrameSuite1 = PF_BackgroundFrameSuite;
22271#[repr(C)]
22272#[derive(Debug, Copy, Clone)]
22273pub struct PF_UtilitySuite4 {
22274    pub GetFilterInstanceID: ::std::option::Option<
22275        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
22276    >,
22277    pub GetMediaTimecode: ::std::option::Option<
22278        unsafe extern "C" fn(
22279            effect_ref: PF_ProgPtr,
22280            outCurrentFrame: *mut A_long,
22281            outTimeDisplay: *mut PF_TimeDisplay,
22282        ) -> PF_Err,
22283    >,
22284    pub GetClipSpeed: ::std::option::Option<
22285        unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
22286    >,
22287    pub GetClipDuration: ::std::option::Option<
22288        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22289    >,
22290    pub GetClipStart: ::std::option::Option<
22291        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22292    >,
22293    pub GetUnscaledClipDuration: ::std::option::Option<
22294        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22295    >,
22296    pub GetUnscaledClipStart: ::std::option::Option<
22297        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22298    >,
22299    pub GetTrackItemStart: ::std::option::Option<
22300        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22301    >,
22302    pub GetMediaFieldType: ::std::option::Option<
22303        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
22304    >,
22305    pub GetMediaFrameRate: ::std::option::Option<
22306        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
22307    >,
22308    pub GetContainingTimelineID: ::std::option::Option<
22309        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
22310    >,
22311    pub GetClipName: ::std::option::Option<
22312        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
22313    >,
22314    pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
22315        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
22316}
22317#[repr(C)]
22318#[derive(Debug, Copy, Clone)]
22319pub struct PF_UtilitySuite {
22320    pub GetFilterInstanceID: ::std::option::Option<
22321        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
22322    >,
22323    pub GetMediaTimecode: ::std::option::Option<
22324        unsafe extern "C" fn(
22325            effect_ref: PF_ProgPtr,
22326            outCurrentFrame: *mut A_long,
22327            outTimeDisplay: *mut PF_TimeDisplay,
22328        ) -> PF_Err,
22329    >,
22330    pub GetClipSpeed: ::std::option::Option<
22331        unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
22332    >,
22333    pub GetClipDuration: ::std::option::Option<
22334        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22335    >,
22336    pub GetClipStart: ::std::option::Option<
22337        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22338    >,
22339    pub GetUnscaledClipDuration: ::std::option::Option<
22340        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22341    >,
22342    pub GetUnscaledClipStart: ::std::option::Option<
22343        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22344    >,
22345    pub GetTrackItemStart: ::std::option::Option<
22346        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
22347    >,
22348    pub GetMediaFieldType: ::std::option::Option<
22349        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
22350    >,
22351    pub GetMediaFrameRate: ::std::option::Option<
22352        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
22353    >,
22354    pub GetContainingTimelineID: ::std::option::Option<
22355        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
22356    >,
22357    pub GetClipName: ::std::option::Option<
22358        unsafe extern "C" fn(
22359            effect_ref: PF_ProgPtr,
22360            inGetMasterClipName: A_Boolean,
22361            outSDKString: *mut PrSDKString,
22362        ) -> PF_Err,
22363    >,
22364    pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
22365        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
22366    pub EffectDependsOnClipName: ::std::option::Option<
22367        unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
22368    >,
22369    pub SetEffectInstanceName: ::std::option::Option<
22370        unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
22371    >,
22372    pub GetFileName: ::std::option::Option<
22373        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
22374    >,
22375    pub GetOriginalClipFrameRate: ::std::option::Option<
22376        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
22377    >,
22378    pub GetSourceTrackMediaTimecode: ::std::option::Option<
22379        unsafe extern "C" fn(
22380            effect_ref: PF_ProgPtr,
22381            inLayerParamIndex: csSDK_uint32,
22382            inApplyTransform: bool,
22383            inAddStartTimeOffset: bool,
22384            outCurrentFrame: *mut A_long,
22385        ) -> PF_Err,
22386    >,
22387    pub GetSourceTrackClipName: ::std::option::Option<
22388        unsafe extern "C" fn(
22389            effect_ref: PF_ProgPtr,
22390            inLayerParamIndex: csSDK_uint32,
22391            inGetMasterClipName: A_Boolean,
22392            outSDKString: *mut PrSDKString,
22393        ) -> PF_Err,
22394    >,
22395    pub GetSourceTrackFileName: ::std::option::Option<
22396        unsafe extern "C" fn(
22397            effect_ref: PF_ProgPtr,
22398            inLayerParamIndex: csSDK_uint32,
22399            outSDKString: *mut PrSDKString,
22400        ) -> PF_Err,
22401    >,
22402    pub EffectDependsOnClipName2: ::std::option::Option<
22403        unsafe extern "C" fn(
22404            effect_ref: PF_ProgPtr,
22405            inDependsOnClipName: A_Boolean,
22406            inLayerParamIndex: csSDK_uint32,
22407        ) -> PF_Err,
22408    >,
22409    pub GetMediaTimecode2: ::std::option::Option<
22410        unsafe extern "C" fn(
22411            effect_ref: PF_ProgPtr,
22412            inApplyTrim: bool,
22413            outCurrentFrame: *mut A_long,
22414            outTimeDisplay: *mut PF_TimeDisplay,
22415        ) -> PF_Err,
22416    >,
22417    pub GetSourceTrackMediaTimecode2: ::std::option::Option<
22418        unsafe extern "C" fn(
22419            effect_ref: PF_ProgPtr,
22420            inLayerParamIndex: csSDK_uint32,
22421            inApplyTransform: bool,
22422            inAddStartTimeOffset: bool,
22423            inSequenceTime: PrTime,
22424            outCurrentFrame: *mut A_long,
22425        ) -> PF_Err,
22426    >,
22427    pub GetSourceTrackClipName2: ::std::option::Option<
22428        unsafe extern "C" fn(
22429            effect_ref: PF_ProgPtr,
22430            inLayerParamIndex: csSDK_uint32,
22431            inGetMasterClipName: A_Boolean,
22432            outSDKString: *mut PrSDKString,
22433            inSequenceTime: PrTime,
22434        ) -> PF_Err,
22435    >,
22436    pub GetSourceTrackFileName2: ::std::option::Option<
22437        unsafe extern "C" fn(
22438            effect_ref: PF_ProgPtr,
22439            inLayerParamIndex: csSDK_uint32,
22440            outSDKString: *mut PrSDKString,
22441            inSequenceTime: PrTime,
22442        ) -> PF_Err,
22443    >,
22444    pub GetCommentString: ::std::option::Option<
22445        unsafe extern "C" fn(
22446            inEffectRef: PF_ProgPtr,
22447            inSourceTrack: i32,
22448            inSequenceTime: PrTime,
22449            outSDKString: *mut PrSDKString,
22450        ) -> PF_Err,
22451    >,
22452    pub GetLogNoteString: ::std::option::Option<
22453        unsafe extern "C" fn(
22454            inEffectRef: PF_ProgPtr,
22455            inSourceTrack: i32,
22456            inSequenceTime: PrTime,
22457            outSDKString: *mut PrSDKString,
22458        ) -> PF_Err,
22459    >,
22460    pub GetCameraRollString: ::std::option::Option<
22461        unsafe extern "C" fn(
22462            inEffectRef: PF_ProgPtr,
22463            inSourceTrack: i32,
22464            inSequenceTime: PrTime,
22465            outSDKString: *mut PrSDKString,
22466        ) -> PF_Err,
22467    >,
22468    pub GetClientMetadataString: ::std::option::Option<
22469        unsafe extern "C" fn(
22470            inEffectRef: PF_ProgPtr,
22471            inSourceTrack: i32,
22472            inSequenceTime: PrTime,
22473            outSDKString: *mut PrSDKString,
22474        ) -> PF_Err,
22475    >,
22476    pub GetDailyRollString: ::std::option::Option<
22477        unsafe extern "C" fn(
22478            inEffectRef: PF_ProgPtr,
22479            inSourceTrack: i32,
22480            inSequenceTime: PrTime,
22481            outSDKString: *mut PrSDKString,
22482        ) -> PF_Err,
22483    >,
22484    pub GetDescriptionString: ::std::option::Option<
22485        unsafe extern "C" fn(
22486            inEffectRef: PF_ProgPtr,
22487            inSourceTrack: i32,
22488            inSequenceTime: PrTime,
22489            outSDKString: *mut PrSDKString,
22490        ) -> PF_Err,
22491    >,
22492    pub GetLabRollString: ::std::option::Option<
22493        unsafe extern "C" fn(
22494            inEffectRef: PF_ProgPtr,
22495            inSourceTrack: i32,
22496            inSequenceTime: PrTime,
22497            outSDKString: *mut PrSDKString,
22498        ) -> PF_Err,
22499    >,
22500    pub GetSceneString: ::std::option::Option<
22501        unsafe extern "C" fn(
22502            inEffectRef: PF_ProgPtr,
22503            inSourceTrack: i32,
22504            inSequenceTime: PrTime,
22505            outSDKString: *mut PrSDKString,
22506        ) -> PF_Err,
22507    >,
22508    pub GetShotString: ::std::option::Option<
22509        unsafe extern "C" fn(
22510            inEffectRef: PF_ProgPtr,
22511            inSourceTrack: i32,
22512            inSequenceTime: PrTime,
22513            outSDKString: *mut PrSDKString,
22514        ) -> PF_Err,
22515    >,
22516    pub GetTapeNameString: ::std::option::Option<
22517        unsafe extern "C" fn(
22518            inEffectRef: PF_ProgPtr,
22519            inSourceTrack: i32,
22520            inSequenceTime: PrTime,
22521            outSDKString: *mut PrSDKString,
22522        ) -> PF_Err,
22523    >,
22524    pub GetVideoCodecString: ::std::option::Option<
22525        unsafe extern "C" fn(
22526            inEffectRef: PF_ProgPtr,
22527            inSourceTrack: i32,
22528            inSequenceTime: PrTime,
22529            outSDKString: *mut PrSDKString,
22530        ) -> PF_Err,
22531    >,
22532    pub GetGoodMetadataString: ::std::option::Option<
22533        unsafe extern "C" fn(
22534            inEffectRef: PF_ProgPtr,
22535            inSourceTrack: i32,
22536            inSequenceTime: PrTime,
22537            outSDKString: *mut PrSDKString,
22538        ) -> PF_Err,
22539    >,
22540    pub GetSoundRollString: ::std::option::Option<
22541        unsafe extern "C" fn(
22542            inEffectRef: PF_ProgPtr,
22543            inSourceTrack: i32,
22544            inSequenceTime: PrTime,
22545            outSDKString: *mut PrSDKString,
22546        ) -> PF_Err,
22547    >,
22548    pub GetSequenceTime: ::std::option::Option<
22549        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
22550    >,
22551    pub GetSoundTimecode: ::std::option::Option<
22552        unsafe extern "C" fn(
22553            inEffectRef: PF_ProgPtr,
22554            inSourceTrack: i32,
22555            inSequenceTime: PrTime,
22556            outCurrentFrame: *mut A_long,
22557        ) -> PF_Err,
22558    >,
22559    pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
22560        unsafe extern "C" fn(
22561            inEffectRef: PF_ProgPtr,
22562            inSourceTrack: i32,
22563            outTicksPerFrame: *mut PrTime,
22564        ) -> PF_Err,
22565    >,
22566    pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
22567        unsafe extern "C" fn(
22568            inEffectRef: PF_ProgPtr,
22569            inSourceTrack: i32,
22570            inSequenceTime: PrTime,
22571            outTicksPerFrame: *mut PrTime,
22572        ) -> PF_Err,
22573    >,
22574    pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
22575        unsafe extern "C" fn(
22576            inEffectRef: PF_ProgPtr,
22577            inLayerParamIndex: csSDK_uint32,
22578            inSequenceTime: PrTime,
22579            outClipActualStartTime: *mut PrTime,
22580        ) -> PF_Err,
22581    >,
22582    pub IsSourceTrackMediaTrimmed: ::std::option::Option<
22583        unsafe extern "C" fn(
22584            inEffectRef: PF_ProgPtr,
22585            inLayerParamIndex: csSDK_uint32,
22586            inSequenceTime: PrTime,
22587            outTrimApplied: *mut bool,
22588        ) -> PF_Err,
22589    >,
22590    pub IsMediaTrimmed: ::std::option::Option<
22591        unsafe extern "C" fn(
22592            inEffectRef: PF_ProgPtr,
22593            inSequenceTime: PrTime,
22594            outTrimApplied: *mut bool,
22595        ) -> PF_Err,
22596    >,
22597    pub IsTrackEmpty: ::std::option::Option<
22598        unsafe extern "C" fn(
22599            inEffectRef: PF_ProgPtr,
22600            inLayerParamIndex: csSDK_uint32,
22601            inSequenceTime: PrTime,
22602            outIsTrackEmpty: *mut bool,
22603        ) -> PF_Err,
22604    >,
22605    pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
22606        unsafe extern "C" fn(
22607            inEffectRef: PF_ProgPtr,
22608            outIsTrackItemEffectAppliedToSynthetic: *mut bool,
22609        ) -> PF_Err,
22610    >,
22611}
22612pub type PF_UtilitySuiteVersion1 = PF_UtilitySuite;
22613pub type PF_UtilitySuite2 = PF_UtilitySuite;
22614pub type PF_UtilitySuite3 = PF_UtilitySuite;
22615pub type PF_UtilitySuite5 = PF_UtilitySuite;
22616pub type PF_UtilitySuite6 = PF_UtilitySuite;
22617pub type PF_UtilitySuite7 = PF_UtilitySuite;
22618pub type PF_UtilitySuite8 = PF_UtilitySuite;
22619#[repr(C)]
22620#[derive(Debug, Copy, Clone)]
22621pub struct PF_SourceSettingsSuite {
22622    pub PerformSourceSettingsCommand: ::std::option::Option<
22623        unsafe extern "C" fn(
22624            effect_ref: PF_ProgPtr,
22625            ioCommandStruct: *mut ::std::os::raw::c_void,
22626            inDataSize: csSDK_uint32,
22627        ) -> PF_Err,
22628    >,
22629}
22630#[repr(C)]
22631#[derive(Debug, Copy, Clone)]
22632pub struct PF_TransitionSuite {
22633    #[doc = "\tRegister an effect as a transition using the passed in\n\tinput layer as the outgoing clip. When registered the effect\n\twill be available to be dragged directly onto clip ends rather\n\tthan only applied to layers."]
22634    pub RegisterTransitionInputParam: ::std::option::Option<
22635        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
22636    >,
22637    #[doc = "\tRegister a PF_ADD_FLOAT_SLIDER parameter to receive\n\tchanges to the start of the transition region through the\n\tPF_Cmd_USER_CHANGED_PARAM command."]
22638    pub RegisterTransitionStartParam: ::std::option::Option<
22639        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
22640    >,
22641    #[doc = "\tRegister a PF_ADD_FLOAT_SLIDER parameter to receive\n\tchanges to the end of the transition region through the\n\tPF_Cmd_USER_CHANGED_PARAM command."]
22642    pub RegisterTransitionEndParam: ::std::option::Option<
22643        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
22644    >,
22645}
22646#[repr(C)]
22647pub struct std_exception__bindgen_vtable(::std::os::raw::c_void);
22648#[repr(C)]
22649#[derive(Debug)]
22650pub struct std_exception {
22651    pub vtable_: *const std_exception__bindgen_vtable,
22652}
22653unsafe extern "C" {
22654    #[link_name = "\u{1}__ZNSt9exceptionD1Ev"]
22655    pub fn std_exception_exception_destructor(this: *mut std_exception);
22656}
22657unsafe extern "C" {
22658    #[link_name = "\u{1}__ZNKSt9exception4whatEv"]
22659    pub fn std_exception_what(this: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
22660}
22661pub type ADOBESDK_UTF16Char = u16;
22662pub type ADOBESDK_Boolean = u8;
22663pub type DRAWBOT_UTF16Char = ADOBESDK_UTF16Char;
22664pub type DRAWBOT_Boolean = ADOBESDK_Boolean;
22665#[repr(C)]
22666#[derive(Debug, Copy, Clone)]
22667pub struct DRAWBOT_DrawbotSuite1 {
22668    pub GetSupplier: ::std::option::Option<
22669        unsafe extern "C" fn(
22670            in_drawbot_ref: DRAWBOT_DrawRef,
22671            out_supplierP: *mut DRAWBOT_SupplierRef,
22672        ) -> SPErr,
22673    >,
22674    pub GetSurface: ::std::option::Option<
22675        unsafe extern "C" fn(
22676            in_drawbot_ref: DRAWBOT_DrawRef,
22677            out_surfaceP: *mut DRAWBOT_SurfaceRef,
22678        ) -> SPErr,
22679    >,
22680}
22681#[repr(C)]
22682#[derive(Debug, Copy, Clone)]
22683pub struct DRAWBOT_SupplierSuite1 {
22684    pub NewPen: ::std::option::Option<
22685        unsafe extern "C" fn(
22686            in_supplier_ref: DRAWBOT_SupplierRef,
22687            in_colorP: *const DRAWBOT_ColorRGBA,
22688            in_size: f32,
22689            out_penP: *mut DRAWBOT_PenRef,
22690        ) -> SPErr,
22691    >,
22692    pub NewBrush: ::std::option::Option<
22693        unsafe extern "C" fn(
22694            in_supplier_ref: DRAWBOT_SupplierRef,
22695            in_colorP: *const DRAWBOT_ColorRGBA,
22696            out_brushP: *mut DRAWBOT_BrushRef,
22697        ) -> SPErr,
22698    >,
22699    pub SupportsText: ::std::option::Option<
22700        unsafe extern "C" fn(
22701            in_supplier_ref: DRAWBOT_SupplierRef,
22702            out_supports_textPB: *mut DRAWBOT_Boolean,
22703        ) -> SPErr,
22704    >,
22705    pub GetDefaultFontSize: ::std::option::Option<
22706        unsafe extern "C" fn(
22707            in_supplier_ref: DRAWBOT_SupplierRef,
22708            out_font_sizeF: *mut f32,
22709        ) -> SPErr,
22710    >,
22711    pub NewDefaultFont: ::std::option::Option<
22712        unsafe extern "C" fn(
22713            in_supplier_ref: DRAWBOT_SupplierRef,
22714            in_font_sizeF: f32,
22715            out_fontP: *mut DRAWBOT_FontRef,
22716        ) -> SPErr,
22717    >,
22718    pub NewImageFromBuffer: ::std::option::Option<
22719        unsafe extern "C" fn(
22720            in_supplier_ref: DRAWBOT_SupplierRef,
22721            in_width: ::std::os::raw::c_int,
22722            in_height: ::std::os::raw::c_int,
22723            in_row_bytes: ::std::os::raw::c_int,
22724            in_pl: DRAWBOT_PixelLayout,
22725            in_dataP: *const ::std::os::raw::c_void,
22726            out_imageP: *mut DRAWBOT_ImageRef,
22727        ) -> SPErr,
22728    >,
22729    pub NewPath: ::std::option::Option<
22730        unsafe extern "C" fn(
22731            in_supplier_ref: DRAWBOT_SupplierRef,
22732            out_pathP: *mut DRAWBOT_PathRef,
22733        ) -> SPErr,
22734    >,
22735    pub SupportsPixelLayoutBGRA: ::std::option::Option<
22736        unsafe extern "C" fn(
22737            in_supplier_ref: DRAWBOT_SupplierRef,
22738            out_supports_bgraPB: *mut DRAWBOT_Boolean,
22739        ) -> SPErr,
22740    >,
22741    pub PrefersPixelLayoutBGRA: ::std::option::Option<
22742        unsafe extern "C" fn(
22743            in_supplier_ref: DRAWBOT_SupplierRef,
22744            out_prefers_bgraPB: *mut DRAWBOT_Boolean,
22745        ) -> SPErr,
22746    >,
22747    pub SupportsPixelLayoutARGB: ::std::option::Option<
22748        unsafe extern "C" fn(
22749            in_supplier_ref: DRAWBOT_SupplierRef,
22750            out_supports_argbPB: *mut DRAWBOT_Boolean,
22751        ) -> SPErr,
22752    >,
22753    pub PrefersPixelLayoutARGB: ::std::option::Option<
22754        unsafe extern "C" fn(
22755            in_supplier_ref: DRAWBOT_SupplierRef,
22756            out_prefers_argbPB: *mut DRAWBOT_Boolean,
22757        ) -> SPErr,
22758    >,
22759    pub RetainObject:
22760        ::std::option::Option<unsafe extern "C" fn(in_obj_ref: DRAWBOT_ObjectRef) -> SPErr>,
22761    pub ReleaseObject:
22762        ::std::option::Option<unsafe extern "C" fn(in_obj_ref: DRAWBOT_ObjectRef) -> SPErr>,
22763}
22764#[repr(C)]
22765#[derive(Debug, Copy, Clone)]
22766pub struct DRAWBOT_SurfaceSuite1 {
22767    pub PushStateStack:
22768        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
22769    pub PopStateStack:
22770        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
22771    pub PaintRect: ::std::option::Option<
22772        unsafe extern "C" fn(
22773            in_surface_ref: DRAWBOT_SurfaceRef,
22774            in_colorP: *const DRAWBOT_ColorRGBA,
22775            in_rectPR: *const DRAWBOT_RectF32,
22776        ) -> SPErr,
22777    >,
22778    pub FillPath: ::std::option::Option<
22779        unsafe extern "C" fn(
22780            in_surface_ref: DRAWBOT_SurfaceRef,
22781            in_brush_ref: DRAWBOT_BrushRef,
22782            in_path_ref: DRAWBOT_PathRef,
22783            in_fill_type: DRAWBOT_FillType,
22784        ) -> SPErr,
22785    >,
22786    pub StrokePath: ::std::option::Option<
22787        unsafe extern "C" fn(
22788            in_surface_ref: DRAWBOT_SurfaceRef,
22789            in_pen_ref: DRAWBOT_PenRef,
22790            in_path_ref: DRAWBOT_PathRef,
22791        ) -> SPErr,
22792    >,
22793    pub Clip: ::std::option::Option<
22794        unsafe extern "C" fn(
22795            in_surface_ref: DRAWBOT_SurfaceRef,
22796            in_supplier_ref: DRAWBOT_SupplierRef,
22797            in_rectPR: *const DRAWBOT_Rect32,
22798        ) -> SPErr,
22799    >,
22800    pub GetClipBounds: ::std::option::Option<
22801        unsafe extern "C" fn(
22802            in_surface_ref: DRAWBOT_SurfaceRef,
22803            out_rectPR: *mut DRAWBOT_Rect32,
22804        ) -> SPErr,
22805    >,
22806    pub IsWithinClipBounds: ::std::option::Option<
22807        unsafe extern "C" fn(
22808            in_surface_ref: DRAWBOT_SurfaceRef,
22809            in_rectPR: *const DRAWBOT_Rect32,
22810            out_withinPB: *mut DRAWBOT_Boolean,
22811        ) -> SPErr,
22812    >,
22813    pub Transform: ::std::option::Option<
22814        unsafe extern "C" fn(
22815            in_surface_ref: DRAWBOT_SurfaceRef,
22816            in_matrixP: *const DRAWBOT_MatrixF32,
22817        ) -> SPErr,
22818    >,
22819    pub DrawString: ::std::option::Option<
22820        unsafe extern "C" fn(
22821            in_surface_ref: DRAWBOT_SurfaceRef,
22822            in_brush_ref: DRAWBOT_BrushRef,
22823            in_font_ref: DRAWBOT_FontRef,
22824            in_stringP: *const DRAWBOT_UTF16Char,
22825            in_originP: *const DRAWBOT_PointF32,
22826            in_alignment_style: DRAWBOT_TextAlignment,
22827            in_truncation_style: DRAWBOT_TextTruncation,
22828            in_truncation_width: f32,
22829        ) -> SPErr,
22830    >,
22831    pub DrawImage: ::std::option::Option<
22832        unsafe extern "C" fn(
22833            in_surface_ref: DRAWBOT_SurfaceRef,
22834            in_image_ref: DRAWBOT_ImageRef,
22835            in_originP: *const DRAWBOT_PointF32,
22836            in_alpha: f32,
22837        ) -> SPErr,
22838    >,
22839    pub SetInterpolationPolicy: ::std::option::Option<
22840        unsafe extern "C" fn(
22841            in_surface_ref: DRAWBOT_SurfaceRef,
22842            in_interp: DRAWBOT_InterpolationPolicy,
22843        ) -> SPErr,
22844    >,
22845    pub GetInterpolationPolicy: ::std::option::Option<
22846        unsafe extern "C" fn(
22847            in_surface_ref: DRAWBOT_SurfaceRef,
22848            out_interpP: *mut DRAWBOT_InterpolationPolicy,
22849        ) -> SPErr,
22850    >,
22851    pub SetAntiAliasPolicy: ::std::option::Option<
22852        unsafe extern "C" fn(
22853            in_surface_ref: DRAWBOT_SurfaceRef,
22854            in_policy: DRAWBOT_AntiAliasPolicy,
22855        ) -> SPErr,
22856    >,
22857    pub GetAntiAliasPolicy: ::std::option::Option<
22858        unsafe extern "C" fn(
22859            in_surface_ref: DRAWBOT_SurfaceRef,
22860            out_policyP: *mut DRAWBOT_AntiAliasPolicy,
22861        ) -> SPErr,
22862    >,
22863    pub Flush:
22864        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
22865    pub GetTransformToScreenScale: ::std::option::Option<
22866        unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef, out_scale: *mut f32) -> SPErr,
22867    >,
22868}
22869pub type DRAWBOT_SurfaceSuite2 = DRAWBOT_SurfaceSuite1;
22870#[repr(C)]
22871#[derive(Debug, Copy, Clone)]
22872pub struct DRAWBOT_PathSuite1 {
22873    pub MoveTo: ::std::option::Option<
22874        unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef, in_x: f32, in_y: f32) -> SPErr,
22875    >,
22876    pub LineTo: ::std::option::Option<
22877        unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef, in_x: f32, in_y: f32) -> SPErr,
22878    >,
22879    pub BezierTo: ::std::option::Option<
22880        unsafe extern "C" fn(
22881            in_path_ref: DRAWBOT_PathRef,
22882            in_pt1P: *const DRAWBOT_PointF32,
22883            in_pt2P: *const DRAWBOT_PointF32,
22884            in_pt3P: *const DRAWBOT_PointF32,
22885        ) -> SPErr,
22886    >,
22887    pub AddRect: ::std::option::Option<
22888        unsafe extern "C" fn(
22889            in_path_ref: DRAWBOT_PathRef,
22890            in_rectPR: *const DRAWBOT_RectF32,
22891        ) -> SPErr,
22892    >,
22893    pub AddArc: ::std::option::Option<
22894        unsafe extern "C" fn(
22895            in_path_ref: DRAWBOT_PathRef,
22896            in_centerP: *const DRAWBOT_PointF32,
22897            in_radius: f32,
22898            in_start_angle: f32,
22899            in_sweep: f32,
22900        ) -> SPErr,
22901    >,
22902    pub Close: ::std::option::Option<unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef) -> SPErr>,
22903}
22904#[repr(C)]
22905#[derive(Debug, Copy, Clone)]
22906pub struct DRAWBOT_PenSuite1 {
22907    pub SetDashPattern: ::std::option::Option<
22908        unsafe extern "C" fn(
22909            in_pen_ref: DRAWBOT_PenRef,
22910            in_dashesP: *const f32,
22911            in_pattern_size: ::std::os::raw::c_int,
22912        ) -> SPErr,
22913    >,
22914}
22915#[repr(C)]
22916#[derive(Debug, Copy, Clone)]
22917pub struct DRAWBOT_ImageSuite1 {
22918    pub SetScaleFactor: ::std::option::Option<
22919        unsafe extern "C" fn(in_image_ref: DRAWBOT_ImageRef, in_scale_factor: f32) -> SPErr,
22920    >,
22921}
22922#[repr(C)]
22923#[derive(Debug, Copy, Clone)]
22924pub struct DRAWBOT_Suites {
22925    pub drawbot_suiteP: *mut DRAWBOT_DrawbotSuite1,
22926    pub supplier_suiteP: *mut DRAWBOT_SupplierSuite1,
22927    pub surface_suiteP: *mut DRAWBOT_SurfaceSuite2,
22928    pub path_suiteP: *mut DRAWBOT_PathSuite1,
22929    pub pen_suiteP: *mut DRAWBOT_PenSuite1,
22930    pub image_suiteP: *mut DRAWBOT_ImageSuite1,
22931}
22932#[repr(C)]
22933#[derive(Debug)]
22934pub struct DRAWBOT_Exception {
22935    pub _base: std_exception,
22936    pub mErr: SPErr,
22937}
22938#[repr(C)]
22939pub struct SharedRefImpl__bindgen_vtable(::std::os::raw::c_void);
22940#[repr(C)]
22941#[derive(Debug)]
22942pub struct SharedRefImpl<REF_T> {
22943    pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<REF_T>>,
22944    pub vtable_: *const SharedRefImpl__bindgen_vtable,
22945    pub mRef: REF_T,
22946    pub mSuiteP: *mut DRAWBOT_SupplierSuite1,
22947}
22948#[repr(C)]
22949#[derive(Debug)]
22950pub struct DRAWBOT_PenP {
22951    pub _base: SharedRefImpl<DRAWBOT_PenRef>,
22952}
22953pub type DRAWBOT_PenP__inherited = SharedRefImpl<DRAWBOT_PenRef>;
22954#[repr(C)]
22955#[derive(Debug)]
22956pub struct DRAWBOT_PathP {
22957    pub _base: SharedRefImpl<DRAWBOT_PathRef>,
22958}
22959pub type DRAWBOT_PathP__inherited = SharedRefImpl<DRAWBOT_PathRef>;
22960#[repr(C)]
22961#[derive(Debug)]
22962pub struct DRAWBOT_BrushP {
22963    pub _base: SharedRefImpl<DRAWBOT_BrushRef>,
22964}
22965pub type DRAWBOT_BrushP__inherited = SharedRefImpl<DRAWBOT_BrushRef>;
22966#[repr(C)]
22967#[derive(Debug)]
22968pub struct DRAWBOT_FontP {
22969    pub _base: SharedRefImpl<DRAWBOT_FontRef>,
22970}
22971pub type DRAWBOT_FontP__inherited = SharedRefImpl<DRAWBOT_FontRef>;
22972#[repr(C)]
22973#[derive(Debug)]
22974pub struct DRAWBOT_SaveAndRestoreStateStack {
22975    pub mSurfaceRef: DRAWBOT_SurfaceRef,
22976    pub mSuiteP: *mut DRAWBOT_SurfaceSuite2,
22977}
22978pub type prSuiteError = csSDK_int32;
22979pub const suiteError_InvalidParms: _bindgen_ty_177 = 2147483649;
22980pub const suiteError_StringNotFound: _bindgen_ty_177 = 2148139008;
22981pub const suiteError_StringBufferTooSmall: _bindgen_ty_177 = 2148139009;
22982pub type _bindgen_ty_177 = ::std::os::raw::c_uint;
22983#[repr(C, packed)]
22984#[derive(Debug, Copy, Clone)]
22985pub struct PrSDKStringSuite {
22986    pub DisposeString: ::std::option::Option<
22987        unsafe extern "C" fn(inSDKString: *const PrSDKString) -> prSuiteError,
22988    >,
22989    pub AllocateFromUTF8: ::std::option::Option<
22990        unsafe extern "C" fn(
22991            inUTF8String: *const u8,
22992            outSDKString: *mut PrSDKString,
22993        ) -> prSuiteError,
22994    >,
22995    pub CopyToUTF8String: ::std::option::Option<
22996        unsafe extern "C" fn(
22997            inSDKString: *const PrSDKString,
22998            outUTF8StringBuffer: *mut u8,
22999            ioUTF8StringBufferSizeInElements: *mut csSDK_uint32,
23000        ) -> prSuiteError,
23001    >,
23002    pub AllocateFromUTF16: ::std::option::Option<
23003        unsafe extern "C" fn(
23004            inUTF16String: *const u16,
23005            outSDKString: *mut PrSDKString,
23006        ) -> prSuiteError,
23007    >,
23008    pub CopyToUTF16String: ::std::option::Option<
23009        unsafe extern "C" fn(
23010            inSDKString: *const PrSDKString,
23011            outUTF16StringBuffer: *mut u16,
23012            ioUTF16StringBufferSizeInElements: *mut csSDK_uint32,
23013        ) -> prSuiteError,
23014    >,
23015}