LiVES  3.2.0
Macros | Enumerations | Functions
effects-weed.h File Reference

Go to the source code of this file.

Macros

#define MAX_WEED_STRLEN   65535
 
#define MAX_WEED_ELEMENTS   65535
 
#define WEED_FLAG_HOST_READONLY   (1 << 16)
 
#define WEED_LEAF_HOST_SUSPICIOUS   "host_suspicious"
 
#define WEED_LEAF_HOST_AUDIO_PLAYER   "host_audio_player"
 
#define WEED_LEAF_HOST_ORIG_PDATA   "host_orig_pdata"
 
#define WEED_LEAF_HOST_MENU_HIDE   "host_menu_hide"
 
#define WEED_LEAF_HOST_DEFAULT   "host_default"
 
#define WEED_LEAF_HOST_WIDTH   "host_width"
 
#define WEED_LEAF_HOST_HEIGHT   "host_height"
 
#define WEED_LEAF_HOST_FPS   "host_fps"
 
#define WEED_LEAF_HOST_TAG   "host_tag"
 
#define WEED_LEAF_HOST_KEY   "host_key"
 
#define WEED_LEAF_HOST_MODE   "host_mode"
 
#define WEED_LEAF_HOST_INPLACE   "host_inplace"
 
#define WEED_LEAF_HOST_DISABLED   "host_disabled"
 
#define WEED_LEAF_HOST_TEMP_DISABLED   "host_temp_dis"
 
#define WEED_LEAF_HOST_REFS   "host_refs"
 
#define WEED_LEAF_HOST_REPEATS   "host_repeats"
 
#define WEED_LEAF_HOST_INITED   "host_inited"
 
#define WEED_LEAF_HOST_PLUGIN_PATH   "host_plugin_path"
 
#define WEED_LEAF_HOST_HANDLE   "host_handle"
 
#define WEED_LEAF_HOST_FILTER_LIST   "host_filter_list"
 
#define WEED_LEAF_HOST_NORECORD   "host_norecord"
 
#define WEED_LEAF_DUPLICATE   "host_duplicate"
 
#define WEED_LEAF_HOST_REINITING   "host_reiniting"
 
#define WEED_LEAF_HOST_UNUSED   "host_unused"
 
#define WEED_LEAF_HOST_INSTANCE   "host_instance"
 
#define WEED_LEAF_HOST_IDX   "host_idx"
 
#define WEED_LEAF_FREED_PLANTS   "host_freed_plants"
 
#define WEED_LEAF_HOST_SCRAP_FILE_OFFSET   "scrap_offset"
 
#define WEED_LEAF_HOST_IDENTIFIER   "host_unique_id"
 
#define WEED_LEAF_HOST_EASING_END   "host_easing_end"
 
#define WEED_LEAF_HOST_EASE_OUT_COUNT   "host_ease_out_count"
 
#define WEED_LEAF_AUTO_EASING   "host_auto_easing"
 
#define WEED_LEAF_RFX_STRINGS   "layout_rfx_strings"
 
#define WEED_LEAF_RFX_DELIM   "layout_rfx_delim"
 
#define WEED_LEAF_HOST_PLUGIN_NAME   "host_plugin_name"
 
#define WEED_LEAF_HOST_INTERNAL_CONNECTION   "host_internal_connection"
 
#define WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE   "host_internal_connection_autoscale"
 
#define WEED_LEAF_HOST_NEXT_INSTANCE   "host_next_instance"
 
#define WEED_LEAF_HOST_COMPOUND_CLASS   "host_compound_class"
 
#define WEED_LEAF_HOST_CHANNEL_CONNECTION   "host_channel_connection"
 
#define LIVES_FLAG_MAINTAIN_VALUE   (1 << 16)
 soft flag, like immutable / deletable for host More...
 
#define PLUGIN_COMPOUND_EFFECTS_BUILTIN   "effects/compound/"
 
#define PLUGIN_COMPOUND_EFFECTS_CUSTOM   "plugins/effects/compound/"
 
#define WEED_ERROR_NOSUCH_PLANT   65536
 

Enumerations

enum  lives_filter_error_t {
  FILTER_SUCCESS = 0, FILTER_ERROR_MISSING_LAYER, FILTER_ERROR_BLANK_FRAME, FILTER_ERROR_MISSING_FRAME,
  FILTER_ERROR_INVALID_PALETTE_CONVERSION, FILTER_ERROR_UNABLE_TO_RESIZE, FILTER_ERROR_COULD_NOT_REINIT, FILTER_ERROR_INVALID_PLUGIN,
  FILTER_ERROR_NEEDS_REINIT, FILTER_ERROR_NO_IN_CHANNELS, FILTER_ERROR_INVALID_TRACK, FILTER_ERROR_INTERPOLATION_FAILED,
  FILTER_ERROR_INVALID_INSTANCE, FILTER_ERROR_INVALID_FILTER, FILTER_ERROR_INVALID_INIT_EVENT, FILTER_ERROR_IS_AUDIO,
  FILTER_ERROR_IS_SCRAP_FILE, FILTER_ERROR_MISSING_CHANNEL, FILTER_ERROR_TEMPLATE_MISMATCH, FILTER_ERROR_MEMORY_ERROR,
  FILTER_ERROR_DONT_THREAD, FILTER_ERROR_COPYING_FAILED, FILTER_ERROR_BUSY, FILTER_INFO_REINITED = 512,
  FILTER_INFO_REDRAWN
}
 filter apply errors More...
 
enum  lives_fx_list_t { FX_LIST_NAME, FX_LIST_EXTENDED_NAME, FX_LIST_HASHNAME }
 

Functions

weed_plant_t * get_weed_filter (int filter_idx)
 
char * weed_filter_idx_get_package_name (int filter_idx) WARN_UNUSED
 
char * weed_filter_idx_get_name (int idx, boolean add_subcats, boolean add_notes) WARN_UNUSED
 
char * weed_instance_get_filter_name (weed_plant_t *inst, boolean get_compound_parent) WARN_UNUSED
 
char * make_weed_hashname (int filter_idx, boolean fullname, boolean use_extra_authors, char sep, boolean spc_to_underscore) WARN_UNUSED
 fullname includes author and version More...
 
int weed_get_idx_for_hashname (const char *hashname, boolean fullname) GNU_CONST
 fullname includes author and version More...
 
int * weed_get_indices_from_template (const char *package_name, const char *filter_name, const char *author, int version)
 generate a list of filter indices from a given template. More...
 
int weed_filter_highest_version (const char *pkg, const char *fxname, const char *auth, int *return_version)
 
int enabled_in_channels (weed_plant_t *plant, boolean count_repeats)
 
int enabled_out_channels (weed_plant_t *plant, boolean count_repeats)
 
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_instance_is_resizer (weed_plant_t *filt)
 
weed_plant_t * weed_instance_get_filter (weed_plant_t *inst, boolean get_compound_parent)
 
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, weed_plant_t *filter)
 
boolean has_alpha_palette (weed_plant_t *ctmpl, weed_plant_t *filter)
 
boolean is_audio_channel_in (weed_plant_t *inst, int chnum)
 
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 *filter_or_instance, boolean count_opt)
 TRUE if audio in or out and no vid in/out. More...
 
boolean has_video_filters (boolean analysers_only)
 
boolean has_usable_palette (weed_plant_t *chantmpl)
 
int best_palette_match (int *palete_list, int num_palettes, int palette)
 check palette vs. More...
 
weed_error_t weed_call_init_func (weed_plant_t *instance)
 
weed_error_t weed_call_deinit_func (weed_plant_t *instance)
 
lives_filter_error_t run_process_func (weed_plant_t *instance, weed_timecode_t tc, int key)
 
char * cd_to_plugin_dir (weed_plant_t *filter)
 change directory to plugin installation dir so it can find any data files More...
 
boolean weed_init_effect (int hotkey)
 hotkey starts at 1 More...
 
boolean weed_deinit_effect (int hotkey)
 hotkey starts at 1 More...
 
weed_plant_t * weed_instance_from_filter (weed_plant_t *filter)
 
int _wood_instance_ref (weed_plant_t *inst)
 
int _wood_instance_unref (weed_plant_t *inst)
 
weed_plant_t * _wood_instance_obtain (int line, char *file, int key, int mode)
 
void weed_in_parameters_free (weed_plant_t *inst)
 
void weed_in_params_free (weed_plant_t **parameters, int num_parameters)
 
void add_param_connections (weed_plant_t *inst)
 
lives_filter_error_t weed_reinit_effect (weed_plant_t *inst, boolean reinit_compound)
 
void weed_reinit_all (void)
 
int weed_flagset_array_count (weed_plant_t **array, boolean set_readonly)
 
int num_alpha_channels (weed_plant_t *filter, boolean out)
 
int num_in_params (weed_plant_t *, boolean skip_hidden, boolean skip_internal)
 
int num_out_params (weed_plant_t *)
 
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)
 
boolean is_hidden_param (weed_plant_t *, int i)
 returns the permanent (structural) state c.f check_hidden_gui() which sets flag values for params linked to an rfx extension More...
 
int get_nth_simple_param (weed_plant_t *, int pnum)
 
int count_simple_params (weed_plant_t *)
 
weed_plant_t ** weed_params_create (weed_plant_t *filter, boolean in)
 
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)
 
boolean weed_parameter_has_variable_elements_strict (weed_plant_t *inst, weed_plant_t *ptmpl)
 
boolean interpolate_param (weed_plant_t *param, void *pchain, ticks_t tc)
 parameter interpolation More...
 
boolean interpolate_params (weed_plant_t *inst, void **pchains, ticks_t tc)
 
int filter_mutex_lock (int key)
 
int filter_mutex_trylock (int key)
 
int filter_mutex_unlock (int key)
 
size_t weed_plant_serialise (int fd, weed_plant_t *plant, unsigned char **mem)
 
weed_plant_t * weed_plant_deserialise (int fd, unsigned char **mem, weed_plant_t *plant)
 
void rec_param_change (weed_plant_t *inst, int pnum)
 record a parameter value change in our event_list More...
 
int set_copy_to (weed_plant_t *inst, int pnum, lives_rfx_t *rfx, boolean update)
 
weed_plant_t * get_textparm ()
 for rte textmode, get first string parameter for current key/mode instance we will then forward all keystrokes to this parm WEED_LEAF_VALUE until the exit key (TAB) is pressed More...
 
void weed_set_blend_factor (int hotkey)
 
int weed_get_blend_factor (int hotkey)
 
void weed_functions_init (void)
 call weed_init() to set our weed core functions More...
 
void weed_load_all (void)
 load effects More...
 
void weed_unload_all (void)
 unload all effects More...
 
int get_next_free_key (void)
 next free "key" for the multitrack system More...
 
void weed_deinit_all (boolean shutdown)
 deinit all active effects More...
 
weed_plant_t * weed_apply_effects (weed_plant_t **layers, weed_plant_t *filter_map, ticks_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, ticks_t tc)
 
void weed_apply_audio_effects (weed_plant_t *filter_map, weed_layer_t **, int nbtracks, int nchans, int64_t nsamps, double arate, ticks_t tc, double *vis)
 
void weed_apply_audio_effects_rt (weed_layer_t *alayer, ticks_t tc, boolean analysers_only, boolean is_audio_thread)
 
lives_filter_error_t weed_apply_audio_instance (weed_plant_t *init_event, weed_layer_t **layers, int nbtracks, int nchans, int64_t nsamps, double arate, ticks_t tc, double *vis)
 
int weed_generator_start (weed_plant_t *inst, int key)
 
void weed_generator_end (weed_plant_t *inst)
 
boolean weed_playback_gen_start (void)
 
void weed_bg_generator_end (weed_plant_t *inst)
 
void wge_inner (weed_plant_t *inst)
 deinit and instance(s) for generator, reset instance mapping More...
 
weed_error_t weed_leaf_copy_or_delete (weed_layer_t *dlayer, const char *key, weed_layer_t *slayer)
 
weed_plant_t * weed_layer_create_from_generator (weed_plant_t *inst, ticks_t tc, int clipno)
 
void backup_weed_instances (void)
 for multitrack More...
 
void restore_weed_instances (void)
 
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)
 returns TRUE if a filter_class is bound to key/mode, is_userkey should be 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...
 
char * rte_keymode_get_filter_name (int key, int mode, boolean add_notes) WARN_UNUSED
 returns name of filter_class bound to key/mode (or "") More...
 
char * rte_keymode_get_plugin_name (int key, int mode) WARN_UNUSED
 returns name of plugin package containing filter_class (or "") More...
 
char * rte_keymode_get_type (int key, int mode) WARN_UNUSED
 returns a string filter/instance type (or "") More...
 
weed_plant_t * rte_keymode_get_instance (int key, int mode)
 returns refcounted 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...
 
boolean weed_delete_effectkey (int key, int mode)
 unbinds a filter_class from a key/mode More...
 
int weed_add_effectkey (int key, const char *hashname, boolean fullname)
 bind a filter_class to key/mode using its hashname More...
 
int weed_add_effectkey_by_idx (int key, int idx)
 see description 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 * get_new_inst_for_keymode (int key, int mode)
 get new refcounted inst (during recording playback) More...
 
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 rte_switch_keymode (int key, int mode, const char *hashname)
 
LiVESList * weed_get_all_names (lives_fx_list_t list_type)
 
int rte_get_numfilters (void)
 
int weed_get_sorted_filter (int i)
 
void free_key_defaults (int key, int mode)
 
void apply_key_defaults (weed_plant_t *inst, int key, int mode)
 
void write_key_defaults (int fd, int key, int mode)
 
boolean read_key_defaults (int fd, int nparams, int key, int mode, int version)
 
void set_key_defaults (weed_plant_t *inst, int key, int mode)
 
boolean has_key_defaults (void)
 
void rte_swap_fg_bg (void)
 
int rte_bg_gen_key (void) GNU_PURE
 
int rte_fg_gen_key (void) GNU_PURE
 
int rte_bg_gen_mode (void) GNU_PURE
 
int rte_fg_gen_mode (void) GNU_PURE
 
char * get_weed_display_string (weed_plant_t *inst, int pnum)
 
weed_plant_t * add_filter_deinit_events (weed_plant_t *event_list)
 add effect_deinit events to an event_list More...
 
weed_plant_t * add_filter_init_events (weed_plant_t *event_list, ticks_t tc)
 
void deinit_render_effects (void)
 switch off effects after render preview during rendering/render preview, we use the "keys" FX_KEYS_MAX_VIRTUAL -> FX_KEYS_MAX here we deinit all active ones, similar to weed_deinit_all, but we use higher keys More...
 
void deinit_easing_effects (void)
 switch off effects in easing out state after playback ends during playback, some effects don't deinit right awy, instead they ease out if plyback ends while they are in the easing out state they won't get deinited, so we need to take care of that More...
 
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 update_all_host_info (void)
 
void fill_param_vals_to (weed_plant_t *param, weed_plant_t *ptmpl, int fill_slot)
 add default filler values to a parameter or pchange. More...
 
int _weed_instance_ref (weed_plant_t *inst)
 
int _weed_instance_unref (weed_plant_t *inst)
 
weed_plant_t * _weed_instance_obtain (int line, char *file, int key, int mode)
 
int weed_instance_ref (weed_plant_t *inst)
 
int weed_instance_unref (weed_plant_t *inst)
 
weed_plant_t * weed_instance_obtain (int key, int mode)
 
weed_plant_t * host_info_cb (weed_plant_t *xhost_info, void *data)
 
weed_error_t weed_leaf_set_host (weed_plant_t *plant, const char *key, uint32_t seed_type, weed_size_t num_elems, void *value)
 
weed_error_t weed_leaf_delete_host (weed_plant_t *plant, const char *key)
 
weed_error_t weed_plant_free_host (weed_plant_t *plant)
 
weed_plant_t * weed_plant_new_host (int type)
 
void show_weed_stats (weed_plant_t *statsplant)
 

Macro Definition Documentation

◆ LIVES_FLAG_MAINTAIN_VALUE

#define LIVES_FLAG_MAINTAIN_VALUE   (1 << 16)

soft flag, like immutable / deletable for host

Definition at line 109 of file effects-weed.h.

◆ MAX_WEED_ELEMENTS

#define MAX_WEED_ELEMENTS   65535

Definition at line 11 of file effects-weed.h.

◆ MAX_WEED_STRLEN

#define MAX_WEED_STRLEN   65535

Definition at line 10 of file effects-weed.h.

◆ PLUGIN_COMPOUND_EFFECTS_BUILTIN

#define PLUGIN_COMPOUND_EFFECTS_BUILTIN   "effects/compound/"

Definition at line 128 of file effects-weed.h.

◆ PLUGIN_COMPOUND_EFFECTS_CUSTOM

#define PLUGIN_COMPOUND_EFFECTS_CUSTOM   "plugins/effects/compound/"

Definition at line 129 of file effects-weed.h.

◆ WEED_ERROR_NOSUCH_PLANT

#define WEED_ERROR_NOSUCH_PLANT   65536

Definition at line 361 of file effects-weed.h.

◆ WEED_FLAG_HOST_READONLY

#define WEED_FLAG_HOST_READONLY   (1 << 16)

Definition at line 52 of file effects-weed.h.

◆ WEED_LEAF_AUTO_EASING

#define WEED_LEAF_AUTO_EASING   "host_auto_easing"

Definition at line 94 of file effects-weed.h.

◆ WEED_LEAF_DUPLICATE

#define WEED_LEAF_DUPLICATE   "host_duplicate"

Definition at line 79 of file effects-weed.h.

◆ WEED_LEAF_FREED_PLANTS

#define WEED_LEAF_FREED_PLANTS   "host_freed_plants"

Definition at line 86 of file effects-weed.h.

◆ WEED_LEAF_HOST_AUDIO_PLAYER

#define WEED_LEAF_HOST_AUDIO_PLAYER   "host_audio_player"

Definition at line 58 of file effects-weed.h.

◆ WEED_LEAF_HOST_CHANNEL_CONNECTION

#define WEED_LEAF_HOST_CHANNEL_CONNECTION   "host_channel_connection"

Definition at line 106 of file effects-weed.h.

◆ WEED_LEAF_HOST_COMPOUND_CLASS

#define WEED_LEAF_HOST_COMPOUND_CLASS   "host_compound_class"

Definition at line 105 of file effects-weed.h.

◆ WEED_LEAF_HOST_DEFAULT

#define WEED_LEAF_HOST_DEFAULT   "host_default"

Definition at line 62 of file effects-weed.h.

◆ WEED_LEAF_HOST_DISABLED

#define WEED_LEAF_HOST_DISABLED   "host_disabled"

Definition at line 70 of file effects-weed.h.

◆ WEED_LEAF_HOST_EASE_OUT_COUNT

#define WEED_LEAF_HOST_EASE_OUT_COUNT   "host_ease_out_count"

Definition at line 93 of file effects-weed.h.

◆ WEED_LEAF_HOST_EASING_END

#define WEED_LEAF_HOST_EASING_END   "host_easing_end"

Definition at line 92 of file effects-weed.h.

◆ WEED_LEAF_HOST_FILTER_LIST

#define WEED_LEAF_HOST_FILTER_LIST   "host_filter_list"

Definition at line 77 of file effects-weed.h.

◆ WEED_LEAF_HOST_FPS

#define WEED_LEAF_HOST_FPS   "host_fps"

Definition at line 65 of file effects-weed.h.

◆ WEED_LEAF_HOST_HANDLE

#define WEED_LEAF_HOST_HANDLE   "host_handle"

Definition at line 76 of file effects-weed.h.

◆ WEED_LEAF_HOST_HEIGHT

#define WEED_LEAF_HOST_HEIGHT   "host_height"

Definition at line 64 of file effects-weed.h.

◆ WEED_LEAF_HOST_IDENTIFIER

#define WEED_LEAF_HOST_IDENTIFIER   "host_unique_id"

Definition at line 90 of file effects-weed.h.

◆ WEED_LEAF_HOST_IDX

#define WEED_LEAF_HOST_IDX   "host_idx"

Definition at line 84 of file effects-weed.h.

◆ WEED_LEAF_HOST_INITED

#define WEED_LEAF_HOST_INITED   "host_inited"

Definition at line 74 of file effects-weed.h.

◆ WEED_LEAF_HOST_INPLACE

#define WEED_LEAF_HOST_INPLACE   "host_inplace"

Definition at line 69 of file effects-weed.h.

◆ WEED_LEAF_HOST_INSTANCE

#define WEED_LEAF_HOST_INSTANCE   "host_instance"

Definition at line 83 of file effects-weed.h.

◆ WEED_LEAF_HOST_INTERNAL_CONNECTION

#define WEED_LEAF_HOST_INTERNAL_CONNECTION   "host_internal_connection"

Definition at line 102 of file effects-weed.h.

◆ WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE

#define WEED_LEAF_HOST_INTERNAL_CONNECTION_AUTOSCALE   "host_internal_connection_autoscale"

Definition at line 103 of file effects-weed.h.

◆ WEED_LEAF_HOST_KEY

#define WEED_LEAF_HOST_KEY   "host_key"

Definition at line 67 of file effects-weed.h.

◆ WEED_LEAF_HOST_MENU_HIDE

#define WEED_LEAF_HOST_MENU_HIDE   "host_menu_hide"

Definition at line 61 of file effects-weed.h.

◆ WEED_LEAF_HOST_MODE

#define WEED_LEAF_HOST_MODE   "host_mode"

Definition at line 68 of file effects-weed.h.

◆ WEED_LEAF_HOST_NEXT_INSTANCE

#define WEED_LEAF_HOST_NEXT_INSTANCE   "host_next_instance"

Definition at line 104 of file effects-weed.h.

◆ WEED_LEAF_HOST_NORECORD

#define WEED_LEAF_HOST_NORECORD   "host_norecord"

Definition at line 78 of file effects-weed.h.

◆ WEED_LEAF_HOST_ORIG_PDATA

#define WEED_LEAF_HOST_ORIG_PDATA   "host_orig_pdata"

Definition at line 60 of file effects-weed.h.

◆ WEED_LEAF_HOST_PLUGIN_NAME

#define WEED_LEAF_HOST_PLUGIN_NAME   "host_plugin_name"

Definition at line 99 of file effects-weed.h.

◆ WEED_LEAF_HOST_PLUGIN_PATH

#define WEED_LEAF_HOST_PLUGIN_PATH   "host_plugin_path"

Definition at line 75 of file effects-weed.h.

◆ WEED_LEAF_HOST_REFS

#define WEED_LEAF_HOST_REFS   "host_refs"

Definition at line 72 of file effects-weed.h.

◆ WEED_LEAF_HOST_REINITING

#define WEED_LEAF_HOST_REINITING   "host_reiniting"

Definition at line 80 of file effects-weed.h.

◆ WEED_LEAF_HOST_REPEATS

#define WEED_LEAF_HOST_REPEATS   "host_repeats"

Definition at line 73 of file effects-weed.h.

◆ WEED_LEAF_HOST_SCRAP_FILE_OFFSET

#define WEED_LEAF_HOST_SCRAP_FILE_OFFSET   "scrap_offset"

Definition at line 88 of file effects-weed.h.

◆ WEED_LEAF_HOST_SUSPICIOUS

#define WEED_LEAF_HOST_SUSPICIOUS   "host_suspicious"

Definition at line 55 of file effects-weed.h.

◆ WEED_LEAF_HOST_TAG

#define WEED_LEAF_HOST_TAG   "host_tag"

Definition at line 66 of file effects-weed.h.

◆ WEED_LEAF_HOST_TEMP_DISABLED

#define WEED_LEAF_HOST_TEMP_DISABLED   "host_temp_dis"

Definition at line 71 of file effects-weed.h.

◆ WEED_LEAF_HOST_UNUSED

#define WEED_LEAF_HOST_UNUSED   "host_unused"

Definition at line 81 of file effects-weed.h.

◆ WEED_LEAF_HOST_WIDTH

#define WEED_LEAF_HOST_WIDTH   "host_width"

Definition at line 63 of file effects-weed.h.

◆ WEED_LEAF_RFX_DELIM

#define WEED_LEAF_RFX_DELIM   "layout_rfx_delim"

Definition at line 97 of file effects-weed.h.

◆ WEED_LEAF_RFX_STRINGS

#define WEED_LEAF_RFX_STRINGS   "layout_rfx_strings"

Definition at line 96 of file effects-weed.h.

Enumeration Type Documentation

◆ lives_filter_error_t

filter apply errors

Enumerator
FILTER_SUCCESS 
FILTER_ERROR_MISSING_LAYER 
FILTER_ERROR_BLANK_FRAME 
FILTER_ERROR_MISSING_FRAME 
FILTER_ERROR_INVALID_PALETTE_CONVERSION 
FILTER_ERROR_UNABLE_TO_RESIZE 
FILTER_ERROR_COULD_NOT_REINIT 
FILTER_ERROR_INVALID_PLUGIN 
FILTER_ERROR_NEEDS_REINIT 
FILTER_ERROR_NO_IN_CHANNELS 
FILTER_ERROR_INVALID_TRACK 
FILTER_ERROR_INTERPOLATION_FAILED 
FILTER_ERROR_INVALID_INSTANCE 
FILTER_ERROR_INVALID_FILTER 
FILTER_ERROR_INVALID_INIT_EVENT 
FILTER_ERROR_IS_AUDIO 
FILTER_ERROR_IS_SCRAP_FILE 
FILTER_ERROR_MISSING_CHANNEL 
FILTER_ERROR_TEMPLATE_MISMATCH 
FILTER_ERROR_MEMORY_ERROR 
FILTER_ERROR_DONT_THREAD 
FILTER_ERROR_COPYING_FAILED 
FILTER_ERROR_BUSY 
FILTER_INFO_REINITED 

values >= 512 are info

FILTER_INFO_REDRAWN 

Definition at line 14 of file effects-weed.h.

◆ lives_fx_list_t

Enumerator
FX_LIST_NAME 
FX_LIST_EXTENDED_NAME 
FX_LIST_HASHNAME 

Definition at line 44 of file effects-weed.h.

Function Documentation

◆ _weed_instance_obtain()

weed_plant_t* _weed_instance_obtain ( int  line,
char *  file,
int  key,
int  mode 
)

Definition at line 6212 of file effects-weed.c.

Referenced by weed_instance_obtain().

◆ _weed_instance_ref()

int _weed_instance_ref ( weed_plant_t *  inst)

Definition at line 6194 of file effects-weed.c.

Referenced by weed_instance_ref().

◆ _weed_instance_unref()

int _weed_instance_unref ( weed_plant_t *  inst)

Definition at line 6158 of file effects-weed.c.

Referenced by weed_instance_unref().

◆ _wood_instance_obtain()

weed_plant_t* _wood_instance_obtain ( int  line,
char *  file,
int  key,
int  mode 
)

◆ _wood_instance_ref()

int _wood_instance_ref ( weed_plant_t *  inst)

◆ _wood_instance_unref()

int _wood_instance_unref ( weed_plant_t *  inst)

◆ add_filter_deinit_events()

weed_plant_t* add_filter_deinit_events ( weed_plant_t *  event_list)

add effect_deinit events to an event_list

during real time recording we use the "keys" 0 -> FX_KEYS_MAX_VIRTUAL here we add effect_deinit events to an event_list

See also
deinit_render_effects()

add an empty filter_map event (in case more frames are added)

< we create filter_map event_t * array with ordered effects

Definition at line 803 of file effects-weed.c.

Referenced by event_list_add_end_events().

◆ add_filter_init_events()

weed_plant_t* add_filter_init_events ( weed_plant_t *  event_list,
ticks_t  tc 
)

◆ add_param_connections()

void add_param_connections ( weed_plant_t *  inst)

Definition at line 6431 of file effects-weed.c.

Referenced by rte_reset_defs_clicked().

◆ apply_key_defaults()

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

Definition at line 12342 of file effects-weed.c.

◆ backup_weed_instances()

void backup_weed_instances ( void  )

for multitrack

Definition at line 410 of file effects-weed.c.

◆ best_palette_match()

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

check palette vs.

palette list

check if palette is in the palette_list if not, return next best palette to use, using a heuristic method num_palettes is the size of the palette list

exact match - return it

Definition at line 868 of file effects-weed.c.

Referenced by cconx_convert_pixel_data(), and vpp_try_match_palette().

◆ 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

Definition at line 1148 of file effects-weed.c.

Referenced by weed_call_deinit_func(), weed_call_init_func(), and weed_reinit_effect().

◆ count_simple_params()

int count_simple_params ( weed_plant_t *  )

Definition at line 8892 of file effects-weed.c.

◆ deinit_easing_effects()

void deinit_easing_effects ( void  )

switch off effects in easing out state after playback ends during playback, some effects don't deinit right awy, instead they ease out if plyback ends while they are in the easing out state they won't get deinited, so we need to take care of that

See also
weed_deinit_all()

if recording, the deinit_event won't be recorded, since we are not playing now, this will be handled in deal_with_render_choice() so it need not concern us

Definition at line 7381 of file effects-weed.c.

◆ deinit_render_effects()

void deinit_render_effects ( void  )

switch off effects after render preview during rendering/render preview, we use the "keys" FX_KEYS_MAX_VIRTUAL -> FX_KEYS_MAX here we deinit all active ones, similar to weed_deinit_all, but we use higher keys

See also
weed_deinit_all()

Definition at line 7358 of file effects-weed.c.

Referenced by render_to_clip().

◆ 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 
)

Definition at line 4043 of file effects-weed.c.

Referenced by append_filter_init_event().

◆ 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.

add default filler values to a parameter or pchange.

The values of this are set to WEED_TRUE if the user updates the values for that channel, so we know which values to set for interpolation later. paramtmpl must be supplied, since pchanges do not have one directly

Definition at line 9913 of file effects-weed.c.

Referenced by add_track_to_avol_init(), filter_init_add_pchanges(), on_del_node_clicked(), on_resetp_clicked(), set_copy_to(), update_visual_params(), and update_weed_color_value().

◆ filter_mutex_lock()

int filter_mutex_lock ( int  key)

attempted double locking is actually normal behaviour when we have both video and audio effects running

Definition at line 96 of file effects-weed.c.

Referenced by grabkeys_callback(), rte_key_setmode(), rte_on_off_callback(), rtemode_callback(), set_copy_to(), update_visual_params(), weed_reinit_effect(), and weed_set_blend_factor().

◆ filter_mutex_trylock()

int filter_mutex_trylock ( int  key)

Definition at line 74 of file effects-weed.c.

Referenced by filter_mutex_lock(), and run_process_func().

◆ filter_mutex_unlock()

int filter_mutex_unlock ( int  key)

◆ free_key_defaults()

void free_key_defaults ( int  key,
int  mode 
)

Definition at line 12396 of file effects-weed.c.

Referenced by set_key_defaults().

◆ get_enabled_audio_channel()

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

for FILTER_INST

Definition at line 542 of file effects-weed.c.

◆ get_enabled_channel()

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

◆ get_mandatory_channel()

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

for FILTER_CLASS

Definition at line 548 of file effects-weed.c.

◆ get_master_vol_param()

int get_master_vol_param ( weed_plant_t *  filter,
boolean  skip_internal 
)

Definition at line 8673 of file effects-weed.c.

◆ get_new_inst_for_keymode()

weed_plant_t* get_new_inst_for_keymode ( int  key,
int  mode 
)

get new refcounted inst (during recording playback)

Definition at line 9225 of file effects-weed.c.

Referenced by cconx_chain_data().

◆ get_next_free_key()

int get_next_free_key ( void  )

next free "key" for the multitrack system

Definition at line 9311 of file effects-weed.c.

◆ get_nth_simple_param()

int get_nth_simple_param ( weed_plant_t *  ,
int  pnum 
)

Definition at line 8850 of file effects-weed.c.

◆ get_textparm()

weed_plant_t* get_textparm ( )

for rte textmode, get first string parameter for current key/mode instance we will then forward all keystrokes to this parm WEED_LEAF_VALUE until the exit key (TAB) is pressed

Definition at line 9579 of file effects-weed.c.

Referenced by textparm_callback().

◆ 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  filter_idx)

◆ has_alpha_palette()

boolean has_alpha_palette ( weed_plant_t *  ctmpl,
weed_plant_t *  filter 
)

Definition at line 162 of file effects-weed.c.

Referenced by cconx_check_connection().

◆ has_audio_chans_in()

boolean has_audio_chans_in ( weed_plant_t *  filter,
boolean  count_opt 
)

Definition at line 640 of file effects-weed.c.

Referenced by feeds_to_audio_filters(), and is_pure_audio().

◆ has_audio_chans_out()

boolean has_audio_chans_out ( weed_plant_t *  filter,
boolean  count_opt 
)

Definition at line 695 of file effects-weed.c.

Referenced by feeds_to_audio_filters(), is_pure_audio(), and push_audio_to_channel().

◆ has_key_defaults()

boolean has_key_defaults ( void  )

Definition at line 12450 of file effects-weed.c.

◆ has_non_alpha_palette()

boolean has_non_alpha_palette ( weed_plant_t *  ctmpl,
weed_plant_t *  filter 
)

< probably audio

Definition at line 143 of file effects-weed.c.

Referenced by enabled_in_channels(), and num_alpha_channels().

◆ has_perchannel_multiw()

boolean has_perchannel_multiw ( weed_plant_t *  filter)

Definition at line 8706 of file effects-weed.c.

◆ 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 
)

Definition at line 676 of file effects-weed.c.

Referenced by feeds_to_video_filters(), and is_pure_audio().

◆ has_video_filters()

boolean has_video_filters ( boolean  analysers_only)

Definition at line 3886 of file effects-weed.c.

Referenced by add_rfx_effects2(), rte_on_off_callback(), and sensitize_rfx().

◆ host_info_cb()

weed_plant_t* host_info_cb ( weed_plant_t *  xhost_info,
void *  data 
)

Definition at line 4522 of file effects-weed.c.

Referenced by open_vid_playback_plugin().

◆ interpolate_param()

boolean interpolate_param ( weed_plant_t *  param,
void *  pchain,
ticks_t  tc 
)

parameter interpolation

◆ interpolate_params()

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

◆ is_audio_channel_in()

boolean is_audio_channel_in ( weed_plant_t *  inst,
int  chnum 
)

Definition at line 577 of file effects-weed.c.

◆ is_audio_channel_out()

boolean is_audio_channel_out ( weed_plant_t *  inst,
int  chnum 
)

Definition at line 656 of file effects-weed.c.

◆ is_hidden_param()

boolean is_hidden_param ( weed_plant_t *  ,
int  i 
)

returns the permanent (structural) state c.f check_hidden_gui() which sets flag values for params linked to an rfx extension

if we are to copy the values to another param, make sure it's possible (type, num values)

Definition at line 8587 of file effects-weed.c.

Referenced by apply_key_defaults(), count_simple_params(), get_nth_simple_param(), num_in_params(), update_visual_params(), weed_inst_in_param(), and weed_params_to_rfx().

◆ is_perchannel_multiw()

boolean is_perchannel_multiw ( weed_plant_t *  param)

◆ is_pure_audio()

boolean is_pure_audio ( weed_plant_t *  filter_or_instance,
boolean  count_opt 
)

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

Definition at line 714 of file effects-weed.c.

Referenced by get_audio_and_effects_state_at(), and on_realfx_activate().

◆ make_weed_hashname()

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

fullname includes author and version

fullname includes author and version

make hashname from filter_idx

if fullname is FALSE, return filename, filtername concatenated if fullname is TRUE, return filename, filtername, author, version concatenated

if sep is not 0, we ignore the booleans and return filename, sep, filtername, sep, author concatenated (suitable to be fed into weed_filter_highest_version() later)

use_extra_authors is only for backwards compatibility

Definition at line 10730 of file effects-weed.c.

Referenced by append_filter_init_event(), and mt_set_autotrans().

◆ num_alpha_channels()

int num_alpha_channels ( weed_plant_t *  filter,
boolean  out 
)

Definition at line 321 of file effects-weed.c.

◆ 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

Definition at line 132 of file effects-weed.c.

Referenced by get_external_window_hints(), and weed_instance_from_filter().

◆ num_in_params()

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

◆ num_out_params()

int num_out_params ( weed_plant_t *  )

Definition at line 3960 of file effects-weed.c.

Referenced by feeds_to_audio_filters(), and feeds_to_video_filters().

◆ read_filter_defaults()

boolean read_filter_defaults ( int  fd)

Definition at line 11921 of file effects-weed.c.

Referenced by load_rte_defs().

◆ read_generator_sizes()

boolean read_generator_sizes ( int  fd)

Definition at line 12092 of file effects-weed.c.

Referenced by load_rte_defs().

◆ read_key_defaults()

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

Definition at line 12232 of file effects-weed.c.

◆ rec_param_change()

void rec_param_change ( weed_plant_t *  inst,
int  pnum 
)

record a parameter value change in our event_list

< use the "thoretical" time

Definition at line 9000 of file effects-weed.c.

Referenced by pl_key_function().

◆ restore_weed_instances()

void restore_weed_instances ( void  )

Definition at line 423 of file effects-weed.c.

◆ rte_bg_gen_key()

int rte_bg_gen_key ( void  )

Definition at line 9556 of file effects-weed.c.

◆ rte_bg_gen_mode()

int rte_bg_gen_mode ( void  )

Definition at line 9564 of file effects-weed.c.

◆ rte_fg_gen_key()

int rte_fg_gen_key ( void  )

Definition at line 9560 of file effects-weed.c.

◆ rte_fg_gen_mode()

int rte_fg_gen_mode ( void  )

Definition at line 9568 of file effects-weed.c.

◆ rte_get_numfilters()

int rte_get_numfilters ( void  )

Definition at line 9899 of file effects-weed.c.

Referenced by on_save_rte_defs_activate().

◆ rte_key_getmaxmode()

int rte_key_getmaxmode ( int  key)

returns highest mode which is set

Definition at line 9433 of file effects-weed.c.

Referenced by _weed_instance_obtain(), and get_num_mapped_modes_for_key().

◆ rte_key_getmode()

int rte_key_getmode ( 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

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

Definition at line 9626 of file effects-weed.c.

Referenced by rtemode_callback(), and rtemode_callback_hook().

◆ 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

Definition at line 9397 of file effects-weed.c.

Referenced by has_audio_filters(), has_video_filters(), on_realfx_activate(), rte_on_off_callback(), weed_apply_audio_effects_rt(), weed_apply_audio_instance(), and weed_reinit_all().

◆ rte_keymode_get_filter()

weed_plant_t* rte_keymode_get_filter ( int  key,
int  mode 
)

returns filter_class bound to key/mode (or NULL)

Definition at line 9465 of file effects-weed.c.

Referenced by feeds_to_audio_filters(), feeds_to_video_filters(), make_datacon_window(), on_realfx_activate(), and on_rte_info_clicked().

◆ 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)

Definition at line 9416 of file effects-weed.c.

Referenced by cconx_check_connection(), and on_clear_clicked().

◆ rte_keymode_get_filter_name()

char* rte_keymode_get_filter_name ( int  key,
int  mode,
boolean  add_notes 
)

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

Definition at line 9531 of file effects-weed.c.

◆ rte_keymode_get_instance()

weed_plant_t* rte_keymode_get_instance ( int  key,
int  mode 
)

returns refcounted filter_instance bound to key/mode (or NULL)

Definition at line 9450 of file effects-weed.c.

Referenced by cconx_chain_data(), get_audio_and_effects_state_at(), get_audio_from_plugin(), and reinit_audio_gen().

◆ rte_keymode_get_plugin_name()

char* rte_keymode_get_plugin_name ( int  key,
int  mode 
)

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

Definition at line 9540 of file effects-weed.c.

Referenced by on_rte_info_clicked().

◆ rte_keymode_get_type()

char* rte_keymode_get_type ( int  key,
int  mode 
)

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

Definition at line 9264 of file effects-weed.c.

Referenced by on_rte_info_clicked(), and type_label_set_text().

◆ rte_keymode_valid()

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

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

Definition at line 9407 of file effects-weed.c.

Referenced by idle_unmap_fx(), on_rte_info_clicked(), rte_keymode_get_category(), rte_keymode_get_filter(), rte_keymode_get_filter_name(), rte_keymode_get_instance(), rte_keymode_get_plugin_name(), and rte_keymode_get_type().

◆ rte_swap_fg_bg()

void rte_swap_fg_bg ( void  )

Definition at line 9844 of file effects-weed.c.

Referenced by do_quick_switch().

◆ rte_switch_keymode()

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

Definition at line 9791 of file effects-weed.c.

◆ run_process_func()

lives_filter_error_t run_process_func ( weed_plant_t *  instance,
weed_timecode_t  tc,
int  key 
)

Definition at line 2799 of file effects-weed.c.

Referenced by get_audio_from_plugin(), and weed_apply_audio_instance().

◆ set_copy_to()

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

< prevent loops

check for compatibility nvalues

Definition at line 8918 of file effects-weed.c.

◆ set_key_defaults()

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

Definition at line 12418 of file effects-weed.c.

Referenced by rte_reset_defs_clicked(), and rte_set_key_defs().

◆ show_weed_stats()

void show_weed_stats ( weed_plant_t *  statsplant)

sort in descending order

Definition at line 4476 of file effects-weed.c.

◆ update_all_host_info()

void update_all_host_info ( void  )

Definition at line 478 of file effects-weed.c.

Referenced by pref_factory_string().

◆ weed_add_effectkey()

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

bind a filter_class to key/mode using its hashname

Definition at line 9784 of file effects-weed.c.

◆ weed_add_effectkey_by_idx()

int weed_add_effectkey_by_idx ( int  key,
int  idx 
)

see description

see description

Definition at line 9747 of file effects-weed.c.

Referenced by weed_add_effectkey().

◆ weed_apply_audio_effects()

void weed_apply_audio_effects ( weed_plant_t *  filter_map,
weed_layer_t **  ,
int  nbtracks,
int  nchans,
int64_t  nsamps,
double  arate,
ticks_t  tc,
double *  vis 
)

◆ weed_apply_audio_effects_rt()

void weed_apply_audio_effects_rt ( weed_layer_t alayer,
ticks_t  tc,
boolean  analysers_only,
boolean  is_audio_thread 
)

◆ weed_apply_audio_instance()

lives_filter_error_t weed_apply_audio_instance ( weed_plant_t *  init_event,
weed_layer_t **  layers,
int  nbtracks,
int  nchans,
int64_t  nsamps,
double  arate,
ticks_t  tc,
double *  vis 
)

◆ weed_apply_effects()

weed_plant_t* weed_apply_effects ( weed_plant_t **  layers,
weed_plant_t *  filter_map,
ticks_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,
ticks_t  tc 
)

◆ weed_bg_generator_end()

void weed_bg_generator_end ( weed_plant_t *  inst)

ref the isntance so it isn't deleted

Definition at line 8318 of file effects-weed.c.

◆ weed_call_deinit_func()

weed_error_t weed_call_deinit_func ( weed_plant_t *  instance)

Definition at line 7067 of file effects-weed.c.

Referenced by deinterlace_frame(), and weed_reinit_effect().

◆ weed_call_init_func()

weed_error_t weed_call_init_func ( weed_plant_t *  instance)

Definition at line 7044 of file effects-weed.c.

◆ weed_deinit_all()

void weed_deinit_all ( boolean  shutdown)

deinit all active effects

deinit all active effects

Definition at line 7404 of file effects-weed.c.

Referenced by rte_on_off_callback().

◆ weed_deinit_effect()

boolean weed_deinit_effect ( int  hotkey)

hotkey starts at 1

< use the "thoretical" time

Definition at line 7094 of file effects-weed.c.

Referenced by rte_on_off_callback(), and weed_reinit_effect().

◆ weed_delete_effectkey()

boolean weed_delete_effectkey ( int  key,
int  mode 
)

unbinds a filter_class from a key/mode

Definition at line 9326 of file effects-weed.c.

Referenced by on_clear_clicked().

◆ weed_filter_highest_version()

int weed_filter_highest_version ( const char *  pkg,
const char *  fxname,
const char *  auth,
int *  return_version 
)

Definition at line 10994 of file effects-weed.c.

◆ weed_filter_idx_get_name()

char* weed_filter_idx_get_name ( int  idx,
boolean  add_subcats,
boolean  add_notes 
)

◆ weed_filter_idx_get_package_name()

char* weed_filter_idx_get_package_name ( int  filter_idx)

Definition at line 9510 of file effects-weed.c.

◆ weed_filter_in_paramtmpl()

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

Definition at line 8795 of file effects-weed.c.

Referenced by rte_set_defs_ok(), and update_weed_color_value().

◆ weed_filter_out_paramtmpl()

weed_plant_t* weed_filter_out_paramtmpl ( weed_plant_t *  filter,
int  param_num 
)

Definition at line 8831 of file effects-weed.c.

◆ weed_flagset_array_count()

int weed_flagset_array_count ( weed_plant_t **  array,
boolean  set_readonly 
)

Definition at line 1136 of file effects-weed.c.

Referenced by rte_reset_defs_clicked().

◆ weed_functions_init()

void weed_functions_init ( void  )

call weed_init() to set our weed core functions

◆ weed_generator_end()

void weed_generator_end ( weed_plant_t *  inst)

TODO: do we want to do this if switching from one gen to another ?

here we must be very careful, because we are about to close the clip which is either playing as fg or bg in the case of background, we just switch to it very briefly to close it, then back to the fg clip in case the generator was ended by a change of bg clip, we restore the new bg clip

in the case of the fg clip we close it and try to switch to another valid clip we switch back to the old (invalid) clip after this, while setting mainw->new_clip to the new one the player will detect the invalid clip and jump to the switch point to handle the changeover cleanly

Definition at line 8176 of file effects-weed.c.

Referenced by do_quick_switch(), on_multitrack_activate(), and weed_generator_start().

◆ weed_generator_start()

int weed_generator_start ( weed_plant_t *  inst,
int  key 
)

Definition at line 7911 of file effects-weed.c.

◆ weed_get_all_names()

LiVESList* weed_get_all_names ( lives_fx_list_t  list_type)

Definition at line 9865 of file effects-weed.c.

◆ weed_get_blend_factor()

int weed_get_blend_factor ( int  hotkey)

Definition at line 9169 of file effects-weed.c.

Referenced by grabkeys_callback(), and rtemode_callback().

◆ weed_get_idx_for_hashname()

int weed_get_idx_for_hashname ( const char *  hashname,
boolean  fullname 
)

◆ weed_get_indices_from_template()

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

generate a list of filter indices from a given template.

Char values may be NULL or "" to signify match-any. version may be 0 to signify match-any otherwise values must match those specified

returns: a list of int indices, with the last value == -1 return value should be freed after use

Definition at line 10958 of file effects-weed.c.

◆ weed_get_sorted_filter()

int weed_get_sorted_filter ( int  i)

Definition at line 9862 of file effects-weed.c.

◆ weed_in_parameters_free()

void weed_in_parameters_free ( weed_plant_t *  inst)

Definition at line 6121 of file effects-weed.c.

Referenced by rte_reset_defs_clicked().

◆ weed_in_params_free()

void weed_in_params_free ( weed_plant_t **  parameters,
int  num_parameters 
)

Definition at line 6110 of file effects-weed.c.

Referenced by filter_init_add_pchanges(), and weed_in_parameters_free().

◆ weed_init_effect()

boolean weed_init_effect ( int  hotkey)

hotkey starts at 1

< use the "thoretical" time

Definition at line 6596 of file effects-weed.c.

Referenced by rte_on_off_callback().

◆ 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 
)

Definition at line 8771 of file effects-weed.c.

Referenced by pconx_chain_data_omc().

◆ weed_instance_from_filter()

weed_plant_t* weed_instance_from_filter ( weed_plant_t *  filter)

Definition at line 6469 of file effects-weed.c.

Referenced by deinterlace_frame(), get_track_visibility_at_tc(), and weed_to_rfx().

◆ 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 
)

Definition at line 9519 of file effects-weed.c.

◆ weed_instance_is_resizer()

boolean weed_instance_is_resizer ( weed_plant_t *  filt)

Definition at line 571 of file effects-weed.c.

◆ weed_instance_obtain()

weed_plant_t* weed_instance_obtain ( int  key,
int  mode 
)

◆ weed_instance_ref()

int weed_instance_ref ( weed_plant_t *  inst)

◆ weed_instance_unref()

int weed_instance_unref ( weed_plant_t *  inst)

◆ weed_layer_create_from_generator()

weed_plant_t* weed_layer_create_from_generator ( weed_plant_t *  inst,
ticks_t  tc,
int  clipno 
)

◆ weed_leaf_copy_or_delete()

weed_error_t weed_leaf_copy_or_delete ( weed_layer_t dlayer,
const char *  key,
weed_layer_t slayer 
)

Definition at line 68 of file effects-weed.c.

◆ weed_leaf_delete_host()

weed_error_t weed_leaf_delete_host ( weed_plant_t *  plant,
const char *  key 
)

Definition at line 4357 of file effects-weed.c.

◆ weed_leaf_set_host()

weed_error_t weed_leaf_set_host ( weed_plant_t *  plant,
const char *  key,
uint32_t  seed_type,
weed_size_t  num_elems,
void *  value 
)

Definition at line 4371 of file effects-weed.c.

◆ weed_load_all()

void weed_load_all ( void  )

load effects

Definition at line 5119 of file effects-weed.c.

◆ 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

Definition at line 724 of file effects-weed.c.

◆ 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_t *  plant 
)

if key is NULL and check_key is TRUE, we will limit whay voidptr leaves can be added. This is necessary for layers since voidptrs which may be loaded can mess up the layer handling

Definition at line 11770 of file effects-weed.c.

Referenced by load_from_scrap_file().

◆ weed_plant_free_host()

weed_error_t weed_plant_free_host ( weed_plant_t *  plant)

Definition at line 4339 of file effects-weed.c.

◆ weed_plant_new_host()

weed_plant_t* weed_plant_new_host ( int  type)

◆ weed_plant_serialise()

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

Definition at line 11198 of file effects-weed.c.

Referenced by save_event_list_inner().

◆ weed_playback_gen_start()

boolean weed_playback_gen_start ( void  )

Definition at line 8332 of file effects-weed.c.

◆ weed_reinit_all()

void weed_reinit_all ( void  )

Definition at line 1288 of file effects-weed.c.

Referenced by play_file().

◆ weed_reinit_effect()

lives_filter_error_t weed_reinit_effect ( weed_plant_t *  inst,
boolean  reinit_compound 
)

Definition at line 1169 of file effects-weed.c.

Referenced by on_resetp_clicked(), reinit_audio_gen(), and weed_to_rfx().

◆ weed_set_blend_factor()

void weed_set_blend_factor ( int  hotkey)

Definition at line 9039 of file effects-weed.c.

Referenced by on_less_pressed(), and on_more_pressed().

◆ weed_unload_all()

void weed_unload_all ( void  )

unload all effects

Definition at line 5966 of file effects-weed.c.

◆ wge_inner()

void wge_inner ( weed_plant_t *  inst)

deinit and instance(s) for generator, reset instance mapping

Definition at line 8154 of file effects-weed.c.

◆ write_filter_defaults()

boolean write_filter_defaults ( int  fd,
int  idx 
)

Definition at line 11874 of file effects-weed.c.

Referenced by on_save_rte_defs_activate().

◆ write_generator_sizes()

boolean write_generator_sizes ( int  fd,
int  idx 
)

Definition at line 12038 of file effects-weed.c.

Referenced by on_save_rte_defs_activate().

◆ write_key_defaults()

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

Definition at line 12369 of file effects-weed.c.