LiVES  3.0.2
main.h
Go to the documentation of this file.
1 // main.h
2 // LiVES
3 // (c) G. Finch (salsaman@gmail.com) 2003 - 2018
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 // begin legal warning
21 /*
22  NO WARRANTY
23 
24  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
25  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
26 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
27  PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
28  OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
30 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
31  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
32 REPAIR OR CORRECTION.
33 
34  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
35  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
36  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
37  INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
38  OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
39 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
40 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
41  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
42 POSSIBILITY OF SUCH DAMAGES.
43 */
44 // end legal warning
45 
46 // Have fun, and let's fight for Free Speech, Open Media and True Creativity !
47 // - Salsaman
48 
49 // note: preferred coding style is: astyle --style=java -H -Y -s2 -U -k3 -W3 -xC140 -xL -p
50 
51 #ifndef HAS_LIVES_MAIN_H
52 #define HAS_LIVES_MAIN_H
53 
54 #ifdef __cplusplus
55 #undef HAVE_UNICAP
56 #endif
57 
58 #define ENABLE_OSC2
59 
60 #define BACKEND_NAME "smogrify"
61 
62 #ifndef GUI_QT
63 #define GUI_GTK
64 #define LIVES_PAINTER_IS_CAIRO
65 #define LIVES_LINGO_IS_PANGO
66 #else
67 #define PAINTER_QPAINTER
68 #define NO_PROG_LOAD
69 #undef ENABLE_GIW
70 #endif
71 
72 #include <sys/types.h>
73 #include <sys/file.h>
74 #include <unistd.h>
75 
76 typedef pid_t lives_pid_t;
77 typedef int lives_pgid_t;
78 
79 #ifdef GUI_GTK
80 #ifndef GDK_WINDOWING_X11
81 #define GDK_WINDOWING_X11
82 #endif
83 #endif // GUI_GTK
84 
85 #ifdef GUI_GTK
86 
87 #define USE_GLIB
88 
89 #include <gtk/gtk.h>
90 #include <gdk/gdkkeysyms.h>
91 
92 #if GTK_CHECK_VERSION(3, 0, 0)
93 #ifdef ENABLE_GIW
94 #define ENABLE_GIW_3
95 #endif
96 #else
97 #undef ENABLE_GIW_3
98 #endif
99 
100 #endif
101 
102 #if !GTK_CHECK_VERSION(3, 0, 0)
103 // borked in < 3.0
104 #undef HAVE_WAYLAND
105 #endif
106 
107 #ifdef HAVE_WAYLAND
108 #include <gdk/gdkwayland.h>
109 #endif
110 
111 #ifdef GDK_WINDOWING_WAYLAND
112 #ifndef GDK_IS_WAYLAND_DISPLAY
113 #define GDK_IS_WAYLAND_DISPLAY(a) FALSE
114 #endif
115 #endif
116 
117 #include <sys/stat.h>
118 #include <stdlib.h>
119 #include <stdio.h>
120 #include <unistd.h>
121 #include <string.h>
122 #include <signal.h>
123 #include <assert.h>
124 #include <errno.h>
125 
126 #ifdef __cplusplus
127 #define __STDC_CONSTANT_MACROS
128 #ifdef _STDINT_H
129 #undef _STDINT_H
130 #endif
131 #endif
132 
133 #include <stdint.h>
134 #include <stdarg.h>
135 
136 #ifndef ulong
137 #define ulong unsigned long
138 #endif
139 
140 #define QUOTEME(x) #x
141 
143 #define MAX_FILES 65535
144 
147 #ifndef PREFIX_DEFAULT
148 #define PREFIX_DEFAULT "/usr"
149 #endif
150 
152 #ifndef PREFIX
153 #define PREFIX PREFIX_DEFAULT
154 #endif
155 
156 #define LIVES_DIR_SEP "/"
157 #define LIVES_STATUS_FILE_NAME ".status"
158 #define LIVES_INFO_FILE_NAME ".info"
159 #define LIVES_BFILE_NAME ".smogrify"
160 #define LIVES_SMOGPLUGIN_FILE_NAME ".smogplugin"
161 #define LIVES_SMOGVAL_FILE_NAME ".smogval"
162 #define LIVES_ENC_DEBUG_FILE_NAME ".debug_out"
163 #define LIVES_DEVNULL "/dev/null"
164 
165 #define DLL_NAME "so"
166 
167 #define DOC_DIR "/share/doc/lives-"
168 
169 #define THEME_DIR "/share/lives/themes/"
170 #define PLUGIN_SCRIPTS_DIR "/share/lives/plugins/"
171 #define PLUGIN_COMPOUND_DIR "/share/lives/plugins/"
172 #define PLUGIN_EXEC_DIR "/lives/plugins/"
173 #define ICON_DIR "/share/lives/icons/"
174 #define DESKTOP_ICON_DIR "/share/icons/hicolor/256x256/apps"
175 #define DATA_DIR "/share/lives/"
176 #define LIVES_RC_FILENAME ".lives"
177 #define LIVES_CONFIG_DIR ".lives-dir/"
178 #define LIVES_DEVICEMAP_DIR "devicemaps"
179 #define LIVES_WORK_NAME "livesprojects"
180 
181 #define LIVES_DEVICE_DIR "/dev/"
182 
183 #define LIVES_COPYRIGHT_YEARS "2002 - 2019"
184 
185 #define LIVES_WEBSITE PACKAGE_URL
186 #define LIVES_MANUAL_URL LIVES_WEBSITE "/manual/"
187 #define LIVES_MANUAL_FILENAME "LiVES_manual.html"
188 #define LIVES_AUTHOR_EMAIL "salsaman+lives@gmail.com"
189 #define LIVES_DONATE_URL "https://sourceforge.net/p/lives/donate/"
190 #define LIVES_BUG_URL PACKAGE_BUGREPORT
191 #define LIVES_FEATURE_URL "https://sourceforge.net/p/lives/feature-requests/"
192 #define LIVES_TRANSLATE_URL "https://translations.launchpad.net/lives/trunk"
193 
194 #if defined (IS_DARWIN) || defined (__FreeBSD__)
195 #ifndef off64_t
196 #define off64_t off_t
197 #endif
198 #ifndef lseek64
199 #define lseek64 lseek
200 #endif
201 #endif
202 
203 #define DEF_FILE_PERMS (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
204 
205 #define ALLOW_NONFREE_CODECS
206 
209 #define WARN_FILE_SIZE 500
210 
212 #define FPS_MAX 200.
213 
214 #define MAX_FRAME_WIDTH 100000.
215 #define MAX_FRAME_HEIGHT 100000.
216 
217 #define ENABLE_DVD_GRAB
218 
219 #ifdef HAVE_MJPEGTOOLS
220 #define HAVE_YUV4MPEG
221 #endif
222 
223 #ifdef ENABLE_ORC
224 #include <orc/orc.h>
225 #endif
226 
227 #ifdef ENABLE_OIL
228 #include <liboil/liboil.h>
229 #endif
230 
231 #ifndef IS_SOLARIS
232 #define LIVES_INLINE static inline
233 #define LIVES_GLOBAL_INLINE inline
234 #else
235 #define LIVES_INLINE static
236 #define LIVES_GLOBAL_INLINE
237 #define LIVES_LOCAL_INLINE
238 #endif
239 
240 #define LIVES_LOCAL_INLINE LIVES_INLINE
241 
242 #include <limits.h>
243 #include <float.h>
244 
245 #ifndef PATH_MAX
246 #ifdef MAX_PATH
247 #define PATH_MAX MAX_PATH
248 #else
249 #define PATH_MAX 4096
250 #endif
251 #endif
252 
253 #ifdef __GNUC__
254 # define WARN_UNUSED __attribute__((warn_unused_result))
255 # define GNU_PURE __attribute__((pure))
256 # define GNU_DEPRECATED(msg) __attribute__((deprecated(msg)))
257 # define GNU_CONST __attribute__((const))
258 # define GNU_MALLOC __attribute__((malloc))
259 # define GNU_ALIGN(x) __attribute__((alloc_align(x)))
260 # define GNU_NORETURN __attribute__((noreturn))
261 #else
262 # define WARN_UNUSED
263 # define GNU_PURE
264 # define GNU_CONST
265 # define GNU_MALLOC
266 # define GNU_DEPRECATED(msg)
267 # define GNU_ALIGN(x)
268 # define GNU_NORETURN
269 #endif
270 
271 #ifdef PRODUCE_LOG
272 // disabled by default
273 #define LIVES_LOG "lives.log"
274 #endif
275 
276 // math macros / functions
277 
278 // round to nearest integer
279 #define ROUND_I(a) ((int)((double)a + .5))
280 
281 // clamp a between 0 and b; both values rounded to nearest int
282 #define NORMAL_CLAMP(a, b) (ROUND_I(a) < 0 ? 0 : ROUND_I(a) > ROUND_I(b) ? ROUND_I(b) : ROUND_I(a))
283 
284 // clamp a between 1 and b; both values rounded to nearest int; if rounded value of a is <= 0, return rounded b
285 #define UTIL_CLAMP(a, b) (NORMAL_CLAMP(a, b) <= 0 ? ROUND_I(b) : ROUND_I(a))
286 
287 // round a up to next (integer) multiple of b
288 #define CEIL(a, b) ((int)(((double)a + (double)b - .000000001) / ((double)b)) * b)
289 
290 // floating point division, maintains the sign of the dividend
291 #define SIGNED_DIVIDE(a, b) (a < 0. ? (a / b > 0. ? -a / b : a / b) : (a / b < 0. ? -a / b : a / b))
292 
293 #ifdef NEED_ENDIAN_TEST
294 #undef NEED_ENDIAN_TEST
295 static int32_t testint = 0x12345678;
296 #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12)
297 #endif
298 
299 // utils.c math functions
300 void lives_srandom(unsigned int seed);
301 uint64_t lives_random(void);
302 float LEFloat_to_BEFloat(float f) GNU_CONST;
303 uint64_t lives_10pow(int pow) GNU_CONST;
304 double lives_fix(double val, int decimals) GNU_CONST;
305 int get_approx_ln(uint32_t val) GNU_CONST;
306 
307 typedef struct {
308  uint16_t red;
309  uint16_t green;
310  uint16_t blue;
312 
313 typedef struct {
314  uint16_t red;
315  uint16_t green;
316  uint16_t blue;
317  uint16_t alpha;
319 
320 #include "widget-helper.h"
321 
322 typedef void *(*fn_ptr)(void *ptr);
323 
324 #define ALLOW_MPV
325 #define ALLOW_PNG24
326 
329 typedef struct {
330  int value;
331  int64_t reltime;
332 } event;
333 
334 typedef struct {
335  // processing / busy dialog
336  LiVESWidget *processing;
337  LiVESWidget *progressbar;
338  LiVESWidget *label;
339  LiVESWidget *label2;
340  LiVESWidget *label3;
341  LiVESWidget *stop_button;
342  LiVESWidget *pause_button;
343  LiVESWidget *preview_button;
344  LiVESWidget *cancel_button;
345  LiVESWidget *scrolledwindow;
346  uint32_t frames_done;
347  boolean is_ready;
348 } xprocess;
349 
350 typedef struct {
351  int afile;
352  double seek;
353  double vel;
355 
356 #if HAVE_SYSTEM_WEED
357 #include <weed/weed.h>
358 #include <weed/weed-events.h>
359 #else
360 #include "../libweed/weed.h"
361 #include "../libweed/weed-events.h"
362 #endif
363 
364 // see weed event spec. for more info
365 
367 #include "events.h"
368 
369 #ifdef IS_LIBLIVES
370 #include "liblives.hpp"
371 #include "lbindings.h"
372 #endif
373 
374 #define N_RECENT_FILES 4
375 
376 typedef enum {
392 
395 
398 
400 
403 
405 } lives_undo_t;
406 
408 typedef enum {
413 
415 typedef enum {
418 
421 
424 
427 
430 
433 
436 
439 
442 
445 
448 
451 
454 
457 
460 
463 
467 
468 typedef enum {
472 
473 typedef enum {
481 
482 typedef enum {
487 
488 #define IMG_TYPE_BEST IMG_TYPE_PNG
489 
490 #define AFORM_SIGNED 0
491 #define AFORM_LITTLE_ENDIAN 0
492 
493 #define AFORM_UNSIGNED 1
494 #define AFORM_BIG_ENDIAN (1<<1)
495 #define AFORM_UNKNOWN 65536
496 
497 typedef enum {
502 
503 #include "pangotext.h"
504 
505 #define WEED_LEAF_HOST_DEINTERLACE "host_deinterlace" // frame needs deinterlacing
506 #define WEED_LEAF_HOST_TC "host_tc" // timecode for deinterlace
507 #define WEED_LEAF_HOST_DECODER "host_decoder" // pointer to decoder for a layer
508 #define WEED_LEAF_HOST_PTHREAD "host_pthread" // thread for a layer
509 
510 #define CLIP_NAME_MAXLEN 256
511 
512 #define IS_VALID_CLIP(clip) (clip >= 0 && mainw->files[clip] != NULL)
513 #define CURRENT_CLIP_IS_VALID IS_VALID_CLIP(mainw->current_file)
514 
515 #define CLIP_HAS_VIDEO(clip) (IS_VALID_CLIP(clip) ? mainw->files[clip]->frames > 0 : FALSE)
516 #define CURRENT_CLIP_HAS_VIDEO CLIP_HAS_VIDEO(mainw->current_file)
517 
518 #define CLIP_HAS_AUDIO(clip) (IS_VALID_CLIP(clip) ? mainw->files[clip]->achans > 0 && mainw->files[clip]->asampsize > 0 : FALSE)
519 #define CURRENT_CLIP_HAS_AUDIO CLIP_HAS_AUDIO(mainw->current_file)
520 
521 #define CLIP_VIDEO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->video_time : 0.))
522 
523 #define CLIP_LEFT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->laudio_time : 0.))
524 
525 #define CLIP_RIGHT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? (mainw->files[clip]->achans > 1 ? mainw->files[clip]->raudio_time : 0.) : 0.))
526 
527 #define CLIP_AUDIO_TIME(clip) ((double)(CLIP_LEFT_AUDIO_TIME(clip) >= CLIP_RIGHT_AUDIO_TIME(clip) ? CLIP_LEFT_AUDIO_TIME(clip) : CLIP_RIGHT_AUDIO_TIME(clip)))
528 
529 #define CLIP_TOTAL_TIME(clip) ((double)(CLIP_VIDEO_TIME(clip) > CLIP_AUDIO_TIME(clip) ? CLIP_VIDEO_TIME(clip) : CLIP_AUDIO_TIME(clip)))
530 
531 #define LIVES_IS_PLAYING (mainw->playing_file > -1)
532 
533 #define CURRENT_CLIP_TOTAL_TIME CLIP_TOTAL_TIME(mainw->current_file)
534 
535 #define CURRENT_CLIP_IS_CLIPBOARD (mainw->current_file == 0)
536 
538 typedef struct {
539  // basic info (saved during backup)
540  int bpp;
541  double fps;
542  int hsize;
543  int vsize;
544  int arps;
545  uint32_t signed_endian;
546 
547  int arate;
548  uint64_t unique_id;
549  int achans;
550  int asampsize;
551 
553  int frames;
554 
555  // TODO: make 1024 (to handle flv for example)
556  char title[256];
557  char author[256];
558  char comment[256];
559 
560  char keywords[256];
562 
564 
565  // extended info (not saved)
567 
568 #define LIVES_CLIP_HEADER_VERSION 100
569 
572 
573  char handle[256];
574  int ohsize;
575  int ovsize;
576  int64_t f_size;
577  int64_t afilesize;
579  char file_name[PATH_MAX];
580  char info_file[PATH_MAX];
581  char name[CLIP_NAME_MAXLEN];
582  char save_file_name[PATH_MAX];
583  char type[64];
584  int start;
585  int end;
590  boolean changed;
591  LiVESWidget *menuentry;
593  boolean orig_file_name;
594  boolean was_renamed;
595  boolean is_untitled;
596  double pb_fps;
597  double freeze_fps;
598  boolean play_paused;
599  boolean was_in_set;
600 
601  //opening/restoring status
602  boolean opening;
603  boolean opening_audio;
605  boolean opening_loc;
606  boolean restoring;
607  boolean is_loaded;
608 
610  boolean nopreview;
611 
613  boolean nokeep;
614 
615  // various times; total time is calculated as the longest of video, laudio and raudio
616  double video_time; // TODO: deprecate, calculate CLIP_VIDEO_TIME from frames and fps
617  double laudio_time;
618  double raudio_time;
619  double pointer_time;
620 
621  // used only for insert_silence, holds pre-padding length for undo
624 
625  // current and last played index frames for internal player
626  int frameno;
628 
630  // see resample.c for new events system
631 
632  // events
634 
635  weed_plant_t *event_list;
636  weed_plant_t *event_list_back;
637  weed_plant_t *next_event;
638 
639  LiVESList *layout_map;
641 
644 
646  int undo_end;
647  char undo_text[32];
648  char redo_text[32];
649  boolean undoable;
650  boolean redoable;
651 
652  // used for storing undo values
657  uint32_t undo1_uint;
658  double undo1_dbl;
659  double undo2_dbl;
660  boolean undo1_boolean;
661  boolean undo2_boolean;
662  boolean undo3_boolean;
663 
668  int undo_arps;
669 
671 
672  void *ext_src;
673 
679 
681 
683 
684 #define FX_FRAME_PUMP_VAL 200
685 
686 #define IMG_BUFF_SIZE 4096
687 
688  boolean ratio_fps;
689 
690  int64_t aseek_pos;
691 
692  // decoder data
693 
694  char mime_type[256];
695 
696  boolean deinterlace;
697 
699 
705 
707 
708  char *op_dir;
709  uint64_t op_ds_warn_level;
710 
714 
716 
717  lives_painter_surface_t *laudio_drawable;
718  lives_painter_surface_t *raudio_drawable;
719 
720  int cb_src;
721 
722  boolean needs_update;
723 
724  float **audio_waveform;
725  int *aw_sizes;
726 } lives_clip_t;
727 
728 typedef struct {
729  // the following can be assumed TRUE, they are checked on startup
730  boolean has_smogrify;
737 
738  // the following may need checking before use
739  boolean has_dvgrab;
740  boolean has_sox_play;
741  boolean has_sox_sox;
742  boolean has_autolives;
743  boolean has_mplayer;
744  boolean has_mplayer2;
745  boolean has_mpv;
746  boolean has_convert;
747  boolean has_composite;
748  boolean has_identify;
749  boolean has_cdda2wav;
750  boolean has_icedax;
752  boolean has_jackd;
754  boolean has_xwininfo;
755  boolean has_gdb;
759  boolean has_youtube_dl;
760 
762  char home_dir[PATH_MAX];
763 
764  char touch_cmd[PATH_MAX];
765  char rm_cmd[PATH_MAX];
766  char mv_cmd[PATH_MAX];
767  char cp_cmd[PATH_MAX];
768  char ln_cmd[PATH_MAX];
769  char chmod_cmd[PATH_MAX];
770  char cat_cmd[PATH_MAX];
771  char echo_cmd[PATH_MAX];
772  char eject_cmd[PATH_MAX];
773  char rmdir_cmd[PATH_MAX];
774 
775  char *rcfile;
776 
778  char startup_msg[256];
779 
780  // plugins
782 
783  boolean has_python;
784  uint64_t python_version;
785 
786  short cpu_bits;
787 
788  char *myname_full;
789  char *myname;
790 
791  int xstdout;
793 
794  int ncpus;
795 
797 
798  pid_t mainpid;
799 
800  mode_t umask;
801 } capability;
802 
804 extern capability *capable;
805 
806 #ifdef ENABLE_JACK
807 #include "jack.h"
808 #endif
809 
810 #define __STDC_FORMAT_MACROS
811 #include <inttypes.h>
812 
813 #ifndef PRId64
814 
815 #ifndef __WORDSIZE
816 #if defined __x86_64__
817 # define __WORDSIZE 64
818 #ifndef __WORDSIZE_COMPAT32
819 # define __WORDSIZE_COMPAT32 1
820 #endif
821 #else
822 # define __WORDSIZE 32
823 #endif
824 #endif // __WORDSIZE
825 
826 #ifndef __PRI64_PREFIX
827 # if __WORDSIZE == 64
828 # define __PRI64_PREFIX "l"
829 # else
830 # define __PRI64_PREFIX "ll"
831 # endif
832 #endif
833 
834 # define PRId64 __PRI64_PREFIX "d"
835 # define PRIu64 __PRI64_PREFIX "u"
836 #endif // ifndef PRI64d
837 
838 // common defs for mainwindow (retain this order)
839 #include "plugins.h"
840 #include "colourspace.h"
841 #include "paramspecial.h"
842 #include "multitrack.h"
843 #include "mainwindow.h"
844 #include "keyboard.h"
845 #include "preferences.h"
846 
847 extern mainwindow *mainw;
848 
849 // internal player clock
850 #include <sys/time.h>
851 struct timeval tv;
852 
854 extern ssize_t sizint, sizdbl, sizshrt;
855 
856 typedef enum {
881 
882 // some useful functions
883 
884 // dialogs.c
885 boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text);
886 boolean do_warning_dialog(const char *text);
887 boolean do_warning_dialogf(const char *fmt, ...);
888 boolean do_warning_dialog_with_check(const char *text, int warn_mask_number);
889 boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
890 boolean do_yesno_dialog(const char *text);
891 boolean do_yesno_dialogf(const char *fmt, ...);
892 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
893 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
894 boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number);
895 boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient);
896 int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED;
897 int do_error_dialog(const char *text);
898 int do_error_dialogf(const char *fmt, ...);
899 int do_info_dialog(const char *text);
900 int do_info_dialogf(const char *fmt, ...);
901 int do_error_dialog_with_check(const char *text, int warn_mask_number);
902 int do_blocking_error_dialog(const char *text);
903 int do_blocking_error_dialogf(const char *fmt, ...);
904 int do_blocking_info_dialog(const char *text);
905 int do_blocking_info_dialogf(const char *fmt, ...);
906 int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number,
907  LiVESWindow *transient);
908 int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient);
909 LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient,
910  int warn_mask_number, boolean is_blocking);
911 LiVESWidget *create_question_dialog(const char *title, const char *text, LiVESWindow *parent);
912 LiVESWindow *get_transient_full();
913 void do_system_failed_error(const char *com, int retval, const char *addinfo);
914 int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
915 void do_write_failed_error_s(const char *filename, const char *addinfo);
916 int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED;
917 void do_read_failed_error_s(const char *filename, const char *addinfo);
918 boolean do_header_write_error(int clip);
921 void do_chdir_failed_error(const char *dir);
922 void handle_backend_errors(void);
923 boolean check_backend_return(lives_clip_t *sfile);
924 
926 char *ds_critical_msg(const char *dir, uint64_t dsval);
927 char *ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn);
928 boolean check_storage_space(lives_clip_t *sfile, boolean is_processing);
929 
930 char *get_upd_msg(int type);
931 char *get_new_install_msg(void);
932 
933 boolean ask_permission_dialog(int what);
934 boolean do_abort_check(void);
935 void add_warn_check(LiVESBox *box, int warn_mask_number);
936 void do_memory_error_dialog(void);
937 void too_many_files(void);
938 void workdir_warning(void);
939 void do_audio_import_error(void);
940 void do_mt_backup_space_error(lives_mt *, int memreq_mb);
941 
942 boolean do_clipboard_fps_warning(void);
943 void perf_mem_warning(void);
944 void do_dvgrab_error(void);
945 boolean do_comments_dialog(int fileno, char *filename);
946 boolean do_auto_dialog(const char *text, int type);
947 void do_encoder_acodec_error(void);
948 void do_encoder_sox_error(void);
949 boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate,
950  int asigned, boolean swap_endian, boolean anr, boolean ignore_fps);
951 boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom,
952  int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all);
953 void do_messages_window(void);
954 void do_firstever_dialog(void);
955 void do_upgrade_error_dialog(void);
956 void do_no_mplayer_sox_error(void);
957 void do_need_mplayer_dialog(void);
958 void do_need_mplayer_mpv_dialog(void);
959 void do_aud_during_play_error(void);
960 void do_rendered_fx_dialog(void);
961 void do_layout_scrap_file_error(void);
962 void do_layout_ascrap_file_error(void);
963 void do_program_not_found_error(const char *progname);
964 void do_lb_composite_error(void);
965 void do_lb_convert_error(void);
966 void do_ra_convert_error(void);
967 void do_set_load_lmap_error(void);
968 boolean do_set_duplicate_warning(const char *new_set);
969 boolean do_set_rename_old_layouts_warning(const char *new_set);
970 boolean do_layout_alter_frames_warning(void);
971 boolean do_layout_alter_audio_warning(void);
972 boolean do_reload_set_query(void);
973 boolean do_yuv4m_open_warning(void);
974 void do_mt_undo_mem_error(void);
975 void do_mt_undo_buf_error(void);
976 void do_mt_set_mem_error(boolean has_mt, boolean trans);
977 void do_mt_audchan_error(int warn_mask);
978 void do_mt_no_audchan_error(void);
979 void do_mt_no_jack_error(int warn_mask);
980 boolean do_mt_rect_prompt(void);
981 void do_audrate_error_dialog(void);
982 boolean do_event_list_warning(void);
983 void do_nojack_rec_error(void);
984 void do_vpp_palette_error(void);
985 void do_vpp_fps_error(void);
986 void do_decoder_palette_error(void);
987 void do_rmem_max_error(int size);
988 int do_original_lost_warning(const char *fname);
989 void do_no_decoder_error(const char *fname);
990 void do_no_loadfile_error(const char *fname);
991 void do_jack_noopen_warn(void);
992 void do_jack_noopen_warn2(void);
993 void do_jack_noopen_warn3(void);
994 void do_jack_noopen_warn4(void);
995 void do_file_perm_error(const char *file_name);
996 void do_dir_perm_error(const char *dir_name);
997 void do_dir_perm_access_error(const char *dir_name);
999 void do_after_crash_warning(void);
1000 void do_bad_layout_error(void);
1001 void do_card_in_use_error(void);
1002 void do_dev_busy_error(const char *devstr);
1003 boolean do_existing_subs_warning(void);
1004 void do_invalid_subs_error(void);
1005 boolean do_erase_subs_warning(void);
1006 boolean do_sub_type_warning(const char *ext, const char *type_ext);
1007 boolean do_move_workdir_dialog(void);
1008 boolean do_set_locked_warning(const char *setname);
1009 void do_no_in_vdevs_error(void);
1010 void do_locked_in_vdevs_error(void);
1011 void do_do_not_close_d(void);
1012 void do_set_noclips_error(const char *setname);
1013 void do_no_autolives_error(void);
1015 void do_pulse_lost_conn_error(void);
1016 void do_jack_lost_conn_error(void);
1017 void do_cd_error_dialog(void);
1018 void do_bad_theme_error(const char *themefile);
1019 void do_bad_theme_import_error(const char *theme_file);
1020 boolean do_theme_exists_warn(const char *themename);
1021 
1022 int process_one(boolean visible);
1023 void do_threaded_dialog(const char *translated_text, boolean has_cancel);
1024 void end_threaded_dialog(void);
1025 void threaded_dialog_spin(double fraction);
1026 void response_ok(LiVESButton *button, livespointer user_data);
1027 void pump_io_chan(LiVESIOChannel *iochan);
1028 
1029 void do_splash_progress(void);
1030 
1031 // message collection
1032 void d_print(const char *fmt, ...);
1033 char *dump_messages(int start, int end); // utils.c
1034 weed_plant_t *get_nth_info_message(int n); // utils.c
1035 int add_messages_to_list(const char *text);
1036 int free_n_msgs(int frval);
1037 
1038 // d_print shortcuts
1039 void d_print_cancelled(void);
1040 void d_print_failed(void);
1041 void d_print_done(void);
1042 void d_print_enough(int frames);
1043 void d_print_file_error_failed(void);
1044 
1045 // general
1046 void do_text_window(const char *title, const char *text);
1047 
1048 // saveplay.c
1049 boolean read_file_details(const char *file_name, boolean only_check_for_audio);
1050 boolean add_file_info(const char *check_handle, boolean aud_only);
1051 boolean save_file_comments(int fileno);
1052 boolean reload_clip(int fileno, int maxframe);
1053 void wait_for_bg_audio_sync(int fileno);
1054 void reget_afilesize(int fileno);
1055 ulong deduce_file(const char *filename, double start_time, int end);
1056 ulong open_file(const char *filename);
1057 ulong open_file_sel(const char *file_name, double start_time, int frames);
1058 void open_fw_device(void);
1059 char *get_untitled_name(int number);
1060 boolean get_new_handle(int index, const char *name);
1061 boolean get_temp_handle(int index, boolean create);
1062 int close_temp_handle(int clipno, int new_clip);
1063 boolean get_handle_from_info_file(int index);
1064 void create_cfile(void);
1065 void save_file(int clip, int start, int end, const char *filename);
1066 void play_file(void);
1067 void save_frame(LiVESMenuItem *menuitem, livespointer user_data);
1068 boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc);
1069 void wait_for_stop(const char *stop_command);
1070 boolean save_clip_values(int which_file);
1071 void add_to_recovery_file(const char *handle);
1072 boolean rewrite_recovery_file(void);
1073 boolean check_for_recovery_files(boolean auto_recover);
1074 void recover_layout_map(int numclips);
1075 const char *get_deinterlace_string(void);
1076 
1077 // saveplay.c backup
1078 void backup_file(int clip, int start, int end, const char *filename);
1079 int save_event_frames(void);
1080 boolean write_headers(lives_clip_t *file);
1081 
1082 // saveplay.c restore
1083 ulong restore_file(const char *filename);
1084 boolean read_headers(const char *file_name);
1085 
1086 // saveplay.c sets
1087 void open_set_file(int clipnum);
1088 
1089 // saveplay.c scrap file
1090 boolean open_scrap_file(void);
1091 boolean open_ascrap_file(void);
1092 int save_to_scrap_file(weed_plant_t *layer);
1093 boolean load_from_scrap_file(weed_plant_t *layer, int frame);
1094 void close_ascrap_file(boolean remove);
1095 void close_scrap_file(boolean remove);
1096 void add_to_ascrap_mb(uint64_t bytes);
1097 
1098 boolean check_for_disk_space(void);
1099 
1100 // main.c
1101 typedef void (*SignalHandlerPointer)(int);
1102 
1104 void catch_sigint(int signum);
1105 void defer_sigint(int signum);
1106 void startup_message_fatal(const char *msg) GNU_NORETURN;
1107 boolean startup_message_choice(const char *msg, int msgtype);
1108 boolean startup_message_nonfatal(const char *msg);
1109 boolean startup_message_info(const char *msg);
1110 boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask);
1112 void get_monitors(void);
1113 void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *);
1114 void load_start_image(int frame);
1115 void load_end_image(int frame);
1116 void load_preview_image(boolean update_always);
1117 
1118 boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc);
1119 void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc);
1120 void check_layer_ready(weed_plant_t *layer);
1121 boolean pull_frame_at_size(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc,
1122  int width, int height, int target_palette);
1123 LiVESPixbuf *pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, weed_timecode_t tc,
1124  int width, int height, LiVESInterpType interp);
1125 LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc);
1126 
1127 LiVESError *lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype,
1128  int quality, boolean do_chmod, LiVESError **gerrorptr);
1129 
1130 void init_track_decoders(void);
1131 void free_track_decoders(void);
1132 
1133 #ifdef USE_LIBPNG
1134 boolean layer_from_png(FILE *fp, weed_plant_t *layer, boolean prog);
1135 boolean save_to_png(FILE *fp, weed_plant_t *layer, int comp);
1136 #endif
1137 
1138 void load_frame_image(int frame);
1139 void sensitize(void);
1140 void desensitize(void);
1141 void procw_desensitize(void);
1142 void close_current_file(int file_to_switch_to);
1143 void get_next_free_file(void);
1144 void switch_to_file(int old_file, int new_file);
1145 void do_quick_switch(int new_file);
1146 void switch_audio_clip(int new_file, boolean activate);
1147 void resize(double scale);
1148 void do_start_messages(void);
1149 boolean set_palette_colours(boolean force_reload);
1150 void set_main_title(const char *filename, int or_untitled_number);
1151 void set_record(void);
1152 
1153 //gui.c
1154 void create_LiVES(void);
1155 void show_lives(void);
1156 void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2,
1157  LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt);
1158 void set_preview_box_colours(void);
1159 void load_theme_images(void);
1160 void set_interactive(boolean interactive);
1161 char *get_menu_name(lives_clip_t *sfile, boolean add_set);
1162 void enable_record(void);
1163 void toggle_record(void);
1164 void disable_record(void);
1165 void make_custom_submenus(void);
1166 void fade_background(void);
1167 void unfade_background(void);
1168 void fullscreen_internal(void);
1169 void block_expose(void);
1170 void unblock_expose(void);
1171 void frame_size_update(void);
1172 void splash_init(void);
1173 void splash_end(void);
1174 void splash_msg(const char *msg, double pct);
1176 void reset_message_area(boolean expand);
1177 #if GTK_CHECK_VERSION(3, 0, 0)
1178 void calibrate_sepwin_size(void);
1179 boolean expose_pim(LiVESWidget *, lives_painter_t *, livespointer);
1180 boolean expose_sim(LiVESWidget *, lives_painter_t *, livespointer);
1181 boolean expose_eim(LiVESWidget *, lives_painter_t *, livespointer);
1182 #endif
1183 
1184 // system calls in utils.c
1185 int lives_system(const char *com, boolean allow_error);
1186 size_t lives_popen(const char *com, boolean allow_error, char *buff, size_t buflen);
1187 lives_pid_t lives_fork(const char *com);
1188 int lives_open3(const char *pathname, int flags, mode_t mode);
1189 int lives_open2(const char *pathname, int flags);
1190 int lives_open_buffered_rdonly(const char *pathname);
1191 int lives_creat_buffered(const char *pathname, int mode);
1192 int lives_close_buffered(int fd);
1193 void lives_close_all_file_buffers(void);
1194 off_t lives_lseek_buffered_rdonly(int fd, off_t offset);
1195 off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset);
1196 ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1197 ssize_t lives_write_buffered(int fd, const char *buf, size_t count, boolean allow_fail);
1198 ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1199 ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail);
1200 ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less);
1201 ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less);
1202 ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less);
1203 ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less);
1204 int lives_chdir(const char *path, boolean allow_fail);
1205 int lives_fputs(const char *s, FILE *stream);
1206 char *lives_fgets(char *s, int size, FILE *stream);
1207 size_t lives_fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
1208 pid_t lives_getpid(void);
1209 int lives_getgid(void);
1210 int lives_getuid(void);
1211 boolean lives_freep(void **ptr);
1212 void lives_kill_subprocesses(const char *dirname, boolean kill_parent);
1213 void lives_suspend_resume_process(const char *dirname, boolean suspend);
1214 int lives_kill(lives_pid_t pid, int sig);
1215 int lives_killpg(lives_pgid_t pgrp, int sig);
1216 ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz);
1217 boolean lives_setenv(const char *name, const char *value);
1218 boolean lives_fsync(int fd);
1219 void lives_sync(int times);
1220 int lives_rmdir(const char *dir, boolean force);
1221 int lives_rmdir_with_parents(const char *dir);
1222 int lives_rm(const char *file);
1223 int lives_rmglob(const char *files);
1224 int lives_cp(const char *from, const char *to);
1225 int lives_cp_recursive(const char *from, const char *to);
1226 int lives_cp_keep_perms(const char *from, const char *to);
1227 int lives_mv(const char *from, const char *to);
1228 int lives_touch(const char *tfile);
1229 int lives_chmod(const char *target, const char *mode);
1230 int lives_cat(const char *from, const char *to, boolean append);
1231 int lives_echo(const char *text, const char *to, boolean append);
1232 int lives_ln(const char *from, const char *to);
1233 
1234 int lives_utf8_strcasecmp(const char *s1, const char *s2);
1235 int lives_utf8_strcmp(const char *s1, const char *s2);
1236 
1237 boolean lives_string_ends_with(const char *string, const char *fmt, ...);
1238 
1239 char *filename_from_fd(char *val, int fd);
1240 
1241 int64_t lives_get_relative_ticks(int64_t origsecs, int64_t origusecs);
1242 int64_t lives_get_current_playback_ticks(int64_t origsecs, int64_t origusecs, lives_time_source_t *time_source);
1243 int64_t lives_get_current_ticks(void);
1244 
1245 boolean lives_alarm_get(int alarm_handle);
1246 int lives_alarm_set(int64_t ticks);
1247 void lives_alarm_clear(int alarm_handle);
1248 lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval);
1249 char *lives_format_storage_space_string(uint64_t space);
1250 char *lives_datetime(struct timeval *tv);
1251 
1252 int myround(double n) GNU_CONST; // round up +ve or down -ve
1253 void get_dirname(char *filename);
1254 char *get_dir(const char *filename);
1255 void get_basename(char *filename);
1256 void get_filename(char *filename, boolean strip_dir);
1257 char *get_extension(const char *filename);
1258 uint64_t get_version_hash(const char *exe, const char *sep, int piece);
1259 uint64_t make_version_hash(const char *ver);
1260 void init_clipboard(void);
1261 boolean cache_file_contents(const char *filename);
1262 char *get_val_from_cached_list(const char *key, size_t maxlen);
1263 
1264 void get_location(const char *exe, char *val, int maxlen);
1265 
1266 char *make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext);
1267 const char *get_image_ext_for_type(lives_image_type_t imgtype);
1268 lives_image_type_t lives_image_ext_to_type(const char *img_ext);
1269 lives_image_type_t lives_image_type_to_image_type(const char *lives_img_type);
1270 
1271 void reset_clipmenu(void);
1272 
1273 void get_total_time(lives_clip_t *file);
1274 void get_play_times(void);
1275 void update_play_times(void);
1276 
1277 uint32_t get_signed_endian(boolean is_signed, boolean little_endian);
1278 
1279 void switch_aud_to_none(boolean set_pref);
1280 boolean switch_aud_to_sox(boolean set_pref);
1281 boolean switch_aud_to_jack(boolean set_pref);
1282 boolean switch_aud_to_pulse(boolean set_pref);
1283 
1284 boolean prepare_to_play_foreign(void);
1285 boolean after_foreign_play(void);
1286 boolean check_file(const char *file_name, boolean check_exists);
1287 boolean check_dir_access(const char *dir);
1288 boolean lives_make_writeable_dir(const char *newdir);
1289 uint64_t get_file_size(int fd);
1290 uint64_t sget_file_size(const char *name);
1291 uint64_t get_fs_free(const char *dir);
1292 boolean is_writeable_dir(const char *dir);
1293 boolean ensure_isdir(char *fname);
1294 boolean dirs_equal(const char *dira, const char *dirb);
1295 char *ensure_extension(const char *fname, const char *ext) WARN_UNUSED;
1296 boolean check_dev_busy(char *devstr);
1297 void activate_url_inner(const char *link);
1298 void activate_url(LiVESAboutDialog *about, const char *link, livespointer data);
1299 void show_manual_section(const char *lang, const char *section);
1300 
1301 double calc_time_from_frame(int clip, int frame);
1302 int calc_frame_from_time(int filenum, double time);
1303 int calc_frame_from_time2(int filenum, double time);
1304 int calc_frame_from_time3(int filenum, double time);
1305 int calc_frame_from_time4(int filenum, double time);
1306 
1307 
1308 boolean check_for_ratio_fps(double fps);
1309 double get_ratio_fps(const char *string);
1310 void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight);
1311 
1312 char *remove_trailing_zeroes(double val);
1313 
1314 void remove_layout_files(LiVESList *lmap);
1315 boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data,
1316  int clipno, int frameno, double atime, boolean affects_current);
1317 void clear_lmap_errors(void);
1318 boolean prompt_remove_layout_files(void);
1319 boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject);
1320 boolean is_legal_set_name(const char *set_name, boolean allow_dupes);
1321 char *repl_workdir(const char *entry, boolean fwd);
1322 char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp);
1323 boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen);
1324 void save_clip_value(int which, lives_clip_details_t, void *val);
1325 boolean check_frame_count(int idx);
1326 void count_opening_frames(void);
1327 void get_frame_count(int idx);
1328 void get_frames_sizes(int fileno, int frame_to_test);
1329 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
1330 boolean int_array_contains_value(int *array, int num_elems, int value);
1331 boolean check_for_lock_file(const char *set_name, int type);
1332 void lives_list_free_strings(LiVESList *);
1333 void lives_list_free_all(LiVESList **);
1334 void lives_slist_free_all(LiVESSList **);
1335 
1336 boolean create_event_space(int length_in_eventsb);
1337 void add_to_recent(const char *filename, double start, int frames, const char *file_open_params);
1338 int verhash(char *version);
1339 void set_undoable(const char *what, boolean sensitive);
1340 void set_redoable(const char *what, boolean sensitive);
1341 void zero_spinbuttons(void);
1342 void set_sel_label(LiVESWidget *label);
1343 void clear_mainw_msg(void);
1344 int get_token_count(const char *string, int delim);
1345 LiVESPixbuf *lives_pixbuf_new_blank(int width, int height, int palette);
1346 char *lives_strappend(char *string, int len, const char *newbit);
1347 LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add);
1348 void find_when_to_stop(void);
1349 int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc);
1350 void calc_aframeno(int fileno);
1351 void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height);
1352 LiVESInterpType get_interp_value(short quality);
1353 
1354 LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED;
1355 LiVESList *lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED;
1356 LiVESList *lives_list_copy_strings(LiVESList *list);
1357 boolean string_lists_differ(LiVESList *, LiVESList *);
1358 
1359 LiVESList *get_set_list(const char *dir, boolean utf8);
1360 
1361 char *subst(const char *string, const char *from, const char *to);
1362 char *insert_newlines(const char *text, int maxwidth);
1363 
1364 int hextodec(char *string);
1365 int get_hex_digit(const char *c) GNU_CONST;
1366 
1367 uint32_t fastrand(void);
1368 void fastsrand(uint32_t seed);
1369 
1370 int lives_list_strcmp_index(LiVESList *list, livesconstpointer data, boolean case_sensitive);
1371 
1373 
1374 //callbacks.c
1375 
1376 // paramspecial.c
1377 LiVESPixbuf *mt_framedraw(lives_mt *, LiVESPixbuf *);
1378 
1379 // effects-weed.c
1380 livespointer _lives_malloc(size_t size) GNU_MALLOC;
1381 livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n);
1382 livespointer lives_memset(livespointer s, int c, size_t n);
1383 void _lives_free(livespointer ptr);
1384 livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes);
1385 livespointer _lives_realloc(livespointer ptr, size_t new_size);
1386 
1387 // pangotext.c
1388 boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t);
1389 void subtitles_free(lives_clip_t *sfile);
1390 boolean get_srt_text(lives_clip_t *sfile, double xtime);
1391 boolean get_sub_text(lives_clip_t *sfile, double xtime);
1392 boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1393 boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename);
1394 
1395 #include "osc_notify.h"
1396 
1397 // inlines
1398 #define cfile mainw->files[mainw->current_file]
1399 #define CLIPBOARD_FILE 0
1400 #define clipboard mainw->files[CLIPBOARD_FILE]
1401 
1402 #define PREFS_TIMEOUT 10000000
1403 
1404 #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm"
1405 
1406 const char *dummychar;
1407 
1408 void break_me(void);
1409 
1410 //#define TEST_GAMMA
1411 
1412 #define LIVES_NO_DEBUG
1413 #ifndef LIVES_DEBUG
1414 #ifndef LIVES_NO_DEBUG
1415 #define LIVES_DEBUG(x) fprintf(stderr, "LiVES debug: %s\n", x)
1416 #else // LIVES_NO_DEBUG
1417 #define LIVES_DEBUG(x) dummychar = x
1418 #endif // LIVES_NO_DEBUG
1419 #endif // LIVES_DEBUG
1420 
1421 #ifndef LIVES_INFO
1422 #ifndef LIVES_NO_INFO
1423 #define LIVES_INFO(x) fprintf(stderr, "LiVES info: %s\n", x)
1424 #else // LIVES_NO_INFO
1425 #define LIVES_INFO(x) dummychar = x
1426 #endif // LIVES_NO_INFO
1427 #endif // LIVES_INFO
1428 
1429 #ifndef LIVES_WARN
1430 #ifndef LIVES_NO_WARN
1431 #define LIVES_WARN(x) fprintf(stderr, "LiVES warning: %s\n", x)
1432 #else // LIVES_NO_WARN
1433 #define LIVES_WARN(x) dummychar = x
1434 #endif // LIVES_NO_WARN
1435 #endif // LIVES_WARN
1436 
1437 #ifndef LIVES_ERROR
1438 #ifndef LIVES_NO_ERROR
1439 #define LIVES_ERROR(x) {fprintf(stderr, "LiVES error: %s\n", x); break_me();}
1440 #else // LIVES_NO_ERROR
1441 #define LIVES_ERROR(x) dummychar = x
1442 #endif // LIVES_NO_ERROR
1443 #endif // LIVES_ERROR
1444 
1445 #ifndef LIVES_FATAL
1446 #ifndef LIVES_NO_FATAL
1447 #define LIVES_FATAL(x) {fprintf(stderr, "LiVES fatal: %s\n", x); raise (LIVES_SIGSEGV);}
1448 #else // LIVES_NO_FATAL
1449 #define LIVES_FATAL(x) dummychar = x
1450 #endif // LIVES_NO_FATAL
1451 #endif // LIVES_FATAL
1452 
1453 #endif // #ifndef HAS_LIVES_MAIN_H
1454 
void do_messages_window(void)
Definition: dialogs.c:2482
void do_ra_convert_error(void)
Definition: dialogs.c:2712
int lives_touch(const char *tfile)
Definition: utils.c:3454
int undo_arate
audio playback rate
Definition: main.h:664
boolean do_warning_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:405
void load_theme_images(void)
Definition: gui.c:52
void do_encoder_sox_error(void)
Definition: dialogs.c:2183
char * dump_messages(int start, int end)
Definition: utils.c:1581
void handle_backend_errors(void)
Definition: dialogs.c:726
void update_play_times(void)
like get_play_times, but will force redraw of audio waveforms
Definition: utils.c:2669
void do_no_loadfile_error(const char *fname)
Definition: dialogs.c:2584
int frames
number of video frames
Definition: main.h:553
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:5467
off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset)
Definition: utils.c:660
double undo2_dbl
Definition: main.h:659
int afile
Definition: main.h:351
void reget_afilesize(int fileno)
Definition: utils.c:3669
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
Definition: utils.c:2374
boolean do_yesno_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:396
LiVESWidget * stop_button
Definition: main.h:341
int undo1_int
Definition: main.h:653
boolean rewrite_recovery_file(void)
Definition: saveplay.c:5567
boolean no_proc_sys_errors
skip system error dialogs in processing
Definition: main.h:711
int value
Definition: main.h:330
uint64_t python_version
Definition: main.h:784
Definition: main.h:871
boolean deinterlace
auto deinterlace
Definition: main.h:696
boolean opening_audio
Definition: main.h:603
int lives_open_buffered_rdonly(const char *pathname)
Definition: utils.c:533
ulong open_file_sel(const char *file_name, double start_time, int frames)
Definition: saveplay.c:266
int do_original_lost_warning(const char *fname)
Definition: dialogs.c:2565
int undo2_int
Definition: main.h:654
Definition: main.h:381
Definition: main.h:869
double old_raudio_time
Definition: main.h:623
int verhash(char *version)
Definition: utils.c:3838
void do_mt_audchan_error(int warn_mask)
Definition: dialogs.c:2662
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:5108
void perf_mem_warning(void)
Definition: dialogs.c:2395
boolean restoring
Definition: main.h:606
void do_read_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:2985
int * frame_index_back
for undo
Definition: main.h:680
int lives_system(const char *com, boolean allow_error)
Definition: utils.c:173
void do_dir_perm_error(const char *dir_name)
Definition: dialogs.c:3172
void d_print_enough(int frames)
Definition: utils.c:1820
char * get_untitled_name(int number)
Definition: saveplay.c:3331
boolean has_pulse_audio
Definition: main.h:753
boolean get_handle_from_info_file(int index)
Definition: saveplay.c:1049
int hextodec(char *string)
Definition: utils.c:4665
Definition: main.h:866
LiVESWidget * create_message_dialog(lives_dialog_t diat, const char *text, LiVESWindow *transient, int warn_mask_number, boolean is_blocking)
Definition: dialogs.c:159
double seek
Definition: main.h:352
uint32_t undo1_uint
Definition: main.h:657
ssize_t lives_read_le(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:440
boolean has_mpv
Definition: main.h:745
Definition: events.h:164
boolean do_move_workdir_dialog(void)
Definition: dialogs.c:3264
void _lives_free(livespointer ptr)
Definition: effects-weed.c:110
LiVESError * lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_image_type_t imgtype, int quality, boolean do_chmod, LiVESError **gerrorptr)
Definition: main.c:6971
boolean do_event_list_warning(void)
Definition: dialogs.c:2723
int start
Definition: main.h:584
int do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED
Definition: dialogs.c:3123
int do_error_dialog(const char *text)
Definition: dialogs.c:554
#define PATH_MAX
Definition: main.h:249
void set_main_title(const char *filename, int or_untitled_number)
Definition: main.c:3576
boolean nokeep
don&#39;t show the &#39;keep&#39; button - e.g. for operations which resize frames
Definition: main.h:613
boolean nopreview
don&#39;t show preview/pause buttons on processing
Definition: main.h:610
lives_pid_t lives_fork(const char *com)
Definition: utils.c:266
uint64_t get_fs_free(const char *dir)
Definition: utils.c:4750
pid_t lives_pid_t
Definition: main.h:76
boolean load_from_scrap_file(weed_plant_t *layer, int frame)
Definition: saveplay.c:4729
lives_dialog_t
Definition: mainwindow.h:176
void get_play_times(void)
recalculate video / audio lengths and draw the timer bars
Definition: utils.c:2664
just cancel in GUI (for keep, etc)
Definition: main.h:470
void save_frame(LiVESMenuItem *menuitem, livespointer user_data)
Definition: saveplay.c:1107
int lives_utf8_strcasecmp(const char *s1, const char *s2)
Definition: utils.c:4541
void switch_aud_to_none(boolean set_pref)
Definition: utils.c:2987
void close_ascrap_file(boolean remove)
Definition: saveplay.c:4896
void splash_end(void)
Definition: gui.c:4544
lives_image_type_t lives_image_ext_to_type(const char *img_ext)
Definition: utils.c:2181
void find_when_to_stop(void)
Definition: utils.c:2711
void save_clip_value(int which, lives_clip_details_t, void *val)
Definition: utils.c:4253
void clear_lmap_errors(void)
Definition: utils.c:2012
void activate_url(LiVESAboutDialog *about, const char *link, livespointer data)
Definition: utils.c:3610
void do_file_perm_error(const char *file_name)
Definition: dialogs.c:3164
int lives_rm(const char *file)
Definition: utils.c:3394
int add_messages_to_list(const char *text)
Definition: utils.c:1661
boolean is_legal_set_name(const char *set_name, boolean allow_dupes)
Definition: utils.c:2129
void do_set_load_lmap_error(void)
uint64_t lives_random(void)
Definition: utils.c:104
boolean has_mplayer
Definition: main.h:743
LiVESWidget * scrolledwindow
Definition: main.h:345
livespointer lives_memcpy(livespointer dest, livesconstpointer src, size_t n)
Definition: effects-weed.c:76
void open_set_file(int clipnum)
Definition: saveplay.c:4298
boolean do_existing_subs_warning(void)
Definition: dialogs.c:3217
video playback completed
Definition: main.h:453
boolean do_warning_dialogf(const char *fmt,...)
Definition: dialogs.c:369
int lives_pgid_t
Definition: main.h:77
boolean create_event_space(int length_in_eventsb)
Definition: utils.c:3707
void do_bad_theme_import_error(const char *theme_file)
Definition: dialogs.c:3355
void close_current_file(int file_to_switch_to)
close current file, and try to switch to file_to_switch_to
Definition: main.c:7017
void recover_layout_map(int numclips)
Definition: saveplay.c:4916
int lives_echo(const char *text, const char *to, boolean append)
Definition: utils.c:3499
Definition: main.h:384
int do_error_dialogf(const char *fmt,...)
Definition: dialogs.c:539
int ohsize
Definition: main.h:574
boolean was_renamed
Definition: main.h:594
lives_painter_surface_t * raudio_drawable
Definition: main.h:718
void open_fw_device(void)
boolean reload_clip(int fileno, int maxframe)
Definition: saveplay.c:4994
char * remove_trailing_zeroes(double val)
Definition: utils.c:4478
void do_autolives_needs_clips_error(void)
Definition: dialogs.c:3335
void defer_sigint(int signum)
Definition: main.c:210
size_t lives_popen(const char *com, boolean allow_error, char *buff, size_t buflen)
Definition: utils.c:213
void check_layer_ready(weed_plant_t *layer)
Definition: main.c:5383
Definition: main.h:867
void workdir_warning(void)
Definition: dialogs.c:2143
Definition: main.h:870
boolean opening
Definition: main.h:602
int last_frameno
Definition: main.h:627
void get_basename(char *filename)
Definition: utils.c:2343
void clear_mainw_msg(void)
Definition: utils.c:900
boolean read_headers(const char *file_name)
Definition: saveplay.c:3925
void unblock_expose(void)
Definition: gui.c:3473
boolean has_cdda2wav
Definition: main.h:749
void fastsrand(uint32_t seed)
Definition: utils.c:4702
void pull_frame_threaded(weed_plant_t *layer, const char *img_ext, weed_timecode_t tc)
Definition: main.c:5440
int do_error_dialog_with_check_transient(const char *text, boolean is_blocking, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:634
void d_print(const char *fmt,...)
Definition: utils.c:1742
boolean can_write_to_config
Definition: main.h:733
imported video, broken into frames
Definition: main.h:474
int progress_start
Definition: main.h:588
void frame_size_update(void)
Definition: gui.c:4318
void do_encoder_img_fmt_error(render_details *rdet)
Definition: dialogs.c:3192
void d_print_file_error_failed(void)
Definition: utils.c:1815
ssize_t sizdbl
Definition: main.c:109
lives_image_type_t
Definition: main.h:482
boolean redoable
Definition: main.h:650
LiVESList * lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED
Definition: utils.c:4790
void do_text_window(const char *title, const char *text)
lives_clip_type_t clip_type
Definition: main.h:670
void do_splash_progress(void)
int close_temp_handle(int clipno, int new_clip)
Definition: saveplay.c:3153
lives_undo_t undo_action
undo
Definition: main.h:643
Definition: main.h:483
char * get_val_from_cached_list(const char *key, size_t maxlen)
Definition: utils.c:4004
boolean lives_make_writeable_dir(const char *newdir)
Definition: utils.c:4729
lives_subtitles_t * subt
Definition: main.h:706
livespointer _lives_malloc(size_t size) GNU_MALLOC
Definition: effects-weed.c:83
void(* SignalHandlerPointer)(int)
Definition: main.h:1101
int get_token_count(const char *string, int delim)
Definition: utils.c:4513
Definition: main.h:377
void do_jack_lost_conn_error(void)
Definition: dialogs.c:3340
uint64_t sget_file_size(const char *name)
Definition: utils.c:3637
boolean has_dvgrab
Definition: main.h:739
boolean do_auto_dialog(const char *text, int type)
Definition: dialogs.c:2012
event * resample_events
for block resampler
Definition: main.h:633
void reset_clipmenu(void)
Definition: utils.c:3292
void enable_record(void)
Definition: gui.c:3729
char * op_dir
Definition: main.h:708
void count_opening_frames(void)
Definition: utils.c:2234
uint16_t red
Definition: main.h:314
Definition: main.h:329
ssize_t lives_read_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:673
boolean do_layout_alter_frames_warning(void)
Definition: dialogs.c:2555
ulong restore_file(const char *filename)
Definition: saveplay.c:4376
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:408
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:2205
void d_print_failed(void)
Definition: utils.c:1805
void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height)
Definition: utils.c:2738
boolean undo1_boolean
Definition: main.h:660
int process_one(boolean visible)
Definition: dialogs.c:1091
boolean do_clipboard_fps_warning(void)
Definition: dialogs.c:2401
void set_sel_label(LiVESWidget *label)
Definition: utils.c:3932
char * lives_fgets(char *s, int size, FILE *stream)
Definition: utils.c:351
ssize_t lives_write_le(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
ssize_t sizint
type sizes
Definition: main.c:109
boolean lives_setenv(const char *name, const char *value)
Definition: utils.c:155
boolean check_storage_space(lives_clip_t *sfile, boolean is_processing)
Definition: dialogs.c:872
Definition: main.h:313
mode_t umask
Definition: main.h:800
int ovsize
Definition: main.h:575
#define GNU_MALLOC
Definition: main.h:265
void do_vpp_fps_error(void)
Definition: dialogs.c:2751
boolean startup_message_nonfatal(const char *msg)
Definition: main.c:3546
const char * dummychar
Definition: main.h:1406
void pump_io_chan(LiVESIOChannel *iochan)
Definition: dialogs.c:807
void do_mt_undo_buf_error(void)
Definition: dialogs.c:2641
no cancel
Definition: main.h:417
LiVESWindow * get_transient_full()
Definition: dialogs.c:459
int do_read_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:3061
int * aw_sizes
size of each audio_waveform in floats
Definition: main.h:725
int asampsize
audio sample size in bits (8 or 16)
Definition: main.h:550
boolean switch_aud_to_jack(boolean set_pref)
Definition: utils.c:2806
ssize_t lives_write_buffered(int fd, const char *buf, size_t count, boolean allow_fail)
Definition: utils.c:745
LiVESList * get_set_list(const char *dir, boolean utf8)
Definition: utils.c:4385
boolean do_yesno_dialog_with_check_transient(const char *text, int warn_mask_number, LiVESWindow *transient)
Definition: dialogs.c:434
uint32_t undo_signed_endian
Definition: main.h:665
boolean lives_freep(void **ptr)
Definition: utils.c:869
void set_undoable(const char *what, boolean sensitive)
Definition: utils.c:3878
boolean get_temp_handle(int index, boolean create)
Definition: saveplay.c:3175
boolean get_sub_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:805
boolean is_untitled
Definition: main.h:595
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data, boolean case_sensitive)
Definition: utils.c:3726
void get_next_free_file(void)
Definition: utils.c:2282
void do_firstever_dialog(void)
unimported video, not or partially broken in frames
Definition: main.h:477
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:59
int lives_ln(const char *from, const char *to)
Definition: utils.c:3463
int lives_mv(const char *from, const char *to)
Definition: utils.c:3445
void end_threaded_dialog(void)
Definition: dialogs.c:2855
Definition: main.h:861
int lives_cat(const char *from, const char *to, boolean append)
Definition: utils.c:3483
int stored_layout_idx
Definition: main.h:702
void do_write_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:2939
boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc)
Definition: saveplay.c:3635
uint32_t signed_endian
bitfield
Definition: main.h:545
LiVESWidget * menuentry
Definition: main.h:591
boolean check_file(const char *file_name, boolean check_exists)
check if file exists
Definition: utils.c:3314
boolean switch_aud_to_pulse(boolean set_pref)
Definition: utils.c:2871
int calc_frame_from_time4(int filenum, double time)
nearest frame, no maximum
Definition: utils.c:1192
boolean has_xwininfo
Definition: main.h:754
Definition: main.h:879
frames from video device
Definition: main.h:479
LiVESPixbuf * pull_lives_pixbuf(int clip, int frame, const char *image_ext, weed_timecode_t tc)
Definition: main.c:5505
boolean ask_permission_dialog(int what)
Definition: dialogs.c:3365
int nmonitors
Definition: main.h:792
lives_storage_status_t get_storage_status(const char *dir, uint64_t warn_level, uint64_t *dsval)
Definition: utils.c:839
int arate
current audio playback rate (may vary from arps), can even be 0 or negative
Definition: main.h:547
int lives_kill(lives_pid_t pid, int sig)
Definition: utils.c:881
Definition: main.h:388
boolean no_proc_write_errors
skip write error dialogs in processing
Definition: main.h:713
int64_t aseek_pos
audio seek posn. (bytes) for when we switch clips
Definition: main.h:690
livespointer lives_memset(livespointer s, int c, size_t n)
Definition: effects-weed.c:121
void do_jack_noopen_warn3(void)
void lives_alarm_clear(int alarm_handle)
Definition: utils.c:1097
Definition: main.h:499
LiVESWidget * cancel_button
Definition: main.h:344
int lives_rmdir_with_parents(const char *dir)
Definition: utils.c:3385
void do_mt_set_mem_error(boolean has_mt, boolean trans)
Definition: dialogs.c:2646
const char * get_deinterlace_string(void)
Definition: saveplay.c:201
int do_blocking_info_dialogf(const char *fmt,...)
Definition: dialogs.c:605
void set_redoable(const char *what, boolean sensitive)
Definition: utils.c:3907
boolean set_palette_colours(boolean force_reload)
Definition: main.c:1990
capability * get_capabilities(void)
Definition: main.c:2265
boolean can_read_from_config
Definition: main.h:732
Definition: main.h:500
uint16_t alpha
Definition: main.h:317
int insert_start
Definition: main.h:586
boolean keep_without_preview
allow keep, even when nopreview is set - TODO use only nopreview and nokeep
Definition: main.h:715
void switch_to_file(int old_file, int new_file)
Definition: main.c:7336
int undo_achans
Definition: main.h:666
ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
LiVESList * layout_map
Definition: main.h:639
void wait_for_stop(const char *stop_command)
Definition: saveplay.c:3602
boolean undo3_boolean
Definition: main.h:662
int lives_fputs(const char *s, FILE *stream)
Definition: utils.c:338
int lives_getuid(void)
Definition: utils.c:126
int undo_arps
audio sample rate
Definition: main.h:668
LiVESInterpType get_interp_value(short quality)
Definition: utils.c:4783
lives_clip_details_t
Definition: main.h:856
void do_bad_theme_error(const char *themefile)
Definition: dialogs.c:3293
const char * version(void)
int get_hex_digit(const char *c) GNU_CONST
Definition: utils.c:4681
boolean has_ssh_askpass
Definition: main.h:758
int64_t afilesize
Definition: main.h:577
Definition: main.h:875
void desensitize(void)
Definition: main.c:3806
void add_to_recovery_file(const char *handle)
Definition: saveplay.c:5553
_palette * palette
Definition: main.c:108
frames from generator plugin
Definition: main.h:476
int free_n_msgs(int frval)
Definition: utils.c:1624
int save_event_frames(void)
Definition: saveplay.c:4520
int do_write_failed_error_s_with_retry(const char *fname, const char *errtext, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:3007
char * lives_strappend(char *string, int len, const char *newbit)
Definition: utils.c:1127
Definition: main.h:872
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition: utils.c:890
lives_interlace_t interlace
interlace type (if known - none, topfirst, bottomfirst or : see plugins.h)
Definition: main.h:563
void load_preview_image(boolean update_always)
Definition: main.c:4459
LiVESWidget * label3
Definition: main.h:340
void set_record(void)
int do_blocking_error_dialogf(const char *fmt,...)
Definition: dialogs.c:590
int bpp
bits per pixel of the image frames, 24 or 32
Definition: main.h:540
pid_t mainpid
Definition: main.h:798
void close_scrap_file(boolean remove)
Definition: saveplay.c:4875
void do_dir_perm_access_error(const char *dir_name)
Definition: dialogs.c:3180
uint64_t get_file_size(int fd)
Definition: utils.c:3629
double stored_layout_audio
Definition: main.h:703
uint32_t frames_done
Definition: main.h:346
void init_clipboard(void)
Definition: utils.c:1500
void show_manual_section(const char *lang, const char *section)
Definition: utils.c:3615
void do_mt_backup_space_error(lives_mt *, int memreq_mb)
Definition: dialogs.c:2618
void do_no_decoder_error(const char *fname)
Definition: dialogs.c:2579
char * filename_from_fd(char *val, int fd)
Definition: utils.c:48
boolean lives_string_ends_with(const char *string, const char *fmt,...)
Definition: utils.c:2292
Definition: main.h:383
uint32_t fastrand(void)
Definition: utils.c:4694
image could not be captured
Definition: main.h:435
void resize(double scale)
Definition: main.c:7928
void set_ce_frame_from_pixbuf(LiVESImage *image, LiVESPixbuf *pixbuf, lives_painter_t *)
Definition: main.c:4005
boolean do_abort_check(void)
Definition: dialogs.c:3187
boolean opening_only_audio
Definition: main.h:604
char * subst(const char *string, const char *from, const char *to)
Definition: utils.c:4556
yuv4mpeg stream
Definition: main.h:475
Definition: main.h:860
int lives_rmdir(const char *dir, boolean force)
Definition: utils.c:3363
render_details * rdet
Definition: events.h:198
void lives_list_free_strings(LiVESList *)
Definition: utils.c:3958
boolean check_for_disk_space(void)
Definition: saveplay.c:4762
mainwindow * mainw
Definition: main.c:110
record audio to selection
Definition: main.h:402
void load_frame_image(int frame)
Definition: main.c:5698
type for LiVES to LiVES streaming
Definition: main.h:478
int progress_end
Definition: main.h:589
int set_pref(const char *key, const char *value)
Definition: preferences.c:336
ulong menuentry_func
Definition: main.h:592
boolean get_srt_text(lives_clip_t *sfile, double xtime)
Definition: pangotext.c:663
boolean do_set_locked_warning(const char *setname)
Definition: dialogs.c:3269
int * frame_index
Definition: main.h:678
void do_audrate_error_dialog(void)
Definition: dialogs.c:2718
char * rcfile
Definition: main.h:775
int do_abort_cancel_retry_dialog(const char *text, LiVESWindow *transient) WARN_UNUSED
Definition: dialogs.c:505
double stored_layout_fps
Definition: main.h:704
int64_t reltime
Definition: main.h:331
boolean save_sub_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:1086
void lives_list_free_all(LiVESList **)
Definition: utils.c:3980
LiVESPixbuf * mt_framedraw(lives_mt *, LiVESPixbuf *)
Definition: paramspecial.c:608
Definition: main.h:410
void subtitles_free(lives_clip_t *sfile)
Definition: pangotext.c:948
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:1830
void do_layout_ascrap_file_error(void)
Definition: dialogs.c:2200
boolean can_write_to_workdir
Definition: main.h:736
lives_lmap_error_t
Definition: multitrack.h:979
boolean has_smogrify
Definition: main.h:730
int lives_utf8_strcmp(const char *s1, const char *s2)
Definition: utils.c:4551
void do_dev_busy_error(const char *devstr)
Definition: dialogs.c:3207
LiVESWidget * processing
Definition: main.h:336
normal - kill background processes working on current clip
Definition: main.h:469
char * get_extension(const char *filename)
Definition: utils.c:2365
int lives_open3(const char *pathname, int flags, mode_t mode)
Definition: utils.c:114
int lives_creat_buffered(const char *pathname, int mode)
Definition: utils.c:542
boolean needs_update
loaded values were incorrect, update header
Definition: main.h:722
void set_preview_box_colours(void)
Definition: gui.c:3486
char * repl_workdir(const char *entry, boolean fwd)
Definition: utils.c:2519
void do_no_autolives_error(void)
Definition: dialogs.c:3330
boolean play_paused
Definition: main.h:598
void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2, LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt)
Definition: gui.c:164
boolean has_midistartstop
Definition: main.h:751
int fx_frame_pump
rfx frame pump for virtual clips (CLIP_TYPE_FILE)
Definition: main.h:682
double get_ratio_fps(const char *string)
Definition: utils.c:4462
Definition: main.h:878
Definition: main.h:868
void toggle_record(void)
Definition: gui.c:3735
void get_monitors(void)
Definition: main.c:271
boolean do_warning_dialog(const char *text)
Definition: dialogs.c:382
boolean after_foreign_play(void)
Definition: utils.c:3179
Definition: main.h:728
boolean startup_message_info(const char *msg)
Definition: main.c:3564
Definition: mainwindow.h:427
uint16_t green
Definition: main.h:309
int frameno
Definition: main.h:626
double undo1_dbl
Definition: main.h:658
boolean do_yuv4m_open_warning(void)
Definition: dialogs.c:2418
void * ext_src
points to opaque source for non-disk types
Definition: main.h:672
uint16_t green
Definition: main.h:315
void do_jack_noopen_warn(void)
boolean prompt_remove_layout_files(void)
Definition: dialogs.c:2539
xprocess * proc_ptr
the processing window
Definition: main.h:571
void free_track_decoders(void)
Definition: main.c:5664
LiVESWidget * label2
Definition: main.h:339
boolean check_frame_count(int idx)
Definition: utils.c:2200
boolean undo2_boolean
Definition: main.h:661
boolean write_headers(lives_clip_t *file)
Definition: saveplay.c:3854
void do_rendered_fx_dialog(void)
Definition: dialogs.c:2501
void do_audio_import_error(void)
Definition: dialogs.c:2512
void do_cd_error_dialog(void)
Definition: dialogs.c:3350
an error occured, retry the operation
Definition: main.h:462
user pressed &#39;Keep&#39;
Definition: main.h:450
int lives_cp_recursive(const char *from, const char *to)
Definition: utils.c:3427
double calc_time_from_frame(int clip, int frame)
Definition: utils.c:1158
ssize_t sizshrt
Definition: main.c:109
event_list completed
Definition: main.h:438
void do_jack_noopen_warn4(void)
uint64_t make_version_hash(const char *ver)
Definition: utils.c:2491
void get_dirname(char *filename)
Definition: utils.c:2316
Definition: main.h:382
void lives_close_all_file_buffers(void)
Definition: utils.c:389
int vsize
frame height (vertical) in pixels
Definition: main.h:543
int64_t lives_get_relative_ticks(int64_t origsecs, int64_t origusecs)
Definition: utils.c:930
void splash_init(void)
Definition: gui.c:4447
char * get_new_install_msg(void)
Definition: dialogs.c:3322
void do_invalid_subs_error(void)
Definition: dialogs.c:3222
boolean has_composite
Definition: main.h:747
ssize_t lives_read(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:416
double freeze_fps
pb_fps for paused / frozen clips
Definition: main.h:597
void do_need_mplayer_dialog(void)
Definition: dialogs.c:2162
boolean do_layout_alter_audio_warning(void)
Definition: dialogs.c:2560
livespointer lives_calloc(size_t n_blocks, size_t n_block_bytes)
Definition: effects-weed.c:127
char * get_dir(const char *filename)
Definition: utils.c:2334
int header_version
Definition: main.h:566
struct timeval tv
Definition: main.h:851
off_t lives_lseek_buffered_rdonly(int fd, off_t offset)
Definition: utils.c:647
int calc_frame_from_time3(int filenum, double time)
nearest frame rounded down, [1, frames+1]
Definition: utils.c:1182
double raudio_time
Definition: main.h:618
resample/reorder/resize/apply effects
Definition: main.h:397
void do_no_mplayer_sox_error(void)
Definition: dialogs.c:2156
void do_bad_layout_error(void)
Definition: dialogs.c:2688
Definition: main.h:874
LiVESWidget * create_question_dialog(const char *title, const char *text, LiVESWindow *parent)
Definition: dialogs.c:362
lives_interlace_t
Definition: main.h:497
weed_plant_t * event_list_back
Definition: main.h:636
void set_signal_handlers(SignalHandlerPointer sigfunc)
Definition: main.c:3087
Definition: main.h:378
char * insert_newlines(const char *text, int maxwidth)
Definition: utils.c:4575
void do_card_in_use_error(void)
Definition: dialogs.c:3202
boolean has_icedax
Definition: main.h:750
void splash_msg(const char *msg, double pct)
Definition: gui.c:4529
boolean do_erase_subs_warning(void)
Definition: dialogs.c:3248
void do_mt_undo_mem_error(void)
Definition: dialogs.c:2634
lives_undo_t
Definition: main.h:376
lives_painter_surface_t * laudio_drawable
Definition: main.h:717
corresponds to one clip in the GUI
Definition: main.h:538
weed_plant_t * event_list
Definition: main.h:635
boolean has_encoder_plugins
Definition: main.h:781
boolean has_youtube_dl
Definition: main.h:759
Definition: main.h:386
void do_lb_composite_error(void)
Definition: dialogs.c:2700
int calc_new_playback_position(int fileno, uint64_t otc, uint64_t *ntc)
Definition: utils.c:1265
int lives_cp_keep_perms(const char *from, const char *to)
Definition: utils.c:3436
boolean check_backend_return(lives_clip_t *sfile)
Definition: dialogs.c:789
int64_t lives_get_current_ticks(void)
Definition: utils.c:1008
#define GNU_CONST
Definition: main.h:264
char * clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp)
Definition: utils.c:4041
int stored_layout_frame
layout map for the current layout
Definition: main.h:701
boolean check_dev_busy(char *devstr)
Definition: utils.c:3575
int save_to_scrap_file(weed_plant_t *layer)
Definition: saveplay.c:4793
boolean startup_message_choice(const char *msg, int msgtype)
Definition: main.c:3552
boolean do_theme_exists_warn(const char *themename)
Definition: dialogs.c:3360
void lives_slist_free_all(LiVESSList **)
Definition: utils.c:3972
cancel but keep opening
Definition: main.h:423
char * ds_critical_msg(const char *dir, uint64_t dsval)
Definition: dialogs.c:676
LiVESPixbuf * lives_pixbuf_new_blank(int width, int height, int palette)
Definition: colourspace.c:9831
void add_to_recent(const char *filename, double start, int frames, const char *file_open_params)
Definition: utils.c:3749
ran out of preview frames
Definition: main.h:432
void lives_kill_subprocesses(const char *dirname, boolean kill_parent)
Definition: utils.c:3515
uint16_t blue
Definition: main.h:316
void unfade_background(void)
Definition: gui.c:3261
int do_blocking_info_dialog(const char *text)
Definition: dialogs.c:627
lives_cancel_t check_for_bad_ffmpeg(void)
Definition: utils.c:4859
boolean has_xdg_screensaver
Definition: main.h:757
#define GNU_NORETURN
Definition: main.h:268
boolean check_dir_access(const char *dir)
Definition: utils.c:3541
int do_info_dialog_with_transient(const char *text, boolean is_blocking, LiVESWindow *transient)
Definition: dialogs.c:656
void do_rmem_max_error(int size)
Definition: dialogs.c:2763
int old_frames
for deordering, etc.
Definition: main.h:578
#define ulong
Definition: main.h:137
Definition: main.h:411
boolean can_write_to_config_new
Definition: main.h:734
boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject)
Definition: utils.c:2081
Definition: main.h:873
ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz)
Definition: utils.c:136
void disable_record(void)
Definition: gui.c:3740
Definition: main.h:858
cancelled because of error
Definition: main.h:456
double video_time
Definition: main.h:616
Definition: main.h:334
pid_t lives_getpid(void)
Definition: utils.c:109
int lives_chdir(const char *path, boolean allow_fail)
Definition: utils.c:851
boolean no_proc_read_errors
skip read error dialogs in processing
Definition: main.h:712
Definition: main.h:350
Definition: pangotext.h:39
void add_warn_check(LiVESBox *box, int warn_mask_number)
Definition: dialogs.c:115
int hsize
framerate of the clip
Definition: main.h:542
Definition: main.h:404
boolean has_gdb
Definition: main.h:755
external process ended (e.g. autolives uncheck)
Definition: main.h:447
void get_location(const char *exe, char *val, int maxlen)
Definition: utils.c:2463
void get_frame_count(int idx)
Definition: utils.c:2242
effect processing finished during preview
Definition: main.h:426
void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:1478
lives_image_type_t img_type
Definition: main.h:698
lives_cancel_type_t
Definition: main.h:468
void make_custom_submenus(void)
Definition: gui.c:110
void do_need_mplayer_mpv_dialog(void)
Definition: dialogs.c:2168
boolean int_array_contains_value(int *array, int num_elems, int value)
Definition: utils.c:3283
boolean ensure_isdir(char *fname)
Definition: utils.c:2402
int do_header_read_error_with_retry(int clip) WARN_UNUSED
Definition: dialogs.c:3092
uint32_t get_signed_endian(boolean is_signed, boolean little_endian)
produce bitmapped value
Definition: utils.c:4491
size_t lives_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Definition: utils.c:364
boolean lives_alarm_get(int alarm_handle)
Definition: utils.c:1059
boolean smog_version_correct
Definition: main.h:731
Definition: main.h:859
void resize_widgets_for_monitor(boolean get_play_times)
Definition: gui.c:3775
LiVESList * lives_list_delete_string(LiVESList *, char *string) WARN_UNUSED
Definition: utils.c:4797
boolean has_mplayer2
Definition: main.h:744
lives_time_source_t
timebase sources
Definition: mainwindow.h:162
boolean switch_aud_to_sox(boolean set_pref)
Definition: utils.c:2930
void do_pulse_lost_conn_error(void)
Definition: dialogs.c:3345
void switch_audio_clip(int new_file, boolean activate)
Definition: main.c:7556
capability * capable
some shared structures
Definition: main.c:107
LiVESWidget * progressbar
Definition: main.h:337
boolean cache_file_contents(const char *filename)
Definition: utils.c:3988
boolean read_file_details(const char *file_name, boolean only_check_for_audio)
Definition: saveplay.c:140
int end
Definition: main.h:585
int lives_getgid(void)
Definition: utils.c:131
uint64_t unique_id
this and the handle can be used to uniquely id a file
Definition: main.h:548
video playback completed
Definition: main.h:441
void do_upgrade_error_dialog(void)
Definition: dialogs.c:2491
boolean do_yesno_dialog(const char *text)
Definition: dialogs.c:490
void activate_url_inner(const char *link)
Definition: utils.c:3597
void d_print_done(void)
Definition: utils.c:1810
void load_start_image(int frame)
Definition: main.c:4048
void do_mt_no_jack_error(int warn_mask)
Definition: dialogs.c:2674
boolean pull_frame(weed_plant_t *layer, const char *image_ext, weed_timecode_t tc)
Definition: main.c:5373
void too_many_files(void)
Definition: dialogs.c:2136
boolean do_header_write_error(int clip)
Definition: dialogs.c:3106
void save_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:1174
void do_do_not_close_d(void)
Definition: dialogs.c:3286
void do_chdir_failed_error(const char *dir)
Definition: dialogs.c:3150
void do_layout_scrap_file_error(void)
Definition: dialogs.c:2195
void add_to_ascrap_mb(uint64_t bytes)
Definition: saveplay.c:4610
int lives_cp(const char *from, const char *to)
Definition: utils.c:3418
int xstdout
Definition: main.h:791
boolean do_set_rename_old_layouts_warning(const char *new_set)
Definition: dialogs.c:2628
lives_clip_type_t
Definition: main.h:473
void fade_background(void)
Definition: gui.c:3147
void play_file(void)
Definition: saveplay.c:2016
void do_after_crash_warning(void)
Definition: dialogs.c:2757
void show_lives(void)
Definition: gui.c:2954
int lives_rmglob(const char *files)
Definition: utils.c:3406
uint16_t red
Definition: main.h:308
boolean do_sub_type_warning(const char *ext, const char *type_ext)
Definition: dialogs.c:3253
void do_encoder_acodec_error(void)
Definition: dialogs.c:2189
boolean is_writeable_dir(const char *dir)
Definition: utils.c:4707
void do_program_not_found_error(const char *progname)
Definition: dialogs.c:2693
void startup_message_fatal(const char *msg) GNU_NORETURN
Definition: main.c:3537
void reset_message_area(boolean expand)
Definition: gui.c:4565
void do_vpp_palette_error(void)
Definition: dialogs.c:2740
void backup_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:3719
boolean has_gconftool_2
Definition: main.h:756
boolean prepare_to_play_foreign(void)
Definition: utils.c:3039
boolean do_set_duplicate_warning(const char *new_set)
Definition: dialogs.c:2545
double vel
Definition: main.h:353
boolean is_loaded
should we continue loading if we come back to this clip
Definition: main.h:607
LiVESList * lives_list_append_unique(LiVESList *xlist, const char *add)
Definition: utils.c:1135
boolean save_clip_values(int which_file)
Definition: saveplay.c:37
int64_t f_size
Definition: main.h:576
int undo_asampsize
Definition: main.h:667
int lives_chmod(const char *target, const char *mode)
Definition: utils.c:3474
void break_me(void)
Definition: main.c:159
boolean lives_fsync(int fd)
Definition: utils.c:141
void do_quick_switch(int new_file)
Definition: main.c:7793
void get_frames_sizes(int fileno, int frame_to_test)
Definition: utils.c:2268
void do_set_noclips_error(const char *setname)
Definition: dialogs.c:3298
Definition: main.h:387
ulong deduce_file(const char *filename, double start_time, int end)
Definition: saveplay.c:207
Definition: main.h:307
int ncpus
Definition: main.h:794
void response_ok(LiVESButton *button, livespointer user_data)
Definition: dialogs.c:2878
uint64_t op_ds_warn_level
current disk space warning level for any output directory
Definition: main.h:709
weed_plant_t * get_nth_info_message(int n)
Definition: utils.c:1547
void do_memory_error_dialog(void)
Definition: dialogs.c:720
special cancel for TV toy
Definition: main.h:465
void procw_desensitize(void)
Definition: main.c:3930
char * get_menu_name(lives_clip_t *sfile, boolean add_set)
Definition: gui.c:4326
void do_system_failed_error(const char *com, int retval, const char *addinfo)
Definition: dialogs.c:2883
boolean dirs_equal(const char *dira, const char *dirb)
Definition: utils.c:2446
uint64_t lives_10pow(int pow) GNU_CONST
Definition: utils.c:905
boolean startup_message_nonfatal_dismissable(const char *msg, int warning_mask)
Definition: main.c:3570
void remove_layout_files(LiVESList *lmap)
Definition: utils.c:2544
int myround(double n) GNU_CONST
Definition: utils.c:895
int lives_close_buffered(int fd)
Definition: utils.c:547
int lives_open2(const char *pathname, int flags)
Definition: utils.c:120
void set_interactive(boolean interactive)
Definition: gui.c:3017
void lives_sync(int times)
Definition: utils.c:147
Definition: main.h:390
boolean do_yesno_dialogf(const char *fmt,...)
Definition: dialogs.c:470
boolean changed
Definition: main.h:590
uint16_t blue
Definition: main.h:310
int insert_end
Definition: main.h:587
boolean has_sox_sox
Definition: main.h:741
int lives_alarm_set(int64_t ticks)
Definition: utils.c:1020
int get_approx_ln(uint32_t val) GNU_CONST
Definition: utils.c:919
boolean can_write_to_home
Definition: main.h:735
lives_cancel_t
cancel reason
Definition: main.h:415
boolean do_mt_rect_prompt(void)
Definition: dialogs.c:2681
boolean open_ascrap_file(void)
Definition: saveplay.c:4663
int achans
number of audio channels (0, 1 or 2)
Definition: main.h:549
Definition: main.h:409
weed_plant_t * next_event
Definition: main.h:637
boolean is_ready
Definition: main.h:347
float LEFloat_to_BEFloat(float f) GNU_CONST
Definition: utils.c:1142
Definition: main.h:385
char * lives_datetime(struct timeval *tv)
Definition: utils.c:1111
boolean check_for_ratio_fps(double fps)
Definition: utils.c:4444
void do_dvgrab_error(void)
Definition: dialogs.c:2728
boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text)
Definition: dialogs.c:1484
void block_expose(void)
Definition: gui.c:3456
boolean get_new_handle(int index, const char *name)
Definition: saveplay.c:3337
LiVESWidget * preview_button
Definition: main.h:343
boolean has_sox_play
Definition: main.h:740
void get_filename(char *filename, boolean strip_dir)
Definition: utils.c:2354
Definition: main.h:863
Definition: main.h:391
LiVESWidget * pause_button
Definition: main.h:342
char * make_image_file_name(lives_clip_t *clip, int frame, const char *img_ext)
Definition: utils.c:2195
cancelled and paused
Definition: main.h:459
void do_jack_noopen_warn2(void)
int do_info_dialogf(const char *fmt,...)
Definition: dialogs.c:561
boolean orig_file_name
Definition: main.h:593
boolean save_srt_subtitles(lives_clip_t *sfile, double start_time, double end_time, double offset_time, const char *filename)
Definition: pangotext.c:1019
void calc_aframeno(int fileno)
Definition: utils.c:1244
lives_storage_status_t
disk/storage status values
Definition: mainwindow.h:203
void do_start_messages(void)
Definition: main.c:1893
boolean has_identify
Definition: main.h:748
Definition: main.h:484
void do_locked_in_vdevs_error(void)
Definition: dialogs.c:3281
Definition: main.h:485
void sensitize(void)
Definition: main.c:3612
LiVESWidget * label
Definition: main.h:338
boolean has_autolives
Definition: main.h:742
void catch_sigint(int signum)
Definition: main.c:216
Definition: main.h:389
Definition: main.h:876
lives_image_type_t lives_image_type_to_image_type(const char *lives_img_type)
Definition: utils.c:2188
float ** audio_waveform
values for drawing the audio wave
Definition: main.h:724
void do_aud_during_play_error(void)
Definition: dialogs.c:715
boolean check_for_recovery_files(boolean auto_recover)
Definition: saveplay.c:5650
boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen)
Definition: utils.c:4136
int calc_frame_from_time(int filenum, double time)
nearest frame [1, frames]
Definition: utils.c:1163
void do_no_in_vdevs_error(void)
Definition: dialogs.c:3276
char * get_upd_msg(int type)
Definition: dialogs.c:3306
int64_t lives_get_current_playback_ticks(int64_t origsecs, int64_t origusecs, lives_time_source_t *time_source)
Definition: utils.c:940
int undo_end
Definition: main.h:646
void lives_srandom(unsigned int seed)
Definition: utils.c:99
void create_cfile(void)
Definition: saveplay.c:3232
int byte_order
Definition: main.h:796
void init_track_decoders(void)
Definition: main.c:5653
int undo4_int
Definition: main.h:656
double pointer_time
pointer time in timeline, also the playback start position for clipeditor (unless playing the selecti...
Definition: main.h:619
void do_mt_no_audchan_error(void)
Definition: dialogs.c:2669
const char * get_image_ext_for_type(lives_image_type_t imgtype)
Definition: utils.c:2169
double fps
Definition: main.h:541
char * lives_format_storage_space_string(uint64_t space)
Definition: utils.c:810
int cb_src
source clip for clipboard
Definition: main.h:720
void do_nojack_rec_error(void)
Definition: dialogs.c:2733
void get_total_time(lives_clip_t *file)
calculate laudio, raudio and video time (may be deprecated and replaced with macros) ...
Definition: utils.c:2682
ulong open_file(const char *filename)
Definition: saveplay.c:230
boolean do_reload_set_query(void)
Definition: dialogs.c:2413
void lives_suspend_resume_process(const char *dirname, boolean suspend)
Definition: utils.c:3526
char * myname_full
Definition: main.h:788
boolean ratio_fps
if the fps was set by a ratio
Definition: main.h:688
application quit
Definition: main.h:429
boolean has_convert
Definition: main.h:746
generator was stopped
Definition: main.h:444
double lives_fix(double val, int decimals) GNU_CONST
Definition: utils.c:913
void create_LiVES(void)
Definition: gui.c:304
resample/resize and resample audio for encoding
Definition: main.h:394
int undo_start
Definition: main.h:645
int do_info_dialog(const char *text)
Definition: dialogs.c:576
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:2298
boolean was_in_set
Definition: main.h:599
Definition: main.h:399
boolean open_scrap_file(void)
Definition: saveplay.c:4615
Definition: main.h:865
boolean check_for_lock_file(const char *set_name, int type)
Definition: utils.c:2038
Definition: main.h:379
int undo3_int
Definition: main.h:655
boolean subtitles_init(lives_clip_t *sfile, char *fname, lives_subtitle_type_t)
Definition: pangotext.c:969
short cpu_bits
Definition: main.h:786
uint64_t get_version_hash(const char *exe, const char *sep, int piece)
Definition: utils.c:2477
char * ds_warning_msg(const char *dir, uint64_t dsval, uint64_t cwarn, uint64_t nwarn)
Definition: dialogs.c:695
void do_decoder_palette_error(void)
Definition: dialogs.c:2746
void threaded_dialog_spin(double fraction)
Definition: dialogs.c:2773
int calc_frame_from_time2(int filenum, double time)
nearest frame [1, frames+1]
Definition: utils.c:1172
livespointer _lives_realloc(livespointer ptr, size_t new_size)
Definition: effects-weed.c:93
boolean save_file_comments(int fileno)
Definition: saveplay.c:3563
double pb_fps
current playback rate, may vary from fps, can be 0. or negative
Definition: main.h:596
ssize_t lives_write(int fd, livesconstpointer buf, size_t count, boolean allow_fail)
#define WARN_UNUSED
Definition: main.h:262
Definition: main.h:864
boolean do_comments_dialog(int fileno, char *filename)
Definition: dialogs.c:2435
void fullscreen_internal(void)
Definition: gui.c:3395
#define CLIP_NAME_MAXLEN
Definition: main.h:510
char * myname
Definition: main.h:789
boolean has_python
Definition: main.h:783
Definition: main.h:857
Definition: main.h:877
void wait_for_bg_audio_sync(int fileno)
Definition: utils.c:3653
lives_subtitle_type_t
Definition: pangotext.h:13
LiVESList * lives_list_copy_strings(LiVESList *list)
Definition: utils.c:4813
#define FALSE
Definition: videoplugin.h:56
boolean do_warning_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:387
void load_end_image(int frame)
Definition: main.c:4253
Definition: main.h:380
ssize_t lives_read_le_buffered(int fd, void *buf, size_t count, boolean allow_less)
Definition: utils.c:732
int do_blocking_error_dialog(const char *text)
Definition: dialogs.c:620
boolean has_jackd
Definition: main.h:752
boolean add_file_info(const char *check_handle, boolean aud_only)
Definition: saveplay.c:3368
void do_threaded_dialog(const char *translated_text, boolean has_cancel)
Definition: dialogs.c:2825
double laudio_time
Definition: main.h:617
boolean string_lists_differ(LiVESList *, LiVESList *)
Definition: utils.c:4827
boolean undoable
Definition: main.h:649
Definition: main.h:498
void do_lb_convert_error(void)
Definition: dialogs.c:2706
double old_laudio_time
Definition: main.h:622
Definition: main.h:862
int do_error_dialog_with_check(const char *text, int warn_mask_number)
Definition: dialogs.c:583
void d_print_cancelled(void)
Definition: utils.c:1800
void zero_spinbuttons(void)
Definition: utils.c:2794
user pressed stop
Definition: main.h:420
int arps
audio sample rate (the actual physical sample rate of the medium)
Definition: main.h:544
boolean opening_loc
Definition: main.h:605