LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
events.h
Go to the documentation of this file.
1 // events.h
2 // LiVES
3 // (c) G. Finch 2005 - 2010 <salsaman@gmail.com>
4 // released under the GNU GPL 3 or later
5 // see file ../COPYING or www.gnu.org for licensing details
6
7
8 // functions/structs for event_lists and events
9
10 #ifndef HAS_LIVES_EVENTS_H
11 #define HAS_LIVES_EVENTS_H
12
13 weed_plant_t *append_frame_event(weed_plant_t *event_list, weed_timecode_t tc, int numframes,
14 int *clips, int *frames) WARN_UNUSED;
15 weed_plant_t *append_filter_init_event(weed_plant_t *event_list, weed_timecode_t tc,
16 int filter_idx, int num_in_tracks, int key, weed_plant_t *inst) WARN_UNUSED;
17 weed_plant_t *append_filter_deinit_event(weed_plant_t *event_list, weed_timecode_t tc,
18 void *init_event, void **pchain) WARN_UNUSED;
19 weed_plant_t *append_filter_map_event(weed_plant_t *event_list, weed_timecode_t tc, void **init_events) WARN_UNUSED;
20 weed_plant_t *append_param_change_event(weed_plant_t *event_list, weed_timecode_t tc, int pnum,
21 weed_plant_t *param, void *init_event, void **pchain) WARN_UNUSED;
22 weed_plant_t *append_marker_event(weed_plant_t *event_list, weed_timecode_t tc, int marker_type) WARN_UNUSED;
23
25 weed_plant_t *insert_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, int numframes,
26 int *clips, int *frames, weed_plant_t **shortcut) WARN_UNUSED;
27 void insert_audio_event_at(weed_plant_t *event_list,weed_plant_t *event, int track, int clipnum,
28 double time, double vel);
29 void remove_audio_for_track(weed_plant_t *event, int track);
30 weed_plant_t *insert_blank_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc,
31 weed_plant_t **shortcut) WARN_UNUSED;
32
33 void remove_frame_from_event(weed_plant_t *event_list, weed_plant_t *event, int track);
34 void remove_end_blank_frames(weed_plant_t *event_list, boolean remove_filter_inits);
35 void remove_filter_from_event_list(weed_plant_t *event_list, weed_plant_t *init_event);
36
37 weed_plant_t *process_events(weed_plant_t *next_event, boolean process_audio, weed_timecode_t curr_tc);
38 void event_list_close_start_gap(weed_plant_t *event_list);
39 void event_list_add_track(weed_plant_t *event_list, int layer);
40 void add_track_to_avol_init(weed_plant_t *filter, weed_plant_t *event, int nbtracks, boolean behind);
41 void event_list_free(weed_plant_t *event_list);
42
44 void event_list_replace_events(weed_plant_t *event_list, weed_plant_t *new_event_list);
45
47 weed_plant_t *event_copy_and_insert(weed_plant_t *in_event, weed_plant_t *event_list);
48
50 int count_events(weed_plant_t *event_list, boolean all_events, weed_timecode_t start_tc, weed_timecode_t end_tc);
51
52 int count_resampled_events(weed_plant_t *event_list, double fps);
53
54 boolean event_list_to_block(weed_plant_t *event_list, int num_events);
55 double event_list_get_end_secs(weed_plant_t *event_list);
56 double event_list_get_start_secs(weed_plant_t *event_list);
57 weed_timecode_t event_list_get_end_tc(weed_plant_t *event_list);
58 weed_timecode_t event_list_get_start_tc(weed_plant_t *event_list);
59
60 weed_plant_t *get_last_frame_event(weed_plant_t *event_list);
61 weed_plant_t *get_first_frame_event(weed_plant_t *event_list);
62
63 weed_plant_t *get_next_frame_event(weed_plant_t *event);
64 weed_plant_t *get_prev_frame_event(weed_plant_t *event);
65
66 weed_plant_t *get_next_audio_frame_event(weed_plant_t *event);
67 weed_plant_t *get_prev_audio_frame_event(weed_plant_t *event);
68
69 weed_plant_t *get_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut, boolean exact);
70 weed_plant_t *get_frame_event_at_or_before(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut);
71
72 weed_plant_t *get_audio_block_start(weed_plant_t *event_list, int track, weed_timecode_t tc, boolean seek_back);
73
74 boolean filter_map_after_frame(weed_plant_t *fmap);
75 boolean init_event_is_relevant(weed_plant_t *init_event, int ctrack);
76
77
78 // definitions in events.c
79 weed_plant_t *get_first_event(weed_plant_t *event_list);
80 weed_plant_t *get_last_event(weed_plant_t *event_list);
81 weed_plant_t *get_prev_event(weed_plant_t *event);
82 weed_plant_t *get_next_event(weed_plant_t *event);
83
84
85
86
88 #if HAVE_SYSTEM_WEED
89 #include <weed/weed-utils.h>
90 #else
91 #include "../libweed/weed-utils.h"
92 #endif
93
94 weed_timecode_t get_event_timecode(weed_plant_t *);
95 int get_event_hint(weed_plant_t *);
96 boolean is_blank_frame(weed_plant_t *, boolean count_audio);
97 boolean has_audio_frame(weed_plant_t *event_list);
98 int get_frame_event_clip(weed_plant_t *, int layer);
99 int get_frame_event_frame(weed_plant_t *, int layer);
100 boolean frame_event_has_frame_for_track(weed_plant_t *event, int track);
101 double *get_track_visibility_at_tc(weed_plant_t *event_list, int ntracks, int n_back_tracks,
102 weed_timecode_t tc, weed_plant_t **shortcut, boolean bleedthru);
103 void get_active_track_list(int *clip_index, int num_tracks, weed_plant_t *filter_map);
104
107
108 typedef struct {
109 int width;
110 int height;
111 double fps;
112 boolean ratio_fps;
113 LiVESWidget *dialog;
114 LiVESWidget *okbutton;
115 LiVESWidget *encoder_combo;
116 LiVESWidget *ofmt_combo;
117 LiVESWidget *acodec_combo;
118 LiVESWidget *acodec_entry;
119 LiVESWidget *spinbutton_width;
120 LiVESWidget *spinbutton_height;
121 LiVESWidget *spinbutton_fps;
122 LiVESWidget *pertrack_checkbutton;
123 LiVESWidget *backaudio_checkbutton;
124 LiVESWidget *always_checkbutton;
125 LiVESWidget *always_hbox;
126 ulong encoder_name_fn;
127 ulong encoder_ofmt_fn;
128 boolean enc_changed;
129 char *encoder_name;
130 boolean suggestion_followed;
131
132 boolean is_encoding;
133
134 int arate;
135 int achans;
136 int asamps;
137 int aendian;
138
139 } render_details;
140
141
142 render_details *rdet;
143
146
147
148 LiVESWidget *events_rec_dialog(boolean allow_mt);
149 int get_render_choice(void);
150 boolean deal_with_render_choice(boolean add_deinit);
151
152 #define RENDER_CHOICE_DISCARD 0
153 #define RENDER_CHOICE_PREVIEW 1
154 #define RENDER_CHOICE_SAME_CLIP 2
155 #define RENDER_CHOICE_NEW_CLIP 3
156 #define RENDER_CHOICE_MULTITRACK 4
157 #define RENDER_CHOICE_EVENT_LIST 5
158
159 LiVESWidget *create_event_list_dialog(weed_plant_t *event_list, weed_timecode_t start_tc, weed_timecode_t end_tc);
160 render_details *create_render_details(int type);
161
162 LiVESWidget *add_video_options(LiVESWidget **spwidth, int defwidth, LiVESWidget **spheight, int defheight,
163 LiVESWidget **spfps, double deffps, boolean add_aspect);
164
165 LiVESWidget *add_audio_options(LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack);
166
167
170
171 boolean render_to_clip(boolean new_clip);
172 boolean start_render_effect_events(weed_plant_t *event_list);
173
174
175 // effect insertion/updating
176 void insert_filter_init_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event);
177 void **filter_init_add_pchanges(weed_plant_t *event_list, weed_plant_t *filter, weed_plant_t *init_event, int ntracks, int leave);
178 void insert_filter_deinit_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event);
179 boolean insert_filter_map_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event,
180 boolean before_frames);
181 weed_plant_t *get_filter_map_before(weed_plant_t *event, int ctrack, weed_plant_t *stop_event);
182 weed_plant_t *get_filter_map_after(weed_plant_t *event, int ctrack);
183 void **get_init_events_before(weed_plant_t *event, weed_plant_t *init_event, boolean add);
184 void update_filter_maps(weed_plant_t *event, weed_plant_t *end_event, weed_plant_t *init_event);
185 void insert_param_change_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event);
186 weed_plant_t *insert_marker_event_at(weed_plant_t *event_list, weed_plant_t *at_event, int marker_type, livespointer data);
187
188 void add_init_event_to_filter_map(weed_plant_t *fmap, weed_plant_t *event, void **hints);
189 boolean init_event_in_list(void **init_events, int num_inits, weed_plant_t *event);
190 boolean filter_init_has_owner(weed_plant_t *init_event, int track);
191 boolean init_event_is_process_last(weed_plant_t *event);
192
193 // effect deletion/moving
194 boolean move_event_right(weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps);
195 boolean move_event_left(weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps);
196
197 void move_filter_init_event(weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *init_event, double fps);
198 void move_filter_deinit_event(weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *deinit_event,
199 double fps, boolean rescale_pchanges);
200
201 // event deletion
202 void unlink_event(weed_plant_t *event_list, weed_plant_t *event);
203 void delete_event(weed_plant_t *event_list, weed_plant_t *event);
204
205 // event replacement
206 void replace_event(weed_plant_t *event_list, weed_plant_t *at_event,weed_plant_t *event);
207
208 // event insertion
209 boolean insert_event_before(weed_plant_t *at_event,weed_plant_t *event);
210 boolean insert_event_after(weed_plant_t *at_event,weed_plant_t *event);
211
212 // param changes
213 void ** *get_event_pchains(void);
214 weed_timecode_t get_next_paramchange(void **pchange_next,weed_timecode_t end_tc);
215 weed_timecode_t get_prev_paramchange(void **pchange_next,weed_timecode_t start_tc);
216 boolean is_init_pchange(weed_plant_t *init_event, weed_plant_t *pchange_event);
217 void free_pchains(int key);
218
219 // audio
221 int get_audio_frame_clip(weed_plant_t *event, int track);
222
224 double get_audio_frame_vel(weed_plant_t *event, int track);
225
227 double get_audio_frame_seek(weed_plant_t *event, int track);
228
229
230 // playback
231
232 void backup_host_tags(weed_plant_t *event_list, weed_timecode_t curr_tc);
233 void restore_host_tags(weed_plant_t *event_list, weed_timecode_t curr_tc);
234
235 boolean has_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut);
236
237
238 #define EVENT_MARKER_BLOCK_START 1
239 #define EVENT_MARKER_BLOCK_UNORDERED 512
240 #define EVENT_MARKER_RECORD_START 1024
241 #define EVENT_MARKER_RECORD_END 1025
242
243 #define WEED_PLANT_IS_EVENT(plant) ((plant!=NULL&&weed_get_plant_type(plant)==WEED_PLANT_EVENT)?1:0)
244 #define WEED_PLANT_IS_EVENT_LIST(plant) ((plant!=NULL&&weed_get_plant_type(plant)==WEED_PLANT_EVENT_LIST)?1:0)
245
246 #define WEED_EVENT_IS_FRAME(event) (get_event_hint(event)==WEED_EVENT_HINT_FRAME?1:0)
247 #define WEED_EVENT_IS_AUDIO_FRAME(event) ((get_event_hint(event)==WEED_EVENT_HINT_FRAME&&weed_plant_has_leaf(event,"audio_clips"))?1:0)
248 #define WEED_EVENT_IS_FILTER_INIT(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_INIT?1:0)
249 #define WEED_EVENT_IS_FILTER_DEINIT(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_DEINIT?1:0)
250 #define WEED_EVENT_IS_FILTER_MAP(event) (get_event_hint(event)==WEED_EVENT_HINT_FILTER_MAP?1:0)
251 #define WEED_EVENT_IS_PARAM_CHANGE(event) (get_event_hint(event)==WEED_EVENT_HINT_PARAM_CHANGE?1:0)
252 #define WEED_EVENT_IS_MARKER(event) (get_event_hint(event)==WEED_EVENT_HINT_MARKER?1:0)
253
254 #endif // HAS_LIVES_EVENTS_H
get_audio_frame_vel
double get_audio_frame_vel(weed_plant_t *event, int track)
returns velocity for track (track==-1 is backing audio)
Definition: events.c:131
render_details::spinbutton_width
LiVESWidget * spinbutton_width
Definition: events.h:119
filter_init_has_owner
boolean filter_init_has_owner(weed_plant_t *init_event, int track)
Definition: events.c:1452
get_event_pchains
void *** get_event_pchains(void)
event_list_get_start_secs
double event_list_get_start_secs(weed_plant_t *event_list)
Definition: events.c:4175
get_audio_block_start
weed_plant_t * get_audio_block_start(weed_plant_t *event_list, int track, weed_timecode_t tc, boolean seek_back)
Definition: events.c:335
append_filter_deinit_event
weed_plant_t * append_filter_deinit_event(weed_plant_t *event_list, weed_timecode_t tc, void *init_event, void **pchain)
Definition: events.c:2778
render_details::achans
int achans
Definition: events.h:135
get_event_hint
LIVES_INLINE int get_event_hint(weed_plant_t *plant)
Definition: events.c:58
insert_filter_map_event_at
boolean insert_filter_map_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event, boolean before_frames)
Definition: events.c:942
filter_init_add_pchanges
void ** filter_init_add_pchanges(weed_plant_t *event_list, weed_plant_t *plant, weed_plant_t *init_event, int ntracks, int leave)
Definition: events.c:2531
render_details::spinbutton_fps
LiVESWidget * spinbutton_fps
Definition: events.h:121
render_details::asamps
int asamps
Definition: events.h:136
render_details
Definition: events.h:108
restore_host_tags
void restore_host_tags(weed_plant_t *event_list, weed_timecode_t curr_tc)
Definition: events.c:1487
add_init_event_to_filter_map
void add_init_event_to_filter_map(weed_plant_t *fmap, weed_plant_t *event, void **hints)
Definition: events.c:1632
insert_filter_init_event_at
void insert_filter_init_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:894
render_details::dialog
LiVESWidget * dialog
Definition: events.h:113
add_track_to_avol_init
void add_track_to_avol_init(weed_plant_t *filter, weed_plant_t *event, int nbtracks, boolean behind)
Definition: events.c:2314
append_marker_event
weed_plant_t * append_marker_event(weed_plant_t *event_list, weed_timecode_t tc, int marker_type)
Definition: events.c:1257
move_event_right
boolean move_event_right(weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps)
Definition: events.c:1935
get_first_frame_event
weed_plant_t * get_first_frame_event(weed_plant_t *event_list)
Definition: events.c:306
event_list_get_end_secs
double event_list_get_end_secs(weed_plant_t *event_list)
Definition: events.c:4165
insert_frame_event_at
weed_plant_t * insert_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames, weed_plant_t **shortcut)
Definition: events.c:1025
move_filter_init_event
void move_filter_init_event(weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *init_event, double fps)
Definition: events.c:1683
unlink_event
void unlink_event(weed_plant_t *event_list, weed_plant_t *event)
Definition: events.c:200
remove_end_blank_frames
void remove_end_blank_frames(weed_plant_t *event_list, boolean remove_filter_inits)
Definition: events.c:424
has_audio_frame
boolean has_audio_frame(weed_plant_t *event_list)
Definition: events.c:4181
render_details::encoder_name
char * encoder_name
Definition: events.h:129
render_details::pertrack_checkbutton
LiVESWidget * pertrack_checkbutton
Definition: events.h:122
init_event_is_process_last
boolean init_event_is_process_last(weed_plant_t *event)
Definition: events.c:1608
update_filter_maps
void update_filter_maps(weed_plant_t *event, weed_plant_t *end_event, weed_plant_t *init_event)
Definition: events.c:881
get_last_frame_event
weed_plant_t * get_last_frame_event(weed_plant_t *event_list)
Definition: events.c:320
render_details::always_hbox
LiVESWidget * always_hbox
Definition: events.h:125
remove_frame_from_event
void remove_frame_from_event(weed_plant_t *event_list, weed_plant_t *event, int track)
Definition: events.c:369
get_prev_event
LIVES_INLINE weed_plant_t * get_prev_event(weed_plant_t *event)
Definition: events.c:67
event
Definition: main.h:287
render_details::is_encoding
boolean is_encoding
Definition: events.h:132
render_details::fps
double fps
Definition: events.h:111
init_event_in_list
LIVES_INLINE boolean init_event_in_list(void **init_events, int num_inits, weed_plant_t *event)
Definition: events.c:1430
get_active_track_list
void get_active_track_list(int *clip_index, int num_tracks, weed_plant_t *filter_map)
Definition: events.c:2916
start_render_effect_events
boolean start_render_effect_events(weed_plant_t *event_list)
render to clip
Definition: events.c:4015
render_details::backaudio_checkbutton
LiVESWidget * backaudio_checkbutton
Definition: events.h:123
render_details::ratio_fps
boolean ratio_fps
Definition: events.h:112
get_render_choice
int get_render_choice(void)
Definition: events.c:2099
filter_map_after_frame
boolean filter_map_after_frame(weed_plant_t *fmap)
Definition: events.c:662
count_resampled_events
int count_resampled_events(weed_plant_t *event_list, double fps)
Definition: events.c:4120
get_last_event
LIVES_INLINE weed_plant_t * get_last_event(weed_plant_t *event_list)
Definition: events.c:88
is_blank_frame
boolean is_blank_frame(weed_plant_t *event, boolean count_audio)
Definition: events.c:403
get_audio_frame_clip
int get_audio_frame_clip(weed_plant_t *event, int track)
returns clip number for track (track==-1 is backing audio)
Definition: events.c:114
is_init_pchange
boolean is_init_pchange(weed_plant_t *init_event, weed_plant_t *pchange_event)
Definition: events.c:464
process_events
weed_plant_t * process_events(weed_plant_t *next_event, boolean process_audio, weed_timecode_t curr_tc)
RT playback.
Definition: events.c:2972
get_frame_event_at
weed_plant_t * get_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut, boolean exact)
Definition: events.c:642
render_details::width
int width
Definition: events.h:109
insert_filter_deinit_event_at
void insert_filter_deinit_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:918
add_video_options
LiVESWidget * add_video_options(LiVESWidget **spwidth, int defwidth, LiVESWidget **spheight, int defheight, LiVESWidget **spfps, double deffps, boolean add_aspect)
Definition: events.c:5155
move_filter_deinit_event
void move_filter_deinit_event(weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *deinit_event, double fps, boolean rescale_pchanges)
Definition: events.c:1793
get_frame_event_at_or_before
weed_plant_t * get_frame_event_at_or_before(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut)
Definition: events.c:675
replace_event
void replace_event(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:250
rdet
render_details * rdet
Definition: events.h:142
get_filter_map_after
weed_plant_t * get_filter_map_after(weed_plant_t *event, int ctrack)
Definition: events.c:685
render_details::spinbutton_height
LiVESWidget * spinbutton_height
Definition: events.h:120
get_prev_frame_event
weed_plant_t * get_prev_frame_event(weed_plant_t *event)
Definition: events.c:270
render_details::acodec_combo
LiVESWidget * acodec_combo
Definition: events.h:117
get_prev_audio_frame_event
weed_plant_t * get_prev_audio_frame_event(weed_plant_t *event)
Definition: events.c:294
has_frame_event_at
boolean has_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut)
Definition: events.c:96
insert_audio_event_at
void insert_audio_event_at(weed_plant_t *event_list, weed_plant_t *event, int track, int clipnum, double seek, double vel)
Definition: events.c:1128
count_events
int count_events(weed_plant_t *event_list, boolean all_events, weed_timecode_t start_tc, weed_timecode_t end_tc)
if all_events is FALSE we only count FRAME events
Definition: events.c:4101
get_init_events_before
void ** get_init_events_before(weed_plant_t *event, weed_plant_t *init_event, boolean add)
Definition: events.c:807
events_rec_dialog
LiVESWidget * events_rec_dialog(boolean allow_mt)
Definition: events.c:2106
event_list_add_track
void event_list_add_track(weed_plant_t *event_list, int layer)
Definition: events.c:2381
get_filter_map_before
weed_plant_t * get_filter_map_before(weed_plant_t *event, int ctrack, weed_plant_t *stop_event)
Definition: events.c:766
append_filter_init_event
weed_plant_t * append_filter_init_event(weed_plant_t *event_list, weed_timecode_t tc, int filter_idx, int num_in_tracks, int key, weed_plant_t *inst)
Definition: events.c:2611
get_frame_event_clip
int get_frame_event_clip(weed_plant_t *event, int layer)
Definition: events.c:176
render_details::enc_changed
boolean enc_changed
Definition: events.h:128
insert_param_change_event_at
void insert_param_change_event_at(weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:994
event_list_get_end_tc
weed_timecode_t event_list_get_end_tc(weed_plant_t *event_list)
Definition: events.c:4160
get_event_timecode
LIVES_INLINE weed_timecode_t get_event_timecode(weed_plant_t *plant)
Definition: events.c:50
event_list_to_block
boolean event_list_to_block(weed_plant_t *event_list, int num_events)
Definition: events.c:2252
insert_event_before
boolean insert_event_before(weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:224
event_list_close_start_gap
void event_list_close_start_gap(weed_plant_t *event_list)
render_details::encoder_name_fn
ulong encoder_name_fn
Definition: events.h:126
render_details::ofmt_combo
LiVESWidget * ofmt_combo
Definition: events.h:116
ulong
#define ulong
Definition: main.h:148
get_next_audio_frame_event
weed_plant_t * get_next_audio_frame_event(weed_plant_t *event)
Definition: events.c:282
get_next_frame_event
weed_plant_t * get_next_frame_event(weed_plant_t *event)
Definition: events.c:258
init_event_is_relevant
boolean init_event_is_relevant(weed_plant_t *init_event, int ctrack)
Definition: events.c:725
free_pchains
void free_pchains(int key)
event_list_get_start_tc
weed_timecode_t event_list_get_start_tc(weed_plant_t *event_list)
Definition: events.c:4170
append_param_change_event
weed_plant_t * append_param_change_event(weed_plant_t *event_list, weed_timecode_t tc, int pnum, weed_plant_t *param, void *init_event, void **pchain)
Definition: events.c:2824
append_filter_map_event
weed_plant_t * append_filter_map_event(weed_plant_t *event_list, weed_timecode_t tc, void **init_events)
Definition: events.c:2873
get_next_paramchange
weed_timecode_t get_next_paramchange(void **pchange_next, weed_timecode_t end_tc)
Definition: events.c:444
get_first_event
LIVES_INLINE weed_plant_t * get_first_event(weed_plant_t *event_list)
Definition: events.c:81
render_details::encoder_combo
LiVESWidget * encoder_combo
Definition: events.h:115
append_frame_event
weed_plant_t * append_frame_event(weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames)
Definition: events.c:2486
deal_with_render_choice
boolean deal_with_render_choice(boolean add_deinit)
Definition: events.c:4419
render_details::always_checkbutton
LiVESWidget * always_checkbutton
Definition: events.h:124
insert_marker_event_at
weed_plant_t * insert_marker_event_at(weed_plant_t *event_list, weed_plant_t *at_event, int marker_type, livespointer data)
Definition: events.c:1297
remove_filter_from_event_list
void remove_filter_from_event_list(weed_plant_t *event_list, weed_plant_t *init_event)
Definition: events.c:1360
create_render_details
render_details * create_render_details(int type)
Definition: events.c:5226
render_details::height
int height
Definition: events.h:110
event_list_free
void event_list_free(weed_plant_t *event_list)
Definition: events.c:2236
render_to_clip
boolean render_to_clip(boolean new_clip)
rendering
Definition: events.c:4194
get_next_event
LIVES_INLINE weed_plant_t * get_next_event(weed_plant_t *event)
Definition: events.c:74
render_details::okbutton
LiVESWidget * okbutton
Definition: events.h:114
insert_event_after
boolean insert_event_after(weed_plant_t *at_event, weed_plant_t *event)
Definition: events.c:237
create_event_list_dialog
LiVESWidget * create_event_list_dialog(weed_plant_t *event_list, weed_timecode_t start_tc, weed_timecode_t end_tc)
Definition: events.c:4757
render_details::arate
int arate
Definition: events.h:134
remove_audio_for_track
void remove_audio_for_track(weed_plant_t *event, int track)
Definition: events.c:1224
delete_event
void delete_event(weed_plant_t *event_list, weed_plant_t *event)
Definition: events.c:214
get_audio_frame_seek
double get_audio_frame_seek(weed_plant_t *event, int track)
returns velocity for track (track==-1 is backing audio)
Definition: events.c:154
render_details::aendian
int aendian
Definition: events.h:137
event_copy_and_insert
weed_plant_t * event_copy_and_insert(weed_plant_t *in_event, weed_plant_t *event_list)
called during quantisation
Definition: events.c:481
add_audio_options
LiVESWidget * add_audio_options(LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack)
Definition: events.c:5209
render_details::suggestion_followed
boolean suggestion_followed
Definition: events.h:130
render_details::acodec_entry
LiVESWidget * acodec_entry
Definition: events.h:118
render_details::encoder_ofmt_fn
ulong encoder_ofmt_fn
Definition: events.h:127
event_list_replace_events
void event_list_replace_events(weed_plant_t *event_list, weed_plant_t *new_event_list)
replace events in event_list with events in new_event_list
Definition: events.c:2242
WARN_UNUSED
#define WARN_UNUSED
Definition: main.h:271
get_frame_event_frame
int get_frame_event_frame(weed_plant_t *event, int layer)
Definition: events.c:188
backup_host_tags
void backup_host_tags(weed_plant_t *event_list, weed_timecode_t curr_tc)
Definition: events.c:1472
move_event_left
boolean move_event_left(weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps)
Definition: events.c:2014
get_prev_paramchange
weed_timecode_t get_prev_paramchange(void **pchange_prev, weed_timecode_t start_tc)
Definition: events.c:454
get_track_visibility_at_tc
double * get_track_visibility_at_tc(weed_plant_t *event_list, int ntracks, int nbtracks, weed_timecode_t tc, weed_plant_t **shortcut, boolean bleedthru)
Definition: events.c:4579
frame_event_has_frame_for_track
boolean frame_event_has_frame_for_track(weed_plant_t *event, int track)
Definition: events.c:619
insert_blank_frame_event_at
weed_plant_t * insert_blank_frame_event_at(weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut)
Definition: events.c:1352