LiVES  2.8.9
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)
 
livespointer _lives_malloc (size_t size)
 
livespointer _lives_realloc (livespointer ptr, size_t new_size)
 
void _lives_free (livespointer ptr)
 
void filter_mutex_lock (int key)
 
void filter_mutex_unlock (int key)
 
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)
 
char * weed_error_to_text (int error)
 
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_GLOBAL_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_GLOBAL_INLINE weed_plant_t * weed_layer_new (void)
 
weed_plant_t * weed_layer_new_for_frame (int clip, int frame)
 
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, boolean unref)
 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_create_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...
 
LIVES_INLINE char * weed_instance_get_type (weed_plant_t *inst, boolean getsub)
 
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...
 
int rte_getmodespk (void)
 
int rte_bg_gen_key (void)
 
int rte_fg_gen_key (void)
 
int rte_bg_gen_mode (void)
 
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)
 
LIVES_GLOBAL_INLINE void ** weed_layer_get_pixel_data (weed_plant_t *layer)
 
LIVES_GLOBAL_INLINE int * weed_layer_get_rowstrides (weed_plant_t *layer)
 
LIVES_GLOBAL_INLINE int weed_layer_get_width (weed_plant_t *layer)
 
LIVES_GLOBAL_INLINE int weed_layer_get_height (weed_plant_t *layer)
 
LIVES_GLOBAL_INLINE int weed_layer_get_current_palette (weed_plant_t *layer)
 
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

◆ KEYSCALE

#define KEYSCALE   255.

◆ MAX_WEED_INSTANCES

#define MAX_WEED_INSTANCES   65536

◆ OIL_MEMCPY_MAX_BYTES

#define OIL_MEMCPY_MAX_BYTES   1024

Function Documentation

◆ _lives_free()

void _lives_free ( livespointer  ptr)

◆ _lives_malloc()

livespointer _lives_malloc ( size_t  size)

◆ _lives_realloc()

livespointer _lives_realloc ( livespointer  ptr,
size_t  new_size 
)

◆ add_filter_deinit_events()

weed_plant_t* add_filter_deinit_events ( weed_plant_t *  event_list)

◆ add_filter_init_events()

weed_plant_t* add_filter_init_events ( weed_plant_t *  event_list,
weed_timecode_t  tc 
)

◆ add_param_connections()

void add_param_connections ( weed_plant_t *  inst)

◆ apply_key_defaults()

void apply_key_defaults ( weed_plant_t *  inst,
int  key,
int  mode 
)

◆ backup_weed_instances()

void backup_weed_instances ( void  )

for multitrack

◆ cd_to_plugin_dir()

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

◆ check_weed_palette_list()

int check_weed_palette_list ( int *  palette_list,
int  num_palettes,
int  palette 
)

◆ count_simple_params()

int count_simple_params ( weed_plant_t *  plant)

◆ deinit_render_effects()

void deinit_render_effects ( void  )

◆ enabled_in_channels()

int enabled_in_channels ( weed_plant_t *  plant,
boolean  count_repeats 
)

◆ enabled_out_channels()

int enabled_out_channels ( weed_plant_t *  plant,
boolean  count_repeats 
)

◆ fill_param_vals_to()

void fill_param_vals_to ( weed_plant_t *  param,
weed_plant_t *  paramtmpl,
int  index 
)

add default filler values to a parameter or pchange.

◆ filter_mutex_lock()

void filter_mutex_lock ( int  key)

◆ filter_mutex_unlock()

void filter_mutex_unlock ( int  key)

◆ free_key_defaults()

void free_key_defaults ( int  key,
int  mode 
)

◆ get_audio_channel_in()

weed_plant_t* get_audio_channel_in ( weed_plant_t *  inst,
int  achnum 
)

◆ get_enabled_audio_channel()

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

for FILTER_INST

◆ get_enabled_channel()

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

for FILTER_INST

◆ get_mandatory_channel()

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

for FILTER_CLASS

◆ get_master_vol_param()

int get_master_vol_param ( weed_plant_t *  filter,
boolean  skip_internal 
)

◆ get_new_inst_for_keymode()

weed_plant_t* get_new_inst_for_keymode ( int  key,
int  mode 
)

get new inst (during recording playback)

◆ get_next_free_key()

int get_next_free_key ( void  )

next free "key" for the multitrack system

◆ get_nth_simple_param()

int get_nth_simple_param ( weed_plant_t *  plant,
int  pnum 
)

◆ get_textparm()

weed_plant_t* get_textparm ( )

◆ get_transition_param()

int get_transition_param ( weed_plant_t *  filter,
boolean  skip_internal 
)

◆ get_weed_display_string()

char* get_weed_display_string ( weed_plant_t *  inst,
int  pnum 
)

◆ get_weed_filter()

weed_plant_t* get_weed_filter ( int  idx)

◆ has_alpha_palette()

boolean has_alpha_palette ( weed_plant_t *  ctmpl)

< most probably audio

◆ has_audio_chans_in()

boolean has_audio_chans_in ( weed_plant_t *  filter,
boolean  count_opt 
)

◆ has_audio_chans_out()

boolean has_audio_chans_out ( weed_plant_t *  filter,
boolean  count_opt 
)

◆ has_audio_filters()

boolean has_audio_filters ( lives_af_t  af_type)

◆ has_key_defaults()

boolean has_key_defaults ( void  )

◆ has_non_alpha_palette()

boolean has_non_alpha_palette ( weed_plant_t *  ctmpl)

< most probably audio

◆ has_perchannel_multiw()

boolean has_perchannel_multiw ( weed_plant_t *  filter)

◆ has_usable_palette()

boolean has_usable_palette ( weed_plant_t *  chantmpl)

◆ has_video_chans_in()

boolean has_video_chans_in ( weed_plant_t *  filter,
boolean  count_opt 
)

◆ has_video_chans_out()

boolean has_video_chans_out ( weed_plant_t *  filter,
boolean  count_opt 
)

◆ has_video_filters()

boolean has_video_filters ( boolean  analysers_only)

◆ interpolate_param()

boolean interpolate_param ( weed_plant_t *  inst,
int  i,
void *  pchain,
weed_timecode_t  tc 
)

parameter interpolation

◆ interpolate_params()

boolean interpolate_params ( weed_plant_t *  inst,
void **  pchains,
weed_timecode_t  tc 
)

◆ is_audio_channel_in()

boolean is_audio_channel_in ( weed_plant_t *  inst,
int  chnum 
)

◆ is_audio_channel_out()

boolean is_audio_channel_out ( weed_plant_t *  inst,
int  chnum 
)

◆ is_hidden_param()

boolean is_hidden_param ( weed_plant_t *  plant,
int  i 
)

◆ is_perchannel_multiw()

boolean is_perchannel_multiw ( weed_plant_t *  param)

◆ is_pure_audio()

boolean is_pure_audio ( weed_plant_t *  plant,
boolean  count_opt 
)

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

◆ lives_calloc()

livespointer lives_calloc ( size_t  nmemb,
size_t  size 
)

◆ lives_memcpy()

livespointer lives_memcpy ( livespointer  dest,
livesconstpointer  src,
size_t  n 
)

◆ lives_memset()

livespointer lives_memset ( livespointer  s,
int  c,
size_t  n 
)

◆ load_compound_fx()

void load_compound_fx ( void  )

◆ make_weed_hashname()

char* make_weed_hashname ( int  filter_idx,
boolean  fullname,
boolean  use_extra_authors 
)

fullname includes author and version

◆ num_alpha_channels()

int num_alpha_channels ( weed_plant_t *  filter,
boolean  out 
)

◆ num_compound_fx()

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

◆ num_in_params()

int num_in_params ( weed_plant_t *  plant,
boolean  skip_hidden,
boolean  skip_internal 
)

◆ num_out_params()

int num_out_params ( weed_plant_t *  plant)

◆ read_filter_defaults()

boolean read_filter_defaults ( int  fd)

◆ read_generator_sizes()

boolean read_generator_sizes ( int  fd)

◆ read_key_defaults()

boolean read_key_defaults ( int  fd,
int  nparams,
int  key,
int  mode,
int  ver 
)

◆ rec_param_change()

void rec_param_change ( weed_plant_t *  inst,
int  pnum 
)

record a parameter value change in our event_list

◆ reset_frame_and_clip_index()

void reset_frame_and_clip_index ( void  )

◆ restore_weed_instances()

void restore_weed_instances ( void  )

◆ rte_bg_gen_key()

int rte_bg_gen_key ( void  )

◆ rte_bg_gen_mode()

int rte_bg_gen_mode ( void  )

◆ rte_fg_gen_key()

int rte_fg_gen_key ( void  )

◆ rte_fg_gen_mode()

int rte_fg_gen_mode ( void  )

◆ rte_get_numfilters()

int rte_get_numfilters ( boolean  inc_dupes)

◆ rte_getmodespk()

int rte_getmodespk ( void  )

◆ rte_key_getmaxmode()

int rte_key_getmaxmode ( int  key)

returns highest mode which is set

◆ rte_key_getmode()

int rte_key_getmode ( int  key)

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

◆ rte_key_is_enabled()

LIVES_INLINE boolean rte_key_is_enabled ( int  key)

◆ rte_key_setmode()

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

◆ rte_key_valid()

boolean rte_key_valid ( int  key,
boolean  is_userkey 
)

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

◆ rte_keymode_get_category()

lives_fx_cat_t rte_keymode_get_category ( int  key,
int  mode 
)

◆ rte_keymode_get_filter()

weed_plant_t* rte_keymode_get_filter ( int  key,
int  mode 
)

returns filter_class bound to key/mode (or NULL)

◆ rte_keymode_get_filter_idx()

int rte_keymode_get_filter_idx ( int  key,
int  mode 
)

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

◆ rte_keymode_get_filter_name()

char* rte_keymode_get_filter_name ( int  key,
int  mode 
)

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

◆ rte_keymode_get_instance()

weed_plant_t* rte_keymode_get_instance ( int  key,
int  mode 
)

returns filter_instance bound to key/mode (or NULL)

◆ rte_keymode_get_plugin_name()

char* rte_keymode_get_plugin_name ( int  key,
int  mode 
)

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

◆ rte_keymode_get_type()

char* rte_keymode_get_type ( int  key,
int  mode 
)

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

◆ rte_keymode_valid()

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

◆ rte_swap_fg_bg()

void rte_swap_fg_bg ( void  )

◆ rte_switch_keymode()

int rte_switch_keymode ( int  key,
int  mode,
const char *  hashname 
)

◆ set_copy_to()

int set_copy_to ( weed_plant_t *  inst,
int  pnum,
boolean  update 
)

◆ set_key_defaults()

void set_key_defaults ( weed_plant_t *  inst,
int  key,
int  mode 
)

◆ set_param_gui_readonly()

void set_param_gui_readonly ( weed_plant_t *  inst)

◆ set_param_gui_readwrite()

void set_param_gui_readwrite ( weed_plant_t *  inst)

◆ step_val()

LIVES_GLOBAL_INLINE int step_val ( int  val,
int  step 
)

◆ update_host_info()

void update_host_info ( weed_plant_t *  inst)

◆ weed_add_effectkey()

int weed_add_effectkey ( int  key,
const char *  hashname,
boolean  fullname 
)

bind a filter_class to key/mode using its hashname

◆ weed_add_effectkey_by_idx()

int weed_add_effectkey_by_idx ( int  key,
int  idx 
)

see description

◆ weed_add_plant_flags()

void weed_add_plant_flags ( weed_plant_t *  plant,
int  flags 
)

◆ weed_apply_audio_effects()

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 
)

◆ weed_apply_audio_effects_rt()

void weed_apply_audio_effects_rt ( float **  abuf,
int  nchans,
int64_t  nsamps,
double  arate,
weed_timecode_t  tc,
boolean  analysers_only 
)

◆ weed_apply_audio_instance()

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_apply_effects()

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 
)

◆ weed_apply_instance()

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 
)

◆ weed_bg_generator_end()

void weed_bg_generator_end ( weed_plant_t *  inst)

◆ weed_bootstrap_func()

weed_plant_t* weed_bootstrap_func ( weed_default_getter_f *  value,
int  num_versions,
int *  plugin_versions 
)

bootstrap function for weed plugins

◆ weed_call_deinit_func()

int weed_call_deinit_func ( weed_plant_t *  instance)

◆ weed_call_init_func()

int weed_call_init_func ( weed_plant_t *  inst)

◆ weed_deinit_all()

void weed_deinit_all ( boolean  shutdown)

deinit all active effects

◆ weed_deinit_effect()

void weed_deinit_effect ( int  hotkey)

hotkey starts at 1

◆ weed_delete_effectkey()

boolean weed_delete_effectkey ( int  key,
int  mode 
)

unbinds a filter_class from a key/mode

◆ weed_error_to_text()

char* weed_error_to_text ( int  error)

◆ weed_filter_categorise()

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

◆ weed_filter_idx_get_name()

char* weed_filter_idx_get_name ( int  idx)

◆ weed_filter_in_paramtmpl()

weed_plant_t* weed_filter_in_paramtmpl ( weed_plant_t *  filter,
int  param_num,
boolean  skip_internal 
)

◆ weed_filter_is_resizer()

boolean weed_filter_is_resizer ( weed_plant_t *  filt)

◆ weed_filter_out_paramtmpl()

weed_plant_t* weed_filter_out_paramtmpl ( weed_plant_t *  filter,
int  param_num 
)

◆ weed_filter_subcategorise()

lives_fx_cat_t weed_filter_subcategorise ( weed_plant_t *  pl,
lives_fx_cat_t  category,
boolean  count_opt 
)

◆ weed_flagset_array_count()

int weed_flagset_array_count ( weed_plant_t **  array,
boolean  set_readonly 
)

◆ weed_generator_end()

void weed_generator_end ( weed_plant_t *  inst)

◆ weed_generator_start()

boolean weed_generator_start ( weed_plant_t *  inst,
int  key 
)

◆ weed_get_all_names()

LiVESList* weed_get_all_names ( lives_fx_list_t  list_type)

◆ weed_get_blend_factor()

int weed_get_blend_factor ( int  hotkey)

◆ weed_get_idx_for_hashname()

int weed_get_idx_for_hashname ( const char *  hashname,
boolean  fullname 
)

fullname includes author and version

◆ weed_get_indices_from_template()

int* weed_get_indices_from_template ( const char *  pkg,
const char *  fxname,
const char *  auth,
int  version 
)

◆ weed_in_parameters_free()

void weed_in_parameters_free ( weed_plant_t *  inst)

◆ weed_in_params_free()

void weed_in_params_free ( weed_plant_t **  parameters,
int  num_parameters 
)

◆ weed_init_effect()

boolean weed_init_effect ( int  hotkey)

hotkey starts at 1

◆ weed_inst_in_param()

weed_plant_t* weed_inst_in_param ( weed_plant_t *  inst,
int  param_num,
boolean  skip_hidden,
boolean  skip_internal 
)

◆ weed_inst_out_param()

weed_plant_t* weed_inst_out_param ( weed_plant_t *  inst,
int  param_num 
)

◆ weed_instance_from_filter()

weed_plant_t* weed_instance_from_filter ( weed_plant_t *  filter)

◆ weed_instance_get_filter()

weed_plant_t* weed_instance_get_filter ( weed_plant_t *  inst,
boolean  get_compound_parent 
)

◆ weed_instance_get_filter_name()

char* weed_instance_get_filter_name ( weed_plant_t *  inst,
boolean  get_compound_parent 
)

◆ weed_instance_get_type()

LIVES_INLINE char* weed_instance_get_type ( weed_plant_t *  inst,
boolean  getsub 
)

◆ weed_instance_is_resizer()

boolean weed_instance_is_resizer ( weed_plant_t *  inst)

◆ weed_instance_ref()

void weed_instance_ref ( weed_plant_t *  inst)

◆ weed_instance_unref()

void weed_instance_unref ( weed_plant_t *  inst)

◆ weed_layer_create_from_generator()

weed_plant_t* weed_layer_create_from_generator ( weed_plant_t *  inst,
weed_timecode_t  tc 
)

◆ weed_layer_get_current_palette()

LIVES_GLOBAL_INLINE int weed_layer_get_current_palette ( weed_plant_t *  layer)

◆ weed_layer_get_height()

LIVES_GLOBAL_INLINE int weed_layer_get_height ( weed_plant_t *  layer)

◆ weed_layer_get_pixel_data()

LIVES_GLOBAL_INLINE void** weed_layer_get_pixel_data ( weed_plant_t *  layer)

◆ weed_layer_get_rowstrides()

LIVES_GLOBAL_INLINE int* weed_layer_get_rowstrides ( weed_plant_t *  layer)

◆ weed_layer_get_width()

LIVES_GLOBAL_INLINE int weed_layer_get_width ( weed_plant_t *  layer)

◆ weed_layer_new()

LIVES_GLOBAL_INLINE weed_plant_t* weed_layer_new ( void  )

◆ weed_layer_new_for_frame()

weed_plant_t* weed_layer_new_for_frame ( int  clip,
int  frame 
)

◆ weed_load_all()

void weed_load_all ( void  )

load effects

◆ weed_memory_init()

void weed_memory_init ( void  )

call weed_init() with mem functions

◆ weed_parameter_has_variable_elements_strict()

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_params_create()

weed_plant_t** weed_params_create ( weed_plant_t *  filter,
boolean  in 
)

◆ weed_plant_deserialise()

weed_plant_t* weed_plant_deserialise ( int  fd,
unsigned char **  mem 
)

◆ weed_plant_serialise()

boolean weed_plant_serialise ( int  fd,
weed_plant_t *  plant,
unsigned char **  mem 
)

◆ weed_playback_gen_start()

boolean weed_playback_gen_start ( void  )

◆ weed_reinit_all()

void weed_reinit_all ( void  )

◆ weed_reinit_effect()

lives_filter_error_t weed_reinit_effect ( weed_plant_t *  inst,
boolean  reinit_compound 
)

◆ weed_seed_type_to_text()

char* weed_seed_type_to_text ( int  seed_type)

◆ weed_set_blend_factor()

void weed_set_blend_factor ( int  hotkey)

◆ weed_unload_all()

void weed_unload_all ( void  )

unload all effects

◆ wge_inner()

void wge_inner ( weed_plant_t *  inst,
boolean  unref 
)

deinit instance(s) for generator

◆ write_filter_defaults()

boolean write_filter_defaults ( int  fd,
int  idx 
)

◆ write_generator_sizes()

boolean write_generator_sizes ( int  fd,
int  idx 
)

◆ write_key_defaults()

void write_key_defaults ( int  fd,
int  key,
int  mode 
)

Variable Documentation

◆ key_defaults

weed_plant_t** * key_defaults[FX_KEYS_MAX_VIRTUAL]

◆ wdg

weed_default_getter_f wdg

◆ weedfree

weed_free_f weedfree

◆ weedmalloc

weed_malloc_f weedmalloc

◆ weedmemcpy

weed_memcpy_f weedmemcpy

◆ weedmemset

weed_memset_f weedmemset

◆ wles

weed_leaf_element_size_f wles

◆ wlg

weed_leaf_get_f wlg

◆ wlgf

weed_leaf_get_flags_f wlgf

◆ wlne

weed_leaf_num_elements_f wlne

◆ wlsp

weed_leaf_set_f wlsp

◆ wlst

weed_leaf_seed_type_f wlst

◆ wpll

weed_plant_list_leaves_f wpll

◆ wpn

weed_plant_new_f wpn