after_effects_sys/opt/rustwide/workdir/
bindings_macos.rs

1/* automatically generated by rust-bindgen 0.69.4 */
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 = 10010;
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 kAEGPCompSuiteVersion11: u32 = 25;
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 kAEGPEffectSuiteVersion4: u32 = 4;
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 kAEGPColorSettingsSuiteVersion5: u32 = 6;
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 kAEGPLightSuite: &[u8; 17] = b"AEGP Light Suite\0";
379pub const kAEGPLightSuiteVersion2: u32 = 2;
380pub const kAEGPQueryXformSuite: &[u8; 22] = b"AEGP QueryXform Suite\0";
381pub const kAEGPQueryXformSuiteVersion2: u32 = 4;
382pub const kAEGPCompositeSuite: &[u8; 21] = b"AEGP Composite Suite\0";
383pub const kAEGPCompositeSuiteVersion2: u32 = 4;
384pub const kAEGPIterateSuite: &[u8; 19] = b"AEGP Iterate Suite\0";
385pub const kAEGPIterateSuiteVersion2: u32 = 2;
386pub const kAEGPPFInterfaceSuite: &[u8; 24] = b"AEGP PF Interface Suite\0";
387pub const kAEGPPFInterfaceSuiteVersion1: u32 = 1;
388pub const kAEGPIOInSuite: &[u8; 17] = b"AEGP IO In Suite\0";
389pub const kAEGPIOInSuiteVersion5: u32 = 6;
390pub const kAEGPIOOutSuite: &[u8; 18] = b"AEGP IO Out Suite\0";
391pub const kAEGPIOOutSuiteVersion5: u32 = 8;
392pub const kAEGPFIMSuite: &[u8; 31] = b"AEGP File Import Manager Suite\0";
393pub const kAEGPFIMSuiteVersion4: u32 = 4;
394pub const kAEGPPersistentDataSuite: &[u8; 27] = b"AEGP Persistent Data Suite\0";
395pub const kAEGPPersistentDataSuiteVersion4: u32 = 4;
396pub const kAEGPCollectionSuite: &[u8; 22] = b"AEGP Collection Suite\0";
397pub const kAEGPCollectionSuiteVersion2: u32 = 2;
398pub const kAEGPWorldSuite: &[u8; 17] = b"AEGP World Suite\0";
399pub const kAEGPWorldSuiteVersion3: u32 = 3;
400pub const kAEGPRenderOptionsSuite: &[u8; 26] = b"AEGP Render Options Suite\0";
401pub const kAEGPRenderOptionsSuiteVersion4: u32 = 4;
402pub const kAEGPLayerRenderOptionsSuite: &[u8; 32] = b"AEGP Layer Render Options Suite\0";
403pub const kAEGPLayerRenderOptionsSuiteVersion2: u32 = 2;
404pub const kAEGPRenderSuite: &[u8; 18] = b"AEGP Render Suite\0";
405pub const kAEGPRenderSuiteVersion5: u32 = 8;
406pub const kAEGPRenderAsyncManagerSuite: &[u8; 31] = b"AEGP Render Asyc Manager Suite\0";
407pub const kAEGPRenderAsyncManagerSuiteVersion1: u32 = 1;
408pub const kAEGPTrackerSuite: &[u8; 19] = b"AEGP Tracker Suite\0";
409pub const kAEGPTrackerSuiteVersion1: u32 = 1;
410pub const kAEGPTrackerUtilitySuite: &[u8; 27] = b"AEGP Tracker Utility Suite\0";
411pub const kAEGPTrackerUtilitySuiteVersion1: u32 = 1;
412pub const kAEGPRenderQueueMonitorSuite: &[u8; 31] = b"AEGP RenderQueue Monitor Suite\0";
413pub const kAEGPRenderQueueMonitorSuiteVersion1: u32 = 1;
414pub const kPFEffectSequenceDataSuite: &[u8; 30] = b"PF Effect Sequence Data Suite\0";
415pub const kPFEffectSequenceDataSuiteVersion1: u32 = 1;
416pub const kAEGPCanvasSuiteVersion1: u32 = 4;
417pub const kAEGPRQItemSuiteVersion3: u32 = 4;
418pub const kAEGPRQItemSuiteVersion2: u32 = 3;
419pub const kAEGPRQItemSuiteVersion1: u32 = 1;
420pub const kAEGPCanvasSuiteVersion2: u32 = 6;
421pub const kAEGPCanvasSuiteVersion4: u32 = 9;
422pub const kAEGPCanvasSuiteVersion5: u32 = 10;
423pub const kAEGPCanvasSuiteVersion6: u32 = 11;
424pub const kAEGPCanvasSuiteVersion7: u32 = 13;
425pub const kAEGPMaskOutlineSuiteVersion2: u32 = 3;
426pub const kAEGPMaskOutlineSuiteVersion1: u32 = 2;
427pub const kAEGPCompSuiteVersion10: u32 = 21;
428pub const kAEGPCompSuiteVersion9: u32 = 19;
429pub const kAEGPCompSuiteVersion8: u32 = 18;
430pub const kAEGPCompSuiteVersion7: u32 = 15;
431pub const kAEGPCompSuiteVersion6: u32 = 14;
432pub const kAEGPCompSuiteVersion5: u32 = 11;
433pub const kAEGPCompSuiteVersion4: u32 = 9;
434pub const kAEGPCompSuiteVersion3: u32 = 7;
435pub const kAEGPCompSuiteVersion2: u32 = 6;
436pub const kAEGPCompSuiteVersion1: u32 = 4;
437pub const kAEGPLayerSuiteVersion8: u32 = 14;
438pub const kAEGPLayerSuiteVersion7: u32 = 13;
439pub const kAEGPLayerSuiteVersion6: u32 = 12;
440pub const kAEGPLayerSuiteVersion5: u32 = 11;
441pub const kAEGPLayerSuiteVersion4: u32 = 10;
442pub const kAEGPLayerSuiteVersion3: u32 = 8;
443pub const kAEGPStreamSuiteVersion5: u32 = 10;
444pub const kAEGPStreamSuiteVersion4: u32 = 9;
445pub const kAEGPStreamSuiteVersion3: u32 = 8;
446pub const kAEGPStreamSuiteVersion2: u32 = 7;
447pub const kAEGPStreamSuiteVersion1: u32 = 4;
448pub const kAEGPLayerSuiteVersion1: u32 = 5;
449pub const kAEGPLayerSuiteVersion2: u32 = 7;
450pub const kAEGPEffectSuiteVersion1: u32 = 1;
451pub const kAEGPEffectSuiteVersion2: u32 = 2;
452pub const kAEGPEffectSuiteVersion3: u32 = 3;
453pub const kAEGPLightSuiteVersion1: u32 = 1;
454pub const kAEGPMaskSuiteVersion5: u32 = 6;
455pub const kAEGPMaskSuiteVersion4: u32 = 5;
456pub const kAEGPMaskSuiteVersion3: u32 = 4;
457pub const kAEGPMaskSuiteVersion1: u32 = 2;
458pub const kAEGPMaskSuiteVersion2: u32 = 3;
459pub const kAEGPCameraSuiteVersion1: u32 = 1;
460pub const kAEGPItemSuiteVersion8: u32 = 13;
461pub const kAEGPItemSuiteVersion7: u32 = 11;
462pub const kAEGPItemSuiteVersion6: u32 = 10;
463pub const kAEGPItemSuiteVersion5: u32 = 7;
464pub const kAEGPItemSuiteVersion4: u32 = 6;
465pub const kAEGPItemSuiteVersion3: u32 = 5;
466pub const kAEGPKeyframeSuiteVersion4: u32 = 4;
467pub const kAEGPKeyframeSuiteVersion3: u32 = 3;
468pub const kAEGPKeyframeSuiteVersion2: u32 = 2;
469pub const kAEGPKeyframeSuiteVersion1: u32 = 1;
470pub const kAEGPItemSuiteVersion2: u32 = 4;
471pub const kAEGPItemSuiteVersion1: u32 = 3;
472pub const kAEGPUtilitySuiteVersion5: u32 = 11;
473pub const kAEGPUtilitySuiteVersion4: u32 = 10;
474pub const kAEGPUtilitySuiteVersion3: u32 = 7;
475pub const kAEGPUtilitySuiteVersion2: u32 = 5;
476pub const kAEGPUtilitySuiteVersion1: u32 = 3;
477pub const kAEGPQueryXformSuiteVersion1: u32 = 1;
478pub const kAEGPRenderSuiteVersion1: u32 = 1;
479pub const kAEGPRenderSuiteVersion2: u32 = 2;
480pub const kAEGPRenderSuiteVersion3: u32 = 3;
481pub const kAEGPRenderSuiteVersion4: u32 = 5;
482pub const kAEGPWorldSuiteVersion2: u32 = 2;
483pub const kAEGPWorldSuiteVersion1: u32 = 1;
484pub const kAEGPCollectionSuiteVersion1: u32 = 1;
485pub const kAEGPDynamicStreamSuiteVersion1: u32 = 1;
486pub const kAEGPDynamicStreamSuiteVersion2: u32 = 2;
487pub const kAEGPDynamicStreamSuiteVersion3: u32 = 3;
488pub const kAEGPRenderOptionsSuiteVersion3: u32 = 3;
489pub const kAEGPRenderOptionsSuiteVersion2: u32 = 2;
490pub const kAEGPRenderOptionsSuiteVersion1: u32 = 1;
491pub const kAEGPLayerRenderOptionsSuiteVersion1: u32 = 1;
492pub const kAEGPColorSettingsSuiteVersion1: u32 = 1;
493pub const kAEGPColorSettingsSuiteVersion2: u32 = 3;
494pub const kAEGPColorSettingsSuiteVersion3: u32 = 4;
495pub const kAEGPColorSettingsSuiteVersion4: u32 = 5;
496pub const kAEGPMarkerSuiteVersion1: u32 = 1;
497pub const kAEGPMarkerSuiteVersion2: u32 = 2;
498pub const kAEGPProjSuiteVersion5: u32 = 8;
499pub const kAEGPPersistentDataSuiteVersion3: u32 = 3;
500pub const kAEGPIterateSuiteVersion1: u32 = 1;
501pub const kAEGPIOInSuiteVersion4: u32 = 5;
502pub const kAEGPIOOutSuiteVersion4: u32 = 7;
503pub const kAEGPFIMSuiteVersion3: u32 = 3;
504pub const kPFPixelFormatSuiteVersion1: u32 = 1;
505pub const kPFPixelFormatSuiteVersion: u32 = 1;
506pub const kPFBackgroundFrameSuite: &[u8; 26] = b"PF Background Frame Suite\0";
507pub const kPFBackgroundFrameSuiteVersion1: u32 = 1;
508pub const kPFBackgroundFrameSuiteVersion: u32 = 1;
509pub const kPFUtilitySuite: &[u8; 17] = b"PF Utility Suite\0";
510pub const kPFUtilitySuiteVersion2: u32 = 2;
511pub const kPFUtilitySuiteVersion3: u32 = 3;
512pub const kPFUtilitySuiteVersion4: u32 = 4;
513pub const kPFUtilitySuiteVersion5: u32 = 5;
514pub const kPFUtilitySuiteVersion6: u32 = 6;
515pub const kPFUtilitySuiteVersion7: u32 = 7;
516pub const kPFUtilitySuiteVersion8: u32 = 8;
517pub const kPFUtilitySuiteVersion9: u32 = 9;
518pub const kPFUtilitySuiteVersion: u32 = 9;
519pub const kPFSourceSettingsSuite: &[u8; 25] = b"PF Source Settings Suite\0";
520pub const kPFSourceSettingsSuiteVersion: u32 = 1;
521pub const kPFTransitionSuite: &[u8; 20] = b"PF Transition Suite\0";
522pub const kPFTransitionSuiteVersion1: u32 = 1;
523pub const kPFTransitionSuiteVersion2: u32 = 2;
524pub const kPFTransitionSuiteVersion: u32 = 2;
525pub const kDRAWBOT_DrawSuite: &[u8; 19] = b"DRAWBOT Draw Suite\0";
526pub const kDRAWBOT_DrawSuite_Version1: u32 = 1;
527pub const kDRAWBOT_DrawSuite_VersionCurrent: u32 = 1;
528pub const kDRAWBOT_SupplierSuite: &[u8; 23] = b"DRAWBOT Supplier Suite\0";
529pub const kDRAWBOT_SupplierSuite_Version1: u32 = 1;
530pub const kDRAWBOT_SupplierSuite_VersionCurrent: u32 = 1;
531pub const kDRAWBOT_SurfaceSuite: &[u8; 22] = b"DRAWBOT Surface Suite\0";
532pub const kDRAWBOT_SurfaceSuite_Version1: u32 = 1;
533pub const kDRAWBOT_SurfaceSuite_Version2: u32 = 2;
534pub const kDRAWBOT_SurfaceSuite_VersionCurrent: u32 = 2;
535pub const kDRAWBOT_PathSuite: &[u8; 19] = b"DRAWBOT Path Suite\0";
536pub const kDRAWBOT_PathSuite_Version1: u32 = 1;
537pub const kDRAWBOT_PathSuite_VersionCurrent: u32 = 1;
538pub const kDRAWBOT_PenSuite: &[u8; 18] = b"DRAWBOT Pen Suite\0";
539pub const kDRAWBOT_PenSuite_Version1: u32 = 1;
540pub const kDRAWBOT_PenSuite_VersionCurrent: u32 = 1;
541pub const kDRAWBOT_ImageSuite: &[u8; 20] = b"DRAWBOT Image Suite\0";
542pub const kDRAWBOT_ImageSuite_Version1: u32 = 1;
543pub const kDRAWBOT_ImageSuite_VersionCurrent: u32 = 1;
544pub const kPrSDKStringSuite: &[u8; 22] = b"MediaCore StringSuite\0";
545pub const kPrSDKStringSuiteVersion: u32 = 1;
546#[repr(C)]
547pub struct std_exception__bindgen_vtable(::std::os::raw::c_void);
548#[repr(C)]
549#[derive(Debug)]
550pub struct std_exception {
551    pub vtable_: *const std_exception__bindgen_vtable,
552}
553extern "C" {
554    #[link_name = "\u{1}__ZNSt9exceptionD1Ev"]
555    pub fn std_exception_exception_destructor(this: *mut std_exception);
556}
557extern "C" {
558    #[link_name = "\u{1}__ZNKSt9exception4whatEv"]
559    pub fn std_exception_what(this: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
560}
561pub type A_long = i32;
562pub type A_u_long = u32;
563pub type A_char = ::std::os::raw::c_char;
564pub type A_FpLong = f64;
565pub type A_FpShort = f32;
566pub type A_Err = A_long;
567pub type A_Handle = *mut ::std::os::raw::c_void;
568pub type A_Fixed = A_long;
569pub type A_UFixed = A_u_long;
570pub type A_short = i16;
571pub type A_u_short = u16;
572pub type A_u_char = u8;
573pub type A_Boolean = u8;
574pub type A_intptr_t = isize;
575pub type A_u_longlong = u64;
576#[repr(C)]
577#[derive(Debug, Copy, Clone)]
578pub struct A_Time {
579    pub value: A_long,
580    pub scale: A_u_long,
581}
582#[repr(C)]
583#[derive(Debug, Copy, Clone)]
584pub struct A_Ratio {
585    pub num: A_long,
586    pub den: A_u_long,
587}
588#[repr(C)]
589#[derive(Debug, Copy, Clone)]
590pub struct A_FloatPoint {
591    pub x: A_FpLong,
592    pub y: A_FpLong,
593}
594#[repr(C)]
595#[derive(Debug, Copy, Clone)]
596pub struct A_FloatPoint3 {
597    pub x: A_FpLong,
598    pub y: A_FpLong,
599    pub z: A_FpLong,
600}
601#[repr(C)]
602#[derive(Debug, Copy, Clone)]
603pub struct A_FloatRect {
604    pub left: A_FpLong,
605    pub top: A_FpLong,
606    pub right: A_FpLong,
607    pub bottom: A_FpLong,
608}
609#[repr(C)]
610#[derive(Debug, Copy, Clone)]
611pub struct A_Matrix3 {
612    pub mat: [[A_FpLong; 3usize]; 3usize],
613}
614#[repr(C)]
615#[derive(Debug, Copy, Clone)]
616pub struct A_Matrix4 {
617    pub mat: [[A_FpLong; 4usize]; 4usize],
618}
619#[repr(C)]
620#[derive(Debug, Copy, Clone)]
621pub struct A_LegacyRect {
622    pub top: A_short,
623    pub left: A_short,
624    pub bottom: A_short,
625    pub right: A_short,
626}
627#[repr(C)]
628#[derive(Debug, Copy, Clone)]
629pub struct A_LRect {
630    pub left: A_long,
631    pub top: A_long,
632    pub right: A_long,
633    pub bottom: A_long,
634}
635pub type A_Rect = A_LRect;
636#[repr(C)]
637#[derive(Debug, Copy, Clone)]
638pub struct A_LPoint {
639    pub x: A_long,
640    pub y: A_long,
641}
642#[repr(C)]
643#[derive(Debug, Copy, Clone)]
644pub struct A_FloatPolar {
645    pub radius: A_FpLong,
646    pub angle: A_FpLong,
647}
648pub type A_HandleSize = A_u_longlong;
649#[repr(C)]
650#[derive(Debug, Copy, Clone)]
651pub struct A_Color {
652    pub alpha: A_FpLong,
653    pub red: A_FpLong,
654    pub green: A_FpLong,
655    pub blue: A_FpLong,
656}
657pub const A_Err_NONE: _bindgen_ty_1 = 0;
658pub const A_Err_GENERIC: _bindgen_ty_1 = 1;
659pub const A_Err_STRUCT: _bindgen_ty_1 = 2;
660pub const A_Err_PARAMETER: _bindgen_ty_1 = 3;
661pub const A_Err_ALLOC: _bindgen_ty_1 = 4;
662pub const A_Err_WRONG_THREAD: _bindgen_ty_1 = 5;
663pub const A_Err_CONST_PROJECT_MODIFICATION: _bindgen_ty_1 = 6;
664pub const A_Err_RESERVED_7: _bindgen_ty_1 = 7;
665pub const A_Err_RESERVED_8: _bindgen_ty_1 = 8;
666pub const A_Err_RESERVED_9: _bindgen_ty_1 = 9;
667pub const A_Err_RESERVED_10: _bindgen_ty_1 = 10;
668pub const A_Err_RESERVED_11: _bindgen_ty_1 = 11;
669pub const A_Err_RESERVED_12: _bindgen_ty_1 = 12;
670pub const A_Err_MISSING_SUITE: _bindgen_ty_1 = 13;
671pub const A_Err_RESERVED_14: _bindgen_ty_1 = 14;
672pub const A_Err_RESERVED_15: _bindgen_ty_1 = 15;
673pub const A_Err_RESERVED_16: _bindgen_ty_1 = 16;
674pub const A_Err_RESERVED_17: _bindgen_ty_1 = 17;
675pub const A_Err_RESERVED_18: _bindgen_ty_1 = 18;
676pub const A_Err_RESERVED_19: _bindgen_ty_1 = 19;
677pub const A_Err_RESERVED_20: _bindgen_ty_1 = 20;
678pub const A_Err_RESERVED_21: _bindgen_ty_1 = 21;
679pub const A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING: _bindgen_ty_1 = 22;
680pub const A_Err_PROJECT_LOAD_FATAL: _bindgen_ty_1 = 23;
681pub const A_Err_EFFECT_APPLY_FATAL: _bindgen_ty_1 = 24;
682pub const A_Err_LAST: _bindgen_ty_1 = 25;
683pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
684#[repr(C)]
685#[derive(Debug, Copy, Clone)]
686pub struct A_Version {
687    pub majorS: A_short,
688    pub minorS: A_short,
689}
690#[repr(C)]
691#[derive(Debug, Copy, Clone)]
692pub struct _Up_OpaqueMem {
693    _unused: [u8; 0],
694}
695pub type AEGP_MemHandle = *mut *mut _Up_OpaqueMem;
696pub type A_UTF16Char = A_u_short;
697pub type A_LegacyEnumType = A_char;
698pub type UInt32 = ::std::os::raw::c_uint;
699pub type SInt32 = ::std::os::raw::c_int;
700pub type Fixed = SInt32;
701pub type Ptr = *mut ::std::os::raw::c_char;
702pub type Handle = *mut Ptr;
703pub type Boolean = ::std::os::raw::c_uchar;
704pub type ProcPtr = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_long>;
705pub type ProcHandle = *mut ProcPtr;
706#[repr(C, packed(2))]
707#[derive(Debug, Copy, Clone)]
708pub struct ProcessSerialNumber {
709    pub highLongOfPSN: UInt32,
710    pub lowLongOfPSN: UInt32,
711}
712pub type ProcessSerialNumberPtr = *mut ProcessSerialNumber;
713pub const PF_Stage_DEVELOP: _bindgen_ty_9 = 0;
714pub const PF_Stage_ALPHA: _bindgen_ty_9 = 1;
715pub const PF_Stage_BETA: _bindgen_ty_9 = 2;
716pub const PF_Stage_RELEASE: _bindgen_ty_9 = 3;
717pub type _bindgen_ty_9 = ::std::os::raw::c_uint;
718pub type PF_Stage = A_long;
719pub const PF_Quality_DRAWING_AUDIO: _bindgen_ty_10 = -1;
720pub const PF_Quality_LO: _bindgen_ty_10 = 0;
721pub const PF_Quality_HI: _bindgen_ty_10 = 1;
722pub type _bindgen_ty_10 = ::std::os::raw::c_int;
723pub type PF_Quality = A_long;
724pub const PF_MF_Alpha_PREMUL: _bindgen_ty_11 = 0;
725pub const PF_MF_Alpha_STRAIGHT: _bindgen_ty_11 = 1;
726pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
727pub type PF_ModeFlags = A_long;
728pub const PF_Field_FRAME: _bindgen_ty_12 = 0;
729pub const PF_Field_UPPER: _bindgen_ty_12 = 1;
730pub const PF_Field_LOWER: _bindgen_ty_12 = 2;
731pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
732pub type PF_Field = A_long;
733pub const PF_Param_RESERVED: _bindgen_ty_13 = -1;
734pub const PF_Param_LAYER: _bindgen_ty_13 = 0;
735pub const PF_Param_SLIDER: _bindgen_ty_13 = 1;
736pub const PF_Param_FIX_SLIDER: _bindgen_ty_13 = 2;
737pub const PF_Param_ANGLE: _bindgen_ty_13 = 3;
738pub const PF_Param_CHECKBOX: _bindgen_ty_13 = 4;
739pub const PF_Param_COLOR: _bindgen_ty_13 = 5;
740pub const PF_Param_POINT: _bindgen_ty_13 = 6;
741pub const PF_Param_POPUP: _bindgen_ty_13 = 7;
742pub const PF_Param_CUSTOM: _bindgen_ty_13 = 8;
743pub const PF_Param_NO_DATA: _bindgen_ty_13 = 9;
744pub const PF_Param_FLOAT_SLIDER: _bindgen_ty_13 = 10;
745pub const PF_Param_ARBITRARY_DATA: _bindgen_ty_13 = 11;
746pub const PF_Param_PATH: _bindgen_ty_13 = 12;
747pub const PF_Param_GROUP_START: _bindgen_ty_13 = 13;
748pub const PF_Param_GROUP_END: _bindgen_ty_13 = 14;
749pub const PF_Param_BUTTON: _bindgen_ty_13 = 15;
750pub const PF_Param_RESERVED2: _bindgen_ty_13 = 16;
751pub const PF_Param_RESERVED3: _bindgen_ty_13 = 17;
752pub const PF_Param_POINT_3D: _bindgen_ty_13 = 18;
753pub type _bindgen_ty_13 = ::std::os::raw::c_int;
754pub type PF_ParamType = A_long;
755pub const PF_ParamFlag_RESERVED1: _bindgen_ty_14 = 1;
756pub const PF_ParamFlag_CANNOT_TIME_VARY: _bindgen_ty_14 = 2;
757pub const PF_ParamFlag_CANNOT_INTERP: _bindgen_ty_14 = 4;
758pub const PF_ParamFlag_RESERVED2: _bindgen_ty_14 = 8;
759pub const PF_ParamFlag_RESERVED3: _bindgen_ty_14 = 16;
760pub const PF_ParamFlag_COLLAPSE_TWIRLY: _bindgen_ty_14 = 32;
761pub const PF_ParamFlag_SUPERVISE: _bindgen_ty_14 = 64;
762pub const PF_ParamFlag_START_COLLAPSED: _bindgen_ty_14 = 32;
763pub const PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS: _bindgen_ty_14 = 128;
764pub const PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE: _bindgen_ty_14 = 128;
765pub const PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED: _bindgen_ty_14 = 256;
766pub const PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_14 = 512;
767pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
768pub type PF_ParamFlags = A_long;
769pub const PF_Err_NONE: _bindgen_ty_15 = 0;
770pub const PF_Err_OUT_OF_MEMORY: _bindgen_ty_15 = 4;
771pub const PF_Err_INTERNAL_STRUCT_DAMAGED: _bindgen_ty_15 = 512;
772pub const PF_Err_INVALID_INDEX: _bindgen_ty_15 = 513;
773pub const PF_Err_UNRECOGNIZED_PARAM_TYPE: _bindgen_ty_15 = 514;
774pub const PF_Err_INVALID_CALLBACK: _bindgen_ty_15 = 515;
775pub const PF_Err_BAD_CALLBACK_PARAM: _bindgen_ty_15 = 516;
776pub const PF_Interrupt_CANCEL: _bindgen_ty_15 = 517;
777pub const PF_Err_CANNOT_PARSE_KEYFRAME_TEXT: _bindgen_ty_15 = 518;
778pub type _bindgen_ty_15 = ::std::os::raw::c_uint;
779pub type PF_Err = A_long;
780pub const PF_WorldFlag_DEEP: _bindgen_ty_16 = 1;
781pub const PF_WorldFlag_WRITEABLE: _bindgen_ty_16 = 2;
782pub const PF_WorldFlag_RESERVED0: _bindgen_ty_16 = 16777216;
783pub const PF_WorldFlag_RESERVED1: _bindgen_ty_16 = 33554432;
784pub const PF_WorldFlag_RESERVED2: _bindgen_ty_16 = 67108864;
785pub const PF_WorldFlag_RESERVED3: _bindgen_ty_16 = 134217728;
786pub const PF_WorldFlag_RESERVED4: _bindgen_ty_16 = 268435456;
787pub const PF_WorldFlag_RESERVED5: _bindgen_ty_16 = 536870912;
788pub const PF_WorldFlag_RESERVED6: _bindgen_ty_16 = 1073741824;
789pub const PF_WorldFlag_RESERVED: _bindgen_ty_16 = 2147483648;
790pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
791pub type PF_WorldFlags = A_long;
792pub const PF_OutFlag_NONE: _bindgen_ty_17 = 0;
793pub const PF_OutFlag_KEEP_RESOURCE_OPEN: _bindgen_ty_17 = 1;
794pub const PF_OutFlag_WIDE_TIME_INPUT: _bindgen_ty_17 = 2;
795pub const PF_OutFlag_NON_PARAM_VARY: _bindgen_ty_17 = 4;
796pub const PF_OutFlag_RESERVED6: _bindgen_ty_17 = 8;
797pub const PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING: _bindgen_ty_17 = 16;
798pub const PF_OutFlag_I_DO_DIALOG: _bindgen_ty_17 = 32;
799pub const PF_OutFlag_USE_OUTPUT_EXTENT: _bindgen_ty_17 = 64;
800pub const PF_OutFlag_SEND_DO_DIALOG: _bindgen_ty_17 = 128;
801pub const PF_OutFlag_DISPLAY_ERROR_MESSAGE: _bindgen_ty_17 = 256;
802pub const PF_OutFlag_I_EXPAND_BUFFER: _bindgen_ty_17 = 512;
803pub const PF_OutFlag_PIX_INDEPENDENT: _bindgen_ty_17 = 1024;
804pub const PF_OutFlag_I_WRITE_INPUT_BUFFER: _bindgen_ty_17 = 2048;
805pub const PF_OutFlag_I_SHRINK_BUFFER: _bindgen_ty_17 = 4096;
806pub const PF_OutFlag_WORKS_IN_PLACE: _bindgen_ty_17 = 8192;
807pub const PF_OutFlag_RESERVED8: _bindgen_ty_17 = 16384;
808pub const PF_OutFlag_CUSTOM_UI: _bindgen_ty_17 = 32768;
809pub const PF_OutFlag_RESERVED7: _bindgen_ty_17 = 65536;
810pub const PF_OutFlag_REFRESH_UI: _bindgen_ty_17 = 131072;
811pub const PF_OutFlag_NOP_RENDER: _bindgen_ty_17 = 262144;
812pub const PF_OutFlag_I_USE_SHUTTER_ANGLE: _bindgen_ty_17 = 524288;
813pub const PF_OutFlag_I_USE_AUDIO: _bindgen_ty_17 = 1048576;
814pub const PF_OutFlag_I_AM_OBSOLETE: _bindgen_ty_17 = 2097152;
815pub const PF_OutFlag_FORCE_RERENDER: _bindgen_ty_17 = 4194304;
816pub const PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS: _bindgen_ty_17 = 8388608;
817pub const PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES: _bindgen_ty_17 = 16777216;
818pub const PF_OutFlag_DEEP_COLOR_AWARE: _bindgen_ty_17 = 33554432;
819pub const PF_OutFlag_SEND_UPDATE_PARAMS_UI: _bindgen_ty_17 = 67108864;
820pub const PF_OutFlag_AUDIO_FLOAT_ONLY: _bindgen_ty_17 = 134217728;
821pub const PF_OutFlag_AUDIO_IIR: _bindgen_ty_17 = 268435456;
822pub const PF_OutFlag_I_SYNTHESIZE_AUDIO: _bindgen_ty_17 = 536870912;
823pub const PF_OutFlag_AUDIO_EFFECT_TOO: _bindgen_ty_17 = 1073741824;
824pub const PF_OutFlag_AUDIO_EFFECT_ONLY: _bindgen_ty_17 = 2147483648;
825#[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."]
826pub type _bindgen_ty_17 = ::std::os::raw::c_uint;
827pub type PF_OutFlags = A_long;
828pub const PF_OutFlag2_NONE: _bindgen_ty_18 = 0;
829pub const PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS: _bindgen_ty_18 = 1;
830pub const PF_OutFlag2_I_USE_3D_CAMERA: _bindgen_ty_18 = 2;
831pub const PF_OutFlag2_I_USE_3D_LIGHTS: _bindgen_ty_18 = 4;
832pub const PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG: _bindgen_ty_18 = 8;
833pub const PF_OutFlag2_I_AM_THREADSAFE: _bindgen_ty_18 = 16;
834pub const PF_OutFlag2_CAN_COMBINE_WITH_DESTINATION: _bindgen_ty_18 = 32;
835pub const PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS: _bindgen_ty_18 = 64;
836pub const PF_OutFlag2_REVEALS_ZERO_ALPHA: _bindgen_ty_18 = 128;
837pub const PF_OutFlag2_PRESERVES_FULLY_OPAQUE_PIXELS: _bindgen_ty_18 = 256;
838pub const PF_OutFlag2_SUPPORTS_SMART_RENDER: _bindgen_ty_18 = 1024;
839pub const PF_OutFlag2_RESERVED9: _bindgen_ty_18 = 2048;
840pub const PF_OutFlag2_FLOAT_COLOR_AWARE: _bindgen_ty_18 = 4096;
841pub const PF_OutFlag2_I_USE_COLORSPACE_ENUMERATION: _bindgen_ty_18 = 8192;
842pub const PF_OutFlag2_I_AM_DEPRECATED: _bindgen_ty_18 = 16384;
843pub const PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER: _bindgen_ty_18 = 32768;
844pub const PF_OutFlag2_RESERVED10: _bindgen_ty_18 = 65536;
845pub const PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT: _bindgen_ty_18 = 131072;
846pub const PF_OutFlag2_I_USE_TIMECODE: _bindgen_ty_18 = 262144;
847pub const PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS: _bindgen_ty_18 = 524288;
848pub const PF_OutFlag2_OUTPUT_IS_WATERMARKED: _bindgen_ty_18 = 1048576;
849pub const PF_OutFlag2_I_MIX_GUID_DEPENDENCIES: _bindgen_ty_18 = 2097152;
850pub const PF_OutFlag2_AE13_5_THREADSAFE: _bindgen_ty_18 = 4194304;
851pub const PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_18 = 8388608;
852pub const PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER: _bindgen_ty_18 = 16777216;
853pub const PF_OutFlag2_SUPPORTS_GPU_RENDER_F32: _bindgen_ty_18 = 33554432;
854pub const PF_OutFlag2_RESERVED12: _bindgen_ty_18 = 67108864;
855pub const PF_OutFlag2_SUPPORTS_THREADED_RENDERING: _bindgen_ty_18 = 134217728;
856pub const PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER: _bindgen_ty_18 = 268435456;
857pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
858pub type PF_OutFlags2 = A_long;
859pub const PF_InFlag_NONE: _bindgen_ty_19 = 0;
860pub const PF_InFlag_PROJECT_IS_RENDER_ONLY: _bindgen_ty_19 = 1;
861#[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.)"]
862pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
863pub type PF_InFlags = A_long;
864pub const PF_Cmd_ABOUT: _bindgen_ty_20 = 0;
865pub const PF_Cmd_GLOBAL_SETUP: _bindgen_ty_20 = 1;
866pub const PF_Cmd_UNUSED_0: _bindgen_ty_20 = 2;
867pub const PF_Cmd_GLOBAL_SETDOWN: _bindgen_ty_20 = 3;
868pub const PF_Cmd_PARAMS_SETUP: _bindgen_ty_20 = 4;
869pub const PF_Cmd_SEQUENCE_SETUP: _bindgen_ty_20 = 5;
870pub const PF_Cmd_SEQUENCE_RESETUP: _bindgen_ty_20 = 6;
871pub const PF_Cmd_SEQUENCE_FLATTEN: _bindgen_ty_20 = 7;
872pub const PF_Cmd_SEQUENCE_SETDOWN: _bindgen_ty_20 = 8;
873pub const PF_Cmd_DO_DIALOG: _bindgen_ty_20 = 9;
874pub const PF_Cmd_FRAME_SETUP: _bindgen_ty_20 = 10;
875pub const PF_Cmd_RENDER: _bindgen_ty_20 = 11;
876pub const PF_Cmd_FRAME_SETDOWN: _bindgen_ty_20 = 12;
877pub const PF_Cmd_USER_CHANGED_PARAM: _bindgen_ty_20 = 13;
878pub const PF_Cmd_UPDATE_PARAMS_UI: _bindgen_ty_20 = 14;
879pub const PF_Cmd_EVENT: _bindgen_ty_20 = 15;
880pub const PF_Cmd_GET_EXTERNAL_DEPENDENCIES: _bindgen_ty_20 = 16;
881pub const PF_Cmd_COMPLETELY_GENERAL: _bindgen_ty_20 = 17;
882pub const PF_Cmd_QUERY_DYNAMIC_FLAGS: _bindgen_ty_20 = 18;
883pub const PF_Cmd_AUDIO_RENDER: _bindgen_ty_20 = 19;
884pub const PF_Cmd_AUDIO_SETUP: _bindgen_ty_20 = 20;
885pub const PF_Cmd_AUDIO_SETDOWN: _bindgen_ty_20 = 21;
886pub const PF_Cmd_ARBITRARY_CALLBACK: _bindgen_ty_20 = 22;
887pub const PF_Cmd_SMART_PRE_RENDER: _bindgen_ty_20 = 23;
888pub const PF_Cmd_SMART_RENDER: _bindgen_ty_20 = 24;
889pub const PF_Cmd_RESERVED1: _bindgen_ty_20 = 25;
890pub const PF_Cmd_RESERVED2: _bindgen_ty_20 = 26;
891pub const PF_Cmd_RESERVED3: _bindgen_ty_20 = 27;
892pub const PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: _bindgen_ty_20 = 28;
893pub const PF_Cmd_TRANSLATE_PARAMS_TO_PREFS: _bindgen_ty_20 = 29;
894pub const PF_Cmd_RESERVED4: _bindgen_ty_20 = 30;
895pub const PF_Cmd_SMART_RENDER_GPU: _bindgen_ty_20 = 31;
896pub const PF_Cmd_GPU_DEVICE_SETUP: _bindgen_ty_20 = 32;
897pub const PF_Cmd_GPU_DEVICE_SETDOWN: _bindgen_ty_20 = 33;
898pub const PF_Cmd_NUM_CMDS: _bindgen_ty_20 = 34;
899#[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!"]
900pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
901pub type PF_Cmd = A_long;
902#[repr(C)]
903#[derive(Debug, Copy, Clone)]
904pub struct _PF_LayerAudio {
905    _unused: [u8; 0],
906}
907#[doc = " -------------------- Simple Types --------------------"]
908pub type PF_LayerAudio = *mut _PF_LayerAudio;
909pub type PF_SndSamplePtr = *mut ::std::os::raw::c_void;
910#[repr(C)]
911#[derive(Debug, Copy, Clone)]
912pub struct PF_ProgressInfo {
913    _unused: [u8; 0],
914}
915pub type PF_ProgPtr = *mut PF_ProgressInfo;
916pub type PF_ParamValue = A_long;
917#[repr(C)]
918#[derive(Debug, Copy, Clone)]
919pub struct PF_SpecVersion {
920    pub major: A_short,
921    pub minor: A_short,
922}
923pub type PF_ParamIndex = A_long;
924pub type PF_UFixed = A_u_long;
925pub type PF_Fixed = Fixed;
926pub type PF_Boolean = Boolean;
927pub type PF_Handle = Handle;
928#[repr(C)]
929#[derive(Debug, Copy, Clone)]
930pub struct PF_Point {
931    pub h: A_long,
932    pub v: A_long,
933}
934#[repr(C)]
935#[derive(Debug, Copy, Clone)]
936pub struct PF_LRect {
937    pub left: A_long,
938    pub top: A_long,
939    pub right: A_long,
940    pub bottom: A_long,
941}
942pub type PF_Rect = PF_LRect;
943pub type PF_UnionableRect = PF_Rect;
944#[repr(C)]
945#[derive(Debug, Copy, Clone)]
946pub struct PF_RationalScale {
947    pub num: A_long,
948    pub den: A_u_long,
949}
950#[repr(C)]
951#[derive(Debug, Copy, Clone)]
952pub struct PF_FixedPoint {
953    pub x: PF_Fixed,
954    pub y: PF_Fixed,
955}
956#[repr(C)]
957#[derive(Debug, Copy, Clone)]
958pub struct PF_FixedRect {
959    pub left: PF_Fixed,
960    pub top: PF_Fixed,
961    pub right: PF_Fixed,
962    pub bottom: PF_Fixed,
963}
964#[repr(C)]
965#[derive(Debug, Copy, Clone)]
966pub struct PF_Matrix {
967    pub mat: [[PF_Fixed; 3usize]; 3usize],
968}
969pub type PF_TransferMode = A_long;
970pub type PF_XferMode = PF_TransferMode;
971#[repr(C)]
972#[derive(Debug, Copy, Clone)]
973pub struct PF_Pixel {
974    pub alpha: A_u_char,
975    pub red: A_u_char,
976    pub green: A_u_char,
977    pub blue: A_u_char,
978}
979pub type PF_Pixel8 = PF_Pixel;
980pub type PF_UnionablePixel = PF_Pixel;
981#[repr(C)]
982#[derive(Debug, Copy, Clone)]
983pub struct PF_Pixel16 {
984    pub alpha: A_u_short,
985    pub red: A_u_short,
986    pub green: A_u_short,
987    pub blue: A_u_short,
988}
989pub type PF_FpShort = A_FpShort;
990pub type PF_FpLong = A_FpLong;
991#[repr(C)]
992#[derive(Debug, Copy, Clone)]
993pub struct PF_PixelFloat {
994    pub alpha: PF_FpShort,
995    pub red: PF_FpShort,
996    pub green: PF_FpShort,
997    pub blue: PF_FpShort,
998}
999pub type PF_Pixel32 = PF_PixelFloat;
1000#[repr(C)]
1001#[derive(Debug, Copy, Clone)]
1002pub struct PF_FloatMatrix {
1003    pub mat: [[PF_FpLong; 3usize]; 3usize],
1004}
1005#[repr(C)]
1006#[derive(Debug, Copy, Clone)]
1007pub struct PF_CompositeMode {
1008    pub xfer: PF_TransferMode,
1009    pub rand_seed: A_long,
1010    pub opacity: A_u_char,
1011    pub rgb_only: PF_Boolean,
1012    pub opacitySu: A_u_short,
1013}
1014pub type PF_PixLong = A_u_long;
1015#[repr(C)]
1016#[derive(Debug, Copy, Clone)]
1017pub struct _PF_PixelOpaque {
1018    _unused: [u8; 0],
1019}
1020pub type PF_PixelOpaquePtr = *mut _PF_PixelOpaque;
1021pub type PF_PixelPtr = *mut PF_Pixel;
1022pub type PF_RGB_Pixel = [PF_Fixed; 3usize];
1023pub type PF_YIQ_Pixel = [PF_Fixed; 3usize];
1024pub type PF_HLS_Pixel = [PF_Fixed; 3usize];
1025pub type PF_ChannelType = A_long;
1026pub type PF_DataType = A_long;
1027#[doc = " for enumerating over all the channels"]
1028pub type PF_ChannelIndex = A_long;
1029#[repr(C)]
1030#[derive(Debug, Copy, Clone)]
1031pub struct PF_ChannelDesc {
1032    pub channel_type: PF_ChannelType,
1033    pub name: [A_char; 64usize],
1034    pub data_type: PF_DataType,
1035    pub dimension: A_long,
1036}
1037#[doc = " the opaque type representing the channel data"]
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct PF_ChannelRef {
1041    pub opaque: [A_intptr_t; 8usize],
1042}
1043#[doc = " the opaque type representing the channel data"]
1044pub type PF_ChannelRefPtr = *mut PF_ChannelRef;
1045#[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."]
1046#[repr(C)]
1047#[derive(Debug, Copy, Clone)]
1048pub struct PF_ChannelChunk {
1049    pub channel_ref: PF_ChannelRef,
1050    pub widthL: A_long,
1051    pub heightL: A_long,
1052    pub dimensionL: A_long,
1053    pub row_bytesL: A_long,
1054    pub data_type: PF_DataType,
1055    pub dataH: PF_Handle,
1056    pub dataPV: *mut ::std::os::raw::c_void,
1057}
1058pub const PF_LayerDefault_MYSELF: _bindgen_ty_21 = -1;
1059pub const PF_LayerDefault_NONE: _bindgen_ty_21 = 0;
1060#[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)."]
1061pub type _bindgen_ty_21 = ::std::os::raw::c_int;
1062#[repr(C)]
1063#[derive(Debug, Copy, Clone)]
1064pub struct PF_LayerDef {
1065    pub reserved0: *mut ::std::os::raw::c_void,
1066    pub reserved1: *mut ::std::os::raw::c_void,
1067    pub world_flags: PF_WorldFlags,
1068    pub data: PF_PixelPtr,
1069    pub rowbytes: A_long,
1070    pub width: A_long,
1071    pub height: A_long,
1072    pub extent_hint: PF_UnionableRect,
1073    pub platform_ref: *mut ::std::os::raw::c_void,
1074    pub reserved_long1: A_long,
1075    pub reserved_long4: *mut ::std::os::raw::c_void,
1076    pub pix_aspect_ratio: PF_RationalScale,
1077    pub reserved_long2: *mut ::std::os::raw::c_void,
1078    pub origin_x: A_long,
1079    pub origin_y: A_long,
1080    pub reserved_long3: A_long,
1081    pub dephault: A_long,
1082}
1083pub type PF_EffectWorld = PF_LayerDef;
1084pub const PF_UNSIGNED_PCM: _bindgen_ty_22 = 0;
1085pub const PF_SIGNED_PCM: _bindgen_ty_22 = 1;
1086pub const PF_SIGNED_FLOAT: _bindgen_ty_22 = 2;
1087pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
1088pub type PF_SoundFormat = A_short;
1089pub const PF_SSS_1: _bindgen_ty_23 = 1;
1090pub const PF_SSS_2: _bindgen_ty_23 = 2;
1091pub const PF_SSS_4: _bindgen_ty_23 = 4;
1092pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
1093pub type PF_SoundSampleSize = A_short;
1094pub const PF_Channels_MONO: _bindgen_ty_24 = 1;
1095pub const PF_Channels_STEREO: _bindgen_ty_24 = 2;
1096pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
1097pub type PF_SoundChannels = A_short;
1098#[repr(C)]
1099#[derive(Debug, Copy, Clone)]
1100pub struct PF_SoundFormatInfo {
1101    pub rateF: PF_FpLong,
1102    pub num_channels: PF_SoundChannels,
1103    pub format: PF_SoundFormat,
1104    pub sample_size: PF_SoundSampleSize,
1105}
1106#[repr(C)]
1107#[derive(Debug, Copy, Clone)]
1108pub struct PF_SoundWorld {
1109    pub fi: PF_SoundFormatInfo,
1110    pub num_samples: A_long,
1111    pub dataP: *mut ::std::os::raw::c_void,
1112}
1113pub const PF_ValueDisplayFlag_NONE: _bindgen_ty_25 = 0;
1114pub const PF_ValueDisplayFlag_PERCENT: _bindgen_ty_25 = 1;
1115pub const PF_ValueDisplayFlag_PIXEL: _bindgen_ty_25 = 2;
1116pub const PF_ValueDisplayFlag_RESERVED1: _bindgen_ty_25 = 4;
1117pub const PF_ValueDisplayFlag_REVERSE: _bindgen_ty_25 = 8;
1118pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
1119pub type PF_ValueDisplayFlags = A_short;
1120#[doc = " Slider -- PF_Param_SLIDER"]
1121#[repr(C)]
1122#[derive(Debug, Copy, Clone)]
1123pub struct PF_SliderDef {
1124    pub value: PF_ParamValue,
1125    pub value_str: [A_char; 32usize],
1126    pub value_desc: [A_char; 32usize],
1127    pub valid_min: PF_ParamValue,
1128    pub valid_max: PF_ParamValue,
1129    pub slider_min: PF_ParamValue,
1130    pub slider_max: PF_ParamValue,
1131    pub dephault: PF_ParamValue,
1132}
1133#[doc = " Fixed Point Slider -- PF_Param_FIX_SLIDER"]
1134#[repr(C)]
1135#[derive(Debug, Copy, Clone)]
1136pub struct PF_FixedSliderDef {
1137    pub value: PF_Fixed,
1138    pub value_str: [A_char; 32usize],
1139    pub value_desc: [A_char; 32usize],
1140    pub valid_min: PF_Fixed,
1141    pub valid_max: PF_Fixed,
1142    pub slider_min: PF_Fixed,
1143    pub slider_max: PF_Fixed,
1144    pub dephault: PF_Fixed,
1145    pub precision: A_short,
1146    pub display_flags: PF_ValueDisplayFlags,
1147}
1148pub const PF_FSliderFlag_NONE: _bindgen_ty_26 = 0;
1149pub const PF_FSliderFlag_WANT_PHASE: _bindgen_ty_26 = 1;
1150pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
1151pub type PF_FSliderFlags = A_u_long;
1152#[doc = " Floating Point Slider -- PF_Param_FLOAT_SLIDER"]
1153#[repr(C)]
1154#[derive(Debug, Copy, Clone)]
1155pub struct PF_FloatSliderDef {
1156    pub value: PF_FpLong,
1157    pub phase: PF_FpLong,
1158    pub value_desc: [A_char; 32usize],
1159    pub valid_min: PF_FpShort,
1160    pub valid_max: PF_FpShort,
1161    pub slider_min: PF_FpShort,
1162    pub slider_max: PF_FpShort,
1163    pub dephault: PF_FpShort,
1164    pub precision: A_short,
1165    pub display_flags: PF_ValueDisplayFlags,
1166    pub fs_flags: PF_FSliderFlags,
1167    pub curve_tolerance: PF_FpShort,
1168    pub useExponent: PF_Boolean,
1169    pub exponent: PF_FpShort,
1170}
1171#[doc = " Angle -- PF_Param_ANGLE"]
1172#[repr(C)]
1173#[derive(Debug, Copy, Clone)]
1174pub struct PF_AngleDef {
1175    pub value: PF_Fixed,
1176    pub dephault: PF_Fixed,
1177    pub valid_min: PF_Fixed,
1178    pub valid_max: PF_Fixed,
1179}
1180#[doc = " CheckBox -- PF_Param_CHECKBOX"]
1181#[repr(C)]
1182#[derive(Copy, Clone)]
1183pub struct PF_CheckBoxDef {
1184    pub value: PF_ParamValue,
1185    pub dephault: PF_Boolean,
1186    pub reserved: A_char,
1187    pub reserved1: A_short,
1188    pub u: PF_CheckBoxDef__bindgen_ty_1,
1189}
1190#[repr(C)]
1191#[derive(Copy, Clone)]
1192pub union PF_CheckBoxDef__bindgen_ty_1 {
1193    pub nameptr: *const A_char,
1194}
1195#[doc = " Color -- PF_Param_COLOR"]
1196#[repr(C)]
1197#[derive(Debug, Copy, Clone)]
1198pub struct PF_ColorDef {
1199    pub value: PF_UnionablePixel,
1200    pub dephault: PF_UnionablePixel,
1201}
1202#[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."]
1203#[repr(C)]
1204#[derive(Debug, Copy, Clone)]
1205pub struct PF_PointDef {
1206    pub x_value: PF_Fixed,
1207    pub y_value: PF_Fixed,
1208    pub reserved: [A_char; 3usize],
1209    pub restrict_bounds: PF_Boolean,
1210    pub x_dephault: PF_Fixed,
1211    pub y_dephault: PF_Fixed,
1212}
1213#[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)."]
1214#[repr(C)]
1215#[derive(Debug, Copy, Clone)]
1216pub struct PF_Point3DDef {
1217    pub x_value: PF_FpLong,
1218    pub y_value: PF_FpLong,
1219    pub z_value: PF_FpLong,
1220    pub x_dephault: PF_FpLong,
1221    pub y_dephault: PF_FpLong,
1222    pub z_dephault: PF_FpLong,
1223    pub reserved: [::std::os::raw::c_char; 16usize],
1224}
1225#[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"]
1226#[repr(C)]
1227#[derive(Copy, Clone)]
1228pub struct PF_PopupDef {
1229    pub value: PF_ParamValue,
1230    pub num_choices: A_short,
1231    pub dephault: A_short,
1232    pub u: PF_PopupDef__bindgen_ty_1,
1233}
1234#[repr(C)]
1235#[derive(Copy, Clone)]
1236pub union PF_PopupDef__bindgen_ty_1 {
1237    pub namesptr: *const A_char,
1238}
1239#[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"]
1240#[repr(C)]
1241#[derive(Copy, Clone)]
1242pub struct PF_ButtonDef {
1243    pub value: PF_ParamValue,
1244    pub u: PF_ButtonDef__bindgen_ty_1,
1245}
1246#[repr(C)]
1247#[derive(Copy, Clone)]
1248pub union PF_ButtonDef__bindgen_ty_1 {
1249    pub namesptr: *const A_char,
1250}
1251pub const PF_PathID_NONE: _bindgen_ty_27 = 0;
1252pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
1253pub type PF_PathID = A_u_long;
1254pub const PF_MaskMode_NONE: _bindgen_ty_28 = 0;
1255pub const PF_MaskMode_ADD: _bindgen_ty_28 = 1;
1256pub const PF_MaskMode_SUBTRACT: _bindgen_ty_28 = 2;
1257pub const PF_MaskMode_INTERSECT: _bindgen_ty_28 = 3;
1258pub const PF_MaskMode_LIGHTEN: _bindgen_ty_28 = 4;
1259pub const PF_MaskMode_DARKEN: _bindgen_ty_28 = 5;
1260pub const PF_MaskMode_DIFFERENCE: _bindgen_ty_28 = 6;
1261pub const PF_MaskMode_ACCUM: _bindgen_ty_28 = 7;
1262pub const PF_NUM_MASKMODES: _bindgen_ty_28 = 8;
1263pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
1264pub type PF_MaskMode = A_long;
1265#[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"]
1266#[repr(C)]
1267#[derive(Debug, Copy, Clone)]
1268pub struct PF_PathDef {
1269    pub path_id: PF_PathID,
1270    pub reserved0: A_long,
1271    pub dephault: A_long,
1272}
1273pub type PF_ArbitraryH = PF_Handle;
1274#[repr(C)]
1275#[derive(Debug, Copy, Clone)]
1276pub struct PF_ArbitraryDef {
1277    pub id: A_short,
1278    pub pad: A_short,
1279    pub dephault: PF_ArbitraryH,
1280    pub value: PF_ArbitraryH,
1281    pub refconPV: *mut ::std::os::raw::c_void,
1282}
1283pub const PF_Arbitrary_NEW_FUNC: _bindgen_ty_29 = 0;
1284pub const PF_Arbitrary_DISPOSE_FUNC: _bindgen_ty_29 = 1;
1285pub const PF_Arbitrary_COPY_FUNC: _bindgen_ty_29 = 2;
1286pub const PF_Arbitrary_FLAT_SIZE_FUNC: _bindgen_ty_29 = 3;
1287pub const PF_Arbitrary_FLATTEN_FUNC: _bindgen_ty_29 = 4;
1288pub const PF_Arbitrary_UNFLATTEN_FUNC: _bindgen_ty_29 = 5;
1289pub const PF_Arbitrary_INTERP_FUNC: _bindgen_ty_29 = 6;
1290pub const PF_Arbitrary_COMPARE_FUNC: _bindgen_ty_29 = 7;
1291pub const PF_Arbitrary_PRINT_SIZE_FUNC: _bindgen_ty_29 = 8;
1292pub const PF_Arbitrary_PRINT_FUNC: _bindgen_ty_29 = 9;
1293pub const PF_Arbitrary_SCAN_FUNC: _bindgen_ty_29 = 10;
1294pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
1295pub type PF_FunctionSelector = A_long;
1296pub const PF_ArbCompare_EQUAL: _bindgen_ty_30 = 0;
1297pub const PF_ArbCompare_LESS: _bindgen_ty_30 = 1;
1298pub const PF_ArbCompare_MORE: _bindgen_ty_30 = 2;
1299pub const PF_ArbCompare_NOT_EQUAL: _bindgen_ty_30 = 3;
1300pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
1301pub type PF_ArbCompareResult = A_long;
1302pub const PF_ArbPrint_NONE: _bindgen_ty_31 = 0;
1303pub const PF_ArbPrint_ABBREVIATED: _bindgen_ty_31 = 1;
1304pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
1305pub type PF_ArbPrintFlags = A_long;
1306#[repr(C)]
1307#[derive(Copy, Clone)]
1308pub struct PF_ArbParamsExtra {
1309    pub which_function: PF_FunctionSelector,
1310    pub id: A_short,
1311    pub padding: A_short,
1312    pub u: PF_ArbParamsExtra__bindgen_ty_1,
1313}
1314#[repr(C)]
1315#[derive(Copy, Clone)]
1316pub union PF_ArbParamsExtra__bindgen_ty_1 {
1317    pub new_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1,
1318    pub dispose_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2,
1319    pub copy_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3,
1320    pub flat_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4,
1321    pub flatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5,
1322    pub unflatten_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6,
1323    pub interp_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7,
1324    pub compare_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8,
1325    pub print_size_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9,
1326    pub print_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10,
1327    pub scan_func_params: PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11,
1328}
1329#[repr(C)]
1330#[derive(Debug, Copy, Clone)]
1331pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_1 {
1332    pub refconPV: *mut ::std::os::raw::c_void,
1333    pub arbPH: *mut PF_ArbitraryH,
1334}
1335#[repr(C)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_2 {
1338    pub refconPV: *mut ::std::os::raw::c_void,
1339    pub arbH: PF_ArbitraryH,
1340}
1341#[repr(C)]
1342#[derive(Debug, Copy, Clone)]
1343pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_3 {
1344    pub refconPV: *mut ::std::os::raw::c_void,
1345    pub src_arbH: PF_ArbitraryH,
1346    pub dst_arbPH: *mut PF_ArbitraryH,
1347}
1348#[repr(C)]
1349#[derive(Debug, Copy, Clone)]
1350pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_4 {
1351    pub refconPV: *mut ::std::os::raw::c_void,
1352    pub arbH: PF_ArbitraryH,
1353    pub flat_data_sizePLu: *mut A_u_long,
1354}
1355#[repr(C)]
1356#[derive(Debug, Copy, Clone)]
1357pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_5 {
1358    pub refconPV: *mut ::std::os::raw::c_void,
1359    pub arbH: PF_ArbitraryH,
1360    pub buf_sizeLu: A_u_long,
1361    pub flat_dataPV: *mut ::std::os::raw::c_void,
1362}
1363#[repr(C)]
1364#[derive(Debug, Copy, Clone)]
1365pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_6 {
1366    pub refconPV: *mut ::std::os::raw::c_void,
1367    pub buf_sizeLu: A_u_long,
1368    pub flat_dataPV: *const ::std::os::raw::c_void,
1369    pub arbPH: *mut PF_ArbitraryH,
1370}
1371#[repr(C)]
1372#[derive(Debug, Copy, Clone)]
1373pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_7 {
1374    pub refconPV: *mut ::std::os::raw::c_void,
1375    pub left_arbH: PF_ArbitraryH,
1376    pub right_arbH: PF_ArbitraryH,
1377    pub tF: PF_FpLong,
1378    pub interpPH: *mut PF_ArbitraryH,
1379}
1380#[repr(C)]
1381#[derive(Debug, Copy, Clone)]
1382pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_8 {
1383    pub refconPV: *mut ::std::os::raw::c_void,
1384    pub a_arbH: PF_ArbitraryH,
1385    pub b_arbH: PF_ArbitraryH,
1386    pub compareP: *mut PF_ArbCompareResult,
1387}
1388#[repr(C)]
1389#[derive(Debug, Copy, Clone)]
1390pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_9 {
1391    pub refconPV: *mut ::std::os::raw::c_void,
1392    pub arbH: PF_ArbitraryH,
1393    pub print_sizePLu: *mut A_u_long,
1394}
1395#[repr(C)]
1396#[derive(Debug, Copy, Clone)]
1397pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_10 {
1398    pub refconPV: *mut ::std::os::raw::c_void,
1399    pub print_flags: PF_ArbPrintFlags,
1400    pub arbH: PF_ArbitraryH,
1401    pub print_sizeLu: A_u_long,
1402    pub print_bufferPC: *mut A_char,
1403}
1404#[repr(C)]
1405#[derive(Debug, Copy, Clone)]
1406pub struct PF_ArbParamsExtra__bindgen_ty_1__bindgen_ty_11 {
1407    pub refconPV: *mut ::std::os::raw::c_void,
1408    pub bufPC: *const A_char,
1409    pub bytes_to_scanLu: A_u_long,
1410    pub arbPH: *mut PF_ArbitraryH,
1411}
1412#[repr(C)]
1413#[derive(Debug, Copy, Clone)]
1414pub struct PF_UserChangedParamExtra {
1415    pub param_index: PF_ParamIndex,
1416}
1417#[repr(C)]
1418#[derive(Debug, Copy, Clone)]
1419pub struct PF_ImporterPrefsData {
1420    _unused: [u8; 0],
1421}
1422pub type PF_ImporterPrefsDataPtr = *mut PF_ImporterPrefsData;
1423#[repr(C)]
1424#[derive(Debug, Copy, Clone)]
1425pub struct PF_TranslateParamsToPrefsExtra {
1426    pub prefsPC: PF_ImporterPrefsDataPtr,
1427    pub prefs_sizeLu: A_u_long,
1428}
1429pub const PF_DepCheckType_NONE: _bindgen_ty_32 = 0;
1430pub const PF_DepCheckType_ALL_DEPENDENCIES: _bindgen_ty_32 = 1;
1431pub const PF_DepCheckType_MISSING_DEPENDENCIES: _bindgen_ty_32 = 2;
1432pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
1433pub type PF_DepCheckType = A_long;
1434#[repr(C)]
1435#[derive(Debug, Copy, Clone)]
1436pub struct PF_ExtDependenciesExtra {
1437    pub check_type: PF_DepCheckType,
1438    pub dependencies_strH: PF_Handle,
1439}
1440#[repr(C)]
1441#[derive(Copy, Clone)]
1442pub union PF_ParamDefUnion {
1443    pub ld: PF_LayerDef,
1444    pub sd: PF_SliderDef,
1445    pub fd: PF_FixedSliderDef,
1446    pub ad: PF_AngleDef,
1447    pub bd: PF_CheckBoxDef,
1448    pub cd: PF_ColorDef,
1449    pub td: PF_PointDef,
1450    pub pd: PF_PopupDef,
1451    pub fs_d: PF_FloatSliderDef,
1452    pub arb_d: PF_ArbitraryDef,
1453    pub path_d: PF_PathDef,
1454    pub button_d: PF_ButtonDef,
1455    pub point3d_d: PF_Point3DDef,
1456}
1457pub const PF_PUI_NONE: _bindgen_ty_33 = 0;
1458pub const PF_PUI_TOPIC: _bindgen_ty_33 = 1;
1459pub const PF_PUI_CONTROL: _bindgen_ty_33 = 2;
1460pub const PF_PUI_STD_CONTROL_ONLY: _bindgen_ty_33 = 4;
1461pub const PF_PUI_NO_ECW_UI: _bindgen_ty_33 = 8;
1462pub const PF_PUI_ECW_SEPARATOR: _bindgen_ty_33 = 16;
1463pub const PF_PUI_DISABLED: _bindgen_ty_33 = 32;
1464pub const PF_PUI_DONT_ERASE_TOPIC: _bindgen_ty_33 = 64;
1465pub const PF_PUI_DONT_ERASE_CONTROL: _bindgen_ty_33 = 128;
1466pub const PF_PUI_RADIO_BUTTON: _bindgen_ty_33 = 256;
1467pub const PF_PUI_INVISIBLE: _bindgen_ty_33 = 512;
1468#[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."]
1469pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
1470pub type PF_ParamUIFlags = A_long;
1471pub const PF_ChangeFlag_NONE: _bindgen_ty_34 = 0;
1472pub const PF_ChangeFlag_CHANGED_VALUE: _bindgen_ty_34 = 1;
1473pub const PF_ChangeFlag_RESERVED: _bindgen_ty_34 = 2;
1474pub const PF_ChangeFlag_SET_TO_VARY: _bindgen_ty_34 = 4;
1475pub const PF_ChangeFlag_SET_TO_CONSTANT: _bindgen_ty_34 = 8;
1476#[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."]
1477pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
1478pub type PF_ChangeFlags = A_long;
1479#[doc = " ParamDef"]
1480#[repr(C)]
1481#[derive(Copy, Clone)]
1482pub struct PF_ParamDef {
1483    pub uu: PF_ParamDef__bindgen_ty_1,
1484    pub ui_flags: PF_ParamUIFlags,
1485    pub ui_width: A_short,
1486    pub ui_height: A_short,
1487    pub param_type: PF_ParamType,
1488    pub name: [A_char; 32usize],
1489    pub flags: PF_ParamFlags,
1490    pub unused: A_long,
1491    pub u: PF_ParamDefUnion,
1492}
1493#[repr(C)]
1494#[derive(Copy, Clone)]
1495pub union PF_ParamDef__bindgen_ty_1 {
1496    pub id: A_long,
1497    pub change_flags: PF_ChangeFlags,
1498}
1499#[doc = " ParamDef"]
1500pub type PF_ParamDefPtr = *mut PF_ParamDef;
1501#[doc = " ParamDef"]
1502pub type PF_ParamDefH = *mut *mut PF_ParamDef;
1503pub type PF_ParamList = *mut *mut PF_ParamDef;
1504pub const PF_ChannelMask_ALPHA: _bindgen_ty_35 = 1;
1505pub const PF_ChannelMask_RED: _bindgen_ty_35 = 2;
1506pub const PF_ChannelMask_GREEN: _bindgen_ty_35 = 4;
1507pub const PF_ChannelMask_BLUE: _bindgen_ty_35 = 8;
1508pub const PF_ChannelMask_ARGB: _bindgen_ty_35 = 15;
1509#[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"]
1510pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
1511pub type PF_ChannelMask = A_long;
1512pub const PF_GPU_Framework_NONE: _bindgen_ty_36 = 0;
1513pub const PF_GPU_Framework_OPENCL: _bindgen_ty_36 = 1;
1514pub const PF_GPU_Framework_METAL: _bindgen_ty_36 = 2;
1515pub const PF_GPU_Framework_CUDA: _bindgen_ty_36 = 3;
1516pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
1517pub type PF_GPU_Framework = A_long;
1518#[repr(C)]
1519#[derive(Debug, Copy, Clone)]
1520pub struct PF_RenderRequest {
1521    pub rect: PF_LRect,
1522    pub field: PF_Field,
1523    pub channel_mask: PF_ChannelMask,
1524    pub preserve_rgb_of_zero_alpha: PF_Boolean,
1525    pub unused: [::std::os::raw::c_char; 3usize],
1526    pub reserved: [A_long; 4usize],
1527}
1528#[repr(C)]
1529#[derive(Debug, Copy, Clone)]
1530pub struct PF_PreRenderInput {
1531    pub output_request: PF_RenderRequest,
1532    pub bitdepth: ::std::os::raw::c_short,
1533    pub gpu_data: *const ::std::os::raw::c_void,
1534    pub what_gpu: PF_GPU_Framework,
1535    pub device_index: A_u_long,
1536}
1537pub type PF_DeletePreRenderDataFunc =
1538    ::std::option::Option<unsafe extern "C" fn(pre_render_data: *mut ::std::os::raw::c_void)>;
1539pub const PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS: _bindgen_ty_37 = 1;
1540pub const PF_RenderOutputFlag_GPU_RENDER_POSSIBLE: _bindgen_ty_37 = 2;
1541pub const PF_RenderOutputFlag_RESERVED1: _bindgen_ty_37 = 4;
1542pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
1543pub type PF_RenderOutputFlags = ::std::os::raw::c_short;
1544#[repr(C)]
1545#[derive(Debug, Copy, Clone)]
1546pub struct PF_PreRenderOutput {
1547    pub result_rect: PF_LRect,
1548    pub max_result_rect: PF_LRect,
1549    pub solid: PF_Boolean,
1550    pub reserved: PF_Boolean,
1551    pub flags: PF_RenderOutputFlags,
1552    pub pre_render_data: *mut ::std::os::raw::c_void,
1553    pub delete_pre_render_data_func: PF_DeletePreRenderDataFunc,
1554}
1555#[repr(C)]
1556#[derive(Debug, Copy, Clone)]
1557pub struct PF_CheckoutResult {
1558    pub result_rect: PF_LRect,
1559    pub max_result_rect: PF_LRect,
1560    pub par: PF_RationalScale,
1561    pub solid: PF_Boolean,
1562    pub reservedB: [PF_Boolean; 3usize],
1563    pub ref_width: A_long,
1564    pub ref_height: A_long,
1565    pub reserved: [A_long; 6usize],
1566}
1567#[repr(C)]
1568#[derive(Debug, Copy, Clone)]
1569pub struct PF_PreRenderCallbacks {
1570    pub checkout_layer: ::std::option::Option<
1571        unsafe extern "C" fn(
1572            effect_ref: PF_ProgPtr,
1573            index: PF_ParamIndex,
1574            checkout_idL: A_long,
1575            req: *const PF_RenderRequest,
1576            what_time: A_long,
1577            time_step: A_long,
1578            time_scale: A_u_long,
1579            checkout_result: *mut PF_CheckoutResult,
1580        ) -> PF_Err,
1581    >,
1582    pub GuidMixInPtr: ::std::option::Option<
1583        unsafe extern "C" fn(
1584            effect_ref: PF_ProgPtr,
1585            buf_sizeLu: A_u_long,
1586            buf: *const ::std::os::raw::c_void,
1587        ) -> PF_Err,
1588    >,
1589}
1590#[repr(C)]
1591#[derive(Debug, Copy, Clone)]
1592pub struct PF_PreRenderExtra {
1593    pub input: *mut PF_PreRenderInput,
1594    pub output: *mut PF_PreRenderOutput,
1595    pub cb: *mut PF_PreRenderCallbacks,
1596}
1597#[repr(C)]
1598#[derive(Debug, Copy, Clone)]
1599pub struct PF_SmartRenderInput {
1600    pub output_request: PF_RenderRequest,
1601    pub bitdepth: ::std::os::raw::c_short,
1602    pub pre_render_data: *mut ::std::os::raw::c_void,
1603    pub gpu_data: *const ::std::os::raw::c_void,
1604    pub what_gpu: PF_GPU_Framework,
1605    pub device_index: A_u_long,
1606}
1607#[repr(C)]
1608#[derive(Debug, Copy, Clone)]
1609pub struct PF_SmartRenderCallbacks {
1610    pub checkout_layer_pixels: ::std::option::Option<
1611        unsafe extern "C" fn(
1612            effect_ref: PF_ProgPtr,
1613            checkout_idL: A_long,
1614            pixels: *mut *mut PF_EffectWorld,
1615        ) -> PF_Err,
1616    >,
1617    pub checkin_layer_pixels: ::std::option::Option<
1618        unsafe extern "C" fn(effect_ref: PF_ProgPtr, checkout_idL: A_long) -> PF_Err,
1619    >,
1620    pub checkout_output: ::std::option::Option<
1621        unsafe extern "C" fn(effect_ref: PF_ProgPtr, output: *mut *mut PF_EffectWorld) -> PF_Err,
1622    >,
1623}
1624#[repr(C)]
1625#[derive(Debug, Copy, Clone)]
1626pub struct PF_SmartRenderExtra {
1627    pub input: *mut PF_SmartRenderInput,
1628    pub cb: *mut PF_SmartRenderCallbacks,
1629}
1630#[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"]
1631#[repr(C)]
1632#[derive(Debug, Copy, Clone)]
1633pub struct PF_GPUDeviceSetupInput {
1634    pub what_gpu: PF_GPU_Framework,
1635    pub device_index: A_u_long,
1636}
1637#[repr(C)]
1638#[derive(Debug, Copy, Clone)]
1639pub struct PF_GPUDeviceSetupOutput {
1640    pub gpu_data: *mut ::std::os::raw::c_void,
1641}
1642#[repr(C)]
1643#[derive(Debug, Copy, Clone)]
1644pub struct PF_GPUDeviceSetupExtra {
1645    pub input: *mut PF_GPUDeviceSetupInput,
1646    pub output: *mut PF_GPUDeviceSetupOutput,
1647}
1648#[repr(C)]
1649#[derive(Debug, Copy, Clone)]
1650pub struct PF_GPUDeviceSetdownInput {
1651    pub gpu_data: *mut ::std::os::raw::c_void,
1652    pub what_gpu: PF_GPU_Framework,
1653    pub device_index: A_u_long,
1654}
1655#[repr(C)]
1656#[derive(Debug, Copy, Clone)]
1657pub struct PF_GPUDeviceSetdownExtra {
1658    pub input: *mut PF_GPUDeviceSetdownInput,
1659}
1660#[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."]
1661pub type PF_CustomUIInfo = _PF_CustomUIInfo;
1662#[repr(C)]
1663#[derive(Debug, Copy, Clone)]
1664pub struct PF_InteractCallbacks {
1665    pub checkout_param: ::std::option::Option<
1666        unsafe extern "C" fn(
1667            effect_ref: PF_ProgPtr,
1668            index: PF_ParamIndex,
1669            what_time: A_long,
1670            time_step: A_long,
1671            time_scale: A_u_long,
1672            param: *mut PF_ParamDef,
1673        ) -> PF_Err,
1674    >,
1675    pub checkin_param: ::std::option::Option<
1676        unsafe extern "C" fn(effect_ref: PF_ProgPtr, param: *mut PF_ParamDef) -> PF_Err,
1677    >,
1678    pub add_param: ::std::option::Option<
1679        unsafe extern "C" fn(
1680            effect_ref: PF_ProgPtr,
1681            index: PF_ParamIndex,
1682            def: PF_ParamDefPtr,
1683        ) -> PF_Err,
1684    >,
1685    pub abort: ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
1686    pub progress: ::std::option::Option<
1687        unsafe extern "C" fn(effect_ref: PF_ProgPtr, current: A_long, total: A_long) -> PF_Err,
1688    >,
1689    pub register_ui: ::std::option::Option<
1690        unsafe extern "C" fn(effect_ref: PF_ProgPtr, cust_info: *mut PF_CustomUIInfo) -> PF_Err,
1691    >,
1692    pub checkout_layer_audio: ::std::option::Option<
1693        unsafe extern "C" fn(
1694            effect_ref: PF_ProgPtr,
1695            index: PF_ParamIndex,
1696            start_time: A_long,
1697            duration: A_long,
1698            time_scale: A_u_long,
1699            rate: PF_UFixed,
1700            bytes_per_sample: A_long,
1701            num_channels: A_long,
1702            fmt_signed: A_long,
1703            audio: *mut PF_LayerAudio,
1704        ) -> PF_Err,
1705    >,
1706    pub checkin_layer_audio: ::std::option::Option<
1707        unsafe extern "C" fn(effect_ref: PF_ProgPtr, audio: PF_LayerAudio) -> PF_Err,
1708    >,
1709    pub get_audio_data: ::std::option::Option<
1710        unsafe extern "C" fn(
1711            effect_ref: PF_ProgPtr,
1712            audio: PF_LayerAudio,
1713            data0: *mut PF_SndSamplePtr,
1714            num_samples0: *mut A_long,
1715            rate0: *mut PF_UFixed,
1716            bytes_per_sample0: *mut A_long,
1717            num_channels0: *mut A_long,
1718            fmt_signed0: *mut A_long,
1719        ) -> PF_Err,
1720    >,
1721    pub reserved_str: [*mut ::std::os::raw::c_void; 3usize],
1722    pub reserved: [*mut ::std::os::raw::c_void; 10usize],
1723}
1724#[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)."]
1725#[repr(C)]
1726#[derive(Debug, Copy, Clone)]
1727pub struct PF_OutData {
1728    pub my_version: A_u_long,
1729    pub name: [A_char; 32usize],
1730    pub global_data: PF_Handle,
1731    pub num_params: A_long,
1732    pub sequence_data: PF_Handle,
1733    pub flat_sdata_size: A_long,
1734    pub frame_data: PF_Handle,
1735    pub width: A_long,
1736    pub height: A_long,
1737    pub origin: PF_Point,
1738    pub out_flags: PF_OutFlags,
1739    pub return_msg: [A_char; 256usize],
1740    pub start_sampL: A_long,
1741    pub dur_sampL: A_long,
1742    pub dest_snd: PF_SoundWorld,
1743    pub out_flags2: PF_OutFlags2,
1744}
1745#[repr(C)]
1746#[derive(Debug, Copy, Clone)]
1747pub struct PF_InData {
1748    pub inter: PF_InteractCallbacks,
1749    pub utils: *mut _PF_UtilCallbacks,
1750    pub effect_ref: PF_ProgPtr,
1751    pub quality: PF_Quality,
1752    pub version: PF_SpecVersion,
1753    pub serial_num: A_long,
1754    pub appl_id: A_long,
1755    pub num_params: A_long,
1756    pub reserved: A_long,
1757    pub what_cpu: A_long,
1758    pub what_fpu: A_long,
1759    pub current_time: A_long,
1760    pub time_step: A_long,
1761    pub total_time: A_long,
1762    pub local_time_step: A_long,
1763    pub time_scale: A_u_long,
1764    pub field: PF_Field,
1765    pub shutter_angle: PF_Fixed,
1766    pub width: A_long,
1767    pub height: A_long,
1768    pub extent_hint: PF_Rect,
1769    pub output_origin_x: A_long,
1770    pub output_origin_y: A_long,
1771    pub downsample_x: PF_RationalScale,
1772    pub downsample_y: PF_RationalScale,
1773    pub pixel_aspect_ratio: PF_RationalScale,
1774    pub in_flags: PF_InFlags,
1775    pub global_data: PF_Handle,
1776    pub sequence_data: PF_Handle,
1777    pub frame_data: PF_Handle,
1778    pub start_sampL: A_long,
1779    pub dur_sampL: A_long,
1780    pub total_sampL: A_long,
1781    pub src_snd: PF_SoundWorld,
1782    pub pica_basicP: *mut SPBasicSuite,
1783    pub pre_effect_source_origin_x: A_long,
1784    pub pre_effect_source_origin_y: A_long,
1785    pub shutter_phase: PF_Fixed,
1786}
1787#[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!"]
1788pub type PF_FilterProc = ::std::option::Option<
1789    unsafe extern "C" fn(
1790        cmd: PF_Cmd,
1791        in_data: *mut PF_InData,
1792        out_data: *mut PF_OutData,
1793        params: PF_ParamList,
1794        output: *mut PF_LayerDef,
1795        extra: *mut ::std::os::raw::c_void,
1796    ) -> PF_Err,
1797>;
1798#[repr(C)]
1799#[derive(Debug, Copy, Clone)]
1800pub struct _DRAWBOT_DrawRef {
1801    _unused: [u8; 0],
1802}
1803pub type DRAWBOT_DrawRef = *mut _DRAWBOT_DrawRef;
1804#[repr(C)]
1805#[derive(Debug, Copy, Clone)]
1806pub struct _DRAWBOT_SupplierRef {
1807    _unused: [u8; 0],
1808}
1809pub type DRAWBOT_SupplierRef = *mut _DRAWBOT_SupplierRef;
1810#[repr(C)]
1811#[derive(Debug, Copy, Clone)]
1812pub struct _DRAWBOT_SurfaceRef {
1813    _unused: [u8; 0],
1814}
1815pub type DRAWBOT_SurfaceRef = *mut _DRAWBOT_SurfaceRef;
1816#[repr(C)]
1817#[derive(Debug, Copy, Clone)]
1818pub struct _DRAWBOT_PenRef {
1819    _unused: [u8; 0],
1820}
1821pub type DRAWBOT_PenRef = *mut _DRAWBOT_PenRef;
1822#[repr(C)]
1823#[derive(Debug, Copy, Clone)]
1824pub struct _DRAWBOT_PathRef {
1825    _unused: [u8; 0],
1826}
1827pub type DRAWBOT_PathRef = *mut _DRAWBOT_PathRef;
1828#[repr(C)]
1829#[derive(Debug, Copy, Clone)]
1830pub struct _DRAWBOT_BrushRef {
1831    _unused: [u8; 0],
1832}
1833pub type DRAWBOT_BrushRef = *mut _DRAWBOT_BrushRef;
1834#[repr(C)]
1835#[derive(Debug, Copy, Clone)]
1836pub struct _DRAWBOT_ImageRef {
1837    _unused: [u8; 0],
1838}
1839pub type DRAWBOT_ImageRef = *mut _DRAWBOT_ImageRef;
1840#[repr(C)]
1841#[derive(Debug, Copy, Clone)]
1842pub struct _DRAWBOT_FontRef {
1843    _unused: [u8; 0],
1844}
1845pub type DRAWBOT_FontRef = *mut _DRAWBOT_FontRef;
1846#[repr(C)]
1847#[derive(Debug, Copy, Clone)]
1848pub struct _DRAWBOT_ObjectRef {
1849    _unused: [u8; 0],
1850}
1851pub type DRAWBOT_ObjectRef = *mut _DRAWBOT_ObjectRef;
1852#[repr(C)]
1853#[derive(Debug, Copy, Clone)]
1854pub struct DRAWBOT_ColorRGBA {
1855    pub red: f32,
1856    pub green: f32,
1857    pub blue: f32,
1858    pub alpha: f32,
1859}
1860#[repr(C)]
1861#[derive(Debug, Copy, Clone)]
1862pub struct DRAWBOT_PointF32 {
1863    pub x: f32,
1864    pub y: f32,
1865}
1866#[repr(C)]
1867#[derive(Debug, Copy, Clone)]
1868pub struct DRAWBOT_RectF32 {
1869    pub left: f32,
1870    pub top: f32,
1871    pub width: f32,
1872    pub height: f32,
1873}
1874#[repr(C)]
1875#[derive(Debug, Copy, Clone)]
1876pub struct DRAWBOT_Rect32 {
1877    pub left: ::std::os::raw::c_int,
1878    pub top: ::std::os::raw::c_int,
1879    pub width: ::std::os::raw::c_int,
1880    pub height: ::std::os::raw::c_int,
1881}
1882#[repr(C)]
1883#[derive(Debug, Copy, Clone)]
1884pub struct DRAWBOT_MatrixF32 {
1885    pub mat: [[f32; 3usize]; 3usize],
1886}
1887pub const kDRAWBOT_FillType_EvenOdd: _bindgen_ty_38 = 0;
1888pub const kDRAWBOT_FillType_Winding: _bindgen_ty_38 = 1;
1889pub const kDRAWBOT_FillType_Default: _bindgen_ty_38 = 1;
1890pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
1891pub type DRAWBOT_FillType = ::std::os::raw::c_int;
1892pub const kDRAWBOT_PixelLayout_24RGB: _bindgen_ty_39 = 0;
1893pub const kDRAWBOT_PixelLayout_24BGR: _bindgen_ty_39 = 1;
1894pub const kDRAWBOT_PixelLayout_32RGB: _bindgen_ty_39 = 2;
1895pub const kDRAWBOT_PixelLayout_32BGR: _bindgen_ty_39 = 3;
1896pub const kDRAWBOT_PixelLayout_32ARGB_Straight: _bindgen_ty_39 = 4;
1897pub const kDRAWBOT_PixelLayout_32ARGB_Premul: _bindgen_ty_39 = 5;
1898pub const kDRAWBOT_PixelLayout_32BGRA_Straight: _bindgen_ty_39 = 6;
1899pub const kDRAWBOT_PixelLayout_32BGRA_Premul: _bindgen_ty_39 = 7;
1900pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
1901pub type DRAWBOT_PixelLayout = ::std::os::raw::c_int;
1902pub const kDRAWBOT_TextAlignment_Left: _bindgen_ty_40 = 0;
1903pub const kDRAWBOT_TextAlignment_Center: _bindgen_ty_40 = 1;
1904pub const kDRAWBOT_TextAlignment_Right: _bindgen_ty_40 = 2;
1905pub const kDRAWBOT_TextAlignment_Default: _bindgen_ty_40 = 0;
1906pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
1907pub type DRAWBOT_TextAlignment = ::std::os::raw::c_int;
1908pub const kDRAWBOT_TextTruncation_None: _bindgen_ty_41 = 0;
1909pub const kDRAWBOT_TextTruncation_End: _bindgen_ty_41 = 1;
1910pub const kDRAWBOT_TextTruncation_EndEllipsis: _bindgen_ty_41 = 2;
1911pub const kDRAWBOT_TextTruncation_PathEllipsis: _bindgen_ty_41 = 3;
1912pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
1913pub type DRAWBOT_TextTruncation = ::std::os::raw::c_int;
1914pub const kDRAWBOT_InterpolationPolicy_None: _bindgen_ty_42 = 0;
1915pub const kDRAWBOT_InterpolationPolicy_Med: _bindgen_ty_42 = 1;
1916pub const kDRAWBOT_InterpolationPolicy_High: _bindgen_ty_42 = 2;
1917pub const kDRAWBOT_InterpolationPolicy_Default: _bindgen_ty_42 = 0;
1918pub type _bindgen_ty_42 = ::std::os::raw::c_uint;
1919pub type DRAWBOT_InterpolationPolicy = ::std::os::raw::c_int;
1920pub const kDRAWBOT_AntiAliasPolicy_None: _bindgen_ty_43 = 0;
1921pub const kDRAWBOT_AntiAliasPolicy_Med: _bindgen_ty_43 = 1;
1922pub const kDRAWBOT_AntiAliasPolicy_High: _bindgen_ty_43 = 2;
1923pub const kDRAWBOT_AntiAliasPolicy_Default: _bindgen_ty_43 = 0;
1924pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
1925pub type DRAWBOT_AntiAliasPolicy = ::std::os::raw::c_int;
1926pub const PF_CustomEFlag_NONE: _bindgen_ty_44 = 0;
1927pub const PF_CustomEFlag_COMP: _bindgen_ty_44 = 1;
1928pub const PF_CustomEFlag_LAYER: _bindgen_ty_44 = 2;
1929pub const PF_CustomEFlag_EFFECT: _bindgen_ty_44 = 4;
1930pub const PF_CustomEFlag_PREVIEW: _bindgen_ty_44 = 8;
1931#[doc = " PF_CustomFlags\n\n kinds of events and actions the custom parameter type might require\n"]
1932pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
1933pub type PF_CustomEventFlags = A_long;
1934pub const PF_Window_NONE: _bindgen_ty_45 = -1;
1935pub const PF_Window_COMP: _bindgen_ty_45 = 0;
1936pub const PF_Window_LAYER: _bindgen_ty_45 = 1;
1937pub const PF_Window_EFFECT: _bindgen_ty_45 = 2;
1938pub const PF_Window_PREVIEW: _bindgen_ty_45 = 3;
1939pub type _bindgen_ty_45 = ::std::os::raw::c_int;
1940pub type PF_WindowType = A_long;
1941pub const PF_Event_NONE: _bindgen_ty_46 = -1;
1942pub const PF_Event_NEW_CONTEXT: _bindgen_ty_46 = 0;
1943pub const PF_Event_ACTIVATE: _bindgen_ty_46 = 1;
1944pub const PF_Event_DO_CLICK: _bindgen_ty_46 = 2;
1945pub const PF_Event_DRAG: _bindgen_ty_46 = 3;
1946pub const PF_Event_DRAW: _bindgen_ty_46 = 4;
1947pub const PF_Event_DEACTIVATE: _bindgen_ty_46 = 5;
1948pub const PF_Event_CLOSE_CONTEXT: _bindgen_ty_46 = 6;
1949pub const PF_Event_IDLE: _bindgen_ty_46 = 7;
1950pub const PF_Event_KEYDOWN_OBSOLETE: _bindgen_ty_46 = 8;
1951pub const PF_Event_ADJUST_CURSOR: _bindgen_ty_46 = 9;
1952pub const PF_Event_KEYDOWN: _bindgen_ty_46 = 10;
1953pub const PF_Event_MOUSE_EXITED: _bindgen_ty_46 = 11;
1954pub const PF_Event_NUM_EVENTS: _bindgen_ty_46 = 12;
1955pub type _bindgen_ty_46 = ::std::os::raw::c_int;
1956pub type PF_EventType = A_long;
1957pub const PF_Cursor_NONE: _bindgen_ty_47 = 0;
1958pub const PF_Cursor_CUSTOM: _bindgen_ty_47 = 1;
1959pub const PF_Cursor_ARROW: _bindgen_ty_47 = 2;
1960pub const PF_Cursor_HOLLOW_ARROW: _bindgen_ty_47 = 3;
1961pub const PF_Cursor_WATCH_N_WAIT: _bindgen_ty_47 = 4;
1962pub const PF_Cursor_MAGNIFY: _bindgen_ty_47 = 5;
1963pub const PF_Cursor_MAGNIFY_PLUS: _bindgen_ty_47 = 6;
1964pub const PF_Cursor_MAGNIFY_MINUS: _bindgen_ty_47 = 7;
1965pub const PF_Cursor_CROSSHAIRS: _bindgen_ty_47 = 8;
1966pub const PF_Cursor_CROSS_RECT: _bindgen_ty_47 = 9;
1967pub const PF_Cursor_CROSS_OVAL: _bindgen_ty_47 = 10;
1968pub const PF_Cursor_CROSS_ROTATE: _bindgen_ty_47 = 11;
1969pub const PF_Cursor_PAN: _bindgen_ty_47 = 12;
1970pub const PF_Cursor_EYEDROPPER: _bindgen_ty_47 = 13;
1971pub const PF_Cursor_HAND: _bindgen_ty_47 = 14;
1972pub const PF_Cursor_PEN: _bindgen_ty_47 = 15;
1973pub const PF_Cursor_PEN_ADD: _bindgen_ty_47 = 16;
1974pub const PF_Cursor_PEN_DELETE: _bindgen_ty_47 = 17;
1975pub const PF_Cursor_PEN_CLOSE: _bindgen_ty_47 = 18;
1976pub const PF_Cursor_PEN_DRAG: _bindgen_ty_47 = 19;
1977pub const PF_Cursor_PEN_CORNER: _bindgen_ty_47 = 20;
1978pub const PF_Cursor_RESIZE_VERTICAL: _bindgen_ty_47 = 21;
1979pub const PF_Cursor_RESIZE_HORIZONTAL: _bindgen_ty_47 = 22;
1980pub const PF_Cursor_FINGER_POINTER: _bindgen_ty_47 = 23;
1981pub const PF_Cursor_SCALE_HORIZ: _bindgen_ty_47 = 24;
1982pub const PF_Cursor_SCALE_DIAG_LR: _bindgen_ty_47 = 25;
1983pub const PF_Cursor_SCALE_VERT: _bindgen_ty_47 = 26;
1984pub const PF_Cursor_SCALE_DIAG_UR: _bindgen_ty_47 = 27;
1985pub const PF_Cursor_ROT_TOP: _bindgen_ty_47 = 28;
1986pub const PF_Cursor_ROT_TOP_RIGHT: _bindgen_ty_47 = 29;
1987pub const PF_Cursor_ROT_RIGHT: _bindgen_ty_47 = 30;
1988pub const PF_Cursor_ROT_BOT_RIGHT: _bindgen_ty_47 = 31;
1989pub const PF_Cursor_ROT_BOTTOM: _bindgen_ty_47 = 32;
1990pub const PF_Cursor_ROT_BOT_LEFT: _bindgen_ty_47 = 33;
1991pub const PF_Cursor_ROT_LEFT: _bindgen_ty_47 = 34;
1992pub const PF_Cursor_ROT_TOP_LEFT: _bindgen_ty_47 = 35;
1993pub const PF_Cursor_DRAG_CENTER: _bindgen_ty_47 = 36;
1994pub const PF_Cursor_COPY: _bindgen_ty_47 = 37;
1995pub const PF_Cursor_ALIAS: _bindgen_ty_47 = 38;
1996pub const PF_Cursor_CONTEXT: _bindgen_ty_47 = 39;
1997pub const PF_Cursor_SLIP_EDIT: _bindgen_ty_47 = 40;
1998pub const PF_Cursor_CAMERA_ORBIT_CAMERA: _bindgen_ty_47 = 41;
1999pub const PF_Cursor_CAMERA_PAN_CAMERA: _bindgen_ty_47 = 42;
2000pub const PF_Cursor_CAMERA_DOLLY_CAMERA: _bindgen_ty_47 = 43;
2001pub const PF_Cursor_ROTATE_X: _bindgen_ty_47 = 44;
2002pub const PF_Cursor_ROTATE_Y: _bindgen_ty_47 = 45;
2003pub const PF_Cursor_ROTATE_Z: _bindgen_ty_47 = 46;
2004pub const PF_Cursor_ARROW_X: _bindgen_ty_47 = 47;
2005pub const PF_Cursor_ARROW_Y: _bindgen_ty_47 = 48;
2006pub const PF_Cursor_ARROW_Z: _bindgen_ty_47 = 49;
2007pub const PF_Cursor_SCISSORS: _bindgen_ty_47 = 50;
2008pub const PF_Cursor_FAT_EYEDROPPER: _bindgen_ty_47 = 51;
2009pub const PF_Cursor_FINGER_POINTER_SCRUB: _bindgen_ty_47 = 52;
2010pub const PF_Cursor_HORZ_I_BEAM: _bindgen_ty_47 = 53;
2011pub const PF_Cursor_VERT_I_BEAM: _bindgen_ty_47 = 54;
2012pub const PF_Cursor_HORZ_BOX_I_BEAM: _bindgen_ty_47 = 55;
2013pub const PF_Cursor_VERT_BOX_I_BEAM: _bindgen_ty_47 = 56;
2014pub const PF_Cursor_I_BEAM_0: _bindgen_ty_47 = 57;
2015pub const PF_Cursor_I_BEAM_11_25: _bindgen_ty_47 = 58;
2016pub const PF_Cursor_I_BEAM_22_5: _bindgen_ty_47 = 59;
2017pub const PF_Cursor_I_BEAM_33_75: _bindgen_ty_47 = 60;
2018pub const PF_Cursor_I_BEAM_45: _bindgen_ty_47 = 61;
2019pub const PF_Cursor_I_BEAM_56_25: _bindgen_ty_47 = 62;
2020pub const PF_Cursor_I_BEAM_67_5: _bindgen_ty_47 = 63;
2021pub const PF_Cursor_I_BEAM_78_75: _bindgen_ty_47 = 64;
2022pub const PF_Cursor_I_BEAM_90: _bindgen_ty_47 = 65;
2023pub const PF_Cursor_I_BEAM_101_25: _bindgen_ty_47 = 66;
2024pub const PF_Cursor_I_BEAM_112_5: _bindgen_ty_47 = 67;
2025pub const PF_Cursor_I_BEAM_123_75: _bindgen_ty_47 = 68;
2026pub const PF_Cursor_I_BEAM_135: _bindgen_ty_47 = 69;
2027pub const PF_Cursor_I_BEAM_146_25: _bindgen_ty_47 = 70;
2028pub const PF_Cursor_I_BEAM_157_5: _bindgen_ty_47 = 71;
2029pub const PF_Cursor_I_BEAM_168_75: _bindgen_ty_47 = 72;
2030pub const PF_Cursor_CROSSHAIRS_PICKUP: _bindgen_ty_47 = 73;
2031pub const PF_Cursor_ARROW_SELECTOR: _bindgen_ty_47 = 74;
2032pub const PF_Cursor_LAYER_MOVE: _bindgen_ty_47 = 75;
2033pub const PF_Cursor_MOVE_START_MARGIN: _bindgen_ty_47 = 76;
2034pub const PF_Cursor_MOVE_END_MARGIN: _bindgen_ty_47 = 77;
2035pub const PF_Cursor_SOLID_ARROW: _bindgen_ty_47 = 78;
2036pub const PF_Cursor_HOLLOW_ARROW_PLUS: _bindgen_ty_47 = 79;
2037pub const PF_Cursor_BRUSH_CENTER: _bindgen_ty_47 = 80;
2038pub const PF_Cursor_CLONE_SOURCE: _bindgen_ty_47 = 81;
2039pub const PF_Cursor_CLONE_SOURCE_OFFSET: _bindgen_ty_47 = 82;
2040pub const PF_Cursor_HOLLOW_LAYER_MOVE: _bindgen_ty_47 = 83;
2041pub const PF_Cursor_MOVE_TRACK_SEARCH_REGION: _bindgen_ty_47 = 84;
2042pub const PF_Cursor_MOVE_TRACK_ATTACH_POINT: _bindgen_ty_47 = 85;
2043pub const PF_Cursor_COLOR_CUBE_CROSS_SECTION: _bindgen_ty_47 = 86;
2044pub const PF_Cursor_PEN_CORNER_ROTOBEZ_TENSION: _bindgen_ty_47 = 87;
2045pub const PF_Cursor_PIN: _bindgen_ty_47 = 88;
2046pub const PF_Cursor_PIN_ADD: _bindgen_ty_47 = 89;
2047pub const PF_Cursor_MESH_ADD: _bindgen_ty_47 = 90;
2048pub const PF_Cursor_MARQUEE: _bindgen_ty_47 = 91;
2049pub const PF_Cursor_CROSS_ROUNDED_RECT: _bindgen_ty_47 = 92;
2050pub const PF_Cursor_CROSS_POLYGON: _bindgen_ty_47 = 93;
2051pub const PF_Cursor_CROSS_STAR: _bindgen_ty_47 = 94;
2052pub const PF_Cursor_PIN_STARCH: _bindgen_ty_47 = 95;
2053pub const PF_Cursor_PIN_OVERLAP: _bindgen_ty_47 = 96;
2054pub const PF_Cursor_STOPWATCH: _bindgen_ty_47 = 97;
2055pub const PF_Cursor_DRAG_DOT: _bindgen_ty_47 = 98;
2056pub const PF_Cursor_DRAG_CIRCLE: _bindgen_ty_47 = 99;
2057pub const PF_Cursor_DIRECT_SELECT: _bindgen_ty_47 = 100;
2058pub const PF_Cursor_DRAG_COPY_MOVE: _bindgen_ty_47 = 101;
2059pub const PF_Cursor_DRAG_COPY_ROTATE: _bindgen_ty_47 = 102;
2060pub const PF_Cursor_CAMERA_MAYA: _bindgen_ty_47 = 103;
2061pub const PF_Cursor_RESIZE_HORIZONTAL_LEFT: _bindgen_ty_47 = 104;
2062pub const PF_Cursor_RESIZE_HORIZONTAL_RIGHT: _bindgen_ty_47 = 105;
2063pub const PF_Cursor_FEATHER: _bindgen_ty_47 = 106;
2064pub const PF_Cursor_FEATHER_ADD: _bindgen_ty_47 = 107;
2065pub const PF_Cursor_FEATHER_DELETE: _bindgen_ty_47 = 108;
2066pub const PF_Cursor_FEATHER_MOVE: _bindgen_ty_47 = 109;
2067pub const PF_Cursor_FEATHER_TENSION: _bindgen_ty_47 = 110;
2068pub const PF_Cursor_FEATHER_MARQUEE: _bindgen_ty_47 = 111;
2069pub const PF_Cursor_LASSO_ARROW: _bindgen_ty_47 = 112;
2070pub const PF_Cursor_DRAG_NO_DROP: _bindgen_ty_47 = 113;
2071pub const PF_Cursor_DRAG_COPY: _bindgen_ty_47 = 114;
2072pub const PF_Cursor_DRAG_LINK: _bindgen_ty_47 = 115;
2073pub const PF_Cursor_PIN_BEND: _bindgen_ty_47 = 116;
2074pub const PF_Cursor_PIN_ADVANCED: _bindgen_ty_47 = 117;
2075pub const PF_Cursor_CAMERA_ORBIT_CURSOR: _bindgen_ty_47 = 118;
2076pub const PF_Cursor_CAMERA_ORBIT_SCENE: _bindgen_ty_47 = 119;
2077pub const PF_Cursor_CAMERA_PAN_CURSOR: _bindgen_ty_47 = 120;
2078pub const PF_Cursor_CAMERA_DOLLY_TOWARDS_CURSOR: _bindgen_ty_47 = 121;
2079pub const PF_Cursor_CAMERA_DOLLY_TO_CURSOR: _bindgen_ty_47 = 122;
2080pub const PF_MAX_CURSOR_PLUS_ONE: _bindgen_ty_47 = 123;
2081pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
2082pub type PF_CursorType = A_long;
2083pub const PF_Mod_NONE: _bindgen_ty_48 = 0;
2084pub const PF_Mod_CMD_CTRL_KEY: _bindgen_ty_48 = 256;
2085pub const PF_Mod_SHIFT_KEY: _bindgen_ty_48 = 512;
2086pub const PF_Mod_CAPS_LOCK_KEY: _bindgen_ty_48 = 1024;
2087pub const PF_Mod_OPT_ALT_KEY: _bindgen_ty_48 = 2048;
2088pub const PF_Mod_MAC_CONTROL_KEY: _bindgen_ty_48 = 4096;
2089pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
2090pub type PF_Modifiers = A_long;
2091#[repr(C)]
2092#[derive(Debug, Copy, Clone)]
2093pub struct PF_AdjustCursorEventInfo {
2094    pub screen_point: PF_Point,
2095    pub modifiers: PF_Modifiers,
2096    pub set_cursor: PF_CursorType,
2097}
2098#[repr(C)]
2099#[derive(Debug, Copy, Clone)]
2100pub struct PF_DoClickEventInfo {
2101    pub when: A_u_long,
2102    pub screen_point: PF_Point,
2103    pub num_clicks: A_long,
2104    pub modifiers: PF_Modifiers,
2105    pub continue_refcon: [A_intptr_t; 4usize],
2106    pub send_drag: PF_Boolean,
2107    pub last_time: PF_Boolean,
2108}
2109#[repr(C)]
2110#[derive(Debug, Copy, Clone)]
2111pub struct PF_DrawEventInfo {
2112    pub update_rect: PF_UnionableRect,
2113    pub depth: A_long,
2114}
2115#[repr(C)]
2116#[derive(Debug, Copy, Clone)]
2117pub struct PF_KeyDownEventObsolete {
2118    pub when: A_u_long,
2119    pub screen_point: PF_Point,
2120    pub char_code: A_long,
2121    pub key_code: A_long,
2122    pub modifiers: PF_Modifiers,
2123}
2124pub type PF_KeyCode = A_u_long;
2125pub type PF_ControlCode = A_u_short;
2126#[repr(C)]
2127#[derive(Debug, Copy, Clone)]
2128pub struct PF_KeyDownEvent {
2129    pub when: A_u_long,
2130    pub screen_point: PF_Point,
2131    pub keycode: PF_KeyCode,
2132    pub modifiers: PF_Modifiers,
2133}
2134pub const PF_KEYCODE_FLAG_Printable: _bindgen_ty_49 = -2147483648;
2135pub const PF_KEYCODE_FLAG_Extended: _bindgen_ty_49 = 1073741824;
2136pub type _bindgen_ty_49 = ::std::os::raw::c_int;
2137pub const PF_ControlCode_Unknown: _bindgen_ty_50 = 65535;
2138pub const PF_ControlCode_Space: _bindgen_ty_50 = 1;
2139pub const PF_ControlCode_Backspace: _bindgen_ty_50 = 2;
2140pub const PF_ControlCode_Tab: _bindgen_ty_50 = 3;
2141pub const PF_ControlCode_Return: _bindgen_ty_50 = 4;
2142pub const PF_ControlCode_Enter: _bindgen_ty_50 = 5;
2143pub const PF_ControlCode_Escape: _bindgen_ty_50 = 6;
2144pub const PF_ControlCode_F1: _bindgen_ty_50 = 7;
2145pub const PF_ControlCode_F2: _bindgen_ty_50 = 8;
2146pub const PF_ControlCode_F3: _bindgen_ty_50 = 9;
2147pub const PF_ControlCode_F4: _bindgen_ty_50 = 10;
2148pub const PF_ControlCode_F5: _bindgen_ty_50 = 11;
2149pub const PF_ControlCode_F6: _bindgen_ty_50 = 12;
2150pub const PF_ControlCode_F7: _bindgen_ty_50 = 13;
2151pub const PF_ControlCode_F8: _bindgen_ty_50 = 14;
2152pub const PF_ControlCode_F9: _bindgen_ty_50 = 15;
2153pub const PF_ControlCode_F10: _bindgen_ty_50 = 16;
2154pub const PF_ControlCode_F11: _bindgen_ty_50 = 17;
2155pub const PF_ControlCode_F12: _bindgen_ty_50 = 18;
2156pub const PF_ControlCode_F13: _bindgen_ty_50 = 19;
2157pub const PF_ControlCode_F14: _bindgen_ty_50 = 20;
2158pub const PF_ControlCode_F15: _bindgen_ty_50 = 21;
2159pub const PF_ControlCode_F16: _bindgen_ty_50 = 22;
2160pub const PF_ControlCode_F17: _bindgen_ty_50 = 23;
2161pub const PF_ControlCode_F18: _bindgen_ty_50 = 24;
2162pub const PF_ControlCode_F19: _bindgen_ty_50 = 25;
2163pub const PF_ControlCode_F20: _bindgen_ty_50 = 26;
2164pub const PF_ControlCode_F21: _bindgen_ty_50 = 27;
2165pub const PF_ControlCode_F22: _bindgen_ty_50 = 28;
2166pub const PF_ControlCode_F23: _bindgen_ty_50 = 29;
2167pub const PF_ControlCode_F24: _bindgen_ty_50 = 30;
2168pub const PF_ControlCode_PrintScreen: _bindgen_ty_50 = 31;
2169pub const PF_ControlCode_ScrollLock: _bindgen_ty_50 = 32;
2170pub const PF_ControlCode_Pause: _bindgen_ty_50 = 33;
2171pub const PF_ControlCode_Insert: _bindgen_ty_50 = 34;
2172pub const PF_ControlCode_Delete: _bindgen_ty_50 = 35;
2173pub const PF_ControlCode_Home: _bindgen_ty_50 = 36;
2174pub const PF_ControlCode_End: _bindgen_ty_50 = 37;
2175pub const PF_ControlCode_PageUp: _bindgen_ty_50 = 38;
2176pub const PF_ControlCode_PageDown: _bindgen_ty_50 = 39;
2177pub const PF_ControlCode_Help: _bindgen_ty_50 = 40;
2178pub const PF_ControlCode_Clear: _bindgen_ty_50 = 41;
2179pub const PF_ControlCode_Left: _bindgen_ty_50 = 42;
2180pub const PF_ControlCode_Right: _bindgen_ty_50 = 43;
2181pub const PF_ControlCode_Up: _bindgen_ty_50 = 44;
2182pub const PF_ControlCode_Down: _bindgen_ty_50 = 45;
2183pub const PF_ControlCode_NumLock: _bindgen_ty_50 = 46;
2184pub const PF_ControlCode_Command: _bindgen_ty_50 = 47;
2185pub const PF_ControlCode_Option: _bindgen_ty_50 = 48;
2186pub const PF_ControlCode_Alt: _bindgen_ty_50 = 48;
2187pub const PF_ControlCode_Control: _bindgen_ty_50 = 49;
2188pub const PF_ControlCode_Shift: _bindgen_ty_50 = 50;
2189pub const PF_ControlCode_CapsLock: _bindgen_ty_50 = 51;
2190pub const PF_ControlCode_ContextMenu: _bindgen_ty_50 = 52;
2191pub type _bindgen_ty_50 = ::std::os::raw::c_uint;
2192#[repr(C)]
2193#[derive(Copy, Clone)]
2194pub union PF_EventUnion {
2195    pub do_click: PF_DoClickEventInfo,
2196    pub draw: PF_DrawEventInfo,
2197    pub key_down: PF_KeyDownEvent,
2198    pub adjust_cursor: PF_AdjustCursorEventInfo,
2199}
2200#[repr(C)]
2201#[derive(Debug, Copy, Clone)]
2202pub struct _PF_ContextRefcon {
2203    _unused: [u8; 0],
2204}
2205pub type PF_ContextRefcon = *mut _PF_ContextRefcon;
2206#[repr(C)]
2207#[derive(Debug, Copy, Clone)]
2208pub struct PF_Context {
2209    pub magic: A_u_long,
2210    pub w_type: PF_WindowType,
2211    pub reserved_flt: PF_ContextRefcon,
2212    pub plugin_state: [A_intptr_t; 4usize],
2213    pub reserved_drawref: DRAWBOT_DrawRef,
2214    pub reserved_paneP: *mut ::std::os::raw::c_void,
2215    pub reserved_job_manageP: *mut ::std::os::raw::c_void,
2216}
2217pub type PF_ContextPtr = *mut PF_Context;
2218pub type PF_ContextH = *mut *mut PF_Context;
2219pub const PF_StylusTool_PenTip: PF_StylusTool = 0;
2220pub const PF_StylusTool_PenEraser: PF_StylusTool = 1;
2221pub type PF_StylusTool = ::std::os::raw::c_uint;
2222#[repr(C)]
2223#[derive(Debug, Copy, Clone)]
2224pub struct PF_StylusEventInfo {
2225    pub stylus_tiltxF: A_FpShort,
2226    pub stylus_tiltyF: A_FpShort,
2227    pub stylus_pressureF: A_FpShort,
2228    pub stylus_wheelF: A_FpShort,
2229}
2230#[repr(C)]
2231#[derive(Debug, Copy, Clone)]
2232pub struct PF_PointerEventInfo {
2233    pub when_secondsF: A_FpLong,
2234    pub screen_point: PF_Point,
2235    pub num_clicksS: A_short,
2236    pub mod_keysL: A_long,
2237    pub stylus_tool: PF_StylusTool,
2238    pub stylus_extra_dataB: PF_Boolean,
2239    pub stylus_extra_data: PF_StylusEventInfo,
2240}
2241#[repr(C)]
2242#[derive(Debug, Copy, Clone)]
2243pub struct PF_EventCallbacks {
2244    pub refcon: *mut ::std::os::raw::c_void,
2245    pub layer_to_comp: ::std::option::Option<
2246        unsafe extern "C" fn(
2247            refcon: *mut ::std::os::raw::c_void,
2248            context: PF_ContextH,
2249            curr_time: A_long,
2250            time_scale: A_long,
2251            pt: *mut PF_FixedPoint,
2252        ) -> PF_Err,
2253    >,
2254    pub comp_to_layer: ::std::option::Option<
2255        unsafe extern "C" fn(
2256            refcon: *mut ::std::os::raw::c_void,
2257            context: PF_ContextH,
2258            curr_time: A_long,
2259            time_scale: A_long,
2260            pt: *mut PF_FixedPoint,
2261        ) -> PF_Err,
2262    >,
2263    pub get_comp2layer_xform: ::std::option::Option<
2264        unsafe extern "C" fn(
2265            refcon: *mut ::std::os::raw::c_void,
2266            context: PF_ContextH,
2267            curr_time: A_long,
2268            time_scale: A_long,
2269            exists: *mut A_long,
2270            c2l: *mut PF_FloatMatrix,
2271        ) -> PF_Err,
2272    >,
2273    pub get_layer2comp_xform: ::std::option::Option<
2274        unsafe extern "C" fn(
2275            refcon: *mut ::std::os::raw::c_void,
2276            context: PF_ContextH,
2277            curr_time: A_long,
2278            time_scale: A_long,
2279            l2c: *mut PF_FloatMatrix,
2280        ) -> PF_Err,
2281    >,
2282    pub source_to_frame: ::std::option::Option<
2283        unsafe extern "C" fn(
2284            refcon: *mut ::std::os::raw::c_void,
2285            context: PF_ContextH,
2286            pt: *mut PF_FixedPoint,
2287        ) -> PF_Err,
2288    >,
2289    pub frame_to_source: ::std::option::Option<
2290        unsafe extern "C" fn(
2291            refcon: *mut ::std::os::raw::c_void,
2292            context: PF_ContextH,
2293            pt: *mut PF_FixedPoint,
2294        ) -> PF_Err,
2295    >,
2296    pub info_draw_color: ::std::option::Option<
2297        unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, color: PF_Pixel) -> PF_Err,
2298    >,
2299    pub info_draw_text: ::std::option::Option<
2300        unsafe extern "C" fn(
2301            refcon: *mut ::std::os::raw::c_void,
2302            text1Z0: *const A_char,
2303            text2Z0: *const A_char,
2304        ) -> PF_Err,
2305    >,
2306}
2307pub type PF_EventCallbacksPtr = *mut PF_EventCallbacks;
2308pub const PF_EA_NONE: _bindgen_ty_51 = 0;
2309pub const PF_EA_PARAM_TITLE: _bindgen_ty_51 = 1;
2310pub const PF_EA_CONTROL: _bindgen_ty_51 = 2;
2311pub type _bindgen_ty_51 = ::std::os::raw::c_uint;
2312pub type PF_EffectArea = A_long;
2313#[repr(C)]
2314#[derive(Debug, Copy, Clone)]
2315pub struct PF_EffectWindowInfo {
2316    pub index: PF_ParamIndex,
2317    pub area: PF_EffectArea,
2318    pub current_frame: PF_UnionableRect,
2319    pub param_title_frame: PF_UnionableRect,
2320    pub horiz_offset: A_long,
2321}
2322pub const PF_EO_NONE: _bindgen_ty_52 = 0;
2323pub const PF_EO_HANDLED_EVENT: _bindgen_ty_52 = 1;
2324pub const PF_EO_ALWAYS_UPDATE: _bindgen_ty_52 = 2;
2325pub const PF_EO_NEVER_UPDATE: _bindgen_ty_52 = 4;
2326pub const PF_EO_UPDATE_NOW: _bindgen_ty_52 = 8;
2327pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
2328pub type PF_EventOutFlags = A_long;
2329pub const PF_EI_NONE: _bindgen_ty_53 = 0;
2330pub const PF_EI_DONT_DRAW: _bindgen_ty_53 = 1;
2331pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
2332pub type PF_EventInFlags = A_long;
2333#[repr(C)]
2334#[derive(Debug, Copy, Clone)]
2335pub struct PF_ItemWindowInfo {
2336    pub port_rect: PF_UnionableRect,
2337}
2338#[repr(C)]
2339#[derive(Copy, Clone)]
2340pub union PF_WindowUnion {
2341    pub effect_win: PF_EffectWindowInfo,
2342    pub item_win: PF_ItemWindowInfo,
2343}
2344#[repr(C)]
2345#[derive(Copy, Clone)]
2346pub struct PF_EventExtra {
2347    pub contextH: PF_ContextH,
2348    pub e_type: PF_EventType,
2349    pub u: PF_EventUnion,
2350    pub effect_win: PF_EffectWindowInfo,
2351    pub cbs: PF_EventCallbacks,
2352    pub evt_in_flags: PF_EventInFlags,
2353    pub evt_out_flags: PF_EventOutFlags,
2354}
2355pub const PF_UIAlignment_NONE: _bindgen_ty_54 = 0;
2356pub const PF_UIAlignment_TOP: _bindgen_ty_54 = 1;
2357pub const PF_UIAlignment_LEFT: _bindgen_ty_54 = 2;
2358pub const PF_UIAlignment_BOTTOM: _bindgen_ty_54 = 4;
2359pub const PF_UIAlignment_RIGHT: _bindgen_ty_54 = 8;
2360pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
2361pub type PF_UIAlignment = A_long;
2362#[repr(C)]
2363#[derive(Debug, Copy, Clone)]
2364pub struct _PF_CustomUIInfo {
2365    pub reserved: A_long,
2366    pub events: PF_CustomEventFlags,
2367    pub comp_ui_width: A_long,
2368    pub comp_ui_height: A_long,
2369    pub comp_ui_alignment: PF_UIAlignment,
2370    pub layer_ui_width: A_long,
2371    pub layer_ui_height: A_long,
2372    pub layer_ui_alignment: PF_UIAlignment,
2373    pub preview_ui_width: A_long,
2374    pub preview_ui_height: A_long,
2375    pub preview_ui_alignment: PF_UIAlignment,
2376}
2377pub type int32 = i32;
2378pub type uint8 = u8;
2379pub type SPBoolean = uint8;
2380pub type SPErr = int32;
2381#[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"]
2382#[repr(C)]
2383#[derive(Debug, Copy, Clone)]
2384pub struct SPBasicSuite {
2385    #[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()"]
2386    pub AcquireSuite: ::std::option::Option<
2387        unsafe extern "C" fn(
2388            name: *const ::std::os::raw::c_char,
2389            version: int32,
2390            suite: *mut *const ::std::os::raw::c_void,
2391        ) -> SPErr,
2392    >,
2393    #[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."]
2394    pub ReleaseSuite: ::std::option::Option<
2395        unsafe extern "C" fn(name: *const ::std::os::raw::c_char, version: int32) -> SPErr,
2396    >,
2397    #[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."]
2398    pub IsEqual: ::std::option::Option<
2399        unsafe extern "C" fn(
2400            token1: *const ::std::os::raw::c_char,
2401            token2: *const ::std::os::raw::c_char,
2402        ) -> SPBoolean,
2403    >,
2404    #[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()"]
2405    pub AllocateBlock: ::std::option::Option<
2406        unsafe extern "C" fn(size: usize, block: *mut *mut ::std::os::raw::c_void) -> SPErr,
2407    >,
2408    #[doc = " Frees a block of memory allocated with \\c #AllocateBlock().\n@param block The block pointer.\n@see \\c #SPBlocksSuite::FreeBlock()"]
2409    pub FreeBlock:
2410        ::std::option::Option<unsafe extern "C" fn(block: *mut ::std::os::raw::c_void) -> SPErr>,
2411    #[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()"]
2412    pub ReallocateBlock: ::std::option::Option<
2413        unsafe extern "C" fn(
2414            block: *mut ::std::os::raw::c_void,
2415            newSize: usize,
2416            newblock: *mut *mut ::std::os::raw::c_void,
2417        ) -> SPErr,
2418    >,
2419    #[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"]
2420    pub Undefined: ::std::option::Option<unsafe extern "C" fn() -> SPErr>,
2421}
2422#[repr(C)]
2423#[derive(Debug, Copy, Clone)]
2424pub struct PF_AdvAppSuite1 {
2425    pub PF_SetProjectDirty: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2426    pub PF_SaveProject: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2427    pub PF_SaveBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2428    pub PF_ForceForeground: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2429    pub PF_RestoreBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2430    pub PF_RefreshAllWindows: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2431    pub PF_InfoDrawText: ::std::option::Option<
2432        unsafe extern "C" fn(line1Z0: *const A_char, line2Z0: *const A_char) -> PF_Err,
2433    >,
2434    pub PF_InfoDrawColor: ::std::option::Option<unsafe extern "C" fn(color: PF_Pixel) -> PF_Err>,
2435    pub PF_InfoDrawText3: ::std::option::Option<
2436        unsafe extern "C" fn(
2437            line1Z0: *const A_char,
2438            line2Z0: *const A_char,
2439            line3Z0: *const A_char,
2440        ) -> PF_Err,
2441    >,
2442    pub PF_InfoDrawText3Plus: ::std::option::Option<
2443        unsafe extern "C" fn(
2444            line1Z0: *const A_char,
2445            line2_jrZ0: *const A_char,
2446            line2_jlZ0: *const A_char,
2447            line3_jrZ0: *const A_char,
2448            line3_jlZ0: *const A_char,
2449        ) -> PF_Err,
2450    >,
2451}
2452#[repr(C)]
2453#[derive(Debug, Copy, Clone)]
2454pub struct PF_AdvAppSuite2 {
2455    pub PF_SetProjectDirty: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2456    pub PF_SaveProject: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2457    pub PF_SaveBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2458    pub PF_ForceForeground: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2459    pub PF_RestoreBackgroundState: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2460    pub PF_RefreshAllWindows: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2461    pub PF_InfoDrawText: ::std::option::Option<
2462        unsafe extern "C" fn(line1Z0: *const A_char, line2Z0: *const A_char) -> PF_Err,
2463    >,
2464    pub PF_InfoDrawColor: ::std::option::Option<unsafe extern "C" fn(color: PF_Pixel) -> PF_Err>,
2465    pub PF_InfoDrawText3: ::std::option::Option<
2466        unsafe extern "C" fn(
2467            line1Z0: *const A_char,
2468            line2Z0: *const A_char,
2469            line3Z0: *const A_char,
2470        ) -> PF_Err,
2471    >,
2472    pub PF_InfoDrawText3Plus: ::std::option::Option<
2473        unsafe extern "C" fn(
2474            line1Z0: *const A_char,
2475            line2_jrZ0: *const A_char,
2476            line2_jlZ0: *const A_char,
2477            line3_jrZ0: *const A_char,
2478            line3_jlZ0: *const A_char,
2479        ) -> PF_Err,
2480    >,
2481    pub PF_AppendInfoText:
2482        ::std::option::Option<unsafe extern "C" fn(appendZ0: *const A_char) -> PF_Err>,
2483}
2484pub const PF_Step_FORWARD: _bindgen_ty_55 = 0;
2485pub const PF_Step_BACKWARD: _bindgen_ty_55 = 1;
2486pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
2487pub type PF_Step = A_LegacyEnumType;
2488pub const PF_TimeDisplayFormatTimecode: _bindgen_ty_56 = 0;
2489pub const PF_TimeDisplayFormatFrames: _bindgen_ty_56 = 1;
2490pub const PF_TimeDisplayFormatFeetFrames: _bindgen_ty_56 = 2;
2491pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
2492#[repr(C)]
2493#[derive(Debug, Copy, Clone)]
2494pub struct PF_TimeDisplayPrefVersion3 {
2495    pub display_mode: A_char,
2496    pub framemax: A_long,
2497    pub frames_per_foot: A_long,
2498    pub frames_start: A_char,
2499    pub nondrop30B: A_Boolean,
2500    pub honor_source_timecodeB: A_Boolean,
2501    pub use_feet_framesB: A_Boolean,
2502}
2503#[repr(C)]
2504#[derive(Debug, Copy, Clone)]
2505pub struct PF_AdvTimeSuite4 {
2506    pub PF_FormatTimeActiveItem: ::std::option::Option<
2507        unsafe extern "C" fn(
2508            time_valueUL: A_long,
2509            time_scaleL: A_u_long,
2510            durationB: PF_Boolean,
2511            time_buf: *mut A_char,
2512        ) -> PF_Err,
2513    >,
2514    pub PF_FormatTime: ::std::option::Option<
2515        unsafe extern "C" fn(
2516            in_data: *mut PF_InData,
2517            world: *mut PF_EffectWorld,
2518            time_valueUL: A_long,
2519            time_scaleL: A_u_long,
2520            durationB: PF_Boolean,
2521            time_buf: *mut A_char,
2522        ) -> PF_Err,
2523    >,
2524    pub PF_FormatTimePlus: ::std::option::Option<
2525        unsafe extern "C" fn(
2526            in_data: *mut PF_InData,
2527            world: *mut PF_EffectWorld,
2528            time_valueUL: A_long,
2529            time_scaleL: A_u_long,
2530            comp_timeB: PF_Boolean,
2531            durationB: PF_Boolean,
2532            time_buf: *mut A_char,
2533        ) -> PF_Err,
2534    >,
2535    pub PF_GetTimeDisplayPref: ::std::option::Option<
2536        unsafe extern "C" fn(
2537            tdp: *mut PF_TimeDisplayPrefVersion3,
2538            starting_frame_num: *mut A_long,
2539        ) -> PF_Err,
2540    >,
2541    pub PF_TimeCountFrames: ::std::option::Option<
2542        unsafe extern "C" fn(
2543            start_timeTP: *const A_Time,
2544            time_stepTP: *const A_Time,
2545            include_partial_frameB: A_Boolean,
2546            frame_countL: *mut A_long,
2547        ) -> PF_Err,
2548    >,
2549}
2550#[repr(C)]
2551#[derive(Debug, Copy, Clone)]
2552pub struct PF_AdvTimeSuite3 {
2553    pub PF_FormatTimeActiveItem: ::std::option::Option<
2554        unsafe extern "C" fn(
2555            time_valueUL: A_long,
2556            time_scaleL: A_u_long,
2557            durationB: PF_Boolean,
2558            time_buf: *mut A_char,
2559        ) -> PF_Err,
2560    >,
2561    pub PF_FormatTime: ::std::option::Option<
2562        unsafe extern "C" fn(
2563            in_data: *mut PF_InData,
2564            world: *mut PF_EffectWorld,
2565            time_valueUL: A_long,
2566            time_scaleL: A_u_long,
2567            durationB: PF_Boolean,
2568            time_buf: *mut A_char,
2569        ) -> PF_Err,
2570    >,
2571    pub PF_FormatTimePlus: ::std::option::Option<
2572        unsafe extern "C" fn(
2573            in_data: *mut PF_InData,
2574            world: *mut PF_EffectWorld,
2575            time_valueUL: A_long,
2576            time_scaleL: A_u_long,
2577            comp_timeB: PF_Boolean,
2578            durationB: PF_Boolean,
2579            time_buf: *mut A_char,
2580        ) -> PF_Err,
2581    >,
2582    pub PF_GetTimeDisplayPref: ::std::option::Option<
2583        unsafe extern "C" fn(
2584            tdp: *mut PF_TimeDisplayPrefVersion3,
2585            starting_frame_num: *mut A_long,
2586        ) -> PF_Err,
2587    >,
2588}
2589#[repr(C)]
2590#[derive(Debug, Copy, Clone)]
2591pub struct PF_TimeDisplayPrefVersion2 {
2592    pub display_mode: A_char,
2593    pub framemax: A_char,
2594    pub frames_per_foot: A_char,
2595    pub frames_start: A_char,
2596    pub nondrop30B: A_Boolean,
2597    pub honor_source_timecodeB: A_Boolean,
2598    pub use_feet_framesB: A_Boolean,
2599}
2600#[repr(C)]
2601#[derive(Debug, Copy, Clone)]
2602pub struct PF_AdvTimeSuite2 {
2603    pub PF_FormatTimeActiveItem: ::std::option::Option<
2604        unsafe extern "C" fn(
2605            time_valueUL: A_long,
2606            time_scaleL: A_u_long,
2607            durationB: PF_Boolean,
2608            time_buf: *mut A_char,
2609        ) -> PF_Err,
2610    >,
2611    pub PF_FormatTime: ::std::option::Option<
2612        unsafe extern "C" fn(
2613            in_data: *mut PF_InData,
2614            world: *mut PF_EffectWorld,
2615            time_valueUL: A_long,
2616            time_scaleL: A_u_long,
2617            durationB: PF_Boolean,
2618            time_buf: *mut A_char,
2619        ) -> PF_Err,
2620    >,
2621    pub PF_FormatTimePlus: ::std::option::Option<
2622        unsafe extern "C" fn(
2623            in_data: *mut PF_InData,
2624            world: *mut PF_EffectWorld,
2625            time_valueUL: A_long,
2626            time_scaleL: A_u_long,
2627            comp_timeB: PF_Boolean,
2628            durationB: PF_Boolean,
2629            time_buf: *mut A_char,
2630        ) -> PF_Err,
2631    >,
2632    pub PF_GetTimeDisplayPref: ::std::option::Option<
2633        unsafe extern "C" fn(
2634            tdp: *mut PF_TimeDisplayPrefVersion2,
2635            starting_frame_num: *mut A_long,
2636        ) -> PF_Err,
2637    >,
2638}
2639#[repr(C)]
2640#[derive(Debug, Copy, Clone)]
2641pub struct PF_TimeDisplayPref {
2642    pub time_display_format: A_char,
2643    pub framemax: A_char,
2644    pub nondrop30: A_char,
2645    pub frames_per_foot: A_char,
2646}
2647#[repr(C)]
2648#[derive(Debug, Copy, Clone)]
2649pub struct PF_AdvTimeSuite1 {
2650    pub PF_FormatTimeActiveItem: ::std::option::Option<
2651        unsafe extern "C" fn(
2652            time_valueUL: A_long,
2653            time_scaleL: A_u_long,
2654            durationB: PF_Boolean,
2655            time_buf: *mut A_char,
2656        ) -> PF_Err,
2657    >,
2658    pub PF_FormatTime: ::std::option::Option<
2659        unsafe extern "C" fn(
2660            in_data: *mut PF_InData,
2661            world: *mut PF_EffectWorld,
2662            time_valueUL: A_long,
2663            time_scaleL: A_u_long,
2664            durationB: PF_Boolean,
2665            time_buf: *mut A_char,
2666        ) -> PF_Err,
2667    >,
2668    pub PF_FormatTimePlus: ::std::option::Option<
2669        unsafe extern "C" fn(
2670            in_data: *mut PF_InData,
2671            world: *mut PF_EffectWorld,
2672            time_valueUL: A_long,
2673            time_scaleL: A_u_long,
2674            comp_timeB: PF_Boolean,
2675            durationB: PF_Boolean,
2676            time_buf: *mut A_char,
2677        ) -> PF_Err,
2678    >,
2679    pub PF_GetTimeDisplayPref: ::std::option::Option<
2680        unsafe extern "C" fn(
2681            tdp: *mut PF_TimeDisplayPref,
2682            starting_frame_num: *mut A_long,
2683        ) -> PF_Err,
2684    >,
2685}
2686#[repr(C)]
2687#[derive(Debug, Copy, Clone)]
2688pub struct PF_AdvItemSuite1 {
2689    pub PF_MoveTimeStep: ::std::option::Option<
2690        unsafe extern "C" fn(
2691            in_data: *mut PF_InData,
2692            world: *mut PF_EffectWorld,
2693            time_dir: PF_Step,
2694            num_stepsL: A_long,
2695        ) -> PF_Err,
2696    >,
2697    pub PF_MoveTimeStepActiveItem: ::std::option::Option<
2698        unsafe extern "C" fn(time_dir: PF_Step, num_stepsL: A_long) -> PF_Err,
2699    >,
2700    pub PF_TouchActiveItem: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
2701    pub PF_ForceRerender: ::std::option::Option<
2702        unsafe extern "C" fn(in_data: *mut PF_InData, world: *mut PF_EffectWorld) -> PF_Err,
2703    >,
2704    pub PF_EffectIsActiveOrEnabled: ::std::option::Option<
2705        unsafe extern "C" fn(contextH: PF_ContextH, enabledPB: *mut PF_Boolean) -> PF_Err,
2706    >,
2707}
2708#[repr(C)]
2709#[derive(Debug, Copy, Clone)]
2710pub struct PF_CacheOnLoadSuite1 {
2711    pub PF_SetNoCacheOnLoad: ::std::option::Option<
2712        unsafe extern "C" fn(
2713            effect_ref: PF_ProgPtr,
2714            effectAvailable: ::std::os::raw::c_long,
2715        ) -> PF_Err,
2716    >,
2717}
2718#[doc = " the suite functions"]
2719#[repr(C)]
2720#[derive(Debug, Copy, Clone)]
2721pub struct PF_ChannelSuite1 {
2722    pub PF_GetLayerChannelCount: ::std::option::Option<
2723        unsafe extern "C" fn(
2724            effect_ref: PF_ProgPtr,
2725            param_index: PF_ParamIndex,
2726            num_channelsPL: *mut A_long,
2727        ) -> PF_Err,
2728    >,
2729    pub PF_GetLayerChannelIndexedRefAndDesc: ::std::option::Option<
2730        unsafe extern "C" fn(
2731            effect_ref: PF_ProgPtr,
2732            param_index: PF_ParamIndex,
2733            channel_index: PF_ChannelIndex,
2734            foundPB: *mut PF_Boolean,
2735            channel_refP: *mut PF_ChannelRef,
2736            channel_descP: *mut PF_ChannelDesc,
2737        ) -> PF_Err,
2738    >,
2739    pub PF_GetLayerChannelTypedRefAndDesc: ::std::option::Option<
2740        unsafe extern "C" fn(
2741            effect_ref: PF_ProgPtr,
2742            param_index: PF_ParamIndex,
2743            channel_type: PF_ChannelType,
2744            foundPB: *mut PF_Boolean,
2745            channel_refP: *mut PF_ChannelRef,
2746            channel_descP: *mut PF_ChannelDesc,
2747        ) -> PF_Err,
2748    >,
2749    pub PF_CheckoutLayerChannel: ::std::option::Option<
2750        unsafe extern "C" fn(
2751            effect_ref: PF_ProgPtr,
2752            channel_refP: PF_ChannelRefPtr,
2753            what_time: A_long,
2754            duration: A_long,
2755            time_scale: A_u_long,
2756            data_type: PF_DataType,
2757            channel_chunkP: *mut PF_ChannelChunk,
2758        ) -> PF_Err,
2759    >,
2760    pub PF_CheckinLayerChannel: ::std::option::Option<
2761        unsafe extern "C" fn(
2762            effect_ref: PF_ProgPtr,
2763            channel_refP: PF_ChannelRefPtr,
2764            channel_chunkP: *mut PF_ChannelChunk,
2765        ) -> PF_Err,
2766    >,
2767}
2768pub type PF_KernelFlags = A_u_long;
2769pub const PF_SampleEdgeBehav_ZERO: _bindgen_ty_57 = 0;
2770#[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"]
2771pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
2772pub type PF_SampleEdgeBehav = A_u_long;
2773pub const PF_Xfer_NONE: _bindgen_ty_58 = -1;
2774pub const PF_Xfer_COPY: _bindgen_ty_58 = 0;
2775pub const PF_Xfer_BEHIND: _bindgen_ty_58 = 1;
2776pub const PF_Xfer_IN_FRONT: _bindgen_ty_58 = 2;
2777pub const PF_Xfer_DISSOLVE: _bindgen_ty_58 = 3;
2778pub const PF_Xfer_ADD: _bindgen_ty_58 = 4;
2779pub const PF_Xfer_MULTIPLY: _bindgen_ty_58 = 5;
2780pub const PF_Xfer_SCREEN: _bindgen_ty_58 = 6;
2781pub const PF_Xfer_OVERLAY: _bindgen_ty_58 = 7;
2782pub const PF_Xfer_SOFT_LIGHT: _bindgen_ty_58 = 8;
2783pub const PF_Xfer_HARD_LIGHT: _bindgen_ty_58 = 9;
2784pub const PF_Xfer_DARKEN: _bindgen_ty_58 = 10;
2785pub const PF_Xfer_LIGHTEN: _bindgen_ty_58 = 11;
2786pub const PF_Xfer_DIFFERENCE: _bindgen_ty_58 = 12;
2787pub const PF_Xfer_HUE: _bindgen_ty_58 = 13;
2788pub const PF_Xfer_SATURATION: _bindgen_ty_58 = 14;
2789pub const PF_Xfer_COLOR: _bindgen_ty_58 = 15;
2790pub const PF_Xfer_LUMINOSITY: _bindgen_ty_58 = 16;
2791pub const PF_Xfer_MULTIPLY_ALPHA: _bindgen_ty_58 = 17;
2792pub const PF_Xfer_MULTIPLY_ALPHA_LUMA: _bindgen_ty_58 = 18;
2793pub const PF_Xfer_MULTIPLY_NOT_ALPHA: _bindgen_ty_58 = 19;
2794pub const PF_Xfer_MULTIPLY_NOT_ALPHA_LUMA: _bindgen_ty_58 = 20;
2795pub const PF_Xfer_ADDITIVE_PREMUL: _bindgen_ty_58 = 21;
2796pub const PF_Xfer_ALPHA_ADD: _bindgen_ty_58 = 22;
2797pub const PF_Xfer_COLOR_DODGE: _bindgen_ty_58 = 23;
2798pub const PF_Xfer_COLOR_BURN: _bindgen_ty_58 = 24;
2799pub const PF_Xfer_EXCLUSION: _bindgen_ty_58 = 25;
2800pub const PF_Xfer_DIFFERENCE2: _bindgen_ty_58 = 26;
2801pub const PF_Xfer_COLOR_DODGE2: _bindgen_ty_58 = 27;
2802pub const PF_Xfer_COLOR_BURN2: _bindgen_ty_58 = 28;
2803pub const PF_Xfer_LINEAR_DODGE: _bindgen_ty_58 = 29;
2804pub const PF_Xfer_LINEAR_BURN: _bindgen_ty_58 = 30;
2805pub const PF_Xfer_LINEAR_LIGHT: _bindgen_ty_58 = 31;
2806pub const PF_Xfer_VIVID_LIGHT: _bindgen_ty_58 = 32;
2807pub const PF_Xfer_PIN_LIGHT: _bindgen_ty_58 = 33;
2808pub const PF_Xfer_HARD_MIX: _bindgen_ty_58 = 34;
2809pub const PF_Xfer_LIGHTER_COLOR: _bindgen_ty_58 = 35;
2810pub const PF_Xfer_DARKER_COLOR: _bindgen_ty_58 = 36;
2811pub const PF_Xfer_SUBTRACT: _bindgen_ty_58 = 37;
2812pub const PF_Xfer_DIVIDE: _bindgen_ty_58 = 38;
2813pub const PF_Xfer_RESERVED0: _bindgen_ty_58 = 39;
2814pub const PF_Xfer_RESERVED1: _bindgen_ty_58 = 40;
2815pub const PF_Xfer_NUM_MODES: _bindgen_ty_58 = 41;
2816pub type _bindgen_ty_58 = ::std::os::raw::c_int;
2817pub const PF_Xfer_TINT: _bindgen_ty_59 = 29;
2818pub const PF_Xfer_SHADE: _bindgen_ty_59 = 30;
2819pub const PF_Xfer_INTENSE_LIGHT: _bindgen_ty_59 = 32;
2820pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
2821pub const PF_MaskFlag_NONE: _bindgen_ty_60 = 0;
2822pub const PF_MaskFlag_INVERTED: _bindgen_ty_60 = 1;
2823pub const PF_MaskFlag_LUMINANCE: _bindgen_ty_60 = 2;
2824pub type _bindgen_ty_60 = ::std::os::raw::c_uint;
2825pub type PF_MaskFlags = A_long;
2826#[repr(C)]
2827#[derive(Debug, Copy, Clone)]
2828pub struct PF_MaskWorld {
2829    pub mask: PF_EffectWorld,
2830    pub offset: PF_Point,
2831    pub what_is_mask: PF_MaskFlags,
2832}
2833#[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."]
2834#[repr(C)]
2835#[derive(Debug, Copy, Clone)]
2836pub struct PF_SampPB {
2837    pub x_radius: PF_Fixed,
2838    pub y_radius: PF_Fixed,
2839    pub area: PF_Fixed,
2840    pub src: *mut PF_EffectWorld,
2841    pub samp_behave: PF_SampleEdgeBehav,
2842    pub allow_asynch: A_long,
2843    pub motion_blur: A_long,
2844    pub comp_mode: PF_CompositeMode,
2845    pub mask0: PF_PixelPtr,
2846    pub fcm_table: *mut A_u_char,
2847    pub fcd_table: *mut A_u_char,
2848    pub reserved: [A_long; 8usize],
2849}
2850pub const PF_Callback_NONE: _bindgen_ty_61 = 0;
2851pub const PF_Callback_BEGIN_SAMPLING: _bindgen_ty_61 = 1;
2852pub const PF_Callback_SUBPIXEL_SAMPLE: _bindgen_ty_61 = 2;
2853pub const PF_Callback_AREA_SAMPLE: _bindgen_ty_61 = 3;
2854pub const PF_Callback_OBSOLETE0: _bindgen_ty_61 = 4;
2855pub const PF_Callback_END_SAMPLING: _bindgen_ty_61 = 5;
2856pub const PF_Callback_COMPOSITE_RECT: _bindgen_ty_61 = 6;
2857pub const PF_Callback_BLEND: _bindgen_ty_61 = 7;
2858pub const PF_Callback_CONVOLVE: _bindgen_ty_61 = 8;
2859pub const PF_Callback_COPY: _bindgen_ty_61 = 9;
2860pub const PF_Callback_FILL: _bindgen_ty_61 = 10;
2861pub const PF_Callback_GAUSSIAN: _bindgen_ty_61 = 11;
2862pub const PF_Callback_ITERATE: _bindgen_ty_61 = 12;
2863pub const PF_Callback_PREMUL: _bindgen_ty_61 = 13;
2864pub const PF_Callback_PREMUL_COLOR: _bindgen_ty_61 = 14;
2865pub const PF_Callback_RGB_TO_HLS: _bindgen_ty_61 = 15;
2866pub const PF_Callback_HLS_TO_RGB: _bindgen_ty_61 = 16;
2867pub const PF_Callback_RGB_TO_YIQ: _bindgen_ty_61 = 17;
2868pub const PF_Callback_YIQ_TO_RGB: _bindgen_ty_61 = 18;
2869pub const PF_Callback_LUMINANCE: _bindgen_ty_61 = 19;
2870pub const PF_Callback_HUE: _bindgen_ty_61 = 20;
2871pub const PF_Callback_LIGHTNESS: _bindgen_ty_61 = 21;
2872pub const PF_Callback_SATURATION: _bindgen_ty_61 = 22;
2873pub const PF_Callback_NEW_WORLD: _bindgen_ty_61 = 23;
2874pub const PF_Callback_DISPOSE_WORLD: _bindgen_ty_61 = 24;
2875pub const PF_Callback_ITERATE_ORIGIN: _bindgen_ty_61 = 25;
2876pub const PF_Callback_ITERATE_LUT: _bindgen_ty_61 = 26;
2877pub const PF_Callback_TRANSFER_RECT: _bindgen_ty_61 = 27;
2878pub const PF_Callback_TRANSFORM_WORLD: _bindgen_ty_61 = 28;
2879pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC: _bindgen_ty_61 = 29;
2880pub const PF_Callback_ITERATE_GENERIC: _bindgen_ty_61 = 30;
2881pub const PF_Callback_SUBPIXEL_SAMPLE16: _bindgen_ty_61 = 31;
2882pub const PF_Callback_AREA_SAMPLE16: _bindgen_ty_61 = 32;
2883pub const PF_Callback_FILL16: _bindgen_ty_61 = 33;
2884pub const PF_Callback_PREMUL_COLOR16: _bindgen_ty_61 = 34;
2885pub const PF_Callback_ITERATE16: _bindgen_ty_61 = 35;
2886pub const PF_Callback_ITERATE_ORIGIN16: _bindgen_ty_61 = 36;
2887pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16: _bindgen_ty_61 = 37;
2888pub const PF_Callback_ITERATE_GENERIC_NO_MAX_THREADS: _bindgen_ty_61 = 38;
2889pub const PF_Callback_ITERATE_NO_MAX_THREADS: _bindgen_ty_61 = 39;
2890pub const PF_Callback_ITERATE_ORIGIN_NO_MAX_THREADS: _bindgen_ty_61 = 40;
2891pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC_NO_MAX_THREADS: _bindgen_ty_61 = 41;
2892pub const PF_Callback_ITERATE16_NO_MAX_THREADS: _bindgen_ty_61 = 42;
2893pub const PF_Callback_ITERATE_ORIGIN16_NO_MAX_THREADS: _bindgen_ty_61 = 43;
2894pub const PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16_NO_MAX_THREADS: _bindgen_ty_61 = 44;
2895#[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."]
2896pub type _bindgen_ty_61 = ::std::os::raw::c_uint;
2897pub type PF_CallbackID = A_long;
2898#[repr(C)]
2899#[derive(Debug, Copy, Clone)]
2900pub struct PF_YouMustCastThisToActualFunctionType {
2901    _unused: [u8; 0],
2902}
2903#[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"]
2904pub type PF_CallbackFunc = *mut PF_YouMustCastThisToActualFunctionType;
2905pub const PF_PlatData_MAIN_WND: _bindgen_ty_62 = 0;
2906pub const PF_PlatData_EXE_FILE_PATH_DEPRECATED: _bindgen_ty_62 = 1;
2907pub const PF_PlatData_RES_FILE_PATH_DEPRECATED: _bindgen_ty_62 = 2;
2908pub const PF_PlatData_RES_REFNUM: _bindgen_ty_62 = 3;
2909pub const PF_PlatData_RES_DLLINSTANCE: _bindgen_ty_62 = 4;
2910pub const PF_PlatData_SP_PLUG_REF: _bindgen_ty_62 = 5;
2911pub const PF_PlatData_BUNDLE_REF: _bindgen_ty_62 = 6;
2912pub const PF_PlatData_EXE_FILE_PATH_W: _bindgen_ty_62 = 7;
2913pub const PF_PlatData_RES_FILE_PATH_W: _bindgen_ty_62 = 8;
2914pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
2915pub type PF_PlatDataID = A_long;
2916pub const PF_Plane_ALPHA: _bindgen_ty_63 = 1;
2917pub const PF_Plane_RED: _bindgen_ty_63 = 2;
2918pub const PF_Plane_GREEN: _bindgen_ty_63 = 4;
2919pub const PF_Plane_BLUE: _bindgen_ty_63 = 8;
2920#[doc = " ---------- Image Plane Selectors ----------\n\nThese constants can be used to specify a subset\nof the planes of the 32-bit image."]
2921pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
2922pub type PF_Plane = A_u_long;
2923#[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."]
2924#[repr(C)]
2925#[derive(Debug, Copy, Clone)]
2926pub struct PF_ANSICallbacks {
2927    pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2928    pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
2929    pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2930    pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2931    pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2932    pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2933    pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2934    pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2935    pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2936    pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2937    pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2938    pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
2939    pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2940    pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2941    pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2942    pub sprintf: ::std::option::Option<
2943        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
2944    >,
2945    pub strcpy: ::std::option::Option<
2946        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
2947    >,
2948    pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2949    pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
2950    pub ansi_procs: [A_long; 1usize],
2951}
2952#[doc = " ---------- Colorspace Conversion Callbacks\n"]
2953#[repr(C)]
2954#[derive(Debug, Copy, Clone)]
2955pub struct PF_ColorCallbacks {
2956    pub RGBtoHLS: ::std::option::Option<
2957        unsafe extern "C" fn(
2958            effect_ref: PF_ProgPtr,
2959            rgb: *mut PF_Pixel,
2960            hls: *mut PF_Fixed,
2961        ) -> PF_Err,
2962    >,
2963    pub HLStoRGB: ::std::option::Option<
2964        unsafe extern "C" fn(
2965            effect_ref: PF_ProgPtr,
2966            hls: *mut PF_Fixed,
2967            rgb: *mut PF_Pixel,
2968        ) -> PF_Err,
2969    >,
2970    pub RGBtoYIQ: ::std::option::Option<
2971        unsafe extern "C" fn(
2972            effect_ref: PF_ProgPtr,
2973            rgb: *mut PF_Pixel,
2974            yiq: *mut PF_Fixed,
2975        ) -> PF_Err,
2976    >,
2977    pub YIQtoRGB: ::std::option::Option<
2978        unsafe extern "C" fn(
2979            effect_ref: PF_ProgPtr,
2980            yiq: *mut PF_Fixed,
2981            rgb: *mut PF_Pixel,
2982        ) -> PF_Err,
2983    >,
2984    pub Luminance: ::std::option::Option<
2985        unsafe extern "C" fn(
2986            effect_ref: PF_ProgPtr,
2987            rgb: *mut PF_Pixel,
2988            lum100: *mut A_long,
2989        ) -> PF_Err,
2990    >,
2991    pub Hue: ::std::option::Option<
2992        unsafe extern "C" fn(
2993            effect_ref: PF_ProgPtr,
2994            rgb: *mut PF_Pixel,
2995            hue: *mut A_long,
2996        ) -> PF_Err,
2997    >,
2998    pub Lightness: ::std::option::Option<
2999        unsafe extern "C" fn(
3000            effect_ref: PF_ProgPtr,
3001            rgb: *mut PF_Pixel,
3002            lightness: *mut A_long,
3003        ) -> PF_Err,
3004    >,
3005    pub Saturation: ::std::option::Option<
3006        unsafe extern "C" fn(
3007            effect_ref: PF_ProgPtr,
3008            rgb: *mut PF_Pixel,
3009            saturation: *mut A_long,
3010        ) -> PF_Err,
3011    >,
3012}
3013pub type PF_BatchSampleFunc = *mut ::std::os::raw::c_void;
3014pub type PF_BatchSample16Func = *mut ::std::os::raw::c_void;
3015pub const PF_NewWorldFlag_NONE: _bindgen_ty_64 = 0;
3016pub const PF_NewWorldFlag_CLEAR_PIXELS: _bindgen_ty_64 = 1;
3017pub const PF_NewWorldFlag_DEEP_PIXELS: _bindgen_ty_64 = 2;
3018pub const PF_NewWorldFlag_RESERVED0: _bindgen_ty_64 = 4;
3019pub const PF_NewWorldFlag_RESERVED1: _bindgen_ty_64 = 8;
3020pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
3021pub type PF_NewWorldFlags = A_long;
3022#[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"]
3023pub type PF_IteratePixel8Func = ::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_Pixel,
3029        outP: *mut PF_Pixel,
3030    ) -> PF_Err,
3031>;
3032pub type PF_IteratePixel16Func = ::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_Pixel16,
3038        outP: *mut PF_Pixel16,
3039    ) -> PF_Err,
3040>;
3041pub type PF_IteratePixelFloatFunc = ::std::option::Option<
3042    unsafe extern "C" fn(
3043        refconP: *mut ::std::os::raw::c_void,
3044        xL: A_long,
3045        yL: A_long,
3046        inP: *mut PF_PixelFloat,
3047        outP: *mut PF_PixelFloat,
3048    ) -> PF_Err,
3049>;
3050#[repr(C)]
3051#[derive(Debug, Copy, Clone)]
3052pub struct _PF_UtilCallbacks {
3053    pub begin_sampling: ::std::option::Option<
3054        unsafe extern "C" fn(
3055            effect_ref: PF_ProgPtr,
3056            qual: PF_Quality,
3057            mf: PF_ModeFlags,
3058            params: *mut PF_SampPB,
3059        ) -> PF_Err,
3060    >,
3061    pub subpixel_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 area_sample: ::std::option::Option<
3071        unsafe extern "C" fn(
3072            effect_ref: PF_ProgPtr,
3073            x: PF_Fixed,
3074            y: PF_Fixed,
3075            params: *const PF_SampPB,
3076            dst_pixel: *mut PF_Pixel,
3077        ) -> PF_Err,
3078    >,
3079    pub get_batch_func_is_deprecated: *mut ::std::os::raw::c_void,
3080    pub end_sampling: ::std::option::Option<
3081        unsafe extern "C" fn(
3082            effect_ref: PF_ProgPtr,
3083            qual: PF_Quality,
3084            mf: PF_ModeFlags,
3085            params: *mut PF_SampPB,
3086        ) -> PF_Err,
3087    >,
3088    pub composite_rect: ::std::option::Option<
3089        unsafe extern "C" fn(
3090            effect_ref: PF_ProgPtr,
3091            src_rect: *mut PF_Rect,
3092            src_opacity: A_long,
3093            source_wld: *mut PF_EffectWorld,
3094            dest_x: A_long,
3095            dest_y: A_long,
3096            field_rdr: PF_Field,
3097            xfer_mode: PF_XferMode,
3098            dest_wld: *mut PF_EffectWorld,
3099        ) -> PF_Err,
3100    >,
3101    pub blend: ::std::option::Option<
3102        unsafe extern "C" fn(
3103            effect_ref: PF_ProgPtr,
3104            src1: *const PF_EffectWorld,
3105            src2: *const PF_EffectWorld,
3106            ratio: PF_Fixed,
3107            dst: *mut PF_EffectWorld,
3108        ) -> PF_Err,
3109    >,
3110    pub convolve: ::std::option::Option<
3111        unsafe extern "C" fn(
3112            effect_ref: PF_ProgPtr,
3113            src: *mut PF_EffectWorld,
3114            area: *const PF_Rect,
3115            flags: PF_KernelFlags,
3116            kernel_size: A_long,
3117            a_kernel: *mut ::std::os::raw::c_void,
3118            r_kernel: *mut ::std::os::raw::c_void,
3119            g_kernel: *mut ::std::os::raw::c_void,
3120            b_kernel: *mut ::std::os::raw::c_void,
3121            dst: *mut PF_EffectWorld,
3122        ) -> PF_Err,
3123    >,
3124    pub copy: ::std::option::Option<
3125        unsafe extern "C" fn(
3126            effect_ref: PF_ProgPtr,
3127            src: *mut PF_EffectWorld,
3128            dst: *mut PF_EffectWorld,
3129            src_r: *mut PF_Rect,
3130            dst_r: *mut PF_Rect,
3131        ) -> PF_Err,
3132    >,
3133    pub fill: ::std::option::Option<
3134        unsafe extern "C" fn(
3135            effect_ref: PF_ProgPtr,
3136            color: *const PF_Pixel,
3137            dst_rect: *const PF_Rect,
3138            world: *mut PF_EffectWorld,
3139        ) -> PF_Err,
3140    >,
3141    pub gaussian_kernel: ::std::option::Option<
3142        unsafe extern "C" fn(
3143            effect_ref: PF_ProgPtr,
3144            kRadius: A_FpLong,
3145            flags: PF_KernelFlags,
3146            multiplier: A_FpLong,
3147            diameter: *mut A_long,
3148            kernel: *mut ::std::os::raw::c_void,
3149        ) -> PF_Err,
3150    >,
3151    pub iterate: ::std::option::Option<
3152        unsafe extern "C" fn(
3153            in_data: *mut PF_InData,
3154            progress_base: A_long,
3155            progress_final: A_long,
3156            src: *mut PF_EffectWorld,
3157            area: *const PF_Rect,
3158            refcon: *mut ::std::os::raw::c_void,
3159            pix_fn: PF_IteratePixel8Func,
3160            dst: *mut PF_EffectWorld,
3161        ) -> PF_Err,
3162    >,
3163    pub premultiply: ::std::option::Option<
3164        unsafe extern "C" fn(
3165            effect_ref: PF_ProgPtr,
3166            forward: A_long,
3167            dst: *mut PF_EffectWorld,
3168        ) -> PF_Err,
3169    >,
3170    pub premultiply_color: ::std::option::Option<
3171        unsafe extern "C" fn(
3172            effect_ref: PF_ProgPtr,
3173            src: *mut PF_EffectWorld,
3174            color: *const PF_Pixel,
3175            forward: A_long,
3176            dst: *mut PF_EffectWorld,
3177        ) -> PF_Err,
3178    >,
3179    pub new_world: ::std::option::Option<
3180        unsafe extern "C" fn(
3181            effect_ref: PF_ProgPtr,
3182            width: A_long,
3183            height: A_long,
3184            flags: PF_NewWorldFlags,
3185            world: *mut PF_EffectWorld,
3186        ) -> PF_Err,
3187    >,
3188    pub dispose_world: ::std::option::Option<
3189        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
3190    >,
3191    pub iterate_origin: ::std::option::Option<
3192        unsafe extern "C" fn(
3193            in_data: *mut PF_InData,
3194            progress_base: A_long,
3195            progress_final: A_long,
3196            src: *mut PF_EffectWorld,
3197            area: *const PF_Rect,
3198            origin: *const PF_Point,
3199            refcon: *mut ::std::os::raw::c_void,
3200            pix_fn: PF_IteratePixel8Func,
3201            dst: *mut PF_EffectWorld,
3202        ) -> PF_Err,
3203    >,
3204    pub iterate_lut: ::std::option::Option<
3205        unsafe extern "C" fn(
3206            in_data: *mut PF_InData,
3207            progress_base: A_long,
3208            progress_final: A_long,
3209            src: *mut PF_EffectWorld,
3210            area: *const PF_Rect,
3211            a_lut0: *mut A_u_char,
3212            r_lut0: *mut A_u_char,
3213            g_lut0: *mut A_u_char,
3214            b_lut0: *mut A_u_char,
3215            dst: *mut PF_EffectWorld,
3216        ) -> PF_Err,
3217    >,
3218    pub transfer_rect: ::std::option::Option<
3219        unsafe extern "C" fn(
3220            effect_ref: PF_ProgPtr,
3221            quality: PF_Quality,
3222            m_flags: PF_ModeFlags,
3223            field: PF_Field,
3224            src_rec: *const PF_Rect,
3225            src_world: *const PF_EffectWorld,
3226            comp_mode: *const PF_CompositeMode,
3227            mask_world0: *const PF_MaskWorld,
3228            dest_x: A_long,
3229            dest_y: A_long,
3230            dst_world: *mut PF_EffectWorld,
3231        ) -> PF_Err,
3232    >,
3233    pub transform_world: ::std::option::Option<
3234        unsafe extern "C" fn(
3235            effect_ref: PF_ProgPtr,
3236            quality: PF_Quality,
3237            m_flags: PF_ModeFlags,
3238            field: PF_Field,
3239            src_world: *const PF_EffectWorld,
3240            comp_mode: *const PF_CompositeMode,
3241            mask_world0: *const PF_MaskWorld,
3242            matrices: *const PF_FloatMatrix,
3243            num_matrices: A_long,
3244            src2dst_matrix: PF_Boolean,
3245            dest_rect: *const PF_Rect,
3246            dst_world: *mut PF_EffectWorld,
3247        ) -> PF_Err,
3248    >,
3249    pub host_new_handle:
3250        ::std::option::Option<unsafe extern "C" fn(size: A_u_longlong) -> PF_Handle>,
3251    pub host_lock_handle: ::std::option::Option<
3252        unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
3253    >,
3254    pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3255    pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3256    pub get_callback_addr: ::std::option::Option<
3257        unsafe extern "C" fn(
3258            effect_ref: PF_ProgPtr,
3259            quality: PF_Quality,
3260            mode_flags: PF_ModeFlags,
3261            which_callback: PF_CallbackID,
3262            fn_ptr: *mut PF_CallbackFunc,
3263        ) -> PF_Err,
3264    >,
3265    pub app:
3266        ::std::option::Option<unsafe extern "C" fn(arg1: PF_ProgPtr, arg2: A_long, ...) -> PF_Err>,
3267    pub ansi: PF_ANSICallbacks,
3268    pub colorCB: PF_ColorCallbacks,
3269    pub get_platform_data: ::std::option::Option<
3270        unsafe extern "C" fn(
3271            effect_ref: PF_ProgPtr,
3272            which: PF_PlatDataID,
3273            data: *mut ::std::os::raw::c_void,
3274        ) -> PF_Err,
3275    >,
3276    pub host_get_handle_size:
3277        ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_u_longlong>,
3278    pub iterate_origin_non_clip_src: ::std::option::Option<
3279        unsafe extern "C" fn(
3280            in_data: *mut PF_InData,
3281            progress_base: A_long,
3282            progress_final: A_long,
3283            src: *mut PF_EffectWorld,
3284            area: *const PF_Rect,
3285            origin: *const PF_Point,
3286            refcon: *mut ::std::os::raw::c_void,
3287            pix_fn: PF_IteratePixel8Func,
3288            dst: *mut PF_EffectWorld,
3289        ) -> PF_Err,
3290    >,
3291    pub iterate_generic: ::std::option::Option<
3292        unsafe extern "C" fn(
3293            iterationsL: A_long,
3294            refconPV: *mut ::std::os::raw::c_void,
3295            fn_func: ::std::option::Option<
3296                unsafe extern "C" fn(
3297                    refconPV: *mut ::std::os::raw::c_void,
3298                    thread_indexL: A_long,
3299                    i: A_long,
3300                    iterationsL: A_long,
3301                ) -> PF_Err,
3302            >,
3303        ) -> PF_Err,
3304    >,
3305    pub host_resize_handle: ::std::option::Option<
3306        unsafe extern "C" fn(new_sizeL: A_u_longlong, handlePH: *mut PF_Handle) -> PF_Err,
3307    >,
3308    pub subpixel_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 area_sample16: ::std::option::Option<
3318        unsafe extern "C" fn(
3319            effect_ref: PF_ProgPtr,
3320            x: PF_Fixed,
3321            y: PF_Fixed,
3322            params: *const PF_SampPB,
3323            dst_pixel: *mut PF_Pixel16,
3324        ) -> PF_Err,
3325    >,
3326    pub fill16: ::std::option::Option<
3327        unsafe extern "C" fn(
3328            effect_ref: PF_ProgPtr,
3329            color: *const PF_Pixel16,
3330            dst_rect: *const PF_Rect,
3331            world: *mut PF_EffectWorld,
3332        ) -> PF_Err,
3333    >,
3334    pub premultiply_color16: ::std::option::Option<
3335        unsafe extern "C" fn(
3336            effect_ref: PF_ProgPtr,
3337            src: *mut PF_EffectWorld,
3338            color: *const PF_Pixel16,
3339            forward: A_long,
3340            dst: *mut PF_EffectWorld,
3341        ) -> PF_Err,
3342    >,
3343    pub iterate16: ::std::option::Option<
3344        unsafe extern "C" fn(
3345            in_data: *mut PF_InData,
3346            progress_base: A_long,
3347            progress_final: A_long,
3348            src: *mut PF_EffectWorld,
3349            area: *const PF_Rect,
3350            refcon: *mut ::std::os::raw::c_void,
3351            pix_fn: PF_IteratePixel16Func,
3352            dst: *mut PF_EffectWorld,
3353        ) -> PF_Err,
3354    >,
3355    pub iterate_origin16: ::std::option::Option<
3356        unsafe extern "C" fn(
3357            in_data: *mut PF_InData,
3358            progress_base: A_long,
3359            progress_final: A_long,
3360            src: *mut PF_EffectWorld,
3361            area: *const PF_Rect,
3362            origin: *const PF_Point,
3363            refcon: *mut ::std::os::raw::c_void,
3364            pix_fn: PF_IteratePixel16Func,
3365            dst: *mut PF_EffectWorld,
3366        ) -> PF_Err,
3367    >,
3368    pub iterate_origin_non_clip_src16: ::std::option::Option<
3369        unsafe extern "C" fn(
3370            in_data: *mut PF_InData,
3371            progress_base: A_long,
3372            progress_final: A_long,
3373            src: *mut PF_EffectWorld,
3374            area: *const PF_Rect,
3375            origin: *const PF_Point,
3376            refcon: *mut ::std::os::raw::c_void,
3377            pix_fn: PF_IteratePixel16Func,
3378            dst: *mut PF_EffectWorld,
3379        ) -> PF_Err,
3380    >,
3381    pub get_pixel_data8: ::std::option::Option<
3382        unsafe extern "C" fn(
3383            worldP: *mut PF_EffectWorld,
3384            pixelsP0: PF_PixelPtr,
3385            pixPP: *mut *mut PF_Pixel8,
3386        ) -> PF_Err,
3387    >,
3388    pub get_pixel_data16: ::std::option::Option<
3389        unsafe extern "C" fn(
3390            worldP: *mut PF_EffectWorld,
3391            pixelsP0: PF_PixelPtr,
3392            pixPP: *mut *mut PF_Pixel16,
3393        ) -> PF_Err,
3394    >,
3395    pub reserved: [A_long; 1usize],
3396}
3397pub type PF_UtilCallbacks = _PF_UtilCallbacks;
3398pub const PF_PixelFormat_ARGB32: _bindgen_ty_65 = 1650946657;
3399pub const PF_PixelFormat_ARGB64: _bindgen_ty_65 = 909206881;
3400pub const PF_PixelFormat_ARGB128: _bindgen_ty_65 = 842229089;
3401pub const PF_PixelFormat_GPU_BGRA128: _bindgen_ty_65 = 1094992704;
3402pub const PF_PixelFormat_RESERVED: _bindgen_ty_65 = 1631863616;
3403pub const PF_PixelFormat_BGRA32: _bindgen_ty_65 = 1634887522;
3404pub const PF_PixelFormat_VUYA32: _bindgen_ty_65 = 1635349878;
3405pub const PF_PixelFormat_NTSCDV25: _bindgen_ty_65 = 846100068;
3406pub const PF_PixelFormat_PALDV25: _bindgen_ty_65 = 846231140;
3407pub const PF_PixelFormat_INVALID: _bindgen_ty_65 = 1717854562;
3408pub const PF_PixelFormat_FORCE_LONG_INT: _bindgen_ty_65 = 4294967295;
3409pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
3410pub type PF_PixelFormat = A_long;
3411#[repr(C)]
3412#[derive(Debug, Copy, Clone)]
3413pub struct PF_HandleSuite1 {
3414    pub host_new_handle:
3415        ::std::option::Option<unsafe extern "C" fn(size: A_HandleSize) -> PF_Handle>,
3416    pub host_lock_handle: ::std::option::Option<
3417        unsafe extern "C" fn(pf_handle: PF_Handle) -> *mut ::std::os::raw::c_void,
3418    >,
3419    pub host_unlock_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3420    pub host_dispose_handle: ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle)>,
3421    pub host_get_handle_size:
3422        ::std::option::Option<unsafe extern "C" fn(pf_handle: PF_Handle) -> A_HandleSize>,
3423    pub host_resize_handle: ::std::option::Option<
3424        unsafe extern "C" fn(new_sizeL: A_HandleSize, handlePH: *mut PF_Handle) -> PF_Err,
3425    >,
3426}
3427#[repr(C)]
3428#[derive(Debug, Copy, Clone)]
3429pub struct PF_ANSICallbacksSuite1 {
3430    pub atan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3431    pub atan2: ::std::option::Option<unsafe extern "C" fn(y: A_FpLong, x: A_FpLong) -> A_FpLong>,
3432    pub ceil: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3433    pub cos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3434    pub exp: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3435    pub fabs: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3436    pub floor: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3437    pub fmod: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3438    pub hypot: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3439    pub log: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3440    pub log10: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3441    pub pow: ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong) -> A_FpLong>,
3442    pub sin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3443    pub sqrt: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3444    pub tan: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3445    pub sprintf: ::std::option::Option<
3446        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char, ...) -> ::std::os::raw::c_int,
3447    >,
3448    pub strcpy: ::std::option::Option<
3449        unsafe extern "C" fn(arg1: *mut A_char, arg2: *const A_char) -> *mut A_char,
3450    >,
3451    pub asin: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3452    pub acos: ::std::option::Option<unsafe extern "C" fn(arg1: A_FpLong) -> A_FpLong>,
3453}
3454#[repr(C)]
3455#[derive(Debug, Copy, Clone)]
3456pub struct PF_PixelDataSuite1 {
3457    pub get_pixel_data8: ::std::option::Option<
3458        unsafe extern "C" fn(
3459            worldP: *mut PF_EffectWorld,
3460            pixelsP0: PF_PixelPtr,
3461            pixPP: *mut *mut PF_Pixel8,
3462        ) -> PF_Err,
3463    >,
3464    pub get_pixel_data16: ::std::option::Option<
3465        unsafe extern "C" fn(
3466            worldP: *mut PF_EffectWorld,
3467            pixelsP0: PF_PixelPtr,
3468            pixPP: *mut *mut PF_Pixel16,
3469        ) -> PF_Err,
3470    >,
3471    pub get_pixel_data_float: ::std::option::Option<
3472        unsafe extern "C" fn(
3473            worldP: *mut PF_EffectWorld,
3474            pixelsP0: PF_PixelPtr,
3475            pixPP: *mut *mut PF_PixelFloat,
3476        ) -> PF_Err,
3477    >,
3478}
3479#[repr(C)]
3480#[derive(Debug, Copy, Clone)]
3481pub struct PF_PixelDataSuite2 {
3482    pub get_pixel_data8: ::std::option::Option<
3483        unsafe extern "C" fn(
3484            worldP: *mut PF_EffectWorld,
3485            pixelsP0: PF_PixelPtr,
3486            pixPP: *mut *mut PF_Pixel8,
3487        ) -> PF_Err,
3488    >,
3489    pub get_pixel_data16: ::std::option::Option<
3490        unsafe extern "C" fn(
3491            worldP: *mut PF_EffectWorld,
3492            pixelsP0: PF_PixelPtr,
3493            pixPP: *mut *mut PF_Pixel16,
3494        ) -> PF_Err,
3495    >,
3496    pub get_pixel_data_float: ::std::option::Option<
3497        unsafe extern "C" fn(
3498            worldP: *mut PF_EffectWorld,
3499            pixelsP0: PF_PixelPtr,
3500            pixPP: *mut *mut PF_PixelFloat,
3501        ) -> PF_Err,
3502    >,
3503    pub get_pixel_data_float_gpu: ::std::option::Option<
3504        unsafe extern "C" fn(
3505            worldP: *mut PF_EffectWorld,
3506            pixPP: *mut *mut ::std::os::raw::c_void,
3507        ) -> PF_Err,
3508    >,
3509}
3510#[repr(C)]
3511#[derive(Debug, Copy, Clone)]
3512pub struct PF_ColorCallbacksSuite1 {
3513    pub RGBtoHLS: ::std::option::Option<
3514        unsafe extern "C" fn(
3515            effect_ref: PF_ProgPtr,
3516            rgb: *mut PF_Pixel,
3517            hls: *mut PF_Fixed,
3518        ) -> PF_Err,
3519    >,
3520    pub HLStoRGB: ::std::option::Option<
3521        unsafe extern "C" fn(
3522            effect_ref: PF_ProgPtr,
3523            hls: *mut PF_Fixed,
3524            rgb: *mut PF_Pixel,
3525        ) -> PF_Err,
3526    >,
3527    pub RGBtoYIQ: ::std::option::Option<
3528        unsafe extern "C" fn(
3529            effect_ref: PF_ProgPtr,
3530            rgb: *mut PF_Pixel,
3531            yiq: *mut PF_Fixed,
3532        ) -> PF_Err,
3533    >,
3534    pub YIQtoRGB: ::std::option::Option<
3535        unsafe extern "C" fn(
3536            effect_ref: PF_ProgPtr,
3537            yiq: *mut PF_Fixed,
3538            rgb: *mut PF_Pixel,
3539        ) -> PF_Err,
3540    >,
3541    pub Luminance: ::std::option::Option<
3542        unsafe extern "C" fn(
3543            effect_ref: PF_ProgPtr,
3544            rgb: *mut PF_Pixel,
3545            lum100: *mut A_long,
3546        ) -> PF_Err,
3547    >,
3548    pub Hue: ::std::option::Option<
3549        unsafe extern "C" fn(
3550            effect_ref: PF_ProgPtr,
3551            rgb: *mut PF_Pixel,
3552            hue: *mut A_long,
3553        ) -> PF_Err,
3554    >,
3555    pub Lightness: ::std::option::Option<
3556        unsafe extern "C" fn(
3557            effect_ref: PF_ProgPtr,
3558            rgb: *mut PF_Pixel,
3559            lightness: *mut A_long,
3560        ) -> PF_Err,
3561    >,
3562    pub Saturation: ::std::option::Option<
3563        unsafe extern "C" fn(
3564            effect_ref: PF_ProgPtr,
3565            rgb: *mut PF_Pixel,
3566            saturation: *mut A_long,
3567        ) -> PF_Err,
3568    >,
3569}
3570#[repr(C)]
3571#[derive(Debug, Copy, Clone)]
3572pub struct PF_ColorCallbacks16Suite1 {
3573    pub RGBtoHLS: ::std::option::Option<
3574        unsafe extern "C" fn(
3575            effect_ref: PF_ProgPtr,
3576            rgb: *mut PF_Pixel16,
3577            hls: *mut PF_Fixed,
3578        ) -> PF_Err,
3579    >,
3580    pub HLStoRGB: ::std::option::Option<
3581        unsafe extern "C" fn(
3582            effect_ref: PF_ProgPtr,
3583            hls: *mut PF_Fixed,
3584            rgb: *mut PF_Pixel16,
3585        ) -> PF_Err,
3586    >,
3587    pub RGBtoYIQ: ::std::option::Option<
3588        unsafe extern "C" fn(
3589            effect_ref: PF_ProgPtr,
3590            rgb: *mut PF_Pixel16,
3591            yiq: *mut PF_Fixed,
3592        ) -> PF_Err,
3593    >,
3594    pub YIQtoRGB: ::std::option::Option<
3595        unsafe extern "C" fn(
3596            effect_ref: PF_ProgPtr,
3597            yiq: *mut PF_Fixed,
3598            rgb: *mut PF_Pixel16,
3599        ) -> PF_Err,
3600    >,
3601    pub Luminance: ::std::option::Option<
3602        unsafe extern "C" fn(
3603            effect_ref: PF_ProgPtr,
3604            rgb: *mut PF_Pixel16,
3605            lum100: *mut A_long,
3606        ) -> PF_Err,
3607    >,
3608    pub Hue: ::std::option::Option<
3609        unsafe extern "C" fn(
3610            effect_ref: PF_ProgPtr,
3611            rgb: *mut PF_Pixel16,
3612            hue: *mut A_long,
3613        ) -> PF_Err,
3614    >,
3615    pub Lightness: ::std::option::Option<
3616        unsafe extern "C" fn(
3617            effect_ref: PF_ProgPtr,
3618            rgb: *mut PF_Pixel16,
3619            lightness: *mut A_long,
3620        ) -> PF_Err,
3621    >,
3622    pub Saturation: ::std::option::Option<
3623        unsafe extern "C" fn(
3624            effect_ref: PF_ProgPtr,
3625            rgb: *mut PF_Pixel16,
3626            saturation: *mut A_long,
3627        ) -> PF_Err,
3628    >,
3629}
3630#[repr(C)]
3631#[derive(Debug, Copy, Clone)]
3632pub struct PF_ColorCallbacksFloatSuite1 {
3633    pub RGBtoHLS: ::std::option::Option<
3634        unsafe extern "C" fn(
3635            effect_ref: PF_ProgPtr,
3636            rgb: *mut PF_PixelFloat,
3637            hls: *mut PF_Fixed,
3638        ) -> PF_Err,
3639    >,
3640    pub HLStoRGB: ::std::option::Option<
3641        unsafe extern "C" fn(
3642            effect_ref: PF_ProgPtr,
3643            hls: *mut PF_Fixed,
3644            rgb: *mut PF_PixelFloat,
3645        ) -> PF_Err,
3646    >,
3647    pub RGBtoYIQ: ::std::option::Option<
3648        unsafe extern "C" fn(
3649            effect_ref: PF_ProgPtr,
3650            rgb: *mut PF_PixelFloat,
3651            yiq: *mut PF_Fixed,
3652        ) -> PF_Err,
3653    >,
3654    pub YIQtoRGB: ::std::option::Option<
3655        unsafe extern "C" fn(
3656            effect_ref: PF_ProgPtr,
3657            yiq: *mut PF_Fixed,
3658            rgb: *mut PF_PixelFloat,
3659        ) -> PF_Err,
3660    >,
3661    pub Luminance: ::std::option::Option<
3662        unsafe extern "C" fn(
3663            effect_ref: PF_ProgPtr,
3664            rgb: *mut PF_PixelFloat,
3665            lumP: *mut f32,
3666        ) -> PF_Err,
3667    >,
3668    pub Hue: ::std::option::Option<
3669        unsafe extern "C" fn(
3670            effect_ref: PF_ProgPtr,
3671            rgb: *mut PF_PixelFloat,
3672            hue: *mut f32,
3673        ) -> PF_Err,
3674    >,
3675    pub Lightness: ::std::option::Option<
3676        unsafe extern "C" fn(
3677            effect_ref: PF_ProgPtr,
3678            rgb: *mut PF_PixelFloat,
3679            lightness: *mut f32,
3680        ) -> PF_Err,
3681    >,
3682    pub Saturation: ::std::option::Option<
3683        unsafe extern "C" fn(
3684            effect_ref: PF_ProgPtr,
3685            rgb: *mut PF_PixelFloat,
3686            saturation: *mut f32,
3687        ) -> PF_Err,
3688    >,
3689}
3690#[repr(C)]
3691#[derive(Debug, Copy, Clone)]
3692pub struct PF_BatchSamplingSuite1 {
3693    pub begin_sampling: ::std::option::Option<
3694        unsafe extern "C" fn(
3695            effect_ref: PF_ProgPtr,
3696            qual: PF_Quality,
3697            mf: PF_ModeFlags,
3698            params: *mut PF_SampPB,
3699        ) -> PF_Err,
3700    >,
3701    pub end_sampling: ::std::option::Option<
3702        unsafe extern "C" fn(
3703            effect_ref: PF_ProgPtr,
3704            qual: PF_Quality,
3705            mf: PF_ModeFlags,
3706            params: *mut PF_SampPB,
3707        ) -> PF_Err,
3708    >,
3709    pub get_batch_func: ::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_BatchSampleFunc,
3716        ) -> PF_Err,
3717    >,
3718    pub get_batch_func16: ::std::option::Option<
3719        unsafe extern "C" fn(
3720            effect_ref: PF_ProgPtr,
3721            quality: PF_Quality,
3722            mode_flags: PF_ModeFlags,
3723            params: *const PF_SampPB,
3724            batch: *mut PF_BatchSample16Func,
3725        ) -> PF_Err,
3726    >,
3727}
3728#[repr(C)]
3729#[derive(Debug, Copy, Clone)]
3730pub struct PF_Sampling8Suite1 {
3731    pub nn_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 subpixel_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    pub area_sample: ::std::option::Option<
3750        unsafe extern "C" fn(
3751            effect_ref: PF_ProgPtr,
3752            x: PF_Fixed,
3753            y: PF_Fixed,
3754            params: *const PF_SampPB,
3755            dst_pixel: *mut PF_Pixel,
3756        ) -> PF_Err,
3757    >,
3758}
3759#[repr(C)]
3760#[derive(Debug, Copy, Clone)]
3761pub struct PF_Sampling16Suite1 {
3762    pub nn_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 subpixel_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    pub area_sample16: ::std::option::Option<
3781        unsafe extern "C" fn(
3782            effect_ref: PF_ProgPtr,
3783            x: PF_Fixed,
3784            y: PF_Fixed,
3785            params: *const PF_SampPB,
3786            dst_pixel: *mut PF_Pixel16,
3787        ) -> PF_Err,
3788    >,
3789}
3790#[repr(C)]
3791#[derive(Debug, Copy, Clone)]
3792pub struct PF_SamplingFloatSuite1 {
3793    pub nn_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 subpixel_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    pub area_sample_float: ::std::option::Option<
3812        unsafe extern "C" fn(
3813            effect_ref: PF_ProgPtr,
3814            x: PF_Fixed,
3815            y: PF_Fixed,
3816            params: *const PF_SampPB,
3817            dst_pixel: *mut PF_PixelFloat,
3818        ) -> PF_Err,
3819    >,
3820}
3821#[repr(C)]
3822#[derive(Debug, Copy, Clone)]
3823pub struct PF_WorldSuite2 {
3824    pub PF_NewWorld: ::std::option::Option<
3825        unsafe extern "C" fn(
3826            effect_ref: PF_ProgPtr,
3827            widthL: A_long,
3828            heightL: A_long,
3829            clear_pixB: PF_Boolean,
3830            pixel_format: PF_PixelFormat,
3831            worldP: *mut PF_EffectWorld,
3832        ) -> PF_Err,
3833    >,
3834    pub PF_DisposeWorld: ::std::option::Option<
3835        unsafe extern "C" fn(effect_ref: PF_ProgPtr, worldP: *mut PF_EffectWorld) -> PF_Err,
3836    >,
3837    pub PF_GetPixelFormat: ::std::option::Option<
3838        unsafe extern "C" fn(
3839            worldP: *const PF_EffectWorld,
3840            pixel_formatP: *mut PF_PixelFormat,
3841        ) -> PF_Err,
3842    >,
3843}
3844#[repr(C)]
3845#[derive(Debug, Copy, Clone)]
3846pub struct PF_PixelFormatSuite2 {
3847    pub PF_AddSupportedPixelFormat: ::std::option::Option<
3848        unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixel_format: PF_PixelFormat) -> PF_Err,
3849    >,
3850    pub PF_ClearSupportedPixelFormats:
3851        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
3852}
3853#[repr(C)]
3854#[derive(Debug, Copy, Clone)]
3855pub struct PF_WorldSuite1 {
3856    pub new_world: ::std::option::Option<
3857        unsafe extern "C" fn(
3858            effect_ref: PF_ProgPtr,
3859            width: A_long,
3860            height: A_long,
3861            flags: PF_NewWorldFlags,
3862            world: *mut PF_EffectWorld,
3863        ) -> PF_Err,
3864    >,
3865    pub dispose_world: ::std::option::Option<
3866        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
3867    >,
3868}
3869#[repr(C)]
3870#[derive(Debug, Copy, Clone)]
3871pub struct PF_Iterate8Suite1 {
3872    pub iterate: ::std::option::Option<
3873        unsafe extern "C" fn(
3874            in_data: *mut PF_InData,
3875            progress_base: A_long,
3876            progress_final: A_long,
3877            src: *mut PF_EffectWorld,
3878            area: *const PF_Rect,
3879            refcon: *mut ::std::os::raw::c_void,
3880            pix_fn: ::std::option::Option<
3881                unsafe extern "C" fn(
3882                    refcon: *mut ::std::os::raw::c_void,
3883                    x: A_long,
3884                    y: A_long,
3885                    in_: *mut PF_Pixel,
3886                    out: *mut PF_Pixel,
3887                ) -> PF_Err,
3888            >,
3889            dst: *mut PF_EffectWorld,
3890        ) -> PF_Err,
3891    >,
3892    pub iterate_origin: ::std::option::Option<
3893        unsafe extern "C" fn(
3894            in_data: *mut PF_InData,
3895            progress_base: A_long,
3896            progress_final: A_long,
3897            src: *mut PF_EffectWorld,
3898            area: *const PF_Rect,
3899            origin: *const PF_Point,
3900            refcon: *mut ::std::os::raw::c_void,
3901            pix_fn: ::std::option::Option<
3902                unsafe extern "C" fn(
3903                    refcon: *mut ::std::os::raw::c_void,
3904                    x: A_long,
3905                    y: A_long,
3906                    in_: *mut PF_Pixel,
3907                    out: *mut PF_Pixel,
3908                ) -> PF_Err,
3909            >,
3910            dst: *mut PF_EffectWorld,
3911        ) -> PF_Err,
3912    >,
3913    pub iterate_lut: ::std::option::Option<
3914        unsafe extern "C" fn(
3915            in_data: *mut PF_InData,
3916            progress_base: A_long,
3917            progress_final: A_long,
3918            src: *mut PF_EffectWorld,
3919            area: *const PF_Rect,
3920            a_lut0: *mut A_u_char,
3921            r_lut0: *mut A_u_char,
3922            g_lut0: *mut A_u_char,
3923            b_lut0: *mut A_u_char,
3924            dst: *mut PF_EffectWorld,
3925        ) -> PF_Err,
3926    >,
3927    pub iterate_origin_non_clip_src: ::std::option::Option<
3928        unsafe extern "C" fn(
3929            in_data: *mut PF_InData,
3930            progress_base: A_long,
3931            progress_final: A_long,
3932            src: *mut PF_EffectWorld,
3933            area: *const PF_Rect,
3934            origin: *const PF_Point,
3935            refcon: *mut ::std::os::raw::c_void,
3936            pix_fn: ::std::option::Option<
3937                unsafe extern "C" fn(
3938                    refcon: *mut ::std::os::raw::c_void,
3939                    x: A_long,
3940                    y: A_long,
3941                    in_: *mut PF_Pixel,
3942                    out: *mut PF_Pixel,
3943                ) -> PF_Err,
3944            >,
3945            dst: *mut PF_EffectWorld,
3946        ) -> PF_Err,
3947    >,
3948    pub iterate_generic: ::std::option::Option<
3949        unsafe extern "C" fn(
3950            iterationsL: A_long,
3951            refconPV: *mut ::std::os::raw::c_void,
3952            fn_func: ::std::option::Option<
3953                unsafe extern "C" fn(
3954                    refconPV: *mut ::std::os::raw::c_void,
3955                    thread_indexL: A_long,
3956                    i: A_long,
3957                    iterationsL: A_long,
3958                ) -> PF_Err,
3959            >,
3960        ) -> PF_Err,
3961    >,
3962}
3963#[repr(C)]
3964#[derive(Debug, Copy, Clone)]
3965pub struct PF_Iterate8Suite2 {
3966    pub iterate: ::std::option::Option<
3967        unsafe extern "C" fn(
3968            in_data: *mut PF_InData,
3969            progress_base: A_long,
3970            progress_final: A_long,
3971            src: *mut PF_EffectWorld,
3972            area: *const PF_Rect,
3973            refcon: *mut ::std::os::raw::c_void,
3974            pix_fn: ::std::option::Option<
3975                unsafe extern "C" fn(
3976                    refcon: *mut ::std::os::raw::c_void,
3977                    x: A_long,
3978                    y: A_long,
3979                    in_: *mut PF_Pixel,
3980                    out: *mut PF_Pixel,
3981                ) -> PF_Err,
3982            >,
3983            dst: *mut PF_EffectWorld,
3984        ) -> PF_Err,
3985    >,
3986    pub iterate_origin: ::std::option::Option<
3987        unsafe extern "C" fn(
3988            in_data: *mut PF_InData,
3989            progress_base: A_long,
3990            progress_final: A_long,
3991            src: *mut PF_EffectWorld,
3992            area: *const PF_Rect,
3993            origin: *const PF_Point,
3994            refcon: *mut ::std::os::raw::c_void,
3995            pix_fn: ::std::option::Option<
3996                unsafe extern "C" fn(
3997                    refcon: *mut ::std::os::raw::c_void,
3998                    x: A_long,
3999                    y: A_long,
4000                    in_: *mut PF_Pixel,
4001                    out: *mut PF_Pixel,
4002                ) -> PF_Err,
4003            >,
4004            dst: *mut PF_EffectWorld,
4005        ) -> PF_Err,
4006    >,
4007    pub iterate_lut: ::std::option::Option<
4008        unsafe extern "C" fn(
4009            in_data: *mut PF_InData,
4010            progress_base: A_long,
4011            progress_final: A_long,
4012            src: *mut PF_EffectWorld,
4013            area: *const PF_Rect,
4014            a_lut0: *mut A_u_char,
4015            r_lut0: *mut A_u_char,
4016            g_lut0: *mut A_u_char,
4017            b_lut0: *mut A_u_char,
4018            dst: *mut PF_EffectWorld,
4019        ) -> PF_Err,
4020    >,
4021    pub iterate_origin_non_clip_src: ::std::option::Option<
4022        unsafe extern "C" fn(
4023            in_data: *mut PF_InData,
4024            progress_base: A_long,
4025            progress_final: A_long,
4026            src: *mut PF_EffectWorld,
4027            area: *const PF_Rect,
4028            origin: *const PF_Point,
4029            refcon: *mut ::std::os::raw::c_void,
4030            pix_fn: ::std::option::Option<
4031                unsafe extern "C" fn(
4032                    refcon: *mut ::std::os::raw::c_void,
4033                    x: A_long,
4034                    y: A_long,
4035                    in_: *mut PF_Pixel,
4036                    out: *mut PF_Pixel,
4037                ) -> PF_Err,
4038            >,
4039            dst: *mut PF_EffectWorld,
4040        ) -> PF_Err,
4041    >,
4042    pub iterate_generic: ::std::option::Option<
4043        unsafe extern "C" fn(
4044            iterationsL: A_long,
4045            refconPV: *mut ::std::os::raw::c_void,
4046            fn_func: ::std::option::Option<
4047                unsafe extern "C" fn(
4048                    refconPV: *mut ::std::os::raw::c_void,
4049                    thread_indexL: A_long,
4050                    i: A_long,
4051                    iterationsL: A_long,
4052                ) -> PF_Err,
4053            >,
4054        ) -> PF_Err,
4055    >,
4056}
4057#[repr(C)]
4058#[derive(Debug, Copy, Clone)]
4059pub struct PF_iterate16Suite1 {
4060    pub iterate: ::std::option::Option<
4061        unsafe extern "C" fn(
4062            in_data: *mut PF_InData,
4063            progress_base: A_long,
4064            progress_final: A_long,
4065            src: *mut PF_EffectWorld,
4066            area: *const PF_Rect,
4067            refcon: *mut ::std::os::raw::c_void,
4068            pix_fn: ::std::option::Option<
4069                unsafe extern "C" fn(
4070                    refcon: *mut ::std::os::raw::c_void,
4071                    x: A_long,
4072                    y: A_long,
4073                    in_: *mut PF_Pixel16,
4074                    out: *mut PF_Pixel16,
4075                ) -> PF_Err,
4076            >,
4077            dst: *mut PF_EffectWorld,
4078        ) -> PF_Err,
4079    >,
4080    pub iterate_origin: ::std::option::Option<
4081        unsafe extern "C" fn(
4082            in_data: *mut PF_InData,
4083            progress_base: A_long,
4084            progress_final: A_long,
4085            src: *mut PF_EffectWorld,
4086            area: *const PF_Rect,
4087            origin: *const PF_Point,
4088            refcon: *mut ::std::os::raw::c_void,
4089            pix_fn: ::std::option::Option<
4090                unsafe extern "C" fn(
4091                    refcon: *mut ::std::os::raw::c_void,
4092                    x: A_long,
4093                    y: A_long,
4094                    in_: *mut PF_Pixel16,
4095                    out: *mut PF_Pixel16,
4096                ) -> PF_Err,
4097            >,
4098            dst: *mut PF_EffectWorld,
4099        ) -> PF_Err,
4100    >,
4101    pub iterate_origin_non_clip_src: ::std::option::Option<
4102        unsafe extern "C" fn(
4103            in_data: *mut PF_InData,
4104            progress_base: A_long,
4105            progress_final: A_long,
4106            src: *mut PF_EffectWorld,
4107            area: *const PF_Rect,
4108            origin: *const PF_Point,
4109            refcon: *mut ::std::os::raw::c_void,
4110            pix_fn: ::std::option::Option<
4111                unsafe extern "C" fn(
4112                    refcon: *mut ::std::os::raw::c_void,
4113                    x: A_long,
4114                    y: A_long,
4115                    in_: *mut PF_Pixel16,
4116                    out: *mut PF_Pixel16,
4117                ) -> PF_Err,
4118            >,
4119            dst: *mut PF_EffectWorld,
4120        ) -> PF_Err,
4121    >,
4122}
4123pub type PF_Iterate16Suite1 = PF_iterate16Suite1;
4124#[repr(C)]
4125#[derive(Debug, Copy, Clone)]
4126pub struct PF_iterate16Suite2 {
4127    pub iterate: ::std::option::Option<
4128        unsafe extern "C" fn(
4129            in_data: *mut PF_InData,
4130            progress_base: A_long,
4131            progress_final: A_long,
4132            src: *mut PF_EffectWorld,
4133            area: *const PF_Rect,
4134            refcon: *mut ::std::os::raw::c_void,
4135            pix_fn: ::std::option::Option<
4136                unsafe extern "C" fn(
4137                    refcon: *mut ::std::os::raw::c_void,
4138                    x: A_long,
4139                    y: A_long,
4140                    in_: *mut PF_Pixel16,
4141                    out: *mut PF_Pixel16,
4142                ) -> PF_Err,
4143            >,
4144            dst: *mut PF_EffectWorld,
4145        ) -> PF_Err,
4146    >,
4147    pub iterate_origin: ::std::option::Option<
4148        unsafe extern "C" fn(
4149            in_data: *mut PF_InData,
4150            progress_base: A_long,
4151            progress_final: A_long,
4152            src: *mut PF_EffectWorld,
4153            area: *const PF_Rect,
4154            origin: *const PF_Point,
4155            refcon: *mut ::std::os::raw::c_void,
4156            pix_fn: ::std::option::Option<
4157                unsafe extern "C" fn(
4158                    refcon: *mut ::std::os::raw::c_void,
4159                    x: A_long,
4160                    y: A_long,
4161                    in_: *mut PF_Pixel16,
4162                    out: *mut PF_Pixel16,
4163                ) -> PF_Err,
4164            >,
4165            dst: *mut PF_EffectWorld,
4166        ) -> PF_Err,
4167    >,
4168    pub iterate_origin_non_clip_src: ::std::option::Option<
4169        unsafe extern "C" fn(
4170            in_data: *mut PF_InData,
4171            progress_base: A_long,
4172            progress_final: A_long,
4173            src: *mut PF_EffectWorld,
4174            area: *const PF_Rect,
4175            origin: *const PF_Point,
4176            refcon: *mut ::std::os::raw::c_void,
4177            pix_fn: ::std::option::Option<
4178                unsafe extern "C" fn(
4179                    refcon: *mut ::std::os::raw::c_void,
4180                    x: A_long,
4181                    y: A_long,
4182                    in_: *mut PF_Pixel16,
4183                    out: *mut PF_Pixel16,
4184                ) -> PF_Err,
4185            >,
4186            dst: *mut PF_EffectWorld,
4187        ) -> PF_Err,
4188    >,
4189}
4190pub type PF_Iterate16Suite2 = PF_iterate16Suite2;
4191#[repr(C)]
4192#[derive(Debug, Copy, Clone)]
4193pub struct PF_iterateFloatSuite1 {
4194    pub iterate: ::std::option::Option<
4195        unsafe extern "C" fn(
4196            in_data: *mut PF_InData,
4197            progress_base: A_long,
4198            progress_final: A_long,
4199            src: *mut PF_EffectWorld,
4200            area: *const PF_Rect,
4201            refcon: *mut ::std::os::raw::c_void,
4202            pix_fn: PF_IteratePixelFloatFunc,
4203            dst: *mut PF_EffectWorld,
4204        ) -> PF_Err,
4205    >,
4206    pub iterate_origin: ::std::option::Option<
4207        unsafe extern "C" fn(
4208            in_data: *mut PF_InData,
4209            progress_base: A_long,
4210            progress_final: A_long,
4211            src: *mut PF_EffectWorld,
4212            area: *const PF_Rect,
4213            origin: *const PF_Point,
4214            refcon: *mut ::std::os::raw::c_void,
4215            pix_fn: PF_IteratePixelFloatFunc,
4216            dst: *mut PF_EffectWorld,
4217        ) -> PF_Err,
4218    >,
4219    pub iterate_origin_non_clip_src: ::std::option::Option<
4220        unsafe extern "C" fn(
4221            in_data: *mut PF_InData,
4222            progress_base: A_long,
4223            progress_final: A_long,
4224            src: *mut PF_EffectWorld,
4225            area: *const PF_Rect,
4226            origin: *const PF_Point,
4227            refcon: *mut ::std::os::raw::c_void,
4228            pix_fn: PF_IteratePixelFloatFunc,
4229            dst: *mut PF_EffectWorld,
4230        ) -> PF_Err,
4231    >,
4232}
4233pub type PF_IterateFloatSuite1 = PF_iterateFloatSuite1;
4234#[repr(C)]
4235#[derive(Debug, Copy, Clone)]
4236pub struct PF_iterateFloatSuite2 {
4237    pub iterate: ::std::option::Option<
4238        unsafe extern "C" fn(
4239            in_data: *mut PF_InData,
4240            progress_base: A_long,
4241            progress_final: A_long,
4242            src: *mut PF_EffectWorld,
4243            area: *const PF_Rect,
4244            refcon: *mut ::std::os::raw::c_void,
4245            pix_fn: PF_IteratePixelFloatFunc,
4246            dst: *mut PF_EffectWorld,
4247        ) -> PF_Err,
4248    >,
4249    pub iterate_origin: ::std::option::Option<
4250        unsafe extern "C" fn(
4251            in_data: *mut PF_InData,
4252            progress_base: A_long,
4253            progress_final: A_long,
4254            src: *mut PF_EffectWorld,
4255            area: *const PF_Rect,
4256            origin: *const PF_Point,
4257            refcon: *mut ::std::os::raw::c_void,
4258            pix_fn: PF_IteratePixelFloatFunc,
4259            dst: *mut PF_EffectWorld,
4260        ) -> PF_Err,
4261    >,
4262    pub iterate_origin_non_clip_src: ::std::option::Option<
4263        unsafe extern "C" fn(
4264            in_data: *mut PF_InData,
4265            progress_base: A_long,
4266            progress_final: A_long,
4267            src: *mut PF_EffectWorld,
4268            area: *const PF_Rect,
4269            origin: *const PF_Point,
4270            refcon: *mut ::std::os::raw::c_void,
4271            pix_fn: PF_IteratePixelFloatFunc,
4272            dst: *mut PF_EffectWorld,
4273        ) -> PF_Err,
4274    >,
4275}
4276pub type PF_IterateFloatSuite2 = PF_iterateFloatSuite2;
4277#[repr(C)]
4278#[derive(Debug, Copy, Clone)]
4279pub struct PF_WorldTransformSuite1 {
4280    pub composite_rect: ::std::option::Option<
4281        unsafe extern "C" fn(
4282            effect_ref: PF_ProgPtr,
4283            src_rect: *mut PF_Rect,
4284            src_opacity: A_long,
4285            source_wld: *mut PF_EffectWorld,
4286            dest_x: A_long,
4287            dest_y: A_long,
4288            field_rdr: PF_Field,
4289            xfer_mode: PF_XferMode,
4290            dest_wld: *mut PF_EffectWorld,
4291        ) -> PF_Err,
4292    >,
4293    pub blend: ::std::option::Option<
4294        unsafe extern "C" fn(
4295            effect_ref: PF_ProgPtr,
4296            src1: *const PF_EffectWorld,
4297            src2: *const PF_EffectWorld,
4298            ratio: PF_Fixed,
4299            dst: *mut PF_EffectWorld,
4300        ) -> PF_Err,
4301    >,
4302    pub convolve: ::std::option::Option<
4303        unsafe extern "C" fn(
4304            effect_ref: PF_ProgPtr,
4305            src: *mut PF_EffectWorld,
4306            area: *const PF_Rect,
4307            flags: PF_KernelFlags,
4308            kernel_size: A_long,
4309            a_kernel: *mut ::std::os::raw::c_void,
4310            r_kernel: *mut ::std::os::raw::c_void,
4311            g_kernel: *mut ::std::os::raw::c_void,
4312            b_kernel: *mut ::std::os::raw::c_void,
4313            dst: *mut PF_EffectWorld,
4314        ) -> PF_Err,
4315    >,
4316    pub copy: ::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 copy_hq: ::std::option::Option<
4326        unsafe extern "C" fn(
4327            effect_ref: PF_ProgPtr,
4328            src: *mut PF_EffectWorld,
4329            dst: *mut PF_EffectWorld,
4330            src_r: *mut PF_Rect,
4331            dst_r: *mut PF_Rect,
4332        ) -> PF_Err,
4333    >,
4334    pub transfer_rect: ::std::option::Option<
4335        unsafe extern "C" fn(
4336            effect_ref: PF_ProgPtr,
4337            quality: PF_Quality,
4338            m_flags: PF_ModeFlags,
4339            field: PF_Field,
4340            src_rec: *const PF_Rect,
4341            src_world: *const PF_EffectWorld,
4342            comp_mode: *const PF_CompositeMode,
4343            mask_world0: *const PF_MaskWorld,
4344            dest_x: A_long,
4345            dest_y: A_long,
4346            dst_world: *mut PF_EffectWorld,
4347        ) -> PF_Err,
4348    >,
4349    pub transform_world: ::std::option::Option<
4350        unsafe extern "C" fn(
4351            effect_ref: PF_ProgPtr,
4352            quality: PF_Quality,
4353            m_flags: PF_ModeFlags,
4354            field: PF_Field,
4355            src_world: *const PF_EffectWorld,
4356            comp_mode: *const PF_CompositeMode,
4357            mask_world0: *const PF_MaskWorld,
4358            matrices: *const PF_FloatMatrix,
4359            num_matrices: A_long,
4360            src2dst_matrix: PF_Boolean,
4361            dest_rect: *const PF_Rect,
4362            dst_world: *mut PF_EffectWorld,
4363        ) -> PF_Err,
4364    >,
4365}
4366#[repr(C)]
4367#[derive(Debug, Copy, Clone)]
4368pub struct PF_FillMatteSuite2 {
4369    pub fill: ::std::option::Option<
4370        unsafe extern "C" fn(
4371            effect_ref: PF_ProgPtr,
4372            color: *const PF_Pixel,
4373            dst_rect: *const PF_Rect,
4374            world: *mut PF_EffectWorld,
4375        ) -> PF_Err,
4376    >,
4377    pub fill16: ::std::option::Option<
4378        unsafe extern "C" fn(
4379            effect_ref: PF_ProgPtr,
4380            color: *const PF_Pixel16,
4381            dst_rect: *const PF_Rect,
4382            world: *mut PF_EffectWorld,
4383        ) -> PF_Err,
4384    >,
4385    pub fill_float: ::std::option::Option<
4386        unsafe extern "C" fn(
4387            effect_ref: PF_ProgPtr,
4388            color: *const PF_PixelFloat,
4389            dst_rect: *const PF_Rect,
4390            world: *mut PF_EffectWorld,
4391        ) -> PF_Err,
4392    >,
4393    pub premultiply: ::std::option::Option<
4394        unsafe extern "C" fn(
4395            effect_ref: PF_ProgPtr,
4396            forward: A_long,
4397            dst: *mut PF_EffectWorld,
4398        ) -> PF_Err,
4399    >,
4400    pub premultiply_color: ::std::option::Option<
4401        unsafe extern "C" fn(
4402            effect_ref: PF_ProgPtr,
4403            src: *mut PF_EffectWorld,
4404            color: *const PF_Pixel,
4405            forward: A_long,
4406            dst: *mut PF_EffectWorld,
4407        ) -> PF_Err,
4408    >,
4409    pub premultiply_color16: ::std::option::Option<
4410        unsafe extern "C" fn(
4411            effect_ref: PF_ProgPtr,
4412            src: *mut PF_EffectWorld,
4413            color: *const PF_Pixel16,
4414            forward: A_long,
4415            dst: *mut PF_EffectWorld,
4416        ) -> PF_Err,
4417    >,
4418    pub premultiply_color_float: ::std::option::Option<
4419        unsafe extern "C" fn(
4420            effect_ref: PF_ProgPtr,
4421            src: *mut PF_EffectWorld,
4422            color: *const PF_PixelFloat,
4423            forward: A_long,
4424            dst: *mut PF_EffectWorld,
4425        ) -> PF_Err,
4426    >,
4427}
4428#[repr(C)]
4429#[derive(Debug, Copy, Clone)]
4430pub struct PF_GPUDeviceInfo {
4431    pub device_framework: PF_GPU_Framework,
4432    pub compatibleB: PF_Boolean,
4433    pub platformPV: *mut ::std::os::raw::c_void,
4434    pub devicePV: *mut ::std::os::raw::c_void,
4435    pub contextPV: *mut ::std::os::raw::c_void,
4436    pub command_queuePV: *mut ::std::os::raw::c_void,
4437    pub offscreen_opengl_contextPV: *mut ::std::os::raw::c_void,
4438    pub offscreen_opengl_devicePV: *mut ::std::os::raw::c_void,
4439}
4440#[repr(C)]
4441#[derive(Debug, Copy, Clone)]
4442pub struct PF_GPUDeviceSuite1 {
4443    #[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."]
4444    pub GetDeviceCount: ::std::option::Option<
4445        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_countP: *mut A_u_long) -> PF_Err,
4446    >,
4447    #[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."]
4448    pub GetDeviceInfo: ::std::option::Option<
4449        unsafe extern "C" fn(
4450            effect_ref: PF_ProgPtr,
4451            device_index: A_u_long,
4452            device_infoP: *mut PF_GPUDeviceInfo,
4453        ) -> PF_Err,
4454    >,
4455    #[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."]
4456    pub AcquireExclusiveDeviceAccess: ::std::option::Option<
4457        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_index: A_u_long) -> PF_Err,
4458    >,
4459    pub ReleaseExclusiveDeviceAccess: ::std::option::Option<
4460        unsafe extern "C" fn(effect_ref: PF_ProgPtr, device_index: A_u_long) -> PF_Err,
4461    >,
4462    #[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."]
4463    pub AllocateDeviceMemory: ::std::option::Option<
4464        unsafe extern "C" fn(
4465            effect_ref: PF_ProgPtr,
4466            device_index: A_u_long,
4467            size_bytes: usize,
4468            memoryPP: *mut *mut ::std::os::raw::c_void,
4469        ) -> PF_Err,
4470    >,
4471    pub FreeDeviceMemory: ::std::option::Option<
4472        unsafe extern "C" fn(
4473            effect_ref: PF_ProgPtr,
4474            device_index: A_u_long,
4475            memoryP: *mut ::std::os::raw::c_void,
4476        ) -> PF_Err,
4477    >,
4478    pub PurgeDeviceMemory: ::std::option::Option<
4479        unsafe extern "C" fn(
4480            effect_ref: PF_ProgPtr,
4481            device_index: A_u_long,
4482            size_bytes: usize,
4483            bytes_purgedP0: *mut usize,
4484        ) -> PF_Err,
4485    >,
4486    #[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."]
4487    pub AllocateHostMemory: ::std::option::Option<
4488        unsafe extern "C" fn(
4489            effect_ref: PF_ProgPtr,
4490            device_index: A_u_long,
4491            size_bytes: usize,
4492            memoryPP: *mut *mut ::std::os::raw::c_void,
4493        ) -> PF_Err,
4494    >,
4495    pub FreeHostMemory: ::std::option::Option<
4496        unsafe extern "C" fn(
4497            effect_ref: PF_ProgPtr,
4498            device_index: A_u_long,
4499            memoryP: *mut ::std::os::raw::c_void,
4500        ) -> PF_Err,
4501    >,
4502    pub PurgeHostMemory: ::std::option::Option<
4503        unsafe extern "C" fn(
4504            effect_ref: PF_ProgPtr,
4505            device_index: A_u_long,
4506            bytes_to_purge: usize,
4507            bytes_purgedP0: *mut usize,
4508        ) -> PF_Err,
4509    >,
4510    #[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."]
4511    pub CreateGPUWorld: ::std::option::Option<
4512        unsafe extern "C" fn(
4513            effect_ref: PF_ProgPtr,
4514            device_index: A_u_long,
4515            width: A_long,
4516            height: A_long,
4517            pixel_aspect_ratio: PF_RationalScale,
4518            field_type: PF_Field,
4519            pixel_format: PF_PixelFormat,
4520            clear_pixB: PF_Boolean,
4521            worldPP: *mut *mut PF_EffectWorld,
4522        ) -> PF_Err,
4523    >,
4524    #[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."]
4525    pub DisposeGPUWorld: ::std::option::Option<
4526        unsafe extern "C" fn(effect_ref: PF_ProgPtr, worldP: *mut PF_EffectWorld) -> PF_Err,
4527    >,
4528    #[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."]
4529    pub GetGPUWorldData: ::std::option::Option<
4530        unsafe extern "C" fn(
4531            effect_ref: PF_ProgPtr,
4532            worldP: *mut PF_EffectWorld,
4533            pixPP: *mut *mut ::std::os::raw::c_void,
4534        ) -> PF_Err,
4535    >,
4536    #[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."]
4537    pub GetGPUWorldSize: ::std::option::Option<
4538        unsafe extern "C" fn(
4539            effect_ref: PF_ProgPtr,
4540            worldP: *mut PF_EffectWorld,
4541            size_in_bytesP: *mut usize,
4542        ) -> PF_Err,
4543    >,
4544    #[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."]
4545    pub GetGPUWorldDeviceIndex: ::std::option::Option<
4546        unsafe extern "C" fn(
4547            effect_ref: PF_ProgPtr,
4548            worldP: *mut PF_EffectWorld,
4549            device_indexP: *mut A_u_long,
4550        ) -> PF_Err,
4551    >,
4552}
4553#[repr(C)]
4554#[derive(Debug, Copy, Clone)]
4555pub struct PF_PathOutline {
4556    _unused: [u8; 0],
4557}
4558pub type PF_PathOutlinePtr = *mut PF_PathOutline;
4559#[repr(C)]
4560#[derive(Debug, Copy, Clone)]
4561pub struct PF_PathSegPrep {
4562    _unused: [u8; 0],
4563}
4564pub type PF_PathSegPrepPtr = *mut PF_PathSegPrep;
4565#[repr(C)]
4566#[derive(Debug, Copy, Clone)]
4567pub struct PF_PathQuerySuite1 {
4568    pub PF_NumPaths: ::std::option::Option<
4569        unsafe extern "C" fn(effect_ref: PF_ProgPtr, num_pathsPL: *mut A_long) -> PF_Err,
4570    >,
4571    pub PF_PathInfo: ::std::option::Option<
4572        unsafe extern "C" fn(
4573            effect_ref: PF_ProgPtr,
4574            indexL: A_long,
4575            unique_idP: *mut PF_PathID,
4576        ) -> PF_Err,
4577    >,
4578    pub PF_CheckoutPath: ::std::option::Option<
4579        unsafe extern "C" fn(
4580            effect_ref: PF_ProgPtr,
4581            unique_id: PF_PathID,
4582            what_time: A_long,
4583            time_step: A_long,
4584            time_scale: A_u_long,
4585            pathPP: *mut PF_PathOutlinePtr,
4586        ) -> PF_Err,
4587    >,
4588    pub PF_CheckinPath: ::std::option::Option<
4589        unsafe extern "C" fn(
4590            effect_ref: PF_ProgPtr,
4591            unique_id: PF_PathID,
4592            changedB: PF_Boolean,
4593            pathP: PF_PathOutlinePtr,
4594        ) -> PF_Err,
4595    >,
4596}
4597#[repr(C)]
4598#[derive(Debug, Copy, Clone)]
4599pub struct PF_PathVertex {
4600    pub x: PF_FpLong,
4601    pub y: PF_FpLong,
4602    pub tan_in_x: PF_FpLong,
4603    pub tan_in_y: PF_FpLong,
4604    pub tan_out_x: PF_FpLong,
4605    pub tan_out_y: PF_FpLong,
4606}
4607#[repr(C)]
4608#[derive(Debug, Copy, Clone)]
4609pub struct PF_PathDataSuite1 {
4610    pub PF_PathIsOpen: ::std::option::Option<
4611        unsafe extern "C" fn(
4612            effect_ref0: PF_ProgPtr,
4613            pathP: PF_PathOutlinePtr,
4614            openPB: *mut PF_Boolean,
4615        ) -> PF_Err,
4616    >,
4617    pub PF_PathNumSegments: ::std::option::Option<
4618        unsafe extern "C" fn(
4619            effect_ref0: PF_ProgPtr,
4620            pathP: PF_PathOutlinePtr,
4621            num_segmentsPL: *mut A_long,
4622        ) -> PF_Err,
4623    >,
4624    pub PF_PathVertexInfo: ::std::option::Option<
4625        unsafe extern "C" fn(
4626            effect_ref0: PF_ProgPtr,
4627            pathP: PF_PathOutlinePtr,
4628            which_pointL: A_long,
4629            vertexP: *mut PF_PathVertex,
4630        ) -> PF_Err,
4631    >,
4632    pub PF_PathPrepareSegLength: ::std::option::Option<
4633        unsafe extern "C" fn(
4634            effect_ref0: PF_ProgPtr,
4635            pathP: PF_PathOutlinePtr,
4636            which_segL: A_long,
4637            frequencyL: A_long,
4638            lengthPrepPP: *mut PF_PathSegPrepPtr,
4639        ) -> PF_Err,
4640    >,
4641    pub PF_PathGetSegLength: ::std::option::Option<
4642        unsafe extern "C" fn(
4643            effect_ref0: PF_ProgPtr,
4644            pathP: PF_PathOutlinePtr,
4645            which_segL: A_long,
4646            lengthPrepP0: *mut PF_PathSegPrepPtr,
4647            lengthPF: *mut PF_FpLong,
4648        ) -> PF_Err,
4649    >,
4650    pub PF_PathEvalSegLength: ::std::option::Option<
4651        unsafe extern "C" fn(
4652            effect_ref0: PF_ProgPtr,
4653            pathP: PF_PathOutlinePtr,
4654            lengthPrepPP0: *mut PF_PathSegPrepPtr,
4655            which_segL: A_long,
4656            lengthF: PF_FpLong,
4657            x: *mut PF_FpLong,
4658            y: *mut PF_FpLong,
4659        ) -> PF_Err,
4660    >,
4661    pub PF_PathEvalSegLengthDeriv1: ::std::option::Option<
4662        unsafe extern "C" fn(
4663            effect_ref0: PF_ProgPtr,
4664            pathP: PF_PathOutlinePtr,
4665            lengthPrepPP0: *mut PF_PathSegPrepPtr,
4666            which_segL: A_long,
4667            lengthF: PF_FpLong,
4668            x: *mut PF_FpLong,
4669            y: *mut PF_FpLong,
4670            deriv1x: *mut PF_FpLong,
4671            deriv1y: *mut PF_FpLong,
4672        ) -> PF_Err,
4673    >,
4674    pub PF_PathCleanupSegLength: ::std::option::Option<
4675        unsafe extern "C" fn(
4676            effect_ref0: PF_ProgPtr,
4677            pathP: PF_PathOutlinePtr,
4678            which_segL: A_long,
4679            lengthPrepPP: *mut PF_PathSegPrepPtr,
4680        ) -> PF_Err,
4681    >,
4682    pub PF_PathIsInverted: ::std::option::Option<
4683        unsafe extern "C" fn(
4684            effect_ref: PF_ProgPtr,
4685            unique_id: PF_PathID,
4686            invertedB: *mut PF_Boolean,
4687        ) -> PF_Err,
4688    >,
4689    pub PF_PathGetMaskMode: ::std::option::Option<
4690        unsafe extern "C" fn(
4691            effect_ref: PF_ProgPtr,
4692            unique_id: PF_PathID,
4693            modeP: *mut PF_MaskMode,
4694        ) -> PF_Err,
4695    >,
4696    pub PF_PathGetName: ::std::option::Option<
4697        unsafe extern "C" fn(
4698            effect_ref: PF_ProgPtr,
4699            unique_id: PF_PathID,
4700            nameZ: *mut A_char,
4701        ) -> PF_Err,
4702    >,
4703}
4704#[repr(C)]
4705#[derive(Debug, Copy, Clone)]
4706pub struct PF_State {
4707    pub reservedAL: [A_long; 4usize],
4708}
4709pub const PF_TimeDir_GREATER_THAN: _bindgen_ty_66 = 0;
4710pub const PF_TimeDir_LESS_THAN: _bindgen_ty_66 = 1;
4711pub const PF_TimeDir_GREATER_THAN_OR_EQUAL: _bindgen_ty_66 = 4096;
4712pub const PF_TimeDir_LESS_THAN_OR_EQUAL: _bindgen_ty_66 = 4097;
4713pub type _bindgen_ty_66 = ::std::os::raw::c_uint;
4714pub type PF_TimeDir = A_long;
4715pub type PF_KeyIndex = A_long;
4716#[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."]
4717#[repr(C)]
4718#[derive(Debug, Copy, Clone)]
4719pub struct PF_ParamUtilsSuite3 {
4720    pub PF_UpdateParamUI: ::std::option::Option<
4721        unsafe extern "C" fn(
4722            effect_ref: PF_ProgPtr,
4723            param_index: PF_ParamIndex,
4724            defP: *const PF_ParamDef,
4725        ) -> PF_Err,
4726    >,
4727    pub PF_GetCurrentState: ::std::option::Option<
4728        unsafe extern "C" fn(
4729            effect_ref: PF_ProgPtr,
4730            param_index: PF_ParamIndex,
4731            startPT0: *const A_Time,
4732            durationPT0: *const A_Time,
4733            stateP: *mut PF_State,
4734        ) -> PF_Err,
4735    >,
4736    pub PF_AreStatesIdentical: ::std::option::Option<
4737        unsafe extern "C" fn(
4738            effect_ref: PF_ProgPtr,
4739            state1P: *const PF_State,
4740            state2P: *const PF_State,
4741            samePB: *mut A_Boolean,
4742        ) -> PF_Err,
4743    >,
4744    pub PF_IsIdenticalCheckout: ::std::option::Option<
4745        unsafe extern "C" fn(
4746            effect_ref: PF_ProgPtr,
4747            param_index: PF_ParamIndex,
4748            what_time1: A_long,
4749            time_step1: A_long,
4750            time_scale1: A_u_long,
4751            what_time2: A_long,
4752            time_step2: A_long,
4753            time_scale2: A_u_long,
4754            identicalPB: *mut PF_Boolean,
4755        ) -> PF_Err,
4756    >,
4757    pub PF_FindKeyframeTime: ::std::option::Option<
4758        unsafe extern "C" fn(
4759            effect_ref: PF_ProgPtr,
4760            param_index: PF_ParamIndex,
4761            what_time: A_long,
4762            time_scale: A_u_long,
4763            time_dir: PF_TimeDir,
4764            foundPB: *mut PF_Boolean,
4765            key_indexP0: *mut PF_KeyIndex,
4766            key_timeP0: *mut A_long,
4767            key_timescaleP0: *mut A_u_long,
4768        ) -> PF_Err,
4769    >,
4770    pub PF_GetKeyframeCount: ::std::option::Option<
4771        unsafe extern "C" fn(
4772            effect_ref: PF_ProgPtr,
4773            param_index: PF_ParamIndex,
4774            key_countP: *mut PF_KeyIndex,
4775        ) -> PF_Err,
4776    >,
4777    pub PF_CheckoutKeyframe: ::std::option::Option<
4778        unsafe extern "C" fn(
4779            effect_ref: PF_ProgPtr,
4780            param_index: PF_ParamIndex,
4781            key_index: PF_KeyIndex,
4782            key_timeP0: *mut A_long,
4783            key_timescaleP0: *mut A_u_long,
4784            paramP0: *mut PF_ParamDef,
4785        ) -> PF_Err,
4786    >,
4787    pub PF_CheckinKeyframe: ::std::option::Option<
4788        unsafe extern "C" fn(effect_ref: PF_ProgPtr, paramP: *mut PF_ParamDef) -> PF_Err,
4789    >,
4790    pub PF_KeyIndexToTime: ::std::option::Option<
4791        unsafe extern "C" fn(
4792            effect_ref: PF_ProgPtr,
4793            param_index: PF_ParamIndex,
4794            key_indexP: PF_KeyIndex,
4795            key_timeP: *mut A_long,
4796            key_timescaleP: *mut A_u_long,
4797        ) -> PF_Err,
4798    >,
4799}
4800#[doc = " PF_ColorParamSuite1"]
4801#[repr(C)]
4802#[derive(Debug, Copy, Clone)]
4803pub struct PF_ColorParamSuite1 {
4804    pub PF_GetFloatingPointColorFromColorDef: ::std::option::Option<
4805        unsafe extern "C" fn(
4806            effect_ref: PF_ProgPtr,
4807            color_defP: *const PF_ParamDef,
4808            fp_colorP: *mut PF_PixelFloat,
4809        ) -> PF_Err,
4810    >,
4811}
4812#[doc = " PF_PointParamSuite1"]
4813#[repr(C)]
4814#[derive(Debug, Copy, Clone)]
4815pub struct PF_PointParamSuite1 {
4816    pub PF_GetFloatingPointValueFromPointDef: ::std::option::Option<
4817        unsafe extern "C" fn(
4818            effect_ref: PF_ProgPtr,
4819            point_defP: *const PF_ParamDef,
4820            fp_pointP: *mut A_FloatPoint,
4821        ) -> PF_Err,
4822    >,
4823}
4824#[doc = " PF_AngleParamSuite1"]
4825#[repr(C)]
4826#[derive(Debug, Copy, Clone)]
4827pub struct PF_AngleParamSuite1 {
4828    pub PF_GetFloatingPointValueFromAngleDef: ::std::option::Option<
4829        unsafe extern "C" fn(
4830            effect_ref: PF_ProgPtr,
4831            angle_defP: *const PF_ParamDef,
4832            fp_valueP: *mut A_FpLong,
4833        ) -> PF_Err,
4834    >,
4835}
4836pub const PF_App_Color_NONE: _bindgen_ty_67 = -1;
4837pub const PF_App_Color_FRAME: _bindgen_ty_67 = 0;
4838pub const PF_App_Color_FILL: _bindgen_ty_67 = 1;
4839pub const PF_App_Color_TEXT: _bindgen_ty_67 = 2;
4840pub const PF_App_Color_LIGHT_TINGE: _bindgen_ty_67 = 3;
4841pub const PF_App_Color_DARK_TINGE: _bindgen_ty_67 = 4;
4842pub const PF_App_Color_HILITE: _bindgen_ty_67 = 5;
4843pub const PF_App_Color_SHADOW: _bindgen_ty_67 = 6;
4844pub const PF_App_Color_BUTTON_FRAME: _bindgen_ty_67 = 7;
4845pub const PF_App_Color_BUTTON_FILL: _bindgen_ty_67 = 8;
4846pub const PF_App_Color_BUTTON_TEXT: _bindgen_ty_67 = 9;
4847pub const PF_App_Color_BUTTON_LIGHT_TINGE: _bindgen_ty_67 = 10;
4848pub const PF_App_Color_BUTTON_DARK_TINGE: _bindgen_ty_67 = 11;
4849pub const PF_App_Color_BUTTON_HILITE: _bindgen_ty_67 = 12;
4850pub const PF_App_Color_BUTTON_SHADOW: _bindgen_ty_67 = 13;
4851pub const PF_App_Color_BUTTON_PRESSED_FRAME: _bindgen_ty_67 = 14;
4852pub const PF_App_Color_BUTTON_PRESSED_FILL: _bindgen_ty_67 = 15;
4853pub const PF_App_Color_BUTTON_PRESSED_TEXT: _bindgen_ty_67 = 16;
4854pub const PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE: _bindgen_ty_67 = 17;
4855pub const PF_App_Color_BUTTON_PRESSED_DARK_TINGE: _bindgen_ty_67 = 18;
4856pub const PF_App_Color_BUTTON_PRESSED_HILITE: _bindgen_ty_67 = 19;
4857pub const PF_App_Color_BUTTON_PRESSED_SHADOW: _bindgen_ty_67 = 20;
4858pub const PF_App_Color_FRAME_DISABLED: _bindgen_ty_67 = 21;
4859pub const PF_App_Color_FILL_DISABLED: _bindgen_ty_67 = 22;
4860pub const PF_App_Color_TEXT_DISABLED: _bindgen_ty_67 = 23;
4861pub const PF_App_Color_LIGHT_TINGE_DISABLED: _bindgen_ty_67 = 24;
4862pub const PF_App_Color_DARK_TINGE_DISABLED: _bindgen_ty_67 = 25;
4863pub const PF_App_Color_HILITE_DISABLED: _bindgen_ty_67 = 26;
4864pub const PF_App_Color_SHADOW_DISABLED: _bindgen_ty_67 = 27;
4865pub const PF_App_Color_BUTTON_FRAME_DISABLED: _bindgen_ty_67 = 28;
4866pub const PF_App_Color_BUTTON_FILL_DISABLED: _bindgen_ty_67 = 29;
4867pub const PF_App_Color_BUTTON_TEXT_DISABLED: _bindgen_ty_67 = 30;
4868pub const PF_App_Color_BUTTON_LIGHT_TINGE_DISABLED: _bindgen_ty_67 = 31;
4869pub const PF_App_Color_BUTTON_DARK_TINGE_DISABLED: _bindgen_ty_67 = 32;
4870pub const PF_App_Color_BUTTON_HILITE_DISABLED: _bindgen_ty_67 = 33;
4871pub const PF_App_Color_BUTTON_SHADOW_DISABLED: _bindgen_ty_67 = 34;
4872pub const PF_App_Color_BUTTON_PRESSED_FRAME_DISABLED: _bindgen_ty_67 = 35;
4873pub const PF_App_Color_BUTTON_PRESSED_FILL_DISABLED: _bindgen_ty_67 = 36;
4874pub const PF_App_Color_BUTTON_PRESSED_TEXT_DISABLED: _bindgen_ty_67 = 37;
4875pub const PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE_DISABLED: _bindgen_ty_67 = 38;
4876pub const PF_App_Color_BUTTON_PRESSED_DARK_TINGE_DISABLED: _bindgen_ty_67 = 39;
4877pub const PF_App_Color_BUTTON_PRESSED_HILITE_DISABLED: _bindgen_ty_67 = 40;
4878pub const PF_App_Color_BUTTON_PRESSED_SHADOW_DISABLED: _bindgen_ty_67 = 41;
4879pub const PF_App_Color_BLACK: _bindgen_ty_67 = 42;
4880pub const PF_App_Color_WHITE: _bindgen_ty_67 = 43;
4881pub const PF_App_Color_GRAY: _bindgen_ty_67 = 44;
4882pub const PF_App_Color_RED: _bindgen_ty_67 = 45;
4883pub const PF_App_Color_YELLOW: _bindgen_ty_67 = 46;
4884pub const PF_App_Color_GREEN: _bindgen_ty_67 = 47;
4885pub const PF_App_Color_CYAN: _bindgen_ty_67 = 48;
4886pub const PF_App_Color_TLW_NEEDLE_CURRENT_TIME: _bindgen_ty_67 = 49;
4887pub const PF_App_Color_TLW_NEEDLE_PREVIEW_TIME: _bindgen_ty_67 = 50;
4888pub const PF_App_Color_TLW_CACHE_MARK_MEM: _bindgen_ty_67 = 51;
4889pub const PF_App_Color_TLW_CACHE_MARK_DISK: _bindgen_ty_67 = 52;
4890pub const PF_App_Color_TLW_CACHE_MARK_MIX: _bindgen_ty_67 = 53;
4891pub const PF_App_Color_FILL_LIGHT: _bindgen_ty_67 = 54;
4892pub const PF_App_Color_HOT_TEXT: _bindgen_ty_67 = 55;
4893pub const PF_App_Color_HOT_TEXT_DISABLED: _bindgen_ty_67 = 56;
4894pub const PF_App_Color_LABEL_0: _bindgen_ty_67 = 57;
4895pub const PF_App_Color_LABEL_1: _bindgen_ty_67 = 58;
4896pub const PF_App_Color_LABEL_2: _bindgen_ty_67 = 59;
4897pub const PF_App_Color_LABEL_3: _bindgen_ty_67 = 60;
4898pub const PF_App_Color_LABEL_4: _bindgen_ty_67 = 61;
4899pub const PF_App_Color_LABEL_5: _bindgen_ty_67 = 62;
4900pub const PF_App_Color_LABEL_6: _bindgen_ty_67 = 63;
4901pub const PF_App_Color_LABEL_7: _bindgen_ty_67 = 64;
4902pub const PF_App_Color_LABEL_8: _bindgen_ty_67 = 65;
4903pub const PF_App_Color_LABEL_9: _bindgen_ty_67 = 66;
4904pub const PF_App_Color_LABEL_10: _bindgen_ty_67 = 67;
4905pub const PF_App_Color_LABEL_11: _bindgen_ty_67 = 68;
4906pub const PF_App_Color_LABEL_12: _bindgen_ty_67 = 69;
4907pub const PF_App_Color_LABEL_13: _bindgen_ty_67 = 70;
4908pub const PF_App_Color_LABEL_14: _bindgen_ty_67 = 71;
4909pub const PF_App_Color_LABEL_15: _bindgen_ty_67 = 72;
4910pub const PF_App_Color_LABEL_16: _bindgen_ty_67 = 73;
4911pub const PF_App_Color_TLW_CACHE_MARK_MEM_DUBIOUS: _bindgen_ty_67 = 74;
4912pub const PF_App_Color_TLW_CACHE_MARK_DISK_DUBIOUS: _bindgen_ty_67 = 75;
4913pub const PF_App_Color_TLW_CACHE_MARK_MIX_DUBIOUS: _bindgen_ty_67 = 76;
4914pub const PF_App_Color_HOT_TEXT_PRESSED: _bindgen_ty_67 = 77;
4915pub const PF_App_Color_HOT_TEXT_WARNING: _bindgen_ty_67 = 78;
4916pub const PF_App_Color_PURE_BLACK: _bindgen_ty_67 = 79;
4917pub const PF_App_Color_PURE_WHITE: _bindgen_ty_67 = 80;
4918pub const PF_App_Color_PANEL_BACKGROUND: _bindgen_ty_67 = 1000;
4919pub const PF_App_Color_LIST_BOX_FILL: _bindgen_ty_67 = 1001;
4920pub const PF_App_Color_DARK_CAPTION_FILL: _bindgen_ty_67 = 1002;
4921pub const PF_App_Color_DARK_CAPTION_TEXT: _bindgen_ty_67 = 1003;
4922pub const PF_App_Color_TEXT_ON_LIGHTER_BG: _bindgen_ty_67 = 1004;
4923pub const PF_App_Color_NUMTYPES: _bindgen_ty_67 = 1005;
4924pub type _bindgen_ty_67 = ::std::os::raw::c_int;
4925pub type PF_App_ColorType = A_short;
4926pub const PF_EyeDropperSampleMode_DEFAULT: _bindgen_ty_68 = 0;
4927pub const PF_EyeDropperSampleMode_STRAIGHT: _bindgen_ty_68 = 1;
4928pub const PF_EyeDropperSampleMode_PREMUL: _bindgen_ty_68 = 2;
4929pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
4930pub type PF_EyeDropperSampleMode = A_short;
4931#[repr(C)]
4932#[derive(Debug, Copy, Clone)]
4933pub struct PF_App_Color {
4934    pub red: A_u_short,
4935    pub green: A_u_short,
4936    pub blue: A_u_short,
4937}
4938#[repr(C)]
4939#[derive(Debug, Copy, Clone)]
4940pub struct PF_AppPersonalTextInfo {
4941    pub name: [A_char; 64usize],
4942    pub org: [A_char; 64usize],
4943    pub serial_str: [A_char; 64usize],
4944}
4945pub const PF_FontStyle_NONE: _bindgen_ty_69 = -1;
4946pub const PF_FontStyle_SYS: _bindgen_ty_69 = 0;
4947pub const PF_FontStyle_SMALL: _bindgen_ty_69 = 1;
4948pub const PF_FontStyle_SMALL_BOLD: _bindgen_ty_69 = 2;
4949pub const PF_FontStyle_SMALL_ITALIC: _bindgen_ty_69 = 3;
4950pub const PF_FontStyle_MED: _bindgen_ty_69 = 4;
4951pub const PF_FontStyle_MED_BOLD: _bindgen_ty_69 = 5;
4952pub const PF_FontStyle_APP: _bindgen_ty_69 = 6;
4953pub const PF_FontStyle_APP_BOLD: _bindgen_ty_69 = 7;
4954pub const PF_FontStyle_APP_ITALIC: _bindgen_ty_69 = 8;
4955pub type _bindgen_ty_69 = ::std::os::raw::c_int;
4956pub type PF_FontStyleSheet = A_LegacyEnumType;
4957#[repr(C)]
4958#[derive(Debug, Copy, Clone)]
4959pub struct PF_FontName {
4960    pub font_nameAC: [A_char; 256usize],
4961}
4962#[repr(C)]
4963#[derive(Debug, Copy, Clone)]
4964pub struct _PF_AppProgressDialog {
4965    _unused: [u8; 0],
4966}
4967pub type PF_AppProgressDialogP = *mut _PF_AppProgressDialog;
4968#[repr(C)]
4969#[derive(Debug, Copy, Clone)]
4970pub struct PFAppSuite6 {
4971    pub PF_AppGetBgColor:
4972        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
4973    pub PF_AppGetColor: ::std::option::Option<
4974        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
4975    >,
4976    pub PF_AppGetLanguage:
4977        ::std::option::Option<unsafe extern "C" fn(lang_tagZ: *mut A_char) -> PF_Err>,
4978    pub PF_GetPersonalInfo:
4979        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
4980    pub PF_GetFontStyleSheet: ::std::option::Option<
4981        unsafe extern "C" fn(
4982            sheet: PF_FontStyleSheet,
4983            font_nameP0: *mut PF_FontName,
4984            font_numPS0: *mut A_short,
4985            sizePS0: *mut A_short,
4986            stylePS0: *mut A_short,
4987        ) -> PF_Err,
4988    >,
4989    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
4990    pub PF_IsRenderEngine:
4991        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
4992    pub PF_AppColorPickerDialog: ::std::option::Option<
4993        unsafe extern "C" fn(
4994            dialog_titleZ0: *const A_char,
4995            sample_colorP: *const PF_PixelFloat,
4996            use_ws_to_monitor_xformB: PF_Boolean,
4997            new_colorP: *mut PF_PixelFloat,
4998        ) -> PF_Err,
4999    >,
5000    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
5001    pub PF_InvalidateRect: ::std::option::Option<
5002        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
5003    >,
5004    pub PF_ConvertLocalToGlobal: ::std::option::Option<
5005        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
5006    >,
5007    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
5008        unsafe extern "C" fn(
5009            globalP: *const PF_Point,
5010            eyeSize: A_short,
5011            mode: PF_EyeDropperSampleMode,
5012            outColorP: *mut PF_PixelFloat,
5013        ) -> PF_Err,
5014    >,
5015    pub PF_CreateNewAppProgressDialog: ::std::option::Option<
5016        unsafe extern "C" fn(
5017            titleZ: *const A_UTF16Char,
5018            cancel_strZ0: *const A_UTF16Char,
5019            indeterminateB: PF_Boolean,
5020            prog_dlgPP: *mut PF_AppProgressDialogP,
5021        ) -> PF_Err,
5022    >,
5023    pub PF_AppProgressDialogUpdate: ::std::option::Option<
5024        unsafe extern "C" fn(
5025            prog_dlgP: PF_AppProgressDialogP,
5026            countL: A_long,
5027            totalL: A_long,
5028        ) -> PF_Err,
5029    >,
5030    pub PF_DisposeAppProgressDialog:
5031        ::std::option::Option<unsafe extern "C" fn(prog_dlgP: PF_AppProgressDialogP) -> PF_Err>,
5032}
5033#[repr(C)]
5034#[derive(Debug, Copy, Clone)]
5035pub struct PF_EffectUISuite1 {
5036    pub PF_SetOptionsButtonName: ::std::option::Option<
5037        unsafe extern "C" fn(effect_ref: PF_ProgPtr, nameZ: *const A_char) -> PF_Err,
5038    >,
5039}
5040#[repr(C)]
5041#[derive(Debug, Copy, Clone)]
5042pub struct _PF_AsyncManager {
5043    _unused: [u8; 0],
5044}
5045pub type PF_AsyncManagerP = *mut _PF_AsyncManager;
5046#[repr(C)]
5047#[derive(Debug, Copy, Clone)]
5048pub struct PF_EffectCustomUISuite2 {
5049    pub PF_GetDrawingReference: ::std::option::Option<
5050        unsafe extern "C" fn(
5051            effect_contextH: PF_ContextH,
5052            referenceP0: *mut DRAWBOT_DrawRef,
5053        ) -> PF_Err,
5054    >,
5055    pub PF_GetContextAsyncManager: ::std::option::Option<
5056        unsafe extern "C" fn(
5057            in_data: *mut PF_InData,
5058            extra: *mut PF_EventExtra,
5059            managerPP0: *mut PF_AsyncManagerP,
5060        ) -> PF_Err,
5061    >,
5062}
5063#[repr(C)]
5064#[derive(Debug, Copy, Clone)]
5065pub struct PF_EffectCustomUIOverlayThemeSuite1 {
5066    pub PF_GetPreferredForegroundColor: ::std::option::Option<
5067        unsafe extern "C" fn(foreground_colorP: *mut DRAWBOT_ColorRGBA) -> PF_Err,
5068    >,
5069    pub PF_GetPreferredShadowColor: ::std::option::Option<
5070        unsafe extern "C" fn(shadow_colorP: *mut DRAWBOT_ColorRGBA) -> PF_Err,
5071    >,
5072    pub PF_GetPreferredStrokeWidth:
5073        ::std::option::Option<unsafe extern "C" fn(stroke_widthPF: *mut f32) -> PF_Err>,
5074    pub PF_GetPreferredVertexSize:
5075        ::std::option::Option<unsafe extern "C" fn(vertex_sizePF: *mut f32) -> PF_Err>,
5076    pub PF_GetPreferredShadowOffset:
5077        ::std::option::Option<unsafe extern "C" fn(shadow_offsetP: *mut A_LPoint) -> PF_Err>,
5078    pub PF_StrokePath: ::std::option::Option<
5079        unsafe extern "C" fn(
5080            drawbot_ref: DRAWBOT_DrawRef,
5081            path_ref: DRAWBOT_PathRef,
5082            draw_shadowB: PF_Boolean,
5083        ) -> PF_Err,
5084    >,
5085    pub PF_FillPath: ::std::option::Option<
5086        unsafe extern "C" fn(
5087            drawbot_ref: DRAWBOT_DrawRef,
5088            path_ref: DRAWBOT_PathRef,
5089            draw_shadowB: PF_Boolean,
5090        ) -> PF_Err,
5091    >,
5092    pub PF_FillVertex: ::std::option::Option<
5093        unsafe extern "C" fn(
5094            drawbot_ref: DRAWBOT_DrawRef,
5095            center_pointP: *const A_FloatPoint,
5096            draw_shadowB: PF_Boolean,
5097        ) -> PF_Err,
5098    >,
5099}
5100#[repr(C)]
5101#[derive(Debug, Copy, Clone)]
5102pub struct PF_ParamUtilsSuite1 {
5103    pub PF_UpdateParamUI: ::std::option::Option<
5104        unsafe extern "C" fn(
5105            effect_ref: PF_ProgPtr,
5106            param_index: PF_ParamIndex,
5107            defP: *const PF_ParamDef,
5108        ) -> PF_Err,
5109    >,
5110    pub PF_GetCurrentStateObsolete: ::std::option::Option<
5111        unsafe extern "C" fn(effect_ref: PF_ProgPtr, stateP: *mut PF_State) -> PF_Err,
5112    >,
5113    pub PF_HasParamChangedObsolete: ::std::option::Option<
5114        unsafe extern "C" fn(
5115            effect_ref: PF_ProgPtr,
5116            stateP: *const PF_State,
5117            param_index: PF_ParamIndex,
5118            changedPB: *mut PF_Boolean,
5119        ) -> PF_Err,
5120    >,
5121    pub PF_HaveInputsChangedOverTimeSpanObsolete: ::std::option::Option<
5122        unsafe extern "C" fn(
5123            effect_ref: PF_ProgPtr,
5124            stateP: *const PF_State,
5125            startPT0: *const A_Time,
5126            durationPT0: *const A_Time,
5127            changedPB: *mut PF_Boolean,
5128        ) -> PF_Err,
5129    >,
5130    pub PF_IsIdenticalCheckout: ::std::option::Option<
5131        unsafe extern "C" fn(
5132            effect_ref: PF_ProgPtr,
5133            param_index: PF_ParamIndex,
5134            what_time1: A_long,
5135            time_step1: A_long,
5136            time_scale1: A_u_long,
5137            what_time2: A_long,
5138            time_step2: A_long,
5139            time_scale2: A_u_long,
5140            identicalPB: *mut PF_Boolean,
5141        ) -> PF_Err,
5142    >,
5143    pub PF_FindKeyframeTime: ::std::option::Option<
5144        unsafe extern "C" fn(
5145            effect_ref: PF_ProgPtr,
5146            param_index: PF_ParamIndex,
5147            what_time: A_long,
5148            time_scale: A_u_long,
5149            time_dir: PF_TimeDir,
5150            foundPB: *mut PF_Boolean,
5151            key_indexP0: *mut PF_KeyIndex,
5152            key_timeP0: *mut A_long,
5153            key_timescaleP0: *mut A_u_long,
5154        ) -> PF_Err,
5155    >,
5156    pub PF_GetKeyframeCount: ::std::option::Option<
5157        unsafe extern "C" fn(
5158            effect_ref: PF_ProgPtr,
5159            param_index: PF_ParamIndex,
5160            key_countP: *mut PF_KeyIndex,
5161        ) -> PF_Err,
5162    >,
5163    pub PF_CheckoutKeyframe: ::std::option::Option<
5164        unsafe extern "C" fn(
5165            effect_ref: PF_ProgPtr,
5166            param_index: PF_ParamIndex,
5167            key_index: PF_KeyIndex,
5168            key_timeP0: *mut A_long,
5169            key_timescaleP0: *mut A_u_long,
5170            paramP0: *mut PF_ParamDef,
5171        ) -> PF_Err,
5172    >,
5173    pub PF_CheckinKeyframe: ::std::option::Option<
5174        unsafe extern "C" fn(effect_ref: PF_ProgPtr, paramP: *mut PF_ParamDef) -> PF_Err,
5175    >,
5176    pub PF_KeyIndexToTime: ::std::option::Option<
5177        unsafe extern "C" fn(
5178            effect_ref: PF_ProgPtr,
5179            param_index: PF_ParamIndex,
5180            key_indexP: PF_KeyIndex,
5181            key_timeP: *mut A_long,
5182            key_timescaleP: *mut A_u_long,
5183        ) -> PF_Err,
5184    >,
5185}
5186#[repr(C)]
5187#[derive(Debug, Copy, Clone)]
5188pub struct PFAppSuite4 {
5189    pub PF_AppGetBgColor:
5190        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
5191    pub PF_AppGetColor: ::std::option::Option<
5192        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
5193    >,
5194    pub PF_GetPersonalInfo:
5195        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
5196    pub PF_GetFontStyleSheet: ::std::option::Option<
5197        unsafe extern "C" fn(
5198            sheet: PF_FontStyleSheet,
5199            font_nameP0: *mut PF_FontName,
5200            font_numPS0: *mut A_short,
5201            sizePS0: *mut A_short,
5202            stylePS0: *mut A_short,
5203        ) -> PF_Err,
5204    >,
5205    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
5206    pub PF_IsRenderEngine:
5207        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
5208    pub PF_AppColorPickerDialog: ::std::option::Option<
5209        unsafe extern "C" fn(
5210            dialog_titleZ0: *const A_char,
5211            sample_colorP: *const PF_PixelFloat,
5212            use_ws_to_monitor_xformB: PF_Boolean,
5213            new_colorP: *mut PF_PixelFloat,
5214        ) -> PF_Err,
5215    >,
5216    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
5217    pub PF_InvalidateRect: ::std::option::Option<
5218        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
5219    >,
5220    pub PF_ConvertLocalToGlobal: ::std::option::Option<
5221        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
5222    >,
5223    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
5224        unsafe extern "C" fn(
5225            globalP: *const PF_Point,
5226            eyeSize: A_short,
5227            mode: PF_EyeDropperSampleMode,
5228            outColorP: *mut PF_PixelFloat,
5229        ) -> PF_Err,
5230    >,
5231}
5232#[repr(C)]
5233#[derive(Debug, Copy, Clone)]
5234pub struct PFAppSuite5 {
5235    pub PF_AppGetBgColor:
5236        ::std::option::Option<unsafe extern "C" fn(bg_colorP: *mut PF_App_Color) -> PF_Err>,
5237    pub PF_AppGetColor: ::std::option::Option<
5238        unsafe extern "C" fn(color_type: PF_App_ColorType, app_colorP: *mut PF_App_Color) -> PF_Err,
5239    >,
5240    pub PF_AppGetLanguage:
5241        ::std::option::Option<unsafe extern "C" fn(lang_tagZ: *mut A_char) -> PF_Err>,
5242    pub PF_GetPersonalInfo:
5243        ::std::option::Option<unsafe extern "C" fn(ptiP: *mut PF_AppPersonalTextInfo) -> PF_Err>,
5244    pub PF_GetFontStyleSheet: ::std::option::Option<
5245        unsafe extern "C" fn(
5246            sheet: PF_FontStyleSheet,
5247            font_nameP0: *mut PF_FontName,
5248            font_numPS0: *mut A_short,
5249            sizePS0: *mut A_short,
5250            stylePS0: *mut A_short,
5251        ) -> PF_Err,
5252    >,
5253    pub PF_SetCursor: ::std::option::Option<unsafe extern "C" fn(cursor: PF_CursorType) -> PF_Err>,
5254    pub PF_IsRenderEngine:
5255        ::std::option::Option<unsafe extern "C" fn(render_enginePB: *mut PF_Boolean) -> PF_Err>,
5256    pub PF_AppColorPickerDialog: ::std::option::Option<
5257        unsafe extern "C" fn(
5258            dialog_titleZ0: *const A_char,
5259            sample_colorP: *const PF_PixelFloat,
5260            use_ws_to_monitor_xformB: PF_Boolean,
5261            new_colorP: *mut PF_PixelFloat,
5262        ) -> PF_Err,
5263    >,
5264    pub PF_GetMouse: ::std::option::Option<unsafe extern "C" fn(pointP: *mut PF_Point) -> PF_Err>,
5265    pub PF_InvalidateRect: ::std::option::Option<
5266        unsafe extern "C" fn(contextH: PF_ContextH, rectP0: *const PF_Rect) -> PF_Err,
5267    >,
5268    pub PF_ConvertLocalToGlobal: ::std::option::Option<
5269        unsafe extern "C" fn(localP: *const PF_Point, globalP: *mut PF_Point) -> PF_Err,
5270    >,
5271    pub PF_GetColorAtGlobalPoint: ::std::option::Option<
5272        unsafe extern "C" fn(
5273            globalP: *const PF_Point,
5274            eyeSize: A_short,
5275            mode: PF_EyeDropperSampleMode,
5276            outColorP: *mut PF_PixelFloat,
5277        ) -> PF_Err,
5278    >,
5279}
5280#[repr(C)]
5281#[derive(Debug, Copy, Clone)]
5282pub struct PF_EffectCustomUISuite1 {
5283    pub PF_GetDrawingReference: ::std::option::Option<
5284        unsafe extern "C" fn(
5285            effect_contextH: PF_ContextH,
5286            referenceP0: *mut DRAWBOT_DrawRef,
5287        ) -> PF_Err,
5288    >,
5289}
5290pub const PF_SuiteTool_NONE: _bindgen_ty_70 = 0;
5291pub const PF_SuiteTool_ARROW: _bindgen_ty_70 = 1;
5292pub const PF_SuiteTool_ROTATE: _bindgen_ty_70 = 2;
5293pub const PF_SuiteTool_SHAPE: _bindgen_ty_70 = 3;
5294pub const PF_SuiteTool_OBSOLETE: _bindgen_ty_70 = 4;
5295pub const PF_SuiteTool_PEN: _bindgen_ty_70 = 5;
5296pub const PF_SuiteTool_PAN: _bindgen_ty_70 = 6;
5297pub const PF_SuiteTool_HAND: _bindgen_ty_70 = 7;
5298pub const PF_SuiteTool_MAGNIFY: _bindgen_ty_70 = 8;
5299pub const PF_SuiteTool_ROUNDED_RECT: _bindgen_ty_70 = 9;
5300pub const PF_SuiteTool_POLYGON: _bindgen_ty_70 = 10;
5301pub const PF_SuiteTool_STAR: _bindgen_ty_70 = 11;
5302pub const PF_SuiteTool_PIN: _bindgen_ty_70 = 12;
5303pub const PF_SuiteTool_PIN_STARCH: _bindgen_ty_70 = 13;
5304pub const PF_SuiteTool_PIN_DEPTH: _bindgen_ty_70 = 14;
5305pub type _bindgen_ty_70 = ::std::os::raw::c_uint;
5306pub type PF_SuiteTool = A_LegacyEnumType;
5307#[repr(C)]
5308#[derive(Debug, Copy, Clone)]
5309pub struct PF_HelperSuite1 {
5310    pub PF_GetCurrentTool:
5311        ::std::option::Option<unsafe extern "C" fn(toolP: *mut PF_SuiteTool) -> PF_Err>,
5312}
5313pub const PF_ExtendedSuiteTool_NONE: _bindgen_ty_71 = 0;
5314pub const PF_ExtendedSuiteTool_ARROW: _bindgen_ty_71 = 1;
5315pub const PF_ExtendedSuiteTool_ROTATE: _bindgen_ty_71 = 2;
5316pub const PF_ExtendedSuiteTool_PEN_NORMAL: _bindgen_ty_71 = 3;
5317pub const PF_ExtendedSuiteTool_PEN_ADD_POINT: _bindgen_ty_71 = 4;
5318pub const PF_ExtendedSuiteTool_PEN_DELETE_POINT: _bindgen_ty_71 = 5;
5319pub const PF_ExtendedSuiteTool_PEN_CONVERT_POINT: _bindgen_ty_71 = 6;
5320pub const PF_ExtendedSuiteTool_RECT: _bindgen_ty_71 = 7;
5321pub const PF_ExtendedSuiteTool_OVAL: _bindgen_ty_71 = 8;
5322pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_CAMERA: _bindgen_ty_71 = 9;
5323pub const PF_ExtendedSuiteTool_CAMERA_PAN_CAMERA: _bindgen_ty_71 = 10;
5324pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_CAMERA: _bindgen_ty_71 = 11;
5325pub const PF_ExtendedSuiteTool_PAN_BEHIND: _bindgen_ty_71 = 12;
5326pub const PF_ExtendedSuiteTool_HAND: _bindgen_ty_71 = 13;
5327pub const PF_ExtendedSuiteTool_MAGNIFY: _bindgen_ty_71 = 14;
5328pub const PF_ExtendedSuiteTool_PAINTBRUSH: _bindgen_ty_71 = 15;
5329pub const PF_ExtendedSuiteTool_PENCIL: _bindgen_ty_71 = 16;
5330pub const PF_ExtendedSuiteTool_CLONE_STAMP: _bindgen_ty_71 = 17;
5331pub const PF_ExtendedSuiteTool_ERASER: _bindgen_ty_71 = 18;
5332pub const PF_ExtendedSuiteTool_TEXT: _bindgen_ty_71 = 19;
5333pub const PF_ExtendedSuiteTool_TEXT_VERTICAL: _bindgen_ty_71 = 20;
5334pub const PF_ExtendedSuiteTool_PIN: _bindgen_ty_71 = 21;
5335pub const PF_ExtendedSuiteTool_PIN_STARCH: _bindgen_ty_71 = 22;
5336pub const PF_ExtendedSuiteTool_PIN_DEPTH: _bindgen_ty_71 = 23;
5337pub const PF_ExtendedSuiteTool_ROUNDED_RECT: _bindgen_ty_71 = 24;
5338pub const PF_ExtendedSuiteTool_POLYGON: _bindgen_ty_71 = 25;
5339pub const PF_ExtendedSuiteTool_STAR: _bindgen_ty_71 = 26;
5340pub const PF_ExtendedSuiteTool_QUICKSELECT: _bindgen_ty_71 = 27;
5341pub const PF_ExtendedSuiteTool_CAMERA_MAYA: _bindgen_ty_71 = 28;
5342pub const PF_ExtendedSuiteTool_HAIRBRUSH: _bindgen_ty_71 = 29;
5343pub const PF_ExtendedSuiteTool_FEATHER: _bindgen_ty_71 = 30;
5344pub const PF_ExtendedSuiteTool_PIN_BEND: _bindgen_ty_71 = 31;
5345pub const PF_ExtendedSuiteTool_PIN_ADVANCED: _bindgen_ty_71 = 32;
5346pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_CURSOR: _bindgen_ty_71 = 33;
5347pub const PF_ExtendedSuiteTool_CAMERA_ORBIT_SCENE: _bindgen_ty_71 = 34;
5348pub const PF_ExtendedSuiteTool_CAMERA_PAN_CURSOR: _bindgen_ty_71 = 35;
5349pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_TOWARDS_CURSOR: _bindgen_ty_71 = 36;
5350pub const PF_ExtendedSuiteTool_CAMERA_DOLLY_TO_CURSOR: _bindgen_ty_71 = 37;
5351#[doc = " PF_HelperSuite2\n\nPF_ParseClipboard()\n\ncauses After Effects to parse the clipboard immediately"]
5352pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
5353pub type PF_ExtendedSuiteTool = A_LegacyEnumType;
5354#[repr(C)]
5355#[derive(Debug, Copy, Clone)]
5356pub struct PF_HelperSuite2 {
5357    pub PF_ParseClipboard: ::std::option::Option<unsafe extern "C" fn() -> PF_Err>,
5358    pub PF_SetCurrentExtendedTool:
5359        ::std::option::Option<unsafe extern "C" fn(tool: PF_ExtendedSuiteTool) -> PF_Err>,
5360    pub PF_GetCurrentExtendedTool:
5361        ::std::option::Option<unsafe extern "C" fn(tool: *mut PF_ExtendedSuiteTool) -> PF_Err>,
5362}
5363pub type FIEL_Type = u32;
5364pub type FIEL_Order = u32;
5365#[repr(C, packed(2))]
5366#[derive(Debug, Copy, Clone)]
5367pub struct FIEL_Label {
5368    pub signature: u32,
5369    pub version: i16,
5370    pub type_: FIEL_Type,
5371    pub order: FIEL_Order,
5372    pub reserved: u32,
5373}
5374#[doc = " $$$ move to aegp.h"]
5375pub type PR_Handle = *mut *mut _Up_OpaqueMem;
5376pub type PR_FlatHandle = PR_Handle;
5377pub type PR_GlobalDataH = PR_Handle;
5378pub type PR_InstanceDataH = PR_Handle;
5379pub type PR_RenderDataH = PR_Handle;
5380#[repr(C)]
5381#[derive(Debug, Copy, Clone)]
5382pub struct PR_GlobalContext {
5383    _unused: [u8; 0],
5384}
5385pub type PR_GlobalContextH = *mut *mut PR_GlobalContext;
5386#[repr(C)]
5387#[derive(Debug, Copy, Clone)]
5388pub struct PR_InstanceContext {
5389    _unused: [u8; 0],
5390}
5391pub type PR_InstanceContextH = *mut *mut PR_InstanceContext;
5392#[repr(C)]
5393#[derive(Debug, Copy, Clone)]
5394pub struct PR_RenderContext {
5395    _unused: [u8; 0],
5396}
5397pub type PR_RenderContextH = *mut *mut PR_RenderContext;
5398#[repr(C)]
5399#[derive(Debug, Copy, Clone)]
5400pub struct PR_QueryContext {
5401    _unused: [u8; 0],
5402}
5403pub type PR_QueryContextH = *mut *mut PR_QueryContext;
5404pub type PF_EffectWorldPtr = *mut PF_LayerDef;
5405#[doc = " in data is passed to every pr entry function"]
5406pub type PR_MessageFunc =
5407    ::std::option::Option<unsafe extern "C" fn(err_number: A_Err, msgA: *const A_char)>;
5408#[repr(C, packed(4))]
5409#[derive(Debug, Copy, Clone)]
5410pub struct PR_InData {
5411    pub msg_func: PR_MessageFunc,
5412    pub pica_basicP: *const SPBasicSuite,
5413    pub aegp_plug_id: A_long,
5414    pub aegp_refconPV: *mut ::std::os::raw::c_void,
5415}
5416pub type PR_DialogResult = A_long;
5417pub type PR_QueryType = A_u_long;
5418pub type PR_ArtisanFeature_Flags = A_long;
5419pub type PR_InstanceFlags = A_u_long;
5420#[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"]
5421pub type PR_GlobalSetupFunc = ::std::option::Option<
5422    unsafe extern "C" fn(
5423        in_dataP: *const PR_InData,
5424        global_contextH: PR_GlobalContextH,
5425        global_dataPH: *mut PR_GlobalDataH,
5426    ) -> A_Err,
5427>;
5428#[doc = " dispose of the global data"]
5429pub type PR_GlobalSetdownFunc = ::std::option::Option<
5430    unsafe extern "C" fn(
5431        in_dataP: *const PR_InData,
5432        global_contextH: PR_GlobalContextH,
5433        global_dataH: PR_GlobalDataH,
5434    ) -> A_Err,
5435>;
5436#[doc = " display an about box"]
5437pub type PR_GlobalDoAboutFunc = ::std::option::Option<
5438    unsafe extern "C" fn(
5439        in_dataP: *const PR_InData,
5440        global_contextH: PR_GlobalContextH,
5441        global_dataH: PR_GlobalDataH,
5442    ) -> A_Err,
5443>;
5444#[doc = " Analogous to an Effect's Sequence setup call. This sets up the renderer's\n instance data."]
5445pub type PR_InstanceSetupFunc = ::std::option::Option<
5446    unsafe extern "C" fn(
5447        in_dataP: *const PR_InData,
5448        global_contextH: PR_GlobalContextH,
5449        instance_contextH: PR_InstanceContextH,
5450        global_dataH: PR_GlobalDataH,
5451        flags: PR_InstanceFlags,
5452        flat_dataH0: PR_FlatHandle,
5453        instance_dataPH: *mut PR_InstanceDataH,
5454    ) -> A_Err,
5455>;
5456#[doc = " dispose of the instance data"]
5457pub type PR_InstanceSetdownFunc = ::std::option::Option<
5458    unsafe extern "C" fn(
5459        in_dataP: *const PR_InData,
5460        global_contextH: PR_GlobalContextH,
5461        instance_contextH: PR_InstanceContextH,
5462        global_dataH: PR_GlobalDataH,
5463        instance_dataH: PR_InstanceDataH,
5464    ) -> A_Err,
5465>;
5466#[doc = " flatten your data in preparation to being written to disk.\n Make sure its OS independent"]
5467pub type PR_FlattenInstanceFunc = ::std::option::Option<
5468    unsafe extern "C" fn(
5469        in_dataP: *const PR_InData,
5470        global_contextH: PR_GlobalContextH,
5471        instance_contextH: PR_InstanceContextH,
5472        global_dataH: PR_GlobalDataH,
5473        instance_dataH: PR_InstanceDataH,
5474        flatH: *mut PR_FlatHandle,
5475    ) -> A_Err,
5476>;
5477#[doc = " if the renderer has parameters, this is where they get set or changed."]
5478pub type PR_DoInstanceDialogFunc = ::std::option::Option<
5479    unsafe extern "C" fn(
5480        in_dataP: *const PR_InData,
5481        global_contextH: PR_GlobalContextH,
5482        instance_contextH: PR_InstanceContextH,
5483        global_dataH: PR_GlobalDataH,
5484        instance_dataH: PR_InstanceDataH,
5485        resultP: *mut PR_DialogResult,
5486    ) -> A_Err,
5487>;
5488#[doc = " allocate render data if needed"]
5489pub type PR_FrameSetupFunc = ::std::option::Option<
5490    unsafe extern "C" fn(
5491        in_dataP: *const PR_InData,
5492        global_contextH: PR_GlobalContextH,
5493        instance_contextH: PR_InstanceContextH,
5494        render_contextH: PR_RenderContextH,
5495        global_dataH: PR_GlobalDataH,
5496        instance_dataH: PR_InstanceDataH,
5497        render_dataPH: *mut PR_RenderDataH,
5498    ) -> A_Err,
5499>;
5500#[doc = " deallocate render data"]
5501pub type PR_FrameSetdownFunc = ::std::option::Option<
5502    unsafe extern "C" fn(
5503        in_dataP: *const PR_InData,
5504        global_contextH: PR_GlobalContextH,
5505        instance_contextH: PR_InstanceContextH,
5506        render_contextH: PR_RenderContextH,
5507        global_dataH: PR_GlobalDataH,
5508        instance_dataH: PR_InstanceDataH,
5509        render_dataH: PR_RenderDataH,
5510    ) -> A_Err,
5511>;
5512#[doc = " the main drawing routine"]
5513pub type PR_RenderFunc = ::std::option::Option<
5514    unsafe extern "C" fn(
5515        in_dataP: *const PR_InData,
5516        global_contextH: PR_GlobalContextH,
5517        instance_contextH: PR_InstanceContextH,
5518        render_contextH: PR_RenderContextH,
5519        global_dataH: PR_GlobalDataH,
5520        instance_dataH: PR_InstanceDataH,
5521        render_dataH: PR_RenderDataH,
5522    ) -> A_Err,
5523>;
5524#[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"]
5525pub type PR_QueryFunc = ::std::option::Option<
5526    unsafe extern "C" fn(
5527        in_dataP: *const PR_InData,
5528        global_contextH: PR_GlobalContextH,
5529        instance_contextH: PR_InstanceContextH,
5530        query_contextH: PR_QueryContextH,
5531        query_type: PR_QueryType,
5532        global_data: PR_GlobalDataH,
5533        instance_dataH: PR_InstanceDataH,
5534    ) -> A_Err,
5535>;
5536#[doc = " main fills this in, just once at plugin load time\n These are the entry points that AE calls to use an artisan."]
5537#[repr(C, packed(4))]
5538#[derive(Debug, Copy, Clone)]
5539pub struct PR_ArtisanEntryPoints {
5540    pub global_setup_func0: PR_GlobalSetupFunc,
5541    pub global_setdown_func0: PR_GlobalSetdownFunc,
5542    pub global_do_about_func0: PR_GlobalDoAboutFunc,
5543    pub setup_instance_func0: PR_InstanceSetupFunc,
5544    pub setdown_instance_func0: PR_InstanceSetdownFunc,
5545    pub flatten_instance_func0: PR_FlattenInstanceFunc,
5546    pub do_instance_dialog_func0: PR_DoInstanceDialogFunc,
5547    pub frame_setup_func0: PR_FrameSetupFunc,
5548    pub render_func: PR_RenderFunc,
5549    pub frame_setdown_func0: PR_FrameSetdownFunc,
5550    pub query_func0: PR_QueryFunc,
5551}
5552#[doc = " line drawing routines for interactive artisans"]
5553pub type PR_Draw_MoveToFunc = ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong)>;
5554pub type PR_Draw_LineToFunc = ::std::option::Option<unsafe extern "C" fn(x: A_FpLong, y: A_FpLong)>;
5555pub type PR_Draw_LineRelFunc =
5556    ::std::option::Option<unsafe extern "C" fn(dx: A_FpLong, dy: A_FpLong)>;
5557pub type PR_Draw_ForeColorFunc =
5558    ::std::option::Option<unsafe extern "C" fn(fore_color: *const A_Color)>;
5559pub type PR_Draw_BackColorFunc =
5560    ::std::option::Option<unsafe extern "C" fn(fore_color: *const A_Color)>;
5561pub type PR_Draw_FrameRectFunc =
5562    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5563pub type PR_Draw_PaintRectFunc =
5564    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5565pub type PR_Draw_FrameOvalFunc =
5566    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5567pub type PR_Draw_PaintOvalFunc =
5568    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5569pub type PR_Draw_InvertRectFunc =
5570    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect)>;
5571pub type PR_Draw_SetClipFunc =
5572    ::std::option::Option<unsafe extern "C" fn(rectPR: *const A_FloatRect, invertB: A_Boolean)>;
5573pub type PR_Draw_PenNormal = ::std::option::Option<unsafe extern "C" fn()>;
5574pub type PR_Draw_PenSize =
5575    ::std::option::Option<unsafe extern "C" fn(widthS: A_FpLong, heightS: A_FpLong)>;
5576pub type PR_Draw_PenPat = ::std::option::Option<unsafe extern "C" fn(pattern: A_u_char)>;
5577pub type PR_Draw_Invert = ::std::option::Option<unsafe extern "C" fn(arg1: A_Boolean)>;
5578pub type PR_CacheIconFunc = ::std::option::Option<unsafe extern "C" fn(iconP: PF_EffectWorldPtr)>;
5579pub type PR_DrawCachedIconFunc = ::std::option::Option<unsafe extern "C" fn(x: A_long, y: A_long)>;
5580pub type PR_DrawStringFunc = ::std::option::Option<
5581    unsafe extern "C" fn(
5582        nameZ: *const A_UTF16Char,
5583        style: PF_FontStyleSheet,
5584        fore_colorP: *const A_Color,
5585        shadow_colorP: *const A_Color,
5586        originP: *const A_FloatPoint,
5587        shadow_offsetP: *const A_FloatPoint,
5588    ),
5589>;
5590pub type PR_StrokePolyFunc =
5591    ::std::option::Option<unsafe extern "C" fn(nptsL: A_long, ptsA: *mut A_FloatPoint)>;
5592pub type PR_PaintPolyFunc =
5593    ::std::option::Option<unsafe extern "C" fn(nptsL: A_long, ptsA: *mut A_FloatPoint)>;
5594#[repr(C, packed(4))]
5595#[derive(Debug, Copy, Clone)]
5596pub struct PR_InteractiveDrawProcs {
5597    pub move_to_func: PR_Draw_MoveToFunc,
5598    pub line_to_func: PR_Draw_LineToFunc,
5599    pub line_rel_func: PR_Draw_LineRelFunc,
5600    pub fore_color_func: PR_Draw_ForeColorFunc,
5601    pub back_color_func: PR_Draw_BackColorFunc,
5602    pub frame_rect_func: PR_Draw_FrameRectFunc,
5603    pub paint_rect_func: PR_Draw_PaintRectFunc,
5604    pub frame_oval_func: PR_Draw_FrameOvalFunc,
5605    pub paint_oval_func: PR_Draw_PaintOvalFunc,
5606    pub invert_rect_func: PR_Draw_InvertRectFunc,
5607    pub set_clip_func: PR_Draw_SetClipFunc,
5608    pub pen_normal_func: PR_Draw_PenNormal,
5609    pub pen_size_func: PR_Draw_PenSize,
5610    pub pen_pat_func: PR_Draw_PenPat,
5611    pub invert_func: PR_Draw_Invert,
5612    pub cache_icon_func: PR_CacheIconFunc,
5613    pub draw_cached_icon_func: PR_DrawCachedIconFunc,
5614    pub draw_string_func: PR_DrawStringFunc,
5615    pub stroke_poly_func: PR_StrokePolyFunc,
5616    pub paint_poly_func: PR_PaintPolyFunc,
5617}
5618#[repr(C, packed(2))]
5619#[derive(Debug, Copy, Clone)]
5620pub struct PF_MaskSuite1 {
5621    pub PF_MaskWorldWithPath: ::std::option::Option<
5622        unsafe extern "C" fn(
5623            effect_ref: PF_ProgPtr,
5624            mask: *mut PF_PathOutlinePtr,
5625            feather_x: PF_FpLong,
5626            feather_y: PF_FpLong,
5627            invert: PF_Boolean,
5628            opacity: PF_FpLong,
5629            quality: PF_Quality,
5630            worldP: *mut PF_EffectWorld,
5631            bboxPR0: *mut PF_Rect,
5632        ) -> A_Err,
5633    >,
5634}
5635#[repr(C)]
5636#[derive(Debug, Copy, Clone)]
5637pub struct AEIO_FileExt {
5638    pub pad: A_char,
5639    pub extension: [A_char; 3usize],
5640}
5641#[repr(C)]
5642#[derive(Debug, Copy, Clone)]
5643pub struct _AEGP_MarkerVal {
5644    _unused: [u8; 0],
5645}
5646pub type AEGP_ConstMarkerValP = *const _AEGP_MarkerVal;
5647#[doc = " in data is passed to every function block function"]
5648pub type AEIO_MessageFunc =
5649    ::std::option::Option<unsafe extern "C" fn(err_number: A_Err, msgA: *const A_char)>;
5650#[repr(C)]
5651#[derive(Debug, Copy, Clone)]
5652pub struct AEIO_InData {
5653    pub msg_func: AEIO_MessageFunc,
5654    pub pica_basicP: *const SPBasicSuite,
5655    pub aegp_plug_id: A_long,
5656    pub aegp_refconPV: *mut ::std::os::raw::c_void,
5657}
5658pub type AEIO_BasicData = AEIO_InData;
5659pub type AEIO_Handle = *mut *mut _Up_OpaqueMem;
5660pub type AEIO_DrawingFlags = A_long;
5661pub type AEIO_Quality = A_short;
5662pub type AEIO_TimeDir = A_short;
5663pub type AEIO_IdleFlags = A_long;
5664pub type AEIO_SndQuality = A_long;
5665pub type AEIO_SndEncoding = A_short;
5666pub type AEIO_SndSampleSize = A_short;
5667pub type AEIO_SndChannels = A_short;
5668pub type AEIO_MarkerType = A_u_char;
5669pub type AEIO_Field = A_long;
5670#[repr(C)]
5671#[derive(Debug, Copy, Clone)]
5672pub struct AEIO_Marker {
5673    pub chapterZ0: *const A_char,
5674    pub commentZ0: *const A_char,
5675    pub urlZ0: *const A_char,
5676    pub url_frame_targetZ0: *const A_char,
5677}
5678pub type AEIO_FrameBlend = A_char;
5679pub type AEIO_LabelFlags = A_long;
5680pub type AEIO_InputDepth = A_long;
5681pub type AEIO_SupportedDepthFlags = A_long;
5682pub type AEIO_Pulldown = A_long;
5683pub type AEIO_FileType = A_long;
5684pub type AEIO_Creator = A_long;
5685#[repr(C)]
5686#[derive(Debug, Copy, Clone)]
5687pub struct PFILE_FileKind {
5688    pub type_: AEIO_FileType,
5689    pub creator: AEIO_Creator,
5690}
5691#[repr(C)]
5692#[derive(Copy, Clone)]
5693pub union AEIO_FileKind {
5694    pub mac: PFILE_FileKind,
5695    pub ext: AEIO_FileExt,
5696    pub scrap: A_long,
5697}
5698#[repr(C)]
5699#[derive(Debug, Copy, Clone)]
5700pub struct AEIO_Verbiage {
5701    pub name: [A_char; 32usize],
5702    pub type_: [A_char; 32usize],
5703    pub sub_type: [A_char; 128usize],
5704}
5705#[repr(C)]
5706#[derive(Debug, Copy, Clone)]
5707pub struct AEIO_SeqSpec {
5708    _unused: [u8; 0],
5709}
5710pub type AEIO_InSpecH = *mut *mut AEIO_SeqSpec;
5711#[repr(C)]
5712#[derive(Debug, Copy, Clone)]
5713pub struct AEIO_OutSpec {
5714    _unused: [u8; 0],
5715}
5716pub type AEIO_OutSpecH = *mut *mut AEIO_OutSpec;
5717pub type AEIO_ModuleSignature = A_long;
5718#[repr(C)]
5719#[derive(Debug, Copy, Clone)]
5720pub struct AEIO_RationalScale {
5721    pub x: A_Ratio,
5722    pub y: A_Ratio,
5723}
5724pub type AEIO_AlphaFlags = A_u_long;
5725pub type AEIO_AlphaType = A_u_char;
5726#[repr(C, packed(2))]
5727#[derive(Debug, Copy, Clone)]
5728pub struct AEIO_AlphaLabel {
5729    pub version: A_short,
5730    pub flags: AEIO_AlphaFlags,
5731    pub red: A_u_char,
5732    pub green: A_u_char,
5733    pub blue: A_u_char,
5734    pub alpha: AEIO_AlphaType,
5735}
5736pub type AEIO_AbortProc =
5737    ::std::option::Option<unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void) -> A_Err>;
5738pub type AEIO_ProgressProc = ::std::option::Option<
5739    unsafe extern "C" fn(
5740        refcon: *mut ::std::os::raw::c_void,
5741        count: A_long,
5742        total: A_long,
5743    ) -> A_Err,
5744>;
5745#[repr(C)]
5746#[derive(Debug, Copy, Clone)]
5747pub struct AEIO_InterruptFuncs {
5748    pub refcon: *mut ::std::os::raw::c_void,
5749    pub abort0: AEIO_AbortProc,
5750    pub progress0: AEIO_ProgressProc,
5751}
5752#[repr(C)]
5753#[derive(Debug, Copy, Clone)]
5754pub struct AEIO_DrawFramePB {
5755    pub qual: AEIO_Quality,
5756    pub alpha_label: AEIO_AlphaLabel,
5757    pub field_request: AEIO_Field,
5758    pub rs: AEIO_RationalScale,
5759    pub tr: A_Time,
5760    pub duration: A_Time,
5761    pub time_filter: AEIO_FrameBlend,
5762    pub required_region0: A_LRect,
5763    pub inter: AEIO_InterruptFuncs,
5764}
5765pub type AEIO_RenderMarkerFlag = A_long;
5766pub type AEIO_ModuleFlags = A_u_long;
5767pub type AEIO_ModuleFlags2 = A_u_long;
5768#[repr(C)]
5769#[derive(Debug, Copy, Clone)]
5770pub struct AEIO_AuxExt {
5771    pub extension: [A_char; 4usize],
5772    pub type_: A_long,
5773    pub creator: A_long,
5774}
5775#[repr(C)]
5776#[derive(Copy, Clone)]
5777pub struct AEIO_ModuleInfo {
5778    pub sig: AEIO_ModuleSignature,
5779    pub name: [A_char; 32usize],
5780    pub flags: AEIO_ModuleFlags,
5781    pub flags2: AEIO_ModuleFlags2,
5782    pub max_width: A_long,
5783    pub max_height: A_long,
5784    pub num_filetypes: A_short,
5785    pub num_extensions: A_short,
5786    pub num_clips: A_short,
5787    pub pad: A_short,
5788    pub create_kind: PFILE_FileKind,
5789    pub create_ext: AEIO_FileExt,
5790    pub read_kinds: [AEIO_FileKind; 16usize],
5791    pub num_aux_extensionsS: A_short,
5792    pub aux_ext: [AEIO_AuxExt; 16usize],
5793}
5794#[repr(C)]
5795#[derive(Debug, Copy, Clone)]
5796pub struct AEIO_OptionsCBInfo {
5797    pub o_flags: AEIO_SupportedDepthFlags,
5798    pub out_specH: AEIO_OutSpecH,
5799}
5800#[repr(C)]
5801#[derive(Debug, Copy, Clone)]
5802pub struct AEIO_DrawSparseFramePB {
5803    pub qual: AEIO_Quality,
5804    pub rs: AEIO_RationalScale,
5805    pub tr: A_Time,
5806    pub duration: A_Time,
5807    pub required_region: A_LRect,
5808    pub inter: AEIO_InterruptFuncs,
5809}
5810#[doc = "   plugin entry points  *****************************\n the main routine of each plugin fills in these function pointers\n AE will call them as appropriate"]
5811#[repr(C)]
5812#[derive(Debug, Copy, Clone)]
5813pub struct _AEIO_FunctionBlock4 {
5814    pub AEIO_InitInSpecFromFile: ::std::option::Option<
5815        unsafe extern "C" fn(
5816            basic_dataP: *mut AEIO_BasicData,
5817            file_pathZ: *const A_UTF16Char,
5818            inH: AEIO_InSpecH,
5819        ) -> A_Err,
5820    >,
5821    pub AEIO_InitInSpecInteractive: ::std::option::Option<
5822        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, inH: AEIO_InSpecH) -> A_Err,
5823    >,
5824    pub AEIO_DisposeInSpec: ::std::option::Option<
5825        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, inH: AEIO_InSpecH) -> A_Err,
5826    >,
5827    pub AEIO_FlattenOptions: ::std::option::Option<
5828        unsafe extern "C" fn(
5829            basic_dataP: *mut AEIO_BasicData,
5830            inH: AEIO_InSpecH,
5831            flat_optionsPH: *mut AEIO_Handle,
5832        ) -> A_Err,
5833    >,
5834    pub AEIO_InflateOptions: ::std::option::Option<
5835        unsafe extern "C" fn(
5836            basic_dataP: *mut AEIO_BasicData,
5837            inH: AEIO_InSpecH,
5838            flat_optionsH: AEIO_Handle,
5839        ) -> A_Err,
5840    >,
5841    pub AEIO_SynchInSpec: ::std::option::Option<
5842        unsafe extern "C" fn(
5843            basic_dataP: *mut AEIO_BasicData,
5844            inH: AEIO_InSpecH,
5845            changed0: *mut A_Boolean,
5846        ) -> A_Err,
5847    >,
5848    pub AEIO_GetActiveExtent: ::std::option::Option<
5849        unsafe extern "C" fn(
5850            basic_dataP: *mut AEIO_BasicData,
5851            inH: AEIO_InSpecH,
5852            tr: *const A_Time,
5853            extent: *mut A_LRect,
5854        ) -> A_Err,
5855    >,
5856    pub AEIO_GetInSpecInfo: ::std::option::Option<
5857        unsafe extern "C" fn(
5858            basic_dataP: *mut AEIO_BasicData,
5859            inH: AEIO_InSpecH,
5860            verbiageP: *mut AEIO_Verbiage,
5861        ) -> A_Err,
5862    >,
5863    pub AEIO_DrawSparseFrame: ::std::option::Option<
5864        unsafe extern "C" fn(
5865            basic_dataP: *mut AEIO_BasicData,
5866            inH: AEIO_InSpecH,
5867            sparse_framePPB: *const AEIO_DrawSparseFramePB,
5868            worldP: *mut PF_EffectWorld,
5869            draw_flagsP: *mut AEIO_DrawingFlags,
5870        ) -> A_Err,
5871    >,
5872    pub AEIO_GetDimensions: ::std::option::Option<
5873        unsafe extern "C" fn(
5874            basic_dataP: *mut AEIO_BasicData,
5875            inH: AEIO_InSpecH,
5876            rs0: *const AEIO_RationalScale,
5877            width0: *mut A_long,
5878            height0: *mut A_long,
5879        ) -> A_Err,
5880    >,
5881    pub AEIO_GetDuration: ::std::option::Option<
5882        unsafe extern "C" fn(
5883            basic_dataP: *mut AEIO_BasicData,
5884            inH: AEIO_InSpecH,
5885            tr: *mut A_Time,
5886        ) -> A_Err,
5887    >,
5888    pub AEIO_GetTime: ::std::option::Option<
5889        unsafe extern "C" fn(
5890            basic_dataP: *mut AEIO_BasicData,
5891            inH: AEIO_InSpecH,
5892            tr: *mut A_Time,
5893        ) -> A_Err,
5894    >,
5895    pub AEIO_GetSound: ::std::option::Option<
5896        unsafe extern "C" fn(
5897            basic_dataP: *mut AEIO_BasicData,
5898            inH: AEIO_InSpecH,
5899            quality: AEIO_SndQuality,
5900            interrupt_funcsP0: *const AEIO_InterruptFuncs,
5901            startPT: *const A_Time,
5902            durPT: *const A_Time,
5903            start_sampLu: A_u_long,
5904            num_samplesLu: A_u_long,
5905            dataPV: *mut ::std::os::raw::c_void,
5906        ) -> A_Err,
5907    >,
5908    pub AEIO_InqNextFrameTime: ::std::option::Option<
5909        unsafe extern "C" fn(
5910            basic_dataP: *mut AEIO_BasicData,
5911            inH: AEIO_InSpecH,
5912            base_time_tr: *const A_Time,
5913            time_dir: AEIO_TimeDir,
5914            found0: *mut A_Boolean,
5915            key_time_tr0: *mut A_Time,
5916        ) -> A_Err,
5917    >,
5918    pub AEIO_InitOutputSpec: ::std::option::Option<
5919        unsafe extern "C" fn(
5920            basic_dataP: *mut AEIO_BasicData,
5921            outH: AEIO_OutSpecH,
5922            user_interacted: *mut A_Boolean,
5923        ) -> A_Err,
5924    >,
5925    pub AEIO_GetFlatOutputOptions: ::std::option::Option<
5926        unsafe extern "C" fn(
5927            basic_dataP: *mut AEIO_BasicData,
5928            outH: AEIO_OutSpecH,
5929            optionsH: *mut AEIO_Handle,
5930        ) -> A_Err,
5931    >,
5932    pub AEIO_DisposeOutputOptions: ::std::option::Option<
5933        unsafe extern "C" fn(
5934            basic_dataP: *mut AEIO_BasicData,
5935            optionsPV: *mut ::std::os::raw::c_void,
5936        ) -> A_Err,
5937    >,
5938    pub AEIO_UserOptionsDialog: ::std::option::Option<
5939        unsafe extern "C" fn(
5940            basic_dataP: *mut AEIO_BasicData,
5941            outH: AEIO_OutSpecH,
5942            sample0: *const PF_EffectWorld,
5943            user_interacted0: *mut A_Boolean,
5944        ) -> A_Err,
5945    >,
5946    pub AEIO_GetOutputInfo: ::std::option::Option<
5947        unsafe extern "C" fn(
5948            basic_dataP: *mut AEIO_BasicData,
5949            outH: AEIO_OutSpecH,
5950            verbiage: *mut AEIO_Verbiage,
5951        ) -> A_Err,
5952    >,
5953    pub AEIO_OutputInfoChanged: ::std::option::Option<
5954        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, outH: AEIO_OutSpecH) -> A_Err,
5955    >,
5956    pub AEIO_SetOutputFile: ::std::option::Option<
5957        unsafe extern "C" fn(
5958            basic_dataP: *mut AEIO_BasicData,
5959            outH: AEIO_OutSpecH,
5960            file_pathZ: *const A_UTF16Char,
5961        ) -> A_Err,
5962    >,
5963    pub AEIO_StartAdding: ::std::option::Option<
5964        unsafe extern "C" fn(
5965            basic_dataP: *mut AEIO_BasicData,
5966            outH: AEIO_OutSpecH,
5967            flags: A_long,
5968        ) -> A_Err,
5969    >,
5970    pub AEIO_AddFrame: ::std::option::Option<
5971        unsafe extern "C" fn(
5972            basic_dataP: *mut AEIO_BasicData,
5973            outH: AEIO_OutSpecH,
5974            frame_index: A_long,
5975            frames: A_long,
5976            wP: *const PF_EffectWorld,
5977            origin0: *const A_LPoint,
5978            was_compressedB: A_Boolean,
5979            inter0: *mut AEIO_InterruptFuncs,
5980        ) -> A_Err,
5981    >,
5982    pub AEIO_EndAdding: ::std::option::Option<
5983        unsafe extern "C" fn(
5984            basic_dataP: *mut AEIO_BasicData,
5985            outH: AEIO_OutSpecH,
5986            flags: A_long,
5987        ) -> A_Err,
5988    >,
5989    pub AEIO_OutputFrame: ::std::option::Option<
5990        unsafe extern "C" fn(
5991            basic_dataP: *mut AEIO_BasicData,
5992            outH: AEIO_OutSpecH,
5993            wP: *const PF_EffectWorld,
5994        ) -> A_Err,
5995    >,
5996    pub AEIO_WriteLabels: ::std::option::Option<
5997        unsafe extern "C" fn(
5998            basic_dataP: *mut AEIO_BasicData,
5999            outH: AEIO_OutSpecH,
6000            written: *mut AEIO_LabelFlags,
6001        ) -> A_Err,
6002    >,
6003    pub AEIO_GetSizes: ::std::option::Option<
6004        unsafe extern "C" fn(
6005            basic_dataP: *mut AEIO_BasicData,
6006            outH: AEIO_OutSpecH,
6007            free_space: *mut A_u_longlong,
6008            file_size: *mut A_u_longlong,
6009        ) -> A_Err,
6010    >,
6011    pub AEIO_Flush: ::std::option::Option<
6012        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, outH: AEIO_OutSpecH) -> A_Err,
6013    >,
6014    pub AEIO_AddSoundChunk: ::std::option::Option<
6015        unsafe extern "C" fn(
6016            basic_dataP: *mut AEIO_BasicData,
6017            outH: AEIO_OutSpecH,
6018            start: *const A_Time,
6019            num_samplesLu: A_u_long,
6020            dataPV: *const ::std::os::raw::c_void,
6021        ) -> A_Err,
6022    >,
6023    pub AEIO_Idle: ::std::option::Option<
6024        unsafe extern "C" fn(
6025            basic_dataP: *mut AEIO_BasicData,
6026            sig: AEIO_ModuleSignature,
6027            idle_flags0: *mut AEIO_IdleFlags,
6028        ) -> A_Err,
6029    >,
6030    pub AEIO_GetDepths: ::std::option::Option<
6031        unsafe extern "C" fn(
6032            basic_dataP: *mut AEIO_BasicData,
6033            outH: AEIO_OutSpecH,
6034            which: *mut AEIO_SupportedDepthFlags,
6035        ) -> A_Err,
6036    >,
6037    pub AEIO_GetOutputSuffix: ::std::option::Option<
6038        unsafe extern "C" fn(
6039            basic_dataP: *mut AEIO_BasicData,
6040            outH: AEIO_OutSpecH,
6041            suffix: *mut A_char,
6042        ) -> A_Err,
6043    >,
6044    pub AEIO_SeqOptionsDlg: ::std::option::Option<
6045        unsafe extern "C" fn(
6046            basic_dataP: *mut AEIO_BasicData,
6047            inH: AEIO_InSpecH,
6048            user_interactedPB0: *mut A_Boolean,
6049        ) -> A_Err,
6050    >,
6051    pub AEIO_GetNumAuxChannels: ::std::option::Option<
6052        unsafe extern "C" fn(
6053            basic_dataP: *mut AEIO_BasicData,
6054            inH: AEIO_InSpecH,
6055            num_channelsPL: *mut A_long,
6056        ) -> A_Err,
6057    >,
6058    pub AEIO_GetAuxChannelDesc: ::std::option::Option<
6059        unsafe extern "C" fn(
6060            basic_dataP: *mut AEIO_BasicData,
6061            inH: AEIO_InSpecH,
6062            chan_indexL: A_long,
6063            descP: *mut PF_ChannelDesc,
6064        ) -> A_Err,
6065    >,
6066    pub AEIO_DrawAuxChannel: ::std::option::Option<
6067        unsafe extern "C" fn(
6068            basic_dataP: *mut AEIO_BasicData,
6069            inH: AEIO_InSpecH,
6070            chan_indexL: A_long,
6071            pbP: *const AEIO_DrawFramePB,
6072            chunkP: *mut PF_ChannelChunk,
6073        ) -> A_Err,
6074    >,
6075    pub AEIO_FreeAuxChannel: ::std::option::Option<
6076        unsafe extern "C" fn(
6077            basic_dataP: *mut AEIO_BasicData,
6078            inH: AEIO_InSpecH,
6079            chunkP: *mut PF_ChannelChunk,
6080        ) -> A_Err,
6081    >,
6082    pub AEIO_NumAuxFiles: ::std::option::Option<
6083        unsafe extern "C" fn(
6084            basic_dataP: *mut AEIO_BasicData,
6085            seqH: AEIO_InSpecH,
6086            files_per_framePL0: *mut A_long,
6087        ) -> A_Err,
6088    >,
6089    pub AEIO_GetNthAuxFileSpec: ::std::option::Option<
6090        unsafe extern "C" fn(
6091            basic_dataP: *mut AEIO_BasicData,
6092            seqH: AEIO_InSpecH,
6093            frame_numL: A_long,
6094            n: A_long,
6095            pathPH: *mut AEGP_MemHandle,
6096        ) -> A_Err,
6097    >,
6098    pub AEIO_CloseSourceFiles: ::std::option::Option<
6099        unsafe extern "C" fn(basic_dataP: *mut AEIO_BasicData, seqH: AEIO_InSpecH) -> A_Err,
6100    >,
6101    pub AEIO_CountUserData: ::std::option::Option<
6102        unsafe extern "C" fn(
6103            basic_dataP: *mut AEIO_BasicData,
6104            inH: AEIO_InSpecH,
6105            typeLu: A_u_long,
6106            max_sizeLu: A_u_long,
6107            num_of_typePLu: *mut A_u_long,
6108        ) -> A_Err,
6109    >,
6110    pub AEIO_SetUserData: ::std::option::Option<
6111        unsafe extern "C" fn(
6112            basic_dataP: *mut AEIO_BasicData,
6113            outH: AEIO_OutSpecH,
6114            typeLu: A_u_long,
6115            indexLu: A_u_long,
6116            dataH: AEIO_Handle,
6117        ) -> A_Err,
6118    >,
6119    pub AEIO_GetUserData: ::std::option::Option<
6120        unsafe extern "C" fn(
6121            basic_dataP: *mut AEIO_BasicData,
6122            inH: AEIO_InSpecH,
6123            typeLu: A_u_long,
6124            indexLu: A_u_long,
6125            max_sizeLu: A_u_long,
6126            dataPH: *mut AEIO_Handle,
6127        ) -> A_Err,
6128    >,
6129    pub AEIO_AddMarker: ::std::option::Option<
6130        unsafe extern "C" fn(
6131            basic_dataP: *mut AEIO_BasicData,
6132            outH: AEIO_OutSpecH,
6133            frame_index: A_long,
6134            marker_type: AEIO_MarkerType,
6135            marker_dataPV: *mut ::std::os::raw::c_void,
6136            inter0: *mut AEIO_InterruptFuncs,
6137        ) -> A_Err,
6138    >,
6139    pub AEIO_VerifyFileImportable: ::std::option::Option<
6140        unsafe extern "C" fn(
6141            basic_dataP: *mut AEIO_BasicData,
6142            sig: AEIO_ModuleSignature,
6143            file_pathZ: *const A_UTF16Char,
6144            importablePB: *mut A_Boolean,
6145        ) -> A_Err,
6146    >,
6147    pub AEIO_UserAudioOptionsDialog: ::std::option::Option<
6148        unsafe extern "C" fn(
6149            basic_dataP: *mut AEIO_BasicData,
6150            outH: AEIO_OutSpecH,
6151            user_interacted0: *mut A_Boolean,
6152        ) -> A_Err,
6153    >,
6154    pub AEIO_AddMarker2: ::std::option::Option<
6155        unsafe extern "C" fn(
6156            basic_dataP: *mut AEIO_BasicData,
6157            outH: AEIO_OutSpecH,
6158            frame_index: A_long,
6159            markerP: *const AEIO_Marker,
6160            inter0: *mut AEIO_InterruptFuncs,
6161        ) -> A_Err,
6162    >,
6163    pub AEIO_AddMarker3: ::std::option::Option<
6164        unsafe extern "C" fn(
6165            basic_dataP: *mut AEIO_BasicData,
6166            outH: AEIO_OutSpecH,
6167            frame_index: A_long,
6168            marker_valP: AEGP_ConstMarkerValP,
6169            marker_flag: AEIO_RenderMarkerFlag,
6170            inter0: *mut AEIO_InterruptFuncs,
6171        ) -> A_Err,
6172    >,
6173    pub AEIO_GetMimeType: ::std::option::Option<
6174        unsafe extern "C" fn(
6175            basic_dataP: *mut AEIO_BasicData,
6176            outH: AEIO_OutSpecH,
6177            mime_type_sizeL: A_long,
6178            mime_typeZ: *mut ::std::os::raw::c_char,
6179        ) -> A_Err,
6180    >,
6181}
6182#[doc = "   plugin entry points  *****************************\n the main routine of each plugin fills in these function pointers\n AE will call them as appropriate"]
6183pub type AEIO_FunctionBlock4 = _AEIO_FunctionBlock4;
6184pub type PT_Index = A_long;
6185#[repr(C)]
6186#[derive(Debug, Copy, Clone)]
6187pub struct PT_Tracker {
6188    _unused: [u8; 0],
6189}
6190pub type PT_TrackerPtr = *mut PT_Tracker;
6191#[repr(C)]
6192#[derive(Debug, Copy, Clone)]
6193pub struct PT_TrackerInstance {
6194    _unused: [u8; 0],
6195}
6196pub type PT_TrackerInstancePtr = *mut PT_TrackerInstance;
6197#[repr(C)]
6198#[derive(Debug, Copy, Clone)]
6199pub struct PT_TrackingContext {
6200    _unused: [u8; 0],
6201}
6202pub type PT_TrackingContextPtr = *mut PT_TrackingContext;
6203pub type PT_GlobalSetupFunc = ::std::option::Option<
6204    unsafe extern "C" fn(trackerP: PT_TrackerPtr, global_dataPH: *mut AEGP_MemHandle) -> A_Err,
6205>;
6206pub type PT_GlobalSetdownFunc =
6207    ::std::option::Option<unsafe extern "C" fn(trackerP: PT_TrackerPtr) -> A_Err>;
6208pub type PT_GlobalDoAboutFunc =
6209    ::std::option::Option<unsafe extern "C" fn(trackerP: PT_TrackerPtr) -> A_Err>;
6210pub type PT_InstanceSetupFunc = ::std::option::Option<
6211    unsafe extern "C" fn(
6212        tracker_instanceP: PT_TrackerInstancePtr,
6213        flat_instance_dataH0: AEGP_MemHandle,
6214        instance_dataPH: *mut AEGP_MemHandle,
6215    ) -> A_Err,
6216>;
6217pub type PT_InstanceSetdownFunc =
6218    ::std::option::Option<unsafe extern "C" fn(tracker_instanceP: PT_TrackerInstancePtr) -> A_Err>;
6219pub type PT_InstanceFlattenFunc = ::std::option::Option<
6220    unsafe extern "C" fn(
6221        tracker_instanceP: PT_TrackerInstancePtr,
6222        flat_instance_dataPH: *mut AEGP_MemHandle,
6223    ) -> A_Err,
6224>;
6225pub type PT_InstanceDoOptionsFunc =
6226    ::std::option::Option<unsafe extern "C" fn(tracker_instanceP: PT_TrackerInstancePtr) -> A_Err>;
6227pub type PT_PrepareTrackFunc = ::std::option::Option<
6228    unsafe extern "C" fn(
6229        contextP: PT_TrackingContextPtr,
6230        tracker_dataPH: *mut AEGP_MemHandle,
6231    ) -> A_Err,
6232>;
6233pub type PT_TrackFunc =
6234    ::std::option::Option<unsafe extern "C" fn(contextP: PT_TrackingContextPtr) -> A_Err>;
6235pub type PT_FinishTrackFunc =
6236    ::std::option::Option<unsafe extern "C" fn(contextP: PT_TrackingContextPtr) -> A_Err>;
6237#[repr(C, packed(4))]
6238#[derive(Debug, Copy, Clone)]
6239pub struct PT_TrackerEntryPoints {
6240    pub global_setup_func: PT_GlobalSetupFunc,
6241    pub global_setdown_func: PT_GlobalSetdownFunc,
6242    pub global_do_about_func: PT_GlobalDoAboutFunc,
6243    pub instance_setup_func: PT_InstanceSetupFunc,
6244    pub instance_setdown_func: PT_InstanceSetdownFunc,
6245    pub instance_flatten_func: PT_InstanceFlattenFunc,
6246    pub instance_do_options_func: PT_InstanceDoOptionsFunc,
6247    pub track_prepare_func: PT_PrepareTrackFunc,
6248    pub track_func: PT_TrackFunc,
6249    pub track_finish_func: PT_FinishTrackFunc,
6250}
6251#[repr(C)]
6252#[derive(Debug, Copy, Clone)]
6253pub struct _AEGP_Project {
6254    _unused: [u8; 0],
6255}
6256pub type AEGP_ProjectH = *mut *mut _AEGP_Project;
6257#[repr(C)]
6258#[derive(Debug, Copy, Clone)]
6259pub struct _AEGP_Item {
6260    _unused: [u8; 0],
6261}
6262pub type AEGP_ItemH = *mut *mut _AEGP_Item;
6263#[repr(C)]
6264#[derive(Debug, Copy, Clone)]
6265pub struct _AEGP_Comp {
6266    _unused: [u8; 0],
6267}
6268pub type AEGP_CompH = *mut *mut _AEGP_Comp;
6269#[repr(C)]
6270#[derive(Debug, Copy, Clone)]
6271pub struct _AEGP_Footage {
6272    _unused: [u8; 0],
6273}
6274pub type AEGP_FootageH = *mut *mut _AEGP_Footage;
6275#[repr(C)]
6276#[derive(Debug, Copy, Clone)]
6277pub struct _AEGP_Layer {
6278    _unused: [u8; 0],
6279}
6280pub type AEGP_LayerH = *mut *mut _AEGP_Layer;
6281#[repr(C)]
6282#[derive(Debug, Copy, Clone)]
6283pub struct _AEGP_Effect {
6284    _unused: [u8; 0],
6285}
6286pub type AEGP_EffectRefH = *mut *mut _AEGP_Effect;
6287#[repr(C)]
6288#[derive(Debug, Copy, Clone)]
6289pub struct _AEGP_Mask {
6290    _unused: [u8; 0],
6291}
6292pub type AEGP_MaskRefH = *mut *mut _AEGP_Mask;
6293#[repr(C)]
6294#[derive(Debug, Copy, Clone)]
6295pub struct _AEGPp_Stream {
6296    _unused: [u8; 0],
6297}
6298pub type AEGP_StreamRefH = *mut *mut _AEGPp_Stream;
6299#[repr(C)]
6300#[derive(Debug, Copy, Clone)]
6301pub struct _AEGP_LayerContext {
6302    _unused: [u8; 0],
6303}
6304pub type AEGP_RenderLayerContextH = *mut *mut _AEGP_LayerContext;
6305#[repr(C)]
6306#[derive(Debug, Copy, Clone)]
6307pub struct _AEGP_PersistentBlob {
6308    _unused: [u8; 0],
6309}
6310pub type AEGP_PersistentBlobH = *mut *mut _AEGP_PersistentBlob;
6311#[repr(C)]
6312#[derive(Debug, Copy, Clone)]
6313pub struct _AEGP_MaskOutline {
6314    _unused: [u8; 0],
6315}
6316pub type AEGP_MaskOutlineValH = *mut *mut _AEGP_MaskOutline;
6317#[repr(C)]
6318#[derive(Debug, Copy, Clone)]
6319pub struct _AEGP_Collection {
6320    _unused: [u8; 0],
6321}
6322pub type AEGP_CollectionH = *mut *mut _AEGP_Collection;
6323#[repr(C)]
6324#[derive(Debug, Copy, Clone)]
6325pub struct _AEGP_Collection2 {
6326    _unused: [u8; 0],
6327}
6328pub type AEGP_Collection2H = *mut *mut _AEGP_Collection2;
6329#[repr(C)]
6330#[derive(Debug, Copy, Clone)]
6331pub struct _AEGP_SoundData {
6332    _unused: [u8; 0],
6333}
6334pub type AEGP_SoundDataH = *mut *mut _AEGP_SoundData;
6335#[repr(C)]
6336#[derive(Debug, Copy, Clone)]
6337pub struct _AEGP_AddKeyframesInfo {
6338    _unused: [u8; 0],
6339}
6340pub type AEGP_AddKeyframesInfoH = *mut *mut _AEGP_AddKeyframesInfo;
6341#[repr(C)]
6342#[derive(Debug, Copy, Clone)]
6343pub struct _AEGP_RenderReceipt {
6344    _unused: [u8; 0],
6345}
6346pub type AEGP_RenderReceiptH = *mut *mut _AEGP_RenderReceipt;
6347#[repr(C)]
6348#[derive(Debug, Copy, Clone)]
6349pub struct _AEGP_World {
6350    _unused: [u8; 0],
6351}
6352pub type AEGP_WorldH = *mut *mut _AEGP_World;
6353#[repr(C)]
6354#[derive(Debug, Copy, Clone)]
6355pub struct _AEGP_RenderOptions {
6356    _unused: [u8; 0],
6357}
6358pub type AEGP_RenderOptionsH = *mut *mut _AEGP_RenderOptions;
6359#[repr(C)]
6360#[derive(Debug, Copy, Clone)]
6361pub struct _AEGP_LayerRenderOptions {
6362    _unused: [u8; 0],
6363}
6364pub type AEGP_LayerRenderOptionsH = *mut *mut _AEGP_LayerRenderOptions;
6365#[repr(C)]
6366#[derive(Debug, Copy, Clone)]
6367pub struct _AEGP_FrameReceipt {
6368    _unused: [u8; 0],
6369}
6370pub type AEGP_FrameReceiptH = *mut *mut _AEGP_FrameReceipt;
6371#[repr(C)]
6372#[derive(Debug, Copy, Clone)]
6373pub struct _AEGP_RenderQueueItem {
6374    _unused: [u8; 0],
6375}
6376pub type AEGP_RQItemRefH = *mut *mut _AEGP_RenderQueueItem;
6377#[repr(C)]
6378#[derive(Debug, Copy, Clone)]
6379pub struct _AEGP_OutputModule {
6380    _unused: [u8; 0],
6381}
6382pub type AEGP_OutputModuleRefH = *mut *mut _AEGP_OutputModule;
6383#[repr(C)]
6384#[derive(Debug, Copy, Clone)]
6385pub struct _AEGP_TextDocument {
6386    _unused: [u8; 0],
6387}
6388pub type AEGP_TextDocumentH = *mut *mut _AEGP_TextDocument;
6389pub type AEGP_MarkerValP = *mut _AEGP_MarkerVal;
6390#[repr(C)]
6391#[derive(Debug, Copy, Clone)]
6392pub struct _AEGP_TextOutlines {
6393    _unused: [u8; 0],
6394}
6395pub type AEGP_TextOutlinesH = *mut *mut _AEGP_TextOutlines;
6396#[repr(C)]
6397#[derive(Debug, Copy, Clone)]
6398pub struct _AEGP_TimeStamp {
6399    pub a: [A_char; 4usize],
6400}
6401pub type AEGP_TimeStamp = _AEGP_TimeStamp;
6402#[repr(C)]
6403#[derive(Debug, Copy, Clone)]
6404pub struct _AEGP_PlatformWorld {
6405    _unused: [u8; 0],
6406}
6407pub type AEGP_PlatformWorldH = *mut *mut _AEGP_PlatformWorld;
6408#[repr(C)]
6409#[derive(Debug, Copy, Clone)]
6410pub struct _AEGP_ItemView {
6411    _unused: [u8; 0],
6412}
6413pub type AEGP_ItemViewP = *mut _AEGP_ItemView;
6414#[repr(C)]
6415#[derive(Debug, Copy, Clone)]
6416pub struct _AEGP_ColorProfile {
6417    _unused: [u8; 0],
6418}
6419pub type AEGP_ColorProfileP = *mut _AEGP_ColorProfile;
6420pub type AEGP_ConstColorProfileP = *const _AEGP_ColorProfile;
6421pub type AEGP_SubLayerIndex = A_long;
6422pub type AEGP_PluginID = A_long;
6423#[repr(C)]
6424#[derive(Debug, Copy, Clone)]
6425pub struct _AEGP_GlobalRefcon {
6426    _unused: [u8; 0],
6427}
6428pub type AEGP_GlobalRefcon = *mut _AEGP_GlobalRefcon;
6429#[repr(C)]
6430#[derive(Debug, Copy, Clone)]
6431pub struct _AEGP_CommandRefcon {
6432    _unused: [u8; 0],
6433}
6434pub type AEGP_CommandRefcon = *mut _AEGP_CommandRefcon;
6435#[repr(C)]
6436#[derive(Debug, Copy, Clone)]
6437pub struct _AEGP_UpdateMenuRefcon {
6438    _unused: [u8; 0],
6439}
6440pub type AEGP_UpdateMenuRefcon = *mut _AEGP_UpdateMenuRefcon;
6441#[repr(C)]
6442#[derive(Debug, Copy, Clone)]
6443pub struct _AEGP_DeathRefcon {
6444    _unused: [u8; 0],
6445}
6446pub type AEGP_DeathRefcon = *mut _AEGP_DeathRefcon;
6447#[repr(C)]
6448#[derive(Debug, Copy, Clone)]
6449pub struct _AEGP_VersionRefcon {
6450    _unused: [u8; 0],
6451}
6452pub type AEGP_VersionRefcon = *mut _AEGP_VersionRefcon;
6453#[repr(C)]
6454#[derive(Debug, Copy, Clone)]
6455pub struct _AEGP_AboutStringRefcon {
6456    _unused: [u8; 0],
6457}
6458pub type AEGP_AboutStringRefcon = *mut _AEGP_AboutStringRefcon;
6459#[repr(C)]
6460#[derive(Debug, Copy, Clone)]
6461pub struct _AEGP_AboutRefcon {
6462    _unused: [u8; 0],
6463}
6464pub type AEGP_AboutRefcon = *mut _AEGP_AboutRefcon;
6465#[repr(C)]
6466#[derive(Debug, Copy, Clone)]
6467pub struct _AEGP_AsyncFrameRequestRefcon {
6468    _unused: [u8; 0],
6469}
6470pub type AEGP_AsyncFrameRequestRefcon = *mut _AEGP_AsyncFrameRequestRefcon;
6471#[repr(C)]
6472#[derive(Debug, Copy, Clone)]
6473pub struct _AEGP_IdleRefcon {
6474    _unused: [u8; 0],
6475}
6476pub type AEGP_IdleRefcon = *mut _AEGP_IdleRefcon;
6477#[repr(C)]
6478#[derive(Debug, Copy, Clone)]
6479pub struct _AEGP_IORefcon {
6480    _unused: [u8; 0],
6481}
6482pub type AEGP_IORefcon = *mut _AEGP_IORefcon;
6483#[repr(C)]
6484#[derive(Debug, Copy, Clone)]
6485pub struct _AEGP_CancelRefcon {
6486    _unused: [u8; 0],
6487}
6488pub type AEGP_CancelRefcon = *mut _AEGP_CancelRefcon;
6489pub const AEGP_Platform_MAC: _bindgen_ty_99 = 0;
6490pub const AEGP_Platform_WIN: _bindgen_ty_99 = 1;
6491pub type _bindgen_ty_99 = ::std::os::raw::c_uint;
6492pub type AEGP_Platform = A_long;
6493pub const AEGP_ProjBitDepth_8: _bindgen_ty_100 = 0;
6494pub const AEGP_ProjBitDepth_16: _bindgen_ty_100 = 1;
6495pub const AEGP_ProjBitDepth_32: _bindgen_ty_100 = 2;
6496pub const AEGP_ProjBitDepth_NUM_VALID_DEPTHS: _bindgen_ty_100 = 3;
6497pub type _bindgen_ty_100 = ::std::os::raw::c_uint;
6498pub type AEGP_ProjBitDepth = A_char;
6499pub type AEGP_Index = A_long;
6500pub type AEGP_LayerIDVal = A_long;
6501pub type AEGP_MaskIDVal = A_long;
6502#[repr(C)]
6503#[derive(Debug, Copy, Clone)]
6504pub struct AEGP_ColorVal {
6505    pub alphaF: A_FpLong,
6506    pub redF: A_FpLong,
6507    pub greenF: A_FpLong,
6508    pub blueF: A_FpLong,
6509}
6510pub const AEGP_CameraType_NONE: _bindgen_ty_101 = -1;
6511pub const AEGP_CameraType_PERSPECTIVE: _bindgen_ty_101 = 0;
6512pub const AEGP_CameraType_ORTHOGRAPHIC: _bindgen_ty_101 = 1;
6513pub const AEGP_CameraType_NUM_TYPES: _bindgen_ty_101 = 2;
6514pub type _bindgen_ty_101 = ::std::os::raw::c_int;
6515pub type AEGP_CameraType = A_u_long;
6516pub const AEGP_FootageDepth_1: _bindgen_ty_102 = 1;
6517pub const AEGP_FootageDepth_2: _bindgen_ty_102 = 2;
6518pub const AEGP_FootageDepth_4: _bindgen_ty_102 = 4;
6519pub const AEGP_FootageDepth_8: _bindgen_ty_102 = 8;
6520pub const AEGP_FootageDepth_16: _bindgen_ty_102 = 16;
6521pub const AEGP_FootageDepth_24: _bindgen_ty_102 = 24;
6522pub const AEGP_FootageDepth_30: _bindgen_ty_102 = 30;
6523pub const AEGP_FootageDepth_32: _bindgen_ty_102 = 32;
6524pub const AEGP_FootageDepth_GRAY_2: _bindgen_ty_102 = 34;
6525pub const AEGP_FootageDepth_GRAY_4: _bindgen_ty_102 = 36;
6526pub const AEGP_FootageDepth_GRAY_8: _bindgen_ty_102 = 40;
6527pub const AEGP_FootageDepth_48: _bindgen_ty_102 = 48;
6528pub const AEGP_FootageDepth_64: _bindgen_ty_102 = 64;
6529pub const AEGP_FootageDepth_GRAY_16: _bindgen_ty_102 = -16;
6530pub type _bindgen_ty_102 = ::std::os::raw::c_int;
6531pub const AEGP_FilmSizeUnits_NONE: _bindgen_ty_103 = 0;
6532pub const AEGP_FilmSizeUnits_HORIZONTAL: _bindgen_ty_103 = 1;
6533pub const AEGP_FilmSizeUnits_VERTICAL: _bindgen_ty_103 = 2;
6534pub const AEGP_FilmSizeUnits_DIAGONAL: _bindgen_ty_103 = 3;
6535pub type _bindgen_ty_103 = ::std::os::raw::c_uint;
6536pub type AEGP_FilmSizeUnits = A_long;
6537pub const AEGP_LightType_NONE: _bindgen_ty_104 = -1;
6538pub const AEGP_LightType_PARALLEL: _bindgen_ty_104 = 0;
6539pub const AEGP_LightType_SPOT: _bindgen_ty_104 = 1;
6540pub const AEGP_LightType_POINT: _bindgen_ty_104 = 2;
6541pub const AEGP_LightType_AMBIENT: _bindgen_ty_104 = 3;
6542pub const AEGP_LightType_RESERVED1: _bindgen_ty_104 = 4;
6543pub const AEGP_LightType_NUM_TYPES: _bindgen_ty_104 = 5;
6544pub type _bindgen_ty_104 = ::std::os::raw::c_int;
6545pub type AEGP_LightType = A_u_long;
6546pub const AEGP_LightFalloff_NONE: _bindgen_ty_105 = 0;
6547pub const AEGP_LightFalloff_SMOOTH: _bindgen_ty_105 = 1;
6548pub const AEGP_LightFalloff_INVERSE_SQUARE_CLAMPED: _bindgen_ty_105 = 2;
6549pub type _bindgen_ty_105 = ::std::os::raw::c_uint;
6550pub type AEGP_LightFalloffType = A_u_long;
6551pub const AEGP_TimeDisplayType_TIMECODE: _bindgen_ty_106 = 0;
6552pub const AEGP_TimeDisplayType_FRAMES: _bindgen_ty_106 = 1;
6553pub const AEGP_TimeDisplayType_FEET_AND_FRAMES: _bindgen_ty_106 = 2;
6554pub type _bindgen_ty_106 = ::std::os::raw::c_uint;
6555pub type AEGP_TimeDisplayType = A_char;
6556#[repr(C)]
6557#[derive(Debug, Copy, Clone)]
6558pub struct AEGP_TimeDisplay2 {
6559    pub time_display_type: AEGP_TimeDisplayType,
6560    pub timebaseC: A_char,
6561    pub non_drop_30B: A_Boolean,
6562    pub frames_per_footC: A_char,
6563    pub starting_frameL: A_long,
6564    pub auto_timecode_baseB: A_Boolean,
6565}
6566pub const AEGP_TimeDisplay_TIMECODE: _bindgen_ty_107 = 0;
6567pub const AEGP_TimeDisplay_FRAMES: _bindgen_ty_107 = 1;
6568pub type _bindgen_ty_107 = ::std::os::raw::c_uint;
6569pub type AEGP_TimeDisplayMode = ::std::os::raw::c_char;
6570pub const AEGP_SourceTimecode_ZERO: _bindgen_ty_108 = 0;
6571pub const AEGP_SourceTimecode_SOURCE_TIMECODE: _bindgen_ty_108 = 1;
6572pub type _bindgen_ty_108 = ::std::os::raw::c_uint;
6573pub type AEGP_SourceTimecodeDisplayMode = ::std::os::raw::c_char;
6574pub const AEGP_Frames_ZERO_BASED: _bindgen_ty_109 = 0;
6575pub const AEGP_Frames_ONE_BASED: _bindgen_ty_109 = 1;
6576pub const AEGP_Frames_TIMECODE_CONVERSION: _bindgen_ty_109 = 2;
6577pub type _bindgen_ty_109 = ::std::os::raw::c_uint;
6578pub type AEGP_FramesDisplayMode = ::std::os::raw::c_char;
6579#[repr(C)]
6580#[derive(Debug, Copy, Clone)]
6581pub struct AEGP_TimeDisplay3 {
6582    pub display_mode: AEGP_TimeDisplayMode,
6583    pub footage_display_mode: AEGP_SourceTimecodeDisplayMode,
6584    pub display_dropframeB: A_Boolean,
6585    pub use_feet_framesB: A_Boolean,
6586    pub timebaseC: A_char,
6587    pub frames_per_footC: A_char,
6588    pub frames_display_mode: AEGP_FramesDisplayMode,
6589}
6590#[repr(C)]
6591#[derive(Debug, Copy, Clone)]
6592pub struct AEGP_ProjSuite6 {
6593    pub AEGP_GetNumProjects:
6594        ::std::option::Option<unsafe extern "C" fn(num_projPL: *mut A_long) -> A_Err>,
6595    pub AEGP_GetProjectByIndex: ::std::option::Option<
6596        unsafe extern "C" fn(proj_indexL: A_long, projPH: *mut AEGP_ProjectH) -> A_Err,
6597    >,
6598    pub AEGP_GetProjectName: ::std::option::Option<
6599        unsafe extern "C" fn(projH: AEGP_ProjectH, nameZ: *mut A_char) -> A_Err,
6600    >,
6601    pub AEGP_GetProjectPath: ::std::option::Option<
6602        unsafe extern "C" fn(projH: AEGP_ProjectH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
6603    >,
6604    pub AEGP_GetProjectRootFolder: ::std::option::Option<
6605        unsafe extern "C" fn(projH: AEGP_ProjectH, root_folderPH: *mut AEGP_ItemH) -> A_Err,
6606    >,
6607    pub AEGP_SaveProjectToPath: ::std::option::Option<
6608        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
6609    >,
6610    pub AEGP_GetProjectTimeDisplay: ::std::option::Option<
6611        unsafe extern "C" fn(projH: AEGP_ProjectH, time_displayP: *mut AEGP_TimeDisplay3) -> A_Err,
6612    >,
6613    pub AEGP_SetProjectTimeDisplay: ::std::option::Option<
6614        unsafe extern "C" fn(
6615            projH: AEGP_ProjectH,
6616            time_displayP: *const AEGP_TimeDisplay3,
6617        ) -> A_Err,
6618    >,
6619    pub AEGP_ProjectIsDirty: ::std::option::Option<
6620        unsafe extern "C" fn(projH: AEGP_ProjectH, is_dirtyPB: *mut A_Boolean) -> A_Err,
6621    >,
6622    pub AEGP_SaveProjectAs: ::std::option::Option<
6623        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
6624    >,
6625    pub AEGP_NewProject:
6626        ::std::option::Option<unsafe extern "C" fn(new_projectPH: *mut AEGP_ProjectH) -> A_Err>,
6627    pub AEGP_OpenProjectFromPath: ::std::option::Option<
6628        unsafe extern "C" fn(pathZ: *const A_UTF16Char, projectPH: *mut AEGP_ProjectH) -> A_Err,
6629    >,
6630    pub AEGP_GetProjectBitDepth: ::std::option::Option<
6631        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depthP: *mut AEGP_ProjBitDepth) -> A_Err,
6632    >,
6633    pub AEGP_SetProjectBitDepth: ::std::option::Option<
6634        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depth: AEGP_ProjBitDepth) -> A_Err,
6635    >,
6636}
6637pub const AEGP_SoundEncoding_UNSIGNED_PCM: _bindgen_ty_110 = 3;
6638pub const AEGP_SoundEncoding_SIGNED_PCM: _bindgen_ty_110 = 4;
6639pub const AEGP_SoundEncoding_FLOAT: _bindgen_ty_110 = 5;
6640pub const AEGP_SoundEncoding_END: _bindgen_ty_110 = 6;
6641pub const AEGP_SoundEncoding_BEGIN: _bindgen_ty_110 = 3;
6642pub type _bindgen_ty_110 = ::std::os::raw::c_uint;
6643pub type AEGP_SoundEncoding = A_long;
6644#[repr(C)]
6645#[derive(Debug, Copy, Clone)]
6646pub struct AEGP_SoundDataFormat {
6647    pub sample_rateF: A_FpLong,
6648    pub encoding: AEGP_SoundEncoding,
6649    pub bytes_per_sampleL: A_long,
6650    pub num_channelsL: A_long,
6651}
6652pub const AEGP_ItemType_NONE: _bindgen_ty_111 = 0;
6653pub const AEGP_ItemType_FOLDER: _bindgen_ty_111 = 1;
6654pub const AEGP_ItemType_COMP: _bindgen_ty_111 = 2;
6655pub const AEGP_ItemType_SOLID_defunct: _bindgen_ty_111 = 3;
6656pub const AEGP_ItemType_FOOTAGE: _bindgen_ty_111 = 4;
6657pub const AEGP_ItemType_NUM_TYPES1: _bindgen_ty_111 = 5;
6658pub type _bindgen_ty_111 = ::std::os::raw::c_uint;
6659pub type AEGP_ItemType = A_short;
6660pub const AEGP_ItemFlag_MISSING: _bindgen_ty_112 = 1;
6661pub const AEGP_ItemFlag_HAS_PROXY: _bindgen_ty_112 = 2;
6662pub const AEGP_ItemFlag_USING_PROXY: _bindgen_ty_112 = 4;
6663pub const AEGP_ItemFlag_MISSING_PROXY: _bindgen_ty_112 = 8;
6664pub const AEGP_ItemFlag_HAS_VIDEO: _bindgen_ty_112 = 16;
6665pub const AEGP_ItemFlag_HAS_AUDIO: _bindgen_ty_112 = 32;
6666pub const AEGP_ItemFlag_STILL: _bindgen_ty_112 = 64;
6667pub const AEGP_ItemFlag_HAS_ACTIVE_AUDIO: _bindgen_ty_112 = 128;
6668pub type _bindgen_ty_112 = ::std::os::raw::c_uint;
6669pub type AEGP_ItemFlags = A_long;
6670pub const AEGP_Label_NONE: _bindgen_ty_113 = -1;
6671pub const AEGP_Label_NO_LABEL: _bindgen_ty_113 = 0;
6672pub const AEGP_Label_1: _bindgen_ty_113 = 1;
6673pub const AEGP_Label_2: _bindgen_ty_113 = 2;
6674pub const AEGP_Label_3: _bindgen_ty_113 = 3;
6675pub const AEGP_Label_4: _bindgen_ty_113 = 4;
6676pub const AEGP_Label_5: _bindgen_ty_113 = 5;
6677pub const AEGP_Label_6: _bindgen_ty_113 = 6;
6678pub const AEGP_Label_7: _bindgen_ty_113 = 7;
6679pub const AEGP_Label_8: _bindgen_ty_113 = 8;
6680pub const AEGP_Label_9: _bindgen_ty_113 = 9;
6681pub const AEGP_Label_10: _bindgen_ty_113 = 10;
6682pub const AEGP_Label_11: _bindgen_ty_113 = 11;
6683pub const AEGP_Label_12: _bindgen_ty_113 = 12;
6684pub const AEGP_Label_13: _bindgen_ty_113 = 13;
6685pub const AEGP_Label_14: _bindgen_ty_113 = 14;
6686pub const AEGP_Label_15: _bindgen_ty_113 = 15;
6687pub const AEGP_Label_16: _bindgen_ty_113 = 16;
6688pub const AEGP_Label_NUMTYPES: _bindgen_ty_113 = 17;
6689pub type _bindgen_ty_113 = ::std::os::raw::c_int;
6690pub type AEGP_LabelID = A_char;
6691pub const AEGP_PersistentType_MACHINE_SPECIFIC: _bindgen_ty_114 = 0;
6692pub const AEGP_PersistentType_MACHINE_INDEPENDENT: _bindgen_ty_114 = 1;
6693pub const AEGP_PersistentType_MACHINE_INDEPENDENT_RENDER: _bindgen_ty_114 = 2;
6694pub const AEGP_PersistentType_MACHINE_INDEPENDENT_OUTPUT: _bindgen_ty_114 = 3;
6695pub const AEGP_PersistentType_MACHINE_INDEPENDENT_COMPOSITION: _bindgen_ty_114 = 4;
6696pub const AEGP_PersistentType_MACHINE_SPECIFIC_TEXT: _bindgen_ty_114 = 5;
6697pub const AEGP_PersistentType_MACHINE_SPECIFIC_PAINT: _bindgen_ty_114 = 6;
6698pub const AEGP_PersistentType_MACHINE_SPECIFIC_EFFECTS: _bindgen_ty_114 = 7;
6699pub const AEGP_PersistentType_MACHINE_SPECIFIC_EXPRESSION_SNIPPETS: _bindgen_ty_114 = 8;
6700pub const AEGP_PersistentType_MACHINE_SPECIFIC_SCRIPT_SNIPPETS: _bindgen_ty_114 = 9;
6701pub const AEGP_PersistentType_NUMTYPES: _bindgen_ty_114 = 10;
6702pub type _bindgen_ty_114 = ::std::os::raw::c_uint;
6703pub type AEGP_PersistentType = A_long;
6704#[repr(C)]
6705#[derive(Debug, Copy, Clone)]
6706pub struct AEGP_ItemSuite9 {
6707    pub AEGP_GetFirstProjItem: ::std::option::Option<
6708        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
6709    >,
6710    pub AEGP_GetNextProjItem: ::std::option::Option<
6711        unsafe extern "C" fn(
6712            projectH: AEGP_ProjectH,
6713            itemH: AEGP_ItemH,
6714            next_itemPH: *mut AEGP_ItemH,
6715        ) -> A_Err,
6716    >,
6717    pub AEGP_GetActiveItem:
6718        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
6719    pub AEGP_IsItemSelected: ::std::option::Option<
6720        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
6721    >,
6722    pub AEGP_SelectItem: ::std::option::Option<
6723        unsafe extern "C" fn(
6724            itemH: AEGP_ItemH,
6725            selectB: A_Boolean,
6726            deselect_othersB: A_Boolean,
6727        ) -> A_Err,
6728    >,
6729    pub AEGP_GetItemType: ::std::option::Option<
6730        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
6731    >,
6732    pub AEGP_GetTypeName: ::std::option::Option<
6733        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
6734    >,
6735    pub AEGP_GetItemName: ::std::option::Option<
6736        unsafe extern "C" fn(
6737            pluginID: AEGP_PluginID,
6738            itemH: AEGP_ItemH,
6739            unicode_namePH: *mut AEGP_MemHandle,
6740        ) -> A_Err,
6741    >,
6742    pub AEGP_SetItemName: ::std::option::Option<
6743        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_UTF16Char) -> A_Err,
6744    >,
6745    pub AEGP_GetItemID: ::std::option::Option<
6746        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
6747    >,
6748    pub AEGP_GetItemFlags: ::std::option::Option<
6749        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
6750    >,
6751    pub AEGP_SetItemUseProxy: ::std::option::Option<
6752        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
6753    >,
6754    pub AEGP_GetItemParentFolder: ::std::option::Option<
6755        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
6756    >,
6757    pub AEGP_SetItemParentFolder: ::std::option::Option<
6758        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
6759    >,
6760    pub AEGP_GetItemDuration: ::std::option::Option<
6761        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
6762    >,
6763    pub AEGP_GetItemCurrentTime: ::std::option::Option<
6764        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
6765    >,
6766    pub AEGP_GetItemDimensions: ::std::option::Option<
6767        unsafe extern "C" fn(
6768            itemH: AEGP_ItemH,
6769            widthPL: *mut A_long,
6770            heightPL: *mut A_long,
6771        ) -> A_Err,
6772    >,
6773    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
6774        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
6775    >,
6776    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
6777    pub AEGP_CreateNewFolder: ::std::option::Option<
6778        unsafe extern "C" fn(
6779            nameZ: *const A_UTF16Char,
6780            parent_folderH0: AEGP_ItemH,
6781            new_folderPH: *mut AEGP_ItemH,
6782        ) -> A_Err,
6783    >,
6784    pub AEGP_SetItemCurrentTime: ::std::option::Option<
6785        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
6786    >,
6787    pub AEGP_GetItemComment: ::std::option::Option<
6788        unsafe extern "C" fn(itemH: AEGP_ItemH, unicode_namePH: *mut AEGP_MemHandle) -> A_Err,
6789    >,
6790    pub AEGP_SetItemComment: ::std::option::Option<
6791        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_UTF16Char) -> A_Err,
6792    >,
6793    pub AEGP_GetItemLabel: ::std::option::Option<
6794        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
6795    >,
6796    pub AEGP_SetItemLabel: ::std::option::Option<
6797        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
6798    >,
6799    pub AEGP_GetItemMRUView: ::std::option::Option<
6800        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
6801    >,
6802}
6803#[repr(C)]
6804#[derive(Debug, Copy, Clone)]
6805pub struct AEGP_ItemViewSuite1 {
6806    pub AEGP_GetItemViewPlaybackTime: ::std::option::Option<
6807        unsafe extern "C" fn(
6808            item_viewP: AEGP_ItemViewP,
6809            is_currently_previewingPB0: *mut A_Boolean,
6810            curr_timePT: *mut A_Time,
6811        ) -> A_Err,
6812    >,
6813}
6814#[repr(C)]
6815#[derive(Debug, Copy, Clone)]
6816pub struct AEGP_SoundDataSuite1 {
6817    pub AEGP_NewSoundData: ::std::option::Option<
6818        unsafe extern "C" fn(
6819            sound_formatP: *const AEGP_SoundDataFormat,
6820            new_sound_dataPH: *mut AEGP_SoundDataH,
6821        ) -> A_Err,
6822    >,
6823    pub AEGP_DisposeSoundData:
6824        ::std::option::Option<unsafe extern "C" fn(sound_dataH: AEGP_SoundDataH) -> A_Err>,
6825    pub AEGP_GetSoundDataFormat: ::std::option::Option<
6826        unsafe extern "C" fn(
6827            soundH: AEGP_SoundDataH,
6828            sound_formatP: *mut AEGP_SoundDataFormat,
6829        ) -> A_Err,
6830    >,
6831    pub AEGP_LockSoundDataSamples: ::std::option::Option<
6832        unsafe extern "C" fn(
6833            soundH: AEGP_SoundDataH,
6834            samples: *mut *mut ::std::os::raw::c_void,
6835        ) -> A_Err,
6836    >,
6837    pub AEGP_UnlockSoundDataSamples:
6838        ::std::option::Option<unsafe extern "C" fn(soundH: AEGP_SoundDataH) -> A_Err>,
6839    pub AEGP_GetNumSamples: ::std::option::Option<
6840        unsafe extern "C" fn(soundH: AEGP_SoundDataH, num_samplesPL: *mut A_long) -> A_Err,
6841    >,
6842}
6843#[repr(C)]
6844#[derive(Debug, Copy, Clone)]
6845pub struct AEGP_DownsampleFactor {
6846    pub xS: A_short,
6847    pub yS: A_short,
6848}
6849pub const AEGP_CompFlag_SHOW_ALL_SHY: _bindgen_ty_115 = 1;
6850pub const AEGP_CompFlag_RESERVED_1: _bindgen_ty_115 = 2;
6851pub const AEGP_CompFlag_RESERVED_2: _bindgen_ty_115 = 4;
6852pub const AEGP_CompFlag_ENABLE_MOTION_BLUR: _bindgen_ty_115 = 8;
6853pub const AEGP_CompFlag_ENABLE_TIME_FILTER: _bindgen_ty_115 = 16;
6854pub const AEGP_CompFlag_GRID_TO_FRAMES: _bindgen_ty_115 = 32;
6855pub const AEGP_CompFlag_GRID_TO_FIELDS: _bindgen_ty_115 = 64;
6856pub const AEGP_CompFlag_USE_LOCAL_DSF: _bindgen_ty_115 = 128;
6857pub const AEGP_CompFlag_DRAFT_3D: _bindgen_ty_115 = 256;
6858pub const AEGP_CompFlag_SHOW_GRAPH: _bindgen_ty_115 = 512;
6859pub const AEGP_CompFlag_RESERVED_3: _bindgen_ty_115 = 1024;
6860pub type _bindgen_ty_115 = ::std::os::raw::c_uint;
6861pub type AEGP_CompFlags = A_long;
6862#[repr(C)]
6863#[derive(Debug, Copy, Clone)]
6864pub struct AEGP_CompSuite11 {
6865    pub AEGP_GetCompFromItem: ::std::option::Option<
6866        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
6867    >,
6868    pub AEGP_GetItemFromComp: ::std::option::Option<
6869        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
6870    >,
6871    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
6872        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
6873    >,
6874    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
6875        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
6876    >,
6877    pub AEGP_GetCompBGColor: ::std::option::Option<
6878        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
6879    >,
6880    pub AEGP_SetCompBGColor: ::std::option::Option<
6881        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
6882    >,
6883    pub AEGP_GetCompFlags: ::std::option::Option<
6884        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
6885    >,
6886    pub AEGP_GetShowLayerNameOrSourceName: ::std::option::Option<
6887        unsafe extern "C" fn(compH: AEGP_CompH, layer_names_shownPB: *mut A_Boolean) -> A_Err,
6888    >,
6889    pub AEGP_SetShowLayerNameOrSourceName: ::std::option::Option<
6890        unsafe extern "C" fn(compH: AEGP_CompH, show_layer_namesB: A_Boolean) -> A_Err,
6891    >,
6892    pub AEGP_GetShowBlendModes: ::std::option::Option<
6893        unsafe extern "C" fn(compH: AEGP_CompH, blend_modes_shownPB: *mut A_Boolean) -> A_Err,
6894    >,
6895    pub AEGP_SetShowBlendModes: ::std::option::Option<
6896        unsafe extern "C" fn(compH: AEGP_CompH, show_blend_modesB: A_Boolean) -> A_Err,
6897    >,
6898    pub AEGP_GetCompFramerate: ::std::option::Option<
6899        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
6900    >,
6901    pub AEGP_SetCompFrameRate: ::std::option::Option<
6902        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
6903    >,
6904    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
6905        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
6906    >,
6907    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
6908        unsafe extern "C" fn(
6909            compH: AEGP_CompH,
6910            comp_timeP: *const A_Time,
6911            start: *mut A_Time,
6912            duration: *mut A_Time,
6913        ) -> A_Err,
6914    >,
6915    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
6916        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
6917    >,
6918    pub AEGP_SetCompSuggestedMotionBlurSamples:
6919        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
6920    pub AEGP_GetCompMotionBlurAdaptiveSampleLimit: ::std::option::Option<
6921        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
6922    >,
6923    pub AEGP_SetCompMotionBlurAdaptiveSampleLimit:
6924        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
6925    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
6926        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
6927    >,
6928    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
6929        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
6930    >,
6931    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
6932        unsafe extern "C" fn(
6933            compH: AEGP_CompH,
6934            work_area_startPT: *const A_Time,
6935            work_area_durationPT: *const A_Time,
6936        ) -> A_Err,
6937    >,
6938    pub AEGP_CreateSolidInComp: ::std::option::Option<
6939        unsafe extern "C" fn(
6940            utf_nameZ: *const A_UTF16Char,
6941            width: A_long,
6942            height: A_long,
6943            color: *const AEGP_ColorVal,
6944            parent_compH: AEGP_CompH,
6945            durationPT0: *const A_Time,
6946            new_solidPH: *mut AEGP_LayerH,
6947        ) -> A_Err,
6948    >,
6949    pub AEGP_CreateCameraInComp: ::std::option::Option<
6950        unsafe extern "C" fn(
6951            utf_nameZ: *const A_UTF16Char,
6952            center_point: A_FloatPoint,
6953            parent_compH: AEGP_CompH,
6954            new_cameraPH: *mut AEGP_LayerH,
6955        ) -> A_Err,
6956    >,
6957    pub AEGP_CreateLightInComp: ::std::option::Option<
6958        unsafe extern "C" fn(
6959            utf_nameZ: *const A_UTF16Char,
6960            center_point: A_FloatPoint,
6961            parent_compH: AEGP_CompH,
6962            new_lightPH: *mut AEGP_LayerH,
6963        ) -> A_Err,
6964    >,
6965    pub AEGP_CreateComp: ::std::option::Option<
6966        unsafe extern "C" fn(
6967            parent_folderH0: AEGP_ItemH,
6968            utf_nameZ: *const A_UTF16Char,
6969            widthL: A_long,
6970            heightL: A_long,
6971            pixel_aspect_ratioPRt: *const A_Ratio,
6972            durationPT: *const A_Time,
6973            frameratePRt: *const A_Ratio,
6974            new_compPH: *mut AEGP_CompH,
6975        ) -> A_Err,
6976    >,
6977    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
6978        unsafe extern "C" fn(
6979            plugin_id: AEGP_PluginID,
6980            compH: AEGP_CompH,
6981            collectionPH: *mut AEGP_Collection2H,
6982        ) -> A_Err,
6983    >,
6984    pub AEGP_SetSelection: ::std::option::Option<
6985        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
6986    >,
6987    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
6988        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
6989    >,
6990    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
6991        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
6992    >,
6993    pub AEGP_SetCompDuration: ::std::option::Option<
6994        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
6995    >,
6996    pub AEGP_CreateNullInComp: ::std::option::Option<
6997        unsafe extern "C" fn(
6998            utf_nameZ: *const A_UTF16Char,
6999            parent_compH: AEGP_CompH,
7000            durationPT0: *const A_Time,
7001            new_null_solidPH: *mut AEGP_LayerH,
7002        ) -> A_Err,
7003    >,
7004    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
7005        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
7006    >,
7007    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
7008        unsafe extern "C" fn(
7009            parent_compH: AEGP_CompH,
7010            select_new_layerB: A_Boolean,
7011            new_text_layerPH: *mut AEGP_LayerH,
7012        ) -> A_Err,
7013    >,
7014    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
7015        unsafe extern "C" fn(
7016            parent_compH: AEGP_CompH,
7017            select_new_layerB: A_Boolean,
7018            box_dimensions: A_FloatPoint,
7019            new_text_layerPH: *mut AEGP_LayerH,
7020        ) -> A_Err,
7021    >,
7022    pub AEGP_SetCompDimensions: ::std::option::Option<
7023        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
7024    >,
7025    pub AEGP_DuplicateComp: ::std::option::Option<
7026        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
7027    >,
7028    pub AEGP_GetCompFrameDuration:
7029        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
7030    pub AEGP_GetMostRecentlyUsedComp:
7031        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
7032    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
7033        unsafe extern "C" fn(
7034            parent_compH: AEGP_CompH,
7035            new_vector_layerPH: *mut AEGP_LayerH,
7036        ) -> A_Err,
7037    >,
7038    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
7039        unsafe extern "C" fn(
7040            aegp_plugin_id: AEGP_PluginID,
7041            parent_compH: AEGP_CompH,
7042            streamPH: *mut AEGP_StreamRefH,
7043        ) -> A_Err,
7044    >,
7045    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
7046        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
7047    >,
7048    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
7049        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
7050    >,
7051    pub AEGP_ReorderCompSelection:
7052        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, index: A_long) -> A_Err>,
7053}
7054pub const AEGP_MemFlag_NONE: _bindgen_ty_116 = 0;
7055pub const AEGP_MemFlag_CLEAR: _bindgen_ty_116 = 1;
7056pub const AEGP_MemFlag_QUIET: _bindgen_ty_116 = 2;
7057pub type _bindgen_ty_116 = ::std::os::raw::c_uint;
7058pub type AEGP_MemFlag = A_long;
7059pub type AEGP_MemSize = A_u_long;
7060#[repr(C)]
7061#[derive(Debug, Copy, Clone)]
7062pub struct AEGP_MemorySuite1 {
7063    pub AEGP_NewMemHandle: ::std::option::Option<
7064        unsafe extern "C" fn(
7065            plugin_id: AEGP_PluginID,
7066            whatZ: *const A_char,
7067            size: AEGP_MemSize,
7068            flags: AEGP_MemFlag,
7069            memPH: *mut AEGP_MemHandle,
7070        ) -> A_Err,
7071    >,
7072    pub AEGP_FreeMemHandle:
7073        ::std::option::Option<unsafe extern "C" fn(memH: AEGP_MemHandle) -> A_Err>,
7074    pub AEGP_LockMemHandle: ::std::option::Option<
7075        unsafe extern "C" fn(
7076            memH: AEGP_MemHandle,
7077            ptr_to_ptr: *mut *mut ::std::os::raw::c_void,
7078        ) -> A_Err,
7079    >,
7080    pub AEGP_UnlockMemHandle:
7081        ::std::option::Option<unsafe extern "C" fn(memH: AEGP_MemHandle) -> A_Err>,
7082    pub AEGP_GetMemHandleSize: ::std::option::Option<
7083        unsafe extern "C" fn(memH: AEGP_MemHandle, sizeP: *mut AEGP_MemSize) -> A_Err,
7084    >,
7085    pub AEGP_ResizeMemHandle: ::std::option::Option<
7086        unsafe extern "C" fn(
7087            whatZ: *const A_char,
7088            new_size: AEGP_MemSize,
7089            memH: AEGP_MemHandle,
7090        ) -> A_Err,
7091    >,
7092    pub AEGP_SetMemReportingOn:
7093        ::std::option::Option<unsafe extern "C" fn(turn_OnB: A_Boolean) -> A_Err>,
7094    pub AEGP_GetMemStats: ::std::option::Option<
7095        unsafe extern "C" fn(
7096            plugin_id: AEGP_PluginID,
7097            countPL: *mut A_long,
7098            sizePL: *mut A_long,
7099        ) -> A_Err,
7100    >,
7101}
7102pub const AEGP_TransferFlag_PRESERVE_ALPHA: _bindgen_ty_117 = 1;
7103pub const AEGP_TransferFlag_RANDOMIZE_DISSOLVE: _bindgen_ty_117 = 2;
7104pub type _bindgen_ty_117 = ::std::os::raw::c_uint;
7105pub type AEGP_TransferFlags = A_long;
7106pub const AEGP_TrackMatte_NO_TRACK_MATTE: _bindgen_ty_118 = 0;
7107pub const AEGP_TrackMatte_ALPHA: _bindgen_ty_118 = 1;
7108pub const AEGP_TrackMatte_NOT_ALPHA: _bindgen_ty_118 = 2;
7109pub const AEGP_TrackMatte_LUMA: _bindgen_ty_118 = 3;
7110pub const AEGP_TrackMatte_NOT_LUMA: _bindgen_ty_118 = 4;
7111pub type _bindgen_ty_118 = ::std::os::raw::c_uint;
7112pub type AEGP_TrackMatte = A_long;
7113#[repr(C)]
7114#[derive(Debug, Copy, Clone)]
7115pub struct AEGP_LayerTransferMode {
7116    pub mode: PF_TransferMode,
7117    pub flags: AEGP_TransferFlags,
7118    pub track_matte: AEGP_TrackMatte,
7119}
7120pub const AEGP_LayerQual_NONE: _bindgen_ty_119 = -1;
7121pub const AEGP_LayerQual_WIREFRAME: _bindgen_ty_119 = 0;
7122pub const AEGP_LayerQual_DRAFT: _bindgen_ty_119 = 1;
7123pub const AEGP_LayerQual_BEST: _bindgen_ty_119 = 2;
7124pub type _bindgen_ty_119 = ::std::os::raw::c_int;
7125pub type AEGP_LayerQuality = A_short;
7126pub const AEGP_LayerSamplingQual_BILINEAR: _bindgen_ty_120 = 0;
7127pub const AEGP_LayerSamplingQual_BICUBIC: _bindgen_ty_120 = 1;
7128pub type _bindgen_ty_120 = ::std::os::raw::c_uint;
7129pub type AEGP_LayerSamplingQuality = A_short;
7130pub const AEGP_LayerFlag_NONE: _bindgen_ty_121 = 0;
7131pub const AEGP_LayerFlag_VIDEO_ACTIVE: _bindgen_ty_121 = 1;
7132pub const AEGP_LayerFlag_AUDIO_ACTIVE: _bindgen_ty_121 = 2;
7133pub const AEGP_LayerFlag_EFFECTS_ACTIVE: _bindgen_ty_121 = 4;
7134pub const AEGP_LayerFlag_MOTION_BLUR: _bindgen_ty_121 = 8;
7135pub const AEGP_LayerFlag_FRAME_BLENDING: _bindgen_ty_121 = 16;
7136pub const AEGP_LayerFlag_LOCKED: _bindgen_ty_121 = 32;
7137pub const AEGP_LayerFlag_SHY: _bindgen_ty_121 = 64;
7138pub const AEGP_LayerFlag_COLLAPSE: _bindgen_ty_121 = 128;
7139pub const AEGP_LayerFlag_AUTO_ORIENT_ROTATION: _bindgen_ty_121 = 256;
7140pub const AEGP_LayerFlag_ADJUSTMENT_LAYER: _bindgen_ty_121 = 512;
7141pub const AEGP_LayerFlag_TIME_REMAPPING: _bindgen_ty_121 = 1024;
7142pub const AEGP_LayerFlag_LAYER_IS_3D: _bindgen_ty_121 = 2048;
7143pub const AEGP_LayerFlag_LOOK_AT_CAMERA: _bindgen_ty_121 = 4096;
7144pub const AEGP_LayerFlag_LOOK_AT_POI: _bindgen_ty_121 = 8192;
7145pub const AEGP_LayerFlag_SOLO: _bindgen_ty_121 = 16384;
7146pub const AEGP_LayerFlag_MARKERS_LOCKED: _bindgen_ty_121 = 32768;
7147pub const AEGP_LayerFlag_NULL_LAYER: _bindgen_ty_121 = 65536;
7148pub const AEGP_LayerFlag_HIDE_LOCKED_MASKS: _bindgen_ty_121 = 131072;
7149pub const AEGP_LayerFlag_GUIDE_LAYER: _bindgen_ty_121 = 262144;
7150pub const AEGP_LayerFlag_ADVANCED_FRAME_BLENDING: _bindgen_ty_121 = 524288;
7151pub const AEGP_LayerFlag_SUBLAYERS_RENDER_SEPARATELY: _bindgen_ty_121 = 1048576;
7152pub const AEGP_LayerFlag_ENVIRONMENT_LAYER: _bindgen_ty_121 = 2097152;
7153pub type _bindgen_ty_121 = ::std::os::raw::c_uint;
7154pub type AEGP_LayerFlags = A_long;
7155pub const AEGP_ObjectType_NONE: _bindgen_ty_122 = -1;
7156pub const AEGP_ObjectType_AV: _bindgen_ty_122 = 0;
7157pub const AEGP_ObjectType_LIGHT: _bindgen_ty_122 = 1;
7158pub const AEGP_ObjectType_CAMERA: _bindgen_ty_122 = 2;
7159pub const AEGP_ObjectType_TEXT: _bindgen_ty_122 = 3;
7160pub const AEGP_ObjectType_VECTOR: _bindgen_ty_122 = 4;
7161pub const AEGP_ObjectType_RESERVED1: _bindgen_ty_122 = 5;
7162pub const AEGP_ObjectType_RESERVED2: _bindgen_ty_122 = 6;
7163pub const AEGP_ObjectType_RESERVED3: _bindgen_ty_122 = 7;
7164pub const AEGP_ObjectType_RESERVED4: _bindgen_ty_122 = 8;
7165pub const AEGP_ObjectType_RESERVED5: _bindgen_ty_122 = 9;
7166pub const AEGP_ObjectType_NUM_TYPES: _bindgen_ty_122 = 10;
7167pub type _bindgen_ty_122 = ::std::os::raw::c_int;
7168pub type AEGP_ObjectType = A_long;
7169pub const AEGP_LTimeMode_LayerTime: _bindgen_ty_123 = 0;
7170pub const AEGP_LTimeMode_CompTime: _bindgen_ty_123 = 1;
7171pub type _bindgen_ty_123 = ::std::os::raw::c_uint;
7172pub type AEGP_LTimeMode = A_short;
7173#[repr(C)]
7174#[derive(Debug, Copy, Clone)]
7175pub struct AEGP_LayerSuite9 {
7176    pub AEGP_GetCompNumLayers: ::std::option::Option<
7177        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
7178    >,
7179    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
7180        unsafe extern "C" fn(
7181            compH: AEGP_CompH,
7182            layer_indexL: A_long,
7183            layerPH: *mut AEGP_LayerH,
7184        ) -> A_Err,
7185    >,
7186    pub AEGP_GetActiveLayer:
7187        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
7188    pub AEGP_GetLayerIndex: ::std::option::Option<
7189        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
7190    >,
7191    pub AEGP_GetLayerSourceItem: ::std::option::Option<
7192        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
7193    >,
7194    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
7195        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
7196    >,
7197    pub AEGP_GetLayerParentComp: ::std::option::Option<
7198        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
7199    >,
7200    pub AEGP_GetLayerName: ::std::option::Option<
7201        unsafe extern "C" fn(
7202            pluginID: AEGP_PluginID,
7203            layerH: AEGP_LayerH,
7204            utf_layer_namePH0: *mut AEGP_MemHandle,
7205            utf_source_namePH0: *mut AEGP_MemHandle,
7206        ) -> A_Err,
7207    >,
7208    pub AEGP_GetLayerQuality: ::std::option::Option<
7209        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
7210    >,
7211    pub AEGP_SetLayerQuality: ::std::option::Option<
7212        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
7213    >,
7214    pub AEGP_GetLayerFlags: ::std::option::Option<
7215        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
7216    >,
7217    pub AEGP_SetLayerFlag: ::std::option::Option<
7218        unsafe extern "C" fn(
7219            layerH: AEGP_LayerH,
7220            single_flag: AEGP_LayerFlags,
7221            valueB: A_Boolean,
7222        ) -> A_Err,
7223    >,
7224    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
7225        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
7226    >,
7227    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
7228        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
7229    >,
7230    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
7231        unsafe extern "C" fn(
7232            layerH: AEGP_LayerH,
7233            time_mode: AEGP_LTimeMode,
7234            curr_timePT: *mut A_Time,
7235        ) -> A_Err,
7236    >,
7237    pub AEGP_GetLayerInPoint: ::std::option::Option<
7238        unsafe extern "C" fn(
7239            layerH: AEGP_LayerH,
7240            time_mode: AEGP_LTimeMode,
7241            in_pointPT: *mut A_Time,
7242        ) -> A_Err,
7243    >,
7244    pub AEGP_GetLayerDuration: ::std::option::Option<
7245        unsafe extern "C" fn(
7246            layerH: AEGP_LayerH,
7247            time_mode: AEGP_LTimeMode,
7248            durationPT: *mut A_Time,
7249        ) -> A_Err,
7250    >,
7251    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
7252        unsafe extern "C" fn(
7253            layerH: AEGP_LayerH,
7254            time_mode: AEGP_LTimeMode,
7255            in_pointPT: *const A_Time,
7256            durationPT: *const A_Time,
7257        ) -> A_Err,
7258    >,
7259    pub AEGP_GetLayerOffset: ::std::option::Option<
7260        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
7261    >,
7262    pub AEGP_SetLayerOffset: ::std::option::Option<
7263        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
7264    >,
7265    pub AEGP_GetLayerStretch: ::std::option::Option<
7266        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
7267    >,
7268    pub AEGP_SetLayerStretch: ::std::option::Option<
7269        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
7270    >,
7271    pub AEGP_GetLayerTransferMode: ::std::option::Option<
7272        unsafe extern "C" fn(
7273            layerH: AEGP_LayerH,
7274            transfer_modeP: *mut AEGP_LayerTransferMode,
7275        ) -> A_Err,
7276    >,
7277    pub AEGP_SetLayerTransferMode: ::std::option::Option<
7278        unsafe extern "C" fn(
7279            layerH: AEGP_LayerH,
7280            transfer_modeP: *const AEGP_LayerTransferMode,
7281        ) -> A_Err,
7282    >,
7283    pub AEGP_IsAddLayerValid: ::std::option::Option<
7284        unsafe extern "C" fn(
7285            item_to_addH: AEGP_ItemH,
7286            into_compH: AEGP_CompH,
7287            validPB: *mut A_Boolean,
7288        ) -> A_Err,
7289    >,
7290    pub AEGP_AddLayer: ::std::option::Option<
7291        unsafe extern "C" fn(
7292            item_to_addH: AEGP_ItemH,
7293            into_compH: AEGP_CompH,
7294            added_layerPH0: *mut AEGP_LayerH,
7295        ) -> A_Err,
7296    >,
7297    pub AEGP_ReorderLayer: ::std::option::Option<
7298        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
7299    >,
7300    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
7301        unsafe extern "C" fn(
7302            layerH: AEGP_LayerH,
7303            time_mode: AEGP_LTimeMode,
7304            timePT: *const A_Time,
7305            boundsPR: *mut A_FloatRect,
7306        ) -> A_Err,
7307    >,
7308    pub AEGP_GetLayerObjectType: ::std::option::Option<
7309        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
7310    >,
7311    pub AEGP_IsLayer3D: ::std::option::Option<
7312        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
7313    >,
7314    pub AEGP_IsLayer2D: ::std::option::Option<
7315        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
7316    >,
7317    pub AEGP_IsVideoActive: ::std::option::Option<
7318        unsafe extern "C" fn(
7319            layerH: AEGP_LayerH,
7320            time_mode: AEGP_LTimeMode,
7321            timePT: *const A_Time,
7322            is_activePB: *mut A_Boolean,
7323        ) -> A_Err,
7324    >,
7325    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
7326        unsafe extern "C" fn(
7327            layerH: AEGP_LayerH,
7328            fill_must_be_activeB: A_Boolean,
7329            is_track_mattePB: *mut A_Boolean,
7330        ) -> A_Err,
7331    >,
7332    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
7333        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
7334    >,
7335    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
7336        unsafe extern "C" fn(
7337            layerH: AEGP_LayerH,
7338            comp_timePT: *const A_Time,
7339            layer_timePT: *mut A_Time,
7340        ) -> A_Err,
7341    >,
7342    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
7343        unsafe extern "C" fn(
7344            layerH: AEGP_LayerH,
7345            layer_timePT: *const A_Time,
7346            comp_timePT: *mut A_Time,
7347        ) -> A_Err,
7348    >,
7349    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
7350        unsafe extern "C" fn(
7351            layerH: AEGP_LayerH,
7352            comp_timePT: *const A_Time,
7353            rand_valuePL: *mut A_long,
7354        ) -> A_Err,
7355    >,
7356    pub AEGP_GetLayerID: ::std::option::Option<
7357        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
7358    >,
7359    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
7360        unsafe extern "C" fn(
7361            aegp_layerH: AEGP_LayerH,
7362            comp_timeP: *const A_Time,
7363            transform: *mut A_Matrix4,
7364        ) -> A_Err,
7365    >,
7366    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
7367        unsafe extern "C" fn(
7368            aegp_layerH: AEGP_LayerH,
7369            view_timeP: *const A_Time,
7370            comp_timeP: *const A_Time,
7371            transform: *mut A_Matrix4,
7372        ) -> A_Err,
7373    >,
7374    pub AEGP_SetLayerName: ::std::option::Option<
7375        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
7376    >,
7377    pub AEGP_GetLayerParent: ::std::option::Option<
7378        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
7379    >,
7380    pub AEGP_SetLayerParent: ::std::option::Option<
7381        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
7382    >,
7383    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
7384    pub AEGP_DuplicateLayer: ::std::option::Option<
7385        unsafe extern "C" fn(
7386            orig_layerH: AEGP_LayerH,
7387            duplicate_layerPH: *mut AEGP_LayerH,
7388        ) -> A_Err,
7389    >,
7390    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
7391        unsafe extern "C" fn(
7392            parent_compH: AEGP_CompH,
7393            id: AEGP_LayerIDVal,
7394            layerPH: *mut AEGP_LayerH,
7395        ) -> A_Err,
7396    >,
7397    pub AEGP_GetLayerLabel: ::std::option::Option<
7398        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
7399    >,
7400    pub AEGP_SetLayerLabel: ::std::option::Option<
7401        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
7402    >,
7403    pub AEGP_GetLayerSamplingQuality: ::std::option::Option<
7404        unsafe extern "C" fn(
7405            layerH: AEGP_LayerH,
7406            qualityP: *mut AEGP_LayerSamplingQuality,
7407        ) -> A_Err,
7408    >,
7409    pub AEGP_SetLayerSamplingQuality: ::std::option::Option<
7410        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerSamplingQuality) -> A_Err,
7411    >,
7412    pub AEGP_GetTrackMatteLayer: ::std::option::Option<
7413        unsafe extern "C" fn(layerH: AEGP_LayerH, track_matte_layerPH: *mut AEGP_LayerH) -> A_Err,
7414    >,
7415    pub AEGP_SetTrackMatte: ::std::option::Option<
7416        unsafe extern "C" fn(
7417            layerH: AEGP_LayerH,
7418            track_matte_layerH0: AEGP_LayerH,
7419            track_matte_type: AEGP_TrackMatte,
7420        ) -> A_Err,
7421    >,
7422    pub AEGP_RemoveTrackMatte:
7423        ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
7424}
7425pub const AEGP_LayerStream_NONE: _bindgen_ty_124 = -1;
7426pub const AEGP_LayerStream_ANCHORPOINT: _bindgen_ty_124 = 0;
7427pub const AEGP_LayerStream_POSITION: _bindgen_ty_124 = 1;
7428pub const AEGP_LayerStream_SCALE: _bindgen_ty_124 = 2;
7429pub const AEGP_LayerStream_ROTATION: _bindgen_ty_124 = 3;
7430pub const AEGP_LayerStream_ROTATE_Z: _bindgen_ty_124 = 3;
7431pub const AEGP_LayerStream_OPACITY: _bindgen_ty_124 = 4;
7432pub const AEGP_LayerStream_AUDIO: _bindgen_ty_124 = 5;
7433pub const AEGP_LayerStream_MARKER: _bindgen_ty_124 = 6;
7434pub const AEGP_LayerStream_TIME_REMAP: _bindgen_ty_124 = 7;
7435pub const AEGP_LayerStream_ROTATE_X: _bindgen_ty_124 = 8;
7436pub const AEGP_LayerStream_ROTATE_Y: _bindgen_ty_124 = 9;
7437pub const AEGP_LayerStream_ORIENTATION: _bindgen_ty_124 = 10;
7438pub const AEGP_LayerStream_ZOOM: _bindgen_ty_124 = 11;
7439pub const AEGP_LayerStream_DEPTH_OF_FIELD: _bindgen_ty_124 = 12;
7440pub const AEGP_LayerStream_FOCUS_DISTANCE: _bindgen_ty_124 = 13;
7441pub const AEGP_LayerStream_APERTURE: _bindgen_ty_124 = 14;
7442pub const AEGP_LayerStream_BLUR_LEVEL: _bindgen_ty_124 = 15;
7443pub const AEGP_LayerStream_INTENSITY: _bindgen_ty_124 = 16;
7444pub const AEGP_LayerStream_COLOR: _bindgen_ty_124 = 17;
7445pub const AEGP_LayerStream_CONE_ANGLE: _bindgen_ty_124 = 18;
7446pub const AEGP_LayerStream_CONE_FEATHER: _bindgen_ty_124 = 19;
7447pub const AEGP_LayerStream_SHADOW_DARKNESS: _bindgen_ty_124 = 20;
7448pub const AEGP_LayerStream_SHADOW_DIFFUSION: _bindgen_ty_124 = 21;
7449pub const AEGP_LayerStream_ACCEPTS_SHADOWS: _bindgen_ty_124 = 22;
7450pub const AEGP_LayerStream_ACCEPTS_LIGHTS: _bindgen_ty_124 = 23;
7451pub const AEGP_LayerStream_AMBIENT_COEFF: _bindgen_ty_124 = 24;
7452pub const AEGP_LayerStream_DIFFUSE_COEFF: _bindgen_ty_124 = 25;
7453pub const AEGP_LayerStream_SPECULAR_INTENSITY: _bindgen_ty_124 = 26;
7454pub const AEGP_LayerStream_SPECULAR_SHININESS: _bindgen_ty_124 = 27;
7455pub const AEGP_LayerStream_CASTS_SHADOWS: _bindgen_ty_124 = 28;
7456pub const AEGP_LayerStream_LIGHT_TRANSMISSION: _bindgen_ty_124 = 29;
7457pub const AEGP_LayerStream_METAL: _bindgen_ty_124 = 30;
7458pub const AEGP_LayerStream_SOURCE_TEXT: _bindgen_ty_124 = 31;
7459pub const AEGP_LayerStream_IRIS_SHAPE: _bindgen_ty_124 = 32;
7460pub const AEGP_LayerStream_IRIS_ROTATION: _bindgen_ty_124 = 33;
7461pub const AEGP_LayerStream_IRIS_ROUNDNESS: _bindgen_ty_124 = 34;
7462pub const AEGP_LayerStream_IRIS_ASPECT_RATIO: _bindgen_ty_124 = 35;
7463pub const AEGP_LayerStream_IRIS_DIFFRACTION_FRINGE: _bindgen_ty_124 = 36;
7464pub const AEGP_LayerStream_IRIS_HIGHLIGHT_GAIN: _bindgen_ty_124 = 37;
7465pub const AEGP_LayerStream_IRIS_HIGHLIGHT_THRESHOLD: _bindgen_ty_124 = 38;
7466pub const AEGP_LayerStream_IRIS_HIGHLIGHT_SATURATION: _bindgen_ty_124 = 39;
7467pub const AEGP_LayerStream_LIGHT_FALLOFF_TYPE: _bindgen_ty_124 = 40;
7468pub const AEGP_LayerStream_LIGHT_FALLOFF_START: _bindgen_ty_124 = 41;
7469pub const AEGP_LayerStream_LIGHT_FALLOFF_DISTANCE: _bindgen_ty_124 = 42;
7470pub const AEGP_LayerStream_REFLECTION_INTENSITY: _bindgen_ty_124 = 43;
7471pub const AEGP_LayerStream_REFLECTION_SHARPNESS: _bindgen_ty_124 = 44;
7472pub const AEGP_LayerStream_REFLECTION_ROLLOFF: _bindgen_ty_124 = 45;
7473pub const AEGP_LayerStream_TRANSPARENCY_COEFF: _bindgen_ty_124 = 46;
7474pub const AEGP_LayerStream_TRANSPARENCY_ROLLOFF: _bindgen_ty_124 = 47;
7475pub const AEGP_LayerStream_INDEX_OF_REFRACTION: _bindgen_ty_124 = 48;
7476pub const AEGP_LayerStream_EXTRUSION_BEVEL_STYLE: _bindgen_ty_124 = 49;
7477pub const AEGP_LayerStream_EXTRUSION_BEVEL_DIRECTION: _bindgen_ty_124 = 50;
7478pub const AEGP_LayerStream_EXTRUSION_BEVEL_DEPTH: _bindgen_ty_124 = 51;
7479pub const AEGP_LayerStream_EXTRUSION_HOLE_BEVEL_DEPTH: _bindgen_ty_124 = 52;
7480pub const AEGP_LayerStream_EXTRUSION_DEPTH: _bindgen_ty_124 = 53;
7481pub const AEGP_LayerStream_PLANE_CURVATURE: _bindgen_ty_124 = 54;
7482pub const AEGP_LayerStream_PLANE_SUBDIVISION: _bindgen_ty_124 = 55;
7483pub const AEGP_LayerStream_NUMTYPES: _bindgen_ty_124 = 56;
7484pub const AEGP_LayerStream_BEGIN: _bindgen_ty_124 = 0;
7485pub const AEGP_LayerStream_END: _bindgen_ty_124 = 56;
7486pub type _bindgen_ty_124 = ::std::os::raw::c_int;
7487pub type AEGP_LayerStream = A_long;
7488pub const AEGP_MaskStream_OUTLINE: _bindgen_ty_125 = 400;
7489pub const AEGP_MaskStream_OPACITY: _bindgen_ty_125 = 401;
7490pub const AEGP_MaskStream_FEATHER: _bindgen_ty_125 = 402;
7491pub const AEGP_MaskStream_EXPANSION: _bindgen_ty_125 = 403;
7492pub const AEGP_MaskStream_BEGIN: _bindgen_ty_125 = 400;
7493pub const AEGP_MaskStream_END: _bindgen_ty_125 = 404;
7494pub type _bindgen_ty_125 = ::std::os::raw::c_uint;
7495pub type AEGP_MaskStream = A_long;
7496pub const AEGP_StreamFlag_NONE: _bindgen_ty_126 = 0;
7497pub const AEGP_StreamFlag_HAS_MIN: _bindgen_ty_126 = 1;
7498pub const AEGP_StreamFlag_HAS_MAX: _bindgen_ty_126 = 2;
7499pub const AEGP_StreamFlag_IS_SPATIAL: _bindgen_ty_126 = 4;
7500pub type _bindgen_ty_126 = ::std::os::raw::c_uint;
7501pub type AEGP_StreamFlags = A_long;
7502pub type AEGP_OneDVal = A_FpLong;
7503#[repr(C)]
7504#[derive(Debug, Copy, Clone)]
7505pub struct AEGP_TwoDVal {
7506    pub x: A_FpLong,
7507    pub y: A_FpLong,
7508}
7509#[repr(C)]
7510#[derive(Debug, Copy, Clone)]
7511pub struct AEGP_ThreeDVal {
7512    pub x: A_FpLong,
7513    pub y: A_FpLong,
7514    pub z: A_FpLong,
7515}
7516pub type AEGP_FourDVal = [A_FpLong; 4usize];
7517pub type AEGP_ArbBlockVal = A_Handle;
7518pub const AEGP_KeyInterp_NONE: _bindgen_ty_127 = 0;
7519pub const AEGP_KeyInterp_LINEAR: _bindgen_ty_127 = 1;
7520pub const AEGP_KeyInterp_BEZIER: _bindgen_ty_127 = 2;
7521pub const AEGP_KeyInterp_HOLD: _bindgen_ty_127 = 3;
7522pub const AEGP_Interp_NUM_VALUES: _bindgen_ty_127 = 4;
7523pub type _bindgen_ty_127 = ::std::os::raw::c_uint;
7524pub type AEGP_KeyframeInterpolationType = A_long;
7525pub const AEGP_KeyInterpMask_NONE: _bindgen_ty_128 = 0;
7526pub const AEGP_KeyInterpMask_LINEAR: _bindgen_ty_128 = 1;
7527pub const AEGP_KeyInterpMask_BEZIER: _bindgen_ty_128 = 2;
7528pub const AEGP_KeyInterpMask_HOLD: _bindgen_ty_128 = 4;
7529pub const AEGP_KeyInterpMask_CUSTOM: _bindgen_ty_128 = 8;
7530pub const AEGP_KeyInterpMask_ANY: _bindgen_ty_128 = 65535;
7531pub type _bindgen_ty_128 = ::std::os::raw::c_uint;
7532pub type AEGP_KeyInterpolationMask = A_long;
7533#[repr(C)]
7534#[derive(Debug, Copy, Clone)]
7535pub struct AEGP_KeyframeEase {
7536    pub speedF: A_FpLong,
7537    pub influenceF: A_FpLong,
7538}
7539#[repr(C)]
7540#[derive(Copy, Clone)]
7541pub union AEGP_StreamVal2 {
7542    pub four_d: AEGP_FourDVal,
7543    pub three_d: AEGP_ThreeDVal,
7544    pub two_d: AEGP_TwoDVal,
7545    pub one_d: AEGP_OneDVal,
7546    pub color: AEGP_ColorVal,
7547    pub arbH: AEGP_ArbBlockVal,
7548    pub markerP: AEGP_MarkerValP,
7549    pub layer_id: AEGP_LayerIDVal,
7550    pub mask_id: AEGP_MaskIDVal,
7551    pub mask: AEGP_MaskOutlineValH,
7552    pub text_documentH: AEGP_TextDocumentH,
7553}
7554#[repr(C)]
7555#[derive(Copy, Clone)]
7556pub struct AEGP_StreamValue2 {
7557    pub streamH: AEGP_StreamRefH,
7558    pub val: AEGP_StreamVal2,
7559}
7560pub const AEGP_StreamType_NO_DATA: _bindgen_ty_129 = 0;
7561pub const AEGP_StreamType_ThreeD_SPATIAL: _bindgen_ty_129 = 1;
7562pub const AEGP_StreamType_ThreeD: _bindgen_ty_129 = 2;
7563pub const AEGP_StreamType_TwoD_SPATIAL: _bindgen_ty_129 = 3;
7564pub const AEGP_StreamType_TwoD: _bindgen_ty_129 = 4;
7565pub const AEGP_StreamType_OneD: _bindgen_ty_129 = 5;
7566pub const AEGP_StreamType_COLOR: _bindgen_ty_129 = 6;
7567pub const AEGP_StreamType_ARB: _bindgen_ty_129 = 7;
7568pub const AEGP_StreamType_MARKER: _bindgen_ty_129 = 8;
7569pub const AEGP_StreamType_LAYER_ID: _bindgen_ty_129 = 9;
7570pub const AEGP_StreamType_MASK_ID: _bindgen_ty_129 = 10;
7571pub const AEGP_StreamType_MASK: _bindgen_ty_129 = 11;
7572pub const AEGP_StreamType_TEXT_DOCUMENT: _bindgen_ty_129 = 12;
7573pub type _bindgen_ty_129 = ::std::os::raw::c_uint;
7574pub type AEGP_StreamType = A_long;
7575#[repr(C)]
7576#[derive(Debug, Copy, Clone)]
7577pub struct AEGP_StreamSuite6 {
7578    pub AEGP_IsStreamLegal: ::std::option::Option<
7579        unsafe extern "C" fn(
7580            layerH: AEGP_LayerH,
7581            which_stream: AEGP_LayerStream,
7582            is_legalP: *mut A_Boolean,
7583        ) -> A_Err,
7584    >,
7585    pub AEGP_CanVaryOverTime: ::std::option::Option<
7586        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
7587    >,
7588    pub AEGP_GetValidInterpolations: ::std::option::Option<
7589        unsafe extern "C" fn(
7590            streamH: AEGP_StreamRefH,
7591            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
7592        ) -> A_Err,
7593    >,
7594    pub AEGP_GetNewLayerStream: ::std::option::Option<
7595        unsafe extern "C" fn(
7596            aegp_plugin_id: AEGP_PluginID,
7597            layerH: AEGP_LayerH,
7598            which_stream: AEGP_LayerStream,
7599            streamPH: *mut AEGP_StreamRefH,
7600        ) -> A_Err,
7601    >,
7602    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
7603        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
7604    >,
7605    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
7606        unsafe extern "C" fn(
7607            aegp_plugin_id: AEGP_PluginID,
7608            effect_refH: AEGP_EffectRefH,
7609            param_index: PF_ParamIndex,
7610            streamPH: *mut AEGP_StreamRefH,
7611        ) -> A_Err,
7612    >,
7613    pub AEGP_GetNewMaskStream: ::std::option::Option<
7614        unsafe extern "C" fn(
7615            aegp_plugin_id: AEGP_PluginID,
7616            mask_refH: AEGP_MaskRefH,
7617            which_stream: AEGP_MaskStream,
7618            mask_streamPH: *mut AEGP_StreamRefH,
7619        ) -> A_Err,
7620    >,
7621    pub AEGP_DisposeStream:
7622        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
7623    pub AEGP_GetStreamName: ::std::option::Option<
7624        unsafe extern "C" fn(
7625            pluginID: AEGP_PluginID,
7626            streamH: AEGP_StreamRefH,
7627            force_englishB: A_Boolean,
7628            utf_stream_namePH: *mut AEGP_MemHandle,
7629        ) -> A_Err,
7630    >,
7631    pub AEGP_GetStreamUnitsText: ::std::option::Option<
7632        unsafe extern "C" fn(
7633            streamH: AEGP_StreamRefH,
7634            force_englishB: A_Boolean,
7635            unitsZ: *mut A_char,
7636        ) -> A_Err,
7637    >,
7638    pub AEGP_GetStreamProperties: ::std::option::Option<
7639        unsafe extern "C" fn(
7640            streamH: AEGP_StreamRefH,
7641            flagsP: *mut AEGP_StreamFlags,
7642            minP0: *mut A_FpLong,
7643            maxP0: *mut A_FpLong,
7644        ) -> A_Err,
7645    >,
7646    pub AEGP_IsStreamTimevarying: ::std::option::Option<
7647        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
7648    >,
7649    pub AEGP_GetStreamType: ::std::option::Option<
7650        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
7651    >,
7652    pub AEGP_GetNewStreamValue: ::std::option::Option<
7653        unsafe extern "C" fn(
7654            aegp_plugin_id: AEGP_PluginID,
7655            streamH: AEGP_StreamRefH,
7656            time_mode: AEGP_LTimeMode,
7657            timePT: *const A_Time,
7658            pre_expressionB: A_Boolean,
7659            valueP: *mut AEGP_StreamValue2,
7660        ) -> A_Err,
7661    >,
7662    pub AEGP_DisposeStreamValue:
7663        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
7664    pub AEGP_SetStreamValue: ::std::option::Option<
7665        unsafe extern "C" fn(
7666            aegp_plugin_id: AEGP_PluginID,
7667            streamH: AEGP_StreamRefH,
7668            valueP: *mut AEGP_StreamValue2,
7669        ) -> A_Err,
7670    >,
7671    pub AEGP_GetLayerStreamValue: ::std::option::Option<
7672        unsafe extern "C" fn(
7673            layerH: AEGP_LayerH,
7674            which_stream: AEGP_LayerStream,
7675            time_mode: AEGP_LTimeMode,
7676            timePT: *const A_Time,
7677            pre_expressionB: A_Boolean,
7678            stream_valP: *mut AEGP_StreamVal2,
7679            stream_typeP0: *mut AEGP_StreamType,
7680        ) -> A_Err,
7681    >,
7682    pub AEGP_GetExpressionState: ::std::option::Option<
7683        unsafe extern "C" fn(
7684            aegp_plugin_id: AEGP_PluginID,
7685            streamH: AEGP_StreamRefH,
7686            enabledPB: *mut A_Boolean,
7687        ) -> A_Err,
7688    >,
7689    pub AEGP_SetExpressionState: ::std::option::Option<
7690        unsafe extern "C" fn(
7691            aegp_plugin_id: AEGP_PluginID,
7692            streamH: AEGP_StreamRefH,
7693            enabledB: A_Boolean,
7694        ) -> A_Err,
7695    >,
7696    pub AEGP_GetExpression: ::std::option::Option<
7697        unsafe extern "C" fn(
7698            aegp_plugin_id: AEGP_PluginID,
7699            streamH: AEGP_StreamRefH,
7700            unicodeHZ: *mut AEGP_MemHandle,
7701        ) -> A_Err,
7702    >,
7703    pub AEGP_SetExpression: ::std::option::Option<
7704        unsafe extern "C" fn(
7705            aegp_plugin_id: AEGP_PluginID,
7706            streamH: AEGP_StreamRefH,
7707            expressionP: *const A_UTF16Char,
7708        ) -> A_Err,
7709    >,
7710    pub AEGP_DuplicateStreamRef: ::std::option::Option<
7711        unsafe extern "C" fn(
7712            aegp_plugin_id: AEGP_PluginID,
7713            streamH: AEGP_StreamRefH,
7714            dup_streamPH: *mut AEGP_StreamRefH,
7715        ) -> A_Err,
7716    >,
7717    pub AEGP_GetUniqueStreamID: ::std::option::Option<
7718        unsafe extern "C" fn(streamH: AEGP_StreamRefH, outID: *mut i32) -> A_Err,
7719    >,
7720}
7721pub const AEGP_StreamGroupingType_NONE: _bindgen_ty_130 = -1;
7722pub const AEGP_StreamGroupingType_LEAF: _bindgen_ty_130 = 0;
7723pub const AEGP_StreamGroupingType_NAMED_GROUP: _bindgen_ty_130 = 1;
7724pub const AEGP_StreamGroupingType_INDEXED_GROUP: _bindgen_ty_130 = 2;
7725pub type _bindgen_ty_130 = ::std::os::raw::c_int;
7726pub type AEGP_StreamGroupingType = A_long;
7727pub const AEGP_DynStreamFlag_ACTIVE_EYEBALL: _bindgen_ty_131 = 1;
7728pub const AEGP_DynStreamFlag_HIDDEN: _bindgen_ty_131 = 2;
7729pub const AEGP_DynStreamFlag_DISABLED: _bindgen_ty_131 = 16;
7730pub const AEGP_DynStreamFlag_ELIDED: _bindgen_ty_131 = 32;
7731pub const AEGP_DynStreamFlag_SHOWN_WHEN_EMPTY: _bindgen_ty_131 = 1024;
7732pub const AEGP_DynStreamFlag_SKIP_REVEAL_WHEN_UNHIDDEN: _bindgen_ty_131 = 65536;
7733pub type _bindgen_ty_131 = ::std::os::raw::c_uint;
7734pub type AEGP_DynStreamFlags = A_u_long;
7735#[repr(C)]
7736#[derive(Debug, Copy, Clone)]
7737pub struct AEGP_DynamicStreamSuite4 {
7738    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
7739        unsafe extern "C" fn(
7740            aegp_plugin_id: AEGP_PluginID,
7741            layerH: AEGP_LayerH,
7742            streamPH: *mut AEGP_StreamRefH,
7743        ) -> A_Err,
7744    >,
7745    pub AEGP_GetNewStreamRefForMask: ::std::option::Option<
7746        unsafe extern "C" fn(
7747            aegp_plugin_id: AEGP_PluginID,
7748            maskH: AEGP_MaskRefH,
7749            streamPH: *mut AEGP_StreamRefH,
7750        ) -> A_Err,
7751    >,
7752    pub AEGP_GetStreamDepth: ::std::option::Option<
7753        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
7754    >,
7755    pub AEGP_GetStreamGroupingType: ::std::option::Option<
7756        unsafe extern "C" fn(
7757            streamH: AEGP_StreamRefH,
7758            group_typeP: *mut AEGP_StreamGroupingType,
7759        ) -> A_Err,
7760    >,
7761    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
7762        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
7763    >,
7764    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
7765        unsafe extern "C" fn(
7766            streamH: AEGP_StreamRefH,
7767            stream_flagsP: *mut AEGP_DynStreamFlags,
7768        ) -> A_Err,
7769    >,
7770    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
7771        unsafe extern "C" fn(
7772            streamH: AEGP_StreamRefH,
7773            one_flag: AEGP_DynStreamFlags,
7774            undoableB: A_Boolean,
7775            setB: A_Boolean,
7776        ) -> A_Err,
7777    >,
7778    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
7779        unsafe extern "C" fn(
7780            aegp_plugin_id: AEGP_PluginID,
7781            parent_groupH: AEGP_StreamRefH,
7782            indexL: A_long,
7783            streamPH: *mut AEGP_StreamRefH,
7784        ) -> A_Err,
7785    >,
7786    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
7787        unsafe extern "C" fn(
7788            aegp_plugin_id: AEGP_PluginID,
7789            parent_groupH: AEGP_StreamRefH,
7790            utf8_match_nameZ: *const A_char,
7791            streamPH: *mut AEGP_StreamRefH,
7792        ) -> A_Err,
7793    >,
7794    pub AEGP_DeleteStream:
7795        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
7796    pub AEGP_ReorderStream: ::std::option::Option<
7797        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
7798    >,
7799    pub AEGP_DuplicateStream: ::std::option::Option<
7800        unsafe extern "C" fn(
7801            aegp_plugin_id: AEGP_PluginID,
7802            streamH: AEGP_StreamRefH,
7803            new_indexPL0: *mut A_long,
7804        ) -> A_Err,
7805    >,
7806    pub AEGP_SetStreamName: ::std::option::Option<
7807        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_UTF16Char) -> A_Err,
7808    >,
7809    pub AEGP_CanAddStream: ::std::option::Option<
7810        unsafe extern "C" fn(
7811            group_streamH: AEGP_StreamRefH,
7812            utf8_match_nameZ: *const A_char,
7813            can_addPB: *mut A_Boolean,
7814        ) -> A_Err,
7815    >,
7816    pub AEGP_AddStream: ::std::option::Option<
7817        unsafe extern "C" fn(
7818            aegp_plugin_id: AEGP_PluginID,
7819            indexed_group_streamH: AEGP_StreamRefH,
7820            utf8_match_nameZ: *const A_char,
7821            streamPH0: *mut AEGP_StreamRefH,
7822        ) -> A_Err,
7823    >,
7824    pub AEGP_GetMatchName: ::std::option::Option<
7825        unsafe extern "C" fn(streamH: AEGP_StreamRefH, utf8_match_nameZ: *mut A_char) -> A_Err,
7826    >,
7827    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
7828        unsafe extern "C" fn(
7829            aegp_plugin_id: AEGP_PluginID,
7830            streamH: AEGP_StreamRefH,
7831            parent_streamPH: *mut AEGP_StreamRefH,
7832        ) -> A_Err,
7833    >,
7834    pub AEGP_GetStreamIsModified: ::std::option::Option<
7835        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
7836    >,
7837    pub AEGP_GetStreamIndexInParent: ::std::option::Option<
7838        unsafe extern "C" fn(streamH: AEGP_StreamRefH, indexPL: *mut A_long) -> A_Err,
7839    >,
7840    pub AEGP_IsSeparationLeader: ::std::option::Option<
7841        unsafe extern "C" fn(streamH: AEGP_StreamRefH, leaderPB: *mut A_Boolean) -> A_Err,
7842    >,
7843    pub AEGP_AreDimensionsSeparated: ::std::option::Option<
7844        unsafe extern "C" fn(leader_streamH: AEGP_StreamRefH, separatedPB: *mut A_Boolean) -> A_Err,
7845    >,
7846    pub AEGP_SetDimensionsSeparated: ::std::option::Option<
7847        unsafe extern "C" fn(leader_streamH: AEGP_StreamRefH, separatedB: A_Boolean) -> A_Err,
7848    >,
7849    pub AEGP_GetSeparationFollower: ::std::option::Option<
7850        unsafe extern "C" fn(
7851            leader_streamH: AEGP_StreamRefH,
7852            dimS: A_short,
7853            follower_streamPH: *mut AEGP_StreamRefH,
7854        ) -> A_Err,
7855    >,
7856    pub AEGP_IsSeparationFollower: ::std::option::Option<
7857        unsafe extern "C" fn(streamH: AEGP_StreamRefH, followerPB: *mut A_Boolean) -> A_Err,
7858    >,
7859    pub AEGP_GetSeparationLeader: ::std::option::Option<
7860        unsafe extern "C" fn(
7861            follower_streamH: AEGP_StreamRefH,
7862            leader_streamPH: *mut AEGP_StreamRefH,
7863        ) -> A_Err,
7864    >,
7865    pub AEGP_GetSeparationDimension: ::std::option::Option<
7866        unsafe extern "C" fn(follower_streamH: AEGP_StreamRefH, dimPS: *mut A_short) -> A_Err,
7867    >,
7868}
7869pub type AEGP_KeyframeIndex = A_long;
7870pub const AEGP_KeyframeFlag_NONE: _bindgen_ty_132 = 0;
7871pub const AEGP_KeyframeFlag_TEMPORAL_CONTINUOUS: _bindgen_ty_132 = 1;
7872pub const AEGP_KeyframeFlag_TEMPORAL_AUTOBEZIER: _bindgen_ty_132 = 2;
7873pub const AEGP_KeyframeFlag_SPATIAL_CONTINUOUS: _bindgen_ty_132 = 4;
7874pub const AEGP_KeyframeFlag_SPATIAL_AUTOBEZIER: _bindgen_ty_132 = 8;
7875pub const AEGP_KeyframeFlag_ROVING: _bindgen_ty_132 = 16;
7876pub type _bindgen_ty_132 = ::std::os::raw::c_uint;
7877pub type AEGP_KeyframeFlags = A_long;
7878pub const AEGP_NumKF_NO_DATA: _bindgen_ty_133 = -1;
7879pub type _bindgen_ty_133 = ::std::os::raw::c_int;
7880#[repr(C)]
7881#[derive(Debug, Copy, Clone)]
7882pub struct AEGP_KeyframeSuite5 {
7883    pub AEGP_GetStreamNumKFs: ::std::option::Option<
7884        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
7885    >,
7886    pub AEGP_GetKeyframeTime: ::std::option::Option<
7887        unsafe extern "C" fn(
7888            streamH: AEGP_StreamRefH,
7889            key_index: AEGP_KeyframeIndex,
7890            time_mode: AEGP_LTimeMode,
7891            timePT: *mut A_Time,
7892        ) -> A_Err,
7893    >,
7894    pub AEGP_InsertKeyframe: ::std::option::Option<
7895        unsafe extern "C" fn(
7896            streamH: AEGP_StreamRefH,
7897            time_mode: AEGP_LTimeMode,
7898            timePT: *const A_Time,
7899            key_indexP: *mut AEGP_KeyframeIndex,
7900        ) -> A_Err,
7901    >,
7902    pub AEGP_DeleteKeyframe: ::std::option::Option<
7903        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
7904    >,
7905    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
7906        unsafe extern "C" fn(
7907            aegp_plugin_id: AEGP_PluginID,
7908            streamH: AEGP_StreamRefH,
7909            key_index: AEGP_KeyframeIndex,
7910            valueP: *mut AEGP_StreamValue2,
7911        ) -> A_Err,
7912    >,
7913    pub AEGP_SetKeyframeValue: ::std::option::Option<
7914        unsafe extern "C" fn(
7915            streamH: AEGP_StreamRefH,
7916            key_index: AEGP_KeyframeIndex,
7917            valueP: *const AEGP_StreamValue2,
7918        ) -> A_Err,
7919    >,
7920    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
7921        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
7922    >,
7923    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
7924        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
7925    >,
7926    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
7927        unsafe extern "C" fn(
7928            aegp_plugin_id: AEGP_PluginID,
7929            streamH: AEGP_StreamRefH,
7930            key_index: AEGP_KeyframeIndex,
7931            in_tanP0: *mut AEGP_StreamValue2,
7932            out_tanP0: *mut AEGP_StreamValue2,
7933        ) -> A_Err,
7934    >,
7935    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
7936        unsafe extern "C" fn(
7937            streamH: AEGP_StreamRefH,
7938            key_index: AEGP_KeyframeIndex,
7939            in_tanP0: *const AEGP_StreamValue2,
7940            out_tanP0: *const AEGP_StreamValue2,
7941        ) -> A_Err,
7942    >,
7943    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
7944        unsafe extern "C" fn(
7945            streamH: AEGP_StreamRefH,
7946            key_index: AEGP_KeyframeIndex,
7947            dimensionL: A_long,
7948            in_easeP0: *mut AEGP_KeyframeEase,
7949            out_easeP0: *mut AEGP_KeyframeEase,
7950        ) -> A_Err,
7951    >,
7952    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
7953        unsafe extern "C" fn(
7954            streamH: AEGP_StreamRefH,
7955            key_index: AEGP_KeyframeIndex,
7956            dimensionL: A_long,
7957            in_easeP0: *const AEGP_KeyframeEase,
7958            out_easeP0: *const AEGP_KeyframeEase,
7959        ) -> A_Err,
7960    >,
7961    pub AEGP_GetKeyframeFlags: ::std::option::Option<
7962        unsafe extern "C" fn(
7963            streamH: AEGP_StreamRefH,
7964            key_index: AEGP_KeyframeIndex,
7965            flagsP: *mut AEGP_KeyframeFlags,
7966        ) -> A_Err,
7967    >,
7968    pub AEGP_SetKeyframeFlag: ::std::option::Option<
7969        unsafe extern "C" fn(
7970            streamH: AEGP_StreamRefH,
7971            key_index: AEGP_KeyframeIndex,
7972            flag: AEGP_KeyframeFlags,
7973            true_falseB: A_Boolean,
7974        ) -> A_Err,
7975    >,
7976    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
7977        unsafe extern "C" fn(
7978            streamH: AEGP_StreamRefH,
7979            key_index: AEGP_KeyframeIndex,
7980            in_interpP0: *mut AEGP_KeyframeInterpolationType,
7981            out_interpP0: *mut AEGP_KeyframeInterpolationType,
7982        ) -> A_Err,
7983    >,
7984    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
7985        unsafe extern "C" fn(
7986            streamH: AEGP_StreamRefH,
7987            key_index: AEGP_KeyframeIndex,
7988            in_interp: AEGP_KeyframeInterpolationType,
7989            out_interp: AEGP_KeyframeInterpolationType,
7990        ) -> A_Err,
7991    >,
7992    pub AEGP_StartAddKeyframes: ::std::option::Option<
7993        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
7994    >,
7995    pub AEGP_AddKeyframes: ::std::option::Option<
7996        unsafe extern "C" fn(
7997            akH: AEGP_AddKeyframesInfoH,
7998            time_mode: AEGP_LTimeMode,
7999            timePT: *const A_Time,
8000            key_indexPL: *mut A_long,
8001        ) -> A_Err,
8002    >,
8003    pub AEGP_SetAddKeyframe: ::std::option::Option<
8004        unsafe extern "C" fn(
8005            akH: AEGP_AddKeyframesInfoH,
8006            key_indexL: A_long,
8007            valueP: *const AEGP_StreamValue2,
8008        ) -> A_Err,
8009    >,
8010    pub AEGP_EndAddKeyframes: ::std::option::Option<
8011        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
8012    >,
8013    pub AEGP_GetKeyframeLabelColorIndex: ::std::option::Option<
8014        unsafe extern "C" fn(
8015            streamH: AEGP_StreamRefH,
8016            key_index: AEGP_KeyframeIndex,
8017            key_labelP: *mut A_long,
8018        ) -> A_Err,
8019    >,
8020    pub AEGP_SetKeyframeLabelColorIndex: ::std::option::Option<
8021        unsafe extern "C" fn(
8022            streamH: AEGP_StreamRefH,
8023            key_index: AEGP_KeyframeIndex,
8024            key_label: A_long,
8025        ) -> A_Err,
8026    >,
8027}
8028#[repr(C)]
8029#[derive(Debug, Copy, Clone)]
8030pub struct AEGP_TextDocumentSuite1 {
8031    pub AEGP_GetNewText: ::std::option::Option<
8032        unsafe extern "C" fn(
8033            aegp_plugin_id: AEGP_PluginID,
8034            text_documentH: AEGP_TextDocumentH,
8035            unicodePH: *mut AEGP_MemHandle,
8036        ) -> A_Err,
8037    >,
8038    pub AEGP_SetText: ::std::option::Option<
8039        unsafe extern "C" fn(
8040            text_documentH: AEGP_TextDocumentH,
8041            unicodePS: *const A_u_short,
8042            lengthL: A_long,
8043        ) -> A_Err,
8044    >,
8045}
8046pub const AEGP_MarkerString_NONE: _bindgen_ty_134 = 0;
8047pub const AEGP_MarkerString_COMMENT: _bindgen_ty_134 = 1;
8048pub const AEGP_MarkerString_CHAPTER: _bindgen_ty_134 = 2;
8049pub const AEGP_MarkerString_URL: _bindgen_ty_134 = 3;
8050pub const AEGP_MarkerString_FRAME_TARGET: _bindgen_ty_134 = 4;
8051pub const AEGP_MarkerString_CUE_POINT_NAME: _bindgen_ty_134 = 5;
8052pub const AEGP_MarkerString_NUMTYPES: _bindgen_ty_134 = 6;
8053pub type _bindgen_ty_134 = ::std::os::raw::c_uint;
8054pub type AEGP_MarkerStringType = A_long;
8055pub const AEGP_MarkerFlag_NONE: _bindgen_ty_135 = 0;
8056pub const AEGP_MarkerFlag_NAVIGATION: _bindgen_ty_135 = 1;
8057pub const AEGP_MarkerFlag_PROTECT_REGION: _bindgen_ty_135 = 2;
8058pub type _bindgen_ty_135 = ::std::os::raw::c_uint;
8059pub type AEGP_MarkerFlagType = A_long;
8060#[repr(C)]
8061#[derive(Debug, Copy, Clone)]
8062pub struct AEGP_MarkerSuite3 {
8063    pub AEGP_NewMarker:
8064        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
8065    pub AEGP_DisposeMarker:
8066        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
8067    pub AEGP_DuplicateMarker: ::std::option::Option<
8068        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
8069    >,
8070    pub AEGP_SetMarkerFlag: ::std::option::Option<
8071        unsafe extern "C" fn(
8072            markerP: AEGP_MarkerValP,
8073            flagType: AEGP_MarkerFlagType,
8074            valueB: A_Boolean,
8075        ) -> A_Err,
8076    >,
8077    pub AEGP_GetMarkerFlag: ::std::option::Option<
8078        unsafe extern "C" fn(
8079            markerP: AEGP_ConstMarkerValP,
8080            flagType: AEGP_MarkerFlagType,
8081            valueBP: *mut A_Boolean,
8082        ) -> A_Err,
8083    >,
8084    pub AEGP_GetMarkerString: ::std::option::Option<
8085        unsafe extern "C" fn(
8086            aegp_plugin_id: AEGP_PluginID,
8087            markerP: AEGP_ConstMarkerValP,
8088            strType: AEGP_MarkerStringType,
8089            unicodePH: *mut AEGP_MemHandle,
8090        ) -> A_Err,
8091    >,
8092    pub AEGP_SetMarkerString: ::std::option::Option<
8093        unsafe extern "C" fn(
8094            markerP: AEGP_MarkerValP,
8095            strType: AEGP_MarkerStringType,
8096            unicodeP: *const A_u_short,
8097            lengthL: A_long,
8098        ) -> A_Err,
8099    >,
8100    pub AEGP_CountCuePointParams: ::std::option::Option<
8101        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
8102    >,
8103    pub AEGP_GetIndCuePointParam: ::std::option::Option<
8104        unsafe extern "C" fn(
8105            aegp_plugin_id: AEGP_PluginID,
8106            markerP: AEGP_ConstMarkerValP,
8107            param_indexL: A_long,
8108            unicodeKeyPH: *mut AEGP_MemHandle,
8109            unicodeValuePH: *mut AEGP_MemHandle,
8110        ) -> A_Err,
8111    >,
8112    pub AEGP_SetIndCuePointParam: ::std::option::Option<
8113        unsafe extern "C" fn(
8114            markerP: AEGP_MarkerValP,
8115            param_indexL: A_long,
8116            unicodeKeyP: *const A_u_short,
8117            key_lengthL: A_long,
8118            unicodeValueP: *const A_u_short,
8119            value_lengthL: A_long,
8120        ) -> A_Err,
8121    >,
8122    pub AEGP_InsertCuePointParam: ::std::option::Option<
8123        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
8124    >,
8125    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
8126        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
8127    >,
8128    pub AEGP_SetMarkerDuration: ::std::option::Option<
8129        unsafe extern "C" fn(markerP: AEGP_MarkerValP, durationPT: *const A_Time) -> A_Err,
8130    >,
8131    pub AEGP_GetMarkerDuration: ::std::option::Option<
8132        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, durationPT: *mut A_Time) -> A_Err,
8133    >,
8134    pub AEGP_SetMarkerLabel: ::std::option::Option<
8135        unsafe extern "C" fn(markerP: AEGP_MarkerValP, value: A_long) -> A_Err,
8136    >,
8137    pub AEGP_GetMarkerLabel: ::std::option::Option<
8138        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, valueP: *mut A_long) -> A_Err,
8139    >,
8140}
8141#[repr(C)]
8142#[derive(Debug, Copy, Clone)]
8143pub struct AEGP_TextLayerSuite1 {
8144    pub AEGP_GetNewTextOutlines: ::std::option::Option<
8145        unsafe extern "C" fn(
8146            layerH: AEGP_LayerH,
8147            layer_timePT: *const A_Time,
8148            outlinesPH: *mut AEGP_TextOutlinesH,
8149        ) -> A_Err,
8150    >,
8151    pub AEGP_DisposeTextOutlines:
8152        ::std::option::Option<unsafe extern "C" fn(outlinesH: AEGP_TextOutlinesH) -> A_Err>,
8153    pub AEGP_GetNumTextOutlines: ::std::option::Option<
8154        unsafe extern "C" fn(outlinesH: AEGP_TextOutlinesH, num_outlinesPL: *mut A_long) -> A_Err,
8155    >,
8156    pub AEGP_GetIndexedTextOutline: ::std::option::Option<
8157        unsafe extern "C" fn(
8158            outlinesH: AEGP_TextOutlinesH,
8159            path_indexL: A_long,
8160            pathPP: *mut PF_PathOutlinePtr,
8161        ) -> A_Err,
8162    >,
8163}
8164pub type AEGP_InstalledEffectKey = A_long;
8165pub const AEGP_EffectFlags_NONE: _bindgen_ty_136 = 0;
8166pub const AEGP_EffectFlags_ACTIVE: _bindgen_ty_136 = 1;
8167pub const AEGP_EffectFlags_AUDIO_ONLY: _bindgen_ty_136 = 2;
8168pub const AEGP_EffectFlags_AUDIO_TOO: _bindgen_ty_136 = 4;
8169pub const AEGP_EffectFlags_MISSING: _bindgen_ty_136 = 8;
8170pub type _bindgen_ty_136 = ::std::os::raw::c_uint;
8171pub type AEGP_EffectFlags = A_long;
8172pub type AEGP_EffectIndex = A_long;
8173#[repr(C)]
8174#[derive(Debug, Copy, Clone)]
8175pub struct AEGP_EffectSuite4 {
8176    pub AEGP_GetLayerNumEffects: ::std::option::Option<
8177        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
8178    >,
8179    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
8180        unsafe extern "C" fn(
8181            aegp_plugin_id: AEGP_PluginID,
8182            layerH: AEGP_LayerH,
8183            layer_effect_indexL: AEGP_EffectIndex,
8184            effectPH: *mut AEGP_EffectRefH,
8185        ) -> A_Err,
8186    >,
8187    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
8188        unsafe extern "C" fn(
8189            effect_refH: AEGP_EffectRefH,
8190            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
8191        ) -> A_Err,
8192    >,
8193    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
8194        unsafe extern "C" fn(
8195            aegp_plugin_id: AEGP_PluginID,
8196            effect_refH: AEGP_EffectRefH,
8197            param_index: PF_ParamIndex,
8198            param_typeP: *mut PF_ParamType,
8199            uP0: *mut PF_ParamDefUnion,
8200        ) -> A_Err,
8201    >,
8202    pub AEGP_GetEffectFlags: ::std::option::Option<
8203        unsafe extern "C" fn(
8204            effect_refH: AEGP_EffectRefH,
8205            effect_flagsP: *mut AEGP_EffectFlags,
8206        ) -> A_Err,
8207    >,
8208    pub AEGP_SetEffectFlags: ::std::option::Option<
8209        unsafe extern "C" fn(
8210            effect_refH: AEGP_EffectRefH,
8211            effect_flags_set_mask: AEGP_EffectFlags,
8212            effect_flags: AEGP_EffectFlags,
8213        ) -> A_Err,
8214    >,
8215    pub AEGP_ReorderEffect: ::std::option::Option<
8216        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
8217    >,
8218    #[doc = " new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command"]
8219    pub AEGP_EffectCallGeneric: ::std::option::Option<
8220        unsafe extern "C" fn(
8221            aegp_plugin_id: AEGP_PluginID,
8222            effect_refH: AEGP_EffectRefH,
8223            timePT: *const A_Time,
8224            effect_cmd: PF_Cmd,
8225            effect_extraPV: *mut ::std::os::raw::c_void,
8226        ) -> A_Err,
8227    >,
8228    pub AEGP_DisposeEffect:
8229        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
8230    pub AEGP_ApplyEffect: ::std::option::Option<
8231        unsafe extern "C" fn(
8232            aegp_plugin_id: AEGP_PluginID,
8233            layerH: AEGP_LayerH,
8234            installed_effect_key: AEGP_InstalledEffectKey,
8235            effect_refPH: *mut AEGP_EffectRefH,
8236        ) -> A_Err,
8237    >,
8238    pub AEGP_DeleteLayerEffect:
8239        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
8240    pub AEGP_GetNumInstalledEffects:
8241        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
8242    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
8243        unsafe extern "C" fn(
8244            installed_effect_key: AEGP_InstalledEffectKey,
8245            next_effectPH: *mut AEGP_InstalledEffectKey,
8246        ) -> A_Err,
8247    >,
8248    pub AEGP_GetEffectName: ::std::option::Option<
8249        unsafe extern "C" fn(
8250            installed_effect_key: AEGP_InstalledEffectKey,
8251            nameZ: *mut A_char,
8252        ) -> A_Err,
8253    >,
8254    pub AEGP_GetEffectMatchName: ::std::option::Option<
8255        unsafe extern "C" fn(
8256            installed_effect_key: AEGP_InstalledEffectKey,
8257            utf8_match_nameZ: *mut A_char,
8258        ) -> A_Err,
8259    >,
8260    pub AEGP_GetEffectCategory: ::std::option::Option<
8261        unsafe extern "C" fn(
8262            installed_effect_key: AEGP_InstalledEffectKey,
8263            categoryZ: *mut A_char,
8264        ) -> A_Err,
8265    >,
8266    pub AEGP_DuplicateEffect: ::std::option::Option<
8267        unsafe extern "C" fn(
8268            original_effect_refH: AEGP_EffectRefH,
8269            duplicate_effect_refPH: *mut AEGP_EffectRefH,
8270        ) -> A_Err,
8271    >,
8272    #[doc = " new in AE 13.0: effect masks"]
8273    pub AEGP_NumEffectMask: ::std::option::Option<
8274        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_masksPL: *mut A_u_long) -> A_Err,
8275    >,
8276    pub AEGP_GetEffectMaskID: ::std::option::Option<
8277        unsafe extern "C" fn(
8278            effect_refH: AEGP_EffectRefH,
8279            mask_indexL: A_u_long,
8280            id_valP: *mut AEGP_MaskIDVal,
8281        ) -> A_Err,
8282    >,
8283    pub AEGP_AddEffectMask: ::std::option::Option<
8284        unsafe extern "C" fn(
8285            effect_refH: AEGP_EffectRefH,
8286            id_val: AEGP_MaskIDVal,
8287            streamPH0: *mut AEGP_StreamRefH,
8288        ) -> A_Err,
8289    >,
8290    pub AEGP_RemoveEffectMask: ::std::option::Option<
8291        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, id_val: AEGP_MaskIDVal) -> A_Err,
8292    >,
8293    pub AEGP_SetEffectMask: ::std::option::Option<
8294        unsafe extern "C" fn(
8295            effect_refH: AEGP_EffectRefH,
8296            mask_indexL: A_u_long,
8297            id_val: AEGP_MaskIDVal,
8298            streamPH0: *mut AEGP_StreamRefH,
8299        ) -> A_Err,
8300    >,
8301}
8302pub type AEGP_MaskIndex = A_long;
8303pub const AEGP_MaskMBlur_SAME_AS_LAYER: _bindgen_ty_137 = 0;
8304pub const AEGP_MaskMBlur_OFF: _bindgen_ty_137 = 1;
8305pub const AEGP_MaskMBlur_ON: _bindgen_ty_137 = 2;
8306pub type _bindgen_ty_137 = ::std::os::raw::c_uint;
8307pub type AEGP_MaskMBlur = A_u_char;
8308pub const AEGP_MaskFeatherFalloff_SMOOTH: _bindgen_ty_138 = 0;
8309pub const AEGP_MaskFeatherFalloff_LINEAR: _bindgen_ty_138 = 1;
8310pub type _bindgen_ty_138 = ::std::os::raw::c_uint;
8311pub type AEGP_MaskFeatherFalloff = A_u_char;
8312pub const AEGP_MaskFeatherInterp_NORMAL: _bindgen_ty_139 = 0;
8313pub const AEGP_MaskFeatherInterp_HOLD_CW: _bindgen_ty_139 = 1;
8314pub type _bindgen_ty_139 = ::std::os::raw::c_uint;
8315pub type AEGP_MaskFeatherInterp = A_u_char;
8316pub const AEGP_MaskFeatherType_OUTER: _bindgen_ty_140 = 0;
8317pub const AEGP_MaskFeatherType_INNER: _bindgen_ty_140 = 1;
8318pub type _bindgen_ty_140 = ::std::os::raw::c_uint;
8319pub type AEGP_MaskFeatherType = A_u_char;
8320#[repr(C)]
8321#[derive(Debug, Copy, Clone)]
8322pub struct AEGP_MaskSuite6 {
8323    pub AEGP_GetLayerNumMasks: ::std::option::Option<
8324        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
8325    >,
8326    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
8327        unsafe extern "C" fn(
8328            aegp_layerH: AEGP_LayerH,
8329            mask_indexL: AEGP_MaskIndex,
8330            maskPH: *mut AEGP_MaskRefH,
8331        ) -> A_Err,
8332    >,
8333    pub AEGP_DisposeMask:
8334        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
8335    pub AEGP_GetMaskInvert: ::std::option::Option<
8336        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
8337    >,
8338    pub AEGP_SetMaskInvert: ::std::option::Option<
8339        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
8340    >,
8341    pub AEGP_GetMaskMode: ::std::option::Option<
8342        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
8343    >,
8344    pub AEGP_SetMaskMode: ::std::option::Option<
8345        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
8346    >,
8347    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
8348        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
8349    >,
8350    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
8351        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
8352    >,
8353    pub AEGP_GetMaskFeatherFalloff: ::std::option::Option<
8354        unsafe extern "C" fn(
8355            mask_refH: AEGP_MaskRefH,
8356            feather_falloffP: *mut AEGP_MaskFeatherFalloff,
8357        ) -> A_Err,
8358    >,
8359    pub AEGP_SetMaskFeatherFalloff: ::std::option::Option<
8360        unsafe extern "C" fn(
8361            mask_refH: AEGP_MaskRefH,
8362            feather_falloffP: AEGP_MaskFeatherFalloff,
8363        ) -> A_Err,
8364    >,
8365    pub AEGP_GetMaskID: ::std::option::Option<
8366        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
8367    >,
8368    pub AEGP_CreateNewMask: ::std::option::Option<
8369        unsafe extern "C" fn(
8370            layerH: AEGP_LayerH,
8371            mask_refPH: *mut AEGP_MaskRefH,
8372            mask_indexPL0: *mut A_long,
8373        ) -> A_Err,
8374    >,
8375    pub AEGP_DeleteMaskFromLayer:
8376        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
8377    pub AEGP_GetMaskColor: ::std::option::Option<
8378        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
8379    >,
8380    pub AEGP_SetMaskColor: ::std::option::Option<
8381        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
8382    >,
8383    pub AEGP_GetMaskLockState: ::std::option::Option<
8384        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
8385    >,
8386    pub AEGP_SetMaskLockState: ::std::option::Option<
8387        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
8388    >,
8389    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
8390        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
8391    >,
8392    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
8393        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
8394    >,
8395    pub AEGP_DuplicateMask: ::std::option::Option<
8396        unsafe extern "C" fn(
8397            orig_mask_refH: AEGP_MaskRefH,
8398            duplicate_mask_refPH: *mut AEGP_MaskRefH,
8399        ) -> A_Err,
8400    >,
8401}
8402#[repr(C)]
8403#[derive(Debug, Copy, Clone)]
8404pub struct AEGP_MaskFeather {
8405    pub segment: A_long,
8406    pub segment_sF: PF_FpLong,
8407    pub radiusF: PF_FpLong,
8408    pub ui_corner_angleF: PF_FpShort,
8409    pub tensionF: PF_FpShort,
8410    pub interp: AEGP_MaskFeatherInterp,
8411    pub type_: AEGP_MaskFeatherType,
8412}
8413pub type AEGP_FeatherIndex = A_long;
8414pub type AEGP_MaskVertex = PF_PathVertex;
8415pub type AEGP_VertexIndex = A_long;
8416#[repr(C)]
8417#[derive(Debug, Copy, Clone)]
8418pub struct AEGP_MaskOutlineSuite3 {
8419    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
8420        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
8421    >,
8422    pub AEGP_SetMaskOutlineOpen: ::std::option::Option<
8423        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openB: A_Boolean) -> A_Err,
8424    >,
8425    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
8426        unsafe extern "C" fn(
8427            mask_outlineH: AEGP_MaskOutlineValH,
8428            num_segmentsPL: *mut A_long,
8429        ) -> A_Err,
8430    >,
8431    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
8432        unsafe extern "C" fn(
8433            mask_outlineH: AEGP_MaskOutlineValH,
8434            which_pointL: AEGP_VertexIndex,
8435            vertexP: *mut AEGP_MaskVertex,
8436        ) -> A_Err,
8437    >,
8438    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
8439        unsafe extern "C" fn(
8440            mask_outlineH: AEGP_MaskOutlineValH,
8441            which_pointL: AEGP_VertexIndex,
8442            vertexP: *const AEGP_MaskVertex,
8443        ) -> A_Err,
8444    >,
8445    pub AEGP_CreateVertex: ::std::option::Option<
8446        unsafe extern "C" fn(
8447            mask_outlineH: AEGP_MaskOutlineValH,
8448            insert_position: AEGP_VertexIndex,
8449        ) -> A_Err,
8450    >,
8451    pub AEGP_DeleteVertex: ::std::option::Option<
8452        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
8453    >,
8454    pub AEGP_GetMaskOutlineNumFeathers: ::std::option::Option<
8455        unsafe extern "C" fn(
8456            mask_outlineH: AEGP_MaskOutlineValH,
8457            num_feathersPL: *mut A_long,
8458        ) -> A_Err,
8459    >,
8460    pub AEGP_GetMaskOutlineFeatherInfo: ::std::option::Option<
8461        unsafe extern "C" fn(
8462            mask_outlineH: AEGP_MaskOutlineValH,
8463            which_featherL: AEGP_FeatherIndex,
8464            featherP: *mut AEGP_MaskFeather,
8465        ) -> A_Err,
8466    >,
8467    pub AEGP_SetMaskOutlineFeatherInfo: ::std::option::Option<
8468        unsafe extern "C" fn(
8469            mask_outlineH: AEGP_MaskOutlineValH,
8470            which_featherL: AEGP_VertexIndex,
8471            featherP: *const AEGP_MaskFeather,
8472        ) -> A_Err,
8473    >,
8474    pub AEGP_CreateMaskOutlineFeather: ::std::option::Option<
8475        unsafe extern "C" fn(
8476            mask_outlineH: AEGP_MaskOutlineValH,
8477            featherP0: *const AEGP_MaskFeather,
8478            insert_positionP: *mut AEGP_FeatherIndex,
8479        ) -> A_Err,
8480    >,
8481    pub AEGP_DeleteMaskOutlineFeather: ::std::option::Option<
8482        unsafe extern "C" fn(
8483            mask_outlineH: AEGP_MaskOutlineValH,
8484            index: AEGP_FeatherIndex,
8485        ) -> A_Err,
8486    >,
8487}
8488pub type AEGP_InterlaceLabel = FIEL_Label;
8489pub const AEGP_AlphaPremul: _bindgen_ty_141 = 1;
8490pub const AEGP_AlphaInverted: _bindgen_ty_141 = 2;
8491pub const AEGP_AlphaIgnore: _bindgen_ty_141 = 4;
8492pub type _bindgen_ty_141 = ::std::os::raw::c_uint;
8493pub type AEGP_AlphaFlags = A_u_long;
8494#[repr(C)]
8495#[derive(Debug, Copy, Clone)]
8496pub struct AEGP_AlphaLabel {
8497    pub flags: AEGP_AlphaFlags,
8498    pub redCu: A_u_char,
8499    pub greenCu: A_u_char,
8500    pub blueCu: A_u_char,
8501}
8502pub const AEGP_PulldownPhase_NO_PULLDOWN: _bindgen_ty_142 = 0;
8503pub const AEGP_PulldownPhase_WSSWW: _bindgen_ty_142 = 1;
8504pub const AEGP_PulldownPhase_SSWWW: _bindgen_ty_142 = 2;
8505pub const AEGP_PulldownPhase_SWWWS: _bindgen_ty_142 = 3;
8506pub const AEGP_PulldownPhase_WWWSS: _bindgen_ty_142 = 4;
8507pub const AEGP_PulldownPhase_WWSSW: _bindgen_ty_142 = 5;
8508pub const AEGP_PulldownPhase_WWWSW: _bindgen_ty_142 = 6;
8509pub const AEGP_PulldownPhase_WWSWW: _bindgen_ty_142 = 7;
8510pub const AEGP_PulldownPhase_WSWWW: _bindgen_ty_142 = 8;
8511pub const AEGP_PulldownPhase_SWWWW: _bindgen_ty_142 = 9;
8512pub const AEGP_PulldownPhase_WWWWS: _bindgen_ty_142 = 10;
8513pub type _bindgen_ty_142 = ::std::os::raw::c_uint;
8514pub type AEGP_PulldownPhase = A_long;
8515#[repr(C)]
8516#[derive(Debug, Copy, Clone)]
8517pub struct AEGP_LoopBehavior {
8518    pub loops: A_long,
8519    pub reserved: A_long,
8520}
8521#[repr(C)]
8522#[derive(Debug, Copy, Clone)]
8523pub struct AEGP_FootageInterp {
8524    pub il: AEGP_InterlaceLabel,
8525    pub al: AEGP_AlphaLabel,
8526    pub pd: AEGP_PulldownPhase,
8527    pub loop_: AEGP_LoopBehavior,
8528    pub pix_aspect_ratio: A_Ratio,
8529    pub native_fpsF: A_FpLong,
8530    pub conform_fpsF: A_FpLong,
8531    pub depthL: A_long,
8532    pub motion_dB: A_Boolean,
8533}
8534pub const AEGP_LayerDrawStyle_LAYER_BOUNDS: _bindgen_ty_143 = 0;
8535pub const AEGP_LayerDrawStyle_DOCUMENT_BOUNDS: _bindgen_ty_143 = 1;
8536pub type _bindgen_ty_143 = ::std::os::raw::c_uint;
8537pub type AEGP_LayerDrawStyle = A_long;
8538#[repr(C)]
8539#[derive(Debug, Copy, Clone)]
8540pub struct AEGP_FootageLayerKey {
8541    pub layer_idL: A_long,
8542    pub layer_indexL: A_long,
8543    pub nameAC: [A_char; 64usize],
8544    pub layer_draw_style: AEGP_LayerDrawStyle,
8545}
8546#[repr(C)]
8547#[derive(Debug, Copy, Clone)]
8548pub struct AEGP_FileSequenceImportOptions {
8549    pub all_in_folderB: A_Boolean,
8550    pub force_alphabeticalB: A_Boolean,
8551    pub start_frameL: A_long,
8552    pub end_frameL: A_long,
8553}
8554pub const AEGP_FootageSignature_NONE: _bindgen_ty_144 = -1;
8555pub const AEGP_FootageSignature_MISSING: _bindgen_ty_144 = 0;
8556pub const AEGP_FootageSignature_SOLID: _bindgen_ty_144 = 1399811177;
8557pub type _bindgen_ty_144 = ::std::os::raw::c_int;
8558pub type AEGP_FootageSignature = A_long;
8559pub const AEGP_InterpretationStyle_NO_DIALOG_GUESS: _bindgen_ty_145 = 0;
8560pub const AEGP_InterpretationStyle_DIALOG_OK: _bindgen_ty_145 = 1;
8561pub const AEGP_InterpretationStyle_NO_DIALOG_NO_GUESS: _bindgen_ty_145 = 2;
8562pub type _bindgen_ty_145 = ::std::os::raw::c_uint;
8563pub type AEGP_InterpretationStyle = A_u_char;
8564#[repr(C)]
8565#[derive(Debug, Copy, Clone)]
8566pub struct AEGP_FootageSuite5 {
8567    pub AEGP_GetMainFootageFromItem: ::std::option::Option<
8568        unsafe extern "C" fn(itemH: AEGP_ItemH, footagePH: *mut AEGP_FootageH) -> A_Err,
8569    >,
8570    pub AEGP_GetProxyFootageFromItem: ::std::option::Option<
8571        unsafe extern "C" fn(itemH: AEGP_ItemH, proxy_footagePH: *mut AEGP_FootageH) -> A_Err,
8572    >,
8573    pub AEGP_GetFootageNumFiles: ::std::option::Option<
8574        unsafe extern "C" fn(
8575            footageH: AEGP_FootageH,
8576            num_main_filesPL0: *mut A_long,
8577            files_per_framePL0: *mut A_long,
8578        ) -> A_Err,
8579    >,
8580    pub AEGP_GetFootagePath: ::std::option::Option<
8581        unsafe extern "C" fn(
8582            footageH: AEGP_FootageH,
8583            frame_numL: A_long,
8584            file_indexL: A_long,
8585            unicode_pathPH: *mut AEGP_MemHandle,
8586        ) -> A_Err,
8587    >,
8588    pub AEGP_GetFootageSignature: ::std::option::Option<
8589        unsafe extern "C" fn(footageH: AEGP_FootageH, sigP: *mut AEGP_FootageSignature) -> A_Err,
8590    >,
8591    pub AEGP_NewFootage: ::std::option::Option<
8592        unsafe extern "C" fn(
8593            aegp_plugin_id: AEGP_PluginID,
8594            pathZ: *const A_UTF16Char,
8595            layer_infoP0: *const AEGP_FootageLayerKey,
8596            sequence_optionsP0: *const AEGP_FileSequenceImportOptions,
8597            interp_style: AEGP_InterpretationStyle,
8598            reserved: *mut ::std::os::raw::c_void,
8599            footagePH: *mut AEGP_FootageH,
8600        ) -> A_Err,
8601    >,
8602    pub AEGP_AddFootageToProject: ::std::option::Option<
8603        unsafe extern "C" fn(
8604            footageH: AEGP_FootageH,
8605            folderH: AEGP_ItemH,
8606            added_itemPH0: *mut AEGP_ItemH,
8607        ) -> A_Err,
8608    >,
8609    pub AEGP_SetItemProxyFootage: ::std::option::Option<
8610        unsafe extern "C" fn(footageH: AEGP_FootageH, itemH: AEGP_ItemH) -> A_Err,
8611    >,
8612    pub AEGP_ReplaceItemMainFootage: ::std::option::Option<
8613        unsafe extern "C" fn(footageH: AEGP_FootageH, itemH: AEGP_ItemH) -> A_Err,
8614    >,
8615    pub AEGP_DisposeFootage:
8616        ::std::option::Option<unsafe extern "C" fn(footageH: AEGP_FootageH) -> A_Err>,
8617    pub AEGP_GetFootageInterpretation: ::std::option::Option<
8618        unsafe extern "C" fn(
8619            itemH: AEGP_ItemH,
8620            proxyB: A_Boolean,
8621            interpP: *mut AEGP_FootageInterp,
8622        ) -> A_Err,
8623    >,
8624    pub AEGP_SetFootageInterpretation: ::std::option::Option<
8625        unsafe extern "C" fn(
8626            itemH: AEGP_ItemH,
8627            proxyB: A_Boolean,
8628            interpP: *const AEGP_FootageInterp,
8629        ) -> A_Err,
8630    >,
8631    pub AEGP_GetFootageLayerKey: ::std::option::Option<
8632        unsafe extern "C" fn(
8633            footageH: AEGP_FootageH,
8634            layerKeyP: *mut AEGP_FootageLayerKey,
8635        ) -> A_Err,
8636    >,
8637    pub AEGP_NewPlaceholderFootage: ::std::option::Option<
8638        unsafe extern "C" fn(
8639            plugin_id: AEGP_PluginID,
8640            nameZ: *const A_char,
8641            width: A_long,
8642            height: A_long,
8643            durationPT: *const A_Time,
8644            footagePH: *mut AEGP_FootageH,
8645        ) -> A_Err,
8646    >,
8647    pub AEGP_NewPlaceholderFootageWithPath: ::std::option::Option<
8648        unsafe extern "C" fn(
8649            plugin_id: AEGP_PluginID,
8650            pathZ: *const A_UTF16Char,
8651            path_platform: AEGP_Platform,
8652            file_type: AEIO_FileType,
8653            widthL: A_long,
8654            heightL: A_long,
8655            durationPT: *const A_Time,
8656            footagePH: *mut AEGP_FootageH,
8657        ) -> A_Err,
8658    >,
8659    pub AEGP_NewSolidFootage: ::std::option::Option<
8660        unsafe extern "C" fn(
8661            nameZ: *const A_char,
8662            width: A_long,
8663            height: A_long,
8664            colorP: *const AEGP_ColorVal,
8665            footagePH: *mut AEGP_FootageH,
8666        ) -> A_Err,
8667    >,
8668    pub AEGP_GetSolidFootageColor: ::std::option::Option<
8669        unsafe extern "C" fn(
8670            itemH: AEGP_ItemH,
8671            proxyB: A_Boolean,
8672            colorP: *mut AEGP_ColorVal,
8673        ) -> A_Err,
8674    >,
8675    pub AEGP_SetSolidFootageColor: ::std::option::Option<
8676        unsafe extern "C" fn(
8677            itemH: AEGP_ItemH,
8678            proxyB: A_Boolean,
8679            colorP: *const AEGP_ColorVal,
8680        ) -> A_Err,
8681    >,
8682    pub AEGP_SetSolidFootageDimensions: ::std::option::Option<
8683        unsafe extern "C" fn(
8684            itemH: AEGP_ItemH,
8685            proxyB: A_Boolean,
8686            widthL: A_long,
8687            heightL: A_long,
8688        ) -> A_Err,
8689    >,
8690    pub AEGP_GetFootageSoundDataFormat: ::std::option::Option<
8691        unsafe extern "C" fn(
8692            footageH: AEGP_FootageH,
8693            sound_formatP: *mut AEGP_SoundDataFormat,
8694        ) -> A_Err,
8695    >,
8696    pub AEGP_GetFootageSequenceImportOptions: ::std::option::Option<
8697        unsafe extern "C" fn(
8698            footageH: AEGP_FootageH,
8699            optionsP: *mut AEGP_FileSequenceImportOptions,
8700        ) -> A_Err,
8701    >,
8702}
8703pub type AEGP_Command = A_long;
8704pub const AEGP_WindType_NONE: _bindgen_ty_146 = 0;
8705pub const AEGP_WindType_PROJECT: _bindgen_ty_146 = 1;
8706pub const AEGP_WindType_COMP: _bindgen_ty_146 = 2;
8707pub const AEGP_WindType_TIME_LAYOUT: _bindgen_ty_146 = 3;
8708pub const AEGP_WindType_LAYER: _bindgen_ty_146 = 4;
8709pub const AEGP_WindType_FOOTAGE: _bindgen_ty_146 = 5;
8710pub const AEGP_WindType_RENDER_QUEUE: _bindgen_ty_146 = 6;
8711pub const AEGP_WindType_QT: _bindgen_ty_146 = 7;
8712pub const AEGP_WindType_DIALOG: _bindgen_ty_146 = 8;
8713pub const AEGP_WindType_FLOWCHART: _bindgen_ty_146 = 9;
8714pub const AEGP_WindType_EFFECT: _bindgen_ty_146 = 10;
8715pub const AEGP_WindType_OTHER: _bindgen_ty_146 = 11;
8716pub type _bindgen_ty_146 = ::std::os::raw::c_uint;
8717pub type AEGP_WindowType = A_LegacyEnumType;
8718pub const AEGP_HP_BeforeAE: _bindgen_ty_147 = 1;
8719pub const AEGP_HP_AfterAE: _bindgen_ty_147 = 2;
8720pub type _bindgen_ty_147 = ::std::os::raw::c_uint;
8721pub type AEGP_HookPriority = A_u_long;
8722pub type AEGP_CommandHook = ::std::option::Option<
8723    unsafe extern "C" fn(
8724        plugin_refconP: AEGP_GlobalRefcon,
8725        refconP: AEGP_CommandRefcon,
8726        command: AEGP_Command,
8727        hook_priority: AEGP_HookPriority,
8728        already_handledB: A_Boolean,
8729        handledPB: *mut A_Boolean,
8730    ) -> A_Err,
8731>;
8732pub type AEGP_UpdateMenuHook = ::std::option::Option<
8733    unsafe extern "C" fn(
8734        plugin_refconP: AEGP_GlobalRefcon,
8735        refconP: AEGP_UpdateMenuRefcon,
8736        active_window: AEGP_WindowType,
8737    ) -> A_Err,
8738>;
8739pub type AEGP_DeathHook = ::std::option::Option<
8740    unsafe extern "C" fn(plugin_refconP: AEGP_GlobalRefcon, refconP: AEGP_DeathRefcon) -> A_Err,
8741>;
8742pub type AEGP_VersionHook = ::std::option::Option<
8743    unsafe extern "C" fn(
8744        plugin_refconP: AEGP_GlobalRefcon,
8745        refconP: AEGP_VersionRefcon,
8746        pf_versionPLu: *mut A_u_long,
8747    ) -> A_Err,
8748>;
8749pub type AEGP_AboutStringHook = ::std::option::Option<
8750    unsafe extern "C" fn(
8751        plugin_refconP: AEGP_GlobalRefcon,
8752        refconP: AEGP_AboutStringRefcon,
8753        aboutZ: *mut A_char,
8754    ) -> A_Err,
8755>;
8756pub type AEGP_AboutHook = ::std::option::Option<
8757    unsafe extern "C" fn(plugin_refconP: AEGP_GlobalRefcon, refconP: AEGP_AboutRefcon) -> A_Err,
8758>;
8759pub type AEGP_IdleHook = ::std::option::Option<
8760    unsafe extern "C" fn(
8761        plugin_refconP: AEGP_GlobalRefcon,
8762        refconP: AEGP_IdleRefcon,
8763        max_sleepPL: *mut A_long,
8764    ) -> A_Err,
8765>;
8766#[repr(C)]
8767#[derive(Debug, Copy, Clone)]
8768pub struct AEGP_RegisterSuite5 {
8769    pub AEGP_RegisterCommandHook: ::std::option::Option<
8770        unsafe extern "C" fn(
8771            aegp_plugin_id: AEGP_PluginID,
8772            hook_priority: AEGP_HookPriority,
8773            command: AEGP_Command,
8774            command_hook_func: AEGP_CommandHook,
8775            refconP: AEGP_CommandRefcon,
8776        ) -> A_Err,
8777    >,
8778    pub AEGP_RegisterUpdateMenuHook: ::std::option::Option<
8779        unsafe extern "C" fn(
8780            plugin_id: AEGP_PluginID,
8781            update_menu_hook_func: AEGP_UpdateMenuHook,
8782            refconP: AEGP_UpdateMenuRefcon,
8783        ) -> A_Err,
8784    >,
8785    pub AEGP_RegisterDeathHook: ::std::option::Option<
8786        unsafe extern "C" fn(
8787            aegp_plugin_id: AEGP_PluginID,
8788            death_hook_func: AEGP_DeathHook,
8789            refconP: AEGP_DeathRefcon,
8790        ) -> A_Err,
8791    >,
8792    pub AEGP_RegisterVersionHook: ::std::option::Option<
8793        unsafe extern "C" fn(
8794            aegp_plugin_id: AEGP_PluginID,
8795            version_hook_func: AEGP_VersionHook,
8796            refconP: AEGP_VersionRefcon,
8797        ) -> A_Err,
8798    >,
8799    pub AEGP_RegisterAboutStringHook: ::std::option::Option<
8800        unsafe extern "C" fn(
8801            aegp_plugin_id: AEGP_PluginID,
8802            about_string_hook_func: AEGP_AboutStringHook,
8803            refconP: AEGP_AboutStringRefcon,
8804        ) -> A_Err,
8805    >,
8806    pub AEGP_RegisterAboutHook: ::std::option::Option<
8807        unsafe extern "C" fn(
8808            aegp_plugin_id: AEGP_PluginID,
8809            about_hook_func: AEGP_AboutHook,
8810            refconP: AEGP_AboutRefcon,
8811        ) -> A_Err,
8812    >,
8813    pub AEGP_RegisterArtisan: ::std::option::Option<
8814        unsafe extern "C" fn(
8815            api_version: A_Version,
8816            artisan_version: A_Version,
8817            aegp_plugin_id: AEGP_PluginID,
8818            aegp_refconPV: *mut ::std::os::raw::c_void,
8819            utf8_match_nameZ: *const A_char,
8820            artisan_nameZ: *const A_char,
8821            entry_funcs: *mut PR_ArtisanEntryPoints,
8822        ) -> A_Err,
8823    >,
8824    pub AEGP_RegisterIO: ::std::option::Option<
8825        unsafe extern "C" fn(
8826            aegp_plugin_id: AEGP_PluginID,
8827            aegp_refconP: AEGP_IORefcon,
8828            io_infoP: *const AEIO_ModuleInfo,
8829            aeio_fcn_blockP: *const AEIO_FunctionBlock4,
8830        ) -> A_Err,
8831    >,
8832    pub AEGP_RegisterIdleHook: ::std::option::Option<
8833        unsafe extern "C" fn(
8834            aegp_plugin_id: AEGP_PluginID,
8835            idle_hook_func: AEGP_IdleHook,
8836            refconP: AEGP_IdleRefcon,
8837        ) -> A_Err,
8838    >,
8839    pub AEGP_RegisterTracker: ::std::option::Option<
8840        unsafe extern "C" fn(
8841            api_version: A_Version,
8842            tracker_version: A_Version,
8843            aegp_plugin_id: AEGP_PluginID,
8844            refconP: AEGP_GlobalRefcon,
8845            utf8_match_nameZ: *const A_char,
8846            tracker_nameZ: *const A_char,
8847            entry_pointsP: *const PT_TrackerEntryPoints,
8848        ) -> A_Err,
8849    >,
8850    pub AEGP_RegisterInteractiveArtisan: ::std::option::Option<
8851        unsafe extern "C" fn(
8852            api_version: A_Version,
8853            artisan_version: A_Version,
8854            aegp_plugin_id: AEGP_PluginID,
8855            aegp_refconPV: *mut ::std::os::raw::c_void,
8856            utf8_match_nameZ: *const A_char,
8857            artisan_nameZ: *const A_char,
8858            entry_funcs: *mut PR_ArtisanEntryPoints,
8859        ) -> A_Err,
8860    >,
8861    pub AEGP_RegisterPresetLocalizationString: ::std::option::Option<
8862        unsafe extern "C" fn(english_nameZ: *const A_char, localized_nameZ: *const A_char) -> A_Err,
8863    >,
8864}
8865pub const AEGP_Menu_NONE: _bindgen_ty_148 = 0;
8866pub const AEGP_Menu_APPLE: _bindgen_ty_148 = 1;
8867pub const AEGP_Menu_FILE: _bindgen_ty_148 = 2;
8868pub const AEGP_Menu_EDIT: _bindgen_ty_148 = 3;
8869pub const AEGP_Menu_COMPOSITION: _bindgen_ty_148 = 4;
8870pub const AEGP_Menu_LAYER: _bindgen_ty_148 = 5;
8871pub const AEGP_Menu_EFFECT: _bindgen_ty_148 = 6;
8872pub const AEGP_Menu_WINDOW: _bindgen_ty_148 = 7;
8873pub const AEGP_Menu_FLOATERS: _bindgen_ty_148 = 8;
8874pub const AEGP_Menu_KF_ASSIST: _bindgen_ty_148 = 9;
8875pub const AEGP_Menu_IMPORT: _bindgen_ty_148 = 10;
8876pub const AEGP_Menu_SAVE_FRAME_AS: _bindgen_ty_148 = 11;
8877pub const AEGP_Menu_PREFS: _bindgen_ty_148 = 12;
8878pub const AEGP_Menu_EXPORT: _bindgen_ty_148 = 13;
8879pub const AEGP_Menu_ANIMATION: _bindgen_ty_148 = 14;
8880pub const AEGP_Menu_PURGE: _bindgen_ty_148 = 15;
8881pub const AEGP_Menu_NEW: _bindgen_ty_148 = 16;
8882pub type _bindgen_ty_148 = ::std::os::raw::c_uint;
8883pub type AEGP_MenuID = A_LegacyEnumType;
8884#[repr(C)]
8885#[derive(Debug, Copy, Clone)]
8886pub struct AEGP_CommandSuite1 {
8887    pub AEGP_GetUniqueCommand:
8888        ::std::option::Option<unsafe extern "C" fn(unique_commandP: *mut AEGP_Command) -> A_Err>,
8889    pub AEGP_InsertMenuCommand: ::std::option::Option<
8890        unsafe extern "C" fn(
8891            command: AEGP_Command,
8892            nameZ: *const A_char,
8893            menu_id: AEGP_MenuID,
8894            after_itemL: A_long,
8895        ) -> A_Err,
8896    >,
8897    pub AEGP_RemoveMenuCommand:
8898        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
8899    pub AEGP_SetMenuCommandName: ::std::option::Option<
8900        unsafe extern "C" fn(command: AEGP_Command, nameZ: *const A_char) -> A_Err,
8901    >,
8902    pub AEGP_EnableCommand:
8903        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
8904    pub AEGP_DisableCommand:
8905        ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
8906    pub AEGP_CheckMarkMenuCommand: ::std::option::Option<
8907        unsafe extern "C" fn(command: AEGP_Command, checkB: A_Boolean) -> A_Err,
8908    >,
8909    pub AEGP_DoCommand: ::std::option::Option<unsafe extern "C" fn(command: AEGP_Command) -> A_Err>,
8910}
8911#[repr(C)]
8912#[derive(Debug, Copy, Clone)]
8913pub struct AEGP_ErrReportState {
8914    pub reservedAL: [A_long; 12usize],
8915}
8916pub const AEGP_GetPathTypes_PLUGIN: _bindgen_ty_149 = 0;
8917pub const AEGP_GetPathTypes_USER_PLUGIN: _bindgen_ty_149 = 1;
8918pub const AEGP_GetPathTypes_ALLUSER_PLUGIN: _bindgen_ty_149 = 2;
8919pub const AEGP_GetPathTypes_APP: _bindgen_ty_149 = 3;
8920pub type _bindgen_ty_149 = ::std::os::raw::c_uint;
8921pub type AEGP_GetPathTypes = A_u_long;
8922#[repr(C)]
8923#[derive(Debug, Copy, Clone)]
8924pub struct AEGP_UtilitySuite6 {
8925    pub AEGP_ReportInfo: ::std::option::Option<
8926        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
8927    >,
8928    pub AEGP_ReportInfoUnicode: ::std::option::Option<
8929        unsafe extern "C" fn(
8930            aegp_plugin_id: AEGP_PluginID,
8931            info_stringP: *const A_UTF16Char,
8932        ) -> A_Err,
8933    >,
8934    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
8935        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
8936    >,
8937    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
8938        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
8939    >,
8940    pub AEGP_StartQuietErrors:
8941        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
8942    pub AEGP_EndQuietErrors: ::std::option::Option<
8943        unsafe extern "C" fn(
8944            report_quieted_errorsB: A_Boolean,
8945            err_stateP: *mut AEGP_ErrReportState,
8946        ) -> A_Err,
8947    >,
8948    pub AEGP_GetLastErrorMessage: ::std::option::Option<
8949        unsafe extern "C" fn(
8950            buffer_size: A_long,
8951            error_string: *mut A_char,
8952            error_num: *mut A_Err,
8953        ) -> A_Err,
8954    >,
8955    pub AEGP_StartUndoGroup:
8956        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
8957    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
8958    pub AEGP_RegisterWithAEGP: ::std::option::Option<
8959        unsafe extern "C" fn(
8960            global_refcon: AEGP_GlobalRefcon,
8961            plugin_nameZ: *const A_char,
8962            plugin_id: *mut AEGP_PluginID,
8963        ) -> A_Err,
8964    >,
8965    pub AEGP_GetMainHWND: ::std::option::Option<
8966        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
8967    >,
8968    pub AEGP_ShowHideAllFloaters:
8969        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
8970    pub AEGP_PaintPalGetForeColor:
8971        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
8972    pub AEGP_PaintPalGetBackColor:
8973        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
8974    pub AEGP_PaintPalSetForeColor:
8975        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
8976    pub AEGP_PaintPalSetBackColor:
8977        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
8978    pub AEGP_CharPalGetFillColor: ::std::option::Option<
8979        unsafe extern "C" fn(
8980            is_fill_color_definedPB: *mut A_Boolean,
8981            fill_colorP: *mut AEGP_ColorVal,
8982        ) -> A_Err,
8983    >,
8984    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
8985        unsafe extern "C" fn(
8986            is_stroke_color_definedPB: *mut A_Boolean,
8987            stroke_colorP: *mut AEGP_ColorVal,
8988        ) -> A_Err,
8989    >,
8990    pub AEGP_CharPalSetFillColor:
8991        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
8992    pub AEGP_CharPalSetStrokeColor:
8993        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
8994    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
8995        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
8996    >,
8997    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
8998        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
8999    >,
9000    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
9001        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
9002    >,
9003    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
9004    pub AEGP_GetSuppressInteractiveUI:
9005        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
9006    pub AEGP_WriteToOSConsole:
9007        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
9008    pub AEGP_WriteToDebugLog: ::std::option::Option<
9009        unsafe extern "C" fn(
9010            subsystemZ: *const A_char,
9011            event_typeZ: *const A_char,
9012            infoZ: *const A_char,
9013        ) -> A_Err,
9014    >,
9015    pub AEGP_IsScriptingAvailable:
9016        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
9017    pub AEGP_ExecuteScript: ::std::option::Option<
9018        unsafe extern "C" fn(
9019            inPlugin_id: AEGP_PluginID,
9020            inScriptZ: *const A_char,
9021            platform_encodingB: A_Boolean,
9022            outResultPH0: *mut AEGP_MemHandle,
9023            outErrorStringPH0: *mut AEGP_MemHandle,
9024        ) -> A_Err,
9025    >,
9026    pub AEGP_HostIsActivated:
9027        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
9028    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
9029        unsafe extern "C" fn(
9030            plug_id: AEGP_PluginID,
9031            plat_refPPV: *mut *mut ::std::os::raw::c_void,
9032        ) -> A_Err,
9033    >,
9034    pub AEGP_UpdateFontList: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
9035    pub AEGP_GetPluginPaths: ::std::option::Option<
9036        unsafe extern "C" fn(
9037            aegp_plugin_id: AEGP_PluginID,
9038            path_type: AEGP_GetPathTypes,
9039            unicode_pathPH: *mut AEGP_MemHandle,
9040        ) -> A_Err,
9041    >,
9042}
9043#[repr(C)]
9044#[derive(Debug, Copy, Clone)]
9045pub struct AEGP_MathSuite1 {
9046    pub AEGP_IdentityMatrix4:
9047        ::std::option::Option<unsafe extern "C" fn(matrixP: *mut A_Matrix4) -> A_Err>,
9048    pub AEGP_MultiplyMatrix4: ::std::option::Option<
9049        unsafe extern "C" fn(
9050            A: *const A_Matrix4,
9051            B: *const A_Matrix4,
9052            resultP: *mut A_Matrix4,
9053        ) -> A_Err,
9054    >,
9055    pub AEGP_Matrix3ToMatrix4: ::std::option::Option<
9056        unsafe extern "C" fn(A: *const A_Matrix3, B: *mut A_Matrix4) -> A_Err,
9057    >,
9058    pub AEGP_MultiplyMatrix4by3: ::std::option::Option<
9059        unsafe extern "C" fn(
9060            A: *const A_Matrix4,
9061            B: *const A_Matrix3,
9062            resultP: *mut A_Matrix4,
9063        ) -> A_Err,
9064    >,
9065    pub AEGP_MatrixDecompose4: ::std::option::Option<
9066        unsafe extern "C" fn(
9067            A: *const A_Matrix4,
9068            posVP: *mut A_FloatPoint3,
9069            scaleVP: *mut A_FloatPoint3,
9070            shearVP: *mut A_FloatPoint3,
9071            rotVP: *mut A_FloatPoint3,
9072        ) -> A_Err,
9073    >,
9074}
9075#[repr(C)]
9076#[derive(Debug, Copy, Clone)]
9077pub struct _PF_OpaqueBlendingTables {
9078    _unused: [u8; 0],
9079}
9080pub type PF_EffectBlendingTables = *mut _PF_OpaqueBlendingTables;
9081#[repr(C)]
9082#[derive(Debug, Copy, Clone)]
9083pub struct AEGP_ColorSettingsSuite5 {
9084    pub AEGP_GetBlendingTables: ::std::option::Option<
9085        unsafe extern "C" fn(
9086            render_contextH: PR_RenderContextH,
9087            blending_tables: *mut PF_EffectBlendingTables,
9088        ) -> A_Err,
9089    >,
9090    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
9091        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
9092    >,
9093    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
9094        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
9095    >,
9096    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
9097        unsafe extern "C" fn(
9098            aegp_plugin_id: AEGP_PluginID,
9099            compH: AEGP_CompH,
9100            color_profilePP: *mut AEGP_ColorProfileP,
9101        ) -> A_Err,
9102    >,
9103    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
9104        unsafe extern "C" fn(
9105            aegp_plugin_id: AEGP_PluginID,
9106            icc_sizeL: A_long,
9107            icc_dataPV: *const ::std::os::raw::c_void,
9108            color_profilePP: *mut AEGP_ColorProfileP,
9109        ) -> A_Err,
9110    >,
9111    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
9112        unsafe extern "C" fn(
9113            aegp_plugin_id: AEGP_PluginID,
9114            color_profileP: AEGP_ConstColorProfileP,
9115            icc_profilePH: *mut AEGP_MemHandle,
9116        ) -> A_Err,
9117    >,
9118    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
9119        unsafe extern "C" fn(
9120            aegp_plugin_id: AEGP_PluginID,
9121            color_profileP: AEGP_ConstColorProfileP,
9122            unicode_descPH: *mut AEGP_MemHandle,
9123        ) -> A_Err,
9124    >,
9125    pub AEGP_DisposeColorProfile:
9126        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
9127    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
9128        unsafe extern "C" fn(
9129            color_profileP: AEGP_ConstColorProfileP,
9130            approx_gammaP: *mut A_FpShort,
9131        ) -> A_Err,
9132    >,
9133    pub AEGP_IsRGBColorProfile: ::std::option::Option<
9134        unsafe extern "C" fn(
9135            color_profileP: AEGP_ConstColorProfileP,
9136            is_rgbPB: *mut A_Boolean,
9137        ) -> A_Err,
9138    >,
9139    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
9140        unsafe extern "C" fn(
9141            aegp_plugin_id: AEGP_PluginID,
9142            compH: AEGP_CompH,
9143            color_profileP: AEGP_ConstColorProfileP,
9144        ) -> A_Err,
9145    >,
9146    pub AEGP_IsOCIOColorManagementUsed: ::std::option::Option<
9147        unsafe extern "C" fn(
9148            aegp_plugin_id: AEGP_PluginID,
9149            is_OCIOColorManagementUsedPB: *mut A_Boolean,
9150        ) -> A_Err,
9151    >,
9152    pub AEGP_GetOCIOConfigurationFile: ::std::option::Option<
9153        unsafe extern "C" fn(
9154            aegp_plugin_id: AEGP_PluginID,
9155            config_filePH: *mut AEGP_MemHandle,
9156        ) -> A_Err,
9157    >,
9158    pub AEGP_GetOCIOConfigurationFilePath: ::std::option::Option<
9159        unsafe extern "C" fn(
9160            aegp_plugin_id: AEGP_PluginID,
9161            config_filePH: *mut AEGP_MemHandle,
9162        ) -> A_Err,
9163    >,
9164    pub AEGPD_GetOCIOWorkingColorSpace: ::std::option::Option<
9165        unsafe extern "C" fn(
9166            aegp_plugin_id: AEGP_PluginID,
9167            ocio_working_colorspaceH: *mut AEGP_MemHandle,
9168        ) -> A_Err,
9169    >,
9170    pub AEGPD_GetOCIODisplayColorSpace: ::std::option::Option<
9171        unsafe extern "C" fn(
9172            aegp_plugin_id: AEGP_PluginID,
9173            ocio_displayH: *mut AEGP_MemHandle,
9174            ocio_viewH: *mut AEGP_MemHandle,
9175        ) -> A_Err,
9176    >,
9177}
9178pub const AEGP_RenderQueueState_STOPPED: _bindgen_ty_150 = 0;
9179pub const AEGP_RenderQueueState_PAUSED: _bindgen_ty_150 = 1;
9180pub const AEGP_RenderQueueState_RENDERING: _bindgen_ty_150 = 2;
9181pub type _bindgen_ty_150 = ::std::os::raw::c_uint;
9182pub type AEGP_RenderQueueState = A_u_long;
9183pub const AEGP_RenderItemStatus_NONE: _bindgen_ty_151 = -2;
9184pub const AEGP_RenderItemStatus_WILL_CONTINUE: _bindgen_ty_151 = -1;
9185pub const AEGP_RenderItemStatus_NEEDS_OUTPUT: _bindgen_ty_151 = 0;
9186pub const AEGP_RenderItemStatus_UNQUEUED: _bindgen_ty_151 = 1;
9187pub const AEGP_RenderItemStatus_QUEUED: _bindgen_ty_151 = 2;
9188pub const AEGP_RenderItemStatus_RENDERING: _bindgen_ty_151 = 3;
9189pub const AEGP_RenderItemStatus_USER_STOPPED: _bindgen_ty_151 = 4;
9190pub const AEGP_RenderItemStatus_ERR_STOPPED: _bindgen_ty_151 = 5;
9191pub const AEGP_RenderItemStatus_DONE: _bindgen_ty_151 = 6;
9192pub const AEGP_RenderItemStatus_LAST_PLUS_ONE: _bindgen_ty_151 = 7;
9193pub type _bindgen_ty_151 = ::std::os::raw::c_int;
9194pub type AEGP_RenderItemStatusType = A_long;
9195#[repr(C)]
9196#[derive(Debug, Copy, Clone)]
9197pub struct AEGP_RenderQueueSuite1 {
9198    pub AEGP_AddCompToRenderQueue: ::std::option::Option<
9199        unsafe extern "C" fn(comp: AEGP_CompH, pathZ: *const A_char) -> A_Err,
9200    >,
9201    pub AEGP_SetRenderQueueState:
9202        ::std::option::Option<unsafe extern "C" fn(state: AEGP_RenderQueueState) -> A_Err>,
9203    pub AEGP_GetRenderQueueState:
9204        ::std::option::Option<unsafe extern "C" fn(stateP: *mut AEGP_RenderQueueState) -> A_Err>,
9205}
9206pub const AEGP_LogType_NONE: _bindgen_ty_152 = -1;
9207pub const AEGP_LogType_ERRORS_ONLY: _bindgen_ty_152 = 0;
9208pub const AEGP_LogType_PLUS_SETTINGS: _bindgen_ty_152 = 1;
9209pub const AEGP_LogType_PER_FRAME_INFO: _bindgen_ty_152 = 2;
9210pub const AEGP_LogType_NUM_TYPES: _bindgen_ty_152 = 3;
9211pub type _bindgen_ty_152 = ::std::os::raw::c_int;
9212pub type AEGP_LogType = A_long;
9213pub const AEGP_Embedding_NONE: _bindgen_ty_153 = -1;
9214pub const AEGP_Embedding_NOTHING: _bindgen_ty_153 = 0;
9215pub const AEGP_Embedding_LINK: _bindgen_ty_153 = 1;
9216pub const AEGP_Embedding_LINK_AND_COPY: _bindgen_ty_153 = 2;
9217pub const AEGP_Embedding_NUM_TYPES: _bindgen_ty_153 = 3;
9218pub type _bindgen_ty_153 = ::std::os::raw::c_int;
9219pub type AEGP_EmbeddingType = A_long;
9220pub const AEGP_PostRenderOptions_NONE: _bindgen_ty_154 = -1;
9221pub const AEGP_PostRenderOptions_IMPORT: _bindgen_ty_154 = 0;
9222pub const AEGP_PostRenderOptions_IMPORT_AND_REPLACE_USAGE: _bindgen_ty_154 = 1;
9223pub const AEGP_PostRenderOptions_SET_PROXY: _bindgen_ty_154 = 2;
9224pub const AEGP_PostRenderOptions_NUM_OPTIONS: _bindgen_ty_154 = 3;
9225pub type _bindgen_ty_154 = ::std::os::raw::c_int;
9226pub type AEGP_PostRenderAction = A_long;
9227pub const AEGP_OutputType_NONE: _bindgen_ty_155 = 0;
9228pub const AEGP_OutputType_VIDEO: _bindgen_ty_155 = 1;
9229pub const AEGP_OutputType_AUDIO: _bindgen_ty_155 = 2;
9230pub const AEGP_OutputType_NUM_TYPES: _bindgen_ty_155 = 3;
9231pub type _bindgen_ty_155 = ::std::os::raw::c_uint;
9232pub type AEGP_OutputTypes = A_long;
9233pub const AEGP_VideoChannels_NONE: _bindgen_ty_156 = -1;
9234pub const AEGP_VideoChannels_RGB: _bindgen_ty_156 = 0;
9235pub const AEGP_VideoChannels_RGBA: _bindgen_ty_156 = 1;
9236pub const AEGP_VideoChannels_ALPHA: _bindgen_ty_156 = 2;
9237pub const AEGP_VideoChannels_NUMTYPES: _bindgen_ty_156 = 3;
9238pub type _bindgen_ty_156 = ::std::os::raw::c_int;
9239pub type AEGP_VideoChannels = A_long;
9240pub const AEGP_StretchQual_NONE: _bindgen_ty_157 = -1;
9241pub const AEGP_StretchQual_LOW: _bindgen_ty_157 = 0;
9242pub const AEGP_StretchQual_HIGH: _bindgen_ty_157 = 1;
9243pub const AEGP_StretchQual_NUMTYPES: _bindgen_ty_157 = 2;
9244pub type _bindgen_ty_157 = ::std::os::raw::c_int;
9245pub type AEGP_StretchQuality = A_long;
9246pub const AEGP_OutputColorType_STRAIGHT: _bindgen_ty_158 = -1;
9247pub const AEGP_OutputColorType_PREMUL: _bindgen_ty_158 = 0;
9248pub type _bindgen_ty_158 = ::std::os::raw::c_int;
9249pub type AEGP_OutputColorType = A_long;
9250#[repr(C)]
9251#[derive(Debug, Copy, Clone)]
9252pub struct AEGP_RQItemSuite4 {
9253    pub AEGP_GetNumRQItems:
9254        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
9255    pub AEGP_GetRQItemByIndex: ::std::option::Option<
9256        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
9257    >,
9258    pub AEGP_GetNextRQItem: ::std::option::Option<
9259        unsafe extern "C" fn(
9260            current_rq_itemH: AEGP_RQItemRefH,
9261            next_rq_itemH: *mut AEGP_RQItemRefH,
9262        ) -> A_Err,
9263    >,
9264    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
9265        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
9266    >,
9267    pub AEGP_GetRenderState: ::std::option::Option<
9268        unsafe extern "C" fn(
9269            rq_itemH: AEGP_RQItemRefH,
9270            statusP: *mut AEGP_RenderItemStatusType,
9271        ) -> A_Err,
9272    >,
9273    pub AEGP_SetRenderState: ::std::option::Option<
9274        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
9275    >,
9276    pub AEGP_GetStartedTime: ::std::option::Option<
9277        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
9278    >,
9279    pub AEGP_GetElapsedTime: ::std::option::Option<
9280        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
9281    >,
9282    pub AEGP_GetLogType: ::std::option::Option<
9283        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
9284    >,
9285    pub AEGP_SetLogType: ::std::option::Option<
9286        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
9287    >,
9288    pub AEGP_RemoveOutputModule: ::std::option::Option<
9289        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
9290    >,
9291    pub AEGP_GetComment: ::std::option::Option<
9292        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, unicodeH: *mut AEGP_MemHandle) -> A_Err,
9293    >,
9294    pub AEGP_SetComment: ::std::option::Option<
9295        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_UTF16Char) -> A_Err,
9296    >,
9297    pub AEGP_GetCompFromRQItem: ::std::option::Option<
9298        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
9299    >,
9300    pub AEGP_DeleteRQItem:
9301        ::std::option::Option<unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH) -> A_Err>,
9302}
9303#[repr(C)]
9304#[derive(Debug, Copy, Clone)]
9305pub struct AEGP_OutputModuleSuite4 {
9306    pub AEGP_GetOutputModuleByIndex: ::std::option::Option<
9307        unsafe extern "C" fn(
9308            rq_itemH: AEGP_RQItemRefH,
9309            outmod_indexL: A_long,
9310            outmodPH: *mut AEGP_OutputModuleRefH,
9311        ) -> A_Err,
9312    >,
9313    pub AEGP_GetEmbedOptions: ::std::option::Option<
9314        unsafe extern "C" fn(
9315            rq_itemH: AEGP_RQItemRefH,
9316            outmodH: AEGP_OutputModuleRefH,
9317            embed_optionsP: *mut AEGP_EmbeddingType,
9318        ) -> A_Err,
9319    >,
9320    pub AEGP_SetEmbedOptions: ::std::option::Option<
9321        unsafe extern "C" fn(
9322            rq_itemH: AEGP_RQItemRefH,
9323            outmodH: AEGP_OutputModuleRefH,
9324            embed_options: AEGP_EmbeddingType,
9325        ) -> A_Err,
9326    >,
9327    pub AEGP_GetPostRenderAction: ::std::option::Option<
9328        unsafe extern "C" fn(
9329            rq_itemH: AEGP_RQItemRefH,
9330            outmodH: AEGP_OutputModuleRefH,
9331            post_render_actionP: *mut AEGP_PostRenderAction,
9332        ) -> A_Err,
9333    >,
9334    pub AEGP_SetPostRenderAction: ::std::option::Option<
9335        unsafe extern "C" fn(
9336            rq_itemH: AEGP_RQItemRefH,
9337            outmodH: AEGP_OutputModuleRefH,
9338            post_render_action: AEGP_PostRenderAction,
9339        ) -> A_Err,
9340    >,
9341    pub AEGP_GetEnabledOutputs: ::std::option::Option<
9342        unsafe extern "C" fn(
9343            rq_itemH: AEGP_RQItemRefH,
9344            outmodH: AEGP_OutputModuleRefH,
9345            enabled_typesP: *mut AEGP_OutputTypes,
9346        ) -> A_Err,
9347    >,
9348    pub AEGP_SetEnabledOutputs: ::std::option::Option<
9349        unsafe extern "C" fn(
9350            rq_itemH: AEGP_RQItemRefH,
9351            outmodH: AEGP_OutputModuleRefH,
9352            enabled_types: AEGP_OutputTypes,
9353        ) -> A_Err,
9354    >,
9355    pub AEGP_GetOutputChannels: ::std::option::Option<
9356        unsafe extern "C" fn(
9357            rq_itemH: AEGP_RQItemRefH,
9358            outmodH: AEGP_OutputModuleRefH,
9359            output_channelsP: *mut AEGP_VideoChannels,
9360        ) -> A_Err,
9361    >,
9362    pub AEGP_SetOutputChannels: ::std::option::Option<
9363        unsafe extern "C" fn(
9364            rq_itemH: AEGP_RQItemRefH,
9365            outmodH: AEGP_OutputModuleRefH,
9366            output_channels: AEGP_VideoChannels,
9367        ) -> A_Err,
9368    >,
9369    pub AEGP_GetStretchInfo: ::std::option::Option<
9370        unsafe extern "C" fn(
9371            rq_itemH: AEGP_RQItemRefH,
9372            outmodH: AEGP_OutputModuleRefH,
9373            is_enabledPB: *mut A_Boolean,
9374            stretch_qualityP: *mut AEGP_StretchQuality,
9375            lockedPB: *mut A_Boolean,
9376        ) -> A_Err,
9377    >,
9378    pub AEGP_SetStretchInfo: ::std::option::Option<
9379        unsafe extern "C" fn(
9380            rq_itemH: AEGP_RQItemRefH,
9381            outmodH: AEGP_OutputModuleRefH,
9382            is_enabledB: A_Boolean,
9383            stretch_quality: AEGP_StretchQuality,
9384        ) -> A_Err,
9385    >,
9386    pub AEGP_GetCropInfo: ::std::option::Option<
9387        unsafe extern "C" fn(
9388            rq_itemH: AEGP_RQItemRefH,
9389            outmodH: AEGP_OutputModuleRefH,
9390            is_enabledBP: *mut A_Boolean,
9391            crop_rectP: *mut A_Rect,
9392        ) -> A_Err,
9393    >,
9394    pub AEGP_SetCropInfo: ::std::option::Option<
9395        unsafe extern "C" fn(
9396            rq_itemH: AEGP_RQItemRefH,
9397            outmodH: AEGP_OutputModuleRefH,
9398            enableB: A_Boolean,
9399            crop_rect: A_Rect,
9400        ) -> A_Err,
9401    >,
9402    pub AEGP_GetSoundFormatInfo: ::std::option::Option<
9403        unsafe extern "C" fn(
9404            rq_itemH: AEGP_RQItemRefH,
9405            outmodH: AEGP_OutputModuleRefH,
9406            sound_format_infoP: *mut AEGP_SoundDataFormat,
9407            audio_enabledPB: *mut A_Boolean,
9408        ) -> A_Err,
9409    >,
9410    pub AEGP_SetSoundFormatInfo: ::std::option::Option<
9411        unsafe extern "C" fn(
9412            rq_itemH: AEGP_RQItemRefH,
9413            outmodH: AEGP_OutputModuleRefH,
9414            sound_format_info: AEGP_SoundDataFormat,
9415            audio_enabledB: A_Boolean,
9416        ) -> A_Err,
9417    >,
9418    pub AEGP_GetOutputFilePath: ::std::option::Option<
9419        unsafe extern "C" fn(
9420            rq_itemH: AEGP_RQItemRefH,
9421            outmodH: AEGP_OutputModuleRefH,
9422            unicode_pathPH: *mut AEGP_MemHandle,
9423        ) -> A_Err,
9424    >,
9425    pub AEGP_SetOutputFilePath: ::std::option::Option<
9426        unsafe extern "C" fn(
9427            rq_itemH: AEGP_RQItemRefH,
9428            outmodH: AEGP_OutputModuleRefH,
9429            pathZ: *const A_UTF16Char,
9430        ) -> A_Err,
9431    >,
9432    pub AEGP_AddDefaultOutputModule: ::std::option::Option<
9433        unsafe extern "C" fn(
9434            rq_itemH: AEGP_RQItemRefH,
9435            outmodPH: *mut AEGP_OutputModuleRefH,
9436        ) -> A_Err,
9437    >,
9438    pub AEGP_GetExtraOutputModuleInfo: ::std::option::Option<
9439        unsafe extern "C" fn(
9440            rq_itemH: AEGP_RQItemRefH,
9441            outmodH: AEGP_OutputModuleRefH,
9442            format_unicodePH: *mut AEGP_MemHandle,
9443            info__unicodePH: *mut AEGP_MemHandle,
9444            is_sequenceBP: *mut A_Boolean,
9445            multi_frameBP: *mut A_Boolean,
9446        ) -> A_Err,
9447    >,
9448}
9449pub const AEGP_RenderHints_NONE: _bindgen_ty_159 = 0;
9450pub const AEGP_RenderHints_IGNORE_EXTENTS: _bindgen_ty_159 = 1;
9451pub const AEGP_RenderHints_NO_TRANSFER_MODE: _bindgen_ty_159 = 2;
9452pub type _bindgen_ty_159 = ::std::os::raw::c_uint;
9453pub type AEGP_RenderHints = A_u_long;
9454pub const AEGP_RenderReceiptStatus_INVALID: _bindgen_ty_160 = 0;
9455pub const AEGP_RenderReceiptStatus_VALID: _bindgen_ty_160 = 1;
9456pub const AEGP_RenderReceiptStatus_VALID_BUT_INCOMPLETE: _bindgen_ty_160 = 2;
9457pub type _bindgen_ty_160 = ::std::os::raw::c_uint;
9458pub type AEGP_RenderReceiptStatus = A_u_long;
9459pub const AEGP_BinType_NONE: _bindgen_ty_161 = -1;
9460pub const AEGP_BinType_2D: _bindgen_ty_161 = 0;
9461pub const AEGP_BinType_3D: _bindgen_ty_161 = 1;
9462pub type _bindgen_ty_161 = ::std::os::raw::c_int;
9463pub type AEGP_BinType = A_long;
9464pub type AEGP_PlatformWindowRef = *mut ::std::os::raw::c_void;
9465pub const AEGP_DisplayChannel_NONE: _bindgen_ty_162 = 0;
9466pub const AEGP_DisplayChannel_RED: _bindgen_ty_162 = 1;
9467pub const AEGP_DisplayChannel_GREEN: _bindgen_ty_162 = 2;
9468pub const AEGP_DisplayChannel_BLUE: _bindgen_ty_162 = 3;
9469pub const AEGP_DisplayChannel_ALPHA: _bindgen_ty_162 = 4;
9470pub const AEGP_DisplayChannel_RED_ALT: _bindgen_ty_162 = 5;
9471pub const AEGP_DisplayChannel_GREEN_ALT: _bindgen_ty_162 = 6;
9472pub const AEGP_DisplayChannel_BLUE_ALT: _bindgen_ty_162 = 7;
9473pub const AEGP_DisplayChannel_ALPHA_ALT: _bindgen_ty_162 = 8;
9474pub const AEGP_DisplayChannel_NUM_ITEMS: _bindgen_ty_162 = 9;
9475pub type _bindgen_ty_162 = ::std::os::raw::c_uint;
9476pub type AEGP_DisplayChannelType = A_long;
9477pub const AEGP_RenderNumEffects_ALL_EFFECTS: _bindgen_ty_163 = -1;
9478pub type _bindgen_ty_163 = ::std::os::raw::c_int;
9479pub type AEGP_NumEffectsToRenderType = A_short;
9480#[repr(C)]
9481#[derive(Debug, Copy, Clone)]
9482pub struct AEGP_CanvasSuite8 {
9483    pub AEGP_GetCompToRender: ::std::option::Option<
9484        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
9485    >,
9486    pub AEGP_GetNumLayersToRender: ::std::option::Option<
9487        unsafe extern "C" fn(
9488            render_contextH: PR_RenderContextH,
9489            num_to_renderPL: *mut A_long,
9490        ) -> A_Err,
9491    >,
9492    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
9493        unsafe extern "C" fn(
9494            render_contextH: PR_RenderContextH,
9495            n: A_long,
9496            layer_contextPH: *mut AEGP_RenderLayerContextH,
9497        ) -> A_Err,
9498    >,
9499    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
9500        unsafe extern "C" fn(
9501            render_contextH: PR_RenderContextH,
9502            layer_contextH: AEGP_RenderLayerContextH,
9503            layerPH: *mut AEGP_LayerH,
9504        ) -> A_Err,
9505    >,
9506    pub AEGP_GetLayerAndSubLayerFromLayerContext: ::std::option::Option<
9507        unsafe extern "C" fn(
9508            render_contextH: PR_RenderContextH,
9509            layer_contextH: AEGP_RenderLayerContextH,
9510            layerPH: *mut AEGP_LayerH,
9511            sublayerP: *mut AEGP_SubLayerIndex,
9512        ) -> A_Err,
9513    >,
9514    #[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"]
9515    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
9516        unsafe extern "C" fn(
9517            render_contextH: PR_RenderContextH,
9518            layer_contextH: AEGP_RenderLayerContextH,
9519            layerPH: *mut AEGP_LayerH,
9520        ) -> A_Err,
9521    >,
9522    pub AEGP_GetCompRenderTime: ::std::option::Option<
9523        unsafe extern "C" fn(
9524            render_contextH: PR_RenderContextH,
9525            time: *mut A_Time,
9526            time_step: *mut A_Time,
9527        ) -> A_Err,
9528    >,
9529    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
9530        unsafe extern "C" fn(
9531            render_contextH: PR_RenderContextH,
9532            compH: AEGP_CompH,
9533            dst: *mut AEGP_WorldH,
9534        ) -> A_Err,
9535    >,
9536    pub AEGP_GetROI: ::std::option::Option<
9537        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
9538    >,
9539    pub AEGP_RenderTexture: ::std::option::Option<
9540        unsafe extern "C" fn(
9541            render_contextH: PR_RenderContextH,
9542            layer_contextH: AEGP_RenderLayerContextH,
9543            render_hints: AEGP_RenderHints,
9544            suggested_scaleP0: *mut A_FloatPoint,
9545            suggested_src_rectP0: *mut A_FloatRect,
9546            src_matrixP0: *mut A_Matrix3,
9547            dstPH: *mut AEGP_WorldH,
9548        ) -> A_Err,
9549    >,
9550    pub AEGP_DisposeTexture: ::std::option::Option<
9551        unsafe extern "C" fn(
9552            render_contextH: PR_RenderContextH,
9553            layer_contextH: AEGP_RenderLayerContextH,
9554            dstH0: AEGP_WorldH,
9555        ) -> A_Err,
9556    >,
9557    pub AEGP_GetFieldRender: ::std::option::Option<
9558        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
9559    >,
9560    pub AEGP_ReportArtisanProgress: ::std::option::Option<
9561        unsafe extern "C" fn(
9562            render_contextH: PR_RenderContextH,
9563            countL: A_long,
9564            totalL: A_long,
9565        ) -> A_Err,
9566    >,
9567    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
9568        unsafe extern "C" fn(
9569            render_contextH: PR_RenderContextH,
9570            dsfP: *mut AEGP_DownsampleFactor,
9571        ) -> A_Err,
9572    >,
9573    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
9574        unsafe extern "C" fn(
9575            render_contextH: PR_RenderContextH,
9576            dsfP: *mut AEGP_DownsampleFactor,
9577        ) -> A_Err,
9578    >,
9579    pub AEGP_IsBlankCanvas: ::std::option::Option<
9580        unsafe extern "C" fn(
9581            render_contextH: PR_RenderContextH,
9582            is_blankPB: *mut A_Boolean,
9583        ) -> A_Err,
9584    >,
9585    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
9586        unsafe extern "C" fn(
9587            render_contextH: PR_RenderContextH,
9588            layer_contextH: AEGP_RenderLayerContextH,
9589            comp_timeP: *const A_Time,
9590            transform: *mut A_Matrix4,
9591        ) -> A_Err,
9592    >,
9593    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
9594        unsafe extern "C" fn(
9595            render_contextH: PR_RenderContextH,
9596            layer_contextH: AEGP_RenderLayerContextH,
9597            comp_timeP: *const A_Time,
9598            boundsP: *mut A_LegacyRect,
9599        ) -> A_Err,
9600    >,
9601    pub AEGP_GetRenderOpacity: ::std::option::Option<
9602        unsafe extern "C" fn(
9603            render_contextH: PR_RenderContextH,
9604            layer_contextH: AEGP_RenderLayerContextH,
9605            comp_timePT: *const A_Time,
9606            opacityPF: *mut A_FpLong,
9607        ) -> A_Err,
9608    >,
9609    pub AEGP_IsRenderLayerActive: ::std::option::Option<
9610        unsafe extern "C" fn(
9611            render_contextH: PR_RenderContextH,
9612            layer_contextH: AEGP_RenderLayerContextH,
9613            comp_timePT: *const A_Time,
9614            activePB: *mut A_Boolean,
9615        ) -> A_Err,
9616    >,
9617    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
9618        unsafe extern "C" fn(
9619            render_contextH: PR_RenderContextH,
9620            countL: A_long,
9621            num_layersL: A_long,
9622        ) -> A_Err,
9623    >,
9624    pub AEGP_RenderLayerPlus: ::std::option::Option<
9625        unsafe extern "C" fn(
9626            render_contextH: PR_RenderContextH,
9627            layerH: AEGP_LayerH,
9628            layer_contextH: AEGP_RenderLayerContextH,
9629            render_hints: AEGP_RenderHints,
9630            render_bufferPH: *mut AEGP_WorldH,
9631        ) -> A_Err,
9632    >,
9633    pub AEGP_GetTrackMatteContext: ::std::option::Option<
9634        unsafe extern "C" fn(
9635            render_contextH: PR_RenderContextH,
9636            fill_contextH: AEGP_RenderLayerContextH,
9637            matte_contextPH: *mut AEGP_RenderLayerContextH,
9638        ) -> A_Err,
9639    >,
9640    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
9641        unsafe extern "C" fn(
9642            render_contextH: PR_RenderContextH,
9643            layer_contextH: AEGP_RenderLayerContextH,
9644            render_hints: AEGP_RenderHints,
9645            num_effectsS: AEGP_NumEffectsToRenderType,
9646            suggested_scaleP0: *mut A_FloatPoint,
9647            suggested_src_rectP0: *mut A_FloatRect,
9648            src_matrixP0: *mut A_Matrix3,
9649            render_receiptPH: *mut AEGP_RenderReceiptH,
9650            dstPH: *mut AEGP_WorldH,
9651        ) -> A_Err,
9652    >,
9653    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
9654        unsafe extern "C" fn(
9655            render_contextH: PR_RenderContextH,
9656            layer_contextH: AEGP_RenderLayerContextH,
9657            num_software_effectsPS: *mut A_short,
9658        ) -> A_Err,
9659    >,
9660    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
9661        unsafe extern "C" fn(
9662            render_contextH: PR_RenderContextH,
9663            layerH: AEGP_LayerH,
9664            layer_contextH: AEGP_RenderLayerContextH,
9665            render_hints: AEGP_RenderHints,
9666            render_receiptPH: *mut AEGP_RenderReceiptH,
9667            render_bufferPH: *mut AEGP_WorldH,
9668        ) -> A_Err,
9669    >,
9670    pub AEGP_DisposeRenderReceipt:
9671        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
9672    pub AEGP_CheckRenderReceipt: ::std::option::Option<
9673        unsafe extern "C" fn(
9674            current_render_contextH: PR_RenderContextH,
9675            current_layer_contextH: AEGP_RenderLayerContextH,
9676            old_render_receiptH: AEGP_RenderReceiptH,
9677            check_geometricsB: A_Boolean,
9678            num_effectsS: AEGP_NumEffectsToRenderType,
9679            receipt_statusP: *mut AEGP_RenderReceiptStatus,
9680        ) -> A_Err,
9681    >,
9682    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
9683        unsafe extern "C" fn(
9684            current_render_contextH: PR_RenderContextH,
9685            current_layer_contextH: AEGP_RenderLayerContextH,
9686            num_effectsS: AEGP_NumEffectsToRenderType,
9687            render_receiptPH: *mut AEGP_RenderReceiptH,
9688        ) -> A_Err,
9689    >,
9690    pub AEGP_GetNumBinsToRender: ::std::option::Option<
9691        unsafe extern "C" fn(
9692            render_contextH: PR_RenderContextH,
9693            num_bins_to_renderPL: *mut A_long,
9694        ) -> A_Err,
9695    >,
9696    pub AEGP_SetNthBin: ::std::option::Option<
9697        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
9698    >,
9699    pub AEGP_GetBinType: ::std::option::Option<
9700        unsafe extern "C" fn(
9701            render_contextH: PR_RenderContextH,
9702            bin_typeP: *mut AEGP_BinType,
9703        ) -> A_Err,
9704    >,
9705    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
9706        unsafe extern "C" fn(
9707            render_contextH: PR_RenderContextH,
9708            layer_contextH: AEGP_RenderLayerContextH,
9709            comp_timeP: *const A_Time,
9710            only_2dB: A_Boolean,
9711            transform: *mut A_Matrix4,
9712        ) -> A_Err,
9713    >,
9714    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
9715        unsafe extern "C" fn(
9716            render_contextH: PR_RenderContextH,
9717            window_refP: *mut AEGP_PlatformWindowRef,
9718        ) -> A_Err,
9719    >,
9720    pub AEGP_GetViewportScale: ::std::option::Option<
9721        unsafe extern "C" fn(
9722            render_contextH: PR_RenderContextH,
9723            scale_xPF: *mut A_FpLong,
9724            scale_yPF: *mut A_FpLong,
9725        ) -> A_Err,
9726    >,
9727    pub AEGP_GetViewportOrigin: ::std::option::Option<
9728        unsafe extern "C" fn(
9729            render_contextH: PR_RenderContextH,
9730            origin_xPL: *mut A_long,
9731            origin_yPL: *mut A_long,
9732        ) -> A_Err,
9733    >,
9734    pub AEGP_GetViewportRect: ::std::option::Option<
9735        unsafe extern "C" fn(
9736            render_contextH: PR_RenderContextH,
9737            viewport_rectPR: *mut A_LegacyRect,
9738        ) -> A_Err,
9739    >,
9740    pub AEGP_GetFallowColor: ::std::option::Option<
9741        unsafe extern "C" fn(
9742            render_contextH: PR_RenderContextH,
9743            fallow_colorP: *mut PF_Pixel8,
9744        ) -> A_Err,
9745    >,
9746    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
9747        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
9748    >,
9749    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
9750        unsafe extern "C" fn(
9751            render_contextH: PR_RenderContextH,
9752            checkerboard_onPB: *mut A_Boolean,
9753        ) -> A_Err,
9754    >,
9755    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
9756        unsafe extern "C" fn(
9757            render_contextH: PR_RenderContextH,
9758            checkerboard_color1P: *mut PF_Pixel,
9759            checkerboard_color2P: *mut PF_Pixel,
9760        ) -> A_Err,
9761    >,
9762    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
9763        unsafe extern "C" fn(
9764            render_contextH: PR_RenderContextH,
9765            checkerboard_widthPLu: *mut A_u_long,
9766            checkerboard_heightPLu: *mut A_u_long,
9767        ) -> A_Err,
9768    >,
9769    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
9770        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
9771    >,
9772    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
9773        unsafe extern "C" fn(
9774            render_contextH: PR_RenderContextH,
9775            layer_contextH: AEGP_RenderLayerContextH,
9776            use_render_texturePB: *mut A_Boolean,
9777        ) -> A_Err,
9778    >,
9779    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
9780        unsafe extern "C" fn(
9781            render_contextH: PR_RenderContextH,
9782            display_channelP: *mut AEGP_DisplayChannelType,
9783        ) -> A_Err,
9784    >,
9785    pub AEGP_GetInteractiveExposure: ::std::option::Option<
9786        unsafe extern "C" fn(
9787            render_contextH: PR_RenderContextH,
9788            exposurePF: *mut A_FpLong,
9789        ) -> A_Err,
9790    >,
9791    pub AEGP_GetColorTransform: ::std::option::Option<
9792        unsafe extern "C" fn(
9793            render_contextH: PR_RenderContextH,
9794            cms_onB: *mut A_Boolean,
9795            xform_keyLu: *mut A_u_long,
9796            xformP: *mut ::std::os::raw::c_void,
9797        ) -> A_Err,
9798    >,
9799    pub AEGP_GetCompShutterTime: ::std::option::Option<
9800        unsafe extern "C" fn(
9801            render_contextH: PR_RenderContextH,
9802            shutter_time: *mut A_Time,
9803            shutter_dur: *mut A_Time,
9804        ) -> A_Err,
9805    >,
9806    pub AEGP_MapCompToLayerTime: ::std::option::Option<
9807        unsafe extern "C" fn(
9808            render_contextH: PR_RenderContextH,
9809            layer_contextH: AEGP_RenderLayerContextH,
9810            comp_timePT: *const A_Time,
9811            layer_timePT: *mut A_Time,
9812        ) -> A_Err,
9813    >,
9814}
9815#[repr(C)]
9816#[derive(Debug, Copy, Clone)]
9817pub struct AEGP_ArtisanUtilSuite1 {
9818    pub AEGP_GetGlobalContextFromInstanceContext: ::std::option::Option<
9819        unsafe extern "C" fn(
9820            instance_contextH: PR_InstanceContextH,
9821            global_contextPH: *mut PR_GlobalContextH,
9822        ) -> A_Err,
9823    >,
9824    pub AEGP_GetInstanceContextFromRenderContext: ::std::option::Option<
9825        unsafe extern "C" fn(
9826            render_contextH: PR_RenderContextH,
9827            instance_contextPH: *mut PR_InstanceContextH,
9828        ) -> A_Err,
9829    >,
9830    pub AEGP_GetInstanceContextFromQueryContext: ::std::option::Option<
9831        unsafe extern "C" fn(
9832            query_contextH: PR_QueryContextH,
9833            instance_contextPH: *mut PR_InstanceContextH,
9834        ) -> A_Err,
9835    >,
9836    pub AEGP_GetGlobalData: ::std::option::Option<
9837        unsafe extern "C" fn(
9838            global_contextH: PR_GlobalContextH,
9839            global_dataPH: *mut PR_GlobalDataH,
9840        ) -> A_Err,
9841    >,
9842    pub AEGP_GetInstanceData: ::std::option::Option<
9843        unsafe extern "C" fn(
9844            instance_contextH: PR_InstanceContextH,
9845            instance_dataPH: *mut PR_InstanceDataH,
9846        ) -> A_Err,
9847    >,
9848    pub AEGP_GetRenderData: ::std::option::Option<
9849        unsafe extern "C" fn(
9850            render_contextH: PR_RenderContextH,
9851            render_dataPH: *mut PR_RenderDataH,
9852        ) -> A_Err,
9853    >,
9854}
9855#[repr(C)]
9856#[derive(Debug, Copy, Clone)]
9857pub struct AEGP_CameraSuite2 {
9858    pub AEGP_GetCamera: ::std::option::Option<
9859        unsafe extern "C" fn(
9860            render_contextH: PR_RenderContextH,
9861            comp_timeP: *const A_Time,
9862            camera_layerPH: *mut AEGP_LayerH,
9863        ) -> A_Err,
9864    >,
9865    pub AEGP_GetCameraType: ::std::option::Option<
9866        unsafe extern "C" fn(
9867            camera_layerH: AEGP_LayerH,
9868            camera_typeP: *mut AEGP_CameraType,
9869        ) -> A_Err,
9870    >,
9871    pub AEGP_GetDefaultCameraDistanceToImagePlane: ::std::option::Option<
9872        unsafe extern "C" fn(compH: AEGP_CompH, dist_to_planePF: *mut A_FpLong) -> A_Err,
9873    >,
9874    pub AEGP_GetCameraFilmSize: ::std::option::Option<
9875        unsafe extern "C" fn(
9876            camera_layerH: AEGP_LayerH,
9877            film_size_unitsP: *mut AEGP_FilmSizeUnits,
9878            film_sizePF0: *mut A_FpLong,
9879        ) -> A_Err,
9880    >,
9881    pub AEGP_SetCameraFilmSize: ::std::option::Option<
9882        unsafe extern "C" fn(
9883            camera_layerH: AEGP_LayerH,
9884            film_size_units: AEGP_FilmSizeUnits,
9885            film_sizePF0: *mut A_FpLong,
9886        ) -> A_Err,
9887    >,
9888}
9889#[repr(C)]
9890#[derive(Debug, Copy, Clone)]
9891pub struct AEGP_LightSuite2 {
9892    pub AEGP_GetLightType: ::std::option::Option<
9893        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_typeP: *mut AEGP_LightType) -> A_Err,
9894    >,
9895    pub AEGP_SetLightType: ::std::option::Option<
9896        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_type: AEGP_LightType) -> A_Err,
9897    >,
9898}
9899pub const AEGP_Query_Xform_LAYER: _bindgen_ty_164 = 0;
9900pub const AEGP_Query_Xform_WORLD: _bindgen_ty_164 = 1;
9901pub const AEGP_Query_Xform_VIEW: _bindgen_ty_164 = 2;
9902pub const AEGP_Query_Xform_SCREEN: _bindgen_ty_164 = 3;
9903#[doc = " the type of source or dst transformation wanted"]
9904pub type _bindgen_ty_164 = ::std::os::raw::c_uint;
9905pub type AEGP_QueryXformType = A_u_long;
9906#[repr(C)]
9907#[derive(Debug, Copy, Clone)]
9908pub struct AEGP_QueryXformSuite2 {
9909    pub AEGP_QueryXformGetSrcType: ::std::option::Option<
9910        unsafe extern "C" fn(
9911            query_contextH: PR_QueryContextH,
9912            src_type: *mut AEGP_QueryXformType,
9913        ) -> A_Err,
9914    >,
9915    pub AEGP_QueryXformGetDstType: ::std::option::Option<
9916        unsafe extern "C" fn(
9917            query_contextH: PR_QueryContextH,
9918            dst_type: *mut AEGP_QueryXformType,
9919        ) -> A_Err,
9920    >,
9921    pub AEGP_QueryXformGetLayer: ::std::option::Option<
9922        unsafe extern "C" fn(query_contextH: PR_QueryContextH, layerPH: *mut AEGP_LayerH) -> A_Err,
9923    >,
9924    pub AEGP_QueryXformGetComp: ::std::option::Option<
9925        unsafe extern "C" fn(query_contextH: PR_QueryContextH, compPH: *mut AEGP_CompH) -> A_Err,
9926    >,
9927    pub AEGP_QueryXformGetTransformTime: ::std::option::Option<
9928        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
9929    >,
9930    pub AEGP_QueryXformGetViewTime: ::std::option::Option<
9931        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
9932    >,
9933    pub AEGP_QueryXformGetCamera: ::std::option::Option<
9934        unsafe extern "C" fn(
9935            query_contextH: PR_QueryContextH,
9936            camera_layerPH: *mut AEGP_LayerH,
9937        ) -> A_Err,
9938    >,
9939    pub AEGP_QueryXformGetXform: ::std::option::Option<
9940        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
9941    >,
9942    pub AEGP_QueryXformSetXform: ::std::option::Option<
9943        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
9944    >,
9945    pub AEGP_QueryWindowRef: ::std::option::Option<
9946        unsafe extern "C" fn(
9947            query_contextH: PR_QueryContextH,
9948            window_refP: *mut AEGP_PlatformWindowRef,
9949        ) -> A_Err,
9950    >,
9951    pub AEGP_QueryWindowClear: ::std::option::Option<
9952        unsafe extern "C" fn(
9953            query_contextH: PR_QueryContextH,
9954            window_refP: *mut AEGP_PlatformWindowRef,
9955            boundsPR: *mut A_LegacyRect,
9956        ) -> A_Err,
9957    >,
9958    pub AEGP_QueryFrozenProxy: ::std::option::Option<
9959        unsafe extern "C" fn(query_contextH: PR_QueryContextH, onPB: *mut A_Boolean) -> A_Err,
9960    >,
9961    pub AEGP_QuerySwapBuffer: ::std::option::Option<
9962        unsafe extern "C" fn(
9963            query_contextH: PR_QueryContextH,
9964            window_refP: *mut AEGP_PlatformWindowRef,
9965            dest_bufferp: *mut AEGP_WorldH,
9966        ) -> A_Err,
9967    >,
9968    pub AEGP_QueryDrawProcs: ::std::option::Option<
9969        unsafe extern "C" fn(
9970            query_contextH: PR_QueryContextH,
9971            window_refP: *mut PR_InteractiveDrawProcs,
9972        ) -> A_Err,
9973    >,
9974    pub AEGP_QueryPrepareForLineDrawing: ::std::option::Option<
9975        unsafe extern "C" fn(
9976            query_contextH: PR_QueryContextH,
9977            window_refP: *mut AEGP_PlatformWindowRef,
9978            viewportP: *mut A_LegacyRect,
9979            originP: *mut A_LPoint,
9980            scaleP: *mut A_FloatPoint,
9981        ) -> A_Err,
9982    >,
9983    pub AEGP_QueryUnprepareForLineDrawing: ::std::option::Option<
9984        unsafe extern "C" fn(
9985            query_contextH: PR_QueryContextH,
9986            window_refP: *mut AEGP_PlatformWindowRef,
9987        ) -> A_Err,
9988    >,
9989    pub AEGP_QueryGetData: ::std::option::Option<
9990        unsafe extern "C" fn(
9991            query_contextH: PR_QueryContextH,
9992            i: A_long,
9993            dataPP: *mut *mut ::std::os::raw::c_void,
9994        ) -> A_Err,
9995    >,
9996    pub AEGP_QuerySetData: ::std::option::Option<
9997        unsafe extern "C" fn(
9998            query_contextH: PR_QueryContextH,
9999            i: A_long,
10000            dataP: *mut ::std::os::raw::c_void,
10001        ) -> A_Err,
10002    >,
10003}
10004#[repr(C)]
10005#[derive(Debug, Copy, Clone)]
10006pub struct AEGP_CompositeSuite2 {
10007    pub AEGP_ClearAlphaExceptRect: ::std::option::Option<
10008        unsafe extern "C" fn(clipped_dest_rectPR: *mut A_Rect, dstP: *mut PF_EffectWorld) -> A_Err,
10009    >,
10010    pub AEGP_PrepTrackMatte: ::std::option::Option<
10011        unsafe extern "C" fn(
10012            num_pix: A_long,
10013            deepB: A_Boolean,
10014            src_mask: *const PF_Pixel,
10015            mask_flags: PF_MaskFlags,
10016            dst_mask: *mut PF_Pixel,
10017        ) -> A_Err,
10018    >,
10019    pub AEGP_TransferRect: ::std::option::Option<
10020        unsafe extern "C" fn(
10021            quality: PF_Quality,
10022            m_flags: PF_ModeFlags,
10023            field: PF_Field,
10024            src_rec: *const A_Rect,
10025            src_world: *const PF_EffectWorld,
10026            comp_mode: *const PF_CompositeMode,
10027            blend_tablesP0: PF_EffectBlendingTables,
10028            mask_world0: *const PF_MaskWorld,
10029            dest_x: A_long,
10030            dest_y: A_long,
10031            dst_world: *mut PF_EffectWorld,
10032        ) -> A_Err,
10033    >,
10034    pub AEGP_CopyBits_LQ: ::std::option::Option<
10035        unsafe extern "C" fn(
10036            src_worldP: *mut PF_EffectWorld,
10037            src_r: *mut A_Rect,
10038            dst_r: *mut A_Rect,
10039            dst_worldP: *mut PF_EffectWorld,
10040        ) -> A_Err,
10041    >,
10042    pub AEGP_CopyBits_HQ_Straight: ::std::option::Option<
10043        unsafe extern "C" fn(
10044            src: *mut PF_EffectWorld,
10045            src_r: *mut A_Rect,
10046            dst_r: *mut A_Rect,
10047            dst: *mut PF_EffectWorld,
10048        ) -> A_Err,
10049    >,
10050    pub AEGP_CopyBits_HQ_Premul: ::std::option::Option<
10051        unsafe extern "C" fn(
10052            src: *mut PF_EffectWorld,
10053            src_r: *mut A_Rect,
10054            dst_r: *mut A_Rect,
10055            dst: *mut PF_EffectWorld,
10056        ) -> A_Err,
10057    >,
10058}
10059#[repr(C)]
10060#[derive(Debug, Copy, Clone)]
10061pub struct AEGP_IterateSuite2 {
10062    pub AEGP_GetNumThreads:
10063        ::std::option::Option<unsafe extern "C" fn(num_threadsPL: *mut A_long) -> A_Err>,
10064    pub AEGP_IterateGeneric: ::std::option::Option<
10065        unsafe extern "C" fn(
10066            iterationsL: A_long,
10067            refconPV: *mut ::std::os::raw::c_void,
10068            fn_func: ::std::option::Option<
10069                unsafe extern "C" fn(
10070                    refconPV: *mut ::std::os::raw::c_void,
10071                    thread_indexL: A_long,
10072                    i: A_long,
10073                    iterationsL: A_long,
10074                ) -> A_Err,
10075            >,
10076        ) -> A_Err,
10077    >,
10078}
10079pub type AEGP_PluginInitFuncPrototype = ::std::option::Option<
10080    unsafe extern "C" fn(
10081        pica_basicP: *mut SPBasicSuite,
10082        driver_major_versionL: A_long,
10083        driver_minor_versionL: A_long,
10084        aegp_plugin_id: AEGP_PluginID,
10085        plugin_refconP: *mut AEGP_GlobalRefcon,
10086    ) -> A_Err,
10087>;
10088pub type AEGP_PluginInitFunc = AEGP_PluginInitFuncPrototype;
10089#[repr(C)]
10090#[derive(Debug, Copy, Clone)]
10091pub struct AEGP_PFInterfaceSuite1 {
10092    pub AEGP_GetEffectLayer: ::std::option::Option<
10093        unsafe extern "C" fn(effect_pp_ref: PF_ProgPtr, layerPH: *mut AEGP_LayerH) -> A_Err,
10094    >,
10095    pub AEGP_GetNewEffectForEffect: ::std::option::Option<
10096        unsafe extern "C" fn(
10097            aegp_plugin_id: AEGP_PluginID,
10098            effect_pp_ref: PF_ProgPtr,
10099            effect_refPH: *mut AEGP_EffectRefH,
10100        ) -> A_Err,
10101    >,
10102    pub AEGP_ConvertEffectToCompTime: ::std::option::Option<
10103        unsafe extern "C" fn(
10104            effect_pp_ref: PF_ProgPtr,
10105            what_timeL: A_long,
10106            time_scaleLu: A_u_long,
10107            comp_timePT: *mut A_Time,
10108        ) -> A_Err,
10109    >,
10110    pub AEGP_GetEffectCamera: ::std::option::Option<
10111        unsafe extern "C" fn(
10112            effect_pp_ref: PF_ProgPtr,
10113            comp_timePT: *const A_Time,
10114            camera_layerPH: *mut AEGP_LayerH,
10115        ) -> A_Err,
10116    >,
10117    pub AEGP_GetEffectCameraMatrix: ::std::option::Option<
10118        unsafe extern "C" fn(
10119            effect_pp_ref: PF_ProgPtr,
10120            comp_timePT: *const A_Time,
10121            camera_matrixP: *mut A_Matrix4,
10122            dist_to_image_planePF: *mut A_FpLong,
10123            image_plane_widthPL: *mut A_short,
10124            image_plane_heightPL: *mut A_short,
10125        ) -> A_Err,
10126    >,
10127}
10128pub type AEIO_FileSize = A_u_longlong;
10129#[repr(C)]
10130#[derive(Debug, Copy, Clone)]
10131pub struct AEGP_IOInSuite5 {
10132    pub AEGP_GetInSpecOptionsHandle: ::std::option::Option<
10133        unsafe extern "C" fn(
10134            inH: AEIO_InSpecH,
10135            optionsPPV: *mut *mut ::std::os::raw::c_void,
10136        ) -> A_Err,
10137    >,
10138    pub AEGP_SetInSpecOptionsHandle: ::std::option::Option<
10139        unsafe extern "C" fn(
10140            inH: AEIO_InSpecH,
10141            optionsPV: *mut ::std::os::raw::c_void,
10142            old_optionsPPV: *mut *mut ::std::os::raw::c_void,
10143        ) -> A_Err,
10144    >,
10145    pub AEGP_GetInSpecFilePath: ::std::option::Option<
10146        unsafe extern "C" fn(inH: AEIO_InSpecH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
10147    >,
10148    pub AEGP_GetInSpecNativeFPS: ::std::option::Option<
10149        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
10150    >,
10151    pub AEGP_SetInSpecNativeFPS: ::std::option::Option<
10152        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fps: A_Fixed) -> A_Err,
10153    >,
10154    pub AEGP_GetInSpecDepth: ::std::option::Option<
10155        unsafe extern "C" fn(inH: AEIO_InSpecH, depthPS: *mut A_short) -> A_Err,
10156    >,
10157    pub AEGP_SetInSpecDepth:
10158        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, depthS: A_short) -> A_Err>,
10159    pub AEGP_GetInSpecSize: ::std::option::Option<
10160        unsafe extern "C" fn(inH: AEIO_InSpecH, sizePL: *mut AEIO_FileSize) -> A_Err,
10161    >,
10162    pub AEGP_SetInSpecSize: ::std::option::Option<
10163        unsafe extern "C" fn(inH: AEIO_InSpecH, sizeL: AEIO_FileSize) -> A_Err,
10164    >,
10165    pub AEGP_GetInSpecInterlaceLabel: ::std::option::Option<
10166        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
10167    >,
10168    pub AEGP_SetInSpecInterlaceLabel: ::std::option::Option<
10169        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *const FIEL_Label) -> A_Err,
10170    >,
10171    pub AEGP_GetInSpecAlphaLabel: ::std::option::Option<
10172        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
10173    >,
10174    pub AEGP_SetInSpecAlphaLabel: ::std::option::Option<
10175        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
10176    >,
10177    pub AEGP_GetInSpecDuration: ::std::option::Option<
10178        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *mut A_Time) -> A_Err,
10179    >,
10180    pub AEGP_SetInSpecDuration: ::std::option::Option<
10181        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *const A_Time) -> A_Err,
10182    >,
10183    pub AEGP_GetInSpecDimensions: ::std::option::Option<
10184        unsafe extern "C" fn(
10185            inH: AEIO_InSpecH,
10186            widthPL0: *mut A_long,
10187            heightPL0: *mut A_long,
10188        ) -> A_Err,
10189    >,
10190    pub AEGP_SetInSpecDimensions: ::std::option::Option<
10191        unsafe extern "C" fn(inH: AEIO_InSpecH, widthL: A_long, heightL: A_long) -> A_Err,
10192    >,
10193    pub AEGP_InSpecGetRationalDimensions: ::std::option::Option<
10194        unsafe extern "C" fn(
10195            inH: AEIO_InSpecH,
10196            rs0: *const AEIO_RationalScale,
10197            width0: *mut A_long,
10198            height0: *mut A_long,
10199            r0: *mut A_Rect,
10200        ) -> A_Err,
10201    >,
10202    pub AEGP_GetInSpecHSF:
10203        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *mut A_Ratio) -> A_Err>,
10204    pub AEGP_SetInSpecHSF: ::std::option::Option<
10205        unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *const A_Ratio) -> A_Err,
10206    >,
10207    pub AEGP_GetInSpecSoundRate: ::std::option::Option<
10208        unsafe extern "C" fn(inH: AEIO_InSpecH, ratePF: *mut A_FpLong) -> A_Err,
10209    >,
10210    pub AEGP_SetInSpecSoundRate:
10211        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, rateF: A_FpLong) -> A_Err>,
10212    pub AEGP_GetInSpecSoundEncoding: ::std::option::Option<
10213        unsafe extern "C" fn(inH: AEIO_InSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
10214    >,
10215    pub AEGP_SetInSpecSoundEncoding: ::std::option::Option<
10216        unsafe extern "C" fn(inH: AEIO_InSpecH, encoding: AEIO_SndEncoding) -> A_Err,
10217    >,
10218    pub AEGP_GetInSpecSoundSampleSize: ::std::option::Option<
10219        unsafe extern "C" fn(
10220            inH: AEIO_InSpecH,
10221            bytes_per_sampleP: *mut AEIO_SndSampleSize,
10222        ) -> A_Err,
10223    >,
10224    pub AEGP_SetInSpecSoundSampleSize: ::std::option::Option<
10225        unsafe extern "C" fn(inH: AEIO_InSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
10226    >,
10227    pub AEGP_GetInSpecSoundChannels: ::std::option::Option<
10228        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
10229    >,
10230    pub AEGP_SetInSpecSoundChannels: ::std::option::Option<
10231        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channels: AEIO_SndChannels) -> A_Err,
10232    >,
10233    pub AEGP_AddAuxExtMap: ::std::option::Option<
10234        unsafe extern "C" fn(extension: *const A_char, file_type: A_long, creator: A_long) -> A_Err,
10235    >,
10236    pub AEGP_SetInSpecEmbeddedColorProfile: ::std::option::Option<
10237        unsafe extern "C" fn(
10238            inH: AEIO_InSpecH,
10239            color_profileP0: AEGP_ConstColorProfileP,
10240            profile_descP0: *const A_UTF16Char,
10241        ) -> A_Err,
10242    >,
10243    pub AEGP_SetInSpecAssignedColorProfile: ::std::option::Option<
10244        unsafe extern "C" fn(inH: AEIO_InSpecH, color_profileP: AEGP_ConstColorProfileP) -> A_Err,
10245    >,
10246    pub AEGP_GetInSpecNativeStartTime: ::std::option::Option<
10247        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *mut A_Time) -> A_Err,
10248    >,
10249    pub AEGP_SetInSpecNativeStartTime: ::std::option::Option<
10250        unsafe extern "C" fn(inH: AEIO_InSpecH, startTimeP: *const A_Time) -> A_Err,
10251    >,
10252    pub AEGP_ClearInSpecNativeStartTime:
10253        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH) -> A_Err>,
10254    pub AEGP_GetInSpecNativeDisplayDropFrame: ::std::option::Option<
10255        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameBP: *mut A_Boolean) -> A_Err,
10256    >,
10257    pub AEGP_SetInSpecNativeDisplayDropFrame: ::std::option::Option<
10258        unsafe extern "C" fn(inH: AEIO_InSpecH, displayDropFrameB: A_Boolean) -> A_Err,
10259    >,
10260    pub AEGP_SetInSpecStillSequenceNativeFPS: ::std::option::Option<
10261        unsafe extern "C" fn(inH: AEIO_InSpecH, native_still_seq_fps: A_Fixed) -> A_Err,
10262    >,
10263}
10264#[repr(C)]
10265#[derive(Debug, Copy, Clone)]
10266pub struct AEGP_IOOutSuite5 {
10267    pub AEGP_GetOutSpecOptionsHandle: ::std::option::Option<
10268        unsafe extern "C" fn(
10269            outH: AEIO_OutSpecH,
10270            optionsPPV: *mut *mut ::std::os::raw::c_void,
10271        ) -> A_Err,
10272    >,
10273    pub AEGP_SetOutSpecOptionsHandle: ::std::option::Option<
10274        unsafe extern "C" fn(
10275            outH: AEIO_OutSpecH,
10276            optionsPV: *mut ::std::os::raw::c_void,
10277            old_optionsPPVO: *mut *mut ::std::os::raw::c_void,
10278        ) -> A_Err,
10279    >,
10280    pub AEGP_GetOutSpecFilePath: ::std::option::Option<
10281        unsafe extern "C" fn(
10282            outH: AEIO_OutSpecH,
10283            unicode_pathPH: *mut AEGP_MemHandle,
10284            file_reservedPB: *mut A_Boolean,
10285        ) -> A_Err,
10286    >,
10287    pub AEGP_GetOutSpecFPS: ::std::option::Option<
10288        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
10289    >,
10290    pub AEGP_SetOutSpecNativeFPS: ::std::option::Option<
10291        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: A_Fixed) -> A_Err,
10292    >,
10293    pub AEGP_GetOutSpecDepth: ::std::option::Option<
10294        unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: *mut A_short) -> A_Err,
10295    >,
10296    pub AEGP_SetOutSpecDepth:
10297        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: A_short) -> A_Err>,
10298    pub AEGP_GetOutSpecInterlaceLabel: ::std::option::Option<
10299        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
10300    >,
10301    pub AEGP_SetOutSpecInterlaceLabel: ::std::option::Option<
10302        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *const FIEL_Label) -> A_Err,
10303    >,
10304    pub AEGP_GetOutSpecAlphaLabel: ::std::option::Option<
10305        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
10306    >,
10307    pub AEGP_SetOutSpecAlphaLabel: ::std::option::Option<
10308        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
10309    >,
10310    pub AEGP_GetOutSpecDuration: ::std::option::Option<
10311        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *mut A_Time) -> A_Err,
10312    >,
10313    pub AEGP_SetOutSpecDuration: ::std::option::Option<
10314        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *const A_Time) -> A_Err,
10315    >,
10316    pub AEGP_GetOutSpecDimensions: ::std::option::Option<
10317        unsafe extern "C" fn(
10318            outH: AEIO_OutSpecH,
10319            widthPL: *mut A_long,
10320            heightPL: *mut A_long,
10321        ) -> A_Err,
10322    >,
10323    pub AEGP_GetOutSpecHSF: ::std::option::Option<
10324        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *mut A_Ratio) -> A_Err,
10325    >,
10326    pub AEGP_SetOutSpecHSF: ::std::option::Option<
10327        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *const A_Ratio) -> A_Err,
10328    >,
10329    pub AEGP_GetOutSpecSoundRate: ::std::option::Option<
10330        unsafe extern "C" fn(outH: AEIO_OutSpecH, ratePF: *mut A_FpLong) -> A_Err,
10331    >,
10332    pub AEGP_SetOutSpecSoundRate:
10333        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, rateF: A_FpLong) -> A_Err>,
10334    pub AEGP_GetOutSpecSoundEncoding: ::std::option::Option<
10335        unsafe extern "C" fn(outH: AEIO_OutSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
10336    >,
10337    pub AEGP_SetOutSpecSoundEncoding: ::std::option::Option<
10338        unsafe extern "C" fn(outH: AEIO_OutSpecH, encoding: AEIO_SndEncoding) -> A_Err,
10339    >,
10340    pub AEGP_GetOutSpecSoundSampleSize: ::std::option::Option<
10341        unsafe extern "C" fn(
10342            outH: AEIO_OutSpecH,
10343            bytes_per_sampleP: *mut AEIO_SndSampleSize,
10344        ) -> A_Err,
10345    >,
10346    pub AEGP_SetOutSpecSoundSampleSize: ::std::option::Option<
10347        unsafe extern "C" fn(outH: AEIO_OutSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
10348    >,
10349    pub AEGP_GetOutSpecSoundChannels: ::std::option::Option<
10350        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
10351    >,
10352    pub AEGP_SetOutSpecSoundChannels: ::std::option::Option<
10353        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channels: AEIO_SndChannels) -> A_Err,
10354    >,
10355    pub AEGP_GetOutSpecIsStill: ::std::option::Option<
10356        unsafe extern "C" fn(outH: AEIO_OutSpecH, is_stillPB: *mut A_Boolean) -> A_Err,
10357    >,
10358    pub AEGP_GetOutSpecPosterTime: ::std::option::Option<
10359        unsafe extern "C" fn(outH: AEIO_OutSpecH, poster_timeP: *mut A_Time) -> A_Err,
10360    >,
10361    pub AEGP_GetOutSpecStartFrame: ::std::option::Option<
10362        unsafe extern "C" fn(outH: AEIO_OutSpecH, start_frameP: *mut A_long) -> A_Err,
10363    >,
10364    pub AEGP_GetOutSpecPullDown: ::std::option::Option<
10365        unsafe extern "C" fn(outH: AEIO_OutSpecH, pulldownP: *mut AEIO_Pulldown) -> A_Err,
10366    >,
10367    pub AEGP_GetOutSpecIsMissing: ::std::option::Option<
10368        unsafe extern "C" fn(outH: AEIO_OutSpecH, missingPB: *mut A_Boolean) -> A_Err,
10369    >,
10370    pub AEGP_GetOutSpecShouldEmbedICCProfile: ::std::option::Option<
10371        unsafe extern "C" fn(outH: AEIO_OutSpecH, embedPB: *mut A_Boolean) -> A_Err,
10372    >,
10373    pub AEGP_GetNewOutSpecColorProfile: ::std::option::Option<
10374        unsafe extern "C" fn(
10375            aegp_plugin_id: AEGP_PluginID,
10376            outH: AEIO_OutSpecH,
10377            color_profilePP: *mut AEGP_ColorProfileP,
10378        ) -> A_Err,
10379    >,
10380    pub AEGP_GetOutSpecOutputModule: ::std::option::Option<
10381        unsafe extern "C" fn(
10382            outH: AEIO_OutSpecH,
10383            rq_itemP: *mut AEGP_RQItemRefH,
10384            om_refP: *mut AEGP_OutputModuleRefH,
10385        ) -> A_Err,
10386    >,
10387    pub AEGP_GetOutSpecStartTime: ::std::option::Option<
10388        unsafe extern "C" fn(outH: AEIO_OutSpecH, outStartTimePT: *mut A_Time) -> A_Err,
10389    >,
10390    pub AEGP_GetOutSpecFrameTime: ::std::option::Option<
10391        unsafe extern "C" fn(outH: AEIO_OutSpecH, outFrameTimePT: *mut A_Time) -> A_Err,
10392    >,
10393    pub AEGP_GetOutSpecIsDropFrame: ::std::option::Option<
10394        unsafe extern "C" fn(outH: AEIO_OutSpecH, outIsDropFramePB: *mut A_Boolean) -> A_Err,
10395    >,
10396}
10397pub type AE_FIM_ImportFlavorRef = A_long;
10398pub type AE_FIM_ImportFlags = A_long;
10399pub type AE_FIM_SpecialAction = A_long;
10400#[repr(C)]
10401#[derive(Debug, Copy, Clone)]
10402pub struct AE_FIM_RefconTag {
10403    _unused: [u8; 0],
10404}
10405pub type AE_FIM_Refcon = *mut AE_FIM_RefconTag;
10406#[repr(C)]
10407#[derive(Debug, Copy, Clone)]
10408pub struct AE_FIM_ImportOptionsTag {
10409    _unused: [u8; 0],
10410}
10411pub type AE_FIM_ImportOptions = *mut AE_FIM_ImportOptionsTag;
10412pub type AE_FIM_ImportFileCB = ::std::option::Option<
10413    unsafe extern "C" fn(
10414        pathZ: *const A_UTF16Char,
10415        imp_options: AE_FIM_ImportOptions,
10416        action: AE_FIM_SpecialAction,
10417        itemH: AEGP_ItemH,
10418        refcon: AE_FIM_Refcon,
10419    ) -> A_Err,
10420>;
10421pub type AE_FIM_VerifyImportableCB = ::std::option::Option<
10422    unsafe extern "C" fn(
10423        pathZ: *const A_UTF16Char,
10424        refcon: AE_FIM_Refcon,
10425        importablePB: *mut A_Boolean,
10426    ) -> A_Err,
10427>;
10428#[repr(C)]
10429#[derive(Debug, Copy, Clone)]
10430pub struct AE_FIM_ImportCallbacks {
10431    pub refcon: AE_FIM_Refcon,
10432    pub import_cb: AE_FIM_ImportFileCB,
10433    pub verify_cb: AE_FIM_VerifyImportableCB,
10434}
10435#[repr(C)]
10436#[derive(Debug, Copy, Clone)]
10437pub struct AEGP_FIMSuite4 {
10438    pub AEGP_RegisterImportFlavor: ::std::option::Option<
10439        unsafe extern "C" fn(nameZ: *const A_char, imp_refP: *mut AE_FIM_ImportFlavorRef) -> A_Err,
10440    >,
10441    pub AEGP_RegisterImportFlavorFileTypes: ::std::option::Option<
10442        unsafe extern "C" fn(
10443            imp_ref: AE_FIM_ImportFlavorRef,
10444            num_filekindsL: A_long,
10445            kindsAP: *const AEIO_FileKind,
10446            num_fileextsL: A_long,
10447            extsAP: *const AEIO_FileKind,
10448        ) -> A_Err,
10449    >,
10450    pub AEGP_RegisterImportFlavorImportCallbacks: ::std::option::Option<
10451        unsafe extern "C" fn(
10452            imp_ref: AE_FIM_ImportFlavorRef,
10453            single_flag: AE_FIM_ImportFlags,
10454            imp_cbsP: *const AE_FIM_ImportCallbacks,
10455        ) -> A_Err,
10456    >,
10457    pub AEGP_SetImportedItem: ::std::option::Option<
10458        unsafe extern "C" fn(
10459            imp_options: AE_FIM_ImportOptions,
10460            imported_itemH: AEGP_ItemH,
10461        ) -> A_Err,
10462    >,
10463    pub AEGP_FileSequenceImportOptionsFromFIMImportOptions: ::std::option::Option<
10464        unsafe extern "C" fn(
10465            imp_options: AE_FIM_ImportOptions,
10466            seq_import_optionsP: *mut AEGP_FileSequenceImportOptions,
10467        ) -> A_Err,
10468    >,
10469}
10470#[repr(C)]
10471#[derive(Debug, Copy, Clone)]
10472pub struct AEGP_PersistentDataSuite4 {
10473    pub AEGP_GetApplicationBlob: ::std::option::Option<
10474        unsafe extern "C" fn(
10475            blob_type: AEGP_PersistentType,
10476            blobPH: *mut AEGP_PersistentBlobH,
10477        ) -> A_Err,
10478    >,
10479    pub AEGP_GetNumSections: ::std::option::Option<
10480        unsafe extern "C" fn(blobH: AEGP_PersistentBlobH, num_sectionPL: *mut A_long) -> A_Err,
10481    >,
10482    pub AEGP_GetSectionKeyByIndex: ::std::option::Option<
10483        unsafe extern "C" fn(
10484            blobH: AEGP_PersistentBlobH,
10485            section_index: A_long,
10486            max_section_size: A_long,
10487            section_keyZ: *mut A_char,
10488        ) -> A_Err,
10489    >,
10490    pub AEGP_DoesKeyExist: ::std::option::Option<
10491        unsafe extern "C" fn(
10492            blobH: AEGP_PersistentBlobH,
10493            section_keyZ: *const A_char,
10494            value_keyZ: *const A_char,
10495            existsPB: *mut A_Boolean,
10496        ) -> A_Err,
10497    >,
10498    pub AEGP_GetNumKeys: ::std::option::Option<
10499        unsafe extern "C" fn(
10500            blobH: AEGP_PersistentBlobH,
10501            section_keyZ: *const A_char,
10502            num_keysPL: *mut A_long,
10503        ) -> A_Err,
10504    >,
10505    pub AEGP_GetValueKeyByIndex: ::std::option::Option<
10506        unsafe extern "C" fn(
10507            blobH: AEGP_PersistentBlobH,
10508            section_keyZ: *const A_char,
10509            key_index: A_long,
10510            max_key_size: A_long,
10511            value_keyZ: *mut A_char,
10512        ) -> A_Err,
10513    >,
10514    pub AEGP_GetDataHandle: ::std::option::Option<
10515        unsafe extern "C" fn(
10516            plugin_id: AEGP_PluginID,
10517            blobH: AEGP_PersistentBlobH,
10518            section_keyZ: *const A_char,
10519            value_keyZ: *const A_char,
10520            defaultH0: AEGP_MemHandle,
10521            valuePH: *mut AEGP_MemHandle,
10522        ) -> A_Err,
10523    >,
10524    pub AEGP_GetData: ::std::option::Option<
10525        unsafe extern "C" fn(
10526            blobH: AEGP_PersistentBlobH,
10527            section_keyZ: *const A_char,
10528            value_keyZ: *const A_char,
10529            data_sizeLu: A_u_long,
10530            defaultPV0: *const ::std::os::raw::c_void,
10531            bufPV: *mut ::std::os::raw::c_void,
10532        ) -> A_Err,
10533    >,
10534    pub AEGP_GetString: ::std::option::Option<
10535        unsafe extern "C" fn(
10536            blobH: AEGP_PersistentBlobH,
10537            section_keyZ: *const A_char,
10538            value_keyZ: *const A_char,
10539            defaultZ0: *const A_char,
10540            buf_sizeLu: A_u_long,
10541            bufZ: *mut A_char,
10542            actual_buf_sizeLu0: *mut A_u_long,
10543        ) -> A_Err,
10544    >,
10545    pub AEGP_GetLong: ::std::option::Option<
10546        unsafe extern "C" fn(
10547            blobH: AEGP_PersistentBlobH,
10548            section_keyZ: *const A_char,
10549            value_keyZ: *const A_char,
10550            defaultL: A_long,
10551            valuePL: *mut A_long,
10552        ) -> A_Err,
10553    >,
10554    pub AEGP_GetFpLong: ::std::option::Option<
10555        unsafe extern "C" fn(
10556            blobH: AEGP_PersistentBlobH,
10557            section_keyZ: *const A_char,
10558            value_keyZ: *const A_char,
10559            defaultF: A_FpLong,
10560            valuePF: *mut A_FpLong,
10561        ) -> A_Err,
10562    >,
10563    pub AEGP_GetTime: ::std::option::Option<
10564        unsafe extern "C" fn(
10565            blobH: AEGP_PersistentBlobH,
10566            section_keyZ: *const A_char,
10567            value_keyZ: *const A_char,
10568            defaultPT0: *const A_Time,
10569            valuePT: *mut A_Time,
10570        ) -> A_Err,
10571    >,
10572    pub AEGP_GetARGB: ::std::option::Option<
10573        unsafe extern "C" fn(
10574            blobH: AEGP_PersistentBlobH,
10575            section_keyZ: *const A_char,
10576            value_keyZ: *const A_char,
10577            defaultP0: *const PF_PixelFloat,
10578            valueP: *mut PF_PixelFloat,
10579        ) -> A_Err,
10580    >,
10581    pub AEGP_SetDataHandle: ::std::option::Option<
10582        unsafe extern "C" fn(
10583            blobH: AEGP_PersistentBlobH,
10584            section_keyZ: *const A_char,
10585            value_keyZ: *const A_char,
10586            valueH: AEGP_MemHandle,
10587        ) -> A_Err,
10588    >,
10589    pub AEGP_SetData: ::std::option::Option<
10590        unsafe extern "C" fn(
10591            blobH: AEGP_PersistentBlobH,
10592            section_keyZ: *const A_char,
10593            value_keyZ: *const A_char,
10594            data_sizeLu: A_u_long,
10595            dataPV: *const ::std::os::raw::c_void,
10596        ) -> A_Err,
10597    >,
10598    pub AEGP_SetString: ::std::option::Option<
10599        unsafe extern "C" fn(
10600            blobH: AEGP_PersistentBlobH,
10601            section_keyZ: *const A_char,
10602            value_keyZ: *const A_char,
10603            strZ: *const A_char,
10604        ) -> A_Err,
10605    >,
10606    pub AEGP_SetLong: ::std::option::Option<
10607        unsafe extern "C" fn(
10608            blobH: AEGP_PersistentBlobH,
10609            section_keyZ: *const A_char,
10610            value_keyZ: *const A_char,
10611            valueL: A_long,
10612        ) -> A_Err,
10613    >,
10614    pub AEGP_SetFpLong: ::std::option::Option<
10615        unsafe extern "C" fn(
10616            blobH: AEGP_PersistentBlobH,
10617            section_keyZ: *const A_char,
10618            value_keyZ: *const A_char,
10619            valueF: A_FpLong,
10620        ) -> A_Err,
10621    >,
10622    pub AEGP_SetTime: ::std::option::Option<
10623        unsafe extern "C" fn(
10624            blobH: AEGP_PersistentBlobH,
10625            section_keyZ: *const A_char,
10626            value_keyZ: *const A_char,
10627            valuePT: *const A_Time,
10628        ) -> A_Err,
10629    >,
10630    pub AEGP_SetARGB: ::std::option::Option<
10631        unsafe extern "C" fn(
10632            blobH: AEGP_PersistentBlobH,
10633            section_keyZ: *const A_char,
10634            value_keyZ: *const A_char,
10635            valueP: *const PF_PixelFloat,
10636        ) -> A_Err,
10637    >,
10638    pub AEGP_DeleteEntry: ::std::option::Option<
10639        unsafe extern "C" fn(
10640            blobH: AEGP_PersistentBlobH,
10641            section_keyZ: *const A_char,
10642            value_keyZ: *const A_char,
10643        ) -> A_Err,
10644    >,
10645    pub AEGP_GetPrefsDirectory:
10646        ::std::option::Option<unsafe extern "C" fn(unicode_pathPH: *mut AEGP_MemHandle) -> A_Err>,
10647}
10648pub const AEGP_CollectionItemType_NONE: _bindgen_ty_167 = 0;
10649pub const AEGP_CollectionItemType_LAYER: _bindgen_ty_167 = 1;
10650pub const AEGP_CollectionItemType_MASK: _bindgen_ty_167 = 2;
10651pub const AEGP_CollectionItemType_EFFECT: _bindgen_ty_167 = 3;
10652pub const AEGP_CollectionItemType_STREAM: _bindgen_ty_167 = 4;
10653pub const AEGP_CollectionItemType_KEYFRAME: _bindgen_ty_167 = 5;
10654pub const AEGP_CollectionItemType_MASK_VERTEX: _bindgen_ty_167 = 6;
10655pub const AEGP_CollectionItemType_STREAMREF: _bindgen_ty_167 = 7;
10656pub const AEGP_CollectionItemType_END: _bindgen_ty_167 = 8;
10657pub const AEGP_CollectionItemType_BEGIN: _bindgen_ty_167 = 1;
10658pub type _bindgen_ty_167 = ::std::os::raw::c_uint;
10659pub type AEGP_CollectionItemType = A_LegacyEnumType;
10660#[repr(C)]
10661#[derive(Debug, Copy, Clone)]
10662pub struct AEGP_LayerCollectionItem {
10663    pub layerH: AEGP_LayerH,
10664}
10665#[repr(C)]
10666#[derive(Debug, Copy, Clone)]
10667pub struct AEGP_MaskCollectionItem {
10668    pub layerH: AEGP_LayerH,
10669    pub index: AEGP_MaskIndex,
10670}
10671#[repr(C)]
10672#[derive(Debug, Copy, Clone)]
10673pub struct AEGP_EffectCollectionItem {
10674    pub layerH: AEGP_LayerH,
10675    pub index: AEGP_EffectIndex,
10676}
10677pub const AEGP_StreamCollectionItemType_NONE: _bindgen_ty_168 = 0;
10678pub const AEGP_StreamCollectionItemType_LAYER: _bindgen_ty_168 = 1;
10679pub const AEGP_StreamCollectionItemType_MASK: _bindgen_ty_168 = 2;
10680pub const AEGP_StreamCollectionItemType_EFFECT: _bindgen_ty_168 = 3;
10681pub const AEGP_StreamCollectionItemType_END: _bindgen_ty_168 = 4;
10682pub const AEGP_StreamCollectionItemType_BEGIN: _bindgen_ty_168 = 1;
10683pub type _bindgen_ty_168 = ::std::os::raw::c_uint;
10684pub type AEGP_StreamCollectionItemType = A_LegacyEnumType;
10685#[repr(C)]
10686#[derive(Debug, Copy, Clone)]
10687pub struct AEGP_MaskStreamCollectionItem {
10688    pub mask: AEGP_MaskCollectionItem,
10689    pub mask_stream: AEGP_MaskStream,
10690}
10691#[repr(C)]
10692#[derive(Debug, Copy, Clone)]
10693pub struct AEGP_EffectStreamCollectionItem {
10694    pub effect: AEGP_EffectCollectionItem,
10695    pub param_index: A_long,
10696}
10697#[repr(C)]
10698#[derive(Debug, Copy, Clone)]
10699pub struct AEGP_LayerStreamCollectionItem {
10700    pub layerH: AEGP_LayerH,
10701    pub layer_stream: AEGP_LayerStream,
10702}
10703#[repr(C)]
10704#[derive(Copy, Clone)]
10705pub struct AEGP_StreamCollectionItem {
10706    pub type_: AEGP_StreamCollectionItemType,
10707    pub u: AEGP_StreamCollectionItem__bindgen_ty_1,
10708}
10709#[repr(C)]
10710#[derive(Copy, Clone)]
10711pub union AEGP_StreamCollectionItem__bindgen_ty_1 {
10712    pub layer_stream: AEGP_LayerStreamCollectionItem,
10713    pub mask_stream: AEGP_MaskStreamCollectionItem,
10714    pub effect_stream: AEGP_EffectStreamCollectionItem,
10715}
10716#[repr(C)]
10717#[derive(Debug, Copy, Clone)]
10718pub struct AEGP_MaskVertexCollectionItem {
10719    pub mask_sel: AEGP_MaskCollectionItem,
10720    pub index: AEGP_VertexIndex,
10721}
10722#[repr(C)]
10723#[derive(Copy, Clone)]
10724pub struct AEGP_KeyframeCollectionItem {
10725    pub stream_coll: AEGP_StreamCollectionItem,
10726    pub index: AEGP_KeyframeIndex,
10727}
10728#[repr(C)]
10729#[derive(Copy, Clone)]
10730pub struct AEGP_CollectionItemV2 {
10731    pub type_: AEGP_CollectionItemType,
10732    pub u: AEGP_CollectionItemV2__bindgen_ty_1,
10733    pub stream_refH: AEGP_StreamRefH,
10734}
10735#[repr(C)]
10736#[derive(Copy, Clone)]
10737pub union AEGP_CollectionItemV2__bindgen_ty_1 {
10738    pub layer: AEGP_LayerCollectionItem,
10739    pub mask: AEGP_MaskCollectionItem,
10740    pub effect: AEGP_EffectCollectionItem,
10741    pub stream: AEGP_StreamCollectionItem,
10742    pub mask_vertex: AEGP_MaskVertexCollectionItem,
10743    pub keyframe: AEGP_KeyframeCollectionItem,
10744}
10745#[repr(C)]
10746#[derive(Debug, Copy, Clone)]
10747pub struct AEGP_CollectionSuite2 {
10748    pub AEGP_NewCollection: ::std::option::Option<
10749        unsafe extern "C" fn(
10750            plugin_id: AEGP_PluginID,
10751            collectionPH: *mut AEGP_Collection2H,
10752        ) -> A_Err,
10753    >,
10754    pub AEGP_DisposeCollection:
10755        ::std::option::Option<unsafe extern "C" fn(collectionH: AEGP_Collection2H) -> A_Err>,
10756    pub AEGP_GetCollectionNumItems: ::std::option::Option<
10757        unsafe extern "C" fn(collectionH: AEGP_Collection2H, num_itemsPL: *mut A_u_long) -> A_Err,
10758    >,
10759    pub AEGP_GetCollectionItemByIndex: ::std::option::Option<
10760        unsafe extern "C" fn(
10761            collectionH: AEGP_Collection2H,
10762            indexL: A_u_long,
10763            collection_itemP: *mut AEGP_CollectionItemV2,
10764        ) -> A_Err,
10765    >,
10766    pub AEGP_CollectionPushBack: ::std::option::Option<
10767        unsafe extern "C" fn(
10768            collectionH: AEGP_Collection2H,
10769            collection_itemP: *const AEGP_CollectionItemV2,
10770        ) -> A_Err,
10771    >,
10772    pub AEGP_CollectionErase: ::std::option::Option<
10773        unsafe extern "C" fn(
10774            collectionH: AEGP_Collection2H,
10775            index_firstL: A_u_long,
10776            index_lastL: A_u_long,
10777        ) -> A_Err,
10778    >,
10779}
10780pub const AEGP_WorldType_NONE: _bindgen_ty_169 = 0;
10781pub const AEGP_WorldType_8: _bindgen_ty_169 = 1;
10782pub const AEGP_WorldType_16: _bindgen_ty_169 = 2;
10783pub const AEGP_WorldType_32: _bindgen_ty_169 = 3;
10784pub type _bindgen_ty_169 = ::std::os::raw::c_uint;
10785pub type AEGP_WorldType = A_long;
10786#[repr(C)]
10787#[derive(Debug, Copy, Clone)]
10788pub struct AEGP_WorldSuite3 {
10789    pub AEGP_New: ::std::option::Option<
10790        unsafe extern "C" fn(
10791            plugin_id: AEGP_PluginID,
10792            type_: AEGP_WorldType,
10793            widthL: A_long,
10794            heightL: A_long,
10795            worldPH: *mut AEGP_WorldH,
10796        ) -> A_Err,
10797    >,
10798    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
10799    pub AEGP_GetType: ::std::option::Option<
10800        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
10801    >,
10802    pub AEGP_GetSize: ::std::option::Option<
10803        unsafe extern "C" fn(
10804            worldH: AEGP_WorldH,
10805            widthPL: *mut A_long,
10806            heightPL: *mut A_long,
10807        ) -> A_Err,
10808    >,
10809    pub AEGP_GetRowBytes: ::std::option::Option<
10810        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
10811    >,
10812    pub AEGP_GetBaseAddr8: ::std::option::Option<
10813        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
10814    >,
10815    pub AEGP_GetBaseAddr16: ::std::option::Option<
10816        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
10817    >,
10818    pub AEGP_GetBaseAddr32: ::std::option::Option<
10819        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_PixelFloat) -> A_Err,
10820    >,
10821    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
10822        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
10823    >,
10824    pub AEGP_FastBlur: ::std::option::Option<
10825        unsafe extern "C" fn(
10826            radiusF: A_FpLong,
10827            mode: PF_ModeFlags,
10828            quality: PF_Quality,
10829            worldH: AEGP_WorldH,
10830        ) -> A_Err,
10831    >,
10832    pub AEGP_NewPlatformWorld: ::std::option::Option<
10833        unsafe extern "C" fn(
10834            plugin_id: AEGP_PluginID,
10835            type_: AEGP_WorldType,
10836            widthL: A_long,
10837            heightL: A_long,
10838            worldPH: *mut AEGP_PlatformWorldH,
10839        ) -> A_Err,
10840    >,
10841    pub AEGP_DisposePlatformWorld:
10842        ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_PlatformWorldH) -> A_Err>,
10843    pub AEGP_NewReferenceFromPlatformWorld: ::std::option::Option<
10844        unsafe extern "C" fn(
10845            plugin_id: AEGP_PluginID,
10846            platform_worldH: AEGP_PlatformWorldH,
10847            worldPH: *mut AEGP_WorldH,
10848        ) -> A_Err,
10849    >,
10850}
10851pub const AEGP_MatteMode_STRAIGHT: _bindgen_ty_170 = 0;
10852pub const AEGP_MatteMode_PREMUL_BLACK: _bindgen_ty_170 = 1;
10853pub const AEGP_MatteMode_PREMUL_BG_COLOR: _bindgen_ty_170 = 2;
10854pub type _bindgen_ty_170 = ::std::os::raw::c_uint;
10855pub type AEGP_MatteMode = A_long;
10856pub const AEGP_ChannelOrder_ARGB: _bindgen_ty_171 = 0;
10857pub const AEGP_ChannelOrder_BGRA: _bindgen_ty_171 = 1;
10858pub type _bindgen_ty_171 = ::std::os::raw::c_uint;
10859pub type AEGP_ChannelOrder = A_char;
10860pub const AEGP_ItemQuality_DRAFT: _bindgen_ty_172 = 0;
10861pub const AEGP_ItemQuality_BEST: _bindgen_ty_172 = 1;
10862pub type _bindgen_ty_172 = ::std::os::raw::c_uint;
10863pub type AEGP_ItemQuality = A_char;
10864#[repr(C)]
10865#[derive(Debug, Copy, Clone)]
10866pub struct AEGP_RenderOptionsSuite4 {
10867    pub AEGP_NewFromItem: ::std::option::Option<
10868        unsafe extern "C" fn(
10869            plugin_id: AEGP_PluginID,
10870            itemH: AEGP_ItemH,
10871            optionsPH: *mut AEGP_RenderOptionsH,
10872        ) -> A_Err,
10873    >,
10874    pub AEGP_Duplicate: ::std::option::Option<
10875        unsafe extern "C" fn(
10876            plugin_id: AEGP_PluginID,
10877            optionsH: AEGP_RenderOptionsH,
10878            copyPH: *mut AEGP_RenderOptionsH,
10879        ) -> A_Err,
10880    >,
10881    pub AEGP_Dispose:
10882        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
10883    pub AEGP_SetTime: ::std::option::Option<
10884        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
10885    >,
10886    pub AEGP_GetTime: ::std::option::Option<
10887        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
10888    >,
10889    pub AEGP_SetTimeStep: ::std::option::Option<
10890        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
10891    >,
10892    pub AEGP_GetTimeStep: ::std::option::Option<
10893        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
10894    >,
10895    pub AEGP_SetFieldRender: ::std::option::Option<
10896        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
10897    >,
10898    pub AEGP_GetFieldRender: ::std::option::Option<
10899        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
10900    >,
10901    pub AEGP_SetWorldType: ::std::option::Option<
10902        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
10903    >,
10904    pub AEGP_GetWorldType: ::std::option::Option<
10905        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
10906    >,
10907    pub AEGP_SetDownsampleFactor: ::std::option::Option<
10908        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
10909    >,
10910    pub AEGP_GetDownsampleFactor: ::std::option::Option<
10911        unsafe extern "C" fn(
10912            optionsH: AEGP_RenderOptionsH,
10913            xP: *mut A_short,
10914            yP: *mut A_short,
10915        ) -> A_Err,
10916    >,
10917    pub AEGP_SetRegionOfInterest: ::std::option::Option<
10918        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
10919    >,
10920    pub AEGP_GetRegionOfInterest: ::std::option::Option<
10921        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
10922    >,
10923    pub AEGP_SetMatteMode: ::std::option::Option<
10924        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
10925    >,
10926    pub AEGP_GetMatteMode: ::std::option::Option<
10927        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
10928    >,
10929    pub AEGP_SetChannelOrder: ::std::option::Option<
10930        unsafe extern "C" fn(
10931            optionsH: AEGP_RenderOptionsH,
10932            channel_order: AEGP_ChannelOrder,
10933        ) -> A_Err,
10934    >,
10935    pub AEGP_GetChannelOrder: ::std::option::Option<
10936        unsafe extern "C" fn(
10937            optionsH: AEGP_RenderOptionsH,
10938            channelP: *mut AEGP_ChannelOrder,
10939        ) -> A_Err,
10940    >,
10941    pub AEGP_GetRenderGuideLayers: ::std::option::Option<
10942        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, will_renderPB: *mut A_Boolean) -> A_Err,
10943    >,
10944    pub AEGP_SetRenderGuideLayers: ::std::option::Option<
10945        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, render_themB: A_Boolean) -> A_Err,
10946    >,
10947    pub AEGP_GetRenderQuality: ::std::option::Option<
10948        unsafe extern "C" fn(
10949            optionsH: AEGP_RenderOptionsH,
10950            qualityP: *mut AEGP_ItemQuality,
10951        ) -> A_Err,
10952    >,
10953    pub AEGP_SetRenderQuality: ::std::option::Option<
10954        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, quality: AEGP_ItemQuality) -> A_Err,
10955    >,
10956}
10957#[repr(C)]
10958#[derive(Debug, Copy, Clone)]
10959pub struct AEGP_LayerRenderOptionsSuite2 {
10960    pub AEGP_NewFromLayer: ::std::option::Option<
10961        unsafe extern "C" fn(
10962            plugin_id: AEGP_PluginID,
10963            layerH: AEGP_LayerH,
10964            optionsPH: *mut AEGP_LayerRenderOptionsH,
10965        ) -> A_Err,
10966    >,
10967    pub AEGP_NewFromUpstreamOfEffect: ::std::option::Option<
10968        unsafe extern "C" fn(
10969            plugin_id: AEGP_PluginID,
10970            effectH: AEGP_EffectRefH,
10971            optionsPH: *mut AEGP_LayerRenderOptionsH,
10972        ) -> A_Err,
10973    >,
10974    pub AEGP_NewFromDownstreamOfEffect: ::std::option::Option<
10975        unsafe extern "C" fn(
10976            plugin_id: AEGP_PluginID,
10977            effectH: AEGP_EffectRefH,
10978            optionsPH: *mut AEGP_LayerRenderOptionsH,
10979        ) -> A_Err,
10980    >,
10981    pub AEGP_Duplicate: ::std::option::Option<
10982        unsafe extern "C" fn(
10983            plugin_id: AEGP_PluginID,
10984            optionsH: AEGP_LayerRenderOptionsH,
10985            copyPH: *mut AEGP_LayerRenderOptionsH,
10986        ) -> A_Err,
10987    >,
10988    pub AEGP_Dispose:
10989        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH) -> A_Err>,
10990    pub AEGP_SetTime: ::std::option::Option<
10991        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time: A_Time) -> A_Err,
10992    >,
10993    pub AEGP_GetTime: ::std::option::Option<
10994        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timeP: *mut A_Time) -> A_Err,
10995    >,
10996    pub AEGP_SetTimeStep: ::std::option::Option<
10997        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time_step: A_Time) -> A_Err,
10998    >,
10999    pub AEGP_GetTimeStep: ::std::option::Option<
11000        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timePT: *mut A_Time) -> A_Err,
11001    >,
11002    pub AEGP_SetWorldType: ::std::option::Option<
11003        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, type_: AEGP_WorldType) -> A_Err,
11004    >,
11005    pub AEGP_GetWorldType: ::std::option::Option<
11006        unsafe extern "C" fn(
11007            optionsH: AEGP_LayerRenderOptionsH,
11008            typeP: *mut AEGP_WorldType,
11009        ) -> A_Err,
11010    >,
11011    pub AEGP_SetDownsampleFactor: ::std::option::Option<
11012        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, x: A_short, y: A_short) -> A_Err,
11013    >,
11014    pub AEGP_GetDownsampleFactor: ::std::option::Option<
11015        unsafe extern "C" fn(
11016            optionsH: AEGP_LayerRenderOptionsH,
11017            xP: *mut A_short,
11018            yP: *mut A_short,
11019        ) -> A_Err,
11020    >,
11021    pub AEGP_SetMatteMode: ::std::option::Option<
11022        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
11023    >,
11024    pub AEGP_GetMatteMode: ::std::option::Option<
11025        unsafe extern "C" fn(
11026            optionsH: AEGP_LayerRenderOptionsH,
11027            modeP: *mut AEGP_MatteMode,
11028        ) -> A_Err,
11029    >,
11030}
11031pub type AEGP_AsyncRequestId = A_u_longlong;
11032pub type AEGP_RenderSuiteCheckForCancel = ::std::option::Option<
11033    unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, cancelPB: *mut A_Boolean) -> A_Err,
11034>;
11035pub type AEGP_AsyncFrameReadyCallback = ::std::option::Option<
11036    unsafe extern "C" fn(
11037        request_id: AEGP_AsyncRequestId,
11038        was_canceled: A_Boolean,
11039        error: A_Err,
11040        receiptH: AEGP_FrameReceiptH,
11041        refconP0: AEGP_AsyncFrameRequestRefcon,
11042    ) -> A_Err,
11043>;
11044#[repr(C)]
11045#[derive(Debug, Copy, Clone)]
11046pub struct AEGP_RenderSuite5 {
11047    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
11048        unsafe extern "C" fn(
11049            optionsH: AEGP_RenderOptionsH,
11050            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11051            cancel_function_refconP0: AEGP_CancelRefcon,
11052            receiptPH: *mut AEGP_FrameReceiptH,
11053        ) -> A_Err,
11054    >,
11055    pub AEGP_RenderAndCheckoutLayerFrame: ::std::option::Option<
11056        unsafe extern "C" fn(
11057            optionsH: AEGP_LayerRenderOptionsH,
11058            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11059            cancel_function_refconP0: AEGP_CancelRefcon,
11060            receiptPH: *mut AEGP_FrameReceiptH,
11061        ) -> A_Err,
11062    >,
11063    pub AEGP_RenderAndCheckoutLayerFrame_Async: ::std::option::Option<
11064        unsafe extern "C" fn(
11065            optionsH: AEGP_LayerRenderOptionsH,
11066            callback: AEGP_AsyncFrameReadyCallback,
11067            request_completion_refconP0: AEGP_AsyncFrameRequestRefcon,
11068            asyncRequestIdP: *mut AEGP_AsyncRequestId,
11069        ) -> A_Err,
11070    >,
11071    pub AEGP_CancelAsyncRequest:
11072        ::std::option::Option<unsafe extern "C" fn(asyncRequestId: AEGP_AsyncRequestId) -> A_Err>,
11073    pub AEGP_CheckinFrame:
11074        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
11075    pub AEGP_GetReceiptWorld: ::std::option::Option<
11076        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
11077    >,
11078    pub AEGP_GetRenderedRegion: ::std::option::Option<
11079        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
11080    >,
11081    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
11082        unsafe extern "C" fn(
11083            rendered_optionsH: AEGP_RenderOptionsH,
11084            proposed_optionsH: AEGP_RenderOptionsH,
11085            rendered_is_sufficientPB: *mut A_Boolean,
11086        ) -> A_Err,
11087    >,
11088    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
11089        unsafe extern "C" fn(
11090            itemH: AEGP_ItemH,
11091            start_timePT: *const A_Time,
11092            durationPT: *const A_Time,
11093            sound_formatP: *const AEGP_SoundDataFormat,
11094            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
11095            cancel_function_refconP0: AEGP_CancelRefcon,
11096            new_sound_dataPH: *mut AEGP_SoundDataH,
11097        ) -> A_Err,
11098    >,
11099    pub AEGP_GetCurrentTimestamp:
11100        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
11101    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
11102        unsafe extern "C" fn(
11103            itemH: AEGP_ItemH,
11104            start_timeP: *const A_Time,
11105            durationP: *const A_Time,
11106            time_stampP: *const AEGP_TimeStamp,
11107            item_has_changedPB: *mut A_Boolean,
11108        ) -> A_Err,
11109    >,
11110    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
11111        unsafe extern "C" fn(
11112            roH: AEGP_RenderOptionsH,
11113            time_stampP: *const AEGP_TimeStamp,
11114            worthwhile_to_renderPB: *mut A_Boolean,
11115        ) -> A_Err,
11116    >,
11117    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
11118        unsafe extern "C" fn(
11119            roH: AEGP_RenderOptionsH,
11120            time_stampP: *const AEGP_TimeStamp,
11121            ticks_to_renderL: A_u_long,
11122            imageH: AEGP_PlatformWorldH,
11123        ) -> A_Err,
11124    >,
11125    pub AEGP_GetReceiptGuid: ::std::option::Option<
11126        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
11127    >,
11128}
11129#[repr(C)]
11130#[derive(Debug, Copy, Clone)]
11131pub struct AEGP_RenderAsyncManagerSuite1 {
11132    pub AEGP_CheckoutOrRender_ItemFrame_AsyncManager: ::std::option::Option<
11133        unsafe extern "C" fn(
11134            async_managerP: PF_AsyncManagerP,
11135            purpose_id: A_u_long,
11136            ro: AEGP_RenderOptionsH,
11137            out_receiptPH: *mut AEGP_FrameReceiptH,
11138        ) -> A_Err,
11139    >,
11140    pub AEGP_CheckoutOrRender_LayerFrame_AsyncManager: ::std::option::Option<
11141        unsafe extern "C" fn(
11142            async_managerP: PF_AsyncManagerP,
11143            purpose_id: A_u_long,
11144            lro: AEGP_LayerRenderOptionsH,
11145            out_receiptPH: *mut AEGP_FrameReceiptH,
11146        ) -> A_Err,
11147    >,
11148}
11149#[repr(C)]
11150#[derive(Debug, Copy, Clone)]
11151pub struct AEGP_TrackerSuite1 {
11152    pub AEGP_GetNumFeatures: ::std::option::Option<
11153        unsafe extern "C" fn(contextP: PT_TrackingContextPtr, num_featuresPL: *mut A_long) -> A_Err,
11154    >,
11155    pub AEGP_GetFeatureRegionByIndex: ::std::option::Option<
11156        unsafe extern "C" fn(
11157            contextP: PT_TrackingContextPtr,
11158            index: PT_Index,
11159            rectP: *mut A_FloatRect,
11160        ) -> A_Err,
11161    >,
11162    pub AEGP_GetSearchRegionByIndex: ::std::option::Option<
11163        unsafe extern "C" fn(
11164            contextP: PT_TrackingContextPtr,
11165            index: PT_Index,
11166            rectP: *mut A_FloatRect,
11167        ) -> A_Err,
11168    >,
11169    pub AEGP_GetFeatureWorldByIndex: ::std::option::Option<
11170        unsafe extern "C" fn(
11171            contextP: PT_TrackingContextPtr,
11172            index: PT_Index,
11173            feature_worldPH: *mut AEGP_WorldH,
11174        ) -> A_Err,
11175    >,
11176    pub AEGP_GetFrameWorld: ::std::option::Option<
11177        unsafe extern "C" fn(
11178            contextP: PT_TrackingContextPtr,
11179            frame_worldPH: *mut AEGP_WorldH,
11180        ) -> A_Err,
11181    >,
11182    pub AEGP_GetTrackerSourceDimensions: ::std::option::Option<
11183        unsafe extern "C" fn(
11184            contextP: PT_TrackingContextPtr,
11185            widthPL: *mut A_long,
11186            heightPL: *mut A_long,
11187        ) -> A_Err,
11188    >,
11189    pub AEGP_SetFeatureRegionByIndex: ::std::option::Option<
11190        unsafe extern "C" fn(
11191            contextP: PT_TrackingContextPtr,
11192            index: PT_Index,
11193            rectP: *const A_FloatRect,
11194        ) -> A_Err,
11195    >,
11196    pub AEGP_SetAccuracyByIndex: ::std::option::Option<
11197        unsafe extern "C" fn(
11198            contextP: PT_TrackingContextPtr,
11199            index: PT_Index,
11200            accuracyF: A_FpLong,
11201        ) -> A_Err,
11202    >,
11203    pub AEGP_ShouldTrackFeature: ::std::option::Option<
11204        unsafe extern "C" fn(
11205            contextP: PT_TrackingContextPtr,
11206            index: PT_Index,
11207            trackPB: *mut A_Boolean,
11208        ) -> A_Err,
11209    >,
11210}
11211#[repr(C)]
11212#[derive(Debug, Copy, Clone)]
11213pub struct AEGP_TrackerUtilitySuite1 {
11214    pub AEGP_HasUserCancelled: ::std::option::Option<
11215        unsafe extern "C" fn(
11216            contextP: PT_TrackingContextPtr,
11217            user_cancelledPB: *mut A_Boolean,
11218        ) -> A_Err,
11219    >,
11220    pub AEGP_GetTrackerFromTrackerInstance: ::std::option::Option<
11221        unsafe extern "C" fn(
11222            tracker_instanceP: PT_TrackerInstancePtr,
11223            trackerPP: *mut PT_TrackerPtr,
11224        ) -> A_Err,
11225    >,
11226    pub AEGP_GetTrackerInstanceFromTrackingContext: ::std::option::Option<
11227        unsafe extern "C" fn(
11228            contextP: PT_TrackingContextPtr,
11229            tracker_instancePP: *mut PT_TrackerInstancePtr,
11230        ) -> A_Err,
11231    >,
11232    pub AEGP_GetGlobalData: ::std::option::Option<
11233        unsafe extern "C" fn(trackerP: PT_TrackerPtr, global_dataPH: *mut AEGP_MemHandle) -> A_Err,
11234    >,
11235    pub AEGP_GetInstanceData: ::std::option::Option<
11236        unsafe extern "C" fn(
11237            tracker_instanceP: PT_TrackerInstancePtr,
11238            instance_dataPH: *mut AEGP_MemHandle,
11239        ) -> A_Err,
11240    >,
11241    pub AEGP_GetTrackData: ::std::option::Option<
11242        unsafe extern "C" fn(
11243            contextP: PT_TrackingContextPtr,
11244            track_dataPH: *mut AEGP_MemHandle,
11245        ) -> A_Err,
11246    >,
11247}
11248#[repr(C)]
11249#[derive(Debug, Copy, Clone)]
11250pub struct _AEGP_RQM_Refcon {
11251    _unused: [u8; 0],
11252}
11253pub type AEGP_RQM_Refcon = *mut _AEGP_RQM_Refcon;
11254pub type AEGP_RQM_SessionId = A_u_longlong;
11255pub type AEGP_RQM_ItemId = A_u_longlong;
11256pub type AEGP_RQM_FrameId = A_u_longlong;
11257pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_UNKNOWN: AEGP_RQM_FinishedStatus = 0;
11258pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_SUCCEEDED: AEGP_RQM_FinishedStatus = 1;
11259pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_ABORTED: AEGP_RQM_FinishedStatus = 2;
11260pub const AEGP_RQM_FinishedStatus_AEGP_RQM_FinishedStatus_ERRED: AEGP_RQM_FinishedStatus = 3;
11261pub type AEGP_RQM_FinishedStatus = ::std::os::raw::c_uint;
11262#[repr(C)]
11263#[derive(Debug, Copy, Clone)]
11264pub struct _AEGP_RQM_BasicData {
11265    pub pica_basicP: *const SPBasicSuite,
11266    pub aegp_plug_id: A_long,
11267    pub aegp_refconPV: AEGP_RQM_Refcon,
11268}
11269pub type AEGP_RQM_BasicData = _AEGP_RQM_BasicData;
11270#[repr(C)]
11271#[derive(Debug, Copy, Clone)]
11272pub struct _AEGP_RQM_FunctionBlock1 {
11273    pub AEGP_RQM_RenderJobStarted: ::std::option::Option<
11274        unsafe extern "C" fn(
11275            basic_dataP: *mut AEGP_RQM_BasicData,
11276            jobid: AEGP_RQM_SessionId,
11277        ) -> A_Err,
11278    >,
11279    pub AEGP_RQM_RenderJobEnded: ::std::option::Option<
11280        unsafe extern "C" fn(
11281            basic_dataP: *mut AEGP_RQM_BasicData,
11282            jobid: AEGP_RQM_SessionId,
11283        ) -> A_Err,
11284    >,
11285    pub AEGP_RQM_RenderJobItemStarted: ::std::option::Option<
11286        unsafe extern "C" fn(
11287            basic_dataP: *mut AEGP_RQM_BasicData,
11288            jobid: AEGP_RQM_SessionId,
11289            itemid: AEGP_RQM_ItemId,
11290        ) -> A_Err,
11291    >,
11292    pub AEGP_RQM_RenderJobItemUpdated: ::std::option::Option<
11293        unsafe extern "C" fn(
11294            basic_dataP: *mut AEGP_RQM_BasicData,
11295            jobid: AEGP_RQM_SessionId,
11296            itemid: AEGP_RQM_ItemId,
11297            frameid: AEGP_RQM_FrameId,
11298        ) -> A_Err,
11299    >,
11300    pub AEGP_RQM_RenderJobItemEnded: ::std::option::Option<
11301        unsafe extern "C" fn(
11302            basic_dataP: *mut AEGP_RQM_BasicData,
11303            jobid: AEGP_RQM_SessionId,
11304            itemid: AEGP_RQM_ItemId,
11305            fstatus: AEGP_RQM_FinishedStatus,
11306        ) -> A_Err,
11307    >,
11308    pub AEGP_RQM_RenderJobItemReportLog: ::std::option::Option<
11309        unsafe extern "C" fn(
11310            basic_dataP: *mut AEGP_RQM_BasicData,
11311            jobid: AEGP_RQM_SessionId,
11312            itemid: AEGP_RQM_ItemId,
11313            isError: A_Boolean,
11314            logbuf: AEGP_MemHandle,
11315        ) -> A_Err,
11316    >,
11317}
11318pub type AEGP_RQM_FunctionBlock1 = _AEGP_RQM_FunctionBlock1;
11319#[repr(C)]
11320#[derive(Debug, Copy, Clone)]
11321pub struct AEGP_RenderQueueMonitorSuite1 {
11322    pub AEGP_RegisterListener: ::std::option::Option<
11323        unsafe extern "C" fn(
11324            aegp_plugin_id: AEGP_PluginID,
11325            aegp_refconP: AEGP_RQM_Refcon,
11326            fcn_blockP: *const AEGP_RQM_FunctionBlock1,
11327        ) -> A_Err,
11328    >,
11329    pub AEGP_DeregisterListener: ::std::option::Option<
11330        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, aegp_refconP: AEGP_RQM_Refcon) -> A_Err,
11331    >,
11332    pub AEGP_GetProjectName: ::std::option::Option<
11333        unsafe extern "C" fn(
11334            sessid: AEGP_RQM_SessionId,
11335            utf_project_namePH0: *mut AEGP_MemHandle,
11336        ) -> A_Err,
11337    >,
11338    pub AEGP_GetAppVersion: ::std::option::Option<
11339        unsafe extern "C" fn(
11340            sessid: AEGP_RQM_SessionId,
11341            utf_app_versionPH0: *mut AEGP_MemHandle,
11342        ) -> A_Err,
11343    >,
11344    pub AEGP_GetNumJobItems: ::std::option::Option<
11345        unsafe extern "C" fn(sessid: AEGP_RQM_SessionId, num_jobitemsPL: *mut A_long) -> A_Err,
11346    >,
11347    pub AEGP_GetJobItemID: ::std::option::Option<
11348        unsafe extern "C" fn(
11349            sessid: AEGP_RQM_SessionId,
11350            jobItemIndex: A_long,
11351            jobItemID: *mut AEGP_RQM_ItemId,
11352        ) -> A_Err,
11353    >,
11354    pub AEGP_GetNumJobItemRenderSettings: ::std::option::Option<
11355        unsafe extern "C" fn(
11356            sessid: AEGP_RQM_SessionId,
11357            itemid: AEGP_RQM_ItemId,
11358            num_settingsPL: *mut A_long,
11359        ) -> A_Err,
11360    >,
11361    pub AEGP_GetJobItemRenderSetting: ::std::option::Option<
11362        unsafe extern "C" fn(
11363            sessid: AEGP_RQM_SessionId,
11364            itemid: AEGP_RQM_ItemId,
11365            settingIndex: A_long,
11366            utf_setting_namePH0: *mut AEGP_MemHandle,
11367            utf_setting_valuePH0: *mut AEGP_MemHandle,
11368        ) -> A_Err,
11369    >,
11370    pub AEGP_GetNumJobItemOutputModules: ::std::option::Option<
11371        unsafe extern "C" fn(
11372            sessid: AEGP_RQM_SessionId,
11373            itemid: AEGP_RQM_ItemId,
11374            num_outputmodulesPL: *mut A_long,
11375        ) -> A_Err,
11376    >,
11377    pub AEGP_GetNumJobItemOutputModuleSettings: ::std::option::Option<
11378        unsafe extern "C" fn(
11379            sessid: AEGP_RQM_SessionId,
11380            itemid: AEGP_RQM_ItemId,
11381            outputModuleIndex: A_long,
11382            num_settingsPL: *mut A_long,
11383        ) -> A_Err,
11384    >,
11385    pub AEGP_GetJobItemOutputModuleSetting: ::std::option::Option<
11386        unsafe extern "C" fn(
11387            sessid: AEGP_RQM_SessionId,
11388            itemid: AEGP_RQM_ItemId,
11389            outputModuleIndex: A_long,
11390            settingIndex: A_long,
11391            utf_setting_namePH0: *mut AEGP_MemHandle,
11392            utf_setting_valuePH0: *mut AEGP_MemHandle,
11393        ) -> A_Err,
11394    >,
11395    pub AEGP_GetNumJobItemOutputModuleWarnings: ::std::option::Option<
11396        unsafe extern "C" fn(
11397            sessid: AEGP_RQM_SessionId,
11398            itemid: AEGP_RQM_ItemId,
11399            outputModuleIndex: A_long,
11400            num_warningsPL: *mut A_long,
11401        ) -> A_Err,
11402    >,
11403    pub AEGP_GetJobItemOutputModuleWarning: ::std::option::Option<
11404        unsafe extern "C" fn(
11405            sessid: AEGP_RQM_SessionId,
11406            itemid: AEGP_RQM_ItemId,
11407            outputModuleIndex: A_long,
11408            warningIndex: A_long,
11409            utf_warning_valuePH0: *mut AEGP_MemHandle,
11410        ) -> A_Err,
11411    >,
11412    pub AEGP_GetNumJobItemFrameProperties: ::std::option::Option<
11413        unsafe extern "C" fn(
11414            sessid: AEGP_RQM_SessionId,
11415            itemid: AEGP_RQM_ItemId,
11416            frameid: AEGP_RQM_FrameId,
11417            num_propertiesPL: *mut A_long,
11418        ) -> A_Err,
11419    >,
11420    pub AEGP_GetJobItemFrameProperty: ::std::option::Option<
11421        unsafe extern "C" fn(
11422            sessid: AEGP_RQM_SessionId,
11423            itemid: AEGP_RQM_ItemId,
11424            frameid: AEGP_RQM_FrameId,
11425            propertyIndex: A_long,
11426            utf_property_namePH0: *mut AEGP_MemHandle,
11427            utf_property_valuePH0: *mut AEGP_MemHandle,
11428        ) -> A_Err,
11429    >,
11430    pub AEGP_GetNumJobItemOutputModuleProperties: ::std::option::Option<
11431        unsafe extern "C" fn(
11432            sessid: AEGP_RQM_SessionId,
11433            itemid: AEGP_RQM_ItemId,
11434            outputModuleIndex: A_long,
11435            num_propertiesPL: *mut A_long,
11436        ) -> A_Err,
11437    >,
11438    pub AEGP_GetJobItemOutputModuleProperty: ::std::option::Option<
11439        unsafe extern "C" fn(
11440            sessid: AEGP_RQM_SessionId,
11441            itemid: AEGP_RQM_ItemId,
11442            outputModuleIndex: A_long,
11443            propertyIndex: A_long,
11444            utf_property_namePH0: *mut AEGP_MemHandle,
11445            utf_property_valuePH0: *mut AEGP_MemHandle,
11446        ) -> A_Err,
11447    >,
11448    pub AEGP_GetJobItemFrameThumbnail: ::std::option::Option<
11449        unsafe extern "C" fn(
11450            sessid: AEGP_RQM_SessionId,
11451            itemid: AEGP_RQM_ItemId,
11452            frameid: AEGP_RQM_FrameId,
11453            widthPL: *mut A_long,
11454            heightPL: *mut A_long,
11455            thumbnailPH0: *mut AEGP_MemHandle,
11456        ) -> A_Err,
11457    >,
11458}
11459pub type PF_ConstPtr = *const ::std::os::raw::c_void;
11460pub type PF_ConstHandle = *const PF_ConstPtr;
11461#[repr(C)]
11462#[derive(Debug, Copy, Clone)]
11463pub struct PF_EffectSequenceDataSuite1 {
11464    pub PF_GetConstSequenceData: ::std::option::Option<
11465        unsafe extern "C" fn(effect_ref: PF_ProgPtr, sequence_data: *mut PF_ConstHandle) -> PF_Err,
11466    >,
11467}
11468#[repr(C)]
11469#[derive(Debug, Copy, Clone)]
11470pub struct AEGP_TimeDisplay {
11471    pub time_display_type: AEGP_TimeDisplayType,
11472    pub timebaseC: A_char,
11473    pub non_drop_30B: A_Boolean,
11474    pub frames_per_footC: A_char,
11475    pub starting_frameL: A_long,
11476}
11477#[repr(C)]
11478#[derive(Debug, Copy, Clone)]
11479pub struct AEGP_CanvasSuite1 {
11480    pub AEGP_GetCompToRender: ::std::option::Option<
11481        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
11482    >,
11483    pub AEGP_GetNumLayersToRender: ::std::option::Option<
11484        unsafe extern "C" fn(
11485            render_contextH: PR_RenderContextH,
11486            num_to_renderPL: *mut A_long,
11487        ) -> A_Err,
11488    >,
11489    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
11490        unsafe extern "C" fn(
11491            render_contextH: PR_RenderContextH,
11492            n: A_long,
11493            layer_contextPH: *mut AEGP_RenderLayerContextH,
11494        ) -> A_Err,
11495    >,
11496    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
11497        unsafe extern "C" fn(
11498            render_contextH: PR_RenderContextH,
11499            layer_contextH: AEGP_RenderLayerContextH,
11500            layerPH: *mut AEGP_LayerH,
11501        ) -> A_Err,
11502    >,
11503    pub AEGP_GetCompRenderTime: ::std::option::Option<
11504        unsafe extern "C" fn(
11505            render_contextH: PR_RenderContextH,
11506            time: *mut A_Time,
11507            time_step: *mut A_Time,
11508        ) -> A_Err,
11509    >,
11510    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
11511        unsafe extern "C" fn(
11512            render_contextH: PR_RenderContextH,
11513            compH: AEGP_CompH,
11514            dst: *mut PF_EffectWorld,
11515        ) -> A_Err,
11516    >,
11517    pub AEGP_GetROI: ::std::option::Option<
11518        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
11519    >,
11520    #[doc = " for rendering track mattes"]
11521    pub AEGP_RenderLayer: ::std::option::Option<
11522        unsafe extern "C" fn(
11523            render_contextH: PR_RenderContextH,
11524            layerH: AEGP_LayerH,
11525            render_hints: AEGP_RenderHints,
11526            render_bufferP: *mut PF_EffectWorld,
11527        ) -> A_Err,
11528    >,
11529    pub AEGP_RenderTexture: ::std::option::Option<
11530        unsafe extern "C" fn(
11531            render_contextH: PR_RenderContextH,
11532            layer_contextH: AEGP_RenderLayerContextH,
11533            render_hints: AEGP_RenderHints,
11534            suggested_scaleP0: *mut A_FloatPoint,
11535            suggested_src_rectP0: *mut A_FloatRect,
11536            src_matrixP0: *mut A_Matrix3,
11537            dst: *mut PF_EffectWorld,
11538        ) -> A_Err,
11539    >,
11540    pub AEGP_DisposeTexture: ::std::option::Option<
11541        unsafe extern "C" fn(
11542            render_contextH: PR_RenderContextH,
11543            layer_contextH: AEGP_RenderLayerContextH,
11544            dst0: *mut PF_EffectWorld,
11545        ) -> A_Err,
11546    >,
11547    pub AEGP_GetFieldRender: ::std::option::Option<
11548        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
11549    >,
11550    pub AEGP_ReportArtisanProgress: ::std::option::Option<
11551        unsafe extern "C" fn(
11552            render_contextH: PR_RenderContextH,
11553            countL: A_long,
11554            totalL: A_long,
11555        ) -> A_Err,
11556    >,
11557    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
11558        unsafe extern "C" fn(
11559            render_contextH: PR_RenderContextH,
11560            dsfP: *mut AEGP_DownsampleFactor,
11561        ) -> A_Err,
11562    >,
11563    pub AEGP_IsBlankCanvas: ::std::option::Option<
11564        unsafe extern "C" fn(
11565            render_contextH: PR_RenderContextH,
11566            is_blankPB: *mut A_Boolean,
11567        ) -> A_Err,
11568    >,
11569    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
11570        unsafe extern "C" fn(
11571            render_contextH: PR_RenderContextH,
11572            layer_contextH: AEGP_RenderLayerContextH,
11573            comp_timeP: *const A_Time,
11574            transform: *mut A_Matrix4,
11575        ) -> A_Err,
11576    >,
11577    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
11578        unsafe extern "C" fn(
11579            render_contextH: PR_RenderContextH,
11580            layer_contextH: AEGP_RenderLayerContextH,
11581            comp_timeP: *const A_Time,
11582            boundsP: *mut A_LegacyRect,
11583        ) -> A_Err,
11584    >,
11585    pub AEGP_GetRenderOpacity: ::std::option::Option<
11586        unsafe extern "C" fn(
11587            render_contextH: PR_RenderContextH,
11588            layer_contextH: AEGP_RenderLayerContextH,
11589            comp_timePT: *const A_Time,
11590            opacityPF: *mut A_FpLong,
11591        ) -> A_Err,
11592    >,
11593    pub AEGP_IsRenderLayerActive: ::std::option::Option<
11594        unsafe extern "C" fn(
11595            render_contextH: PR_RenderContextH,
11596            layer_contextH: AEGP_RenderLayerContextH,
11597            comp_timePT: *const A_Time,
11598            activePB: *mut A_Boolean,
11599        ) -> A_Err,
11600    >,
11601    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
11602        unsafe extern "C" fn(
11603            render_contextH: PR_RenderContextH,
11604            countL: A_long,
11605            num_layersL: A_long,
11606        ) -> A_Err,
11607    >,
11608}
11609#[repr(C)]
11610#[derive(Debug, Copy, Clone)]
11611pub struct AEGP_RQItemSuite3 {
11612    pub AEGP_GetNumRQItems:
11613        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11614    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11615        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11616    >,
11617    pub AEGP_GetNextRQItem: ::std::option::Option<
11618        unsafe extern "C" fn(
11619            current_rq_itemH: AEGP_RQItemRefH,
11620            next_rq_itemH: *mut AEGP_RQItemRefH,
11621        ) -> A_Err,
11622    >,
11623    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11624        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
11625    >,
11626    pub AEGP_GetRenderState: ::std::option::Option<
11627        unsafe extern "C" fn(
11628            rq_itemH: AEGP_RQItemRefH,
11629            statusP: *mut AEGP_RenderItemStatusType,
11630        ) -> A_Err,
11631    >,
11632    pub AEGP_SetRenderState: ::std::option::Option<
11633        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
11634    >,
11635    pub AEGP_GetStartedTime: ::std::option::Option<
11636        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
11637    >,
11638    pub AEGP_GetElapsedTime: ::std::option::Option<
11639        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
11640    >,
11641    pub AEGP_GetLogType: ::std::option::Option<
11642        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
11643    >,
11644    pub AEGP_SetLogType: ::std::option::Option<
11645        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
11646    >,
11647    pub AEGP_RemoveOutputModule: ::std::option::Option<
11648        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
11649    >,
11650    pub AEGP_GetComment: ::std::option::Option<
11651        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
11652    >,
11653    pub AEGP_SetComment: ::std::option::Option<
11654        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
11655    >,
11656    pub AEGP_GetCompFromRQItem: ::std::option::Option<
11657        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
11658    >,
11659    pub AEGP_DeleteRQItem:
11660        ::std::option::Option<unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH) -> A_Err>,
11661}
11662#[repr(C)]
11663#[derive(Debug, Copy, Clone)]
11664pub struct AEGP_RQItemSuite2 {
11665    pub AEGP_GetNumRQItems:
11666        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11667    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11668        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11669    >,
11670    pub AEGP_GetNextRQItem: ::std::option::Option<
11671        unsafe extern "C" fn(
11672            current_rq_itemH: AEGP_RQItemRefH,
11673            next_rq_itemH: *mut AEGP_RQItemRefH,
11674        ) -> A_Err,
11675    >,
11676    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11677        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
11678    >,
11679    pub AEGP_GetRenderState: ::std::option::Option<
11680        unsafe extern "C" fn(
11681            rq_itemH: AEGP_RQItemRefH,
11682            statusP: *mut AEGP_RenderItemStatusType,
11683        ) -> A_Err,
11684    >,
11685    pub AEGP_SetRenderState: ::std::option::Option<
11686        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
11687    >,
11688    pub AEGP_GetStartedTime: ::std::option::Option<
11689        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
11690    >,
11691    pub AEGP_GetElapsedTime: ::std::option::Option<
11692        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
11693    >,
11694    pub AEGP_GetLogType: ::std::option::Option<
11695        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
11696    >,
11697    pub AEGP_SetLogType: ::std::option::Option<
11698        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
11699    >,
11700    pub AEGP_RemoveOutputModule: ::std::option::Option<
11701        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
11702    >,
11703    pub AEGP_GetComment: ::std::option::Option<
11704        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
11705    >,
11706    pub AEGP_SetComment: ::std::option::Option<
11707        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
11708    >,
11709    pub AEGP_GetCompFromRQItem: ::std::option::Option<
11710        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, compPH: *mut AEGP_CompH) -> A_Err,
11711    >,
11712}
11713#[repr(C)]
11714#[derive(Debug, Copy, Clone)]
11715pub struct AEGP_RQItemSuite1 {
11716    pub AEGP_GetNumRQItems:
11717        ::std::option::Option<unsafe extern "C" fn(num_itemsPL: *mut A_long) -> A_Err>,
11718    pub AEGP_GetRQItemByIndex: ::std::option::Option<
11719        unsafe extern "C" fn(rq_item_index: A_long, rq_item_refPH: *mut AEGP_RQItemRefH) -> A_Err,
11720    >,
11721    pub AEGP_GetNextRQItem: ::std::option::Option<
11722        unsafe extern "C" fn(
11723            current_rq_itemH: AEGP_RQItemRefH,
11724            next_rq_itemH: *mut AEGP_RQItemRefH,
11725        ) -> A_Err,
11726    >,
11727    pub AEGP_GetNumOutputModulesForRQItem: ::std::option::Option<
11728        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, num_outmodsPL: *mut A_long) -> A_Err,
11729    >,
11730    pub AEGP_GetRenderState: ::std::option::Option<
11731        unsafe extern "C" fn(
11732            rq_itemH: AEGP_RQItemRefH,
11733            statusP: *mut AEGP_RenderItemStatusType,
11734        ) -> A_Err,
11735    >,
11736    pub AEGP_SetRenderState: ::std::option::Option<
11737        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, status: AEGP_RenderItemStatusType) -> A_Err,
11738    >,
11739    pub AEGP_GetStartedTime: ::std::option::Option<
11740        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, started_timePT: *mut A_Time) -> A_Err,
11741    >,
11742    pub AEGP_GetElapsedTime: ::std::option::Option<
11743        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, render_timePT: *mut A_Time) -> A_Err,
11744    >,
11745    pub AEGP_GetLogType: ::std::option::Option<
11746        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtypeP: *mut AEGP_LogType) -> A_Err,
11747    >,
11748    pub AEGP_SetLogType: ::std::option::Option<
11749        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, logtype: AEGP_LogType) -> A_Err,
11750    >,
11751    pub AEGP_RemoveOutputModule: ::std::option::Option<
11752        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, outmodH: AEGP_OutputModuleRefH) -> A_Err,
11753    >,
11754    pub AEGP_GetComment: ::std::option::Option<
11755        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *mut A_char) -> A_Err,
11756    >,
11757    pub AEGP_SetComment: ::std::option::Option<
11758        unsafe extern "C" fn(rq_itemH: AEGP_RQItemRefH, commentZ: *const A_char) -> A_Err,
11759    >,
11760}
11761#[repr(C)]
11762#[derive(Debug, Copy, Clone)]
11763pub struct AEGP_CanvasSuite2 {
11764    pub AEGP_GetCompToRender: ::std::option::Option<
11765        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
11766    >,
11767    pub AEGP_GetNumLayersToRender: ::std::option::Option<
11768        unsafe extern "C" fn(
11769            render_contextH: PR_RenderContextH,
11770            num_to_renderPL: *mut A_long,
11771        ) -> A_Err,
11772    >,
11773    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
11774        unsafe extern "C" fn(
11775            render_contextH: PR_RenderContextH,
11776            n: A_long,
11777            layer_contextPH: *mut AEGP_RenderLayerContextH,
11778        ) -> A_Err,
11779    >,
11780    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
11781        unsafe extern "C" fn(
11782            render_contextH: PR_RenderContextH,
11783            layer_contextH: AEGP_RenderLayerContextH,
11784            layerPH: *mut AEGP_LayerH,
11785        ) -> A_Err,
11786    >,
11787    #[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"]
11788    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
11789        unsafe extern "C" fn(
11790            render_contextH: PR_RenderContextH,
11791            layer_contextH: AEGP_RenderLayerContextH,
11792            layerPH: *mut AEGP_LayerH,
11793        ) -> A_Err,
11794    >,
11795    pub AEGP_GetCompRenderTime: ::std::option::Option<
11796        unsafe extern "C" fn(
11797            render_contextH: PR_RenderContextH,
11798            time: *mut A_Time,
11799            time_step: *mut A_Time,
11800        ) -> A_Err,
11801    >,
11802    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
11803        unsafe extern "C" fn(
11804            render_contextH: PR_RenderContextH,
11805            compH: AEGP_CompH,
11806            dst: *mut PF_EffectWorld,
11807        ) -> A_Err,
11808    >,
11809    pub AEGP_GetROI: ::std::option::Option<
11810        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
11811    >,
11812    #[doc = " for rendering track mattes"]
11813    pub AEGP_RenderLayer: ::std::option::Option<
11814        unsafe extern "C" fn(
11815            render_contextH: PR_RenderContextH,
11816            layerH: AEGP_LayerH,
11817            render_hints: AEGP_RenderHints,
11818            render_bufferP: *mut PF_EffectWorld,
11819        ) -> A_Err,
11820    >,
11821    pub AEGP_RenderTexture: ::std::option::Option<
11822        unsafe extern "C" fn(
11823            render_contextH: PR_RenderContextH,
11824            layer_contextH: AEGP_RenderLayerContextH,
11825            render_hints: AEGP_RenderHints,
11826            suggested_scaleP0: *mut A_FloatPoint,
11827            suggested_src_rectP0: *mut A_FloatRect,
11828            src_matrixP0: *mut A_Matrix3,
11829            dst: *mut PF_EffectWorld,
11830        ) -> A_Err,
11831    >,
11832    pub AEGP_DisposeTexture: ::std::option::Option<
11833        unsafe extern "C" fn(
11834            render_contextH: PR_RenderContextH,
11835            layer_contextH: AEGP_RenderLayerContextH,
11836            dst0: *mut PF_EffectWorld,
11837        ) -> A_Err,
11838    >,
11839    pub AEGP_GetFieldRender: ::std::option::Option<
11840        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
11841    >,
11842    pub AEGP_ReportArtisanProgress: ::std::option::Option<
11843        unsafe extern "C" fn(
11844            render_contextH: PR_RenderContextH,
11845            countL: A_long,
11846            totalL: A_long,
11847        ) -> A_Err,
11848    >,
11849    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
11850        unsafe extern "C" fn(
11851            render_contextH: PR_RenderContextH,
11852            dsfP: *mut AEGP_DownsampleFactor,
11853        ) -> A_Err,
11854    >,
11855    pub AEGP_IsBlankCanvas: ::std::option::Option<
11856        unsafe extern "C" fn(
11857            render_contextH: PR_RenderContextH,
11858            is_blankPB: *mut A_Boolean,
11859        ) -> A_Err,
11860    >,
11861    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
11862        unsafe extern "C" fn(
11863            render_contextH: PR_RenderContextH,
11864            layer_contextH: AEGP_RenderLayerContextH,
11865            comp_timeP: *const A_Time,
11866            transform: *mut A_Matrix4,
11867        ) -> A_Err,
11868    >,
11869    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
11870        unsafe extern "C" fn(
11871            render_contextH: PR_RenderContextH,
11872            layer_contextH: AEGP_RenderLayerContextH,
11873            comp_timeP: *const A_Time,
11874            boundsP: *mut A_LegacyRect,
11875        ) -> A_Err,
11876    >,
11877    pub AEGP_GetRenderOpacity: ::std::option::Option<
11878        unsafe extern "C" fn(
11879            render_contextH: PR_RenderContextH,
11880            layer_contextH: AEGP_RenderLayerContextH,
11881            comp_timePT: *const A_Time,
11882            opacityPF: *mut A_FpLong,
11883        ) -> A_Err,
11884    >,
11885    pub AEGP_IsRenderLayerActive: ::std::option::Option<
11886        unsafe extern "C" fn(
11887            render_contextH: PR_RenderContextH,
11888            layer_contextH: AEGP_RenderLayerContextH,
11889            comp_timePT: *const A_Time,
11890            activePB: *mut A_Boolean,
11891        ) -> A_Err,
11892    >,
11893    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
11894        unsafe extern "C" fn(
11895            render_contextH: PR_RenderContextH,
11896            countL: A_long,
11897            num_layersL: A_long,
11898        ) -> A_Err,
11899    >,
11900    pub AEGP_RenderLayerPlus: ::std::option::Option<
11901        unsafe extern "C" fn(
11902            render_contextH: PR_RenderContextH,
11903            layerH: AEGP_LayerH,
11904            layer_contextH: AEGP_RenderLayerContextH,
11905            render_hints: AEGP_RenderHints,
11906            render_bufferP: *mut PF_EffectWorld,
11907        ) -> A_Err,
11908    >,
11909    pub AEGP_GetTrackMatteContext: ::std::option::Option<
11910        unsafe extern "C" fn(
11911            render_contextH: PR_RenderContextH,
11912            fill_contextH: AEGP_RenderLayerContextH,
11913            matte_contextPH: *mut AEGP_RenderLayerContextH,
11914        ) -> A_Err,
11915    >,
11916}
11917#[repr(C)]
11918#[derive(Debug, Copy, Clone)]
11919pub struct AEGP_CanvasSuite4 {
11920    pub AEGP_GetCompToRender: ::std::option::Option<
11921        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
11922    >,
11923    pub AEGP_GetNumLayersToRender: ::std::option::Option<
11924        unsafe extern "C" fn(
11925            render_contextH: PR_RenderContextH,
11926            num_to_renderPL: *mut A_long,
11927        ) -> A_Err,
11928    >,
11929    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
11930        unsafe extern "C" fn(
11931            render_contextH: PR_RenderContextH,
11932            n: A_long,
11933            layer_contextPH: *mut AEGP_RenderLayerContextH,
11934        ) -> A_Err,
11935    >,
11936    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
11937        unsafe extern "C" fn(
11938            render_contextH: PR_RenderContextH,
11939            layer_contextH: AEGP_RenderLayerContextH,
11940            layerPH: *mut AEGP_LayerH,
11941        ) -> A_Err,
11942    >,
11943    #[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"]
11944    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
11945        unsafe extern "C" fn(
11946            render_contextH: PR_RenderContextH,
11947            layer_contextH: AEGP_RenderLayerContextH,
11948            layerPH: *mut AEGP_LayerH,
11949        ) -> A_Err,
11950    >,
11951    pub AEGP_GetCompRenderTime: ::std::option::Option<
11952        unsafe extern "C" fn(
11953            render_contextH: PR_RenderContextH,
11954            time: *mut A_Time,
11955            time_step: *mut A_Time,
11956        ) -> A_Err,
11957    >,
11958    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
11959        unsafe extern "C" fn(
11960            render_contextH: PR_RenderContextH,
11961            compH: AEGP_CompH,
11962            dst: *mut AEGP_WorldH,
11963        ) -> A_Err,
11964    >,
11965    pub AEGP_GetROI: ::std::option::Option<
11966        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
11967    >,
11968    pub AEGP_RenderTexture: ::std::option::Option<
11969        unsafe extern "C" fn(
11970            render_contextH: PR_RenderContextH,
11971            layer_contextH: AEGP_RenderLayerContextH,
11972            render_hints: AEGP_RenderHints,
11973            suggested_scaleP0: *mut A_FloatPoint,
11974            suggested_src_rectP0: *mut A_FloatRect,
11975            src_matrixP0: *mut A_Matrix3,
11976            dstPH: *mut AEGP_WorldH,
11977        ) -> A_Err,
11978    >,
11979    pub AEGP_DisposeTexture: ::std::option::Option<
11980        unsafe extern "C" fn(
11981            render_contextH: PR_RenderContextH,
11982            layer_contextH: AEGP_RenderLayerContextH,
11983            dstH0: AEGP_WorldH,
11984        ) -> A_Err,
11985    >,
11986    pub AEGP_GetFieldRender: ::std::option::Option<
11987        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
11988    >,
11989    pub AEGP_ReportArtisanProgress: ::std::option::Option<
11990        unsafe extern "C" fn(
11991            render_contextH: PR_RenderContextH,
11992            countL: A_long,
11993            totalL: A_long,
11994        ) -> A_Err,
11995    >,
11996    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
11997        unsafe extern "C" fn(
11998            render_contextH: PR_RenderContextH,
11999            dsfP: *mut AEGP_DownsampleFactor,
12000        ) -> A_Err,
12001    >,
12002    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12003        unsafe extern "C" fn(
12004            render_contextH: PR_RenderContextH,
12005            dsfP: *mut AEGP_DownsampleFactor,
12006        ) -> A_Err,
12007    >,
12008    pub AEGP_IsBlankCanvas: ::std::option::Option<
12009        unsafe extern "C" fn(
12010            render_contextH: PR_RenderContextH,
12011            is_blankPB: *mut A_Boolean,
12012        ) -> A_Err,
12013    >,
12014    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12015        unsafe extern "C" fn(
12016            render_contextH: PR_RenderContextH,
12017            layer_contextH: AEGP_RenderLayerContextH,
12018            comp_timeP: *const A_Time,
12019            transform: *mut A_Matrix4,
12020        ) -> A_Err,
12021    >,
12022    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12023        unsafe extern "C" fn(
12024            render_contextH: PR_RenderContextH,
12025            layer_contextH: AEGP_RenderLayerContextH,
12026            comp_timeP: *const A_Time,
12027            boundsP: *mut A_LegacyRect,
12028        ) -> A_Err,
12029    >,
12030    pub AEGP_GetRenderOpacity: ::std::option::Option<
12031        unsafe extern "C" fn(
12032            render_contextH: PR_RenderContextH,
12033            layer_contextH: AEGP_RenderLayerContextH,
12034            comp_timePT: *const A_Time,
12035            opacityPF: *mut A_FpLong,
12036        ) -> A_Err,
12037    >,
12038    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12039        unsafe extern "C" fn(
12040            render_contextH: PR_RenderContextH,
12041            layer_contextH: AEGP_RenderLayerContextH,
12042            comp_timePT: *const A_Time,
12043            activePB: *mut A_Boolean,
12044        ) -> A_Err,
12045    >,
12046    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12047        unsafe extern "C" fn(
12048            render_contextH: PR_RenderContextH,
12049            countL: A_long,
12050            num_layersL: A_long,
12051        ) -> A_Err,
12052    >,
12053    pub AEGP_RenderLayerPlus: ::std::option::Option<
12054        unsafe extern "C" fn(
12055            render_contextH: PR_RenderContextH,
12056            layerH: AEGP_LayerH,
12057            layer_contextH: AEGP_RenderLayerContextH,
12058            render_hints: AEGP_RenderHints,
12059            render_bufferPH: *mut AEGP_WorldH,
12060        ) -> A_Err,
12061    >,
12062    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12063        unsafe extern "C" fn(
12064            render_contextH: PR_RenderContextH,
12065            fill_contextH: AEGP_RenderLayerContextH,
12066            matte_contextPH: *mut AEGP_RenderLayerContextH,
12067        ) -> A_Err,
12068    >,
12069    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12070        unsafe extern "C" fn(
12071            render_contextH: PR_RenderContextH,
12072            layer_contextH: AEGP_RenderLayerContextH,
12073            render_hints: AEGP_RenderHints,
12074            suggested_scaleP0: *mut A_FloatPoint,
12075            suggested_src_rectP0: *mut A_FloatRect,
12076            src_matrixP0: *mut A_Matrix3,
12077            render_receiptPH: *mut AEGP_RenderReceiptH,
12078            dstPH: *mut AEGP_WorldH,
12079        ) -> A_Err,
12080    >,
12081    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12082        unsafe extern "C" fn(
12083            render_contextH: PR_RenderContextH,
12084            layerH: AEGP_LayerH,
12085            layer_contextH: AEGP_RenderLayerContextH,
12086            render_hints: AEGP_RenderHints,
12087            render_receiptPH: *mut AEGP_RenderReceiptH,
12088            render_bufferPH: *mut AEGP_WorldH,
12089        ) -> A_Err,
12090    >,
12091    pub AEGP_DisposeRenderReceipt:
12092        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12093    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12094        unsafe extern "C" fn(
12095            current_render_contextH: PR_RenderContextH,
12096            current_layer_contextH: AEGP_RenderLayerContextH,
12097            old_render_receiptH: AEGP_RenderReceiptH,
12098            check_aceB: A_Boolean,
12099            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12100        ) -> A_Err,
12101    >,
12102    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12103        unsafe extern "C" fn(
12104            render_contextH: PR_RenderContextH,
12105            num_bins_to_renderPL: *mut A_long,
12106        ) -> A_Err,
12107    >,
12108    pub AEGP_SetNthBin: ::std::option::Option<
12109        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12110    >,
12111    pub AEGP_GetBinType: ::std::option::Option<
12112        unsafe extern "C" fn(
12113            render_contextH: PR_RenderContextH,
12114            bin_typeP: *mut AEGP_BinType,
12115        ) -> A_Err,
12116    >,
12117    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12118        unsafe extern "C" fn(
12119            render_contextH: PR_RenderContextH,
12120            layer_contextH: AEGP_RenderLayerContextH,
12121            comp_timeP: *const A_Time,
12122            only_2dB: A_Boolean,
12123            transform: *mut A_Matrix4,
12124        ) -> A_Err,
12125    >,
12126    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12127        unsafe extern "C" fn(
12128            render_contextH: PR_RenderContextH,
12129            window_refP: *mut AEGP_PlatformWindowRef,
12130        ) -> A_Err,
12131    >,
12132    pub AEGP_GetViewportScale: ::std::option::Option<
12133        unsafe extern "C" fn(
12134            render_contextH: PR_RenderContextH,
12135            scale_xPF: *mut A_FpLong,
12136            scale_yPF: *mut A_FpLong,
12137        ) -> A_Err,
12138    >,
12139    pub AEGP_GetViewportOrigin: ::std::option::Option<
12140        unsafe extern "C" fn(
12141            render_contextH: PR_RenderContextH,
12142            origin_xPL: *mut A_long,
12143            origin_yPL: *mut A_long,
12144        ) -> A_Err,
12145    >,
12146    pub AEGP_GetViewportRect: ::std::option::Option<
12147        unsafe extern "C" fn(
12148            render_contextH: PR_RenderContextH,
12149            viewport_rectPR: *mut A_LegacyRect,
12150        ) -> A_Err,
12151    >,
12152    pub AEGP_GetFallowColor: ::std::option::Option<
12153        unsafe extern "C" fn(
12154            render_contextH: PR_RenderContextH,
12155            fallow_colorP: *mut PF_Pixel8,
12156        ) -> A_Err,
12157    >,
12158    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
12159        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12160    >,
12161    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
12162        unsafe extern "C" fn(
12163            render_contextH: PR_RenderContextH,
12164            checkerboard_onPB: *mut A_Boolean,
12165        ) -> A_Err,
12166    >,
12167    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
12168        unsafe extern "C" fn(
12169            render_contextH: PR_RenderContextH,
12170            checkerboard_color1P: *mut PF_Pixel,
12171            checkerboard_color2P: *mut PF_Pixel,
12172        ) -> A_Err,
12173    >,
12174    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
12175        unsafe extern "C" fn(
12176            render_contextH: PR_RenderContextH,
12177            checkerboard_widthPLu: *mut A_u_long,
12178            checkerboard_heightPLu: *mut A_u_long,
12179        ) -> A_Err,
12180    >,
12181    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
12182        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12183    >,
12184    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
12185        unsafe extern "C" fn(
12186            render_contextH: PR_RenderContextH,
12187            layer_contextH: AEGP_RenderLayerContextH,
12188            use_render_texturePB: *mut A_Boolean,
12189        ) -> A_Err,
12190    >,
12191}
12192#[repr(C)]
12193#[derive(Debug, Copy, Clone)]
12194pub struct AEGP_CanvasSuite5 {
12195    pub AEGP_GetCompToRender: ::std::option::Option<
12196        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12197    >,
12198    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12199        unsafe extern "C" fn(
12200            render_contextH: PR_RenderContextH,
12201            num_to_renderPL: *mut A_long,
12202        ) -> A_Err,
12203    >,
12204    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12205        unsafe extern "C" fn(
12206            render_contextH: PR_RenderContextH,
12207            n: A_long,
12208            layer_contextPH: *mut AEGP_RenderLayerContextH,
12209        ) -> A_Err,
12210    >,
12211    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12212        unsafe extern "C" fn(
12213            render_contextH: PR_RenderContextH,
12214            layer_contextH: AEGP_RenderLayerContextH,
12215            layerPH: *mut AEGP_LayerH,
12216        ) -> A_Err,
12217    >,
12218    #[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"]
12219    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12220        unsafe extern "C" fn(
12221            render_contextH: PR_RenderContextH,
12222            layer_contextH: AEGP_RenderLayerContextH,
12223            layerPH: *mut AEGP_LayerH,
12224        ) -> A_Err,
12225    >,
12226    pub AEGP_GetCompRenderTime: ::std::option::Option<
12227        unsafe extern "C" fn(
12228            render_contextH: PR_RenderContextH,
12229            time: *mut A_Time,
12230            time_step: *mut A_Time,
12231        ) -> A_Err,
12232    >,
12233    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12234        unsafe extern "C" fn(
12235            render_contextH: PR_RenderContextH,
12236            compH: AEGP_CompH,
12237            dst: *mut AEGP_WorldH,
12238        ) -> A_Err,
12239    >,
12240    pub AEGP_GetROI: ::std::option::Option<
12241        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12242    >,
12243    pub AEGP_RenderTexture: ::std::option::Option<
12244        unsafe extern "C" fn(
12245            render_contextH: PR_RenderContextH,
12246            layer_contextH: AEGP_RenderLayerContextH,
12247            render_hints: AEGP_RenderHints,
12248            suggested_scaleP0: *mut A_FloatPoint,
12249            suggested_src_rectP0: *mut A_FloatRect,
12250            src_matrixP0: *mut A_Matrix3,
12251            dstPH: *mut AEGP_WorldH,
12252        ) -> A_Err,
12253    >,
12254    pub AEGP_DisposeTexture: ::std::option::Option<
12255        unsafe extern "C" fn(
12256            render_contextH: PR_RenderContextH,
12257            layer_contextH: AEGP_RenderLayerContextH,
12258            dstH0: AEGP_WorldH,
12259        ) -> A_Err,
12260    >,
12261    pub AEGP_GetFieldRender: ::std::option::Option<
12262        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12263    >,
12264    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12265        unsafe extern "C" fn(
12266            render_contextH: PR_RenderContextH,
12267            countL: A_long,
12268            totalL: A_long,
12269        ) -> A_Err,
12270    >,
12271    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12272        unsafe extern "C" fn(
12273            render_contextH: PR_RenderContextH,
12274            dsfP: *mut AEGP_DownsampleFactor,
12275        ) -> A_Err,
12276    >,
12277    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12278        unsafe extern "C" fn(
12279            render_contextH: PR_RenderContextH,
12280            dsfP: *mut AEGP_DownsampleFactor,
12281        ) -> A_Err,
12282    >,
12283    pub AEGP_IsBlankCanvas: ::std::option::Option<
12284        unsafe extern "C" fn(
12285            render_contextH: PR_RenderContextH,
12286            is_blankPB: *mut A_Boolean,
12287        ) -> A_Err,
12288    >,
12289    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12290        unsafe extern "C" fn(
12291            render_contextH: PR_RenderContextH,
12292            layer_contextH: AEGP_RenderLayerContextH,
12293            comp_timeP: *const A_Time,
12294            transform: *mut A_Matrix4,
12295        ) -> A_Err,
12296    >,
12297    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12298        unsafe extern "C" fn(
12299            render_contextH: PR_RenderContextH,
12300            layer_contextH: AEGP_RenderLayerContextH,
12301            comp_timeP: *const A_Time,
12302            boundsP: *mut A_LegacyRect,
12303        ) -> A_Err,
12304    >,
12305    pub AEGP_GetRenderOpacity: ::std::option::Option<
12306        unsafe extern "C" fn(
12307            render_contextH: PR_RenderContextH,
12308            layer_contextH: AEGP_RenderLayerContextH,
12309            comp_timePT: *const A_Time,
12310            opacityPF: *mut A_FpLong,
12311        ) -> A_Err,
12312    >,
12313    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12314        unsafe extern "C" fn(
12315            render_contextH: PR_RenderContextH,
12316            layer_contextH: AEGP_RenderLayerContextH,
12317            comp_timePT: *const A_Time,
12318            activePB: *mut A_Boolean,
12319        ) -> A_Err,
12320    >,
12321    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12322        unsafe extern "C" fn(
12323            render_contextH: PR_RenderContextH,
12324            countL: A_long,
12325            num_layersL: A_long,
12326        ) -> A_Err,
12327    >,
12328    pub AEGP_RenderLayerPlus: ::std::option::Option<
12329        unsafe extern "C" fn(
12330            render_contextH: PR_RenderContextH,
12331            layerH: AEGP_LayerH,
12332            layer_contextH: AEGP_RenderLayerContextH,
12333            render_hints: AEGP_RenderHints,
12334            render_bufferPH: *mut AEGP_WorldH,
12335        ) -> A_Err,
12336    >,
12337    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12338        unsafe extern "C" fn(
12339            render_contextH: PR_RenderContextH,
12340            fill_contextH: AEGP_RenderLayerContextH,
12341            matte_contextPH: *mut AEGP_RenderLayerContextH,
12342        ) -> A_Err,
12343    >,
12344    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12345        unsafe extern "C" fn(
12346            render_contextH: PR_RenderContextH,
12347            layer_contextH: AEGP_RenderLayerContextH,
12348            render_hints: AEGP_RenderHints,
12349            suggested_scaleP0: *mut A_FloatPoint,
12350            suggested_src_rectP0: *mut A_FloatRect,
12351            src_matrixP0: *mut A_Matrix3,
12352            render_receiptPH: *mut AEGP_RenderReceiptH,
12353            dstPH: *mut AEGP_WorldH,
12354        ) -> A_Err,
12355    >,
12356    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12357        unsafe extern "C" fn(
12358            render_contextH: PR_RenderContextH,
12359            layerH: AEGP_LayerH,
12360            layer_contextH: AEGP_RenderLayerContextH,
12361            render_hints: AEGP_RenderHints,
12362            render_receiptPH: *mut AEGP_RenderReceiptH,
12363            render_bufferPH: *mut AEGP_WorldH,
12364        ) -> A_Err,
12365    >,
12366    pub AEGP_DisposeRenderReceipt:
12367        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12368    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12369        unsafe extern "C" fn(
12370            current_render_contextH: PR_RenderContextH,
12371            current_layer_contextH: AEGP_RenderLayerContextH,
12372            old_render_receiptH: AEGP_RenderReceiptH,
12373            check_geometricsB: A_Boolean,
12374            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12375        ) -> A_Err,
12376    >,
12377    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12378        unsafe extern "C" fn(
12379            render_contextH: PR_RenderContextH,
12380            num_bins_to_renderPL: *mut A_long,
12381        ) -> A_Err,
12382    >,
12383    pub AEGP_SetNthBin: ::std::option::Option<
12384        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12385    >,
12386    pub AEGP_GetBinType: ::std::option::Option<
12387        unsafe extern "C" fn(
12388            render_contextH: PR_RenderContextH,
12389            bin_typeP: *mut AEGP_BinType,
12390        ) -> A_Err,
12391    >,
12392    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12393        unsafe extern "C" fn(
12394            render_contextH: PR_RenderContextH,
12395            layer_contextH: AEGP_RenderLayerContextH,
12396            comp_timeP: *const A_Time,
12397            only_2dB: A_Boolean,
12398            transform: *mut A_Matrix4,
12399        ) -> A_Err,
12400    >,
12401    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12402        unsafe extern "C" fn(
12403            render_contextH: PR_RenderContextH,
12404            window_refP: *mut AEGP_PlatformWindowRef,
12405        ) -> A_Err,
12406    >,
12407    pub AEGP_GetViewportScale: ::std::option::Option<
12408        unsafe extern "C" fn(
12409            render_contextH: PR_RenderContextH,
12410            scale_xPF: *mut A_FpLong,
12411            scale_yPF: *mut A_FpLong,
12412        ) -> A_Err,
12413    >,
12414    pub AEGP_GetViewportOrigin: ::std::option::Option<
12415        unsafe extern "C" fn(
12416            render_contextH: PR_RenderContextH,
12417            origin_xPL: *mut A_long,
12418            origin_yPL: *mut A_long,
12419        ) -> A_Err,
12420    >,
12421    pub AEGP_GetViewportRect: ::std::option::Option<
12422        unsafe extern "C" fn(
12423            render_contextH: PR_RenderContextH,
12424            viewport_rectPR: *mut A_LegacyRect,
12425        ) -> A_Err,
12426    >,
12427    pub AEGP_GetFallowColor: ::std::option::Option<
12428        unsafe extern "C" fn(
12429            render_contextH: PR_RenderContextH,
12430            fallow_colorP: *mut PF_Pixel8,
12431        ) -> A_Err,
12432    >,
12433    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
12434        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12435    >,
12436    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
12437        unsafe extern "C" fn(
12438            render_contextH: PR_RenderContextH,
12439            checkerboard_onPB: *mut A_Boolean,
12440        ) -> A_Err,
12441    >,
12442    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
12443        unsafe extern "C" fn(
12444            render_contextH: PR_RenderContextH,
12445            checkerboard_color1P: *mut PF_Pixel,
12446            checkerboard_color2P: *mut PF_Pixel,
12447        ) -> A_Err,
12448    >,
12449    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
12450        unsafe extern "C" fn(
12451            render_contextH: PR_RenderContextH,
12452            checkerboard_widthPLu: *mut A_u_long,
12453            checkerboard_heightPLu: *mut A_u_long,
12454        ) -> A_Err,
12455    >,
12456    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
12457        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12458    >,
12459    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
12460        unsafe extern "C" fn(
12461            render_contextH: PR_RenderContextH,
12462            layer_contextH: AEGP_RenderLayerContextH,
12463            use_render_texturePB: *mut A_Boolean,
12464        ) -> A_Err,
12465    >,
12466    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
12467        unsafe extern "C" fn(
12468            render_contextH: PR_RenderContextH,
12469            display_channelP: *mut AEGP_DisplayChannelType,
12470        ) -> A_Err,
12471    >,
12472}
12473#[repr(C)]
12474#[derive(Debug, Copy, Clone)]
12475pub struct AEGP_CanvasSuite6 {
12476    pub AEGP_GetCompToRender: ::std::option::Option<
12477        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12478    >,
12479    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12480        unsafe extern "C" fn(
12481            render_contextH: PR_RenderContextH,
12482            num_to_renderPL: *mut A_long,
12483        ) -> A_Err,
12484    >,
12485    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12486        unsafe extern "C" fn(
12487            render_contextH: PR_RenderContextH,
12488            n: A_long,
12489            layer_contextPH: *mut AEGP_RenderLayerContextH,
12490        ) -> A_Err,
12491    >,
12492    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12493        unsafe extern "C" fn(
12494            render_contextH: PR_RenderContextH,
12495            layer_contextH: AEGP_RenderLayerContextH,
12496            layerPH: *mut AEGP_LayerH,
12497        ) -> A_Err,
12498    >,
12499    #[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"]
12500    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12501        unsafe extern "C" fn(
12502            render_contextH: PR_RenderContextH,
12503            layer_contextH: AEGP_RenderLayerContextH,
12504            layerPH: *mut AEGP_LayerH,
12505        ) -> A_Err,
12506    >,
12507    pub AEGP_GetCompRenderTime: ::std::option::Option<
12508        unsafe extern "C" fn(
12509            render_contextH: PR_RenderContextH,
12510            time: *mut A_Time,
12511            time_step: *mut A_Time,
12512        ) -> A_Err,
12513    >,
12514    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12515        unsafe extern "C" fn(
12516            render_contextH: PR_RenderContextH,
12517            compH: AEGP_CompH,
12518            dst: *mut AEGP_WorldH,
12519        ) -> A_Err,
12520    >,
12521    pub AEGP_GetROI: ::std::option::Option<
12522        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12523    >,
12524    pub AEGP_RenderTexture: ::std::option::Option<
12525        unsafe extern "C" fn(
12526            render_contextH: PR_RenderContextH,
12527            layer_contextH: AEGP_RenderLayerContextH,
12528            render_hints: AEGP_RenderHints,
12529            suggested_scaleP0: *mut A_FloatPoint,
12530            suggested_src_rectP0: *mut A_FloatRect,
12531            src_matrixP0: *mut A_Matrix3,
12532            dstPH: *mut AEGP_WorldH,
12533        ) -> A_Err,
12534    >,
12535    pub AEGP_DisposeTexture: ::std::option::Option<
12536        unsafe extern "C" fn(
12537            render_contextH: PR_RenderContextH,
12538            layer_contextH: AEGP_RenderLayerContextH,
12539            dstH0: AEGP_WorldH,
12540        ) -> A_Err,
12541    >,
12542    pub AEGP_GetFieldRender: ::std::option::Option<
12543        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12544    >,
12545    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12546        unsafe extern "C" fn(
12547            render_contextH: PR_RenderContextH,
12548            countL: A_long,
12549            totalL: A_long,
12550        ) -> A_Err,
12551    >,
12552    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12553        unsafe extern "C" fn(
12554            render_contextH: PR_RenderContextH,
12555            dsfP: *mut AEGP_DownsampleFactor,
12556        ) -> A_Err,
12557    >,
12558    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12559        unsafe extern "C" fn(
12560            render_contextH: PR_RenderContextH,
12561            dsfP: *mut AEGP_DownsampleFactor,
12562        ) -> A_Err,
12563    >,
12564    pub AEGP_IsBlankCanvas: ::std::option::Option<
12565        unsafe extern "C" fn(
12566            render_contextH: PR_RenderContextH,
12567            is_blankPB: *mut A_Boolean,
12568        ) -> A_Err,
12569    >,
12570    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12571        unsafe extern "C" fn(
12572            render_contextH: PR_RenderContextH,
12573            layer_contextH: AEGP_RenderLayerContextH,
12574            comp_timeP: *const A_Time,
12575            transform: *mut A_Matrix4,
12576        ) -> A_Err,
12577    >,
12578    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12579        unsafe extern "C" fn(
12580            render_contextH: PR_RenderContextH,
12581            layer_contextH: AEGP_RenderLayerContextH,
12582            comp_timeP: *const A_Time,
12583            boundsP: *mut A_LegacyRect,
12584        ) -> A_Err,
12585    >,
12586    pub AEGP_GetRenderOpacity: ::std::option::Option<
12587        unsafe extern "C" fn(
12588            render_contextH: PR_RenderContextH,
12589            layer_contextH: AEGP_RenderLayerContextH,
12590            comp_timePT: *const A_Time,
12591            opacityPF: *mut A_FpLong,
12592        ) -> A_Err,
12593    >,
12594    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12595        unsafe extern "C" fn(
12596            render_contextH: PR_RenderContextH,
12597            layer_contextH: AEGP_RenderLayerContextH,
12598            comp_timePT: *const A_Time,
12599            activePB: *mut A_Boolean,
12600        ) -> A_Err,
12601    >,
12602    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12603        unsafe extern "C" fn(
12604            render_contextH: PR_RenderContextH,
12605            countL: A_long,
12606            num_layersL: A_long,
12607        ) -> A_Err,
12608    >,
12609    pub AEGP_RenderLayerPlus: ::std::option::Option<
12610        unsafe extern "C" fn(
12611            render_contextH: PR_RenderContextH,
12612            layerH: AEGP_LayerH,
12613            layer_contextH: AEGP_RenderLayerContextH,
12614            render_hints: AEGP_RenderHints,
12615            render_bufferPH: *mut AEGP_WorldH,
12616        ) -> A_Err,
12617    >,
12618    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12619        unsafe extern "C" fn(
12620            render_contextH: PR_RenderContextH,
12621            fill_contextH: AEGP_RenderLayerContextH,
12622            matte_contextPH: *mut AEGP_RenderLayerContextH,
12623        ) -> A_Err,
12624    >,
12625    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12626        unsafe extern "C" fn(
12627            render_contextH: PR_RenderContextH,
12628            layer_contextH: AEGP_RenderLayerContextH,
12629            render_hints: AEGP_RenderHints,
12630            num_effectsS: AEGP_NumEffectsToRenderType,
12631            suggested_scaleP0: *mut A_FloatPoint,
12632            suggested_src_rectP0: *mut A_FloatRect,
12633            src_matrixP0: *mut A_Matrix3,
12634            render_receiptPH: *mut AEGP_RenderReceiptH,
12635            dstPH: *mut AEGP_WorldH,
12636        ) -> A_Err,
12637    >,
12638    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
12639        unsafe extern "C" fn(
12640            render_contextH: PR_RenderContextH,
12641            layer_contextH: AEGP_RenderLayerContextH,
12642            num_software_effectsPS: *mut A_short,
12643        ) -> A_Err,
12644    >,
12645    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12646        unsafe extern "C" fn(
12647            render_contextH: PR_RenderContextH,
12648            layerH: AEGP_LayerH,
12649            layer_contextH: AEGP_RenderLayerContextH,
12650            render_hints: AEGP_RenderHints,
12651            render_receiptPH: *mut AEGP_RenderReceiptH,
12652            render_bufferPH: *mut AEGP_WorldH,
12653        ) -> A_Err,
12654    >,
12655    pub AEGP_DisposeRenderReceipt:
12656        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12657    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12658        unsafe extern "C" fn(
12659            current_render_contextH: PR_RenderContextH,
12660            current_layer_contextH: AEGP_RenderLayerContextH,
12661            old_render_receiptH: AEGP_RenderReceiptH,
12662            check_geometricsB: A_Boolean,
12663            num_effectsS: AEGP_NumEffectsToRenderType,
12664            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12665        ) -> A_Err,
12666    >,
12667    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
12668        unsafe extern "C" fn(
12669            current_render_contextH: PR_RenderContextH,
12670            current_layer_contextH: AEGP_RenderLayerContextH,
12671            num_effectsS: AEGP_NumEffectsToRenderType,
12672            render_receiptPH: *mut AEGP_RenderReceiptH,
12673        ) -> A_Err,
12674    >,
12675    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12676        unsafe extern "C" fn(
12677            render_contextH: PR_RenderContextH,
12678            num_bins_to_renderPL: *mut A_long,
12679        ) -> A_Err,
12680    >,
12681    pub AEGP_SetNthBin: ::std::option::Option<
12682        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12683    >,
12684    pub AEGP_GetBinType: ::std::option::Option<
12685        unsafe extern "C" fn(
12686            render_contextH: PR_RenderContextH,
12687            bin_typeP: *mut AEGP_BinType,
12688        ) -> A_Err,
12689    >,
12690    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12691        unsafe extern "C" fn(
12692            render_contextH: PR_RenderContextH,
12693            layer_contextH: AEGP_RenderLayerContextH,
12694            comp_timeP: *const A_Time,
12695            only_2dB: A_Boolean,
12696            transform: *mut A_Matrix4,
12697        ) -> A_Err,
12698    >,
12699    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
12700        unsafe extern "C" fn(
12701            render_contextH: PR_RenderContextH,
12702            window_refP: *mut AEGP_PlatformWindowRef,
12703        ) -> A_Err,
12704    >,
12705    pub AEGP_GetViewportScale: ::std::option::Option<
12706        unsafe extern "C" fn(
12707            render_contextH: PR_RenderContextH,
12708            scale_xPF: *mut A_FpLong,
12709            scale_yPF: *mut A_FpLong,
12710        ) -> A_Err,
12711    >,
12712    pub AEGP_GetViewportOrigin: ::std::option::Option<
12713        unsafe extern "C" fn(
12714            render_contextH: PR_RenderContextH,
12715            origin_xPL: *mut A_long,
12716            origin_yPL: *mut A_long,
12717        ) -> A_Err,
12718    >,
12719    pub AEGP_GetViewportRect: ::std::option::Option<
12720        unsafe extern "C" fn(
12721            render_contextH: PR_RenderContextH,
12722            viewport_rectPR: *mut A_LegacyRect,
12723        ) -> A_Err,
12724    >,
12725    pub AEGP_GetFallowColor: ::std::option::Option<
12726        unsafe extern "C" fn(
12727            render_contextH: PR_RenderContextH,
12728            fallow_colorP: *mut PF_Pixel8,
12729        ) -> A_Err,
12730    >,
12731    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
12732        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12733    >,
12734    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
12735        unsafe extern "C" fn(
12736            render_contextH: PR_RenderContextH,
12737            checkerboard_onPB: *mut A_Boolean,
12738        ) -> A_Err,
12739    >,
12740    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
12741        unsafe extern "C" fn(
12742            render_contextH: PR_RenderContextH,
12743            checkerboard_color1P: *mut PF_Pixel,
12744            checkerboard_color2P: *mut PF_Pixel,
12745        ) -> A_Err,
12746    >,
12747    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
12748        unsafe extern "C" fn(
12749            render_contextH: PR_RenderContextH,
12750            checkerboard_widthPLu: *mut A_u_long,
12751            checkerboard_heightPLu: *mut A_u_long,
12752        ) -> A_Err,
12753    >,
12754    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
12755        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
12756    >,
12757    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
12758        unsafe extern "C" fn(
12759            render_contextH: PR_RenderContextH,
12760            layer_contextH: AEGP_RenderLayerContextH,
12761            use_render_texturePB: *mut A_Boolean,
12762        ) -> A_Err,
12763    >,
12764    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
12765        unsafe extern "C" fn(
12766            render_contextH: PR_RenderContextH,
12767            display_channelP: *mut AEGP_DisplayChannelType,
12768        ) -> A_Err,
12769    >,
12770}
12771#[repr(C)]
12772#[derive(Debug, Copy, Clone)]
12773pub struct AEGP_CanvasSuite7 {
12774    pub AEGP_GetCompToRender: ::std::option::Option<
12775        unsafe extern "C" fn(render_contextH: PR_RenderContextH, compPH: *mut AEGP_CompH) -> A_Err,
12776    >,
12777    pub AEGP_GetNumLayersToRender: ::std::option::Option<
12778        unsafe extern "C" fn(
12779            render_contextH: PR_RenderContextH,
12780            num_to_renderPL: *mut A_long,
12781        ) -> A_Err,
12782    >,
12783    pub AEGP_GetNthLayerContextToRender: ::std::option::Option<
12784        unsafe extern "C" fn(
12785            render_contextH: PR_RenderContextH,
12786            n: A_long,
12787            layer_contextPH: *mut AEGP_RenderLayerContextH,
12788        ) -> A_Err,
12789    >,
12790    pub AEGP_GetLayerFromLayerContext: ::std::option::Option<
12791        unsafe extern "C" fn(
12792            render_contextH: PR_RenderContextH,
12793            layer_contextH: AEGP_RenderLayerContextH,
12794            layerPH: *mut AEGP_LayerH,
12795        ) -> A_Err,
12796    >,
12797    pub AEGP_GetLayerAndSubLayerFromLayerContext: ::std::option::Option<
12798        unsafe extern "C" fn(
12799            render_contextH: PR_RenderContextH,
12800            layer_contextH: AEGP_RenderLayerContextH,
12801            layerPH: *mut AEGP_LayerH,
12802            sublayerP: *mut AEGP_SubLayerIndex,
12803        ) -> A_Err,
12804    >,
12805    #[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"]
12806    pub AEGP_GetTopLayerFromLayerContext: ::std::option::Option<
12807        unsafe extern "C" fn(
12808            render_contextH: PR_RenderContextH,
12809            layer_contextH: AEGP_RenderLayerContextH,
12810            layerPH: *mut AEGP_LayerH,
12811        ) -> A_Err,
12812    >,
12813    pub AEGP_GetCompRenderTime: ::std::option::Option<
12814        unsafe extern "C" fn(
12815            render_contextH: PR_RenderContextH,
12816            time: *mut A_Time,
12817            time_step: *mut A_Time,
12818        ) -> A_Err,
12819    >,
12820    pub AEGP_GetCompDestinationBuffer: ::std::option::Option<
12821        unsafe extern "C" fn(
12822            render_contextH: PR_RenderContextH,
12823            compH: AEGP_CompH,
12824            dst: *mut AEGP_WorldH,
12825        ) -> A_Err,
12826    >,
12827    pub AEGP_GetROI: ::std::option::Option<
12828        unsafe extern "C" fn(render_contextH: PR_RenderContextH, roiPR: *mut A_LegacyRect) -> A_Err,
12829    >,
12830    pub AEGP_RenderTexture: ::std::option::Option<
12831        unsafe extern "C" fn(
12832            render_contextH: PR_RenderContextH,
12833            layer_contextH: AEGP_RenderLayerContextH,
12834            render_hints: AEGP_RenderHints,
12835            suggested_scaleP0: *mut A_FloatPoint,
12836            suggested_src_rectP0: *mut A_FloatRect,
12837            src_matrixP0: *mut A_Matrix3,
12838            dstPH: *mut AEGP_WorldH,
12839        ) -> A_Err,
12840    >,
12841    pub AEGP_DisposeTexture: ::std::option::Option<
12842        unsafe extern "C" fn(
12843            render_contextH: PR_RenderContextH,
12844            layer_contextH: AEGP_RenderLayerContextH,
12845            dstH0: AEGP_WorldH,
12846        ) -> A_Err,
12847    >,
12848    pub AEGP_GetFieldRender: ::std::option::Option<
12849        unsafe extern "C" fn(render_contextH: PR_RenderContextH, field: *mut PF_Field) -> A_Err,
12850    >,
12851    pub AEGP_ReportArtisanProgress: ::std::option::Option<
12852        unsafe extern "C" fn(
12853            render_contextH: PR_RenderContextH,
12854            countL: A_long,
12855            totalL: A_long,
12856        ) -> A_Err,
12857    >,
12858    pub AEGP_GetRenderDownsampleFactor: ::std::option::Option<
12859        unsafe extern "C" fn(
12860            render_contextH: PR_RenderContextH,
12861            dsfP: *mut AEGP_DownsampleFactor,
12862        ) -> A_Err,
12863    >,
12864    pub AEGP_SetRenderDownsampleFactor: ::std::option::Option<
12865        unsafe extern "C" fn(
12866            render_contextH: PR_RenderContextH,
12867            dsfP: *mut AEGP_DownsampleFactor,
12868        ) -> A_Err,
12869    >,
12870    pub AEGP_IsBlankCanvas: ::std::option::Option<
12871        unsafe extern "C" fn(
12872            render_contextH: PR_RenderContextH,
12873            is_blankPB: *mut A_Boolean,
12874        ) -> A_Err,
12875    >,
12876    pub AEGP_GetRenderLayerToWorldXform: ::std::option::Option<
12877        unsafe extern "C" fn(
12878            render_contextH: PR_RenderContextH,
12879            layer_contextH: AEGP_RenderLayerContextH,
12880            comp_timeP: *const A_Time,
12881            transform: *mut A_Matrix4,
12882        ) -> A_Err,
12883    >,
12884    pub AEGP_GetRenderLayerBounds: ::std::option::Option<
12885        unsafe extern "C" fn(
12886            render_contextH: PR_RenderContextH,
12887            layer_contextH: AEGP_RenderLayerContextH,
12888            comp_timeP: *const A_Time,
12889            boundsP: *mut A_LegacyRect,
12890        ) -> A_Err,
12891    >,
12892    pub AEGP_GetRenderOpacity: ::std::option::Option<
12893        unsafe extern "C" fn(
12894            render_contextH: PR_RenderContextH,
12895            layer_contextH: AEGP_RenderLayerContextH,
12896            comp_timePT: *const A_Time,
12897            opacityPF: *mut A_FpLong,
12898        ) -> A_Err,
12899    >,
12900    pub AEGP_IsRenderLayerActive: ::std::option::Option<
12901        unsafe extern "C" fn(
12902            render_contextH: PR_RenderContextH,
12903            layer_contextH: AEGP_RenderLayerContextH,
12904            comp_timePT: *const A_Time,
12905            activePB: *mut A_Boolean,
12906        ) -> A_Err,
12907    >,
12908    pub AEGP_SetArtisanLayerProgress: ::std::option::Option<
12909        unsafe extern "C" fn(
12910            render_contextH: PR_RenderContextH,
12911            countL: A_long,
12912            num_layersL: A_long,
12913        ) -> A_Err,
12914    >,
12915    pub AEGP_RenderLayerPlus: ::std::option::Option<
12916        unsafe extern "C" fn(
12917            render_contextH: PR_RenderContextH,
12918            layerH: AEGP_LayerH,
12919            layer_contextH: AEGP_RenderLayerContextH,
12920            render_hints: AEGP_RenderHints,
12921            render_bufferPH: *mut AEGP_WorldH,
12922        ) -> A_Err,
12923    >,
12924    pub AEGP_GetTrackMatteContext: ::std::option::Option<
12925        unsafe extern "C" fn(
12926            render_contextH: PR_RenderContextH,
12927            fill_contextH: AEGP_RenderLayerContextH,
12928            matte_contextPH: *mut AEGP_RenderLayerContextH,
12929        ) -> A_Err,
12930    >,
12931    pub AEGP_RenderTextureWithReceipt: ::std::option::Option<
12932        unsafe extern "C" fn(
12933            render_contextH: PR_RenderContextH,
12934            layer_contextH: AEGP_RenderLayerContextH,
12935            render_hints: AEGP_RenderHints,
12936            num_effectsS: AEGP_NumEffectsToRenderType,
12937            suggested_scaleP0: *mut A_FloatPoint,
12938            suggested_src_rectP0: *mut A_FloatRect,
12939            src_matrixP0: *mut A_Matrix3,
12940            render_receiptPH: *mut AEGP_RenderReceiptH,
12941            dstPH: *mut AEGP_WorldH,
12942        ) -> A_Err,
12943    >,
12944    pub AEGP_GetNumberOfSoftwareEffects: ::std::option::Option<
12945        unsafe extern "C" fn(
12946            render_contextH: PR_RenderContextH,
12947            layer_contextH: AEGP_RenderLayerContextH,
12948            num_software_effectsPS: *mut A_short,
12949        ) -> A_Err,
12950    >,
12951    pub AEGP_RenderLayerPlusWithReceipt: ::std::option::Option<
12952        unsafe extern "C" fn(
12953            render_contextH: PR_RenderContextH,
12954            layerH: AEGP_LayerH,
12955            layer_contextH: AEGP_RenderLayerContextH,
12956            render_hints: AEGP_RenderHints,
12957            render_receiptPH: *mut AEGP_RenderReceiptH,
12958            render_bufferPH: *mut AEGP_WorldH,
12959        ) -> A_Err,
12960    >,
12961    pub AEGP_DisposeRenderReceipt:
12962        ::std::option::Option<unsafe extern "C" fn(render_receiptH: AEGP_RenderReceiptH) -> A_Err>,
12963    pub AEGP_CheckRenderReceipt: ::std::option::Option<
12964        unsafe extern "C" fn(
12965            current_render_contextH: PR_RenderContextH,
12966            current_layer_contextH: AEGP_RenderLayerContextH,
12967            old_render_receiptH: AEGP_RenderReceiptH,
12968            check_geometricsB: A_Boolean,
12969            num_effectsS: AEGP_NumEffectsToRenderType,
12970            receipt_statusP: *mut AEGP_RenderReceiptStatus,
12971        ) -> A_Err,
12972    >,
12973    pub AEGP_GenerateRenderReceipt: ::std::option::Option<
12974        unsafe extern "C" fn(
12975            current_render_contextH: PR_RenderContextH,
12976            current_layer_contextH: AEGP_RenderLayerContextH,
12977            num_effectsS: AEGP_NumEffectsToRenderType,
12978            render_receiptPH: *mut AEGP_RenderReceiptH,
12979        ) -> A_Err,
12980    >,
12981    pub AEGP_GetNumBinsToRender: ::std::option::Option<
12982        unsafe extern "C" fn(
12983            render_contextH: PR_RenderContextH,
12984            num_bins_to_renderPL: *mut A_long,
12985        ) -> A_Err,
12986    >,
12987    pub AEGP_SetNthBin: ::std::option::Option<
12988        unsafe extern "C" fn(render_contextH: PR_RenderContextH, n: A_long) -> A_Err,
12989    >,
12990    pub AEGP_GetBinType: ::std::option::Option<
12991        unsafe extern "C" fn(
12992            render_contextH: PR_RenderContextH,
12993            bin_typeP: *mut AEGP_BinType,
12994        ) -> A_Err,
12995    >,
12996    pub AEGP_GetRenderLayerToWorldXform2D3D: ::std::option::Option<
12997        unsafe extern "C" fn(
12998            render_contextH: PR_RenderContextH,
12999            layer_contextH: AEGP_RenderLayerContextH,
13000            comp_timeP: *const A_Time,
13001            only_2dB: A_Boolean,
13002            transform: *mut A_Matrix4,
13003        ) -> A_Err,
13004    >,
13005    pub AEGP_GetPlatformWindowRef: ::std::option::Option<
13006        unsafe extern "C" fn(
13007            render_contextH: PR_RenderContextH,
13008            window_refP: *mut AEGP_PlatformWindowRef,
13009        ) -> A_Err,
13010    >,
13011    pub AEGP_GetViewportScale: ::std::option::Option<
13012        unsafe extern "C" fn(
13013            render_contextH: PR_RenderContextH,
13014            scale_xPF: *mut A_FpLong,
13015            scale_yPF: *mut A_FpLong,
13016        ) -> A_Err,
13017    >,
13018    pub AEGP_GetViewportOrigin: ::std::option::Option<
13019        unsafe extern "C" fn(
13020            render_contextH: PR_RenderContextH,
13021            origin_xPL: *mut A_long,
13022            origin_yPL: *mut A_long,
13023        ) -> A_Err,
13024    >,
13025    pub AEGP_GetViewportRect: ::std::option::Option<
13026        unsafe extern "C" fn(
13027            render_contextH: PR_RenderContextH,
13028            viewport_rectPR: *mut A_LegacyRect,
13029        ) -> A_Err,
13030    >,
13031    pub AEGP_GetFallowColor: ::std::option::Option<
13032        unsafe extern "C" fn(
13033            render_contextH: PR_RenderContextH,
13034            fallow_colorP: *mut PF_Pixel8,
13035        ) -> A_Err,
13036    >,
13037    pub AEGP_GetInteractiveBuffer: ::std::option::Option<
13038        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13039    >,
13040    pub AEGP_GetInteractiveCheckerboard: ::std::option::Option<
13041        unsafe extern "C" fn(
13042            render_contextH: PR_RenderContextH,
13043            checkerboard_onPB: *mut A_Boolean,
13044        ) -> A_Err,
13045    >,
13046    pub AEGP_GetInteractiveCheckerboardColors: ::std::option::Option<
13047        unsafe extern "C" fn(
13048            render_contextH: PR_RenderContextH,
13049            checkerboard_color1P: *mut PF_Pixel,
13050            checkerboard_color2P: *mut PF_Pixel,
13051        ) -> A_Err,
13052    >,
13053    pub AEGP_GetInteractiveCheckerboardSize: ::std::option::Option<
13054        unsafe extern "C" fn(
13055            render_contextH: PR_RenderContextH,
13056            checkerboard_widthPLu: *mut A_u_long,
13057            checkerboard_heightPLu: *mut A_u_long,
13058        ) -> A_Err,
13059    >,
13060    pub AEGP_GetInteractiveCachedBuffer: ::std::option::Option<
13061        unsafe extern "C" fn(render_contextH: PR_RenderContextH, buffer: *mut AEGP_WorldH) -> A_Err,
13062    >,
13063    pub AEGP_ArtisanMustRenderAsLayer: ::std::option::Option<
13064        unsafe extern "C" fn(
13065            render_contextH: PR_RenderContextH,
13066            layer_contextH: AEGP_RenderLayerContextH,
13067            use_render_texturePB: *mut A_Boolean,
13068        ) -> A_Err,
13069    >,
13070    pub AEGP_GetInteractiveDisplayChannel: ::std::option::Option<
13071        unsafe extern "C" fn(
13072            render_contextH: PR_RenderContextH,
13073            display_channelP: *mut AEGP_DisplayChannelType,
13074        ) -> A_Err,
13075    >,
13076    pub AEGP_GetInteractiveExposure: ::std::option::Option<
13077        unsafe extern "C" fn(
13078            render_contextH: PR_RenderContextH,
13079            exposurePF: *mut A_FpLong,
13080        ) -> A_Err,
13081    >,
13082    pub AEGP_GetColorTransform: ::std::option::Option<
13083        unsafe extern "C" fn(
13084            render_contextH: PR_RenderContextH,
13085            cms_onB: *mut A_Boolean,
13086            xform_keyLu: *mut A_u_long,
13087            xformP: *mut ::std::os::raw::c_void,
13088        ) -> A_Err,
13089    >,
13090    pub AEGP_GetCompShutterTime: ::std::option::Option<
13091        unsafe extern "C" fn(
13092            render_contextH: PR_RenderContextH,
13093            shutter_time: *mut A_Time,
13094            shutter_dur: *mut A_Time,
13095        ) -> A_Err,
13096    >,
13097}
13098#[repr(C)]
13099#[derive(Debug, Copy, Clone)]
13100pub struct AEGP_MaskOutlineSuite2 {
13101    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
13102        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
13103    >,
13104    pub AEGP_SetMaskOutlineOpen: ::std::option::Option<
13105        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openB: A_Boolean) -> A_Err,
13106    >,
13107    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
13108        unsafe extern "C" fn(
13109            mask_outlineH: AEGP_MaskOutlineValH,
13110            num_segmentsPL: *mut A_long,
13111        ) -> A_Err,
13112    >,
13113    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
13114        unsafe extern "C" fn(
13115            mask_outlineH: AEGP_MaskOutlineValH,
13116            which_pointL: AEGP_VertexIndex,
13117            vertexP: *mut AEGP_MaskVertex,
13118        ) -> A_Err,
13119    >,
13120    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
13121        unsafe extern "C" fn(
13122            mask_outlineH: AEGP_MaskOutlineValH,
13123            which_pointL: AEGP_VertexIndex,
13124            vertexP: *const AEGP_MaskVertex,
13125        ) -> A_Err,
13126    >,
13127    pub AEGP_CreateVertex: ::std::option::Option<
13128        unsafe extern "C" fn(
13129            mask_outlineH: AEGP_MaskOutlineValH,
13130            insert_position: AEGP_VertexIndex,
13131        ) -> A_Err,
13132    >,
13133    pub AEGP_DeleteVertex: ::std::option::Option<
13134        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
13135    >,
13136}
13137#[repr(C)]
13138#[derive(Debug, Copy, Clone)]
13139pub struct AEGP_MaskOutlineSuite1 {
13140    pub AEGP_IsMaskOutlineOpen: ::std::option::Option<
13141        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, openPB: *mut A_Boolean) -> A_Err,
13142    >,
13143    pub AEGP_GetMaskOutlineNumSegments: ::std::option::Option<
13144        unsafe extern "C" fn(
13145            mask_outlineH: AEGP_MaskOutlineValH,
13146            num_segmentsPL: *mut A_long,
13147        ) -> A_Err,
13148    >,
13149    pub AEGP_GetMaskOutlineVertexInfo: ::std::option::Option<
13150        unsafe extern "C" fn(
13151            mask_outlineH: AEGP_MaskOutlineValH,
13152            which_pointL: AEGP_VertexIndex,
13153            vertexP: *mut AEGP_MaskVertex,
13154        ) -> A_Err,
13155    >,
13156    pub AEGP_SetMaskOutlineVertexInfo: ::std::option::Option<
13157        unsafe extern "C" fn(
13158            mask_outlineH: AEGP_MaskOutlineValH,
13159            which_pointL: AEGP_VertexIndex,
13160            vertexP: *const AEGP_MaskVertex,
13161        ) -> A_Err,
13162    >,
13163    pub AEGP_CreateVertex: ::std::option::Option<
13164        unsafe extern "C" fn(
13165            mask_outlineH: AEGP_MaskOutlineValH,
13166            insert_position: AEGP_VertexIndex,
13167        ) -> A_Err,
13168    >,
13169    pub AEGP_DeleteVertex: ::std::option::Option<
13170        unsafe extern "C" fn(mask_outlineH: AEGP_MaskOutlineValH, index: AEGP_VertexIndex) -> A_Err,
13171    >,
13172}
13173#[repr(C)]
13174#[derive(Debug, Copy, Clone)]
13175pub struct AEGP_CompSuite10 {
13176    pub AEGP_GetCompFromItem: ::std::option::Option<
13177        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13178    >,
13179    pub AEGP_GetItemFromComp: ::std::option::Option<
13180        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13181    >,
13182    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13183        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13184    >,
13185    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13186        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13187    >,
13188    pub AEGP_GetCompBGColor: ::std::option::Option<
13189        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13190    >,
13191    pub AEGP_SetCompBGColor: ::std::option::Option<
13192        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13193    >,
13194    pub AEGP_GetCompFlags: ::std::option::Option<
13195        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13196    >,
13197    pub AEGP_GetShowLayerNameOrSourceName: ::std::option::Option<
13198        unsafe extern "C" fn(compH: AEGP_CompH, layer_names_shownPB: *mut A_Boolean) -> A_Err,
13199    >,
13200    pub AEGP_SetShowLayerNameOrSourceName: ::std::option::Option<
13201        unsafe extern "C" fn(compH: AEGP_CompH, show_layer_namesB: A_Boolean) -> A_Err,
13202    >,
13203    pub AEGP_GetShowBlendModes: ::std::option::Option<
13204        unsafe extern "C" fn(compH: AEGP_CompH, blend_modes_shownPB: *mut A_Boolean) -> A_Err,
13205    >,
13206    pub AEGP_SetShowBlendModes: ::std::option::Option<
13207        unsafe extern "C" fn(compH: AEGP_CompH, show_blend_modesB: A_Boolean) -> A_Err,
13208    >,
13209    pub AEGP_GetCompFramerate: ::std::option::Option<
13210        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13211    >,
13212    pub AEGP_SetCompFrameRate: ::std::option::Option<
13213        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13214    >,
13215    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13216        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13217    >,
13218    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13219        unsafe extern "C" fn(
13220            compH: AEGP_CompH,
13221            comp_timeP: *const A_Time,
13222            start: *mut A_Time,
13223            duration: *mut A_Time,
13224        ) -> A_Err,
13225    >,
13226    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13227        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13228    >,
13229    pub AEGP_SetCompSuggestedMotionBlurSamples:
13230        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13231    pub AEGP_GetCompMotionBlurAdaptiveSampleLimit: ::std::option::Option<
13232        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13233    >,
13234    pub AEGP_SetCompMotionBlurAdaptiveSampleLimit:
13235        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13236    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13237        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13238    >,
13239    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13240        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13241    >,
13242    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13243        unsafe extern "C" fn(
13244            compH: AEGP_CompH,
13245            work_area_startPT: *const A_Time,
13246            work_area_durationPT: *const A_Time,
13247        ) -> A_Err,
13248    >,
13249    pub AEGP_CreateSolidInComp: ::std::option::Option<
13250        unsafe extern "C" fn(
13251            utf_nameZ: *const A_UTF16Char,
13252            width: A_long,
13253            height: A_long,
13254            color: *const AEGP_ColorVal,
13255            parent_compH: AEGP_CompH,
13256            durationPT0: *const A_Time,
13257            new_solidPH: *mut AEGP_LayerH,
13258        ) -> A_Err,
13259    >,
13260    pub AEGP_CreateCameraInComp: ::std::option::Option<
13261        unsafe extern "C" fn(
13262            utf_nameZ: *const A_UTF16Char,
13263            center_point: A_FloatPoint,
13264            parent_compH: AEGP_CompH,
13265            new_cameraPH: *mut AEGP_LayerH,
13266        ) -> A_Err,
13267    >,
13268    pub AEGP_CreateLightInComp: ::std::option::Option<
13269        unsafe extern "C" fn(
13270            utf_nameZ: *const A_UTF16Char,
13271            center_point: A_FloatPoint,
13272            parent_compH: AEGP_CompH,
13273            new_lightPH: *mut AEGP_LayerH,
13274        ) -> A_Err,
13275    >,
13276    pub AEGP_CreateComp: ::std::option::Option<
13277        unsafe extern "C" fn(
13278            parent_folderH0: AEGP_ItemH,
13279            utf_nameZ: *const A_UTF16Char,
13280            widthL: A_long,
13281            heightL: A_long,
13282            pixel_aspect_ratioPRt: *const A_Ratio,
13283            durationPT: *const A_Time,
13284            frameratePRt: *const A_Ratio,
13285            new_compPH: *mut AEGP_CompH,
13286        ) -> A_Err,
13287    >,
13288    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13289        unsafe extern "C" fn(
13290            plugin_id: AEGP_PluginID,
13291            compH: AEGP_CompH,
13292            collectionPH: *mut AEGP_Collection2H,
13293        ) -> A_Err,
13294    >,
13295    pub AEGP_SetSelection: ::std::option::Option<
13296        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13297    >,
13298    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13299        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13300    >,
13301    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13302        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13303    >,
13304    pub AEGP_SetCompDuration: ::std::option::Option<
13305        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13306    >,
13307    pub AEGP_CreateNullInComp: ::std::option::Option<
13308        unsafe extern "C" fn(
13309            utf_nameZ: *const A_UTF16Char,
13310            parent_compH: AEGP_CompH,
13311            durationPT0: *const A_Time,
13312            new_null_solidPH: *mut AEGP_LayerH,
13313        ) -> A_Err,
13314    >,
13315    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13316        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13317    >,
13318    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13319        unsafe extern "C" fn(
13320            parent_compH: AEGP_CompH,
13321            select_new_layerB: A_Boolean,
13322            new_text_layerPH: *mut AEGP_LayerH,
13323        ) -> A_Err,
13324    >,
13325    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13326        unsafe extern "C" fn(
13327            parent_compH: AEGP_CompH,
13328            select_new_layerB: A_Boolean,
13329            box_dimensions: A_FloatPoint,
13330            new_text_layerPH: *mut AEGP_LayerH,
13331        ) -> A_Err,
13332    >,
13333    pub AEGP_SetCompDimensions: ::std::option::Option<
13334        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13335    >,
13336    pub AEGP_DuplicateComp: ::std::option::Option<
13337        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13338    >,
13339    pub AEGP_GetCompFrameDuration:
13340        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13341    pub AEGP_GetMostRecentlyUsedComp:
13342        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13343    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13344        unsafe extern "C" fn(
13345            parent_compH: AEGP_CompH,
13346            new_vector_layerPH: *mut AEGP_LayerH,
13347        ) -> A_Err,
13348    >,
13349    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13350        unsafe extern "C" fn(
13351            aegp_plugin_id: AEGP_PluginID,
13352            parent_compH: AEGP_CompH,
13353            streamPH: *mut AEGP_StreamRefH,
13354        ) -> A_Err,
13355    >,
13356    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13357        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13358    >,
13359    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13360        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13361    >,
13362}
13363#[repr(C)]
13364#[derive(Debug, Copy, Clone)]
13365pub struct AEGP_CompSuite9 {
13366    pub AEGP_GetCompFromItem: ::std::option::Option<
13367        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13368    >,
13369    pub AEGP_GetItemFromComp: ::std::option::Option<
13370        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13371    >,
13372    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13373        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13374    >,
13375    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13376        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13377    >,
13378    pub AEGP_GetCompBGColor: ::std::option::Option<
13379        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13380    >,
13381    pub AEGP_SetCompBGColor: ::std::option::Option<
13382        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13383    >,
13384    pub AEGP_GetCompFlags: ::std::option::Option<
13385        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13386    >,
13387    pub AEGP_GetCompFramerate: ::std::option::Option<
13388        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13389    >,
13390    pub AEGP_SetCompFrameRate: ::std::option::Option<
13391        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13392    >,
13393    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13394        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13395    >,
13396    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13397        unsafe extern "C" fn(
13398            compH: AEGP_CompH,
13399            comp_timeP: *const A_Time,
13400            start: *mut A_Time,
13401            duration: *mut A_Time,
13402        ) -> A_Err,
13403    >,
13404    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13405        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13406    >,
13407    pub AEGP_SetCompSuggestedMotionBlurSamples:
13408        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13409    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13410        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13411    >,
13412    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13413        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13414    >,
13415    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13416        unsafe extern "C" fn(
13417            compH: AEGP_CompH,
13418            work_area_startPT: *const A_Time,
13419            work_area_durationPT: *const A_Time,
13420        ) -> A_Err,
13421    >,
13422    pub AEGP_CreateSolidInComp: ::std::option::Option<
13423        unsafe extern "C" fn(
13424            utf_nameZ: *const A_UTF16Char,
13425            width: A_long,
13426            height: A_long,
13427            color: *const AEGP_ColorVal,
13428            parent_compH: AEGP_CompH,
13429            durationPT0: *const A_Time,
13430            new_solidPH: *mut AEGP_LayerH,
13431        ) -> A_Err,
13432    >,
13433    pub AEGP_CreateCameraInComp: ::std::option::Option<
13434        unsafe extern "C" fn(
13435            utf_nameZ: *const A_UTF16Char,
13436            center_point: A_FloatPoint,
13437            parent_compH: AEGP_CompH,
13438            new_cameraPH: *mut AEGP_LayerH,
13439        ) -> A_Err,
13440    >,
13441    pub AEGP_CreateLightInComp: ::std::option::Option<
13442        unsafe extern "C" fn(
13443            utf_nameZ: *const A_UTF16Char,
13444            center_point: A_FloatPoint,
13445            parent_compH: AEGP_CompH,
13446            new_lightPH: *mut AEGP_LayerH,
13447        ) -> A_Err,
13448    >,
13449    pub AEGP_CreateComp: ::std::option::Option<
13450        unsafe extern "C" fn(
13451            parent_folderH0: AEGP_ItemH,
13452            utf_nameZ: *const A_UTF16Char,
13453            widthL: A_long,
13454            heightL: A_long,
13455            pixel_aspect_ratioPRt: *const A_Ratio,
13456            durationPT: *const A_Time,
13457            frameratePRt: *const A_Ratio,
13458            new_compPH: *mut AEGP_CompH,
13459        ) -> A_Err,
13460    >,
13461    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13462        unsafe extern "C" fn(
13463            plugin_id: AEGP_PluginID,
13464            compH: AEGP_CompH,
13465            collectionPH: *mut AEGP_Collection2H,
13466        ) -> A_Err,
13467    >,
13468    pub AEGP_SetSelection: ::std::option::Option<
13469        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13470    >,
13471    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13472        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13473    >,
13474    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13475        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13476    >,
13477    pub AEGP_SetCompDuration: ::std::option::Option<
13478        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13479    >,
13480    pub AEGP_CreateNullInComp: ::std::option::Option<
13481        unsafe extern "C" fn(
13482            utf_nameZ: *const A_UTF16Char,
13483            parent_compH: AEGP_CompH,
13484            durationPT0: *const A_Time,
13485            new_null_solidPH: *mut AEGP_LayerH,
13486        ) -> A_Err,
13487    >,
13488    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13489        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13490    >,
13491    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13492        unsafe extern "C" fn(
13493            parent_compH: AEGP_CompH,
13494            select_new_layerB: A_Boolean,
13495            new_text_layerPH: *mut AEGP_LayerH,
13496        ) -> A_Err,
13497    >,
13498    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13499        unsafe extern "C" fn(
13500            parent_compH: AEGP_CompH,
13501            select_new_layerB: A_Boolean,
13502            box_dimensions: A_FloatPoint,
13503            new_text_layerPH: *mut AEGP_LayerH,
13504        ) -> A_Err,
13505    >,
13506    pub AEGP_SetCompDimensions: ::std::option::Option<
13507        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13508    >,
13509    pub AEGP_DuplicateComp: ::std::option::Option<
13510        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13511    >,
13512    pub AEGP_GetCompFrameDuration:
13513        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13514    pub AEGP_GetMostRecentlyUsedComp:
13515        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13516    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13517        unsafe extern "C" fn(
13518            parent_compH: AEGP_CompH,
13519            new_vector_layerPH: *mut AEGP_LayerH,
13520        ) -> A_Err,
13521    >,
13522    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13523        unsafe extern "C" fn(
13524            aegp_plugin_id: AEGP_PluginID,
13525            parent_compH: AEGP_CompH,
13526            streamPH: *mut AEGP_StreamRefH,
13527        ) -> A_Err,
13528    >,
13529    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13530        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13531    >,
13532    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13533        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13534    >,
13535}
13536#[repr(C)]
13537#[derive(Debug, Copy, Clone)]
13538pub struct AEGP_CompSuite8 {
13539    pub AEGP_GetCompFromItem: ::std::option::Option<
13540        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13541    >,
13542    pub AEGP_GetItemFromComp: ::std::option::Option<
13543        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13544    >,
13545    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13546        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13547    >,
13548    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13549        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13550    >,
13551    pub AEGP_GetCompBGColor: ::std::option::Option<
13552        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13553    >,
13554    pub AEGP_SetCompBGColor: ::std::option::Option<
13555        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13556    >,
13557    pub AEGP_GetCompFlags: ::std::option::Option<
13558        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13559    >,
13560    pub AEGP_GetCompFramerate: ::std::option::Option<
13561        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13562    >,
13563    pub AEGP_SetCompFrameRate: ::std::option::Option<
13564        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13565    >,
13566    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13567        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13568    >,
13569    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13570        unsafe extern "C" fn(
13571            compH: AEGP_CompH,
13572            comp_timeP: *const A_Time,
13573            start: *mut A_Time,
13574            duration: *mut A_Time,
13575        ) -> A_Err,
13576    >,
13577    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13578        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13579    >,
13580    pub AEGP_SetCompSuggestedMotionBlurSamples:
13581        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13582    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13583        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13584    >,
13585    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13586        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13587    >,
13588    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13589        unsafe extern "C" fn(
13590            compH: AEGP_CompH,
13591            work_area_startPT: *const A_Time,
13592            work_area_durationPT: *const A_Time,
13593        ) -> A_Err,
13594    >,
13595    pub AEGP_CreateSolidInComp: ::std::option::Option<
13596        unsafe extern "C" fn(
13597            utf_nameZ: *const A_UTF16Char,
13598            width: A_long,
13599            height: A_long,
13600            color: *const AEGP_ColorVal,
13601            parent_compH: AEGP_CompH,
13602            durationPT0: *const A_Time,
13603            new_solidPH: *mut AEGP_LayerH,
13604        ) -> A_Err,
13605    >,
13606    pub AEGP_CreateCameraInComp: ::std::option::Option<
13607        unsafe extern "C" fn(
13608            utf_nameZ: *const A_UTF16Char,
13609            center_point: A_FloatPoint,
13610            parent_compH: AEGP_CompH,
13611            new_cameraPH: *mut AEGP_LayerH,
13612        ) -> A_Err,
13613    >,
13614    pub AEGP_CreateLightInComp: ::std::option::Option<
13615        unsafe extern "C" fn(
13616            utf_nameZ: *const A_UTF16Char,
13617            center_point: A_FloatPoint,
13618            parent_compH: AEGP_CompH,
13619            new_lightPH: *mut AEGP_LayerH,
13620        ) -> A_Err,
13621    >,
13622    pub AEGP_CreateComp: ::std::option::Option<
13623        unsafe extern "C" fn(
13624            parent_folderH0: AEGP_ItemH,
13625            utf_nameZ: *const A_UTF16Char,
13626            widthL: A_long,
13627            heightL: A_long,
13628            pixel_aspect_ratioPRt: *const A_Ratio,
13629            durationPT: *const A_Time,
13630            frameratePRt: *const A_Ratio,
13631            new_compPH: *mut AEGP_CompH,
13632        ) -> A_Err,
13633    >,
13634    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13635        unsafe extern "C" fn(
13636            plugin_id: AEGP_PluginID,
13637            compH: AEGP_CompH,
13638            collectionPH: *mut AEGP_Collection2H,
13639        ) -> A_Err,
13640    >,
13641    pub AEGP_SetSelection: ::std::option::Option<
13642        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13643    >,
13644    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13645        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13646    >,
13647    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13648        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13649    >,
13650    pub AEGP_SetCompDuration: ::std::option::Option<
13651        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13652    >,
13653    pub AEGP_CreateNullInComp: ::std::option::Option<
13654        unsafe extern "C" fn(
13655            utf_nameZ: *const A_UTF16Char,
13656            parent_compH: AEGP_CompH,
13657            durationPT0: *const A_Time,
13658            new_null_solidPH: *mut AEGP_LayerH,
13659        ) -> A_Err,
13660    >,
13661    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13662        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13663    >,
13664    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13665        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
13666    >,
13667    pub AEGP_CreateBoxTextLayerInComp: ::std::option::Option<
13668        unsafe extern "C" fn(
13669            parent_compH: AEGP_CompH,
13670            box_dimensions: A_FloatPoint,
13671            new_text_layerPH: *mut AEGP_LayerH,
13672        ) -> A_Err,
13673    >,
13674    pub AEGP_SetCompDimensions: ::std::option::Option<
13675        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13676    >,
13677    pub AEGP_DuplicateComp: ::std::option::Option<
13678        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13679    >,
13680    pub AEGP_GetCompFrameDuration:
13681        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13682    pub AEGP_GetMostRecentlyUsedComp:
13683        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13684    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13685        unsafe extern "C" fn(
13686            parent_compH: AEGP_CompH,
13687            new_vector_layerPH: *mut AEGP_LayerH,
13688        ) -> A_Err,
13689    >,
13690    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13691        unsafe extern "C" fn(
13692            aegp_plugin_id: AEGP_PluginID,
13693            parent_compH: AEGP_CompH,
13694            streamPH: *mut AEGP_StreamRefH,
13695        ) -> A_Err,
13696    >,
13697    pub AEGP_GetCompDisplayDropFrame: ::std::option::Option<
13698        unsafe extern "C" fn(compH: AEGP_CompH, dropFramePB: *mut A_Boolean) -> A_Err,
13699    >,
13700    pub AEGP_SetCompDisplayDropFrame: ::std::option::Option<
13701        unsafe extern "C" fn(compH: AEGP_CompH, dropFrameB: A_Boolean) -> A_Err,
13702    >,
13703}
13704#[repr(C)]
13705#[derive(Debug, Copy, Clone)]
13706pub struct AEGP_CompSuite7 {
13707    pub AEGP_GetCompFromItem: ::std::option::Option<
13708        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13709    >,
13710    pub AEGP_GetItemFromComp: ::std::option::Option<
13711        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13712    >,
13713    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13714        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13715    >,
13716    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13717        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13718    >,
13719    pub AEGP_GetCompBGColor: ::std::option::Option<
13720        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13721    >,
13722    pub AEGP_SetCompBGColor: ::std::option::Option<
13723        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13724    >,
13725    pub AEGP_GetCompFlags: ::std::option::Option<
13726        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13727    >,
13728    pub AEGP_GetCompFramerate: ::std::option::Option<
13729        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13730    >,
13731    pub AEGP_SetCompFrameRate: ::std::option::Option<
13732        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13733    >,
13734    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13735        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13736    >,
13737    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13738        unsafe extern "C" fn(
13739            compH: AEGP_CompH,
13740            comp_timeP: *const A_Time,
13741            start: *mut A_Time,
13742            duration: *mut A_Time,
13743        ) -> A_Err,
13744    >,
13745    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13746        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13747    >,
13748    pub AEGP_SetCompSuggestedMotionBlurSamples:
13749        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13750    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13751        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13752    >,
13753    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13754        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13755    >,
13756    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13757        unsafe extern "C" fn(
13758            compH: AEGP_CompH,
13759            work_area_startPT: *const A_Time,
13760            work_area_durationPT: *const A_Time,
13761        ) -> A_Err,
13762    >,
13763    pub AEGP_CreateSolidInComp: ::std::option::Option<
13764        unsafe extern "C" fn(
13765            utf_nameZ: *const A_UTF16Char,
13766            width: A_long,
13767            height: A_long,
13768            color: *const AEGP_ColorVal,
13769            parent_compH: AEGP_CompH,
13770            durationPT0: *const A_Time,
13771            new_solidPH: *mut AEGP_LayerH,
13772        ) -> A_Err,
13773    >,
13774    pub AEGP_CreateCameraInComp: ::std::option::Option<
13775        unsafe extern "C" fn(
13776            utf_nameZ: *const A_UTF16Char,
13777            center_point: A_FloatPoint,
13778            parent_compH: AEGP_CompH,
13779            new_cameraPH: *mut AEGP_LayerH,
13780        ) -> A_Err,
13781    >,
13782    pub AEGP_CreateLightInComp: ::std::option::Option<
13783        unsafe extern "C" fn(
13784            utf_nameZ: *const A_UTF16Char,
13785            center_point: A_FloatPoint,
13786            parent_compH: AEGP_CompH,
13787            new_lightPH: *mut AEGP_LayerH,
13788        ) -> A_Err,
13789    >,
13790    pub AEGP_CreateComp: ::std::option::Option<
13791        unsafe extern "C" fn(
13792            parent_folderH0: AEGP_ItemH,
13793            utf_nameZ: *const A_UTF16Char,
13794            widthL: A_long,
13795            heightL: A_long,
13796            pixel_aspect_ratioPRt: *const A_Ratio,
13797            durationPT: *const A_Time,
13798            frameratePRt: *const A_Ratio,
13799            new_compPH: *mut AEGP_CompH,
13800        ) -> A_Err,
13801    >,
13802    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13803        unsafe extern "C" fn(
13804            plugin_id: AEGP_PluginID,
13805            compH: AEGP_CompH,
13806            collectionPH: *mut AEGP_Collection2H,
13807        ) -> A_Err,
13808    >,
13809    pub AEGP_SetSelection: ::std::option::Option<
13810        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13811    >,
13812    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13813        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13814    >,
13815    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13816        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13817    >,
13818    pub AEGP_SetCompDuration: ::std::option::Option<
13819        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13820    >,
13821    pub AEGP_CreateNullInComp: ::std::option::Option<
13822        unsafe extern "C" fn(
13823            utf_nameZ: *const A_UTF16Char,
13824            parent_compH: AEGP_CompH,
13825            durationPT0: *const A_Time,
13826            new_null_solidPH: *mut AEGP_LayerH,
13827        ) -> A_Err,
13828    >,
13829    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13830        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13831    >,
13832    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13833        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
13834    >,
13835    pub AEGP_SetCompDimensions: ::std::option::Option<
13836        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13837    >,
13838    pub AEGP_DuplicateComp: ::std::option::Option<
13839        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13840    >,
13841    pub AEGP_GetCompFrameDuration:
13842        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13843    pub AEGP_GetMostRecentlyUsedComp:
13844        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
13845    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
13846        unsafe extern "C" fn(
13847            parent_compH: AEGP_CompH,
13848            new_vector_layerPH: *mut AEGP_LayerH,
13849        ) -> A_Err,
13850    >,
13851    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
13852        unsafe extern "C" fn(
13853            aegp_plugin_id: AEGP_PluginID,
13854            parent_compH: AEGP_CompH,
13855            streamPH: *mut AEGP_StreamRefH,
13856        ) -> A_Err,
13857    >,
13858}
13859#[repr(C)]
13860#[derive(Debug, Copy, Clone)]
13861pub struct AEGP_CompSuite6 {
13862    pub AEGP_GetCompFromItem: ::std::option::Option<
13863        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
13864    >,
13865    pub AEGP_GetItemFromComp: ::std::option::Option<
13866        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
13867    >,
13868    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
13869        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
13870    >,
13871    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
13872        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
13873    >,
13874    pub AEGP_GetCompBGColor: ::std::option::Option<
13875        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
13876    >,
13877    pub AEGP_SetCompBGColor: ::std::option::Option<
13878        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
13879    >,
13880    pub AEGP_GetCompFlags: ::std::option::Option<
13881        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
13882    >,
13883    pub AEGP_GetCompFramerate: ::std::option::Option<
13884        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
13885    >,
13886    pub AEGP_SetCompFrameRate: ::std::option::Option<
13887        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
13888    >,
13889    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
13890        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
13891    >,
13892    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
13893        unsafe extern "C" fn(
13894            compH: AEGP_CompH,
13895            comp_timeP: *const A_Time,
13896            start: *mut A_Time,
13897            duration: *mut A_Time,
13898        ) -> A_Err,
13899    >,
13900    pub AEGP_GetCompSuggestedMotionBlurSamples: ::std::option::Option<
13901        unsafe extern "C" fn(compH: AEGP_CompH, samplesPL: *mut A_long) -> A_Err,
13902    >,
13903    pub AEGP_SetCompSuggestedMotionBlurSamples:
13904        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, samplesL: A_long) -> A_Err>,
13905    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
13906        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
13907    >,
13908    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
13909        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
13910    >,
13911    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
13912        unsafe extern "C" fn(
13913            compH: AEGP_CompH,
13914            work_area_startPT: *const A_Time,
13915            work_area_durationPT: *const A_Time,
13916        ) -> A_Err,
13917    >,
13918    pub AEGP_CreateSolidInComp: ::std::option::Option<
13919        unsafe extern "C" fn(
13920            nameZ: *const A_char,
13921            width: A_long,
13922            height: A_long,
13923            color: *const AEGP_ColorVal,
13924            parent_compH: AEGP_CompH,
13925            durationPT0: *const A_Time,
13926            new_solidPH: *mut AEGP_LayerH,
13927        ) -> A_Err,
13928    >,
13929    pub AEGP_CreateCameraInComp: ::std::option::Option<
13930        unsafe extern "C" fn(
13931            nameZ: *const A_char,
13932            center_point: A_FloatPoint,
13933            parent_compH: AEGP_CompH,
13934            new_cameraPH: *mut AEGP_LayerH,
13935        ) -> A_Err,
13936    >,
13937    pub AEGP_CreateLightInComp: ::std::option::Option<
13938        unsafe extern "C" fn(
13939            nameZ: *const A_char,
13940            center_point: A_FloatPoint,
13941            parent_compH: AEGP_CompH,
13942            new_lightPH: *mut AEGP_LayerH,
13943        ) -> A_Err,
13944    >,
13945    pub AEGP_CreateComp: ::std::option::Option<
13946        unsafe extern "C" fn(
13947            parent_folderH0: AEGP_ItemH,
13948            nameZ: *const A_char,
13949            widthL: A_long,
13950            heightL: A_long,
13951            pixel_aspect_ratioPRt: *const A_Ratio,
13952            durationPT: *const A_Time,
13953            frameratePRt: *const A_Ratio,
13954            new_compPH: *mut AEGP_CompH,
13955        ) -> A_Err,
13956    >,
13957    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
13958        unsafe extern "C" fn(
13959            plugin_id: AEGP_PluginID,
13960            compH: AEGP_CompH,
13961            collectionPH: *mut AEGP_Collection2H,
13962        ) -> A_Err,
13963    >,
13964    pub AEGP_SetSelection: ::std::option::Option<
13965        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
13966    >,
13967    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
13968        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
13969    >,
13970    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
13971        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
13972    >,
13973    pub AEGP_SetCompDuration: ::std::option::Option<
13974        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
13975    >,
13976    pub AEGP_CreateNullInComp: ::std::option::Option<
13977        unsafe extern "C" fn(
13978            nameZ: *const A_char,
13979            parent_compH: AEGP_CompH,
13980            durationPT0: *const A_Time,
13981            new_null_solidPH: *mut AEGP_LayerH,
13982        ) -> A_Err,
13983    >,
13984    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
13985        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
13986    >,
13987    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
13988        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
13989    >,
13990    pub AEGP_SetCompDimensions: ::std::option::Option<
13991        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
13992    >,
13993    pub AEGP_DuplicateComp: ::std::option::Option<
13994        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
13995    >,
13996    pub AEGP_GetCompFrameDuration:
13997        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
13998    pub AEGP_GetMostRecentlyUsedComp:
13999        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14000    pub AEGP_CreateVectorLayerInComp: ::std::option::Option<
14001        unsafe extern "C" fn(
14002            parent_compH: AEGP_CompH,
14003            new_vector_layerPH: *mut AEGP_LayerH,
14004        ) -> A_Err,
14005    >,
14006    pub AEGP_GetNewCompMarkerStream: ::std::option::Option<
14007        unsafe extern "C" fn(
14008            aegp_plugin_id: AEGP_PluginID,
14009            parent_compH: AEGP_CompH,
14010            streamPH: *mut AEGP_StreamRefH,
14011        ) -> A_Err,
14012    >,
14013}
14014#[repr(C)]
14015#[derive(Debug, Copy, Clone)]
14016pub struct AEGP_CompSuite5 {
14017    pub AEGP_GetCompFromItem: ::std::option::Option<
14018        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14019    >,
14020    pub AEGP_GetItemFromComp: ::std::option::Option<
14021        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14022    >,
14023    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14024        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14025    >,
14026    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14027        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14028    >,
14029    pub AEGP_GetCompBGColor: ::std::option::Option<
14030        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14031    >,
14032    pub AEGP_SetCompBGColor: ::std::option::Option<
14033        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *const AEGP_ColorVal) -> A_Err,
14034    >,
14035    pub AEGP_GetCompFlags: ::std::option::Option<
14036        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14037    >,
14038    pub AEGP_GetCompFramerate: ::std::option::Option<
14039        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14040    >,
14041    pub AEGP_SetCompFrameRate: ::std::option::Option<
14042        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14043    >,
14044    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14045        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14046    >,
14047    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14048        unsafe extern "C" fn(
14049            compH: AEGP_CompH,
14050            comp_timeP: *const A_Time,
14051            start: *mut A_Time,
14052            duration: *mut A_Time,
14053        ) -> A_Err,
14054    >,
14055    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14056        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14057    >,
14058    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14059        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14060    >,
14061    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14062        unsafe extern "C" fn(
14063            compH: AEGP_CompH,
14064            work_area_startPT: *mut A_Time,
14065            work_area_durationPT: *mut A_Time,
14066        ) -> A_Err,
14067    >,
14068    pub AEGP_CreateSolidInComp: ::std::option::Option<
14069        unsafe extern "C" fn(
14070            nameZ: *const A_char,
14071            width: A_long,
14072            height: A_long,
14073            color: *const AEGP_ColorVal,
14074            parent_compH: AEGP_CompH,
14075            durationPT0: *const A_Time,
14076            new_solidPH: *mut AEGP_LayerH,
14077        ) -> A_Err,
14078    >,
14079    pub AEGP_CreateCameraInComp: ::std::option::Option<
14080        unsafe extern "C" fn(
14081            nameZ: *const A_char,
14082            center_point: A_FloatPoint,
14083            parent_compH: AEGP_CompH,
14084            new_cameraPH: *mut AEGP_LayerH,
14085        ) -> A_Err,
14086    >,
14087    pub AEGP_CreateLightInComp: ::std::option::Option<
14088        unsafe extern "C" fn(
14089            nameZ: *const A_char,
14090            center_point: A_FloatPoint,
14091            parent_compH: AEGP_CompH,
14092            new_lightPH: *mut AEGP_LayerH,
14093        ) -> A_Err,
14094    >,
14095    pub AEGP_CreateComp: ::std::option::Option<
14096        unsafe extern "C" fn(
14097            parent_folderH0: AEGP_ItemH,
14098            nameZ: *const A_char,
14099            widthL: A_long,
14100            heightL: A_long,
14101            pixel_aspect_ratioPRt: *const A_Ratio,
14102            durationPT: *const A_Time,
14103            frameratePRt: *const A_Ratio,
14104            new_compPH: *mut AEGP_CompH,
14105        ) -> A_Err,
14106    >,
14107    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14108        unsafe extern "C" fn(
14109            plugin_id: AEGP_PluginID,
14110            compH: AEGP_CompH,
14111            collectionPH: *mut AEGP_Collection2H,
14112        ) -> A_Err,
14113    >,
14114    pub AEGP_SetSelection: ::std::option::Option<
14115        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14116    >,
14117    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14118        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14119    >,
14120    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14121        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14122    >,
14123    pub AEGP_SetCompDuration: ::std::option::Option<
14124        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14125    >,
14126    pub AEGP_CreateNullInComp: ::std::option::Option<
14127        unsafe extern "C" fn(
14128            nameZ: *const A_char,
14129            parent_compH: AEGP_CompH,
14130            durationPT0: *const A_Time,
14131            new_null_solidPH: *mut AEGP_LayerH,
14132        ) -> A_Err,
14133    >,
14134    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14135        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14136    >,
14137    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14138        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14139    >,
14140    pub AEGP_SetCompDimensions: ::std::option::Option<
14141        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14142    >,
14143    pub AEGP_DuplicateComp: ::std::option::Option<
14144        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14145    >,
14146    pub AEGP_GetCompFrameDuration:
14147        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14148    pub AEGP_GetMostRecentlyUsedComp:
14149        ::std::option::Option<unsafe extern "C" fn(compPH: *mut AEGP_CompH) -> A_Err>,
14150}
14151#[repr(C)]
14152#[derive(Debug, Copy, Clone)]
14153pub struct AEGP_CompSuite4 {
14154    pub AEGP_GetCompFromItem: ::std::option::Option<
14155        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14156    >,
14157    pub AEGP_GetItemFromComp: ::std::option::Option<
14158        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14159    >,
14160    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14161        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14162    >,
14163    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14164        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14165    >,
14166    pub AEGP_GetCompBGColor: ::std::option::Option<
14167        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14168    >,
14169    pub AEGP_GetCompFlags: ::std::option::Option<
14170        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14171    >,
14172    pub AEGP_GetCompFramerate: ::std::option::Option<
14173        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14174    >,
14175    pub AEGP_SetCompFrameRate: ::std::option::Option<
14176        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14177    >,
14178    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14179        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14180    >,
14181    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14182        unsafe extern "C" fn(
14183            compH: AEGP_CompH,
14184            comp_timeP: *const A_Time,
14185            start: *mut A_Time,
14186            duration: *mut A_Time,
14187        ) -> A_Err,
14188    >,
14189    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14190        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14191    >,
14192    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14193        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14194    >,
14195    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14196        unsafe extern "C" fn(
14197            compH: AEGP_CompH,
14198            work_area_startPT: *mut A_Time,
14199            work_area_durationPT: *mut A_Time,
14200        ) -> A_Err,
14201    >,
14202    pub AEGP_CreateSolidInComp: ::std::option::Option<
14203        unsafe extern "C" fn(
14204            nameZ: *const A_char,
14205            width: A_long,
14206            height: A_long,
14207            color: *const AEGP_ColorVal,
14208            parent_compH: AEGP_CompH,
14209            durationPT0: *const A_Time,
14210            new_solidPH: *mut AEGP_LayerH,
14211        ) -> A_Err,
14212    >,
14213    pub AEGP_CreateCameraInComp: ::std::option::Option<
14214        unsafe extern "C" fn(
14215            nameZ: *const A_char,
14216            center_point: A_FloatPoint,
14217            parent_compH: AEGP_CompH,
14218            new_cameraPH: *mut AEGP_LayerH,
14219        ) -> A_Err,
14220    >,
14221    pub AEGP_CreateLightInComp: ::std::option::Option<
14222        unsafe extern "C" fn(
14223            nameZ: *const A_char,
14224            center_point: A_FloatPoint,
14225            parent_compH: AEGP_CompH,
14226            new_lightPH: *mut AEGP_LayerH,
14227        ) -> A_Err,
14228    >,
14229    pub AEGP_CreateComp: ::std::option::Option<
14230        unsafe extern "C" fn(
14231            parent_folderH0: AEGP_ItemH,
14232            nameZ: *const A_char,
14233            widthL: A_long,
14234            heightL: A_long,
14235            pixel_aspect_ratioPRt: *const A_Ratio,
14236            durationPT: *const A_Time,
14237            frameratePRt: *const A_Ratio,
14238            new_compPH: *mut AEGP_CompH,
14239        ) -> A_Err,
14240    >,
14241    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14242        unsafe extern "C" fn(
14243            plugin_id: AEGP_PluginID,
14244            compH: AEGP_CompH,
14245            collectionPH: *mut AEGP_Collection2H,
14246        ) -> A_Err,
14247    >,
14248    pub AEGP_SetSelection: ::std::option::Option<
14249        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_Collection2H) -> A_Err,
14250    >,
14251    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14252        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14253    >,
14254    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14255        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14256    >,
14257    pub AEGP_SetCompDuration: ::std::option::Option<
14258        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14259    >,
14260    pub AEGP_CreateNullInComp: ::std::option::Option<
14261        unsafe extern "C" fn(
14262            nameZ: *const A_char,
14263            parent_compH: AEGP_CompH,
14264            durationPT0: *const A_Time,
14265            new_null_solidPH: *mut AEGP_LayerH,
14266        ) -> A_Err,
14267    >,
14268    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14269        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14270    >,
14271    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14272        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14273    >,
14274    pub AEGP_SetCompDimensions: ::std::option::Option<
14275        unsafe extern "C" fn(compH: AEGP_CompH, widthL: A_long, heightL: A_long) -> A_Err,
14276    >,
14277    pub AEGP_DuplicateComp: ::std::option::Option<
14278        unsafe extern "C" fn(compH: AEGP_CompH, new_compPH: *mut AEGP_CompH) -> A_Err,
14279    >,
14280    pub AEGP_GetCompFrameDuration:
14281        ::std::option::Option<unsafe extern "C" fn(compH: AEGP_CompH, timeP: *mut A_Time) -> A_Err>,
14282}
14283#[repr(C)]
14284#[derive(Debug, Copy, Clone)]
14285pub struct AEGP_CompSuite3 {
14286    pub AEGP_GetCompFromItem: ::std::option::Option<
14287        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14288    >,
14289    pub AEGP_GetItemFromComp: ::std::option::Option<
14290        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14291    >,
14292    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14293        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14294    >,
14295    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14296        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14297    >,
14298    pub AEGP_GetCompBGColor: ::std::option::Option<
14299        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14300    >,
14301    pub AEGP_GetCompFlags: ::std::option::Option<
14302        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14303    >,
14304    pub AEGP_GetCompFramerate: ::std::option::Option<
14305        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14306    >,
14307    pub AEGP_SetCompFrameRate: ::std::option::Option<
14308        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *const A_FpLong) -> A_Err,
14309    >,
14310    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14311        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14312    >,
14313    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14314        unsafe extern "C" fn(
14315            compH: AEGP_CompH,
14316            comp_timeP: *const A_Time,
14317            start: *mut A_Time,
14318            duration: *mut A_Time,
14319        ) -> A_Err,
14320    >,
14321    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14322        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14323    >,
14324    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14325        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14326    >,
14327    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14328        unsafe extern "C" fn(
14329            compH: AEGP_CompH,
14330            work_area_startPT: *mut A_Time,
14331            work_area_durationPT: *mut A_Time,
14332        ) -> A_Err,
14333    >,
14334    pub AEGP_CreateSolidInComp: ::std::option::Option<
14335        unsafe extern "C" fn(
14336            nameZ: *const A_char,
14337            width: A_long,
14338            height: A_long,
14339            color: *const AEGP_ColorVal,
14340            parent_compH: AEGP_CompH,
14341            durationPT0: *const A_Time,
14342            new_solidPH: *mut AEGP_LayerH,
14343        ) -> A_Err,
14344    >,
14345    pub AEGP_CreateCameraInComp: ::std::option::Option<
14346        unsafe extern "C" fn(
14347            nameZ: *const A_char,
14348            center_point: A_FloatPoint,
14349            parent_compH: AEGP_CompH,
14350            new_cameraPH: *mut AEGP_LayerH,
14351        ) -> A_Err,
14352    >,
14353    pub AEGP_CreateLightInComp: ::std::option::Option<
14354        unsafe extern "C" fn(
14355            nameZ: *const A_char,
14356            center_point: A_FloatPoint,
14357            parent_compH: AEGP_CompH,
14358            new_lightPH: *mut AEGP_LayerH,
14359        ) -> A_Err,
14360    >,
14361    pub AEGP_CreateComp: ::std::option::Option<
14362        unsafe extern "C" fn(
14363            parent_folderH0: AEGP_ItemH,
14364            nameZ: *const A_char,
14365            widthL: A_long,
14366            heightL: A_long,
14367            pixel_aspect_ratioPRt: *const A_Ratio,
14368            durationPT: *const A_Time,
14369            frameratePRt: *const A_Ratio,
14370            new_compPH: *mut AEGP_CompH,
14371        ) -> A_Err,
14372    >,
14373    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14374        unsafe extern "C" fn(
14375            plugin_id: AEGP_PluginID,
14376            compH: AEGP_CompH,
14377            collectionPH: *mut AEGP_CollectionH,
14378        ) -> A_Err,
14379    >,
14380    pub AEGP_SetSelection: ::std::option::Option<
14381        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
14382    >,
14383    pub AEGP_GetCompDisplayStartTime: ::std::option::Option<
14384        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *mut A_Time) -> A_Err,
14385    >,
14386    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14387        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14388    >,
14389    pub AEGP_SetCompDuration: ::std::option::Option<
14390        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14391    >,
14392    pub AEGP_CreateNullInComp: ::std::option::Option<
14393        unsafe extern "C" fn(
14394            nameZ: *const A_char,
14395            parent_compH: AEGP_CompH,
14396            durationPT0: *const A_Time,
14397            new_null_solidPH: *mut AEGP_LayerH,
14398        ) -> A_Err,
14399    >,
14400    pub AEGP_SetCompPixelAspectRatio: ::std::option::Option<
14401        unsafe extern "C" fn(compH: AEGP_CompH, pix_aspectratioPRt: *const A_Ratio) -> A_Err,
14402    >,
14403    pub AEGP_CreateTextLayerInComp: ::std::option::Option<
14404        unsafe extern "C" fn(parent_compH: AEGP_CompH, new_text_layerPH: *mut AEGP_LayerH) -> A_Err,
14405    >,
14406}
14407#[repr(C)]
14408#[derive(Debug, Copy, Clone)]
14409pub struct AEGP_CompSuite2 {
14410    pub AEGP_GetCompFromItem: ::std::option::Option<
14411        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14412    >,
14413    pub AEGP_GetItemFromComp: ::std::option::Option<
14414        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14415    >,
14416    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14417        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14418    >,
14419    pub AEGP_SetCompDownsampleFactor: ::std::option::Option<
14420        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *const AEGP_DownsampleFactor) -> A_Err,
14421    >,
14422    pub AEGP_GetCompBGColor: ::std::option::Option<
14423        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14424    >,
14425    pub AEGP_GetCompFlags: ::std::option::Option<
14426        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14427    >,
14428    pub AEGP_GetCompFramerate: ::std::option::Option<
14429        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14430    >,
14431    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14432        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14433    >,
14434    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14435        unsafe extern "C" fn(
14436            compH: AEGP_CompH,
14437            comp_timeP: *const A_Time,
14438            start: *mut A_Time,
14439            duration: *mut A_Time,
14440        ) -> A_Err,
14441    >,
14442    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14443        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14444    >,
14445    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14446        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14447    >,
14448    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14449        unsafe extern "C" fn(
14450            compH: AEGP_CompH,
14451            work_area_startPT: *mut A_Time,
14452            work_area_durationPT: *mut A_Time,
14453        ) -> A_Err,
14454    >,
14455    pub AEGP_CreateSolidInComp: ::std::option::Option<
14456        unsafe extern "C" fn(
14457            nameZ: *const A_char,
14458            width: A_long,
14459            height: A_long,
14460            color: *const AEGP_ColorVal,
14461            parent_compH: AEGP_ItemH,
14462            durationPT0: *const A_Time,
14463            new_solidPH: *mut AEGP_LayerH,
14464        ) -> A_Err,
14465    >,
14466    pub AEGP_CreateCameraInComp: ::std::option::Option<
14467        unsafe extern "C" fn(
14468            nameZ: *const A_char,
14469            center_point: A_FloatPoint,
14470            parent_compH: AEGP_ItemH,
14471            new_cameraPH: *mut AEGP_LayerH,
14472        ) -> A_Err,
14473    >,
14474    pub AEGP_CreateLightInComp: ::std::option::Option<
14475        unsafe extern "C" fn(
14476            nameZ: *const A_char,
14477            center_point: A_FloatPoint,
14478            parent_compH: AEGP_ItemH,
14479            new_lightPH: *mut AEGP_LayerH,
14480        ) -> A_Err,
14481    >,
14482    pub AEGP_CreateComp: ::std::option::Option<
14483        unsafe extern "C" fn(
14484            parent_folderH0: AEGP_ItemH,
14485            nameZ: *const A_char,
14486            widthL: A_long,
14487            heightL: A_long,
14488            pixel_aspect_ratioPRt: *const A_Ratio,
14489            durationPT: *const A_Time,
14490            frameratePRt: *const A_Ratio,
14491            new_compPH: *mut AEGP_CompH,
14492        ) -> A_Err,
14493    >,
14494    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14495        unsafe extern "C" fn(
14496            plugin_id: AEGP_PluginID,
14497            compH: AEGP_CompH,
14498            collectionPH: *mut AEGP_CollectionH,
14499        ) -> A_Err,
14500    >,
14501    pub AEGP_SetSelection: ::std::option::Option<
14502        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
14503    >,
14504    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14505        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14506    >,
14507    pub AEGP_SetCompDuration: ::std::option::Option<
14508        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14509    >,
14510    pub AEGP_CreateNullInComp: ::std::option::Option<
14511        unsafe extern "C" fn(
14512            nameZ: *const A_char,
14513            parent_compH: AEGP_CompH,
14514            durationPT0: *const A_Time,
14515            new_null_solidPH: *mut AEGP_LayerH,
14516        ) -> A_Err,
14517    >,
14518}
14519#[repr(C)]
14520#[derive(Debug, Copy, Clone)]
14521pub struct AEGP_CompSuite1 {
14522    pub AEGP_GetCompFromItem: ::std::option::Option<
14523        unsafe extern "C" fn(itemH: AEGP_ItemH, compPH: *mut AEGP_CompH) -> A_Err,
14524    >,
14525    pub AEGP_GetItemFromComp: ::std::option::Option<
14526        unsafe extern "C" fn(compH: AEGP_CompH, itemPH: *mut AEGP_ItemH) -> A_Err,
14527    >,
14528    pub AEGP_GetCompDownsampleFactor: ::std::option::Option<
14529        unsafe extern "C" fn(compH: AEGP_CompH, dsfP: *mut AEGP_DownsampleFactor) -> A_Err,
14530    >,
14531    pub AEGP_GetCompBGColor: ::std::option::Option<
14532        unsafe extern "C" fn(compH: AEGP_CompH, bg_colorP: *mut AEGP_ColorVal) -> A_Err,
14533    >,
14534    pub AEGP_GetCompFlags: ::std::option::Option<
14535        unsafe extern "C" fn(compH: AEGP_CompH, comp_flagsP: *mut AEGP_CompFlags) -> A_Err,
14536    >,
14537    pub AEGP_GetCompFramerate: ::std::option::Option<
14538        unsafe extern "C" fn(compH: AEGP_CompH, fpsPF: *mut A_FpLong) -> A_Err,
14539    >,
14540    pub AEGP_GetCompShutterAnglePhase: ::std::option::Option<
14541        unsafe extern "C" fn(compH: AEGP_CompH, angle: *mut A_Ratio, phase: *mut A_Ratio) -> A_Err,
14542    >,
14543    pub AEGP_GetCompShutterFrameRange: ::std::option::Option<
14544        unsafe extern "C" fn(
14545            compH: AEGP_CompH,
14546            comp_timeP: *const A_Time,
14547            start: *mut A_Time,
14548            duration: *mut A_Time,
14549        ) -> A_Err,
14550    >,
14551    pub AEGP_GetCompWorkAreaStart: ::std::option::Option<
14552        unsafe extern "C" fn(compH: AEGP_CompH, work_area_startPT: *mut A_Time) -> A_Err,
14553    >,
14554    pub AEGP_GetCompWorkAreaDuration: ::std::option::Option<
14555        unsafe extern "C" fn(compH: AEGP_CompH, work_area_durationPT: *mut A_Time) -> A_Err,
14556    >,
14557    pub AEGP_SetCompWorkAreaStartAndDuration: ::std::option::Option<
14558        unsafe extern "C" fn(
14559            compH: AEGP_CompH,
14560            work_area_startPT: *mut A_Time,
14561            work_area_durationPT: *mut A_Time,
14562        ) -> A_Err,
14563    >,
14564    pub AEGP_CreateSolidInComp: ::std::option::Option<
14565        unsafe extern "C" fn(
14566            nameZ: *const A_char,
14567            width: A_long,
14568            height: A_long,
14569            color: *const AEGP_ColorVal,
14570            parent_compH: AEGP_ItemH,
14571            new_solidPH: *mut AEGP_LayerH,
14572        ) -> A_Err,
14573    >,
14574    pub AEGP_CreateComp: ::std::option::Option<
14575        unsafe extern "C" fn(
14576            parent_folderH0: AEGP_ItemH,
14577            nameZ: *const A_char,
14578            widthL: A_long,
14579            heightL: A_long,
14580            pixel_aspect_ratioPRt: *const A_Ratio,
14581            durationPT: *const A_Time,
14582            frameratePRt: *const A_Ratio,
14583            new_compPH: *mut AEGP_ItemH,
14584        ) -> A_Err,
14585    >,
14586    pub AEGP_GetNewCollectionFromCompSelection: ::std::option::Option<
14587        unsafe extern "C" fn(
14588            plugin_id: AEGP_PluginID,
14589            compH: AEGP_CompH,
14590            collectionPH: *mut AEGP_CollectionH,
14591        ) -> A_Err,
14592    >,
14593    pub AEGP_SetSelection: ::std::option::Option<
14594        unsafe extern "C" fn(compH: AEGP_CompH, collectionH: AEGP_CollectionH) -> A_Err,
14595    >,
14596    pub AEGP_SetCompDisplayStartTime: ::std::option::Option<
14597        unsafe extern "C" fn(compH: AEGP_CompH, start_timePT: *const A_Time) -> A_Err,
14598    >,
14599    pub AEGP_SetCompDuration: ::std::option::Option<
14600        unsafe extern "C" fn(compH: AEGP_CompH, durationPT: *const A_Time) -> A_Err,
14601    >,
14602}
14603#[repr(C)]
14604#[derive(Debug, Copy, Clone)]
14605pub struct AEGP_LayerSuite8 {
14606    pub AEGP_GetCompNumLayers: ::std::option::Option<
14607        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
14608    >,
14609    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
14610        unsafe extern "C" fn(
14611            compH: AEGP_CompH,
14612            layer_indexL: A_long,
14613            layerPH: *mut AEGP_LayerH,
14614        ) -> A_Err,
14615    >,
14616    pub AEGP_GetActiveLayer:
14617        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
14618    pub AEGP_GetLayerIndex: ::std::option::Option<
14619        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
14620    >,
14621    pub AEGP_GetLayerSourceItem: ::std::option::Option<
14622        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
14623    >,
14624    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
14625        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
14626    >,
14627    pub AEGP_GetLayerParentComp: ::std::option::Option<
14628        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
14629    >,
14630    pub AEGP_GetLayerName: ::std::option::Option<
14631        unsafe extern "C" fn(
14632            pluginID: AEGP_PluginID,
14633            layerH: AEGP_LayerH,
14634            utf_layer_namePH0: *mut AEGP_MemHandle,
14635            utf_source_namePH0: *mut AEGP_MemHandle,
14636        ) -> A_Err,
14637    >,
14638    pub AEGP_GetLayerQuality: ::std::option::Option<
14639        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
14640    >,
14641    pub AEGP_SetLayerQuality: ::std::option::Option<
14642        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
14643    >,
14644    pub AEGP_GetLayerFlags: ::std::option::Option<
14645        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
14646    >,
14647    pub AEGP_SetLayerFlag: ::std::option::Option<
14648        unsafe extern "C" fn(
14649            layerH: AEGP_LayerH,
14650            single_flag: AEGP_LayerFlags,
14651            valueB: A_Boolean,
14652        ) -> A_Err,
14653    >,
14654    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
14655        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
14656    >,
14657    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
14658        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
14659    >,
14660    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
14661        unsafe extern "C" fn(
14662            layerH: AEGP_LayerH,
14663            time_mode: AEGP_LTimeMode,
14664            curr_timePT: *mut A_Time,
14665        ) -> A_Err,
14666    >,
14667    pub AEGP_GetLayerInPoint: ::std::option::Option<
14668        unsafe extern "C" fn(
14669            layerH: AEGP_LayerH,
14670            time_mode: AEGP_LTimeMode,
14671            in_pointPT: *mut A_Time,
14672        ) -> A_Err,
14673    >,
14674    pub AEGP_GetLayerDuration: ::std::option::Option<
14675        unsafe extern "C" fn(
14676            layerH: AEGP_LayerH,
14677            time_mode: AEGP_LTimeMode,
14678            durationPT: *mut A_Time,
14679        ) -> A_Err,
14680    >,
14681    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
14682        unsafe extern "C" fn(
14683            layerH: AEGP_LayerH,
14684            time_mode: AEGP_LTimeMode,
14685            in_pointPT: *const A_Time,
14686            durationPT: *const A_Time,
14687        ) -> A_Err,
14688    >,
14689    pub AEGP_GetLayerOffset: ::std::option::Option<
14690        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
14691    >,
14692    pub AEGP_SetLayerOffset: ::std::option::Option<
14693        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
14694    >,
14695    pub AEGP_GetLayerStretch: ::std::option::Option<
14696        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
14697    >,
14698    pub AEGP_SetLayerStretch: ::std::option::Option<
14699        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
14700    >,
14701    pub AEGP_GetLayerTransferMode: ::std::option::Option<
14702        unsafe extern "C" fn(
14703            layerH: AEGP_LayerH,
14704            transfer_modeP: *mut AEGP_LayerTransferMode,
14705        ) -> A_Err,
14706    >,
14707    pub AEGP_SetLayerTransferMode: ::std::option::Option<
14708        unsafe extern "C" fn(
14709            layerH: AEGP_LayerH,
14710            transfer_modeP: *const AEGP_LayerTransferMode,
14711        ) -> A_Err,
14712    >,
14713    pub AEGP_IsAddLayerValid: ::std::option::Option<
14714        unsafe extern "C" fn(
14715            item_to_addH: AEGP_ItemH,
14716            into_compH: AEGP_CompH,
14717            validPB: *mut A_Boolean,
14718        ) -> A_Err,
14719    >,
14720    pub AEGP_AddLayer: ::std::option::Option<
14721        unsafe extern "C" fn(
14722            item_to_addH: AEGP_ItemH,
14723            into_compH: AEGP_CompH,
14724            added_layerPH0: *mut AEGP_LayerH,
14725        ) -> A_Err,
14726    >,
14727    pub AEGP_ReorderLayer: ::std::option::Option<
14728        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
14729    >,
14730    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
14731        unsafe extern "C" fn(
14732            layerH: AEGP_LayerH,
14733            time_mode: AEGP_LTimeMode,
14734            timePT: *const A_Time,
14735            boundsPR: *mut A_FloatRect,
14736        ) -> A_Err,
14737    >,
14738    pub AEGP_GetLayerObjectType: ::std::option::Option<
14739        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
14740    >,
14741    pub AEGP_IsLayer3D: ::std::option::Option<
14742        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
14743    >,
14744    pub AEGP_IsLayer2D: ::std::option::Option<
14745        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
14746    >,
14747    pub AEGP_IsVideoActive: ::std::option::Option<
14748        unsafe extern "C" fn(
14749            layerH: AEGP_LayerH,
14750            time_mode: AEGP_LTimeMode,
14751            timePT: *const A_Time,
14752            is_activePB: *mut A_Boolean,
14753        ) -> A_Err,
14754    >,
14755    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
14756        unsafe extern "C" fn(
14757            layerH: AEGP_LayerH,
14758            fill_must_be_activeB: A_Boolean,
14759            is_track_mattePB: *mut A_Boolean,
14760        ) -> A_Err,
14761    >,
14762    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
14763        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
14764    >,
14765    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
14766        unsafe extern "C" fn(
14767            layerH: AEGP_LayerH,
14768            comp_timePT: *const A_Time,
14769            layer_timePT: *mut A_Time,
14770        ) -> A_Err,
14771    >,
14772    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
14773        unsafe extern "C" fn(
14774            layerH: AEGP_LayerH,
14775            layer_timePT: *const A_Time,
14776            comp_timePT: *mut A_Time,
14777        ) -> A_Err,
14778    >,
14779    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
14780        unsafe extern "C" fn(
14781            layerH: AEGP_LayerH,
14782            comp_timePT: *const A_Time,
14783            rand_valuePL: *mut A_long,
14784        ) -> A_Err,
14785    >,
14786    pub AEGP_GetLayerID: ::std::option::Option<
14787        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
14788    >,
14789    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
14790        unsafe extern "C" fn(
14791            aegp_layerH: AEGP_LayerH,
14792            comp_timeP: *const A_Time,
14793            transform: *mut A_Matrix4,
14794        ) -> A_Err,
14795    >,
14796    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
14797        unsafe extern "C" fn(
14798            aegp_layerH: AEGP_LayerH,
14799            view_timeP: *const A_Time,
14800            comp_timeP: *const A_Time,
14801            transform: *mut A_Matrix4,
14802        ) -> A_Err,
14803    >,
14804    pub AEGP_SetLayerName: ::std::option::Option<
14805        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
14806    >,
14807    pub AEGP_GetLayerParent: ::std::option::Option<
14808        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
14809    >,
14810    pub AEGP_SetLayerParent: ::std::option::Option<
14811        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
14812    >,
14813    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
14814    pub AEGP_DuplicateLayer: ::std::option::Option<
14815        unsafe extern "C" fn(
14816            orig_layerH: AEGP_LayerH,
14817            duplicate_layerPH: *mut AEGP_LayerH,
14818        ) -> A_Err,
14819    >,
14820    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
14821        unsafe extern "C" fn(
14822            parent_compH: AEGP_CompH,
14823            id: AEGP_LayerIDVal,
14824            layerPH: *mut AEGP_LayerH,
14825        ) -> A_Err,
14826    >,
14827    pub AEGP_GetLayerLabel: ::std::option::Option<
14828        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
14829    >,
14830    pub AEGP_SetLayerLabel: ::std::option::Option<
14831        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
14832    >,
14833    pub AEGP_GetLayerSamplingQuality: ::std::option::Option<
14834        unsafe extern "C" fn(
14835            layerH: AEGP_LayerH,
14836            qualityP: *mut AEGP_LayerSamplingQuality,
14837        ) -> A_Err,
14838    >,
14839    pub AEGP_SetLayerSamplingQuality: ::std::option::Option<
14840        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerSamplingQuality) -> A_Err,
14841    >,
14842}
14843#[repr(C)]
14844#[derive(Debug, Copy, Clone)]
14845pub struct AEGP_LayerSuite7 {
14846    pub AEGP_GetCompNumLayers: ::std::option::Option<
14847        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
14848    >,
14849    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
14850        unsafe extern "C" fn(
14851            compH: AEGP_CompH,
14852            layer_indexL: A_long,
14853            layerPH: *mut AEGP_LayerH,
14854        ) -> A_Err,
14855    >,
14856    pub AEGP_GetActiveLayer:
14857        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
14858    pub AEGP_GetLayerIndex: ::std::option::Option<
14859        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
14860    >,
14861    pub AEGP_GetLayerSourceItem: ::std::option::Option<
14862        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
14863    >,
14864    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
14865        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
14866    >,
14867    pub AEGP_GetLayerParentComp: ::std::option::Option<
14868        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
14869    >,
14870    pub AEGP_GetLayerName: ::std::option::Option<
14871        unsafe extern "C" fn(
14872            pluginID: AEGP_PluginID,
14873            layerH: AEGP_LayerH,
14874            utf_layer_namePH0: *mut AEGP_MemHandle,
14875            utf_source_namePH0: *mut AEGP_MemHandle,
14876        ) -> A_Err,
14877    >,
14878    pub AEGP_GetLayerQuality: ::std::option::Option<
14879        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
14880    >,
14881    pub AEGP_SetLayerQuality: ::std::option::Option<
14882        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
14883    >,
14884    pub AEGP_GetLayerFlags: ::std::option::Option<
14885        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
14886    >,
14887    pub AEGP_SetLayerFlag: ::std::option::Option<
14888        unsafe extern "C" fn(
14889            layerH: AEGP_LayerH,
14890            single_flag: AEGP_LayerFlags,
14891            valueB: A_Boolean,
14892        ) -> A_Err,
14893    >,
14894    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
14895        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
14896    >,
14897    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
14898        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
14899    >,
14900    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
14901        unsafe extern "C" fn(
14902            layerH: AEGP_LayerH,
14903            time_mode: AEGP_LTimeMode,
14904            curr_timePT: *mut A_Time,
14905        ) -> A_Err,
14906    >,
14907    pub AEGP_GetLayerInPoint: ::std::option::Option<
14908        unsafe extern "C" fn(
14909            layerH: AEGP_LayerH,
14910            time_mode: AEGP_LTimeMode,
14911            in_pointPT: *mut A_Time,
14912        ) -> A_Err,
14913    >,
14914    pub AEGP_GetLayerDuration: ::std::option::Option<
14915        unsafe extern "C" fn(
14916            layerH: AEGP_LayerH,
14917            time_mode: AEGP_LTimeMode,
14918            durationPT: *mut A_Time,
14919        ) -> A_Err,
14920    >,
14921    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
14922        unsafe extern "C" fn(
14923            layerH: AEGP_LayerH,
14924            time_mode: AEGP_LTimeMode,
14925            in_pointPT: *const A_Time,
14926            durationPT: *const A_Time,
14927        ) -> A_Err,
14928    >,
14929    pub AEGP_GetLayerOffset: ::std::option::Option<
14930        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
14931    >,
14932    pub AEGP_SetLayerOffset: ::std::option::Option<
14933        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
14934    >,
14935    pub AEGP_GetLayerStretch: ::std::option::Option<
14936        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
14937    >,
14938    pub AEGP_SetLayerStretch: ::std::option::Option<
14939        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
14940    >,
14941    pub AEGP_GetLayerTransferMode: ::std::option::Option<
14942        unsafe extern "C" fn(
14943            layerH: AEGP_LayerH,
14944            transfer_modeP: *mut AEGP_LayerTransferMode,
14945        ) -> A_Err,
14946    >,
14947    pub AEGP_SetLayerTransferMode: ::std::option::Option<
14948        unsafe extern "C" fn(
14949            layerH: AEGP_LayerH,
14950            transfer_modeP: *const AEGP_LayerTransferMode,
14951        ) -> A_Err,
14952    >,
14953    pub AEGP_IsAddLayerValid: ::std::option::Option<
14954        unsafe extern "C" fn(
14955            item_to_addH: AEGP_ItemH,
14956            into_compH: AEGP_CompH,
14957            validPB: *mut A_Boolean,
14958        ) -> A_Err,
14959    >,
14960    pub AEGP_AddLayer: ::std::option::Option<
14961        unsafe extern "C" fn(
14962            item_to_addH: AEGP_ItemH,
14963            into_compH: AEGP_CompH,
14964            added_layerPH0: *mut AEGP_LayerH,
14965        ) -> A_Err,
14966    >,
14967    pub AEGP_ReorderLayer: ::std::option::Option<
14968        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
14969    >,
14970    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
14971        unsafe extern "C" fn(
14972            layerH: AEGP_LayerH,
14973            time_mode: AEGP_LTimeMode,
14974            timePT: *const A_Time,
14975            boundsPR: *mut A_FloatRect,
14976        ) -> A_Err,
14977    >,
14978    pub AEGP_GetLayerObjectType: ::std::option::Option<
14979        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
14980    >,
14981    pub AEGP_IsLayer3D: ::std::option::Option<
14982        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
14983    >,
14984    pub AEGP_IsLayer2D: ::std::option::Option<
14985        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
14986    >,
14987    pub AEGP_IsVideoActive: ::std::option::Option<
14988        unsafe extern "C" fn(
14989            layerH: AEGP_LayerH,
14990            time_mode: AEGP_LTimeMode,
14991            timePT: *const A_Time,
14992            is_activePB: *mut A_Boolean,
14993        ) -> A_Err,
14994    >,
14995    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
14996        unsafe extern "C" fn(
14997            layerH: AEGP_LayerH,
14998            fill_must_be_activeB: A_Boolean,
14999            is_track_mattePB: *mut A_Boolean,
15000        ) -> A_Err,
15001    >,
15002    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15003        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15004    >,
15005    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15006        unsafe extern "C" fn(
15007            layerH: AEGP_LayerH,
15008            comp_timePT: *const A_Time,
15009            layer_timePT: *mut A_Time,
15010        ) -> A_Err,
15011    >,
15012    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15013        unsafe extern "C" fn(
15014            layerH: AEGP_LayerH,
15015            layer_timePT: *const A_Time,
15016            comp_timePT: *mut A_Time,
15017        ) -> A_Err,
15018    >,
15019    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15020        unsafe extern "C" fn(
15021            layerH: AEGP_LayerH,
15022            comp_timePT: *const A_Time,
15023            rand_valuePL: *mut A_long,
15024        ) -> A_Err,
15025    >,
15026    pub AEGP_GetLayerID: ::std::option::Option<
15027        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15028    >,
15029    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15030        unsafe extern "C" fn(
15031            aegp_layerH: AEGP_LayerH,
15032            comp_timeP: *const A_Time,
15033            transform: *mut A_Matrix4,
15034        ) -> A_Err,
15035    >,
15036    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15037        unsafe extern "C" fn(
15038            aegp_layerH: AEGP_LayerH,
15039            view_timeP: *const A_Time,
15040            comp_timeP: *const A_Time,
15041            transform: *mut A_Matrix4,
15042        ) -> A_Err,
15043    >,
15044    pub AEGP_SetLayerName: ::std::option::Option<
15045        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
15046    >,
15047    pub AEGP_GetLayerParent: ::std::option::Option<
15048        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15049    >,
15050    pub AEGP_SetLayerParent: ::std::option::Option<
15051        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15052    >,
15053    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15054    pub AEGP_DuplicateLayer: ::std::option::Option<
15055        unsafe extern "C" fn(
15056            orig_layerH: AEGP_LayerH,
15057            duplicate_layerPH: *mut AEGP_LayerH,
15058        ) -> A_Err,
15059    >,
15060    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15061        unsafe extern "C" fn(
15062            parent_compH: AEGP_CompH,
15063            id: AEGP_LayerIDVal,
15064            layerPH: *mut AEGP_LayerH,
15065        ) -> A_Err,
15066    >,
15067    pub AEGP_GetLayerLabel: ::std::option::Option<
15068        unsafe extern "C" fn(layerH: AEGP_LayerH, labelP: *mut AEGP_LabelID) -> A_Err,
15069    >,
15070    pub AEGP_SetLayerLabel: ::std::option::Option<
15071        unsafe extern "C" fn(layerH: AEGP_LayerH, label: AEGP_LabelID) -> A_Err,
15072    >,
15073}
15074#[repr(C)]
15075#[derive(Debug, Copy, Clone)]
15076pub struct AEGP_LayerSuite6 {
15077    pub AEGP_GetCompNumLayers: ::std::option::Option<
15078        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15079    >,
15080    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15081        unsafe extern "C" fn(
15082            compH: AEGP_CompH,
15083            layer_indexL: A_long,
15084            layerPH: *mut AEGP_LayerH,
15085        ) -> A_Err,
15086    >,
15087    pub AEGP_GetActiveLayer:
15088        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15089    pub AEGP_GetLayerIndex: ::std::option::Option<
15090        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15091    >,
15092    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15093        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15094    >,
15095    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15096        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15097    >,
15098    pub AEGP_GetLayerParentComp: ::std::option::Option<
15099        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15100    >,
15101    pub AEGP_GetLayerName: ::std::option::Option<
15102        unsafe extern "C" fn(
15103            pluginID: AEGP_PluginID,
15104            layerH: AEGP_LayerH,
15105            utf_layer_namePH0: *mut AEGP_MemHandle,
15106            utf_source_namePH0: *mut AEGP_MemHandle,
15107        ) -> A_Err,
15108    >,
15109    pub AEGP_GetLayerQuality: ::std::option::Option<
15110        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15111    >,
15112    pub AEGP_SetLayerQuality: ::std::option::Option<
15113        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15114    >,
15115    pub AEGP_GetLayerFlags: ::std::option::Option<
15116        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15117    >,
15118    pub AEGP_SetLayerFlag: ::std::option::Option<
15119        unsafe extern "C" fn(
15120            layerH: AEGP_LayerH,
15121            single_flag: AEGP_LayerFlags,
15122            valueB: A_Boolean,
15123        ) -> A_Err,
15124    >,
15125    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15126        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15127    >,
15128    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15129        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15130    >,
15131    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15132        unsafe extern "C" fn(
15133            layerH: AEGP_LayerH,
15134            time_mode: AEGP_LTimeMode,
15135            curr_timePT: *mut A_Time,
15136        ) -> A_Err,
15137    >,
15138    pub AEGP_GetLayerInPoint: ::std::option::Option<
15139        unsafe extern "C" fn(
15140            layerH: AEGP_LayerH,
15141            time_mode: AEGP_LTimeMode,
15142            in_pointPT: *mut A_Time,
15143        ) -> A_Err,
15144    >,
15145    pub AEGP_GetLayerDuration: ::std::option::Option<
15146        unsafe extern "C" fn(
15147            layerH: AEGP_LayerH,
15148            time_mode: AEGP_LTimeMode,
15149            durationPT: *mut A_Time,
15150        ) -> A_Err,
15151    >,
15152    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15153        unsafe extern "C" fn(
15154            layerH: AEGP_LayerH,
15155            time_mode: AEGP_LTimeMode,
15156            in_pointPT: *const A_Time,
15157            durationPT: *const A_Time,
15158        ) -> A_Err,
15159    >,
15160    pub AEGP_GetLayerOffset: ::std::option::Option<
15161        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15162    >,
15163    pub AEGP_SetLayerOffset: ::std::option::Option<
15164        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15165    >,
15166    pub AEGP_GetLayerStretch: ::std::option::Option<
15167        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15168    >,
15169    pub AEGP_SetLayerStretch: ::std::option::Option<
15170        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15171    >,
15172    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15173        unsafe extern "C" fn(
15174            layerH: AEGP_LayerH,
15175            transfer_modeP: *mut AEGP_LayerTransferMode,
15176        ) -> A_Err,
15177    >,
15178    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15179        unsafe extern "C" fn(
15180            layerH: AEGP_LayerH,
15181            transfer_modeP: *const AEGP_LayerTransferMode,
15182        ) -> A_Err,
15183    >,
15184    pub AEGP_IsAddLayerValid: ::std::option::Option<
15185        unsafe extern "C" fn(
15186            item_to_addH: AEGP_ItemH,
15187            into_compH: AEGP_CompH,
15188            validPB: *mut A_Boolean,
15189        ) -> A_Err,
15190    >,
15191    pub AEGP_AddLayer: ::std::option::Option<
15192        unsafe extern "C" fn(
15193            item_to_addH: AEGP_ItemH,
15194            into_compH: AEGP_CompH,
15195            added_layerPH0: *mut AEGP_LayerH,
15196        ) -> A_Err,
15197    >,
15198    pub AEGP_ReorderLayer: ::std::option::Option<
15199        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15200    >,
15201    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15202        unsafe extern "C" fn(
15203            layerH: AEGP_LayerH,
15204            time_mode: AEGP_LTimeMode,
15205            timePT: *const A_Time,
15206            boundsPR: *mut A_FloatRect,
15207        ) -> A_Err,
15208    >,
15209    pub AEGP_GetLayerObjectType: ::std::option::Option<
15210        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15211    >,
15212    pub AEGP_IsLayer3D: ::std::option::Option<
15213        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15214    >,
15215    pub AEGP_IsLayer2D: ::std::option::Option<
15216        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15217    >,
15218    pub AEGP_IsVideoActive: ::std::option::Option<
15219        unsafe extern "C" fn(
15220            layerH: AEGP_LayerH,
15221            time_mode: AEGP_LTimeMode,
15222            timePT: *const A_Time,
15223            is_activePB: *mut A_Boolean,
15224        ) -> A_Err,
15225    >,
15226    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15227        unsafe extern "C" fn(
15228            layerH: AEGP_LayerH,
15229            fill_must_be_activeB: A_Boolean,
15230            is_track_mattePB: *mut A_Boolean,
15231        ) -> A_Err,
15232    >,
15233    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15234        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15235    >,
15236    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15237        unsafe extern "C" fn(
15238            layerH: AEGP_LayerH,
15239            comp_timePT: *const A_Time,
15240            layer_timePT: *mut A_Time,
15241        ) -> A_Err,
15242    >,
15243    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15244        unsafe extern "C" fn(
15245            layerH: AEGP_LayerH,
15246            layer_timePT: *const A_Time,
15247            comp_timePT: *mut A_Time,
15248        ) -> A_Err,
15249    >,
15250    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15251        unsafe extern "C" fn(
15252            layerH: AEGP_LayerH,
15253            comp_timePT: *const A_Time,
15254            rand_valuePL: *mut A_long,
15255        ) -> A_Err,
15256    >,
15257    pub AEGP_GetLayerID: ::std::option::Option<
15258        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15259    >,
15260    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15261        unsafe extern "C" fn(
15262            aegp_layerH: AEGP_LayerH,
15263            comp_timeP: *const A_Time,
15264            transform: *mut A_Matrix4,
15265        ) -> A_Err,
15266    >,
15267    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15268        unsafe extern "C" fn(
15269            aegp_layerH: AEGP_LayerH,
15270            view_timeP: *const A_Time,
15271            comp_timeP: *const A_Time,
15272            transform: *mut A_Matrix4,
15273        ) -> A_Err,
15274    >,
15275    pub AEGP_SetLayerName: ::std::option::Option<
15276        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_UTF16Char) -> A_Err,
15277    >,
15278    pub AEGP_GetLayerParent: ::std::option::Option<
15279        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15280    >,
15281    pub AEGP_SetLayerParent: ::std::option::Option<
15282        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15283    >,
15284    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15285    pub AEGP_DuplicateLayer: ::std::option::Option<
15286        unsafe extern "C" fn(
15287            orig_layerH: AEGP_LayerH,
15288            duplicate_layerPH: *mut AEGP_LayerH,
15289        ) -> A_Err,
15290    >,
15291    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15292        unsafe extern "C" fn(
15293            parent_compH: AEGP_CompH,
15294            id: AEGP_LayerIDVal,
15295            layerPH: *mut AEGP_LayerH,
15296        ) -> A_Err,
15297    >,
15298}
15299#[repr(C)]
15300#[derive(Debug, Copy, Clone)]
15301pub struct AEGP_LayerSuite5 {
15302    pub AEGP_GetCompNumLayers: ::std::option::Option<
15303        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15304    >,
15305    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15306        unsafe extern "C" fn(
15307            compH: AEGP_CompH,
15308            layer_indexL: A_long,
15309            layerPH: *mut AEGP_LayerH,
15310        ) -> A_Err,
15311    >,
15312    pub AEGP_GetActiveLayer:
15313        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15314    pub AEGP_GetLayerIndex: ::std::option::Option<
15315        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15316    >,
15317    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15318        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15319    >,
15320    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15321        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15322    >,
15323    pub AEGP_GetLayerParentComp: ::std::option::Option<
15324        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15325    >,
15326    pub AEGP_GetLayerName: ::std::option::Option<
15327        unsafe extern "C" fn(
15328            layerH: AEGP_LayerH,
15329            layer_nameZ0: *mut A_char,
15330            source_nameZ0: *mut A_char,
15331        ) -> A_Err,
15332    >,
15333    pub AEGP_GetLayerQuality: ::std::option::Option<
15334        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15335    >,
15336    pub AEGP_SetLayerQuality: ::std::option::Option<
15337        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15338    >,
15339    pub AEGP_GetLayerFlags: ::std::option::Option<
15340        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15341    >,
15342    pub AEGP_SetLayerFlag: ::std::option::Option<
15343        unsafe extern "C" fn(
15344            layerH: AEGP_LayerH,
15345            single_flag: AEGP_LayerFlags,
15346            valueB: A_Boolean,
15347        ) -> A_Err,
15348    >,
15349    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15350        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15351    >,
15352    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15353        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15354    >,
15355    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15356        unsafe extern "C" fn(
15357            layerH: AEGP_LayerH,
15358            time_mode: AEGP_LTimeMode,
15359            curr_timePT: *mut A_Time,
15360        ) -> A_Err,
15361    >,
15362    pub AEGP_GetLayerInPoint: ::std::option::Option<
15363        unsafe extern "C" fn(
15364            layerH: AEGP_LayerH,
15365            time_mode: AEGP_LTimeMode,
15366            in_pointPT: *mut A_Time,
15367        ) -> A_Err,
15368    >,
15369    pub AEGP_GetLayerDuration: ::std::option::Option<
15370        unsafe extern "C" fn(
15371            layerH: AEGP_LayerH,
15372            time_mode: AEGP_LTimeMode,
15373            durationPT: *mut A_Time,
15374        ) -> A_Err,
15375    >,
15376    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15377        unsafe extern "C" fn(
15378            layerH: AEGP_LayerH,
15379            time_mode: AEGP_LTimeMode,
15380            in_pointPT: *const A_Time,
15381            durationPT: *const A_Time,
15382        ) -> A_Err,
15383    >,
15384    pub AEGP_GetLayerOffset: ::std::option::Option<
15385        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15386    >,
15387    pub AEGP_SetLayerOffset: ::std::option::Option<
15388        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15389    >,
15390    pub AEGP_GetLayerStretch: ::std::option::Option<
15391        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15392    >,
15393    pub AEGP_SetLayerStretch: ::std::option::Option<
15394        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15395    >,
15396    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15397        unsafe extern "C" fn(
15398            layerH: AEGP_LayerH,
15399            transfer_modeP: *mut AEGP_LayerTransferMode,
15400        ) -> A_Err,
15401    >,
15402    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15403        unsafe extern "C" fn(
15404            layerH: AEGP_LayerH,
15405            transfer_modeP: *const AEGP_LayerTransferMode,
15406        ) -> A_Err,
15407    >,
15408    pub AEGP_IsAddLayerValid: ::std::option::Option<
15409        unsafe extern "C" fn(
15410            item_to_addH: AEGP_ItemH,
15411            into_compH: AEGP_CompH,
15412            validPB: *mut A_Boolean,
15413        ) -> A_Err,
15414    >,
15415    pub AEGP_AddLayer: ::std::option::Option<
15416        unsafe extern "C" fn(
15417            item_to_addH: AEGP_ItemH,
15418            into_compH: AEGP_CompH,
15419            added_layerPH0: *mut AEGP_LayerH,
15420        ) -> A_Err,
15421    >,
15422    pub AEGP_ReorderLayer: ::std::option::Option<
15423        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15424    >,
15425    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15426        unsafe extern "C" fn(
15427            layerH: AEGP_LayerH,
15428            time_mode: AEGP_LTimeMode,
15429            timePT: *const A_Time,
15430            boundsPR: *mut A_FloatRect,
15431        ) -> A_Err,
15432    >,
15433    pub AEGP_GetLayerObjectType: ::std::option::Option<
15434        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15435    >,
15436    pub AEGP_IsLayer3D: ::std::option::Option<
15437        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15438    >,
15439    pub AEGP_IsLayer2D: ::std::option::Option<
15440        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15441    >,
15442    pub AEGP_IsVideoActive: ::std::option::Option<
15443        unsafe extern "C" fn(
15444            layerH: AEGP_LayerH,
15445            time_mode: AEGP_LTimeMode,
15446            timePT: *const A_Time,
15447            is_activePB: *mut A_Boolean,
15448        ) -> A_Err,
15449    >,
15450    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15451        unsafe extern "C" fn(
15452            layerH: AEGP_LayerH,
15453            fill_must_be_activeB: A_Boolean,
15454            is_track_mattePB: *mut A_Boolean,
15455        ) -> A_Err,
15456    >,
15457    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15458        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15459    >,
15460    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15461        unsafe extern "C" fn(
15462            layerH: AEGP_LayerH,
15463            comp_timePT: *const A_Time,
15464            layer_timePT: *mut A_Time,
15465        ) -> A_Err,
15466    >,
15467    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15468        unsafe extern "C" fn(
15469            layerH: AEGP_LayerH,
15470            layer_timePT: *const A_Time,
15471            comp_timePT: *mut A_Time,
15472        ) -> A_Err,
15473    >,
15474    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15475        unsafe extern "C" fn(
15476            layerH: AEGP_LayerH,
15477            comp_timePT: *const A_Time,
15478            rand_valuePL: *mut A_long,
15479        ) -> A_Err,
15480    >,
15481    pub AEGP_GetLayerID: ::std::option::Option<
15482        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15483    >,
15484    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15485        unsafe extern "C" fn(
15486            aegp_layerH: AEGP_LayerH,
15487            comp_timeP: *const A_Time,
15488            transform: *mut A_Matrix4,
15489        ) -> A_Err,
15490    >,
15491    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15492        unsafe extern "C" fn(
15493            aegp_layerH: AEGP_LayerH,
15494            view_timeP: *const A_Time,
15495            comp_timeP: *const A_Time,
15496            transform: *mut A_Matrix4,
15497        ) -> A_Err,
15498    >,
15499    pub AEGP_SetLayerName: ::std::option::Option<
15500        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
15501    >,
15502    pub AEGP_GetLayerParent: ::std::option::Option<
15503        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15504    >,
15505    pub AEGP_SetLayerParent: ::std::option::Option<
15506        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15507    >,
15508    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15509    pub AEGP_DuplicateLayer: ::std::option::Option<
15510        unsafe extern "C" fn(
15511            orig_layerH: AEGP_LayerH,
15512            duplicate_layerPH: *mut AEGP_LayerH,
15513        ) -> A_Err,
15514    >,
15515    pub AEGP_GetLayerFromLayerID: ::std::option::Option<
15516        unsafe extern "C" fn(
15517            parent_compH: AEGP_CompH,
15518            id: AEGP_LayerIDVal,
15519            layerPH: *mut AEGP_LayerH,
15520        ) -> A_Err,
15521    >,
15522}
15523#[repr(C)]
15524#[derive(Debug, Copy, Clone)]
15525pub struct AEGP_LayerSuite4 {
15526    pub AEGP_GetCompNumLayers: ::std::option::Option<
15527        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15528    >,
15529    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15530        unsafe extern "C" fn(
15531            compH: AEGP_CompH,
15532            layer_indexL: A_long,
15533            layerPH: *mut AEGP_LayerH,
15534        ) -> A_Err,
15535    >,
15536    pub AEGP_GetActiveLayer:
15537        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15538    pub AEGP_GetLayerIndex: ::std::option::Option<
15539        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15540    >,
15541    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15542        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15543    >,
15544    pub AEGP_GetLayerSourceItemID: ::std::option::Option<
15545        unsafe extern "C" fn(layerH: AEGP_LayerH, source_item_idPL: *mut A_long) -> A_Err,
15546    >,
15547    pub AEGP_GetLayerParentComp: ::std::option::Option<
15548        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15549    >,
15550    pub AEGP_GetLayerName: ::std::option::Option<
15551        unsafe extern "C" fn(
15552            layerH: AEGP_LayerH,
15553            layer_nameZ0: *mut A_char,
15554            source_nameZ0: *mut A_char,
15555        ) -> A_Err,
15556    >,
15557    pub AEGP_GetLayerQuality: ::std::option::Option<
15558        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15559    >,
15560    pub AEGP_SetLayerQuality: ::std::option::Option<
15561        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15562    >,
15563    pub AEGP_GetLayerFlags: ::std::option::Option<
15564        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15565    >,
15566    pub AEGP_SetLayerFlag: ::std::option::Option<
15567        unsafe extern "C" fn(
15568            layerH: AEGP_LayerH,
15569            single_flag: AEGP_LayerFlags,
15570            valueB: A_Boolean,
15571        ) -> A_Err,
15572    >,
15573    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15574        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15575    >,
15576    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15577        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15578    >,
15579    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15580        unsafe extern "C" fn(
15581            layerH: AEGP_LayerH,
15582            time_mode: AEGP_LTimeMode,
15583            curr_timePT: *mut A_Time,
15584        ) -> A_Err,
15585    >,
15586    pub AEGP_GetLayerInPoint: ::std::option::Option<
15587        unsafe extern "C" fn(
15588            layerH: AEGP_LayerH,
15589            time_mode: AEGP_LTimeMode,
15590            in_pointPT: *mut A_Time,
15591        ) -> A_Err,
15592    >,
15593    pub AEGP_GetLayerDuration: ::std::option::Option<
15594        unsafe extern "C" fn(
15595            layerH: AEGP_LayerH,
15596            time_mode: AEGP_LTimeMode,
15597            durationPT: *mut A_Time,
15598        ) -> A_Err,
15599    >,
15600    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15601        unsafe extern "C" fn(
15602            layerH: AEGP_LayerH,
15603            time_mode: AEGP_LTimeMode,
15604            in_pointPT: *const A_Time,
15605            durationPT: *const A_Time,
15606        ) -> A_Err,
15607    >,
15608    pub AEGP_GetLayerOffset: ::std::option::Option<
15609        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15610    >,
15611    pub AEGP_SetLayerOffset: ::std::option::Option<
15612        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15613    >,
15614    pub AEGP_GetLayerStretch: ::std::option::Option<
15615        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15616    >,
15617    pub AEGP_SetLayerStretch: ::std::option::Option<
15618        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15619    >,
15620    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15621        unsafe extern "C" fn(
15622            layerH: AEGP_LayerH,
15623            transfer_modeP: *mut AEGP_LayerTransferMode,
15624        ) -> A_Err,
15625    >,
15626    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15627        unsafe extern "C" fn(
15628            layerH: AEGP_LayerH,
15629            transfer_modeP: *const AEGP_LayerTransferMode,
15630        ) -> A_Err,
15631    >,
15632    pub AEGP_IsAddLayerValid: ::std::option::Option<
15633        unsafe extern "C" fn(
15634            item_to_addH: AEGP_ItemH,
15635            into_compH: AEGP_CompH,
15636            validPB: *mut A_Boolean,
15637        ) -> A_Err,
15638    >,
15639    pub AEGP_AddLayer: ::std::option::Option<
15640        unsafe extern "C" fn(
15641            item_to_addH: AEGP_ItemH,
15642            into_compH: AEGP_CompH,
15643            added_layerPH0: *mut AEGP_LayerH,
15644        ) -> A_Err,
15645    >,
15646    pub AEGP_ReorderLayer: ::std::option::Option<
15647        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15648    >,
15649    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15650        unsafe extern "C" fn(
15651            layerH: AEGP_LayerH,
15652            time_mode: AEGP_LTimeMode,
15653            timePT: *const A_Time,
15654            boundsPR: *mut A_FloatRect,
15655        ) -> A_Err,
15656    >,
15657    pub AEGP_GetLayerObjectType: ::std::option::Option<
15658        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15659    >,
15660    pub AEGP_IsLayer3D: ::std::option::Option<
15661        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15662    >,
15663    pub AEGP_IsLayer2D: ::std::option::Option<
15664        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15665    >,
15666    pub AEGP_IsVideoActive: ::std::option::Option<
15667        unsafe extern "C" fn(
15668            layerH: AEGP_LayerH,
15669            time_mode: AEGP_LTimeMode,
15670            timePT: *const A_Time,
15671            is_activePB: *mut A_Boolean,
15672        ) -> A_Err,
15673    >,
15674    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15675        unsafe extern "C" fn(
15676            layerH: AEGP_LayerH,
15677            fill_must_be_activeB: A_Boolean,
15678            is_track_mattePB: *mut A_Boolean,
15679        ) -> A_Err,
15680    >,
15681    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15682        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15683    >,
15684    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15685        unsafe extern "C" fn(
15686            layerH: AEGP_LayerH,
15687            comp_timePT: *const A_Time,
15688            layer_timePT: *mut A_Time,
15689        ) -> A_Err,
15690    >,
15691    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15692        unsafe extern "C" fn(
15693            layerH: AEGP_LayerH,
15694            layer_timePT: *const A_Time,
15695            comp_timePT: *mut A_Time,
15696        ) -> A_Err,
15697    >,
15698    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15699        unsafe extern "C" fn(
15700            layerH: AEGP_LayerH,
15701            comp_timePT: *const A_Time,
15702            rand_valuePL: *mut A_long,
15703        ) -> A_Err,
15704    >,
15705    pub AEGP_GetLayerID: ::std::option::Option<
15706        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15707    >,
15708    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15709        unsafe extern "C" fn(
15710            aegp_layerH: AEGP_LayerH,
15711            comp_timeP: *const A_Time,
15712            transform: *mut A_Matrix4,
15713        ) -> A_Err,
15714    >,
15715    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15716        unsafe extern "C" fn(
15717            aegp_layerH: AEGP_LayerH,
15718            view_timeP: *const A_Time,
15719            comp_timeP: *const A_Time,
15720            transform: *mut A_Matrix4,
15721        ) -> A_Err,
15722    >,
15723    pub AEGP_SetLayerName: ::std::option::Option<
15724        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
15725    >,
15726    pub AEGP_GetLayerParent: ::std::option::Option<
15727        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15728    >,
15729    pub AEGP_SetLayerParent: ::std::option::Option<
15730        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15731    >,
15732    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15733    pub AEGP_DuplicateLayer: ::std::option::Option<
15734        unsafe extern "C" fn(
15735            orig_layerH: AEGP_LayerH,
15736            duplicate_layerPH: *mut AEGP_LayerH,
15737        ) -> A_Err,
15738    >,
15739}
15740#[repr(C)]
15741#[derive(Debug, Copy, Clone)]
15742pub struct AEGP_LayerSuite3 {
15743    pub AEGP_GetCompNumLayers: ::std::option::Option<
15744        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
15745    >,
15746    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
15747        unsafe extern "C" fn(
15748            compH: AEGP_CompH,
15749            layer_indexL: A_long,
15750            layerPH: *mut AEGP_LayerH,
15751        ) -> A_Err,
15752    >,
15753    pub AEGP_GetActiveLayer:
15754        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
15755    pub AEGP_GetLayerIndex: ::std::option::Option<
15756        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
15757    >,
15758    pub AEGP_GetLayerSourceItem: ::std::option::Option<
15759        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
15760    >,
15761    pub AEGP_GetLayerParentComp: ::std::option::Option<
15762        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
15763    >,
15764    pub AEGP_GetLayerName: ::std::option::Option<
15765        unsafe extern "C" fn(
15766            layerH: AEGP_LayerH,
15767            layer_nameZ0: *mut A_char,
15768            source_nameZ0: *mut A_char,
15769        ) -> A_Err,
15770    >,
15771    pub AEGP_GetLayerQuality: ::std::option::Option<
15772        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
15773    >,
15774    pub AEGP_SetLayerQuality: ::std::option::Option<
15775        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
15776    >,
15777    pub AEGP_GetLayerFlags: ::std::option::Option<
15778        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
15779    >,
15780    pub AEGP_SetLayerFlag: ::std::option::Option<
15781        unsafe extern "C" fn(
15782            layerH: AEGP_LayerH,
15783            single_flag: AEGP_LayerFlags,
15784            valueB: A_Boolean,
15785        ) -> A_Err,
15786    >,
15787    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
15788        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15789    >,
15790    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
15791        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
15792    >,
15793    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
15794        unsafe extern "C" fn(
15795            layerH: AEGP_LayerH,
15796            time_mode: AEGP_LTimeMode,
15797            curr_timePT: *mut A_Time,
15798        ) -> A_Err,
15799    >,
15800    pub AEGP_GetLayerInPoint: ::std::option::Option<
15801        unsafe extern "C" fn(
15802            layerH: AEGP_LayerH,
15803            time_mode: AEGP_LTimeMode,
15804            in_pointPT: *mut A_Time,
15805        ) -> A_Err,
15806    >,
15807    pub AEGP_GetLayerDuration: ::std::option::Option<
15808        unsafe extern "C" fn(
15809            layerH: AEGP_LayerH,
15810            time_mode: AEGP_LTimeMode,
15811            durationPT: *mut A_Time,
15812        ) -> A_Err,
15813    >,
15814    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
15815        unsafe extern "C" fn(
15816            layerH: AEGP_LayerH,
15817            time_mode: AEGP_LTimeMode,
15818            in_pointPT: *const A_Time,
15819            durationPT: *const A_Time,
15820        ) -> A_Err,
15821    >,
15822    pub AEGP_GetLayerOffset: ::std::option::Option<
15823        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
15824    >,
15825    pub AEGP_SetLayerOffset: ::std::option::Option<
15826        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
15827    >,
15828    pub AEGP_GetLayerStretch: ::std::option::Option<
15829        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
15830    >,
15831    pub AEGP_SetLayerStretch: ::std::option::Option<
15832        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
15833    >,
15834    pub AEGP_GetLayerTransferMode: ::std::option::Option<
15835        unsafe extern "C" fn(
15836            layerH: AEGP_LayerH,
15837            transfer_modeP: *mut AEGP_LayerTransferMode,
15838        ) -> A_Err,
15839    >,
15840    pub AEGP_SetLayerTransferMode: ::std::option::Option<
15841        unsafe extern "C" fn(
15842            layerH: AEGP_LayerH,
15843            transfer_modeP: *const AEGP_LayerTransferMode,
15844        ) -> A_Err,
15845    >,
15846    pub AEGP_IsAddLayerValid: ::std::option::Option<
15847        unsafe extern "C" fn(
15848            item_to_addH: AEGP_ItemH,
15849            into_compH: AEGP_CompH,
15850            validPB: *mut A_Boolean,
15851        ) -> A_Err,
15852    >,
15853    pub AEGP_AddLayer: ::std::option::Option<
15854        unsafe extern "C" fn(
15855            item_to_addH: AEGP_ItemH,
15856            into_compH: AEGP_CompH,
15857            added_layerPH0: *mut AEGP_LayerH,
15858        ) -> A_Err,
15859    >,
15860    pub AEGP_ReorderLayer: ::std::option::Option<
15861        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
15862    >,
15863    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
15864        unsafe extern "C" fn(
15865            layerH: AEGP_LayerH,
15866            time_mode: AEGP_LTimeMode,
15867            timePT: *const A_Time,
15868            boundsPR: *mut A_FloatRect,
15869        ) -> A_Err,
15870    >,
15871    pub AEGP_GetLayerObjectType: ::std::option::Option<
15872        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
15873    >,
15874    pub AEGP_IsLayer3D: ::std::option::Option<
15875        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
15876    >,
15877    pub AEGP_IsLayer2D: ::std::option::Option<
15878        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
15879    >,
15880    pub AEGP_IsVideoActive: ::std::option::Option<
15881        unsafe extern "C" fn(
15882            layerH: AEGP_LayerH,
15883            time_mode: AEGP_LTimeMode,
15884            timePT: *const A_Time,
15885            is_activePB: *mut A_Boolean,
15886        ) -> A_Err,
15887    >,
15888    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
15889        unsafe extern "C" fn(
15890            layerH: AEGP_LayerH,
15891            fill_must_be_activeB: A_Boolean,
15892            is_track_mattePB: *mut A_Boolean,
15893        ) -> A_Err,
15894    >,
15895    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
15896        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
15897    >,
15898    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
15899        unsafe extern "C" fn(
15900            layerH: AEGP_LayerH,
15901            comp_timePT: *const A_Time,
15902            layer_timePT: *mut A_Time,
15903        ) -> A_Err,
15904    >,
15905    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
15906        unsafe extern "C" fn(
15907            layerH: AEGP_LayerH,
15908            layer_timePT: *const A_Time,
15909            comp_timePT: *mut A_Time,
15910        ) -> A_Err,
15911    >,
15912    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
15913        unsafe extern "C" fn(
15914            layerH: AEGP_LayerH,
15915            comp_timePT: *const A_Time,
15916            rand_valuePL: *mut A_long,
15917        ) -> A_Err,
15918    >,
15919    pub AEGP_GetLayerID: ::std::option::Option<
15920        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
15921    >,
15922    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
15923        unsafe extern "C" fn(
15924            aegp_layerH: AEGP_LayerH,
15925            comp_timeP: *const A_Time,
15926            tranform: *mut A_Matrix4,
15927        ) -> A_Err,
15928    >,
15929    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
15930        unsafe extern "C" fn(
15931            aegp_layerH: AEGP_LayerH,
15932            view_timeP: *const A_Time,
15933            comp_timeP: *const A_Time,
15934            tranform: *mut A_Matrix4,
15935        ) -> A_Err,
15936    >,
15937    pub AEGP_SetLayerName: ::std::option::Option<
15938        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
15939    >,
15940    pub AEGP_GetLayerParent: ::std::option::Option<
15941        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
15942    >,
15943    pub AEGP_SetLayerParent: ::std::option::Option<
15944        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH0: AEGP_LayerH) -> A_Err,
15945    >,
15946    pub AEGP_DeleteLayer: ::std::option::Option<unsafe extern "C" fn(layerH: AEGP_LayerH) -> A_Err>,
15947}
15948#[repr(C)]
15949#[derive(Debug, Copy, Clone)]
15950pub struct AEGP_MarkerVal {
15951    pub nameAC: [A_char; 64usize],
15952    pub urlAC: [A_char; 1024usize],
15953    pub targetAC: [A_char; 128usize],
15954    pub chapterAC: [A_char; 128usize],
15955}
15956pub type AEGP_MarkerValH = *mut *mut AEGP_MarkerVal;
15957#[repr(C)]
15958#[derive(Copy, Clone)]
15959pub union AEGP_StreamVal {
15960    pub four_d: AEGP_FourDVal,
15961    pub three_d: AEGP_ThreeDVal,
15962    pub two_d: AEGP_TwoDVal,
15963    pub one_d: AEGP_OneDVal,
15964    pub color: AEGP_ColorVal,
15965    pub arbH: AEGP_ArbBlockVal,
15966    pub markerH: AEGP_MarkerValH,
15967    pub layer_id: AEGP_LayerIDVal,
15968    pub mask_id: AEGP_MaskIDVal,
15969    pub mask: AEGP_MaskOutlineValH,
15970    pub text_documentH: AEGP_TextDocumentH,
15971}
15972#[repr(C)]
15973#[derive(Copy, Clone)]
15974pub struct AEGP_StreamValue {
15975    pub streamH: AEGP_StreamRefH,
15976    pub val: AEGP_StreamVal,
15977}
15978#[repr(C)]
15979#[derive(Debug, Copy, Clone)]
15980pub struct AEGP_StreamSuite5 {
15981    pub AEGP_IsStreamLegal: ::std::option::Option<
15982        unsafe extern "C" fn(
15983            layerH: AEGP_LayerH,
15984            which_stream: AEGP_LayerStream,
15985            is_legalP: *mut A_Boolean,
15986        ) -> A_Err,
15987    >,
15988    pub AEGP_CanVaryOverTime: ::std::option::Option<
15989        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
15990    >,
15991    pub AEGP_GetValidInterpolations: ::std::option::Option<
15992        unsafe extern "C" fn(
15993            streamH: AEGP_StreamRefH,
15994            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
15995        ) -> A_Err,
15996    >,
15997    pub AEGP_GetNewLayerStream: ::std::option::Option<
15998        unsafe extern "C" fn(
15999            aegp_plugin_id: AEGP_PluginID,
16000            layerH: AEGP_LayerH,
16001            which_stream: AEGP_LayerStream,
16002            streamPH: *mut AEGP_StreamRefH,
16003        ) -> A_Err,
16004    >,
16005    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16006        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16007    >,
16008    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16009        unsafe extern "C" fn(
16010            aegp_plugin_id: AEGP_PluginID,
16011            effect_refH: AEGP_EffectRefH,
16012            param_index: PF_ParamIndex,
16013            streamPH: *mut AEGP_StreamRefH,
16014        ) -> A_Err,
16015    >,
16016    pub AEGP_GetNewMaskStream: ::std::option::Option<
16017        unsafe extern "C" fn(
16018            aegp_plugin_id: AEGP_PluginID,
16019            mask_refH: AEGP_MaskRefH,
16020            which_stream: AEGP_MaskStream,
16021            mask_streamPH: *mut AEGP_StreamRefH,
16022        ) -> A_Err,
16023    >,
16024    pub AEGP_DisposeStream:
16025        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16026    pub AEGP_GetStreamName: ::std::option::Option<
16027        unsafe extern "C" fn(
16028            pluginID: AEGP_PluginID,
16029            streamH: AEGP_StreamRefH,
16030            force_englishB: A_Boolean,
16031            utf_stream_namePH: *mut AEGP_MemHandle,
16032        ) -> A_Err,
16033    >,
16034    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16035        unsafe extern "C" fn(
16036            streamH: AEGP_StreamRefH,
16037            force_englishB: A_Boolean,
16038            unitsZ: *mut A_char,
16039        ) -> A_Err,
16040    >,
16041    pub AEGP_GetStreamProperties: ::std::option::Option<
16042        unsafe extern "C" fn(
16043            streamH: AEGP_StreamRefH,
16044            flagsP: *mut AEGP_StreamFlags,
16045            minP0: *mut A_FpLong,
16046            maxP0: *mut A_FpLong,
16047        ) -> A_Err,
16048    >,
16049    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16050        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16051    >,
16052    pub AEGP_GetStreamType: ::std::option::Option<
16053        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16054    >,
16055    pub AEGP_GetNewStreamValue: ::std::option::Option<
16056        unsafe extern "C" fn(
16057            aegp_plugin_id: AEGP_PluginID,
16058            streamH: AEGP_StreamRefH,
16059            time_mode: AEGP_LTimeMode,
16060            timePT: *const A_Time,
16061            pre_expressionB: A_Boolean,
16062            valueP: *mut AEGP_StreamValue2,
16063        ) -> A_Err,
16064    >,
16065    pub AEGP_DisposeStreamValue:
16066        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16067    pub AEGP_SetStreamValue: ::std::option::Option<
16068        unsafe extern "C" fn(
16069            aegp_plugin_id: AEGP_PluginID,
16070            streamH: AEGP_StreamRefH,
16071            valueP: *mut AEGP_StreamValue2,
16072        ) -> A_Err,
16073    >,
16074    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16075        unsafe extern "C" fn(
16076            layerH: AEGP_LayerH,
16077            which_stream: AEGP_LayerStream,
16078            time_mode: AEGP_LTimeMode,
16079            timePT: *const A_Time,
16080            pre_expressionB: A_Boolean,
16081            stream_valP: *mut AEGP_StreamVal2,
16082            stream_typeP0: *mut AEGP_StreamType,
16083        ) -> A_Err,
16084    >,
16085    pub AEGP_GetExpressionState: ::std::option::Option<
16086        unsafe extern "C" fn(
16087            aegp_plugin_id: AEGP_PluginID,
16088            streamH: AEGP_StreamRefH,
16089            enabledPB: *mut A_Boolean,
16090        ) -> A_Err,
16091    >,
16092    pub AEGP_SetExpressionState: ::std::option::Option<
16093        unsafe extern "C" fn(
16094            aegp_plugin_id: AEGP_PluginID,
16095            streamH: AEGP_StreamRefH,
16096            enabledB: A_Boolean,
16097        ) -> A_Err,
16098    >,
16099    pub AEGP_GetExpression: ::std::option::Option<
16100        unsafe extern "C" fn(
16101            aegp_plugin_id: AEGP_PluginID,
16102            streamH: AEGP_StreamRefH,
16103            unicodeHZ: *mut AEGP_MemHandle,
16104        ) -> A_Err,
16105    >,
16106    pub AEGP_SetExpression: ::std::option::Option<
16107        unsafe extern "C" fn(
16108            aegp_plugin_id: AEGP_PluginID,
16109            streamH: AEGP_StreamRefH,
16110            expressionP: *const A_UTF16Char,
16111        ) -> A_Err,
16112    >,
16113    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16114        unsafe extern "C" fn(
16115            aegp_plugin_id: AEGP_PluginID,
16116            streamH: AEGP_StreamRefH,
16117            dup_streamPH: *mut AEGP_StreamRefH,
16118        ) -> A_Err,
16119    >,
16120}
16121#[repr(C)]
16122#[derive(Debug, Copy, Clone)]
16123pub struct AEGP_StreamSuite4 {
16124    pub AEGP_IsStreamLegal: ::std::option::Option<
16125        unsafe extern "C" fn(
16126            layerH: AEGP_LayerH,
16127            which_stream: AEGP_LayerStream,
16128            is_legalP: *mut A_Boolean,
16129        ) -> A_Err,
16130    >,
16131    pub AEGP_CanVaryOverTime: ::std::option::Option<
16132        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16133    >,
16134    pub AEGP_GetValidInterpolations: ::std::option::Option<
16135        unsafe extern "C" fn(
16136            streamH: AEGP_StreamRefH,
16137            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16138        ) -> A_Err,
16139    >,
16140    pub AEGP_GetNewLayerStream: ::std::option::Option<
16141        unsafe extern "C" fn(
16142            aegp_plugin_id: AEGP_PluginID,
16143            layerH: AEGP_LayerH,
16144            which_stream: AEGP_LayerStream,
16145            streamPH: *mut AEGP_StreamRefH,
16146        ) -> A_Err,
16147    >,
16148    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16149        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16150    >,
16151    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16152        unsafe extern "C" fn(
16153            aegp_plugin_id: AEGP_PluginID,
16154            effect_refH: AEGP_EffectRefH,
16155            param_index: PF_ParamIndex,
16156            streamPH: *mut AEGP_StreamRefH,
16157        ) -> A_Err,
16158    >,
16159    pub AEGP_GetNewMaskStream: ::std::option::Option<
16160        unsafe extern "C" fn(
16161            aegp_plugin_id: AEGP_PluginID,
16162            mask_refH: AEGP_MaskRefH,
16163            which_stream: AEGP_MaskStream,
16164            mask_streamPH: *mut AEGP_StreamRefH,
16165        ) -> A_Err,
16166    >,
16167    pub AEGP_DisposeStream:
16168        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16169    pub AEGP_GetStreamName: ::std::option::Option<
16170        unsafe extern "C" fn(
16171            pluginID: AEGP_PluginID,
16172            streamH: AEGP_StreamRefH,
16173            force_englishB: A_Boolean,
16174            utf_stream_namePH: *mut AEGP_MemHandle,
16175        ) -> A_Err,
16176    >,
16177    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16178        unsafe extern "C" fn(
16179            streamH: AEGP_StreamRefH,
16180            force_englishB: A_Boolean,
16181            unitsZ: *mut A_char,
16182        ) -> A_Err,
16183    >,
16184    pub AEGP_GetStreamProperties: ::std::option::Option<
16185        unsafe extern "C" fn(
16186            streamH: AEGP_StreamRefH,
16187            flagsP: *mut AEGP_StreamFlags,
16188            minP0: *mut A_FpLong,
16189            maxP0: *mut A_FpLong,
16190        ) -> A_Err,
16191    >,
16192    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16193        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16194    >,
16195    pub AEGP_GetStreamType: ::std::option::Option<
16196        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16197    >,
16198    pub AEGP_GetNewStreamValue: ::std::option::Option<
16199        unsafe extern "C" fn(
16200            aegp_plugin_id: AEGP_PluginID,
16201            streamH: AEGP_StreamRefH,
16202            time_mode: AEGP_LTimeMode,
16203            timePT: *const A_Time,
16204            pre_expressionB: A_Boolean,
16205            valueP: *mut AEGP_StreamValue2,
16206        ) -> A_Err,
16207    >,
16208    pub AEGP_DisposeStreamValue:
16209        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16210    pub AEGP_SetStreamValue: ::std::option::Option<
16211        unsafe extern "C" fn(
16212            aegp_plugin_id: AEGP_PluginID,
16213            streamH: AEGP_StreamRefH,
16214            valueP: *mut AEGP_StreamValue2,
16215        ) -> A_Err,
16216    >,
16217    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16218        unsafe extern "C" fn(
16219            layerH: AEGP_LayerH,
16220            which_stream: AEGP_LayerStream,
16221            time_mode: AEGP_LTimeMode,
16222            timePT: *const A_Time,
16223            pre_expressionB: A_Boolean,
16224            stream_valP: *mut AEGP_StreamVal2,
16225            stream_typeP0: *mut AEGP_StreamType,
16226        ) -> A_Err,
16227    >,
16228    pub AEGP_GetExpressionState: ::std::option::Option<
16229        unsafe extern "C" fn(
16230            aegp_plugin_id: AEGP_PluginID,
16231            streamH: AEGP_StreamRefH,
16232            enabledPB: *mut A_Boolean,
16233        ) -> A_Err,
16234    >,
16235    pub AEGP_SetExpressionState: ::std::option::Option<
16236        unsafe extern "C" fn(
16237            aegp_plugin_id: AEGP_PluginID,
16238            streamH: AEGP_StreamRefH,
16239            enabledB: A_Boolean,
16240        ) -> A_Err,
16241    >,
16242    pub AEGP_GetExpression: ::std::option::Option<
16243        unsafe extern "C" fn(
16244            aegp_plugin_id: AEGP_PluginID,
16245            streamH: AEGP_StreamRefH,
16246            expressionHZ: *mut AEGP_MemHandle,
16247        ) -> A_Err,
16248    >,
16249    pub AEGP_SetExpression: ::std::option::Option<
16250        unsafe extern "C" fn(
16251            aegp_plugin_id: AEGP_PluginID,
16252            streamH: AEGP_StreamRefH,
16253            expressionP: *const A_char,
16254        ) -> A_Err,
16255    >,
16256    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16257        unsafe extern "C" fn(
16258            aegp_plugin_id: AEGP_PluginID,
16259            streamH: AEGP_StreamRefH,
16260            dup_streamPH: *mut AEGP_StreamRefH,
16261        ) -> A_Err,
16262    >,
16263}
16264#[repr(C)]
16265#[derive(Debug, Copy, Clone)]
16266pub struct AEGP_StreamSuite3 {
16267    pub AEGP_IsStreamLegal: ::std::option::Option<
16268        unsafe extern "C" fn(
16269            layerH: AEGP_LayerH,
16270            which_stream: AEGP_LayerStream,
16271            is_legalP: *mut A_Boolean,
16272        ) -> A_Err,
16273    >,
16274    pub AEGP_CanVaryOverTime: ::std::option::Option<
16275        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16276    >,
16277    pub AEGP_GetValidInterpolations: ::std::option::Option<
16278        unsafe extern "C" fn(
16279            streamH: AEGP_StreamRefH,
16280            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16281        ) -> A_Err,
16282    >,
16283    pub AEGP_GetNewLayerStream: ::std::option::Option<
16284        unsafe extern "C" fn(
16285            aegp_plugin_id: AEGP_PluginID,
16286            layerH: AEGP_LayerH,
16287            which_stream: AEGP_LayerStream,
16288            streamPH: *mut AEGP_StreamRefH,
16289        ) -> A_Err,
16290    >,
16291    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16292        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16293    >,
16294    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16295        unsafe extern "C" fn(
16296            aegp_plugin_id: AEGP_PluginID,
16297            effect_refH: AEGP_EffectRefH,
16298            param_index: PF_ParamIndex,
16299            streamPH: *mut AEGP_StreamRefH,
16300        ) -> A_Err,
16301    >,
16302    pub AEGP_GetNewMaskStream: ::std::option::Option<
16303        unsafe extern "C" fn(
16304            aegp_plugin_id: AEGP_PluginID,
16305            mask_refH: AEGP_MaskRefH,
16306            which_stream: AEGP_MaskStream,
16307            mask_streamPH: *mut AEGP_StreamRefH,
16308        ) -> A_Err,
16309    >,
16310    pub AEGP_DisposeStream:
16311        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16312    pub AEGP_GetStreamName: ::std::option::Option<
16313        unsafe extern "C" fn(
16314            streamH: AEGP_StreamRefH,
16315            force_englishB: A_Boolean,
16316            nameZ: *mut A_char,
16317        ) -> A_Err,
16318    >,
16319    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16320        unsafe extern "C" fn(
16321            streamH: AEGP_StreamRefH,
16322            force_englishB: A_Boolean,
16323            unitsZ: *mut A_char,
16324        ) -> A_Err,
16325    >,
16326    pub AEGP_GetStreamProperties: ::std::option::Option<
16327        unsafe extern "C" fn(
16328            streamH: AEGP_StreamRefH,
16329            flagsP: *mut AEGP_StreamFlags,
16330            minP0: *mut A_FpLong,
16331            maxP0: *mut A_FpLong,
16332        ) -> A_Err,
16333    >,
16334    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16335        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16336    >,
16337    pub AEGP_GetStreamType: ::std::option::Option<
16338        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16339    >,
16340    pub AEGP_GetNewStreamValue: ::std::option::Option<
16341        unsafe extern "C" fn(
16342            aegp_plugin_id: AEGP_PluginID,
16343            streamH: AEGP_StreamRefH,
16344            time_mode: AEGP_LTimeMode,
16345            timePT: *const A_Time,
16346            pre_expressionB: A_Boolean,
16347            valueP: *mut AEGP_StreamValue2,
16348        ) -> A_Err,
16349    >,
16350    pub AEGP_DisposeStreamValue:
16351        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue2) -> A_Err>,
16352    pub AEGP_SetStreamValue: ::std::option::Option<
16353        unsafe extern "C" fn(
16354            aegp_plugin_id: AEGP_PluginID,
16355            streamH: AEGP_StreamRefH,
16356            valueP: *mut AEGP_StreamValue2,
16357        ) -> A_Err,
16358    >,
16359    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16360        unsafe extern "C" fn(
16361            layerH: AEGP_LayerH,
16362            which_stream: AEGP_LayerStream,
16363            time_mode: AEGP_LTimeMode,
16364            timePT: *const A_Time,
16365            pre_expressionB: A_Boolean,
16366            stream_valP: *mut AEGP_StreamVal2,
16367            stream_typeP0: *mut AEGP_StreamType,
16368        ) -> A_Err,
16369    >,
16370    pub AEGP_GetExpressionState: ::std::option::Option<
16371        unsafe extern "C" fn(
16372            aegp_plugin_id: AEGP_PluginID,
16373            streamH: AEGP_StreamRefH,
16374            enabledPB: *mut A_Boolean,
16375        ) -> A_Err,
16376    >,
16377    pub AEGP_SetExpressionState: ::std::option::Option<
16378        unsafe extern "C" fn(
16379            aegp_plugin_id: AEGP_PluginID,
16380            streamH: AEGP_StreamRefH,
16381            enabledB: A_Boolean,
16382        ) -> A_Err,
16383    >,
16384    pub AEGP_GetExpression: ::std::option::Option<
16385        unsafe extern "C" fn(
16386            aegp_plugin_id: AEGP_PluginID,
16387            streamH: AEGP_StreamRefH,
16388            expressionHZ: *mut AEGP_MemHandle,
16389        ) -> A_Err,
16390    >,
16391    pub AEGP_SetExpression: ::std::option::Option<
16392        unsafe extern "C" fn(
16393            aegp_plugin_id: AEGP_PluginID,
16394            streamH: AEGP_StreamRefH,
16395            expressionP: *const A_char,
16396        ) -> A_Err,
16397    >,
16398    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16399        unsafe extern "C" fn(
16400            aegp_plugin_id: AEGP_PluginID,
16401            streamH: AEGP_StreamRefH,
16402            dup_streamPH: *mut AEGP_StreamRefH,
16403        ) -> A_Err,
16404    >,
16405}
16406#[repr(C)]
16407#[derive(Debug, Copy, Clone)]
16408pub struct AEGP_StreamSuite2 {
16409    pub AEGP_IsStreamLegal: ::std::option::Option<
16410        unsafe extern "C" fn(
16411            layerH: AEGP_LayerH,
16412            which_stream: AEGP_LayerStream,
16413            is_legalP: *mut A_Boolean,
16414        ) -> A_Err,
16415    >,
16416    pub AEGP_CanVaryOverTime: ::std::option::Option<
16417        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16418    >,
16419    pub AEGP_GetValidInterpolations: ::std::option::Option<
16420        unsafe extern "C" fn(
16421            streamH: AEGP_StreamRefH,
16422            valid_interpolationsP: *mut AEGP_KeyInterpolationMask,
16423        ) -> A_Err,
16424    >,
16425    pub AEGP_GetNewLayerStream: ::std::option::Option<
16426        unsafe extern "C" fn(
16427            aegp_plugin_id: AEGP_PluginID,
16428            layerH: AEGP_LayerH,
16429            which_stream: AEGP_LayerStream,
16430            streamPH: *mut AEGP_StreamRefH,
16431        ) -> A_Err,
16432    >,
16433    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16434        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16435    >,
16436    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16437        unsafe extern "C" fn(
16438            aegp_plugin_id: AEGP_PluginID,
16439            effect_refH: AEGP_EffectRefH,
16440            param_index: PF_ParamIndex,
16441            streamPH: *mut AEGP_StreamRefH,
16442        ) -> A_Err,
16443    >,
16444    pub AEGP_GetNewMaskStream: ::std::option::Option<
16445        unsafe extern "C" fn(
16446            aegp_plugin_id: AEGP_PluginID,
16447            mask_refH: AEGP_MaskRefH,
16448            which_stream: AEGP_MaskStream,
16449            mask_streamPH: *mut AEGP_StreamRefH,
16450        ) -> A_Err,
16451    >,
16452    pub AEGP_DisposeStream:
16453        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16454    pub AEGP_GetStreamName: ::std::option::Option<
16455        unsafe extern "C" fn(
16456            streamH: AEGP_StreamRefH,
16457            force_englishB: A_Boolean,
16458            nameZ: *mut A_char,
16459        ) -> A_Err,
16460    >,
16461    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16462        unsafe extern "C" fn(
16463            streamH: AEGP_StreamRefH,
16464            force_englishB: A_Boolean,
16465            unitsZ: *mut A_char,
16466        ) -> A_Err,
16467    >,
16468    pub AEGP_GetStreamProperties: ::std::option::Option<
16469        unsafe extern "C" fn(
16470            streamH: AEGP_StreamRefH,
16471            flagsP: *mut AEGP_StreamFlags,
16472            minP0: *mut A_FpLong,
16473            maxP0: *mut A_FpLong,
16474        ) -> A_Err,
16475    >,
16476    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16477        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16478    >,
16479    pub AEGP_GetStreamType: ::std::option::Option<
16480        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16481    >,
16482    pub AEGP_GetNewStreamValue: ::std::option::Option<
16483        unsafe extern "C" fn(
16484            aegp_plugin_id: AEGP_PluginID,
16485            streamH: AEGP_StreamRefH,
16486            time_mode: AEGP_LTimeMode,
16487            timePT: *const A_Time,
16488            pre_expressionB: A_Boolean,
16489            valueP: *mut AEGP_StreamValue,
16490        ) -> A_Err,
16491    >,
16492    pub AEGP_DisposeStreamValue:
16493        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue) -> A_Err>,
16494    pub AEGP_SetStreamValue: ::std::option::Option<
16495        unsafe extern "C" fn(
16496            aegp_plugin_id: AEGP_PluginID,
16497            streamH: AEGP_StreamRefH,
16498            valueP: *mut AEGP_StreamValue,
16499        ) -> A_Err,
16500    >,
16501    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16502        unsafe extern "C" fn(
16503            layerH: AEGP_LayerH,
16504            which_stream: AEGP_LayerStream,
16505            time_mode: AEGP_LTimeMode,
16506            timePT: *const A_Time,
16507            pre_expressionB: A_Boolean,
16508            stream_valP: *mut AEGP_StreamVal,
16509            stream_typeP0: *mut AEGP_StreamType,
16510        ) -> A_Err,
16511    >,
16512    pub AEGP_GetExpressionState: ::std::option::Option<
16513        unsafe extern "C" fn(
16514            aegp_plugin_id: AEGP_PluginID,
16515            streamH: AEGP_StreamRefH,
16516            enabledPB: *mut A_Boolean,
16517        ) -> A_Err,
16518    >,
16519    pub AEGP_SetExpressionState: ::std::option::Option<
16520        unsafe extern "C" fn(
16521            aegp_plugin_id: AEGP_PluginID,
16522            streamH: AEGP_StreamRefH,
16523            enabledB: A_Boolean,
16524        ) -> A_Err,
16525    >,
16526    pub AEGP_GetExpression: ::std::option::Option<
16527        unsafe extern "C" fn(
16528            aegp_plugin_id: AEGP_PluginID,
16529            streamH: AEGP_StreamRefH,
16530            expressionHZ: *mut AEGP_MemHandle,
16531        ) -> A_Err,
16532    >,
16533    pub AEGP_SetExpression: ::std::option::Option<
16534        unsafe extern "C" fn(
16535            aegp_plugin_id: AEGP_PluginID,
16536            streamH: AEGP_StreamRefH,
16537            expressionP: *const A_char,
16538        ) -> A_Err,
16539    >,
16540    pub AEGP_DuplicateStreamRef: ::std::option::Option<
16541        unsafe extern "C" fn(
16542            aegp_plugin_id: AEGP_PluginID,
16543            streamH: AEGP_StreamRefH,
16544            dup_streamPH: *mut AEGP_StreamRefH,
16545        ) -> A_Err,
16546    >,
16547}
16548#[repr(C)]
16549#[derive(Debug, Copy, Clone)]
16550pub struct AEGP_StreamSuite1 {
16551    pub AEGP_IsStreamLegal: ::std::option::Option<
16552        unsafe extern "C" fn(
16553            layerH: AEGP_LayerH,
16554            which_stream: AEGP_LayerStream,
16555            is_legalP: *mut A_Boolean,
16556        ) -> A_Err,
16557    >,
16558    pub AEGP_CanVaryOverTime: ::std::option::Option<
16559        unsafe extern "C" fn(streamH: AEGP_StreamRefH, can_varyPB: *mut A_Boolean) -> A_Err,
16560    >,
16561    pub AEGP_GetNewLayerStream: ::std::option::Option<
16562        unsafe extern "C" fn(
16563            aegp_plugin_id: AEGP_PluginID,
16564            layerH: AEGP_LayerH,
16565            which_stream: AEGP_LayerStream,
16566            streamPH: *mut AEGP_StreamRefH,
16567        ) -> A_Err,
16568    >,
16569    pub AEGP_GetEffectNumParamStreams: ::std::option::Option<
16570        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, num_paramsPL: *mut A_long) -> A_Err,
16571    >,
16572    pub AEGP_GetNewEffectStreamByIndex: ::std::option::Option<
16573        unsafe extern "C" fn(
16574            aegp_plugin_id: AEGP_PluginID,
16575            effect_refH: AEGP_EffectRefH,
16576            param_index: PF_ParamIndex,
16577            streamPH: *mut AEGP_StreamRefH,
16578        ) -> A_Err,
16579    >,
16580    pub AEGP_GetNewMaskStream: ::std::option::Option<
16581        unsafe extern "C" fn(
16582            aegp_plugin_id: AEGP_PluginID,
16583            mask_refH: AEGP_MaskRefH,
16584            which_stream: AEGP_MaskStream,
16585            mask_streamPH: *mut AEGP_StreamRefH,
16586        ) -> A_Err,
16587    >,
16588    pub AEGP_DisposeStream:
16589        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
16590    pub AEGP_GetStreamName: ::std::option::Option<
16591        unsafe extern "C" fn(
16592            streamH: AEGP_StreamRefH,
16593            force_englishB: A_Boolean,
16594            nameZ: *mut A_char,
16595        ) -> A_Err,
16596    >,
16597    pub AEGP_GetStreamUnitsText: ::std::option::Option<
16598        unsafe extern "C" fn(
16599            streamH: AEGP_StreamRefH,
16600            force_englishB: A_Boolean,
16601            unitsZ: *mut A_char,
16602        ) -> A_Err,
16603    >,
16604    pub AEGP_GetStreamProperties: ::std::option::Option<
16605        unsafe extern "C" fn(
16606            streamH: AEGP_StreamRefH,
16607            flagsP: *mut AEGP_StreamFlags,
16608            minP0: *mut A_FpLong,
16609            maxP0: *mut A_FpLong,
16610        ) -> A_Err,
16611    >,
16612    pub AEGP_IsStreamTimevarying: ::std::option::Option<
16613        unsafe extern "C" fn(streamH: AEGP_StreamRefH, is_timevaryingPB: *mut A_Boolean) -> A_Err,
16614    >,
16615    pub AEGP_GetStreamType: ::std::option::Option<
16616        unsafe extern "C" fn(streamH: AEGP_StreamRefH, stream_typeP: *mut AEGP_StreamType) -> A_Err,
16617    >,
16618    pub AEGP_GetNewStreamValue: ::std::option::Option<
16619        unsafe extern "C" fn(
16620            aegp_plugin_id: AEGP_PluginID,
16621            streamH: AEGP_StreamRefH,
16622            time_mode: AEGP_LTimeMode,
16623            timePT: *const A_Time,
16624            pre_expressionB: A_Boolean,
16625            valueP: *mut AEGP_StreamValue,
16626        ) -> A_Err,
16627    >,
16628    pub AEGP_DisposeStreamValue:
16629        ::std::option::Option<unsafe extern "C" fn(valueP: *mut AEGP_StreamValue) -> A_Err>,
16630    pub AEGP_SetStreamValue: ::std::option::Option<
16631        unsafe extern "C" fn(
16632            aegp_plugin_id: AEGP_PluginID,
16633            streamH: AEGP_StreamRefH,
16634            valueP: *mut AEGP_StreamValue,
16635        ) -> A_Err,
16636    >,
16637    pub AEGP_GetLayerStreamValue: ::std::option::Option<
16638        unsafe extern "C" fn(
16639            layerH: AEGP_LayerH,
16640            which_stream: AEGP_LayerStream,
16641            time_mode: AEGP_LTimeMode,
16642            timePT: *const A_Time,
16643            pre_expressionB: A_Boolean,
16644            stream_valP: *mut AEGP_StreamVal,
16645            stream_typeP0: *mut AEGP_StreamType,
16646        ) -> A_Err,
16647    >,
16648    pub AEGP_GetExpressionState: ::std::option::Option<
16649        unsafe extern "C" fn(
16650            aegp_plugin_id: AEGP_PluginID,
16651            streamH: AEGP_StreamRefH,
16652            enabledPB: *mut A_Boolean,
16653        ) -> A_Err,
16654    >,
16655    pub AEGP_SetExpressionState: ::std::option::Option<
16656        unsafe extern "C" fn(
16657            aegp_plugin_id: AEGP_PluginID,
16658            streamH: AEGP_StreamRefH,
16659            enabledB: A_Boolean,
16660        ) -> A_Err,
16661    >,
16662    pub AEGP_GetExpression: ::std::option::Option<
16663        unsafe extern "C" fn(
16664            aegp_plugin_id: AEGP_PluginID,
16665            streamH: AEGP_StreamRefH,
16666            expressionHZ: *mut AEGP_MemHandle,
16667        ) -> A_Err,
16668    >,
16669    pub AEGP_SetExpression: ::std::option::Option<
16670        unsafe extern "C" fn(
16671            aegp_plugin_id: AEGP_PluginID,
16672            streamH: AEGP_StreamRefH,
16673            expressionP: *const A_char,
16674        ) -> A_Err,
16675    >,
16676}
16677#[repr(C)]
16678#[derive(Debug, Copy, Clone)]
16679pub struct AEGP_LayerSuite1 {
16680    pub AEGP_GetCompNumLayers: ::std::option::Option<
16681        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
16682    >,
16683    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
16684        unsafe extern "C" fn(
16685            compH: AEGP_CompH,
16686            layer_indexL: A_long,
16687            layerPH: *mut AEGP_LayerH,
16688        ) -> A_Err,
16689    >,
16690    pub AEGP_GetActiveLayer:
16691        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
16692    pub AEGP_GetLayerIndex: ::std::option::Option<
16693        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
16694    >,
16695    pub AEGP_GetLayerSourceItem: ::std::option::Option<
16696        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
16697    >,
16698    pub AEGP_GetLayerParentComp: ::std::option::Option<
16699        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
16700    >,
16701    pub AEGP_GetLayerName: ::std::option::Option<
16702        unsafe extern "C" fn(
16703            layerH: AEGP_LayerH,
16704            layer_nameZ0: *mut A_char,
16705            source_nameZ0: *mut A_char,
16706        ) -> A_Err,
16707    >,
16708    pub AEGP_GetLayerQuality: ::std::option::Option<
16709        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
16710    >,
16711    pub AEGP_SetLayerQuality: ::std::option::Option<
16712        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
16713    >,
16714    pub AEGP_GetLayerFlags: ::std::option::Option<
16715        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
16716    >,
16717    pub AEGP_SetLayerFlag: ::std::option::Option<
16718        unsafe extern "C" fn(
16719            layerH: AEGP_LayerH,
16720            single_flag: AEGP_LayerFlags,
16721            valueB: A_Boolean,
16722        ) -> A_Err,
16723    >,
16724    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
16725        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16726    >,
16727    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
16728        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16729    >,
16730    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
16731        unsafe extern "C" fn(
16732            layerH: AEGP_LayerH,
16733            time_mode: AEGP_LTimeMode,
16734            curr_timePT: *mut A_Time,
16735        ) -> A_Err,
16736    >,
16737    pub AEGP_GetLayerInPoint: ::std::option::Option<
16738        unsafe extern "C" fn(
16739            layerH: AEGP_LayerH,
16740            time_mode: AEGP_LTimeMode,
16741            in_pointPT: *mut A_Time,
16742        ) -> A_Err,
16743    >,
16744    pub AEGP_GetLayerDuration: ::std::option::Option<
16745        unsafe extern "C" fn(
16746            layerH: AEGP_LayerH,
16747            time_mode: AEGP_LTimeMode,
16748            durationPT: *mut A_Time,
16749        ) -> A_Err,
16750    >,
16751    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
16752        unsafe extern "C" fn(
16753            layerH: AEGP_LayerH,
16754            time_mode: AEGP_LTimeMode,
16755            in_pointPT: *const A_Time,
16756            durationPT: *const A_Time,
16757        ) -> A_Err,
16758    >,
16759    pub AEGP_GetLayerOffset: ::std::option::Option<
16760        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
16761    >,
16762    pub AEGP_SetLayerOffset: ::std::option::Option<
16763        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
16764    >,
16765    pub AEGP_GetLayerStretch: ::std::option::Option<
16766        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
16767    >,
16768    pub AEGP_SetLayerStretch: ::std::option::Option<
16769        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
16770    >,
16771    pub AEGP_GetLayerTransferMode: ::std::option::Option<
16772        unsafe extern "C" fn(
16773            layerH: AEGP_LayerH,
16774            transfer_modeP: *mut AEGP_LayerTransferMode,
16775        ) -> A_Err,
16776    >,
16777    pub AEGP_SetLayerTransferMode: ::std::option::Option<
16778        unsafe extern "C" fn(
16779            layerH: AEGP_LayerH,
16780            transfer_modeP: *const AEGP_LayerTransferMode,
16781        ) -> A_Err,
16782    >,
16783    pub AEGP_IsAddLayerValid: ::std::option::Option<
16784        unsafe extern "C" fn(
16785            item_to_addH: AEGP_ItemH,
16786            into_compH: AEGP_CompH,
16787            validPB: *mut A_Boolean,
16788        ) -> A_Err,
16789    >,
16790    pub AEGP_AddLayer: ::std::option::Option<
16791        unsafe extern "C" fn(
16792            item_to_addH: AEGP_ItemH,
16793            into_compH: AEGP_CompH,
16794            added_layerPH0: *mut AEGP_LayerH,
16795        ) -> A_Err,
16796    >,
16797    pub AEGP_ReorderLayer: ::std::option::Option<
16798        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
16799    >,
16800    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
16801        unsafe extern "C" fn(
16802            layerH: AEGP_LayerH,
16803            time_mode: AEGP_LTimeMode,
16804            timePT: *const A_Time,
16805            boundsPR: *mut A_FloatRect,
16806        ) -> A_Err,
16807    >,
16808    pub AEGP_GetLayerObjectType: ::std::option::Option<
16809        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
16810    >,
16811    pub AEGP_IsLayer3D: ::std::option::Option<
16812        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
16813    >,
16814    pub AEGP_IsLayer2D: ::std::option::Option<
16815        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
16816    >,
16817    pub AEGP_IsVideoActive: ::std::option::Option<
16818        unsafe extern "C" fn(
16819            layerH: AEGP_LayerH,
16820            time_mode: AEGP_LTimeMode,
16821            timePT: *const A_Time,
16822            is_activePB: *mut A_Boolean,
16823        ) -> A_Err,
16824    >,
16825    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
16826        unsafe extern "C" fn(
16827            layerH: AEGP_LayerH,
16828            fill_must_be_activeB: A_Boolean,
16829            is_track_mattePB: *mut A_Boolean,
16830        ) -> A_Err,
16831    >,
16832    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
16833        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
16834    >,
16835    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
16836        unsafe extern "C" fn(
16837            layerH: AEGP_LayerH,
16838            comp_timeP: *const A_Time,
16839            layer_timeP: *mut A_Time,
16840        ) -> A_Err,
16841    >,
16842    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
16843        unsafe extern "C" fn(
16844            layerH: AEGP_LayerH,
16845            comp_timePT: *const A_Time,
16846            rand_valuePL: *mut A_long,
16847        ) -> A_Err,
16848    >,
16849    pub AEGP_GetLayerID: ::std::option::Option<
16850        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
16851    >,
16852    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
16853        unsafe extern "C" fn(
16854            aegp_layerH: AEGP_LayerH,
16855            comp_timeP: *const A_Time,
16856            tranform: *mut A_Matrix4,
16857        ) -> A_Err,
16858    >,
16859    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
16860        unsafe extern "C" fn(
16861            aegp_layerH: AEGP_LayerH,
16862            view_timeP: *const A_Time,
16863            comp_timeP: *const A_Time,
16864            tranform: *mut A_Matrix4,
16865        ) -> A_Err,
16866    >,
16867    pub AEGP_SetLayerName: ::std::option::Option<
16868        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
16869    >,
16870}
16871#[repr(C)]
16872#[derive(Debug, Copy, Clone)]
16873pub struct AEGP_LayerSuite2 {
16874    pub AEGP_GetCompNumLayers: ::std::option::Option<
16875        unsafe extern "C" fn(compH: AEGP_CompH, num_layersPL: *mut A_long) -> A_Err,
16876    >,
16877    pub AEGP_GetCompLayerByIndex: ::std::option::Option<
16878        unsafe extern "C" fn(
16879            compH: AEGP_CompH,
16880            layer_indexL: A_long,
16881            layerPH: *mut AEGP_LayerH,
16882        ) -> A_Err,
16883    >,
16884    pub AEGP_GetActiveLayer:
16885        ::std::option::Option<unsafe extern "C" fn(layerPH: *mut AEGP_LayerH) -> A_Err>,
16886    pub AEGP_GetLayerIndex: ::std::option::Option<
16887        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexPL: *mut A_long) -> A_Err,
16888    >,
16889    pub AEGP_GetLayerSourceItem: ::std::option::Option<
16890        unsafe extern "C" fn(layerH: AEGP_LayerH, source_itemPH: *mut AEGP_ItemH) -> A_Err,
16891    >,
16892    pub AEGP_GetLayerParentComp: ::std::option::Option<
16893        unsafe extern "C" fn(layerH: AEGP_LayerH, compPH: *mut AEGP_CompH) -> A_Err,
16894    >,
16895    pub AEGP_GetLayerName: ::std::option::Option<
16896        unsafe extern "C" fn(
16897            layerH: AEGP_LayerH,
16898            layer_nameZ0: *mut A_char,
16899            source_nameZ0: *mut A_char,
16900        ) -> A_Err,
16901    >,
16902    pub AEGP_GetLayerQuality: ::std::option::Option<
16903        unsafe extern "C" fn(layerH: AEGP_LayerH, qualityP: *mut AEGP_LayerQuality) -> A_Err,
16904    >,
16905    pub AEGP_SetLayerQuality: ::std::option::Option<
16906        unsafe extern "C" fn(layerH: AEGP_LayerH, quality: AEGP_LayerQuality) -> A_Err,
16907    >,
16908    pub AEGP_GetLayerFlags: ::std::option::Option<
16909        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_flagsP: *mut AEGP_LayerFlags) -> A_Err,
16910    >,
16911    pub AEGP_SetLayerFlag: ::std::option::Option<
16912        unsafe extern "C" fn(
16913            layerH: AEGP_LayerH,
16914            single_flag: AEGP_LayerFlags,
16915            valueB: A_Boolean,
16916        ) -> A_Err,
16917    >,
16918    pub AEGP_IsLayerVideoReallyOn: ::std::option::Option<
16919        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16920    >,
16921    pub AEGP_IsLayerAudioReallyOn: ::std::option::Option<
16922        unsafe extern "C" fn(layerH: AEGP_LayerH, onPB: *mut A_Boolean) -> A_Err,
16923    >,
16924    pub AEGP_GetLayerCurrentTime: ::std::option::Option<
16925        unsafe extern "C" fn(
16926            layerH: AEGP_LayerH,
16927            time_mode: AEGP_LTimeMode,
16928            curr_timePT: *mut A_Time,
16929        ) -> A_Err,
16930    >,
16931    pub AEGP_GetLayerInPoint: ::std::option::Option<
16932        unsafe extern "C" fn(
16933            layerH: AEGP_LayerH,
16934            time_mode: AEGP_LTimeMode,
16935            in_pointPT: *mut A_Time,
16936        ) -> A_Err,
16937    >,
16938    pub AEGP_GetLayerDuration: ::std::option::Option<
16939        unsafe extern "C" fn(
16940            layerH: AEGP_LayerH,
16941            time_mode: AEGP_LTimeMode,
16942            durationPT: *mut A_Time,
16943        ) -> A_Err,
16944    >,
16945    pub AEGP_SetLayerInPointAndDuration: ::std::option::Option<
16946        unsafe extern "C" fn(
16947            layerH: AEGP_LayerH,
16948            time_mode: AEGP_LTimeMode,
16949            in_pointPT: *const A_Time,
16950            durationPT: *const A_Time,
16951        ) -> A_Err,
16952    >,
16953    pub AEGP_GetLayerOffset: ::std::option::Option<
16954        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *mut A_Time) -> A_Err,
16955    >,
16956    pub AEGP_SetLayerOffset: ::std::option::Option<
16957        unsafe extern "C" fn(layerH: AEGP_LayerH, offsetPT: *const A_Time) -> A_Err,
16958    >,
16959    pub AEGP_GetLayerStretch: ::std::option::Option<
16960        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *mut A_Ratio) -> A_Err,
16961    >,
16962    pub AEGP_SetLayerStretch: ::std::option::Option<
16963        unsafe extern "C" fn(layerH: AEGP_LayerH, stretchPRt: *const A_Ratio) -> A_Err,
16964    >,
16965    pub AEGP_GetLayerTransferMode: ::std::option::Option<
16966        unsafe extern "C" fn(
16967            layerH: AEGP_LayerH,
16968            transfer_modeP: *mut AEGP_LayerTransferMode,
16969        ) -> A_Err,
16970    >,
16971    pub AEGP_SetLayerTransferMode: ::std::option::Option<
16972        unsafe extern "C" fn(
16973            layerH: AEGP_LayerH,
16974            transfer_modeP: *const AEGP_LayerTransferMode,
16975        ) -> A_Err,
16976    >,
16977    pub AEGP_IsAddLayerValid: ::std::option::Option<
16978        unsafe extern "C" fn(
16979            item_to_addH: AEGP_ItemH,
16980            into_compH: AEGP_CompH,
16981            validPB: *mut A_Boolean,
16982        ) -> A_Err,
16983    >,
16984    pub AEGP_AddLayer: ::std::option::Option<
16985        unsafe extern "C" fn(
16986            item_to_addH: AEGP_ItemH,
16987            into_compH: AEGP_CompH,
16988            added_layerPH0: *mut AEGP_LayerH,
16989        ) -> A_Err,
16990    >,
16991    pub AEGP_ReorderLayer: ::std::option::Option<
16992        unsafe extern "C" fn(layerH: AEGP_LayerH, layer_indexL: A_long) -> A_Err,
16993    >,
16994    pub AEGP_GetLayerMaskedBounds: ::std::option::Option<
16995        unsafe extern "C" fn(
16996            layerH: AEGP_LayerH,
16997            time_mode: AEGP_LTimeMode,
16998            timePT: *const A_Time,
16999            boundsPR: *mut A_FloatRect,
17000        ) -> A_Err,
17001    >,
17002    pub AEGP_GetLayerObjectType: ::std::option::Option<
17003        unsafe extern "C" fn(layerH: AEGP_LayerH, object_type: *mut AEGP_ObjectType) -> A_Err,
17004    >,
17005    pub AEGP_IsLayer3D: ::std::option::Option<
17006        unsafe extern "C" fn(layerH: AEGP_LayerH, is_3DPB: *mut A_Boolean) -> A_Err,
17007    >,
17008    pub AEGP_IsLayer2D: ::std::option::Option<
17009        unsafe extern "C" fn(layerH: AEGP_LayerH, is_2DPB: *mut A_Boolean) -> A_Err,
17010    >,
17011    pub AEGP_IsVideoActive: ::std::option::Option<
17012        unsafe extern "C" fn(
17013            layerH: AEGP_LayerH,
17014            time_mode: AEGP_LTimeMode,
17015            timePT: *const A_Time,
17016            is_activePB: *mut A_Boolean,
17017        ) -> A_Err,
17018    >,
17019    pub AEGP_IsLayerUsedAsTrackMatte: ::std::option::Option<
17020        unsafe extern "C" fn(
17021            layerH: AEGP_LayerH,
17022            fill_must_be_activeB: A_Boolean,
17023            is_track_mattePB: *mut A_Boolean,
17024        ) -> A_Err,
17025    >,
17026    pub AEGP_DoesLayerHaveTrackMatte: ::std::option::Option<
17027        unsafe extern "C" fn(layerH: AEGP_LayerH, has_track_mattePB: *mut A_Boolean) -> A_Err,
17028    >,
17029    pub AEGP_ConvertCompToLayerTime: ::std::option::Option<
17030        unsafe extern "C" fn(
17031            layerH: AEGP_LayerH,
17032            comp_timePT: *const A_Time,
17033            layer_timePT: *mut A_Time,
17034        ) -> A_Err,
17035    >,
17036    pub AEGP_ConvertLayerToCompTime: ::std::option::Option<
17037        unsafe extern "C" fn(
17038            layerH: AEGP_LayerH,
17039            layer_timePT: *const A_Time,
17040            comp_timePT: *mut A_Time,
17041        ) -> A_Err,
17042    >,
17043    pub AEGP_GetLayerDancingRandValue: ::std::option::Option<
17044        unsafe extern "C" fn(
17045            layerH: AEGP_LayerH,
17046            comp_timePT: *const A_Time,
17047            rand_valuePL: *mut A_long,
17048        ) -> A_Err,
17049    >,
17050    pub AEGP_GetLayerID: ::std::option::Option<
17051        unsafe extern "C" fn(layerH: AEGP_LayerH, id_valP: *mut AEGP_LayerIDVal) -> A_Err,
17052    >,
17053    pub AEGP_GetLayerToWorldXform: ::std::option::Option<
17054        unsafe extern "C" fn(
17055            aegp_layerH: AEGP_LayerH,
17056            comp_timeP: *const A_Time,
17057            tranform: *mut A_Matrix4,
17058        ) -> A_Err,
17059    >,
17060    pub AEGP_GetLayerToWorldXformFromView: ::std::option::Option<
17061        unsafe extern "C" fn(
17062            aegp_layerH: AEGP_LayerH,
17063            view_timeP: *const A_Time,
17064            comp_timeP: *const A_Time,
17065            tranform: *mut A_Matrix4,
17066        ) -> A_Err,
17067    >,
17068    pub AEGP_SetLayerName: ::std::option::Option<
17069        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, new_nameZ: *const A_char) -> A_Err,
17070    >,
17071    pub AEGP_GetLayerParent: ::std::option::Option<
17072        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerPH: *mut AEGP_LayerH) -> A_Err,
17073    >,
17074    pub AEGP_SetLayerParent: ::std::option::Option<
17075        unsafe extern "C" fn(layerH: AEGP_LayerH, parent_layerH: AEGP_LayerH) -> A_Err,
17076    >,
17077}
17078#[repr(C)]
17079#[derive(Debug, Copy, Clone)]
17080pub struct AEGP_EffectSuite1 {
17081    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17082        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17083    >,
17084    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17085        unsafe extern "C" fn(
17086            aegp_plugin_id: AEGP_PluginID,
17087            layerH: AEGP_LayerH,
17088            layer_effect_indexL: AEGP_EffectIndex,
17089            effectPH: *mut AEGP_EffectRefH,
17090        ) -> A_Err,
17091    >,
17092    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17093        unsafe extern "C" fn(
17094            effect_refH: AEGP_EffectRefH,
17095            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17096        ) -> A_Err,
17097    >,
17098    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17099        unsafe extern "C" fn(
17100            aegp_plugin_id: AEGP_PluginID,
17101            effect_refH: AEGP_EffectRefH,
17102            param_index: PF_ParamIndex,
17103            param_typeP: *mut PF_ParamType,
17104            uP0: *mut PF_ParamDefUnion,
17105        ) -> A_Err,
17106    >,
17107    pub AEGP_GetEffectFlags: ::std::option::Option<
17108        unsafe extern "C" fn(
17109            effect_refH: AEGP_EffectRefH,
17110            effect_flagsP: *mut AEGP_EffectFlags,
17111        ) -> A_Err,
17112    >,
17113    pub AEGP_SetEffectFlags: ::std::option::Option<
17114        unsafe extern "C" fn(
17115            effect_refH: AEGP_EffectRefH,
17116            effect_flags_set_mask: AEGP_EffectFlags,
17117            effect_flags: AEGP_EffectFlags,
17118        ) -> A_Err,
17119    >,
17120    pub AEGP_ReorderEffect: ::std::option::Option<
17121        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17122    >,
17123    pub AEGP_EffectCallGeneric: ::std::option::Option<
17124        unsafe extern "C" fn(
17125            aegp_plugin_id: AEGP_PluginID,
17126            effect_refH: AEGP_EffectRefH,
17127            timePT: *const A_Time,
17128            effect_extraPV: *mut ::std::os::raw::c_void,
17129        ) -> A_Err,
17130    >,
17131    pub AEGP_DisposeEffect:
17132        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17133    pub AEGP_ApplyEffect: ::std::option::Option<
17134        unsafe extern "C" fn(
17135            aegp_plugin_id: AEGP_PluginID,
17136            layerH: AEGP_LayerH,
17137            installed_effect_key: AEGP_InstalledEffectKey,
17138            effect_refPH: *mut AEGP_EffectRefH,
17139        ) -> A_Err,
17140    >,
17141    pub AEGP_DeleteLayerEffect:
17142        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17143    pub AEGP_GetNumInstalledEffects:
17144        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17145    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17146        unsafe extern "C" fn(
17147            installed_effect_key: AEGP_InstalledEffectKey,
17148            next_effectPH: *mut AEGP_InstalledEffectKey,
17149        ) -> A_Err,
17150    >,
17151    pub AEGP_GetEffectName: ::std::option::Option<
17152        unsafe extern "C" fn(
17153            installed_effect_key: AEGP_InstalledEffectKey,
17154            nameZ: *mut A_char,
17155        ) -> A_Err,
17156    >,
17157    pub AEGP_GetEffectMatchName: ::std::option::Option<
17158        unsafe extern "C" fn(
17159            installed_effect_key: AEGP_InstalledEffectKey,
17160            match_nameZ: *mut A_char,
17161        ) -> A_Err,
17162    >,
17163    pub AEGP_GetEffectCategory: ::std::option::Option<
17164        unsafe extern "C" fn(
17165            installed_effect_key: AEGP_InstalledEffectKey,
17166            categoryZ: *mut A_char,
17167        ) -> A_Err,
17168    >,
17169}
17170#[repr(C)]
17171#[derive(Debug, Copy, Clone)]
17172pub struct AEGP_EffectSuite2 {
17173    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17174        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17175    >,
17176    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17177        unsafe extern "C" fn(
17178            aegp_plugin_id: AEGP_PluginID,
17179            layerH: AEGP_LayerH,
17180            layer_effect_indexL: AEGP_EffectIndex,
17181            effectPH: *mut AEGP_EffectRefH,
17182        ) -> A_Err,
17183    >,
17184    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17185        unsafe extern "C" fn(
17186            effect_refH: AEGP_EffectRefH,
17187            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17188        ) -> A_Err,
17189    >,
17190    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17191        unsafe extern "C" fn(
17192            aegp_plugin_id: AEGP_PluginID,
17193            effect_refH: AEGP_EffectRefH,
17194            param_index: PF_ParamIndex,
17195            param_typeP: *mut PF_ParamType,
17196            uP0: *mut PF_ParamDefUnion,
17197        ) -> A_Err,
17198    >,
17199    pub AEGP_GetEffectFlags: ::std::option::Option<
17200        unsafe extern "C" fn(
17201            effect_refH: AEGP_EffectRefH,
17202            effect_flagsP: *mut AEGP_EffectFlags,
17203        ) -> A_Err,
17204    >,
17205    pub AEGP_SetEffectFlags: ::std::option::Option<
17206        unsafe extern "C" fn(
17207            effect_refH: AEGP_EffectRefH,
17208            effect_flags_set_mask: AEGP_EffectFlags,
17209            effect_flags: AEGP_EffectFlags,
17210        ) -> A_Err,
17211    >,
17212    pub AEGP_ReorderEffect: ::std::option::Option<
17213        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17214    >,
17215    pub AEGP_EffectCallGeneric: ::std::option::Option<
17216        unsafe extern "C" fn(
17217            aegp_plugin_id: AEGP_PluginID,
17218            effect_refH: AEGP_EffectRefH,
17219            timePT: *const A_Time,
17220            effect_extraPV: *mut ::std::os::raw::c_void,
17221        ) -> A_Err,
17222    >,
17223    pub AEGP_DisposeEffect:
17224        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17225    pub AEGP_ApplyEffect: ::std::option::Option<
17226        unsafe extern "C" fn(
17227            aegp_plugin_id: AEGP_PluginID,
17228            layerH: AEGP_LayerH,
17229            installed_effect_key: AEGP_InstalledEffectKey,
17230            effect_refPH: *mut AEGP_EffectRefH,
17231        ) -> A_Err,
17232    >,
17233    pub AEGP_DeleteLayerEffect:
17234        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17235    pub AEGP_GetNumInstalledEffects:
17236        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17237    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17238        unsafe extern "C" fn(
17239            installed_effect_key: AEGP_InstalledEffectKey,
17240            next_effectPH: *mut AEGP_InstalledEffectKey,
17241        ) -> A_Err,
17242    >,
17243    pub AEGP_GetEffectName: ::std::option::Option<
17244        unsafe extern "C" fn(
17245            installed_effect_key: AEGP_InstalledEffectKey,
17246            nameZ: *mut A_char,
17247        ) -> A_Err,
17248    >,
17249    pub AEGP_GetEffectMatchName: ::std::option::Option<
17250        unsafe extern "C" fn(
17251            installed_effect_key: AEGP_InstalledEffectKey,
17252            match_nameZ: *mut A_char,
17253        ) -> A_Err,
17254    >,
17255    pub AEGP_GetEffectCategory: ::std::option::Option<
17256        unsafe extern "C" fn(
17257            installed_effect_key: AEGP_InstalledEffectKey,
17258            categoryZ: *mut A_char,
17259        ) -> A_Err,
17260    >,
17261    pub AEGP_DuplicateEffect: ::std::option::Option<
17262        unsafe extern "C" fn(
17263            original_effect_refH: AEGP_EffectRefH,
17264            duplicate_effect_refPH: *mut AEGP_EffectRefH,
17265        ) -> A_Err,
17266    >,
17267}
17268#[repr(C)]
17269#[derive(Debug, Copy, Clone)]
17270pub struct AEGP_EffectSuite3 {
17271    pub AEGP_GetLayerNumEffects: ::std::option::Option<
17272        unsafe extern "C" fn(layerH: AEGP_LayerH, num_effectsPL: *mut A_long) -> A_Err,
17273    >,
17274    pub AEGP_GetLayerEffectByIndex: ::std::option::Option<
17275        unsafe extern "C" fn(
17276            aegp_plugin_id: AEGP_PluginID,
17277            layerH: AEGP_LayerH,
17278            layer_effect_indexL: AEGP_EffectIndex,
17279            effectPH: *mut AEGP_EffectRefH,
17280        ) -> A_Err,
17281    >,
17282    pub AEGP_GetInstalledKeyFromLayerEffect: ::std::option::Option<
17283        unsafe extern "C" fn(
17284            effect_refH: AEGP_EffectRefH,
17285            installed_effect_keyP: *mut AEGP_InstalledEffectKey,
17286        ) -> A_Err,
17287    >,
17288    pub AEGP_GetEffectParamUnionByIndex: ::std::option::Option<
17289        unsafe extern "C" fn(
17290            aegp_plugin_id: AEGP_PluginID,
17291            effect_refH: AEGP_EffectRefH,
17292            param_index: PF_ParamIndex,
17293            param_typeP: *mut PF_ParamType,
17294            uP0: *mut PF_ParamDefUnion,
17295        ) -> A_Err,
17296    >,
17297    pub AEGP_GetEffectFlags: ::std::option::Option<
17298        unsafe extern "C" fn(
17299            effect_refH: AEGP_EffectRefH,
17300            effect_flagsP: *mut AEGP_EffectFlags,
17301        ) -> A_Err,
17302    >,
17303    pub AEGP_SetEffectFlags: ::std::option::Option<
17304        unsafe extern "C" fn(
17305            effect_refH: AEGP_EffectRefH,
17306            effect_flags_set_mask: AEGP_EffectFlags,
17307            effect_flags: AEGP_EffectFlags,
17308        ) -> A_Err,
17309    >,
17310    pub AEGP_ReorderEffect: ::std::option::Option<
17311        unsafe extern "C" fn(effect_refH: AEGP_EffectRefH, effect_indexL: A_long) -> A_Err,
17312    >,
17313    #[doc = " new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command"]
17314    pub AEGP_EffectCallGeneric: ::std::option::Option<
17315        unsafe extern "C" fn(
17316            aegp_plugin_id: AEGP_PluginID,
17317            effect_refH: AEGP_EffectRefH,
17318            timePT: *const A_Time,
17319            effect_cmd: PF_Cmd,
17320            effect_extraPV: *mut ::std::os::raw::c_void,
17321        ) -> A_Err,
17322    >,
17323    pub AEGP_DisposeEffect:
17324        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17325    pub AEGP_ApplyEffect: ::std::option::Option<
17326        unsafe extern "C" fn(
17327            aegp_plugin_id: AEGP_PluginID,
17328            layerH: AEGP_LayerH,
17329            installed_effect_key: AEGP_InstalledEffectKey,
17330            effect_refPH: *mut AEGP_EffectRefH,
17331        ) -> A_Err,
17332    >,
17333    pub AEGP_DeleteLayerEffect:
17334        ::std::option::Option<unsafe extern "C" fn(effect_refH: AEGP_EffectRefH) -> A_Err>,
17335    pub AEGP_GetNumInstalledEffects:
17336        ::std::option::Option<unsafe extern "C" fn(num_installed_effectsPL: *mut A_long) -> A_Err>,
17337    pub AEGP_GetNextInstalledEffect: ::std::option::Option<
17338        unsafe extern "C" fn(
17339            installed_effect_key: AEGP_InstalledEffectKey,
17340            next_effectPH: *mut AEGP_InstalledEffectKey,
17341        ) -> A_Err,
17342    >,
17343    pub AEGP_GetEffectName: ::std::option::Option<
17344        unsafe extern "C" fn(
17345            installed_effect_key: AEGP_InstalledEffectKey,
17346            nameZ: *mut A_char,
17347        ) -> A_Err,
17348    >,
17349    pub AEGP_GetEffectMatchName: ::std::option::Option<
17350        unsafe extern "C" fn(
17351            installed_effect_key: AEGP_InstalledEffectKey,
17352            match_nameZ: *mut A_char,
17353        ) -> A_Err,
17354    >,
17355    pub AEGP_GetEffectCategory: ::std::option::Option<
17356        unsafe extern "C" fn(
17357            installed_effect_key: AEGP_InstalledEffectKey,
17358            categoryZ: *mut A_char,
17359        ) -> A_Err,
17360    >,
17361    pub AEGP_DuplicateEffect: ::std::option::Option<
17362        unsafe extern "C" fn(
17363            original_effect_refH: AEGP_EffectRefH,
17364            duplicate_effect_refPH: *mut AEGP_EffectRefH,
17365        ) -> A_Err,
17366    >,
17367}
17368#[repr(C)]
17369#[derive(Debug, Copy, Clone)]
17370pub struct AEGP_LightSuite1 {
17371    pub AEGP_GetLightType: ::std::option::Option<
17372        unsafe extern "C" fn(light_layerH: AEGP_LayerH, light_typeP: *mut AEGP_LightType) -> A_Err,
17373    >,
17374}
17375#[repr(C)]
17376#[derive(Debug, Copy, Clone)]
17377pub struct AEGP_MaskSuite5 {
17378    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17379        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17380    >,
17381    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17382        unsafe extern "C" fn(
17383            aegp_layerH: AEGP_LayerH,
17384            mask_indexL: AEGP_MaskIndex,
17385            maskPH: *mut AEGP_MaskRefH,
17386        ) -> A_Err,
17387    >,
17388    pub AEGP_DisposeMask:
17389        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17390    pub AEGP_GetMaskInvert: ::std::option::Option<
17391        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17392    >,
17393    pub AEGP_SetMaskInvert: ::std::option::Option<
17394        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
17395    >,
17396    pub AEGP_GetMaskMode: ::std::option::Option<
17397        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17398    >,
17399    pub AEGP_SetMaskMode: ::std::option::Option<
17400        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
17401    >,
17402    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
17403        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
17404    >,
17405    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
17406        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
17407    >,
17408    pub AEGP_GetMaskID: ::std::option::Option<
17409        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
17410    >,
17411    pub AEGP_CreateNewMask: ::std::option::Option<
17412        unsafe extern "C" fn(
17413            layerH: AEGP_LayerH,
17414            mask_refPH: *mut AEGP_MaskRefH,
17415            mask_indexPL0: *mut A_long,
17416        ) -> A_Err,
17417    >,
17418    pub AEGP_DeleteMaskFromLayer:
17419        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17420    pub AEGP_GetMaskColor: ::std::option::Option<
17421        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
17422    >,
17423    pub AEGP_SetMaskColor: ::std::option::Option<
17424        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
17425    >,
17426    pub AEGP_GetMaskLockState: ::std::option::Option<
17427        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
17428    >,
17429    pub AEGP_SetMaskLockState: ::std::option::Option<
17430        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
17431    >,
17432    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
17433        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
17434    >,
17435    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
17436        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
17437    >,
17438    pub AEGP_DuplicateMask: ::std::option::Option<
17439        unsafe extern "C" fn(
17440            orig_mask_refH: AEGP_MaskRefH,
17441            duplicate_mask_refPH: *mut AEGP_MaskRefH,
17442        ) -> A_Err,
17443    >,
17444}
17445#[repr(C)]
17446#[derive(Debug, Copy, Clone)]
17447pub struct AEGP_MaskSuite4 {
17448    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17449        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17450    >,
17451    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17452        unsafe extern "C" fn(
17453            aegp_layerH: AEGP_LayerH,
17454            mask_indexL: AEGP_MaskIndex,
17455            maskPH: *mut AEGP_MaskRefH,
17456        ) -> A_Err,
17457    >,
17458    pub AEGP_DisposeMask:
17459        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17460    pub AEGP_GetMaskInvert: ::std::option::Option<
17461        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17462    >,
17463    pub AEGP_SetMaskInvert: ::std::option::Option<
17464        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
17465    >,
17466    pub AEGP_GetMaskMode: ::std::option::Option<
17467        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17468    >,
17469    pub AEGP_SetMaskMode: ::std::option::Option<
17470        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
17471    >,
17472    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
17473        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
17474    >,
17475    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
17476        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
17477    >,
17478    pub AEGP_GetMaskName: ::std::option::Option<
17479        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17480    >,
17481    pub AEGP_SetMaskName: ::std::option::Option<
17482        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17483    >,
17484    pub AEGP_GetMaskID: ::std::option::Option<
17485        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
17486    >,
17487    pub AEGP_CreateNewMask: ::std::option::Option<
17488        unsafe extern "C" fn(
17489            layerH: AEGP_LayerH,
17490            mask_refPH: *mut AEGP_MaskRefH,
17491            mask_indexPL0: *mut A_long,
17492        ) -> A_Err,
17493    >,
17494    pub AEGP_DeleteMaskFromLayer:
17495        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17496    pub AEGP_GetMaskColor: ::std::option::Option<
17497        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
17498    >,
17499    pub AEGP_SetMaskColor: ::std::option::Option<
17500        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
17501    >,
17502    pub AEGP_GetMaskLockState: ::std::option::Option<
17503        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
17504    >,
17505    pub AEGP_SetMaskLockState: ::std::option::Option<
17506        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
17507    >,
17508    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
17509        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
17510    >,
17511    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
17512        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
17513    >,
17514    pub AEGP_DuplicateMask: ::std::option::Option<
17515        unsafe extern "C" fn(
17516            orig_mask_refH: AEGP_MaskRefH,
17517            duplicate_mask_refPH: *mut AEGP_MaskRefH,
17518        ) -> A_Err,
17519    >,
17520}
17521#[repr(C)]
17522#[derive(Debug, Copy, Clone)]
17523pub struct AEGP_MaskSuite3 {
17524    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17525        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17526    >,
17527    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17528        unsafe extern "C" fn(
17529            aegp_layerH: AEGP_LayerH,
17530            mask_indexL: AEGP_MaskIndex,
17531            maskPH: *mut AEGP_MaskRefH,
17532        ) -> A_Err,
17533    >,
17534    pub AEGP_DisposeMask:
17535        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17536    pub AEGP_GetMaskInvert: ::std::option::Option<
17537        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17538    >,
17539    pub AEGP_SetMaskInvert: ::std::option::Option<
17540        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
17541    >,
17542    pub AEGP_GetMaskMode: ::std::option::Option<
17543        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17544    >,
17545    pub AEGP_SetMaskMode: ::std::option::Option<
17546        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
17547    >,
17548    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
17549        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
17550    >,
17551    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
17552        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
17553    >,
17554    pub AEGP_GetMaskName: ::std::option::Option<
17555        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17556    >,
17557    pub AEGP_SetMaskName: ::std::option::Option<
17558        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17559    >,
17560    pub AEGP_GetMaskID: ::std::option::Option<
17561        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
17562    >,
17563    pub AEGP_CreateNewMask: ::std::option::Option<
17564        unsafe extern "C" fn(
17565            layerH: AEGP_LayerH,
17566            mask_refPH: *mut AEGP_MaskRefH,
17567            mask_indexPL0: *mut A_long,
17568        ) -> A_Err,
17569    >,
17570    pub AEGP_DeleteMaskFromLayer:
17571        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17572    pub AEGP_GetMaskColor: ::std::option::Option<
17573        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *mut AEGP_ColorVal) -> A_Err,
17574    >,
17575    pub AEGP_SetMaskColor: ::std::option::Option<
17576        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, colorP: *const AEGP_ColorVal) -> A_Err,
17577    >,
17578    pub AEGP_GetMaskLockState: ::std::option::Option<
17579        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_lockedPB: *mut A_Boolean) -> A_Err,
17580    >,
17581    pub AEGP_SetMaskLockState: ::std::option::Option<
17582        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, lockB: A_Boolean) -> A_Err,
17583    >,
17584    pub AEGP_GetMaskIsRotoBezier: ::std::option::Option<
17585        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierPB: *mut A_Boolean) -> A_Err,
17586    >,
17587    pub AEGP_SetMaskIsRotoBezier: ::std::option::Option<
17588        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, is_roto_bezierB: A_Boolean) -> A_Err,
17589    >,
17590}
17591#[repr(C)]
17592#[derive(Debug, Copy, Clone)]
17593pub struct AEGP_MaskSuite1 {
17594    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17595        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17596    >,
17597    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17598        unsafe extern "C" fn(
17599            aegp_layerH: AEGP_LayerH,
17600            mask_indexL: AEGP_MaskIndex,
17601            maskPH: *mut AEGP_MaskRefH,
17602        ) -> A_Err,
17603    >,
17604    pub AEGP_DisposeMask:
17605        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17606    pub AEGP_GetMaskInvert: ::std::option::Option<
17607        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17608    >,
17609    pub AEGP_GetMaskMode: ::std::option::Option<
17610        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17611    >,
17612    pub AEGP_GetMaskName: ::std::option::Option<
17613        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17614    >,
17615    pub AEGP_GetMaskID: ::std::option::Option<
17616        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
17617    >,
17618    pub AEGP_CreateNewMask: ::std::option::Option<
17619        unsafe extern "C" fn(
17620            layerH: AEGP_LayerH,
17621            mask_refPH: *mut AEGP_MaskRefH,
17622            mask_indexPL0: *mut A_long,
17623        ) -> A_Err,
17624    >,
17625    pub AEGP_DeleteMaskFromLayer:
17626        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17627}
17628#[repr(C)]
17629#[derive(Debug, Copy, Clone)]
17630pub struct AEGP_MaskSuite2 {
17631    pub AEGP_GetLayerNumMasks: ::std::option::Option<
17632        unsafe extern "C" fn(aegp_layerH: AEGP_LayerH, num_masksPL: *mut A_long) -> A_Err,
17633    >,
17634    pub AEGP_GetLayerMaskByIndex: ::std::option::Option<
17635        unsafe extern "C" fn(
17636            aegp_layerH: AEGP_LayerH,
17637            mask_indexL: AEGP_MaskIndex,
17638            maskPH: *mut AEGP_MaskRefH,
17639        ) -> A_Err,
17640    >,
17641    pub AEGP_DisposeMask:
17642        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17643    pub AEGP_GetMaskInvert: ::std::option::Option<
17644        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertPB: *mut A_Boolean) -> A_Err,
17645    >,
17646    pub AEGP_SetMaskInvert: ::std::option::Option<
17647        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, invertB: A_Boolean) -> A_Err,
17648    >,
17649    pub AEGP_GetMaskMode: ::std::option::Option<
17650        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, modeP: *mut PF_MaskMode) -> A_Err,
17651    >,
17652    pub AEGP_SetMaskMode: ::std::option::Option<
17653        unsafe extern "C" fn(maskH: AEGP_MaskRefH, mode: PF_MaskMode) -> A_Err,
17654    >,
17655    pub AEGP_GetMaskMotionBlurState: ::std::option::Option<
17656        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_stateP: *mut AEGP_MaskMBlur) -> A_Err,
17657    >,
17658    pub AEGP_SetMaskMotionBlurState: ::std::option::Option<
17659        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, blur_state: AEGP_MaskMBlur) -> A_Err,
17660    >,
17661    pub AEGP_GetMaskName: ::std::option::Option<
17662        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, nameZ: *mut A_char) -> A_Err,
17663    >,
17664    pub AEGP_GetMaskID: ::std::option::Option<
17665        unsafe extern "C" fn(mask_refH: AEGP_MaskRefH, id_valP: *mut AEGP_MaskIDVal) -> A_Err,
17666    >,
17667    pub AEGP_CreateNewMask: ::std::option::Option<
17668        unsafe extern "C" fn(
17669            layerH: AEGP_LayerH,
17670            mask_refPH: *mut AEGP_MaskRefH,
17671            mask_indexPL0: *mut A_long,
17672        ) -> A_Err,
17673    >,
17674    pub AEGP_DeleteMaskFromLayer:
17675        ::std::option::Option<unsafe extern "C" fn(mask_refH: AEGP_MaskRefH) -> A_Err>,
17676}
17677#[repr(C)]
17678#[derive(Debug, Copy, Clone)]
17679pub struct AEGP_CameraSuite1 {
17680    pub AEGP_GetCamera: ::std::option::Option<
17681        unsafe extern "C" fn(
17682            render_contextH: PR_RenderContextH,
17683            comp_timeP: *const A_Time,
17684            camera_layerPH: *mut AEGP_LayerH,
17685        ) -> A_Err,
17686    >,
17687    pub AEGP_GetCameraType: ::std::option::Option<
17688        unsafe extern "C" fn(
17689            camera_layerH: AEGP_LayerH,
17690            camera_typeP: *mut AEGP_CameraType,
17691        ) -> A_Err,
17692    >,
17693    pub AEGP_GetDefaultCameraDistanceToImagePlane: ::std::option::Option<
17694        unsafe extern "C" fn(compH: AEGP_CompH, dist_to_planePF: *mut A_FpLong) -> A_Err,
17695    >,
17696}
17697#[repr(C)]
17698#[derive(Debug, Copy, Clone)]
17699pub struct AEGP_ItemSuite8 {
17700    pub AEGP_GetFirstProjItem: ::std::option::Option<
17701        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
17702    >,
17703    pub AEGP_GetNextProjItem: ::std::option::Option<
17704        unsafe extern "C" fn(
17705            projectH: AEGP_ProjectH,
17706            itemH: AEGP_ItemH,
17707            next_itemPH: *mut AEGP_ItemH,
17708        ) -> A_Err,
17709    >,
17710    pub AEGP_GetActiveItem:
17711        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
17712    pub AEGP_IsItemSelected: ::std::option::Option<
17713        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
17714    >,
17715    pub AEGP_SelectItem: ::std::option::Option<
17716        unsafe extern "C" fn(
17717            itemH: AEGP_ItemH,
17718            selectB: A_Boolean,
17719            deselect_othersB: A_Boolean,
17720        ) -> A_Err,
17721    >,
17722    pub AEGP_GetItemType: ::std::option::Option<
17723        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
17724    >,
17725    pub AEGP_GetTypeName: ::std::option::Option<
17726        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
17727    >,
17728    pub AEGP_GetItemName: ::std::option::Option<
17729        unsafe extern "C" fn(
17730            pluginID: AEGP_PluginID,
17731            itemH: AEGP_ItemH,
17732            unicode_namePH: *mut AEGP_MemHandle,
17733        ) -> A_Err,
17734    >,
17735    pub AEGP_SetItemName: ::std::option::Option<
17736        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_UTF16Char) -> A_Err,
17737    >,
17738    pub AEGP_GetItemID: ::std::option::Option<
17739        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
17740    >,
17741    pub AEGP_GetItemFlags: ::std::option::Option<
17742        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
17743    >,
17744    pub AEGP_SetItemUseProxy: ::std::option::Option<
17745        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
17746    >,
17747    pub AEGP_GetItemParentFolder: ::std::option::Option<
17748        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
17749    >,
17750    pub AEGP_SetItemParentFolder: ::std::option::Option<
17751        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
17752    >,
17753    pub AEGP_GetItemDuration: ::std::option::Option<
17754        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
17755    >,
17756    pub AEGP_GetItemCurrentTime: ::std::option::Option<
17757        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
17758    >,
17759    pub AEGP_GetItemDimensions: ::std::option::Option<
17760        unsafe extern "C" fn(
17761            itemH: AEGP_ItemH,
17762            widthPL: *mut A_long,
17763            heightPL: *mut A_long,
17764        ) -> A_Err,
17765    >,
17766    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
17767        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
17768    >,
17769    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
17770    pub AEGP_CreateNewFolder: ::std::option::Option<
17771        unsafe extern "C" fn(
17772            nameZ: *const A_UTF16Char,
17773            parent_folderH0: AEGP_ItemH,
17774            new_folderPH: *mut AEGP_ItemH,
17775        ) -> A_Err,
17776    >,
17777    pub AEGP_SetItemCurrentTime: ::std::option::Option<
17778        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
17779    >,
17780    pub AEGP_GetItemCommentLength: ::std::option::Option<
17781        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
17782    >,
17783    pub AEGP_GetItemComment: ::std::option::Option<
17784        unsafe extern "C" fn(
17785            itemH: AEGP_ItemH,
17786            buf_sizeLu: A_u_long,
17787            commentZ: *mut A_char,
17788        ) -> A_Err,
17789    >,
17790    pub AEGP_SetItemComment: ::std::option::Option<
17791        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
17792    >,
17793    pub AEGP_GetItemLabel: ::std::option::Option<
17794        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
17795    >,
17796    pub AEGP_SetItemLabel: ::std::option::Option<
17797        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
17798    >,
17799    pub AEGP_GetItemMRUView: ::std::option::Option<
17800        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
17801    >,
17802}
17803#[repr(C)]
17804#[derive(Debug, Copy, Clone)]
17805pub struct AEGP_ItemSuite7 {
17806    pub AEGP_GetFirstProjItem: ::std::option::Option<
17807        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
17808    >,
17809    pub AEGP_GetNextProjItem: ::std::option::Option<
17810        unsafe extern "C" fn(
17811            projectH: AEGP_ProjectH,
17812            itemH: AEGP_ItemH,
17813            next_itemPH: *mut AEGP_ItemH,
17814        ) -> A_Err,
17815    >,
17816    pub AEGP_GetActiveItem:
17817        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
17818    pub AEGP_IsItemSelected: ::std::option::Option<
17819        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
17820    >,
17821    pub AEGP_SelectItem: ::std::option::Option<
17822        unsafe extern "C" fn(
17823            itemH: AEGP_ItemH,
17824            selectB: A_Boolean,
17825            deselect_othersB: A_Boolean,
17826        ) -> A_Err,
17827    >,
17828    pub AEGP_GetItemType: ::std::option::Option<
17829        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
17830    >,
17831    pub AEGP_GetTypeName: ::std::option::Option<
17832        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
17833    >,
17834    pub AEGP_GetItemName:
17835        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
17836    pub AEGP_SetItemName: ::std::option::Option<
17837        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_char) -> A_Err,
17838    >,
17839    pub AEGP_GetItemID: ::std::option::Option<
17840        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
17841    >,
17842    pub AEGP_GetItemFlags: ::std::option::Option<
17843        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
17844    >,
17845    pub AEGP_SetItemUseProxy: ::std::option::Option<
17846        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
17847    >,
17848    pub AEGP_GetItemParentFolder: ::std::option::Option<
17849        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
17850    >,
17851    pub AEGP_SetItemParentFolder: ::std::option::Option<
17852        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
17853    >,
17854    pub AEGP_GetItemDuration: ::std::option::Option<
17855        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
17856    >,
17857    pub AEGP_GetItemCurrentTime: ::std::option::Option<
17858        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
17859    >,
17860    pub AEGP_GetItemDimensions: ::std::option::Option<
17861        unsafe extern "C" fn(
17862            itemH: AEGP_ItemH,
17863            widthPL: *mut A_long,
17864            heightPL: *mut A_long,
17865        ) -> A_Err,
17866    >,
17867    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
17868        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
17869    >,
17870    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
17871    pub AEGP_CreateNewFolder: ::std::option::Option<
17872        unsafe extern "C" fn(
17873            nameZ: *const A_char,
17874            parent_folderH0: AEGP_ItemH,
17875            new_folderPH: *mut AEGP_ItemH,
17876        ) -> A_Err,
17877    >,
17878    pub AEGP_SetItemCurrentTime: ::std::option::Option<
17879        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
17880    >,
17881    pub AEGP_GetItemCommentLength: ::std::option::Option<
17882        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
17883    >,
17884    pub AEGP_GetItemComment: ::std::option::Option<
17885        unsafe extern "C" fn(
17886            itemH: AEGP_ItemH,
17887            buf_sizeLu: A_u_long,
17888            commentZ: *mut A_char,
17889        ) -> A_Err,
17890    >,
17891    pub AEGP_SetItemComment: ::std::option::Option<
17892        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
17893    >,
17894    pub AEGP_GetItemLabel: ::std::option::Option<
17895        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
17896    >,
17897    pub AEGP_SetItemLabel: ::std::option::Option<
17898        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
17899    >,
17900    pub AEGP_GetItemMRUView: ::std::option::Option<
17901        unsafe extern "C" fn(itemH: AEGP_ItemH, mru_viewP: *mut AEGP_ItemViewP) -> A_Err,
17902    >,
17903}
17904#[repr(C)]
17905#[derive(Debug, Copy, Clone)]
17906pub struct AEGP_ItemSuite6 {
17907    pub AEGP_GetFirstProjItem: ::std::option::Option<
17908        unsafe extern "C" fn(projectH: AEGP_ProjectH, itemPH: *mut AEGP_ItemH) -> A_Err,
17909    >,
17910    pub AEGP_GetNextProjItem: ::std::option::Option<
17911        unsafe extern "C" fn(
17912            projectH: AEGP_ProjectH,
17913            itemH: AEGP_ItemH,
17914            next_itemPH: *mut AEGP_ItemH,
17915        ) -> A_Err,
17916    >,
17917    pub AEGP_GetActiveItem:
17918        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
17919    pub AEGP_IsItemSelected: ::std::option::Option<
17920        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
17921    >,
17922    pub AEGP_SelectItem: ::std::option::Option<
17923        unsafe extern "C" fn(
17924            itemH: AEGP_ItemH,
17925            selectB: A_Boolean,
17926            deselect_othersB: A_Boolean,
17927        ) -> A_Err,
17928    >,
17929    pub AEGP_GetItemType: ::std::option::Option<
17930        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
17931    >,
17932    pub AEGP_GetTypeName: ::std::option::Option<
17933        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
17934    >,
17935    pub AEGP_GetItemName:
17936        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
17937    pub AEGP_SetItemName: ::std::option::Option<
17938        unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *const A_char) -> A_Err,
17939    >,
17940    pub AEGP_GetItemID: ::std::option::Option<
17941        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
17942    >,
17943    pub AEGP_GetItemFlags: ::std::option::Option<
17944        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
17945    >,
17946    pub AEGP_SetItemUseProxy: ::std::option::Option<
17947        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
17948    >,
17949    pub AEGP_GetItemParentFolder: ::std::option::Option<
17950        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
17951    >,
17952    pub AEGP_SetItemParentFolder: ::std::option::Option<
17953        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
17954    >,
17955    pub AEGP_GetItemDuration: ::std::option::Option<
17956        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
17957    >,
17958    pub AEGP_GetItemCurrentTime: ::std::option::Option<
17959        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
17960    >,
17961    pub AEGP_GetItemDimensions: ::std::option::Option<
17962        unsafe extern "C" fn(
17963            itemH: AEGP_ItemH,
17964            widthPL: *mut A_long,
17965            heightPL: *mut A_long,
17966        ) -> A_Err,
17967    >,
17968    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
17969        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
17970    >,
17971    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
17972    pub AEGP_CreateNewFolder: ::std::option::Option<
17973        unsafe extern "C" fn(
17974            nameZ: *const A_char,
17975            parent_folderH0: AEGP_ItemH,
17976            new_folderPH: *mut AEGP_ItemH,
17977        ) -> A_Err,
17978    >,
17979    pub AEGP_SetItemCurrentTime: ::std::option::Option<
17980        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
17981    >,
17982    pub AEGP_GetItemCommentLength: ::std::option::Option<
17983        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
17984    >,
17985    pub AEGP_GetItemComment: ::std::option::Option<
17986        unsafe extern "C" fn(
17987            itemH: AEGP_ItemH,
17988            buf_sizeLu: A_u_long,
17989            commentZ: *mut A_char,
17990        ) -> A_Err,
17991    >,
17992    pub AEGP_SetItemComment: ::std::option::Option<
17993        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const A_char) -> A_Err,
17994    >,
17995    pub AEGP_GetItemLabel: ::std::option::Option<
17996        unsafe extern "C" fn(itemH: AEGP_ItemH, labelP: *mut AEGP_LabelID) -> A_Err,
17997    >,
17998    pub AEGP_SetItemLabel: ::std::option::Option<
17999        unsafe extern "C" fn(itemH: AEGP_ItemH, label: AEGP_LabelID) -> A_Err,
18000    >,
18001}
18002#[repr(C)]
18003#[derive(Debug, Copy, Clone)]
18004pub struct AEGP_ItemSuite5 {
18005    pub AEGP_GetNextItem: ::std::option::Option<
18006        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18007    >,
18008    pub AEGP_GetActiveItem:
18009        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18010    pub AEGP_IsItemSelected: ::std::option::Option<
18011        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18012    >,
18013    pub AEGP_SelectItem: ::std::option::Option<
18014        unsafe extern "C" fn(
18015            itemH: AEGP_ItemH,
18016            selectB: A_Boolean,
18017            deselect_othersB: A_Boolean,
18018        ) -> A_Err,
18019    >,
18020    pub AEGP_GetItemType: ::std::option::Option<
18021        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18022    >,
18023    pub AEGP_GetTypeName: ::std::option::Option<
18024        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18025    >,
18026    pub AEGP_GetItemName:
18027        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18028    pub AEGP_GetItemID: ::std::option::Option<
18029        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18030    >,
18031    pub AEGP_GetItemFlags: ::std::option::Option<
18032        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18033    >,
18034    pub AEGP_SetItemUseProxy: ::std::option::Option<
18035        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18036    >,
18037    pub AEGP_GetItemParentFolder: ::std::option::Option<
18038        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18039    >,
18040    pub AEGP_SetItemParentFolder: ::std::option::Option<
18041        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemH: AEGP_ItemH) -> A_Err,
18042    >,
18043    pub AEGP_GetItemDuration: ::std::option::Option<
18044        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18045    >,
18046    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18047        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18048    >,
18049    pub AEGP_GetItemDimensions: ::std::option::Option<
18050        unsafe extern "C" fn(
18051            itemH: AEGP_ItemH,
18052            widthPL: *mut A_long,
18053            heightPL: *mut A_long,
18054        ) -> A_Err,
18055    >,
18056    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18057        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18058    >,
18059    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18060    pub AEGP_CreateNewFolder: ::std::option::Option<
18061        unsafe extern "C" fn(
18062            nameZ: *const A_char,
18063            parent_folderH0: AEGP_ItemH,
18064            new_folderPH: *mut AEGP_ItemH,
18065        ) -> A_Err,
18066    >,
18067    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18068        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18069    >,
18070    pub AEGP_GetItemCommentLength: ::std::option::Option<
18071        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18072    >,
18073    pub AEGP_GetItemComment: ::std::option::Option<
18074        unsafe extern "C" fn(
18075            itemH: AEGP_ItemH,
18076            buf_sizeLu: A_u_long,
18077            commentZ: *mut ::std::os::raw::c_char,
18078        ) -> A_Err,
18079    >,
18080    pub AEGP_SetItemComment: ::std::option::Option<
18081        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const ::std::os::raw::c_char) -> A_Err,
18082    >,
18083}
18084#[repr(C)]
18085#[derive(Debug, Copy, Clone)]
18086pub struct AEGP_ItemSuite4 {
18087    pub AEGP_GetNextItem: ::std::option::Option<
18088        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18089    >,
18090    pub AEGP_GetActiveItem:
18091        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18092    pub AEGP_IsItemSelected: ::std::option::Option<
18093        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18094    >,
18095    pub AEGP_SelectItem: ::std::option::Option<
18096        unsafe extern "C" fn(
18097            itemH: AEGP_ItemH,
18098            selectB: A_Boolean,
18099            deselect_othersB: A_Boolean,
18100        ) -> A_Err,
18101    >,
18102    pub AEGP_GetItemType: ::std::option::Option<
18103        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18104    >,
18105    pub AEGP_GetTypeName: ::std::option::Option<
18106        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18107    >,
18108    pub AEGP_GetItemName:
18109        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18110    pub AEGP_GetItemID: ::std::option::Option<
18111        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18112    >,
18113    pub AEGP_GetItemFlags: ::std::option::Option<
18114        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18115    >,
18116    pub AEGP_SetItemUseProxy: ::std::option::Option<
18117        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18118    >,
18119    pub AEGP_GetItemParentFolder: ::std::option::Option<
18120        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18121    >,
18122    pub AEGP_GetItemDuration: ::std::option::Option<
18123        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18124    >,
18125    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18126        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18127    >,
18128    pub AEGP_GetItemDimensions: ::std::option::Option<
18129        unsafe extern "C" fn(
18130            itemH: AEGP_ItemH,
18131            widthPL: *mut A_long,
18132            heightPL: *mut A_long,
18133        ) -> A_Err,
18134    >,
18135    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18136        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18137    >,
18138    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18139    pub AEGP_CreateNewFolder: ::std::option::Option<
18140        unsafe extern "C" fn(
18141            nameZ: *const A_char,
18142            parent_folderH0: AEGP_ItemH,
18143            new_folderPH: *mut AEGP_ItemH,
18144        ) -> A_Err,
18145    >,
18146    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18147        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18148    >,
18149    pub AEGP_GetItemCommentLength: ::std::option::Option<
18150        unsafe extern "C" fn(itemH: AEGP_ItemH, buf_sizePLu: *mut A_u_long) -> A_Err,
18151    >,
18152    pub AEGP_GetItemComment: ::std::option::Option<
18153        unsafe extern "C" fn(
18154            itemH: AEGP_ItemH,
18155            buf_sizeLu: A_u_long,
18156            commentZ: *mut ::std::os::raw::c_char,
18157        ) -> A_Err,
18158    >,
18159    pub AEGP_SetItemComment: ::std::option::Option<
18160        unsafe extern "C" fn(itemH: AEGP_ItemH, commentZ: *const ::std::os::raw::c_char) -> A_Err,
18161    >,
18162}
18163#[repr(C)]
18164#[derive(Debug, Copy, Clone)]
18165pub struct AEGP_ItemSuite3 {
18166    pub AEGP_GetNextItem: ::std::option::Option<
18167        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18168    >,
18169    pub AEGP_GetActiveItem:
18170        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18171    pub AEGP_IsItemSelected: ::std::option::Option<
18172        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18173    >,
18174    pub AEGP_SelectItem: ::std::option::Option<
18175        unsafe extern "C" fn(
18176            itemH: AEGP_ItemH,
18177            selectB: A_Boolean,
18178            deselect_othersB: A_Boolean,
18179        ) -> A_Err,
18180    >,
18181    pub AEGP_GetItemType: ::std::option::Option<
18182        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18183    >,
18184    pub AEGP_GetTypeName: ::std::option::Option<
18185        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18186    >,
18187    pub AEGP_GetItemName:
18188        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18189    pub AEGP_GetItemID: ::std::option::Option<
18190        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18191    >,
18192    pub AEGP_GetItemFlags: ::std::option::Option<
18193        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18194    >,
18195    pub AEGP_SetItemUseProxy: ::std::option::Option<
18196        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18197    >,
18198    pub AEGP_GetItemParentFolder: ::std::option::Option<
18199        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18200    >,
18201    pub AEGP_GetItemDuration: ::std::option::Option<
18202        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18203    >,
18204    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18205        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18206    >,
18207    pub AEGP_GetItemDimensions: ::std::option::Option<
18208        unsafe extern "C" fn(
18209            itemH: AEGP_ItemH,
18210            widthPL: *mut A_long,
18211            heightPL: *mut A_long,
18212        ) -> A_Err,
18213    >,
18214    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18215        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18216    >,
18217    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18218    pub AEGP_GetItemSolidColor: ::std::option::Option<
18219        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
18220    >,
18221    pub AEGP_SetSolidColor: ::std::option::Option<
18222        unsafe extern "C" fn(itemH: AEGP_ItemH, color: AEGP_ColorVal) -> A_Err,
18223    >,
18224    pub AEGP_SetSolidDimensions: ::std::option::Option<
18225        unsafe extern "C" fn(itemH: AEGP_ItemH, widthS: A_short, heightS: A_short) -> A_Err,
18226    >,
18227    pub AEGP_CreateNewFolder: ::std::option::Option<
18228        unsafe extern "C" fn(
18229            nameZ: *const A_char,
18230            parent_folderH0: AEGP_ItemH,
18231            new_folderPH: *mut AEGP_ItemH,
18232        ) -> A_Err,
18233    >,
18234    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18235        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18236    >,
18237}
18238#[repr(C)]
18239#[derive(Debug, Copy, Clone)]
18240pub struct AEGP_KeyframeSuite4 {
18241    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18242        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18243    >,
18244    pub AEGP_GetKeyframeTime: ::std::option::Option<
18245        unsafe extern "C" fn(
18246            streamH: AEGP_StreamRefH,
18247            key_index: AEGP_KeyframeIndex,
18248            time_mode: AEGP_LTimeMode,
18249            timePT: *mut A_Time,
18250        ) -> A_Err,
18251    >,
18252    pub AEGP_InsertKeyframe: ::std::option::Option<
18253        unsafe extern "C" fn(
18254            streamH: AEGP_StreamRefH,
18255            time_mode: AEGP_LTimeMode,
18256            timePT: *const A_Time,
18257            key_indexP: *mut AEGP_KeyframeIndex,
18258        ) -> A_Err,
18259    >,
18260    pub AEGP_DeleteKeyframe: ::std::option::Option<
18261        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18262    >,
18263    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18264        unsafe extern "C" fn(
18265            aegp_plugin_id: AEGP_PluginID,
18266            streamH: AEGP_StreamRefH,
18267            key_index: AEGP_KeyframeIndex,
18268            valueP: *mut AEGP_StreamValue2,
18269        ) -> A_Err,
18270    >,
18271    pub AEGP_SetKeyframeValue: ::std::option::Option<
18272        unsafe extern "C" fn(
18273            streamH: AEGP_StreamRefH,
18274            key_index: AEGP_KeyframeIndex,
18275            valueP: *const AEGP_StreamValue2,
18276        ) -> A_Err,
18277    >,
18278    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
18279        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
18280    >,
18281    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
18282        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
18283    >,
18284    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
18285        unsafe extern "C" fn(
18286            aegp_plugin_id: AEGP_PluginID,
18287            streamH: AEGP_StreamRefH,
18288            key_index: AEGP_KeyframeIndex,
18289            in_tanP0: *mut AEGP_StreamValue2,
18290            out_tanP0: *mut AEGP_StreamValue2,
18291        ) -> A_Err,
18292    >,
18293    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
18294        unsafe extern "C" fn(
18295            streamH: AEGP_StreamRefH,
18296            key_index: AEGP_KeyframeIndex,
18297            in_tanP0: *const AEGP_StreamValue2,
18298            out_tanP0: *const AEGP_StreamValue2,
18299        ) -> A_Err,
18300    >,
18301    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
18302        unsafe extern "C" fn(
18303            streamH: AEGP_StreamRefH,
18304            key_index: AEGP_KeyframeIndex,
18305            dimensionL: A_long,
18306            in_easeP0: *mut AEGP_KeyframeEase,
18307            out_easeP0: *mut AEGP_KeyframeEase,
18308        ) -> A_Err,
18309    >,
18310    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
18311        unsafe extern "C" fn(
18312            streamH: AEGP_StreamRefH,
18313            key_index: AEGP_KeyframeIndex,
18314            dimensionL: A_long,
18315            in_easeP0: *const AEGP_KeyframeEase,
18316            out_easeP0: *const AEGP_KeyframeEase,
18317        ) -> A_Err,
18318    >,
18319    pub AEGP_GetKeyframeFlags: ::std::option::Option<
18320        unsafe extern "C" fn(
18321            streamH: AEGP_StreamRefH,
18322            key_index: AEGP_KeyframeIndex,
18323            flagsP: *mut AEGP_KeyframeFlags,
18324        ) -> A_Err,
18325    >,
18326    pub AEGP_SetKeyframeFlag: ::std::option::Option<
18327        unsafe extern "C" fn(
18328            streamH: AEGP_StreamRefH,
18329            key_index: AEGP_KeyframeIndex,
18330            flag: AEGP_KeyframeFlags,
18331            true_falseB: A_Boolean,
18332        ) -> A_Err,
18333    >,
18334    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
18335        unsafe extern "C" fn(
18336            streamH: AEGP_StreamRefH,
18337            key_index: AEGP_KeyframeIndex,
18338            in_interpP0: *mut AEGP_KeyframeInterpolationType,
18339            out_interpP0: *mut AEGP_KeyframeInterpolationType,
18340        ) -> A_Err,
18341    >,
18342    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
18343        unsafe extern "C" fn(
18344            streamH: AEGP_StreamRefH,
18345            key_index: AEGP_KeyframeIndex,
18346            in_interp: AEGP_KeyframeInterpolationType,
18347            out_interp: AEGP_KeyframeInterpolationType,
18348        ) -> A_Err,
18349    >,
18350    pub AEGP_StartAddKeyframes: ::std::option::Option<
18351        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
18352    >,
18353    pub AEGP_AddKeyframes: ::std::option::Option<
18354        unsafe extern "C" fn(
18355            akH: AEGP_AddKeyframesInfoH,
18356            time_mode: AEGP_LTimeMode,
18357            timePT: *const A_Time,
18358            key_indexPL: *mut A_long,
18359        ) -> A_Err,
18360    >,
18361    pub AEGP_SetAddKeyframe: ::std::option::Option<
18362        unsafe extern "C" fn(
18363            akH: AEGP_AddKeyframesInfoH,
18364            key_indexL: A_long,
18365            valueP: *const AEGP_StreamValue2,
18366        ) -> A_Err,
18367    >,
18368    pub AEGP_EndAddKeyframes: ::std::option::Option<
18369        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
18370    >,
18371}
18372#[repr(C)]
18373#[derive(Debug, Copy, Clone)]
18374pub struct AEGP_KeyframeSuite3 {
18375    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18376        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18377    >,
18378    pub AEGP_GetKeyframeTime: ::std::option::Option<
18379        unsafe extern "C" fn(
18380            streamH: AEGP_StreamRefH,
18381            key_index: AEGP_KeyframeIndex,
18382            time_mode: AEGP_LTimeMode,
18383            timePT: *mut A_Time,
18384        ) -> A_Err,
18385    >,
18386    pub AEGP_InsertKeyframe: ::std::option::Option<
18387        unsafe extern "C" fn(
18388            streamH: AEGP_StreamRefH,
18389            time_mode: AEGP_LTimeMode,
18390            timePT: *const A_Time,
18391            key_indexP: *mut AEGP_KeyframeIndex,
18392        ) -> A_Err,
18393    >,
18394    pub AEGP_DeleteKeyframe: ::std::option::Option<
18395        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18396    >,
18397    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18398        unsafe extern "C" fn(
18399            aegp_plugin_id: AEGP_PluginID,
18400            streamH: AEGP_StreamRefH,
18401            key_index: AEGP_KeyframeIndex,
18402            valueP: *mut AEGP_StreamValue,
18403        ) -> A_Err,
18404    >,
18405    pub AEGP_SetKeyframeValue: ::std::option::Option<
18406        unsafe extern "C" fn(
18407            streamH: AEGP_StreamRefH,
18408            key_index: AEGP_KeyframeIndex,
18409            valueP: *const AEGP_StreamValue,
18410        ) -> A_Err,
18411    >,
18412    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
18413        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
18414    >,
18415    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
18416        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
18417    >,
18418    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
18419        unsafe extern "C" fn(
18420            aegp_plugin_id: AEGP_PluginID,
18421            streamH: AEGP_StreamRefH,
18422            key_index: AEGP_KeyframeIndex,
18423            in_tanP0: *mut AEGP_StreamValue,
18424            out_tanP0: *mut AEGP_StreamValue,
18425        ) -> A_Err,
18426    >,
18427    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
18428        unsafe extern "C" fn(
18429            streamH: AEGP_StreamRefH,
18430            key_index: AEGP_KeyframeIndex,
18431            in_tanP0: *const AEGP_StreamValue,
18432            out_tanP0: *const AEGP_StreamValue,
18433        ) -> A_Err,
18434    >,
18435    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
18436        unsafe extern "C" fn(
18437            streamH: AEGP_StreamRefH,
18438            key_index: AEGP_KeyframeIndex,
18439            dimensionL: A_long,
18440            in_easeP0: *mut AEGP_KeyframeEase,
18441            out_easeP0: *mut AEGP_KeyframeEase,
18442        ) -> A_Err,
18443    >,
18444    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
18445        unsafe extern "C" fn(
18446            streamH: AEGP_StreamRefH,
18447            key_index: AEGP_KeyframeIndex,
18448            dimensionL: A_long,
18449            in_easeP0: *const AEGP_KeyframeEase,
18450            out_easeP0: *const AEGP_KeyframeEase,
18451        ) -> A_Err,
18452    >,
18453    pub AEGP_GetKeyframeFlags: ::std::option::Option<
18454        unsafe extern "C" fn(
18455            streamH: AEGP_StreamRefH,
18456            key_index: AEGP_KeyframeIndex,
18457            flagsP: *mut AEGP_KeyframeFlags,
18458        ) -> A_Err,
18459    >,
18460    pub AEGP_SetKeyframeFlag: ::std::option::Option<
18461        unsafe extern "C" fn(
18462            streamH: AEGP_StreamRefH,
18463            key_index: AEGP_KeyframeIndex,
18464            flag: AEGP_KeyframeFlags,
18465            true_falseB: A_Boolean,
18466        ) -> A_Err,
18467    >,
18468    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
18469        unsafe extern "C" fn(
18470            streamH: AEGP_StreamRefH,
18471            key_index: AEGP_KeyframeIndex,
18472            in_interpP0: *mut AEGP_KeyframeInterpolationType,
18473            out_interpP0: *mut AEGP_KeyframeInterpolationType,
18474        ) -> A_Err,
18475    >,
18476    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
18477        unsafe extern "C" fn(
18478            streamH: AEGP_StreamRefH,
18479            key_index: AEGP_KeyframeIndex,
18480            in_interp: AEGP_KeyframeInterpolationType,
18481            out_interp: AEGP_KeyframeInterpolationType,
18482        ) -> A_Err,
18483    >,
18484    pub AEGP_StartAddKeyframes: ::std::option::Option<
18485        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
18486    >,
18487    pub AEGP_AddKeyframes: ::std::option::Option<
18488        unsafe extern "C" fn(
18489            akH: AEGP_AddKeyframesInfoH,
18490            time_mode: AEGP_LTimeMode,
18491            timePT: *const A_Time,
18492            key_indexPL: *mut A_long,
18493        ) -> A_Err,
18494    >,
18495    pub AEGP_SetAddKeyframe: ::std::option::Option<
18496        unsafe extern "C" fn(
18497            akH: AEGP_AddKeyframesInfoH,
18498            key_indexL: A_long,
18499            valueP: *const AEGP_StreamValue,
18500        ) -> A_Err,
18501    >,
18502    pub AEGP_EndAddKeyframes: ::std::option::Option<
18503        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
18504    >,
18505}
18506#[repr(C)]
18507#[derive(Debug, Copy, Clone)]
18508pub struct AEGP_KeyframeSuite2 {
18509    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18510        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18511    >,
18512    pub AEGP_GetKeyframeTime: ::std::option::Option<
18513        unsafe extern "C" fn(
18514            streamH: AEGP_StreamRefH,
18515            key_index: AEGP_KeyframeIndex,
18516            time_mode: AEGP_LTimeMode,
18517            timePT: *mut A_Time,
18518        ) -> A_Err,
18519    >,
18520    pub AEGP_InsertKeyframe: ::std::option::Option<
18521        unsafe extern "C" fn(
18522            streamH: AEGP_StreamRefH,
18523            time_mode: AEGP_LTimeMode,
18524            timePT: *const A_Time,
18525            key_indexP: *mut AEGP_KeyframeIndex,
18526        ) -> A_Err,
18527    >,
18528    pub AEGP_DeleteKeyframe: ::std::option::Option<
18529        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18530    >,
18531    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18532        unsafe extern "C" fn(
18533            aegp_plugin_id: AEGP_PluginID,
18534            streamH: AEGP_StreamRefH,
18535            key_index: AEGP_KeyframeIndex,
18536            valueP: *mut AEGP_StreamValue,
18537        ) -> A_Err,
18538    >,
18539    pub AEGP_SetKeyframeValue: ::std::option::Option<
18540        unsafe extern "C" fn(
18541            streamH: AEGP_StreamRefH,
18542            key_index: AEGP_KeyframeIndex,
18543            valueP: *const AEGP_StreamValue,
18544        ) -> A_Err,
18545    >,
18546    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
18547        unsafe extern "C" fn(streamH: AEGP_StreamRefH, value_dimPS: *mut A_short) -> A_Err,
18548    >,
18549    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
18550        unsafe extern "C" fn(streamH: AEGP_StreamRefH, temporal_dimPS: *mut A_short) -> A_Err,
18551    >,
18552    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
18553        unsafe extern "C" fn(
18554            aegp_plugin_id: AEGP_PluginID,
18555            streamH: AEGP_StreamRefH,
18556            key_index: AEGP_KeyframeIndex,
18557            in_tanP0: *mut AEGP_StreamValue,
18558            out_tanP0: *mut AEGP_StreamValue,
18559        ) -> A_Err,
18560    >,
18561    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
18562        unsafe extern "C" fn(
18563            streamH: AEGP_StreamRefH,
18564            key_index: AEGP_KeyframeIndex,
18565            in_tanP0: *const AEGP_StreamValue,
18566            out_tanP0: *const AEGP_StreamValue,
18567        ) -> A_Err,
18568    >,
18569    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
18570        unsafe extern "C" fn(
18571            streamH: AEGP_StreamRefH,
18572            key_index: AEGP_KeyframeIndex,
18573            dimensionL: A_long,
18574            in_easeP0: *mut AEGP_KeyframeEase,
18575            out_easeP0: *mut AEGP_KeyframeEase,
18576        ) -> A_Err,
18577    >,
18578    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
18579        unsafe extern "C" fn(
18580            streamH: AEGP_StreamRefH,
18581            key_index: AEGP_KeyframeIndex,
18582            dimensionL: A_long,
18583            in_easeP0: *const AEGP_KeyframeEase,
18584            out_easeP0: *const AEGP_KeyframeEase,
18585        ) -> A_Err,
18586    >,
18587    pub AEGP_GetKeyframeFlags: ::std::option::Option<
18588        unsafe extern "C" fn(
18589            streamH: AEGP_StreamRefH,
18590            key_index: AEGP_KeyframeIndex,
18591            flagsP: *mut AEGP_KeyframeFlags,
18592        ) -> A_Err,
18593    >,
18594    pub AEGP_SetKeyframeFlag: ::std::option::Option<
18595        unsafe extern "C" fn(
18596            streamH: AEGP_StreamRefH,
18597            key_index: AEGP_KeyframeIndex,
18598            flag: AEGP_KeyframeFlags,
18599            true_falseB: A_Boolean,
18600        ) -> A_Err,
18601    >,
18602    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
18603        unsafe extern "C" fn(
18604            streamH: AEGP_StreamRefH,
18605            key_index: AEGP_KeyframeIndex,
18606            in_interpP0: *mut AEGP_KeyframeInterpolationType,
18607            out_interpP0: *mut AEGP_KeyframeInterpolationType,
18608        ) -> A_Err,
18609    >,
18610    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
18611        unsafe extern "C" fn(
18612            streamH: AEGP_StreamRefH,
18613            key_index: AEGP_KeyframeIndex,
18614            in_interp: AEGP_KeyframeInterpolationType,
18615            out_interp: AEGP_KeyframeInterpolationType,
18616        ) -> A_Err,
18617    >,
18618    pub AEGP_StartAddKeyframes: ::std::option::Option<
18619        unsafe extern "C" fn(streamH: AEGP_StreamRefH, akPH: *mut AEGP_AddKeyframesInfoH) -> A_Err,
18620    >,
18621    pub AEGP_AddKeyframes: ::std::option::Option<
18622        unsafe extern "C" fn(
18623            akH: AEGP_AddKeyframesInfoH,
18624            time_mode: AEGP_LTimeMode,
18625            timePT: *const A_Time,
18626            key_indexPL: *mut A_long,
18627        ) -> A_Err,
18628    >,
18629    pub AEGP_SetAddKeyframe: ::std::option::Option<
18630        unsafe extern "C" fn(
18631            akH: AEGP_AddKeyframesInfoH,
18632            key_indexL: A_long,
18633            valueP: *const AEGP_StreamValue,
18634        ) -> A_Err,
18635    >,
18636    pub AEGP_EndAddKeyframes: ::std::option::Option<
18637        unsafe extern "C" fn(addB: A_Boolean, akH: AEGP_AddKeyframesInfoH) -> A_Err,
18638    >,
18639}
18640#[repr(C)]
18641#[derive(Debug, Copy, Clone)]
18642pub struct AEGP_KeyframeSuite1 {
18643    pub AEGP_GetStreamNumKFs: ::std::option::Option<
18644        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_kfsPL: *mut A_long) -> A_Err,
18645    >,
18646    pub AEGP_GetKeyframeTime: ::std::option::Option<
18647        unsafe extern "C" fn(
18648            streamH: AEGP_StreamRefH,
18649            key_index: AEGP_KeyframeIndex,
18650            time_mode: AEGP_LTimeMode,
18651            timePT: *mut A_Time,
18652        ) -> A_Err,
18653    >,
18654    pub AEGP_InsertKeyframe: ::std::option::Option<
18655        unsafe extern "C" fn(
18656            streamH: AEGP_StreamRefH,
18657            time_mode: AEGP_LTimeMode,
18658            timePT: *const A_Time,
18659            key_indexP: *mut AEGP_KeyframeIndex,
18660        ) -> A_Err,
18661    >,
18662    pub AEGP_DeleteKeyframe: ::std::option::Option<
18663        unsafe extern "C" fn(streamH: AEGP_StreamRefH, key_index: AEGP_KeyframeIndex) -> A_Err,
18664    >,
18665    pub AEGP_GetNewKeyframeValue: ::std::option::Option<
18666        unsafe extern "C" fn(
18667            aegp_plugin_id: AEGP_PluginID,
18668            streamH: AEGP_StreamRefH,
18669            key_index: AEGP_KeyframeIndex,
18670            valueP: *mut AEGP_StreamValue,
18671        ) -> A_Err,
18672    >,
18673    pub AEGP_SetKeyframeValue: ::std::option::Option<
18674        unsafe extern "C" fn(
18675            streamH: AEGP_StreamRefH,
18676            key_index: AEGP_KeyframeIndex,
18677            valueP: *const AEGP_StreamValue,
18678        ) -> A_Err,
18679    >,
18680    pub AEGP_GetStreamValueDimensionality: ::std::option::Option<
18681        unsafe extern "C" fn(
18682            streamH: AEGP_StreamRefH,
18683            value_dimPS: *mut ::std::os::raw::c_short,
18684        ) -> A_Err,
18685    >,
18686    pub AEGP_GetStreamTemporalDimensionality: ::std::option::Option<
18687        unsafe extern "C" fn(
18688            streamH: AEGP_StreamRefH,
18689            temporal_dimPS: *mut ::std::os::raw::c_short,
18690        ) -> A_Err,
18691    >,
18692    pub AEGP_GetNewKeyframeSpatialTangents: ::std::option::Option<
18693        unsafe extern "C" fn(
18694            aegp_plugin_id: AEGP_PluginID,
18695            streamH: AEGP_StreamRefH,
18696            key_index: AEGP_KeyframeIndex,
18697            in_tanP0: *mut AEGP_StreamValue,
18698            out_tanP0: *mut AEGP_StreamValue,
18699        ) -> A_Err,
18700    >,
18701    pub AEGP_SetKeyframeSpatialTangents: ::std::option::Option<
18702        unsafe extern "C" fn(
18703            streamH: AEGP_StreamRefH,
18704            key_index: AEGP_KeyframeIndex,
18705            in_tanP0: *const AEGP_StreamValue,
18706            out_tanP0: *const AEGP_StreamValue,
18707        ) -> A_Err,
18708    >,
18709    pub AEGP_GetKeyframeTemporalEase: ::std::option::Option<
18710        unsafe extern "C" fn(
18711            streamH: AEGP_StreamRefH,
18712            key_index: AEGP_KeyframeIndex,
18713            dimensionL: A_long,
18714            in_easeP0: *mut AEGP_KeyframeEase,
18715            out_easeP0: *mut AEGP_KeyframeEase,
18716        ) -> A_Err,
18717    >,
18718    pub AEGP_SetKeyframeTemporalEase: ::std::option::Option<
18719        unsafe extern "C" fn(
18720            streamH: AEGP_StreamRefH,
18721            key_index: AEGP_KeyframeIndex,
18722            dimensionL: A_long,
18723            in_easeP0: *const AEGP_KeyframeEase,
18724            out_easeP0: *const AEGP_KeyframeEase,
18725        ) -> A_Err,
18726    >,
18727    pub AEGP_GetKeyframeFlags: ::std::option::Option<
18728        unsafe extern "C" fn(
18729            streamH: AEGP_StreamRefH,
18730            key_index: AEGP_KeyframeIndex,
18731            flagsP: *mut AEGP_KeyframeFlags,
18732        ) -> A_Err,
18733    >,
18734    pub AEGP_SetKeyframeFlag: ::std::option::Option<
18735        unsafe extern "C" fn(
18736            streamH: AEGP_StreamRefH,
18737            key_index: AEGP_KeyframeIndex,
18738            flag: AEGP_KeyframeFlags,
18739            true_falseB: A_Boolean,
18740        ) -> A_Err,
18741    >,
18742    pub AEGP_GetKeyframeInterpolation: ::std::option::Option<
18743        unsafe extern "C" fn(
18744            streamH: AEGP_StreamRefH,
18745            key_index: AEGP_KeyframeIndex,
18746            in_interpP0: *mut AEGP_KeyframeInterpolationType,
18747            out_interpP0: *mut AEGP_KeyframeInterpolationType,
18748        ) -> A_Err,
18749    >,
18750    pub AEGP_SetKeyframeInterpolation: ::std::option::Option<
18751        unsafe extern "C" fn(
18752            streamH: AEGP_StreamRefH,
18753            key_index: AEGP_KeyframeIndex,
18754            in_interp: AEGP_KeyframeInterpolationType,
18755            out_interp: AEGP_KeyframeInterpolationType,
18756        ) -> A_Err,
18757    >,
18758}
18759#[repr(C)]
18760#[derive(Debug, Copy, Clone)]
18761pub struct AEGP_ItemSuite2 {
18762    pub AEGP_GetNextItem: ::std::option::Option<
18763        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18764    >,
18765    pub AEGP_GetActiveItem:
18766        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18767    pub AEGP_IsItemSelected: ::std::option::Option<
18768        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18769    >,
18770    pub AEGP_SelectItem: ::std::option::Option<
18771        unsafe extern "C" fn(
18772            itemH: AEGP_ItemH,
18773            selectB: A_Boolean,
18774            deselect_othersB: A_Boolean,
18775        ) -> A_Err,
18776    >,
18777    pub AEGP_GetItemType: ::std::option::Option<
18778        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18779    >,
18780    pub AEGP_GetTypeName: ::std::option::Option<
18781        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18782    >,
18783    pub AEGP_GetItemName:
18784        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18785    pub AEGP_GetItemID: ::std::option::Option<
18786        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18787    >,
18788    pub AEGP_GetItemFlags: ::std::option::Option<
18789        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18790    >,
18791    pub AEGP_SetItemUseProxy: ::std::option::Option<
18792        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18793    >,
18794    pub AEGP_GetItemParentFolder: ::std::option::Option<
18795        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18796    >,
18797    pub AEGP_GetItemDuration: ::std::option::Option<
18798        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18799    >,
18800    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18801        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18802    >,
18803    pub AEGP_GetItemDimensions: ::std::option::Option<
18804        unsafe extern "C" fn(
18805            itemH: AEGP_ItemH,
18806            widthPL: *mut A_long,
18807            heightPL: *mut A_long,
18808        ) -> A_Err,
18809    >,
18810    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18811        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18812    >,
18813    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18814    pub AEGP_GetItemSolidColor: ::std::option::Option<
18815        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
18816    >,
18817    pub AEGP_SetSolidColor: ::std::option::Option<
18818        unsafe extern "C" fn(itemH: AEGP_ItemH, color: AEGP_ColorVal) -> A_Err,
18819    >,
18820    pub AEGP_SetSolidDimensions: ::std::option::Option<
18821        unsafe extern "C" fn(itemH: AEGP_ItemH, widthS: A_short, heightS: A_short) -> A_Err,
18822    >,
18823    pub AEGP_CreateNewFolder: ::std::option::Option<
18824        unsafe extern "C" fn(
18825            nameZ: *const A_char,
18826            parent_folderH0: AEGP_ItemH,
18827            new_folderPH: *mut AEGP_ItemH,
18828        ) -> A_Err,
18829    >,
18830    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18831        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18832    >,
18833    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
18834        unsafe extern "C" fn(
18835            itemH: AEGP_ItemH,
18836            start_timePT: *const A_Time,
18837            durationPT: *const A_Time,
18838            sound_formatP: *const AEGP_SoundDataFormat,
18839            new_sound_dataPH: *mut AEGP_SoundDataH,
18840        ) -> A_Err,
18841    >,
18842}
18843#[repr(C)]
18844#[derive(Debug, Copy, Clone)]
18845pub struct AEGP_ItemSuite1 {
18846    pub AEGP_GetNextItem: ::std::option::Option<
18847        unsafe extern "C" fn(itemH: AEGP_ItemH, next_itemPH: *mut AEGP_ItemH) -> A_Err,
18848    >,
18849    pub AEGP_GetActiveItem:
18850        ::std::option::Option<unsafe extern "C" fn(itemPH: *mut AEGP_ItemH) -> A_Err>,
18851    pub AEGP_IsItemSelected: ::std::option::Option<
18852        unsafe extern "C" fn(itemH: AEGP_ItemH, selectedPB: *mut A_Boolean) -> A_Err,
18853    >,
18854    pub AEGP_SelectItem: ::std::option::Option<
18855        unsafe extern "C" fn(
18856            itemH: AEGP_ItemH,
18857            selectB: A_Boolean,
18858            deselect_othersB: A_Boolean,
18859        ) -> A_Err,
18860    >,
18861    pub AEGP_GetItemType: ::std::option::Option<
18862        unsafe extern "C" fn(itemH: AEGP_ItemH, item_typeP: *mut AEGP_ItemType) -> A_Err,
18863    >,
18864    pub AEGP_GetTypeName: ::std::option::Option<
18865        unsafe extern "C" fn(item_type: AEGP_ItemType, nameZ: *mut A_char) -> A_Err,
18866    >,
18867    pub AEGP_GetItemName:
18868        ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH, nameZ: *mut A_char) -> A_Err>,
18869    pub AEGP_GetItemID: ::std::option::Option<
18870        unsafe extern "C" fn(itemH: AEGP_ItemH, item_idPL: *mut A_long) -> A_Err,
18871    >,
18872    pub AEGP_GetItemFlags: ::std::option::Option<
18873        unsafe extern "C" fn(itemH: AEGP_ItemH, item_flagsP: *mut AEGP_ItemFlags) -> A_Err,
18874    >,
18875    pub AEGP_SetItemUseProxy: ::std::option::Option<
18876        unsafe extern "C" fn(itemH: AEGP_ItemH, use_proxyB: A_Boolean) -> A_Err,
18877    >,
18878    pub AEGP_GetItemParentFolder: ::std::option::Option<
18879        unsafe extern "C" fn(itemH: AEGP_ItemH, parent_folder_itemPH: *mut AEGP_ItemH) -> A_Err,
18880    >,
18881    pub AEGP_GetItemDuration: ::std::option::Option<
18882        unsafe extern "C" fn(itemH: AEGP_ItemH, durationPT: *mut A_Time) -> A_Err,
18883    >,
18884    pub AEGP_GetItemCurrentTime: ::std::option::Option<
18885        unsafe extern "C" fn(itemH: AEGP_ItemH, curr_timePT: *mut A_Time) -> A_Err,
18886    >,
18887    pub AEGP_GetItemDimensions: ::std::option::Option<
18888        unsafe extern "C" fn(
18889            itemH: AEGP_ItemH,
18890            widthPL: *mut A_long,
18891            heightPL: *mut A_long,
18892        ) -> A_Err,
18893    >,
18894    pub AEGP_GetItemPixelAspectRatio: ::std::option::Option<
18895        unsafe extern "C" fn(itemH: AEGP_ItemH, pix_aspect_ratioPRt: *mut A_Ratio) -> A_Err,
18896    >,
18897    pub AEGP_DeleteItem: ::std::option::Option<unsafe extern "C" fn(itemH: AEGP_ItemH) -> A_Err>,
18898    pub AEGP_GetItemSolidColor: ::std::option::Option<
18899        unsafe extern "C" fn(itemH: AEGP_ItemH, colorP: *mut AEGP_ColorVal) -> A_Err,
18900    >,
18901    pub AEGP_CreateNewFolder: ::std::option::Option<
18902        unsafe extern "C" fn(
18903            nameZ: *const A_char,
18904            parent_folderH0: AEGP_ItemH,
18905            new_folderPH: *mut AEGP_ItemH,
18906        ) -> A_Err,
18907    >,
18908    pub AEGP_SetItemCurrentTime: ::std::option::Option<
18909        unsafe extern "C" fn(itemH: AEGP_ItemH, new_timePT: *const A_Time) -> A_Err,
18910    >,
18911    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
18912        unsafe extern "C" fn(
18913            itemH: AEGP_ItemH,
18914            start_timePT: *const A_Time,
18915            durationPT: *const A_Time,
18916            sound_formatP: *const AEGP_SoundDataFormat,
18917            new_sound_dataPH: *mut AEGP_SoundDataH,
18918        ) -> A_Err,
18919    >,
18920}
18921#[repr(C)]
18922#[derive(Debug, Copy, Clone)]
18923pub struct AEGP_UtilitySuite5 {
18924    pub AEGP_ReportInfo: ::std::option::Option<
18925        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
18926    >,
18927    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
18928        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
18929    >,
18930    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
18931        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
18932    >,
18933    pub AEGP_StartQuietErrors:
18934        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
18935    pub AEGP_EndQuietErrors: ::std::option::Option<
18936        unsafe extern "C" fn(
18937            report_quieted_errorsB: A_Boolean,
18938            err_stateP: *mut AEGP_ErrReportState,
18939        ) -> A_Err,
18940    >,
18941    pub AEGP_GetLastErrorMessage: ::std::option::Option<
18942        unsafe extern "C" fn(
18943            buffer_size: A_long,
18944            error_string: *mut A_char,
18945            error_num: *mut A_Err,
18946        ) -> A_Err,
18947    >,
18948    pub AEGP_StartUndoGroup:
18949        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
18950    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
18951    pub AEGP_RegisterWithAEGP: ::std::option::Option<
18952        unsafe extern "C" fn(
18953            global_refcon: AEGP_GlobalRefcon,
18954            plugin_nameZ: *const A_char,
18955            plugin_id: *mut AEGP_PluginID,
18956        ) -> A_Err,
18957    >,
18958    pub AEGP_GetMainHWND: ::std::option::Option<
18959        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
18960    >,
18961    pub AEGP_ShowHideAllFloaters:
18962        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
18963    pub AEGP_PaintPalGetForeColor:
18964        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
18965    pub AEGP_PaintPalGetBackColor:
18966        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
18967    pub AEGP_PaintPalSetForeColor:
18968        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
18969    pub AEGP_PaintPalSetBackColor:
18970        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
18971    pub AEGP_CharPalGetFillColor: ::std::option::Option<
18972        unsafe extern "C" fn(
18973            is_fill_color_definedPB: *mut A_Boolean,
18974            fill_colorP: *mut AEGP_ColorVal,
18975        ) -> A_Err,
18976    >,
18977    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
18978        unsafe extern "C" fn(
18979            is_stroke_color_definedPB: *mut A_Boolean,
18980            stroke_colorP: *mut AEGP_ColorVal,
18981        ) -> A_Err,
18982    >,
18983    pub AEGP_CharPalSetFillColor:
18984        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
18985    pub AEGP_CharPalSetStrokeColor:
18986        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
18987    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
18988        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
18989    >,
18990    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
18991        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
18992    >,
18993    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
18994        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
18995    >,
18996    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
18997    pub AEGP_GetSuppressInteractiveUI:
18998        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
18999    pub AEGP_WriteToOSConsole:
19000        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19001    pub AEGP_WriteToDebugLog: ::std::option::Option<
19002        unsafe extern "C" fn(
19003            subsystemZ: *const A_char,
19004            event_typeZ: *const A_char,
19005            infoZ: *const A_char,
19006        ) -> A_Err,
19007    >,
19008    pub AEGP_IsScriptingAvailable:
19009        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
19010    pub AEGP_ExecuteScript: ::std::option::Option<
19011        unsafe extern "C" fn(
19012            inPlugin_id: AEGP_PluginID,
19013            inScriptZ: *const A_char,
19014            platform_encodingB: A_Boolean,
19015            outResultPH0: *mut AEGP_MemHandle,
19016            outErrorStringPH0: *mut AEGP_MemHandle,
19017        ) -> A_Err,
19018    >,
19019    pub AEGP_HostIsActivated:
19020        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
19021    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
19022        unsafe extern "C" fn(
19023            plug_id: AEGP_PluginID,
19024            plat_refPPV: *mut *mut ::std::os::raw::c_void,
19025        ) -> A_Err,
19026    >,
19027    pub AEGP_UpdateFontList: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19028}
19029#[repr(C)]
19030#[derive(Debug, Copy, Clone)]
19031pub struct AEGP_UtilitySuite4 {
19032    pub AEGP_ReportInfo: ::std::option::Option<
19033        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19034    >,
19035    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19036        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19037    >,
19038    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19039        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19040    >,
19041    pub AEGP_StartQuietErrors:
19042        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19043    pub AEGP_EndQuietErrors: ::std::option::Option<
19044        unsafe extern "C" fn(
19045            report_quieted_errorsB: A_Boolean,
19046            err_stateP: *mut AEGP_ErrReportState,
19047        ) -> A_Err,
19048    >,
19049    pub AEGP_GetLastErrorMessage: ::std::option::Option<
19050        unsafe extern "C" fn(
19051            buffer_size: A_long,
19052            error_string: *mut A_char,
19053            error_num: *mut A_Err,
19054        ) -> A_Err,
19055    >,
19056    pub AEGP_StartUndoGroup:
19057        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19058    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19059    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19060        unsafe extern "C" fn(
19061            global_refcon: AEGP_GlobalRefcon,
19062            plugin_nameZ: *const A_char,
19063            plugin_id: *mut AEGP_PluginID,
19064        ) -> A_Err,
19065    >,
19066    pub AEGP_GetMainHWND: ::std::option::Option<
19067        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19068    >,
19069    pub AEGP_ShowHideAllFloaters:
19070        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19071    pub AEGP_PaintPalGetForeColor:
19072        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19073    pub AEGP_PaintPalGetBackColor:
19074        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19075    pub AEGP_PaintPalSetForeColor:
19076        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19077    pub AEGP_PaintPalSetBackColor:
19078        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19079    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19080        unsafe extern "C" fn(
19081            is_fill_color_definedPB: *mut A_Boolean,
19082            fill_colorP: *mut AEGP_ColorVal,
19083        ) -> A_Err,
19084    >,
19085    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19086        unsafe extern "C" fn(
19087            is_stroke_color_definedPB: *mut A_Boolean,
19088            stroke_colorP: *mut AEGP_ColorVal,
19089        ) -> A_Err,
19090    >,
19091    pub AEGP_CharPalSetFillColor:
19092        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19093    pub AEGP_CharPalSetStrokeColor:
19094        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19095    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19096        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19097    >,
19098    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
19099        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
19100    >,
19101    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
19102        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
19103    >,
19104    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19105    pub AEGP_GetSuppressInteractiveUI:
19106        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
19107    pub AEGP_WriteToOSConsole:
19108        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19109    pub AEGP_WriteToDebugLog: ::std::option::Option<
19110        unsafe extern "C" fn(
19111            subsystemZ: *const A_char,
19112            event_typeZ: *const A_char,
19113            infoZ: *const A_char,
19114        ) -> A_Err,
19115    >,
19116    pub AEGP_IsScriptingAvailable:
19117        ::std::option::Option<unsafe extern "C" fn(outAvailablePB: *mut A_Boolean) -> A_Err>,
19118    pub AEGP_ExecuteScript: ::std::option::Option<
19119        unsafe extern "C" fn(
19120            inPlugin_id: AEGP_PluginID,
19121            inScriptZ: *const A_char,
19122            platform_encodingB: A_Boolean,
19123            outResultPH0: *mut AEGP_MemHandle,
19124            outErrorStringPH0: *mut AEGP_MemHandle,
19125        ) -> A_Err,
19126    >,
19127    pub AEGP_HostIsActivated:
19128        ::std::option::Option<unsafe extern "C" fn(is_activatedPB: *mut A_Boolean) -> A_Err>,
19129    pub AEGP_GetPluginPlatformRef: ::std::option::Option<
19130        unsafe extern "C" fn(
19131            plug_id: AEGP_PluginID,
19132            plat_refPPV: *mut *mut ::std::os::raw::c_void,
19133        ) -> A_Err,
19134    >,
19135}
19136#[repr(C)]
19137#[derive(Debug, Copy, Clone)]
19138pub struct AEGP_UtilitySuite3 {
19139    pub AEGP_ReportInfo: ::std::option::Option<
19140        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19141    >,
19142    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19143        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19144    >,
19145    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19146        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19147    >,
19148    pub AEGP_StartQuietErrors:
19149        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19150    pub AEGP_EndQuietErrors: ::std::option::Option<
19151        unsafe extern "C" fn(
19152            report_quieted_errorsB: A_Boolean,
19153            err_stateP: *mut AEGP_ErrReportState,
19154        ) -> A_Err,
19155    >,
19156    pub AEGP_StartUndoGroup:
19157        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19158    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19159    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19160        unsafe extern "C" fn(
19161            global_refcon: AEGP_GlobalRefcon,
19162            plugin_nameZ: *const A_char,
19163            plugin_id: *mut AEGP_PluginID,
19164        ) -> A_Err,
19165    >,
19166    pub AEGP_GetMainHWND: ::std::option::Option<
19167        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19168    >,
19169    pub AEGP_ShowHideAllFloaters:
19170        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19171    pub AEGP_PaintPalGetForeColor:
19172        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19173    pub AEGP_PaintPalGetBackColor:
19174        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19175    pub AEGP_PaintPalSetForeColor:
19176        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19177    pub AEGP_PaintPalSetBackColor:
19178        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19179    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19180        unsafe extern "C" fn(
19181            is_fill_color_definedPB: *mut A_Boolean,
19182            fill_colorP: *mut AEGP_ColorVal,
19183        ) -> A_Err,
19184    >,
19185    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19186        unsafe extern "C" fn(
19187            is_stroke_color_definedPB: *mut A_Boolean,
19188            stroke_colorP: *mut AEGP_ColorVal,
19189        ) -> A_Err,
19190    >,
19191    pub AEGP_CharPalSetFillColor:
19192        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19193    pub AEGP_CharPalSetStrokeColor:
19194        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19195    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19196        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19197    >,
19198    pub AEGP_ConvertFpLongToHSFRatio: ::std::option::Option<
19199        unsafe extern "C" fn(numberF: A_FpLong, ratioPR: *mut A_Ratio) -> A_Err,
19200    >,
19201    pub AEGP_ConvertHSFRatioToFpLong: ::std::option::Option<
19202        unsafe extern "C" fn(ratioR: A_Ratio, numberPF: *mut A_FpLong) -> A_Err,
19203    >,
19204    pub AEGP_CauseIdleRoutinesToBeCalled: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19205    pub AEGP_GetSuppressInteractiveUI:
19206        ::std::option::Option<unsafe extern "C" fn(ui_is_suppressedPB: *mut A_Boolean) -> A_Err>,
19207    pub AEGP_WriteToOSConsole:
19208        ::std::option::Option<unsafe extern "C" fn(textZ: *const A_char) -> A_Err>,
19209    pub AEGP_WriteToDebugLog: ::std::option::Option<
19210        unsafe extern "C" fn(
19211            subsystemZ: *const A_char,
19212            event_typeZ: *const A_char,
19213            infoZ: *const A_char,
19214        ) -> A_Err,
19215    >,
19216}
19217#[repr(C)]
19218#[derive(Debug, Copy, Clone)]
19219pub struct AEGP_UtilitySuite2 {
19220    pub AEGP_ReportInfo: ::std::option::Option<
19221        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19222    >,
19223    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19224        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19225    >,
19226    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19227        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19228    >,
19229    pub AEGP_StartQuietErrors:
19230        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19231    pub AEGP_EndQuietErrors: ::std::option::Option<
19232        unsafe extern "C" fn(
19233            report_quieted_errorsB: A_Boolean,
19234            err_stateP: *mut AEGP_ErrReportState,
19235        ) -> A_Err,
19236    >,
19237    pub AEGP_StartUndoGroup:
19238        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19239    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19240    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19241        unsafe extern "C" fn(
19242            global_refcon: AEGP_GlobalRefcon,
19243            plugin_nameZ: *const A_char,
19244            plugin_id: *mut AEGP_PluginID,
19245        ) -> A_Err,
19246    >,
19247    pub AEGP_GetMainHWND: ::std::option::Option<
19248        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19249    >,
19250    pub AEGP_ShowHideAllFloaters:
19251        ::std::option::Option<unsafe extern "C" fn(include_tool_palB: A_Boolean) -> A_Err>,
19252    pub AEGP_PaintPalGetForeColor:
19253        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *mut AEGP_ColorVal) -> A_Err>,
19254    pub AEGP_PaintPalGetBackColor:
19255        ::std::option::Option<unsafe extern "C" fn(back_colorP: *mut AEGP_ColorVal) -> A_Err>,
19256    pub AEGP_PaintPalSetForeColor:
19257        ::std::option::Option<unsafe extern "C" fn(fore_colorP: *const AEGP_ColorVal) -> A_Err>,
19258    pub AEGP_PaintPalSetBackColor:
19259        ::std::option::Option<unsafe extern "C" fn(back_colorP: *const AEGP_ColorVal) -> A_Err>,
19260    pub AEGP_CharPalGetFillColor: ::std::option::Option<
19261        unsafe extern "C" fn(
19262            is_fill_color_definedPB: *mut A_Boolean,
19263            fill_colorP: *mut AEGP_ColorVal,
19264        ) -> A_Err,
19265    >,
19266    pub AEGP_CharPalGetStrokeColor: ::std::option::Option<
19267        unsafe extern "C" fn(
19268            is_stroke_color_definedPB: *mut A_Boolean,
19269            stroke_colorP: *mut AEGP_ColorVal,
19270        ) -> A_Err,
19271    >,
19272    pub AEGP_CharPalSetFillColor:
19273        ::std::option::Option<unsafe extern "C" fn(fill_colorP: *const AEGP_ColorVal) -> A_Err>,
19274    pub AEGP_CharPalSetStrokeColor:
19275        ::std::option::Option<unsafe extern "C" fn(stroke_colorP: *const AEGP_ColorVal) -> A_Err>,
19276    pub AEGP_CharPalIsFillColorUIFrontmost: ::std::option::Option<
19277        unsafe extern "C" fn(is_fill_color_selectedPB: *mut A_Boolean) -> A_Err,
19278    >,
19279}
19280#[repr(C)]
19281#[derive(Debug, Copy, Clone)]
19282pub struct AEGP_UtilitySuite1 {
19283    pub AEGP_ReportInfo: ::std::option::Option<
19284        unsafe extern "C" fn(aegp_plugin_id: AEGP_PluginID, info_stringZ: *const A_char) -> A_Err,
19285    >,
19286    pub AEGP_GetDriverPluginInitFuncVersion: ::std::option::Option<
19287        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19288    >,
19289    pub AEGP_GetDriverImplementationVersion: ::std::option::Option<
19290        unsafe extern "C" fn(major_versionPS: *mut A_short, minor_versionPS: *mut A_short) -> A_Err,
19291    >,
19292    pub AEGP_StartQuietErrors:
19293        ::std::option::Option<unsafe extern "C" fn(err_stateP: *mut AEGP_ErrReportState) -> A_Err>,
19294    pub AEGP_EndQuietErrors: ::std::option::Option<
19295        unsafe extern "C" fn(
19296            report_quieted_errorsB: A_Boolean,
19297            err_stateP: *mut AEGP_ErrReportState,
19298        ) -> A_Err,
19299    >,
19300    pub AEGP_StartUndoGroup:
19301        ::std::option::Option<unsafe extern "C" fn(undo_nameZ: *const A_char) -> A_Err>,
19302    pub AEGP_EndUndoGroup: ::std::option::Option<unsafe extern "C" fn() -> A_Err>,
19303    pub AEGP_RegisterWithAEGP: ::std::option::Option<
19304        unsafe extern "C" fn(
19305            global_refcon: AEGP_GlobalRefcon,
19306            plugin_nameZ: *const A_char,
19307            plugin_id: *mut AEGP_PluginID,
19308        ) -> A_Err,
19309    >,
19310    pub AEGP_GetMainHWND: ::std::option::Option<
19311        unsafe extern "C" fn(main_hwnd: *mut ::std::os::raw::c_void) -> A_Err,
19312    >,
19313}
19314#[repr(C)]
19315#[derive(Debug, Copy, Clone)]
19316pub struct AEGP_QueryXformSuite1 {
19317    pub AEGP_QueryXformGetSrcType: ::std::option::Option<
19318        unsafe extern "C" fn(
19319            query_contextH: PR_QueryContextH,
19320            src_type: *mut AEGP_QueryXformType,
19321        ) -> A_Err,
19322    >,
19323    pub AEGP_QueryXformGetDstType: ::std::option::Option<
19324        unsafe extern "C" fn(
19325            query_contextH: PR_QueryContextH,
19326            dst_type: *mut AEGP_QueryXformType,
19327        ) -> A_Err,
19328    >,
19329    pub AEGP_QueryXformGetLayer: ::std::option::Option<
19330        unsafe extern "C" fn(query_contextH: PR_QueryContextH, layerPH: *mut AEGP_LayerH) -> A_Err,
19331    >,
19332    pub AEGP_QueryXformGetComp: ::std::option::Option<
19333        unsafe extern "C" fn(query_contextH: PR_QueryContextH, compPH: *mut AEGP_CompH) -> A_Err,
19334    >,
19335    pub AEGP_QueryXformGetTransformTime: ::std::option::Option<
19336        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
19337    >,
19338    pub AEGP_QueryXformGetViewTime: ::std::option::Option<
19339        unsafe extern "C" fn(query_contextH: PR_QueryContextH, time: *mut A_Time) -> A_Err,
19340    >,
19341    pub AEGP_QueryXformGetCamera: ::std::option::Option<
19342        unsafe extern "C" fn(
19343            query_contextH: PR_QueryContextH,
19344            camera_layerPH: *mut AEGP_LayerH,
19345        ) -> A_Err,
19346    >,
19347    pub AEGP_QueryXformGetXform: ::std::option::Option<
19348        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
19349    >,
19350    pub AEGP_QueryXformSetXform: ::std::option::Option<
19351        unsafe extern "C" fn(query_contextH: PR_QueryContextH, xform: *mut A_Matrix4) -> A_Err,
19352    >,
19353}
19354#[repr(C)]
19355#[derive(Debug, Copy, Clone)]
19356pub struct AEGP_RenderSuite1 {
19357    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19358        unsafe extern "C" fn(
19359            optionsH: AEGP_RenderOptionsH,
19360            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19361            cancel_function_refconP0: AEGP_CancelRefcon,
19362            receiptPH: *mut AEGP_FrameReceiptH,
19363        ) -> A_Err,
19364    >,
19365    pub AEGP_CheckinFrame:
19366        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
19367    pub AEGP_GetReceiptWorld: ::std::option::Option<
19368        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
19369    >,
19370    pub AEGP_GetRenderedRegion: ::std::option::Option<
19371        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
19372    >,
19373    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
19374        unsafe extern "C" fn(
19375            rendered_optionsH: AEGP_RenderOptionsH,
19376            proposed_optionsH: AEGP_RenderOptionsH,
19377            rendered_is_sufficientPB: *mut A_Boolean,
19378        ) -> A_Err,
19379    >,
19380    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19381        unsafe extern "C" fn(
19382            itemH: AEGP_ItemH,
19383            start_timePT: *const A_Time,
19384            durationPT: *const A_Time,
19385            sound_formatP: *const AEGP_SoundDataFormat,
19386            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19387            cancel_function_refconP0: AEGP_CancelRefcon,
19388            new_sound_dataPH: *mut AEGP_SoundDataH,
19389        ) -> A_Err,
19390    >,
19391}
19392pub type AEGP_RenderSuiteCheckForCancelv1 = ::std::option::Option<
19393    unsafe extern "C" fn(refcon: *mut ::std::os::raw::c_void, cancelPB: *mut A_Boolean) -> A_Err,
19394>;
19395#[repr(C)]
19396#[derive(Debug, Copy, Clone)]
19397pub struct AEGP_RenderSuite2 {
19398    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19399        unsafe extern "C" fn(
19400            optionsH: AEGP_RenderOptionsH,
19401            cancel_functionP0: AEGP_RenderSuiteCheckForCancelv1,
19402            cancel_function_refconP0: AEGP_CancelRefcon,
19403            receiptPH: *mut AEGP_FrameReceiptH,
19404        ) -> A_Err,
19405    >,
19406    pub AEGP_CheckinFrame:
19407        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
19408    pub AEGP_GetReceiptWorld: ::std::option::Option<
19409        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
19410    >,
19411    pub AEGP_GetRenderedRegion: ::std::option::Option<
19412        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
19413    >,
19414    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
19415        unsafe extern "C" fn(
19416            rendered_optionsH: AEGP_RenderOptionsH,
19417            proposed_optionsH: AEGP_RenderOptionsH,
19418            rendered_is_sufficientPB: *mut A_Boolean,
19419        ) -> A_Err,
19420    >,
19421    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19422        unsafe extern "C" fn(
19423            itemH: AEGP_ItemH,
19424            start_timePT: *const A_Time,
19425            durationPT: *const A_Time,
19426            sound_formatP: *const AEGP_SoundDataFormat,
19427            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19428            cancel_function_refconP0: AEGP_CancelRefcon,
19429            new_sound_dataPH: *mut AEGP_SoundDataH,
19430        ) -> A_Err,
19431    >,
19432    pub AEGP_GetCurrentTimestamp:
19433        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
19434    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
19435        unsafe extern "C" fn(
19436            itemH: AEGP_ItemH,
19437            start_timeP: *const A_Time,
19438            durationP: *const A_Time,
19439            time_stampP: *const AEGP_TimeStamp,
19440            item_has_changedPB: *mut A_Boolean,
19441        ) -> A_Err,
19442    >,
19443    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
19444        unsafe extern "C" fn(
19445            roH: AEGP_RenderOptionsH,
19446            time_stampP: *const AEGP_TimeStamp,
19447            worthwhile_to_renderPB: *mut A_Boolean,
19448        ) -> A_Err,
19449    >,
19450    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
19451        unsafe extern "C" fn(
19452            roH: AEGP_RenderOptionsH,
19453            time_stampP: *const AEGP_TimeStamp,
19454            ticks_to_renderL: A_u_long,
19455            imageH: AEGP_PlatformWorldH,
19456        ) -> A_Err,
19457    >,
19458}
19459#[repr(C)]
19460#[derive(Debug, Copy, Clone)]
19461pub struct AEGP_RenderSuite3 {
19462    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19463        unsafe extern "C" fn(
19464            optionsH: AEGP_RenderOptionsH,
19465            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19466            cancel_function_refconP0: AEGP_CancelRefcon,
19467            receiptPH: *mut AEGP_FrameReceiptH,
19468        ) -> A_Err,
19469    >,
19470    pub AEGP_CheckinFrame:
19471        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
19472    pub AEGP_GetReceiptWorld: ::std::option::Option<
19473        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
19474    >,
19475    pub AEGP_GetRenderedRegion: ::std::option::Option<
19476        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
19477    >,
19478    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
19479        unsafe extern "C" fn(
19480            rendered_optionsH: AEGP_RenderOptionsH,
19481            proposed_optionsH: AEGP_RenderOptionsH,
19482            rendered_is_sufficientPB: *mut A_Boolean,
19483        ) -> A_Err,
19484    >,
19485    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19486        unsafe extern "C" fn(
19487            itemH: AEGP_ItemH,
19488            start_timePT: *const A_Time,
19489            durationPT: *const A_Time,
19490            sound_formatP: *const AEGP_SoundDataFormat,
19491            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19492            cancel_function_refconP0: AEGP_CancelRefcon,
19493            new_sound_dataPH: *mut AEGP_SoundDataH,
19494        ) -> A_Err,
19495    >,
19496    pub AEGP_GetCurrentTimestamp:
19497        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
19498    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
19499        unsafe extern "C" fn(
19500            itemH: AEGP_ItemH,
19501            start_timeP: *const A_Time,
19502            durationP: *const A_Time,
19503            time_stampP: *const AEGP_TimeStamp,
19504            item_has_changedPB: *mut A_Boolean,
19505        ) -> A_Err,
19506    >,
19507    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
19508        unsafe extern "C" fn(
19509            roH: AEGP_RenderOptionsH,
19510            time_stampP: *const AEGP_TimeStamp,
19511            worthwhile_to_renderPB: *mut A_Boolean,
19512        ) -> A_Err,
19513    >,
19514    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
19515        unsafe extern "C" fn(
19516            roH: AEGP_RenderOptionsH,
19517            time_stampP: *const AEGP_TimeStamp,
19518            ticks_to_renderL: A_u_long,
19519            imageH: AEGP_PlatformWorldH,
19520        ) -> A_Err,
19521    >,
19522    pub AEGP_GetReceiptGuid: ::std::option::Option<
19523        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
19524    >,
19525}
19526#[repr(C)]
19527#[derive(Debug, Copy, Clone)]
19528pub struct AEGP_RenderSuite4 {
19529    pub AEGP_RenderAndCheckoutFrame: ::std::option::Option<
19530        unsafe extern "C" fn(
19531            optionsH: AEGP_RenderOptionsH,
19532            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19533            cancel_function_refconP0: AEGP_CancelRefcon,
19534            receiptPH: *mut AEGP_FrameReceiptH,
19535        ) -> A_Err,
19536    >,
19537    pub AEGP_RenderAndCheckoutLayerFrame: ::std::option::Option<
19538        unsafe extern "C" fn(
19539            optionsH: AEGP_LayerRenderOptionsH,
19540            render_plain_layer_frameB: A_Boolean,
19541            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19542            cancel_function_refconP0: AEGP_CancelRefcon,
19543            receiptPH: *mut AEGP_FrameReceiptH,
19544        ) -> A_Err,
19545    >,
19546    pub AEGP_CheckinFrame:
19547        ::std::option::Option<unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH) -> A_Err>,
19548    pub AEGP_GetReceiptWorld: ::std::option::Option<
19549        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, worldPH: *mut AEGP_WorldH) -> A_Err,
19550    >,
19551    pub AEGP_GetRenderedRegion: ::std::option::Option<
19552        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, rendered_regionP: *mut A_LRect) -> A_Err,
19553    >,
19554    pub AEGP_IsRenderedFrameSufficient: ::std::option::Option<
19555        unsafe extern "C" fn(
19556            rendered_optionsH: AEGP_RenderOptionsH,
19557            proposed_optionsH: AEGP_RenderOptionsH,
19558            rendered_is_sufficientPB: *mut A_Boolean,
19559        ) -> A_Err,
19560    >,
19561    pub AEGP_RenderNewItemSoundData: ::std::option::Option<
19562        unsafe extern "C" fn(
19563            itemH: AEGP_ItemH,
19564            start_timePT: *const A_Time,
19565            durationPT: *const A_Time,
19566            sound_formatP: *const AEGP_SoundDataFormat,
19567            cancel_functionP0: AEGP_RenderSuiteCheckForCancel,
19568            cancel_function_refconP0: AEGP_CancelRefcon,
19569            new_sound_dataPH: *mut AEGP_SoundDataH,
19570        ) -> A_Err,
19571    >,
19572    pub AEGP_GetCurrentTimestamp:
19573        ::std::option::Option<unsafe extern "C" fn(time_stampP: *mut AEGP_TimeStamp) -> A_Err>,
19574    pub AEGP_HasItemChangedSinceTimestamp: ::std::option::Option<
19575        unsafe extern "C" fn(
19576            itemH: AEGP_ItemH,
19577            start_timeP: *const A_Time,
19578            durationP: *const A_Time,
19579            time_stampP: *const AEGP_TimeStamp,
19580            item_has_changedPB: *mut A_Boolean,
19581        ) -> A_Err,
19582    >,
19583    pub AEGP_IsItemWorthwhileToRender: ::std::option::Option<
19584        unsafe extern "C" fn(
19585            roH: AEGP_RenderOptionsH,
19586            time_stampP: *const AEGP_TimeStamp,
19587            worthwhile_to_renderPB: *mut A_Boolean,
19588        ) -> A_Err,
19589    >,
19590    pub AEGP_CheckinRenderedFrame: ::std::option::Option<
19591        unsafe extern "C" fn(
19592            roH: AEGP_RenderOptionsH,
19593            time_stampP: *const AEGP_TimeStamp,
19594            ticks_to_renderL: A_u_long,
19595            imageH: AEGP_PlatformWorldH,
19596        ) -> A_Err,
19597    >,
19598    pub AEGP_GetReceiptGuid: ::std::option::Option<
19599        unsafe extern "C" fn(receiptH: AEGP_FrameReceiptH, guidMH: *mut AEGP_MemHandle) -> A_Err,
19600    >,
19601}
19602#[repr(C)]
19603#[derive(Debug, Copy, Clone)]
19604pub struct AEGP_WorldSuite2 {
19605    pub AEGP_New: ::std::option::Option<
19606        unsafe extern "C" fn(
19607            plugin_id: AEGP_PluginID,
19608            type_: AEGP_WorldType,
19609            widthL: A_long,
19610            heightL: A_long,
19611            worldPH: *mut AEGP_WorldH,
19612        ) -> A_Err,
19613    >,
19614    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
19615    pub AEGP_GetType: ::std::option::Option<
19616        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
19617    >,
19618    pub AEGP_GetSize: ::std::option::Option<
19619        unsafe extern "C" fn(
19620            worldH: AEGP_WorldH,
19621            widthPL: *mut A_long,
19622            heightPL: *mut A_long,
19623        ) -> A_Err,
19624    >,
19625    pub AEGP_GetRowBytes: ::std::option::Option<
19626        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
19627    >,
19628    pub AEGP_GetBaseAddr8: ::std::option::Option<
19629        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
19630    >,
19631    pub AEGP_GetBaseAddr16: ::std::option::Option<
19632        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
19633    >,
19634    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
19635        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
19636    >,
19637    pub AEGP_FastBlur: ::std::option::Option<
19638        unsafe extern "C" fn(
19639            radiusF: A_FpLong,
19640            mode: PF_ModeFlags,
19641            quality: PF_Quality,
19642            worldH: AEGP_WorldH,
19643        ) -> A_Err,
19644    >,
19645    pub AEGP_NewPlatformWorld: ::std::option::Option<
19646        unsafe extern "C" fn(
19647            plugin_id: AEGP_PluginID,
19648            type_: AEGP_WorldType,
19649            widthL: A_long,
19650            heightL: A_long,
19651            worldPH: *mut AEGP_PlatformWorldH,
19652        ) -> A_Err,
19653    >,
19654    pub AEGP_DisposePlatformWorld:
19655        ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_PlatformWorldH) -> A_Err>,
19656    pub AEGP_NewReferenceFromPlatformWorld: ::std::option::Option<
19657        unsafe extern "C" fn(
19658            plugin_id: AEGP_PluginID,
19659            platform_worldH: AEGP_PlatformWorldH,
19660            worldPH: *mut AEGP_WorldH,
19661        ) -> A_Err,
19662    >,
19663}
19664#[repr(C)]
19665#[derive(Debug, Copy, Clone)]
19666pub struct AEGP_WorldSuite1 {
19667    pub AEGP_New: ::std::option::Option<
19668        unsafe extern "C" fn(
19669            plugin_id: AEGP_PluginID,
19670            type_: AEGP_WorldType,
19671            widthL: A_long,
19672            heightL: A_long,
19673            worldPH: *mut AEGP_WorldH,
19674        ) -> A_Err,
19675    >,
19676    pub AEGP_Dispose: ::std::option::Option<unsafe extern "C" fn(worldH: AEGP_WorldH) -> A_Err>,
19677    pub AEGP_GetType: ::std::option::Option<
19678        unsafe extern "C" fn(worldH: AEGP_WorldH, typeP: *mut AEGP_WorldType) -> A_Err,
19679    >,
19680    pub AEGP_GetSize: ::std::option::Option<
19681        unsafe extern "C" fn(
19682            worldH: AEGP_WorldH,
19683            widthPL: *mut A_long,
19684            heightPL: *mut A_long,
19685        ) -> A_Err,
19686    >,
19687    pub AEGP_GetRowBytes: ::std::option::Option<
19688        unsafe extern "C" fn(worldH: AEGP_WorldH, row_bytesPL: *mut A_u_long) -> A_Err,
19689    >,
19690    pub AEGP_GetBaseAddr8: ::std::option::Option<
19691        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel8) -> A_Err,
19692    >,
19693    pub AEGP_GetBaseAddr16: ::std::option::Option<
19694        unsafe extern "C" fn(worldH: AEGP_WorldH, base_addrP: *mut *mut PF_Pixel16) -> A_Err,
19695    >,
19696    pub AEGP_FillOutPFEffectWorld: ::std::option::Option<
19697        unsafe extern "C" fn(worldH: AEGP_WorldH, pf_worldP: *mut PF_EffectWorld) -> A_Err,
19698    >,
19699    pub AEGP_FastBlur: ::std::option::Option<
19700        unsafe extern "C" fn(
19701            radiusF: A_FpLong,
19702            mode: PF_ModeFlags,
19703            quality: PF_Quality,
19704            worldH: AEGP_WorldH,
19705        ) -> A_Err,
19706    >,
19707}
19708#[repr(C)]
19709#[derive(Copy, Clone)]
19710pub struct AEGP_CollectionItem {
19711    pub type_: AEGP_CollectionItemType,
19712    pub u: AEGP_CollectionItem__bindgen_ty_1,
19713}
19714#[repr(C)]
19715#[derive(Copy, Clone)]
19716pub union AEGP_CollectionItem__bindgen_ty_1 {
19717    pub layer: AEGP_LayerCollectionItem,
19718    pub mask: AEGP_MaskCollectionItem,
19719    pub effect: AEGP_EffectCollectionItem,
19720    pub stream: AEGP_StreamCollectionItem,
19721    pub mask_vertex: AEGP_MaskVertexCollectionItem,
19722    pub keyframe: AEGP_KeyframeCollectionItem,
19723}
19724#[repr(C)]
19725#[derive(Debug, Copy, Clone)]
19726pub struct AEGP_CollectionSuite1 {
19727    pub AEGP_NewCollection: ::std::option::Option<
19728        unsafe extern "C" fn(
19729            plugin_id: AEGP_PluginID,
19730            collectionPH: *mut AEGP_CollectionH,
19731        ) -> A_Err,
19732    >,
19733    pub AEGP_DisposeCollection:
19734        ::std::option::Option<unsafe extern "C" fn(collectionH: AEGP_CollectionH) -> A_Err>,
19735    pub AEGP_GetCollectionNumItems: ::std::option::Option<
19736        unsafe extern "C" fn(collectionH: AEGP_CollectionH, num_itemsPL: *mut A_u_long) -> A_Err,
19737    >,
19738    pub AEGP_GetCollectionItemByIndex: ::std::option::Option<
19739        unsafe extern "C" fn(
19740            collectionH: AEGP_CollectionH,
19741            indexL: A_u_long,
19742            collection_itemP: *mut AEGP_CollectionItem,
19743        ) -> A_Err,
19744    >,
19745    pub AEGP_CollectionPushBack: ::std::option::Option<
19746        unsafe extern "C" fn(
19747            collectionH: AEGP_CollectionH,
19748            collection_itemP: *const AEGP_CollectionItem,
19749        ) -> A_Err,
19750    >,
19751    pub AEGP_CollectionErase: ::std::option::Option<
19752        unsafe extern "C" fn(
19753            collectionH: AEGP_CollectionH,
19754            index_firstL: A_u_long,
19755            index_lastL: A_u_long,
19756        ) -> A_Err,
19757    >,
19758}
19759#[repr(C)]
19760#[derive(Debug, Copy, Clone)]
19761pub struct AEGP_DynamicStreamSuite1 {
19762    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
19763        unsafe extern "C" fn(
19764            aegp_plugin_id: AEGP_PluginID,
19765            layerH: AEGP_LayerH,
19766            streamPH: *mut AEGP_StreamRefH,
19767        ) -> A_Err,
19768    >,
19769    pub AEGP_GetStreamDepth: ::std::option::Option<
19770        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
19771    >,
19772    pub AEGP_GetStreamGroupingType: ::std::option::Option<
19773        unsafe extern "C" fn(
19774            streamH: AEGP_StreamRefH,
19775            group_typeP: *mut AEGP_StreamGroupingType,
19776        ) -> A_Err,
19777    >,
19778    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
19779        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
19780    >,
19781    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
19782        unsafe extern "C" fn(
19783            streamH: AEGP_StreamRefH,
19784            stream_flagsP: *mut AEGP_DynStreamFlags,
19785        ) -> A_Err,
19786    >,
19787    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
19788        unsafe extern "C" fn(
19789            streamH: AEGP_StreamRefH,
19790            one_flag: AEGP_DynStreamFlags,
19791            setB: A_Boolean,
19792        ) -> A_Err,
19793    >,
19794    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
19795        unsafe extern "C" fn(
19796            aegp_plugin_id: AEGP_PluginID,
19797            parent_groupH: AEGP_StreamRefH,
19798            indexL: A_long,
19799            streamPH: *mut AEGP_StreamRefH,
19800        ) -> A_Err,
19801    >,
19802    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
19803        unsafe extern "C" fn(
19804            aegp_plugin_id: AEGP_PluginID,
19805            parent_groupH: AEGP_StreamRefH,
19806            match_nameZ: *const A_char,
19807            streamPH: *mut AEGP_StreamRefH,
19808        ) -> A_Err,
19809    >,
19810    pub AEGP_DeleteStream:
19811        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
19812    pub AEGP_ReorderStream: ::std::option::Option<
19813        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
19814    >,
19815    pub AEGP_DuplicateStream: ::std::option::Option<
19816        unsafe extern "C" fn(
19817            aegp_plugin_id: AEGP_PluginID,
19818            streamH: AEGP_StreamRefH,
19819            new_indexPL0: *mut A_long,
19820        ) -> A_Err,
19821    >,
19822    pub AEGP_SetStreamName: ::std::option::Option<
19823        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
19824    >,
19825    pub AEGP_CanAddStream: ::std::option::Option<
19826        unsafe extern "C" fn(
19827            group_streamH: AEGP_StreamRefH,
19828            match_nameZ: *const A_char,
19829            can_addPB: *mut A_Boolean,
19830        ) -> A_Err,
19831    >,
19832    pub AEGP_AddStream: ::std::option::Option<
19833        unsafe extern "C" fn(
19834            aegp_plugin_id: AEGP_PluginID,
19835            indexed_group_streamH: AEGP_StreamRefH,
19836            match_nameZ: *const A_char,
19837            streamPH0: *mut AEGP_StreamRefH,
19838        ) -> A_Err,
19839    >,
19840    pub AEGP_GetMatchName: ::std::option::Option<
19841        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
19842    >,
19843    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
19844        unsafe extern "C" fn(
19845            aegp_plugin_id: AEGP_PluginID,
19846            streamH: AEGP_StreamRefH,
19847            parent_streamPH: *mut AEGP_StreamRefH,
19848        ) -> A_Err,
19849    >,
19850    pub AEGP_GetStreamIsModified: ::std::option::Option<
19851        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
19852    >,
19853}
19854#[repr(C)]
19855#[derive(Debug, Copy, Clone)]
19856pub struct AEGP_DynamicStreamSuite2 {
19857    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
19858        unsafe extern "C" fn(
19859            aegp_plugin_id: AEGP_PluginID,
19860            layerH: AEGP_LayerH,
19861            streamPH: *mut AEGP_StreamRefH,
19862        ) -> A_Err,
19863    >,
19864    pub AEGP_GetStreamDepth: ::std::option::Option<
19865        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
19866    >,
19867    pub AEGP_GetStreamGroupingType: ::std::option::Option<
19868        unsafe extern "C" fn(
19869            streamH: AEGP_StreamRefH,
19870            group_typeP: *mut AEGP_StreamGroupingType,
19871        ) -> A_Err,
19872    >,
19873    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
19874        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
19875    >,
19876    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
19877        unsafe extern "C" fn(
19878            streamH: AEGP_StreamRefH,
19879            stream_flagsP: *mut AEGP_DynStreamFlags,
19880        ) -> A_Err,
19881    >,
19882    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
19883        unsafe extern "C" fn(
19884            streamH: AEGP_StreamRefH,
19885            one_flag: AEGP_DynStreamFlags,
19886            undoableB: A_Boolean,
19887            setB: A_Boolean,
19888        ) -> A_Err,
19889    >,
19890    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
19891        unsafe extern "C" fn(
19892            aegp_plugin_id: AEGP_PluginID,
19893            parent_groupH: AEGP_StreamRefH,
19894            indexL: A_long,
19895            streamPH: *mut AEGP_StreamRefH,
19896        ) -> A_Err,
19897    >,
19898    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
19899        unsafe extern "C" fn(
19900            aegp_plugin_id: AEGP_PluginID,
19901            parent_groupH: AEGP_StreamRefH,
19902            match_nameZ: *const A_char,
19903            streamPH: *mut AEGP_StreamRefH,
19904        ) -> A_Err,
19905    >,
19906    pub AEGP_DeleteStream:
19907        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
19908    pub AEGP_ReorderStream: ::std::option::Option<
19909        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
19910    >,
19911    pub AEGP_DuplicateStream: ::std::option::Option<
19912        unsafe extern "C" fn(
19913            aegp_plugin_id: AEGP_PluginID,
19914            streamH: AEGP_StreamRefH,
19915            new_indexPL0: *mut A_long,
19916        ) -> A_Err,
19917    >,
19918    pub AEGP_SetStreamName: ::std::option::Option<
19919        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
19920    >,
19921    pub AEGP_CanAddStream: ::std::option::Option<
19922        unsafe extern "C" fn(
19923            group_streamH: AEGP_StreamRefH,
19924            match_nameZ: *const A_char,
19925            can_addPB: *mut A_Boolean,
19926        ) -> A_Err,
19927    >,
19928    pub AEGP_AddStream: ::std::option::Option<
19929        unsafe extern "C" fn(
19930            aegp_plugin_id: AEGP_PluginID,
19931            indexed_group_streamH: AEGP_StreamRefH,
19932            match_nameZ: *const A_char,
19933            streamPH0: *mut AEGP_StreamRefH,
19934        ) -> A_Err,
19935    >,
19936    pub AEGP_GetMatchName: ::std::option::Option<
19937        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
19938    >,
19939    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
19940        unsafe extern "C" fn(
19941            aegp_plugin_id: AEGP_PluginID,
19942            streamH: AEGP_StreamRefH,
19943            parent_streamPH: *mut AEGP_StreamRefH,
19944        ) -> A_Err,
19945    >,
19946    pub AEGP_GetStreamIsModified: ::std::option::Option<
19947        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
19948    >,
19949}
19950#[repr(C)]
19951#[derive(Debug, Copy, Clone)]
19952pub struct AEGP_DynamicStreamSuite3 {
19953    pub AEGP_GetNewStreamRefForLayer: ::std::option::Option<
19954        unsafe extern "C" fn(
19955            aegp_plugin_id: AEGP_PluginID,
19956            layerH: AEGP_LayerH,
19957            streamPH: *mut AEGP_StreamRefH,
19958        ) -> A_Err,
19959    >,
19960    pub AEGP_GetStreamDepth: ::std::option::Option<
19961        unsafe extern "C" fn(streamH: AEGP_StreamRefH, depthPL: *mut A_long) -> A_Err,
19962    >,
19963    pub AEGP_GetStreamGroupingType: ::std::option::Option<
19964        unsafe extern "C" fn(
19965            streamH: AEGP_StreamRefH,
19966            group_typeP: *mut AEGP_StreamGroupingType,
19967        ) -> A_Err,
19968    >,
19969    pub AEGP_GetNumStreamsInGroup: ::std::option::Option<
19970        unsafe extern "C" fn(streamH: AEGP_StreamRefH, num_streamsPL: *mut A_long) -> A_Err,
19971    >,
19972    pub AEGP_GetDynamicStreamFlags: ::std::option::Option<
19973        unsafe extern "C" fn(
19974            streamH: AEGP_StreamRefH,
19975            stream_flagsP: *mut AEGP_DynStreamFlags,
19976        ) -> A_Err,
19977    >,
19978    pub AEGP_SetDynamicStreamFlag: ::std::option::Option<
19979        unsafe extern "C" fn(
19980            streamH: AEGP_StreamRefH,
19981            one_flag: AEGP_DynStreamFlags,
19982            undoableB: A_Boolean,
19983            setB: A_Boolean,
19984        ) -> A_Err,
19985    >,
19986    pub AEGP_GetNewStreamRefByIndex: ::std::option::Option<
19987        unsafe extern "C" fn(
19988            aegp_plugin_id: AEGP_PluginID,
19989            parent_groupH: AEGP_StreamRefH,
19990            indexL: A_long,
19991            streamPH: *mut AEGP_StreamRefH,
19992        ) -> A_Err,
19993    >,
19994    pub AEGP_GetNewStreamRefByMatchname: ::std::option::Option<
19995        unsafe extern "C" fn(
19996            aegp_plugin_id: AEGP_PluginID,
19997            parent_groupH: AEGP_StreamRefH,
19998            match_nameZ: *const A_char,
19999            streamPH: *mut AEGP_StreamRefH,
20000        ) -> A_Err,
20001    >,
20002    pub AEGP_DeleteStream:
20003        ::std::option::Option<unsafe extern "C" fn(streamH: AEGP_StreamRefH) -> A_Err>,
20004    pub AEGP_ReorderStream: ::std::option::Option<
20005        unsafe extern "C" fn(streamH: AEGP_StreamRefH, new_indexL: A_long) -> A_Err,
20006    >,
20007    pub AEGP_DuplicateStream: ::std::option::Option<
20008        unsafe extern "C" fn(
20009            aegp_plugin_id: AEGP_PluginID,
20010            streamH: AEGP_StreamRefH,
20011            new_indexPL0: *mut A_long,
20012        ) -> A_Err,
20013    >,
20014    pub AEGP_SetStreamName: ::std::option::Option<
20015        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *const A_char) -> A_Err,
20016    >,
20017    pub AEGP_CanAddStream: ::std::option::Option<
20018        unsafe extern "C" fn(
20019            group_streamH: AEGP_StreamRefH,
20020            match_nameZ: *const A_char,
20021            can_addPB: *mut A_Boolean,
20022        ) -> A_Err,
20023    >,
20024    pub AEGP_AddStream: ::std::option::Option<
20025        unsafe extern "C" fn(
20026            aegp_plugin_id: AEGP_PluginID,
20027            indexed_group_streamH: AEGP_StreamRefH,
20028            match_nameZ: *const A_char,
20029            streamPH0: *mut AEGP_StreamRefH,
20030        ) -> A_Err,
20031    >,
20032    pub AEGP_GetMatchName: ::std::option::Option<
20033        unsafe extern "C" fn(streamH: AEGP_StreamRefH, nameZ: *mut A_char) -> A_Err,
20034    >,
20035    pub AEGP_GetNewParentStreamRef: ::std::option::Option<
20036        unsafe extern "C" fn(
20037            aegp_plugin_id: AEGP_PluginID,
20038            streamH: AEGP_StreamRefH,
20039            parent_streamPH: *mut AEGP_StreamRefH,
20040        ) -> A_Err,
20041    >,
20042    pub AEGP_GetStreamIsModified: ::std::option::Option<
20043        unsafe extern "C" fn(streamH: AEGP_StreamRefH, modifiedPB: *mut A_Boolean) -> A_Err,
20044    >,
20045    pub AEGP_GetStreamIndexInParent: ::std::option::Option<
20046        unsafe extern "C" fn(streamH: AEGP_StreamRefH, indexPL: *mut A_long) -> A_Err,
20047    >,
20048}
20049#[repr(C)]
20050#[derive(Debug, Copy, Clone)]
20051pub struct AEGP_RenderOptionsSuite3 {
20052    pub AEGP_NewFromItem: ::std::option::Option<
20053        unsafe extern "C" fn(
20054            plugin_id: AEGP_PluginID,
20055            itemH: AEGP_ItemH,
20056            optionsPH: *mut AEGP_RenderOptionsH,
20057        ) -> A_Err,
20058    >,
20059    pub AEGP_Duplicate: ::std::option::Option<
20060        unsafe extern "C" fn(
20061            plugin_id: AEGP_PluginID,
20062            optionsH: AEGP_RenderOptionsH,
20063            copyPH: *mut AEGP_RenderOptionsH,
20064        ) -> A_Err,
20065    >,
20066    pub AEGP_Dispose:
20067        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20068    pub AEGP_SetTime: ::std::option::Option<
20069        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20070    >,
20071    pub AEGP_GetTime: ::std::option::Option<
20072        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20073    >,
20074    pub AEGP_SetTimeStep: ::std::option::Option<
20075        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20076    >,
20077    pub AEGP_GetTimeStep: ::std::option::Option<
20078        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20079    >,
20080    pub AEGP_SetFieldRender: ::std::option::Option<
20081        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20082    >,
20083    pub AEGP_GetFieldRender: ::std::option::Option<
20084        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20085    >,
20086    pub AEGP_SetWorldType: ::std::option::Option<
20087        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20088    >,
20089    pub AEGP_GetWorldType: ::std::option::Option<
20090        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20091    >,
20092    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20093        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20094    >,
20095    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20096        unsafe extern "C" fn(
20097            optionsH: AEGP_RenderOptionsH,
20098            xP: *mut A_short,
20099            yP: *mut A_short,
20100        ) -> A_Err,
20101    >,
20102    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20103        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20104    >,
20105    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20106        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20107    >,
20108    pub AEGP_SetMatteMode: ::std::option::Option<
20109        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20110    >,
20111    pub AEGP_GetMatteMode: ::std::option::Option<
20112        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20113    >,
20114    pub AEGP_SetChannelOrder: ::std::option::Option<
20115        unsafe extern "C" fn(
20116            optionsH: AEGP_RenderOptionsH,
20117            channel_order: AEGP_ChannelOrder,
20118        ) -> A_Err,
20119    >,
20120    pub AEGP_GetChannelOrder: ::std::option::Option<
20121        unsafe extern "C" fn(
20122            optionsH: AEGP_RenderOptionsH,
20123            channelP: *mut AEGP_ChannelOrder,
20124        ) -> A_Err,
20125    >,
20126    pub AEGP_GetRenderGuideLayers: ::std::option::Option<
20127        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, will_renderPB: *mut A_Boolean) -> A_Err,
20128    >,
20129    pub AEGP_SetRenderGuideLayers: ::std::option::Option<
20130        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, render_themB: A_Boolean) -> A_Err,
20131    >,
20132}
20133#[repr(C)]
20134#[derive(Debug, Copy, Clone)]
20135pub struct AEGP_RenderOptionsSuite2 {
20136    pub AEGP_NewFromItem: ::std::option::Option<
20137        unsafe extern "C" fn(
20138            plugin_id: AEGP_PluginID,
20139            itemH: AEGP_ItemH,
20140            optionsPH: *mut AEGP_RenderOptionsH,
20141        ) -> A_Err,
20142    >,
20143    pub AEGP_Duplicate: ::std::option::Option<
20144        unsafe extern "C" fn(
20145            plugin_id: AEGP_PluginID,
20146            optionsH: AEGP_RenderOptionsH,
20147            copyPH: *mut AEGP_RenderOptionsH,
20148        ) -> A_Err,
20149    >,
20150    pub AEGP_Dispose:
20151        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20152    pub AEGP_SetTime: ::std::option::Option<
20153        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20154    >,
20155    pub AEGP_GetTime: ::std::option::Option<
20156        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20157    >,
20158    pub AEGP_SetTimeStep: ::std::option::Option<
20159        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20160    >,
20161    pub AEGP_GetTimeStep: ::std::option::Option<
20162        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20163    >,
20164    pub AEGP_SetFieldRender: ::std::option::Option<
20165        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20166    >,
20167    pub AEGP_GetFieldRender: ::std::option::Option<
20168        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20169    >,
20170    pub AEGP_SetWorldType: ::std::option::Option<
20171        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20172    >,
20173    pub AEGP_GetWorldType: ::std::option::Option<
20174        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20175    >,
20176    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20177        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20178    >,
20179    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20180        unsafe extern "C" fn(
20181            optionsH: AEGP_RenderOptionsH,
20182            xP: *mut A_short,
20183            yP: *mut A_short,
20184        ) -> A_Err,
20185    >,
20186    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20187        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20188    >,
20189    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20190        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20191    >,
20192    pub AEGP_SetMatteMode: ::std::option::Option<
20193        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20194    >,
20195    pub AEGP_GetMatteMode: ::std::option::Option<
20196        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20197    >,
20198    pub AEGP_SetChannelOrder: ::std::option::Option<
20199        unsafe extern "C" fn(
20200            optionsH: AEGP_RenderOptionsH,
20201            channel_order: AEGP_ChannelOrder,
20202        ) -> A_Err,
20203    >,
20204    pub AEGP_GetChannelOrder: ::std::option::Option<
20205        unsafe extern "C" fn(
20206            optionsH: AEGP_RenderOptionsH,
20207            channelP: *mut AEGP_ChannelOrder,
20208        ) -> A_Err,
20209    >,
20210}
20211#[repr(C)]
20212#[derive(Debug, Copy, Clone)]
20213pub struct AEGP_RenderOptionsSuite1 {
20214    pub AEGP_NewFromItem: ::std::option::Option<
20215        unsafe extern "C" fn(
20216            plugin_id: AEGP_PluginID,
20217            itemH: AEGP_ItemH,
20218            optionsPH: *mut AEGP_RenderOptionsH,
20219        ) -> A_Err,
20220    >,
20221    pub AEGP_Duplicate: ::std::option::Option<
20222        unsafe extern "C" fn(
20223            plugin_id: AEGP_PluginID,
20224            optionsH: AEGP_RenderOptionsH,
20225            copyPH: *mut AEGP_RenderOptionsH,
20226        ) -> A_Err,
20227    >,
20228    pub AEGP_Dispose:
20229        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH) -> A_Err>,
20230    pub AEGP_SetTime: ::std::option::Option<
20231        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time: A_Time) -> A_Err,
20232    >,
20233    pub AEGP_GetTime: ::std::option::Option<
20234        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timeP: *mut A_Time) -> A_Err,
20235    >,
20236    pub AEGP_SetTimeStep: ::std::option::Option<
20237        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, time_step: A_Time) -> A_Err,
20238    >,
20239    pub AEGP_GetTimeStep: ::std::option::Option<
20240        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, timePT: *mut A_Time) -> A_Err,
20241    >,
20242    pub AEGP_SetFieldRender: ::std::option::Option<
20243        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_render: PF_Field) -> A_Err,
20244    >,
20245    pub AEGP_GetFieldRender: ::std::option::Option<
20246        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, field_renderP: *mut PF_Field) -> A_Err,
20247    >,
20248    pub AEGP_SetWorldType: ::std::option::Option<
20249        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20250    >,
20251    pub AEGP_GetWorldType: ::std::option::Option<
20252        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, typeP: *mut AEGP_WorldType) -> A_Err,
20253    >,
20254    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20255        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, x: A_short, y: A_short) -> A_Err,
20256    >,
20257    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20258        unsafe extern "C" fn(
20259            optionsH: AEGP_RenderOptionsH,
20260            xP: *mut A_short,
20261            yP: *mut A_short,
20262        ) -> A_Err,
20263    >,
20264    pub AEGP_SetRegionOfInterest: ::std::option::Option<
20265        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *const A_LRect) -> A_Err,
20266    >,
20267    pub AEGP_GetRegionOfInterest: ::std::option::Option<
20268        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, roiP: *mut A_LRect) -> A_Err,
20269    >,
20270    pub AEGP_SetMatteMode: ::std::option::Option<
20271        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20272    >,
20273    pub AEGP_GetMatteMode: ::std::option::Option<
20274        unsafe extern "C" fn(optionsH: AEGP_RenderOptionsH, modeP: *mut AEGP_MatteMode) -> A_Err,
20275    >,
20276}
20277#[repr(C)]
20278#[derive(Debug, Copy, Clone)]
20279pub struct AEGP_LayerRenderOptionsSuite1 {
20280    pub AEGP_NewFromLayer: ::std::option::Option<
20281        unsafe extern "C" fn(
20282            plugin_id: AEGP_PluginID,
20283            layerH: AEGP_LayerH,
20284            optionsPH: *mut AEGP_LayerRenderOptionsH,
20285        ) -> A_Err,
20286    >,
20287    pub AEGP_NewFromUpstreamOfEffect: ::std::option::Option<
20288        unsafe extern "C" fn(
20289            plugin_id: AEGP_PluginID,
20290            effectH: AEGP_EffectRefH,
20291            optionsPH: *mut AEGP_LayerRenderOptionsH,
20292        ) -> A_Err,
20293    >,
20294    pub AEGP_Duplicate: ::std::option::Option<
20295        unsafe extern "C" fn(
20296            plugin_id: AEGP_PluginID,
20297            optionsH: AEGP_LayerRenderOptionsH,
20298            copyPH: *mut AEGP_LayerRenderOptionsH,
20299        ) -> A_Err,
20300    >,
20301    pub AEGP_Dispose:
20302        ::std::option::Option<unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH) -> A_Err>,
20303    pub AEGP_SetTime: ::std::option::Option<
20304        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time: A_Time) -> A_Err,
20305    >,
20306    pub AEGP_GetTime: ::std::option::Option<
20307        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timeP: *mut A_Time) -> A_Err,
20308    >,
20309    pub AEGP_SetTimeStep: ::std::option::Option<
20310        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, time_step: A_Time) -> A_Err,
20311    >,
20312    pub AEGP_GetTimeStep: ::std::option::Option<
20313        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, timePT: *mut A_Time) -> A_Err,
20314    >,
20315    pub AEGP_SetWorldType: ::std::option::Option<
20316        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, type_: AEGP_WorldType) -> A_Err,
20317    >,
20318    pub AEGP_GetWorldType: ::std::option::Option<
20319        unsafe extern "C" fn(
20320            optionsH: AEGP_LayerRenderOptionsH,
20321            typeP: *mut AEGP_WorldType,
20322        ) -> A_Err,
20323    >,
20324    pub AEGP_SetDownsampleFactor: ::std::option::Option<
20325        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, x: A_short, y: A_short) -> A_Err,
20326    >,
20327    pub AEGP_GetDownsampleFactor: ::std::option::Option<
20328        unsafe extern "C" fn(
20329            optionsH: AEGP_LayerRenderOptionsH,
20330            xP: *mut A_short,
20331            yP: *mut A_short,
20332        ) -> A_Err,
20333    >,
20334    pub AEGP_SetMatteMode: ::std::option::Option<
20335        unsafe extern "C" fn(optionsH: AEGP_LayerRenderOptionsH, mode: AEGP_MatteMode) -> A_Err,
20336    >,
20337    pub AEGP_GetMatteMode: ::std::option::Option<
20338        unsafe extern "C" fn(
20339            optionsH: AEGP_LayerRenderOptionsH,
20340            modeP: *mut AEGP_MatteMode,
20341        ) -> A_Err,
20342    >,
20343}
20344#[repr(C)]
20345#[derive(Debug, Copy, Clone)]
20346pub struct AEGP_ColorSettingsSuite1 {
20347    pub AEGP_GetBlendingTables: ::std::option::Option<
20348        unsafe extern "C" fn(
20349            render_contextH: PR_RenderContextH,
20350            blending_tables: *mut PF_EffectBlendingTables,
20351        ) -> A_Err,
20352    >,
20353}
20354#[repr(C)]
20355#[derive(Debug, Copy, Clone)]
20356pub struct AEGP_ColorSettingsSuite2 {
20357    pub AEGP_GetBlendingTables: ::std::option::Option<
20358        unsafe extern "C" fn(
20359            render_contextH: PR_RenderContextH,
20360            blending_tables: *mut PF_EffectBlendingTables,
20361        ) -> A_Err,
20362    >,
20363    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
20364        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
20365    >,
20366    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
20367        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
20368    >,
20369    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
20370        unsafe extern "C" fn(
20371            aegp_plugin_id: AEGP_PluginID,
20372            compH: AEGP_CompH,
20373            color_profilePP: *mut AEGP_ColorProfileP,
20374        ) -> A_Err,
20375    >,
20376    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
20377        unsafe extern "C" fn(
20378            aegp_plugin_id: AEGP_PluginID,
20379            icc_sizeL: A_long,
20380            icc_dataPV: *const ::std::os::raw::c_void,
20381            color_profilePP: *mut AEGP_ColorProfileP,
20382        ) -> A_Err,
20383    >,
20384    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
20385        unsafe extern "C" fn(
20386            aegp_plugin_id: AEGP_PluginID,
20387            color_profileP: AEGP_ConstColorProfileP,
20388            icc_profilePH: *mut AEGP_MemHandle,
20389        ) -> A_Err,
20390    >,
20391    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
20392        unsafe extern "C" fn(
20393            aegp_plugin_id: AEGP_PluginID,
20394            color_profileP: AEGP_ConstColorProfileP,
20395            unicode_descPH: *mut AEGP_MemHandle,
20396        ) -> A_Err,
20397    >,
20398    pub AEGP_DisposeColorProfile:
20399        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
20400    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
20401        unsafe extern "C" fn(
20402            color_profileP: AEGP_ConstColorProfileP,
20403            approx_gammaP: *mut A_FpShort,
20404        ) -> A_Err,
20405    >,
20406    pub AEGP_IsRGBColorProfile: ::std::option::Option<
20407        unsafe extern "C" fn(
20408            color_profileP: AEGP_ConstColorProfileP,
20409            is_rgbPB: *mut A_Boolean,
20410        ) -> A_Err,
20411    >,
20412}
20413#[repr(C)]
20414#[derive(Debug, Copy, Clone)]
20415pub struct AEGP_ColorSettingsSuite3 {
20416    pub AEGP_GetBlendingTables: ::std::option::Option<
20417        unsafe extern "C" fn(
20418            render_contextH: PR_RenderContextH,
20419            blending_tables: *mut PF_EffectBlendingTables,
20420        ) -> A_Err,
20421    >,
20422    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
20423        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
20424    >,
20425    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
20426        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
20427    >,
20428    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
20429        unsafe extern "C" fn(
20430            aegp_plugin_id: AEGP_PluginID,
20431            compH: AEGP_CompH,
20432            color_profilePP: *mut AEGP_ColorProfileP,
20433        ) -> A_Err,
20434    >,
20435    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
20436        unsafe extern "C" fn(
20437            aegp_plugin_id: AEGP_PluginID,
20438            icc_sizeL: A_long,
20439            icc_dataPV: *const ::std::os::raw::c_void,
20440            color_profilePP: *mut AEGP_ColorProfileP,
20441        ) -> A_Err,
20442    >,
20443    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
20444        unsafe extern "C" fn(
20445            aegp_plugin_id: AEGP_PluginID,
20446            color_profileP: AEGP_ConstColorProfileP,
20447            icc_profilePH: *mut AEGP_MemHandle,
20448        ) -> A_Err,
20449    >,
20450    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
20451        unsafe extern "C" fn(
20452            aegp_plugin_id: AEGP_PluginID,
20453            color_profileP: AEGP_ConstColorProfileP,
20454            unicode_descPH: *mut AEGP_MemHandle,
20455        ) -> A_Err,
20456    >,
20457    pub AEGP_DisposeColorProfile:
20458        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
20459    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
20460        unsafe extern "C" fn(
20461            color_profileP: AEGP_ConstColorProfileP,
20462            approx_gammaP: *mut A_FpShort,
20463        ) -> A_Err,
20464    >,
20465    pub AEGP_IsRGBColorProfile: ::std::option::Option<
20466        unsafe extern "C" fn(
20467            color_profileP: AEGP_ConstColorProfileP,
20468            is_rgbPB: *mut A_Boolean,
20469        ) -> A_Err,
20470    >,
20471    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
20472        unsafe extern "C" fn(
20473            aegp_plugin_id: AEGP_PluginID,
20474            compH: AEGP_CompH,
20475            color_profileP: AEGP_ConstColorProfileP,
20476        ) -> A_Err,
20477    >,
20478}
20479#[repr(C)]
20480#[derive(Debug, Copy, Clone)]
20481pub struct AEGP_ColorSettingsSuite4 {
20482    pub AEGP_GetBlendingTables: ::std::option::Option<
20483        unsafe extern "C" fn(
20484            render_contextH: PR_RenderContextH,
20485            blending_tables: *mut PF_EffectBlendingTables,
20486        ) -> A_Err,
20487    >,
20488    pub AEGP_DoesViewHaveColorSpaceXform: ::std::option::Option<
20489        unsafe extern "C" fn(viewP: AEGP_ItemViewP, has_xformPB: *mut A_Boolean) -> A_Err,
20490    >,
20491    pub AEGP_XformWorkingToViewColorSpace: ::std::option::Option<
20492        unsafe extern "C" fn(viewP: AEGP_ItemViewP, srcH: AEGP_WorldH, dstH: AEGP_WorldH) -> A_Err,
20493    >,
20494    pub AEGP_GetNewWorkingSpaceColorProfile: ::std::option::Option<
20495        unsafe extern "C" fn(
20496            aegp_plugin_id: AEGP_PluginID,
20497            compH: AEGP_CompH,
20498            color_profilePP: *mut AEGP_ColorProfileP,
20499        ) -> A_Err,
20500    >,
20501    pub AEGP_GetNewColorProfileFromICCProfile: ::std::option::Option<
20502        unsafe extern "C" fn(
20503            aegp_plugin_id: AEGP_PluginID,
20504            icc_sizeL: A_long,
20505            icc_dataPV: *const ::std::os::raw::c_void,
20506            color_profilePP: *mut AEGP_ColorProfileP,
20507        ) -> A_Err,
20508    >,
20509    pub AEGP_GetNewICCProfileFromColorProfile: ::std::option::Option<
20510        unsafe extern "C" fn(
20511            aegp_plugin_id: AEGP_PluginID,
20512            color_profileP: AEGP_ConstColorProfileP,
20513            icc_profilePH: *mut AEGP_MemHandle,
20514        ) -> A_Err,
20515    >,
20516    pub AEGP_GetNewColorProfileDescription: ::std::option::Option<
20517        unsafe extern "C" fn(
20518            aegp_plugin_id: AEGP_PluginID,
20519            color_profileP: AEGP_ConstColorProfileP,
20520            unicode_descPH: *mut AEGP_MemHandle,
20521        ) -> A_Err,
20522    >,
20523    pub AEGP_DisposeColorProfile:
20524        ::std::option::Option<unsafe extern "C" fn(color_profileP: AEGP_ColorProfileP) -> A_Err>,
20525    pub AEGP_GetColorProfileApproximateGamma: ::std::option::Option<
20526        unsafe extern "C" fn(
20527            color_profileP: AEGP_ConstColorProfileP,
20528            approx_gammaP: *mut A_FpShort,
20529        ) -> A_Err,
20530    >,
20531    pub AEGP_IsRGBColorProfile: ::std::option::Option<
20532        unsafe extern "C" fn(
20533            color_profileP: AEGP_ConstColorProfileP,
20534            is_rgbPB: *mut A_Boolean,
20535        ) -> A_Err,
20536    >,
20537    pub AEGP_SetWorkingColorSpace: ::std::option::Option<
20538        unsafe extern "C" fn(
20539            aegp_plugin_id: AEGP_PluginID,
20540            compH: AEGP_CompH,
20541            color_profileP: AEGP_ConstColorProfileP,
20542        ) -> A_Err,
20543    >,
20544    pub AEGP_IsOCIOColorManagementUsed: ::std::option::Option<
20545        unsafe extern "C" fn(
20546            aegp_plugin_id: AEGP_PluginID,
20547            is_OCIOColorManagementUsedPB: *mut A_Boolean,
20548        ) -> A_Err,
20549    >,
20550    pub AEGP_GetOCIOConfigurationFile: ::std::option::Option<
20551        unsafe extern "C" fn(
20552            aegp_plugin_id: AEGP_PluginID,
20553            config_filePH: *mut AEGP_MemHandle,
20554        ) -> A_Err,
20555    >,
20556}
20557#[repr(C)]
20558#[derive(Debug, Copy, Clone)]
20559pub struct AEGP_MarkerSuite1 {
20560    pub AEGP_NewMarker:
20561        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
20562    pub AEGP_DisposeMarker:
20563        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
20564    pub AEGP_DuplicateMarker: ::std::option::Option<
20565        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
20566    >,
20567    pub AEGP_SetMarkerFlag: ::std::option::Option<
20568        unsafe extern "C" fn(
20569            markerP: AEGP_MarkerValP,
20570            flagType: AEGP_MarkerFlagType,
20571            valueB: A_Boolean,
20572        ) -> A_Err,
20573    >,
20574    pub AEGP_GetMarkerFlag: ::std::option::Option<
20575        unsafe extern "C" fn(
20576            markerP: AEGP_ConstMarkerValP,
20577            flagType: AEGP_MarkerFlagType,
20578            valueBP: *mut A_Boolean,
20579        ) -> A_Err,
20580    >,
20581    pub AEGP_GetMarkerString: ::std::option::Option<
20582        unsafe extern "C" fn(
20583            aegp_plugin_id: AEGP_PluginID,
20584            markerP: AEGP_ConstMarkerValP,
20585            strType: AEGP_MarkerStringType,
20586            unicodePH: *mut AEGP_MemHandle,
20587        ) -> A_Err,
20588    >,
20589    pub AEGP_SetMarkerString: ::std::option::Option<
20590        unsafe extern "C" fn(
20591            markerP: AEGP_MarkerValP,
20592            strType: AEGP_MarkerStringType,
20593            unicodeP: *const A_u_short,
20594            lengthL: A_long,
20595        ) -> A_Err,
20596    >,
20597    pub AEGP_CountCuePointParams: ::std::option::Option<
20598        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
20599    >,
20600    pub AEGP_GetIndCuePointParam: ::std::option::Option<
20601        unsafe extern "C" fn(
20602            aegp_plugin_id: AEGP_PluginID,
20603            markerP: AEGP_ConstMarkerValP,
20604            param_indexL: A_long,
20605            unicodeKeyPH: *mut AEGP_MemHandle,
20606            unicodeValuePH: *mut AEGP_MemHandle,
20607        ) -> A_Err,
20608    >,
20609    pub AEGP_SetIndCuePointParam: ::std::option::Option<
20610        unsafe extern "C" fn(
20611            markerP: AEGP_MarkerValP,
20612            param_indexL: A_long,
20613            unicodeKeyP: *const A_u_short,
20614            key_lengthL: A_long,
20615            unicodeValueP: *const A_u_short,
20616            value_lengthL: A_long,
20617        ) -> A_Err,
20618    >,
20619    pub AEGP_InsertCuePointParam: ::std::option::Option<
20620        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
20621    >,
20622    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
20623        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
20624    >,
20625}
20626#[repr(C)]
20627#[derive(Debug, Copy, Clone)]
20628pub struct AEGP_MarkerSuite2 {
20629    pub AEGP_NewMarker:
20630        ::std::option::Option<unsafe extern "C" fn(markerPP: *mut AEGP_MarkerValP) -> A_Err>,
20631    pub AEGP_DisposeMarker:
20632        ::std::option::Option<unsafe extern "C" fn(markerP: AEGP_MarkerValP) -> A_Err>,
20633    pub AEGP_DuplicateMarker: ::std::option::Option<
20634        unsafe extern "C" fn(markerP: AEGP_MarkerValP, new_markerP: *mut AEGP_MarkerValP) -> A_Err,
20635    >,
20636    pub AEGP_SetMarkerFlag: ::std::option::Option<
20637        unsafe extern "C" fn(
20638            markerP: AEGP_MarkerValP,
20639            flagType: AEGP_MarkerFlagType,
20640            valueB: A_Boolean,
20641        ) -> A_Err,
20642    >,
20643    pub AEGP_GetMarkerFlag: ::std::option::Option<
20644        unsafe extern "C" fn(
20645            markerP: AEGP_ConstMarkerValP,
20646            flagType: AEGP_MarkerFlagType,
20647            valueBP: *mut A_Boolean,
20648        ) -> A_Err,
20649    >,
20650    pub AEGP_GetMarkerString: ::std::option::Option<
20651        unsafe extern "C" fn(
20652            aegp_plugin_id: AEGP_PluginID,
20653            markerP: AEGP_ConstMarkerValP,
20654            strType: AEGP_MarkerStringType,
20655            unicodePH: *mut AEGP_MemHandle,
20656        ) -> A_Err,
20657    >,
20658    pub AEGP_SetMarkerString: ::std::option::Option<
20659        unsafe extern "C" fn(
20660            markerP: AEGP_MarkerValP,
20661            strType: AEGP_MarkerStringType,
20662            unicodeP: *const A_u_short,
20663            lengthL: A_long,
20664        ) -> A_Err,
20665    >,
20666    pub AEGP_CountCuePointParams: ::std::option::Option<
20667        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, paramsLP: *mut A_long) -> A_Err,
20668    >,
20669    pub AEGP_GetIndCuePointParam: ::std::option::Option<
20670        unsafe extern "C" fn(
20671            aegp_plugin_id: AEGP_PluginID,
20672            markerP: AEGP_ConstMarkerValP,
20673            param_indexL: A_long,
20674            unicodeKeyPH: *mut AEGP_MemHandle,
20675            unicodeValuePH: *mut AEGP_MemHandle,
20676        ) -> A_Err,
20677    >,
20678    pub AEGP_SetIndCuePointParam: ::std::option::Option<
20679        unsafe extern "C" fn(
20680            markerP: AEGP_MarkerValP,
20681            param_indexL: A_long,
20682            unicodeKeyP: *const A_u_short,
20683            key_lengthL: A_long,
20684            unicodeValueP: *const A_u_short,
20685            value_lengthL: A_long,
20686        ) -> A_Err,
20687    >,
20688    pub AEGP_InsertCuePointParam: ::std::option::Option<
20689        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
20690    >,
20691    pub AEGP_DeleteIndCuePointParam: ::std::option::Option<
20692        unsafe extern "C" fn(markerP: AEGP_MarkerValP, param_indexL: A_long) -> A_Err,
20693    >,
20694    pub AEGP_SetMarkerDuration: ::std::option::Option<
20695        unsafe extern "C" fn(markerP: AEGP_MarkerValP, durationPT: *const A_Time) -> A_Err,
20696    >,
20697    pub AEGP_GetMarkerDuration: ::std::option::Option<
20698        unsafe extern "C" fn(markerP: AEGP_ConstMarkerValP, durationPT: *mut A_Time) -> A_Err,
20699    >,
20700}
20701#[repr(C)]
20702#[derive(Debug, Copy, Clone)]
20703pub struct AEGP_ProjSuite5 {
20704    pub AEGP_GetNumProjects:
20705        ::std::option::Option<unsafe extern "C" fn(num_projPL: *mut A_long) -> A_Err>,
20706    pub AEGP_GetProjectByIndex: ::std::option::Option<
20707        unsafe extern "C" fn(proj_indexL: A_long, projPH: *mut AEGP_ProjectH) -> A_Err,
20708    >,
20709    pub AEGP_GetProjectName: ::std::option::Option<
20710        unsafe extern "C" fn(projH: AEGP_ProjectH, nameZ: *mut A_char) -> A_Err,
20711    >,
20712    pub AEGP_GetProjectPath: ::std::option::Option<
20713        unsafe extern "C" fn(projH: AEGP_ProjectH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
20714    >,
20715    pub AEGP_GetProjectRootFolder: ::std::option::Option<
20716        unsafe extern "C" fn(projH: AEGP_ProjectH, root_folderPH: *mut AEGP_ItemH) -> A_Err,
20717    >,
20718    pub AEGP_SaveProjectToPath: ::std::option::Option<
20719        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
20720    >,
20721    pub AEGP_GetProjectTimeDisplay: ::std::option::Option<
20722        unsafe extern "C" fn(projH: AEGP_ProjectH, time_displayP: *mut AEGP_TimeDisplay2) -> A_Err,
20723    >,
20724    pub AEGP_SetProjectTimeDisplay: ::std::option::Option<
20725        unsafe extern "C" fn(
20726            projH: AEGP_ProjectH,
20727            time_displayP: *const AEGP_TimeDisplay2,
20728        ) -> A_Err,
20729    >,
20730    pub AEGP_ProjectIsDirty: ::std::option::Option<
20731        unsafe extern "C" fn(projH: AEGP_ProjectH, is_dirtyPB: *mut A_Boolean) -> A_Err,
20732    >,
20733    pub AEGP_SaveProjectAs: ::std::option::Option<
20734        unsafe extern "C" fn(projH: AEGP_ProjectH, pathZ: *const A_UTF16Char) -> A_Err,
20735    >,
20736    pub AEGP_NewProject:
20737        ::std::option::Option<unsafe extern "C" fn(new_projectPH: *mut AEGP_ProjectH) -> A_Err>,
20738    pub AEGP_OpenProjectFromPath: ::std::option::Option<
20739        unsafe extern "C" fn(pathZ: *const A_UTF16Char, projectPH: *mut AEGP_ProjectH) -> A_Err,
20740    >,
20741    pub AEGP_GetProjectBitDepth: ::std::option::Option<
20742        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depthP: *mut AEGP_ProjBitDepth) -> A_Err,
20743    >,
20744    pub AEGP_SetProjectBitDepth: ::std::option::Option<
20745        unsafe extern "C" fn(projectH: AEGP_ProjectH, bit_depth: AEGP_ProjBitDepth) -> A_Err,
20746    >,
20747}
20748#[repr(C)]
20749#[derive(Debug, Copy, Clone)]
20750pub struct AEGP_PersistentDataSuite3 {
20751    pub AEGP_GetApplicationBlob:
20752        ::std::option::Option<unsafe extern "C" fn(blobPH: *mut AEGP_PersistentBlobH) -> A_Err>,
20753    pub AEGP_GetNumSections: ::std::option::Option<
20754        unsafe extern "C" fn(blobH: AEGP_PersistentBlobH, num_sectionPL: *mut A_long) -> A_Err,
20755    >,
20756    pub AEGP_GetSectionKeyByIndex: ::std::option::Option<
20757        unsafe extern "C" fn(
20758            blobH: AEGP_PersistentBlobH,
20759            section_index: A_long,
20760            max_section_size: A_long,
20761            section_keyZ: *mut A_char,
20762        ) -> A_Err,
20763    >,
20764    pub AEGP_DoesKeyExist: ::std::option::Option<
20765        unsafe extern "C" fn(
20766            blobH: AEGP_PersistentBlobH,
20767            section_keyZ: *const A_char,
20768            value_keyZ: *const A_char,
20769            existsPB: *mut A_Boolean,
20770        ) -> A_Err,
20771    >,
20772    pub AEGP_GetNumKeys: ::std::option::Option<
20773        unsafe extern "C" fn(
20774            blobH: AEGP_PersistentBlobH,
20775            section_keyZ: *const A_char,
20776            num_keysPL: *mut A_long,
20777        ) -> A_Err,
20778    >,
20779    pub AEGP_GetValueKeyByIndex: ::std::option::Option<
20780        unsafe extern "C" fn(
20781            blobH: AEGP_PersistentBlobH,
20782            section_keyZ: *const A_char,
20783            key_index: A_long,
20784            max_key_size: A_long,
20785            value_keyZ: *mut A_char,
20786        ) -> A_Err,
20787    >,
20788    pub AEGP_GetDataHandle: ::std::option::Option<
20789        unsafe extern "C" fn(
20790            plugin_id: AEGP_PluginID,
20791            blobH: AEGP_PersistentBlobH,
20792            section_keyZ: *const A_char,
20793            value_keyZ: *const A_char,
20794            defaultH0: AEGP_MemHandle,
20795            valuePH: *mut AEGP_MemHandle,
20796        ) -> A_Err,
20797    >,
20798    pub AEGP_GetData: ::std::option::Option<
20799        unsafe extern "C" fn(
20800            blobH: AEGP_PersistentBlobH,
20801            section_keyZ: *const A_char,
20802            value_keyZ: *const A_char,
20803            data_sizeLu: A_u_long,
20804            defaultPV0: *const ::std::os::raw::c_void,
20805            bufPV: *mut ::std::os::raw::c_void,
20806        ) -> A_Err,
20807    >,
20808    pub AEGP_GetString: ::std::option::Option<
20809        unsafe extern "C" fn(
20810            blobH: AEGP_PersistentBlobH,
20811            section_keyZ: *const A_char,
20812            value_keyZ: *const A_char,
20813            defaultZ0: *const A_char,
20814            buf_sizeLu: A_u_long,
20815            bufZ: *mut A_char,
20816            actual_buf_sizeLu0: *mut A_u_long,
20817        ) -> A_Err,
20818    >,
20819    pub AEGP_GetLong: ::std::option::Option<
20820        unsafe extern "C" fn(
20821            blobH: AEGP_PersistentBlobH,
20822            section_keyZ: *const A_char,
20823            value_keyZ: *const A_char,
20824            defaultL: A_long,
20825            valuePL: *mut A_long,
20826        ) -> A_Err,
20827    >,
20828    pub AEGP_GetFpLong: ::std::option::Option<
20829        unsafe extern "C" fn(
20830            blobH: AEGP_PersistentBlobH,
20831            section_keyZ: *const A_char,
20832            value_keyZ: *const A_char,
20833            defaultF: A_FpLong,
20834            valuePF: *mut A_FpLong,
20835        ) -> A_Err,
20836    >,
20837    pub AEGP_SetDataHandle: ::std::option::Option<
20838        unsafe extern "C" fn(
20839            blobH: AEGP_PersistentBlobH,
20840            section_keyZ: *const A_char,
20841            value_keyZ: *const A_char,
20842            valueH: AEGP_MemHandle,
20843        ) -> A_Err,
20844    >,
20845    pub AEGP_SetData: ::std::option::Option<
20846        unsafe extern "C" fn(
20847            blobH: AEGP_PersistentBlobH,
20848            section_keyZ: *const A_char,
20849            value_keyZ: *const A_char,
20850            data_sizeLu: A_u_long,
20851            dataPV: *const ::std::os::raw::c_void,
20852        ) -> A_Err,
20853    >,
20854    pub AEGP_SetString: ::std::option::Option<
20855        unsafe extern "C" fn(
20856            blobH: AEGP_PersistentBlobH,
20857            section_keyZ: *const A_char,
20858            value_keyZ: *const A_char,
20859            strZ: *const A_char,
20860        ) -> A_Err,
20861    >,
20862    pub AEGP_SetLong: ::std::option::Option<
20863        unsafe extern "C" fn(
20864            blobH: AEGP_PersistentBlobH,
20865            section_keyZ: *const A_char,
20866            value_keyZ: *const A_char,
20867            valueL: A_long,
20868        ) -> A_Err,
20869    >,
20870    pub AEGP_SetFpLong: ::std::option::Option<
20871        unsafe extern "C" fn(
20872            blobH: AEGP_PersistentBlobH,
20873            section_keyZ: *const A_char,
20874            value_keyZ: *const A_char,
20875            valueF: A_FpLong,
20876        ) -> A_Err,
20877    >,
20878    pub AEGP_DeleteEntry: ::std::option::Option<
20879        unsafe extern "C" fn(
20880            blobH: AEGP_PersistentBlobH,
20881            section_keyZ: *const A_char,
20882            value_keyZ: *const A_char,
20883        ) -> A_Err,
20884    >,
20885    pub AEGP_GetPrefsDirectory:
20886        ::std::option::Option<unsafe extern "C" fn(unicode_pathPH: *mut AEGP_MemHandle) -> A_Err>,
20887}
20888#[repr(C)]
20889#[derive(Debug, Copy, Clone)]
20890pub struct AEGP_IterateSuite1 {
20891    pub AEGP_GetNumThreads:
20892        ::std::option::Option<unsafe extern "C" fn(num_threadsPL: *mut A_long) -> A_Err>,
20893    pub AEGP_IterateGeneric: ::std::option::Option<
20894        unsafe extern "C" fn(
20895            iterationsL: A_long,
20896            refconPV: *mut ::std::os::raw::c_void,
20897            fn_func: ::std::option::Option<
20898                unsafe extern "C" fn(
20899                    refconPV: *mut ::std::os::raw::c_void,
20900                    thread_indexL: A_long,
20901                    i: A_long,
20902                    iterationsL: A_long,
20903                ) -> A_Err,
20904            >,
20905        ) -> A_Err,
20906    >,
20907}
20908#[repr(C)]
20909#[derive(Debug, Copy, Clone)]
20910pub struct AEGP_IOInSuite4 {
20911    pub AEGP_GetInSpecOptionsHandle: ::std::option::Option<
20912        unsafe extern "C" fn(
20913            inH: AEIO_InSpecH,
20914            optionsPPV: *mut *mut ::std::os::raw::c_void,
20915        ) -> A_Err,
20916    >,
20917    pub AEGP_SetInSpecOptionsHandle: ::std::option::Option<
20918        unsafe extern "C" fn(
20919            inH: AEIO_InSpecH,
20920            optionsPV: *mut ::std::os::raw::c_void,
20921            old_optionsPPV: *mut *mut ::std::os::raw::c_void,
20922        ) -> A_Err,
20923    >,
20924    pub AEGP_GetInSpecFilePath: ::std::option::Option<
20925        unsafe extern "C" fn(inH: AEIO_InSpecH, unicode_pathPH: *mut AEGP_MemHandle) -> A_Err,
20926    >,
20927    pub AEGP_GetInSpecNativeFPS: ::std::option::Option<
20928        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
20929    >,
20930    pub AEGP_SetInSpecNativeFPS: ::std::option::Option<
20931        unsafe extern "C" fn(inH: AEIO_InSpecH, native_fps: A_Fixed) -> A_Err,
20932    >,
20933    pub AEGP_GetInSpecDepth: ::std::option::Option<
20934        unsafe extern "C" fn(inH: AEIO_InSpecH, depthPS: *mut A_short) -> A_Err,
20935    >,
20936    pub AEGP_SetInSpecDepth:
20937        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, depthS: A_short) -> A_Err>,
20938    pub AEGP_GetInSpecSize: ::std::option::Option<
20939        unsafe extern "C" fn(inH: AEIO_InSpecH, sizePL: *mut AEIO_FileSize) -> A_Err,
20940    >,
20941    pub AEGP_SetInSpecSize: ::std::option::Option<
20942        unsafe extern "C" fn(inH: AEIO_InSpecH, sizeL: AEIO_FileSize) -> A_Err,
20943    >,
20944    pub AEGP_GetInSpecInterlaceLabel: ::std::option::Option<
20945        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
20946    >,
20947    pub AEGP_SetInSpecInterlaceLabel: ::std::option::Option<
20948        unsafe extern "C" fn(inH: AEIO_InSpecH, interlaceP: *const FIEL_Label) -> A_Err,
20949    >,
20950    pub AEGP_GetInSpecAlphaLabel: ::std::option::Option<
20951        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
20952    >,
20953    pub AEGP_SetInSpecAlphaLabel: ::std::option::Option<
20954        unsafe extern "C" fn(inH: AEIO_InSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
20955    >,
20956    pub AEGP_GetInSpecDuration: ::std::option::Option<
20957        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *mut A_Time) -> A_Err,
20958    >,
20959    pub AEGP_SetInSpecDuration: ::std::option::Option<
20960        unsafe extern "C" fn(inH: AEIO_InSpecH, durationP: *const A_Time) -> A_Err,
20961    >,
20962    pub AEGP_GetInSpecDimensions: ::std::option::Option<
20963        unsafe extern "C" fn(
20964            inH: AEIO_InSpecH,
20965            widthPL0: *mut A_long,
20966            heightPL0: *mut A_long,
20967        ) -> A_Err,
20968    >,
20969    pub AEGP_SetInSpecDimensions: ::std::option::Option<
20970        unsafe extern "C" fn(inH: AEIO_InSpecH, widthL: A_long, heightL: A_long) -> A_Err,
20971    >,
20972    pub AEGP_InSpecGetRationalDimensions: ::std::option::Option<
20973        unsafe extern "C" fn(
20974            inH: AEIO_InSpecH,
20975            rs0: *const AEIO_RationalScale,
20976            width0: *mut A_long,
20977            height0: *mut A_long,
20978            r0: *mut A_Rect,
20979        ) -> A_Err,
20980    >,
20981    pub AEGP_GetInSpecHSF:
20982        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *mut A_Ratio) -> A_Err>,
20983    pub AEGP_SetInSpecHSF: ::std::option::Option<
20984        unsafe extern "C" fn(inH: AEIO_InSpecH, hsfP: *const A_Ratio) -> A_Err,
20985    >,
20986    pub AEGP_GetInSpecSoundRate: ::std::option::Option<
20987        unsafe extern "C" fn(inH: AEIO_InSpecH, ratePF: *mut A_FpLong) -> A_Err,
20988    >,
20989    pub AEGP_SetInSpecSoundRate:
20990        ::std::option::Option<unsafe extern "C" fn(inH: AEIO_InSpecH, rateF: A_FpLong) -> A_Err>,
20991    pub AEGP_GetInSpecSoundEncoding: ::std::option::Option<
20992        unsafe extern "C" fn(inH: AEIO_InSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
20993    >,
20994    pub AEGP_SetInSpecSoundEncoding: ::std::option::Option<
20995        unsafe extern "C" fn(inH: AEIO_InSpecH, encoding: AEIO_SndEncoding) -> A_Err,
20996    >,
20997    pub AEGP_GetInSpecSoundSampleSize: ::std::option::Option<
20998        unsafe extern "C" fn(
20999            inH: AEIO_InSpecH,
21000            bytes_per_sampleP: *mut AEIO_SndSampleSize,
21001        ) -> A_Err,
21002    >,
21003    pub AEGP_SetInSpecSoundSampleSize: ::std::option::Option<
21004        unsafe extern "C" fn(inH: AEIO_InSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
21005    >,
21006    pub AEGP_GetInSpecSoundChannels: ::std::option::Option<
21007        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
21008    >,
21009    pub AEGP_SetInSpecSoundChannels: ::std::option::Option<
21010        unsafe extern "C" fn(inH: AEIO_InSpecH, num_channels: AEIO_SndChannels) -> A_Err,
21011    >,
21012    pub AEGP_AddAuxExtMap: ::std::option::Option<
21013        unsafe extern "C" fn(extension: *const A_char, file_type: A_long, creator: A_long) -> A_Err,
21014    >,
21015    pub AEGP_SetInSpecEmbeddedColorProfile: ::std::option::Option<
21016        unsafe extern "C" fn(
21017            inH: AEIO_InSpecH,
21018            color_profileP0: AEGP_ConstColorProfileP,
21019            profile_descP0: *const A_UTF16Char,
21020        ) -> A_Err,
21021    >,
21022    pub AEGP_SetInSpecAssignedColorProfile: ::std::option::Option<
21023        unsafe extern "C" fn(inH: AEIO_InSpecH, color_profileP: AEGP_ConstColorProfileP) -> A_Err,
21024    >,
21025}
21026#[repr(C)]
21027#[derive(Debug, Copy, Clone)]
21028pub struct AEGP_IOOutSuite4 {
21029    pub AEGP_GetOutSpecOptionsHandle: ::std::option::Option<
21030        unsafe extern "C" fn(
21031            outH: AEIO_OutSpecH,
21032            optionsPPV: *mut *mut ::std::os::raw::c_void,
21033        ) -> A_Err,
21034    >,
21035    pub AEGP_SetOutSpecOptionsHandle: ::std::option::Option<
21036        unsafe extern "C" fn(
21037            outH: AEIO_OutSpecH,
21038            optionsPV: *mut ::std::os::raw::c_void,
21039            old_optionsPPVO: *mut *mut ::std::os::raw::c_void,
21040        ) -> A_Err,
21041    >,
21042    pub AEGP_GetOutSpecFilePath: ::std::option::Option<
21043        unsafe extern "C" fn(
21044            outH: AEIO_OutSpecH,
21045            unicode_pathPH: *mut AEGP_MemHandle,
21046            file_reservedPB: *mut A_Boolean,
21047        ) -> A_Err,
21048    >,
21049    pub AEGP_GetOutSpecFPS: ::std::option::Option<
21050        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: *mut A_Fixed) -> A_Err,
21051    >,
21052    pub AEGP_SetOutSpecNativeFPS: ::std::option::Option<
21053        unsafe extern "C" fn(outH: AEIO_OutSpecH, native_fpsP: A_Fixed) -> A_Err,
21054    >,
21055    pub AEGP_GetOutSpecDepth: ::std::option::Option<
21056        unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: *mut A_short) -> A_Err,
21057    >,
21058    pub AEGP_SetOutSpecDepth:
21059        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, depthPS: A_short) -> A_Err>,
21060    pub AEGP_GetOutSpecInterlaceLabel: ::std::option::Option<
21061        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *mut FIEL_Label) -> A_Err,
21062    >,
21063    pub AEGP_SetOutSpecInterlaceLabel: ::std::option::Option<
21064        unsafe extern "C" fn(outH: AEIO_OutSpecH, interlaceP: *const FIEL_Label) -> A_Err,
21065    >,
21066    pub AEGP_GetOutSpecAlphaLabel: ::std::option::Option<
21067        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *mut AEIO_AlphaLabel) -> A_Err,
21068    >,
21069    pub AEGP_SetOutSpecAlphaLabel: ::std::option::Option<
21070        unsafe extern "C" fn(outH: AEIO_OutSpecH, alphaP: *const AEIO_AlphaLabel) -> A_Err,
21071    >,
21072    pub AEGP_GetOutSpecDuration: ::std::option::Option<
21073        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *mut A_Time) -> A_Err,
21074    >,
21075    pub AEGP_SetOutSpecDuration: ::std::option::Option<
21076        unsafe extern "C" fn(outH: AEIO_OutSpecH, durationP: *const A_Time) -> A_Err,
21077    >,
21078    pub AEGP_GetOutSpecDimensions: ::std::option::Option<
21079        unsafe extern "C" fn(
21080            outH: AEIO_OutSpecH,
21081            widthPL: *mut A_long,
21082            heightPL: *mut A_long,
21083        ) -> A_Err,
21084    >,
21085    pub AEGP_GetOutSpecHSF: ::std::option::Option<
21086        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *mut A_Ratio) -> A_Err,
21087    >,
21088    pub AEGP_SetOutSpecHSF: ::std::option::Option<
21089        unsafe extern "C" fn(outH: AEIO_OutSpecH, hsfP: *const A_Ratio) -> A_Err,
21090    >,
21091    pub AEGP_GetOutSpecSoundRate: ::std::option::Option<
21092        unsafe extern "C" fn(outH: AEIO_OutSpecH, ratePF: *mut A_FpLong) -> A_Err,
21093    >,
21094    pub AEGP_SetOutSpecSoundRate:
21095        ::std::option::Option<unsafe extern "C" fn(outH: AEIO_OutSpecH, rateF: A_FpLong) -> A_Err>,
21096    pub AEGP_GetOutSpecSoundEncoding: ::std::option::Option<
21097        unsafe extern "C" fn(outH: AEIO_OutSpecH, encodingP: *mut AEIO_SndEncoding) -> A_Err,
21098    >,
21099    pub AEGP_SetOutSpecSoundEncoding: ::std::option::Option<
21100        unsafe extern "C" fn(outH: AEIO_OutSpecH, encoding: AEIO_SndEncoding) -> A_Err,
21101    >,
21102    pub AEGP_GetOutSpecSoundSampleSize: ::std::option::Option<
21103        unsafe extern "C" fn(
21104            outH: AEIO_OutSpecH,
21105            bytes_per_sampleP: *mut AEIO_SndSampleSize,
21106        ) -> A_Err,
21107    >,
21108    pub AEGP_SetOutSpecSoundSampleSize: ::std::option::Option<
21109        unsafe extern "C" fn(outH: AEIO_OutSpecH, bytes_per_sample: AEIO_SndSampleSize) -> A_Err,
21110    >,
21111    pub AEGP_GetOutSpecSoundChannels: ::std::option::Option<
21112        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channelsP: *mut AEIO_SndChannels) -> A_Err,
21113    >,
21114    pub AEGP_SetOutSpecSoundChannels: ::std::option::Option<
21115        unsafe extern "C" fn(outH: AEIO_OutSpecH, num_channels: AEIO_SndChannels) -> A_Err,
21116    >,
21117    pub AEGP_GetOutSpecIsStill: ::std::option::Option<
21118        unsafe extern "C" fn(outH: AEIO_OutSpecH, is_stillPB: *mut A_Boolean) -> A_Err,
21119    >,
21120    pub AEGP_GetOutSpecPosterTime: ::std::option::Option<
21121        unsafe extern "C" fn(outH: AEIO_OutSpecH, poster_timeP: *mut A_Time) -> A_Err,
21122    >,
21123    pub AEGP_GetOutSpecStartFrame: ::std::option::Option<
21124        unsafe extern "C" fn(outH: AEIO_OutSpecH, start_frameP: *mut A_long) -> A_Err,
21125    >,
21126    pub AEGP_GetOutSpecPullDown: ::std::option::Option<
21127        unsafe extern "C" fn(outH: AEIO_OutSpecH, pulldownP: *mut AEIO_Pulldown) -> A_Err,
21128    >,
21129    pub AEGP_GetOutSpecIsMissing: ::std::option::Option<
21130        unsafe extern "C" fn(outH: AEIO_OutSpecH, missingPB: *mut A_Boolean) -> A_Err,
21131    >,
21132    pub AEGP_GetOutSpecShouldEmbedICCProfile: ::std::option::Option<
21133        unsafe extern "C" fn(outH: AEIO_OutSpecH, embedPB: *mut A_Boolean) -> A_Err,
21134    >,
21135    pub AEGP_GetNewOutSpecColorProfile: ::std::option::Option<
21136        unsafe extern "C" fn(
21137            aegp_plugin_id: AEGP_PluginID,
21138            outH: AEIO_OutSpecH,
21139            color_profilePP: *mut AEGP_ColorProfileP,
21140        ) -> A_Err,
21141    >,
21142    pub AEGP_GetOutSpecOutputModule: ::std::option::Option<
21143        unsafe extern "C" fn(
21144            outH: AEIO_OutSpecH,
21145            rq_itemP: *mut AEGP_RQItemRefH,
21146            om_refP: *mut AEGP_OutputModuleRefH,
21147        ) -> A_Err,
21148    >,
21149}
21150#[repr(C)]
21151#[derive(Debug, Copy, Clone)]
21152pub struct AEGP_FIMSuite3 {
21153    pub AEGP_RegisterImportFlavor: ::std::option::Option<
21154        unsafe extern "C" fn(nameZ: *const A_char, imp_refP: *mut AE_FIM_ImportFlavorRef) -> A_Err,
21155    >,
21156    pub AEGP_RegisterImportFlavorFileTypes: ::std::option::Option<
21157        unsafe extern "C" fn(
21158            imp_ref: AE_FIM_ImportFlavorRef,
21159            num_filekindsL: A_long,
21160            kindsAP: *const AEIO_FileKind,
21161            num_fileextsL: A_long,
21162            extsAP: *const AEIO_FileKind,
21163        ) -> A_Err,
21164    >,
21165    pub AEGP_RegisterImportFlavorImportCallbacks: ::std::option::Option<
21166        unsafe extern "C" fn(
21167            imp_ref: AE_FIM_ImportFlavorRef,
21168            single_flag: AE_FIM_ImportFlags,
21169            imp_cbsP: *const AE_FIM_ImportCallbacks,
21170        ) -> A_Err,
21171    >,
21172    pub AEGP_SetImportedItem: ::std::option::Option<
21173        unsafe extern "C" fn(
21174            imp_options: AE_FIM_ImportOptions,
21175            imported_itemH: AEGP_ItemH,
21176        ) -> A_Err,
21177    >,
21178}
21179#[repr(C)]
21180#[derive(Debug, Copy, Clone)]
21181pub struct PF_PluginData {
21182    _unused: [u8; 0],
21183}
21184pub type PF_PluginDataPtr = *mut PF_PluginData;
21185pub type PF_PluginDataCB2 = ::std::option::Option<
21186    unsafe extern "C" fn(
21187        inPtr: PF_PluginDataPtr,
21188        inNamePtr: *const A_u_char,
21189        inMatchNamePtr: *const A_u_char,
21190        inCategoryPtr: *const A_u_char,
21191        inEntryPointNamePtr: *const A_u_char,
21192        inkind: A_long,
21193        inApiVersionMajor: A_long,
21194        inApiVersionMinor: A_long,
21195        inReservedInfo: A_long,
21196        inSupportURLPtr: *const A_u_char,
21197    ) -> A_Err,
21198>;
21199pub type PF_PluginDataCB = ::std::option::Option<
21200    unsafe extern "C" fn(
21201        inPtr: PF_PluginDataPtr,
21202        inNamePtr: *const A_u_char,
21203        inMatchNamePtr: *const A_u_char,
21204        inCategoryPtr: *const A_u_char,
21205        inEntryPointNamePtr: *const A_u_char,
21206        inkind: A_long,
21207        inApiVersionMajor: A_long,
21208        inApiVersionMinor: A_long,
21209        inReservedInfo: A_long,
21210    ) -> A_Err,
21211>;
21212#[doc = "\tCurrently supported types"]
21213pub const PrPixelFormat_PrPixelFormat_BGRA_4444_8u: PrPixelFormat = 1634887522;
21214#[doc = "\tCurrently supported types"]
21215pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u: PrPixelFormat = 1635349878;
21216#[doc = "\tCurrently supported types"]
21217pub const PrPixelFormat_PrPixelFormat_VUYA_4444_8u_709: PrPixelFormat = 1096373590;
21218#[doc = "\tCurrently supported types"]
21219pub const PrPixelFormat_PrPixelFormat_ARGB_4444_8u: PrPixelFormat = 1650946657;
21220#[doc = "\tCurrently supported types"]
21221pub const PrPixelFormat_PrPixelFormat_BGRX_4444_8u: PrPixelFormat = 2020763490;
21222#[doc = "\tCurrently supported types"]
21223pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u: PrPixelFormat = 2021225846;
21224#[doc = "\tCurrently supported types"]
21225pub const PrPixelFormat_PrPixelFormat_VUYX_4444_8u_709: PrPixelFormat = 930641270;
21226#[doc = "\tCurrently supported types"]
21227pub const PrPixelFormat_PrPixelFormat_XRGB_4444_8u: PrPixelFormat = 1650946680;
21228#[doc = "\tCurrently supported types"]
21229pub const PrPixelFormat_PrPixelFormat_BGRP_4444_8u: PrPixelFormat = 1886545762;
21230#[doc = "\tCurrently supported types"]
21231pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u: PrPixelFormat = 1887008118;
21232#[doc = "\tCurrently supported types"]
21233pub const PrPixelFormat_PrPixelFormat_VUYP_4444_8u_709: PrPixelFormat = 930116982;
21234#[doc = "\tCurrently supported types"]
21235pub const PrPixelFormat_PrPixelFormat_PRGB_4444_8u: PrPixelFormat = 1650946672;
21236#[doc = "\tCurrently supported types"]
21237pub const PrPixelFormat_PrPixelFormat_BGRA_4444_16u: PrPixelFormat = 1634887490;
21238#[doc = "\tCurrently supported types"]
21239pub const PrPixelFormat_PrPixelFormat_VUYA_4444_16u: PrPixelFormat = 1635349846;
21240#[doc = "\tCurrently supported types"]
21241pub const PrPixelFormat_PrPixelFormat_ARGB_4444_16u: PrPixelFormat = 1650946625;
21242#[doc = "\tCurrently supported types"]
21243pub const PrPixelFormat_PrPixelFormat_BGRX_4444_16u: PrPixelFormat = 2020763458;
21244#[doc = "\tCurrently supported types"]
21245pub const PrPixelFormat_PrPixelFormat_XRGB_4444_16u: PrPixelFormat = 1650946648;
21246#[doc = "\tCurrently supported types"]
21247pub const PrPixelFormat_PrPixelFormat_BGRP_4444_16u: PrPixelFormat = 1886545730;
21248#[doc = "\tCurrently supported types"]
21249pub const PrPixelFormat_PrPixelFormat_PRGB_4444_16u: PrPixelFormat = 1650946640;
21250#[doc = "\tCurrently supported types"]
21251pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f: PrPixelFormat = 1634879298;
21252#[doc = "\tCurrently supported types"]
21253pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f: PrPixelFormat = 1635341654;
21254#[doc = "\tCurrently supported types"]
21255pub const PrPixelFormat_PrPixelFormat_VUYA_4444_32f_709: PrPixelFormat = 1633244534;
21256#[doc = "\tCurrently supported types"]
21257pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f: PrPixelFormat = 1650938433;
21258#[doc = "\tCurrently supported types"]
21259pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f: PrPixelFormat = 2020755266;
21260#[doc = "\tCurrently supported types"]
21261pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f: PrPixelFormat = 2021217622;
21262#[doc = "\tCurrently supported types"]
21263pub const PrPixelFormat_PrPixelFormat_VUYX_4444_32f_709: PrPixelFormat = 930633046;
21264#[doc = "\tCurrently supported types"]
21265pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f: PrPixelFormat = 1650938456;
21266#[doc = "\tCurrently supported types"]
21267pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f: PrPixelFormat = 1886537538;
21268#[doc = "\tCurrently supported types"]
21269pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f: PrPixelFormat = 1886999894;
21270#[doc = "\tCurrently supported types"]
21271pub const PrPixelFormat_PrPixelFormat_VUYP_4444_32f_709: PrPixelFormat = 930108758;
21272#[doc = "\tCurrently supported types"]
21273pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f: PrPixelFormat = 1650938448;
21274#[doc = "\tCurrently supported types"]
21275pub const PrPixelFormat_PrPixelFormat_RGB_444_10u: PrPixelFormat = 826427218;
21276#[doc = "\tCurrently supported types"]
21277pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_601: PrPixelFormat = 846820729;
21278#[doc = "\tCurrently supported types"]
21279pub const PrPixelFormat_PrPixelFormat_YUYV_422_8u_709: PrPixelFormat = 863597945;
21280#[doc = "\tCurrently supported types"]
21281pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_601: PrPixelFormat = 2037807477;
21282#[doc = "\tCurrently supported types"]
21283pub const PrPixelFormat_PrPixelFormat_UYVY_422_8u_709: PrPixelFormat = 930511221;
21284#[doc = "\tCurrently supported types"]
21285pub const PrPixelFormat_PrPixelFormat_V210_422_10u_601: PrPixelFormat = 808530550;
21286#[doc = "\tCurrently supported types"]
21287pub const PrPixelFormat_PrPixelFormat_V210_422_10u_709: PrPixelFormat = 825307766;
21288#[doc = "\tCurrently supported types"]
21289pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_601: PrPixelFormat = 2037799253;
21290#[doc = "\tCurrently supported types"]
21291pub const PrPixelFormat_PrPixelFormat_UYVY_422_32f_709: PrPixelFormat = 930502997;
21292#[doc = "\tCurrently supported types"]
21293pub const PrPixelFormat_PrPixelFormat_BGRA_4444_32f_Linear: PrPixelFormat = 1281443650;
21294#[doc = "\tCurrently supported types"]
21295pub const PrPixelFormat_PrPixelFormat_BGRP_4444_32f_Linear: PrPixelFormat = 1282426690;
21296#[doc = "\tCurrently supported types"]
21297pub const PrPixelFormat_PrPixelFormat_BGRX_4444_32f_Linear: PrPixelFormat = 1282950978;
21298#[doc = "\tCurrently supported types"]
21299pub const PrPixelFormat_PrPixelFormat_ARGB_4444_32f_Linear: PrPixelFormat = 1281839681;
21300#[doc = "\tCurrently supported types"]
21301pub const PrPixelFormat_PrPixelFormat_PRGB_4444_32f_Linear: PrPixelFormat = 1281839696;
21302#[doc = "\tCurrently supported types"]
21303pub const PrPixelFormat_PrPixelFormat_XRGB_4444_32f_Linear: PrPixelFormat = 1281839704;
21304#[doc = "\tCurrently supported types"]
21305pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_709: PrPixelFormat = 928075840;
21306pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_P3: PrPixelFormat = 1347506240;
21307pub const PrPixelFormat_PrPixelFormat_RGB_444_12u_PQ_2020: PrPixelFormat = 844189760;
21308pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
21309    842102393;
21310pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
21311    845772409;
21312pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange:
21313    PrPixelFormat = 1714517625;
21314pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange:
21315    PrPixelFormat = 1718187641;
21316pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
21317    925988473;
21318pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
21319    929658489;
21320pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange:
21321    PrPixelFormat = 1177646713;
21322pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange:
21323    PrPixelFormat = 1181316729;
21324pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601: PrPixelFormat =
21325    842102361;
21326pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601: PrPixelFormat =
21327    845772377;
21328pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange:
21329    PrPixelFormat = 1714517593;
21330pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange:
21331    PrPixelFormat = 1718187609;
21332pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709: PrPixelFormat =
21333    925988441;
21334pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709: PrPixelFormat =
21335    929658457;
21336pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange:
21337    PrPixelFormat = 1177646681;
21338pub const PrPixelFormat_PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange:
21339    PrPixelFormat = 1181316697;
21340pub const PrPixelFormat_PrPixelFormat_NTSCDV25: PrPixelFormat = 846100068;
21341pub const PrPixelFormat_PrPixelFormat_PALDV25: PrPixelFormat = 846231140;
21342pub const PrPixelFormat_PrPixelFormat_NTSCDV50: PrPixelFormat = 896431716;
21343pub const PrPixelFormat_PrPixelFormat_PALDV50: PrPixelFormat = 896562788;
21344pub const PrPixelFormat_PrPixelFormat_NTSCDV100_720p: PrPixelFormat = 929986148;
21345pub const PrPixelFormat_PrPixelFormat_PALDV100_720p: PrPixelFormat = 930117220;
21346pub const PrPixelFormat_PrPixelFormat_NTSCDV100_1080i: PrPixelFormat = 829322852;
21347pub const PrPixelFormat_PrPixelFormat_PALDV100_1080i: PrPixelFormat = 829453924;
21348pub const PrPixelFormat_PrPixelFormat_Raw: PrPixelFormat = 2004312434;
21349pub const PrPixelFormat_PrPixelFormat_Invalid: PrPixelFormat = 1717854562;
21350pub const PrPixelFormat_PrPixelFormat_Any: PrPixelFormat = 0;
21351#[doc = "\tPremiere supported pixel formats for RenderFrame and PPixs"]
21352pub type PrPixelFormat = ::std::os::raw::c_uint;
21353pub type csSDK_uint32 = ::std::os::raw::c_uint;
21354pub type csSDK_int32 = ::std::os::raw::c_int;
21355pub type csSDK_int64 = i64;
21356pub type prInt64 = csSDK_int64;
21357pub type prFieldType = csSDK_int32;
21358pub type PrTimelineID = csSDK_int32;
21359pub type PrClipID = csSDK_int32;
21360pub type PrTime = prInt64;
21361#[repr(C)]
21362#[derive(Debug, Copy, Clone)]
21363pub struct PrSDKString {
21364    pub opaque: [csSDK_int64; 2usize],
21365}
21366pub const PF_TimeDisplay_24: _bindgen_ty_176 = 1;
21367pub const PF_TimeDisplay_25: _bindgen_ty_176 = 2;
21368pub const PF_TimeDisplay_30Drop: _bindgen_ty_176 = 3;
21369pub const PF_TimeDisplay_30NonDrop: _bindgen_ty_176 = 4;
21370pub const PF_TimeDisplay_50: _bindgen_ty_176 = 5;
21371pub const PF_TimeDisplay_60Drop: _bindgen_ty_176 = 6;
21372pub const PF_TimeDisplay_60NonDrop: _bindgen_ty_176 = 7;
21373pub const PF_TimeDisplay_NonStandard: _bindgen_ty_176 = 8;
21374pub const PF_TimeDisplay_Invalid: _bindgen_ty_176 = 9;
21375pub type _bindgen_ty_176 = ::std::os::raw::c_uint;
21376pub type PF_TimeDisplay = csSDK_uint32;
21377#[repr(C)]
21378#[derive(Debug, Copy, Clone)]
21379pub struct PF_PixelFormatSuite {
21380    pub AddSupportedPixelFormat: ::std::option::Option<
21381        unsafe extern "C" fn(effect_ref: PF_ProgPtr, pixelFormat: PrPixelFormat) -> PF_Err,
21382    >,
21383    pub ClearSupportedPixelFormats:
21384        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
21385    pub NewWorldOfPixelFormat: ::std::option::Option<
21386        unsafe extern "C" fn(
21387            effect_ref: PF_ProgPtr,
21388            width: A_u_long,
21389            height: A_u_long,
21390            flags: PF_NewWorldFlags,
21391            pixelFormat: PrPixelFormat,
21392            world: *mut PF_EffectWorld,
21393        ) -> PF_Err,
21394    >,
21395    pub DisposeWorld: ::std::option::Option<
21396        unsafe extern "C" fn(effect_ref: PF_ProgPtr, world: *mut PF_EffectWorld) -> PF_Err,
21397    >,
21398    pub GetPixelFormat: ::std::option::Option<
21399        unsafe extern "C" fn(
21400            inWorld: *mut PF_EffectWorld,
21401            pixelFormat: *mut PrPixelFormat,
21402        ) -> PF_Err,
21403    >,
21404    pub GetBlackForPixelFormat: ::std::option::Option<
21405        unsafe extern "C" fn(
21406            pixelFormat: PrPixelFormat,
21407            pixelData: *mut ::std::os::raw::c_void,
21408        ) -> PF_Err,
21409    >,
21410    pub GetWhiteForPixelFormat: ::std::option::Option<
21411        unsafe extern "C" fn(
21412            pixelFormat: PrPixelFormat,
21413            pixelData: *mut ::std::os::raw::c_void,
21414        ) -> PF_Err,
21415    >,
21416    pub ConvertColorToPixelFormattedData: ::std::option::Option<
21417        unsafe extern "C" fn(
21418            pixelFormat: PrPixelFormat,
21419            alpha: f32,
21420            red: f32,
21421            green: f32,
21422            blue: f32,
21423            pixelData: *mut ::std::os::raw::c_void,
21424        ) -> PF_Err,
21425    >,
21426}
21427pub type PF_PixelFormatSuite1 = PF_PixelFormatSuite;
21428#[repr(C)]
21429#[derive(Debug, Copy, Clone)]
21430pub struct PF_BackgroundFrameSuite {
21431    pub AddSupportedBackgroundTransferMode: ::std::option::Option<
21432        unsafe extern "C" fn(
21433            inEffectRef: PF_ProgPtr,
21434            supportedTransferMode: PF_TransferMode,
21435            supportedPixelFormat: PrPixelFormat,
21436        ) -> PF_Err,
21437    >,
21438    pub GetBackgroundFrame: ::std::option::Option<
21439        unsafe extern "C" fn(
21440            inEffectRef: PF_ProgPtr,
21441            backgroundFrame: *mut *mut PF_LayerDef,
21442            backgroundTransferMode: *mut PF_TransferMode,
21443        ) -> PF_Err,
21444    >,
21445}
21446pub type PF_BackgroundFrameSuite1 = PF_BackgroundFrameSuite;
21447#[repr(C)]
21448#[derive(Debug, Copy, Clone)]
21449pub struct PF_UtilitySuite4 {
21450    pub GetFilterInstanceID: ::std::option::Option<
21451        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
21452    >,
21453    pub GetMediaTimecode: ::std::option::Option<
21454        unsafe extern "C" fn(
21455            effect_ref: PF_ProgPtr,
21456            outCurrentFrame: *mut A_long,
21457            outTimeDisplay: *mut PF_TimeDisplay,
21458        ) -> PF_Err,
21459    >,
21460    pub GetClipSpeed: ::std::option::Option<
21461        unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
21462    >,
21463    pub GetClipDuration: ::std::option::Option<
21464        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21465    >,
21466    pub GetClipStart: ::std::option::Option<
21467        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21468    >,
21469    pub GetUnscaledClipDuration: ::std::option::Option<
21470        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21471    >,
21472    pub GetUnscaledClipStart: ::std::option::Option<
21473        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21474    >,
21475    pub GetTrackItemStart: ::std::option::Option<
21476        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21477    >,
21478    pub GetMediaFieldType: ::std::option::Option<
21479        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
21480    >,
21481    pub GetMediaFrameRate: ::std::option::Option<
21482        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
21483    >,
21484    pub GetContainingTimelineID: ::std::option::Option<
21485        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
21486    >,
21487    pub GetClipName: ::std::option::Option<
21488        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
21489    >,
21490    pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
21491        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
21492}
21493#[repr(C)]
21494#[derive(Debug, Copy, Clone)]
21495pub struct PF_UtilitySuite {
21496    pub GetFilterInstanceID: ::std::option::Option<
21497        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFilterInstanceID: *mut A_long) -> PF_Err,
21498    >,
21499    pub GetMediaTimecode: ::std::option::Option<
21500        unsafe extern "C" fn(
21501            effect_ref: PF_ProgPtr,
21502            outCurrentFrame: *mut A_long,
21503            outTimeDisplay: *mut PF_TimeDisplay,
21504        ) -> PF_Err,
21505    >,
21506    pub GetClipSpeed: ::std::option::Option<
21507        unsafe extern "C" fn(effect_ref: PF_ProgPtr, speed: *mut f64) -> PF_Err,
21508    >,
21509    pub GetClipDuration: ::std::option::Option<
21510        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21511    >,
21512    pub GetClipStart: ::std::option::Option<
21513        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21514    >,
21515    pub GetUnscaledClipDuration: ::std::option::Option<
21516        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21517    >,
21518    pub GetUnscaledClipStart: ::std::option::Option<
21519        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21520    >,
21521    pub GetTrackItemStart: ::std::option::Option<
21522        unsafe extern "C" fn(effect_ref: PF_ProgPtr, frameDuration: *mut A_long) -> PF_Err,
21523    >,
21524    pub GetMediaFieldType: ::std::option::Option<
21525        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outFieldType: *mut prFieldType) -> PF_Err,
21526    >,
21527    pub GetMediaFrameRate: ::std::option::Option<
21528        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
21529    >,
21530    pub GetContainingTimelineID: ::std::option::Option<
21531        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTimelineID: *mut PrTimelineID) -> PF_Err,
21532    >,
21533    pub GetClipName: ::std::option::Option<
21534        unsafe extern "C" fn(
21535            effect_ref: PF_ProgPtr,
21536            inGetMasterClipName: A_Boolean,
21537            outSDKString: *mut PrSDKString,
21538        ) -> PF_Err,
21539    >,
21540    pub EffectWantsCheckedOutFramesToMatchRenderPixelFormat:
21541        ::std::option::Option<unsafe extern "C" fn(effect_ref: PF_ProgPtr) -> PF_Err>,
21542    pub EffectDependsOnClipName: ::std::option::Option<
21543        unsafe extern "C" fn(effect_ref: PF_ProgPtr, inDependsOnClipName: A_Boolean) -> PF_Err,
21544    >,
21545    pub SetEffectInstanceName: ::std::option::Option<
21546        unsafe extern "C" fn(effect_ref: PF_ProgPtr, inSDKString: *const PrSDKString) -> PF_Err,
21547    >,
21548    pub GetFileName: ::std::option::Option<
21549        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outSDKString: *mut PrSDKString) -> PF_Err,
21550    >,
21551    pub GetOriginalClipFrameRate: ::std::option::Option<
21552        unsafe extern "C" fn(effect_ref: PF_ProgPtr, outTicksPerFrame: *mut PrTime) -> PF_Err,
21553    >,
21554    pub GetSourceTrackMediaTimecode: ::std::option::Option<
21555        unsafe extern "C" fn(
21556            effect_ref: PF_ProgPtr,
21557            inLayerParamIndex: csSDK_uint32,
21558            inApplyTransform: bool,
21559            inAddStartTimeOffset: bool,
21560            outCurrentFrame: *mut A_long,
21561        ) -> PF_Err,
21562    >,
21563    pub GetSourceTrackClipName: ::std::option::Option<
21564        unsafe extern "C" fn(
21565            effect_ref: PF_ProgPtr,
21566            inLayerParamIndex: csSDK_uint32,
21567            inGetMasterClipName: A_Boolean,
21568            outSDKString: *mut PrSDKString,
21569        ) -> PF_Err,
21570    >,
21571    pub GetSourceTrackFileName: ::std::option::Option<
21572        unsafe extern "C" fn(
21573            effect_ref: PF_ProgPtr,
21574            inLayerParamIndex: csSDK_uint32,
21575            outSDKString: *mut PrSDKString,
21576        ) -> PF_Err,
21577    >,
21578    pub EffectDependsOnClipName2: ::std::option::Option<
21579        unsafe extern "C" fn(
21580            effect_ref: PF_ProgPtr,
21581            inDependsOnClipName: A_Boolean,
21582            inLayerParamIndex: csSDK_uint32,
21583        ) -> PF_Err,
21584    >,
21585    pub GetMediaTimecode2: ::std::option::Option<
21586        unsafe extern "C" fn(
21587            effect_ref: PF_ProgPtr,
21588            inApplyTrim: bool,
21589            outCurrentFrame: *mut A_long,
21590            outTimeDisplay: *mut PF_TimeDisplay,
21591        ) -> PF_Err,
21592    >,
21593    pub GetSourceTrackMediaTimecode2: ::std::option::Option<
21594        unsafe extern "C" fn(
21595            effect_ref: PF_ProgPtr,
21596            inLayerParamIndex: csSDK_uint32,
21597            inApplyTransform: bool,
21598            inAddStartTimeOffset: bool,
21599            inSequenceTime: PrTime,
21600            outCurrentFrame: *mut A_long,
21601        ) -> PF_Err,
21602    >,
21603    pub GetSourceTrackClipName2: ::std::option::Option<
21604        unsafe extern "C" fn(
21605            effect_ref: PF_ProgPtr,
21606            inLayerParamIndex: csSDK_uint32,
21607            inGetMasterClipName: A_Boolean,
21608            outSDKString: *mut PrSDKString,
21609            inSequenceTime: PrTime,
21610        ) -> PF_Err,
21611    >,
21612    pub GetSourceTrackFileName2: ::std::option::Option<
21613        unsafe extern "C" fn(
21614            effect_ref: PF_ProgPtr,
21615            inLayerParamIndex: csSDK_uint32,
21616            outSDKString: *mut PrSDKString,
21617            inSequenceTime: PrTime,
21618        ) -> PF_Err,
21619    >,
21620    pub GetCommentString: ::std::option::Option<
21621        unsafe extern "C" fn(
21622            inEffectRef: PF_ProgPtr,
21623            inSourceTrack: i32,
21624            inSequenceTime: PrTime,
21625            outSDKString: *mut PrSDKString,
21626        ) -> PF_Err,
21627    >,
21628    pub GetLogNoteString: ::std::option::Option<
21629        unsafe extern "C" fn(
21630            inEffectRef: PF_ProgPtr,
21631            inSourceTrack: i32,
21632            inSequenceTime: PrTime,
21633            outSDKString: *mut PrSDKString,
21634        ) -> PF_Err,
21635    >,
21636    pub GetCameraRollString: ::std::option::Option<
21637        unsafe extern "C" fn(
21638            inEffectRef: PF_ProgPtr,
21639            inSourceTrack: i32,
21640            inSequenceTime: PrTime,
21641            outSDKString: *mut PrSDKString,
21642        ) -> PF_Err,
21643    >,
21644    pub GetClientMetadataString: ::std::option::Option<
21645        unsafe extern "C" fn(
21646            inEffectRef: PF_ProgPtr,
21647            inSourceTrack: i32,
21648            inSequenceTime: PrTime,
21649            outSDKString: *mut PrSDKString,
21650        ) -> PF_Err,
21651    >,
21652    pub GetDailyRollString: ::std::option::Option<
21653        unsafe extern "C" fn(
21654            inEffectRef: PF_ProgPtr,
21655            inSourceTrack: i32,
21656            inSequenceTime: PrTime,
21657            outSDKString: *mut PrSDKString,
21658        ) -> PF_Err,
21659    >,
21660    pub GetDescriptionString: ::std::option::Option<
21661        unsafe extern "C" fn(
21662            inEffectRef: PF_ProgPtr,
21663            inSourceTrack: i32,
21664            inSequenceTime: PrTime,
21665            outSDKString: *mut PrSDKString,
21666        ) -> PF_Err,
21667    >,
21668    pub GetLabRollString: ::std::option::Option<
21669        unsafe extern "C" fn(
21670            inEffectRef: PF_ProgPtr,
21671            inSourceTrack: i32,
21672            inSequenceTime: PrTime,
21673            outSDKString: *mut PrSDKString,
21674        ) -> PF_Err,
21675    >,
21676    pub GetSceneString: ::std::option::Option<
21677        unsafe extern "C" fn(
21678            inEffectRef: PF_ProgPtr,
21679            inSourceTrack: i32,
21680            inSequenceTime: PrTime,
21681            outSDKString: *mut PrSDKString,
21682        ) -> PF_Err,
21683    >,
21684    pub GetShotString: ::std::option::Option<
21685        unsafe extern "C" fn(
21686            inEffectRef: PF_ProgPtr,
21687            inSourceTrack: i32,
21688            inSequenceTime: PrTime,
21689            outSDKString: *mut PrSDKString,
21690        ) -> PF_Err,
21691    >,
21692    pub GetTapeNameString: ::std::option::Option<
21693        unsafe extern "C" fn(
21694            inEffectRef: PF_ProgPtr,
21695            inSourceTrack: i32,
21696            inSequenceTime: PrTime,
21697            outSDKString: *mut PrSDKString,
21698        ) -> PF_Err,
21699    >,
21700    pub GetVideoCodecString: ::std::option::Option<
21701        unsafe extern "C" fn(
21702            inEffectRef: PF_ProgPtr,
21703            inSourceTrack: i32,
21704            inSequenceTime: PrTime,
21705            outSDKString: *mut PrSDKString,
21706        ) -> PF_Err,
21707    >,
21708    pub GetGoodMetadataString: ::std::option::Option<
21709        unsafe extern "C" fn(
21710            inEffectRef: PF_ProgPtr,
21711            inSourceTrack: i32,
21712            inSequenceTime: PrTime,
21713            outSDKString: *mut PrSDKString,
21714        ) -> PF_Err,
21715    >,
21716    pub GetSoundRollString: ::std::option::Option<
21717        unsafe extern "C" fn(
21718            inEffectRef: PF_ProgPtr,
21719            inSourceTrack: i32,
21720            inSequenceTime: PrTime,
21721            outSDKString: *mut PrSDKString,
21722        ) -> PF_Err,
21723    >,
21724    pub GetSequenceTime: ::std::option::Option<
21725        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, outSequenceTime: *mut PrTime) -> PF_Err,
21726    >,
21727    pub GetSoundTimecode: ::std::option::Option<
21728        unsafe extern "C" fn(
21729            inEffectRef: PF_ProgPtr,
21730            inSourceTrack: i32,
21731            inSequenceTime: PrTime,
21732            outCurrentFrame: *mut A_long,
21733        ) -> PF_Err,
21734    >,
21735    pub GetOriginalClipFrameRateForSourceTrack: ::std::option::Option<
21736        unsafe extern "C" fn(
21737            inEffectRef: PF_ProgPtr,
21738            inSourceTrack: i32,
21739            outTicksPerFrame: *mut PrTime,
21740        ) -> PF_Err,
21741    >,
21742    pub GetMediaFrameRateForSourceTrack: ::std::option::Option<
21743        unsafe extern "C" fn(
21744            inEffectRef: PF_ProgPtr,
21745            inSourceTrack: i32,
21746            inSequenceTime: PrTime,
21747            outTicksPerFrame: *mut PrTime,
21748        ) -> PF_Err,
21749    >,
21750    pub GetSourceTrackMediaActualStartTime: ::std::option::Option<
21751        unsafe extern "C" fn(
21752            inEffectRef: PF_ProgPtr,
21753            inLayerParamIndex: csSDK_uint32,
21754            inSequenceTime: PrTime,
21755            outClipActualStartTime: *mut PrTime,
21756        ) -> PF_Err,
21757    >,
21758    pub IsSourceTrackMediaTrimmed: ::std::option::Option<
21759        unsafe extern "C" fn(
21760            inEffectRef: PF_ProgPtr,
21761            inLayerParamIndex: csSDK_uint32,
21762            inSequenceTime: PrTime,
21763            outTrimApplied: *mut bool,
21764        ) -> PF_Err,
21765    >,
21766    pub IsMediaTrimmed: ::std::option::Option<
21767        unsafe extern "C" fn(
21768            inEffectRef: PF_ProgPtr,
21769            inSequenceTime: PrTime,
21770            outTrimApplied: *mut bool,
21771        ) -> PF_Err,
21772    >,
21773    pub IsTrackEmpty: ::std::option::Option<
21774        unsafe extern "C" fn(
21775            inEffectRef: PF_ProgPtr,
21776            inLayerParamIndex: csSDK_uint32,
21777            inSequenceTime: PrTime,
21778            outIsTrackEmpty: *mut bool,
21779        ) -> PF_Err,
21780    >,
21781    pub IsTrackItemEffectAppliedToSynthetic: ::std::option::Option<
21782        unsafe extern "C" fn(
21783            inEffectRef: PF_ProgPtr,
21784            outIsTrackItemEffectAppliedToSynthetic: *mut bool,
21785        ) -> PF_Err,
21786    >,
21787}
21788pub type PF_UtilitySuiteVersion1 = PF_UtilitySuite;
21789pub type PF_UtilitySuite2 = PF_UtilitySuite;
21790pub type PF_UtilitySuite3 = PF_UtilitySuite;
21791pub type PF_UtilitySuite5 = PF_UtilitySuite;
21792pub type PF_UtilitySuite6 = PF_UtilitySuite;
21793pub type PF_UtilitySuite7 = PF_UtilitySuite;
21794pub type PF_UtilitySuite8 = PF_UtilitySuite;
21795#[repr(C)]
21796#[derive(Debug, Copy, Clone)]
21797pub struct PF_SourceSettingsSuite {
21798    pub PerformSourceSettingsCommand: ::std::option::Option<
21799        unsafe extern "C" fn(
21800            effect_ref: PF_ProgPtr,
21801            ioCommandStruct: *mut ::std::os::raw::c_void,
21802            inDataSize: csSDK_uint32,
21803        ) -> PF_Err,
21804    >,
21805}
21806#[repr(C)]
21807#[derive(Debug, Copy, Clone)]
21808pub struct PF_TransitionSuite {
21809    #[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."]
21810    pub RegisterTransitionInputParam: ::std::option::Option<
21811        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
21812    >,
21813    #[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."]
21814    pub RegisterTransitionStartParam: ::std::option::Option<
21815        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
21816    >,
21817    #[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."]
21818    pub RegisterTransitionEndParam: ::std::option::Option<
21819        unsafe extern "C" fn(inEffectRef: PF_ProgPtr, inIndex: PF_ParamIndex) -> PF_Err,
21820    >,
21821}
21822pub type ADOBESDK_UTF16Char = u16;
21823pub type ADOBESDK_Boolean = u8;
21824pub type DRAWBOT_UTF16Char = ADOBESDK_UTF16Char;
21825pub type DRAWBOT_Boolean = ADOBESDK_Boolean;
21826#[repr(C)]
21827#[derive(Debug, Copy, Clone)]
21828pub struct DRAWBOT_DrawbotSuite1 {
21829    pub GetSupplier: ::std::option::Option<
21830        unsafe extern "C" fn(
21831            in_drawbot_ref: DRAWBOT_DrawRef,
21832            out_supplierP: *mut DRAWBOT_SupplierRef,
21833        ) -> SPErr,
21834    >,
21835    pub GetSurface: ::std::option::Option<
21836        unsafe extern "C" fn(
21837            in_drawbot_ref: DRAWBOT_DrawRef,
21838            out_surfaceP: *mut DRAWBOT_SurfaceRef,
21839        ) -> SPErr,
21840    >,
21841}
21842#[repr(C)]
21843#[derive(Debug, Copy, Clone)]
21844pub struct DRAWBOT_SupplierSuite1 {
21845    pub NewPen: ::std::option::Option<
21846        unsafe extern "C" fn(
21847            in_supplier_ref: DRAWBOT_SupplierRef,
21848            in_colorP: *const DRAWBOT_ColorRGBA,
21849            in_size: f32,
21850            out_penP: *mut DRAWBOT_PenRef,
21851        ) -> SPErr,
21852    >,
21853    pub NewBrush: ::std::option::Option<
21854        unsafe extern "C" fn(
21855            in_supplier_ref: DRAWBOT_SupplierRef,
21856            in_colorP: *const DRAWBOT_ColorRGBA,
21857            out_brushP: *mut DRAWBOT_BrushRef,
21858        ) -> SPErr,
21859    >,
21860    pub SupportsText: ::std::option::Option<
21861        unsafe extern "C" fn(
21862            in_supplier_ref: DRAWBOT_SupplierRef,
21863            out_supports_textPB: *mut DRAWBOT_Boolean,
21864        ) -> SPErr,
21865    >,
21866    pub GetDefaultFontSize: ::std::option::Option<
21867        unsafe extern "C" fn(
21868            in_supplier_ref: DRAWBOT_SupplierRef,
21869            out_font_sizeF: *mut f32,
21870        ) -> SPErr,
21871    >,
21872    pub NewDefaultFont: ::std::option::Option<
21873        unsafe extern "C" fn(
21874            in_supplier_ref: DRAWBOT_SupplierRef,
21875            in_font_sizeF: f32,
21876            out_fontP: *mut DRAWBOT_FontRef,
21877        ) -> SPErr,
21878    >,
21879    pub NewImageFromBuffer: ::std::option::Option<
21880        unsafe extern "C" fn(
21881            in_supplier_ref: DRAWBOT_SupplierRef,
21882            in_width: ::std::os::raw::c_int,
21883            in_height: ::std::os::raw::c_int,
21884            in_row_bytes: ::std::os::raw::c_int,
21885            in_pl: DRAWBOT_PixelLayout,
21886            in_dataP: *const ::std::os::raw::c_void,
21887            out_imageP: *mut DRAWBOT_ImageRef,
21888        ) -> SPErr,
21889    >,
21890    pub NewPath: ::std::option::Option<
21891        unsafe extern "C" fn(
21892            in_supplier_ref: DRAWBOT_SupplierRef,
21893            out_pathP: *mut DRAWBOT_PathRef,
21894        ) -> SPErr,
21895    >,
21896    pub SupportsPixelLayoutBGRA: ::std::option::Option<
21897        unsafe extern "C" fn(
21898            in_supplier_ref: DRAWBOT_SupplierRef,
21899            out_supports_bgraPB: *mut DRAWBOT_Boolean,
21900        ) -> SPErr,
21901    >,
21902    pub PrefersPixelLayoutBGRA: ::std::option::Option<
21903        unsafe extern "C" fn(
21904            in_supplier_ref: DRAWBOT_SupplierRef,
21905            out_prefers_bgraPB: *mut DRAWBOT_Boolean,
21906        ) -> SPErr,
21907    >,
21908    pub SupportsPixelLayoutARGB: ::std::option::Option<
21909        unsafe extern "C" fn(
21910            in_supplier_ref: DRAWBOT_SupplierRef,
21911            out_supports_argbPB: *mut DRAWBOT_Boolean,
21912        ) -> SPErr,
21913    >,
21914    pub PrefersPixelLayoutARGB: ::std::option::Option<
21915        unsafe extern "C" fn(
21916            in_supplier_ref: DRAWBOT_SupplierRef,
21917            out_prefers_argbPB: *mut DRAWBOT_Boolean,
21918        ) -> SPErr,
21919    >,
21920    pub RetainObject:
21921        ::std::option::Option<unsafe extern "C" fn(in_obj_ref: DRAWBOT_ObjectRef) -> SPErr>,
21922    pub ReleaseObject:
21923        ::std::option::Option<unsafe extern "C" fn(in_obj_ref: DRAWBOT_ObjectRef) -> SPErr>,
21924}
21925#[repr(C)]
21926#[derive(Debug, Copy, Clone)]
21927pub struct DRAWBOT_SurfaceSuite1 {
21928    pub PushStateStack:
21929        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
21930    pub PopStateStack:
21931        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
21932    pub PaintRect: ::std::option::Option<
21933        unsafe extern "C" fn(
21934            in_surface_ref: DRAWBOT_SurfaceRef,
21935            in_colorP: *const DRAWBOT_ColorRGBA,
21936            in_rectPR: *const DRAWBOT_RectF32,
21937        ) -> SPErr,
21938    >,
21939    pub FillPath: ::std::option::Option<
21940        unsafe extern "C" fn(
21941            in_surface_ref: DRAWBOT_SurfaceRef,
21942            in_brush_ref: DRAWBOT_BrushRef,
21943            in_path_ref: DRAWBOT_PathRef,
21944            in_fill_type: DRAWBOT_FillType,
21945        ) -> SPErr,
21946    >,
21947    pub StrokePath: ::std::option::Option<
21948        unsafe extern "C" fn(
21949            in_surface_ref: DRAWBOT_SurfaceRef,
21950            in_pen_ref: DRAWBOT_PenRef,
21951            in_path_ref: DRAWBOT_PathRef,
21952        ) -> SPErr,
21953    >,
21954    pub Clip: ::std::option::Option<
21955        unsafe extern "C" fn(
21956            in_surface_ref: DRAWBOT_SurfaceRef,
21957            in_supplier_ref: DRAWBOT_SupplierRef,
21958            in_rectPR: *const DRAWBOT_Rect32,
21959        ) -> SPErr,
21960    >,
21961    pub GetClipBounds: ::std::option::Option<
21962        unsafe extern "C" fn(
21963            in_surface_ref: DRAWBOT_SurfaceRef,
21964            out_rectPR: *mut DRAWBOT_Rect32,
21965        ) -> SPErr,
21966    >,
21967    pub IsWithinClipBounds: ::std::option::Option<
21968        unsafe extern "C" fn(
21969            in_surface_ref: DRAWBOT_SurfaceRef,
21970            in_rectPR: *const DRAWBOT_Rect32,
21971            out_withinPB: *mut DRAWBOT_Boolean,
21972        ) -> SPErr,
21973    >,
21974    pub Transform: ::std::option::Option<
21975        unsafe extern "C" fn(
21976            in_surface_ref: DRAWBOT_SurfaceRef,
21977            in_matrixP: *const DRAWBOT_MatrixF32,
21978        ) -> SPErr,
21979    >,
21980    pub DrawString: ::std::option::Option<
21981        unsafe extern "C" fn(
21982            in_surface_ref: DRAWBOT_SurfaceRef,
21983            in_brush_ref: DRAWBOT_BrushRef,
21984            in_font_ref: DRAWBOT_FontRef,
21985            in_stringP: *const DRAWBOT_UTF16Char,
21986            in_originP: *const DRAWBOT_PointF32,
21987            in_alignment_style: DRAWBOT_TextAlignment,
21988            in_truncation_style: DRAWBOT_TextTruncation,
21989            in_truncation_width: f32,
21990        ) -> SPErr,
21991    >,
21992    pub DrawImage: ::std::option::Option<
21993        unsafe extern "C" fn(
21994            in_surface_ref: DRAWBOT_SurfaceRef,
21995            in_image_ref: DRAWBOT_ImageRef,
21996            in_originP: *const DRAWBOT_PointF32,
21997            in_alpha: f32,
21998        ) -> SPErr,
21999    >,
22000    pub SetInterpolationPolicy: ::std::option::Option<
22001        unsafe extern "C" fn(
22002            in_surface_ref: DRAWBOT_SurfaceRef,
22003            in_interp: DRAWBOT_InterpolationPolicy,
22004        ) -> SPErr,
22005    >,
22006    pub GetInterpolationPolicy: ::std::option::Option<
22007        unsafe extern "C" fn(
22008            in_surface_ref: DRAWBOT_SurfaceRef,
22009            out_interpP: *mut DRAWBOT_InterpolationPolicy,
22010        ) -> SPErr,
22011    >,
22012    pub SetAntiAliasPolicy: ::std::option::Option<
22013        unsafe extern "C" fn(
22014            in_surface_ref: DRAWBOT_SurfaceRef,
22015            in_policy: DRAWBOT_AntiAliasPolicy,
22016        ) -> SPErr,
22017    >,
22018    pub GetAntiAliasPolicy: ::std::option::Option<
22019        unsafe extern "C" fn(
22020            in_surface_ref: DRAWBOT_SurfaceRef,
22021            out_policyP: *mut DRAWBOT_AntiAliasPolicy,
22022        ) -> SPErr,
22023    >,
22024    pub Flush:
22025        ::std::option::Option<unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef) -> SPErr>,
22026    pub GetTransformToScreenScale: ::std::option::Option<
22027        unsafe extern "C" fn(in_surface_ref: DRAWBOT_SurfaceRef, out_scale: *mut f32) -> SPErr,
22028    >,
22029}
22030pub type DRAWBOT_SurfaceSuite2 = DRAWBOT_SurfaceSuite1;
22031#[repr(C)]
22032#[derive(Debug, Copy, Clone)]
22033pub struct DRAWBOT_PathSuite1 {
22034    pub MoveTo: ::std::option::Option<
22035        unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef, in_x: f32, in_y: f32) -> SPErr,
22036    >,
22037    pub LineTo: ::std::option::Option<
22038        unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef, in_x: f32, in_y: f32) -> SPErr,
22039    >,
22040    pub BezierTo: ::std::option::Option<
22041        unsafe extern "C" fn(
22042            in_path_ref: DRAWBOT_PathRef,
22043            in_pt1P: *const DRAWBOT_PointF32,
22044            in_pt2P: *const DRAWBOT_PointF32,
22045            in_pt3P: *const DRAWBOT_PointF32,
22046        ) -> SPErr,
22047    >,
22048    pub AddRect: ::std::option::Option<
22049        unsafe extern "C" fn(
22050            in_path_ref: DRAWBOT_PathRef,
22051            in_rectPR: *const DRAWBOT_RectF32,
22052        ) -> SPErr,
22053    >,
22054    pub AddArc: ::std::option::Option<
22055        unsafe extern "C" fn(
22056            in_path_ref: DRAWBOT_PathRef,
22057            in_centerP: *const DRAWBOT_PointF32,
22058            in_radius: f32,
22059            in_start_angle: f32,
22060            in_sweep: f32,
22061        ) -> SPErr,
22062    >,
22063    pub Close: ::std::option::Option<unsafe extern "C" fn(in_path_ref: DRAWBOT_PathRef) -> SPErr>,
22064}
22065#[repr(C)]
22066#[derive(Debug, Copy, Clone)]
22067pub struct DRAWBOT_PenSuite1 {
22068    pub SetDashPattern: ::std::option::Option<
22069        unsafe extern "C" fn(
22070            in_pen_ref: DRAWBOT_PenRef,
22071            in_dashesP: *const f32,
22072            in_pattern_size: ::std::os::raw::c_int,
22073        ) -> SPErr,
22074    >,
22075}
22076#[repr(C)]
22077#[derive(Debug, Copy, Clone)]
22078pub struct DRAWBOT_ImageSuite1 {
22079    pub SetScaleFactor: ::std::option::Option<
22080        unsafe extern "C" fn(in_image_ref: DRAWBOT_ImageRef, in_scale_factor: f32) -> SPErr,
22081    >,
22082}
22083#[repr(C)]
22084#[derive(Debug, Copy, Clone)]
22085pub struct DRAWBOT_Suites {
22086    pub drawbot_suiteP: *mut DRAWBOT_DrawbotSuite1,
22087    pub supplier_suiteP: *mut DRAWBOT_SupplierSuite1,
22088    pub surface_suiteP: *mut DRAWBOT_SurfaceSuite2,
22089    pub path_suiteP: *mut DRAWBOT_PathSuite1,
22090    pub pen_suiteP: *mut DRAWBOT_PenSuite1,
22091    pub image_suiteP: *mut DRAWBOT_ImageSuite1,
22092}
22093#[repr(C)]
22094#[derive(Debug)]
22095pub struct DRAWBOT_Exception {
22096    pub _base: std_exception,
22097    pub mErr: SPErr,
22098}
22099#[repr(C)]
22100pub struct SharedRefImpl__bindgen_vtable(::std::os::raw::c_void);
22101#[repr(C)]
22102#[derive(Debug)]
22103pub struct SharedRefImpl<REF_T> {
22104    pub vtable_: *const SharedRefImpl__bindgen_vtable,
22105    pub mRef: REF_T,
22106    pub mSuiteP: *mut DRAWBOT_SupplierSuite1,
22107    pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<REF_T>>,
22108}
22109#[repr(C)]
22110#[derive(Debug)]
22111pub struct DRAWBOT_PenP {
22112    pub _base: SharedRefImpl<DRAWBOT_PenRef>,
22113}
22114pub type DRAWBOT_PenP__inherited = SharedRefImpl<DRAWBOT_PenRef>;
22115#[repr(C)]
22116#[derive(Debug)]
22117pub struct DRAWBOT_PathP {
22118    pub _base: SharedRefImpl<DRAWBOT_PathRef>,
22119}
22120pub type DRAWBOT_PathP__inherited = SharedRefImpl<DRAWBOT_PathRef>;
22121#[repr(C)]
22122#[derive(Debug)]
22123pub struct DRAWBOT_BrushP {
22124    pub _base: SharedRefImpl<DRAWBOT_BrushRef>,
22125}
22126pub type DRAWBOT_BrushP__inherited = SharedRefImpl<DRAWBOT_BrushRef>;
22127#[repr(C)]
22128#[derive(Debug)]
22129pub struct DRAWBOT_FontP {
22130    pub _base: SharedRefImpl<DRAWBOT_FontRef>,
22131}
22132pub type DRAWBOT_FontP__inherited = SharedRefImpl<DRAWBOT_FontRef>;
22133#[repr(C)]
22134#[derive(Debug)]
22135pub struct DRAWBOT_SaveAndRestoreStateStack {
22136    pub mSurfaceRef: DRAWBOT_SurfaceRef,
22137    pub mSuiteP: *mut DRAWBOT_SurfaceSuite2,
22138}
22139pub type prSuiteError = csSDK_int32;
22140pub const suiteError_InvalidParms: _bindgen_ty_179 = 2147483649;
22141pub const suiteError_StringNotFound: _bindgen_ty_179 = 2148139008;
22142pub const suiteError_StringBufferTooSmall: _bindgen_ty_179 = 2148139009;
22143pub type _bindgen_ty_179 = ::std::os::raw::c_uint;
22144#[repr(C, packed)]
22145#[derive(Debug, Copy, Clone)]
22146pub struct PrSDKStringSuite {
22147    pub DisposeString: ::std::option::Option<
22148        unsafe extern "C" fn(inSDKString: *const PrSDKString) -> prSuiteError,
22149    >,
22150    pub AllocateFromUTF8: ::std::option::Option<
22151        unsafe extern "C" fn(
22152            inUTF8String: *const u8,
22153            outSDKString: *mut PrSDKString,
22154        ) -> prSuiteError,
22155    >,
22156    pub CopyToUTF8String: ::std::option::Option<
22157        unsafe extern "C" fn(
22158            inSDKString: *const PrSDKString,
22159            outUTF8StringBuffer: *mut u8,
22160            ioUTF8StringBufferSizeInElements: *mut csSDK_uint32,
22161        ) -> prSuiteError,
22162    >,
22163    pub AllocateFromUTF16: ::std::option::Option<
22164        unsafe extern "C" fn(
22165            inUTF16String: *const u16,
22166            outSDKString: *mut PrSDKString,
22167        ) -> prSuiteError,
22168    >,
22169    pub CopyToUTF16String: ::std::option::Option<
22170        unsafe extern "C" fn(
22171            inSDKString: *const PrSDKString,
22172            outUTF16StringBuffer: *mut u16,
22173            ioUTF16StringBufferSizeInElements: *mut csSDK_uint32,
22174        ) -> prSuiteError,
22175    >,
22176}