LiVES  3.2.0
Data Structures | Macros | Enumerations | Functions
multitrack.h File Reference

Go to the source code of this file.

Data Structures

struct  mt_opts
 
struct  lives_mt
 
struct  mt_undo
 
struct  lives_amixer_t
 
struct  track_rect
 track rectangles (blocks), we translate our event_list FRAME events into these, then when exposed, the eventbox draws them blocks MUST only contain frames from a single clip. They MAY NOT contain blank frames. More...
 
struct  ttable
 
struct  layout_map
 
struct  lmap_error
 

Macros

#define CLIP_THUMB_WIDTH   ((int)(72.*widget_opts.scale))
 
#define CLIP_THUMB_HEIGHT   ((int)(72.*widget_opts.scale))
 
#define CLIP_LABEL_LENGTH   ((int)(20.*widget_opts.scale))
 
#define BLOCK_THUMB_WIDTH   ((int)(40.*widget_opts.scale))
 
#define MT_PLAY_WIDTH_SMALL   ((int)(320.*widget_opts.scale))
 
#define MT_PLAY_HEIGHT_SMALL   ((int)(216.*widget_opts.scale))
 
#define MT_PLAY_WIDTH_EXP   ((int)(432.*widget_opts.scale))
 
#define MT_PLAY_HEIGHT_EXP   ((int)(324.*widget_opts.scale))
 
#define MT_CTX_WIDTH   ((int)(320.*widget_opts.scale))
 
#define MT_CTX_HEIGHT   ((int)(220.*widget_opts.scale))
 
#define FX_BLOCK_WIDTH   ((int)(80.*widget_opts.scale))
 
#define FX_BLOCK_HEIGHT   ((int)(20.*widget_opts.scale))
 
#define MT_TRACK_HEIGHT   ((int)(35.*widget_opts.scale))
 
#define TIMECODE_LENGTH   14
 length of timecode text entry, must be > 12 More...
 
#define TIMELINE_TABLE_COLUMNS   40
 
#define MENUBAR_MIN   1024
 
#define PEB_WRATIO   3.
 preview eventbox width ratio (fraction of screen width) More...
 
#define PEB_HRATIO   3.
 preview eventbox height ratio (fraction of screen height) More...
 
#define AMIXER_WRATIO   2. / 3.
 audio mixer width ratio (fraction of screen width) More...
 
#define AMIXER_HRATIO   2. / 3.
 audio mixer height ratio (fraction of screen height) More...
 
#define MT_INOUT_TIME   10000
 min milliseconds to save autobackup when changing in / out spins More...
 
#define BLOCK_DRAW_SIMPLE   1
 
#define BLOCK_DRAW_THUMB   2
 
#define BLOCK_DRAW_TYPE   BLOCK_DRAW_THUMB
 
#define SELBLOCK_ALPHA   0.6
 
#define DEF_TIME   120
 default seconds when there is no event_list More...
 
#define DEF_AUTOTRANS   "simple_blend|chroma blend|salsaman"
 
#define TRACK_I_HIDDEN_USER   (1<<0)
 
#define TRACK_I_HIDDEN_SCROLLED   (1<<1)
 
#define DEF_MT_DISP_TRACKS   5
 
#define MAX_TRACKS   65536
 
#define MAX_VIDEO_TRACKS   65536
 
#define MAX_AUDIO_TRACKS   65536
 
#define QUANT_TIME(dbltime)   ((q_gint64(dbltime * TICKS_PER_SECOND_DBL, mt->fps) / TICKS_PER_SECOND_DBL))
 
#define QUANT_TICKS(ticks)   ((q_gint64(ticks, mt->fps) / TICKS_PER_SECOND_DBL))
 

Enumerations

enum  lives_mt_mouse_mode_t { MOUSE_MODE_MOVE, MOUSE_MODE_SELECT, MOUSE_MODE_COPY }
 
enum  lives_mt_insert_mode_t { INSERT_MODE_NORMAL, INSERT_MODE_OVERWRITE, INSERT_MODE_FLEX, INSERT_MODE_FILL }
 
enum  lives_mt_grav_mode_t { GRAV_MODE_NORMAL, GRAV_MODE_LEFT, GRAV_MODE_RIGHT }
 
enum  lives_mt_undo_t {
  MT_UNDO_NONE = 0, MT_UNDO_INSERT_BLOCK = 1, MT_UNDO_INSERT_AUDIO_BLOCK = 2, MT_UNDO_APPLY_FILTER = 512,
  MT_UNDO_DELETE_FILTER = 513, MT_UNDO_SPLIT = 514, MT_UNDO_SPLIT_MULTI = 515, MT_UNDO_FILTER_MAP_CHANGE = 516,
  MT_UNDO_DELETE_BLOCK = 1024, MT_UNDO_MOVE_BLOCK = 1025, MT_UNDO_REMOVE_GAPS = 1026, MT_UNDO_DELETE_AUDIO_BLOCK = 1027,
  MT_UNDO_MOVE_AUDIO_BLOCK = 1028, MT_UNDO_INSERT_GAP = 1029
}
 
enum  lives_mt_nb_error_t {
  NB_ERROR_SEL, NB_ERROR_NOEFFECT, NB_ERROR_NOTRANS, NB_ERROR_NOCOMP,
  NB_ERROR_NOCLIP
}
 
enum  lives_mt_poly_state_t {
  POLY_NONE = 0, POLY_CLIPS, POLY_IN_OUT, POLY_FX_STACK,
  POLY_PARAMS, POLY_EFFECTS, POLY_TRANS, POLY_COMP
}
 
enum  lives_mt_last_fx_type_t { MT_LAST_FX_NONE = 0, MT_LAST_FX_BLOCK, MT_LAST_FX_REGION }
 
enum  lives_mt_fx_order_t { FX_ORD_NONE = 0, FX_ORD_BEFORE, FX_ORD_AFTER }
 
enum  lives_mt_block_state_t { BLOCK_UNSELECTED = 0, BLOCK_SELECTED }
 
enum  lives_lmap_error_t {
  LMAP_ERROR_MISSING_CLIP = 1, LMAP_ERROR_CLOSE_FILE = 2, LMAP_ERROR_DELETE_FRAMES = 3, LMAP_ERROR_DELETE_AUDIO = 4,
  LMAP_ERROR_SHIFT_FRAMES = 65, LMAP_ERROR_ALTER_FRAMES = 66, LMAP_ERROR_SHIFT_AUDIO = 67, LMAP_ERROR_ALTER_AUDIO = 68,
  LMAP_INFO_SETNAME_CHANGED = 1024
}
 

Functions

lives_mt * multitrack (weed_plant_t *, int orig_file, double fps)
 create and return lives_mt struct More...
 
void mt_init_tracks (lives_mt *, boolean set_min_max)
 add basic tracks, or set tracks from mt->event_list More...
 
boolean on_multitrack_activate (LiVESMenuItem *menuitem, weed_plant_t *event_list)
 menuitem callback More...
 
void set_mt_colours (lives_mt *)
 
boolean multitrack_delete (lives_mt *, boolean save)
 
void polymorph (lives_mt *, lives_mt_poly_state_t poly)
 
void set_poly_tab (lives_mt *mt, uint32_t tab)
 
void mt_desensitise (lives_mt *)
 
void mt_sensitise (lives_mt *)
 
void set_mt_play_sizes_cfg (lives_mt *)
 
boolean mt_idle_show_current_frame (livespointer mt)
 
boolean show_in_out_images (livespointer mt)
 
void add_aparam_menuitems (lives_mt *)
 
void insert_here_cb (LiVESMenuItem *, livespointer mt)
 
void insert_audio_here_cb (LiVESMenuItem *, livespointer mt)
 
void insert_at_ctx_cb (LiVESMenuItem *, livespointer mt)
 
void insert_audio_at_ctx_cb (LiVESMenuItem *, livespointer mt)
 
void multitrack_end_cb (LiVESMenuItem *, livespointer mt)
 
void delete_block_cb (LiVESMenuItem *, livespointer mt)
 
void selblock_cb (LiVESMenuItem *, livespointer mt)
 
void list_fx_here_cb (LiVESMenuItem *, livespointer mt)
 
void edit_start_end_cb (LiVESMenuItem *, livespointer mt)
 
void close_clip_cb (LiVESMenuItem *, livespointer mt)
 
void show_clipinfo_cb (LiVESMenuItem *, livespointer mt)
 
boolean multitrack_insert (LiVESMenuItem *, livespointer mt)
 
track_rect * move_block (lives_mt *, track_rect *block, double timesecs, int old_track, int new_track)
 
void update_grav_mode (lives_mt *)
 
void update_insert_mode (lives_mt *)
 
boolean on_render_activate (LiVESMenuItem *, livespointer mt)
 
void mt_set_autotrans (int idx)
 
weed_plant_t * add_blank_frames_up_to (weed_plant_t *event_list, weed_plant_t *start_event, ticks_t end_tc, double fps)
 
char * get_track_name (lives_mt *, int track_num, boolean is_audio)
 
void on_cback_audio_activate (LiVESMenuItem *, livespointer mt)
 
LiVESWidget * add_audio_track (lives_mt *, int trackno, boolean behind)
 
int add_video_track_behind (LiVESMenuItem *, livespointer mt)
 
int add_video_track_front (LiVESMenuItem *, livespointer mt)
 
void delete_video_track (lives_mt *, int layer, boolean full)
 
void delete_audio_track (lives_mt *, LiVESWidget *eventbox, boolean full)
 
void delete_audio_tracks (lives_mt *, LiVESList *list, boolean full)
 
void remove_gaps (LiVESMenuItem *, livespointer mt)
 
void remove_first_gaps (LiVESMenuItem *, livespointer mt)
 
void on_insgap_sel_activate (LiVESMenuItem *, livespointer mt)
 
void on_insgap_cur_activate (LiVESMenuItem *, livespointer mt)
 
void on_split_activate (LiVESMenuItem *, livespointer mt)
 
void scroll_tracks (lives_mt *, int top_track, boolean set_value)
 
boolean track_arrow_pressed (LiVESWidget *ahbox, LiVESXEventButton *, livespointer mt)
 
void track_select (lives_mt *)
 must call after setting mt->current_track More...
 
void mt_selection_lock (LiVESMenuItem *, livespointer user_data)
 lock the time selection More...
 
boolean mt_track_is_audio (lives_mt *, int ntrack)
 return TRUE if ntrack is a valid backing audio track More...
 
boolean mt_track_is_video (lives_mt *, int ntrack)
 return TRUE if ntrack is a valid video track More...
 
void mt_do_autotransition (lives_mt *, track_rect *block)
 call this on a block to apply autotransition on it More...
 
void set_track_label_string (lives_mt *mt, int track, const char *label)
 
LiVESWidget * get_eventbox_for_track (lives_mt *mt, int ntrack)
 
void on_rename_track_activate (LiVESMenuItem *menuitem, livespointer mt)
 
boolean on_track_click (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_atrack_click (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_track_header_click (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_track_between_click (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_track_release (LiVESWidget *eventbox, LiVESXEventButton *event, livespointer mt)
 
boolean on_atrack_release (LiVESWidget *eventbox, LiVESXEventButton *event, livespointer mt)
 
boolean on_track_header_release (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_track_between_release (LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
 
boolean on_track_move (LiVESWidget *widget, LiVESXEventMotion *event, livespointer mt)
 
boolean on_track_header_move (LiVESWidget *widget, LiVESXEventMotion *event, livespointer mt)
 
void unselect_all (lives_mt *)
 unselect all blocks More...
 
void insert_frames (int filenum, ticks_t offset_start, ticks_t offset_end, ticks_t tc, lives_direction_t direction, LiVESWidget *eventbox, lives_mt *, track_rect *in_block)
 
void insert_audio (int filenum, ticks_t offset_start, ticks_t offset_end, ticks_t tc, double avel, lives_direction_t direction, LiVESWidget *eventbox, lives_mt *, track_rect *in_block)
 
void on_seltrack_toggled (LiVESWidget *, livespointer mt)
 
void scroll_track_by_scrollbar (LiVESScrollbar *sbar, livespointer mt)
 
void in_out_start_changed (LiVESWidget *, livespointer mt)
 
void in_out_end_changed (LiVESWidget *, livespointer mt)
 
void in_anchor_toggled (LiVESToggleButton *, livespointer mt)
 
void out_anchor_toggled (LiVESToggleButton *, livespointer mt)
 
void avel_reverse_toggled (LiVESToggleButton *, livespointer mt)
 
void avel_spin_changed (LiVESSpinButton *, livespointer mt)
 
track_rect * find_block_by_uid (lives_mt *mt, ulong uid)
 
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 *, int ntrack)
 count blocks in track More...
 
double mt_get_block_sttime (lives_mt *, int ntrack, int iblock)
 return time in seconds of first frame event in block More...
 
double mt_get_block_entime (lives_mt *, int ntrack, int iblock)
 get timeline start time of block 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_track_for_block (track_rect *block)
 return track number for a given block More...
 
int get_clip_for_block (track_rect *block)
 
boolean resize_timeline (lives_mt *)
 
void mt_tl_move (lives_mt *, double pos_abs)
 
void set_timeline_end_secs (lives_mt *, double secs)
 
boolean on_timeline_press (LiVESWidget *, LiVESXEventButton *, livespointer mt)
 
boolean on_timeline_release (LiVESWidget *, LiVESXEventButton *, livespointer mt)
 
boolean on_timeline_update (LiVESWidget *, LiVESXEventMotion *, livespointer mt)
 
void draw_region (lives_mt *mt)
 
boolean mt_mark_callback (LiVESAccelGroup *group, LiVESWidgetObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
void mt_show_current_frame (lives_mt *, boolean return_layer)
 preview the current frame More...
 
void mt_clear_timeline (lives_mt *mt)
 
void mt_zoom_in (LiVESMenuItem *, livespointer mt)
 
void mt_zoom_out (LiVESMenuItem *, livespointer mt)
 
void clear_context (lives_mt *)
 
void add_context_label (lives_mt *, const char *text)
 
void mouse_mode_context (lives_mt *)
 
void do_sel_context (lives_mt *)
 
void do_fx_list_context (lives_mt *, int fxcount)
 
void do_fx_move_context (lives_mt *mt)
 
void multitrack_playall (lives_mt *)
 
void multitrack_play_sel (LiVESMenuItem *, livespointer mt)
 
void animate_multitrack (lives_mt *)
 
void unpaint_line (lives_mt *, LiVESWidget *eventbox)
 
void unpaint_lines (lives_mt *)
 
void mt_prepare_for_playback (lives_mt *)
 
void mt_post_playback (lives_mt *)
 
boolean mt_tcoverlay_callback (LiVESAccelGroup *, LiVESWidgetObject *, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
 
void on_next_node_clicked (LiVESWidget *, livespointer mt)
 
void on_prev_node_clicked (LiVESWidget *, livespointer mt)
 
void on_del_node_clicked (LiVESWidget *, livespointer mt)
 
void on_resetp_clicked (LiVESWidget *, livespointer mt)
 
void on_node_spin_value_changed (LiVESSpinButton *, livespointer mt)
 
double mt_get_effect_time (lives_mt *)
 
void on_frame_preview_clicked (LiVESButton *, livespointer mt)
 
void show_preview (lives_mt *, ticks_t tc)
 
boolean add_mt_param_box (lives_mt *)
 
void redraw_mt_param_box (lives_mt *)
 
weed_plant_t * get_prev_fm (lives_mt *, int current_track, weed_plant_t *frame)
 
weed_plant_t * get_next_fm (lives_mt *, int current_track, weed_plant_t *frame)
 
void on_prev_fm_clicked (LiVESWidget *button, livespointer mt)
 
void on_next_fm_clicked (LiVESWidget *button, livespointer mt)
 
void on_fx_insb_clicked (LiVESWidget *button, livespointer mt)
 
void on_fx_insa_clicked (LiVESWidget *button, livespointer mt)
 
boolean event_list_rectify (lives_mt *, weed_plant_t *event_listy)
 
void * find_init_event_in_ttable (ttable *trans_table, uint64_t in, boolean normal)
 
void reset_renumbering (void)
 
boolean make_backup_space (lives_mt *, size_t space_needed)
 
void activate_mt_preview (lives_mt *)
 sensitize Show Preview and Apply buttons More...
 
void ** mt_get_pchain (void)
 
void event_list_free_undos (lives_mt *)
 
boolean used_in_current_layout (lives_mt *, int file)
 
boolean set_new_set_name (lives_mt *)
 
LiVESPixbuf * make_thumb (lives_mt *mt, int file, int width, int height, int frame, LiVESInterpType interp, boolean noblanks)
 
void free_thumb_cache (int fnum, frames_t fromframe)
 
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...
 
void move_init_in_filter_map (lives_mt *, weed_plant_t *event_list, weed_plant_t *fmap, weed_plant_t *ifrom, weed_plant_t *ito, int track, boolean after)
 
void update_filter_events (lives_mt *, weed_plant_t *first_event, ticks_t start_tc, ticks_t end_tc, int track, ticks_t new_start_tc, int new_track)
 
void mt_fixup_events (lives_mt *, weed_plant_t *old_event, weed_plant_t *new_event)
 
char * get_eload_filename (lives_mt *mt, boolean allow_auto_reload)
 
weed_plant_t * load_event_list (lives_mt *, char *eload_file)
 
boolean on_save_event_list_activate (LiVESMenuItem *, livespointer mt)
 
boolean save_event_list_inner (lives_mt *, int fd, weed_plant_t *event_list, unsigned char **mem)
 
boolean mt_load_recovery_layout (lives_mt *)
 
LiVESList * load_layout_map (void)
 
void add_markers (lives_mt *, weed_plant_t *event_list, boolean add_block_ids)
 
void remove_markers (weed_plant_t *event_list)
 
void save_layout_map (int *lmap, double *lmap_audio, const char *file, const char *dir)
 
void wipe_layout (lives_mt *)
 
void migrate_layouts (const char *old_set_name, const char *new_set_name)
 
LiVESList * layout_frame_is_affected (int clipno, int start, int end, LiVESList *xlays)
 
LiVESList * layout_audio_is_affected (int clipno, double stime, double etime, LiVESList *xlays)
 
boolean check_for_layout_del (lives_mt *, boolean exiting)
 
boolean on_load_event_list_activate (LiVESMenuItem *, livespointer mt)
 
void stored_event_list_free_all (boolean wiped)
 
void stored_event_list_free_undos (void)
 
void remove_current_from_affected_layouts (lives_mt *)
 
void maybe_add_mt_idlefunc (void)
 
uint32_t mt_idle_add (lives_mt *)
 
boolean recover_layout (void)
 
void recover_layout_cancelled (boolean is_startup)
 
boolean write_backup_layout_numbering (lives_mt *)
 
boolean mt_auto_backup (livespointer mt)
 
void amixer_show (LiVESButton *, livespointer mt)
 
void on_amixer_close_clicked (LiVESButton *, lives_mt *mt)
 
LiVESWidget * amixer_add_channel_slider (lives_mt *, int i)
 
void mt_change_disp_tracks_ok (LiVESButton *, livespointer mt)
 
void mt_swap_play_pause (lives_mt *, boolean put_pause)
 
char * set_values_from_defs (lives_mt *, boolean from_prefs)
 
void mt_clip_select (lives_mt *, boolean scroll)
 
void mt_delete_clips (lives_mt *, int file)
 
void mt_init_clips (lives_mt *, int orig_file, boolean add)
 
boolean mt_prevclip (LiVESAccelGroup *, LiVESWidgetObject *, uint32_t keyval, LiVESXModifierType mod, livespointer)
 
boolean mt_nextclip (LiVESAccelGroup *, LiVESWidgetObject *, uint32_t keyval, LiVESXModifierType mod, livespointer)
 

Macro Definition Documentation

◆ AMIXER_HRATIO

#define AMIXER_HRATIO   2. / 3.

audio mixer height ratio (fraction of screen height)

Definition at line 45 of file multitrack.h.

◆ AMIXER_WRATIO

#define AMIXER_WRATIO   2. / 3.

audio mixer width ratio (fraction of screen width)

Definition at line 44 of file multitrack.h.

◆ BLOCK_DRAW_SIMPLE

#define BLOCK_DRAW_SIMPLE   1

Definition at line 51 of file multitrack.h.

◆ BLOCK_DRAW_THUMB

#define BLOCK_DRAW_THUMB   2

Definition at line 52 of file multitrack.h.

◆ BLOCK_DRAW_TYPE

#define BLOCK_DRAW_TYPE   BLOCK_DRAW_THUMB

Definition at line 53 of file multitrack.h.

◆ BLOCK_THUMB_WIDTH

#define BLOCK_THUMB_WIDTH   ((int)(40.*widget_opts.scale))

Definition at line 19 of file multitrack.h.

◆ CLIP_LABEL_LENGTH

#define CLIP_LABEL_LENGTH   ((int)(20.*widget_opts.scale))

Definition at line 17 of file multitrack.h.

◆ CLIP_THUMB_HEIGHT

#define CLIP_THUMB_HEIGHT   ((int)(72.*widget_opts.scale))

Definition at line 15 of file multitrack.h.

◆ CLIP_THUMB_WIDTH

#define CLIP_THUMB_WIDTH   ((int)(72.*widget_opts.scale))

Definition at line 14 of file multitrack.h.

◆ DEF_AUTOTRANS

#define DEF_AUTOTRANS   "simple_blend|chroma blend|salsaman"

Definition at line 59 of file multitrack.h.

◆ DEF_MT_DISP_TRACKS

#define DEF_MT_DISP_TRACKS   5

Definition at line 1041 of file multitrack.h.

◆ DEF_TIME

#define DEF_TIME   120

default seconds when there is no event_list

Definition at line 57 of file multitrack.h.

◆ FX_BLOCK_HEIGHT

#define FX_BLOCK_HEIGHT   ((int)(20.*widget_opts.scale))

Definition at line 31 of file multitrack.h.

◆ FX_BLOCK_WIDTH

#define FX_BLOCK_WIDTH   ((int)(80.*widget_opts.scale))

Definition at line 30 of file multitrack.h.

◆ MAX_AUDIO_TRACKS

#define MAX_AUDIO_TRACKS   65536

Definition at line 1046 of file multitrack.h.

◆ MAX_TRACKS

#define MAX_TRACKS   65536

Definition at line 1044 of file multitrack.h.

◆ MAX_VIDEO_TRACKS

#define MAX_VIDEO_TRACKS   65536

Definition at line 1045 of file multitrack.h.

◆ MENUBAR_MIN

#define MENUBAR_MIN   1024

Definition at line 39 of file multitrack.h.

◆ MT_CTX_HEIGHT

#define MT_CTX_HEIGHT   ((int)(220.*widget_opts.scale))

Definition at line 28 of file multitrack.h.

◆ MT_CTX_WIDTH

#define MT_CTX_WIDTH   ((int)(320.*widget_opts.scale))

Definition at line 27 of file multitrack.h.

◆ MT_INOUT_TIME

#define MT_INOUT_TIME   10000

min milliseconds to save autobackup when changing in / out spins

Definition at line 49 of file multitrack.h.

◆ MT_PLAY_HEIGHT_EXP

#define MT_PLAY_HEIGHT_EXP   ((int)(324.*widget_opts.scale))

Definition at line 25 of file multitrack.h.

◆ MT_PLAY_HEIGHT_SMALL

#define MT_PLAY_HEIGHT_SMALL   ((int)(216.*widget_opts.scale))

Definition at line 22 of file multitrack.h.

◆ MT_PLAY_WIDTH_EXP

#define MT_PLAY_WIDTH_EXP   ((int)(432.*widget_opts.scale))

Definition at line 24 of file multitrack.h.

◆ MT_PLAY_WIDTH_SMALL

#define MT_PLAY_WIDTH_SMALL   ((int)(320.*widget_opts.scale))

Definition at line 21 of file multitrack.h.

◆ MT_TRACK_HEIGHT

#define MT_TRACK_HEIGHT   ((int)(35.*widget_opts.scale))

Definition at line 33 of file multitrack.h.

◆ PEB_HRATIO

#define PEB_HRATIO   3.

preview eventbox height ratio (fraction of screen height)

Definition at line 42 of file multitrack.h.

◆ PEB_WRATIO

#define PEB_WRATIO   3.

preview eventbox width ratio (fraction of screen width)

Definition at line 41 of file multitrack.h.

◆ QUANT_TICKS

#define QUANT_TICKS (   ticks)    ((q_gint64(ticks, mt->fps) / TICKS_PER_SECOND_DBL))

Definition at line 1052 of file multitrack.h.

◆ QUANT_TIME

#define QUANT_TIME (   dbltime)    ((q_gint64(dbltime * TICKS_PER_SECOND_DBL, mt->fps) / TICKS_PER_SECOND_DBL))

Definition at line 1049 of file multitrack.h.

◆ SELBLOCK_ALPHA

#define SELBLOCK_ALPHA   0.6

Definition at line 55 of file multitrack.h.

◆ TIMECODE_LENGTH

#define TIMECODE_LENGTH   14

length of timecode text entry, must be > 12

Definition at line 35 of file multitrack.h.

◆ TIMELINE_TABLE_COLUMNS

#define TIMELINE_TABLE_COLUMNS   40

Definition at line 37 of file multitrack.h.

◆ TRACK_I_HIDDEN_SCROLLED

#define TRACK_I_HIDDEN_SCROLLED   (1<<1)

Definition at line 711 of file multitrack.h.

◆ TRACK_I_HIDDEN_USER

#define TRACK_I_HIDDEN_USER   (1<<0)

Definition at line 710 of file multitrack.h.

Enumeration Type Documentation

◆ lives_lmap_error_t

Enumerator
LMAP_ERROR_MISSING_CLIP 
LMAP_ERROR_CLOSE_FILE 
LMAP_ERROR_DELETE_FRAMES 
LMAP_ERROR_DELETE_AUDIO 
LMAP_ERROR_SHIFT_FRAMES 
LMAP_ERROR_ALTER_FRAMES 
LMAP_ERROR_SHIFT_AUDIO 
LMAP_ERROR_ALTER_AUDIO 
LMAP_INFO_SETNAME_CHANGED 

Definition at line 1015 of file multitrack.h.

◆ lives_mt_block_state_t

Enumerator
BLOCK_UNSELECTED 
BLOCK_SELECTED 

Definition at line 144 of file multitrack.h.

◆ lives_mt_fx_order_t

Enumerator
FX_ORD_NONE 
FX_ORD_BEFORE 
FX_ORD_AFTER 

Definition at line 138 of file multitrack.h.

◆ lives_mt_grav_mode_t

Enumerator
GRAV_MODE_NORMAL 
GRAV_MODE_LEFT 
GRAV_MODE_RIGHT 

Definition at line 84 of file multitrack.h.

◆ lives_mt_insert_mode_t

Enumerator
INSERT_MODE_NORMAL 

the default (only insert if it fits)

INSERT_MODE_OVERWRITE 

overwite existing blocks

INSERT_MODE_FLEX 

stretch first gap to fit block

INSERT_MODE_FILL 

insert enough to fill gap (from selection start or end depending on gravity)

Definition at line 75 of file multitrack.h.

◆ lives_mt_last_fx_type_t

Enumerator
MT_LAST_FX_NONE 
MT_LAST_FX_BLOCK 
MT_LAST_FX_REGION 

Definition at line 132 of file multitrack.h.

◆ lives_mt_mouse_mode_t

Enumerator
MOUSE_MODE_MOVE 
MOUSE_MODE_SELECT 
MOUSE_MODE_COPY 

Definition at line 69 of file multitrack.h.

◆ lives_mt_nb_error_t

Enumerator
NB_ERROR_SEL 
NB_ERROR_NOEFFECT 
NB_ERROR_NOTRANS 
NB_ERROR_NOCOMP 
NB_ERROR_NOCLIP 

Definition at line 113 of file multitrack.h.

◆ lives_mt_poly_state_t

Enumerator
POLY_NONE 
POLY_CLIPS 
POLY_IN_OUT 
POLY_FX_STACK 
POLY_PARAMS 
POLY_EFFECTS 
POLY_TRANS 
POLY_COMP 

Definition at line 121 of file multitrack.h.

◆ lives_mt_undo_t

Enumerator
MT_UNDO_NONE 

no event_list

MT_UNDO_INSERT_BLOCK 
MT_UNDO_INSERT_AUDIO_BLOCK 
MT_UNDO_APPLY_FILTER 
MT_UNDO_DELETE_FILTER 
MT_UNDO_SPLIT 
MT_UNDO_SPLIT_MULTI 
MT_UNDO_FILTER_MAP_CHANGE 
MT_UNDO_DELETE_BLOCK 
MT_UNDO_MOVE_BLOCK 
MT_UNDO_REMOVE_GAPS 
MT_UNDO_DELETE_AUDIO_BLOCK 
MT_UNDO_MOVE_AUDIO_BLOCK 
MT_UNDO_INSERT_GAP 

Definition at line 90 of file multitrack.h.

Function Documentation

◆ activate_mt_preview()

void activate_mt_preview ( lives_mt *  )

sensitize Show Preview and Apply buttons

Definition at line 19400 of file multitrack.c.

◆ add_aparam_menuitems()

void add_aparam_menuitems ( lives_mt *  )

Definition at line 5308 of file multitrack.c.

Referenced by set_interactive().

◆ add_audio_track()

LiVESWidget* add_audio_track ( lives_mt *  ,
int  trackno,
boolean  behind 
)

Definition at line 10166 of file multitrack.c.

Referenced by mt_init_tracks().

◆ add_blank_frames_up_to()

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

◆ add_context_label()

void add_context_label ( lives_mt *  ,
const char *  text 
)

◆ add_markers()

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

Definition at line 19877 of file multitrack.c.

Referenced by multitrack_delete(), and multitrack_undo().

◆ add_mt_param_box()

boolean add_mt_param_box ( lives_mt *  )

Definition at line 1740 of file multitrack.c.

◆ add_video_track_behind()

int add_video_track_behind ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 10523 of file multitrack.c.

Referenced by mt_init_tracks().

◆ add_video_track_front()

int add_video_track_front ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 10533 of file multitrack.c.

◆ amixer_add_channel_slider()

LiVESWidget* amixer_add_channel_slider ( lives_mt *  ,
int  i 
)

Definition at line 22694 of file multitrack.c.

Referenced by add_audio_track(), and amixer_show().

◆ amixer_show()

void amixer_show ( LiVESButton *  ,
livespointer  mt 
)

Definition at line 22757 of file multitrack.c.

Referenced by mt_init_start_end_spins().

◆ animate_multitrack()

void animate_multitrack ( lives_mt *  )

Definition at line 14223 of file multitrack.c.

◆ avel_reverse_toggled()

void avel_reverse_toggled ( LiVESToggleButton *  ,
livespointer  mt 
)

Definition at line 12500 of file multitrack.c.

◆ avel_spin_changed()

void avel_spin_changed ( LiVESSpinButton *  ,
livespointer  mt 
)

Definition at line 12548 of file multitrack.c.

◆ check_for_layout_del()

boolean check_for_layout_del ( lives_mt *  ,
boolean  exiting 
)

◆ clear_context()

void clear_context ( lives_mt *  )

◆ close_clip_cb()

void close_clip_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14266 of file multitrack.c.

◆ 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

Definition at line 20384 of file multitrack.c.

Referenced by get_next_fm(), and get_prev_fm().

◆ delete_audio_track()

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

Definition at line 8993 of file multitrack.c.

Referenced by delete_audio_tracks().

◆ delete_audio_tracks()

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

Definition at line 5986 of file multitrack.c.

Referenced by mt_clear_timeline(), and mt_memory_free().

◆ delete_block_cb()

void delete_block_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14299 of file multitrack.c.

◆ delete_video_track()

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

Definition at line 10121 of file multitrack.c.

Referenced by mt_clear_timeline(), and mt_memory_free().

◆ do_fx_list_context()

void do_fx_list_context ( lives_mt *  ,
int  fxcount 
)

Definition at line 18603 of file multitrack.c.

◆ do_fx_move_context()

void do_fx_move_context ( lives_mt *  mt)

Definition at line 18615 of file multitrack.c.

◆ do_sel_context()

void do_sel_context ( lives_mt *  )

◆ draw_region()

void draw_region ( lives_mt *  mt)

◆ edit_start_end_cb()

void edit_start_end_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14259 of file multitrack.c.

◆ event_list_free_undos()

void event_list_free_undos ( lives_mt *  )

◆ event_list_rectify()

boolean event_list_rectify ( lives_mt *  ,
weed_plant_t *  event_listy 
)

Definition at line 20713 of file multitrack.c.

Referenced by mt_delete_clips().

◆ find_block_by_uid()

track_rect* find_block_by_uid ( lives_mt *  mt,
ulong  uid 
)

Definition at line 23012 of file multitrack.c.

◆ find_init_event_in_ttable()

void* find_init_event_in_ttable ( ttable trans_table,
uint64_t  in,
boolean  normal 
)

reverse lookup for past filter_map check

Definition at line 20253 of file multitrack.c.

◆ free_thumb_cache()

void free_thumb_cache ( int  fnum,
frames_t  fromframe 
)

Definition at line 1148 of file multitrack.c.

Referenced by close_current_file().

◆ 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

Definition at line 23099 of file multitrack.c.

◆ get_clip_for_block()

int get_clip_for_block ( track_rect *  block)

Definition at line 23107 of file multitrack.c.

◆ get_eload_filename()

char* get_eload_filename ( lives_mt *  mt,
boolean  allow_auto_reload 
)

Definition at line 21623 of file multitrack.c.

Referenced by load_event_list().

◆ get_eventbox_for_track()

LiVESWidget* get_eventbox_for_track ( lives_mt *  mt,
int  ntrack 
)

◆ get_next_fm()

weed_plant_t* get_next_fm ( lives_mt *  ,
int  current_track,
weed_plant_t *  frame 
)

Definition at line 18838 of file multitrack.c.

Referenced by on_next_fm_clicked().

◆ get_prev_fm()

weed_plant_t* get_prev_fm ( lives_mt *  ,
int  current_track,
weed_plant_t *  frame 
)

Definition at line 18784 of file multitrack.c.

Referenced by on_prev_fm_clicked().

◆ get_track_for_block()

int get_track_for_block ( track_rect *  block)

return track number for a given block

Definition at line 231 of file multitrack.c.

Referenced by get_clip_for_block(), and mt_do_autotransition().

◆ get_track_name()

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

Definition at line 1038 of file multitrack.c.

Referenced by add_audio_track(), amixer_add_channel_slider(), and on_mt_delfx_activate().

◆ in_anchor_toggled()

void in_anchor_toggled ( LiVESToggleButton *  ,
livespointer  mt 
)

Definition at line 12683 of file multitrack.c.

◆ in_out_end_changed()

void in_out_end_changed ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 12174 of file multitrack.c.

◆ in_out_start_changed()

void in_out_start_changed ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 11897 of file multitrack.c.

◆ insert_at_ctx_cb()

void insert_at_ctx_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14251 of file multitrack.c.

◆ insert_audio()

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

◆ insert_audio_at_ctx_cb()

void insert_audio_at_ctx_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14291 of file multitrack.c.

◆ insert_audio_here_cb()

void insert_audio_here_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14284 of file multitrack.c.

◆ insert_frames()

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

◆ insert_here_cb()

void insert_here_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14244 of file multitrack.c.

◆ layout_audio_is_affected()

LiVESList* layout_audio_is_affected ( int  clipno,
double  stime,
double  etime,
LiVESList *  xlays 
)

Definition at line 22281 of file multitrack.c.

Referenced by on_close_activate(), and recover_layout_map().

◆ layout_frame_is_affected()

LiVESList* layout_frame_is_affected ( int  clipno,
int  start,
int  end,
LiVESList *  xlays 
)

Definition at line 22247 of file multitrack.c.

Referenced by on_close_activate(), and recover_layout_map().

◆ list_fx_here_cb()

void list_fx_here_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14313 of file multitrack.c.

◆ load_event_list()

weed_plant_t* load_event_list ( lives_mt *  ,
char *  eload_file 
)

Definition at line 21693 of file multitrack.c.

Referenced by mt_load_recovery_layout(), and on_load_event_list_activate().

◆ load_layout_map()

LiVESList* load_layout_map ( void  )

Definition at line 19584 of file multitrack.c.

Referenced by recover_layout_map().

◆ make_backup_space()

boolean make_backup_space ( lives_mt *  ,
size_t  space_needed 
)

Definition at line 5157 of file multitrack.c.

◆ make_thumb()

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

Definition at line 405 of file multitrack.c.

◆ maybe_add_mt_idlefunc()

void maybe_add_mt_idlefunc ( void  )

◆ migrate_layouts()

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

Definition at line 22115 of file multitrack.c.

◆ mouse_mode_context()

void mouse_mode_context ( lives_mt *  )

Definition at line 4916 of file multitrack.c.

Referenced by mt_set_autotrans().

◆ move_block()

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

Definition at line 11417 of file multitrack.c.

◆ move_init_in_filter_map()

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

Definition at line 20293 of file multitrack.c.

◆ mt_auto_backup()

boolean mt_auto_backup ( livespointer  mt)

Definition at line 863 of file multitrack.c.

Referenced by mt_idle_add(), pref_factory_int(), and set_new_set_name().

◆ mt_change_disp_tracks_ok()

void mt_change_disp_tracks_ok ( LiVESButton *  ,
livespointer  mt 
)

Definition at line 22314 of file multitrack.c.

◆ mt_clear_timeline()

void mt_clear_timeline ( lives_mt *  mt)

◆ mt_clip_select()

void mt_clip_select ( lives_mt *  ,
boolean  scroll 
)

◆ mt_delete_clips()

void mt_delete_clips ( lives_mt *  ,
int  file 
)

Definition at line 10800 of file multitrack.c.

Referenced by close_current_file().

◆ mt_desensitise()

void mt_desensitise ( lives_mt *  )

◆ mt_do_autotransition()

void mt_do_autotransition ( lives_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 !

Definition at line 23119 of file multitrack.c.

◆ mt_fixup_events()

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

Definition at line 19321 of file multitrack.c.

Referenced by delete_event(), and replace_event().

◆ mt_get_block_count()

int mt_get_block_count ( lives_mt *  ,
int  ntrack 
)

count blocks in track

< no blocks in track

Definition at line 23065 of file multitrack.c.

◆ mt_get_block_entime()

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

get timeline start time of block

get timeline start time of block

< invalid track or block number

Definition at line 23092 of file multitrack.c.

◆ mt_get_block_sttime()

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

return time in seconds of first frame event in block

< invalid track or block number

Definition at line 23084 of file multitrack.c.

◆ mt_get_effect_time()

double mt_get_effect_time ( lives_mt *  )

Definition at line 1735 of file multitrack.c.

Referenced by on_node_spin_value_changed().

◆ 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

Definition at line 23054 of file multitrack.c.

◆ mt_get_pchain()

void** mt_get_pchain ( void  )

Definition at line 1033 of file multitrack.c.

◆ mt_idle_add()

uint32_t mt_idle_add ( lives_mt *  )

◆ mt_idle_show_current_frame()

boolean mt_idle_show_current_frame ( livespointer  mt)

Definition at line 11015 of file multitrack.c.

Referenced by all_config().

◆ mt_init_clips()

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

Definition at line 10859 of file multitrack.c.

Referenced by after_foreign_play(), and do_effect().

◆ mt_init_tracks()

void mt_init_tracks ( lives_mt *  ,
boolean  set_min_max 
)

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

Definition at line 9679 of file multitrack.c.

Referenced by mt_clear_timeline(), mt_delete_clips(), and mt_load_recovery_layout().

◆ mt_load_recovery_layout()

boolean mt_load_recovery_layout ( lives_mt *  )

Definition at line 941 of file multitrack.c.

Referenced by recover_layout(), and render_choice_idle().

◆ mt_mark_callback()

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

Definition at line 18883 of file multitrack.c.

◆ mt_nextclip()

boolean mt_nextclip ( LiVESAccelGroup *  ,
LiVESWidgetObject *  ,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer   
)

Definition at line 3107 of file multitrack.c.

Referenced by on_mouse_scroll().

◆ mt_post_playback()

void mt_post_playback ( lives_mt *  )

Definition at line 17284 of file multitrack.c.

◆ mt_prepare_for_playback()

void mt_prepare_for_playback ( lives_mt *  )

Definition at line 17259 of file multitrack.c.

◆ mt_prevclip()

boolean mt_prevclip ( LiVESAccelGroup *  ,
LiVESWidgetObject *  ,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer   
)

Definition at line 3096 of file multitrack.c.

Referenced by mt_delete_clips(), and on_mouse_scroll().

◆ mt_selection_lock()

void mt_selection_lock ( LiVESMenuItem *  ,
livespointer  user_data 
)

lock the time selection

Definition at line 16863 of file multitrack.c.

◆ mt_sensitise()

void mt_sensitise ( lives_mt *  )

◆ mt_set_autotrans()

void mt_set_autotrans ( int  idx)

Definition at line 6080 of file multitrack.c.

◆ mt_show_current_frame()

void mt_show_current_frame ( lives_mt *  ,
boolean  return_layer 
)

preview the current frame

NOTE: this will show the current frame WITHOUT any currently unapplied effects

we want to preview the (first) output layer

release the ref from rte_keymode_get_instance()

restore original mainw->frame_layer

Definition at line 3214 of file multitrack.c.

Referenced by activate_mt_preview(), on_del_node_clicked(), on_sepwin_activate(), pref_change_images(), and pref_factory_bool().

◆ mt_swap_play_pause()

void mt_swap_play_pause ( lives_mt *  ,
boolean  put_pause 
)

Definition at line 17206 of file multitrack.c.

◆ mt_tcoverlay_callback()

boolean mt_tcoverlay_callback ( LiVESAccelGroup *  ,
LiVESWidgetObject *  ,
uint32_t  keyval,
LiVESXModifierType  mod,
livespointer  user_data 
)

Definition at line 18897 of file multitrack.c.

◆ mt_tl_move()

void mt_tl_move ( lives_mt *  ,
double  pos_abs 
)

◆ mt_track_is_audio()

boolean mt_track_is_audio ( lives_mt *  ,
int  ntrack 
)

return TRUE if ntrack is a valid backing audio track

Definition at line 23048 of file multitrack.c.

Referenced by get_eventbox_for_track().

◆ mt_track_is_video()

boolean mt_track_is_video ( lives_mt *  ,
int  ntrack 
)

return TRUE if ntrack is a valid video track

Definition at line 23042 of file multitrack.c.

Referenced by get_eventbox_for_track().

◆ mt_zoom_in()

void mt_zoom_in ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 4419 of file multitrack.c.

Referenced by on_mouse_scroll().

◆ mt_zoom_out()

void mt_zoom_out ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 4429 of file multitrack.c.

Referenced by on_mouse_scroll().

◆ multitrack()

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

create and return lives_mt struct

the autotransitions menu

apply block effect menu

None autotransition

Definition at line 6448 of file multitrack.c.

Referenced by idle_move_block().

◆ multitrack_delete()

boolean multitrack_delete ( lives_mt *  ,
boolean  save 
)

Definition at line 9204 of file multitrack.c.

Referenced by recover_layout(), render_choice_idle(), and resize_widgets_for_monitor().

◆ multitrack_end_cb()

void multitrack_end_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14237 of file multitrack.c.

◆ multitrack_insert()

boolean multitrack_insert ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 17480 of file multitrack.c.

Referenced by insert_at_ctx_cb(), and insert_here_cb().

◆ multitrack_play_sel()

void multitrack_play_sel ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 17449 of file multitrack.c.

Referenced by _start_playback(), and play_all().

◆ multitrack_playall()

void multitrack_playall ( lives_mt *  )

Definition at line 17345 of file multitrack.c.

Referenced by multitrack_play_sel(), multitrack_preview_clicked(), and play_all().

◆ on_amixer_close_clicked()

void on_amixer_close_clicked ( LiVESButton *  ,
lives_mt *  mt 
)

Definition at line 22536 of file multitrack.c.

Referenced by amixer_show(), and mt_clear_timeline().

◆ on_atrack_click()

boolean on_atrack_click ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

◆ on_atrack_release()

boolean on_atrack_release ( LiVESWidget *  eventbox,
LiVESXEventButton *  event,
livespointer  mt 
)

◆ on_cback_audio_activate()

void on_cback_audio_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 16071 of file multitrack.c.

◆ on_del_node_clicked()

void on_del_node_clicked ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 19235 of file multitrack.c.

◆ on_frame_preview_clicked()

void on_frame_preview_clicked ( LiVESButton *  ,
livespointer  mt 
)

◆ on_fx_insa_clicked()

void on_fx_insa_clicked ( LiVESWidget *  button,
livespointer  mt 
)

Definition at line 18907 of file multitrack.c.

◆ on_fx_insb_clicked()

void on_fx_insb_clicked ( LiVESWidget *  button,
livespointer  mt 
)

Definition at line 18920 of file multitrack.c.

◆ on_insgap_cur_activate()

void on_insgap_cur_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 15029 of file multitrack.c.

◆ on_insgap_sel_activate()

void on_insgap_sel_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14982 of file multitrack.c.

◆ on_load_event_list_activate()

boolean on_load_event_list_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 22045 of file multitrack.c.

◆ on_multitrack_activate()

boolean on_multitrack_activate ( LiVESMenuItem *  menuitem,
weed_plant_t *  event_list 
)

menuitem callback

Definition at line 11024 of file multitrack.c.

Referenced by recover_layout(), resize_widgets_for_monitor(), and splash_end().

◆ on_next_fm_clicked()

void on_next_fm_clicked ( LiVESWidget *  button,
livespointer  mt 
)

Definition at line 18950 of file multitrack.c.

◆ on_next_node_clicked()

void on_next_node_clicked ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 19207 of file multitrack.c.

◆ on_node_spin_value_changed()

void on_node_spin_value_changed ( LiVESSpinButton *  ,
livespointer  mt 
)

◆ on_prev_fm_clicked()

void on_prev_fm_clicked ( LiVESWidget *  button,
livespointer  mt 
)

Definition at line 18933 of file multitrack.c.

◆ on_prev_node_clicked()

void on_prev_node_clicked ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 19221 of file multitrack.c.

◆ on_rename_track_activate()

void on_rename_track_activate ( LiVESMenuItem *  menuitem,
livespointer  mt 
)

Definition at line 16037 of file multitrack.c.

◆ on_render_activate()

boolean on_render_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

disable playback optimisations

Definition at line 16078 of file multitrack.c.

Referenced by on_prerender_aud_activate().

◆ on_resetp_clicked()

void on_resetp_clicked ( LiVESWidget *  ,
livespointer  mt 
)

create new in_params with default vals.

set params to the default value, and if any change we'll sensitize the "Apply Button"

if param is "value_per_channel", leave the other channels unaltered

Definition at line 19140 of file multitrack.c.

◆ on_save_event_list_activate()

boolean on_save_event_list_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 19990 of file multitrack.c.

Referenced by check_for_layout_del(), and on_clear_event_list_activate().

◆ on_seltrack_toggled()

void on_seltrack_toggled ( LiVESWidget *  ,
livespointer  mt 
)

Definition at line 16962 of file multitrack.c.

Referenced by on_seltrack_activate().

◆ on_split_activate()

void on_split_activate ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 16552 of file multitrack.c.

◆ on_timeline_press()

boolean on_timeline_press ( LiVESWidget *  ,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 18739 of file multitrack.c.

◆ on_timeline_release()

boolean on_timeline_release ( LiVESWidget *  ,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 18622 of file multitrack.c.

◆ on_timeline_update()

boolean on_timeline_update ( LiVESWidget *  ,
LiVESXEventMotion *  ,
livespointer  mt 
)

Definition at line 18460 of file multitrack.c.

◆ on_track_between_click()

boolean on_track_between_click ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 13947 of file multitrack.c.

◆ on_track_between_release()

boolean on_track_between_release ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 13958 of file multitrack.c.

◆ on_track_click()

boolean on_track_click ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 13969 of file multitrack.c.

◆ on_track_header_click()

boolean on_track_header_click ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 13925 of file multitrack.c.

◆ on_track_header_move()

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

Definition at line 14121 of file multitrack.c.

◆ on_track_header_release()

boolean on_track_header_release ( LiVESWidget *  eventbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 13936 of file multitrack.c.

◆ on_track_move()

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

Definition at line 14112 of file multitrack.c.

◆ on_track_release()

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

Definition at line 13773 of file multitrack.c.

◆ out_anchor_toggled()

void out_anchor_toggled ( LiVESToggleButton *  ,
livespointer  mt 
)

Definition at line 12729 of file multitrack.c.

◆ polymorph()

void polymorph ( lives_mt *  ,
lives_mt_poly_state_t  poly 
)

◆ recover_layout()

boolean recover_layout ( void  )

Definition at line 1010 of file multitrack.c.

Referenced by do_layout_recover_dialog().

◆ recover_layout_cancelled()

void recover_layout_cancelled ( boolean  is_startup)

◆ redraw_mt_param_box()

void redraw_mt_param_box ( lives_mt *  )

◆ remove_current_from_affected_layouts()

void remove_current_from_affected_layouts ( lives_mt *  )

◆ remove_first_gaps()

void remove_first_gaps ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14640 of file multitrack.c.

Referenced by multitrack_audio_insert(), and multitrack_insert().

◆ remove_gaps()

void remove_gaps ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14648 of file multitrack.c.

◆ remove_markers()

void remove_markers ( weed_plant_t *  event_list)

Definition at line 21918 of file multitrack.c.

Referenced by mt_load_recovery_layout().

◆ reset_renumbering()

void reset_renumbering ( void  )

Definition at line 9646 of file multitrack.c.

◆ resize_timeline()

boolean resize_timeline ( lives_mt *  )

Definition at line 11721 of file multitrack.c.

Referenced by pref_change_xcolours().

◆ save_event_list_inner()

boolean save_event_list_inner ( lives_mt *  ,
int  fd,
weed_plant_t *  event_list,
unsigned char **  mem 
)

Definition at line 252 of file multitrack.c.

Referenced by backup_recording(), and multitrack_delete().

◆ save_layout_map()

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

Definition at line 19714 of file multitrack.c.

Referenced by on_lerrors_clear_clicked(), and remove_layout_files().

◆ scroll_track_by_scrollbar()

void scroll_track_by_scrollbar ( LiVESScrollbar *  sbar,
livespointer  mt 
)

Definition at line 3650 of file multitrack.c.

◆ scroll_tracks()

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

◆ selblock_cb()

void selblock_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14306 of file multitrack.c.

Referenced by do_block_context().

◆ set_mt_colours()

void set_mt_colours ( lives_mt *  )

TODO: clearly an array would be better

Definition at line 6148 of file multitrack.c.

Referenced by pref_change_colours(), and pref_change_xcolours().

◆ set_mt_play_sizes_cfg()

void set_mt_play_sizes_cfg ( lives_mt *  )

Definition at line 5516 of file multitrack.c.

Referenced by mt_show_current_frame().

◆ set_new_set_name()

boolean set_new_set_name ( lives_mt *  )

Definition at line 19944 of file multitrack.c.

◆ set_poly_tab()

void set_poly_tab ( lives_mt *  mt,
uint32_t  tab 
)

Definition at line 3962 of file multitrack.c.

◆ set_timeline_end_secs()

void set_timeline_end_secs ( lives_mt *  ,
double  secs 
)

Definition at line 3134 of file multitrack.c.

Referenced by resize_timeline().

◆ set_track_label_string()

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

Definition at line 10366 of file multitrack.c.

◆ set_values_from_defs()

char* set_values_from_defs ( lives_mt *  ,
boolean  from_prefs 
)

Definition at line 5768 of file multitrack.c.

Referenced by mt_change_vals_activate(), and mt_clear_timeline().

◆ show_clipinfo_cb()

void show_clipinfo_cb ( LiVESMenuItem *  ,
livespointer  mt 
)

Definition at line 14273 of file multitrack.c.

◆ show_in_out_images()

boolean show_in_out_images ( livespointer  mt)

Definition at line 11878 of file multitrack.c.

Referenced by all_config().

◆ show_preview()

void show_preview ( lives_mt *  ,
ticks_t  tc 
)

◆ stored_event_list_free_all()

void stored_event_list_free_all ( boolean  wiped)

Definition at line 5897 of file multitrack.c.

Referenced by check_for_layout_del(), lives_exit(), and remove_layout_files().

◆ stored_event_list_free_undos()

void stored_event_list_free_undos ( void  )

◆ track_arrow_pressed()

boolean track_arrow_pressed ( LiVESWidget *  ahbox,
LiVESXEventButton *  ,
livespointer  mt 
)

Definition at line 2807 of file multitrack.c.

◆ track_select()

void track_select ( lives_mt *  )

must call after setting mt->current_track

Definition at line 1941 of file multitrack.c.

Referenced by on_cback_audio_activate(), on_seltrack_toggled(), pref_change_colours(), and scroll_track_by_scrollbar().

◆ unpaint_line()

void unpaint_line ( lives_mt *  ,
LiVESWidget *  eventbox 
)

Definition at line 14130 of file multitrack.c.

Referenced by unpaint_lines().

◆ unpaint_lines()

void unpaint_lines ( lives_mt *  )

Definition at line 14150 of file multitrack.c.

Referenced by on_sepwin_activate().

◆ unselect_all()

void unselect_all ( lives_mt *  )

unselect all blocks

Definition at line 11620 of file multitrack.c.

Referenced by mt_clear_timeline(), and multitrack_adj_start_end().

◆ update_filter_events()

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

◆ update_grav_mode()

void update_grav_mode ( lives_mt *  )

Definition at line 5012 of file multitrack.c.

◆ update_insert_mode()

void update_insert_mode ( lives_mt *  )

Definition at line 4946 of file multitrack.c.

◆ used_in_current_layout()

boolean used_in_current_layout ( lives_mt *  ,
int  file 
)

Definition at line 9180 of file multitrack.c.

Referenced by mt_delete_clips(), and on_close_activate().

◆ wipe_layout()

void wipe_layout ( lives_mt *  )

Definition at line 21936 of file multitrack.c.

Referenced by on_clear_event_list_activate(), and resize_widgets_for_monitor().

◆ write_backup_layout_numbering()

boolean write_backup_layout_numbering ( lives_mt *  )

Definition at line 668 of file multitrack.c.

Referenced by add_to_recovery_file(), and rewrite_recovery_file().