LiVES  2.4.1-svn
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
main.h
Go to the documentation of this file.
1 // main.h
2 // LiVES
3 // (c) G. Finch (salsaman@gmail.com) 2003 - 2015
4 // see file ../COPYING for full licensing details
5 
6 /* This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License version 3 or higher as
8  published by the Free Software Foundation.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 */
19 
20 
21 // begin legal warning
22 /*
23  NO WARRANTY
24 
25  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
26  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
27 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
28  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
29  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
30 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
31 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
32  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
33 REPAIR OR CORRECTION.
34 
35  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
36  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
37  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
38  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
39  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
40 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
41 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
42  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
43 POSSIBILITY OF SUCH DAMAGES.
44 */
45 // end legal warning
46 
47 
48 // Have fun, and let's fight for Free Speech, Open Media and True Creativity !
49 // - Salsaman
50 
51 
52 // note: preferred coding style is: astyle --style=java -H -Y -s2 -U -k3 -W3 -xC140 -xL
53 
54 #ifndef HAS_LIVES_MAIN_H
55 #define HAS_LIVES_MAIN_H
56 
57 #ifdef __cplusplus
58 #undef HAVE_UNICAP
59 #endif
60 
61 #ifndef GUI_QT
62 #define GUI_GTK
63 #define PAINTER_CAIRO
64 #else
65 #define PAINTER_QPAINTER
66 #define NO_PROG_LOAD
67 #undef ENABLE_GIW
68 #endif
69 
70 #ifdef GUI_GTK
71 
72 #define USE_GLIB
73 
74 #include <gtk/gtk.h>
75 #include <gdk/gdkkeysyms.h>
76 
77 #if GTK_CHECK_VERSION(3,0,0)
78 #ifdef ENABLE_GIW
79 #define ENABLE_GIW_3
80 #endif
81 #endif
82 
83 #endif
84 
85 #ifdef IS_MINGW
86 
87 #ifndef WINVER
88 #define WINVER 0x0500
89 #endif
90 
91 #include <windows.h>
92 #include <winbase.h>
93 #include <tlhelp32.h>
94 #include <sddl.h>
95 
96 #define O_SYNC (FILE_FLAG_NO_BUFFERING|FILE_FLAG_WRITE_THROUGH)
97 
98 typedef PROCESS_INFORMATION *lives_pid_t;
99 typedef PROCESS_INFORMATION *lives_pgid_t;
100 
101 #ifdef GUI_GTK
102 #ifndef GDK_WINDOWING_WIN32
103 #define GDK_WINDOWING_WIN32
104 #endif
105 #endif
106 
107 #else // IS_MINGW
108 
109 #ifdef GUI_GTK
110 #ifndef GDK_WINDOWING_X11
111 #define GDK_WINDOWING_X11
112 #endif
113 #else
114 #include <sys/types.h>
115 #include <unistd.h>
116 #endif // GUI_GTK
117 
118 typedef pid_t lives_pid_t;
119 typedef int lives_pgid_t;
120 
121 #endif // IS_MINGW
122 
123 
124 
125 
126 
127 #include <sys/stat.h>
128 #include <stdlib.h>
129 #include <stdio.h>
130 #include <unistd.h>
131 #include <string.h>
132 #include <signal.h>
133 #include <assert.h>
134 #include <errno.h>
135 
136 #ifdef __cplusplus
137 #define __STDC_CONSTANT_MACROS
138 #ifdef _STDINT_H
139 #undef _STDINT_H
140 #endif
141 #endif
142 
143 #include <stdint.h>
144 #include <stdarg.h>
145 
146 #define QUOTEME(x) #x
147 
148 
150 #define MAX_FILES 65535
151 
154 #ifndef PREFIX_DEFAULT
155 #ifndef IS_MINGW
156 #define PREFIX_DEFAULT "/usr"
157 #else
158 // TODO - get this from the installer
159 #define PREFIX_DEFAULT "C:\\Program Files\\LiVES"
160 #endif
161 #endif
162 
164 #ifndef PREFIX
165 #define PREFIX PREFIX_DEFAULT
166 #endif
167 
168 
169 
170 #ifndef IS_MINGW
171 #define DOC_DIR "/share/doc/lives-"
172 
173 #define THEME_DIR "/share/lives/themes/"
174 #define PLUGIN_SCRIPTS_DIR "/share/lives/plugins/"
175 #define PLUGIN_COMPOUND_DIR "/share/lives/plugins/"
176 #define PLUGIN_EXEC_DIR "/lives/plugins/"
177 #define ICON_DIR "/share/lives/icons/"
178 #define DESKTOP_ICON_DIR "/share/app-install/icons/"
179 #define DATA_DIR "/share/lives/"
180 #define LIVES_CONFIG_DIR ".lives-dir/"
181 #define LIVES_TMP_NAME "livestmp"
182 
183 #else // IS_MINGW
184 #define DOC_DIR "\\Documents/"
185 
186 #define THEME_DIR "\\Themes/"
187 #define PLUGIN_SCRIPTS_DIR "\\Plugins/"
188 #define PLUGIN_COMPOUND_DIR "\\Plugins/"
189 #define PLUGIN_EXEC_DIR "\\Plugins/"
190 #define ICON_DIR "\\Icons/"
191 #define DATA_DIR "\\Data/"
192 #define LIVES_CONFIG_DIR "\\Config/"
193 #define LIVES_TMP_NAME "livescache"
194 #endif
195 
196 #define LIVES_DEVICE_DIR "/dev/"
197 
198 
199 #define LIVES_MANUAL_URL "http://lives.sourceforge.net/manual/"
200 #define LIVES_MANUAL_FILENAME "LiVES_manual.html"
201 #define LIVES_AUTHOR_EMAIL "mailto:salsaman@gmail.com"
202 #define LIVES_DONATE_URL "https://sourceforge.net/p/lives/donate/"
203 #define LIVES_BUG_URL "https://sourceforge.net/p/lives/bugs/"
204 #define LIVES_FEATURE_URL "https://sourceforge.net/p/lives/feature-requests/"
205 #define LIVES_TRANSLATE_URL "https://translations.launchpad.net/lives/trunk"
206 
207 #if defined (IS_DARWIN) || defined (__FreeBSD__)
208 #ifndef off64_t
209 #define off64_t off_t
210 #endif
211 #ifndef lseek64
212 #define lseek64 lseek
213 #endif
214 #endif
215 
216 #define DEF_FILE_PERMS S_IRUSR|S_IWUSR // must be at least S_IRUSR|S_IWUSR
217 #define DEF_FILE_UMASK (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)^( DEF_FILE_PERMS )
218 
221 #define WARN_FILE_SIZE 500
222 
224 #define FPS_MAX 200.
225 
226 #define MAX_FRAME_WIDTH 100000.
227 #define MAX_FRAME_HEIGHT 100000.
228 
229 #define ENABLE_DVD_GRAB
230 
231 #define FP_BITS 16
232 
233 #ifdef HAVE_MJPEGTOOLS
234 #define HAVE_YUV4MPEG
235 #endif
236 
237 #ifdef ENABLE_OIL
238 #include <liboil/liboil.h>
239 #endif
240 
241 #ifndef IS_SOLARIS
242 #define LIVES_INLINE inline
243 #else
244 #define LIVES_INLINE
245 #endif
246 
247 #include <limits.h>
248 #include <float.h>
249 
250 #ifndef PATH_MAX
251 #ifdef MAX_PATH
252 #define PATH_MAX MAX_PATH
253 #else
254 #define PATH_MAX 4096
255 #endif
256 #endif
257 
258 #ifdef __GNUC__
259 # define WARN_UNUSED __attribute__((warn_unused_result))
260 #else
261 # define WARN_UNUSED
262 #endif
263 
264 #ifdef PRODUCE_LOG
265 #define LIVES_LOG "lives.log"
266 #endif
267 
268 uint64_t lives_random(void);
269 
270 #include "widget-helper.h"
271 
272 typedef void *(*fn_ptr)(void *ptr);
273 
274 
277 typedef struct {
278  int value;
279  int64_t reltime;
280 } event;
281 
282 typedef struct {
283  // processing / busy dialog
284  LiVESWidget *processing;
285  LiVESWidget *progressbar;
286  LiVESWidget *label;
287  LiVESWidget *label2;
288  LiVESWidget *label3;
289  LiVESWidget *stop_button;
290  LiVESWidget *pause_button;
291  LiVESWidget *preview_button;
292  LiVESWidget *cancel_button;
293  LiVESWidget *scrolledwindow;
294  uint32_t frames_done;
295  boolean is_ready;
296 } xprocess;
297 
298 
299 
300 
301 typedef struct {
302  int afile;
303  double seek;
304  double vel;
306 
307 
308 #if HAVE_SYSTEM_WEED
309 #include <weed/weed.h>
310 #include <weed/weed-events.h>
311 #else
312 #include "../libweed/weed.h"
313 #include "../libweed/weed-events.h"
314 #endif
315 
316 // see weed event spec. for more info
317 
319 #include "events.h"
320 
321 #ifdef IS_LIBLIVES
322 #include "liblives.hpp"
323 #include "lbindings.h"
324 #endif
325 
326 typedef enum {
342 
345 
348 
350 
353 
355 } lives_undo_t;
356 
357 
359 typedef enum {
364 
365 
367 typedef enum {
370 
373 
376 
379 
382 
385 
388 
391 
394 
397 
400 
403 
406 
409 
412 
414 
415 
416 typedef enum {
420 
421 
422 
423 
424 typedef enum {
432 
433 
434 typedef enum {
439 
440 
441 
442 #define AFORM_SIGNED 0
443 #define AFORM_LITTLE_ENDIAN 0
444 
445 #define AFORM_UNSIGNED 1
446 #define AFORM_BIG_ENDIAN (1<<1)
447 #define AFORM_UNKNOWN 65536
448 
449 
450 typedef struct {
451  uint16_t red;
452  uint16_t green;
453  uint16_t blue;
455 
456 typedef struct {
457  uint16_t red;
458  uint16_t green;
459  uint16_t blue;
460  uint16_t alpha;
462 
463 
464 typedef enum {
469 
470 
471 #include "pangotext.h"
472 
474 typedef struct {
475  // basic info (saved during backup)
476  int bpp;
477  double fps;
478  int hsize;
479  int vsize;
480  int arps;
481  uint32_t signed_endian;
482 
483  int arate;
484  uint64_t unique_id;
485  int achans;
487 
489  int frames;
490  char title[256];
491  char author[256];
492  char comment[256];
493  char keywords[256];
495 
497 
498  // extended info (not saved)
500 
501 #define LIVES_CLIP_HEADER_VERSION 100
502 
504 
507 
508  char handle[256];
509  int ohsize;
510  int ovsize;
511  int64_t f_size;
512  int64_t afilesize;
514  char file_name[PATH_MAX];
515  char info_file[PATH_MAX];
516  char name[256];
517  char save_file_name[PATH_MAX];
518  char type[40];
519  int start;
520  int end;
525  boolean changed;
526  LiVESWidget *menuentry;
528  boolean orig_file_name;
529  boolean was_renamed;
530  boolean is_untitled;
531  double pb_fps;
532  double freeze_fps;
533  boolean play_paused;
534 
535  //opening/restoring status
536  boolean opening;
537  boolean opening_audio;
539  boolean opening_loc;
540  boolean restoring;
541  boolean is_loaded;
542 
544  boolean nopreview;
545 
547  boolean nokeep;
548 
549  // various times; total time is calculated as the longest of video, laudio and raudio
550  double total_time;
551  double video_time;
552  double laudio_time;
553  double raudio_time;
554  double pointer_time;
555 
556  // current and last played index frames for internal player
557  int frameno;
559 
560 
561 
563  // see resample.c for new events system
564 
565 
566  // events
567  event *events[1];
568 
569  weed_plant_t *event_list;
570  weed_plant_t *event_list_back;
571  weed_plant_t *next_event;
572 
573  LiVESList *layout_map;
575 
578 
580  int undo_end;
581  char undo_text[32];
582  char redo_text[32];
583  boolean undoable;
584  boolean redoable;
585 
586  // used for storing undo values
591  uint32_t undo1_uint;
592  double undo1_dbl;
593  double undo2_dbl;
594  boolean undo1_boolean;
595  boolean undo2_boolean;
596  boolean undo3_boolean;
597 
602  int undo_arps;
603 
605 
606  void *ext_src;
607 
613 
615 
617 
618 #define FX_FRAME_PUMP_VAL 200
619 
620 #define IMG_BUFF_SIZE 4096
621 
622  boolean ratio_fps;
623 
624  int64_t aseek_pos;
625 
626  // decoder data
627 
628  char mime_type[256];
629 
630 
631  boolean deinterlace;
632 
634 
640 
642 
643  char *op_dir;
644  uint64_t op_ds_warn_level;
645 
649 
651 
652  lives_painter_surface_t *laudio_drawable;
653  lives_painter_surface_t *raudio_drawable;
654 
655  int cb_src;
656 } lives_clip_t;
657 
658 
659 
660 typedef struct {
661  // the following can be assumed TRUE, they are checked on startup
662  boolean has_smogrify;
668 
669  // the following may need checking before use
670  boolean has_dvgrab;
671  boolean has_sox_play;
672  boolean has_sox_sox;
673  boolean has_autolives;
674  boolean has_mplayer;
675  boolean has_mplayer2;
676  boolean has_convert;
677  boolean has_composite;
678  boolean has_identify;
679  boolean has_cdda2wav;
681  boolean has_jackd;
683  boolean has_xwininfo;
684  boolean has_gdb;
687 
689  char home_dir[PATH_MAX];
690 
692  char system_tmpdir[PATH_MAX];
693 
694  char *rcfile;
695 
697  char startup_msg[256];
698 
699  // plugins
701 
702  boolean has_python;
703  uint64_t python_version;
704 
705  short cpu_bits;
706 
707 
708  char *myname_full;
709  char *myname;
710 
711  boolean has_stderr;
712 
714 
715  int ncpus;
716 
718 
719  pid_t mainpid;
720 
721 } capability;
722 
723 
725 extern capability *capable;
726 
727 #ifdef HAVE_JACK_JACK_H
728 #include "jack.h"
729 #endif
730 
731 #define __STDC_FORMAT_MACROS
732 #include <inttypes.h>
733 
734 #ifndef PRId64
735 
736 #ifndef __WORDSIZE
737 #if defined __x86_64__
738 # define __WORDSIZE 64
739 #ifndef __WORDSIZE_COMPAT32
740 # define __WORDSIZE_COMPAT32 1
741 #endif
742 #else
743 # define __WORDSIZE 32
744 #endif
745 #endif // __WORDSIZE
746 
747 #ifndef __PRI64_PREFIX
748 # if __WORDSIZE == 64
749 # define __PRI64_PREFIX "l"
750 # else
751 # define __PRI64_PREFIX "ll"
752 # endif
753 #endif
754 
755 # define PRId64 __PRI64_PREFIX "d"
756 # define PRIu64 __PRI64_PREFIX "u"
757 #endif // ifndef PRI64d
758 
759 
760 // common defs for mainwindow (retain this order)
761 #include "plugins.h"
762 #include "colourspace.h"
763 #include "paramspecial.h"
764 #include "multitrack.h"
765 #include "mainwindow.h"
766 #include "keyboard.h"
767 #include "preferences.h"
768 
769 extern mainwindow *mainw;
770 
771 
772 // internal player clock
773 #include <sys/time.h>
774 struct timeval tv;
775 
776 
778 extern ssize_t sizint, sizdbl, sizshrt;
779 
780 
781 
782 typedef enum {
807 
808 
809 // some useful functions
810 
811 // interface.c
812 xprocess *create_processing(const char *text);
813 void add_to_clipmenu(void);
814 void remove_from_clipmenu(void);
815 void make_play_window(void);
816 void resize_play_window(void);
817 void kill_play_window(void);
818 void make_preview_box(void);
819 void play_window_set_title(void);
820 void add_to_playframe(void);
821 LiVESWidget *create_cdtrack_dialog(int type, livespointer user_data);
822 LiVESTextView *create_output_textview(void);
823 char *choose_file(const char *dir, const char *fname, char **const filt, LiVESFileChooserAction act, const char *title, LiVESWidget *extra);
824 LiVESWidget *choose_file_with_preview(const char *dir, const char *title, int preview_type);
825 void add_suffix_check(LiVESBox *box, const char *ext);
826 
827 
828 // dialogs.c
829 boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text);
830 boolean do_warning_dialog(const char *text);
831 boolean do_warning_dialog_with_check(const char *text, int warn_mask_number);
832 boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
833 boolean do_yesno_dialog(const char *text);
834 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
835 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
836 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
837 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
838 int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED;
839 int do_error_dialog(const char *text);
840 int do_info_dialog(const char *text);
841 int do_error_dialog_with_check(const char *text, int warn_mask_number);
842 int do_blocking_error_dialog(const char *text);
843 int do_blocking_info_dialog(const char *text);
844 int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number,
845  LiVESWindow *transient);
846 int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient);
847 LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient,
848  int warn_mask_number, boolean is_blocking);
849 
850 
851 void do_system_failed_error(const char *com, int retval, const char *addinfo);
852 int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
853 void do_write_failed_error_s(const char *filename, const char *addinfo);
854 int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
855 void do_read_failed_error_s(const char *filename, const char *addinfo);
856 boolean do_header_write_error(int clip);
857 int do_header_read_error_with_retry(int clip) WARN_UNUSED;
858 int do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED;
859 void do_chdir_failed_error(const char *dir);
860 void handle_backend_errors(void);
861 boolean check_backend_return(lives_clip_t *sfile);
862 
864 char *ds_critical_msg(const char *dir, uint64_t dsval);
865 char *ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn);
866 boolean check_storage_space(lives_clip_t *sfile, boolean is_processing);
867 
868 char *get_upd_msg(void);
869 char *get_new_install_msg(void);
870 
871 boolean ask_permission_dialog(int what);
872 boolean do_abort_check(void);
873 void add_warn_check(LiVESBox *box, int warn_mask_number);
874 void do_memory_error_dialog(void);
875 void too_many_files(void);
876 void tempdir_warning(void);
877 void do_audio_import_error(void);
878 void do_mt_backup_space_error(lives_mt *, int memreq_mb);
879 
880 boolean do_clipboard_fps_warning(void);
881 void perf_mem_warning(void);
882 void do_dvgrab_error(void);
883 boolean do_comments_dialog(lives_clip_t *sfile, char *filename);
884 boolean do_auto_dialog(const char *text, int type);
885 void do_encoder_acodec_error(void);
886 void do_encoder_sox_error(void);
887 boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate,
888  int asigned, boolean swap_endian, boolean anr, boolean ignore_fps);
889 boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom,
890  int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all);
891 void do_keys_window(void);
892 void do_mt_keys_window(void);
893 void do_messages_window(void);
894 void do_firstever_dialog(void);
895 void do_upgrade_error_dialog(void);
896 void do_no_mplayer_sox_error(void);
897 void do_aud_during_play_error(void);
898 void do_rendered_fx_dialog(void);
899 void do_layout_scrap_file_error(void);
900 void do_layout_ascrap_file_error(void);
901 void do_set_load_lmap_error(void);
902 boolean do_set_duplicate_warning(const char *new_set);
903 boolean do_set_rename_old_layouts_warning(const char *new_set);
904 boolean do_layout_alter_frames_warning(void);
905 boolean do_layout_alter_audio_warning(void);
906 boolean do_yuv4m_open_warning(void);
907 void do_mt_undo_mem_error(void);
908 void do_mt_undo_buf_error(void);
909 void do_mt_set_mem_error(boolean has_mt, boolean trans);
910 void do_mt_audchan_error(int warn_mask);
911 void do_mt_no_audchan_error(void);
912 void do_mt_no_jack_error(int warn_mask);
913 boolean do_mt_rect_prompt(void);
914 void do_audrate_error_dialog(void);
915 boolean do_event_list_warning(void);
916 void do_nojack_rec_error(void);
917 void do_vpp_palette_error(void);
918 void do_vpp_fps_error(void);
919 void do_decoder_palette_error(void);
920 void do_rmem_max_error(int size);
921 boolean do_original_lost_warning(const char *fname);
922 void do_no_decoder_error(const char *fname);
923 void do_jack_noopen_warn(void);
924 void do_jack_noopen_warn2(void);
925 void do_jack_noopen_warn3(void);
926 void do_jack_noopen_warn4(void);
927 void do_file_perm_error(const char *file_name);
928 void do_dir_perm_error(const char *dir_name);
929 void do_dir_perm_access_error(const char *dir_name);
931 void do_after_crash_warning(void);
932 void do_bad_layout_error(void);
933 void do_card_in_use_error(void);
934 void do_dev_busy_error(const char *devstr);
935 boolean do_existing_subs_warning(void);
936 void do_invalid_subs_error(void);
937 boolean do_erase_subs_warning(void);
938 boolean do_sub_type_warning(const char *ext, const char *type_ext);
939 boolean do_move_tmpdir_dialog(void);
940 void do_set_locked_warning(const char *setname);
941 void do_no_in_vdevs_error(void);
942 void do_locked_in_vdevs_error(void);
943 void do_do_not_close_d(void);
944 void do_set_noclips_error(const char *setname);
945 void do_no_autolives_error(void);
947 void do_pulse_lost_conn_error(void);
948 void do_jack_lost_conn_error(void);
949 
950 boolean process_one(boolean visible);
951 void do_threaded_dialog(char *translated_text, boolean has_cancel);
952 void end_threaded_dialog(void);
953 void threaded_dialog_spin(void);
954 void response_ok(LiVESButton *button, livespointer user_data);
955 void pump_io_chan(LiVESIOChannel *iochan);
956 
957 void do_splash_progress(void);
958 
959 
960 // d_print shortcuts
961 void d_print_cancelled(void);
962 void d_print_failed(void);
963 void d_print_done(void);
964 void d_print_file_error_failed(void);
965 
966 // general
967 void do_text_window(const char *title, const char *text);
968 
969 // saveplay.c
970 boolean read_file_details(const char *file_name, boolean only_check_for_audio);
971 boolean add_file_info(const char *check_handle, boolean aud_only);
972 boolean save_file_comments(int fileno);
973 boolean reload_clip(int fileno);
974 void reget_afilesize(int fileno);
975 ulong deduce_file(const char *filename, double start_time, int end);
976 ulong open_file(const char *filename);
977 ulong open_file_sel(const char *file_name, double start_time, int frames);
978 void open_fw_device(void);
979 boolean get_new_handle(int index, const char *name);
980 boolean get_temp_handle(int index, boolean create);
981 boolean get_handle_from_info_file(int index);
982 void create_cfile(void);
983 void save_file(int clip, int start, int end, const char *filename);
984 void play_file(void);
985 void save_frame(LiVESMenuItem *menuitem, livespointer user_data);
986 boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc);
987 void wait_for_stop(const char *stop_command);
988 boolean save_clip_values(int which_file);
989 void add_to_recovery_file(const char *handle);
990 void rewrite_recovery_file(void);
991 boolean check_for_recovery_files(boolean auto_recover);
992 void recover_layout_map(int numclips);
993 const char *get_deinterlace_string(void);
994 
995 // saveplay.c backup
996 void backup_file(int clip, int start, int end, const char *filename);
997 int save_event_frames(void);
998 boolean write_headers(lives_clip_t *file);
999 
1000 // saveplay.c restore
1001 ulong restore_file(const char *filename);
1002 boolean read_headers(const char *file_name);
1003 
1004 // saveplay.c sets
1005 void open_set_file(const char *set_name, int clipnum);
1006 
1007 
1008 // saveplay.c scrap file
1009 boolean open_scrap_file(void);
1010 boolean open_ascrap_file(void);
1011 int save_to_scrap_file(weed_plant_t *layer);
1012 boolean load_from_scrap_file(weed_plant_t *layer, int frame);
1013 void close_ascrap_file(void);
1014 void close_scrap_file(void);
1015 
1016 
1017 // main.c
1018 typedef void (*SignalHandlerPointer)(int);
1019 
1021 void catch_sigint(int signum);
1022 void defer_sigint(int signum);
1023 boolean startup_message_fatal(const char *msg);
1024 boolean startup_message_nonfatal(const char *msg);
1025 boolean startup_message_info(const char *msg);
1026 boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask);
1028 void get_monitors(void);
1029 void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *);
1030 void load_start_image(int frame);
1031 void load_end_image(int frame);
1032 void load_preview_image(boolean update_always);
1033 
1034 boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc);
1035 void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc);
1036 void check_layer_ready(weed_plant_t *layer);
1037 boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc,
1038  int width, int height, int target_palette);
1039 LiVESPixbuf *pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc,
1040  int width, int height, LiVESInterpType interp);
1041 LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc);
1042 
1043 LiVESError *lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype,
1044  int quality, boolean do_chmod, LiVESError **gerrorptr);
1045 
1046 void init_track_decoders(void);
1047 void free_track_decoders(void);
1048 
1049 
1050 void load_frame_image(int frame);
1051 void sensitize(void);
1052 void desensitize(void);
1053 void procw_desensitize(void);
1054 void close_current_file(int file_to_switch_to);
1055 void get_next_free_file(void);
1056 void switch_to_file(int old_file, int new_file);
1057 void do_quick_switch(int new_file);
1058 void switch_audio_clip(int new_file, boolean activate);
1059 void resize(double scale);
1060 void do_start_messages(void);
1061 void set_palette_colours(void);
1062 void set_main_title(const char *filename, int or_untitled_number);
1063 void set_record(void);
1064 
1065 //gui.c
1066 void create_LiVES(void);
1067 void set_interactive(boolean interactive);
1068 char *get_menu_name(lives_clip_t *sfile);
1069 void enable_record(void);
1070 void toggle_record(void);
1071 void disable_record(void);
1072 void make_custom_submenus(void);
1073 void fade_background(void);
1074 void unfade_background(void);
1075 void block_expose(void);
1076 void unblock_expose(void);
1077 void frame_size_update(void);
1078 void splash_init(void);
1079 void splash_end(void);
1080 void splash_msg(const char *msg, double pct);
1081 void add_message_scroller(LiVESWidget *conter);
1083 #if GTK_CHECK_VERSION(3,0,0)
1084 void calibrate_sepwin_size(void);
1085 boolean expose_pim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1086 boolean expose_sim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1087 boolean expose_eim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1088 #endif
1089 
1090 
1091 
1092 
1093 
1094 // system calls in utils.c
1095 int lives_system(const char *com, boolean allow_error);
1096 lives_pid_t lives_fork(const char *com);
1097 int lives_open_buffered_rdonly(const char *pathname);
1098 int lives_creat_buffered(const char *pathname, int mode);
1099 int lives_close_buffered(int fd);
1100 void lives_close_all_file_buffers(void);
1101 off_t lives_lseek_buffered_rdonly(int fd, off_t offset);
1102 ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1103 ssize_t lives_write_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1104 ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1105 ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1106 ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less);
1107 ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less);
1108 ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less);
1109 ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less);
1110 int lives_chdir(const char *path, boolean allow_fail);
1111 int lives_fputs(const char *s, FILE *stream);
1112 char *lives_fgets(char *s, int size, FILE *stream);
1113 pid_t lives_getpid(void);
1114 int lives_getgid(void);
1115 int lives_getuid(void);
1116 void lives_freep(void **ptr);
1117 #ifdef IS_MINGW
1118 boolean lives_win32_suspend_resume_process(DWORD pid, boolean suspend);
1119 boolean lives_win32_kill_subprocesses(DWORD pid, boolean kill_parent);
1120 int lives_win32_get_num_logical_cpus(void);
1121 #endif
1122 int lives_kill(lives_pid_t pid, int sig);
1123 int lives_killpg(lives_pgid_t pgrp, int sig);
1124 void lives_srandom(unsigned int seed);
1125 ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz);
1126 boolean lives_setenv(const char *name, const char *value);
1127 boolean lives_fsync(int fd);
1128 void lives_sync(void);
1129 
1130 int lives_utf8_strcasecmp(const char *s1, const char *s2);
1131 
1132 char *filename_from_fd(char *val, int fd);
1133 
1134 float LEFloat_to_BEFloat(float f);
1135 uint64_t lives_10pow(int pow);
1136 int get_approx_ln(uint32_t val);
1137 
1138 int64_t lives_get_current_ticks(void);
1139 boolean lives_alarm_get(int alarm_handle);
1140 int lives_alarm_set(int64_t ticks);
1141 void lives_alarm_clear(int alarm_handle);
1142 lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval);
1143 char *lives_format_storage_space_string(uint64_t space);
1144 
1145 
1146 int myround(double n);
1147 void get_dirname(char *filename);
1148 char *get_dir(const char *filename);
1149 void get_basename(char *filename);
1150 void get_filename(char *filename, boolean strip_dir);
1151 char *get_extension(const char *filename);
1152 uint64_t get_version_hash(const char *exe, const char *sep, int piece);
1153 uint64_t make_version_hash(const char *ver);
1154 void d_print(const char *fmt, ...);
1155 void init_clipboard(void);
1156 boolean cache_file_contents(const char *filename);
1157 char *get_val_from_cached_list(const char *key, size_t maxlen);
1158 
1159 void get_location(const char *exe, char *val, int maxlen);
1160 
1161 void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic);
1162 void get_menu_text(LiVESWidget *menu, char *text);
1163 void get_menu_text_long(LiVESWidget *menuitem, char *text);
1164 void reset_clipmenu(void);
1165 void get_play_times(void);
1166 void get_total_time(lives_clip_t *file);
1167 uint32_t get_signed_endian(boolean is_signed, boolean little_endian);
1168 void fullscreen_internal(void);
1169 void switch_to_int_player(void);
1170 void switch_to_mplayer(void);
1171 void switch_aud_to_sox(boolean set_pref);
1172 boolean switch_aud_to_jack(void);
1173 boolean switch_aud_to_pulse(void);
1174 void switch_aud_to_mplayer(boolean set_pref);
1175 void switch_aud_to_mplayer2(boolean set_pref);
1176 boolean prepare_to_play_foreign(void);
1177 boolean after_foreign_play(void);
1178 boolean check_file(const char *file_name, boolean check_exists);
1179 boolean check_dir_access(const char *dir);
1180 uint64_t get_file_size(int fd);
1181 uint64_t sget_file_size(const char *name);
1182 uint64_t get_fs_free(const char *dir);
1183 boolean is_writeable_dir(const char *dir);
1184 boolean ensure_isdir(char *fname);
1185 char *ensure_extension(const char *fname, const char *ext) WARN_UNUSED;
1186 boolean check_dev_busy(char *devstr);
1187 void activate_url_inner(const char *link);
1188 void activate_url(LiVESAboutDialog *about, const char *link, livespointer data);
1189 void show_manual_section(const char *lang, const char *section);
1190 
1191 double calc_time_from_frame(int clip, int frame);
1192 int calc_frame_from_time(int filenum, double time);
1193 int calc_frame_from_time2(int filenum, double time);
1194 int calc_frame_from_time3(int filenum, double time);
1195 
1196 boolean check_for_ratio_fps(double fps);
1197 double get_ratio_fps(const char *string);
1198 void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight);
1199 
1200 char *remove_trailing_zeroes(double val);
1201 
1202 void remove_layout_files(LiVESList *lmap);
1203 boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data,
1204  int clipno, int frameno, double atime, boolean affects_current);
1205 void clear_lmap_errors(void);
1206 boolean prompt_remove_layout_files(void);
1207 boolean is_legal_set_name(const char *set_name, boolean allow_dupes);
1208 char *repl_tmpdir(const char *entry, boolean fwd);
1209 char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp);
1210 boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen);
1211 void save_clip_value(int which, lives_clip_details_t, void *val);
1212 boolean check_frame_count(int idx);
1213 void get_frame_count(int idx);
1214 void get_frames_sizes(int fileno, int frame_to_test);
1215 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
1216 boolean int_array_contains_value(int *array, int num_elems, int value);
1217 boolean check_for_lock_file(const char *set_name, int type);
1218 void lives_list_free_strings(LiVESList *list);
1219 
1220 boolean create_event_space(int length_in_eventsb);
1221 void add_to_recent(const char *filename, double start, int frames, const char *file_open_params);
1222 int verhash(char *version);
1223 void set_undoable(const char *what, boolean sensitive);
1224 void set_redoable(const char *what, boolean sensitive);
1225 void zero_spinbuttons(void);
1226 void draw_little_bars(double ptrtime);
1227 void set_sel_label(LiVESWidget *label);
1228 void clear_mainw_msg(void);
1229 int get_token_count(const char *string, int delim);
1230 LiVESPixbuf *lives_pixbuf_new_blank(int width, int height, int palette);
1231 char *lives_strappend(char *string, int len, const char *newbit);
1232 LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add);
1233 void find_when_to_stop(void);
1234 int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc);
1235 void calc_aframeno(int fileno);
1236 void minimise_aspect_delta(double allowed_aspect,int hblock,int vblock,int hsize,int vsize,int *width,int *height);
1237 LiVESInterpType get_interp_value(short quality);
1238 
1239 LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED;
1240 LiVESList *lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED;
1241 LiVESList *lives_list_copy_strings(LiVESList *list);
1242 boolean string_lists_differ(LiVESList *, LiVESList *);
1243 
1244 boolean is_realtime_aplayer(int ptype);
1245 
1246 LiVESList *get_set_list(const char *dir, boolean utf8);
1247 
1248 char *subst(const char *string, const char *from, const char *to);
1249 char *insert_newlines(const char *text, int maxwidth);
1250 
1251 int hextodec(char *string);
1252 int get_hex_digit(const char *c);
1253 
1254 const char *get_image_ext_for_type(lives_image_type_t imgtype);
1255 
1256 uint32_t fastrand(void);
1257 void fastsrand(uint32_t seed);
1258 
1259 int lives_list_strcmp_index(LiVESList *list, livesconstpointer data);
1260 
1262 
1263 // plugins.c
1264 LiVESList *get_external_window_hints(lives_rfx_t *rfx);
1265 boolean check_encoder_restrictions(boolean get_extension, boolean user_audio, boolean save_all);
1266 
1267 //callbacks.c
1268 void lives_exit(int signum);
1269 void lives_notify(int msgnumber,const char *msgstring);
1270 const char *get_set_name(void);
1271 void count_opening_frames(void);
1272 void on_fileread_clicked(LiVESFileChooser *, livespointer widget);
1273 boolean dirchange_callback(LiVESAccelGroup *, LiVESObject *, uint32_t, LiVESXModifierType, livespointer user_data);
1274 void on_effects_paused(LiVESButton *, livespointer user_data);
1275 void on_cancel_keep_button_clicked(LiVESButton *, livespointer user_data);
1276 void on_cleardisk_activate(LiVESWidget *, livespointer user_data);
1277 void on_cleardisk_advanced_clicked(LiVESWidget *, livespointer user_data);
1278 void popup_lmap_errors(LiVESMenuItem *, livespointer);
1279 void on_filesel_button_clicked(LiVESButton *, livespointer user_data);
1280 void switch_clip(int type, int newclip);
1281 void on_details_button_clicked(void);
1282 
1283 
1284 
1285 
1286 //preferences.c
1287 void get_pref(const char *key, char *val, int maxlen);
1288 void get_pref_utf8(const char *key, char *val, int maxlen);
1289 void get_pref_default(const char *key, char *val, int maxlen);
1290 boolean get_boolean_pref(const char *key);
1291 double get_double_pref(const char *key);
1292 int get_int_pref(const char *key);
1293 LiVESList *get_list_pref(const char *key);
1294 void set_pref(const char *key, const char *value);
1295 void delete_pref(const char *key);
1296 void set_boolean_pref(const char *key, boolean value);
1297 void set_double_pref(const char *key, double value);
1298 void set_int_pref(const char *key, int value);
1299 void set_int64_pref(const char *key, int64_t value);
1300 void set_list_pref(const char *key, LiVESList *values);
1301 boolean apply_prefs(boolean skip_warnings);
1302 void save_future_prefs(void);
1303 
1304 // multitrack.c
1305 LiVESPixbuf *make_thumb(lives_mt *, int file, int width, int height, int frame, boolean noblanks);
1306 
1307 // paramspecial.c
1308 LiVESPixbuf *mt_framedraw(lives_mt *, LiVESPixbuf *);
1309 
1310 // rte_window.c
1311 LiVESWidget *refresh_rte_window(void);
1312 
1313 // effects-weed.c
1314 livespointer _lives_malloc(size_t size);
1315 livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n);
1316 livespointer lives_memset(livespointer s, int c, size_t n);
1317 void _lives_free(livespointer ptr);
1318 livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes);
1319 livespointer _lives_realloc(livespointer ptr, size_t new_size);
1320 
1321 
1323 void _lives_free_normal(livespointer ptr);
1324 void _lives_free_with_check(livespointer ptr);
1325 
1326 // pangotext.c
1327 boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t);
1328 void subtitles_free(lives_clip_t *sfile);
1329 boolean get_srt_text(lives_clip_t *sfile, double xtime);
1330 boolean get_sub_text(lives_clip_t *sfile, double xtime);
1331 boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1332 boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1333 
1334 // osc.c
1335 #ifdef ENABLE_OSC
1336 boolean lives_osc_init(uint32_t osc_udp_port);
1337 boolean lives_osc_poll(livespointer data);
1338 void lives_osc_end(void);
1339 boolean lives_osc_notify(int msgtype, const char *msgstring);
1340 boolean lives_osc_notify_success(const char *msg);
1341 boolean lives_osc_notify_failure(void);
1342 void lives_osc_notify_cancel(void);
1343 #include "osc_notify.h"
1344 #endif
1345 
1346 // ldvgrab.c
1347 #ifdef HAVE_LDVGRAB
1348 void on_open_fw_activate(LiVESMenuItem *menuitem, livespointer format);
1349 
1350 #define CAM_FORMAT_DV 0
1351 #define CAM_FORMAT_HDV 1
1352 
1353 #endif
1354 
1355 // inlines
1356 #define cfile mainw->files[mainw->current_file]
1357 #define clipboard mainw->files[0]
1358 
1359 #define PREFS_TIMEOUT 10000000
1360 
1361 #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm"
1362 
1363 
1364 // round (double) a up to next (integer) multiple of (double) b
1365 #define CEIL(a,b) ((int)(((double)a+(double)b-.000000001)/((double)b))*b)
1366 
1367 #ifdef NEED_ENDIAN_TEST
1368 #undef NEED_ENDIAN_TEST
1369 static int32_t testint = 0x12345678;
1370 #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12)
1371 #endif
1372 
1373 
1375 
1376 void break_me(void);
1377 
1378 #define LIVES_NO_DEBUG
1379 #ifndef LIVES_DEBUG
1380 #ifndef LIVES_NO_DEBUG
1381 #define LIVES_DEBUG(x) fprintf(stderr, "LiVES debug: %s\n", x)
1382 #else // LIVES_NO_DEBUG
1383 #define LIVES_DEBUG(x) dummychar = x
1384 #endif // LIVES_NO_DEBUG
1385 #endif // LIVES_DEBUG
1386 
1387 #ifndef LIVES_INFO
1388 #ifndef LIVES_NO_INFO
1389 #define LIVES_INFO(x) fprintf(stderr, "LiVES info: %s\n", x)
1390 #else // LIVES_NO_INFO
1391 #define LIVES_INFO(x) dummychar = x
1392 #endif // LIVES_NO_INFO
1393 #endif // LIVES_INFO
1394 
1395 #ifndef LIVES_WARN
1396 #ifndef LIVES_NO_WARN
1397 #define LIVES_WARN(x) fprintf(stderr, "LiVES warning: %s\n", x)
1398 #else // LIVES_NO_WARN
1399 #define LIVES_WARN(x) dummychar = x
1400 #endif // LIVES_NO_WARN
1401 #endif // LIVES_WARN
1402 
1403 #ifndef LIVES_ERROR
1404 #ifndef LIVES_NO_ERROR
1405 #define LIVES_ERROR(x) {fprintf(stderr, "LiVES error: %s\n", x); break_me();}
1406 #else // LIVES_NO_ERROR
1407 #define LIVES_ERROR(x) dummychar = x
1408 #endif // LIVES_NO_ERROR
1409 #endif // LIVES_ERROR
1410 
1411 #ifndef LIVES_FATAL
1412 #ifndef LIVES_NO_FATAL
1413 #define LIVES_FATAL(x) {fprintf(stderr, "LiVES fatal: %s\n", x); raise (LIVES_SIGSEGV);}
1414 #else // LIVES_NO_FATAL
1415 #define LIVES_FATAL(x) dummychar = x
1416 #endif // LIVES_NO_FATAL
1417 #endif // LIVES_FATAL
1418 
1419 
1420 #endif // #ifndef HAS_LIVES_MAIN_H
1421 
void do_messages_window(void)
Definition: dialogs.c:2373
void set_boolean_pref(const char *key, boolean value)
Definition: preferences.c:290
int undo_arate
audio playback rate
Definition: main.h:598
boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:380
void do_encoder_sox_error(void)
Definition: dialogs.c:2067
void handle_backend_errors(void)
Definition: dialogs.c:699
int frames
Definition: main.h:489
LiVESPixbuf * pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc, int width, int height, LiVESInterpType interp)
Definition: main.c:4784
double undo2_dbl
Definition: main.h:593
int afile
Definition: main.h:302
void reget_afilesize(int fileno)
Definition: utils.c:4033
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
Definition: utils.c:2398
boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:367
boolean has_stderr
Definition: main.h:711
LiVESWidget * stop_button
Definition: main.h:289
int undo1_int
Definition: main.h:587
boolean apply_prefs(boolean skip_warnings)
Definition: preferences.c:505
boolean no_proc_sys_errors
skip system error dialogs in processing
Definition: main.h:646
int value
Definition: main.h:278
uint64_t python_version
Definition: main.h:703
Definition: main.h:456
int get_hex_digit(const char *c)
Definition: utils.c:5090
Definition: main.h:797
boolean deinterlace
auto deinterlace
Definition: main.h:631
boolean opening_audio
Definition: main.h:537
int lives_open_buffered_rdonly(const char *pathname)
Definition: utils.c:569
ulong open_file_sel(const char *file_name, double start_time, int frames)
Definition: saveplay.c:283
int undo2_int
Definition: main.h:588
void lives_list_free_strings(LiVESList *list)
Definition: utils.c:4328
Definition: main.h:331
Definition: main.h:795
int verhash(char *version)
Definition: utils.c:4201
void do_mt_audchan_error(int warn_mask)
Definition: dialogs.c:2527
boolean startup_message_fatal(const char *msg)
Definition: main.c:3167
boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc, int width, int height, int target_palette)
Definition: main.c:4461
void perf_mem_warning(void)
Definition: dialogs.c:2283
void _lives_free_normal(livespointer ptr)
values of mainw->free_fn
Definition: effects-weed.c:99
boolean restoring
Definition: main.h:540
boolean dirchange_callback(LiVESAccelGroup *, LiVESObject *, uint32_t, LiVESXModifierType, livespointer user_data)
Definition: callbacks.c:4363
void do_read_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:2915
void draw_little_bars(double ptrtime)
Definition: utils.c:3060
int * frame_index_back
for undo
Definition: main.h:614
int lives_system(const char *com, boolean allow_error)
Definition: utils.c:289
void do_dir_perm_error(const char *dir_name)
Definition: dialogs.c:3106
xprocess * create_processing(const char *text)
Definition: interface.c:152
void remove_from_clipmenu(void)
Definition: gui.c:4396
uint16_t alpha
Definition: main.h:460
boolean has_pulse_audio
Definition: main.h:682
boolean get_handle_from_info_file(int index)
Definition: saveplay.c:1097
int hextodec(char *string)
Definition: utils.c:5075
Definition: main.h:792
LiVESWidget * create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient, int warn_mask_number, boolean is_blocking)
Definition: dialogs.c:165
double seek
Definition: main.h:303
uint32_t undo1_uint
Definition: main.h:591
ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:515
Definition: events.h:108
void _lives_free(livespointer ptr)
calls mainw->free_fn
Definition: effects-weed.c:128
LiVESError * lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype, int quality, boolean do_chmod, LiVESError **gerrorptr)
Definition: main.c:6217
boolean do_event_list_warning(void)
Definition: dialogs.c:2558
int start
Definition: main.h:519
int do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED
Definition: dialogs.c:3055
void do_mt_keys_window(void)
Definition: dialogs.c:2364
int do_error_dialog(const char *text)
Definition: dialogs.c:522
#define PATH_MAX
Definition: main.h:254
void set_main_title(const char *filename, int or_untitled_number)
Definition: main.c:3197
boolean nokeep
don't show the 'keep' button - e.g. for operations which resize frames
Definition: main.h:547
boolean nopreview
don't show preview/pause buttons on processing
Definition: main.h:544
uint64_t lives_10pow(int pow)
Definition: utils.c:1257
lives_pid_t lives_fork(const char *com)
Definition: utils.c:334
uint64_t get_fs_free(const char *dir)
Definition: utils.c:5153
boolean can_write_to_tmp
Definition: main.h:666
pid_t lives_pid_t
Definition: main.h:118
boolean do_comments_dialog(lives_clip_t *sfile, char *filename)
Definition: dialogs.c:2313
boolean load_from_scrap_file(weed_plant_t *layer, int frame)
Definition: saveplay.c:4891
LiVESTextView * create_output_textview(void)
Definition: interface.c:2598
lives_dialog_t
Definition: mainwindow.h:150
void get_play_times(void)
Definition: utils.c:2654
just cancel in GUI (for keep, etc)
Definition: main.h:418
void save_frame(LiVESMenuItem *menuitem, livespointer user_data)
Definition: saveplay.c:1158
int lives_utf8_strcasecmp(const char *s1, const char *s2)
Definition: utils.c:4960
void splash_end(void)
Definition: gui.c:4537
void find_when_to_stop(void)
Definition: utils.c:3213
void save_clip_value(int which, lives_clip_details_t, void *val)
Definition: utils.c:4679
void clear_lmap_errors(void)
Definition: utils.c:2073
void activate_url(LiVESAboutDialog *about, const char *link, livespointer data)
Definition: utils.c:3989
void do_file_perm_error(const char *file_name)
Definition: dialogs.c:3098
boolean is_legal_set_name(const char *set_name, boolean allow_dupes)
Definition: utils.c:2159
uint16_t green
Definition: main.h:452
void do_set_load_lmap_error(void)
uint64_t lives_random(void)
Definition: utils.c:105
boolean has_mplayer
Definition: main.h:674
void lives_exit(int signum)
Definition: callbacks.c:63
LiVESWidget * scrolledwindow
Definition: main.h:293
livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n)
Definition: effects-weed.c:67
boolean do_existing_subs_warning(void)
Definition: dialogs.c:3151
video playback completed
Definition: main.h:402
int lives_pgid_t
Definition: main.h:119
boolean create_event_space(int length_in_eventsb)
Definition: utils.c:4064
void close_current_file(int file_to_switch_to)
close current file, and try to switch to file_to_switch_to
Definition: main.c:6266
void recover_layout_map(int numclips)
Definition: saveplay.c:5203
Definition: main.h:334
uint16_t red
Definition: main.h:451
int ohsize
Definition: main.h:509
const char * get_set_name(void)
Definition: callbacks.c:52
void on_cancel_keep_button_clicked(LiVESButton *, livespointer user_data)
Definition: callbacks.c:6469
boolean was_renamed
Definition: main.h:529
lives_painter_surface_t * raudio_drawable
Definition: main.h:653
void open_fw_device(void)
char * remove_trailing_zeroes(double val)
Definition: utils.c:4908
void do_autolives_needs_clips_error(void)
Definition: dialogs.c:3230
void defer_sigint(int signum)
Definition: main.c:178
void check_layer_ready(weed_plant_t *layer)
Definition: main.c:4698
Definition: main.h:793
Definition: main.h:796
boolean switch_aud_to_pulse(void)
Definition: utils.c:3369
boolean opening
Definition: main.h:536
int last_frameno
Definition: main.h:558
void get_basename(char *filename)
Definition: utils.c:2367
void clear_mainw_msg(void)
Definition: utils.c:1252
boolean read_headers(const char *file_name)
Definition: saveplay.c:4106
void unblock_expose(void)
Definition: gui.c:3555
boolean has_cdda2wav
Definition: main.h:679
void fastsrand(uint32_t seed)
Definition: utils.c:5111
void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc)
Definition: main.c:4756
int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:601
void d_print(const char *fmt,...)
Definition: utils.c:1844
boolean can_write_to_config
Definition: main.h:665
imported video, broken into frames
Definition: main.h:425
int progress_start
Definition: main.h:523
void frame_size_update(void)
Definition: gui.c:4356
void d_print_file_error_failed(void)
Definition: dialogs.c:2812
uint16_t blue
Definition: main.h:459
ssize_t sizdbl
Definition: main.c:90
lives_image_type_t
Definition: main.h:434
boolean redoable
Definition: main.h:584
LiVESList * lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED
Definition: utils.c:5202
void do_text_window(const char *title, const char *text)
Definition: dialogs.c:2380
lives_clip_type_t clip_type
Definition: main.h:604
void lives_notify(int msgnumber, const char *msgstring)
Definition: callbacks.c:43
void do_splash_progress(void)
Definition: dialogs.c:2786
lives_undo_t undo_action
undo
Definition: main.h:577
Definition: main.h:435
char * get_val_from_cached_list(const char *key, size_t maxlen)
Definition: utils.c:4362
void add_to_clipmenu(void)
Definition: gui.c:4368
lives_subtitles_t * subt
Definition: main.h:641
int get_token_count(const char *string, int delim)
Definition: utils.c:4946
double total_time
Definition: main.h:550
Definition: main.h:327
void do_jack_lost_conn_error(void)
Definition: dialogs.c:3234
uint64_t sget_file_size(const char *name)
Definition: utils.c:4017
boolean has_dvgrab
Definition: main.h:670
boolean do_auto_dialog(const char *text, int type)
Definition: dialogs.c:1930
void reset_clipmenu(void)
Definition: utils.c:3851
void enable_record(void)
Definition: gui.c:3818
LiVESPixbuf * make_thumb(lives_mt *, int file, int width, int height, int frame, boolean noblanks)
Definition: multitrack.c:353
void do_threaded_dialog(char *translated_text, boolean has_cancel)
Definition: dialogs.c:2732
char * op_dir
Definition: main.h:643
void count_opening_frames(void)
Definition: callbacks.c:999
Definition: main.h:277
ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:669
boolean do_layout_alter_frames_warning(void)
Definition: dialogs.c:2428
ulong restore_file(const char *filename)
Definition: saveplay.c:4557
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:359
boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian, boolean anr, boolean ignore_fps)
Definition: dialogs.c:2091
LiVESList * get_external_window_hints(lives_rfx_t *rfx)
Definition: plugins.c:3592
void d_print_failed(void)
Definition: dialogs.c:2803
void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height)
Definition: utils.c:3239
boolean undo1_boolean
Definition: main.h:594
void _lives_free_with_check(livespointer ptr)
checks if ptr is mainw->do_not_free, otherwise calls lives_free_normal()
Definition: effects-weed.c:123
void add_message_scroller(LiVESWidget *conter)
Definition: gui.c:78
boolean do_clipboard_fps_warning(void)
Definition: dialogs.c:2288
void set_sel_label(LiVESWidget *label)
Definition: utils.c:4300
char * lives_fgets(char *s, int size, FILE *stream)
Definition: utils.c:434
ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
ssize_t sizint
type sizes
Definition: main.c:90
boolean lives_setenv(const char *name, const char *value)
Definition: utils.c:266
boolean check_storage_space(lives_clip_t *sfile, boolean is_processing)
Definition: dialogs.c:810
int ovsize
Definition: main.h:510
void do_vpp_fps_error(void)
Definition: dialogs.c:2583
boolean startup_message_nonfatal(const char *msg)
Definition: main.c:3175
void pump_io_chan(LiVESIOChannel *iochan)
Definition: dialogs.c:781
char * choose_file(const char *dir, const char *fname, char **const filt, LiVESFileChooserAction act, const char *title, LiVESWidget *extra)
Definition: interface.c:2113
void do_mt_undo_buf_error(void)
Definition: dialogs.c:2507
no cancel
Definition: main.h:369
boolean do_move_tmpdir_dialog(void)
Definition: dialogs.c:3174
int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:2990
int asampsize
Definition: main.h:486
LiVESList * get_set_list(const char *dir, boolean utf8)
Definition: utils.c:4810
void close_scrap_file(void)
Definition: saveplay.c:5165
boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:406
void get_pref_utf8(const char *key, char *val, int maxlen)
Definition: preferences.c:122
uint32_t undo_signed_endian
Definition: main.h:599
char * get_upd_msg(void)
Definition: dialogs.c:3209
void set_undoable(const char *what, boolean sensitive)
Definition: utils.c:4244
boolean get_temp_handle(int index, boolean create)
Definition: saveplay.c:3362
boolean get_sub_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:560
boolean is_untitled
Definition: main.h:530
void get_next_free_file(void)
Definition: utils.c:2327
void switch_clip(int type, int newclip)
Definition: callbacks.c:5575
void do_firstever_dialog(void)
unimported video, not or partially broken in frames
Definition: main.h:428
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:56
void end_threaded_dialog(void)
Definition: dialogs.c:2760
void on_filesel_button_clicked(LiVESButton *, livespointer user_data)
Definition: callbacks.c:544
Definition: main.h:787
int stored_layout_idx
Definition: main.h:637
void do_write_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:2873
boolean is_realtime_aplayer(int ptype)
Definition: utils.c:1462
boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc)
Definition: saveplay.c:3803
uint32_t signed_endian
bitfield
Definition: main.h:481
LiVESWidget * menuentry
Definition: main.h:526
boolean check_file(const char *file_name, boolean check_exists)
check if file exists
Definition: utils.c:3864
boolean has_xwininfo
Definition: main.h:683
Definition: main.h:805
frames from video device
Definition: main.h:430
LiVESPixbuf * pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc)
Definition: main.c:4819
boolean ask_permission_dialog(int what)
Definition: dialogs.c:3244
int nmonitors
Definition: main.h:713
lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval)
Definition: utils.c:826
int arate
audio playback rate
Definition: main.h:483
int lives_kill(lives_pid_t pid, int sig)
Definition: utils.c:1220
Definition: main.h:338
boolean no_proc_write_errors
skip write error dialogs in processing
Definition: main.h:648
int64_t aseek_pos
audio seek posn. (bytes) for when we switch clips
Definition: main.h:624
livespointer lives_memset(livespointer s, int c, size_t n)
Definition: effects-weed.c:132
void do_jack_noopen_warn3(void)
Definition: dialogs.c:2465
void lives_alarm_clear(int alarm_handle)
Definition: utils.c:1372
Definition: main.h:466
LiVESWidget * cancel_button
Definition: main.h:292
void do_mt_set_mem_error(boolean has_mt, boolean trans)
Definition: dialogs.c:2511
const char * get_deinterlace_string(void)
Definition: saveplay.c:216
void set_redoable(const char *what, boolean sensitive)
Definition: utils.c:4274
capability * get_capabilities(void)
Definition: main.c:2052
boolean can_read_from_config
Definition: main.h:664
Definition: main.h:467
int insert_start
Definition: main.h:521
boolean keep_without_preview
allow keep, even when nopreview is set - TODO use only nopreview and nokeep
Definition: main.h:650
void switch_to_file(int old_file, int new_file)
Definition: main.c:6602
char * repl_tmpdir(const char *entry, boolean fwd)
Definition: utils.c:2485
int undo_achans
Definition: main.h:600
ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
LiVESList * layout_map
Definition: main.h:573
void wait_for_stop(const char *stop_command)
Definition: saveplay.c:3770
boolean undo3_boolean
Definition: main.h:596
int lives_fputs(const char *s, FILE *stream)
Definition: utils.c:421
int lives_getuid(void)
Definition: utils.c:149
int undo_arps
audio sample rate
Definition: main.h:602
void do_encoder_img_ftm_error(render_details *rdet)
Definition: dialogs.c:3127
LiVESInterpType get_interp_value(short quality)
Definition: utils.c:5194
lives_clip_details_t
Definition: main.h:782
ssize_t lives_write_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
const char * version(void)
int rowstride
Definition: main.h:503
int64_t afilesize
Definition: main.h:512
Definition: main.h:801
void desensitize(void)
Definition: main.c:3388
void add_to_recovery_file(const char *handle)
Definition: saveplay.c:5782
void do_set_locked_warning(const char *setname)
Definition: dialogs.c:3178
_palette * palette
Definition: main.c:89
frames from generator plugin
Definition: main.h:427
void set_double_pref(const char *key, double value)
Definition: preferences.c:281
int save_event_frames(void)
Definition: saveplay.c:4706
void play_window_set_title(void)
Definition: gui.c:3834
int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:2938
char * lives_strappend(char *string, int len, const char *newbit)
Definition: utils.c:1387
Definition: main.h:798
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition: utils.c:1236
lives_interlace_t interlace
interlace type (if known - none, topfirst, bottomfirst or : see plugins.h)
Definition: main.h:496
void load_preview_image(boolean update_always)
Definition: main.c:3949
LiVESWidget * label3
Definition: main.h:288
void set_record(void)
int bpp
Definition: main.h:476
pid_t mainpid
Definition: main.h:719
void delete_pref(const char *key)
Definition: preferences.c:246
void do_dir_perm_access_error(const char *dir_name)
Definition: dialogs.c:3114
uint64_t get_file_size(int fd)
Definition: utils.c:4009
double stored_layout_audio
Definition: main.h:638
uint32_t frames_done
Definition: main.h:294
void init_clipboard(void)
Definition: utils.c:1796
void show_manual_section(const char *lang, const char *section)
Definition: utils.c:3994
void switch_aud_to_sox(boolean set_pref)
Definition: utils.c:3423
void do_mt_backup_space_error(lives_mt *, int memreq_mb)
Definition: dialogs.c:2486
LiVESWidget * choose_file_with_preview(const char *dir, const char *title, int preview_type)
Definition: interface.c:2305
void do_no_decoder_error(const char *fname)
Definition: dialogs.c:2445
char * filename_from_fd(char *val, int fd)
Definition: utils.c:43
void switch_to_int_player(void)
Definition: main.h:333
uint32_t fastrand(void)
Definition: utils.c:5104
image could not be captured
Definition: main.h:387
void on_open_fw_activate(LiVESMenuItem *menuitem, livespointer user_data)
Definition: ldvgrab.c:298
void resize(double scale)
Definition: main.c:7172
void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *)
Definition: main.c:3557
boolean do_abort_check(void)
Definition: dialogs.c:3121
boolean opening_only_audio
Definition: main.h:538
char * subst(const char *string, const char *from, const char *to)
Definition: utils.c:4970
yuv4mpeg stream
Definition: main.h:426
void set_int_pref(const char *key, int value)
Definition: preferences.c:263
Definition: main.h:786
void do_keys_window(void)
Definition: dialogs.c:2355
render_details * rdet
Definition: events.h:142
void switch_aud_to_mplayer2(boolean set_pref)
Definition: utils.c:3520
mainwindow * mainw
Definition: main.c:91
record audio to selection
Definition: main.h:352
void load_frame_image(int frame)
Definition: main.c:4980
type for LiVES to LiVES streaming
Definition: main.h:429
int progress_end
Definition: main.h:524
ulong menuentry_func
Definition: main.h:527
boolean check_encoder_restrictions(boolean get_extension, boolean user_audio, boolean save_all)
Definition: plugins.c:1596
boolean get_srt_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:411
uint16_t blue
Definition: main.h:453
void set_list_pref(const char *key, LiVESList *values)
Definition: preferences.c:306
int * frame_index
Definition: main.h:612
void do_audrate_error_dialog(void)
Definition: dialogs.c:2554
char * rcfile
Definition: main.h:694
int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:457
double stored_layout_fps
Definition: main.h:639
int64_t reltime
Definition: main.h:279
boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:846
LiVESPixbuf * mt_framedraw(lives_mt *, LiVESPixbuf *)
Definition: paramspecial.c:501
Definition: main.h:361
void subtitles_free(lives_clip_t *sfile)
Definition: pangotext.c:709
boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data, int clipno, int frameno, double atime, boolean affects_current)
Definition: utils.c:1892
void do_layout_ascrap_file_error(void)
Definition: dialogs.c:2084
lives_lmap_error_t
Definition: multitrack.h:930
boolean has_smogrify
Definition: main.h:662
void do_dev_busy_error(const char *devstr)
Definition: dialogs.c:3142
LiVESWidget * processing
Definition: main.h:284
normal - kill background processes working on current clip
Definition: main.h:417
char * get_extension(const char *filename)
Definition: utils.c:2387
int get_approx_ln(uint32_t val)
Definition: utils.c:1264
void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic)
Definition: utils.c:3817
int lives_creat_buffered(const char *pathname, int mode)
Definition: utils.c:574
void do_no_autolives_error(void)
Definition: dialogs.c:3226
boolean play_paused
Definition: main.h:533
boolean has_midistartstop
Definition: main.h:680
int fx_frame_pump
rfx frame pump for virtual clips (CLIP_TYPE_FILE)
Definition: main.h:616
double get_ratio_fps(const char *string)
Definition: utils.c:4891
Definition: main.h:804
Definition: main.h:794
void toggle_record(void)
Definition: gui.c:3823
void get_monitors(void)
Definition: main.c:230
boolean do_warning_dialog(const char *text)
Definition: dialogs.c:350
boolean after_foreign_play(void)
Definition: utils.c:3712
Definition: main.h:660
boolean startup_message_info(const char *msg)
Definition: main.c:3182
mainw->
Definition: mainwindow.h:267
LiVESList * get_list_pref(const char *key)
Definition: preferences.c:133
int frameno
Definition: main.h:557
double undo1_dbl
Definition: main.h:592
boolean do_yuv4m_open_warning(void)
Definition: dialogs.c:2297
void * ext_src
points to opaque source for non-disk types
Definition: main.h:606
boolean process_one(boolean visible)
Definition: dialogs.c:1042
void do_jack_noopen_warn(void)
Definition: dialogs.c:2458
boolean prompt_remove_layout_files(void)
Definition: dialogs.c:2413
xprocess * proc_ptr
the processing window
Definition: main.h:506
void free_track_decoders(void)
Definition: main.c:4967
LiVESWidget * label2
Definition: main.h:287
boolean check_frame_count(int idx)
Definition: utils.c:2229
boolean undo2_boolean
Definition: main.h:595
boolean write_headers(lives_clip_t *file)
Definition: saveplay.c:4031
void do_rendered_fx_dialog(void)
Definition: dialogs.c:2396
void do_audio_import_error(void)
Definition: dialogs.c:2407
user pressed 'Keep'
Definition: main.h:399
double calc_time_from_frame(int clip, int frame)
Definition: utils.c:1430
ssize_t sizshrt
Definition: main.c:90
void get_menu_text_long(LiVESWidget *menuitem, char *text)
Definition: utils.c:3836
event_list completed
Definition: main.h:390
void do_jack_noopen_warn4(void)
Definition: dialogs.c:2469
uint64_t make_version_hash(const char *ver)
Definition: utils.c:2456
void get_dirname(char *filename)
Definition: utils.c:2337
Definition: main.h:332
void lives_close_all_file_buffers(void)
Definition: utils.c:460
int vsize
Definition: main.h:479
void add_suffix_check(LiVESBox *box, const char *ext)
Definition: interface.c:30
void splash_init(void)
Definition: gui.c:4433
char * get_new_install_msg(void)
Definition: dialogs.c:3218
void do_invalid_subs_error(void)
Definition: dialogs.c:3155
boolean has_composite
Definition: main.h:677
boolean can_write_to_tempdir
Definition: main.h:667
ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:490
double freeze_fps
Definition: main.h:532
boolean do_layout_alter_audio_warning(void)
Definition: dialogs.c:2432
livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes)
Definition: effects-weed.c:137
char * get_dir(const char *filename)
Definition: utils.c:2359
int header_version
Definition: main.h:499
struct timeval tv
Definition: main.h:774
off_t lives_lseek_buffered_rdonly(int fd, off_t offset)
Definition: utils.c:642
int calc_frame_from_time3(int filenum, double time)
nearest frame mid
Definition: utils.c:1451
double raudio_time
Definition: main.h:553
resample/reorder/resize/apply effects
Definition: main.h:347
void close_ascrap_file(void)
Definition: saveplay.c:5184
void do_no_mplayer_sox_error(void)
Definition: dialogs.c:2057
void do_bad_layout_error(void)
Definition: dialogs.c:2548
Definition: main.h:800
void on_fileread_clicked(LiVESFileChooser *, livespointer widget)
void on_effects_paused(LiVESButton *, livespointer user_data)
Definition: callbacks.c:9187
lives_interlace_t
Definition: main.h:464
weed_plant_t * event_list_back
Definition: main.h:570
void set_signal_handlers(SignalHandlerPointer sigfunc)
Definition: main.c:2748
Definition: main.h:328
char * insert_newlines(const char *text, int maxwidth)
Definition: utils.c:4988
void do_card_in_use_error(void)
Definition: dialogs.c:3137
void splash_msg(const char *msg, double pct)
Definition: gui.c:4519
boolean do_erase_subs_warning(void)
Definition: dialogs.c:3159
void do_mt_undo_mem_error(void)
Definition: dialogs.c:2502
lives_undo_t
need this for event_list_t *
Definition: main.h:326
lives_painter_surface_t * laudio_drawable
Definition: main.h:652
corresponds to one clip in the GUI
Definition: main.h:474
weed_plant_t * event_list
Definition: main.h:569
double get_double_pref(const char *key)
Definition: preferences.c:239
boolean has_encoder_plugins
Definition: main.h:700
Definition: main.h:336
int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc)
Definition: utils.c:1533
boolean check_backend_return(lives_clip_t *sfile)
Definition: dialogs.c:764
int64_t lives_get_current_ticks(void)
Definition: utils.c:1278
char * clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp)
Definition: utils.c:4401
int stored_layout_frame
layout map for the current layout
Definition: main.h:636
void set_int64_pref(const char *key, int64_t value)
Definition: preferences.c:272
boolean check_dev_busy(char *devstr)
Definition: utils.c:3950
boolean reload_clip(int fileno)
Definition: saveplay.c:5285
void(* SignalHandlerPointer)(int)
Definition: main.h:1018
void open_set_file(const char *set_name, int clipnum)
Definition: saveplay.c:4479
int save_to_scrap_file(weed_plant_t *layer)
Definition: saveplay.c:5003
cancel but keep opening
Definition: main.h:375
char * ds_critical_msg(const char *dir, uint64_t dsval)
Definition: dialogs.c:650
LiVESPixbuf * lives_pixbuf_new_blank(int width, int height, int palette)
Definition: colourspace.c:9883
void add_to_recent(const char *filename, double start, int frames, const char *file_open_params)
Definition: utils.c:4101
ran out of preview frames
Definition: main.h:384
void unfade_background(void)
Definition: gui.c:3315
int do_blocking_info_dialog(const char *text)
Definition: dialogs.c:586
lives_cancel_t check_for_bad_ffmpeg(void)
Definition: utils.c:5275
boolean has_xdg_screensaver
Definition: main.h:686
boolean check_dir_access(const char *dir)
Definition: utils.c:3911
int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient)
Definition: dialogs.c:626
void do_rmem_max_error(int size)
Definition: dialogs.c:2602
int old_frames
for deordering, etc.
Definition: main.h:513
Definition: main.h:362
Definition: main.h:799
ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz)
Definition: utils.c:233
void disable_record(void)
Definition: gui.c:3828
Definition: main.h:784
cancelled because of error
Definition: main.h:405
double video_time
Definition: main.h:551
Definition: main.h:282
pid_t lives_getpid(void)
Definition: utils.c:115
int lives_chdir(const char *path, boolean allow_fail)
Definition: utils.c:839
boolean no_proc_read_errors
skip read error dialogs in processing
Definition: main.h:647
Definition: main.h:301
void get_menu_text(LiVESWidget *menu, char *text)
Definition: utils.c:3830
Definition: pangotext.h:39
void add_warn_check(LiVESBox *box, int warn_mask_number)
Definition: dialogs.c:108
int hsize
in pixels (NOT macropixels !)
Definition: main.h:478
Definition: main.h:354
boolean has_gdb
Definition: main.h:684
void get_location(const char *exe, char *val, int maxlen)
Definition: utils.c:2424
void switch_to_mplayer(void)
void get_frame_count(int idx)
Definition: utils.c:2265
effect processing finished during preview
Definition: main.h:378
void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:1754
lives_image_type_t img_type
Definition: main.h:633
lives_cancel_type_t
Definition: main.h:416
void make_custom_submenus(void)
Definition: gui.c:121
boolean int_array_contains_value(int *array, int num_elems, int value)
Definition: utils.c:3842
boolean ensure_isdir(char *fname)
Definition: utils.c:2404
int do_header_read_error_with_retry(int clip) WARN_UNUSED
Definition: dialogs.c:3022
uint32_t get_signed_endian(boolean is_signed, boolean little_endian)
Definition: utils.c:4921
int myround(double n)
Definition: utils.c:1248
void on_cleardisk_advanced_clicked(LiVESWidget *, livespointer user_data)
Definition: callbacks.c:5396
boolean lives_alarm_get(int alarm_handle)
Definition: utils.c:1332
boolean smog_version_correct
Definition: main.h:663
Definition: main.h:785
void popup_lmap_errors(LiVESMenuItem *, livespointer)
Definition: callbacks.c:8477
void resize_widgets_for_monitor(boolean get_play_times)
Definition: gui.c:3856
LiVESList * lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED
Definition: utils.c:5209
void kill_play_window(void)
Definition: gui.c:4318
boolean has_mplayer2
Definition: main.h:675
void on_cleardisk_activate(LiVESWidget *, livespointer user_data)
Definition: callbacks.c:5235
void get_pref_default(const char *key, char *val, int maxlen)
Definition: preferences.c:159
void do_pulse_lost_conn_error(void)
Definition: dialogs.c:3238
void switch_audio_clip(int new_file, boolean activate)
Definition: main.c:6827
capability * capable
some shared structures
Definition: main.c:88
void set_palette_colours(void)
Definition: main.c:1930
LiVESWidget * progressbar
Definition: main.h:285
boolean cache_file_contents(const char *filename)
Definition: utils.c:4342
boolean read_file_details(const char *file_name, boolean only_check_for_audio)
Definition: saveplay.c:154
int end
Definition: main.h:520
int lives_getgid(void)
Definition: utils.c:222
uint64_t unique_id
this and the handle can be used to uniquely id a file
Definition: main.h:484
video playback completed
Definition: main.h:393
void do_upgrade_error_dialog(void)
Definition: dialogs.c:2386
void on_details_button_clicked(void)
Definition: callbacks.c:6672
boolean do_yesno_dialog(const char *text)
Definition: dialogs.c:431
void activate_url_inner(const char *link)
Definition: utils.c:3976
void d_print_done(void)
Definition: dialogs.c:2808
void load_start_image(int frame)
Definition: main.c:3598
void do_mt_no_jack_error(int warn_mask)
Definition: dialogs.c:2537
boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc)
Definition: main.c:4688
void too_many_files(void)
Definition: dialogs.c:2039
boolean do_header_write_error(int clip)
Definition: dialogs.c:3037
void save_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:1220
void do_do_not_close_d(void)
Definition: dialogs.c:3194
void do_chdir_failed_error(const char *dir)
Definition: dialogs.c:3083
void do_layout_scrap_file_error(void)
Definition: dialogs.c:2079
boolean do_set_rename_old_layouts_warning(const char *new_set)
Definition: dialogs.c:2494
lives_clip_type_t
Definition: main.h:424
void fade_background(void)
Definition: gui.c:3175
void play_file(void)
Definition: saveplay.c:2193
void do_after_crash_warning(void)
Definition: dialogs.c:2589
boolean do_sub_type_warning(const char *ext, const char *type_ext)
Definition: dialogs.c:3164
void add_to_playframe(void)
Definition: gui.c:4338
void rewrite_recovery_file(void)
Definition: saveplay.c:5803
void do_encoder_acodec_error(void)
Definition: dialogs.c:2073
boolean is_writeable_dir(const char *dir)
Definition: utils.c:5116
void threaded_dialog_spin(void)
Definition: dialogs.c:2696
void do_vpp_palette_error(void)
Definition: dialogs.c:2573
void backup_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:3890
boolean has_gconftool_2
Definition: main.h:685
boolean prepare_to_play_foreign(void)
Definition: utils.c:3572
char * get_menu_name(lives_clip_t *sfile)
Definition: gui.c:4362
boolean do_set_duplicate_warning(const char *new_set)
Definition: dialogs.c:2419
double vel
Definition: main.h:304
boolean is_loaded
should we continue loading if we come back to this clip
Definition: main.h:541
LiVESList * lives_list_append_unique(LiVESList *xlist, const char *add)
Definition: utils.c:1395
boolean save_clip_values(int which_file)
Definition: saveplay.c:37
int64_t f_size
Definition: main.h:511
int undo_asampsize
Definition: main.h:601
void break_me(void)
Definition: main.c:133
boolean lives_fsync(int fd)
Definition: utils.c:245
void do_quick_switch(int new_file)
Definition: main.c:7028
boolean get_boolean_pref(const char *key)
Definition: preferences.c:225
void get_frames_sizes(int fileno, int frame_to_test)
Definition: utils.c:2313
void do_set_noclips_error(const char *setname)
Definition: dialogs.c:3201
Definition: main.h:337
ulong deduce_file(const char *filename, double start_time, int end)
Definition: saveplay.c:222
int get_int_pref(const char *key)
Definition: preferences.c:232
int ncpus
Definition: main.h:715
void response_ok(LiVESButton *button, livespointer user_data)
Definition: dialogs.c:2793
void resize_play_window(void)
Definition: gui.c:3985
uint64_t op_ds_warn_level
current disk space warning level for any output directory
Definition: main.h:644
void do_memory_error_dialog(void)
Definition: dialogs.c:692
special cancel for TV toy
Definition: main.h:411
void procw_desensitize(void)
Definition: main.c:3484
void do_system_failed_error(const char *com, int retval, const char *addinfo)
Definition: dialogs.c:2817
boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask)
Definition: main.c:3189
void remove_layout_files(LiVESList *lmap)
Definition: utils.c:2511
int lives_close_buffered(int fd)
Definition: utils.c:579
void set_interactive(boolean interactive)
Definition: gui.c:3081
void make_preview_box(void)
Definition: gui.c:3569
LiVESWidget * refresh_rte_window(void)
Definition: rte_window.c:2453
Definition: main.h:340
void tempdir_warning(void)
Definition: dialogs.c:2045
boolean changed
Definition: main.h:525
int insert_end
Definition: main.h:522
boolean has_sox_sox
Definition: main.h:672
int lives_alarm_set(int64_t ticks)
Definition: utils.c:1293
lives_cancel_t
cancel reason
Definition: main.h:367
boolean do_mt_rect_prompt(void)
Definition: dialogs.c:2543
boolean open_ascrap_file(void)
Definition: saveplay.c:4845
int achans
Definition: main.h:485
Definition: main.h:360
weed_plant_t * next_event
Definition: main.h:571
boolean is_ready
Definition: main.h:295
Definition: main.h:335
void set_pref(const char *key, const char *value)
Definition: preferences.c:254
boolean check_for_ratio_fps(double fps)
Definition: utils.c:4873
void do_dvgrab_error(void)
Definition: dialogs.c:2563
boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text)
Definition: dialogs.c:1452
void block_expose(void)
Definition: gui.c:3540
boolean get_new_handle(int index, const char *name)
Definition: saveplay.c:3519
LiVESWidget * preview_button
Definition: main.h:291
boolean has_sox_play
Definition: main.h:671
Definition: plugins.h:481
void get_filename(char *filename, boolean strip_dir)
Definition: utils.c:2376
Definition: main.h:789
Definition: main.h:341
LiVESWidget * pause_button
Definition: main.h:290
cancelled and paused
Definition: main.h:408
void do_jack_noopen_warn2(void)
Definition: dialogs.c:2481
boolean orig_file_name
Definition: main.h:528
boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:780
void calc_aframeno(int fileno)
Definition: utils.c:1511
lives_storage_status_t
disk/storage status values
Definition: mainwindow.h:177
void do_start_messages(void)
Definition: main.c:1821
boolean has_identify
Definition: main.h:678
Definition: main.h:436
void do_locked_in_vdevs_error(void)
Definition: dialogs.c:3190
Definition: main.h:437
void sensitize(void)
Definition: main.c:3228
LiVESWidget * label
Definition: main.h:286
boolean has_autolives
Definition: main.h:673
void catch_sigint(int signum)
Definition: main.c:183
Definition: main.h:450
Definition: main.h:339
Definition: main.h:802
void lives_freep(void **ptr)
Definition: utils.c:858
void do_aud_during_play_error(void)
Definition: dialogs.c:687
boolean check_for_recovery_files(boolean auto_recover)
Definition: saveplay.c:5856
boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen)
Definition: utils.c:4497
int calc_frame_from_time(int filenum, double time)
nearest frame start
Definition: utils.c:1434
void do_no_in_vdevs_error(void)
Definition: dialogs.c:3186
int undo_end
Definition: main.h:580
void lives_srandom(unsigned int seed)
Definition: utils.c:96
void create_cfile(void)
Definition: saveplay.c:3422
int byte_order
Definition: main.h:717
void init_track_decoders(void)
Definition: main.c:4956
int undo4_int
Definition: main.h:590
double pointer_time
Definition: main.h:554
void do_mt_no_audchan_error(void)
Definition: dialogs.c:2533
const char * get_image_ext_for_type(lives_image_type_t imgtype)
Definition: utils.c:1401
uint16_t red
Definition: main.h:457
double fps
Definition: main.h:477
char * lives_format_storage_space_string(uint64_t space)
Definition: utils.c:795
int cb_src
source clip for clipboard
Definition: main.h:655
void do_nojack_rec_error(void)
Definition: dialogs.c:2568
LiVESWidget * create_cdtrack_dialog(int type, livespointer user_data)
Definition: interface.c:1533
void get_total_time(lives_clip_t *file)
Definition: utils.c:3180
livespointer _lives_malloc(size_t size)
Definition: effects-weed.c:72
ulong open_file(const char *filename)
Definition: saveplay.c:245
char * myname_full
Definition: main.h:708
boolean ratio_fps
if the fps was set by a ratio
Definition: main.h:622
application quit
Definition: main.h:381
void save_future_prefs(void)
Definition: preferences.c:1465
boolean has_convert
Definition: main.h:676
generator was stopped
Definition: main.h:396
void create_LiVES(void)
Definition: gui.c:160
resample/resize and resample audio for encoding
Definition: main.h:344
int undo_start
Definition: main.h:579
int do_info_dialog(const char *text)
Definition: dialogs.c:540
boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all)
Definition: dialogs.c:2185
Definition: main.h:349
boolean open_scrap_file(void)
Definition: saveplay.c:4803
Definition: main.h:791
void make_play_window(void)
Definition: gui.c:3895
boolean check_for_lock_file(const char *set_name, int type)
Definition: utils.c:2100
Definition: main.h:329
int undo3_int
Definition: main.h:589
boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t)
Definition: pangotext.c:732
void switch_aud_to_mplayer(boolean set_pref)
Definition: utils.c:3467
short cpu_bits
Definition: main.h:705
uint64_t get_version_hash(const char *exe, const char *sep, int piece)
Definition: utils.c:2438
char * ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn)
Definition: dialogs.c:668
void do_decoder_palette_error(void)
Definition: dialogs.c:2578
void get_pref(const char *key, char *val, int maxlen)
Definition: preferences.c:47
int calc_frame_from_time2(int filenum, double time)
nearest frame end
Definition: utils.c:1442
livespointer _lives_realloc(livespointer ptr, size_t new_size)
Definition: effects-weed.c:82
boolean save_file_comments(int fileno)
Definition: saveplay.c:3727
double pb_fps
Definition: main.h:531
ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
#define WARN_UNUSED
Definition: main.h:261
Definition: main.h:790
char * dummychar
Definition: main.h:1374
void fullscreen_internal(void)
Definition: gui.c:3479
char * myname
Definition: main.h:709
boolean has_python
Definition: main.h:702
Definition: main.h:783
Definition: main.h:803
lives_subtitle_type_t
Definition: pangotext.h:13
LiVESList * lives_list_copy_strings(LiVESList *list)
Definition: utils.c:5225
#define FALSE
Definition: videoplugin.h:56
boolean do_warning_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:355
void load_end_image(int frame)
Definition: main.c:3773
Definition: main.h:330
void lives_sync(void)
Definition: utils.c:255
ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:720
boolean do_original_lost_warning(const char *fname)
Definition: dialogs.c:2436
int do_blocking_error_dialog(const char *text)
Definition: dialogs.c:572
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data)
Definition: utils.c:4084
boolean has_jackd
Definition: main.h:681
boolean add_file_info(const char *check_handle, boolean aud_only)
Definition: saveplay.c:3551
double laudio_time
Definition: main.h:552
boolean string_lists_differ(LiVESList *, LiVESList *)
Definition: utils.c:5241
boolean undoable
Definition: main.h:583
Definition: main.h:465
Definition: main.h:788
int do_error_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:558
void d_print_cancelled(void)
Definition: dialogs.c:2798
void zero_spinbuttons(void)
Definition: utils.c:3296
user pressed stop
Definition: main.h:372
int arps
audio sample rate
Definition: main.h:480
boolean opening_loc
Definition: main.h:539
float LEFloat_to_BEFloat(float f)
Definition: utils.c:1414
boolean switch_aud_to_jack(void)
Definition: utils.c:3310
uint16_t green
Definition: main.h:458