LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
effects-weed.h
Go to the documentation of this file.
1 // effects-weed.h
2 // LiVES (lives-exe)
3 // (c) G. Finch 2005 - 2014 <salsaman@gmail.com>
4 // Released under the GPL 3 or later
5 // see file ../COPYING for licensing details
6
7
8 #ifndef HAS_LIVES_EFFECTS_WEED_H
9 #define HAS_LIVES_EFFECTS_WEED_H
10
12 typedef enum {
13 FILTER_NO_ERROR=0,
14 FILTER_ERROR_MISSING_LAYER,
15 FILTER_ERROR_BLANK_FRAME,
16 FILTER_ERROR_MISSING_FRAME,
17 FILTER_ERROR_INVALID_PALETTE_CONVERSION,
18 FILTER_ERROR_UNABLE_TO_RESIZE,
19 FILTER_ERROR_INVALID_PALETTE_SETTINGS,
20 FILTER_ERROR_COULD_NOT_REINIT,
21 FILTER_ERROR_MUST_RELOAD,
22 FILTER_ERROR_NO_IN_CHANNELS,
23 FILTER_ERROR_INVALID_TRACK,
24 FILTER_ERROR_INTERPOLATION_FAILED,
25 FILTER_ERROR_INVALID_INSTANCE,
26 FILTER_ERROR_INVALID_FILTER,
27 FILTER_ERROR_INVALID_INIT_EVENT,
28 FILTER_ERROR_IS_AUDIO,
29 FILTER_ERROR_IS_SCRAP_FILE,
30 FILTER_ERROR_MISSING_CHANNEL,
31 FILTER_ERROR_TEMPLATE_MISMATCH,
32 FILTER_ERROR_MEMORY_ERROR,
33 FILTER_ERROR_DONT_THREAD,
34
36 FILTER_INFO_REINITED=512
37 } lives_filter_error_t;
38
39
40 typedef enum {
41 FX_LIST_NAME,
42 FX_LIST_NAME_AND_TYPE,
43 FX_LIST_HASHNAME,
44 } lives_fx_list_t;
45
46
48 weed_plant_t *weed_bootstrap_func(weed_default_getter_f *value, int num_versions, int *plugin_versions);
49
50 weed_plant_t *get_weed_filter(int filter_idx);
51 char *weed_filter_idx_get_name(int filter_idx) WARN_UNUSED;
52 char *weed_instance_get_filter_name(weed_plant_t *inst, boolean get_compound_parent) WARN_UNUSED;
53 char *make_weed_hashname(int filter_idx, boolean fullname,
54 boolean use_extra_authors) WARN_UNUSED;
55 int weed_get_idx_for_hashname(const char *hashname, boolean fullname);
56 int *weed_get_indices_from_template(const char *package_name, const char *filter_name, const char *author, int version);
57 int enabled_in_channels(weed_plant_t *plant, boolean count_repeats);
58 int enabled_out_channels(weed_plant_t *plant, boolean count_repeats);
59 weed_plant_t *get_enabled_channel(weed_plant_t *inst, int which, boolean is_in);
60 weed_plant_t *get_enabled_audio_channel(weed_plant_t *inst, int which, boolean is_in);
61 weed_plant_t *get_mandatory_channel(weed_plant_t *filter, int which, boolean is_in);
62 boolean weed_filter_is_resizer(weed_plant_t *filt);
63 boolean weed_instance_is_resizer(weed_plant_t *filt);
64 weed_plant_t *weed_instance_get_filter(weed_plant_t *inst, boolean get_compound_parent);
65
66 #define PLUGIN_COMPOUND_EFFECTS_BUILTIN "effects/compound/"
67 #define PLUGIN_COMPOUND_EFFECTS_CUSTOM "plugins/effects/compound/"
68
69 int num_compound_fx(weed_plant_t
70 *plant);
71 void load_compound_fx(void);
72
73 boolean has_non_alpha_palette(weed_plant_t *ctmpl);
74 boolean has_alpha_palette(weed_plant_t *ctmpl);
75
76 boolean is_audio_channel_in(weed_plant_t *inst, int chnum);
77 boolean has_video_chans_in(weed_plant_t *filter, boolean count_opt);
78 boolean has_audio_chans_in(weed_plant_t *filter, boolean count_opt);
79 boolean is_audio_channel_out(weed_plant_t *inst, int chnum);
80 boolean has_video_chans_out(weed_plant_t *filter, boolean count_opt);
81 boolean has_audio_chans_out(weed_plant_t *filter, boolean count_opt);
82 boolean is_pure_audio(weed_plant_t *filter_or_instance, boolean count_opt);
83
84 boolean has_video_filters(boolean analysers_only);
85
86 #ifdef HAS_LIVES_EFFECTS_H
87 lives_fx_cat_t weed_filter_categorise(weed_plant_t *pl, int in_channels, int out_channels);
88 lives_fx_cat_t weed_filter_subcategorise(weed_plant_t *pl, lives_fx_cat_t category, boolean count_opt);
89 boolean has_audio_filters(lives_af_t af_type);
90 #endif
91
92 char *weed_seed_type_to_text(int seed_type);
93
94 boolean has_usable_palette(weed_plant_t *chantmpl);
95 int check_weed_palette_list(int *palette_list, int num_palettes, int palette);
96
97 int weed_call_init_func(weed_plant_t *instance);
98 int weed_call_deinit_func(weed_plant_t *instance);
99
100 char *cd_to_plugin_dir(weed_plant_t *filter);
101 boolean weed_init_effect(int hotkey);
102 void weed_deinit_effect(int hotkey);
103 weed_plant_t *weed_instance_from_filter(weed_plant_t *filter);
104 void weed_instance_ref(weed_plant_t *inst);
105 void weed_instance_unref(weed_plant_t *inst);
106 void weed_in_parameters_free(weed_plant_t *inst);
107 void weed_in_params_free(weed_plant_t **parameters, int num_parameters);
108 void add_param_connections(weed_plant_t *inst);
109 lives_filter_error_t weed_reinit_effect(weed_plant_t *inst, boolean reinit_compound);
110 void weed_reinit_all(void);
111
112
113 int weed_flagset_array_count(weed_plant_t **array, boolean set_readonly);
114
115 int num_alpha_channels(weed_plant_t *filter, boolean out);
116
117 int num_in_params(weed_plant_t *, boolean skip_hidden, boolean skip_internal);
118 int num_out_params(weed_plant_t *);
119 weed_plant_t *weed_inst_in_param(weed_plant_t *inst, int param_num, boolean skip_hidden, boolean skip_internal);
120 weed_plant_t *weed_inst_out_param(weed_plant_t *inst, int param_num);
121 weed_plant_t *weed_filter_in_paramtmpl(weed_plant_t *filter, int param_num, boolean skip_internal);
122 weed_plant_t *weed_filter_out_paramtmpl(weed_plant_t *filter, int param_num);
123 boolean is_hidden_param(weed_plant_t *, int i);
124 int get_nth_simple_param(weed_plant_t *, int pnum);
125 int count_simple_params(weed_plant_t *);
126 weed_plant_t **weed_params_create(weed_plant_t *filter, boolean in);
127 int get_transition_param(weed_plant_t *filter, boolean skip_internal);
128 int get_master_vol_param(weed_plant_t *filter, boolean skip_internal);
129 boolean is_perchannel_multiw(weed_plant_t *param);
130 boolean has_perchannel_multiw(weed_plant_t *filter);
131 boolean weed_parameter_has_variable_elements_strict(weed_plant_t *inst, weed_plant_t *ptmpl);
132
133
135 boolean interpolate_param(weed_plant_t *inst, int i, void *pchain, weed_timecode_t tc);
136 boolean interpolate_params(weed_plant_t *inst, void **pchains, weed_timecode_t tc);
137
138 void filter_mutex_lock(int key); // 0 based key
139 void filter_mutex_unlock(int key); // 0 based key
140
141 boolean weed_plant_serialise(int fd, weed_plant_t *plant, unsigned char **mem);
142 weed_plant_t *weed_plant_deserialise(int fd, unsigned char **mem);
143
144
146 void rec_param_change(weed_plant_t *inst, int pnum);
147
148 // copy values for "copy_value_to" params
149 int set_copy_to(weed_plant_t *inst, int pnum, boolean update);
150
151 weed_plant_t *get_textparm();
152
153 void weed_set_blend_factor(int hotkey); // 0 based key
154 int weed_get_blend_factor(int hotkey); // 0 based key
155
156 void weed_memory_init(void);
157
158 void weed_load_all(void);
159 void weed_unload_all(void);
160 int get_next_free_key(void);
161
162 void weed_deinit_all(boolean shutdown);
163
164 weed_plant_t *weed_apply_effects(weed_plant_t **layers, weed_plant_t *filter_map, weed_timecode_t tc, int opwidth, int opheight,
165 void ***pchains);
166 lives_filter_error_t weed_apply_instance(weed_plant_t *inst, weed_plant_t *init_event, weed_plant_t **layers,
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);
171
172 lives_filter_error_t weed_apply_audio_instance(weed_plant_t *init_event, float **abuf, int nbtracks, int nchans, int64_t nsamps,
173 double arate, weed_timecode_t tc, double *vis);
174
175 boolean weed_generator_start(weed_plant_t *inst, int key); // 0 based key
176 weed_plant_t *weed_layer_new_from_generator(weed_plant_t *inst, weed_timecode_t tc);
177 void weed_generator_end(weed_plant_t *inst);
178 boolean weed_playback_gen_start(void);
179 void weed_bg_generator_end(weed_plant_t *inst);
180 void wge_inner(weed_plant_t *inst, boolean unref);
181
183 void backup_weed_instances(void);
184 void restore_weed_instances(void);
185
186
188 // WARNING !! "key" here starts at 1, "mode" starts at 0
189
190 boolean rte_key_valid(int key, boolean is_userkey);
191 boolean rte_keymode_valid(int key, int mode,
192 boolean is_userkey);
193 int rte_keymode_get_filter_idx(int key, int mode);
195 char *rte_keymode_get_filter_name(int key, int mode) WARN_UNUSED;
196 char *rte_keymode_get_plugin_name(int key, int mode) WARN_UNUSED;
197 char *rte_keymode_get_type(int key, int mode) WARN_UNUSED;
198
199 #ifdef HAS_LIVES_EFFECTS_H
200 lives_fx_cat_t rte_keymode_get_category(int key, int mode);
201 #endif
202
203 weed_plant_t *rte_keymode_get_instance(int key, int mode);
204 weed_plant_t *rte_keymode_get_filter(int key, int mode);
205
206 boolean weed_delete_effectkey(int key, int mode);
207 int weed_add_effectkey(int key, const char *hashname, boolean fullname);
208
209 int weed_add_effectkey_by_idx(int key, int idx);
210
211 int rte_key_getmode(int key);
212 int rte_key_getmaxmode(int key);
213
214 weed_plant_t *get_new_inst_for_keymode(int key, int mode);
215
216
217 boolean rte_key_setmode(int key, int newmode);
218
220 int rte_switch_keymode(int key, int mode, const char *hashname);
221
222 boolean rte_key_is_enabled(int key);
223
224
225
227
228 int rte_getmodespk(void);
229 LiVESList *weed_get_all_names(lives_fx_list_t list_type);
230 int rte_get_numfilters(boolean inc_dupes);
231
233 // key starts at 0
234
235 void free_key_defaults(int key, int mode);
236 void apply_key_defaults(weed_plant_t *inst, int key, int mode);
237 void write_key_defaults(int fd, int key, int mode);
238 boolean read_key_defaults(int fd, int nparams, int key, int mode, int version);
239 void set_key_defaults(weed_plant_t *inst, int key, int mode);
240 boolean has_key_defaults(void);
241
242
244 // 0 based keys
245 void rte_swap_fg_bg(void);
246
247
248 int rte_bg_gen_key(void);
249 int rte_fg_gen_key(void);
250
251 int rte_bg_gen_mode(void);
252 int rte_fg_gen_mode(void);
253
254
255
257
258 char *get_weed_display_string(weed_plant_t *inst, int pnum);
259 weed_plant_t *add_filter_deinit_events(weed_plant_t *event_list);
260 weed_plant_t *add_filter_init_events(weed_plant_t *event_list, weed_timecode_t tc);
261 void deinit_render_effects(void);
262
263 boolean write_filter_defaults(int fd, int idx);
264 boolean read_filter_defaults(int fd);
265
266 boolean write_generator_sizes(int fd, int idx);
267 boolean read_generator_sizes(int fd);
268
269 int step_val(int val, int step);
270
271 void set_param_gui_readwrite(weed_plant_t *inst);
272 void set_param_gui_readonly(weed_plant_t *inst);
273
274 void weed_add_plant_flags(weed_plant_t *plant, int flags);
275
276 void update_host_info(weed_plant_t *inst);
277
279 void fill_param_vals_to(weed_plant_t *param, weed_plant_t *ptmpl, int fill_slot);
280
281
282 // some general utilities
283
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)
293
294
295 #endif
load_compound_fx
void load_compound_fx(void)
Definition: effects-weed.c:5778
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)
Definition: effects-weed.c:3627
weed_filter_categorise
lives_fx_cat_t weed_filter_categorise(weed_plant_t *pl, int in_channels, int out_channels)
Definition: effects-weed.c:336
weed_in_params_free
void weed_in_params_free(weed_plant_t **parameters, int num_parameters)
Definition: effects-weed.c:5983
num_in_params
int num_in_params(weed_plant_t *plant, boolean skip_hidden, boolean skip_internal)
Definition: effects-weed.c:3996
weed_flagset_array_count
LIVES_INLINE int weed_flagset_array_count(weed_plant_t **array, boolean set_readonly)
Definition: effects-weed.c:1322
get_mandatory_channel
weed_plant_t * get_mandatory_channel(weed_plant_t *filter, int which, boolean is_in)
for FILTER_CLASS
Definition: effects-weed.c:698
weed_filter_out_paramtmpl
weed_plant_t * weed_filter_out_paramtmpl(weed_plant_t *filter, int param_num)
Definition: effects-weed.c:8091
weed_inst_out_param
weed_plant_t * weed_inst_out_param(weed_plant_t *inst, int param_num)
Definition: effects-weed.c:8029
has_audio_filters
boolean has_audio_filters(lives_af_t af_type)
Definition: effects-weed.c:3935
weed_deinit_effect
void weed_deinit_effect(int hotkey)
hotkey starts at 1
Definition: effects-weed.c:7065
weed_deinit_all
void weed_deinit_all(boolean shutdown)
deinit all active effects
Definition: effects-weed.c:7233
weed_init_effect
boolean weed_init_effect(int hotkey)
hotkey starts at 1
Definition: effects-weed.c:6603
lives_fx_cat_t
lives_fx_cat_t
Definition: effects.h:17
FILTER_NO_ERROR
Definition: effects-weed.h:13
rte_fg_gen_key
int rte_fg_gen_key(void)
FILTER_ERROR_IS_AUDIO
Definition: effects-weed.h:28
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.
Definition: effects-weed.c:897
weed_call_init_func
int weed_call_init_func(weed_plant_t *inst)
Definition: effects-weed.c:7017
FILTER_ERROR_MISSING_LAYER
Definition: effects-weed.h:14
make_weed_hashname
char * make_weed_hashname(int filter_idx, boolean fullname, boolean use_extra_authors)
fullname includes author and version
Definition: effects-weed.c:9882
read_filter_defaults
boolean read_filter_defaults(int fd)
Definition: effects-weed.c:10506
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 &quot;&quot;)
Definition: effects-weed.c:8755
read_generator_sizes
boolean read_generator_sizes(int fd)
Definition: effects-weed.c:10682
weed_filter_is_resizer
boolean weed_filter_is_resizer(weed_plant_t *filt)
Definition: effects-weed.c:721
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)
Definition: effects-weed.c:3818
get_nth_simple_param
int get_nth_simple_param(weed_plant_t *plant, int pnum)
Definition: effects-weed.c:8112
step_val
LIVES_INLINE int step_val(int val, int step)
Definition: effects-weed.c:579
rte_key_getmaxmode
int rte_key_getmaxmode(int key)
returns highest mode which is set
Definition: effects-weed.c:8690
weed_instance_get_filter
weed_plant_t * weed_instance_get_filter(weed_plant_t *inst, boolean get_compound_parent)
Definition: effects-weed.c:328
update_host_info
void update_host_info(weed_plant_t *inst)
Definition: effects-weed.c:613
add_filter_deinit_events
weed_plant_t * add_filter_deinit_events(weed_plant_t *event_list)
Definition: effects-weed.c:984
rte_keymode_get_plugin_name
char * rte_keymode_get_plugin_name(int key, int mode)
returns name of plugin package containing filter_class (or &quot;&quot;)
Definition: effects-weed.c:8763
weed_call_deinit_func
int weed_call_deinit_func(weed_plant_t *instance)
Definition: effects-weed.c:7041
is_hidden_param
boolean is_hidden_param(weed_plant_t *plant, int i)
Definition: effects-weed.c:7830
has_non_alpha_palette
boolean has_non_alpha_palette(weed_plant_t *ctmpl)
Definition: effects-weed.c:284
weed_set_blend_factor
void weed_set_blend_factor(int hotkey)
Definition: effects-weed.c:8300
FILTER_ERROR_INVALID_INSTANCE
Definition: effects-weed.h:25
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)
Definition: effects-weed.c:3132
weed_get_idx_for_hashname
int weed_get_idx_for_hashname(const char *hashname, boolean fullname)
fullname includes author and version
Definition: effects-weed.c:9941
enabled_out_channels
int enabled_out_channels(weed_plant_t *plant, boolean count_repeats)
Definition: effects-weed.c:4134
FILTER_ERROR_INVALID_INIT_EVENT
Definition: effects-weed.h:27
rte_keymode_get_category
lives_fx_cat_t rte_keymode_get_category(int key, int mode)
Definition: effects-weed.c:8561
write_generator_sizes
boolean write_generator_sizes(int fd, int idx)
Definition: effects-weed.c:10625
weed_filter_idx_get_name
char * weed_filter_idx_get_name(int idx)
Definition: effects-weed.c:8725
rec_param_change
void rec_param_change(weed_plant_t *inst, int pnum)
record a parameter value change in our event_list
Definition: effects-weed.c:8276
lives_af_t
lives_af_t
audio filter type (any, analyser only, non analyser only)
Definition: effects.h:47
weed_inst_in_param
weed_plant_t * weed_inst_in_param(weed_plant_t *inst, int param_num, boolean skip_hidden, boolean skip_internal)
Definition: effects-weed.c:7979
apply_key_defaults
void apply_key_defaults(weed_plant_t *inst, int key, int mode)
Definition: effects-weed.c:10934
get_new_inst_for_keymode
weed_plant_t * get_new_inst_for_keymode(int key, int mode)
get new inst (during recording playback)
Definition: effects-weed.c:8491
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: effects-weed.c:8718
backup_weed_instances
void backup_weed_instances(void)
for multitrack
Definition: effects-weed.c:556
lives_filter_error_t
lives_filter_error_t
filter apply errors
Definition: effects-weed.h:12
get_next_free_key
int get_next_free_key(void)
next free &quot;key&quot; for the multitrack system
Definition: effects-weed.c:8583
rte_fg_gen_mode
int rte_fg_gen_mode(void)
add_filter_init_events
weed_plant_t * add_filter_init_events(weed_plant_t *event_list, weed_timecode_t tc)
Definition: effects-weed.c:1015
write_filter_defaults
boolean write_filter_defaults(int fd, int idx)
Definition: effects-weed.c:10457
version
const char * version(void)
palette
_palette * palette
Definition: main.c:89
FILTER_INFO_REINITED
values &gt;= 512 are info
Definition: effects-weed.h:36
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: effects-weed.c:8985
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: effects-weed.c:8664
rte_swap_fg_bg
void rte_swap_fg_bg(void)
Definition: effects-weed.c:9035
FILTER_ERROR_INVALID_FILTER
Definition: effects-weed.h:26
weed_get_blend_factor
int weed_get_blend_factor(int hotkey)
Definition: effects-weed.c:8437
interpolate_params
boolean interpolate_params(weed_plant_t *inst, void **pchains, weed_timecode_t tc)
Definition: effects-weed.c:9842
has_video_chans_in
boolean has_video_chans_in(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:789
rte_keymode_get_instance
weed_plant_t * rte_keymode_get_instance(int key, int mode)
returns filter_instance bound to key/mode (or NULL)
Definition: effects-weed.c:8703
deinit_render_effects
void deinit_render_effects(void)
Definition: effects-weed.c:7219
rte_keymode_get_type
char * rte_keymode_get_type(int key, int mode)
returns a string filter/instance type (or &quot;&quot;)
Definition: effects-weed.c:8534
set_copy_to
int set_copy_to(weed_plant_t *inst, int pnum, boolean update)
Definition: effects-weed.c:8223
FILTER_ERROR_BLANK_FRAME
Definition: effects-weed.h:15
FX_LIST_HASHNAME
Definition: effects-weed.h:43
weed_instance_get_filter_name
char * weed_instance_get_filter_name(weed_plant_t *inst, boolean get_compound_parent)
Definition: effects-weed.c:8740
filter_mutex_unlock
void filter_mutex_unlock(int key)
Definition: effects-weed.c:128
weed_instance_from_filter
weed_plant_t * weed_instance_from_filter(weed_plant_t *filter)
Definition: effects-weed.c:6474
get_weed_filter
weed_plant_t * get_weed_filter(int idx)
Definition: effects-weed.c:10082
weed_load_all
void weed_load_all(void)
load effects
Definition: effects-weed.c:4925
lives_fx_list_t
lives_fx_list_t
Definition: effects-weed.h:40
rte_bg_gen_key
int rte_bg_gen_key(void)
FILTER_ERROR_NO_IN_CHANNELS
Definition: effects-weed.h:22
get_transition_param
int get_transition_param(weed_plant_t *filter, boolean skip_internal)
Definition: effects-weed.c:7895
FILTER_ERROR_INVALID_PALETTE_SETTINGS
Definition: effects-weed.h:19
weed_playback_gen_start
boolean weed_playback_gen_start(void)
Definition: effects-weed.c:7625
weed_parameter_has_variable_elements_strict
boolean weed_parameter_has_variable_elements_strict(weed_plant_t *inst, weed_plant_t *ptmpl)
Definition: effects-weed.c:908
write_key_defaults
void write_key_defaults(int fd, int key, int mode)
Definition: effects-weed.c:10969
rte_get_numfilters
int rte_get_numfilters(boolean inc_dupes)
Definition: effects-weed.c:9090
weed_reinit_all
void weed_reinit_all(void)
Definition: effects-weed.c:1479
weed_get_indices_from_template
int * weed_get_indices_from_template(const char *pkg, const char *fxname, const char *auth, int version)
Definition: effects-weed.c:10037
add_param_connections
void add_param_connections(weed_plant_t *inst)
Definition: effects-weed.c:6429
FILTER_ERROR_UNABLE_TO_RESIZE
Definition: effects-weed.h:18
get_textparm
weed_plant_t * get_textparm()
Definition: effects-weed.c:8810
has_usable_palette
boolean has_usable_palette(weed_plant_t *chantmpl)
Definition: effects-weed.c:4063
count_simple_params
int count_simple_params(weed_plant_t *plant)
Definition: effects-weed.c:8157
enabled_in_channels
int enabled_in_channels(weed_plant_t *plant, boolean count_repeats)
Definition: effects-weed.c:4074
FILTER_ERROR_MEMORY_ERROR
Definition: effects-weed.h:32
weed_filter_in_paramtmpl
weed_plant_t * weed_filter_in_paramtmpl(weed_plant_t *filter, int param_num, boolean skip_internal)
Definition: effects-weed.c:8054
get_master_vol_param
int get_master_vol_param(weed_plant_t *filter, boolean skip_internal)
Definition: effects-weed.c:7917
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
Definition: effects-weed.c:8856
rte_keymode_valid
boolean rte_keymode_valid(int key, int mode, boolean is_userkey)
set to TRUE
Definition: effects-weed.c:8672
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
Definition: effects-weed.c:209
wge_inner
void wge_inner(weed_plant_t *inst, boolean unref)
deinit instance(s) for generator
Definition: effects-weed.c:6052
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)
Definition: effects-weed.c:1665
is_audio_channel_in
boolean is_audio_channel_in(weed_plant_t *inst, int chnum)
Definition: effects-weed.c:743
rte_bg_gen_mode
int rte_bg_gen_mode(void)
get_enabled_audio_channel
weed_plant_t * get_enabled_audio_channel(weed_plant_t *inst, int which, boolean is_in)
for FILTER_INST
Definition: effects-weed.c:692
weed_instance_ref
void weed_instance_ref(weed_plant_t *inst)
Definition: effects-weed.c:6044
check_weed_palette_list
int check_weed_palette_list(int *palette_list, int num_palettes, int palette)
Definition: effects-weed.c:1041
FX_LIST_NAME_AND_TYPE
Definition: effects-weed.h:42
rte_key_is_enabled
LIVES_INLINE boolean rte_key_is_enabled(int key)
Definition: effects-weed.c:943
weed_get_all_names
LiVESList * weed_get_all_names(lives_fx_list_t list_type)
Definition: effects-weed.c:9053
weed_unload_all
void weed_unload_all(void)
unload all effects
Definition: effects-weed.c:5835
has_perchannel_multiw
boolean has_perchannel_multiw(weed_plant_t *filter)
Definition: effects-weed.c:7955
FILTER_ERROR_MISSING_FRAME
Definition: effects-weed.h:16
cd_to_plugin_dir
char * cd_to_plugin_dir(weed_plant_t *filter)
Definition: effects-weed.c:1373
weed_instance_is_resizer
boolean weed_instance_is_resizer(weed_plant_t *inst)
Definition: effects-weed.c:736
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.
Definition: effects-weed.c:9099
FILTER_ERROR_MISSING_CHANNEL
Definition: effects-weed.h:30
FILTER_ERROR_INTERPOLATION_FAILED
Definition: effects-weed.h:24
has_audio_chans_out
boolean has_audio_chans_out(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:875
free_key_defaults
void free_key_defaults(int key, int mode)
Definition: effects-weed.c:10995
has_video_filters
boolean has_video_filters(boolean analysers_only)
Definition: effects-weed.c:3961
interpolate_param
boolean interpolate_param(weed_plant_t *inst, int i, void *pchain, weed_timecode_t tc)
parameter interpolation
Definition: effects-weed.c:9385
num_alpha_channels
int num_alpha_channels(weed_plant_t *filter, boolean out)
Definition: effects-weed.c:468
FILTER_ERROR_TEMPLATE_MISMATCH
Definition: effects-weed.h:31
weed_seed_type_to_text
char * weed_seed_type_to_text(int seed_type)
Definition: effects-weed.c:451
FILTER_ERROR_INVALID_TRACK
Definition: effects-weed.h:23
weed_generator_start
boolean weed_generator_start(weed_plant_t *inst, int key)
Definition: effects-weed.c:7379
set_param_gui_readonly
void set_param_gui_readonly(weed_plant_t *inst)
Definition: effects-weed.c:1332
FILTER_ERROR_IS_SCRAP_FILE
Definition: effects-weed.h:29
FILTER_ERROR_MUST_RELOAD
Definition: effects-weed.h:21
has_video_chans_out
boolean has_video_chans_out(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:852
weed_plant_serialise
boolean weed_plant_serialise(int fd, weed_plant_t *plant, unsigned char **mem)
Definition: effects-weed.c:10169
weed_in_parameters_free
void weed_in_parameters_free(weed_plant_t *inst)
Definition: effects-weed.c:5996
has_key_defaults
boolean has_key_defaults(void)
Definition: effects-weed.c:11059
weed_add_effectkey_by_idx
int weed_add_effectkey_by_idx(int key, int idx)
see description
Definition: effects-weed.c:8953
weed_bg_generator_end
void weed_bg_generator_end(weed_plant_t *inst)
Definition: effects-weed.c:7615
weed_add_plant_flags
void weed_add_plant_flags(weed_plant_t *plant, int flags)
Definition: effects-weed.c:150
FILTER_ERROR_DONT_THREAD
Definition: effects-weed.h:33
rte_key_getmode
int rte_key_getmode(int key)
returns current active mode for a key (or -1)
Definition: effects-weed.c:8685
weed_plant_deserialise
weed_plant_t * weed_plant_deserialise(int fd, unsigned char **mem)
Definition: effects-weed.c:10410
restore_weed_instances
void restore_weed_instances(void)
Definition: effects-weed.c:569
weed_layer_new_from_generator
weed_plant_t * weed_layer_new_from_generator(weed_plant_t *inst, weed_timecode_t tc)
Definition: effects-weed.c:7273
FILTER_ERROR_COULD_NOT_REINIT
Definition: effects-weed.h:20
filter_mutex_lock
void filter_mutex_lock(int key)
Definition: effects-weed.c:122
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: effects-weed.c:270
num_out_params
int num_out_params(weed_plant_t *plant)
Definition: effects-weed.c:4047
weed_reinit_effect
lives_filter_error_t weed_reinit_effect(weed_plant_t *inst, boolean reinit_compound)
Definition: effects-weed.c:1386
weed_params_create
weed_plant_t ** weed_params_create(weed_plant_t *filter, boolean in)
Definition: effects-weed.c:6264
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)
Definition: effects-weed.c:3779
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: effects-weed.c:8679
weed_memory_init
void weed_memory_init(void)
call weed_init() with mem functions
Definition: effects-weed.c:4811
FILTER_ERROR_INVALID_PALETTE_CONVERSION
Definition: effects-weed.h:17
get_weed_display_string
char * get_weed_display_string(weed_plant_t *inst, int pnum)
Definition: effects-weed.c:8185
weed_generator_end
void weed_generator_end(weed_plant_t *inst)
Definition: effects-weed.c:6081
has_audio_chans_in
boolean has_audio_chans_in(weed_plant_t *filter, boolean count_opt)
Definition: effects-weed.c:812
WARN_UNUSED
#define WARN_UNUSED
Definition: main.h:271
read_key_defaults
boolean read_key_defaults(int fd, int nparams, int key, int mode, int ver)
Definition: effects-weed.c:10819
rte_getmodespk
int rte_getmodespk(void)
FX_LIST_NAME
Definition: effects-weed.h:41
weed_instance_unref
void weed_instance_unref(weed_plant_t *inst)
Definition: effects-weed.c:6037
is_perchannel_multiw
boolean is_perchannel_multiw(weed_plant_t *param)
Definition: effects-weed.c:7941
set_key_defaults
void set_key_defaults(weed_plant_t *inst, int key, int mode)
Definition: effects-weed.c:11021
is_audio_channel_out
boolean is_audio_channel_out(weed_plant_t *inst, int chnum)
Definition: effects-weed.c:834
weed_filter_subcategorise
lives_fx_cat_t weed_filter_subcategorise(weed_plant_t *pl, lives_fx_cat_t category, boolean count_opt)
Definition: effects-weed.c:420
weed_delete_effectkey
boolean weed_delete_effectkey(int key, int mode)
unbinds a filter_class from a key/mode
Definition: effects-weed.c:8598
set_param_gui_readwrite
void set_param_gui_readwrite(weed_plant_t *inst)
Definition: effects-weed.c:1351
rte_switch_keymode
int rte_switch_keymode(int key, int mode, const char *hashname)
Definition: effects-weed.c:8993
get_enabled_channel
weed_plant_t * get_enabled_channel(weed_plant_t *inst, int which, boolean is_in)
for FILTER_INST
Definition: effects-weed.c:686
has_alpha_palette
boolean has_alpha_palette(weed_plant_t *ctmpl)
Definition: effects-weed.c:306