9 #ifndef HAS_LIVES_MULTITRACK_H
10 #define HAS_LIVES_MULTITRACK_H
16 #define CLIP_THUMB_WIDTH ((int)(72.*widget_opts.scale))
17 #define CLIP_THUMB_HEIGHT ((int)(72.*widget_opts.scale))
19 #define CLIP_LABEL_LENGTH ((int)(20.*widget_opts.scale))
21 #define BLOCK_THUMB_WIDTH ((int)(40.*widget_opts.scale))
23 #define MT_PLAY_WIDTH_SMALL ((int)(320.*widget_opts.scale))
24 #define MT_PLAY_HEIGHT_SMALL ((int)(216.*widget_opts.scale))
26 #define MT_PLAY_WIDTH_EXP ((int)(432.*widget_opts.scale))
27 #define MT_PLAY_HEIGHT_EXP ((int)(324.*widget_opts.scale))
29 #define MT_CTX_WIDTH ((int)(320.*widget_opts.scale))
30 #define MT_CTX_HEIGHT ((int)(220.*widget_opts.scale))
32 #define FX_BLOCK_WIDTH ((int)(80.*widget_opts.scale))
33 #define FX_BLOCK_HEIGHT ((int)(20.*widget_opts.scale))
35 #define MT_TRACK_HEIGHT ((int)(25.*widget_opts.scale))
37 #define TIMECODE_LENGTH 14
39 #define TIMELINE_TABLE_COLUMNS 40
41 #define MENUBAR_MIN 1024
45 #define BLOCK_DRAW_SIMPLE 1
46 #define BLOCK_DRAW_THUMB 2
47 #define BLOCK_DRAW_TYPE BLOCK_DRAW_THUMB
51 typedef struct _mt lives_mt;
390 LiVESWidget *open_loc_menu;
392 #ifdef ENABLE_DVD_GRAB
393 LiVESWidget *vcd_dvd_menu;
396 LiVESWidget *device_menu;
679 #define TRACK_I_HIDDEN_USER (1<<0)
680 #define TRACK_I_HIDDEN_SCROLLED (1<<1)
730 lives_mt *
multitrack(weed_plant_t *,
int orig_file,
double fps);
756 void selblock_cb(LiVESMenuItem *, livespointer mt);
763 track_rect *
move_block(lives_mt *, track_rect *block,
double timesecs,
int old_track,
int new_track);
775 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);
785 void remove_gaps(LiVESMenuItem *, livespointer mt);
790 void scroll_tracks(lives_mt *,
int top_track,
boolean set_value);
795 char *
get_track_name(lives_mt *mt,
int track_num,
boolean is_audio);
806 boolean on_track_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt);
807 boolean on_atrack_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt);
814 boolean on_track_move(LiVESWidget *widget, LiVESXEventMotion *
event, livespointer mt);
818 void insert_frames(
int filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc,
819 lives_direction_t direction, LiVESWidget *eventbox, lives_mt *, track_rect *in_block);
820 void insert_audio(
int filenum, weed_timecode_t offset_start, weed_timecode_t offset_end, weed_timecode_t tc,
821 double avel,
lives_direction_t direction, LiVESWidget *eventbox, lives_mt *, track_rect *in_block);
855 void tc_to_rs(LiVESMenuItem *, livespointer mt);
856 void tc_to_re(LiVESMenuItem *, livespointer mt);
857 void rs_to_tc(LiVESMenuItem *, livespointer mt);
858 void re_to_tc(LiVESMenuItem *, livespointer mt);
860 boolean mt_mark_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data);
899 weed_plant_t *
get_prev_fm(lives_mt *,
int current_track, weed_plant_t *frame);
900 weed_plant_t *
get_next_fm(lives_mt *,
int current_track, weed_plant_t *frame);
918 LiVESPixbuf *
make_thumb(lives_mt *,
int file,
int width,
int height,
int frame,
boolean noblanks);
926 weed_plant_t *ito,
int track,
boolean after);
927 void update_filter_events(lives_mt *, weed_plant_t *first_event, weed_timecode_t start_tc, weed_timecode_t end_tc,
928 int track, weed_timecode_t new_start_tc,
int new_track);
929 void mt_fixup_events(lives_mt *, weed_plant_t *old_event, weed_plant_t *new_event);
939 void add_markers(lives_mt *, weed_plant_t *event_list,
boolean add_block_ids);
941 void save_layout_map(
int *lmap,
double *lmap_audio,
const char *file,
const char *dir);
945 void migrate_layouts(
const char *old_set_name,
const char *new_set_name);
985 boolean mt_prevclip(LiVESAccelGroup *, LiVESObject *, uint32_t keyval, LiVESXModifierType mod, livespointer);
986 boolean mt_nextclip(LiVESAccelGroup *, LiVESObject *, uint32_t keyval, LiVESXModifierType mod, livespointer);
1010 #define MAX_TRACKS 32768
1011 #define MAX_VIDEO_TRACKS 32768
1012 #define MAX_AUDIO_TRACKS 32768
1014 #define MAX_TRACKS 65536
1015 #define MAX_VIDEO_TRACKS 65536
1016 #define MAX_AUDIO_TRACKS 65536
Definition: multitrack.h:153
Definition: multitrack.h:87
ulong grav_right_func
Definition: multitrack.h:455
LiVESWidget * param_box
Definition: multitrack.h:278
void stored_event_list_free_undos(void)
Definition: multitrack.c:5386
LiVESWidget * fx_region_2
Definition: multitrack.h:237
boolean move_effects
should we move effects attached to a block ?
Definition: multitrack.h:161
LiVESWidget * fx_blocka
Definition: multitrack.h:230
LiVESWidget * view_effects
Definition: multitrack.h:260
LiVESWidget * view_events
Definition: multitrack.h:257
LiVESWidget * loop_continue
Definition: multitrack.h:214
void re_to_tc(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14171
void insert_audio_at_ctx_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14125
LiVESWidget * save_event_list
menuitem
Definition: multitrack.h:287
int mt_get_block_count(lives_mt *, int ntrack)
count blocks in track
Definition: multitrack.c:22692
void mt_fixup_events(lives_mt *, weed_plant_t *old_event, weed_plant_t *new_event)
Definition: multitrack.c:18953
boolean insert_audio
do we insert audio with video ?
Definition: multitrack.h:171
void scroll_tracks(lives_mt *, int top_track, boolean set_value)
Definition: multitrack.c:2118
LiVESWidget * fd_frame
Definition: multitrack.h:325
LiVESWidget * fx_region_1v
Definition: multitrack.h:235
LiVESWidget * sel_label
Definition: multitrack.h:284
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 *, track_rect *in_block)
Definition: multitrack.c:17805
int get_clip_for_block(track_rect *block)
Definition: multitrack.c:22735
Definition: multitrack.h:140
int current_track
starts at 0
Definition: multitrack.h:479
boolean audio_bleedthru
should we allow all audio to bleed thru ?
Definition: multitrack.h:173
LiVESWidget * amixer_button
Definition: multitrack.h:336
LiVESWidget * seldesel_menuitem
Definition: multitrack.h:256
Definition: multitrack.h:146
Definition: multitrack.h:997
int get_track_for_block(track_rect *block)
return track number for a given block
Definition: multitrack.c:195
Definition: multitrack.h:992
LiVESWidget * load_set
Definition: multitrack.h:407
Definition: multitrack.h:93
void update_grav_mode(lives_mt *)
Definition: multitrack.c:4557
boolean on_track_header_release(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:13642
LiVESWidget * top_eventbox
Definition: multitrack.h:356
boolean multitrack_insert(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:17279
boolean follow_playback
Definition: multitrack.h:170
int add_video_track_behind(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:10407
boolean region_updating
Definition: multitrack.h:501
LiVESWidget * time_scrollbar
Definition: multitrack.h:404
boolean use_context
Definition: multitrack.h:604
lives_mt_fx_order_t
Definition: multitrack.h:144
LiVESWidget * hseparator2
Definition: multitrack.h:386
LiVESWidget * context_frame
Definition: multitrack.h:339
LiVESWidget * add_vid_front
Definition: multitrack.h:332
LiVESWidget * in_image
Definition: multitrack.h:198
int current_fx
Definition: multitrack.h:506
Definition: multitrack.h:126
#define PATH_MAX
Definition: main.h:287
void update_insert_mode(lives_mt *)
Definition: multitrack.c:4490
double region_init
point where user pressed the mouse
Definition: multitrack.h:500
char * force_load_name
< force some visual changes when applying autotrans
Definition: multitrack.h:651
Definition: multitrack.h:99
LiVESWidget * clip_scroll
Definition: multitrack.h:193
lives_direction_t last_direction
last direction timeline cursor was moved in
Definition: multitrack.h:487
LiVESWidget * del_node_button
Definition: multitrack.h:281
lives_mt_mouse_mode_t
Definition: multitrack.h:59
LiVESWidget * ins_normal
Definition: multitrack.h:249
Definition: multitrack.h:119
LiVESWidget * fx_delete
Definition: multitrack.h:231
LiVESWidget * fx_contents_box
Definition: multitrack.h:274
Definition: multitrack.h:145
lives_mt_fx_order_t fx_order
Definition: multitrack.h:566
LiVESWidget * context_scroll
Definition: multitrack.h:201
Definition: multitrack.h:124
Definition: multitrack.h:133
LiVESWidget * fx_region_2av
Definition: multitrack.h:238
LiVESWidget * render_sep
Definition: multitrack.h:319
LiVESWidget * timeline_eb
Definition: multitrack.h:207
int inheight
Definition: multitrack.h:558
weed_plant_t * pb_loop_event
FRAME event to loop back to (can be different from pb_start_event if we are paused) ...
Definition: multitrack.h:599
Definition: multitrack.h:659
ulong mouse_mot2
Definition: multitrack.h:528
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)
Definition: multitrack.c:16222
Definition: multitrack.h:138
void mt_init_clips(lives_mt *, int orig_file, boolean add)
Definition: multitrack.c:10753
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: multitrack.c:19988
LiVESWidget * load_vals
Definition: multitrack.h:314
weed_plant_t * specific_event
a pointer to some generally interesting event
Definition: multitrack.h:601
boolean no_expose
block timeline expose while we are exiting
Definition: multitrack.h:626
LiVESWidget * btoolbarx
Definition: multitrack.h:347
void wipe_layout(lives_mt *)
Definition: multitrack.c:21515
int user_height
Definition: multitrack.h:587
void on_fx_insa_clicked(LiVESWidget *button, livespointer mt)
Definition: multitrack.c:18680
boolean event_list_rectify(lives_mt *, weed_plant_t *event_listy)
Definition: multitrack.c:20313
LiVESWidget * btoolbar
Definition: multitrack.h:379
boolean autocross_audio
crossfade audio with autotransitions
Definition: multitrack.h:175
LiVESObject * node_adj
Definition: multitrack.h:424
void in_out_start_changed(LiVESWidget *, livespointer mt)
Definition: multitrack.c:11697
boolean on_timeline_update(LiVESWidget *, LiVESXEventMotion *, livespointer mt)
Definition: multitrack.c:18237
boolean on_atrack_release(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer mt)
LiVESList * selected_tracks
Definition: multitrack.h:481
LiVESList * audio_vols_back
layer volume levels (coarse control) - reset levels
Definition: multitrack.h:429
LiVESWidget * fx_box
Definition: multitrack.h:275
LiVESWidget * fx_block
Definition: multitrack.h:228
boolean on_track_release(LiVESWidget *eventbox, LiVESXEventButton *event, livespointer mt)
Definition: multitrack.c:13485
LiVESWidget * clear_ds
Definition: multitrack.h:412
void mt_post_playback(lives_mt *)
Definition: multitrack.c:17101
char * get_track_name(lives_mt *mt, int track_num, boolean is_audio)
Definition: multitrack.c:962
void mt_clear_timeline(lives_mt *mt)
Definition: multitrack.c:10632
LiVESWidget * jumpnext
Definition: multitrack.h:224
void * extra
Definition: multitrack.h:662
LiVESWidget * render_vid
Definition: multitrack.h:320
LiVESWidget * vpaned
Definition: multitrack.h:219
boolean auto_reloading
Definition: multitrack.h:570
size_t data_len
including this mt_undo
Definition: multitrack.h:663
LiVESWidget * play_blank
Definition: multitrack.h:190
boolean check_for_layout_del(lives_mt *, boolean exiting)
Definition: multitrack.c:5472
LiVESToolItem * sep1
Definition: multitrack.h:374
void do_fx_list_context(lives_mt *, int fxcount)
Definition: multitrack.c:18376
LiVESWidget * atrans_menuitem
Definition: multitrack.h:242
lives_mt_insert_mode_t
Definition: multitrack.h:66
boolean changed
changed since last saved
Definition: multitrack.h:551
boolean tl_mouse
Definition: multitrack.h:634
void list_fx_here_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14144
LiVESWidget * timecode
Definition: multitrack.h:269
LiVESWidget * next_node_button
Definition: multitrack.h:279
the default (only insert if it fits)
Definition: multitrack.h:67
LiVESWidget * render_aud
Definition: multitrack.h:321
void multitrack_clear_marks(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14187
boolean is_atrans
Definition: multitrack.h:649
LiVESWidget * l_sel_arrow
Definition: multitrack.h:285
double tl_min
Definition: multitrack.h:474
void * out
Definition: multitrack.h:710
void on_insgap_cur_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14962
void mt_delete_clips(lives_mt *, int file)
Definition: multitrack.c:10686
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 *, track_rect *in_block)
Definition: multitrack.c:17571
lives_mt_last_fx_type_t last_fx_type
Definition: multitrack.h:564
boolean render_vidp
render video
Definition: multitrack.h:177
void set_timeline_end_secs(lives_mt *, double secs)
Definition: multitrack.c:2886
lives_mt_grav_mode_t grav_mode
Definition: multitrack.h:164
LiVESWidget * amix_label
Definition: multitrack.h:352
LiVESWidget * recent3
Definition: multitrack.h:401
Definition: multitrack.h:715
LiVESWidget * checkbutton_start_anchored
Definition: multitrack.h:267
void mt_clip_select(lives_mt *, boolean scroll)
Definition: multitrack.c:2780
int64_t auto_back_time
time when last backup was done (not to be confused with prefs->auto_back)
Definition: multitrack.h:554
int outwidth
Definition: multitrack.h:559
LiVESWidget * stop
Definition: multitrack.h:210
LiVESObject * vadjustment
Definition: multitrack.h:433
int64_t unique_id
Definition: multitrack.h:717
LiVESList * layout_audio_is_affected(int clipno, double time)
Definition: multitrack.c:21875
LiVESList * audio_vols
layer volume levels (coarse control) - set in mixer
Definition: multitrack.h:428
boolean redraw_block
block drawing of playback cursor during track redraws
Definition: multitrack.h:622
LiVESWidget * undo
Definition: multitrack.h:294
LiVESWidget * cback_audio
Definition: multitrack.h:312
LiVESWidget * preview_eventbox
Definition: multitrack.h:346
LiVESWidget * timeline_table
Definition: multitrack.h:205
LiVESWidget * close
Definition: multitrack.h:410
int nchans
Definition: multitrack.h:673
weed_timecode_t insert_end
Definition: multitrack.h:534
ulong grav_left_func
Definition: multitrack.h:454
LiVESWidget * mm_select
Definition: multitrack.h:247
void on_split_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:16409
ulong spin_start_func
Definition: multitrack.h:578
LiVESWidget * grav_normal
Definition: multitrack.h:252
lives_mt_block_state_t state
Definition: multitrack.h:696
void delete_block_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14132
void mouse_mode_context(lives_mt *)
Definition: multitrack.c:4467
LiVESWidget * eview_label
Definition: multitrack.h:328
ulong * ch_slider_fns
Definition: multitrack.h:672
LiVESWidget * clear_event_list
menuitem
Definition: multitrack.h:289
LiVESWidget * sep_image
Definition: multitrack.h:202
lives_mt * mt
Definition: multitrack.h:674
boolean moving_block
moving block flag
Definition: multitrack.h:518
void remove_markers(weed_plant_t *event_list)
Definition: multitrack.c:21495
void remove_current_from_affected_layouts(lives_mt *)
Definition: multitrack.c:5397
LiVESWidget * fx_blockv
Definition: multitrack.h:229
LiVESPixbuf * frame_pixbuf
Definition: multitrack.h:437
LiVESWidget * hseparator
Definition: multitrack.h:385
ulong tc_func
Definition: multitrack.h:463
LiVESWidget * tl_label
Definition: multitrack.h:353
void on_frame_preview_clicked(LiVESButton *, livespointer mt)
track_rect * find_block_by_uid(lives_mt *mt, ulong uid)
Definition: multitrack.c:22637
LiVESWidget * aparam_menuitem
Definition: multitrack.h:317
LiVESWidget * fx_region_1a
Definition: multitrack.h:236
Definition: multitrack.h:1002
int sel_y
Definition: multitrack.h:525
LiVESWidget * btoolbary
Definition: multitrack.h:348
LiVESWidget * select_track
Definition: multitrack.h:255
boolean block_tl_move
set to TRUE to block moving timeline (prevents loops with the node spinbutton)
Definition: multitrack.h:646
weed_plant_t * event_list
Definition: multitrack.h:465
ulong spin_end_func
Definition: multitrack.h:579
int file_selected
actual LiVES file struct number which clip_selected matches
Definition: multitrack.h:478
LiVESWidget * ac_audio_check
Definition: multitrack.h:296
LiVESWidget * rs_to_tc
Definition: multitrack.h:292
track_rect * get_block_from_track_and_time(lives_mt *mt, int track, double time)
get timeline end time of block
Definition: multitrack.c:22727
boolean normalise_audp
normalise audio
Definition: multitrack.h:179
void show_preview(lives_mt *, weed_timecode_t tc)
ulong spin_avel_func
Definition: multitrack.h:443
int user_signed_endian
Definition: multitrack.h:591
LiVESWidget * save_set
Definition: multitrack.h:408
LiVESWidget * eventbox
pointer to eventbox widget which contains this block; we can use its "layer_number" to get the track/...
Definition: multitrack.h:702
Definition: multitrack.h:991
boolean write_backup_layout_numbering(lives_mt *)
Definition: multitrack.c:618
Definition: multitrack.h:112
LiVESWidget * render
Definition: multitrack.h:226
ulong check_avel_rev_func
Definition: multitrack.h:446
boolean end_anchored
Definition: multitrack.h:698
char redo_text[32]
Definition: multitrack.h:546
boolean block_node_spin
set to TRUE to block moving node spinner (prevents loops with the timeline)
Definition: multitrack.h:647
LiVESWidget * aload_subs
Definition: multitrack.h:313
boolean undoable
Definition: multitrack.h:548
Definition: multitrack.h:123
void draw_region(lives_mt *mt)
Definition: multitrack.c:17910
ulong ins_normal_func
Definition: multitrack.h:451
ulong mt_get_last_block_uid(lives_mt *mt)
get index of last inserted (wallclock time) block for track
Definition: multitrack.c:22680
lives_mt_block_state_t
Definition: multitrack.h:151
int user_width
Definition: multitrack.h:586
LiVESWidget * nb_label7
Definition: multitrack.h:372
lives_mt * multitrack(weed_plant_t *, int orig_file, double fps)
create and return lives_mt struct
Definition: multitrack.c:6115
int selected_filter
filter selected in poly window tab
Definition: multitrack.h:618
LiVESWidget * hpaned
Definition: multitrack.h:220
LiVESWidget * apply_fx_button
Definition: multitrack.h:326
LiVESWidget * fx_params_label
Definition: multitrack.h:335
ulong spin_in_func
Definition: multitrack.h:441
LiVESWidget * tc_to_re
Definition: multitrack.h:291
void on_seltrack_toggled(LiVESWidget *, livespointer mt)
Definition: multitrack.c:16814
LiVESObject * spinbutton_out_adj
Definition: multitrack.h:421
boolean on_atrack_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
void multitrack_play_sel(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:17244
Definition: multitrack.h:95
LiVESWidget * aparam_submenu
Definition: multitrack.h:318
LiVESWidget * spinbutton_end
Definition: multitrack.h:271
Definition: multitrack.h:132
boolean on_save_event_list_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:19599
ulong mute_audio_func
Definition: multitrack.h:458
LiVESWidget * fx_region
Definition: multitrack.h:233
lives_mt_poly_state_t poly_state
state of polymorph window
Definition: multitrack.h:483
void animate_multitrack(lives_mt *)
Definition: multitrack.c:14027
LiVESWidget * hbox
Definition: multitrack.h:189
Definition: multitrack.h:999
double user_fps
Definition: multitrack.h:585
boolean ignore_load_vals
Definition: multitrack.h:583
LiVESWidget * gens_submenu
Definition: multitrack.h:414
ulong check_start_func
Definition: multitrack.h:444
void insert_here_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14084
track_rect * next
Definition: multitrack.h:689
lives_mt_undo_t action
Definition: multitrack.h:660
LiVESWidget * mute_audio
Definition: multitrack.h:213
LiVESWidget * capture
Definition: multitrack.h:415
LiVESWidget * split_sel
Definition: multitrack.h:299
ulong sepwin_func
Definition: multitrack.h:457
LiVESWidget * insa_checkbutton
Definition: multitrack.h:417
LiVESWidget * fx_list_vbox
Definition: multitrack.h:306
boolean track_arrow_pressed(LiVESWidget *ahbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:2559
LiVESWidget * nb_label5
Definition: multitrack.h:370
LiVESWidget ** ch_sliders
Definition: multitrack.h:669
LiVESWidget * btoolbar3
Definition: multitrack.h:381
char * name
Definition: multitrack.h:718
LiVESWidget * follow_play
Definition: multitrack.h:329
void amixer_show(LiVESButton *, livespointer mt)
Definition: multitrack.c:22355
char undo_text[32]
Definition: multitrack.h:545
LiVESWidget * grav_label
Definition: multitrack.h:251
LiVESWidget * add_audio_track(lives_mt *, int trackno, boolean behind)
Definition: multitrack.c:10069
lives_special_framedraw_rect_t * framedraw
Definition: multitrack.h:561
boolean snap_over
snap to overlap
Definition: multitrack.h:163
LiVESWidget * nb_label2
Definition: multitrack.h:367
lives_mt_insert_mode_t insert_mode
Definition: multitrack.h:166
boolean mt_track_is_video(lives_mt *, int ntrack)
return TRUE if ntrack is a valid video track
Definition: multitrack.c:22668
ulong mouse_mot1
Definition: multitrack.h:527
Definition: multitrack.h:100
Definition: multitrack.h:92
LiVESWidget * checkbutton_end_anchored
Definition: multitrack.h:268
Definition: multitrack.h:120
lives_mt_undo_t
Definition: multitrack.h:83
double mt_get_block_entime(lives_mt *, int ntrack, int iblock)
get timeline start time of block
Definition: multitrack.c:22719
LiVESWidget * window
Definition: multitrack.h:186
LiVESWidget * recent_menu
Definition: multitrack.h:398
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: multitrack.c:19894
weed_plant_t * pb_start_event
FRAME event from which we start playback.
Definition: multitrack.h:598
boolean on_track_header_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:13632
Definition: multitrack.h:79
LiVESWidget * timeline_table_header
Definition: multitrack.h:203
void insert_at_ctx_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14090
uint8_t * undo_mem
Definition: multitrack.h:541
boolean multitrack_delete(lives_mt *, boolean save)
Definition: multitrack.c:9122
void do_fx_move_context(lives_mt *mt)
Definition: multitrack.c:18387
boolean on_track_move(LiVESWidget *widget, LiVESXEventMotion *event, livespointer mt)
Definition: multitrack.c:13811
boolean used_in_current_layout(lives_mt *, int file)
Definition: multitrack.c:9093
uint32_t mt_idle_add(lives_mt *)
Definition: multitrack.c:860
weed_plant_t * get_next_fm(lives_mt *, int current_track, weed_plant_t *frame)
Definition: multitrack.c:18611
void mt_desensitise(lives_mt *)
Definition: multitrack.c:16835
LiVESWidget * avel_box
Definition: multitrack.h:261
boolean resize_timeline(lives_mt *)
Definition: multitrack.c:11559
LiVESList * clip_labels
Definition: multitrack.h:640
double end_secs
max display time of timeline in seconds
Definition: multitrack.h:471
Definition: multitrack.h:147
boolean is_rendering
TRUE if we are in the process of rendering/pre-rendering to a clip, cf. mainw->is_rendering.
Definition: multitrack.h:503
LiVESWidget * sepwin
Definition: multitrack.h:212
stretch first gap to fit block
Definition: multitrack.h:71
weed_plant_t * fm_edit_event
Definition: multitrack.h:572
int play_window_width
Definition: multitrack.h:615
void track_select(lives_mt *)
must call after setting mt->current_track
Definition: multitrack.c:1741
void on_cback_audio_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:15925
LiVESWidget * out_image
Definition: multitrack.h:199
void unselect_all(lives_mt *)
unselect all blocks
Definition: multitrack.c:11469
LiVESWidget * insert
Definition: multitrack.h:215
LiVESWidget * btoolbar2
Definition: multitrack.h:380
LiVESWidget * fx_region_3
Definition: multitrack.h:241
Definition: multitrack.h:109
void rs_to_tc(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14166
LiVESWidget * scrollbar
Definition: multitrack.h:221
LiVESWidget * amixb_eventbox
Definition: multitrack.h:358
ulong seltrack_func
Definition: multitrack.h:461
LiVESWidget * preview_frame
Definition: multitrack.h:345
boolean on_timeline_press(LiVESWidget *, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:18521
LiVESWidget * recent4
Definition: multitrack.h:402
lives_mt_mouse_mode_t mouse_mode
Definition: multitrack.h:165
boolean on_track_header_move(LiVESWidget *widget, LiVESXEventMotion *event, livespointer mt)
Definition: multitrack.c:13819
int play_width
Definition: multitrack.h:611
boolean show_audio
Definition: multitrack.h:167
weed_plant_t * selected_init_event
currently selected in list
Definition: multitrack.h:468
void on_rename_track_activate(LiVESMenuItem *menuitem, livespointer mt)
Definition: multitrack.c:15888
LiVESWidget * clipedit
Definition: multitrack.h:218
boolean on_load_event_list_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:21630
int track_index
Definition: multitrack.h:562
LiVESWidget * avel_scale
Definition: multitrack.h:264
boolean mt_mark_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
Definition: multitrack.c:18667
void set_track_label_string(lives_mt *mt, int track, const char *label)
Definition: multitrack.c:10255
int user_asamps
Definition: multitrack.h:590
void ** mt_get_pchain(void)
Definition: multitrack.c:957
weed_timecode_t tc
Definition: multitrack.h:661
LiVESWidget * playall
Definition: multitrack.h:222
LiVESWidget * inv_checkbutton
Definition: multitrack.h:671
void mt_set_autotrans(int idx)
Definition: multitrack.c:5643
weed_timecode_t insert_start
Definition: multitrack.h:533
ulong spin_out_func
Definition: multitrack.h:442
void add_context_label(lives_mt *, const char *text)
Definition: multitrack.c:11537
lives_lmap_error_t
Definition: multitrack.h:988
int play_height
Definition: multitrack.h:612
Definition: multitrack.h:62
LiVESWidget * ins_menuitem
Definition: multitrack.h:248
Definition: multitrack.h:998
mt_opts opts
Definition: multitrack.h:568
LiVESWidget * recent2
Definition: multitrack.h:400
boolean auto_changed
changed since last auto-saved
Definition: multitrack.h:552
void add_markers(lives_mt *, weed_plant_t *event_list, boolean add_block_ids)
Definition: multitrack.c:19482
LiVESWidget * nb_label3
Definition: multitrack.h:368
LiVESWidget * mm_move
Definition: multitrack.h:246
boolean is_ready
Definition: multitrack.h:628
LiVESAccelGroup * accel_group
Definition: multitrack.h:431
overwite existing blocks
Definition: multitrack.h:70
LiVESWidget * fx_base_box
Definition: multitrack.h:273
void close_clip_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14103
size_t undo_buffer_used
Definition: multitrack.h:540
weed_plant_t * load_event_list(lives_mt *, char *eload_file)
Definition: multitrack.c:21294
LiVESWidget * load_event_list
menuitem
Definition: multitrack.h:288
boolean ign_ins_sel
Definition: multitrack.h:169
void add_aparam_menuitems(lives_mt *)
Definition: multitrack.c:4858
LiVESList * layout_frame_is_affected(int clipno, int frame)
Definition: multitrack.c:21840
LiVESList * cb_list
Definition: multitrack.h:439
double fps
fps of this timeline
Definition: multitrack.h:496
Definition: multitrack.h:125
boolean on_timeline_release(LiVESWidget *, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:18395
LiVESWidget * scroll_label
Definition: multitrack.h:344
void migrate_layouts(const char *old_set_name, const char *new_set_name)
Definition: multitrack.c:21701
void on_node_spin_value_changed(LiVESSpinButton *, livespointer mt)
Definition: multitrack.c:18802
LiVESWidget * delblock
Definition: multitrack.h:217
LiVESWidget * grav_left
Definition: multitrack.h:253
LiVESWidget * fx_region_2a
Definition: multitrack.h:240
int add_video_track_front(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:10416
LiVESList * aparam_view_list
Definition: multitrack.h:180
LiVESWidget * timeline
Definition: multitrack.h:206
void save_layout_map(int *lmap, double *lmap_audio, const char *file, const char *dir)
Definition: multitrack.c:19311
LiVESWidget * grav_submenu
Definition: multitrack.h:360
Definition: multitrack.h:77
boolean pr_audio
TRUE if we are in the process of prerendering audio to a clip.
Definition: multitrack.h:504
LiVESWidget * view_audio
Definition: multitrack.h:323
int user_arate
Definition: multitrack.h:588
LiVESWidget * clip_inner_box
Definition: multitrack.h:194
LiVESWidget * prev_node_button
Definition: multitrack.h:280
void mt_swap_play_pause(lives_mt *, boolean put_pause)
Definition: multitrack.c:17022
void selblock_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14138
LiVESWidget * time_label
Definition: multitrack.h:349
LiVESWidget * main_hbox
Definition: multitrack.h:668
LiVESWidget * in_out_box
Definition: multitrack.h:195
void in_anchor_toggled(LiVESToggleButton *, livespointer mt)
Definition: multitrack.c:12412
void delete_audio_track(lives_mt *, LiVESWidget *eventbox, boolean full)
Definition: multitrack.c:8910
void in_out_end_changed(LiVESWidget *, livespointer mt)
Definition: multitrack.c:11935
int clip_selected
clip in clip window
Definition: multitrack.h:477
boolean aud_track_selected
Definition: multitrack.h:630
Definition: multitrack.h:667
boolean pertrack_audio
do we want pertrack audio ?
Definition: multitrack.h:172
LiVESWidget * r_sel_arrow
Definition: multitrack.h:286
LiVESList * audio_draws
list of audio boxes, 0 == backing audio, 1 == track 0 audio, etc.
Definition: multitrack.h:426
void insert_audio_here_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14119
LiVESWidget * tc_to_rs
Definition: multitrack.h:290
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)
Definition: multitrack.c:15590
LiVESWidget * amixer_add_channel_slider(lives_mt *, int i)
Definition: multitrack.c:22289
LiVESWidget * spinbutton_in
Definition: multitrack.h:265
lives_mt_last_fx_type_t
Definition: multitrack.h:137
LiVESWidget * get_eventbox_for_track(lives_mt *mt, int ntrack)
Definition: multitrack.c:22603
void activate_mt_preview(lives_mt *)
sensitize Show Preview and Apply buttons
Definition: multitrack.c:19034
boolean mt_nextclip(LiVESAccelGroup *, LiVESObject *, uint32_t keyval, LiVESXModifierType mod, livespointer)
Definition: multitrack.c:2859
LiVESWidget * eventbox
Definition: multitrack.h:343
LiVESToolItem * sep4
Definition: multitrack.h:377
char * handle
Definition: multitrack.h:716
LiVESWidget * show_layout_errors
Definition: multitrack.h:405
ulong check_end_func
Definition: multitrack.h:445
boolean on_render_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:15933
LiVESWidget * mm_menuitem
Definition: multitrack.h:245
LiVESWidget * fx_label
Definition: multitrack.h:276
LiVESWidget * in_hbox
Definition: multitrack.h:196
double ptr_time
stored timeline cursor position before playback
Definition: multitrack.h:492
LiVESWidget * node_spinbutton
Definition: multitrack.h:282
LiVESWidget * param_inner_box
Definition: multitrack.h:277
LiVESWidget * remove_first_gaps
Definition: multitrack.h:298
void on_del_node_clicked(LiVESWidget *, livespointer mt)
Definition: multitrack.c:18878
LiVESObject * spinbutton_in_adj
Definition: multitrack.h:420
LiVESWidget * nb_label1
Definition: multitrack.h:366
insert enough to fill gap (from selection start or end depending on gravity)
Definition: multitrack.h:72
weed_plant_t * init_event
current editable values
Definition: multitrack.h:467
boolean render_audp
render audio
Definition: multitrack.h:178
int exact_preview
Definition: multitrack.h:593
char * get_eload_filename(lives_mt *mt, boolean allow_auto_reload)
Definition: multitrack.c:21220
track_rect * prev
Definition: multitrack.h:690
Definition: multitrack.h:94
LiVESWidget * normalise_aud
Definition: multitrack.h:322
LiVESWidget * change_vals
Definition: multitrack.h:315
void avel_spin_changed(LiVESSpinButton *, livespointer mt)
Definition: multitrack.c:12279
#define ulong
Definition: main.h:150
boolean was_undo_redo
Definition: multitrack.h:624
void event_list_free_undos(lives_mt *)
Definition: multitrack.c:5367
char * set_values_from_defs(lives_mt *, boolean from_prefs)
Definition: multitrack.c:5304
void polymorph(lives_mt *, lives_mt_poly_state_t poly)
Definition: multitrack.c:12514
ulong grav_normal_func
Definition: multitrack.h:453
LiVESWidget * fx_ibefore_button
Definition: multitrack.h:309
int sel_x
Definition: multitrack.h:524
LiVESWidget * fx_list_scroll
Definition: multitrack.h:305
LiVESWidget * fx_edit
Definition: multitrack.h:232
void unpaint_line(lives_mt *, LiVESWidget *eventbox)
Definition: multitrack.c:13827
Definition: multitrack.h:996
Definition: multitrack.h:122
boolean show_ctx
Definition: multitrack.h:168
LiVESWidget * troubleshoot
Definition: multitrack.h:334
LiVESXDisplay * display
Definition: multitrack.h:435
void remove_gaps(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14582
LiVESWidget * submenu_atransfx
Definition: multitrack.h:243
LiVESWidget * nb_label
Definition: multitrack.h:341
LiVESWidget * last_filter_map
Definition: multitrack.h:302
void on_next_node_clicked(LiVESWidget *, livespointer mt)
Definition: multitrack.c:18856
LiVESList * video_draws
list of video timeline eventboxes, in layer order
Definition: multitrack.h:432
void on_prev_node_clicked(LiVESWidget *, livespointer mt)
Definition: multitrack.c:18867
LiVESWidget * adjust_start_end
Definition: multitrack.h:338
int avol_fx
index of audio volume filter, delegated by user from audio volume candidates
Definition: multitrack.h:575
LiVESWidget * ins_gap_cur
Definition: multitrack.h:301
LiVESWidget * fx_region_2v
Definition: multitrack.h:239
LiVESWidget * redo
Definition: multitrack.h:295
lives_mt_grav_mode_t
Definition: multitrack.h:76
Definition: multitrack.h:102
uint32_t idlefunc
autobackup function
Definition: multitrack.h:638
track_rect * putative_block
putative block to move or copy, or NULL
Definition: multitrack.h:490
boolean mt_track_is_audio(lives_mt *, int ntrack)
return TRUE if ntrack is a valid backing audio track
Definition: multitrack.c:22674
void out_anchor_toggled(LiVESToggleButton *, livespointer mt)
Definition: multitrack.c:12463
boolean mt_auto_backup(livespointer mt)
Definition: multitrack.c:819
boolean on_track_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:13674
LiVESWidget * fx_iafter_button
Definition: multitrack.h:310
LiVESWidget * out_hbox
Definition: multitrack.h:197
weed_plant_t * start_event
Definition: multitrack.h:691
boolean set
have we set opts (in mainw) ?
Definition: multitrack.h:160
Definition: multitrack.h:993
track_rect * block_selected
pointer to current selected block, or NULL
Definition: multitrack.h:489
void mt_show_current_frame(lives_mt *, boolean return_layer)
preview the current frame
Definition: multitrack.c:2959
boolean is_paused
Definition: multitrack.h:608
void recover_layout(void)
Definition: multitrack.c:933
LiVESWidget * poly_box
Definition: multitrack.h:192
void do_sel_context(lives_mt *)
Definition: multitrack.c:18360
double region_start
start of time region in seconds (or 0.)
Definition: multitrack.h:498
LiVESWidget * nb_label6
Definition: multitrack.h:371
double mt_get_block_sttime(lives_mt *, int ntrack, int iblock)
return time in seconds of first frame event in block
Definition: multitrack.c:22711
void mt_init_tracks(lives_mt *, boolean set_min_max)
add basic tracks, or set tracks from mt->event_list
Definition: multitrack.c:9577
boolean start_anchored
Definition: multitrack.h:697
LiVESWidget * move_fx
Definition: multitrack.h:244
LiVESList * tl_marks
Definition: multitrack.h:596
LiVESWidget * menubar
Definition: multitrack.h:187
LiVESWidget * tlx_eventbox
Definition: multitrack.h:357
void tc_to_rs(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14153
LiVESWidget * nb
Definition: multitrack.h:340
void on_amixer_close_clicked(LiVESButton *, lives_mt *mt)
Definition: multitrack.c:22115
void mt_change_disp_tracks_ok(LiVESButton *, livespointer mt)
Definition: multitrack.c:21906
int render_file
Definition: multitrack.h:485
LiVESWidget * change_max_disp
Definition: multitrack.h:330
int play_window_height
Definition: multitrack.h:616
void show_clipinfo_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14109
LiVESWidget * fx_region_1
Definition: multitrack.h:234
Definition: multitrack.h:686
LiVESWidget * add_vid_behind
Definition: multitrack.h:331
lives_direction_t
Definition: multitrack.h:131
LiVESList * list
Definition: multitrack.h:719
boolean did_backup
Definition: multitrack.h:543
LiVESWidget * clear_marks
Definition: multitrack.h:324
Definition: multitrack.h:154
LiVESWidget * playsel
Definition: multitrack.h:223
boolean add_mt_param_box(lives_mt *)
Definition: multitrack.c:1555
weed_plant_t * moving_fx
Definition: multitrack.h:573
LiVESWidget * view_sel_events
Definition: multitrack.h:337
void on_next_fm_clicked(LiVESWidget *button, livespointer mt)
Definition: multitrack.c:18724
void multitrack_playall(lives_mt *)
Definition: multitrack.c:17163
LiVESWidget * jumpback
Definition: multitrack.h:225
double tl_max
Definition: multitrack.h:475
ulong loop_cont_func
Definition: multitrack.h:459
int hotspot_y
Definition: multitrack.h:516
void delete_video_track(lives_mt *, int layer, boolean full)
Definition: multitrack.c:10023
LiVESWidget * recent1
Definition: multitrack.h:399
LiVESToolItem * sep2
Definition: multitrack.h:375
boolean set_new_set_name(lives_mt *)
Definition: multitrack.c:19551
LiVESWidget * next_filter_map
Definition: multitrack.h:303
boolean layout_set_properties
Definition: multitrack.h:582
int back_audio_tracks
number of backing audio tracks (currently 0 or 1)
Definition: multitrack.h:176
double hotspot_x
Definition: multitrack.h:515
int num_video_tracks
Definition: multitrack.h:470
boolean mt_prevclip(LiVESAccelGroup *, LiVESObject *, uint32_t keyval, LiVESXModifierType mod, livespointer)
Definition: multitrack.c:2850
LiVESWidget * snapo_checkbutton
Definition: multitrack.h:418
boolean on_multitrack_activate(LiVESMenuItem *menuitem, weed_plant_t *event_list)
menuitem callback
Definition: multitrack.c:10919
weed_timecode_t offset_start
offset in sourcefile of first frame
Definition: multitrack.h:694
LiVESWidget * fx_list_box
Definition: multitrack.h:304
LiVESWidget * prev_fm_button
Definition: multitrack.h:308
Definition: multitrack.h:61
double mt_get_effect_time(lives_mt *)
Definition: multitrack.c:1550
boolean make_backup_space(lives_mt *, size_t space_needed)
Definition: multitrack.c:4709
LiVESWidget * tl_eventbox
Definition: multitrack.h:204
LiVESWidget * mm_label
Definition: multitrack.h:364
Definition: multitrack.h:103
lives_amixer_t * amixer
Definition: multitrack.h:642
LiVESWidget * quit
Definition: multitrack.h:333
boolean playing_sel
are we playing just the time selection ?
Definition: multitrack.h:636
Definition: multitrack.h:60
no event_list
Definition: multitrack.h:86
Definition: multitrack.h:121
lives_mt_poly_state_t
Definition: multitrack.h:118
void mt_sensitise(lives_mt *)
Definition: multitrack.c:16898
LiVESWidget * open_menu
Definition: multitrack.h:388
lives_mt_nb_error_t
Definition: multitrack.h:108
LiVESList * undos
Definition: multitrack.h:539
weed_plant_t * get_prev_fm(lives_mt *, int current_track, weed_plant_t *frame)
Definition: multitrack.c:18556
LiVESWidget * view_in_out
Definition: multitrack.h:259
LiVESWidget * node_scale
Definition: multitrack.h:283
Definition: multitrack.h:990
int inwidth
Definition: multitrack.h:557
LiVESObject * hadjustment
Definition: multitrack.h:423
Definition: multitrack.h:78
LiVESWidget * grav_right
Definition: multitrack.h:254
void stored_event_list_free_all(boolean wiped)
Definition: multitrack.c:5444
LiVESWidget * ins_submenu
Definition: multitrack.h:361
Definition: plugins.h:491
void mt_prepare_for_playback(lives_mt *)
Definition: multitrack.c:17059
int user_achans
Definition: multitrack.h:589
void recover_layout_cancelled(boolean is_startup)
Definition: multitrack.c:880
lives_cursor_t cursor_style
Definition: multitrack.h:606
LiVESWidget * checkbutton_avel_reverse
Definition: multitrack.h:262
char layout_name[PATH_MAX]
Definition: multitrack.h:512
LiVESWidget * play_box
Definition: multitrack.h:191
boolean tl_selecting
for mouse select mode
Definition: multitrack.h:530
LiVESToolItem * grav_menuitem
Definition: multitrack.h:250
void mt_do_autotransition(lives_mt *, track_rect *block)
call this on a block to apply autotransition on it
Definition: multitrack.c:22752
Definition: multitrack.h:113
void tc_to_re(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14159
LiVESWidget * remove_gaps
Definition: multitrack.h:297
LiVESWidget * ins_label
Definition: multitrack.h:363
double context_time
this is set when the user right clicks on a track, otherwise -1.
Definition: multitrack.h:603
double insert_avel
override for avel used during audio insert
Definition: multitrack.h:537
LiVESWidget * prerender_aud
Definition: multitrack.h:227
LiVESList * load_layout_map(void)
Definition: multitrack.c:19179
LiVESWidget * mm_submenu
Definition: multitrack.h:362
lives_rfx_t * current_rfx
Definition: multitrack.h:510
int top_track
top (video) track in scrolled window
Definition: multitrack.h:620
double pb_start_time
playback start time in seconds. If play is stopped (not paused) we return to here.
Definition: multitrack.h:520
double region_end
end of time region in seconds (or 0.)
Definition: multitrack.h:499
LiVESWidget * aparam_separator
Definition: multitrack.h:316
LiVESWidget * spinbutton_out
Definition: multitrack.h:266
void set_mt_colours(lives_mt *)
Definition: multitrack.c:5830
LiVESWidget * overlap_label
Definition: multitrack.h:351
boolean redoable
Definition: multitrack.h:549
Definition: paramspecial.h:16
void remove_first_gaps(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14575
Definition: multitrack.h:110
void avel_reverse_toggled(LiVESToggleButton *, livespointer mt)
Definition: multitrack.c:12230
Definition: multitrack.h:184
uint64_t in
Definition: multitrack.h:709
boolean on_track_between_click(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:13652
LiVESWidget * rewind
Definition: multitrack.h:211
LiVESWidget * gang_checkbutton
Definition: multitrack.h:670
double tl_fixed_length
length of timeline can be fixed (secs) : TODO
Definition: multitrack.h:494
LiVESWidget * tl_hbox
Definition: multitrack.h:272
LiVESWidget * next_fm_button
Definition: multitrack.h:307
LiVESWidget * spinbutton_start
Definition: multitrack.h:270
LiVESWidget * dumlabel2
Definition: multitrack.h:355
LiVESWidget * nb_label4
Definition: multitrack.h:369
LiVESWidget * dumlabel1
Definition: multitrack.h:354
LiVESWidget * timeline_reg
Definition: multitrack.h:208
void mt_tl_move(lives_mt *, double pos_abs)
Definition: multitrack.c:3183
LiVESWidget * audio_insert
Definition: multitrack.h:216
uint32_t event_list_get_byte_size(lives_mt *, weed_plant_t *event_list, int *num_events)
returns bytes and sets num_events
Definition: multitrack.c:22067
void on_fx_insb_clicked(LiVESWidget *button, livespointer mt)
Definition: multitrack.c:18693
LiVESWidget * view_clips
Definition: multitrack.h:258
LiVESPixbuf * make_thumb(lives_mt *, int file, int width, int height, int frame, boolean noblanks)
Definition: multitrack.c:367
double prev_fx_time
Definition: multitrack.h:644
void on_insgap_sel_activate(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14924
boolean gang_audio
gang layer audio volume levels
Definition: multitrack.h:174
LiVESToolItem * eview_button
Definition: multitrack.h:327
Definition: multitrack.h:88
void scroll_track_by_scrollbar(LiVESScrollbar *sbar, livespointer mt)
Definition: multitrack.c:3299
LiVESWidget * re_to_tc
Definition: multitrack.h:293
boolean on_track_between_release(LiVESWidget *eventbox, LiVESXEventButton *, livespointer mt)
Definition: multitrack.c:13662
boolean layout_prompt
on occasion, prompt user if they want to correct layout on disk or not
Definition: multitrack.h:581
ulong mm_move_func
Definition: multitrack.h:448
LiVESWidget * infobar
Definition: multitrack.h:209
int outheight
Definition: multitrack.h:560
LiVESWidget * menu_hbox
Definition: multitrack.h:383
Definition: multitrack.h:91
void multitrack_end_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14078
LiVESWidget * insa_label
Definition: multitrack.h:350
Definition: multitrack.h:708
void edit_start_end_cb(LiVESMenuItem *, livespointer mt)
Definition: multitrack.c:14097
LiVESWidget * ins_gap_sel
Definition: multitrack.h:300
Definition: multitrack.h:159
Definition: multitrack.h:98
boolean mt_frame_preview
Definition: multitrack.h:508
boolean fx_auto_preview
Definition: multitrack.h:162
void unpaint_lines(lives_mt *)
Definition: multitrack.c:13852
ulong mm_select_func
Definition: multitrack.h:449
LiVESWidget * top_vbox
Definition: multitrack.h:188
Definition: multitrack.h:111
void mt_tl_move_relative(lives_mt *, double pos_rel)
Definition: multitrack.c:3248
weed_plant_t * avol_init_event
Definition: multitrack.h:576
LiVESToolItem * sep3
Definition: multitrack.h:376
int undo_offset
Definition: multitrack.h:542
ulong uid
Definition: multitrack.h:687
Definition: multitrack.h:101
track_rect * move_block(lives_mt *, track_rect *block, double timesecs, int old_track, int new_track)
Definition: multitrack.c:11283
boolean ordered
are frames in sequential order ?
Definition: multitrack.h:699
LiVESWidget * rename_track
Definition: multitrack.h:311
void delete_audio_tracks(lives_mt *, LiVESList *list, boolean full)
Definition: multitrack.c:5539
Definition: multitrack.h:139
LiVESWidget * spinbutton_avel
Definition: multitrack.h:263
void clear_context(lives_mt *)
Definition: multitrack.c:11511
boolean has_audio_file
Definition: multitrack.h:632
LiVESWidget * context_box
Definition: multitrack.h:200
void on_prev_fm_clicked(LiVESWidget *button, livespointer mt)
Definition: multitrack.c:18707
weed_plant_t * end_event
Definition: multitrack.h:692