LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Enumerations | Functions
events.c File Reference
`#include "../libweed/weed.h"`
`#include "../libweed/weed-palettes.h"`
`#include "../libweed/weed-effects.h"`
`#include "../libweed/weed-host.h"`
`#include "main.h"`
`#include "effects.h"`
`#include "support.h"`
`#include "interface.h"`
`#include "callbacks.h"`
`#include "resample.h"`
`#include "paramwindow.h"`
`#include "audio.h"`
`#include "cvirtual.h"`

## Enumerations
enum | { TITLE_COLUMN, KEY_COLUMN, VALUE_COLUMN, NUM_COLUMNS }

## Functions
| __attribute__ ((__pure__))
LIVES_INLINE weed_timecode_t | get_event_timecode (weed_plant_t *plant)
LIVES_INLINE int | get_event_hint (weed_plant_t *plant)
LIVES_INLINE weed_plant_t * | get_prev_event (weed_plant_t *event)
LIVES_INLINE weed_plant_t * | get_next_event (weed_plant_t *event)
LIVES_INLINE weed_plant_t * | get_first_event (weed_plant_t *event_list)
LIVES_INLINE weed_plant_t * | get_last_event (weed_plant_t *event_list)
boolean | has_frame_event_at (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut)
int | get_audio_frame_clip (weed_plant_t *event, int track)
| returns clip number for track (track==-1 is backing audio) More...
double | get_audio_frame_vel (weed_plant_t *event, int track)
| returns velocity for track (track==-1 is backing audio) More...
double | get_audio_frame_seek (weed_plant_t *event, int track)
| returns velocity for track (track==-1 is backing audio) More...
int | get_frame_event_clip (weed_plant_t *event, int layer)
int | get_frame_event_frame (weed_plant_t *event, int layer)
void | unlink_event (weed_plant_t *event_list, weed_plant_t *event)
void | delete_event (weed_plant_t *event_list, weed_plant_t *event)
boolean | insert_event_before (weed_plant_t *at_event, weed_plant_t *event)
boolean | insert_event_after (weed_plant_t *at_event, weed_plant_t *event)
void | replace_event (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
weed_plant_t * | get_next_frame_event (weed_plant_t *event)
weed_plant_t * | get_prev_frame_event (weed_plant_t *event)
weed_plant_t * | get_next_audio_frame_event (weed_plant_t *event)
weed_plant_t * | get_prev_audio_frame_event (weed_plant_t *event)
weed_plant_t * | get_first_frame_event (weed_plant_t *event_list)
weed_plant_t * | get_last_frame_event (weed_plant_t *event_list)
weed_plant_t * | get_audio_block_start (weed_plant_t *event_list, int track, weed_timecode_t tc, boolean seek_back)
void * | find_init_event_by_id (void *init_event, weed_plant_t *event)
void | remove_frame_from_event (weed_plant_t *event_list, weed_plant_t *event, int track)
boolean | is_blank_frame (weed_plant_t *event, boolean count_audio)
void | remove_end_blank_frames (weed_plant_t *event_list, boolean remove_filter_inits)
weed_timecode_t | get_next_paramchange (void **pchange_next, weed_timecode_t end_tc)
weed_timecode_t | get_prev_paramchange (void **pchange_prev, weed_timecode_t start_tc)
boolean | is_init_pchange (weed_plant_t *init_event, weed_plant_t *pchange_event)
weed_plant_t * | event_copy_and_insert (weed_plant_t *in_event, weed_plant_t *event_list)
| called during quantisation More...
boolean | frame_event_has_frame_for_track (weed_plant_t *event, int track)
weed_plant_t * | get_frame_event_at (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut, boolean exact)
boolean | filter_map_after_frame (weed_plant_t *fmap)
weed_plant_t * | get_frame_event_at_or_before (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t *shortcut)
weed_plant_t * | get_filter_map_after (weed_plant_t *event, int ctrack)
boolean | init_event_is_relevant (weed_plant_t *init_event, int ctrack)
weed_plant_t * | get_filter_map_before (weed_plant_t *event, int ctrack, weed_plant_t *stop_event)
void ** | get_init_events_before (weed_plant_t *event, weed_plant_t *init_event, boolean add)
void | update_filter_maps (weed_plant_t *event, weed_plant_t *end_event, weed_plant_t *init_event)
void | insert_filter_init_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
void | insert_filter_deinit_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
boolean | insert_filter_map_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event, boolean before_frames)
void | insert_param_change_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
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)
void | insert_audio_event_at (weed_plant_t *event_list, weed_plant_t *event, int track, int clipnum, double seek, double vel)
void | remove_audio_for_track (weed_plant_t *event, int track)
weed_plant_t * | append_marker_event (weed_plant_t *event_list, weed_timecode_t tc, int marker_type)
weed_plant_t * | insert_marker_event_at (weed_plant_t *event_list, weed_plant_t *at_event, int marker_type, livespointer data)
weed_plant_t * | insert_blank_frame_event_at (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut)
void | remove_filter_from_event_list (weed_plant_t *event_list, weed_plant_t *init_event)
LIVES_INLINE boolean | init_event_in_list (void **init_events, int num_inits, weed_plant_t *event)
boolean | filter_map_has_event (weed_plant_t *fmap, weed_plant_t *event)
boolean | filter_init_has_owner (weed_plant_t *init_event, int track)
void | backup_host_tags (weed_plant_t *event_list, weed_timecode_t curr_tc)
void | restore_host_tags (weed_plant_t *event_list, weed_timecode_t curr_tc)
void | delete_param_changes_after_deinit (weed_plant_t *event_list, weed_plant_t *init_event)
boolean | init_event_is_process_last (weed_plant_t *event)
void | add_init_event_to_filter_map (weed_plant_t *fmap, weed_plant_t *event, void **hints)
void | move_filter_init_event (weed_plant_t *event_list, weed_timecode_t new_tc, weed_plant_t *init_event, double fps)
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)
boolean | move_event_right (weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps)
boolean | move_event_left (weed_plant_t *event_list, weed_plant_t *event, boolean can_stay, double fps)
void | set_render_choice (LiVESToggleButton *togglebutton, livespointer choice)
void | set_render_choice_button (LiVESButton *button, livespointer choice)
int | get_render_choice (void)
LiVESWidget * | events_rec_dialog (boolean allow_mt)
void | event_list_free (weed_plant_t *event_list)
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 More...
boolean | event_list_to_block (weed_plant_t *event_list, int num_events)
void | event_list_close_gaps (weed_plant_t *event_list)
void | add_track_to_avol_init (weed_plant_t *filter, weed_plant_t *event, int nbtracks, boolean behind)
void | event_list_add_track (weed_plant_t *event_list, int layer)
weed_plant_t * | append_frame_event (weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames)
void ** | filter_init_add_pchanges (weed_plant_t *event_list, weed_plant_t *plant, weed_plant_t *init_event, int ntracks, int leave)
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)
weed_plant_t * | append_filter_deinit_event (weed_plant_t *event_list, weed_timecode_t tc, void *init_event, void **pchain)
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)
weed_plant_t * | append_filter_map_event (weed_plant_t *event_list, weed_timecode_t tc, void **init_events)
void | get_active_track_list (int *clip_index, int num_tracks, weed_plant_t *filter_map)
weed_plant_t * | process_events (weed_plant_t *next_event, boolean process_audio, weed_timecode_t curr_tc)
| RT playback. More...
lives_render_error_t | render_events (boolean reset)
boolean | start_render_effect_events (weed_plant_t *event_list)
| render to clip More...
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 More...
int | count_resampled_events (weed_plant_t *event_list, double fps)
weed_timecode_t | event_list_get_end_tc (weed_plant_t *event_list)
double | event_list_get_end_secs (weed_plant_t *event_list)
weed_timecode_t | event_list_get_start_tc (weed_plant_t *event_list)
double | event_list_get_start_secs (weed_plant_t *event_list)
boolean | has_audio_frame (weed_plant_t *event_list)
boolean | render_to_clip (boolean new_clip)
| rendering More...
LIVES_INLINE void | dprint_recneg (void)
boolean | deal_with_render_choice (boolean add_deinit)
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)
LiVESWidget * | create_event_list_dialog (weed_plant_t *event_list, weed_timecode_t start_tc, weed_timecode_t end_tc)
void | rdetw_spinh_changed (LiVESSpinButton *spinbutton, livespointer user_data)
void | rdetw_spinw_changed (LiVESSpinButton *spinbutton, livespointer user_data)
void | rdetw_spinf_changed (LiVESSpinButton *spinbutton, livespointer user_data)
LiVESWidget * | add_video_options (LiVESWidget **spwidth, int defwidth, LiVESWidget **spheight, int defheight, LiVESWidget **spfps, double deffps, boolean add_aspect)
LiVESWidget * | add_audio_options (LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack)
render_details * | create_render_details (int type)

## Enumeration Type Documentation

anonymous enum

Enumerator
TITLE_COLUMN |
KEY_COLUMN |
VALUE_COLUMN |
NUM_COLUMNS |

## Function Documentation

__attribute__ | ( | (__pure__) |  | ) |

LiVESWidget* add_audio_options | ( | LiVESWidget ** | cbbackaudio,
|  | LiVESWidget ** | cbpertrack
| ) |  |

void add_init_event_to_filter_map | ( | weed_plant_t * | fmap,
|  | weed_plant_t * | event,
|  | void ** | hints
| ) |  |

void add_track_to_avol_init | ( | weed_plant_t * | filter,
|  | weed_plant_t * | event,
|  | int | nbtracks,
|  | boolean | behind
| ) |  |

LiVESWidget* add_video_options | ( | LiVESWidget ** | spwidth,
|  | int | defwidth,
|  | LiVESWidget ** | spheight,
|  | int | defheight,
|  | LiVESWidget ** | spfps,
|  | double | deffps,
|  | boolean | add_aspect
| ) |  |

weed_plant_t* append_filter_deinit_event | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | void * | init_event,
|  | void ** | pchain
| ) |  |

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

weed_plant_t* append_filter_map_event | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | void ** | init_events
| ) |  |

weed_plant_t* append_frame_event | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | int | numframes,
|  | int * | clips,
|  | int * | frames
| ) |  |

weed_plant_t* append_marker_event | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | int | marker_type
| ) |  |

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

void backup_host_tags | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | curr_tc
| ) |  |

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

int count_resampled_events | ( | weed_plant_t * | event_list,
|  | double | fps
| ) |  |

LiVESWidget* create_event_list_dialog | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | start_tc,
|  | weed_timecode_t | end_tc
| ) |  |

render_details* create_render_details | ( | int | type | ) |

boolean deal_with_render_choice | ( | boolean | add_deinit | ) |

< new clip frames always start at 1

< same clip frames start where recording started

void delete_event | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event
| ) |  |

void delete_param_changes_after_deinit | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | init_event
| ) |  |

LIVES_INLINE void dprint_recneg | ( | void |  | ) |

weed_plant_t* event_copy_and_insert | ( | weed_plant_t * | in_event,
|  | weed_plant_t * | event_list
| ) |  |

called during quantisation

void event_list_add_track | ( | weed_plant_t * | event_list,
|  | int | layer
| ) |  |

void event_list_close_gaps | ( | weed_plant_t * | event_list | ) |

void event_list_free | ( | weed_plant_t * | event_list | ) |

double event_list_get_end_secs | ( | weed_plant_t * | event_list | ) |

weed_timecode_t event_list_get_end_tc | ( | weed_plant_t * | event_list | ) |

double event_list_get_start_secs | ( | weed_plant_t * | event_list | ) |

weed_timecode_t event_list_get_start_tc | ( | weed_plant_t * | event_list | ) |

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

boolean event_list_to_block | ( | weed_plant_t * | event_list,
|  | int | num_events
| ) |  |

LiVESWidget* events_rec_dialog | ( | boolean | allow_mt | ) |

void** filter_init_add_pchanges | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | plant,
|  | weed_plant_t * | init_event,
|  | int | ntracks,
|  | int | leave
| ) |  |

boolean filter_init_has_owner | ( | weed_plant_t * | init_event,
|  | int | track
| ) |  |

boolean filter_map_after_frame | ( | weed_plant_t * | fmap | ) |

boolean filter_map_has_event | ( | weed_plant_t * | fmap,
|  | weed_plant_t * | event
| ) |  |

void* find_init_event_by_id | ( | void * | init_event,
|  | weed_plant_t * | event
| ) |  |

boolean frame_event_has_frame_for_track | ( | weed_plant_t * | event,
|  | int | track
| ) |  |

void get_active_track_list | ( | int * | clip_index,
|  | int | num_tracks,
|  | weed_plant_t * | filter_map
| ) |  |

weed_plant_t* get_audio_block_start | ( | weed_plant_t * | event_list,
|  | int | track,
|  | weed_timecode_t | tc,
|  | boolean | seek_back
| ) |  |

int get_audio_frame_clip | ( | weed_plant_t * | event,
|  | int | track
| ) |  |

returns clip number for track (track==-1 is backing audio)

double get_audio_frame_seek | ( | weed_plant_t * | event,
|  | int | track
| ) |  |

returns velocity for track (track==-1 is backing audio)

double get_audio_frame_vel | ( | weed_plant_t * | event,
|  | int | track
| ) |  |

returns velocity for track (track==-1 is backing audio)

LIVES_INLINE int get_event_hint | ( | weed_plant_t * | plant | ) |

LIVES_INLINE weed_timecode_t get_event_timecode | ( | weed_plant_t * | plant | ) |

weed_plant_t* get_filter_map_after | ( | weed_plant_t * | event,
|  | int | ctrack
| ) |  |

weed_plant_t* get_filter_map_before | ( | weed_plant_t * | event,
|  | int | ctrack,
|  | weed_plant_t * | stop_event
| ) |  |

LIVES_INLINE weed_plant_t* get_first_event | ( | weed_plant_t * | event_list | ) |

weed_plant_t* get_first_frame_event | ( | weed_plant_t * | event_list | ) |

weed_plant_t* get_frame_event_at | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | weed_plant_t * | shortcut,
|  | boolean | exact
| ) |  |

weed_plant_t* get_frame_event_at_or_before | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | weed_plant_t * | shortcut
| ) |  |

int get_frame_event_clip | ( | weed_plant_t * | event,
|  | int | layer
| ) |  |

int get_frame_event_frame | ( | weed_plant_t * | event,
|  | int | layer
| ) |  |

void** get_init_events_before | ( | weed_plant_t * | event,
|  | weed_plant_t * | init_event,
|  | boolean | add
| ) |  |

LIVES_INLINE weed_plant_t* get_last_event | ( | weed_plant_t * | event_list | ) |

weed_plant_t* get_last_frame_event | ( | weed_plant_t * | event_list | ) |

weed_plant_t* get_next_audio_frame_event | ( | weed_plant_t * | event | ) |

LIVES_INLINE weed_plant_t* get_next_event | ( | weed_plant_t * | event | ) |

weed_plant_t* get_next_frame_event | ( | weed_plant_t * | event | ) |

weed_timecode_t get_next_paramchange | ( | void ** | pchange_next,
|  | weed_timecode_t | end_tc
| ) |  |

weed_plant_t* get_prev_audio_frame_event | ( | weed_plant_t * | event | ) |

LIVES_INLINE weed_plant_t* get_prev_event | ( | weed_plant_t * | event | ) |

weed_plant_t* get_prev_frame_event | ( | weed_plant_t * | event | ) |

weed_timecode_t get_prev_paramchange | ( | void ** | pchange_prev,
|  | weed_timecode_t | start_tc
| ) |  |

int get_render_choice | ( | void |  | ) |

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

boolean has_audio_frame | ( | weed_plant_t * | event_list | ) |

boolean has_frame_event_at | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | weed_plant_t ** | shortcut
| ) |  |

LIVES_INLINE boolean init_event_in_list | ( | void ** | init_events,
|  | int | num_inits,
|  | weed_plant_t * | event
| ) |  |

boolean init_event_is_process_last | ( | weed_plant_t * | event | ) |

boolean init_event_is_relevant | ( | weed_plant_t * | init_event,
|  | int | ctrack
| ) |  |

void insert_audio_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event,
|  | int | track,
|  | int | clipnum,
|  | double | seek,
|  | double | vel
| ) |  |

weed_plant_t* insert_blank_frame_event_at | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | tc,
|  | weed_plant_t ** | shortcut
| ) |  |

boolean insert_event_after | ( | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

boolean insert_event_before | ( | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

void insert_filter_deinit_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

void insert_filter_init_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

boolean insert_filter_map_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | weed_plant_t * | event,
|  | boolean | before_frames
| ) |  |

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

will either insert or replace

weed_plant_t* insert_marker_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | int | marker_type,
|  | livespointer | data
| ) |  |

void insert_param_change_event_at | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

boolean is_blank_frame | ( | weed_plant_t * | event,
|  | boolean | count_audio
| ) |  |

boolean is_init_pchange | ( | weed_plant_t * | init_event,
|  | weed_plant_t * | pchange_event
| ) |  |

boolean move_event_left | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event,
|  | boolean | can_stay,
|  | double | fps
| ) |  |

boolean move_event_right | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event,
|  | boolean | can_stay,
|  | double | fps
| ) |  |

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

void move_filter_init_event | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | new_tc,
|  | weed_plant_t * | init_event,
|  | double | fps
| ) |  |

weed_plant_t* process_events | ( | weed_plant_t * | next_event,
|  | boolean | process_audio,
|  | weed_timecode_t | curr_tc
| ) |  |

RT playback.

void rdetw_spinf_changed | ( | LiVESSpinButton * | spinbutton,
|  | livespointer | user_data
| ) |  |

void rdetw_spinh_changed | ( | LiVESSpinButton * | spinbutton,
|  | livespointer | user_data
| ) |  |

void rdetw_spinw_changed | ( | LiVESSpinButton * | spinbutton,
|  | livespointer | user_data
| ) |  |

void remove_audio_for_track | ( | weed_plant_t * | event,
|  | int | track
| ) |  |

void remove_end_blank_frames | ( | weed_plant_t * | event_list,
|  | boolean | remove_filter_inits
| ) |  |

void remove_filter_from_event_list | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | init_event
| ) |  |

void remove_frame_from_event | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event,
|  | int | track
| ) |  |

lives_render_error_t render_events | ( | boolean | reset | ) |

boolean render_to_clip | ( | boolean | new_clip | ) |

rendering

render to clip

void replace_event | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | at_event,
|  | weed_plant_t * | event
| ) |  |

void restore_host_tags | ( | weed_plant_t * | event_list,
|  | weed_timecode_t | curr_tc
| ) |  |

void set_render_choice | ( | LiVESToggleButton * | togglebutton,
|  | livespointer | choice
| ) |  |

void set_render_choice_button | ( | LiVESButton * | button,
|  | livespointer | choice
| ) |  |

boolean start_render_effect_events | ( | weed_plant_t * | event_list | ) |

render to clip

void unlink_event | ( | weed_plant_t * | event_list,
|  | weed_plant_t * | event
| ) |  |

void update_filter_maps | ( | weed_plant_t * | event,
|  | weed_plant_t * | end_event,
|  | weed_plant_t * | init_event
| ) |  |