LiVES  2.4.6
 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_ORC
244 #include <orc/orc.h>
245 #endif
246 
247 #ifdef ENABLE_OIL
248 #include <liboil/liboil.h>
249 #endif
250 
251 #ifndef IS_SOLARIS
252 #define LIVES_INLINE inline
253 #else
254 #define LIVES_INLINE
255 #endif
256 
257 #include <limits.h>
258 #include <float.h>
259 
260 #ifndef PATH_MAX
261 #ifdef MAX_PATH
262 #define PATH_MAX MAX_PATH
263 #else
264 #define PATH_MAX 4096
265 #endif
266 #endif
267 
268 #ifdef __GNUC__
269 # define WARN_UNUSED __attribute__((warn_unused_result))
270 #else
271 # define WARN_UNUSED
272 #endif
273 
274 #ifdef PRODUCE_LOG
275 #define LIVES_LOG "lives.log"
276 #endif
277 
278 uint64_t lives_random(void);
279 
280 #include "widget-helper.h"
281 
282 typedef void *(*fn_ptr)(void *ptr);
283 
284 
287 typedef struct {
288  int value;
289  int64_t reltime;
290 } event;
291 
292 typedef struct {
293  // processing / busy dialog
294  LiVESWidget *processing;
295  LiVESWidget *progressbar;
296  LiVESWidget *label;
297  LiVESWidget *label2;
298  LiVESWidget *label3;
299  LiVESWidget *stop_button;
300  LiVESWidget *pause_button;
301  LiVESWidget *preview_button;
302  LiVESWidget *cancel_button;
303  LiVESWidget *scrolledwindow;
304  uint32_t frames_done;
305  boolean is_ready;
306 } xprocess;
307 
308 
309 
310 
311 typedef struct {
312  int afile;
313  double seek;
314  double vel;
316 
317 
318 #if HAVE_SYSTEM_WEED
319 #include <weed/weed.h>
320 #include <weed/weed-events.h>
321 #else
322 #include "../libweed/weed.h"
323 #include "../libweed/weed-events.h"
324 #endif
325 
326 // see weed event spec. for more info
327 
329 #include "events.h"
330 
331 #ifdef IS_LIBLIVES
332 #include "liblives.hpp"
333 #include "lbindings.h"
334 #endif
335 
336 typedef enum {
352 
355 
358 
360 
363 
365 } lives_undo_t;
366 
367 
369 typedef enum {
374 
375 
377 typedef enum {
380 
383 
386 
389 
392 
395 
398 
401 
404 
407 
410 
413 
416 
419 
422 
424 
425 
426 typedef enum {
430 
431 
432 
433 
434 typedef enum {
442 
443 
444 typedef enum {
449 
450 
451 
452 #define AFORM_SIGNED 0
453 #define AFORM_LITTLE_ENDIAN 0
454 
455 #define AFORM_UNSIGNED 1
456 #define AFORM_BIG_ENDIAN (1<<1)
457 #define AFORM_UNKNOWN 65536
458 
459 
460 typedef struct {
461  uint16_t red;
462  uint16_t green;
463  uint16_t blue;
465 
466 typedef struct {
467  uint16_t red;
468  uint16_t green;
469  uint16_t blue;
470  uint16_t alpha;
472 
473 
474 typedef enum {
479 
480 
481 #include "pangotext.h"
482 
484 typedef struct {
485  // basic info (saved during backup)
486  int bpp;
487  double fps;
488  int hsize;
489  int vsize;
490  int arps;
491  uint32_t signed_endian;
492 
493  int arate;
494  uint64_t unique_id;
495  int achans;
497 
499  int frames;
500  char title[256];
501  char author[256];
502  char comment[256];
503  char keywords[256];
505 
507 
508  // extended info (not saved)
510 
511 #define LIVES_CLIP_HEADER_VERSION 100
512 
514 
517 
518  char handle[256];
519  int ohsize;
520  int ovsize;
521  int64_t f_size;
522  int64_t afilesize;
524  char file_name[PATH_MAX];
525  char info_file[PATH_MAX];
526  char name[256];
527  char save_file_name[PATH_MAX];
528  char type[40];
529  int start;
530  int end;
535  boolean changed;
536  LiVESWidget *menuentry;
538  boolean orig_file_name;
539  boolean was_renamed;
540  boolean is_untitled;
541  double pb_fps;
542  double freeze_fps;
543  boolean play_paused;
544 
545  //opening/restoring status
546  boolean opening;
547  boolean opening_audio;
549  boolean opening_loc;
550  boolean restoring;
551  boolean is_loaded;
552 
554  boolean nopreview;
555 
557  boolean nokeep;
558 
559  // various times; total time is calculated as the longest of video, laudio and raudio
560  double total_time;
561  double video_time;
562  double laudio_time;
563  double raudio_time;
564  double pointer_time;
565 
566  // current and last played index frames for internal player
567  int frameno;
569 
570 
571 
573  // see resample.c for new events system
574 
575 
576  // events
577  event *events[1];
578 
579  weed_plant_t *event_list;
580  weed_plant_t *event_list_back;
581  weed_plant_t *next_event;
582 
583  LiVESList *layout_map;
585 
588 
590  int undo_end;
591  char undo_text[32];
592  char redo_text[32];
593  boolean undoable;
594  boolean redoable;
595 
596  // used for storing undo values
601  uint32_t undo1_uint;
602  double undo1_dbl;
603  double undo2_dbl;
604  boolean undo1_boolean;
605  boolean undo2_boolean;
606  boolean undo3_boolean;
607 
612  int undo_arps;
613 
615 
616  void *ext_src;
617 
623 
625 
627 
628 #define FX_FRAME_PUMP_VAL 200
629 
630 #define IMG_BUFF_SIZE 4096
631 
632  boolean ratio_fps;
633 
634  int64_t aseek_pos;
635 
636  // decoder data
637 
638  char mime_type[256];
639 
640 
641  boolean deinterlace;
642 
644 
650 
652 
653  char *op_dir;
654  uint64_t op_ds_warn_level;
655 
659 
661 
662  lives_painter_surface_t *laudio_drawable;
663  lives_painter_surface_t *raudio_drawable;
664 
665  int cb_src;
666 } lives_clip_t;
667 
668 
669 
670 typedef struct {
671  // the following can be assumed TRUE, they are checked on startup
672  boolean has_smogrify;
678 
679  // the following may need checking before use
680  boolean has_dvgrab;
681  boolean has_sox_play;
682  boolean has_sox_sox;
683  boolean has_autolives;
684  boolean has_mplayer;
685  boolean has_mplayer2;
686  boolean has_mpv;
687  boolean has_convert;
688  boolean has_composite;
689  boolean has_identify;
690  boolean has_cdda2wav;
691  boolean has_icedax;
693  boolean has_jackd;
695  boolean has_xwininfo;
696  boolean has_gdb;
699 
701  char home_dir[PATH_MAX];
702 
704  char system_tmpdir[PATH_MAX];
705 
706 #ifndef IS_MINGW
707  char touch_cmd[PATH_MAX];
708  char rm_cmd[PATH_MAX];
709  char mv_cmd[PATH_MAX];
710  char cp_cmd[PATH_MAX];
711  char ln_cmd[PATH_MAX];
712  char chmod_cmd[PATH_MAX];
713  char cat_cmd[PATH_MAX];
714  char echo_cmd[PATH_MAX];
715  char rmdir_cmd[PATH_MAX];
716 #endif
717 
718  char *rcfile;
719 
721  char startup_msg[256];
722 
723  // plugins
725 
726  boolean has_python;
727  uint64_t python_version;
728 
729  short cpu_bits;
730 
731 
732  char *myname_full;
733  char *myname;
734 
735  boolean has_stderr;
736 
738 
739  int ncpus;
740 
742 
743  pid_t mainpid;
744 
745 } capability;
746 
747 
749 extern capability *capable;
750 
751 #ifdef HAVE_JACK_JACK_H
752 #include "jack.h"
753 #endif
754 
755 #define __STDC_FORMAT_MACROS
756 #include <inttypes.h>
757 
758 #ifndef PRId64
759 
760 #ifndef __WORDSIZE
761 #if defined __x86_64__
762 # define __WORDSIZE 64
763 #ifndef __WORDSIZE_COMPAT32
764 # define __WORDSIZE_COMPAT32 1
765 #endif
766 #else
767 # define __WORDSIZE 32
768 #endif
769 #endif // __WORDSIZE
770 
771 #ifndef __PRI64_PREFIX
772 # if __WORDSIZE == 64
773 # define __PRI64_PREFIX "l"
774 # else
775 # define __PRI64_PREFIX "ll"
776 # endif
777 #endif
778 
779 # define PRId64 __PRI64_PREFIX "d"
780 # define PRIu64 __PRI64_PREFIX "u"
781 #endif // ifndef PRI64d
782 
783 
784 // common defs for mainwindow (retain this order)
785 #include "plugins.h"
786 #include "colourspace.h"
787 #include "paramspecial.h"
788 #include "multitrack.h"
789 #include "mainwindow.h"
790 #include "keyboard.h"
791 #include "preferences.h"
792 
793 extern mainwindow *mainw;
794 
795 
796 // internal player clock
797 #include <sys/time.h>
798 struct timeval tv;
799 
800 
802 extern ssize_t sizint, sizdbl, sizshrt;
803 
804 
805 
806 typedef enum {
831 
832 
833 // some useful functions
834 
835 
836 // dialogs.c
837 boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text);
838 boolean do_warning_dialog(const char *text);
839 boolean do_warning_dialog_with_check(const char *text, int warn_mask_number);
840 boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
841 boolean do_yesno_dialog(const char *text);
842 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
843 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
844 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
845 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
846 int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED;
847 int do_error_dialog(const char *text);
848 int do_info_dialog(const char *text);
849 int do_error_dialog_with_check(const char *text, int warn_mask_number);
850 int do_blocking_error_dialog(const char *text);
851 int do_blocking_info_dialog(const char *text);
852 int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number,
853  LiVESWindow *transient);
854 int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient);
855 LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient,
856  int warn_mask_number, boolean is_blocking);
857 
858 
859 void do_system_failed_error(const char *com, int retval, const char *addinfo);
860 int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
861 void do_write_failed_error_s(const char *filename, const char *addinfo);
862 int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
863 void do_read_failed_error_s(const char *filename, const char *addinfo);
864 boolean do_header_write_error(int clip);
865 int do_header_read_error_with_retry(int clip) WARN_UNUSED;
866 int do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED;
867 void do_chdir_failed_error(const char *dir);
868 void handle_backend_errors(void);
869 boolean check_backend_return(lives_clip_t *sfile);
870 
872 char *ds_critical_msg(const char *dir, uint64_t dsval);
873 char *ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn);
874 boolean check_storage_space(lives_clip_t *sfile, boolean is_processing);
875 
876 char *get_upd_msg(void);
877 char *get_new_install_msg(void);
878 
879 boolean ask_permission_dialog(int what);
880 boolean do_abort_check(void);
881 void add_warn_check(LiVESBox *box, int warn_mask_number);
882 void do_memory_error_dialog(void);
883 void too_many_files(void);
884 void tempdir_warning(void);
885 void do_audio_import_error(void);
886 void do_mt_backup_space_error(lives_mt *, int memreq_mb);
887 
888 boolean do_clipboard_fps_warning(void);
889 void perf_mem_warning(void);
890 void do_dvgrab_error(void);
891 boolean do_comments_dialog(lives_clip_t *sfile, char *filename);
892 boolean do_auto_dialog(const char *text, int type);
893 void do_encoder_acodec_error(void);
894 void do_encoder_sox_error(void);
895 boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate,
896  int asigned, boolean swap_endian, boolean anr, boolean ignore_fps);
897 boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom,
898  int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all);
899 void do_keys_window(void);
900 void do_mt_keys_window(void);
901 void do_messages_window(void);
902 void do_firstever_dialog(void);
903 void do_upgrade_error_dialog(void);
904 void do_no_mplayer_sox_error(void);
905 void do_aud_during_play_error(void);
906 void do_rendered_fx_dialog(void);
907 void do_layout_scrap_file_error(void);
908 void do_layout_ascrap_file_error(void);
909 void do_lb_composite_error(void);
910 void do_lb_convert_error(void);
911 void do_ra_convert_error(void);
912 void do_set_load_lmap_error(void);
913 boolean do_set_duplicate_warning(const char *new_set);
914 boolean do_set_rename_old_layouts_warning(const char *new_set);
915 boolean do_layout_alter_frames_warning(void);
916 boolean do_layout_alter_audio_warning(void);
917 boolean do_yuv4m_open_warning(void);
918 void do_mt_undo_mem_error(void);
919 void do_mt_undo_buf_error(void);
920 void do_mt_set_mem_error(boolean has_mt, boolean trans);
921 void do_mt_audchan_error(int warn_mask);
922 void do_mt_no_audchan_error(void);
923 void do_mt_no_jack_error(int warn_mask);
924 boolean do_mt_rect_prompt(void);
925 void do_audrate_error_dialog(void);
926 boolean do_event_list_warning(void);
927 void do_nojack_rec_error(void);
928 void do_vpp_palette_error(void);
929 void do_vpp_fps_error(void);
930 void do_decoder_palette_error(void);
931 void do_rmem_max_error(int size);
932 boolean do_original_lost_warning(const char *fname);
933 void do_no_decoder_error(const char *fname);
934 void do_jack_noopen_warn(void);
935 void do_jack_noopen_warn2(void);
936 void do_jack_noopen_warn3(void);
937 void do_jack_noopen_warn4(void);
938 void do_file_perm_error(const char *file_name);
939 void do_dir_perm_error(const char *dir_name);
940 void do_dir_perm_access_error(const char *dir_name);
942 void do_after_crash_warning(void);
943 void do_bad_layout_error(void);
944 void do_card_in_use_error(void);
945 void do_dev_busy_error(const char *devstr);
946 boolean do_existing_subs_warning(void);
947 void do_invalid_subs_error(void);
948 boolean do_erase_subs_warning(void);
949 boolean do_sub_type_warning(const char *ext, const char *type_ext);
950 boolean do_move_tmpdir_dialog(void);
951 void do_set_locked_warning(const char *setname);
952 void do_no_in_vdevs_error(void);
953 void do_locked_in_vdevs_error(void);
954 void do_do_not_close_d(void);
955 void do_set_noclips_error(const char *setname);
956 void do_no_autolives_error(void);
958 void do_pulse_lost_conn_error(void);
959 void do_jack_lost_conn_error(void);
960 void do_cd_error_dialog(void);
961 
962 boolean process_one(boolean visible);
963 void do_threaded_dialog(char *translated_text, boolean has_cancel);
964 void end_threaded_dialog(void);
965 void threaded_dialog_spin(void);
966 void response_ok(LiVESButton *button, livespointer user_data);
967 void pump_io_chan(LiVESIOChannel *iochan);
968 
969 void do_splash_progress(void);
970 
971 
972 // d_print shortcuts
973 void d_print_cancelled(void);
974 void d_print_failed(void);
975 void d_print_done(void);
976 void d_print_file_error_failed(void);
977 
978 // general
979 void do_text_window(const char *title, const char *text);
980 
981 // saveplay.c
982 boolean read_file_details(const char *file_name, boolean only_check_for_audio);
983 boolean add_file_info(const char *check_handle, boolean aud_only);
984 boolean save_file_comments(int fileno);
985 boolean reload_clip(int fileno);
986 void reget_afilesize(int fileno);
987 ulong deduce_file(const char *filename, double start_time, int end);
988 ulong open_file(const char *filename);
989 ulong open_file_sel(const char *file_name, double start_time, int frames);
990 void open_fw_device(void);
991 boolean get_new_handle(int index, const char *name);
992 boolean get_temp_handle(int index, boolean create);
993 boolean get_handle_from_info_file(int index);
994 void create_cfile(void);
995 void save_file(int clip, int start, int end, const char *filename);
996 void play_file(void);
997 void save_frame(LiVESMenuItem *menuitem, livespointer user_data);
998 boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc);
999 void wait_for_stop(const char *stop_command);
1000 boolean save_clip_values(int which_file);
1001 void add_to_recovery_file(const char *handle);
1002 void rewrite_recovery_file(void);
1003 boolean check_for_recovery_files(boolean auto_recover);
1004 void recover_layout_map(int numclips);
1005 const char *get_deinterlace_string(void);
1006 
1007 // saveplay.c backup
1008 void backup_file(int clip, int start, int end, const char *filename);
1009 int save_event_frames(void);
1010 boolean write_headers(lives_clip_t *file);
1011 
1012 // saveplay.c restore
1013 ulong restore_file(const char *filename);
1014 boolean read_headers(const char *file_name);
1015 
1016 // saveplay.c sets
1017 void open_set_file(const char *set_name, int clipnum);
1018 
1019 
1020 // saveplay.c scrap file
1021 boolean open_scrap_file(void);
1022 boolean open_ascrap_file(void);
1023 int save_to_scrap_file(weed_plant_t *layer);
1024 boolean load_from_scrap_file(weed_plant_t *layer, int frame);
1025 void close_ascrap_file(void);
1026 void close_scrap_file(void);
1027 
1028 
1029 // main.c
1030 typedef void (*SignalHandlerPointer)(int);
1031 
1033 void catch_sigint(int signum);
1034 void defer_sigint(int signum);
1035 boolean startup_message_fatal(const char *msg);
1036 boolean startup_message_nonfatal(const char *msg);
1037 boolean startup_message_info(const char *msg);
1038 boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask);
1040 void get_monitors(void);
1041 void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *);
1042 void load_start_image(int frame);
1043 void load_end_image(int frame);
1044 void load_preview_image(boolean update_always);
1045 
1046 boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc);
1047 void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc);
1048 void check_layer_ready(weed_plant_t *layer);
1049 boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc,
1050  int width, int height, int target_palette);
1051 LiVESPixbuf *pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc,
1052  int width, int height, LiVESInterpType interp);
1053 LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc);
1054 
1055 LiVESError *lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype,
1056  int quality, boolean do_chmod, LiVESError **gerrorptr);
1057 
1058 void init_track_decoders(void);
1059 void free_track_decoders(void);
1060 
1061 
1062 void load_frame_image(int frame);
1063 void sensitize(void);
1064 void desensitize(void);
1065 void procw_desensitize(void);
1066 void close_current_file(int file_to_switch_to);
1067 void get_next_free_file(void);
1068 void switch_to_file(int old_file, int new_file);
1069 void do_quick_switch(int new_file);
1070 void switch_audio_clip(int new_file, boolean activate);
1071 void resize(double scale);
1072 void do_start_messages(void);
1073 void set_palette_colours(void);
1074 void set_main_title(const char *filename, int or_untitled_number);
1075 void set_record(void);
1076 
1077 //gui.c
1078 void create_LiVES(void);
1079 void set_interactive(boolean interactive);
1080 char *get_menu_name(lives_clip_t *sfile);
1081 void enable_record(void);
1082 void toggle_record(void);
1083 void disable_record(void);
1084 void make_custom_submenus(void);
1085 void fade_background(void);
1086 void unfade_background(void);
1087 void block_expose(void);
1088 void unblock_expose(void);
1089 void frame_size_update(void);
1090 void splash_init(void);
1091 void splash_end(void);
1092 void splash_msg(const char *msg, double pct);
1093 void add_message_scroller(LiVESWidget *conter);
1095 #if GTK_CHECK_VERSION(3,0,0)
1096 void calibrate_sepwin_size(void);
1097 boolean expose_pim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1098 boolean expose_sim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1099 boolean expose_eim(LiVESWidget *widget, lives_painter_t *cr, livespointer user_data);
1100 #endif
1101 
1102 
1103 
1104 
1105 
1106 // system calls in utils.c
1107 int lives_system(const char *com, boolean allow_error);
1108 lives_pid_t lives_fork(const char *com);
1109 int lives_open_buffered_rdonly(const char *pathname);
1110 int lives_creat_buffered(const char *pathname, int mode);
1111 int lives_close_buffered(int fd);
1112 void lives_close_all_file_buffers(void);
1113 off_t lives_lseek_buffered_rdonly(int fd, off_t offset);
1114 ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1115 ssize_t lives_write_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1116 ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1117 ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1118 ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less);
1119 ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less);
1120 ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less);
1121 ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less);
1122 int lives_chdir(const char *path, boolean allow_fail);
1123 int lives_fputs(const char *s, FILE *stream);
1124 char *lives_fgets(char *s, int size, FILE *stream);
1125 pid_t lives_getpid(void);
1126 int lives_getgid(void);
1127 int lives_getuid(void);
1128 void lives_freep(void **ptr);
1129 #ifdef IS_MINGW
1130 boolean lives_win32_suspend_resume_process(DWORD pid, boolean suspend);
1131 boolean lives_win32_kill_subprocesses(DWORD pid, boolean kill_parent);
1132 int lives_win32_get_num_logical_cpus(void);
1133 #endif
1134 int lives_kill(lives_pid_t pid, int sig);
1135 int lives_killpg(lives_pgid_t pgrp, int sig);
1136 void lives_srandom(unsigned int seed);
1137 ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz);
1138 boolean lives_setenv(const char *name, const char *value);
1139 boolean lives_fsync(int fd);
1140 void lives_sync(void);
1141 
1142 int lives_utf8_strcasecmp(const char *s1, const char *s2);
1143 
1144 char *filename_from_fd(char *val, int fd);
1145 
1146 float LEFloat_to_BEFloat(float f);
1147 uint64_t lives_10pow(int pow);
1148 int get_approx_ln(uint32_t val);
1149 
1150 int64_t lives_get_current_ticks(void);
1151 boolean lives_alarm_get(int alarm_handle);
1152 int lives_alarm_set(int64_t ticks);
1153 void lives_alarm_clear(int alarm_handle);
1154 lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval);
1155 char *lives_format_storage_space_string(uint64_t space);
1156 
1157 
1158 int myround(double n);
1159 void get_dirname(char *filename);
1160 char *get_dir(const char *filename);
1161 void get_basename(char *filename);
1162 void get_filename(char *filename, boolean strip_dir);
1163 char *get_extension(const char *filename);
1164 uint64_t get_version_hash(const char *exe, const char *sep, int piece);
1165 uint64_t make_version_hash(const char *ver);
1166 void d_print(const char *fmt, ...);
1167 void init_clipboard(void);
1168 boolean cache_file_contents(const char *filename);
1169 char *get_val_from_cached_list(const char *key, size_t maxlen);
1170 
1171 void get_location(const char *exe, char *val, int maxlen);
1172 
1173 char *make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext);
1174 
1175 void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic);
1176 void get_menu_text(LiVESWidget *menu, char *text);
1177 void get_menu_text_long(LiVESWidget *menuitem, char *text);
1178 void reset_clipmenu(void);
1179 void get_play_times(void);
1180 void get_total_time(lives_clip_t *file);
1181 uint32_t get_signed_endian(boolean is_signed, boolean little_endian);
1182 void fullscreen_internal(void);
1183 void switch_to_int_player(void);
1184 void switch_to_mplayer(void);
1185 void switch_aud_to_sox(boolean set_pref);
1186 boolean switch_aud_to_jack(void);
1187 boolean switch_aud_to_pulse(void);
1188 void switch_aud_to_mplayer(boolean set_pref);
1189 void switch_aud_to_mplayer2(boolean set_pref);
1190 boolean prepare_to_play_foreign(void);
1191 boolean after_foreign_play(void);
1192 boolean check_file(const char *file_name, boolean check_exists);
1193 boolean check_dir_access(const char *dir);
1194 uint64_t get_file_size(int fd);
1195 uint64_t sget_file_size(const char *name);
1196 uint64_t get_fs_free(const char *dir);
1197 boolean is_writeable_dir(const char *dir);
1198 boolean ensure_isdir(char *fname);
1199 char *ensure_extension(const char *fname, const char *ext) WARN_UNUSED;
1200 boolean check_dev_busy(char *devstr);
1201 void activate_url_inner(const char *link);
1202 void activate_url(LiVESAboutDialog *about, const char *link, livespointer data);
1203 void show_manual_section(const char *lang, const char *section);
1204 
1205 double calc_time_from_frame(int clip, int frame);
1206 int calc_frame_from_time(int filenum, double time);
1207 int calc_frame_from_time2(int filenum, double time);
1208 int calc_frame_from_time3(int filenum, double time);
1209 
1210 boolean check_for_ratio_fps(double fps);
1211 double get_ratio_fps(const char *string);
1212 void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight);
1213 
1214 char *remove_trailing_zeroes(double val);
1215 
1216 void remove_layout_files(LiVESList *lmap);
1217 boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data,
1218  int clipno, int frameno, double atime, boolean affects_current);
1219 void clear_lmap_errors(void);
1220 boolean prompt_remove_layout_files(void);
1221 boolean is_legal_set_name(const char *set_name, boolean allow_dupes);
1222 char *repl_tmpdir(const char *entry, boolean fwd);
1223 char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp);
1224 boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen);
1225 void save_clip_value(int which, lives_clip_details_t, void *val);
1226 boolean check_frame_count(int idx);
1227 void get_frame_count(int idx);
1228 void get_frames_sizes(int fileno, int frame_to_test);
1229 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
1230 boolean int_array_contains_value(int *array, int num_elems, int value);
1231 boolean check_for_lock_file(const char *set_name, int type);
1232 void lives_list_free_strings(LiVESList *list);
1233 
1234 boolean create_event_space(int length_in_eventsb);
1235 void add_to_recent(const char *filename, double start, int frames, const char *file_open_params);
1236 int verhash(char *version);
1237 void set_undoable(const char *what, boolean sensitive);
1238 void set_redoable(const char *what, boolean sensitive);
1239 void zero_spinbuttons(void);
1240 void draw_little_bars(double ptrtime);
1241 void set_sel_label(LiVESWidget *label);
1242 void clear_mainw_msg(void);
1243 int get_token_count(const char *string, int delim);
1244 LiVESPixbuf *lives_pixbuf_new_blank(int width, int height, int palette);
1245 char *lives_strappend(char *string, int len, const char *newbit);
1246 LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add);
1247 void find_when_to_stop(void);
1248 int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc);
1249 void calc_aframeno(int fileno);
1250 void minimise_aspect_delta(double allowed_aspect,int hblock,int vblock,int hsize,int vsize,int *width,int *height);
1251 LiVESInterpType get_interp_value(short quality);
1252 
1253 LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED;
1254 LiVESList *lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED;
1255 LiVESList *lives_list_copy_strings(LiVESList *list);
1256 boolean string_lists_differ(LiVESList *, LiVESList *);
1257 
1258 boolean is_realtime_aplayer(int ptype);
1259 
1260 LiVESList *get_set_list(const char *dir, boolean utf8);
1261 
1262 char *subst(const char *string, const char *from, const char *to);
1263 char *insert_newlines(const char *text, int maxwidth);
1264 
1265 int hextodec(char *string);
1266 int get_hex_digit(const char *c);
1267 
1268 const char *get_image_ext_for_type(lives_image_type_t imgtype);
1269 
1270 uint32_t fastrand(void);
1271 void fastsrand(uint32_t seed);
1272 
1273 int lives_list_strcmp_index(LiVESList *list, livesconstpointer data);
1274 
1276 
1277 //callbacks.c
1278 void lives_exit(int signum);
1279 void lives_notify(int msgnumber,const char *msgstring);
1280 const char *get_set_name(void);
1281 void count_opening_frames(void);
1282 void on_fileread_clicked(LiVESFileChooser *, livespointer widget);
1283 boolean dirchange_callback(LiVESAccelGroup *, LiVESObject *, uint32_t, LiVESXModifierType, livespointer user_data);
1284 void on_effects_paused(LiVESButton *, livespointer user_data);
1285 void on_cancel_keep_button_clicked(LiVESButton *, livespointer user_data);
1286 void on_cleardisk_activate(LiVESWidget *, livespointer user_data);
1287 void on_cleardisk_advanced_clicked(LiVESWidget *, livespointer user_data);
1288 void popup_lmap_errors(LiVESMenuItem *, livespointer);
1289 void on_filesel_button_clicked(LiVESButton *, livespointer user_data);
1290 void switch_clip(int type, int newclip, boolean force);
1291 void on_details_button_clicked(void);
1292 
1293 
1294 
1295 // paramspecial.c
1296 LiVESPixbuf *mt_framedraw(lives_mt *, LiVESPixbuf *);
1297 
1298 
1299 // effects-weed.c
1300 livespointer _lives_malloc(size_t size);
1301 livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n);
1302 livespointer lives_memset(livespointer s, int c, size_t n);
1303 void _lives_free(livespointer ptr);
1304 livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes);
1305 livespointer _lives_realloc(livespointer ptr, size_t new_size);
1306 
1307 
1308 // pangotext.c
1309 boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t);
1310 void subtitles_free(lives_clip_t *sfile);
1311 boolean get_srt_text(lives_clip_t *sfile, double xtime);
1312 boolean get_sub_text(lives_clip_t *sfile, double xtime);
1313 boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1314 boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1315 
1316 #include "osc_notify.h"
1317 
1318 // inlines
1319 #define cfile mainw->files[mainw->current_file]
1320 #define clipboard mainw->files[0]
1321 
1322 #define PREFS_TIMEOUT 10000000
1323 
1324 #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm"
1325 
1326 
1327 // round (double) a up to next (integer) multiple of (double) b
1328 #define CEIL(a,b) ((int)(((double)a+(double)b-.000000001)/((double)b))*b)
1329 
1330 #ifdef NEED_ENDIAN_TEST
1331 #undef NEED_ENDIAN_TEST
1332 static int32_t testint = 0x12345678;
1333 #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12)
1334 #endif
1335 
1336 
1338 
1339 void break_me(void);
1340 
1341 #define LIVES_NO_DEBUG
1342 #ifndef LIVES_DEBUG
1343 #ifndef LIVES_NO_DEBUG
1344 #define LIVES_DEBUG(x) fprintf(stderr, "LiVES debug: %s\n", x)
1345 #else // LIVES_NO_DEBUG
1346 #define LIVES_DEBUG(x) dummychar = x
1347 #endif // LIVES_NO_DEBUG
1348 #endif // LIVES_DEBUG
1349 
1350 #ifndef LIVES_INFO
1351 #ifndef LIVES_NO_INFO
1352 #define LIVES_INFO(x) fprintf(stderr, "LiVES info: %s\n", x)
1353 #else // LIVES_NO_INFO
1354 #define LIVES_INFO(x) dummychar = x
1355 #endif // LIVES_NO_INFO
1356 #endif // LIVES_INFO
1357 
1358 #ifndef LIVES_WARN
1359 #ifndef LIVES_NO_WARN
1360 #define LIVES_WARN(x) fprintf(stderr, "LiVES warning: %s\n", x)
1361 #else // LIVES_NO_WARN
1362 #define LIVES_WARN(x) dummychar = x
1363 #endif // LIVES_NO_WARN
1364 #endif // LIVES_WARN
1365 
1366 #ifndef LIVES_ERROR
1367 #ifndef LIVES_NO_ERROR
1368 #define LIVES_ERROR(x) {fprintf(stderr, "LiVES error: %s\n", x); break_me();}
1369 #else // LIVES_NO_ERROR
1370 #define LIVES_ERROR(x) dummychar = x
1371 #endif // LIVES_NO_ERROR
1372 #endif // LIVES_ERROR
1373 
1374 #ifndef LIVES_FATAL
1375 #ifndef LIVES_NO_FATAL
1376 #define LIVES_FATAL(x) {fprintf(stderr, "LiVES fatal: %s\n", x); raise (LIVES_SIGSEGV);}
1377 #else // LIVES_NO_FATAL
1378 #define LIVES_FATAL(x) dummychar = x
1379 #endif // LIVES_NO_FATAL
1380 #endif // LIVES_FATAL
1381 
1382 
1383 #endif // #ifndef HAS_LIVES_MAIN_H
1384 
int undo_arate
audio playback rate
Definition: main.h:608
void do_locked_in_vdevs_error(void)
Definition: dialogs.c:3313
void do_system_failed_error(const char *com, int retval, const char *addinfo)
Definition: dialogs.c:2940
void load_preview_image(boolean update_always)
Definition: main.c:4097
void set_signal_handlers(SignalHandlerPointer sigfunc)
Definition: main.c:2813
int frames
Definition: main.h:499
double undo2_dbl
Definition: main.h:603
int afile
Definition: main.h:312
void reget_afilesize(int fileno)
Definition: utils.c:4064
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
Definition: utils.c:2403
boolean has_stderr
Definition: main.h:735
LiVESWidget * stop_button
Definition: main.h:299
int undo1_int
Definition: main.h:597
boolean no_proc_sys_errors
skip system error dialogs in processing
Definition: main.h:656
int value
Definition: main.h:288
uint64_t python_version
Definition: main.h:727
Definition: main.h:466
int get_hex_digit(const char *c)
Definition: utils.c:5130
Definition: main.h:821
boolean deinterlace
auto deinterlace
Definition: main.h:641
boolean opening_audio
Definition: main.h:547
int lives_open_buffered_rdonly(const char *pathname)
Definition: utils.c:570
boolean do_yuv4m_open_warning(void)
Definition: dialogs.c:2400
ulong open_file_sel(const char *file_name, double start_time, int frames)
Definition: saveplay.c:284
int undo2_int
Definition: main.h:598
void lives_list_free_strings(LiVESList *list)
Definition: utils.c:4361
Definition: main.h:341
void do_no_mplayer_sox_error(void)
Definition: dialogs.c:2160
Definition: main.h:819
mainwindow * mainw
Definition: main.c:91
int verhash(char *version)
Definition: utils.c:4235
void do_mt_undo_mem_error(void)
Definition: dialogs.c:2605
boolean restoring
Definition: main.h:550
int do_error_dialog(const char *text)
Definition: dialogs.c:521
void count_opening_frames(void)
Definition: callbacks.c:1007
void draw_little_bars(double ptrtime)
Definition: utils.c:3078
void do_splash_progress(void)
Definition: dialogs.c:2909
int * frame_index_back
for undo
Definition: main.h:624
int lives_system(const char *com, boolean allow_error)
Definition: utils.c:290
void do_set_locked_warning(const char *setname)
Definition: dialogs.c:3301
void do_file_perm_error(const char *file_name)
Definition: dialogs.c:3221
int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient)
Definition: dialogs.c:3061
uint16_t alpha
Definition: main.h:470
boolean has_pulse_audio
Definition: main.h:694
boolean get_handle_from_info_file(int index)
Definition: saveplay.c:1105
int hextodec(char *string)
Definition: utils.c:5115
Definition: main.h:816
double seek
Definition: main.h:313
uint32_t undo1_uint
Definition: main.h:601
ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:516
boolean has_mpv
Definition: main.h:686
Definition: events.h:108
LIVES_INLINE void d_print_done(void)
Definition: dialogs.c:2931
void perf_mem_warning(void)
Definition: dialogs.c:2386
int start
Definition: main.h:529
#define PATH_MAX
Definition: main.h:264
boolean nokeep
don&#39;t show the &#39;keep&#39; button - e.g. for operations which resize frames
Definition: main.h:557
boolean nopreview
don&#39;t show preview/pause buttons on processing
Definition: main.h:554
uint64_t lives_10pow(int pow)
Definition: utils.c:1258
boolean check_backend_return(lives_clip_t *sfile)
Definition: dialogs.c:757
void sensitize(void)
Definition: main.c:3333
lives_pid_t lives_fork(const char *com)
Definition: utils.c:335
boolean do_layout_alter_audio_warning(void)
Definition: dialogs.c:2535
uint64_t get_fs_free(const char *dir)
Definition: utils.c:5193
boolean can_write_to_tmp
Definition: main.h:676
pid_t lives_pid_t
Definition: main.h:118
void set_interactive(boolean interactive)
Definition: gui.c:3124
void set_main_title(const char *file, int untitled)
Definition: main.c:3302
boolean load_from_scrap_file(weed_plant_t *layer, int frame)
Definition: saveplay.c:4916
lives_dialog_t
Definition: mainwindow.h:156
void get_play_times(void)
Definition: utils.c:2659
just cancel in GUI (for keep, etc)
Definition: main.h:428
void save_frame(LiVESMenuItem *menuitem, livespointer user_data)
Definition: saveplay.c:1166
int lives_utf8_strcasecmp(const char *s1, const char *s2)
Definition: utils.c:4993
void find_when_to_stop(void)
Definition: utils.c:3231
char * ds_critical_msg(const char *dir, uint64_t dsval)
Definition: dialogs.c:643
void do_chdir_failed_error(const char *dir)
Definition: dialogs.c:3206
void save_clip_value(int which, lives_clip_details_t, void *val)
Definition: utils.c:4712
void clear_lmap_errors(void)
Definition: utils.c:2078
void set_pref(const char *key, const char *value)
Definition: preferences.c:256
void activate_url(LiVESAboutDialog *about, const char *link, livespointer data)
Definition: utils.c:4020
boolean is_legal_set_name(const char *set_name, boolean allow_dupes)
Definition: utils.c:2164
uint16_t green
Definition: main.h:462
void do_set_load_lmap_error(void)
uint64_t lives_random(void)
Definition: utils.c:106
boolean has_mplayer
Definition: main.h:684
livespointer lives_memset(livespointer s, int c, size_t n)
Definition: effects-weed.c:134
LiVESWidget * scrolledwindow
Definition: main.h:303
boolean do_event_list_warning(void)
Definition: dialogs.c:2678
video playback completed
Definition: main.h:412
void free_track_decoders(void)
Definition: main.c:5120
int lives_pgid_t
Definition: main.h:119
boolean create_event_space(int length_in_eventsb)
Definition: utils.c:4098
void recover_layout_map(int numclips)
Definition: saveplay.c:5226
Definition: main.h:344
void switch_to_file(int old_file, int new_file)
Definition: main.c:6767
uint16_t red
Definition: main.h:461
int ohsize
Definition: main.h:519
void response_ok(LiVESButton *button, livespointer user_data)
Definition: dialogs.c:2916
boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text)
Definition: dialogs.c:1477
boolean was_renamed
Definition: main.h:539
lives_painter_surface_t * raudio_drawable
Definition: main.h:663
void open_fw_device(void)
char * remove_trailing_zeroes(double val)
Definition: utils.c:4941
boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:408
Definition: main.h:817
Definition: main.h:820
boolean switch_aud_to_pulse(void)
Definition: utils.c:3387
boolean opening
Definition: main.h:546
int last_frameno
Definition: main.h:568
void get_basename(char *filename)
Definition: utils.c:2371
void clear_mainw_msg(void)
Definition: utils.c:1253
boolean do_header_write_error(int clip)
Definition: dialogs.c:3160
boolean read_headers(const char *file_name)
Definition: saveplay.c:4131
int do_error_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:557
boolean has_cdda2wav
Definition: main.h:690
void fastsrand(uint32_t seed)
Definition: utils.c:5151
void desensitize(void)
Definition: main.c:3514
boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:369
void d_print(const char *fmt,...)
Definition: utils.c:1849
void tempdir_warning(void)
Definition: dialogs.c:2148
void do_audrate_error_dialog(void)
Definition: dialogs.c:2674
boolean can_write_to_config
Definition: main.h:675
imported video, broken into frames
Definition: main.h:435
int progress_start
Definition: main.h:533
void create_LiVES(void)
Definition: gui.c:163
void do_jack_noopen_warn3(void)
Definition: dialogs.c:2568
uint16_t blue
Definition: main.h:469
int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:600
void do_mt_undo_buf_error(void)
Definition: dialogs.c:2610
boolean do_layout_alter_frames_warning(void)
Definition: dialogs.c:2531
void resize_widgets_for_monitor(boolean get_play_times)
Definition: gui.c:3934
lives_image_type_t
Definition: main.h:444
boolean redoable
Definition: main.h:594
LiVESList * lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED
Definition: utils.c:5242
lives_clip_type_t clip_type
Definition: main.h:614
lives_undo_t undo_action
undo
Definition: main.h:587
Definition: main.h:445
boolean do_abort_check(void)
Definition: dialogs.c:3244
char * get_val_from_cached_list(const char *key, size_t maxlen)
Definition: utils.c:4395
void procw_desensitize(void)
Definition: main.c:3626
void do_bad_layout_error(void)
Definition: dialogs.c:2651
lives_subtitles_t * subt
Definition: main.h:651
void do_mt_backup_space_error(lives_mt *mt, int memreq_mb)
Definition: dialogs.c:2589
boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask)
Definition: main.c:3294
void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *cairo)
Definition: main.c:3700
void on_cancel_keep_button_clicked(LiVESButton *button, livespointer user_data)
Definition: callbacks.c:6487
int get_token_count(const char *string, int delim)
Definition: utils.c:4979
double total_time
Definition: main.h:560
void add_message_scroller(LiVESWidget *conter)
Definition: gui.c:81
char * get_new_install_msg(void)
Definition: dialogs.c:3341
void resize(double scale)
Definition: main.c:7341
Definition: main.h:337
uint64_t sget_file_size(const char *name)
Definition: utils.c:4048
boolean has_dvgrab
Definition: main.h:680
void pump_io_chan(LiVESIOChannel *iochan)
Definition: dialogs.c:774
boolean do_move_tmpdir_dialog(void)
Definition: dialogs.c:3297
void load_frame_image(int frame)
Definition: main.c:5152
void reset_clipmenu(void)
Definition: utils.c:3871
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:4937
LIVES_INLINE void frame_size_update(void)
Definition: gui.c:4444
char * op_dir
Definition: main.h:653
Definition: main.h:287
ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:670
ulong restore_file(const char *filename)
Definition: saveplay.c:4582
void _lives_free(livespointer ptr)
calls mainw-&gt;free_fn
Definition: effects-weed.c:111
void do_autolives_needs_clips_error(void)
Definition: dialogs.c:3353
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:369
void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height)
Definition: utils.c:3257
boolean undo1_boolean
Definition: main.h:604
void do_mt_no_jack_error(int warn_mask)
Definition: dialogs.c:2640
void set_sel_label(LiVESWidget *label)
Definition: utils.c:4333
char * lives_fgets(char *s, int size, FILE *stream)
Definition: utils.c:435
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:267
void do_start_messages(void)
Definition: main.c:1841
boolean prompt_remove_layout_files(void)
Definition: dialogs.c:2516
void do_encoder_img_ftm_error(render_details *rdet)
Definition: dialogs.c:3250
int ovsize
Definition: main.h:520
void do_ra_convert_error(void)
Definition: dialogs.c:2668
no cancel
Definition: main.h:379
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:4594
int asampsize
Definition: main.h:496
LiVESList * get_set_list(const char *dir, boolean utf8)
Definition: utils.c:4843
int do_header_missing_detail_error(int clip, lives_clip_details_t detail)
Definition: dialogs.c:3178
void close_scrap_file(void)
Definition: saveplay.c:5188
uint32_t undo_signed_endian
Definition: main.h:609
void set_undoable(const char *what, boolean sensitive)
Definition: utils.c:4278
void switch_audio_clip(int new_file, boolean activate)
Definition: main.c:6995
boolean get_temp_handle(int index, boolean create)
Definition: saveplay.c:3376
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:6378
boolean is_untitled
Definition: main.h:540
void get_next_free_file(void)
Definition: utils.c:2335
void do_firstever_dialog(void)
unimported video, not or partially broken in frames
Definition: main.h:438
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:3746
void do_no_decoder_error(const char *fname)
Definition: dialogs.c:2548
Definition: main.h:811
void unblock_expose(void)
Definition: gui.c:3633
boolean do_auto_dialog(const char *text, int type)
Definition: dialogs.c:2016
int stored_layout_idx
Definition: main.h:647
void do_vpp_palette_error(void)
Definition: dialogs.c:2693
boolean is_realtime_aplayer(int ptype)
Definition: utils.c:1467
boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc)
Definition: saveplay.c:3828
uint32_t signed_endian
bitfield
Definition: main.h:491
LiVESWidget * menuentry
Definition: main.h:536
boolean check_file(const char *file_name, boolean check_exists)
check if file exists
Definition: utils.c:3895
boolean has_xwininfo
Definition: main.h:695
Definition: main.h:829
frames from video device
Definition: main.h:440
int nmonitors
Definition: main.h:737
lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval)
Definition: utils.c:827
void on_details_button_clicked(void)
Definition: callbacks.c:6690
int arate
audio playback rate
Definition: main.h:493
int lives_kill(lives_pid_t pid, int sig)
Definition: utils.c:1221
Definition: main.h:348
boolean no_proc_write_errors
skip write error dialogs in processing
Definition: main.h:658
int64_t aseek_pos
audio seek posn. (bytes) for when we switch clips
Definition: main.h:634
boolean do_clipboard_fps_warning(void)
Definition: dialogs.c:2391
void lives_alarm_clear(int alarm_handle)
Definition: utils.c:1377
Definition: main.h:476
LiVESWidget * cancel_button
Definition: main.h:302
const char * get_deinterlace_string(void)
Definition: saveplay.c:217
LIVES_INLINE void d_print_failed(void)
Definition: dialogs.c:2926
void on_effects_paused(LiVESButton *button, livespointer user_data)
Definition: callbacks.c:9195
void set_redoable(const char *what, boolean sensitive)
Definition: utils.c:4308
boolean can_read_from_config
Definition: main.h:674
Definition: main.h:477
int insert_start
Definition: main.h:531
boolean keep_without_preview
allow keep, even when nopreview is set - TODO use only nopreview and nokeep
Definition: main.h:660
char * repl_tmpdir(const char *entry, boolean fwd)
Definition: utils.c:2490
int undo_achans
Definition: main.h:610
ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
LiVESList * layout_map
Definition: main.h:583
void wait_for_stop(const char *stop_command)
Definition: saveplay.c:3795
void disable_record(void)
Definition: gui.c:3906
void do_encoder_sox_error(void)
Definition: dialogs.c:2170
boolean undo3_boolean
Definition: main.h:606
int lives_fputs(const char *s, FILE *stream)
Definition: utils.c:422
boolean ask_permission_dialog(int what)
Definition: dialogs.c:3371
void load_end_image(int frame)
Definition: main.c:3921
int lives_getuid(void)
Definition: utils.c:150
int undo_arps
audio sample rate
Definition: main.h:612
void do_threaded_dialog(char *trans_text, boolean has_cancel)
Definition: dialogs.c:2852
void do_nojack_rec_error(void)
Definition: dialogs.c:2688
LiVESInterpType get_interp_value(short quality)
Definition: utils.c:5234
void too_many_files(void)
Definition: dialogs.c:2142
void switch_clip(int type, int newclip, boolean force)
Definition: callbacks.c:5572
lives_clip_details_t
Definition: main.h:806
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:2288
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:2187
const char * version(void)
int rowstride
Definition: main.h:513
boolean do_comments_dialog(lives_clip_t *sfile, char *filename)
Definition: dialogs.c:2416
int64_t afilesize
Definition: main.h:522
Definition: main.h:825
boolean check_storage_space(lives_clip_t *sfile, boolean is_processing)
Definition: dialogs.c:803
void add_to_recovery_file(const char *handle)
Definition: saveplay.c:5804
_palette * palette
Definition: main.c:89
frames from generator plugin
Definition: main.h:437
int save_event_frames(void)
Definition: saveplay.c:4731
void splash_init(void)
Definition: gui.c:4532
char * lives_strappend(char *string, int len, const char *newbit)
Definition: utils.c:1392
Definition: main.h:822
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition: utils.c:1237
lives_interlace_t interlace
interlace type (if known - none, topfirst, bottomfirst or : see plugins.h)
Definition: main.h:506
LiVESWidget * label3
Definition: main.h:298
void set_record(void)
int bpp
Definition: main.h:486
pid_t mainpid
Definition: main.h:743
uint64_t get_file_size(int fd)
Definition: utils.c:4040
double stored_layout_audio
Definition: main.h:648
uint32_t frames_done
Definition: main.h:304
void init_clipboard(void)
Definition: utils.c:1801
void show_manual_section(const char *lang, const char *section)
Definition: utils.c:4025
void switch_aud_to_sox(boolean set_pref)
Definition: utils.c:3443
char * filename_from_fd(char *val, int fd)
Definition: utils.c:44
void switch_to_int_player(void)
void splash_end(void)
Definition: gui.c:4636
void do_mt_audchan_error(int warn_mask)
Definition: dialogs.c:2630
Definition: main.h:343
uint32_t fastrand(void)
Definition: utils.c:5144
image could not be captured
Definition: main.h:397
int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient)
Definition: dialogs.c:622
livespointer lives_calloc(size_t nmemb, size_t size)
Definition: effects-weed.c:139
boolean opening_only_audio
Definition: main.h:548
char * subst(const char *string, const char *from, const char *to)
Definition: utils.c:5003
yuv4mpeg stream
Definition: main.h:436
Definition: main.h:810
void catch_sigint(int signum)
Definition: main.c:185
render_details * rdet
Definition: events.h:142
void switch_aud_to_mplayer2(boolean set_pref)
Definition: utils.c:3540
record audio to selection
Definition: main.h:362
boolean startup_message_fatal(const char *msg)
Definition: main.c:3272
type for LiVES to LiVES streaming
Definition: main.h:439
int progress_end
Definition: main.h:534
ulong menuentry_func
Definition: main.h:537
boolean get_srt_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:411
uint16_t blue
Definition: main.h:463
void do_mt_keys_window(void)
Definition: dialogs.c:2467
void end_threaded_dialog(void)
Definition: dialogs.c:2882
int * frame_index
Definition: main.h:622
char * rcfile
Definition: main.h:718
double stored_layout_fps
Definition: main.h:649
int64_t reltime
Definition: main.h:289
void fullscreen_internal(void)
Definition: gui.c:3557
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:3245
LiVESPixbuf * mt_framedraw(lives_mt *, LiVESPixbuf *)
Definition: paramspecial.c:498
void threaded_dialog_spin(void)
Definition: dialogs.c:2816
Definition: main.h:371
void set_palette_colours(void)
Definition: main.c:1954
void toggle_record(void)
Definition: gui.c:3901
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:1897
ssize_t sizint
type sizes
Definition: main.c:90
lives_lmap_error_t
Definition: multitrack.h:942
boolean has_smogrify
Definition: main.h:672
LiVESWidget * processing
Definition: main.h:294
normal - kill background processes working on current clip
Definition: main.h:427
void do_memory_error_dialog(void)
Definition: dialogs.c:685
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:2194
char * get_extension(const char *filename)
Definition: utils.c:2392
void do_pulse_lost_conn_error(void)
Definition: dialogs.c:3361
int get_approx_ln(uint32_t val)
Definition: utils.c:1265
void set_menu_text(LiVESWidget *menu, const char *text, boolean use_mnemonic)
Definition: utils.c:3837
int lives_creat_buffered(const char *pathname, int mode)
Definition: utils.c:575
void do_layout_scrap_file_error(void)
Definition: dialogs.c:2182
boolean play_paused
Definition: main.h:543
boolean process_one(boolean visible)
Definition: dialogs.c:1043
boolean has_midistartstop
Definition: main.h:692
int fx_frame_pump
rfx frame pump for virtual clips (CLIP_TYPE_FILE)
Definition: main.h:626
double get_ratio_fps(const char *string)
Definition: utils.c:4924
Definition: main.h:828
Definition: main.h:818
boolean after_foreign_play(void)
Definition: utils.c:3732
LIVES_INLINE LiVESPixbuf * pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc)
Definition: main.c:4972
Definition: main.h:670
mainw-&gt;
Definition: mainwindow.h:281
int frameno
Definition: main.h:567
double undo1_dbl
Definition: main.h:602
void * ext_src
points to opaque source for non-disk types
Definition: main.h:616
xprocess * proc_ptr
the processing window
Definition: main.h:516
LiVESWidget * label2
Definition: main.h:297
boolean check_frame_count(int idx)
Definition: utils.c:2238
boolean undo2_boolean
Definition: main.h:605
boolean write_headers(lives_clip_t *file)
Definition: saveplay.c:4056
user pressed &#39;Keep&#39;
Definition: main.h:409
void do_decoder_palette_error(void)
Definition: dialogs.c:2698
double calc_time_from_frame(int clip, int frame)
Definition: utils.c:1435
void get_menu_text_long(LiVESWidget *menuitem, char *text)
Definition: utils.c:3856
event_list completed
Definition: main.h:400
livespointer _lives_realloc(livespointer ptr, size_t new_size)
Definition: effects-weed.c:94
uint64_t make_version_hash(const char *ver)
Definition: utils.c:2461
void get_dirname(char *filename)
Definition: utils.c:2345
void defer_sigint(int signum)
Definition: main.c:180
Definition: main.h:342
void lives_close_all_file_buffers(void)
Definition: utils.c:461
int vsize
Definition: main.h:489
void do_dir_perm_error(const char *dir_name)
Definition: dialogs.c:3229
char * get_menu_name(lives_clip_t *sfile)
Definition: gui.c:4450
boolean has_composite
Definition: main.h:688
boolean can_write_to_tempdir
Definition: main.h:677
void do_lb_convert_error(void)
Definition: dialogs.c:2662
boolean do_warning_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:357
ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:491
double freeze_fps
Definition: main.h:542
char * get_dir(const char *filename)
Definition: utils.c:2363
int header_version
Definition: main.h:509
void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc)
Definition: main.c:4909
struct timeval tv
Definition: main.h:798
off_t lives_lseek_buffered_rdonly(int fd, off_t offset)
Definition: utils.c:643
int calc_frame_from_time3(int filenum, double time)
nearest frame mid
Definition: utils.c:1456
double raudio_time
Definition: main.h:563
resample/reorder/resize/apply effects
Definition: main.h:357
void close_ascrap_file(void)
Definition: saveplay.c:5207
Definition: main.h:824
capability * get_capabilities(void)
Definition: main.c:2088
void on_fileread_clicked(LiVESFileChooser *, livespointer widget)
lives_interlace_t
Definition: main.h:474
weed_plant_t * event_list_back
Definition: main.h:580
void on_filesel_button_clicked(LiVESButton *button, livespointer user_data)
Definition: callbacks.c:552
Definition: main.h:338
char * insert_newlines(const char *text, int maxwidth)
Definition: utils.c:5021
boolean has_icedax
Definition: main.h:691
void do_no_autolives_error(void)
Definition: dialogs.c:3349
lives_undo_t
need this for event_list_t *
Definition: main.h:336
lives_painter_surface_t * laudio_drawable
Definition: main.h:662
corresponds to one clip in the GUI
Definition: main.h:484
weed_plant_t * event_list
Definition: main.h:579
LIVES_INLINE void d_print_cancelled(void)
Definition: dialogs.c:2921
char * ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn)
Definition: dialogs.c:661
boolean has_encoder_plugins
Definition: main.h:724
void do_lb_composite_error(void)
Definition: dialogs.c:2656
void do_encoder_acodec_error(void)
Definition: dialogs.c:2176
Definition: main.h:346
void on_cleardisk_advanced_clicked(LiVESWidget *widget, livespointer user_data)
Definition: callbacks.c:5393
int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc)
Definition: utils.c:1538
boolean do_sub_type_warning(const char *ext, const char *type_ext)
Definition: dialogs.c:3287
int64_t lives_get_current_ticks(void)
Definition: utils.c:1279
char * clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp)
Definition: utils.c:4434
int stored_layout_frame
layout map for the current layout
Definition: main.h:646
boolean check_dev_busy(char *devstr)
Definition: utils.c:3981
boolean reload_clip(int fileno)
Definition: saveplay.c:5307
void(* SignalHandlerPointer)(int)
Definition: main.h:1030
void open_set_file(const char *set_name, int clipnum)
Definition: saveplay.c:4504
int save_to_scrap_file(weed_plant_t *layer)
Definition: saveplay.c:5027
void do_rmem_max_error(int size)
Definition: dialogs.c:2722
cancel but keep opening
Definition: main.h:385
void add_to_recent(const char *filename, double start, int frames, const char *file_open_params)
Definition: utils.c:4135
ran out of preview frames
Definition: main.h:394
void do_aud_during_play_error(void)
Definition: dialogs.c:680
lives_cancel_t check_for_bad_ffmpeg(void)
Definition: utils.c:5315
boolean has_xdg_screensaver
Definition: main.h:698
boolean check_dir_access(const char *dir)
Definition: utils.c:3942
int old_frames
for deordering, etc.
Definition: main.h:523
#define ulong
Definition: main.h:148
Definition: main.h:372
Definition: main.h:823
ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz)
Definition: utils.c:234
Definition: main.h:808
void do_jack_lost_conn_error(void)
Definition: dialogs.c:3357
cancelled because of error
Definition: main.h:415
double video_time
Definition: main.h:561
Definition: main.h:292
void init_track_decoders(void)
Definition: main.c:5109
pid_t lives_getpid(void)
Definition: utils.c:116
boolean do_warning_dialog(const char *text)
Definition: dialogs.c:352
int lives_chdir(const char *path, boolean allow_fail)
Definition: utils.c:840
boolean no_proc_read_errors
skip read error dialogs in processing
Definition: main.h:657
void do_card_in_use_error(void)
Definition: dialogs.c:3260
Definition: main.h:311
void get_menu_text(LiVESWidget *menu, char *text)
Definition: utils.c:3850
void on_cleardisk_activate(LiVESWidget *widget, livespointer user_data)
Definition: callbacks.c:5232
Definition: pangotext.h:39
int hsize
in pixels (NOT macropixels !)
Definition: main.h:488
boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:382
Definition: main.h:364
boolean do_set_rename_old_layouts_warning(const char *new_set)
Definition: dialogs.c:2597
boolean has_gdb
Definition: main.h:696
void get_location(const char *exe, char *val, int maxlen)
Definition: utils.c:2429
void switch_to_mplayer(void)
void get_frame_count(int idx)
Definition: utils.c:2273
void do_set_noclips_error(const char *setname)
Definition: dialogs.c:3324
void do_dev_busy_error(const char *devstr)
Definition: dialogs.c:3265
effect processing finished during preview
Definition: main.h:388
void lives_notify(int msgnumber, const char *msgstring)
Definition: callbacks.c:47
void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:1759
lives_image_type_t img_type
Definition: main.h:643
lives_cancel_type_t
Definition: main.h:426
void do_do_not_close_d(void)
Definition: dialogs.c:3317
boolean int_array_contains_value(int *array, int num_elems, int value)
Definition: utils.c:3862
boolean ensure_isdir(char *fname)
Definition: utils.c:2409
uint32_t get_signed_endian(boolean is_signed, boolean little_endian)
Definition: utils.c:4954
int myround(double n)
Definition: utils.c:1249
void do_read_failed_error_s(const char *s, const char *addinfo)
Definition: dialogs.c:3038
boolean lives_alarm_get(int alarm_handle)
Definition: utils.c:1337
boolean smog_version_correct
Definition: main.h:673
Definition: main.h:809
LiVESList * lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED
Definition: utils.c:5249
void do_jack_noopen_warn(void)
Definition: dialogs.c:2561
void do_keys_window(void)
Definition: dialogs.c:2458
boolean has_mplayer2
Definition: main.h:685
void popup_lmap_errors(LiVESMenuItem *menuitem, livespointer user_data)
Definition: callbacks.c:8496
int do_blocking_error_dialog(const char *text)
Definition: dialogs.c:571
boolean dirchange_callback(LiVESAccelGroup *group, LiVESObject *obj, uint32_t keyval, LiVESXModifierType mod, livespointer user_data)
Definition: callbacks.c:4359
LiVESWidget * progressbar
Definition: main.h:295
boolean cache_file_contents(const char *filename)
Definition: utils.c:4375
boolean read_file_details(const char *file_name, boolean only_check_for_audio)
Definition: saveplay.c:155
int end
Definition: main.h:530
void do_rendered_fx_dialog(void)
Definition: dialogs.c:2499
int lives_getgid(void)
Definition: utils.c:223
uint64_t unique_id
this and the handle can be used to uniquely id a file
Definition: main.h:494
video playback completed
Definition: main.h:403
boolean do_set_duplicate_warning(const char *new_set)
Definition: dialogs.c:2522
void activate_url_inner(const char *link)
Definition: utils.c:4007
void close_current_file(int file_to_switch_to)
close current file, and try to switch to file_to_switch_to
Definition: main.c:6427
void save_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:1228
lives_clip_type_t
Definition: main.h:434
void play_file(void)
Definition: saveplay.c:2201
void do_dvgrab_error(void)
Definition: dialogs.c:2683
void rewrite_recovery_file(void)
Definition: saveplay.c:5825
boolean is_writeable_dir(const char *dir)
Definition: utils.c:5156
void backup_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:3915
boolean has_gconftool_2
Definition: main.h:697
boolean prepare_to_play_foreign(void)
Definition: utils.c:3592
void do_upgrade_error_dialog(void)
Definition: dialogs.c:2489
LIVES_INLINE void d_print_file_error_failed(void)
Definition: dialogs.c:2935
boolean startup_message_info(const char *msg)
Definition: main.c:3287
double vel
Definition: main.h:314
boolean is_loaded
should we continue loading if we come back to this clip
Definition: main.h:551
void do_text_window(const char *title, const char *text)
Definition: dialogs.c:2483
LiVESList * lives_list_append_unique(LiVESList *xlist, const char *add)
Definition: utils.c:1400
boolean save_clip_values(int which_file)
Definition: saveplay.c:38
int64_t f_size
Definition: main.h:521
LiVESPixbuf * lives_pixbuf_new_blank(int width, int height, int palette)
Definition: colourspace.c:9917
int undo_asampsize
Definition: main.h:611
boolean lives_fsync(int fd)
Definition: utils.c:246
boolean do_yesno_dialog(const char *text)
Definition: dialogs.c:433
void get_frames_sizes(int fileno, int frame_to_test)
Definition: utils.c:2321
Definition: main.h:347
void do_mt_no_audchan_error(void)
Definition: dialogs.c:2636
ssize_t sizshrt
Definition: main.c:90
ulong deduce_file(const char *filename, double start_time, int end)
Definition: saveplay.c:223
void add_warn_check(LiVESBox *box, int warn_mask_number)
Definition: dialogs.c:110
int ncpus
Definition: main.h:739
uint64_t op_ds_warn_level
current disk space warning level for any output directory
Definition: main.h:654
special cancel for TV toy
Definition: main.h:421
LIVES_INLINE const char * get_set_name()
Definition: callbacks.c:56
void do_audio_import_error(void)
Definition: dialogs.c:2510
void remove_layout_files(LiVESList *lmap)
Definition: utils.c:2516
int lives_close_buffered(int fd)
Definition: utils.c:580
void do_messages_window(void)
Definition: dialogs.c:2476
Definition: main.h:350
boolean changed
Definition: main.h:535
int insert_end
Definition: main.h:532
boolean has_sox_sox
Definition: main.h:682
int lives_alarm_set(int64_t ticks)
Definition: utils.c:1298
lives_cancel_t
cancel reason
Definition: main.h:377
boolean open_ascrap_file(void)
Definition: saveplay.c:4870
int achans
Definition: main.h:495
Definition: main.h:370
weed_plant_t * next_event
Definition: main.h:581
boolean is_ready
Definition: main.h:305
Definition: main.h:345
boolean check_for_ratio_fps(double fps)
Definition: utils.c:4906
boolean get_new_handle(int index, const char *name)
Definition: saveplay.c:3533
LiVESWidget * preview_button
Definition: main.h:301
boolean has_sox_play
Definition: main.h:681
void get_filename(char *filename, boolean strip_dir)
Definition: utils.c:2381
Definition: main.h:813
Definition: main.h:351
LiVESWidget * pause_button
Definition: main.h:300
char * make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext)
Definition: utils.c:2233
cancelled and paused
Definition: main.h:418
boolean orig_file_name
Definition: main.h:538
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:3282
void calc_aframeno(int fileno)
Definition: utils.c:1516
lives_storage_status_t
disk/storage status values
Definition: mainwindow.h:183
void do_jack_noopen_warn4(void)
Definition: dialogs.c:2572
boolean has_identify
Definition: main.h:689
Definition: main.h:446
int do_blocking_info_dialog(const char *text)
Definition: dialogs.c:585
void do_cd_error_dialog(void)
Definition: dialogs.c:3366
Definition: main.h:447
LiVESWidget * label
Definition: main.h:296
boolean has_autolives
Definition: main.h:683
Definition: main.h:460
Definition: main.h:349
void enable_record(void)
Definition: gui.c:3896
void do_after_crash_warning(void)
Definition: dialogs.c:2709
Definition: main.h:826
char * get_upd_msg(void)
Definition: dialogs.c:3332
boolean startup_message_nonfatal(const char *msg)
Definition: main.c:3280
void do_vpp_fps_error(void)
Definition: dialogs.c:2703
void lives_freep(void **ptr)
Definition: utils.c:859
void make_custom_submenus(void)
Definition: gui.c:124
void do_invalid_subs_error(void)
Definition: dialogs.c:3278
boolean check_for_recovery_files(boolean auto_recover)
Definition: saveplay.c:5878
boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen)
Definition: utils.c:4530
int calc_frame_from_time(int filenum, double time)
nearest frame start
Definition: utils.c:1439
int undo_end
Definition: main.h:590
void lives_srandom(unsigned int seed)
Definition: utils.c:97
void do_write_failed_error_s(const char *s, const char *addinfo)
Definition: dialogs.c:2996
void create_cfile(void)
Definition: saveplay.c:3436
int byte_order
Definition: main.h:741
int undo4_int
Definition: main.h:600
double pointer_time
Definition: main.h:564
const char * get_image_ext_for_type(lives_image_type_t imgtype)
Definition: utils.c:1406
uint16_t red
Definition: main.h:467
livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n)
Definition: effects-weed.c:78
boolean do_mt_rect_prompt(void)
Definition: dialogs.c:2646
double fps
Definition: main.h:487
char * lives_format_storage_space_string(uint64_t space)
Definition: utils.c:796
int cb_src
source clip for clipboard
Definition: main.h:665
void get_total_time(lives_clip_t *file)
Definition: utils.c:3198
livespointer _lives_malloc(size_t size)
ulong open_file(const char *filename)
Definition: saveplay.c:246
char * myname_full
Definition: main.h:732
int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient)
Definition: dialogs.c:456
boolean ratio_fps
if the fps was set by a ratio
Definition: main.h:632
application quit
Definition: main.h:391
boolean has_convert
Definition: main.h:687
generator was stopped
Definition: main.h:406
resample/resize and resample audio for encoding
Definition: main.h:354
int undo_start
Definition: main.h:589
Definition: main.h:359
boolean open_scrap_file(void)
Definition: saveplay.c:4828
void check_layer_ready(weed_plant_t *layer)
Definition: main.c:4851
Definition: main.h:815
boolean check_for_lock_file(const char *set_name, int type)
Definition: utils.c:2105
Definition: main.h:339
int undo3_int
Definition: main.h:599
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:3487
short cpu_bits
Definition: main.h:729
uint64_t get_version_hash(const char *exe, const char *sep, int piece)
Definition: utils.c:2443
void get_monitors(void)
Definition: main.c:232
int do_info_dialog(const char *text)
Definition: dialogs.c:539
int calc_frame_from_time2(int filenum, double time)
nearest frame end
Definition: utils.c:1447
boolean save_file_comments(int fileno)
Definition: saveplay.c:3752
capability * capable
some shared structures
Definition: main.c:88
double pb_fps
Definition: main.h:541
boolean do_original_lost_warning(const char *fname)
Definition: dialogs.c:2539
ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
#define WARN_UNUSED
Definition: main.h:271
Definition: main.h:814
boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc)
Definition: main.c:4841
char * dummychar
Definition: main.h:1337
void handle_backend_errors(void)
Definition: dialogs.c:692
int do_header_read_error_with_retry(int clip)
Definition: dialogs.c:3145
char * myname
Definition: main.h:733
void lives_exit(int signum)
Definition: callbacks.c:67
boolean has_python
Definition: main.h:726
ssize_t sizdbl
Definition: main.c:90
Definition: main.h:807
Definition: main.h:827
void do_mt_set_mem_error(boolean has_mt, boolean trans)
Definition: dialogs.c:2614
lives_subtitle_type_t
Definition: pangotext.h:13
LiVESList * lives_list_copy_strings(LiVESList *list)
Definition: utils.c:5265
boolean do_existing_subs_warning(void)
Definition: dialogs.c:3274
#define FALSE
Definition: videoplugin.h:56
void do_dir_perm_access_error(const char *dir_name)
Definition: dialogs.c:3237
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:340
void lives_sync(void)
Definition: utils.c:256
ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:721
void do_jack_noopen_warn2(void)
Definition: dialogs.c:2584
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data)
Definition: utils.c:4118
boolean has_jackd
Definition: main.h:693
boolean add_file_info(const char *check_handle, boolean aud_only)
Definition: saveplay.c:3565
double laudio_time
Definition: main.h:562
boolean string_lists_differ(LiVESList *, LiVESList *)
Definition: utils.c:5281
boolean undoable
Definition: main.h:593
Definition: main.h:475
void splash_msg(const char *msg, double pct)
Definition: gui.c:4618
void unfade_background(void)
Definition: gui.c:3387
void block_expose(void)
Definition: gui.c:3618
int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient)
Definition: dialogs.c:3113
Definition: main.h:812
void do_no_in_vdevs_error(void)
Definition: dialogs.c:3309
void zero_spinbuttons(void)
Definition: utils.c:3314
user pressed stop
Definition: main.h:382
int arps
audio sample rate
Definition: main.h:490
void break_me(void)
Definition: main.c:135
boolean opening_loc
Definition: main.h:549
float LEFloat_to_BEFloat(float f)
Definition: utils.c:1419
void do_quick_switch(int new_file)
Definition: main.c:7196
boolean switch_aud_to_jack(void)
Definition: utils.c:3328
uint16_t green
Definition: main.h:468