LiVES  3.0.2
Macros | Functions
multitrack.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 "events.h"
#include "callbacks.h"
#include "effects.h"
#include "resample.h"
#include "support.h"
#include "paramwindow.h"
#include "interface.h"
#include "audio.h"
#include "startup.h"
#include "framedraw.h"
#include "cvirtual.h"
#include "pangotext.h"

Macros

#define LIVES_AVOL_SCALE   ((double)1000000.)
 
#define POLY_WIDTH_MARGIN   4
 

Functions

LIVES_INLINE int mt_clip_from_file (lives_mt *mt, int file)
 
int get_track_for_block (track_rect *block)
 return track number for a given block More...
 
LIVES_INLINE boolean is_empty_track (LiVESObject *track)
 
double get_mixer_track_vol (lives_mt *mt, int trackno)
 
void set_mixer_track_vol (lives_mt *mt, int trackno, double vol)
 
LiVESPixbuf * make_thumb (lives_mt *mt, int file, int width, int height, int frame, boolean noblanks)
 
LiVESPixbuf * make_thumb_fast_between (lives_mt *mt, int fileno, int width, int height, int tframe, int range)
 
boolean write_backup_layout_numbering (lives_mt *mt)
 
boolean mt_auto_backup (livespointer user_data)
 
uint32_t mt_idle_add (lives_mt *mt)
 
void recover_layout_cancelled (boolean is_startup)
 
boolean recover_layout (void)
 
void ** mt_get_pchain (void)
 
char * get_track_name (lives_mt *mt, int track_num, boolean is_audio)
 
LIVES_INLINE double get_time_from_x (lives_mt *mt, int x)
 
LIVES_INLINE void set_params_unchanged (lives_rfx_t *rfx)
 
LIVES_GLOBAL_INLINE double mt_get_effect_time (lives_mt *mt)
 
boolean add_mt_param_box (lives_mt *mt)
 
void track_select (lives_mt *mt)
 must call after setting mt->current_track More...
 
void scroll_tracks (lives_mt *mt, int top_track, boolean set_value)
 
boolean track_arrow_pressed (LiVESWidget *ebox, LiVESXEventButton *event, livespointer user_data)
 
void multitrack_view_clips (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_view_in_out (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_clip_select (lives_mt *mt, boolean scroll)
 
boolean mt_prevclip (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
boolean mt_nextclip (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
void set_timeline_end_secs (lives_mt *mt, double secs)
 
void mt_show_current_frame (lives_mt *mt, boolean return_layer)
 preview the current frame More...
 
void mt_tl_move (lives_mt *mt, double pos)
 
LIVES_INLINE void mt_tl_move_relative (lives_mt *mt, double pos_rel)
 
boolean mt_tlfor (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
boolean mt_tlfor_frame (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
boolean mt_tlback (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
boolean mt_tlback_frame (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
void scroll_track_by_scrollbar (LiVESScrollbar *sbar, livespointer user_data)
 
boolean mt_trdown (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
boolean mt_trup (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
LIVES_INLINE int poly_page_to_tab (uint32_t page)
 
LIVES_INLINE int poly_tab_to_page (uint32_t tab)
 
LIVES_INLINE lives_mt_poly_state_t get_poly_state_from_page (lives_mt *mt)
 
void set_poly_tab (lives_mt *mt, uint32_t tab)
 
LIVES_LOCAL_INLINE int pkg_in_list (char *pkgstring)
 
LIVES_LOCAL_INLINE int add_to_pkg_list (char *pkgstring)
 
LIVES_LOCAL_INLINE char * get_pkg_name (int pkgnum)
 
LIVES_LOCAL_INLINE void free_pkg_list (void)
 
void mt_center_on_cursor (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_zoom_in (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_zoom_out (LiVESMenuItem *menuitem, livespointer user_data)
 
void paned_position (LiVESObject *object, livespointer pspec, livespointer user_data)
 
void mt_spin_start_value_changed (LiVESSpinButton *spinbutton, livespointer user_data)
 
void mt_spin_end_value_changed (LiVESSpinButton *spinbutton, livespointer user_data)
 
void mt_init_start_end_spins (lives_mt *mt)
 
void mouse_mode_context (lives_mt *mt)
 
void update_insert_mode (lives_mt *mt)
 
void update_grav_mode (lives_mt *mt)
 
boolean make_backup_space (lives_mt *mt, size_t space_needed)
 
void mt_backup (lives_mt *mt, int undo_type, weed_timecode_t tc)
 
void mt_aparam_view_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void add_aparam_menuitems (lives_mt *mt)
 
void set_mt_play_sizes (lives_mt *mt, int width, int height)
 
char * set_values_from_defs (lives_mt *mt, boolean from_prefs)
 
void event_list_free_undos (lives_mt *mt)
 
void stored_event_list_free_undos (void)
 
void remove_current_from_affected_layouts (lives_mt *mt)
 
void stored_event_list_free_all (boolean wiped)
 
LIVES_INLINE void print_layout_wiped (void)
 
boolean check_for_layout_del (lives_mt *mt, boolean exiting)
 
void delete_audio_tracks (lives_mt *mt, LiVESList *list, boolean full)
 
void mt_quit_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_set_autotrans (int idx)
 
void set_mt_colours (lives_mt *mt)
 
lives_mt * multitrack (weed_plant_t *event_list, int orig_file, double fps)
 create and return lives_mt struct More...
 
void delete_audio_track (lives_mt *mt, LiVESWidget *eventbox, boolean full)
 
boolean used_in_current_layout (lives_mt *mt, int file)
 
boolean multitrack_delete (lives_mt *mt, boolean save_layout)
 
void reset_renumbering (void)
 
void mt_init_tracks (lives_mt *mt, boolean set_min_max)
 add basic tracks, or set tracks from mt->event_list More...
 
void delete_video_track (lives_mt *mt, int layer, boolean full)
 
LiVESWidget * add_audio_track (lives_mt *mt, int track, boolean behind)
 
void set_track_label_string (lives_mt *mt, int track, const char *label)
 
int add_video_track_behind (LiVESMenuItem *menuitem, livespointer user_data)
 
int add_video_track_front (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_mt_fx_edit_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void do_effect_context (lives_mt *mt, LiVESXEventButton *event)
 
void mt_clear_timeline (lives_mt *mt)
 
void mt_delete_clips (lives_mt *mt, int file)
 
void mt_init_clips (lives_mt *mt, int orig_file, boolean add)
 
boolean on_multitrack_activate (LiVESMenuItem *menuitem, weed_plant_t *event_list)
 menuitem callback More...
 
boolean block_overlap (LiVESWidget *eventbox, double time_start, double time_end)
 
track_rect * move_block (lives_mt *mt, track_rect *block, double timesecs, int old_track, int new_track)
 
void unselect_all (lives_mt *mt)
 unselect all blocks More...
 
void clear_context (lives_mt *mt)
 
void add_context_label (lives_mt *mt, const char *text)
 
boolean resize_timeline (lives_mt *mt)
 
void in_out_start_changed (LiVESWidget *widget, livespointer user_data)
 
void in_out_end_changed (LiVESWidget *widget, livespointer user_data)
 
void avel_reverse_toggled (LiVESToggleButton *togglebutton, livespointer user_data)
 
void avel_spin_changed (LiVESSpinButton *spinbutton, livespointer user_data)
 
void in_anchor_toggled (LiVESToggleButton *togglebutton, livespointer user_data)
 
void out_anchor_toggled (LiVESToggleButton *togglebutton, livespointer user_data)
 
void polymorph (lives_mt *mt, lives_mt_poly_state_t poly)
 
void do_block_context (lives_mt *mt, LiVESXEventButton *event, track_rect *block)
 
void do_track_context (lives_mt *mt, LiVESXEventButton *event, double timesecs, int track)
 
boolean on_track_release (LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_header_click (LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_header_release (LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_between_click (LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_between_release (LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_click (LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data)
 
boolean on_track_move (LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data)
 
boolean on_track_header_move (LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data)
 
void unpaint_line (lives_mt *mt, LiVESWidget *eventbox)
 
void unpaint_lines (lives_mt *mt)
 
void animate_multitrack (lives_mt *mt)
 
void multitrack_end_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void insert_here_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void insert_at_ctx_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void edit_start_end_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void close_clip_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void show_clipinfo_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void insert_audio_here_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void insert_audio_at_ctx_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void delete_block_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void selblock_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void list_fx_here_cb (LiVESMenuItem *menuitem, livespointer user_data)
 
void tc_to_rs (LiVESMenuItem *menuitem, livespointer user_data)
 
void tc_to_re (LiVESMenuItem *menuitem, livespointer user_data)
 
void rs_to_tc (LiVESMenuItem *menuitem, livespointer user_data)
 
void re_to_tc (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_move_fx_changed (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_clear_marks (LiVESMenuItem *menuitem, livespointer user_data)
 
void select_all_time (LiVESMenuItem *menuitem, livespointer user_data)
 
void select_from_zero_time (LiVESMenuItem *menuitem, livespointer user_data)
 
void select_to_end_time (LiVESMenuItem *menuitem, livespointer user_data)
 
void select_all_vid (LiVESMenuItem *menuitem, livespointer user_data)
 
void select_no_vid (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_fplay_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_render_vid_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_render_aud_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_norm_aud_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_view_audio_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_ign_ins_sel_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void remove_first_gaps (LiVESMenuItem *menuitem, livespointer user_data)
 
void remove_gaps (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_insgap_sel_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_insgap_cur_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_undo (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_redo (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_view_details (LiVESMenuItem *menuitem, livespointer user_data)
 
weed_plant_t * add_blank_frames_up_to (weed_plant_t *event_list, weed_plant_t *start_event, weed_timecode_t end_tc, double fps)
 
void mt_add_region_effect (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_add_block_effect (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_mt_list_fx_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_mt_delfx_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_jumpback_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_jumpnext_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_rename_track_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_cback_audio_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
boolean on_render_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_prerender_aud_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void update_filter_events (lives_mt *mt, weed_plant_t *first_event, weed_timecode_t start_tc, weed_timecode_t end_tc, int track, weed_timecode_t new_start_tc, int new_track)
 
void on_split_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_split_curr_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_split_sel_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_seltrack_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void on_seltrack_toggled (LiVESWidget *checkbutton, livespointer user_data)
 
void mt_desensitise (lives_mt *mt)
 
void mt_sensitise (lives_mt *mt)
 
void mt_swap_play_pause (lives_mt *mt, boolean put_pause)
 
void multitrack_preview_clicked (LiVESWidget *button, livespointer user_data)
 
void mt_prepare_for_playback (lives_mt *mt)
 
void mt_post_playback (lives_mt *mt)
 
void multitrack_playall (lives_mt *mt)
 
void multitrack_play_sel (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_adj_start_end (LiVESMenuItem *menuitem, livespointer user_data)
 
boolean multitrack_insert (LiVESMenuItem *menuitem, livespointer user_data)
 
boolean multitrack_audio_insert (LiVESMenuItem *menuitem, livespointer user_data)
 
void insert_frames (int filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc, lives_direction_t direction, LiVESWidget *eventbox, lives_mt *mt, track_rect *in_block)
 
void insert_audio (int filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc, double avel, lives_direction_t direction, LiVESWidget *eventbox, lives_mt *mt, track_rect *in_block)
 
void multitrack_view_events (LiVESMenuItem *menuitem, livespointer user_data)
 
void multitrack_view_sel_events (LiVESMenuItem *menuitem, livespointer user_data)
 
void draw_region (lives_mt *mt)
 
EXPOSE_FN_END boolean on_timeline_update (LiVESWidget *widget, LiVESXEventMotion *event, livespointer user_data)
 
boolean all_present (weed_plant_t *event, LiVESList *sel)
 
void get_region_overlap (lives_mt *mt)
 
void do_sel_context (lives_mt *mt)
 
void do_fx_list_context (lives_mt *mt, int fxcount)
 
void do_fx_move_context (lives_mt *mt)
 
boolean on_timeline_release (LiVESWidget *eventbox, LiVESXEventButton *event, livespointer user_data)
 
boolean on_timeline_press (LiVESWidget *widget, LiVESXEventButton *event, livespointer user_data)
 
weed_plant_t * get_prev_fm (lives_mt *mt, int current_track, weed_plant_t *event)
 
weed_plant_t * get_next_fm (lives_mt *mt, int current_track, weed_plant_t *event)
 
boolean mt_mark_callback (LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
void on_fx_insa_clicked (LiVESWidget *button, livespointer user_data)
 
void on_fx_insb_clicked (LiVESWidget *button, livespointer user_data)
 
void on_prev_fm_clicked (LiVESWidget *button, livespointer user_data)
 
void on_next_fm_clicked (LiVESWidget *button, livespointer user_data)
 
void on_node_spin_value_changed (LiVESSpinButton *spinbutton, livespointer user_data)
 
void on_next_node_clicked (LiVESWidget *button, livespointer user_data)
 
void on_prev_node_clicked (LiVESWidget *button, livespointer user_data)
 
void on_del_node_clicked (LiVESWidget *button, livespointer user_data)
 
void mt_fixup_events (lives_mt *mt, weed_plant_t *old_event, weed_plant_t *new_event)
 
void activate_mt_preview (lives_mt *mt)
 sensitize Show Preview and Apply buttons More...
 
void on_set_pvals_clicked (LiVESWidget *button, livespointer user_data)
 
LiVESList * load_layout_map (void)
 
void save_layout_map (int *lmap, double *lmap_audio, const char *file, const char *dir)
 
void add_markers (lives_mt *mt, weed_plant_t *event_list, boolean add_block_ids)
 
boolean set_new_set_name (lives_mt *mt)
 
boolean on_save_event_list_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void move_init_in_filter_map (lives_mt *mt, weed_plant_t *event_list, weed_plant_t *event, weed_plant_t *ifrom, weed_plant_t *ito, int track, boolean after)
 
boolean compare_filter_maps (weed_plant_t *fm1, weed_plant_t *fm2, int ctrack)
 ctrack can be -1 to compare all events, else we cf for ctrack More...
 
boolean event_list_rectify (lives_mt *mt, weed_plant_t *event_list)
 
char * get_eload_filename (lives_mt *mt, boolean allow_auto_reload)
 
weed_plant_t * load_event_list (lives_mt *mt, char *eload_file)
 
void remove_markers (weed_plant_t *event_list)
 
void wipe_layout (lives_mt *mt)
 
void on_clear_event_list_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
boolean on_load_event_list_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void migrate_layouts (const char *old_set_name, const char *new_set_name)
 
LiVESList * layout_frame_is_affected (int clipno, int frame)
 
LiVESList * layout_audio_is_affected (int clipno, double time)
 
void mt_change_disp_tracks_ok (LiVESButton *button, livespointer user_data)
 
void show_frame_events_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_change_max_disp_tracks (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_load_vals_toggled (LiVESMenuItem *menuitem, livespointer user_data)
 
void mt_change_vals_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
uint32_t event_list_get_byte_size (lives_mt *mt, weed_plant_t *event_list, int *num_events)
 returns bytes and sets num_events More...
 
void on_amixer_close_clicked (LiVESButton *button, lives_mt *mt)
 
void on_amixer_slider_changed (LiVESAdjustment *adj, lives_mt *mt)
 
LiVESWidget * amixer_add_channel_slider (lives_mt *mt, int i)
 
void amixer_show (LiVESButton *button, livespointer user_data)
 
void on_mt_showkeys_activate (LiVESMenuItem *menuitem, livespointer user_data)
 
LiVESWidget * get_eventbox_for_track (lives_mt *mt, int ntrack)
 
track_rect * find_block_by_uid (lives_mt *mt, ulong uid)
 
boolean mt_track_is_video (lives_mt *mt, int ntrack)
 return TRUE if ntrack is a valid video track More...
 
boolean mt_track_is_audio (lives_mt *mt, int ntrack)
 return TRUE if ntrack is a valid backing audio track More...
 
ulong mt_get_last_block_uid (lives_mt *mt)
 get index of last inserted (wallclock time) block for track More...
 
int mt_get_block_count (lives_mt *mt, int ntrack)
 count blocks in track More...
 
double mt_get_block_sttime (lives_mt *mt, int ntrack, int iblock)
 return time in seconds of first frame event in block More...
 
double mt_get_block_entime (lives_mt *mt, int ntrack, int iblock)
 return time in seconds of last frame event in block, + event duration More...
 
track_rect * get_block_from_track_and_time (lives_mt *mt, int track, double time)
 get timeline end time of block More...
 
int get_clip_for_block (track_rect *block)
 
void mt_do_autotransition (lives_mt *mt, track_rect *block)
 call this on a block to apply autotransition on it More...
 

Macro Definition Documentation

◆ LIVES_AVOL_SCALE

#define LIVES_AVOL_SCALE   ((double)1000000.)

◆ POLY_WIDTH_MARGIN

#define POLY_WIDTH_MARGIN   4

Function Documentation

◆ activate_mt_preview()

void activate_mt_preview ( lives_mt *  mt)

sensitize Show Preview and Apply buttons

◆ add_aparam_menuitems()

void add_aparam_menuitems ( lives_mt *  mt)

◆ add_audio_track()

LiVESWidget* add_audio_track ( lives_mt *  mt,
int  track,
boolean  behind 
)

◆ add_blank_frames_up_to()

weed_plant_t* add_blank_frames_up_to ( weed_plant_t *  event_list,
weed_plant_t *  start_event,
weed_timecode_t  end_tc,
double  fps 
)

◆ add_context_label()

void add_context_label ( lives_mt *  mt,
const char *  text 
)

◆ add_markers()

void add_markers ( lives_mt *  mt,
weed_plant_t *  event_list,
boolean  add_block_ids 
)

◆ add_mt_param_box()

boolean add_mt_param_box ( lives_mt *  mt)

◆ add_to_pkg_list()

LIVES_LOCAL_INLINE int add_to_pkg_list ( char *  pkgstring)

◆ add_video_track_behind()

int add_video_track_behind ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ add_video_track_front()

int add_video_track_front ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ all_present()

boolean all_present ( weed_plant_t *  event,
LiVESList *  sel 
)

◆ amixer_add_channel_slider()

LiVESWidget* amixer_add_channel_slider ( lives_mt *  mt,
int  i 
)

◆ amixer_show()

void amixer_show ( LiVESButton *  button,
livespointer  user_data 
)

◆ animate_multitrack()

void animate_multitrack ( lives_mt *  mt)

◆ avel_reverse_toggled()

void avel_reverse_toggled ( LiVESToggleButton *  togglebutton,
livespointer  user_data 
)

◆ avel_spin_changed()

void avel_spin_changed ( LiVESSpinButton *  spinbutton,
livespointer  user_data 
)

◆ block_overlap()

boolean block_overlap ( LiVESWidget *  eventbox,
double  time_start,
double  time_end 
)

◆ check_for_layout_del()

boolean check_for_layout_del ( lives_mt *  mt,
boolean  exiting 
)

◆ clear_context()

void clear_context ( lives_mt *  mt)

◆ close_clip_cb()

void close_clip_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ compare_filter_maps()

boolean compare_filter_maps ( weed_plant_t *  fm1,
weed_plant_t *  fm2,
int  ctrack 
)

ctrack can be -1 to compare all events, else we cf for ctrack

◆ delete_audio_track()

void delete_audio_track ( lives_mt *  mt,
LiVESWidget *  eventbox,
boolean  full 
)

◆ delete_audio_tracks()

void delete_audio_tracks ( lives_mt *  mt,
LiVESList *  list,
boolean  full 
)

◆ delete_block_cb()

void delete_block_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ delete_video_track()

void delete_video_track ( lives_mt *  mt,
int  layer,
boolean  full 
)

◆ do_block_context()

void do_block_context ( lives_mt *  mt,
LiVESXEventButton *  event,
track_rect *  block 
)

◆ do_effect_context()

void do_effect_context ( lives_mt *  mt,
LiVESXEventButton *  event 
)

◆ do_fx_list_context()

void do_fx_list_context ( lives_mt *  mt,
int  fxcount 
)

◆ do_fx_move_context()

void do_fx_move_context ( lives_mt *  mt)

◆ do_sel_context()

void do_sel_context ( lives_mt *  mt)

◆ do_track_context()

void do_track_context ( lives_mt *  mt,
LiVESXEventButton *  event,
double  timesecs,
int  track 
)

◆ draw_region()

void draw_region ( lives_mt *  mt)

◆ edit_start_end_cb()

void edit_start_end_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ event_list_free_undos()

void event_list_free_undos ( lives_mt *  mt)

◆ event_list_get_byte_size()

uint32_t event_list_get_byte_size ( lives_mt *  mt,
weed_plant_t *  event_list,
int *  num_events 
)

returns bytes and sets num_events

◆ event_list_rectify()

boolean event_list_rectify ( lives_mt *  mt,
weed_plant_t *  event_list 
)

◆ find_block_by_uid()

track_rect* find_block_by_uid ( lives_mt *  mt,
ulong  uid 
)

◆ free_pkg_list()

LIVES_LOCAL_INLINE void free_pkg_list ( void  )

◆ get_block_from_track_and_time()

track_rect* get_block_from_track_and_time ( lives_mt *  mt,
int  track,
double  time 
)

get timeline end time of block

◆ get_clip_for_block()

int get_clip_for_block ( track_rect *  block)

◆ get_eload_filename()

char* get_eload_filename ( lives_mt *  mt,
boolean  allow_auto_reload 
)

◆ get_eventbox_for_track()

LiVESWidget* get_eventbox_for_track ( lives_mt *  mt,
int  ntrack 
)

◆ get_mixer_track_vol()

double get_mixer_track_vol ( lives_mt *  mt,
int  trackno 
)

◆ get_next_fm()

weed_plant_t* get_next_fm ( lives_mt *  mt,
int  current_track,
weed_plant_t *  event 
)

◆ get_pkg_name()

LIVES_LOCAL_INLINE char* get_pkg_name ( int  pkgnum)

◆ get_poly_state_from_page()

LIVES_INLINE lives_mt_poly_state_t get_poly_state_from_page ( lives_mt *  mt)

◆ get_prev_fm()

weed_plant_t* get_prev_fm ( lives_mt *  mt,
int  current_track,
weed_plant_t *  event 
)

◆ get_region_overlap()

void get_region_overlap ( lives_mt *  mt)

◆ get_time_from_x()

LIVES_INLINE double get_time_from_x ( lives_mt *  mt,
int  x 
)

◆ get_track_for_block()

int get_track_for_block ( track_rect *  block)

return track number for a given block

◆ get_track_name()

char* get_track_name ( lives_mt *  mt,
int  track_num,
boolean  is_audio 
)

◆ in_anchor_toggled()

void in_anchor_toggled ( LiVESToggleButton *  togglebutton,
livespointer  user_data 
)

◆ in_out_end_changed()

void in_out_end_changed ( LiVESWidget *  widget,
livespointer  user_data 
)

◆ in_out_start_changed()

void in_out_start_changed ( LiVESWidget *  widget,
livespointer  user_data 
)

◆ insert_at_ctx_cb()

void insert_at_ctx_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ insert_audio()

void insert_audio ( int  filenum,
weed_timecode_t  offset_start,
weed_timecode_t  offset_end,
weed_timecode_t  tc,
double  avel,
lives_direction_t  direction,
LiVESWidget *  eventbox,
lives_mt *  mt,
track_rect *  in_block 
)

◆ insert_audio_at_ctx_cb()

void insert_audio_at_ctx_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ insert_audio_here_cb()

void insert_audio_here_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ insert_frames()

void insert_frames ( int  filenum,
weed_timecode_t  offset_start,
weed_timecode_t  offset_end,
weed_timecode_t  tc,
lives_direction_t  direction,
LiVESWidget *  eventbox,
lives_mt *  mt,
track_rect *  in_block 
)

◆ insert_here_cb()

void insert_here_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ is_empty_track()

LIVES_INLINE boolean is_empty_track ( LiVESObject *  track)

◆ layout_audio_is_affected()

LiVESList* layout_audio_is_affected ( int  clipno,
double  time 
)

◆ layout_frame_is_affected()

LiVESList* layout_frame_is_affected ( int  clipno,
int  frame 
)

◆ list_fx_here_cb()

void list_fx_here_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ load_event_list()

weed_plant_t* load_event_list ( lives_mt *  mt,
char *  eload_file 
)

◆ load_layout_map()

LiVESList* load_layout_map ( void  )

◆ make_backup_space()

boolean make_backup_space ( lives_mt *  mt,
size_t  space_needed 
)

◆ make_thumb()

LiVESPixbuf* make_thumb ( lives_mt *  mt,
int  file,
int  width,
int  height,
int  frame,
boolean  noblanks 
)

◆ make_thumb_fast_between()

LiVESPixbuf* make_thumb_fast_between ( lives_mt *  mt,
int  fileno,
int  width,
int  height,
int  tframe,
int  range 
)

◆ migrate_layouts()

void migrate_layouts ( const char *  old_set_name,
const char *  new_set_name 
)

◆ mouse_mode_context()

void mouse_mode_context ( lives_mt *  mt)

◆ move_block()

track_rect* move_block ( lives_mt *  mt,
track_rect *  block,
double  timesecs,
int  old_track,
int  new_track 
)

◆ move_init_in_filter_map()

void move_init_in_filter_map ( lives_mt *  mt,
weed_plant_t *  event_list,
weed_plant_t *  event,
weed_plant_t *  ifrom,
weed_plant_t *  ito,
int  track,
boolean  after 
)

◆ mt_add_block_effect()

void mt_add_block_effect ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_add_region_effect()

void mt_add_region_effect ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_aparam_view_toggled()

void mt_aparam_view_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_auto_backup()

boolean mt_auto_backup ( livespointer  user_data)

◆ mt_backup()

void mt_backup ( lives_mt *  mt,
int  undo_type,
weed_timecode_t  tc 
)

◆ mt_center_on_cursor()

void mt_center_on_cursor ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_change_disp_tracks_ok()

void mt_change_disp_tracks_ok ( LiVESButton *  button,
livespointer  user_data 
)

◆ mt_change_max_disp_tracks()

void mt_change_max_disp_tracks ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_change_vals_activate()

void mt_change_vals_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_clear_timeline()

void mt_clear_timeline ( lives_mt *  mt)

◆ mt_clip_from_file()

LIVES_INLINE int mt_clip_from_file ( lives_mt *  mt,
int  file 
)

◆ mt_clip_select()

void mt_clip_select ( lives_mt *  mt,
boolean  scroll 
)

◆ mt_delete_clips()

void mt_delete_clips ( lives_mt *  mt,
int  file 
)

◆ mt_desensitise()

void mt_desensitise ( lives_mt *  mt)

◆ mt_do_autotransition()

void mt_do_autotransition ( lives_mt *  mt,
track_rect *  block 
)

call this on a block to apply autotransition on it

<invalid block

<filter has no (visible) in parameters

< filter has no transition parameter

< cannot transition with self !

< force some visual changes

< cannot transition with self !

◆ mt_fixup_events()

void mt_fixup_events ( lives_mt *  mt,
weed_plant_t *  old_event,
weed_plant_t *  new_event 
)

◆ mt_fplay_toggled()

void mt_fplay_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_get_block_count()

int mt_get_block_count ( lives_mt *  mt,
int  ntrack 
)

count blocks in track

< no blocks in track

◆ mt_get_block_entime()

double mt_get_block_entime ( lives_mt *  mt,
int  ntrack,
int  iblock 
)

return time in seconds of last frame event in block, + event duration

get timeline start time of block

< invalid track or block number

◆ mt_get_block_sttime()

double mt_get_block_sttime ( lives_mt *  mt,
int  ntrack,
int  iblock 
)

return time in seconds of first frame event in block

< invalid track or block number

◆ mt_get_effect_time()

LIVES_GLOBAL_INLINE double mt_get_effect_time ( lives_mt *  mt)

◆ mt_get_last_block_uid()

ulong mt_get_last_block_uid ( lives_mt *  mt)

get index of last inserted (wallclock time) block for track

< no blocks in track

◆ mt_get_pchain()

void** mt_get_pchain ( void  )

◆ mt_idle_add()

uint32_t mt_idle_add ( lives_mt *  mt)

◆ mt_ign_ins_sel_toggled()

void mt_ign_ins_sel_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_init_clips()

void mt_init_clips ( lives_mt *  mt,
int  orig_file,
boolean  add 
)

◆ mt_init_start_end_spins()

void mt_init_start_end_spins ( lives_mt *  mt)

◆ mt_init_tracks()

void mt_init_tracks ( lives_mt *  mt,
boolean  set_min_max 
)

add basic tracks, or set tracks from mt->event_list

◆ mt_load_vals_toggled()

void mt_load_vals_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_mark_callback()

boolean mt_mark_callback ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_nextclip()

boolean mt_nextclip ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_norm_aud_toggled()

void mt_norm_aud_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_post_playback()

void mt_post_playback ( lives_mt *  mt)

◆ mt_prepare_for_playback()

void mt_prepare_for_playback ( lives_mt *  mt)

◆ mt_prevclip()

boolean mt_prevclip ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_quit_activate()

void mt_quit_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_render_aud_toggled()

void mt_render_aud_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_render_vid_toggled()

void mt_render_vid_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_sensitise()

void mt_sensitise ( lives_mt *  mt)

◆ mt_set_autotrans()

void mt_set_autotrans ( int  idx)

◆ mt_show_current_frame()

void mt_show_current_frame ( lives_mt *  mt,
boolean  return_layer 
)

preview the current frame

◆ mt_spin_end_value_changed()

void mt_spin_end_value_changed ( LiVESSpinButton *  spinbutton,
livespointer  user_data 
)

◆ mt_spin_start_value_changed()

void mt_spin_start_value_changed ( LiVESSpinButton *  spinbutton,
livespointer  user_data 
)

◆ mt_swap_play_pause()

void mt_swap_play_pause ( lives_mt *  mt,
boolean  put_pause 
)

◆ mt_tl_move()

void mt_tl_move ( lives_mt *  mt,
double  pos 
)

◆ mt_tl_move_relative()

LIVES_INLINE void mt_tl_move_relative ( lives_mt *  mt,
double  pos_rel 
)

◆ mt_tlback()

boolean mt_tlback ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_tlback_frame()

boolean mt_tlback_frame ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_tlfor()

boolean mt_tlfor ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_tlfor_frame()

boolean mt_tlfor_frame ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_track_is_audio()

boolean mt_track_is_audio ( lives_mt *  mt,
int  ntrack 
)

return TRUE if ntrack is a valid backing audio track

◆ mt_track_is_video()

boolean mt_track_is_video ( lives_mt *  mt,
int  ntrack 
)

return TRUE if ntrack is a valid video track

◆ mt_trdown()

boolean mt_trdown ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_trup()

boolean mt_trup ( LiVESAccelGroup *  group,
LiVESObject *  obj,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

◆ mt_view_audio_toggled()

void mt_view_audio_toggled ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_zoom_in()

void mt_zoom_in ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ mt_zoom_out()

void mt_zoom_out ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack()

lives_mt* multitrack ( weed_plant_t *  event_list,
int  orig_file,
double  fps 
)

create and return lives_mt struct

the autotransitions menu

apply block effect menu

None autotransition

◆ multitrack_adj_start_end()

void multitrack_adj_start_end ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_audio_insert()

boolean multitrack_audio_insert ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_clear_marks()

void multitrack_clear_marks ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_delete()

boolean multitrack_delete ( lives_mt *  mt,
boolean  save_layout 
)

◆ multitrack_end_cb()

void multitrack_end_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_insert()

boolean multitrack_insert ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_play_sel()

void multitrack_play_sel ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_playall()

void multitrack_playall ( lives_mt *  mt)

◆ multitrack_preview_clicked()

void multitrack_preview_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ multitrack_redo()

void multitrack_redo ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_undo()

void multitrack_undo ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_view_clips()

void multitrack_view_clips ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_view_details()

void multitrack_view_details ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_view_events()

void multitrack_view_events ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_view_in_out()

void multitrack_view_in_out ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ multitrack_view_sel_events()

void multitrack_view_sel_events ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_amixer_close_clicked()

void on_amixer_close_clicked ( LiVESButton *  button,
lives_mt *  mt 
)

◆ on_amixer_slider_changed()

void on_amixer_slider_changed ( LiVESAdjustment *  adj,
lives_mt *  mt 
)

◆ on_cback_audio_activate()

void on_cback_audio_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_clear_event_list_activate()

void on_clear_event_list_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_del_node_clicked()

void on_del_node_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_fx_insa_clicked()

void on_fx_insa_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_fx_insb_clicked()

void on_fx_insb_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_insgap_cur_activate()

void on_insgap_cur_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_insgap_sel_activate()

void on_insgap_sel_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_jumpback_activate()

void on_jumpback_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_jumpnext_activate()

void on_jumpnext_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_load_event_list_activate()

boolean on_load_event_list_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_move_fx_changed()

void on_move_fx_changed ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_mt_delfx_activate()

void on_mt_delfx_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_mt_fx_edit_activate()

void on_mt_fx_edit_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_mt_list_fx_activate()

void on_mt_list_fx_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_mt_showkeys_activate()

void on_mt_showkeys_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_multitrack_activate()

boolean on_multitrack_activate ( LiVESMenuItem *  menuitem,
weed_plant_t *  event_list 
)

menuitem callback

◆ on_next_fm_clicked()

void on_next_fm_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_next_node_clicked()

void on_next_node_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_node_spin_value_changed()

void on_node_spin_value_changed ( LiVESSpinButton *  spinbutton,
livespointer  user_data 
)

◆ on_prerender_aud_activate()

void on_prerender_aud_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_prev_fm_clicked()

void on_prev_fm_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_prev_node_clicked()

void on_prev_node_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_rename_track_activate()

void on_rename_track_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_render_activate()

boolean on_render_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_save_event_list_activate()

boolean on_save_event_list_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_seltrack_activate()

void on_seltrack_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_seltrack_toggled()

void on_seltrack_toggled ( LiVESWidget *  checkbutton,
livespointer  user_data 
)

◆ on_set_pvals_clicked()

void on_set_pvals_clicked ( LiVESWidget *  button,
livespointer  user_data 
)

◆ on_split_activate()

void on_split_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_split_curr_activate()

void on_split_curr_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_split_sel_activate()

void on_split_sel_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ on_timeline_press()

boolean on_timeline_press ( LiVESWidget *  widget,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_timeline_release()

boolean on_timeline_release ( LiVESWidget *  eventbox,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_timeline_update()

EXPOSE_FN_END boolean on_timeline_update ( LiVESWidget *  widget,
LiVESXEventMotion *  event,
livespointer  user_data 
)

◆ on_track_between_click()

boolean on_track_between_click ( LiVESWidget *  widget,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_track_between_release()

boolean on_track_between_release ( LiVESWidget *  widget,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_track_click()

boolean on_track_click ( LiVESWidget *  eventbox,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_track_header_click()

boolean on_track_header_click ( LiVESWidget *  widget,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_track_header_move()

boolean on_track_header_move ( LiVESWidget *  widget,
LiVESXEventMotion *  event,
livespointer  user_data 
)

◆ on_track_header_release()

boolean on_track_header_release ( LiVESWidget *  widget,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ on_track_move()

boolean on_track_move ( LiVESWidget *  widget,
LiVESXEventMotion *  event,
livespointer  user_data 
)

◆ on_track_release()

boolean on_track_release ( LiVESWidget *  eventbox,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ out_anchor_toggled()

void out_anchor_toggled ( LiVESToggleButton *  togglebutton,
livespointer  user_data 
)

◆ paned_position()

void paned_position ( LiVESObject *  object,
livespointer  pspec,
livespointer  user_data 
)

◆ pkg_in_list()

LIVES_LOCAL_INLINE int pkg_in_list ( char *  pkgstring)

◆ poly_page_to_tab()

LIVES_INLINE int poly_page_to_tab ( uint32_t  page)

◆ poly_tab_to_page()

LIVES_INLINE int poly_tab_to_page ( uint32_t  tab)

◆ polymorph()

void polymorph ( lives_mt *  mt,
lives_mt_poly_state_t  poly 
)

< can happen during mt exit

◆ print_layout_wiped()

LIVES_INLINE void print_layout_wiped ( void  )

◆ re_to_tc()

void re_to_tc ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ recover_layout()

boolean recover_layout ( void  )

◆ recover_layout_cancelled()

void recover_layout_cancelled ( boolean  is_startup)

◆ remove_current_from_affected_layouts()

void remove_current_from_affected_layouts ( lives_mt *  mt)

◆ remove_first_gaps()

void remove_first_gaps ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ remove_gaps()

void remove_gaps ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ remove_markers()

void remove_markers ( weed_plant_t *  event_list)

◆ reset_renumbering()

void reset_renumbering ( void  )

◆ resize_timeline()

boolean resize_timeline ( lives_mt *  mt)

◆ rs_to_tc()

void rs_to_tc ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ save_layout_map()

void save_layout_map ( int *  lmap,
double *  lmap_audio,
const char *  file,
const char *  dir 
)

◆ scroll_track_by_scrollbar()

void scroll_track_by_scrollbar ( LiVESScrollbar *  sbar,
livespointer  user_data 
)

◆ scroll_tracks()

void scroll_tracks ( lives_mt *  mt,
int  top_track,
boolean  set_value 
)

◆ selblock_cb()

void selblock_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ select_all_time()

void select_all_time ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ select_all_vid()

void select_all_vid ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ select_from_zero_time()

void select_from_zero_time ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ select_no_vid()

void select_no_vid ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ select_to_end_time()

void select_to_end_time ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ set_mixer_track_vol()

void set_mixer_track_vol ( lives_mt *  mt,
int  trackno,
double  vol 
)

◆ set_mt_colours()

void set_mt_colours ( lives_mt *  mt)

◆ set_mt_play_sizes()

void set_mt_play_sizes ( lives_mt *  mt,
int  width,
int  height 
)

◆ set_new_set_name()

boolean set_new_set_name ( lives_mt *  mt)

◆ set_params_unchanged()

LIVES_INLINE void set_params_unchanged ( lives_rfx_t rfx)

◆ set_poly_tab()

void set_poly_tab ( lives_mt *  mt,
uint32_t  tab 
)

◆ set_timeline_end_secs()

void set_timeline_end_secs ( lives_mt *  mt,
double  secs 
)

◆ set_track_label_string()

void set_track_label_string ( lives_mt *  mt,
int  track,
const char *  label 
)

◆ set_values_from_defs()

char* set_values_from_defs ( lives_mt *  mt,
boolean  from_prefs 
)

◆ show_clipinfo_cb()

void show_clipinfo_cb ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ show_frame_events_activate()

void show_frame_events_activate ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ stored_event_list_free_all()

void stored_event_list_free_all ( boolean  wiped)

◆ stored_event_list_free_undos()

void stored_event_list_free_undos ( void  )

◆ tc_to_re()

void tc_to_re ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ tc_to_rs()

void tc_to_rs ( LiVESMenuItem *  menuitem,
livespointer  user_data 
)

◆ track_arrow_pressed()

boolean track_arrow_pressed ( LiVESWidget *  ebox,
LiVESXEventButton *  event,
livespointer  user_data 
)

◆ track_select()

void track_select ( lives_mt *  mt)

must call after setting mt->current_track

◆ unpaint_line()

void unpaint_line ( lives_mt *  mt,
LiVESWidget *  eventbox 
)

◆ unpaint_lines()

void unpaint_lines ( lives_mt *  mt)

◆ unselect_all()

void unselect_all ( lives_mt *  mt)

unselect all blocks

◆ update_filter_events()

void update_filter_events ( lives_mt *  mt,
weed_plant_t *  first_event,
weed_timecode_t  start_tc,
weed_timecode_t  end_tc,
int  track,
weed_timecode_t  new_start_tc,
int  new_track 
)

◆ update_grav_mode()

void update_grav_mode ( lives_mt *  mt)

◆ update_insert_mode()

void update_insert_mode ( lives_mt *  mt)

◆ used_in_current_layout()

boolean used_in_current_layout ( lives_mt *  mt,
int  file 
)

◆ wipe_layout()

void wipe_layout ( lives_mt *  mt)

◆ write_backup_layout_numbering()

boolean write_backup_layout_numbering ( lives_mt *  mt)