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