frei0r
frei0r.h
Go to the documentation of this file.
1 
209 #ifndef INCLUDED_FREI0R_H
210 #define INCLUDED_FREI0R_H
211 
212 #include <inttypes.h>
213 
217 #define FREI0R_MAJOR_VERSION 1
218 
222 #define FREI0R_MINOR_VERSION 2
223 
224 //---------------------------------------------------------------------------
225 
230 int f0r_init();
231 
236 void f0r_deinit();
237 
238 //---------------------------------------------------------------------------
239 
247 #define F0R_PLUGIN_TYPE_FILTER 0
248 
249 #define F0R_PLUGIN_TYPE_SOURCE 1
250 
251 #define F0R_PLUGIN_TYPE_MIXER2 2
252 
253 #define F0R_PLUGIN_TYPE_MIXER3 3
254 
257 //---------------------------------------------------------------------------
258 
299 #define F0R_COLOR_MODEL_BGRA8888 0
300 
308 #define F0R_COLOR_MODEL_RGBA8888 1
309 
322 #define F0R_COLOR_MODEL_PACKED32 2
323 
341 typedef struct f0r_plugin_info
342 {
343  const char* name;
344  const char* author;
354  const char* explanation;
356 
357 
364 
365 //---------------------------------------------------------------------------
366 
377 #define F0R_PARAM_BOOL 0
378 
383 #define F0R_PARAM_DOUBLE 1
384 
389 #define F0R_PARAM_COLOR 2
390 
394 #define F0R_PARAM_POSITION 3
395 
400 #define F0R_PARAM_STRING 4
401 
406 typedef double f0r_param_bool;
407 
411 typedef double f0r_param_double;
412 
416 typedef struct f0r_param_color
417 {
418  float r;
419  float g;
420  float b;
422 
426 typedef struct f0r_param_position
427 {
428  double x;
429  double y;
431 
432 
437 typedef char* f0r_param_string;
438 
448 typedef struct f0r_param_info
449 {
450  const char* name;
451  int type;
452  const char* explanation;
454 
463 void f0r_get_param_info(f0r_param_info_t* info, int param_index);
464 
465 //---------------------------------------------------------------------------
466 
470 typedef void* f0r_instance_t;
471 
486 f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
487 
495 void f0r_destruct(f0r_instance_t instance);
496 
497 //---------------------------------------------------------------------------
498 
502 typedef void* f0r_param_t;
503 
528 void f0r_set_param_value(f0r_instance_t instance,
529  f0r_param_t param, int param_index);
530 
548 void f0r_get_param_value(f0r_instance_t instance,
549  f0r_param_t param, int param_index);
550 
551 //---------------------------------------------------------------------------
552 
578 void f0r_update(f0r_instance_t instance,
579  double time, const uint32_t* inframe, uint32_t* outframe);
580 
581 //---------------------------------------------------------------------------
582 
604 void f0r_update2(f0r_instance_t instance,
605  double time,
606  const uint32_t* inframe1,
607  const uint32_t* inframe2,
608  const uint32_t* inframe3,
609  uint32_t* outframe);
610 //---------------------------------------------------------------------------
611 
612 #endif
f0r_plugin_info::explanation
const char * explanation
Definition: frei0r.h:354
f0r_construct
f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
f0r_plugin_info::frei0r_version
int frei0r_version
Definition: frei0r.h:350
f0r_param_info::type
int type
Definition: frei0r.h:451
f0r_plugin_info::plugin_type
int plugin_type
Definition: frei0r.h:348
f0r_deinit
void f0r_deinit()
f0r_param_color
Definition: frei0r.h:416
f0r_param_color::r
float r
Definition: frei0r.h:418
f0r_plugin_info::major_version
int major_version
Definition: frei0r.h:351
f0r_set_param_value
void f0r_set_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
f0r_param_color_t
struct f0r_param_color f0r_param_color_t
f0r_plugin_info::name
const char * name
Definition: frei0r.h:343
f0r_param_position::x
double x
Definition: frei0r.h:428
f0r_get_param_info
void f0r_get_param_info(f0r_param_info_t *info, int param_index)
f0r_param_position::y
double y
Definition: frei0r.h:429
f0r_destruct
void f0r_destruct(f0r_instance_t instance)
f0r_param_string
char * f0r_param_string
Definition: frei0r.h:437
f0r_param_info_t
struct f0r_param_info f0r_param_info_t
f0r_plugin_info::author
const char * author
Definition: frei0r.h:344
f0r_param_position
Definition: frei0r.h:426
f0r_init
int f0r_init()
f0r_param_t
void * f0r_param_t
Definition: frei0r.h:502
f0r_plugin_info::num_params
int num_params
Definition: frei0r.h:353
f0r_param_info
Definition: frei0r.h:448
f0r_instance_t
void * f0r_instance_t
Definition: frei0r.h:470
f0r_plugin_info_t
struct f0r_plugin_info f0r_plugin_info_t
f0r_param_double
double f0r_param_double
Definition: frei0r.h:411
f0r_param_color::g
float g
Definition: frei0r.h:419
f0r_plugin_info::color_model
int color_model
Definition: frei0r.h:349
f0r_update2
void f0r_update2(f0r_instance_t instance, double time, const uint32_t *inframe1, const uint32_t *inframe2, const uint32_t *inframe3, uint32_t *outframe)
f0r_plugin_info::minor_version
int minor_version
Definition: frei0r.h:352
f0r_param_position_t
struct f0r_param_position f0r_param_position_t
f0r_get_param_value
void f0r_get_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
f0r_param_info::explanation
const char * explanation
Definition: frei0r.h:452
f0r_plugin_info
Definition: frei0r.h:341
f0r_param_info::name
const char * name
Definition: frei0r.h:450
f0r_get_plugin_info
void f0r_get_plugin_info(f0r_plugin_info_t *info)
f0r_param_bool
double f0r_param_bool
Definition: frei0r.h:406
f0r_param_color::b
float b
Definition: frei0r.h:420
f0r_update
void f0r_update(f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)