#include <inttypes.h>
Go to the source code of this file.
A conforming plugin must implement and export all functions declared in this header.
A conforming application must accept only those plugins which use allowed values for the described fields.
|
The frei0r API major version |
|
The frei0r API minor version |
|
Transparent instance pointer of the frei0r effect. |
|
Similar to f0r_plugin_info_t, this structure is filled by the plugin for every parameter. All strings are unicode, 0-terminated, and the encoding is utf-8. |
|
Transparent parameter handle. |
|
The f0r_plugin_info_t structure is filled in by the plugin to tell the application about its name, type, number of parameters, and version. An application should ignore (i.e. not use) frei0r effects that have unknown values in the plugin_type or color_model field. It should also ignore effects with a too high frei0r_version. This is necessary to be able to extend the frei0r spec (e.g. by adding new color models or plugin types) in a way that does not result in crashes when loading effects that make use of these extensions into an older application. All strings are unicode, 0-terminated, and the encoding is utf-8. |
|
Constructor for effect instances. The plugin returns a pointer to its internal instance structure. The resolution has to be an integer multiple of 8, must be greater than 0 and be at most 2048 in both dimensions.
|
|
f0r_deinit is called once when the plugin is unloaded by the application.
|
|
Destroys an effect instance.
|
|
f0r_get_param_info is called by the application to query the type of each parameter.
|
|
This function allows the application to query the parameter values of an effect instance.
|
|
Is called once after init. The plugin has to fill in the values in info.
|
|
f0r_init() is called once when the plugin is loaded by the application.
|
|
This function allows the application to set the parameter values of an effect instance. Validity of the parameter pointer is handled by the application thus the data must be copied by the effect.
|
|
This is where the core effect processing happens. The application calls it after it has set the necessary parameter values. inframe and outframe must be aligned to an integer multiple of 16 bytes in memory. This funcition should not alter the parameters of the effect in any way (f0r_get_param_value should return the same values after a call to f0r_update as before the call). The function is responsible to restore the fpu state (e.g. rounding mode) and mmx state if applicable before it returns to the caller. The host mustn't call f0r_update for effects of type F0R_PLUGIN_TYPE_MIXER2 and F0R_PLUGIN_TYPE_MIXER3.
|
|
For effects of type F0R_PLUGIN_TYPE_SOURCE or F0R_PLUGIN_TYPE_FILTER this method is optional. The f0r_update method must still be exported for these two effect types. If both are provided the behavior of them must be the same. Effects of type F0R_PLUGIN_TYPE_MIXER2 or F0R_PLUGIN_TYPE_MIXER3 must provide the new f0r_update2 method.
|