LiVES  3.0.2
mainwindow.h
Go to the documentation of this file.
1 // mainwindow.h
2 // LiVES (lives-exe)
3 // (c) G. Finch <salsaman+lives@gmail.com> 2003 - 2018
4 // Released under the GPL 3 or later
5 // see file ../COPYING for licensing details
6 
7 #ifndef HAS_LIVES_MAINWINDOW_H
8 #define HAS_LIVES_MAINWINDOW_H
9 
10 #include <pthread.h>
11 #include <inttypes.h>
12 
13 #include "effects-data.h"
14 
15 #include "audio.h"
16 
17 #ifdef ALSA_MIDI
18 #include <alsa/asoundlib.h>
19 #endif
20 
21 #ifdef HAVE_PULSE_AUDIO
22 #include "pulse.h"
23 #endif
24 
25 // hardware related prefs
26 
30 #define TICKS_PER_SECOND_DBL ((double)100000000.)
31 #define TICKS_PER_SECOND (int64_t)100000000
32 #define USEC_TO_TICKS (TICKS_PER_SECOND/1000000l)
33 
34 #define LIVES_SHORTEST_TIMEOUT (2. * TICKS_PER_SECOND_DBL) // 2 sec timeout
35 #define LIVES_SHORT_TIMEOUT (5. * TICKS_PER_SECOND_DBL) // 5 sec timeout
36 #define LIVES_DEFAULT_TIMEOUT (10. * TICKS_PER_SECOND_DBL) // 10 sec timeout
37 #define LIVES_LONGER_TIMEOUT (20. * TICKS_PER_SECOND_DBL) // 20 sec timeout
38 #define LIVES_LONGEST_TIMEOUT (30. * TICKS_PER_SECOND_DBL) // 30 sec timeout
39 
41 #define PB_CHANGE_RATE .0005
42 
44 #define PB_SCRATCH_VALUE 0.001
45 
47 #define BLEND_AMOUNT 0.2
48 
50 
51 // parameters for resizing the image frames, and for capture
52 #define V_RESIZE_ADJUST ((W_PACKING_WIDTH + 2) * 3)
53 #define H_RESIZE_ADJUST ((W_PACKING_HEIGHT + 2) * 2)
54 
55 #if GTK_CHECK_VERSION(3, 0, 0)
56 #define CE_FRAME_HSPACE ((int)(320. * widget_opts.scale))
57 #else
58 #define CE_FRAME_HSPACE ((int)(420. * widget_opts.scale))
59 #endif
60 
62 #define COMBOWIDTHCHARS 12
63 
65 #define FCWIDTHCHARS 18
66 
68 #define PREVSBWIDTHCHARS 8
69 
70 #define MIN_SEPWIN_WIDTH 600
71 #define MIN_SEPWIN_HEIGHT 36
72 
74 #define SCR_WIDTH_SAFETY ((int)(100. * widget_opts.scale))
75 #define SCR_HEIGHT_SAFETY ((int)(200. * widget_opts.scale))
76 
78 #define DEF_GEN_WIDTH 1024
79 #define DEF_GEN_HEIGHT 720
80 
82 #define PREVIEW_BOX_HT ((int)(100. * widget_opts.scale))
83 
85 #define TREE_ROW_HEIGHT ((int)(60. * widget_opts.scale))
86 
87 // a few GUI specific settings
88 #define GUI_SCREEN_WIDTH (mainw->mgeom[widget_opts.monitor].width)
89 #define GUI_SCREEN_HEIGHT (mainw->mgeom[widget_opts.monitor].height)
90 #define GUI_SCREEN_X (mainw->mgeom[widget_opts.monitor].x)
91 #define GUI_SCREEN_Y (mainw->mgeom[widget_opts.monitor].y)
92 
93 #define SCREEN_SCALE_DEF_WIDTH 1600
94 
95 #define DEFAULT_FRAME_HSIZE_UNSCALED 640
96 #define DEFAULT_FRAME_VSIZE_UNSCALED 480
97 
98 #define DEFAULT_FRAME_HSIZE ((int)((double)DEFAULT_FRAME_HSIZE_UNSCALED * widget_opts.scale))
99 #define DEFAULT_FRAME_VSIZE ((int)((double)DEFAULT_FRAME_VSIZE_UNSCALED * widget_opts.scale))
100 
101 #define FRAMEBLANK_MIN_WIDTH ((int)(240. * widget_opts.scale))
102 #define FRAMEBLANK_MAX_WIDTH ((int)(600. * widget_opts.scale))
103 
104 #define FRAMEBLANK_MIN_HEIGHT ((int)(180. * widget_opts.scale))
105 #define FRAMEBLANK_MAX_HEIGHT ((int)(400. * widget_opts.scale))
106 
107 #define IMSEP_MAX_HEIGHT ((int)(86. * widget_opts.scale))
108 #define IMSEP_MAX_WIDTH (GUI_SCREEN_WIDTH - 20)
109 
110 #define MAIN_SPIN_SPACER ((int)52. * widget_opts.scale)
111 
112 #define ENC_DETAILS_WIN_H ((int)(640. * widget_opts.scale))
113 #define ENC_DETAILS_WIN_V ((int)(240. * widget_opts.scale))
114 
115 #define MIN_MSG_WIDTH_CHARS ((int)(40. * widget_opts.scale))
116 #define MAX_MSG_WIDTH_CHARS ((int)(100. * widget_opts.scale))
117 
118 #define RFX_WINSIZE_H ((int)(GUI_SCREEN_WIDTH >= SCREEN_SCALE_DEF_WIDTH ? 210. + 210. * widget_opts.scale : 640))
120 #define RFX_WINSIZE_V ((int)(480. * widget_opts.scale))
121 
122 #define DEF_BUTTON_WIDTH ((int)(80. * widget_opts.scale))
123 
124 #define DEF_DIALOG_WIDTH RFX_WINSIZE_H
125 #define DEF_DIALOG_HEIGHT RFX_WINSIZE_V
126 
127 #define LIVES_MAIN_WINDOW_WIDGET (mainw->LiVES)
128 
130 
132 #define FN_KEYS 12
133 
135 #define FX_KEYS_PHYSICAL 9
136 
139 #define FX_KEYS_MAX_VIRTUAL 64
140 
142 #define FX_KEYS_MAX 65536
143 
144 #define EFFECT_NONE 0
145 #define GU641 ((uint64_t)1)
146 
147 #define MAX_FX_THREADS 65536
148 
149 #define LIVES_DCLICK_TIME 400
150 
151 #define MAX_EXT_CNTL 2
153 
155 typedef enum {
160 
162 typedef enum {
168 
170 typedef enum {
174 } lives_toy_t;
175 
176 typedef enum {
186 
188 typedef enum {
201 
203 typedef enum {
210 
211 #define DVD_AUDIO_CHAN_MIN 128
212 #define DVD_AUDIO_CHAN_DEFAULT 128
213 #define DVD_AUDIO_CHAN_MAX 159
214 
215 enum {
222 };
223 
224 #define THEME_DETAIL_NAME "theme_name"
225 #define THEME_DETAIL_STYLE "theme_style"
226 #define THEME_DETAIL_SEPWIN_IMAGE "sepwin_image"
227 #define THEME_DETAIL_FRAMEBLANK_IMAGE "frameblank_image"
228 #define THEME_DETAIL_NORMAL_FORE "normal_fore"
229 #define THEME_DETAIL_NORMAL_BACK "normal_back"
230 #define THEME_DETAIL_ALT_FORE "alt_fore"
231 #define THEME_DETAIL_ALT_BACK "alt_back"
232 #define THEME_DETAIL_INFO_TEXT "info_text"
233 #define THEME_DETAIL_INFO_BASE "info_base"
234 
235 #define THEME_DETAIL_AUDCOL "audcol"
236 #define THEME_DETAIL_VIDCOL "vidcol"
237 #define THEME_DETAIL_FXCOL "fxcol"
238 #define THEME_DETAIL_MT_TLREG "mt_tlreg"
239 #define THEME_DETAIL_MT_MARK "mt_mark"
240 #define THEME_DETAIL_MT_EVBOX "mt_evbox"
241 #define THEME_DETAIL_MT_TCFG "mt_timecode_fg"
242 #define THEME_DETAIL_MT_TCBG "mt_timecode_bg"
243 #define THEME_DETAIL_FRAME_SURROUND "frame_surround"
244 #define THEME_DETAIL_CE_SEL "ce_sel"
245 #define THEME_DETAIL_CE_UNSEL "ce_unsel"
246 
248 typedef struct {
249  int style;
250 #define STYLE_PLAIN 0
251 #define STYLE_1 (1<<0)
252 #define STYLE_2 (1<<1)
253 #define STYLE_3 (1<<2)
254 #define STYLE_4 (1<<3)
255 
256 #define STYLE_LIGHT STYLE_3
257 
258  LiVESWidgetColor white;
259  LiVESWidgetColor black;
260  LiVESWidgetColor pink;
261  LiVESWidgetColor light_red;
262  LiVESWidgetColor light_green;
263  LiVESWidgetColor dark_red;
264  LiVESWidgetColor dark_orange;
265 
266  LiVESWidgetColor grey20;
267  LiVESWidgetColor grey25;
268  LiVESWidgetColor grey45;
269  LiVESWidgetColor grey60;
270  LiVESWidgetColor fade_colour;
271 
272  LiVESWidgetColor banner_fade_text;
273 
274  // set via theme API
275 
276  LiVESWidgetColor normal_back;
277  LiVESWidgetColor normal_fore;
278 
279  LiVESWidgetColor menu_and_bars;
280  LiVESWidgetColor menu_and_bars_fore;
281  LiVESWidgetColor info_text;
282  LiVESWidgetColor info_base;
283 
284  LiVESWidgetColor mt_timecode_bg;
285  LiVESWidgetColor mt_timecode_fg;
286 
291 
295 
298 } _palette;
299 
301 typedef struct {
302  int x;
303  int y;
304  int width;
305  int height;
306  LiVESXDevice *mouse_device;
307  LiVESXDisplay *disp;
308  LiVESXScreen *screen;
310 
312 enum {
322 };
323 
324 #define BIN_YOUTUBE_DL "youtube-dl"
325 
326 // image types (string)
327 #define LIVES_IMAGE_TYPE_JPEG "jpeg"
328 #define LIVES_IMAGE_TYPE_PNG "png"
329 
330 // audio types (string)
331 #define LIVES_AUDIO_TYPE_PCM "pcm"
332 
333 // file extensions
334 #define LIVES_FILE_EXT_PNG "png"
335 #define LIVES_FILE_EXT_JPG "jpg"
336 #define LIVES_FILE_EXT_MGK "mgk"
337 #define LIVES_FILE_EXT_PRE "pre"
338 #define LIVES_FILE_EXT_NEW "new"
339 #define LIVES_FILE_EXT_SCRAP "scrap"
340 #define LIVES_FILE_EXT_TEXT "txt"
341 #define LIVES_FILE_EXT_BAK "bak"
342 #define LIVES_FILE_EXT_WEBM "webm"
343 #define LIVES_FILE_EXT_MP4 "mp4"
344 
345 #define LIVES_FILE_EXT_BACKUP "lv1"
346 #define LIVES_FILE_EXT_PROJECT "lv2"
347 
348 #define LIVES_FILE_EXT_TAR_GZ "tar.gz"
349 
350 #define LIVES_FILE_EXT_SRT "srt"
351 #define LIVES_FILE_EXT_SUB "sub"
352 
353 #define LIVES_FILE_EXT_PCM "pcm"
354 #define LIVES_FILE_EXT_WAV "wav"
355 
356 #define LIVES_FILE_EXT_LAYOUT "lay"
357 
358 #define LIVES_FILE_EXT_RFX_SCRIPT "script"
359 
360 // file names
361 #define CLIP_AUDIO_FILENAME "audio"
362 
363 #define WORKDIR_LITERAL "workdir"
364 #define WORKDIR_LITERAL_LEN (strlen(WORKDIR_LITERAL))
365 
366 #define THEME_LITERAL "theme"
367 #define THEME_SEP_IMG_LITERAL "main"
368 #define THEME_FRAME_IMG_LITERAL "frame"
369 #define THEME_HEADER "header.theme"
370 #define THEME_HEADER_2 "header.theme_gtk2"
371 
372 #define LIVES_THEME_CAMERA "camera"
373 
374 #define LIVES_CLIP_HEADER "header.lives"
375 #define LIVES_CLIP_HEADER_OLD "header"
376 #define LIVES_CLIP_HEADER_OLD2 "header2"
377 
378 #define FX_DEFS_FILENAME "fxdefs"
379 #define FX_SIZES_FILENAME "fxsizes"
380 
381 #define FX_DEFS_VERSIONSTRING_1_1 "LiVES filter defaults file version 1.1"
382 #define FX_SIZES_VERSIONSTRING_2 "LiVES generator default sizes file version 2"
383 
384 #define SUBS_FILENAME "subs"
385 
386 #define CLIP_ORDER_FILENAME "order"
387 
388 #define SET_LOCK_FILENAME "lock"
389 
390 #define LAYOUT_MAP_FILENAME "layout.map"
391 
392 #define LAYOUT_NUMBERING_FILENAME "layout_numbering"
393 #define LAYOUT_FILENAME "layout"
394 
395 // directory names
396 #define LAYOUTS_DIRNAME "layouts"
397 #define CLIPS_DIRNAME "clips"
398 #define IMPORTS_DIRNAME "imports"
399 
400 // filters
401 
402 #define LIVES_SUBS_FILTER {"*.srt", "*.sub", NULL}
403 #define LIVES_AUDIO_LOAD_FILTER {"*.it", "*.mp3", "*.wav", "*.ogg", "*.mod", "*.xm", "*.wma", "*.flac", NULL}
404 #define LIVES_TV_CARD_TYPES {"v4l2", "v4l", "bsdbt848", "dummy", "*autodetect", "yv12", "*", "rgb32", "rgb24", "rgb16", "rgb15", "uyvy", "yuy2", "i2420", NULL}
405 
406 #define NUM_VOL_LIGHTS 10
407 
408 typedef struct {
409  double top;
410  double left;
411  double width;
412  double height;
413 } lives_rect_t;
414 
415 typedef struct {
416  char *name;
417  lives_rect_t *rects; // for future use
418  int z_index; // for future use
420 
422 #define RFX_TOOL_MENU_POSN 2
423 
425 #define MAINW_MSG_SIZE 8192
426 
427 typedef struct {
428  char msg[8192];
429 
430  // files
433  lives_clip_t *files[MAX_FILES + 1];
434  char vid_load_dir[PATH_MAX];
435  char vid_save_dir[PATH_MAX];
436  char vid_dl_dir[PATH_MAX];
437  char audio_dir[PATH_MAX];
438  char image_dir[PATH_MAX];
439  char proj_load_dir[PATH_MAX];
440  char proj_save_dir[PATH_MAX];
441  char recent_file[PATH_MAX];
445 
447  LiVESList *cliplist;
448 
449  LiVESSList *clips_group;
450 
452 #define MAX_SET_NAME_LEN 128
453  char set_name[256]; // actually 128 is the (soft) limit now, filesystem encoding
454 
455  // playback
456  boolean faded;
457  boolean double_size;
458  boolean sep_win;
459  boolean fs;
460  boolean loop;
461  boolean loop_cont;
462  boolean ping_pong;
463  boolean mute;
464  boolean must_resize;
467 
468  boolean ext_playback;
469  volatile boolean ext_audio;
470  volatile boolean ext_keyboard;
471 
472  int ptr_x;
473  int ptr_y;
474 
475  double fps_measure;
476 
477  // flags
481  boolean is_ready;
482  boolean configured;
483  boolean fatal;
484  boolean opening_loc;
485  boolean dvgrab_preview;
487  boolean clip_switched;
488  boolean record;
489 
490  boolean in_fs_preview;
492 
493  boolean error;
494 
496 
497  weed_plant_t *event_list;
498  weed_plant_t *stored_event_list;
502  char stored_layout_name[PATH_MAX];
503 
506  unsigned char *sl_undo_mem;
508 
509  short endian;
510 
511  int pwidth;
512  int pheight;
513 
515 
516  boolean noframedrop;
517 
519  int play_end;
520  boolean playing_sel;
521  boolean preview;
522 
523  boolean is_processing;
524  boolean is_rendering;
525  boolean resizing;
526 
527  boolean foreign;
528  boolean record_foreign;
529  boolean t_hidden;
530 
531  // recording from an external window
532  uint32_t foreign_key;
533 
534 #ifdef GUI_GTK
535 #if GTK_CHECK_VERSION(3, 0, 0)
536  Window foreign_id;
537 #else
538  GdkNativeWindow foreign_id;
539  GdkColormap *foreign_cmap;
540  GdkPixmap *foreign_map;
541 #endif
542 #else
543  Window foreign_id;
544 #endif
545 
546  LiVESXWindow *foreign_window;
551 
553  boolean nervous;
554 
559 
560  // for the merge dialog
566 
567  volatile uint64_t rte;
568 
570  int rte_keys;
572  double blend_factor;
573 
576 
578 
580 
582  volatile int playing_file;
583 
586 
588  lives_pgid_t alives_pgid; // 0, or procid for autolives
589 
590  boolean toy_go_wild;
591 
592  // copy/paste
593  boolean insert_after;
594  boolean with_sound;
595 
596  // selection
598  short sel_move;
599 
601 #define SEL_MOVE_START 1
602 #define SEL_MOVE_END 2
603 #define SEL_MOVE_AUTO 3
604 #define SEL_MOVE_SINGLE 4
605 
606  // prefs (Save on exit)
608 
610 
614 
617 
619 
620  // end of static-ish info
623 
624  char first_info_file[PATH_MAX];
625  boolean leave_files;
626  boolean was_set;
627 
630  boolean open_deint;
631 
634 
637 
639  double aframeno;
640 
641  // ticks are measured in 1/TICKS_PER_SECOND_DBL of a second (by defalt a tick is 10 nano seconds)
642 
643  // for the internal player
644  double period;
645  volatile uint64_t startticks;
646  uint64_t timeout_ticks;
647  uint64_t origsecs;
648  uint64_t origusecs;
649  uint64_t offsetticks;
650  volatile uint64_t currticks;
651  uint64_t deltaticks;
652  uint64_t firstticks;
653  uint64_t stream_ticks;
655 
656  int size_warn;
657 
660  boolean noswitch;
661  int new_clip;
662 
664 
665  boolean reverse_pb;
666 
668  boolean osc_block;
669 
670  int osc_auto;
671 
675  float osc_enc_fps;
676 
680  double fixed_fpsd;
681 
683  boolean write_vpp_file;
684 
685  volatile short scratch;
686 #define SCRATCH_NONE 0
687 #define SCRATCH_BACK -1
688 #define SCRATCH_FWD 1
689 #define SCRATCH_JUMP 2
690 
693  lives_render_error_t (*progress_fn)(boolean reset);
694 
695  volatile boolean threaded_dialog;
696 
697  // fx controls
698  double fx1_val;
699  double fx2_val;
700  double fx3_val;
701  double fx4_val;
702  double fx5_val;
703  double fx6_val;
704 
709 
710  int fx1_step;
711  int fx2_step;
712  int fx3_step;
713  int fx4_step;
714 
715  int fx1_end;
716  int fx2_end;
717  int fx3_end;
718  int fx4_end;
719 
720  boolean fx1_bool;
721  boolean fx2_bool;
722  boolean fx3_bool;
723  boolean fx4_bool;
724  boolean fx5_bool;
725  boolean fx6_bool;
726 
727  boolean effects_paused;
729 
730  uint32_t kb_timer;
731 
732  //function pointers
750 
751  // for jack transport
752  boolean jack_can_stop;
753  boolean jack_can_start;
754 
755  volatile boolean video_seek_ready;
756 
757  // selection pointers
759  boolean mouse_blocked;
760 
762  int clipstore[FN_KEYS - 1];
763 
765  uint32_t ksnoop;
766 
767  lives_mt *multitrack;
768 
770 
771  LiVESWidget *frame1;
772  LiVESWidget *frame2;
773  LiVESWidget *freventbox0;
774  LiVESWidget *freventbox1;
775  LiVESWidget *playframe;
776  LiVESWidget *pl_eventbox;
777  LiVESWidget *pf_grid;
778  LiVESPixbuf *imframe;
779  LiVESPixbuf *camframe;
780  LiVESPixbuf *imsep;
781  LiVESWidget *LiVES;
782  LiVESWidget *open;
783  LiVESWidget *open_sel;
784  LiVESWidget *open_vcd_menu;
785  LiVESWidget *open_vcd_submenu;
786  LiVESWidget *open_vcd;
787  LiVESWidget *open_dvd;
788  LiVESWidget *open_loc;
789  LiVESWidget *open_utube;
790  LiVESWidget *open_loc_menu;
791  LiVESWidget *open_loc_submenu;
792  LiVESWidget *open_yuv4m;
793  LiVESWidget *open_lives2lives;
794  LiVESWidget *send_lives2lives;
795  LiVESWidget *open_device_menu;
796  LiVESWidget *open_device_submenu;
797  LiVESWidget *open_firewire;
798  LiVESWidget *open_hfirewire;
799  LiVESWidget *unicap;
800  LiVESWidget *firewire;
801  LiVESWidget *tvdev;
802  LiVESWidget *recent_menu;
803  LiVESWidget *recent_submenu;
804  LiVESWidget *recent[N_RECENT_FILES];
805  LiVESWidget *save_as;
806 #ifdef LIBAV_TRANSCODE
807  LiVESWidget *transcode;
808 #endif
809  LiVESWidget *backup;
810  LiVESWidget *restore;
811  LiVESWidget *save_selection;
812  LiVESWidget *close;
813  LiVESWidget *import_proj;
814  LiVESWidget *export_proj;
815  LiVESWidget *import_theme;
816  LiVESWidget *export_theme;
817  LiVESWidget *sw_sound;
818  LiVESWidget *clear_ds;
819  LiVESWidget *ccpd_sound;
820  LiVESWidget *quit;
821  LiVESWidget *undo;
822  LiVESWidget *redo;
823  LiVESWidget *copy;
824  LiVESWidget *cut;
825  LiVESWidget *insert;
826  LiVESWidget *paste_as_new;
827  LiVESWidget *merge;
828  LiVESWidget *xdelete;
829  LiVESWidget *select_submenu;
830  LiVESWidget *select_all;
831  LiVESWidget *select_new;
832  LiVESWidget *select_to_end;
833  LiVESWidget *select_from_start;
834  LiVESWidget *select_start_only;
835  LiVESWidget *select_end_only;
836  LiVESWidget *select_last;
837  LiVESWidget *select_invert;
838  LiVESWidget *lock_selwidth;
839  LiVESWidget *record_perf;
840  LiVESWidget *playall;
841  LiVESWidget *playsel;
842  LiVESWidget *playclip;
843  LiVESWidget *rev_clipboard;
844  LiVESWidget *stop;
845  LiVESWidget *rewind;
846  LiVESWidget *full_screen;
847  LiVESWidget *loop_video;
848  LiVESWidget *loop_continue;
849  LiVESWidget *loop_ping_pong;
850  LiVESWidget *sepwin;
851  LiVESWidget *mute_audio;
852  LiVESWidget *sticky;
853  LiVESWidget *showfct;
854  LiVESWidget *showsubs;
855  LiVESWidget *letter;
856  LiVESWidget *aload_subs;
857  LiVESWidget *load_subs;
858  LiVESWidget *erase_subs;
859  LiVESWidget *fade;
860  LiVESWidget *dsize;
861 
862  LiVESWidget *midi_learn;
863  LiVESWidget *midi_save;
864  LiVESWidget *change_speed;
865  LiVESWidget *capture;
866  LiVESWidget *load_audio;
867  LiVESWidget *load_cdtrack;
868  LiVESWidget *eject_cd;
869  LiVESWidget *recaudio_submenu;
870  LiVESWidget *recaudio_clip;
871  LiVESWidget *recaudio_sel;
872  LiVESWidget *export_submenu;
873  LiVESWidget *export_allaudio;
874  LiVESWidget *export_selaudio;
875  LiVESWidget *append_audio;
876  LiVESWidget *trim_submenu;
877  LiVESWidget *trim_audio;
878  LiVESWidget *trim_to_pstart;
879  LiVESWidget *delaudio_submenu;
880  LiVESWidget *delsel_audio;
881  LiVESWidget *delall_audio;
882  LiVESWidget *ins_silence;
883  LiVESWidget *fade_aud_in;
884  LiVESWidget *fade_aud_out;
885  LiVESWidget *resample_audio;
886  LiVESWidget *adj_audio_sync;
887  LiVESWidget *resample_video;
888  LiVESWidget *preferences;
889  LiVESWidget *rename;
890  LiVESWidget *toy_none;
891  LiVESWidget *toy_random_frames;
892  LiVESWidget *toy_tv;
893  LiVESWidget *autolives;
894  LiVESWidget *show_file_info;
895  LiVESWidget *show_file_comments;
896  LiVESWidget *show_clipboard_info;
897  LiVESWidget *show_messages;
898  LiVESWidget *show_layout_errors;
899  LiVESWidget *sel_label;
900  LiVESAccelGroup *accel_group;
901  LiVESWidget *sep_image;
902  LiVESWidget *hruler;
903  LiVESWidget *vj_save_set;
904  LiVESWidget *vj_load_set;
905  LiVESWidget *vj_show_keys;
906  LiVESWidget *rte_defs_menu;
907  LiVESWidget *rte_defs;
908  LiVESWidget *save_rte_defs;
909  LiVESWidget *vj_reset;
910  LiVESWidget *vj_realize;
911  LiVESWidget *mt_menu;
912  LiVESWidget *troubleshoot;
913  LiVESWidget *export_custom_rfx;
914  LiVESWidget *delete_custom_rfx;
915  LiVESWidget *edit_test_rfx;
916  LiVESWidget *rename_test_rfx;
917  LiVESWidget *delete_test_rfx;
918  LiVESWidget *promote_test_rfx;
919 
920  LiVESWidget *vol_checkbuttons[NUM_VOL_LIGHTS][2];
921 
923  LiVESWidget *fs_playarea;
924  LiVESWidget *fs_playalign;
925  LiVESWidget *fs_playframe;
926 
928  LiVESWidget *framedraw;
929  LiVESWidget *framedraw_reset;
930  LiVESWidget *framedraw_preview;
931  LiVESWidget *framedraw_spinbutton;
932  LiVESWidget *framedraw_scale;
933  LiVESWidget *framedraw_maskbox;
934  LiVESWidget *framedraw_opscale;
935  LiVESWidget *framedraw_cbutton;
936  LiVESWidget *fd_frame;
937 
938  weed_plant_t *fd_layer_orig;
939  weed_plant_t *fd_layer;
940 
941  LiVESWidget *hbox3;
942 
943  // bars here -> actually text above bars
944  LiVESWidget *vidbar;
945  LiVESWidget *laudbar;
946  LiVESWidget *raudbar;
947 
948  LiVESWidget *spinbutton_end;
949  LiVESWidget *spinbutton_start;
950 
951  LiVESWidget *sa_button;
952  LiVESWidget *sa_hbox;
953  LiVESWidget *sa_toolbar;
954 
955  LiVESWidget *arrow1;
956  LiVESWidget *arrow2;
957 
959 
960  weed_plant_t *filter_map; // the video filter map for rendering
961  weed_plant_t *afilter_map; // the audio filter map for renering
962  weed_plant_t *audio_event; // event for audio render tracking
963  void ** *pchains; // parameter value chains for interpolation
964 
965  // for the internal player
966  LiVESWidget *play_image;
967  LiVESWidget *play_window;
968  weed_plant_t *frame_layer;
969  weed_plant_t *blend_layer;
970  LiVESWidget *plug;
971 
972  // frame preview in the separate window
973  LiVESWidget *preview_box;
974  LiVESWidget *preview_image;
975  LiVESWidget *preview_spinbutton;
976  LiVESWidget *preview_scale;
977  LiVESWidget *preview_hbox;
980  int prv_link;
981 #define PRV_FREE 0
982 #define PRV_START 1
983 #define PRV_END 2
984 #define PRV_PTR 3
985 
986  LiVESWidget *start_image;
987  LiVESWidget *end_image;
988  LiVESWidget *playarea;
989  LiVESWidget *hseparator;
990  LiVESWidget *message_box;
991  LiVESWidget *msg_area;
992  LiVESWidget *msg_scrollbar;
993  LiVESAdjustment *msg_adj;
994 
995  LiVESWidget *clipsmenu;
996  LiVESWidget *eventbox;
997  LiVESWidget *eventbox2;
998  LiVESWidget *eventbox3;
999  LiVESWidget *eventbox4;
1000  LiVESWidget *eventbox5;
1001 
1002  // toolbar buttons
1003  LiVESWidget *t_stopbutton;
1004  LiVESWidget *t_bckground;
1005  LiVESWidget *t_fullscreen;
1006  LiVESWidget *t_sepwin;
1007  LiVESWidget *t_double;
1008  LiVESWidget *t_infobutton;
1009 
1010  LiVESWidget *t_slower;
1011  LiVESWidget *t_faster;
1012  LiVESWidget *t_forward;
1013  LiVESWidget *t_back;
1014 
1015  LiVESWidget *t_hide;
1016 
1017  LiVESWidget *toolbar;
1018  LiVESWidget *tb_hbox;
1019  LiVESWidget *fs1;
1020  LiVESWidget *top_vbox;
1021 
1022  LiVESWidget *l1_tb;
1023  LiVESWidget *l2_tb;
1024  LiVESWidget *l3_tb;
1025 
1028 
1031 
1032  LiVESWidget *volume_scale;
1033  LiVESWidget *vol_toolitem;
1034  LiVESWidget *vol_label;
1035 
1036  // menubar buttons
1037  LiVESWidget *btoolbar;
1038  LiVESWidget *m_sepwinbutton;
1039  LiVESWidget *m_playbutton;
1040  LiVESWidget *m_stopbutton;
1041  LiVESWidget *m_playselbutton;
1042  LiVESWidget *m_rewindbutton;
1043  LiVESWidget *m_loopbutton;
1044  LiVESWidget *m_mutebutton;
1045  LiVESWidget *menu_hbox;
1046  LiVESWidget *menubar;
1047 
1048  // separate window
1049  int opwx;
1050  int opwy;
1051 
1052  // sepwin buttons
1053  LiVESWidget *preview_controls;
1054  LiVESWidget *p_playbutton;
1055  LiVESWidget *p_playselbutton;
1056  LiVESWidget *p_rewindbutton;
1057  LiVESWidget *p_loopbutton;
1058  LiVESWidget *p_mutebutton;
1059  LiVESWidget *p_mute_img;
1060 
1061  // timer bars
1062  LiVESWidget *video_draw;
1063  LiVESWidget *laudio_draw;
1064  LiVESWidget *raudio_draw;
1065 
1066  lives_painter_surface_t *video_drawable;
1067  lives_painter_surface_t *laudio_drawable;
1068  lives_painter_surface_t *raudio_drawable;
1069  lives_painter_surface_t *blank_laudio_drawable;
1070  lives_painter_surface_t *blank_raudio_drawable;
1071 
1072  // framecounter
1073  LiVESWidget *framebar;
1074  LiVESWidget *framecounter;
1075  LiVESWidget *spinbutton_pb_fps;
1076  LiVESWidget *vps_label;
1077  LiVESWidget *banner;
1078 
1079  // (sub)menus
1080  LiVESWidget *files_menu;
1081  LiVESWidget *edit_menu;
1082  LiVESWidget *play_menu;
1083  LiVESWidget *effects_menu;
1084  LiVESWidget *tools_menu;
1085  LiVESWidget *audio_menu;
1086  LiVESWidget *info_menu;
1087  LiVESWidget *advanced_menu;
1088  LiVESWidget *vj_menu;
1089  LiVESWidget *toys_menu;
1090  LiVESWidget *help_menu;
1091 
1092  // rendered effects
1093  LiVESWidget *utilities_menu;
1094  LiVESWidget *utilities_submenu;
1095  LiVESWidget *gens_menu;
1096  LiVESWidget *gens_submenu;
1097  LiVESWidget *run_test_rfx_submenu;
1098  LiVESWidget *run_test_rfx_menu;
1099  LiVESWidget *custom_effects_menu;
1102  LiVESWidget *custom_tools_menu;
1103  LiVESWidget *custom_tools_submenu;
1105  LiVESWidget *custom_gens_menu;
1106  LiVESWidget *custom_gens_submenu;
1110  LiVESWidget *rte_separator;
1111 
1115 
1116  LiVESWidget *resize_menuitem;
1117 
1119  boolean only_close;
1120  volatile boolean is_exiting;
1121 
1123 
1124 #ifdef ENABLE_JACK
1125  jack_driver_t *jackd;
1126  jack_driver_t *jackd_read;
1127  boolean jack_inited;
1128 #define RT_AUDIO
1129 #else
1130  void *jackd;
1131  void *jackd_read;
1132 #endif
1133 
1134 #ifdef HAVE_PULSE_AUDIO
1135  pulse_driver_t *pulsed;
1136  pulse_driver_t *pulsed_read;
1137 #define RT_AUDIO
1138 #else
1139  void *pulsed;
1141 #endif
1142 
1143  // layouts
1144  LiVESTextBuffer *layout_textbuffer;
1146  LiVESList *current_layouts_map;
1147 
1151 
1153  LiVESList *xlays;
1154 
1157 
1159 
1160  boolean no_exit;
1161 
1162  mt_opts multi_opts;
1163 
1164  volatile int rec_aclip;
1165  volatile double rec_avel;
1166  volatile double rec_aseek;
1167 
1168  LiVESMemVTable alt_vtable;
1169 
1170  pthread_mutex_t gtk_mutex;
1171  pthread_mutex_t interp_mutex;
1172 
1173  pthread_mutex_t abuf_mutex;
1174  pthread_mutex_t abuf_frame_mutex;
1175  pthread_mutex_t fx_mutex[FX_KEYS_MAX];
1176  pthread_mutex_t fxd_active_mutex;
1177  pthread_mutex_t event_list_mutex;
1178  pthread_mutex_t clip_list_mutex;
1179  pthread_mutex_t vpp_stream_mutex;
1180  pthread_mutex_t cache_buffer_mutex;
1181  pthread_mutex_t audio_filewriteend_mutex;
1182  pthread_mutex_t audio_resync_mutex;
1183  pthread_mutex_t instance_ref_mutex;
1184 
1186 
1188  fx_candidates[MAX_FX_CANDIDATE_TYPES];
1189 
1190  LiVESList *cached_list;
1192 
1193  LiVESList *file_buffers;
1194 
1195  volatile float volume;
1196 
1199  int64_t rec_samples;
1200  double rec_fps;
1206 
1208 
1209  boolean no_recurse;
1210 
1211  char *string_constants[NUM_LIVES_STRING_CONSTANTS];
1212  char *any_string;
1213  char *none_string;
1216  char *cl_string;
1217 
1219 
1220  boolean show_procd;
1221 
1223  boolean no_interp;
1224 
1225  weed_timecode_t cevent_tc;
1226 
1227  boolean opening_multi;
1228 
1229  boolean record_paused;
1230 
1232 
1234 
1237  boolean is_generating;
1238 
1239  boolean keep_pre;
1240 
1241  LiVESWidget *textwidget_focus;
1242 
1244 
1247 
1249  boolean ext_cntl[MAX_EXT_CNTL];
1250 
1251 #ifdef ALSA_MIDI
1252  snd_seq_t *seq_handle;
1253  int alsa_midi_port;
1254  int alsa_midi_dummy;
1255 #endif
1256 
1258 
1259  weed_plant_t *rte_textparm;
1260 
1262  volatile int abufs_to_fill;
1263 
1264  LiVESWidget *splash_window;
1265  LiVESWidget *splash_label;
1266  LiVESWidget *splash_progress;
1267 
1268 #define SPLASH_LEVEL_BEGIN .0
1269 #define SPLASH_LEVEL_START_GUI .2
1270 #define SPLASH_LEVEL_LOAD_RTE .4
1271 #define SPLASH_LEVEL_LOAD_APLAYER .6
1272 #define SPLASH_LEVEL_LOAD_RFX .8
1273 #define SPLASH_LEVEL_COMPLETE 1.
1274 
1276 
1277  boolean soft_debug;
1278 
1280  LiVESIOChannel *iochan;
1281  LiVESTextView *optextview;
1282 
1286 
1289  LiVESList *decoder_list;
1290 
1291  boolean go_away;
1292  boolean debug;
1293 
1295 
1296  char **fonts_array;
1297  int nfonts;
1298 
1299  LiVESTargetEntry *target_table;
1300 
1301  LiVESList *videodevs;
1302 
1303  char vpp_defs_file[PATH_MAX];
1304 
1305  int log_fd;
1306 
1308 
1309 #define LIVES_MAX_ALARMS 1024
1310 #define LIVES_NO_ALARM_TICKS -1
1311 
1312  int64_t alarms[LIVES_MAX_ALARMS];
1314 
1315  // stuff specific to audio gens (will be extended to all rt audio fx)
1316  volatile int agen_key;
1317  volatile boolean agen_needs_reinit;
1318  uint64_t agen_samps_count;
1319 
1321 
1322  boolean com_failed;
1323  boolean write_failed;
1324  boolean read_failed;
1325  boolean chdir_failed;
1326 
1330 
1332  boolean startup_error;
1333 
1334  boolean kb_timer_end;
1335 
1336  boolean draw_blocked; // block drawing of timeline bars : prevents an infinite loop
1337 
1340 
1344 
1346 
1348 
1350 
1351  lives_pconnect_t *pconx;
1352  lives_cconnect_t *cconx;
1353 
1355 
1358 
1361 
1362  uint32_t signal_caught;
1364 
1365  boolean ce_thumbs;
1366  boolean ce_upd_clip;
1367 
1368 #define SCREEN_AREA_NONE -1
1369 #define SCREEN_AREA_FOREGROUND 0
1370 #define SCREEN_AREA_BACKGROUND 1
1371 #define SCREEN_AREA_USER_DEFINED1 2
1372 
1373  int n_screen_areas; // number of screen areas
1374  int active_sa_fx; // active screen area for effects
1375  int active_sa_clips; // active screen area for clips
1376  lives_screen_area_t *screen_areas; // array of screen areas
1377 
1378  int active_track_list[MAX_TRACKS];
1379  boolean ext_src_used[MAX_FILES];
1380  lives_decoder_t *track_decoders[MAX_TRACKS];
1381  int old_active_track_list[MAX_TRACKS];
1382 
1384  boolean fx_is_auto;
1385 
1390 
1391  pthread_t *libthread;
1393 
1394  boolean interactive;
1395 
1397 
1398  char frameblank_path[PATH_MAX];
1399  char sepimg_path[PATH_MAX];
1400 
1402 
1403  LiVESPixbuf *scrap_pixbuf;
1404 
1405  volatile LiVESWidget *stop_emmission;
1406 
1408 
1409  weed_plant_t *msg_list;
1411  weed_plant_t *ref_message; // weak ref
1413 
1416 } mainwindow;
1417 
1418 // weed plants with type >= 512 are reserved for custom use, so let's take advantage of that
1419 #define WEED_PLANT_LIVES 31337
1420 
1421 #define WEED_LEAF_LIVES_SUBTYPE "subtype"
1422 #define WEED_LEAF_LIVES_MESSAGE_STRING "message_string"
1423 
1424 #define LIVES_WEED_SUBTYPE_MESSAGE 1
1425 #define LIVES_WEED_SUBTYPE_WIDGET 2
1426 
1427 extern _palette *palette;
1428 
1429 typedef struct {
1431 
1432  LiVESWidget *merge_dialog;
1433  LiVESWidget *ins_frame_button;
1434  LiVESWidget *drop_frame_button;
1435  LiVESWidget *param_vbox;
1436  LiVESWidget *spinbutton_loops;
1437 
1438  boolean loop_to_fit;
1439  boolean align_start;
1440  boolean ins_frames;
1441 
1443  LiVESList *trans_list;
1444 } _merge_opts;
1445 
1446 extern _merge_opts *merge_opts;
1447 
1448 LiVESWidget *fx_dialog[2];
1449 
1450 #ifndef IS_MINGW
1451 #define LIVES_SIGKILL SIGKILL
1452 #define LIVES_SIGINT SIGINT
1453 #define LIVES_SIGPIPE SIGPIPE
1454 #define LIVES_SIGUSR1 SIGUSR1
1455 #define LIVES_SIGABRT SIGABRT
1456 #define LIVES_SIGSEGV SIGSEGV
1457 #define LIVES_SIGHUP SIGHUP
1458 #define LIVES_SIGTERM SIGTERM
1459 #define LIVES_SIGQUIT SIGQUIT
1460 #else
1461 #define LIVES_SIGKILL SIGTERM
1462 #define LIVES_SIGINT SIGINT
1463 #define LIVES_SIGPIPE SIGPIPE
1464 #define LIVES_SIGUSR1 SIGUSR1
1465 #define LIVES_SIGABRT SIGABRT
1466 #define LIVES_SIGSEGV SIGSEGV
1467 #define LIVES_SIGHUP SIGINT
1468 #define LIVES_SIGTERM SIGTERM
1469 #define LIVES_SIGQUIT SIGQUIT
1470 #endif
1471 
1472 #ifdef ENABLE_JACK
1473 volatile aserver_message_t jack_message;
1474 volatile aserver_message_t jack_message2;
1475 #endif
1476 
1477 #ifdef HAVE_PULSE_AUDIO
1478 volatile aserver_message_t pulse_message;
1479 volatile aserver_message_t pulse_message2;
1480 #endif
1481 
1482 #endif // HAS_LIVES_MAINWINDOW_H
LiVESWidget * spinbutton_pb_fps
Definition: mainwindow.h:1075
char * recommended_string
localised text saying "recommended", for encoder and output format
Definition: mainwindow.h:1214
lives_colRGBA64_t mt_evbox
Definition: mainwindow.h:294
ulong spin_end_func
Definition: mainwindow.h:736
char * write_failed_file
Definition: mainwindow.h:1342
Definition: mainwindow.h:197
boolean fx4_bool
Definition: mainwindow.h:723
Definition: mainwindow.h:193
boolean last_transition_loop_to_fit
Definition: mainwindow.h:563
lives_rect_t * rects
Definition: mainwindow.h:417
#define MAX_TRACKS
Definition: multitrack.h:998
int audio_end
Definition: mainwindow.h:466
uint64_t aud_data_written
Definition: mainwindow.h:1401
boolean record_foreign
Definition: mainwindow.h:528
lives_colRGBA64_t ce_unsel
Definition: mainwindow.h:297
boolean interactive
Definition: mainwindow.h:1394
LiVESWidget * preferences
Definition: mainwindow.h:888
LiVESWidget * playarea
Definition: mainwindow.h:988
LiVESWidget * open_vcd
Definition: mainwindow.h:786
int foreign_height
Definition: mainwindow.h:548
LiVESWidget * open_firewire
Definition: mainwindow.h:797
#define MAX_FILES
max files is actually 1 more than this, since file 0 is the clipboard
Definition: main.h:143
LiVESWidgetColor light_red
Definition: mainwindow.h:261
int64_t rec_samples
Definition: mainwindow.h:1199
ulong laudbar_func
Definition: mainwindow.h:739
pthread_t * libthread
Definition: mainwindow.h:1391
pthread_mutex_t abuf_mutex
used to synch audio buffer request count - shared between audio and video threads ...
Definition: mainwindow.h:1173
Definition: mainwindow.h:316
ulong fullscreen_cb_func
Definition: mainwindow.h:747
LiVESTextBuffer * layout_textbuffer
stores layout errors
Definition: mainwindow.h:1144
int rowstride_alignment
Definition: mainwindow.h:1356
LiVESWidget * ccpd_sound
Definition: mainwindow.h:819
int pwidth
playback width in RGB pixels
Definition: mainwindow.h:511
LiVESWidget * frame1
Definition: mainwindow.h:771
LiVESWidget * help_menu
Definition: mainwindow.h:1090
LiVESWidget * custom_effects_submenu
Definition: mainwindow.h:1100
Definition: mainwindow.h:195
LiVESWidgetColor normal_fore
Definition: mainwindow.h:277
LiVESWidget * arrow1
Definition: mainwindow.h:955
Definition: mainwindow.h:220
int fx2_step
Definition: mainwindow.h:711
ulong int_audio_func
Definition: mainwindow.h:1029
LiVESWidget * autolives
Definition: mainwindow.h:893
double fx5_val
Definition: mainwindow.h:702
boolean last_transition_ins_frames
Definition: mainwindow.h:565
size_t sl_undo_buffer_used
Definition: mainwindow.h:505
int * frame_index
Definition: mainwindow.h:1114
ulong ins_frame_function
Definition: mainwindow.h:1430
boolean internal_messaging
internal fx
Definition: mainwindow.h:692
LiVESWidget * redo
Definition: mainwindow.h:822
LiVESPixbuf * camframe
Definition: mainwindow.h:779
LiVESWidget * fs_playalign
Definition: mainwindow.h:924
Definition: mainwindow.h:182
int active_sa_fx
Definition: mainwindow.h:1374
Definition: mainwindow.h:319
int fx4_step
Definition: mainwindow.h:713
LiVESXDisplay * disp
Definition: mainwindow.h:307
LiVESWidget * ins_silence
Definition: mainwindow.h:882
#define N_RECENT_FILES
need this for event_list_t *
Definition: main.h:374
LiVESWidget * open
Definition: mainwindow.h:782
lives_colRGBA64_t frame_surround
Definition: mainwindow.h:292
Definition: mainwindow.h:184
set in set_palette_colours()
Definition: mainwindow.h:248
LiVESWidget * letter
Definition: mainwindow.h:855
LiVESWidget * msg_scrollbar
Definition: mainwindow.h:992
LiVESWidget * record_perf
Definition: mainwindow.h:839
double top
Definition: mainwindow.h:409
LiVESList * decoder_list
Definition: mainwindow.h:1289
LiVESWidget * full_screen
Definition: mainwindow.h:846
volatile LiVESWidget * stop_emmission
Definition: mainwindow.h:1405
LiVESWidget * recent_menu
Definition: mainwindow.h:802
volatile boolean is_exiting
set during shutdown (inverse of only_close then)
Definition: mainwindow.h:1120
Definition: mainwindow.h:217
lives_render_error_t
various return conditions from rendering (multitrack or after recording)
Definition: mainwindow.h:188
volatile lives_rfx_t * vrfx_update
Definition: mainwindow.h:1185
int ptr_x
Definition: mainwindow.h:472
Definition: mainwindow.h:219
Definition: mainwindow.h:183
#define PATH_MAX
Definition: main.h:249
Definition: mainwindow.h:173
LiVESWidget * eventbox3
Definition: mainwindow.h:998
int active_sa_clips
Definition: mainwindow.h:1375
LiVESWidget * xdelete
Definition: mainwindow.h:828
LiVESWidget * t_stopbutton
Definition: mainwindow.h:1003
LiVESWidget * rev_clipboard
Definition: mainwindow.h:843
lives_painter_surface_t * raudio_drawable
Definition: mainwindow.h:1068
LiVESWidget * laudbar
Definition: mainwindow.h:945
LiVESWidget * clear_ds
Definition: mainwindow.h:818
LiVESWidget * plug
Definition: mainwindow.h:970
double fixed_fpsd
<=0. means free playback
Definition: mainwindow.h:680
LiVESWidget * showsubs
Definition: mainwindow.h:854
LiVESWidget * export_submenu
Definition: mainwindow.h:872
lives_dialog_t
Definition: mainwindow.h:176
LiVESWidget * mute_audio
Definition: mainwindow.h:851
boolean is_ready
Definition: mainwindow.h:481
lives_pgid_t alives_pgid
Definition: mainwindow.h:588
LiVESWidget * vj_save_set
Definition: mainwindow.h:903
LiVESWidget * play_window
Definition: mainwindow.h:967
LiVESWidget * open_dvd
Definition: mainwindow.h:787
LiVESWidget * select_from_start
Definition: mainwindow.h:833
LiVESWidget * framedraw_maskbox
box for opacity controls
Definition: mainwindow.h:933
boolean effects_paused
Definition: mainwindow.h:727
lives_toy_t
toy types
Definition: mainwindow.h:170
boolean record
Definition: mainwindow.h:488
LiVESWidget * m_stopbutton
Definition: mainwindow.h:1040
LiVESWidget * export_proj
Definition: mainwindow.h:814
LiVESWidget * spinbutton_start
Definition: mainwindow.h:949
LiVESWidget * preview_controls
Definition: mainwindow.h:1053
Definition: audio.h:73
LiVESWidget * change_speed
Definition: mainwindow.h:864
boolean prefs_need_restart
Definition: mainwindow.h:609
LiVESWidget * dsize
Definition: mainwindow.h:860
LiVESWidgetColor white
Definition: mainwindow.h:258
int rec_asamps
Definition: mainwindow.h:1204
int lives_pgid_t
Definition: main.h:77
LiVESWidget * rename
Definition: mainwindow.h:889
LiVESWidget * export_allaudio
Definition: mainwindow.h:873
LiVESWidget * load_subs
Definition: mainwindow.h:857
LiVESWidget * load_audio
Definition: mainwindow.h:866
weed_plant_t * ref_message
Definition: mainwindow.h:1411
LiVESWidget * delete_test_rfx
Definition: mainwindow.h:917
LiVESWidget * run_test_rfx_menu
Definition: mainwindow.h:1098
Definition: mainwindow.h:190
LiVESWidget * audio_menu
Definition: mainwindow.h:1085
LiVESWidget * import_proj
Definition: mainwindow.h:813
lives_mgeometry_t * mgeom
multi-head support
Definition: mainwindow.h:1246
LiVESWidget * rte_separator
Definition: mainwindow.h:1110
LiVESWidget * save_selection
Definition: mainwindow.h:811
int foreign_width
Definition: mainwindow.h:547
lives_colRGBA64_t mt_mark
Definition: mainwindow.h:293
unsigned char * sl_undo_mem
Definition: mainwindow.h:506
char * any_string
localised text saying "Any", for encoder and output format
Definition: mainwindow.h:1212
LiVESList * videodevs
Definition: mainwindow.h:1301
char * none_string
localised text saying "None", for playback plugin name, etc.
Definition: mainwindow.h:1213
screen details
Definition: mainwindow.h:301
LiVESWidget * splash_progress
Definition: mainwindow.h:1266
boolean jack_can_start
Definition: mainwindow.h:753
int osc_enc_height
Definition: mainwindow.h:674
LiVESXDevice * mouse_device
unused for gtk+ < 3.0.0
Definition: mainwindow.h:306
int framedraw_frame
for the framedraw preview - TODO use lives_framedraw_t array
Definition: mainwindow.h:616
short endian
Definition: mainwindow.h:509
LiVESWidgetColor grey45
Definition: mainwindow.h:268
char * foreign_visual
Definition: mainwindow.h:550
boolean write_failed
Definition: mainwindow.h:1323
LiVESWidgetColor light_green
Definition: mainwindow.h:262
boolean chdir_failed
Definition: mainwindow.h:1325
volatile uint64_t startticks
effective ticks when last frame was (should have been) displayed
Definition: mainwindow.h:645
LiVESWidgetColor dark_red
Definition: mainwindow.h:263
uint64_t timeout_ticks
incremented if effect/rendering is paused/previewed
Definition: mainwindow.h:646
char * read_failed_file
Definition: mainwindow.h:1341
boolean no_interp
block interpolation (for single frame previews)
Definition: mainwindow.h:1223
LiVESWidget * trim_audio
Definition: mainwindow.h:877
int num_rendered_effects_builtin
Definition: mainwindow.h:556
LiVESWidget * framedraw_cbutton
colour for mask
Definition: mainwindow.h:935
boolean record_paused
pause during recording
Definition: mainwindow.h:1229
LiVESWidget * pl_eventbox
Definition: mainwindow.h:776
#define MAX_EXT_CNTL
max ext_cntl + 1
Definition: mainwindow.h:152
LiVESList * cliplist
hash table of clips in menu order
Definition: mainwindow.h:447
Definition: plugins.h:308
int x
Definition: mainwindow.h:302
_vid_playback_plugin * vpp
Definition: mainwindow.h:1243
boolean preview
Definition: mainwindow.h:521
Definition: mainwindow.h:313
volatile float volume
audio volume level (for jack and pulse)
Definition: mainwindow.h:1195
int y
Definition: mainwindow.h:303
lives_cursor_t
Definition: widget-helper.h:1035
LiVESWidget * edit_test_rfx
Definition: mainwindow.h:915
weed_plant_t * stored_event_list
stored mt -> clip editor
Definition: mainwindow.h:498
LiVESWidget * erase_subs
Definition: mainwindow.h:858
int osc_auto
bypass user choices automatically
Definition: mainwindow.h:670
boolean with_sound
Definition: mainwindow.h:594
LiVESWidget * promote_test_rfx
Definition: mainwindow.h:918
LiVESWidget * merge_dialog
Definition: mainwindow.h:1432
LiVESWidget * export_selaudio
Definition: mainwindow.h:874
int new_clip
Definition: mainwindow.h:661
LiVESWidget * vol_label
Definition: mainwindow.h:1034
uint64_t origsecs
playback start seconds - subtracted from all other ticks to keep numbers smaller
Definition: mainwindow.h:647
double period
== 1./cfile->pb_fps (unless cfile->pb_fps is 0.)
Definition: mainwindow.h:644
Definition: mainwindow.h:208
LiVESWidget * m_sepwinbutton
Definition: mainwindow.h:1038
LiVESWidget * playframe
Definition: mainwindow.h:775
LiVESWidget * save_as
Definition: mainwindow.h:805
LiVESWidget * banner
Definition: mainwindow.h:1077
double rec_fps
Definition: mainwindow.h:1200
LiVESWidget * recent_submenu
Definition: mainwindow.h:803
int sl_undo_offset
Definition: mainwindow.h:507
float sepwin_scale
Definition: mainwindow.h:1349
LiVESWidget * sticky
Definition: mainwindow.h:852
int foreign_bpp
Definition: mainwindow.h:549
LiVESWidget * toy_none
Definition: mainwindow.h:890
LiVESWidget * rte_defs
Definition: mainwindow.h:907
boolean loop
Definition: mainwindow.h:460
boolean mouse_blocked
Definition: mainwindow.h:759
LiVESWidget * custom_effects_separator
Definition: mainwindow.h:1101
LiVESSList * clips_group
Definition: mainwindow.h:449
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:408
LiVESWidgetColor info_text
Definition: mainwindow.h:281
boolean decoders_loaded
decoders
Definition: mainwindow.h:1288
LiVESList * file_buffers
Definition: mainwindow.h:1193
int next_free_alarm
Definition: mainwindow.h:1313
LiVESWidget * save_rte_defs
Definition: mainwindow.h:908
weed_plant_t * blend_layer
Definition: mainwindow.h:969
boolean stored_layout_save_all_vals
Definition: mainwindow.h:501
LiVESWidget * midi_learn
Definition: mainwindow.h:862
LiVESWidget * adj_audio_sync
Definition: mainwindow.h:886
int prv_link
Definition: mainwindow.h:980
LiVESWidget * fade_aud_in
Definition: mainwindow.h:883
ulong spin_start_func
Definition: mainwindow.h:735
LiVESWidget * m_loopbutton
Definition: mainwindow.h:1043
boolean jack_trans_poll
Definition: mainwindow.h:1307
LiVESWidget * sa_toolbar
Definition: mainwindow.h:953
Definition: main.h:313
weed_plant_t * audio_event
Definition: mainwindow.h:962
boolean keep_pre
Definition: mainwindow.h:1239
Window foreign_id
Definition: mainwindow.h:543
LiVESWidget * insert
Definition: mainwindow.h:825
LiVESWidget * m_mutebutton
Definition: mainwindow.h:1044
LiVESWidget * custom_effects_menu
Definition: mainwindow.h:1099
LiVESPixbuf * imsep
Definition: mainwindow.h:780
not used
Definition: mainwindow.h:156
LiVESWidget * splash_window
Definition: mainwindow.h:1264
LiVESWidget * files_menu
Definition: mainwindow.h:1080
lives_whentostop_t whentostop
Definition: mainwindow.h:514
LiVESWidget * custom_utilities_submenu
Definition: mainwindow.h:1108
boolean dvgrab_preview
Definition: mainwindow.h:485
ulong vidbar_func
Definition: mainwindow.h:738
LiVESWidget * select_last
Definition: mainwindow.h:836
LiVESWidget * export_theme
Definition: mainwindow.h:816
LiVESWidget * t_back
Definition: mainwindow.h:1013
LiVESWidget * effects_menu
Definition: mainwindow.h:1083
LiVESWidget * resample_audio
Definition: mainwindow.h:885
LiVESWidget * framecounter
Definition: mainwindow.h:1074
char * disabled_string
localised text saying "disabled !", for playback plugin name, etc.
Definition: mainwindow.h:1215
boolean double_size
Definition: mainwindow.h:457
boolean loop_to_fit
Definition: mainwindow.h:1438
boolean noswitch
Definition: mainwindow.h:660
float osc_enc_fps
Definition: mainwindow.h:675
ulong ext_audio_func
Definition: mainwindow.h:1030
LiVESWidget * rename_test_rfx
Definition: mainwindow.h:916
int size_warn
currticks when last display was shown (used for fixed fps)
Definition: mainwindow.h:656
boolean fx3_bool
Definition: mainwindow.h:722
int pheight
playback height
Definition: mainwindow.h:512
LiVESWidget * menu_hbox
Definition: mainwindow.h:1045
LiVESWidget * restore
Definition: mainwindow.h:810
LiVESWidget * open_vcd_submenu
Definition: mainwindow.h:785
boolean must_resize
fixed playback size in gui; playback plugins have their own fwidth and fheight
Definition: mainwindow.h:464
LiVESWidget * recaudio_submenu
Definition: mainwindow.h:869
Definition: mainwindow.h:206
LiVESWidget * t_forward
Definition: mainwindow.h:1012
LiVESWidget * edit_menu
Definition: mainwindow.h:1081
LiVESWidget * message_box
Definition: mainwindow.h:990
weed_plant_t * event_list
current event_list, for recording
Definition: mainwindow.h:497
Definition: mainwindow.h:204
LiVESWidget * show_layout_errors
Definition: mainwindow.h:898
LiVESWidgetColor menu_and_bars
Definition: mainwindow.h:279
uint32_t kb_timer
Definition: mainwindow.h:730
LiVESWidget * toy_tv
Definition: mainwindow.h:892
int * clip_index
Definition: mainwindow.h:1113
Definition: mainwindow.h:218
Definition: mainwindow.h:321
boolean fatal
got fatal signal
Definition: mainwindow.h:483
int num_tracks
Definition: mainwindow.h:1112
LiVESWidget * raudio_draw
Definition: mainwindow.h:1064
int * list_to_rfx_index
Definition: mainwindow.h:1442
pthread_mutex_t interp_mutex
interpolation mutex - parameter interpolation must be single threaded
Definition: mainwindow.h:1171
LiVESWidget * fs1
Definition: mainwindow.h:1019
int fx1_step
Definition: mainwindow.h:710
LiVESWidget * custom_tools_menu
Definition: mainwindow.h:1102
boolean sep_win
Definition: mainwindow.h:458
Definition: mainwindow.h:415
LiVESWidget * paste_as_new
Definition: mainwindow.h:826
int sepwin_minheight
Definition: mainwindow.h:1360
LiVESWidget * append_audio
Definition: mainwindow.h:875
LiVESWidget * eventbox5
Definition: mainwindow.h:1000
char * bad_aud_file
Definition: mainwindow.h:1343
boolean playing_sel
Definition: mainwindow.h:520
volatile int abufs_to_fill
Definition: mainwindow.h:1262
volatile boolean video_seek_ready
Definition: mainwindow.h:755
uint64_t stream_ticks
ticks since first frame sent to playback plugin
Definition: mainwindow.h:653
LiVESAdjustment * msg_adj
Definition: mainwindow.h:993
boolean clip_switched
for recording - did we switch clips ?
Definition: mainwindow.h:487
LiVESWidget * t_fullscreen
Definition: mainwindow.h:1005
double fx4_val
Definition: mainwindow.h:701
double fps_measure
show fps stats after playback
Definition: mainwindow.h:475
#define NUM_VOL_LIGHTS
Definition: mainwindow.h:406
LiVESWidget * vj_realize
Definition: mainwindow.h:910
boolean fx5_bool
Definition: mainwindow.h:724
boolean record_starting
start recording at next frame
Definition: mainwindow.h:1231
weed_plant_t * frame_layer
Definition: mainwindow.h:968
char ** fonts_array
Definition: mainwindow.h:1296
boolean tried_ds_recover
Definition: mainwindow.h:1329
lives_render_error_t render_error
Definition: mainwindow.h:1345
char * recovery_file
the filename of our recover file
Definition: mainwindow.h:1155
boolean save_with_sound
Definition: mainwindow.h:478
int clips_available
Definition: mainwindow.h:444
_merge_opts * merge_opts
Definition: merge.c:23
lives_colRGBA64_t vidcol
Definition: mainwindow.h:288
LiVESWidget * rewind
Definition: mainwindow.h:845
LiVESWidget * select_start_only
Definition: mainwindow.h:834
LiVESWidget * fs_playframe
Definition: mainwindow.h:925
int rte_keys
which effect is bound to keyboard
Definition: mainwindow.h:570
LiVESWidget * p_mutebutton
Definition: mainwindow.h:1058
LiVESWidget * resize_menuitem
Definition: mainwindow.h:1116
LiVESList * cached_list
cache of preferences or file header file (or NULL)
Definition: mainwindow.h:1190
int def_height
Definition: mainwindow.h:613
uint64_t deltaticks
deltaticks for scratching
Definition: mainwindow.h:651
LiVESWidget * preview_spinbutton
Definition: mainwindow.h:975
LiVESWidget * loop_video
Definition: mainwindow.h:847
boolean insert_after
Definition: mainwindow.h:593
lives_toy_t toy_type
Definition: mainwindow.h:587
weed_plant_t * fd_layer_orig
original layer uneffected
Definition: mainwindow.h:938
LiVESWidget * sa_hbox
Definition: mainwindow.h:952
LiVESTargetEntry * target_table
drag and drop target table
Definition: mainwindow.h:1299
Definition: mainwindow.h:317
mt_opts multi_opts
some multitrack options that survive between mt calls
Definition: mainwindow.h:1162
Definition: mainwindow.h:166
double fx2_val
Definition: mainwindow.h:699
int first_free_file
Definition: mainwindow.h:432
ulong id
Definition: mainwindow.h:1392
Definition: mainwindow.h:221
LiVESWidget * open_utube
Definition: mainwindow.h:789
int fc_buttonresponse
Definition: mainwindow.h:1396
ulong loop_cont_func
Definition: mainwindow.h:745
boolean midi_channel_lock
Definition: mainwindow.h:1257
Definition: mainwindow.h:318
LiVESWidget * sel_label
Definition: mainwindow.h:899
lives_painter_surface_t * blank_raudio_drawable
Definition: mainwindow.h:1070
ulong sw_func
scrolledwindow expose func
Definition: mainwindow.h:749
boolean recovering_files
Definition: mainwindow.h:1414
LiVESWidget * show_file_comments
Definition: mainwindow.h:895
int untitled_number
Definition: mainwindow.h:442
double left
Definition: mainwindow.h:410
int fx3_end
Definition: mainwindow.h:717
LiVESWidget * ext_audio_checkbutton
Definition: mainwindow.h:1027
lives_colRGBA64_t mt_timeline_reg
Definition: mainwindow.h:290
LiVESWidgetColor normal_back
Definition: mainwindow.h:276
LiVESWidget * select_end_only
Definition: mainwindow.h:835
int scrap_file
we throw odd sized frames here when recording in real time; used if a source is a generator or stream...
Definition: mainwindow.h:577
LiVESWidget * m_playbutton
Definition: mainwindow.h:1039
LiVESWidgetColor grey25
Definition: mainwindow.h:267
LiVESWidget * info_menu
Definition: mainwindow.h:1086
Definition: mainwindow.h:163
boolean configured
Definition: mainwindow.h:482
boolean opening_multi
flag to indicate multiple file selection
Definition: mainwindow.h:1227
int rec_vid_frames
Definition: mainwindow.h:1201
LiVESWidget * play_image
Definition: mainwindow.h:966
LiVESPixbuf * imframe
Definition: mainwindow.h:778
LiVESWidget * mt_menu
Definition: mainwindow.h:911
Definition: mainwindow.h:164
LiVESWidgetColor grey20
Definition: mainwindow.h:266
LiVESWidget * frame2
Definition: mainwindow.h:772
boolean no_context_update
Definition: mainwindow.h:1407
Definition: mainwindow.h:314
volatile boolean agen_needs_reinit
Definition: mainwindow.h:1317
LiVESList * stored_layout_undos
Definition: mainwindow.h:504
void * jackd_read
dummy
Definition: mainwindow.h:1131
Definition: mainwindow.h:191
volatile int playing_file
which number file we are playing (or -1)
Definition: mainwindow.h:582
volatile lives_cancel_t cancelled
Definition: mainwindow.h:491
boolean fx6_bool
Definition: mainwindow.h:725
ulong hnd_id
Definition: mainwindow.h:744
LiVESWidget * t_sepwin
Definition: mainwindow.h:1006
volatile int rec_aclip
Definition: mainwindow.h:1164
LiVESWidget * t_faster
Definition: mainwindow.h:1011
int fx1_start
Definition: mainwindow.h:705
boolean reverse_pb
used in osc.c
Definition: mainwindow.h:665
LiVESWidget * recaudio_sel
Definition: mainwindow.h:871
int width
Definition: mainwindow.h:304
boolean toy_go_wild
Definition: mainwindow.h:590
Definition: mainwindow.h:178
LiVESWidgetColor menu_and_bars_fore
Definition: mainwindow.h:280
pthread_mutex_t cache_buffer_mutex
sync for jack playback termination
Definition: mainwindow.h:1180
int blend_file
Definition: mainwindow.h:574
LiVESWidget * l1_tb
Definition: mainwindow.h:1022
Definition: mainwindow.h:157
boolean recoverable_layout
Definition: mainwindow.h:1275
short sel_move
Definition: mainwindow.h:598
Definition: mainwindow.h:189
LiVESWidget * export_custom_rfx
Definition: mainwindow.h:913
boolean selwidth_locked
Definition: mainwindow.h:480
volatile short scratch
Definition: mainwindow.h:685
LiVESWidget * backup
Definition: mainwindow.h:809
LiVESWidget * fade
Definition: mainwindow.h:859
boolean ping_pong
Definition: mainwindow.h:462
int ref_message_n
Definition: mainwindow.h:1412
boolean ins_frames
Definition: mainwindow.h:1440
boolean last_transition_align_start
Definition: mainwindow.h:564
pthread_mutex_t audio_filewriteend_mutex
sync for ending writing audio to file
Definition: mainwindow.h:1181
LiVESWidget * toy_random_frames
Definition: mainwindow.h:891
LiVESPixbuf * scrap_pixbuf
Definition: mainwindow.h:1403
LiVESWidget * pf_grid
Definition: mainwindow.h:777
void * pulsed
Definition: mainwindow.h:1139
LiVESWidget * recaudio_clip
Definition: mainwindow.h:870
LiVESWidget * eventbox4
Definition: mainwindow.h:999
LiVESWidget * loop_ping_pong
Definition: mainwindow.h:849
LiVESWidget * vj_menu
Definition: mainwindow.h:1088
LiVESWidget * framedraw
for the framedraw special widget - TODO - use a sub-struct
Definition: mainwindow.h:928
uint64_t origusecs
usecs at start of playback - ditto
Definition: mainwindow.h:648
void *** pchains
Definition: mainwindow.h:963
LiVESWidget * spinbutton_end
Definition: mainwindow.h:948
boolean close_keep_frames
special value for when generating to clipboard
Definition: mainwindow.h:1118
LiVESWidget * sw_sound
Definition: mainwindow.h:817
LiVESWidget * custom_gens_submenu
Definition: mainwindow.h:1106
LiVESWidget * merge
Definition: mainwindow.h:827
int pre_src_audio_file
audio file we were playing before any ext input started
Definition: mainwindow.h:585
pthread_mutex_t event_list_mutex
prevent simultaneous writing to event_list by audio and video threads
Definition: mainwindow.h:1177
double fx3_val
Definition: mainwindow.h:700
LiVESWidget * start_image
Definition: mainwindow.h:986
int num_rendered_effects_custom
Definition: mainwindow.h:557
LiVESWidgetColor mt_timecode_bg
Definition: mainwindow.h:284
boolean fx2_bool
Definition: mainwindow.h:721
LiVESWidget * sepwin
Definition: mainwindow.h:850
boolean block_param_updates
block visual param changes from updating real values
Definition: mainwindow.h:1222
LiVESWidget * select_invert
Definition: mainwindow.h:837
lives_screen_area_t * screen_areas
Definition: mainwindow.h:1376
Definition: mainwindow.h:198
LiVESWidget * send_lives2lives
Definition: mainwindow.h:794
weed_plant_t * afilter_map
Definition: mainwindow.h:961
weed_plant_t * msg_list
Definition: mainwindow.h:1409
LiVESWidget * delall_audio
Definition: mainwindow.h:881
LiVESWidget * eject_cd
Definition: mainwindow.h:868
LiVESTextView * optextview
Definition: mainwindow.h:1281
int fx1_end
Definition: mainwindow.h:715
int last_blend_file
Definition: mainwindow.h:575
int sepwin_minwidth
Definition: mainwindow.h:1359
LiVESWidget * custom_utilities_separator
Definition: mainwindow.h:1109
Definition: mainwindow.h:181
Definition: mainwindow.h:427
int fx2_start
Definition: mainwindow.h:706
LiVESXWindow * foreign_window
Definition: mainwindow.h:546
Definition: mainwindow.h:179
LiVESWidget * toys_menu
Definition: mainwindow.h:1089
LiVESWidget * t_double
Definition: mainwindow.h:1007
int fx2_end
Definition: mainwindow.h:716
LiVESWidget * cut
Definition: mainwindow.h:824
LiVESList * current_layouts_map
map of all layouts for set
Definition: mainwindow.h:1146
Definition: mainwindow.h:1429
int rowstride_alignment_hint
Definition: mainwindow.h:1357
LiVESWidget * open_vcd_menu
Definition: mainwindow.h:784
LiVESWidget * trim_submenu
Definition: mainwindow.h:876
boolean startup_error
Definition: mainwindow.h:1332
LiVESWidget * int_audio_checkbutton
Definition: mainwindow.h:1026
boolean signals_deferred
Definition: mainwindow.h:1363
LiVESWidget * sa_button
Definition: mainwindow.h:951
LiVESWidget * playclip
Definition: mainwindow.h:842
LiVESWidget * vj_load_set
Definition: mainwindow.h:904
LiVESWidget * l2_tb
Definition: mainwindow.h:1023
LiVESWidget * custom_tools_separator
Definition: mainwindow.h:1104
LiVESWidget * framedraw_opscale
opacity
Definition: mainwindow.h:934
LiVESWidget * hbox3
hbox with start / end spins and selection label (C.E.)
Definition: mainwindow.h:941
LiVESWidget * framebar
Definition: mainwindow.h:1073
boolean read_failed
Definition: mainwindow.h:1324
uint64_t last_display_ticks
Definition: mainwindow.h:654
int afbuffer_clients_read
Definition: mainwindow.h:1389
LiVESWidget * framedraw_preview
the &#39;redraw&#39; button
Definition: mainwindow.h:930
LiVESWidget * framedraw_spinbutton
the frame number button
Definition: mainwindow.h:931
#define MAX_FX_CANDIDATE_TYPES
Definition: plugins.h:528
lives_painter_surface_t * blank_laudio_drawable
Definition: mainwindow.h:1069
LiVESWidget * splash_label
Definition: mainwindow.h:1265
boolean ce_upd_clip
Definition: mainwindow.h:1366
LiVESWidget * fs_playarea
for the fileselection preview
Definition: mainwindow.h:923
volatile double rec_aseek
Definition: mainwindow.h:1166
LiVESWidget * custom_utilities_menu
Definition: mainwindow.h:1107
LiVESWidget * playall
Definition: mainwindow.h:840
LiVESWidget * aload_subs
Definition: mainwindow.h:856
LiVESWidget * preview_box
Definition: mainwindow.h:973
volatile boolean ext_audio
using external video playback plugin to stream audio
Definition: mainwindow.h:469
boolean soft_debug
for testing
Definition: mainwindow.h:1277
Definition: mainwindow.h:199
LiVESWidget * raudbar
Definition: mainwindow.h:946
ulong config_func
Definition: mainwindow.h:733
LiVESWidget * m_rewindbutton
Definition: mainwindow.h:1042
LiVESWidget * p_playbutton
Definition: mainwindow.h:1054
LiVESWidget * trim_to_pstart
Definition: mainwindow.h:878
char * file_open_params
extra parameters for opening special files
Definition: mainwindow.h:629
LiVESWidget * laudio_draw
Definition: mainwindow.h:1063
LiVESWidget * video_draw
Definition: mainwindow.h:1062
LiVESWidget * open_sel
Definition: mainwindow.h:783
int ascrap_file
scrap file for recording audio scraps
Definition: mainwindow.h:579
ulong sepwin_cb_func
Definition: mainwindow.h:748
boolean stored_event_list_changed
Definition: mainwindow.h:499
int z_index
Definition: mainwindow.h:418
int write_abuf
audio buffer number to write to (for multitrack)
Definition: mainwindow.h:1261
boolean only_close
only close clips - do not exit
Definition: mainwindow.h:1119
LiVESAccelGroup * accel_group
Definition: mainwindow.h:900
int n_screen_areas
Definition: mainwindow.h:1373
corresponds to one clip in the GUI
Definition: main.h:538
boolean com_failed
Definition: mainwindow.h:1322
Definition: mainwindow.h:408
int pre_src_file
video file we were playing before any ext input started
Definition: mainwindow.h:584
boolean is_rendering
Definition: mainwindow.h:524
boolean faded
Definition: mainwindow.h:456
uint32_t signal_caught
Definition: mainwindow.h:1362
int play_end
Definition: mainwindow.h:519
ulong pw_scroll_func
Definition: mainwindow.h:1122
int ce_frame_height
Definition: mainwindow.h:1338
LiVESWidget * open_loc_menu
Definition: mainwindow.h:790
LiVESWidget * vidbar
Definition: mainwindow.h:944
LiVESWidget * p_playselbutton
Definition: mainwindow.h:1055
int img_concat_clip
when opening multiple, image files can get concatenated here (prefs->concat_images) ...
Definition: mainwindow.h:1233
lives_colRGBA64_t fxcol
Definition: mainwindow.h:289
_palette * palette
Definition: main.c:108
double height
Definition: mainwindow.h:412
LiVESWidget * open_yuv4m
Definition: mainwindow.h:792
boolean add_clear_ds_button
Definition: mainwindow.h:1327
LiVESWidgetColor pink
Definition: mainwindow.h:260
LiVESWidget * menubar
Definition: mainwindow.h:1046
LiVESWidget * open_device_menu
Definition: mainwindow.h:795
Definition: mainwindow.h:194
double rec_end_time
Definition: mainwindow.h:1198
boolean jack_can_stop
Definition: mainwindow.h:752
LiVESWidget * delsel_audio
Definition: mainwindow.h:880
LiVESWidget * hruler
Definition: mainwindow.h:902
boolean go_away
Definition: mainwindow.h:1291
LiVESWidget * capture
Definition: mainwindow.h:865
int last_dprint_file
Definition: mainwindow.h:632
LiVESWidget * textwidget_focus
Definition: mainwindow.h:1241
LiVESWidget * p_mute_img
Definition: mainwindow.h:1059
LiVESWidget * select_new
Definition: mainwindow.h:831
LiVESWidget * drop_frame_button
Definition: mainwindow.h:1434
volatile boolean threaded_dialog
Definition: mainwindow.h:695
#define ulong
Definition: main.h:137
pthread_mutex_t audio_resync_mutex
sync for audio
Definition: mainwindow.h:1182
#define LIVES_MAX_ALARMS
Definition: mainwindow.h:1309
int n_messages
Definition: mainwindow.h:1410
int aud_file_to_kill
of audio file to kill on crash
Definition: mainwindow.h:663
LiVESWidget * msg_area
Definition: mainwindow.h:991
boolean fx1_bool
Definition: mainwindow.h:720
int ce_frame_width
Definition: mainwindow.h:1339
Definition: mainwindow.h:192
LiVESWidget * tvdev
Definition: mainwindow.h:801
boolean gen_to_clipboard
rendered generators
Definition: mainwindow.h:1236
lives_mt * multitrack
Definition: mainwindow.h:767
char * subt_save_file
name of file to save subtitles to
Definition: mainwindow.h:1294
lives_ext_cntl_t
external control types
Definition: mainwindow.h:155
weed_plant_t * fd_layer
framedraw preview layer
Definition: mainwindow.h:939
Definition: mainwindow.h:196
pthread_mutex_t gtk_mutex
gtk drawing mutex - no longer used
Definition: mainwindow.h:1170
boolean leave_recovery
Definition: mainwindow.h:1156
boolean was_set
Definition: mainwindow.h:626
ulong mute_audio_func
Definition: mainwindow.h:746
boolean leave_files
TRUE to leave clip files on disk even when closing (default FALSE)
Definition: mainwindow.h:625
lives_painter_surface_t * video_drawable
Definition: mainwindow.h:1066
boolean osc_block
TODO - make this a mutex and more finely grained : things we need to block are (clip switches...
Definition: mainwindow.h:668
volatile uint64_t rte
current max for VJ mode == 64 effects on fg clip
Definition: mainwindow.h:567
char * cl_string
localised text saying "*The current layout*", for layout warnings
Definition: mainwindow.h:1216
double aframeno
and the audio &#39;frame&#39; for when we are looping
Definition: mainwindow.h:639
LiVESWidget * playsel
Definition: mainwindow.h:841
LiVESList * trans_list
Definition: mainwindow.h:1443
boolean noframedrop
Definition: mainwindow.h:516
boolean no_recurse
flag to prevent recursive function calls
Definition: mainwindow.h:1209
boolean add_clear_ds_adv
Definition: mainwindow.h:1328
LiVESWidget * resample_video
Definition: mainwindow.h:887
int log_fd
Definition: mainwindow.h:1305
lives_cancel_type_t
Definition: main.h:468
LiVESWidget * freventbox1
Definition: mainwindow.h:774
LiVESWidget * close
Definition: mainwindow.h:812
LiVESWidgetColor fade_colour
Definition: mainwindow.h:270
LiVESWidget * t_hide
Definition: mainwindow.h:1015
Definition: mainwindow.h:180
double fx1_val
Definition: mainwindow.h:698
LiVESWidget * showfct
Definition: mainwindow.h:853
LiVESWidget * show_file_info
Definition: mainwindow.h:894
LiVESWidget * end_image
Definition: mainwindow.h:987
pthread_mutex_t clip_list_mutex
prevent adding/removing to cliplist while another thread could be reading it
Definition: mainwindow.h:1178
int cap_number
Definition: mainwindow.h:443
volatile lives_audio_buf_t * audio_frame_buffer
used for buffering / feeding audio to video generators
Definition: mainwindow.h:1386
lives_time_source_t
timebase sources
Definition: mainwindow.h:162
LiVESWidget * t_slower
Definition: mainwindow.h:1010
LiVESWidgetColor grey60
Definition: mainwindow.h:269
lives_pconnect_t * pconx
list of out -> in param connections
Definition: mainwindow.h:1351
boolean fs
Definition: mainwindow.h:459
#define FX_KEYS_MAX
the rest of the keys are accessible through the multitrack renderer (must, be > FX_KEYS_MAX_VIRTUAL) ...
Definition: mainwindow.h:142
LiVESWidget * top_vbox
Definition: mainwindow.h:1020
Definition: mainwindow.h:171
int sel_start
Definition: mainwindow.h:597
boolean kb_timer_end
Definition: mainwindow.h:1334
LiVESWidget * tools_menu
Definition: mainwindow.h:1084
LiVESWidgetColor dark_orange
Definition: mainwindow.h:264
boolean opening_loc
opening location (streaming)
Definition: mainwindow.h:484
LiVESWidget * vps_label
Definition: mainwindow.h:1076
boolean is_generating
Definition: mainwindow.h:1237
LiVESWidget * delete_custom_rfx
Definition: mainwindow.h:914
#define FN_KEYS
number of function keys
Definition: mainwindow.h:132
volatile uint64_t currticks
current playback ticks (relative)
Definition: mainwindow.h:650
LiVESWidget * run_test_rfx_submenu
Definition: mainwindow.h:1097
int prefs_changed
Definition: mainwindow.h:607
boolean resizing
Definition: mainwindow.h:525
boolean nervous
some VJ effects
Definition: mainwindow.h:553
Definition: mainwindow.h:216
LiVESWidget * import_theme
Definition: mainwindow.h:815
boolean has_session_workdir
Definition: mainwindow.h:1331
uint32_t last_grabbable_effect
Definition: mainwindow.h:569
FILE * clip_header
Definition: mainwindow.h:1191
LiVESWidget * loop_continue
Definition: mainwindow.h:848
LiVESWidget * troubleshoot
Definition: mainwindow.h:912
ulong toy_func_none
Definition: mainwindow.h:741
boolean has_custom_utilities
Definition: mainwindow.h:1285
LiVESWidget * open_lives2lives
Definition: mainwindow.h:793
boolean align_start
Definition: mainwindow.h:1439
int actual_frame
actual frame being displayed
Definition: mainwindow.h:636
int preview_frame
Definition: mainwindow.h:978
LiVESWidget * unicap
Definition: mainwindow.h:799
LiVESWidget * fd_frame
surrounding frame widget
Definition: mainwindow.h:936
int def_width
default sizes for when no file is loaded
Definition: mainwindow.h:612
LiVESWidget * framedraw_reset
the &#39;redraw&#39; button
Definition: mainwindow.h:929
pthread_mutex_t abuf_frame_mutex
used to synch audio buffer for generators
Definition: mainwindow.h:1174
LiVESWidget * arrow2
Definition: mainwindow.h:956
LiVESWidget * sep_image
Definition: mainwindow.h:901
int osc_enc_width
encode width, height and fps set externally
Definition: mainwindow.h:673
LiVESWidget * fx_dialog[2]
Definition: mainwindow.h:1448
LiVESWidget * undo
Definition: mainwindow.h:821
LiVESWidget * preview_image
Definition: mainwindow.h:974
LiVESWidget * m_playselbutton
Definition: mainwindow.h:1041
boolean is_processing
Definition: mainwindow.h:523
volatile boolean ext_keyboard
keyboard codes must be polled from video playback plugin
Definition: mainwindow.h:470
LiVESWidget * vj_show_keys
Definition: mainwindow.h:905
LiVESWidget * t_infobutton
Definition: mainwindow.h:1008
LiVESWidget * stop
Definition: mainwindow.h:844
boolean stored_event_list_auto_changed
Definition: mainwindow.h:500
boolean ce_thumbs
Definition: mainwindow.h:1365
Definition: audio.h:60
boolean debug
debug crashes and asserts
Definition: mainwindow.h:1292
boolean show_procd
override showing of "processing..." dialog
Definition: mainwindow.h:1220
int afbuffer_clients
Definition: mainwindow.h:1388
void * pulsed_read
Definition: mainwindow.h:1140
LiVESXScreen * screen
Definition: mainwindow.h:308
LiVESWidget * lock_selwidth
Definition: mainwindow.h:838
LiVESWidget * midi_save
Definition: mainwindow.h:863
LiVESWidget * rte_defs_menu
Definition: mainwindow.h:906
Definition: mainwindow.h:205
boolean in_fs_preview
Definition: mainwindow.h:490
ulong pb_fps_func
Definition: mainwindow.h:734
uint32_t ksnoop
key function for autorepeat ctrl-arrows
Definition: mainwindow.h:765
int audio_start
Definition: mainwindow.h:465
boolean no_exit
if TRUE, do not exit after saving set
Definition: mainwindow.h:1160
LiVESWidget * param_vbox
Definition: mainwindow.h:1435
ulong toy_func_random_frames
Definition: mainwindow.h:742
LiVESWidget * preview_scale
Definition: mainwindow.h:976
int opwy
Definition: mainwindow.h:1050
boolean has_custom_tools
Definition: mainwindow.h:1283
int last_transition_idx
Definition: mainwindow.h:561
ulong preview_spin_func
Definition: mainwindow.h:979
int fixed_fps_denom
Definition: mainwindow.h:679
lives_cancel_type_t cancel_type
Definition: mainwindow.h:495
boolean no_switch_dprint
Definition: mainwindow.h:633
char * name
Definition: mainwindow.h:416
LiVESMemVTable alt_vtable
Definition: mainwindow.h:1168
LiVESList * affected_layouts_map
map of layouts with errors
Definition: mainwindow.h:1145
lives_cancel_t
cancel reason
Definition: main.h:415
int fx3_start
Definition: mainwindow.h:707
Definition: mainwindow.h:172
volatile double rec_avel
Definition: mainwindow.h:1165
ulong raudbar_func
Definition: mainwindow.h:740
LiVESWidget * firewire
Definition: mainwindow.h:800
LiVESWidget * open_loc_submenu
Definition: mainwindow.h:791
int fx3_step
Definition: mainwindow.h:712
LiVESWidget * freventbox0
Definition: mainwindow.h:773
uint64_t offsetticks
offset for multitrack playback start
Definition: mainwindow.h:649
boolean foreign
for external window capture
Definition: mainwindow.h:527
LiVESWidget * utilities_menu
Definition: mainwindow.h:1093
LiVESWidget * p_loopbutton
Definition: mainwindow.h:1057
int play_start
Definition: mainwindow.h:518
boolean draw_blocked
Definition: mainwindow.h:1336
lives_painter_surface_t * laudio_drawable
Definition: mainwindow.h:1067
lives_rfx_t * rendered_fx
Definition: mainwindow.h:555
Definition: mainwindow.h:177
LiVESWidget * quit
Definition: mainwindow.h:820
LiVESWidget * eventbox
Definition: mainwindow.h:996
LiVESWidget * spinbutton_loops
Definition: mainwindow.h:1436
boolean aplayer_broken
Definition: mainwindow.h:1320
boolean did_rfx_preview
Definition: mainwindow.h:728
Definition: mainwindow.h:315
LiVESWidget * utilities_submenu
Definition: mainwindow.h:1094
Definition: plugins.h:459
uint64_t agen_samps_count
count of samples since init
Definition: mainwindow.h:1318
LiVESWidget * volume_scale
Definition: mainwindow.h:1032
LiVESWidget * open_loc
Definition: mainwindow.h:788
LiVESWidget * gens_submenu
Definition: mainwindow.h:1096
weed_timecode_t cevent_tc
timecode of currently processing event
Definition: mainwindow.h:1225
ulong record_perf_func
Definition: mainwindow.h:737
lives_storage_status_t
disk/storage status values
Definition: mainwindow.h:203
weed_plant_t * filter_map
Definition: mainwindow.h:960
void * jackd
dummy
Definition: mainwindow.h:1130
pthread_mutex_t instance_ref_mutex
refcounting for instances
Definition: mainwindow.h:1183
int rec_signed_endian
Definition: mainwindow.h:1205
LiVESWidget * tb_hbox
Definition: mainwindow.h:1018
boolean suppress_dprint
tidy up, e.g. by blocking "switched to file..." and "closed file..." messages
Definition: mainwindow.h:1207
int new_blend_file
Definition: mainwindow.h:769
int aud_rec_fd
fd of file we are recording audio to
Definition: mainwindow.h:1197
volatile int agen_key
which fx key is generating audio [1 based] (or 0 for none)
Definition: mainwindow.h:1316
Definition: plugins.h:516
lives_cconnect_t * cconx
list of out -> in alpha channel connections
Definition: mainwindow.h:1352
int fx4_start
Definition: mainwindow.h:708
LiVESList * affected_layout_marks
Definition: mainwindow.h:1150
int old_scr_width
Definition: mainwindow.h:621
LiVESWidgetColor info_base
Definition: mainwindow.h:282
boolean ccpd_with_sound
Definition: mainwindow.h:479
LiVESWidget * gens_menu
Definition: mainwindow.h:1095
int fixed_fps_numer
fixed fps playback; usually fixed_fpsd==0.
Definition: mainwindow.h:678
int overflow_height
Definition: mainwindow.h:1354
int num_tr_applied
number of transitions active
Definition: mainwindow.h:571
LiVESWidget * t_bckground
Definition: mainwindow.h:1004
int ptr_y
Definition: mainwindow.h:473
pthread_mutex_t fxd_active_mutex
prevent simultaneous writing to active_dummy by audio and video threads
Definition: mainwindow.h:1176
double width
Definition: mainwindow.h:411
LiVESIOChannel * iochan
encoder text output
Definition: mainwindow.h:1280
Definition: mainwindow.h:165
LiVESWidget * LiVES
Definition: mainwindow.h:781
LiVESWidget * vj_reset
Definition: mainwindow.h:909
LiVESWidget * preview_hbox
Definition: mainwindow.h:977
int last_transition_loops
Definition: mainwindow.h:562
boolean error
Definition: mainwindow.h:493
lives_cursor_t cursor_style
Definition: mainwindow.h:958
LiVESWidget * p_rewindbutton
Definition: mainwindow.h:1056
Definition: mainwindow.h:158
boolean unordered_blocks
are we recording unordered blocks ?
Definition: mainwindow.h:1158
uint64_t next_ds_warn_level
current disk space warning level for the tempdir
Definition: mainwindow.h:1347
LiVESWidget * open_device_submenu
Definition: mainwindow.h:796
LiVESWidgetColor banner_fade_text
Definition: mainwindow.h:272
LiVESWidget * ins_frame_button
Definition: mainwindow.h:1433
boolean loop_cont
Definition: mainwindow.h:461
LiVESWidget * btoolbar
button toolbar - clip editor
Definition: mainwindow.h:1037
boolean open_deint
Definition: mainwindow.h:630
LiVESWidget * custom_gens_menu
Definition: mainwindow.h:1105
boolean has_custom_gens
Definition: mainwindow.h:1284
LiVESWidgetColor black
Definition: mainwindow.h:259
boolean fx_is_auto
Definition: mainwindow.h:1384
LiVESWidget * select_all
Definition: mainwindow.h:830
LiVESWidget * play_menu
Definition: mainwindow.h:1082
boolean ext_playback
using external video playback plugin
Definition: mainwindow.h:468
boolean switch_during_pb
Definition: mainwindow.h:486
int style
Definition: mainwindow.h:249
LiVESWidget * load_cdtrack
Definition: mainwindow.h:867
ulong mouse_fn1
Definition: mainwindow.h:758
LiVESWidget * fade_aud_out
Definition: mainwindow.h:884
Definition: plugins.h:51
int rec_arate
Definition: mainwindow.h:1202
boolean write_vpp_file
video playback plugin was updated; write settings to a file
Definition: mainwindow.h:683
int old_scr_height
Definition: mainwindow.h:622
LiVESWidget * delaudio_submenu
Definition: mainwindow.h:879
LiVESWidget * custom_tools_submenu
Definition: mainwindow.h:1103
boolean t_hidden
Definition: mainwindow.h:529
LiVESWidget * clipsmenu
Definition: mainwindow.h:995
boolean gen_started_play
Definition: mainwindow.h:1383
LiVESWidget * framedraw_scale
the slider
Definition: mainwindow.h:932
LiVESWidget * toolbar
Definition: mainwindow.h:1017
LiVESWidget * select_submenu
Definition: mainwindow.h:829
LiVESWidgetColor mt_timecode_fg
Definition: mainwindow.h:285
LiVESWidget * show_messages
Definition: mainwindow.h:897
int num_rendered_effects_test
Definition: mainwindow.h:558
ulong toy_func_lives_tv
Definition: mainwindow.h:743
LiVESWidget * select_to_end
Definition: mainwindow.h:832
Definition: mainwindow.h:320
double blend_factor
keyboard control parameter
Definition: mainwindow.h:572
int opening_frames
count of frames so far opened, updated after preview (currently)
Definition: mainwindow.h:1218
int current_file
Definition: mainwindow.h:431
weed_plant_t * rte_textparm
send keyboard input to this paramter (usually NULL)
Definition: mainwindow.h:1259
LiVESList * xlays
immediately (to be) affected layout maps
Definition: mainwindow.h:1153
uint64_t firstticks
ticks when audio started playing (for non-realtime audio plugins)
Definition: mainwindow.h:652
LiVESWidget * eventbox2
Definition: mainwindow.h:997
Definition: mainwindow.h:207
LiVESWidget * vol_toolitem
Definition: mainwindow.h:1033
uint32_t foreign_key
Definition: mainwindow.h:532
lives_colRGBA64_t ce_sel
Definition: mainwindow.h:296
int fx4_end
Definition: mainwindow.h:718
LiVESWidget * hseparator
Definition: mainwindow.h:989
double fx6_val
Definition: mainwindow.h:703
int opwx
Definition: mainwindow.h:1049
int height
Definition: mainwindow.h:305
pthread_mutex_t vpp_stream_mutex
prevent from writing audio when stream is closing
Definition: mainwindow.h:1179
LiVESWidget * show_clipboard_info
Definition: mainwindow.h:896
int rec_achans
Definition: mainwindow.h:1203
LiVESWidget * open_hfirewire
Definition: mainwindow.h:798
lives_colRGBA64_t audcol
Definition: mainwindow.h:287
LiVESWidget * copy
Definition: mainwindow.h:823
LiVESWidget * advanced_menu
Definition: mainwindow.h:1087
int nfonts
Definition: mainwindow.h:1297
boolean mute
Definition: mainwindow.h:463
LiVESWidget * l3_tb
Definition: mainwindow.h:1024