8 #ifndef HAS_LIVES_EFFECTS_WEED_H
9 #define HAS_LIVES_EFFECTS_WEED_H
48 weed_plant_t *
weed_bootstrap_func(weed_default_getter_f *value,
int num_versions,
int *plugin_versions);
66 #define PLUGIN_COMPOUND_EFFECTS_BUILTIN "effects/compound/"
67 #define PLUGIN_COMPOUND_EFFECTS_CUSTOM "plugins/effects/compound/"
82 boolean is_pure_audio(weed_plant_t *filter_or_instance,
boolean count_opt);
86 #ifdef HAS_LIVES_EFFECTS_H
117 int num_in_params(weed_plant_t *,
boolean skip_hidden,
boolean skip_internal);
119 weed_plant_t *
weed_inst_in_param(weed_plant_t *inst,
int param_num,
boolean skip_hidden,
boolean skip_internal);
135 boolean interpolate_param(weed_plant_t *inst,
int i,
void *pchain, weed_timecode_t tc);
149 int set_copy_to(weed_plant_t *inst,
int pnum,
boolean update);
164 weed_plant_t *
weed_apply_effects(weed_plant_t **layers, weed_plant_t *filter_map, weed_timecode_t tc,
int opwidth,
int opheight,
167 int opwidth,
int opheight, weed_timecode_t tc);
168 void weed_apply_audio_effects(weed_plant_t *filter_map,
float **abuf,
int nbtracks,
int nchans, int64_t nsamps,
double arate,
169 weed_timecode_t tc,
double *vis);
170 void weed_apply_audio_effects_rt(
float **abuf,
int nchans, int64_t nsamps,
double arate, weed_timecode_t tc,
boolean analysers_only);
173 double arate, weed_timecode_t tc,
double *vis);
199 #ifdef HAS_LIVES_EFFECTS_H
284 #define WEED_PLANT_IS_PLUGIN_INFO(plant) (weed_get_plant_type(plant)==WEED_PLANT_PLUGIN_INFO?1:0)
285 #define WEED_PLANT_IS_HOST_INFO(plant) (weed_get_plant_type(plant)==WEED_PLANT_HOST_INFO?1:0)
286 #define WEED_PLANT_IS_FILTER_CLASS(plant) (weed_get_plant_type(plant)==WEED_PLANT_FILTER_CLASS?1:0)
287 #define WEED_PLANT_IS_FILTER_INSTANCE(plant) (weed_get_plant_type(plant)==WEED_PLANT_FILTER_INSTANCE?1:0)
288 #define WEED_PLANT_IS_CHANNEL(plant) (weed_get_plant_type(plant)==WEED_PLANT_CHANNEL?1:0)
289 #define WEED_PLANT_IS_CHANNEL_TEMPLATE(plant) (weed_get_plant_type(plant)==WEED_PLANT_CHANNEL_TEMPLATE?1:0)
290 #define WEED_PLANT_IS_PARAMETER(plant) (weed_get_plant_type(plant)==WEED_PLANT_PARAMETER?1:0)
291 #define WEED_PLANT_IS_PARAMETER_TEMPLATE(plant) (weed_get_plant_type(plant)==WEED_PLANT_PARAMETER_TEMPLATE?1:0)
292 #define WEED_PLANT_IS_GUI(plant) (weed_get_plant_type(plant)==WEED_PLANT_GUI?1:0)
lives_fx_cat_t weed_filter_categorise(weed_plant_t *pl, int in_channels, int out_channels)
Definition: effects-weed.c:334
boolean is_audio_channel_out(weed_plant_t *inst, int chnum)
Definition: effects-weed.c:832
int weed_flagset_array_count(weed_plant_t **array, boolean set_readonly)
Definition: effects-weed.c:1293
void rte_swap_fg_bg(void)
Definition: effects-weed.c:8955
boolean weed_instance_is_resizer(weed_plant_t *filt)
Definition: effects-weed.c:734
weed_plant_t ** weed_params_create(weed_plant_t *filter, boolean in)
Definition: effects-weed.c:6179
boolean has_audio_filters(lives_af_t af_type)
Definition: effects-weed.c:3861
int rte_key_getmaxmode(int key)
returns highest mode which is set
Definition: effects-weed.c:8610
void deinit_render_effects(void)
Definition: effects-weed.c:7134
weed_plant_t * get_mandatory_channel(weed_plant_t *filter, int which, boolean is_in)
for FILTER_CLASS
Definition: effects-weed.c:696
lives_fx_cat_t
Definition: effects.h:17
Definition: effects-weed.h:13
boolean has_audio_chans_in(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:810
void weed_add_plant_flags(weed_plant_t *plant, int flags)
Definition: effects-weed.c:148
int step_val(int val, int step)
Definition: effects-weed.c:577
int rte_fg_gen_key(void)
Definition: effects-weed.c:8713
boolean is_hidden_param(weed_plant_t *, int i)
Definition: effects-weed.c:7750
LiVESList * weed_get_all_names(lives_fx_list_t list_type)
Definition: effects-weed.c:8973
boolean weed_delete_effectkey(int key, int mode)
unbinds a filter_class from a key/mode
Definition: effects-weed.c:8518
int weed_call_init_func(weed_plant_t *instance)
Definition: effects-weed.c:6932
char * cd_to_plugin_dir(weed_plant_t *filter)
Definition: effects-weed.c:1344
Definition: effects-weed.h:28
boolean weed_playback_gen_start(void)
Definition: effects-weed.c:7551
Definition: effects-weed.h:14
weed_plant_t * rte_keymode_get_filter(int key, int mode)
returns filter_class bound to key/mode (or NULL)
Definition: effects-weed.c:8638
void load_compound_fx(void)
Definition: effects-weed.c:5704
char * get_weed_display_string(weed_plant_t *inst, int pnum)
Definition: effects-weed.c:8105
void free_key_defaults(int key, int mode)
Definition: effects-weed.c:10915
void add_param_connections(weed_plant_t *inst)
Definition: effects-weed.c:6344
boolean is_perchannel_multiw(weed_plant_t *param)
Definition: effects-weed.c:7861
int weed_add_effectkey(int key, const char *hashname, boolean fullname)
bind a filter_class to key/mode using its hashname
Definition: effects-weed.c:8905
boolean rte_key_valid(int key, boolean is_userkey)
returns TRUE if there is a filter bound to active mode of hotkey
Definition: effects-weed.c:8584
int rte_switch_keymode(int key, int mode, const char *hashname)
Definition: effects-weed.c:8913
boolean rte_key_setmode(int key, int newmode)
set mode for a given key; if key==0 then the active key is used
Definition: effects-weed.c:8776
int weed_get_idx_for_hashname(const char *hashname, boolean fullname)
fullname includes author and version
Definition: effects-weed.c:9861
weed_plant_t * get_weed_filter(int filter_idx)
Definition: effects-weed.c:10002
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)
Definition: effects-weed.c:1633
void weed_in_parameters_free(weed_plant_t *inst)
Definition: effects-weed.c:5922
boolean write_filter_defaults(int fd, int idx)
Definition: effects-weed.c:10377
Definition: effects-weed.h:25
int weed_add_effectkey_by_idx(int key, int idx)
see description
Definition: effects-weed.c:8873
int set_copy_to(weed_plant_t *inst, int pnum, boolean update)
Definition: effects-weed.c:8143
weed_plant_t * weed_layer_new_from_generator(weed_plant_t *inst, weed_timecode_t tc)
Definition: effects-weed.c:7188
int check_weed_palette_list(int *palette_list, int num_palettes, int palette)
Definition: effects-weed.c:1033
weed_plant_t * weed_instance_from_filter(weed_plant_t *filter)
Definition: effects-weed.c:6389
int get_nth_simple_param(weed_plant_t *, int pnum)
Definition: effects-weed.c:8032
int weed_call_deinit_func(weed_plant_t *instance)
Definition: effects-weed.c:6956
void rec_param_change(weed_plant_t *inst, int pnum)
record a parameter value change in our event_list
Definition: effects-weed.c:8196
Definition: effects-weed.h:27
void apply_key_defaults(weed_plant_t *inst, int key, int mode)
Definition: effects-weed.c:10854
lives_fx_cat_t rte_keymode_get_category(int key, int mode)
Definition: effects-weed.c:8481
weed_plant_t * get_new_inst_for_keymode(int key, int mode)
get new inst (during recording playback)
Definition: effects-weed.c:8411
void weed_apply_audio_effects_rt(float **abuf, int nchans, int64_t nsamps, double arate, weed_timecode_t tc, boolean analysers_only)
Definition: effects-weed.c:3754
weed_plant_t * add_filter_init_events(weed_plant_t *event_list, weed_timecode_t tc)
Definition: effects-weed.c:1007
boolean has_audio_chans_out(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:873
lives_af_t
audio filter type (any, analyser only, non analyser only)
Definition: effects.h:47
weed_plant_t * rte_keymode_get_instance(int key, int mode)
returns filter_instance bound to key/mode (or NULL)
Definition: effects-weed.c:8623
void weed_generator_end(weed_plant_t *inst)
Definition: effects-weed.c:5998
boolean interpolate_param(weed_plant_t *inst, int i, void *pchain, weed_timecode_t tc)
parameter interpolation
Definition: effects-weed.c:9305
void wge_inner(weed_plant_t *inst)
deinit instance(s) for generator
Definition: effects-weed.c:5978
lives_filter_error_t
filter apply errors
Definition: effects-weed.h:12
boolean read_generator_sizes(int fd)
Definition: effects-weed.c:10602
int rte_fg_gen_mode(void)
Definition: effects-weed.c:8721
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.
Definition: effects-weed.c:9019
weed_plant_t * weed_inst_in_param(weed_plant_t *inst, int param_num, boolean skip_hidden, boolean skip_internal)
Definition: effects-weed.c:7899
void set_param_gui_readwrite(weed_plant_t *inst)
Definition: effects-weed.c:1322
weed_plant_t * weed_filter_in_paramtmpl(weed_plant_t *filter, int param_num, boolean skip_internal)
Definition: effects-weed.c:7974
int get_master_vol_param(weed_plant_t *filter, boolean skip_internal)
Definition: effects-weed.c:7837
void weed_set_blend_factor(int hotkey)
Definition: effects-weed.c:8220
const char * version(void)
boolean weed_generator_start(weed_plant_t *inst, int key)
Definition: effects-weed.c:7305
_palette * palette
Definition: main.c:89
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)
Definition: effects-weed.c:3567
void update_host_info(weed_plant_t *inst)
Definition: effects-weed.c:611
boolean rte_key_is_enabled(int key)
Definition: effects-weed.c:941
values >= 512 are info
Definition: effects-weed.h:36
boolean read_key_defaults(int fd, int nparams, int key, int mode, int version)
Definition: effects-weed.c:10739
Definition: effects-weed.h:26
weed_plant_t * get_enabled_audio_channel(weed_plant_t *inst, int which, boolean is_in)
for FILTER_INST
Definition: effects-weed.c:690
int rte_key_getmode(int key)
returns current active mode for a key (or -1)
Definition: effects-weed.c:8605
char * weed_instance_get_filter_name(weed_plant_t *inst, boolean get_compound_parent) WARN_UNUSED
Definition: effects-weed.c:8660
boolean has_usable_palette(weed_plant_t *chantmpl)
Definition: effects-weed.c:3989
void weed_deinit_effect(int hotkey)
hotkey starts at 1
Definition: effects-weed.c:6980
char * rte_keymode_get_plugin_name(int key, int mode) WARN_UNUSED
returns name of plugin package containing filter_class (or "")
Definition: effects-weed.c:8683
void weed_deinit_all(boolean shutdown)
deinit all active effects
Definition: effects-weed.c:7148
boolean weed_init_effect(int hotkey)
hotkey starts at 1
Definition: effects-weed.c:6518
char * make_weed_hashname(int filter_idx, boolean fullname, boolean use_extra_authors) WARN_UNUSED
fullname includes author and version
Definition: effects-weed.c:9802
boolean weed_parameter_has_variable_elements_strict(weed_plant_t *inst, weed_plant_t *ptmpl)
Definition: effects-weed.c:906
Definition: effects-weed.h:15
Definition: effects-weed.h:43
void weed_memory_init(void)
call weed_init() with mem functions
Definition: effects-weed.c:4737
int rte_get_numfilters(boolean inc_dupes)
Definition: effects-weed.c:9010
lives_fx_list_t
Definition: effects-weed.h:40
boolean has_video_chans_in(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:787
int enabled_out_channels(weed_plant_t *plant, boolean count_repeats)
Definition: effects-weed.c:4060
weed_plant_t * weed_bootstrap_func(weed_default_getter_f *value, int num_versions, int *plugin_versions)
bootstrap function for weed plugins
Definition: effects-weed.c:207
int rte_bg_gen_key(void)
Definition: effects-weed.c:8709
Definition: effects-weed.h:22
Definition: effects-weed.h:19
weed_plant_t * get_textparm()
Definition: effects-weed.c:8730
void filter_mutex_unlock(int key)
Definition: effects-weed.c:116
int num_in_params(weed_plant_t *, boolean skip_hidden, boolean skip_internal)
Definition: effects-weed.c:3922
int enabled_in_channels(weed_plant_t *plant, boolean count_repeats)
Definition: effects-weed.c:4000
int num_out_params(weed_plant_t *)
Definition: effects-weed.c:3973
weed_plant_t * get_enabled_channel(weed_plant_t *inst, int which, boolean is_in)
for FILTER_INST
Definition: effects-weed.c:684
Definition: effects-weed.h:18
boolean has_alpha_palette(weed_plant_t *ctmpl)
Definition: effects-weed.c:304
void backup_weed_instances(void)
for multitrack
Definition: effects-weed.c:554
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: effects-weed.c:895
boolean rte_keymode_valid(int key, int mode, boolean is_userkey)
set to TRUE
Definition: effects-weed.c:8592
char * weed_filter_idx_get_name(int filter_idx) WARN_UNUSED
Definition: effects-weed.c:8645
Definition: effects-weed.h:32
weed_plant_t * weed_filter_out_paramtmpl(weed_plant_t *filter, int param_num)
Definition: effects-weed.c:8011
void weed_load_all(void)
load effects
Definition: effects-weed.c:4851
char * weed_seed_type_to_text(int seed_type)
Definition: effects-weed.c:449
boolean has_non_alpha_palette(weed_plant_t *ctmpl)
Definition: effects-weed.c:282
int get_transition_param(weed_plant_t *filter, boolean skip_internal)
Definition: effects-weed.c:7815
int rte_bg_gen_mode(void)
Definition: effects-weed.c:8717
int weed_get_blend_factor(int hotkey)
Definition: effects-weed.c:8357
char * rte_keymode_get_filter_name(int key, int mode) WARN_UNUSED
returns name of filter_class bound to key/mode (or "")
Definition: effects-weed.c:8675
Definition: effects-weed.h:42
boolean has_video_chans_out(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:850
boolean interpolate_params(weed_plant_t *inst, void **pchains, weed_timecode_t tc)
Definition: effects-weed.c:9762
Definition: effects-weed.h:16
weed_plant_t * weed_plant_deserialise(int fd, unsigned char **mem)
Definition: effects-weed.c:10330
void restore_weed_instances(void)
Definition: effects-weed.c:567
int num_alpha_channels(weed_plant_t *filter, boolean out)
Definition: effects-weed.c:466
Definition: effects-weed.h:30
void set_key_defaults(weed_plant_t *inst, int key, int mode)
Definition: effects-weed.c:10941
Definition: effects-weed.h:24
boolean weed_filter_is_resizer(weed_plant_t *filt)
Definition: effects-weed.c:719
void weed_unload_all(void)
unload all effects
Definition: effects-weed.c:5761
void filter_mutex_lock(int key)
Definition: effects-weed.c:110
int * weed_get_indices_from_template(const char *package_name, const char *filter_name, const char *author, int version)
Definition: effects-weed.c:9957
boolean has_perchannel_multiw(weed_plant_t *filter)
Definition: effects-weed.c:7875
void set_param_gui_readonly(weed_plant_t *inst)
Definition: effects-weed.c:1303
weed_plant_t * weed_instance_get_filter(weed_plant_t *inst, boolean get_compound_parent)
Definition: effects-weed.c:326
boolean weed_plant_serialise(int fd, weed_plant_t *plant, unsigned char **mem)
Definition: effects-weed.c:10089
Definition: effects-weed.h:31
void weed_reinit_all(void)
Definition: effects-weed.c:1450
boolean has_video_filters(boolean analysers_only)
Definition: effects-weed.c:3887
int count_simple_params(weed_plant_t *)
Definition: effects-weed.c:8077
Definition: effects-weed.h:23
void weed_bg_generator_end(weed_plant_t *inst)
Definition: effects-weed.c:7541
void weed_instance_ref(weed_plant_t *inst)
Definition: effects-weed.c:5970
weed_plant_t * add_filter_deinit_events(weed_plant_t *event_list)
Definition: effects-weed.c:982
Definition: effects-weed.h:29
Definition: effects-weed.h:21
void weed_instance_unref(weed_plant_t *inst)
Definition: effects-weed.c:5963
Definition: effects-weed.h:33
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)
Definition: effects-weed.c:3073
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)
Definition: effects-weed.c:3715
Definition: effects-weed.h:20
boolean is_audio_channel_in(weed_plant_t *inst, int chnum)
Definition: effects-weed.c:741
boolean write_generator_sizes(int fd, int idx)
Definition: effects-weed.c:10545
Definition: effects-weed.h:17
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: effects-weed.c:268
#define WARN_UNUSED
Definition: main.h:261
lives_filter_error_t weed_reinit_effect(weed_plant_t *inst, boolean reinit_compound)
Definition: effects-weed.c:1357
char * rte_keymode_get_type(int key, int mode) WARN_UNUSED
returns a string filter/instance type (or "")
Definition: effects-weed.c:8454
void write_key_defaults(int fd, int key, int mode)
Definition: effects-weed.c:10889
int rte_getmodespk(void)
Definition: effects-weed.c:8705
int get_next_free_key(void)
next free "key" for the multitrack system
Definition: effects-weed.c:8503
int rte_keymode_get_filter_idx(int key, int mode)
returns filter_class index of key/mode (or -1 if no filter bound)
Definition: effects-weed.c:8599
Definition: effects-weed.h:41
void weed_in_params_free(weed_plant_t **parameters, int num_parameters)
Definition: effects-weed.c:5909
lives_fx_cat_t weed_filter_subcategorise(weed_plant_t *pl, lives_fx_cat_t category, boolean count_opt)
Definition: effects-weed.c:418
boolean has_key_defaults(void)
Definition: effects-weed.c:10979
weed_plant_t * weed_inst_out_param(weed_plant_t *inst, int param_num)
Definition: effects-weed.c:7949
boolean read_filter_defaults(int fd)
Definition: effects-weed.c:10426