LiVES  3.0.2
Data Structures | Macros | Functions | Variables
events.h File Reference
#include "../libweed/weed-utils.h"

Go to the source code of this file.

Data Structures

struct  render_details
 

Macros

#define WEED_LEAF_WEED_EVENT_API_VERSION   "weed_event_api_version"
 
#define WEED_LEAF_AUDIO_SIGNED   "audio_signed"
 
#define WEED_LEAF_AUDIO_ENDIAN   "audio_endian"
 
#define WEED_LEAF_AUDIO_SAMPLE_SIZE   "audio_sample_size"
 
#define WEED_LEAF_AUDIO_VOLUME_TRACKS   "audio_volume_tracks"
 
#define WEED_LEAF_AUDIO_VOLUME_VALUES   "audio_volume_values"
 
#define WEED_LEAF_TRACK_LABEL_TRACKS   "track_label_tracks"
 
#define WEED_LEAF_TRACK_LABEL_VALUES   "track_label_values"
 
#define WEED_LEAF_FRAMES   "frames"
 
#define WEED_LEAF_CLIPS   "clips"
 
#define WEED_LEAF_AUDIO_CLIPS   "audio_clips"
 
#define WEED_LEAF_AUDIO_SEEKS   "audio_seeks"
 
#define WEED_LEAF_FILTER   "filter"
 
#define WEED_LEAF_IN_COUNT   "in_count"
 
#define WEED_LEAF_OUT_COUNT   "out_count"
 
#define WEED_LEAF_IN_TRACKS   "in_tracks"
 
#define WEED_LEAF_OUT_TRACKS   "out_tracks"
 
#define WEED_LEAF_EVENT_ID   "event_id"
 
#define WEED_LEAF_INIT_EVENT   "init_event"
 
#define WEED_LEAF_INIT_EVENTS   "init_events"
 
#define WEED_LEAF_INDEX   "index"
 
#define WEED_LEAF_NEXT   "next"
 
#define WEED_LEAF_PREVIOUS   "previous"
 
#define WEED_LEAF_FIRST   "first"
 
#define WEED_LEAF_LAST   "last"
 
#define WEED_LEAF_NEEDS_SET   "needs_set"
 
#define WEED_LEAF_NEXT_CHANGE   "next_change"
 
#define WEED_LEAF_PREV_CHANGE   "prev_change"
 
#define WEED_LEAF_DEINIT_EVENT   "deinit_event"
 
#define WEED_LEAF_LIVES_TYPE   "lives_type"
 
#define WEED_LEAF_TRACKS   "tracks"
 
#define WEED_LEAF_PTRSIZE   "ptrsize"
 
#define WEED_LEAF_HOST_AUDIO_TRANSITION   "host_audio_transition"
 
#define WEED_LEAF_HOST_TAG_COPY   "host_tag_copy"
 
#define LIVES_TRACK_ANY   -1000000
 
#define RENDER_CHOICE_DISCARD   0
 
#define RENDER_CHOICE_PREVIEW   1
 
#define RENDER_CHOICE_SAME_CLIP   2
 
#define RENDER_CHOICE_NEW_CLIP   3
 
#define RENDER_CHOICE_MULTITRACK   4
 
#define RENDER_CHOICE_EVENT_LIST   5
 
#define EVENT_MARKER_BLOCK_START   1
 
#define EVENT_MARKER_BLOCK_UNORDERED   512
 
#define EVENT_MARKER_RECORD_START   1024
 
#define EVENT_MARKER_RECORD_END   1025
 
#define WEED_PLANT_IS_EVENT(plant)   ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT) ? 1 : 0)
 
#define WEED_PLANT_IS_EVENT_LIST(plant)   ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT_LIST) ? 1 : 0)
 
#define WEED_EVENT_IS_FRAME(event)   (get_event_hint(event) == WEED_EVENT_HINT_FRAME ? 1 : 0)
 
#define WEED_EVENT_IS_AUDIO_FRAME(event)   ((get_event_hint(event) == WEED_EVENT_HINT_FRAME && weed_plant_has_leaf(event, "audio_clips")) ? 1 : 0)
 
#define WEED_EVENT_IS_FILTER_INIT(event)   (get_event_hint(event) == WEED_EVENT_HINT_FILTER_INIT ? 1 : 0)
 
#define WEED_EVENT_IS_FILTER_DEINIT(event)   (get_event_hint(event) == WEED_EVENT_HINT_FILTER_DEINIT ? 1 : 0)
 
#define WEED_EVENT_IS_FILTER_MAP(event)   (get_event_hint(event) == WEED_EVENT_HINT_FILTER_MAP ? 1 : 0)
 
#define WEED_EVENT_IS_PARAM_CHANGE(event)   (get_event_hint(event) == WEED_EVENT_HINT_PARAM_CHANGE ? 1 : 0)
 
#define WEED_EVENT_IS_MARKER(event)   (get_event_hint(event) == WEED_EVENT_HINT_MARKER ? 1 : 0)
 

Functions

weed_plant_t * append_frame_event (weed_plant_t *event_list, weed_timecode_t tc, int numframes, int *clips, int *frames) WARN_UNUSED
 
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) WARN_UNUSED
 
weed_plant_t * append_filter_deinit_event (weed_plant_t *event_list, weed_timecode_t tc, void *init_event, void **pchain) WARN_UNUSED
 
weed_plant_t * append_filter_map_event (weed_plant_t *event_list, weed_timecode_t tc, void **init_events) WARN_UNUSED
 
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) WARN_UNUSED
 
weed_plant_t * append_marker_event (weed_plant_t *event_list, weed_timecode_t tc, int marker_type) WARN_UNUSED
 
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) WARN_UNUSED
 
void insert_audio_event_at (weed_plant_t *event_list, weed_plant_t *event, int track, int clipnum, double time, double vel)
 
void remove_audio_for_track (weed_plant_t *event, int track)
 
weed_plant_t * insert_blank_frame_event_at (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut) WARN_UNUSED
 
void remove_frame_from_event (weed_plant_t *event_list, 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)
 
weed_plant_t * process_events (weed_plant_t *next_event, boolean process_audio, weed_timecode_t curr_tc)
 RT playback. More...
 
void event_list_close_start_gap (weed_plant_t *event_list)
 
void event_list_add_track (weed_plant_t *event_list, int layer)
 
void add_track_to_avol_init (weed_plant_t *filter, weed_plant_t *event, int nbtracks, boolean behind)
 
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...
 
weed_plant_t * event_copy_and_insert (weed_plant_t *in_event, weed_plant_t *event_list)
 called during quantisation 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)
 
boolean event_list_to_block (weed_plant_t *event_list, int num_events)
 
double event_list_get_end_secs (weed_plant_t *event_list)
 
double event_list_get_start_secs (weed_plant_t *event_list)
 
weed_timecode_t event_list_get_end_tc (weed_plant_t *event_list)
 
weed_timecode_t event_list_get_start_tc (weed_plant_t *event_list)
 
weed_plant_t * get_last_frame_event (weed_plant_t *event_list)
 
weed_plant_t * get_first_frame_event (weed_plant_t *event_list)
 
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_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)
 
weed_plant_t * get_audio_block_start (weed_plant_t *event_list, int track, weed_timecode_t tc, boolean seek_back)
 
boolean filter_map_after_frame (weed_plant_t *fmap)
 
boolean init_event_is_relevant (weed_plant_t *init_event, int ctrack)
 
weed_plant_t * get_first_event (weed_plant_t *event_list)
 
weed_plant_t * get_last_event (weed_plant_t *event_list)
 
weed_plant_t * get_prev_event (weed_plant_t *event)
 
weed_plant_t * get_next_event (weed_plant_t *event)
 
weed_timecode_t get_event_timecode (weed_plant_t *)
 
int get_event_hint (weed_plant_t *)
 
boolean is_blank_frame (weed_plant_t *, boolean count_audio)
 
boolean has_audio_frame (weed_plant_t *event_list)
 
int get_frame_event_clip (weed_plant_t *, int layer)
 
int get_frame_event_frame (weed_plant_t *, int layer)
 
boolean frame_event_has_frame_for_track (weed_plant_t *event, int track)
 
double * get_track_visibility_at_tc (weed_plant_t *event_list, int ntracks, int n_back_tracks, weed_timecode_t tc, weed_plant_t **shortcut, boolean bleedthru)
 
void get_active_track_list (int *clip_index, int num_tracks, weed_plant_t *filter_map)
 
LiVESWidget * events_rec_dialog (boolean allow_mt)
 
boolean deal_with_render_choice (boolean add_deinit)
 
LiVESWidget * create_event_list_dialog (weed_plant_t *event_list, weed_timecode_t start_tc, weed_timecode_t end_tc)
 
render_detailscreate_render_details (int type)
 
LiVESWidget * add_video_options (LiVESWidget **spwidth, int defwidth, LiVESWidget **spheight, int defheight, LiVESWidget **spfps, double deffps, boolean add_aspect, LiVESWidget *extra)
 
LiVESWidget * add_audio_options (LiVESWidget **cbbackaudio, LiVESWidget **cbpertrack)
 
boolean render_to_clip (boolean new_clip)
 rendering More...
 
boolean start_render_effect_events (weed_plant_t *event_list)
 render to clip More...
 
void insert_filter_init_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
 
void ** filter_init_add_pchanges (weed_plant_t *event_list, weed_plant_t *filter, weed_plant_t *init_event, int ntracks, int leave)
 
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)
 
weed_plant_t * get_filter_map_before (weed_plant_t *event, int ctrack, weed_plant_t *stop_event)
 
weed_plant_t * get_filter_map_after (weed_plant_t *event, int ctrack)
 
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_param_change_event_at (weed_plant_t *event_list, weed_plant_t *at_event, weed_plant_t *event)
 
weed_plant_t * insert_marker_event_at (weed_plant_t *event_list, weed_plant_t *at_event, int marker_type, livespointer data)
 
void add_init_event_to_filter_map (weed_plant_t *fmap, weed_plant_t *event, void **hints)
 
boolean init_event_in_list (void **init_events, int num_inits, weed_plant_t *event)
 
boolean filter_init_has_owner (weed_plant_t *init_event, int track)
 
boolean init_event_is_process_last (weed_plant_t *event)
 
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 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)
 
void unlink_event (weed_plant_t *event_list, weed_plant_t *event)
 
void delete_event (weed_plant_t *event_list, weed_plant_t *event)
 
void replace_event (weed_plant_t *event_list, weed_plant_t *at_event, 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 *** get_event_pchains (void)
 
weed_timecode_t get_next_paramchange (void **pchange_next, weed_timecode_t end_tc)
 
weed_timecode_t get_prev_paramchange (void **pchange_next, weed_timecode_t start_tc)
 
boolean is_init_pchange (weed_plant_t *init_event, weed_plant_t *pchange_event)
 
void free_pchains (int key)
 
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...
 
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)
 
boolean has_frame_event_at (weed_plant_t *event_list, weed_timecode_t tc, weed_plant_t **shortcut)
 

Variables

render_detailsrdet
 

Macro Definition Documentation

◆ EVENT_MARKER_BLOCK_START

#define EVENT_MARKER_BLOCK_START   1

◆ EVENT_MARKER_BLOCK_UNORDERED

#define EVENT_MARKER_BLOCK_UNORDERED   512

◆ EVENT_MARKER_RECORD_END

#define EVENT_MARKER_RECORD_END   1025

◆ EVENT_MARKER_RECORD_START

#define EVENT_MARKER_RECORD_START   1024

◆ LIVES_TRACK_ANY

#define LIVES_TRACK_ANY   -1000000

◆ RENDER_CHOICE_DISCARD

#define RENDER_CHOICE_DISCARD   0

◆ RENDER_CHOICE_EVENT_LIST

#define RENDER_CHOICE_EVENT_LIST   5

◆ RENDER_CHOICE_MULTITRACK

#define RENDER_CHOICE_MULTITRACK   4

◆ RENDER_CHOICE_NEW_CLIP

#define RENDER_CHOICE_NEW_CLIP   3

◆ RENDER_CHOICE_PREVIEW

#define RENDER_CHOICE_PREVIEW   1

◆ RENDER_CHOICE_SAME_CLIP

#define RENDER_CHOICE_SAME_CLIP   2

◆ WEED_EVENT_IS_AUDIO_FRAME

#define WEED_EVENT_IS_AUDIO_FRAME (   event)    ((get_event_hint(event) == WEED_EVENT_HINT_FRAME && weed_plant_has_leaf(event, "audio_clips")) ? 1 : 0)

◆ WEED_EVENT_IS_FILTER_DEINIT

#define WEED_EVENT_IS_FILTER_DEINIT (   event)    (get_event_hint(event) == WEED_EVENT_HINT_FILTER_DEINIT ? 1 : 0)

◆ WEED_EVENT_IS_FILTER_INIT

#define WEED_EVENT_IS_FILTER_INIT (   event)    (get_event_hint(event) == WEED_EVENT_HINT_FILTER_INIT ? 1 : 0)

◆ WEED_EVENT_IS_FILTER_MAP

#define WEED_EVENT_IS_FILTER_MAP (   event)    (get_event_hint(event) == WEED_EVENT_HINT_FILTER_MAP ? 1 : 0)

◆ WEED_EVENT_IS_FRAME

#define WEED_EVENT_IS_FRAME (   event)    (get_event_hint(event) == WEED_EVENT_HINT_FRAME ? 1 : 0)

◆ WEED_EVENT_IS_MARKER

#define WEED_EVENT_IS_MARKER (   event)    (get_event_hint(event) == WEED_EVENT_HINT_MARKER ? 1 : 0)

◆ WEED_EVENT_IS_PARAM_CHANGE

#define WEED_EVENT_IS_PARAM_CHANGE (   event)    (get_event_hint(event) == WEED_EVENT_HINT_PARAM_CHANGE ? 1 : 0)

◆ WEED_LEAF_AUDIO_CLIPS

#define WEED_LEAF_AUDIO_CLIPS   "audio_clips"

◆ WEED_LEAF_AUDIO_ENDIAN

#define WEED_LEAF_AUDIO_ENDIAN   "audio_endian"

◆ WEED_LEAF_AUDIO_SAMPLE_SIZE

#define WEED_LEAF_AUDIO_SAMPLE_SIZE   "audio_sample_size"

◆ WEED_LEAF_AUDIO_SEEKS

#define WEED_LEAF_AUDIO_SEEKS   "audio_seeks"

◆ WEED_LEAF_AUDIO_SIGNED

#define WEED_LEAF_AUDIO_SIGNED   "audio_signed"

◆ WEED_LEAF_AUDIO_VOLUME_TRACKS

#define WEED_LEAF_AUDIO_VOLUME_TRACKS   "audio_volume_tracks"

◆ WEED_LEAF_AUDIO_VOLUME_VALUES

#define WEED_LEAF_AUDIO_VOLUME_VALUES   "audio_volume_values"

◆ WEED_LEAF_CLIPS

#define WEED_LEAF_CLIPS   "clips"

◆ WEED_LEAF_DEINIT_EVENT

#define WEED_LEAF_DEINIT_EVENT   "deinit_event"

◆ WEED_LEAF_EVENT_ID

#define WEED_LEAF_EVENT_ID   "event_id"

◆ WEED_LEAF_FILTER

#define WEED_LEAF_FILTER   "filter"

◆ WEED_LEAF_FIRST

#define WEED_LEAF_FIRST   "first"

◆ WEED_LEAF_FRAMES

#define WEED_LEAF_FRAMES   "frames"

◆ WEED_LEAF_HOST_AUDIO_TRANSITION

#define WEED_LEAF_HOST_AUDIO_TRANSITION   "host_audio_transition"

◆ WEED_LEAF_HOST_TAG_COPY

#define WEED_LEAF_HOST_TAG_COPY   "host_tag_copy"

◆ WEED_LEAF_IN_COUNT

#define WEED_LEAF_IN_COUNT   "in_count"

◆ WEED_LEAF_IN_TRACKS

#define WEED_LEAF_IN_TRACKS   "in_tracks"

◆ WEED_LEAF_INDEX

#define WEED_LEAF_INDEX   "index"

◆ WEED_LEAF_INIT_EVENT

#define WEED_LEAF_INIT_EVENT   "init_event"

◆ WEED_LEAF_INIT_EVENTS

#define WEED_LEAF_INIT_EVENTS   "init_events"

◆ WEED_LEAF_LAST

#define WEED_LEAF_LAST   "last"

◆ WEED_LEAF_LIVES_TYPE

#define WEED_LEAF_LIVES_TYPE   "lives_type"

◆ WEED_LEAF_NEEDS_SET

#define WEED_LEAF_NEEDS_SET   "needs_set"

◆ WEED_LEAF_NEXT

#define WEED_LEAF_NEXT   "next"

◆ WEED_LEAF_NEXT_CHANGE

#define WEED_LEAF_NEXT_CHANGE   "next_change"

◆ WEED_LEAF_OUT_COUNT

#define WEED_LEAF_OUT_COUNT   "out_count"

◆ WEED_LEAF_OUT_TRACKS

#define WEED_LEAF_OUT_TRACKS   "out_tracks"

◆ WEED_LEAF_PREV_CHANGE

#define WEED_LEAF_PREV_CHANGE   "prev_change"

◆ WEED_LEAF_PREVIOUS

#define WEED_LEAF_PREVIOUS   "previous"

◆ WEED_LEAF_PTRSIZE

#define WEED_LEAF_PTRSIZE   "ptrsize"

◆ WEED_LEAF_TRACK_LABEL_TRACKS

#define WEED_LEAF_TRACK_LABEL_TRACKS   "track_label_tracks"

◆ WEED_LEAF_TRACK_LABEL_VALUES

#define WEED_LEAF_TRACK_LABEL_VALUES   "track_label_values"

◆ WEED_LEAF_TRACKS

#define WEED_LEAF_TRACKS   "tracks"

◆ WEED_LEAF_WEED_EVENT_API_VERSION

#define WEED_LEAF_WEED_EVENT_API_VERSION   "weed_event_api_version"

◆ WEED_PLANT_IS_EVENT

#define WEED_PLANT_IS_EVENT (   plant)    ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT) ? 1 : 0)

◆ WEED_PLANT_IS_EVENT_LIST

#define WEED_PLANT_IS_EVENT_LIST (   plant)    ((plant != NULL && weed_get_plant_type(plant) == WEED_PLANT_EVENT_LIST) ? 1 : 0)

Function Documentation

◆ add_audio_options()

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

◆ add_init_event_to_filter_map()

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

◆ add_track_to_avol_init()

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

◆ add_video_options()

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

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

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

◆ append_filter_map_event()

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

◆ append_frame_event()

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

◆ append_marker_event()

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

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

◆ backup_host_tags()

void backup_host_tags ( weed_plant_t *  event_list,
weed_timecode_t  curr_tc 
)

◆ 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

◆ count_resampled_events()

int count_resampled_events ( weed_plant_t *  event_list,
double  fps 
)

◆ create_event_list_dialog()

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

◆ create_render_details()

render_details* create_render_details ( int  type)

◆ deal_with_render_choice()

boolean deal_with_render_choice ( boolean  add_deinit)

< new clip frames always start at 1

< same clip frames start where recording started

◆ delete_event()

void delete_event ( weed_plant_t *  event_list,
weed_plant_t *  event 
)

◆ event_copy_and_insert()

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

called during quantisation

◆ event_list_add_track()

void event_list_add_track ( weed_plant_t *  event_list,
int  layer 
)

◆ event_list_close_start_gap()

void event_list_close_start_gap ( weed_plant_t *  event_list)

◆ event_list_free()

void event_list_free ( weed_plant_t *  event_list)

◆ event_list_get_end_secs()

double event_list_get_end_secs ( weed_plant_t *  event_list)

◆ event_list_get_end_tc()

weed_timecode_t event_list_get_end_tc ( weed_plant_t *  event_list)

◆ event_list_get_start_secs()

double event_list_get_start_secs ( weed_plant_t *  event_list)

◆ event_list_get_start_tc()

weed_timecode_t event_list_get_start_tc ( weed_plant_t *  event_list)

◆ 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

◆ event_list_to_block()

boolean event_list_to_block ( weed_plant_t *  event_list,
int  num_events 
)

◆ events_rec_dialog()

LiVESWidget* events_rec_dialog ( boolean  allow_mt)

◆ filter_init_add_pchanges()

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

◆ filter_init_has_owner()

boolean filter_init_has_owner ( weed_plant_t *  init_event,
int  track 
)

◆ filter_map_after_frame()

boolean filter_map_after_frame ( weed_plant_t *  fmap)

◆ frame_event_has_frame_for_track()

boolean frame_event_has_frame_for_track ( weed_plant_t *  event,
int  track 
)

◆ free_pchains()

void free_pchains ( int  key)

◆ get_active_track_list()

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

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

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

◆ get_audio_frame_seek()

double get_audio_frame_seek ( weed_plant_t *  event,
int  track 
)

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

◆ get_audio_frame_vel()

double get_audio_frame_vel ( weed_plant_t *  event,
int  track 
)

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

◆ get_event_hint()

int get_event_hint ( weed_plant_t *  )

◆ get_event_pchains()

void** * get_event_pchains ( void  )

◆ get_event_timecode()

weed_timecode_t get_event_timecode ( weed_plant_t *  )

◆ get_filter_map_after()

weed_plant_t* get_filter_map_after ( weed_plant_t *  event,
int  ctrack 
)

◆ get_filter_map_before()

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

◆ get_first_event()

weed_plant_t* get_first_event ( weed_plant_t *  event_list)

◆ get_first_frame_event()

weed_plant_t* get_first_frame_event ( weed_plant_t *  event_list)

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

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

◆ get_frame_event_clip()

int get_frame_event_clip ( weed_plant_t *  ,
int  layer 
)

◆ get_frame_event_frame()

int get_frame_event_frame ( weed_plant_t *  ,
int  layer 
)

◆ get_init_events_before()

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

◆ get_last_event()

weed_plant_t* get_last_event ( weed_plant_t *  event_list)

◆ get_last_frame_event()

weed_plant_t* get_last_frame_event ( weed_plant_t *  event_list)

◆ get_next_audio_frame_event()

weed_plant_t* get_next_audio_frame_event ( weed_plant_t *  event)

◆ get_next_event()

weed_plant_t* get_next_event ( weed_plant_t *  event)

◆ get_next_frame_event()

weed_plant_t* get_next_frame_event ( weed_plant_t *  event)

◆ get_next_paramchange()

weed_timecode_t get_next_paramchange ( void **  pchange_next,
weed_timecode_t  end_tc 
)

◆ get_prev_audio_frame_event()

weed_plant_t* get_prev_audio_frame_event ( weed_plant_t *  event)

◆ get_prev_event()

weed_plant_t* get_prev_event ( weed_plant_t *  event)

◆ get_prev_frame_event()

weed_plant_t* get_prev_frame_event ( weed_plant_t *  event)

◆ get_prev_paramchange()

weed_timecode_t get_prev_paramchange ( void **  pchange_next,
weed_timecode_t  start_tc 
)

◆ get_track_visibility_at_tc()

double* get_track_visibility_at_tc ( weed_plant_t *  event_list,
int  ntracks,
int  n_back_tracks,
weed_timecode_t  tc,
weed_plant_t **  shortcut,
boolean  bleedthru 
)

◆ has_audio_frame()

boolean has_audio_frame ( weed_plant_t *  event_list)

◆ has_frame_event_at()

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

◆ init_event_in_list()

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

◆ init_event_is_process_last()

boolean init_event_is_process_last ( weed_plant_t *  event)

◆ init_event_is_relevant()

boolean init_event_is_relevant ( weed_plant_t *  init_event,
int  ctrack 
)

◆ insert_audio_event_at()

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

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

◆ insert_event_after()

boolean insert_event_after ( weed_plant_t *  at_event,
weed_plant_t *  event 
)

◆ insert_event_before()

boolean insert_event_before ( weed_plant_t *  at_event,
weed_plant_t *  event 
)

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

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

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

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

will either insert or replace

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

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

◆ is_blank_frame()

boolean is_blank_frame ( weed_plant_t *  ,
boolean  count_audio 
)

◆ is_init_pchange()

boolean is_init_pchange ( weed_plant_t *  init_event,
weed_plant_t *  pchange_event 
)

◆ move_event_left()

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

◆ move_event_right()

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

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

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

◆ process_events()

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

RT playback.

◆ remove_audio_for_track()

void remove_audio_for_track ( weed_plant_t *  event,
int  track 
)

◆ remove_end_blank_frames()

void remove_end_blank_frames ( weed_plant_t *  event_list,
boolean  remove_filter_inits 
)

◆ remove_filter_from_event_list()

void remove_filter_from_event_list ( weed_plant_t *  event_list,
weed_plant_t *  init_event 
)

◆ remove_frame_from_event()

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

◆ render_to_clip()

boolean render_to_clip ( boolean  new_clip)

rendering

render to clip

◆ replace_event()

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

◆ restore_host_tags()

void restore_host_tags ( weed_plant_t *  event_list,
weed_timecode_t  curr_tc 
)

◆ start_render_effect_events()

boolean start_render_effect_events ( weed_plant_t *  event_list)

render to clip

◆ unlink_event()

void unlink_event ( weed_plant_t *  event_list,
weed_plant_t *  event 
)

◆ update_filter_maps()

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

Variable Documentation

◆ rdet