Data Structures |
| struct | mt_opts |
| struct | lives_mt |
| struct | mt_undo |
| struct | lives_amixer_t |
| struct | track_rect |
| struct | ttable |
| struct | layout_map |
Defines |
| #define | CLIP_THUMB_WIDTH 72 |
| #define | CLIP_THUMB_HEIGHT 72 |
| #define | CLIP_LABEL_LENGTH 20 |
| #define | BLOCK_THUMB_WIDTH 40 |
| #define | BLOCK_DRAW_SIMPLE 1 |
| #define | BLOCK_DRAW_THUMB 2 |
| #define | BLOCK_DRAW_TYPE BLOCK_DRAW_THUMB |
| #define | MT_PLAY_WIDTH_SMALL 320 |
| #define | MT_PLAY_HEIGHT_SMALL 216 |
| #define | MT_PLAY_WIDTH_EXP 480 |
| #define | MT_PLAY_HEIGHT_EXP 360 |
| #define | MT_CTX_WIDTH 320 |
| #define | MT_CTX_HEIGHT 220 |
| #define | FX_BLOCK_WIDTH 80 |
| #define | FX_BLOCK_HEIGHT 20 |
| #define | TIMECODE_LENGTH 14 |
| | length of timecode text entry, must be >12
|
| #define | DEF_TIME 120 |
| | default seconds when there is no event_list
|
| #define | MT_BORDER_WIDTH 20 |
| | width border for window
|
| #define | IN_OUT_SEP 10 |
| | min pixel separation for in/out images in poly_box (per image)
|
| #define | MAX_DISP_VTRACKS 5 |
| #define | TRACK_I_HIDDEN_USER (1<<0) |
| #define | TRACK_I_HIDDEN_SCROLLED (1<<1) |
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_EXPAND,
INSERT_MODE_FILL_START,
INSERT_MODE_FILL_END
} |
| 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_EFFECTS,
POLY_TRANS,
POLY_COMP,
POLY_PARAMS
} |
| enum | lives_direction_t { DIRECTION_NEGATIVE,
DIRECTION_POSITIVE
} |
| 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 *, gint orig_file, gdouble fps) |
| | create and return lives_mt struct
|
| void | mt_init_tracks (lives_mt *, gboolean set_min_max) |
| | add basic tracks, or set tracks from mt->event_list
|
| gboolean | on_multitrack_activate (GtkMenuItem *menuitem, weed_plant_t *event_list) |
| | menuitem callback
|
| gboolean | multitrack_delete (lives_mt *, gboolean save) |
| void | polymorph (lives_mt *, lives_mt_poly_state_t poly) |
| void | mt_desensitise (lives_mt *) |
| void | mt_sensitise (lives_mt *) |
| void | insert_here_cb (GtkMenuItem *, gpointer mt) |
| void | insert_audio_here_cb (GtkMenuItem *, gpointer mt) |
| void | insert_at_ctx_cb (GtkMenuItem *, gpointer mt) |
| void | insert_audio_at_ctx_cb (GtkMenuItem *, gpointer mt) |
| void | multitrack_end_cb (GtkMenuItem *, gpointer mt) |
| void | delete_block_cb (GtkMenuItem *, gpointer mt) |
| void | selblock_cb (GtkMenuItem *, gpointer mt) |
| void | list_fx_here_cb (GtkMenuItem *, gpointer mt) |
| void | edit_start_end_cb (GtkMenuItem *, gpointer mt) |
| void | close_clip_cb (GtkMenuItem *, gpointer mt) |
| void | show_clipinfo_cb (GtkMenuItem *, gpointer mt) |
| void | on_add_video_track_activate (GtkMenuItem *, gpointer mt) |
| void | multitrack_insert (GtkMenuItem *, gpointer mt) |
| void | multitrack_adj_start_end (GtkMenuItem *, gpointer mt) |
| void | multitrack_audio_insert (GtkMenuItem *, gpointer mt) |
| void | multitrack_view_events (GtkMenuItem *, gpointer mt) |
| void | multitrack_view_sel_events (GtkMenuItem *, gpointer mt) |
| void | on_render_activate (GtkMenuItem *, gpointer mt) |
| void | on_prerender_aud_activate (GtkMenuItem *, gpointer mt) |
| void | on_jumpnext_activate (GtkMenuItem *, gpointer mt) |
| void | on_jumpback_activate (GtkMenuItem *, gpointer mt) |
| void | on_delblock_activate (GtkMenuItem *, gpointer mt) |
| void | on_seltrack_activate (GtkMenuItem *, gpointer mt) |
| void | multitrack_view_details (GtkMenuItem *, gpointer mt) |
| void | mt_add_region_effect (GtkMenuItem *, gpointer mt) |
| void | mt_add_block_effect (GtkMenuItem *, gpointer mt) |
| void | on_save_event_list_activate (GtkMenuItem *, gpointer mt) |
| void | on_load_event_list_activate (GtkMenuItem *, gpointer mt) |
| void | on_clear_event_list_activate (GtkMenuItem *, gpointer mt) |
| void | show_frame_events_activate (GtkMenuItem *, gpointer) |
| void | mt_save_vals_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_load_vals_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_render_vid_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_render_aud_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_fplay_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_change_vals_activate (GtkMenuItem *, gpointer mt) |
| void | on_set_pvals_clicked (GtkWidget *button, gpointer mt) |
| void | on_move_fx_changed (GtkMenuItem *, gpointer mt) |
| void | select_all_time (GtkMenuItem *, gpointer mt) |
| void | select_from_zero_time (GtkMenuItem *, gpointer mt) |
| void | select_to_end_time (GtkMenuItem *, gpointer mt) |
| void | select_all_vid (GtkMenuItem *, gpointer mt) |
| void | select_no_vid (GtkMenuItem *, gpointer mt) |
| void | on_split_sel_activate (GtkMenuItem *, gpointer mt) |
| void | on_split_curr_activate (GtkMenuItem *, gpointer mt) |
| void | multitrack_undo (GtkMenuItem *, gpointer mt) |
| void | multitrack_redo (GtkMenuItem *, gpointer mt) |
| void | on_mt_showkeys_activate (GtkMenuItem *, gpointer) |
| void | on_mt_list_fx_activate (GtkMenuItem *, gpointer mt) |
| void | on_mt_delfx_activate (GtkMenuItem *, gpointer mt) |
| void | on_mt_fx_edit_activate (GtkMenuItem *, gpointer mt) |
| void | mt_view_audio_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_view_ctx_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_ign_ins_sel_toggled (GtkMenuItem *, gpointer mt) |
| void | mt_change_max_disp_tracks (GtkMenuItem *, gpointer mt) |
| weed_plant_t * | add_blank_frames_up_to (weed_plant_t *event_list, weed_plant_t *start_event, weed_timecode_t end_tc, gdouble fps) |
| void | on_cback_audio_activate (GtkMenuItem *, gpointer mt) |
| GtkWidget * | add_audio_track (lives_mt *, gint trackno, gboolean behind) |
| void | add_video_track_behind (GtkMenuItem *, gpointer mt) |
| void | add_video_track_front (GtkMenuItem *, gpointer mt) |
| void | delete_video_track (lives_mt *, gint layer, gboolean full) |
| void | delete_audio_track (lives_mt *, GtkWidget *eventbox, gboolean full) |
| void | delete_audio_tracks (lives_mt *, GList *list, gboolean full) |
| void | remove_gaps (GtkMenuItem *, gpointer mt) |
| void | remove_first_gaps (GtkMenuItem *, gpointer mt) |
| void | on_insgap_sel_activate (GtkMenuItem *, gpointer mt) |
| void | on_insgap_cur_activate (GtkMenuItem *, gpointer mt) |
| void | on_split_activate (GtkMenuItem *, gpointer mt) |
| void | scroll_tracks (lives_mt *, gint top_track) |
| gboolean | track_arrow_pressed (GtkWidget *ahbox, GdkEventButton *, gpointer mt) |
| void | track_select (lives_mt *) |
| | must call after setting mt->current_track
|
| gboolean | mt_track_is_audio (lives_mt *, int ntrack) |
| | return TRUE if ntrack is a valid backing audio track
|
| gboolean | mt_track_is_video (lives_mt *, int ntrack) |
| | return TRUE if ntrack is a valid video track
|
| void | mt_do_autotransition (lives_mt *, track_rect *block) |
| | call this on a block to apply autotransition on it
|
| gboolean | on_track_click (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_atrack_click (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_track_header_click (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_track_between_click (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_track_release (GtkWidget *eventbox, GdkEventButton *event, gpointer mt) |
| gboolean | on_atrack_release (GtkWidget *eventbox, GdkEventButton *event, gpointer mt) |
| gboolean | on_track_header_release (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_track_between_release (GtkWidget *eventbox, GdkEventButton *, gpointer mt) |
| gboolean | on_track_move (GtkWidget *widget, GdkEventMotion *event, gpointer mt) |
| gboolean | on_track_header_move (GtkWidget *widget, GdkEventMotion *event, gpointer mt) |
| void | unselect_all (lives_mt *) |
| | unselect all blocks
|
| void | insert_frames (gint filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc, lives_direction_t direction, GtkWidget *eventbox, lives_mt *, track_rect *in_block) |
| void | insert_audio (gint filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc, gdouble avel, lives_direction_t direction, GtkWidget *eventbox, lives_mt *, track_rect *in_block) |
| void | on_seltrack_toggled (GtkWidget *, gpointer mt) |
| void | scroll_track_by_scrollbar (GtkVScrollbar *sbar, gpointer mt) |
| void | in_out_start_changed (GtkWidget *, gpointer mt) |
| void | in_out_end_changed (GtkWidget *, gpointer mt) |
| void | in_anchor_toggled (GtkToggleButton *, gpointer mt) |
| void | out_anchor_toggled (GtkToggleButton *, gpointer mt) |
| void | avel_reverse_toggled (GtkToggleButton *, gpointer mt) |
| void | avel_spin_changed (GtkSpinButton *, gpointer mt) |
| gint | mt_get_last_block_number (lives_mt *, int ntrack) |
| | get index of last inserted (wallclock time) block for track
|
| gint | mt_get_block_count (lives_mt *, int ntrack) |
| | count blocks in track
|
| gdouble | mt_get_block_sttime (lives_mt *, int ntrack, int iblock) |
| | return time in seconds of first frame event in block
|
| gdouble | mt_get_block_entime (lives_mt *, int ntrack, int iblock) |
| | get timeline start time of block
|
| void | mt_tl_move (lives_mt *, gdouble pos_rel) |
| | get timeline end time of block
|
| void | set_timeline_end_secs (lives_mt *, gdouble secs) |
| gboolean | on_timeline_press (GtkWidget *, GdkEventButton *, gpointer mt) |
| gboolean | on_timeline_release (GtkWidget *, GdkEventButton *, gpointer mt) |
| gboolean | on_timeline_update (GtkWidget *, GdkEventMotion *, gpointer mt) |
| gint | expose_timeline_reg_event (GtkWidget *, GdkEventExpose *, gpointer mt) |
| gint | mt_expose_laudtrack_event (GtkWidget *ebox, GdkEventExpose *, gpointer mt) |
| gint | mt_expose_raudtrack_event (GtkWidget *ebox, GdkEventExpose *, gpointer mt) |
| void | draw_region (lives_mt *mt) |
| void | tc_to_rs (GtkMenuItem *, gpointer mt) |
| void | tc_to_re (GtkMenuItem *, gpointer mt) |
| void | rs_to_tc (GtkMenuItem *, gpointer mt) |
| void | re_to_tc (GtkMenuItem *, gpointer mt) |
| gboolean | mt_mark_callback (GtkAccelGroup *group, GObject *obj, guint keyval, GdkModifierType mod, gpointer user_data) |
| void | multitrack_clear_marks (GtkMenuItem *, gpointer mt) |
| void | mt_show_current_frame (lives_mt *) |
| | preview th current frame (non-effects mode)
|
| void | mt_clear_timeline (lives_mt *mt) |
| void | clear_context (lives_mt *) |
| void | add_context_label (lives_mt *, const gchar *text) |
| void | mouse_mode_context (lives_mt *) |
| void | do_sel_context (lives_mt *) |
| void | do_fx_list_context (lives_mt *, gint fxcount) |
| void | do_fx_move_context (lives_mt *mt) |
| void | multitrack_playall (lives_mt *) |
| void | multitrack_play_sel (GtkMenuItem *, gpointer mt) |
| void | animate_multitrack (lives_mt *) |
| void | unpaint_line (lives_mt *, GtkWidget *eventbox) |
| void | unpaint_lines (lives_mt *) |
| void | mt_prepare_for_playback (lives_mt *) |
| void | mt_post_playback (lives_mt *) |
| void | on_next_node_clicked (GtkWidget *, gpointer mt) |
| void | on_prev_node_clicked (GtkWidget *, gpointer mt) |
| void | on_del_node_clicked (GtkWidget *, gpointer mt) |
| void | on_node_spin_value_changed (GtkSpinButton *, gpointer mt) |
| gdouble | mt_get_effect_time (lives_mt *) |
| void | on_frame_preview_clicked (GtkButton *, gpointer mt) |
| void | show_preview (lives_mt *, weed_timecode_t tc) |
| weed_plant_t * | get_prev_fm (lives_mt *, gint current_track, weed_plant_t *frame) |
| weed_plant_t * | get_next_fm (lives_mt *, gint current_track, weed_plant_t *frame) |
| void | on_prev_fm_clicked (GtkWidget *button, gpointer user_data) |
| void | on_next_fm_clicked (GtkWidget *button, gpointer user_data) |
| void | on_fx_insb_clicked (GtkWidget *button, gpointer user_data) |
| void | on_fx_insa_clicked (GtkWidget *button, gpointer user_data) |
| guint | event_list_get_byte_size (lives_mt *mt, weed_plant_t *event_list, int *num_events) |
| | returns bytes and sets num_events
|
| gboolean | event_list_rectify (lives_mt *, weed_plant_t *event_listy) |
| gboolean | make_backup_space (lives_mt *, size_t space_needed) |
| void | activate_mt_preview (lives_mt *) |
| | sensitize Show Preview and Apply buttons
|
| void ** | mt_get_pchain (void) |
| void | event_list_free_undos (lives_mt *) |
| gboolean | used_in_current_layout (lives_mt *, gint file) |
| gboolean | compare_filter_maps (weed_plant_t *fm1, weed_plant_t *fm2, gint ctrack) |
| | ctrack can be -1 to compare all events, else we cf for ctrack
|
| void | move_init_in_filter_map (lives_mt *mt, weed_plant_t *event_list, weed_plant_t *fmap, weed_plant_t *ifrom, weed_plant_t *ito, gint track, gboolean after) |
| void | update_filter_events (lives_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 | mt_fixup_events (lives_mt *, weed_plant_t *old_event, weed_plant_t *new_event) |
| weed_plant_t * | load_event_list (lives_mt *, gchar *eload_file) |
| GList * | load_layout_map (void) |
| void | add_markers (lives_mt *, weed_plant_t *event_list) |
| void | remove_markers (weed_plant_t *event_list) |
| void | save_layout_map (int *lmap, double *lmap_audio, const gchar *file, const gchar *dir) |
| void | wipe_layout (lives_mt *) |
| void | migrate_layouts (const gchar *old_set_name, const gchar *new_set_name) |
| GList * | layout_frame_is_affected (gint clipno, gint frame) |
| GList * | layout_audio_is_affected (gint clipno, gdouble time) |
| gboolean | check_for_layout_del (lives_mt *, gboolean exiting) |
| void | stored_event_list_free_all (gboolean wiped) |
| void | stored_event_list_free_undos (void) |
| void | remove_current_from_affected_layouts (lives_mt *) |
| guint | mt_idle_add (lives_mt *) |
| void | recover_layout (GtkButton *, gpointer) |
| void | recover_layout_cancelled (GtkButton *, gpointer user_data) |
| void | write_backup_layout_numbering (lives_mt *) |
| void | mouse_select_end (GtkWidget *, lives_mt *) |
| void | amixer_show (GtkButton *, gpointer mt) |
| void | on_amixer_close_clicked (GtkButton *, lives_mt *mt) |
| GtkWidget * | amixer_add_channel_slider (lives_mt *, gint i) |
| void | mt_change_disp_tracks_ok (GtkButton *, gpointer user_data) |
| void | mt_swap_play_pause (lives_mt *, gboolean put_pause) |
| gchar * | set_values_from_defs (lives_mt *, gboolean from_prefs) |
| void | mt_clip_select (lives_mt *, gboolean scroll) |
| void | mt_delete_clips (lives_mt *, gint file) |
| void | mt_init_clips (lives_mt *, gint orig_file, gboolean add) |