LiVES  2.4.1-svn
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions | Variables
effects-weed.c File Reference
#include <dlfcn.h>
#include "../libweed/weed.h"
#include "../libweed/weed-palettes.h"
#include "../libweed/weed-effects.h"
#include "../libweed/weed-utils.h"
#include "../libweed/weed-host.h"
#include "main.h"
#include "effects.h"
#include "callbacks.h"
#include "support.h"
#include "rte_window.h"
#include "resample.h"
#include "audio.h"
#include "ce_thumbs.h"

Macros

#define OIL_MEMCPY_MAX_BYTES   1024
 
#define MAX_WEED_INSTANCES   65536
 
#define KEYSCALE   255.
 

Functions

livespointer lives_memcpy (livespointer dest, livesconstpointer src, size_t n)
 
G_GNUC_MALLOC livespointer _lives_malloc (size_t size)
 
livespointer _lives_realloc (livespointer ptr, size_t new_size)
 
void _lives_free_normal (livespointer ptr)
 values of mainw->free_fn More...
 
void filter_mutex_lock (int key)
 
void filter_mutex_unlock (int key)
 
void _lives_free_with_check (livespointer ptr)
 checks if ptr is mainw->do_not_free, otherwise calls lives_free_normal() More...
 
void _lives_free (livespointer ptr)
 calls mainw->free_fn More...
 
livespointer lives_memset (livespointer s, int c, size_t n)
 
livespointer lives_calloc (size_t nmemb, size_t size)
 
void weed_add_plant_flags (weed_plant_t *plant, int flags)
 
weed_plant_t * weed_bootstrap_func (weed_default_getter_f *value, int num_versions, int *plugin_versions)
 bootstrap function for weed plugins More...
 
int num_compound_fx (weed_plant_t *plant)
 return number of filters in a compound fx (1 if it is not compound) - works for filter or inst More...
 
boolean has_non_alpha_palette (weed_plant_t *ctmpl)
 
boolean has_alpha_palette (weed_plant_t *ctmpl)
 
weed_plant_t * weed_instance_get_filter (weed_plant_t *inst, boolean get_compound_parent)
 
lives_fx_cat_t weed_filter_categorise (weed_plant_t *pl, int in_channels, int out_channels)
 
lives_fx_cat_t weed_filter_subcategorise (weed_plant_t *pl, lives_fx_cat_t category, boolean count_opt)
 
char * weed_seed_type_to_text (int seed_type)
 
int num_alpha_channels (weed_plant_t *filter, boolean out)
 
void backup_weed_instances (void)
 for multitrack More...
 
void restore_weed_instances (void)
 
LIVES_INLINE int step_val (int val, int step)
 
void update_host_info (weed_plant_t *inst)
 
weed_plant_t * get_enabled_channel (weed_plant_t *inst, int which, boolean is_in)
 for FILTER_INST More...
 
weed_plant_t * get_enabled_audio_channel (weed_plant_t *inst, int which, boolean is_in)
 for FILTER_INST More...
 
weed_plant_t * get_mandatory_channel (weed_plant_t *filter, int which, boolean is_in)
 for FILTER_CLASS More...
 
boolean weed_filter_is_resizer (weed_plant_t *filt)
 
boolean weed_instance_is_resizer (weed_plant_t *inst)
 
boolean is_audio_channel_in (weed_plant_t *inst, int chnum)
 
weed_plant_t * get_audio_channel_in (weed_plant_t *inst, int achnum)
 
boolean has_video_chans_in (weed_plant_t *filter, boolean count_opt)
 
boolean has_audio_chans_in (weed_plant_t *filter, boolean count_opt)
 
boolean is_audio_channel_out (weed_plant_t *inst, int chnum)
 
boolean has_video_chans_out (weed_plant_t *filter, boolean count_opt)
 
boolean has_audio_chans_out (weed_plant_t *filter, boolean count_opt)
 
boolean is_pure_audio (weed_plant_t *plant, boolean count_opt)
 TRUE if audio in or out and no vid in/out. More...
 
boolean weed_parameter_has_variable_elements_strict (weed_plant_t *inst, weed_plant_t *ptmpl)
 
LIVES_INLINE boolean rte_key_is_enabled (int key)
 
weed_plant_t * add_filter_deinit_events (weed_plant_t *event_list)
 
weed_plant_t * add_filter_init_events (weed_plant_t *event_list, weed_timecode_t tc)
 
int check_weed_palette_list (int *palette_list, int num_palettes, int palette)
 
LIVES_INLINE int weed_flagset_array_count (weed_plant_t **array, boolean set_readonly)
 
void set_param_gui_readonly (weed_plant_t *inst)
 
void set_param_gui_readwrite (weed_plant_t *inst)
 
char * cd_to_plugin_dir (weed_plant_t *filter)
 
lives_filter_error_t weed_reinit_effect (weed_plant_t *inst, boolean reinit_compound)
 
void weed_reinit_all (void)
 
lives_filter_error_t weed_apply_instance (weed_plant_t *inst, weed_plant_t *init_event, weed_plant_t **layers, int opwidth, int opheight, weed_timecode_t tc)
 
lives_filter_error_t weed_apply_audio_instance (weed_plant_t *init_event, float **abuf, int nbtracks, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, double *vis)
 
weed_plant_t * weed_apply_effects (weed_plant_t **layers, weed_plant_t *filter_map, weed_timecode_t tc, int opwidth, int opheight, void ***pchains)
 
void weed_apply_audio_effects (weed_plant_t *filter_map, float **abuf, int nbtracks, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, double *vis)
 
void weed_apply_audio_effects_rt (float **abuf, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, boolean analysers_only)
 
boolean has_audio_filters (lives_af_t af_type)
 
boolean has_video_filters (boolean analysers_only)
 
int num_in_params (weed_plant_t *plant, boolean skip_hidden, boolean skip_internal)
 
int num_out_params (weed_plant_t *plant)
 
boolean has_usable_palette (weed_plant_t *chantmpl)
 
int enabled_in_channels (weed_plant_t *plant, boolean count_repeats)
 
int enabled_out_channels (weed_plant_t *plant, boolean count_repeats)
 
void weed_memory_init (void)
 call weed_init() with mem functions More...
 
void weed_load_all (void)
 load effects More...
 
void load_compound_fx (void)
 
void weed_unload_all (void)
 unload all effects More...
 
void weed_in_params_free (weed_plant_t **parameters, int num_parameters)
 
void weed_in_parameters_free (weed_plant_t *inst)
 
void weed_instance_unref (weed_plant_t *inst)
 
void weed_instance_ref (weed_plant_t *inst)
 
void wge_inner (weed_plant_t *inst)
 deinit instance(s) for generator More...
 
void weed_generator_end (weed_plant_t *inst)
 
weed_plant_t ** weed_params_create (weed_plant_t *filter, boolean in)
 
void add_param_connections (weed_plant_t *inst)
 
weed_plant_t * weed_instance_from_filter (weed_plant_t *filter)
 
boolean weed_init_effect (int hotkey)
 hotkey starts at 1 More...
 
int weed_call_init_func (weed_plant_t *inst)
 
int weed_call_deinit_func (weed_plant_t *instance)
 
void weed_deinit_effect (int hotkey)
 hotkey starts at 1 More...
 
void deinit_render_effects (void)
 
void weed_deinit_all (boolean shutdown)
 deinit all active effects More...
 
weed_plant_t * weed_layer_new_from_generator (weed_plant_t *inst, weed_timecode_t tc)
 
boolean weed_generator_start (weed_plant_t *inst, int key)
 
void weed_bg_generator_end (weed_plant_t *inst)
 
boolean weed_playback_gen_start (void)
 
boolean is_hidden_param (weed_plant_t *plant, int i)
 
int get_transition_param (weed_plant_t *filter, boolean skip_internal)
 
int get_master_vol_param (weed_plant_t *filter, boolean skip_internal)
 
boolean is_perchannel_multiw (weed_plant_t *param)
 
boolean has_perchannel_multiw (weed_plant_t *filter)
 
weed_plant_t * weed_inst_in_param (weed_plant_t *inst, int param_num, boolean skip_hidden, boolean skip_internal)
 
weed_plant_t * weed_inst_out_param (weed_plant_t *inst, int param_num)
 
weed_plant_t * weed_filter_in_paramtmpl (weed_plant_t *filter, int param_num, boolean skip_internal)
 
weed_plant_t * weed_filter_out_paramtmpl (weed_plant_t *filter, int param_num)
 
int get_nth_simple_param (weed_plant_t *plant, int pnum)
 
int count_simple_params (weed_plant_t *plant)
 
char * get_weed_display_string (weed_plant_t *inst, int pnum)
 
int set_copy_to (weed_plant_t *inst, int pnum, boolean update)
 
void rec_param_change (weed_plant_t *inst, int pnum)
 record a parameter value change in our event_list More...
 
void weed_set_blend_factor (int hotkey)
 
int weed_get_blend_factor (int hotkey)
 
weed_plant_t * get_new_inst_for_keymode (int key, int mode)
 get new inst (during recording playback) More...
 
char * rte_keymode_get_type (int key, int mode)
 returns a string filter/instance type (or "") More...
 
lives_fx_cat_t rte_keymode_get_category (int key, int mode)
 
int get_next_free_key (void)
 next free "key" for the multitrack system More...
 
boolean weed_delete_effectkey (int key, int mode)
 unbinds a filter_class from a key/mode More...
 
boolean rte_key_valid (int key, boolean is_userkey)
 returns TRUE if there is a filter bound to active mode of hotkey More...
 
boolean rte_keymode_valid (int key, int mode, boolean is_userkey)
 set to TRUE More...
 
int rte_keymode_get_filter_idx (int key, int mode)
 returns filter_class index of key/mode (or -1 if no filter bound) More...
 
int rte_key_getmode (int key)
 returns current active mode for a key (or -1) More...
 
int rte_key_getmaxmode (int key)
 returns highest mode which is set More...
 
weed_plant_t * rte_keymode_get_instance (int key, int mode)
 returns filter_instance bound to key/mode (or NULL) More...
 
weed_plant_t * rte_keymode_get_filter (int key, int mode)
 returns filter_class bound to key/mode (or NULL) More...
 
char * weed_filter_idx_get_name (int idx)
 
char * weed_instance_get_filter_name (weed_plant_t *inst, boolean get_compound_parent)
 
char * rte_keymode_get_filter_name (int key, int mode)
 returns name of filter_class bound to key/mode (or "") More...
 
char * rte_keymode_get_plugin_name (int key, int mode)
 returns name of plugin package containing filter_class (or "") More...
 
G_GNUC_PURE int rte_getmodespk (void)
 
G_GNUC_PURE int rte_bg_gen_key (void)
 
G_GNUC_PURE int rte_fg_gen_key (void)
 
G_GNUC_PURE int rte_bg_gen_mode (void)
 
G_GNUC_PURE int rte_fg_gen_mode (void)
 
weed_plant_t * get_textparm ()
 
boolean rte_key_setmode (int key, int newmode)
 set mode for a given key; if key==0 then the active key is used More...
 
int weed_add_effectkey_by_idx (int key, int idx)
 see description More...
 
int weed_add_effectkey (int key, const char *hashname, boolean fullname)
 bind a filter_class to key/mode using its hashname More...
 
int rte_switch_keymode (int key, int mode, const char *hashname)
 
void rte_swap_fg_bg (void)
 
LiVESList * weed_get_all_names (lives_fx_list_t list_type)
 
int rte_get_numfilters (boolean inc_dupes)
 
void fill_param_vals_to (weed_plant_t *param, weed_plant_t *paramtmpl, int index)
 add default filler values to a parameter or pchange. More...
 
boolean interpolate_param (weed_plant_t *inst, int i, void *pchain, weed_timecode_t tc)
 parameter interpolation More...
 
boolean interpolate_params (weed_plant_t *inst, void **pchains, weed_timecode_t tc)
 
char * make_weed_hashname (int filter_idx, boolean fullname, boolean use_extra_authors)
 fullname includes author and version More...
 
int weed_get_idx_for_hashname (const char *hashname, boolean fullname)
 fullname includes author and version More...
 
int * weed_get_indices_from_template (const char *pkg, const char *fxname, const char *auth, int version)
 
weed_plant_t * get_weed_filter (int idx)
 
boolean weed_plant_serialise (int fd, weed_plant_t *plant, unsigned char **mem)
 
weed_plant_t * weed_plant_deserialise (int fd, unsigned char **mem)
 
boolean write_filter_defaults (int fd, int idx)
 
boolean read_filter_defaults (int fd)
 
boolean write_generator_sizes (int fd, int idx)
 
boolean read_generator_sizes (int fd)
 
void reset_frame_and_clip_index (void)
 
boolean read_key_defaults (int fd, int nparams, int key, int mode, int ver)
 
void apply_key_defaults (weed_plant_t *inst, int key, int mode)
 
void write_key_defaults (int fd, int key, int mode)
 
void free_key_defaults (int key, int mode)
 
void set_key_defaults (weed_plant_t *inst, int key, int mode)
 
boolean has_key_defaults (void)
 

Variables

weed_default_getter_f wdg
 
weed_leaf_get_f wlg
 
weed_plant_new_f wpn
 
weed_plant_list_leaves_f wpll
 
weed_leaf_num_elements_f wlne
 
weed_leaf_element_size_f wles
 
weed_leaf_seed_type_f wlst
 
weed_leaf_get_flags_f wlgf
 
weed_leaf_set_f wlsp
 
weed_malloc_f weedmalloc
 
weed_free_f weedfree
 
weed_memcpy_f weedmemcpy
 
weed_memset_f weedmemset
 
weed_plant_t *** key_defaults [FX_KEYS_MAX_VIRTUAL]
 

Macro Definition Documentation

#define KEYSCALE   255.
#define MAX_WEED_INSTANCES   65536
#define OIL_MEMCPY_MAX_BYTES   1024

Function Documentation

void _lives_free ( livespointer  ptr)

calls mainw->free_fn

void _lives_free_normal ( livespointer  ptr)

values of mainw->free_fn

void _lives_free_with_check ( livespointer  ptr)

checks if ptr is mainw->do_not_free, otherwise calls lives_free_normal()

G_GNUC_MALLOC livespointer _lives_malloc ( size_t  size)
livespointer _lives_realloc ( livespointer  ptr,
size_t  new_size 
)
weed_plant_t* add_filter_deinit_events ( weed_plant_t *  event_list)
weed_plant_t* add_filter_init_events ( weed_plant_t *  event_list,
weed_timecode_t  tc 
)
void add_param_connections ( weed_plant_t *  inst)
void apply_key_defaults ( weed_plant_t *  inst,
int  key,
int  mode 
)
void backup_weed_instances ( void  )

for multitrack

char* cd_to_plugin_dir ( weed_plant_t *  filter)

change directory to plugin installation dir so it can find any data files

returns copy of current directory (before directory change) which should be freed after use

int check_weed_palette_list ( int *  palette_list,
int  num_palettes,
int  palette 
)
int count_simple_params ( weed_plant_t *  plant)
void deinit_render_effects ( void  )
int enabled_in_channels ( weed_plant_t *  plant,
boolean  count_repeats 
)
int enabled_out_channels ( weed_plant_t *  plant,
boolean  count_repeats 
)
void fill_param_vals_to ( weed_plant_t *  param,
weed_plant_t *  paramtmpl,
int  index 
)

add default filler values to a parameter or pchange.

void filter_mutex_lock ( int  key)
void filter_mutex_unlock ( int  key)
void free_key_defaults ( int  key,
int  mode 
)
weed_plant_t* get_audio_channel_in ( weed_plant_t *  inst,
int  achnum 
)
weed_plant_t* get_enabled_audio_channel ( weed_plant_t *  inst,
int  which,
boolean  is_in 
)

for FILTER_INST

weed_plant_t* get_enabled_channel ( weed_plant_t *  inst,
int  which,
boolean  is_in 
)

for FILTER_INST

weed_plant_t* get_mandatory_channel ( weed_plant_t *  filter,
int  which,
boolean  is_in 
)

for FILTER_CLASS

int get_master_vol_param ( weed_plant_t *  filter,
boolean  skip_internal 
)
weed_plant_t* get_new_inst_for_keymode ( int  key,
int  mode 
)

get new inst (during recording playback)

int get_next_free_key ( void  )

next free "key" for the multitrack system

int get_nth_simple_param ( weed_plant_t *  plant,
int  pnum 
)
weed_plant_t* get_textparm ( )
int get_transition_param ( weed_plant_t *  filter,
boolean  skip_internal 
)
char* get_weed_display_string ( weed_plant_t *  inst,
int  pnum 
)
weed_plant_t* get_weed_filter ( int  idx)
boolean has_alpha_palette ( weed_plant_t *  ctmpl)

< most probably audio

boolean has_audio_chans_in ( weed_plant_t *  filter,
boolean  count_opt 
)
boolean has_audio_chans_out ( weed_plant_t *  filter,
boolean  count_opt 
)
boolean has_audio_filters ( lives_af_t  af_type)
boolean has_key_defaults ( void  )
boolean has_non_alpha_palette ( weed_plant_t *  ctmpl)

< most probably audio

boolean has_perchannel_multiw ( weed_plant_t *  filter)
boolean has_usable_palette ( weed_plant_t *  chantmpl)
boolean has_video_chans_in ( weed_plant_t *  filter,
boolean  count_opt 
)
boolean has_video_chans_out ( weed_plant_t *  filter,
boolean  count_opt 
)
boolean has_video_filters ( boolean  analysers_only)
boolean interpolate_param ( weed_plant_t *  inst,
int  i,
void *  pchain,
weed_timecode_t  tc 
)

parameter interpolation

boolean interpolate_params ( weed_plant_t *  inst,
void **  pchains,
weed_timecode_t  tc 
)
boolean is_audio_channel_in ( weed_plant_t *  inst,
int  chnum 
)
boolean is_audio_channel_out ( weed_plant_t *  inst,
int  chnum 
)
boolean is_hidden_param ( weed_plant_t *  plant,
int  i 
)
boolean is_perchannel_multiw ( weed_plant_t *  param)
boolean is_pure_audio ( weed_plant_t *  plant,
boolean  count_opt 
)

TRUE if audio in or out and no vid in/out.

livespointer lives_calloc ( size_t  nmemb,
size_t  size 
)
livespointer lives_memcpy ( livespointer  dest,
livesconstpointer  src,
size_t  n 
)
livespointer lives_memset ( livespointer  s,
int  c,
size_t  n 
)
void load_compound_fx ( void  )
char* make_weed_hashname ( int  filter_idx,
boolean  fullname,
boolean  use_extra_authors 
)

fullname includes author and version

int num_alpha_channels ( weed_plant_t *  filter,
boolean  out 
)
int num_compound_fx ( weed_plant_t *  plant)

return number of filters in a compound fx (1 if it is not compound) - works for filter or inst

int num_in_params ( weed_plant_t *  plant,
boolean  skip_hidden,
boolean  skip_internal 
)
int num_out_params ( weed_plant_t *  plant)
boolean read_filter_defaults ( int  fd)
boolean read_generator_sizes ( int  fd)
boolean read_key_defaults ( int  fd,
int  nparams,
int  key,
int  mode,
int  ver 
)
void rec_param_change ( weed_plant_t *  inst,
int  pnum 
)

record a parameter value change in our event_list

void reset_frame_and_clip_index ( void  )
void restore_weed_instances ( void  )
G_GNUC_PURE int rte_bg_gen_key ( void  )
G_GNUC_PURE int rte_bg_gen_mode ( void  )
G_GNUC_PURE int rte_fg_gen_key ( void  )
G_GNUC_PURE int rte_fg_gen_mode ( void  )
int rte_get_numfilters ( boolean  inc_dupes)
G_GNUC_PURE int rte_getmodespk ( void  )
int rte_key_getmaxmode ( int  key)

returns highest mode which is set

int rte_key_getmode ( int  key)

returns current active mode for a key (or -1)

LIVES_INLINE boolean rte_key_is_enabled ( int  key)
boolean rte_key_setmode ( int  key,
int  newmode 
)

set mode for a given key; if key==0 then the active key is used

returns -1 if the filter is not found; it will match the first name found - returns -2 if you try to switch a generator/non-generator

boolean rte_key_valid ( int  key,
boolean  is_userkey 
)

returns TRUE if there is a filter bound to active mode of hotkey

lives_fx_cat_t rte_keymode_get_category ( int  key,
int  mode 
)
weed_plant_t* rte_keymode_get_filter ( int  key,
int  mode 
)

returns filter_class bound to key/mode (or NULL)

int rte_keymode_get_filter_idx ( int  key,
int  mode 
)

returns filter_class index of key/mode (or -1 if no filter bound)

char* rte_keymode_get_filter_name ( int  key,
int  mode 
)

returns name of filter_class bound to key/mode (or "")

weed_plant_t* rte_keymode_get_instance ( int  key,
int  mode 
)

returns filter_instance bound to key/mode (or NULL)

char* rte_keymode_get_plugin_name ( int  key,
int  mode 
)

returns name of plugin package containing filter_class (or "")

char* rte_keymode_get_type ( int  key,
int  mode 
)

returns a string filter/instance type (or "")

boolean rte_keymode_valid ( int  key,
int  mode,
boolean  is_userkey 
)

set to TRUE

returns TRUE if a filter_class is bound to key/mode, is_userkey should be

void rte_swap_fg_bg ( void  )
int rte_switch_keymode ( int  key,
int  mode,
const char *  hashname 
)
int set_copy_to ( weed_plant_t *  inst,
int  pnum,
boolean  update 
)
void set_key_defaults ( weed_plant_t *  inst,
int  key,
int  mode 
)
void set_param_gui_readonly ( weed_plant_t *  inst)
void set_param_gui_readwrite ( weed_plant_t *  inst)
LIVES_INLINE int step_val ( int  val,
int  step 
)
void update_host_info ( weed_plant_t *  inst)
int weed_add_effectkey ( int  key,
const char *  hashname,
boolean  fullname 
)

bind a filter_class to key/mode using its hashname

int weed_add_effectkey_by_idx ( int  key,
int  idx 
)

see description

void weed_add_plant_flags ( weed_plant_t *  plant,
int  flags 
)
void weed_apply_audio_effects ( weed_plant_t *  filter_map,
float **  abuf,
int  nbtracks,
int  nchans,
int64_t  nsamps,
double  arate,
weed_timecode_t  tc,
double *  vis 
)
void weed_apply_audio_effects_rt ( float **  abuf,
int  nchans,
int64_t  nsamps,
double  arate,
weed_timecode_t  tc,
boolean  analysers_only 
)
lives_filter_error_t weed_apply_audio_instance ( weed_plant_t *  init_event,
float **  abuf,
int  nbtracks,
int  nchans,
int64_t  nsamps,
double  arate,
weed_timecode_t  tc,
double *  vis 
)
weed_plant_t* weed_apply_effects ( weed_plant_t **  layers,
weed_plant_t *  filter_map,
weed_timecode_t  tc,
int  opwidth,
int  opheight,
void ***  pchains 
)
lives_filter_error_t weed_apply_instance ( weed_plant_t *  inst,
weed_plant_t *  init_event,
weed_plant_t **  layers,
int  opwidth,
int  opheight,
weed_timecode_t  tc 
)
void weed_bg_generator_end ( weed_plant_t *  inst)
weed_plant_t* weed_bootstrap_func ( weed_default_getter_f *  value,
int  num_versions,
int *  plugin_versions 
)

bootstrap function for weed plugins

int weed_call_deinit_func ( weed_plant_t *  instance)
int weed_call_init_func ( weed_plant_t *  inst)
void weed_deinit_all ( boolean  shutdown)

deinit all active effects

void weed_deinit_effect ( int  hotkey)

hotkey starts at 1

boolean weed_delete_effectkey ( int  key,
int  mode 
)

unbinds a filter_class from a key/mode

lives_fx_cat_t weed_filter_categorise ( weed_plant_t *  pl,
int  in_channels,
int  out_channels 
)

< ignore optional channels

< ignore optional channels

char* weed_filter_idx_get_name ( int  idx)
weed_plant_t* weed_filter_in_paramtmpl ( weed_plant_t *  filter,
int  param_num,
boolean  skip_internal 
)
boolean weed_filter_is_resizer ( weed_plant_t *  filt)
weed_plant_t* weed_filter_out_paramtmpl ( weed_plant_t *  filter,
int  param_num 
)
lives_fx_cat_t weed_filter_subcategorise ( weed_plant_t *  pl,
lives_fx_cat_t  category,
boolean  count_opt 
)
LIVES_INLINE int weed_flagset_array_count ( weed_plant_t **  array,
boolean  set_readonly 
)
void weed_generator_end ( weed_plant_t *  inst)
boolean weed_generator_start ( weed_plant_t *  inst,
int  key 
)
LiVESList* weed_get_all_names ( lives_fx_list_t  list_type)
int weed_get_blend_factor ( int  hotkey)
int weed_get_idx_for_hashname ( const char *  hashname,
boolean  fullname 
)

fullname includes author and version

int* weed_get_indices_from_template ( const char *  pkg,
const char *  fxname,
const char *  auth,
int  version 
)
void weed_in_parameters_free ( weed_plant_t *  inst)
void weed_in_params_free ( weed_plant_t **  parameters,
int  num_parameters 
)
boolean weed_init_effect ( int  hotkey)

hotkey starts at 1

weed_plant_t* weed_inst_in_param ( weed_plant_t *  inst,
int  param_num,
boolean  skip_hidden,
boolean  skip_internal 
)
weed_plant_t* weed_inst_out_param ( weed_plant_t *  inst,
int  param_num 
)
weed_plant_t* weed_instance_from_filter ( weed_plant_t *  filter)
weed_plant_t* weed_instance_get_filter ( weed_plant_t *  inst,
boolean  get_compound_parent 
)
char* weed_instance_get_filter_name ( weed_plant_t *  inst,
boolean  get_compound_parent 
)
boolean weed_instance_is_resizer ( weed_plant_t *  inst)
void weed_instance_ref ( weed_plant_t *  inst)
void weed_instance_unref ( weed_plant_t *  inst)
weed_plant_t* weed_layer_new_from_generator ( weed_plant_t *  inst,
weed_timecode_t  tc 
)
void weed_load_all ( void  )

load effects

void weed_memory_init ( void  )

call weed_init() with mem functions

boolean weed_parameter_has_variable_elements_strict ( weed_plant_t *  inst,
weed_plant_t *  ptmpl 
)

see if param has variable elements, using the strictest check

weed_plant_t** weed_params_create ( weed_plant_t *  filter,
boolean  in 
)
weed_plant_t* weed_plant_deserialise ( int  fd,
unsigned char **  mem 
)
boolean weed_plant_serialise ( int  fd,
weed_plant_t *  plant,
unsigned char **  mem 
)
boolean weed_playback_gen_start ( void  )
void weed_reinit_all ( void  )
lives_filter_error_t weed_reinit_effect ( weed_plant_t *  inst,
boolean  reinit_compound 
)
char* weed_seed_type_to_text ( int  seed_type)
void weed_set_blend_factor ( int  hotkey)
void weed_unload_all ( void  )

unload all effects

void wge_inner ( weed_plant_t *  inst)

deinit instance(s) for generator

boolean write_filter_defaults ( int  fd,
int  idx 
)
boolean write_generator_sizes ( int  fd,
int  idx 
)
void write_key_defaults ( int  fd,
int  key,
int  mode 
)

Variable Documentation

weed_plant_t** * key_defaults[FX_KEYS_MAX_VIRTUAL]
weed_default_getter_f wdg
weed_free_f weedfree
weed_malloc_f weedmalloc
weed_memcpy_f weedmemcpy
weed_memset_f weedmemset
weed_leaf_element_size_f wles
weed_leaf_get_f wlg
weed_leaf_get_flags_f wlgf
weed_leaf_num_elements_f wlne
weed_leaf_set_f wlsp
weed_leaf_seed_type_f wlst
weed_plant_list_leaves_f wpll
weed_plant_new_f wpn