LiVES  3.2.0
main.h
Go to the documentation of this file.
1 // main.h
2 // LiVES
3 // (c) G. Finch (salsaman+lives@gmail.com) 2003 - 2020
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 formatting style is: astyle --style=java -H -Y -s2 -U -k3 -W3 -xC128 -xL -p -o -O -Q -xp
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 WEED_STARTUP_TESTS
59 #define STD_STRINGFUNCS
60 
61 #ifdef __GNUC__
62 # define WARN_UNUSED __attribute__((warn_unused_result))
63 # define GNU_PURE __attribute__((pure))
64 # define GNU_DEPRECATED(msg) __attribute__((deprecated(msg)))
65 # define GNU_CONST __attribute__((const))
66 # define GNU_MALLOC __attribute__((malloc))
67 # define GNU_MALLOC_SIZE(argx) __attribute__((alloc_size(argx)))
68 # define GNU_MALLOC_SIZE2(argx, argy) __attribute__((alloc_size(argx, argy)))
69 # define GNU_ALIGN(argx) __attribute__((alloc_align(argx)))
70 # define GNU_ALIGNED(sizex) __attribute__((assume_aligned(sizex)))
71 # define GNU_NORETURN __attribute__((noreturn))
72 # define GNU_FLATTEN __attribute__((flatten)) // inline all function calls
73 # define GNU_HOT __attribute__((hot))
74 # define GNU_SENTINEL __attribute__((__sentinel__(0)))
75 # define GNU_RETURNS_TWICE __attribute__((returns_twice))
76 #else
77 # define WARN_UNUSED
78 # define GNU_PURE
79 # define GNU_CONST
80 # define GNU_MALLOC
81 # define GNU_MALLOC_SIZE(x)
82 # define GNU_MALLOC_SIZE2(x, y)
83 # define GNU_DEPRECATED(msg)
84 # define GNU_ALIGN(x)
85 # define GNU_ALIGNED(x)
86 # define GNU_NORETURN
87 # define GNU_FLATTEN
88 # define GNU_HOT
89 # define GNU_SENTINEL
90 # define GNU_RETURNS_TWICE
91 #endif
92 
93 #include <sys/types.h>
94 #include <inttypes.h>
95 #include <string.h>
96 
97 typedef int64_t ticks_t;
98 
99 typedef int frames_t; // nb. will chenge to int64_t at some future point
100 typedef int64_t frames64_t; // will become the new standard
101 
102 #define ENABLE_OSC2
103 
104 #ifndef GUI_QT
105 #define GUI_GTK
106 #define LIVES_PAINTER_IS_CAIRO
107 #define LIVES_LINGO_IS_PANGO
108 #else
109 #define PAINTER_QPAINTER
110 #define NO_PROG_LOAD
111 #undef ENABLE_GIW
112 #endif
113 
114 #include <sys/file.h>
115 #include <unistd.h>
116 
117 typedef pid_t lives_pid_t;
118 typedef int lives_pgid_t;
119 
120 #ifdef GUI_GTK
121 #ifndef GDK_WINDOWING_X11
122 #define GDK_WINDOWING_X11
123 #endif
124 #endif // GUI_GTK
125 
126 #ifdef GUI_GTK
127 
128 #define USE_GLIB
129 
130 #define LIVES_OS_UNIX G_OS_UNIX
131 
132 #include <gtk/gtk.h>
133 #include <gdk/gdkkeysyms.h>
134 
135 #if GTK_CHECK_VERSION(3, 0, 0)
136 #ifdef ENABLE_GIW
137 #define ENABLE_GIW_3
138 #endif
139 #else
140 #undef ENABLE_GIW_3
141 #endif
142 
143 #endif
144 
145 #if !GTK_CHECK_VERSION(3, 0, 0)
146 // borked in < 3.0
147 #undef HAVE_WAYLAND
148 #endif
149 
150 #ifdef HAVE_WAYLAND
151 #include <gdk/gdkwayland.h>
152 #endif
153 
154 #ifdef GDK_WINDOWING_WAYLAND
155 #ifndef GDK_IS_WAYLAND_DISPLAY
156 #define GDK_IS_WAYLAND_DISPLAY(a) FALSE
157 #endif
158 #endif
159 
160 #include <sys/stat.h>
161 #include <stdlib.h>
162 #include <stdio.h>
163 #include <signal.h>
164 #include <assert.h>
165 #include <errno.h>
166 
167 #ifdef __cplusplus
168 #define __STDC_CONSTANT_MACROS
169 #ifdef _STDINT_H
170 #undef _STDINT_H
171 #endif
172 #endif
173 
174 #include <stdint.h>
175 #include <stdarg.h>
176 
177 #ifndef ulong
178 #define ulong unsigned long
179 #endif
180 
181 #define QUOTEME(x) #x
182 
184 #define MAX_FILES 65535
185 
188 #ifndef PREFIX_DEFAULT
189 #define PREFIX_DEFAULT "/usr"
190 #endif
191 
193 #ifndef PREFIX
194 #define PREFIX PREFIX_DEFAULT
195 #endif
196 
197 #define LIVES_DIR_SEP "/"
198 #define LIVES_COPYRIGHT_YEARS "2002 - 2020"
199 
200 #if defined (IS_DARWIN) || defined (IS_FREEBSD)
201 #ifndef off64_t
202 #define off64_t off_t
203 #endif
204 #ifndef lseek64
205 #define lseek64 lseek
206 #endif
207 #endif
208 
209 #define DEF_FILE_PERMS (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
210 
211 #define ALLOW_NONFREE_CODECS
212 
215 #define WARN_FILE_SIZE 500
216 
218 #define FPS_MAX 200.
219 
220 #define MAX_FRAME_WIDTH 100000.
221 #define MAX_FRAME_HEIGHT 100000.
222 
223 #define ENABLE_DVD_GRAB
224 
225 #ifdef HAVE_MJPEGTOOLS
226 #define HAVE_YUV4MPEG
227 #endif
228 
229 #ifdef ENABLE_ORC
230 #include <orc/orc.h>
231 #endif
232 
233 #ifdef ENABLE_OIL
234 #include <liboil/liboil.h>
235 #endif
236 
237 #ifndef IS_SOLARIS
238 #define LIVES_INLINE static inline
239 #define LIVES_GLOBAL_INLINE inline
240 #else
241 #define LIVES_INLINE static
242 #define LIVES_GLOBAL_INLINE
243 #define LIVES_LOCAL_INLINE
244 #endif
245 
246 #define LIVES_LOCAL_INLINE LIVES_INLINE
247 
248 #include <limits.h>
249 #include <float.h>
250 
251 #ifndef PATH_MAX
252 #ifdef MAX_PATH
253 #define PATH_MAX MAX_PATH
254 #else
255 #define PATH_MAX 4096
256 #endif
257 #endif
258 
259 #define URL_MAX 2048
260 
261 #define strip_ext(fname) lives_strdup((char *)(fname ? strrchr(fname, '.') ? lives_memset(strrchr(fname, '.'), 0, 1) \
262  ? fname : fname : fname : NULL))
263 
264 // math macros / functions
265 
266 #define squared(a) ((a) * (a))
267 
268 #define sig(a) ((a) < 0. ? -1.0 : 1.0)
269 
270 // round to nearest integer
271 #define ROUND_I(a) ((int)((double)(a) + .5))
272 
273 // clamp a between 0 and b; both values rounded to nearest int
274 #define NORMAL_CLAMP(a, b) (ROUND_I((a)) < 0 ? 0 : ROUND_I((a)) > ROUND_I((b)) ? ROUND_I((b)) : ROUND_I((a)))
275 
276 // clamp a between 1 and b; both values rounded to nearest int; if rounded value of a is <= 0, return rounded b
277 #define UTIL_CLAMP(a, b) (NORMAL_CLAMP((a), (b)) <= 0 ? ROUND_I((b)) : ROUND_I((a)))
278 
279 // normal integer clamp
280 #define INT_CLAMP(i, min, max) ((i) < (min) ? (min) : (i) > (max) ? (max) : (i))
281 
282 // round a up double / float a to next multiple of int b
283 #define CEIL(a, b) ((int)(((double)(a) + (double)(b) - .000000001) / ((double)(b))) * (b))
284 
285 // round int a up to next multiple of int b, unless a is already a multiple of b
286 #define ALIGN_CEIL(a, b) (((int)(((a) + (b) - 1.) / (b))) * (b))
287 
288 // round int a up to next multiple of int b, unless a is already a multiple of b
289 #define ALIGN_CEIL64(a, b) ((((int64_t)(a) + (int64_t)(b) - 1) / (int64_t)(b)) * (int64_t)(b))
290 
291 // round float / double a down to nearest multiple of int b
292 #define FLOOR(a, b) ((int)(((double)(a) - .000000001) / ((double)(b))) * (b))
293 
294 // floating point division, maintains the sign of the dividend, regardless of the sign of the divisor
295 #define SIGNED_DIVIDE(a, b) ((a) < 0. ? -fabs((a) / (b)) : fabs((a) / (b)))
296 
297 // using signed ints, the first part will be 1 iff -a < b, the second iff a > b, equivalent to abs(a) > b
298 #define ABS_THRESH(a, b) (((a) + (b)) >> 31) | (((b) - (a)) >> 31)
299 
300 #define myround(n) ((n) >= 0. ? (int)((n) + 0.5) : (int)((n) - 0.5))
301 
302 #ifdef NEED_ENDIAN_TEST
303 #undef NEED_ENDIAN_TEST
304 static const int32_t testint = 0x12345678;
305 #define IS_BIG_ENDIAN (((char *)&testint)[0] == 0x12) // runtime test only !
306 #endif
307 
308 // utils.c math functions
309 float LEFloat_to_BEFloat(float f) GNU_CONST;
310 uint64_t lives_10pow(int pow) GNU_CONST;
311 double lives_fix(double val, int decimals) GNU_CONST;
312 uint32_t get_approx_ln(uint32_t val) GNU_CONST;
313 uint64_t get_approx_ln64(uint64_t x)GNU_CONST;
314 uint64_t get_near2pow(uint64_t val) GNU_CONST;
315 
316 typedef struct {
317  uint16_t red;
318  uint16_t green;
319  uint16_t blue;
321 
322 typedef struct {
323  uint16_t red;
324  uint16_t green;
325  uint16_t blue;
326  uint16_t alpha;
328 
329 #define WEED_ADVANCED_PALETTES
330 
331 #if NEED_LOCAL_WEED
332 #include "../libweed/weed-host.h"
333 #include "../libweed/weed.h"
334 #include "../libweed/weed-events.h"
335 #include "../libweed/weed-palettes.h"
336 #include "../libweed/weed-effects.h"
337 #else
338 #include <weed/weed-host.h>
339 #include <weed/weed.h>
340 #include <weed/weed-events.h>
341 #include <weed/weed-palettes.h>
342 #include <weed/weed-effects.h>
343 #endif
344 
345 #if NEED_LOCAL_WEED_UTILS
346 #include "../libweed/weed-utils.h"
347 #else
348 #include <weed/weed-utils.h>
349 #endif
350 
351 #ifdef USE_SWSCALE
352 // for weed-compat.h
353 #define HAVE_AVCODEC
354 #define HAVE_AVUTIL
355 #endif
356 
357 #define NEED_FOURCC_COMPAT
358 
359 #ifdef NEED_LOCAL_WEED_COMPAT
360 #include "../libweed/weed-compat.h"
361 #else
362 #include <weed/weed-compat.h>
363 #endif
364 
365 weed_leaf_get_f _weed_leaf_get;
366 weed_leaf_set_f _weed_leaf_set;
367 weed_plant_new_f _weed_plant_new;
368 weed_plant_list_leaves_f _weed_plant_list_leaves;
369 weed_leaf_num_elements_f _weed_leaf_num_elements;
370 weed_leaf_element_size_f _weed_leaf_element_size;
371 weed_leaf_seed_type_f _weed_leaf_seed_type;
372 weed_leaf_get_flags_f _weed_leaf_get_flags;
373 weed_plant_free_f _weed_plant_free;
374 weed_leaf_set_flags_f _weed_leaf_set_flags;
375 weed_leaf_delete_f _weed_leaf_delete;
376 
377 #ifndef IGN_RET
378 #define IGN_RET(a) ((void)((a) + 1))
379 #endif
380 
381 #define EXPECTED(x) __builtin_expect((x), 1)
382 #define UNEXPECTED(x) __builtin_expect((x), 0)
383 
384 #include "weed-effects-utils.h"
385 #include "support.h"
386 #include "widget-helper.h"
387 
389 #define INSTALL_CANLOCAL (1ul << 0)
390 
391 typedef enum {
392  MISSING = -1,
395  LOCAL
397 
398 #ifdef NEW_CHECKSTATUS
399 typedef enum {
400  CONFLICTING = -1,
401  MANDATORY,
402  RECOMMENDED,
403  OPTIONAL,
404  NECESSARY
405 } lives_importance_t;
406 
407 typedef struct {
408  lives_presence_t present;
409  lives_importance_t import;
410  uint64_t flags;
412 
413 #define XCAPABLE(foo, EXE_FOO) ((capable->has_##foo->present == UNCHECKED \
414  ? ((capable->has_##foo->present = \
415  (has_executable(EXE_FOO) ? PRESENT : MISSING))) : \
416  capable->has_##foo->present) == PRESENT)
417 #define GET_EXE(foo) QUOTEME(foo)
418 #define PRESENT(foo) (XCAPABLE(foo, GET_EXE(foo)) == PRESENT)
419 #define MISSING(foo) (XCAPABLE(foo, GET_EXE(foo)) == MISSING)
420 //TODO:
421 // #define GET_EXE(mplayer) EXEC_MPLAYER
422 // etc.
423 // then: if (capable->has_mplayer) => if (PRESENT(mplayer)) etc.
424 // and even:
425 
426 //#define IS_SHOW_STOPPER(foo) ((MISSING(foo) && MANDATORY(foo)))
427 
428 #else
430 #endif
431 
432 typedef struct {
433  char wm_name[64];
434  uint64_t ver_major;
435  uint64_t ver_minor;
436  uint64_t ver_micro;
437 
438  LiVESXWindow *root_window;
439  boolean is_composited;
440 
441 #define ANNOY_DISPLAY (1ul << 0)
442 #define ANNOY_DISK (1ul << 1)
443 #define ANNOY_PROC (1ul << 2)
444 #define ANNOY_NETWORK (1ul << 3)
445 #define ANNOY_SOUNDS (1ul << 4)
446 #define ANNOY_DEV (1ul << 5)
447 #define ANNOY_OTHER (1ul << 6)
448 
449 #define ANNOY_FS (1ul << 32)
450 #define ANNOY_CONT (1ul << 33)
451 #define ANNOY_PERIOD (1ul << 34)
452 #define ANNOY_SPONT (1ul << 35)
453 #define ANNOY_TIMED (1ul << 36)
454 #define ANNOY_LOCK (1ul << 37)
455 
456 #define RES_HIDE (1ul << 0)
457 #define RES_SUSPEND (1ul << 1)
458 #define RES_STOP (1ul << 2)
459 #define RES_BLOCK (1ul << 3)
460 #define RES_MUTE (1ul << 4)
461 
462 #define RESTYPE_ACTION (1ul << 16)
463 #define RESTYPE_CONFIG (1ul << 17)
464 #define RESTYPE_SIGNAL (1ul << 18)
465 #define RESTYPE_CMD (1ul << 19)
466 #define RESTYPE_LOCKOUT (1ul << 20)
467 #define RESTYPE_TIMED (1ul << 21)
468 #define RESTYPE_MONITOR (1ul << 22)
469 
470  char panel[64];
471  uint64_t pan_annoy;
472  uint64_t pan_res;
473  char ssave[64];
474  uint64_t ssave_annoy;
475  uint64_t ssave_res;
476  char other[64];
477  uint64_t oth_annoy;
478  uint64_t oth_res;
479 
480  char color_settings[64];
481  char display_settings[64];
482  char ssv_settings[64];
483  char pow_settings[64];
484  char settings[64];
485  char term[64];
486  char taskmgr[64];
487  char sshot[64];
488 } wm_caps_t;
489 
490 
491 typedef struct {
492  // the following can be assumed TRUE / PRESENT, they are checked on startup
495 
498 
501 
503 
504  // the following may need checking before use
529  //lives_checkstatus_t has_xdg_open;
542 
544  char home_dir[PATH_MAX];
545 
546  char backend_path[PATH_MAX];
547 
548  char *xdg_data_home; // e.g $HOME/.local/share
549  char *xdg_session_desktop; // e.g ubuntustudio
550  char *xdg_current_desktop; // e.g XFCE
551  char *xdg_runtime_dir; // e.g /run/user/$uid
552 
553  char touch_cmd[PATH_MAX];
554  char rm_cmd[PATH_MAX];
555  char mv_cmd[PATH_MAX];
556  char cp_cmd[PATH_MAX];
557  char ln_cmd[PATH_MAX];
558  char chmod_cmd[PATH_MAX];
559  char cat_cmd[PATH_MAX];
560  char grep_cmd[PATH_MAX];
561  char sed_cmd[PATH_MAX];
562  char wc_cmd[PATH_MAX];
563  char echo_cmd[PATH_MAX];
564  char eject_cmd[PATH_MAX];
565  char rmdir_cmd[PATH_MAX];
566 
568  char startup_msg[1024];
569 
570  // plugins
572 
574  uint64_t python_version;
575 
576  int ncpus;
578 
579  char *myname_full;
580  char *myname;
581 
582  char *cpu_name;
583  short cpu_bits;
585 
586  int64_t boot_time;
587  int xstdout;
590 
591  pid_t mainpid;
592  pthread_t main_thread;
593  pthread_t gui_thread;
594 
595  char *username;
596 
597  mode_t umask;
598 
602  LiVESList *all_icons;
603 
604  char *wm_type;
605  char *wm_name;
606  boolean has_wm_caps;
608 
609  int64_t ds_used, ds_free, ds_tot;
610  char *mountpoint;
611 
612  char *os_name;
613  char *os_release;
614  char *os_hardware;
615 
616  char *distro_name;
617  char *distro_ver;
619 
620  char *mach_name;
621 
624  char *sysbindir;
625 } capability;
626 
628 
629 #define DEF_ALIGN (sizeof(void *) * 8)
630 
631 #include "machinestate.h"
632 #include "lsd-tab.h"
633 
636 
637 #define ALLOW_PNG24
638 
641 typedef struct {
642  int value;
643  int64_t reltime;
645 
646 typedef struct {
647  int afile;
648  double seek;
649  double vel;
651 
652 #ifdef IS_LIBLIVES
653 #include "liblives.hpp"
654 #include "lbindings.h"
655 #endif
656 
657 #define N_RECENT_FILES 16
658 
659 typedef enum {
675 
678 
681 
684 
687 
690 
692 typedef enum {
697 
699 typedef enum {
702 
705 
708 
711 
714 
717 
720 
723 
726 
729 
732 
735 
738 
741 
744 
747 
750 
753 
757 
758 typedef enum {
760  CANCEL_SOFT
762 
763 typedef enum {
773 
774 typedef enum {
780 
781 #define IMG_TYPE_BEST IMG_TYPE_PNG
782 
783 #define AFORM_SIGNED 0
784 #define AFORM_LITTLE_ENDIAN 0
785 
786 #define AFORM_UNSIGNED 1
787 #define AFORM_BIG_ENDIAN (1<<1)
788 #define AFORM_UNKNOWN 65536
789 
790 typedef enum {
795 
796 #include "colourspace.h"
797 #include "pangotext.h"
798 
799 #define WEED_LEAF_HOST_DEINTERLACE "host_deint" // frame needs deinterlacing
800 #define WEED_LEAF_HOST_TC "host_tc" // timecode for deinterlace
801 #define WEED_LEAF_HOST_DECODER "host_decoder" // pointer to decoder for a layer
802 #define WEED_LEAF_HOST_PTHREAD "host_pthread" // thread for a layer
803 
804 #define CLIP_NAME_MAXLEN 256
805 
806 #define AV_TRACK_MIN_DIFF 0.001
807 
808 #define IS_VALID_CLIP(clip) (clip >= 0 && clip <= MAX_FILES && mainw->files[clip])
809 #define CURRENT_CLIP_IS_VALID IS_VALID_CLIP(mainw->current_file)
810 
811 #define IS_TEMP_CLIP(clip) (IS_VALID_CLIP(clip) && mainw->files[clip]->clip_type == CLIP_TYPE_TEMP)
812 #define CURRENT_CLIP_IS_TEMP IS_TEMP_CLIP(mainw->current_file)
813 
814 #define CLIP_HAS_VIDEO(clip) (IS_VALID_CLIP(clip) ? mainw->files[clip]->frames > 0 : FALSE)
815 #define CURRENT_CLIP_HAS_VIDEO CLIP_HAS_VIDEO(mainw->current_file)
816 
817 #define CLIP_HAS_AUDIO(clip) (IS_VALID_CLIP(clip) ? (mainw->files[clip]->achans > 0 && mainw->files[clip]->asampsize > 0) : FALSE)
818 #define CURRENT_CLIP_HAS_AUDIO CLIP_HAS_AUDIO(mainw->current_file)
819 
820 #define CLIP_VIDEO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->video_time : 0.))
821 
822 #define CLIP_LEFT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? mainw->files[clip]->laudio_time : 0.))
823 
824 #define CLIP_RIGHT_AUDIO_TIME(clip) ((double)(IS_VALID_CLIP(clip) ? (mainw->files[clip]->achans > 1 ? \
825  mainw->files[clip]->raudio_time : 0.) : 0.))
826 
827 #define CLIP_AUDIO_TIME(clip) ((double)(CLIP_LEFT_AUDIO_TIME(clip) >= CLIP_RIGHT_AUDIO_TIME(clip) \
828  ? CLIP_LEFT_AUDIO_TIME(clip) : CLIP_RIGHT_AUDIO_TIME(clip)))
829 
830 #define CLIP_TOTAL_TIME(clip) ((double)(CLIP_VIDEO_TIME(clip) > CLIP_AUDIO_TIME(clip) ? CLIP_VIDEO_TIME(clip) : \
831  CLIP_AUDIO_TIME(clip)))
832 
833 #define IS_NORMAL_CLIP(clip) (IS_VALID_CLIP(clip) \
834  ? (mainw->files[clip]->clip_type == CLIP_TYPE_DISK \
835  || mainw->files[clip]->clip_type == CLIP_TYPE_FILE \
836  || mainw->files[clip]->clip_type == CLIP_TYPE_NULL_VIDEO) : FALSE)
837 
838 #define CURRENT_CLIP_IS_NORMAL IS_NORMAL_CLIP(mainw->current_file)
839 
840 #define LIVES_IS_PLAYING (mainw && mainw->playing_file > -1)
841 
842 #define LIVES_IS_RENDERING (mainw && ((!mainw->multitrack && mainw->is_rendering) \
843  || (mainw->multitrack && mainw->multitrack->is_rendering)) \
844  && !mainw->preview_rendering)
845 
846 #define CURRENT_CLIP_TOTAL_TIME CLIP_TOTAL_TIME(mainw->current_file)
847 
848 #define CURRENT_CLIP_IS_CLIPBOARD (mainw->current_file == 0)
849 
851 typedef enum {
862 
863 #define LIVES_DIRECTION_FWD_OR_REV(dir) ((dir) == LIVES_DIRECTION_BACKWARD ? LIVES_DIRECTION_REVERSE : (dir))
864 #define LIVES_DIRECTION_SIG(dir) ((lives_direction_t)sig(dir))
865 #define LIVES_DIRECTION_PAR(dir) ((lives_direction_t)((dir) & 1))
866 #define LIVES_DIRECTION_OPPOSITE(dir1, dir2) (((dir1) == LIVES_DIR_BACKWARD || (dir1) == LIVES_DIR_REVERSED) \
867  ? (dir2) == LIVES_DIR_FORWARD : \
868  ((dir2) == LIVES_DIR_BACKWARD || (dir2) == LIVES_DIR_REVERSED) \
869  ? (dir1) == LIVES_DIR_FORWARD : sig(dir1) != sig(dir2))
870 typedef union _binval {
871  uint64_t num;
872  const char chars[8];
873  size_t size;
874 } binval;
875 
877 typedef struct _lives_clip_t {
878  binval binfmt_check, binfmt_version, binfmt_bytes;
879 
880  uint64_t unique_id;
881  char handle[256];
882 
883  char md5sum[64];
884  char type[64];
885 
888 
889  // basic info (saved during backup)
892 
893  double fps;
894  boolean ratio_fps;
895 
896  int hsize;
897  int vsize;
898 
900 
901  int bpp;
902 
904 
905  int arps;
906  int arate;
907  int achans;
908  int asampsize;
909  uint32_t signed_endian;
910  float vol;
911 
912  size_t afilesize;
913  size_t f_size;
914 
915  boolean changed;
916  boolean was_in_set;
917 
919  char title[1024], author[1024], comment[1024], keywords[1024];
921 
922  char name[CLIP_NAME_MAXLEN];
923  char file_name[PATH_MAX];
924  char save_file_name[PATH_MAX];
925 
926  boolean is_untitled, orig_file_name, was_renamed;
927 
928  // various times; total time is calculated as the longest of video, laudio and raudio
929  double video_time, laudio_time, raudio_time;
930 
931  double pointer_time;
933 
935 
936  char mime_type[256];
937 
938  boolean deinterlace;
939 
941 #define LIVES_CLIP_HEADER_VERSION 102
942 
943  // extended info (not saved)
944 
945  //opening/restoring status
946  boolean opening, opening_audio, opening_only_audio, opening_loc;
948  boolean restoring;
949  boolean is_loaded;
950 
951  frames_t progress_start, progress_end;
952 
955 
956  frames_t undo_start, undo_end;
957  frames_t insert_start, insert_end;
958 
959  char undo_text[32], redo_text[32];
960 
961  boolean undoable, redoable;
962 
963  // used for storing undo values
964  int undo1_int, undo2_int, undo3_int, undo4_int;
965  uint32_t undo1_uint;
966  double undo1_dbl, undo2_dbl;
967  boolean undo1_boolean, undo2_boolean, undo3_boolean;
968 
974 
975  int ohsize, ovsize;
976 
978 
979  // used only for insert_silence, holds pre-padding length for undo
980  double old_laudio_time, old_raudio_time;
981 
983  // binfmt fields may be added here:
985 
986 
989 
991  char binfmt_rsvd[4096];
992  uint64_t binfmt_end;
993 
996  // fields after here can be removed or changed or added to
997 
998  boolean has_binfmt;
999 
1006 
1007  double pb_fps;
1008 
1009  char info_file[PATH_MAX];
1010 
1011  LiVESWidget *menuentry;
1013  double freeze_fps;
1014  boolean play_paused;
1015 
1017 
1019  boolean nopreview;
1020 
1022  boolean nokeep;
1023 
1024  // current and last played index frames for internal player
1026 
1028  // see resample.c for new events system
1029 
1030  // events
1032 
1033  weed_plant_t *event_list;
1034  weed_plant_t *event_list_back;
1035  weed_plant_t *next_event;
1036 
1037  LiVESList *layout_map;
1039 
1040  void *ext_src;
1041 
1042 #define LIVES_EXT_SRC_UNKNOWN -1
1043 #define LIVES_EXT_SRC_NONE 0
1044 #define LIVES_EXT_SRC_DECODER 1
1045 #define LIVES_EXT_SRC_FILTER 2
1046 #define LIVES_EXT_SRC_FIFO 3
1047 #define LIVES_EXT_SRC_STREAM 4
1048 #define LIVES_EXT_SRC_DEVICE 5
1049 #define LIVES_EXT_SRC_FILE_BUFF 6
1050 
1052 
1054  void **alt_srcs;
1056 
1057  uint64_t *cache_objects;
1058 
1061 
1062 #define IMG_BUFF_SIZE 262144
1063 
1064  volatile off64_t aseek_pos;
1065 
1066  // decoder data
1067 
1069 
1075 
1077 
1081 
1083 
1084  lives_painter_surface_t *laudio_drawable, *raudio_drawable;
1085 
1086  int cb_src;
1087 
1088  boolean needs_update;
1090 
1091  boolean checked_for_old_header, has_old_header;
1092 
1093  float **audio_waveform;
1094  size_t *aw_sizes;
1095 
1097 
1100  LiVESList *tcache;
1101  boolean checked;
1102 } lives_clip_t;
1103 
1104 typedef struct {
1107  LiVESPixbuf *pixbuf;
1109 
1111 
1112 #define USE_MPV (!capable->has_mplayer && !capable->has_mplayer2 && capable->has_mpv)
1113 #define HAS_EXTERNAL_PLAYER (capable->has_mplayer || capable->has_mplayer2 || capable->has_mpv)
1114 
1115 #ifdef ENABLE_JACK
1116 #include "jack.h"
1117 #endif
1118 
1119 #define USE_16BIT_PCONV
1120 
1121 // common defs for mainwindow (retain this order)
1122 #include "plugins.h"
1123 #include "paramspecial.h"
1124 #include "multitrack.h"
1125 #include "events.h"
1126 #include "mainwindow.h"
1127 #include "keyboard.h"
1128 #include "preferences.h"
1129 
1131 
1132 #define BACKEND_NAME EXEC_SMOGRIFY
1133 
1134 // internal player clock
1135 #include <sys/time.h>
1136 struct timeval tv;
1137 
1139 extern ssize_t sizint, sizdbl, sizshrt;
1140 
1141 typedef enum {
1166  CLIP_DETAILS_MD5SUM, // for future use
1167  CLIP_DETAILS_CACHE_OBJECTS, // for future use
1200 
1201 // some useful functions
1202 
1203 // callbacks.c
1204 boolean all_config(LiVESWidget *, LiVESXEventConfigure *, livespointer ppsurf);
1205 boolean all_expose(LiVESWidget *, lives_painter_t *, livespointer psurf);
1206 
1207 // dialogs.c
1208 boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text);
1209 
1210 boolean do_warning_dialog(const char *text);
1211 boolean do_warning_dialogf(const char *fmt, ...);
1212 boolean do_warning_dialog_with_check(const char *text, uint64_t warn_mask_number);
1213 
1214 boolean do_yesno_dialog(const char *text);
1215 boolean do_yesno_dialogf(const char *fmt, ...);
1216 boolean do_yesno_dialog_with_check(const char *text, uint64_t warn_mask_number);
1217 
1218 void do_abort_dialog(const char *text);
1219 LiVESResponseType do_abort_ok_dialog(const char *text);
1220 LiVESResponseType do_abort_retry_dialog(const char *text);
1221 LiVESResponseType do_abort_cancel_retry_dialog(const char *text) WARN_UNUSED;
1222 
1223 LiVESResponseType do_retry_cancel_dialog(const char *text);
1224 
1225 LiVESResponseType do_error_dialog(const char *text);
1226 LiVESResponseType do_error_dialogf(const char *fmt, ...);
1227 LiVESResponseType do_error_dialog_with_check(const char *text, uint64_t warn_mask_number);
1228 
1229 LiVESResponseType do_info_dialog(const char *text);
1230 LiVESResponseType do_info_dialogf(const char *fmt, ...);
1231 LiVESResponseType do_info_dialog_with_expander(const char *text, const char *exp_text, LiVESList *);
1232 
1233 LiVESWidget *create_message_dialog(lives_dialog_t diat, const char *text, int warn_mask_number);
1234 LiVESWidget *create_question_dialog(const char *title, const char *text);
1235 
1236 LiVESWindow *get_transient_full();
1237 
1238 void do_abortblank_error(const char *what);
1239 void do_optarg_blank_err(const char *what);
1240 void do_clip_divergence_error(int fileno);
1241 LiVESResponseType do_system_failed_error(const char *com, int retval, const char *addinfo, boolean can_retry,
1242  boolean try_sudo);
1243 LiVESResponseType do_write_failed_error_s_with_retry(const char *fname, const char *errtext) WARN_UNUSED;
1244 void do_write_failed_error_s(const char *filename, const char *addinfo);
1245 LiVESResponseType do_read_failed_error_s_with_retry(const char *fname, const char *errtext) WARN_UNUSED;
1246 void do_read_failed_error_s(const char *filename, const char *addinfo);
1247 boolean do_header_write_error(int clip);
1248 LiVESResponseType do_header_read_error_with_retry(int clip) WARN_UNUSED;
1249 LiVESResponseType do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED;
1250 void do_chdir_failed_error(const char *dir);
1251 LiVESResponseType handle_backend_errors(boolean can_retry);
1252 boolean check_backend_return(lives_clip_t *sfile);
1253 const char *get_cache_stats(void);
1254 
1256 char *ds_critical_msg(const char *dir, char **mountpoint, uint64_t dsval);
1257 char *ds_warning_msg(const char *dir, char **mountpoint, uint64_t dsval, uint64_t cwarn, uint64_t nwarn);
1258 boolean check_storage_space(int clipno, boolean is_processing);
1259 
1260 char *get_upd_msg(void);
1261 
1262 boolean ask_permission_dialog(int what);
1263 boolean ask_permission_dialog_complex(int what, char **argv, int argc, int offs, const char *sudocom);
1264 boolean do_abort_check(void);
1265 void add_warn_check(LiVESBox *box, int warn_mask_number);
1266 LiVESResponseType do_memory_error_dialog(char *op, size_t bytes);
1267 void too_many_files(void);
1268 void workdir_warning(void);
1269 void do_audio_import_error(void);
1270 void do_mt_backup_space_error(lives_mt *, int memreq_mb);
1271 
1272 LiVESResponseType do_resize_dlg(int cwidth, int cheight, int fwidth, int fheight);
1273 LiVESResponseType do_imgfmts_error(lives_img_type_t imgtype);
1274 
1275 char *workdir_ch_warning(void);
1276 void do_shutdown_msg(void);
1277 
1278 boolean do_close_changed_warn(void);
1279 boolean do_save_clipset_warn(void);
1280 boolean do_clipboard_fps_warning(void);
1281 void perf_mem_warning(void);
1282 void do_dvgrab_error(void);
1283 boolean do_comments_dialog(int fileno, char *filename);
1284 boolean do_auto_dialog(const char *text, int type);
1285 void do_encoder_acodec_error(void);
1286 void do_encoder_sox_error(void);
1287 boolean rdet_suggest_values(int width, int height, double fps, int fps_num, int fps_denom, int arate,
1288  int asigned, boolean swap_endian, boolean anr, boolean ignore_fps);
1289 boolean do_encoder_restrict_dialog(int width, int height, double fps, int fps_num, int fps_denom,
1290  int arate, int asigned, boolean swap_endian, boolean anr, boolean save_all);
1291 void do_messages_window(boolean is_startup);
1293 void do_upgrade_error_dialog(void);
1294 void do_no_mplayer_sox_error(void);
1295 void do_need_mplayer_dialog(void);
1296 void do_need_mplayer_mpv_dialog(void);
1297 void do_aud_during_play_error(void);
1298 void do_rendered_fx_dialog(void);
1299 void do_layout_scrap_file_error(void);
1300 void do_layout_ascrap_file_error(void);
1301 void do_program_not_found_error(const char *progname);
1302 void do_lb_composite_error(void);
1303 void do_lb_convert_error(void);
1305 boolean do_set_duplicate_warning(const char *new_set);
1306 boolean do_set_rename_old_layouts_warning(const char *new_set);
1307 boolean do_layout_alter_frames_warning(void);
1308 boolean do_layout_alter_audio_warning(void);
1309 boolean do_reload_set_query(void);
1310 boolean findex_bk_dialog(const char *fname_back);
1311 boolean paste_enough_dlg(int lframe);
1312 boolean do_yuv4m_open_warning(void);
1313 void do_mt_undo_mem_error(void);
1314 void do_mt_undo_buf_error(void);
1315 void do_mt_set_mem_error(boolean has_mt);
1316 void do_mt_audchan_error(int warn_mask);
1317 void do_mt_no_audchan_error(void);
1318 void do_mt_no_jack_error(int warn_mask);
1319 boolean do_mt_rect_prompt(void);
1320 void do_audrate_error_dialog(void);
1321 boolean do_event_list_warning(void);
1322 void do_nojack_rec_error(void);
1323 void do_vpp_palette_error(void);
1324 void do_vpp_fps_error(void);
1325 void do_decoder_palette_error(void);
1326 void do_rmem_max_error(int size);
1327 boolean do_gamma_import_warn(uint64_t fv, int gamma_type);
1328 boolean do_mt_lb_warn(boolean lb);
1329 LiVESResponseType do_file_notfound_dialog(const char *detail, const char *dirname);
1330 LiVESResponseType do_dir_notfound_dialog(const char *detail, const char *dirname);
1331 void do_no_decoder_error(const char *fname);
1332 void do_no_loadfile_error(const char *fname);
1337 LiVESResponseType do_file_perm_error(const char *file_name, boolean allow_cancel);
1338 LiVESResponseType do_dir_perm_error(const char *dir_name, boolean allow_cancel);
1339 void do_dir_perm_access_error(const char *dir_name);
1341 void do_after_crash_warning(void);
1342 void do_after_invalid_warning(void);
1343 void do_bad_layout_error(void);
1344 void do_card_in_use_error(void);
1345 void do_dev_busy_error(const char *devstr);
1346 boolean do_existing_subs_warning(void);
1347 void do_invalid_subs_error(void);
1348 boolean do_erase_subs_warning(void);
1349 boolean do_sub_type_warning(const char *ext, const char *type_ext);
1350 boolean do_move_workdir_dialog(void);
1351 boolean do_set_locked_warning(const char *setname);
1352 void do_no_in_vdevs_error(void);
1353 void do_locked_in_vdevs_error(void);
1354 void do_do_not_close_d(void);
1355 void do_set_noclips_error(const char *setname);
1356 boolean do_foundclips_query(void);
1357 void do_no_autolives_error(void);
1359 void do_pulse_lost_conn_error(void);
1360 void do_jack_lost_conn_error(void);
1361 void do_cd_error_dialog(void);
1362 void do_bad_theme_error(const char *themefile);
1363 void do_bad_theme_import_error(const char *theme_file);
1364 boolean do_theme_exists_warn(const char *themename);
1365 boolean do_layout_recover_dialog(void);
1366 void do_no_sets_dialog(const char *dir);
1367 void add_resnn_label(LiVESDialog *dialog);
1368 
1369 int process_one(boolean visible);
1370 void update_progress(boolean visible);
1371 void do_threaded_dialog(const char *translated_text, boolean has_cancel);
1372 void end_threaded_dialog(void);
1373 void threaded_dialog_spin(double fraction);
1374 void threaded_dialog_push(void);
1375 void threaded_dialog_pop(void);
1376 
1377 void response_ok(LiVESButton *button, livespointer user_data);
1378 void pump_io_chan(LiVESIOChannel *iochan);
1379 
1381 
1382 // message collection
1383 void d_print(const char *fmt, ...);
1384 char *dump_messages(int start, int end); // utils.c
1385 weed_plant_t *get_nth_info_message(int n); // utils.c
1386 int add_messages_to_list(const char *text);
1387 int free_n_msgs(int frval);
1388 
1389 // d_print shortcuts
1390 void d_print_cancelled(void);
1391 void d_print_failed(void);
1392 void d_print_done(void);
1393 void d_print_enough(int frames);
1394 void d_print_file_error_failed(void);
1395 
1396 boolean d_print_urgency(double timeout_seconds, const char *fmt, ...);
1397 boolean d_print_overlay(double timeout_seconds, const char *fmt, ...);
1398 
1399 // general
1400 void do_text_window(const char *title, const char *text);
1401 
1402 // saveplay.c
1403 boolean read_file_details(const char *file_name, boolean only_check_for_audio, boolean open_image);
1404 boolean add_file_info(const char *check_handle, boolean aud_only);
1405 boolean save_file_comments(int fileno);
1406 void set_default_comment(lives_clip_t *sfile, const char *extrat);
1407 boolean restore_clip_binfmt(int clipno);
1408 lives_clip_t *clip_forensic(int clipno);
1409 boolean reload_clip(int fileno, int maxframe);
1410 void wait_for_bg_audio_sync(int fileno);
1411 ulong deduce_file(const char *filename, double start_time, int end);
1412 ulong open_file(const char *filename);
1413 ulong open_file_sel(const char *file_name, double start_time, int frames);
1414 void pad_init_silence(void);
1415 void open_fw_device(void);
1416 char *get_untitled_name(int number);
1417 boolean get_new_handle(int index, const char *name);
1418 boolean get_temp_handle(int index);
1419 int close_temp_handle(int new_clip);
1420 boolean get_handle_from_info_file(int index);
1421 lives_clip_t *create_cfile(int new_file, const char *handle, boolean is_loaded);
1422 int create_nullvideo_clip(const char *handle);
1423 void save_file(int clip, int start, int end, const char *filename);
1424 void play_file(void);
1425 void start_playback_async(int type);
1426 boolean start_playback(int type);
1427 void play_start_timer(int type);
1428 void save_frame(LiVESMenuItem *menuitem, livespointer user_data);
1429 boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc);
1430 void wait_for_stop(const char *stop_command);
1431 boolean save_clip_values(int which_file);
1432 void add_to_recovery_file(const char *handle);
1433 boolean rewrite_recovery_file(void);
1434 boolean check_for_recovery_files(boolean auto_recover);
1435 boolean recover_files(char *recovery_file, boolean auto_recover);
1436 void recover_layout_map(int numclips);
1437 const char *get_deinterlace_string(void);
1438 void reload_subs(int fileno);
1439 
1440 // saveplay.c backup
1441 void backup_file(int clip, int start, int end, const char *filename);
1442 int save_event_frames(void);
1443 boolean write_headers(lives_clip_t *file);
1444 
1445 // saveplay.c restore
1446 ulong restore_file(const char *filename);
1447 boolean read_headers(int clipno, const char *dir, const char *file_name);
1448 
1449 // saveplay.c sets
1450 void open_set_file(int clipnum);
1451 
1452 // saveplay.c scrap file
1453 boolean open_scrap_file(void);
1454 boolean open_ascrap_file(void);
1455 int save_to_scrap_file(weed_layer_t *layer);
1456 boolean load_from_scrap_file(weed_layer_t *layer, int frame);
1457 void close_ascrap_file(boolean remove);
1458 void close_scrap_file(boolean remove);
1459 void add_to_ascrap_mb(uint64_t bytes);
1460 
1461 boolean check_for_disk_space(boolean fullcheck);
1462 
1463 // main.c
1464 typedef void (*SignalHandlerPointer)(int);
1465 
1467 void catch_sigint(int signum);
1468 void defer_sigint(int signum);
1469 void startup_message_fatal(char *msg) GNU_NORETURN;
1470 boolean startup_message_choice(const char *msg, int msgtype);
1471 boolean startup_message_nonfatal(const char *msg);
1472 boolean startup_message_info(const char *msg);
1473 boolean startup_message_nonfatal_dismissable(const char *msg, uint64_t warning_mask);
1475 void get_monitors(boolean reset);
1476 void replace_with_delegates(void);
1477 void set_drawing_area_from_pixbuf(LiVESWidget *darea, LiVESPixbuf *pixbuf, lives_painter_surface_t *);
1478 void load_start_image(int frame);
1479 void load_end_image(int frame);
1480 void showclipimgs(void);
1481 void load_preview_image(boolean update_always);
1482 boolean resize_message_area(livespointer data);
1483 boolean lazy_startup_checks(void *data);
1484 
1485 #define is_layer_ready(layer) (weed_get_boolean_value((layer), WEED_LEAF_THREAD_PROCESSING, NULL) == WEED_FALSE \
1486  && weed_get_voidptr_value(layer, WEED_LEAF_RESIZE_THREAD, NULL) == NULL)
1487 
1488 boolean pull_frame(weed_layer_t *layer, const char *image_ext, ticks_t tc);
1489 void pull_frame_threaded(weed_layer_t *layer, const char *img_ext, ticks_t tc, int width, int height);
1490 boolean check_layer_ready(weed_layer_t *layer);
1491 boolean pull_frame_at_size(weed_layer_t *layer, const char *image_ext, ticks_t tc,
1492  int width, int height, int target_palette);
1493 LiVESPixbuf *pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, ticks_t tc,
1494  int width, int height, LiVESInterpType interp, boolean fordisp);
1495 LiVESPixbuf *pull_lives_pixbuf(int clip, int frame, const char *image_ext, ticks_t tc);
1496 
1497 boolean weed_layer_create_from_file_progressive(weed_layer_t *layer, const char *fname, int width,
1498  int height, int tpalette, const char *img_ext);
1499 
1500 boolean lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_img_type_t imgtype, int quality,
1501  int width, int height, LiVESError **gerrorptr);
1502 
1503 typedef struct {
1504  LiVESPixbuf *pixbuf;
1505  LiVESError *error;
1506  char *fname;
1509  int width, height;
1511 
1512 void *lives_pixbuf_save_threaded(void *saveargs);
1513 
1514 void init_track_decoders(void);
1515 void free_track_decoders(void);
1516 
1517 #ifdef USE_LIBPNG
1518 boolean layer_from_png(int fd, weed_layer_t *layer, int width, int height, int tpalette, boolean prog);
1519 //boolean save_to_png(FILE *fp, weed_layer_t *layer, int comp);
1520 #endif
1521 
1522 void wait_for_cleaner(void);
1523 void load_frame_image(int frame);
1524 void sensitize(void);
1525 void sensitize_rfx(void);
1526 void desensitize(void);
1527 void procw_desensitize(void);
1528 void close_current_file(int file_to_switch_to);
1529 void switch_to_file(int old_file, int new_file);
1530 void do_quick_switch(int new_file);
1531 boolean switch_audio_clip(int new_file, boolean activate);
1532 void resize(double scale);
1533 boolean set_palette_colours(boolean force_reload);
1534 void set_main_title(const char *filename, int or_untitled_number);
1535 void set_record(void);
1536 void get_player_size(int *opwidth, int *opheight);
1537 
1538 //gui.c
1539 void create_LiVES(void);
1540 void show_lives(void);
1541 void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2,
1542  LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt);
1543 void set_preview_box_colours(void);
1544 void load_theme_images(void);
1545 void set_interactive(boolean interactive);
1546 char *get_menu_name(lives_clip_t *sfile, boolean add_set);
1547 int get_vspace(void);
1548 void enable_record(void);
1549 void toggle_record(void);
1550 void disable_record(void);
1551 void make_custom_submenus(void);
1552 void fade_background(void);
1553 void unfade_background(void);
1554 void fullscreen_internal(void);
1555 void block_expose(void);
1556 void unblock_expose(void);
1557 void frame_size_update(void);
1558 void splash_init(void);
1559 void splash_end(void);
1560 void splash_msg(const char *msg, double pct);
1562 void reset_message_area(void);
1563 void get_letterbox_sizes(int *pwidth, int *pheight, int *lb_width, int *lb_height, boolean player_can_upscale);
1564 
1565 #if GTK_CHECK_VERSION(3, 0, 0)
1566 void calibrate_sepwin_size(void);
1567 boolean expose_pim(LiVESWidget *, lives_painter_t *, livespointer);
1568 boolean expose_sim(LiVESWidget *, lives_painter_t *, livespointer);
1569 boolean expose_eim(LiVESWidget *, lives_painter_t *, livespointer);
1570 #endif
1571 
1572 // system calls in utils.c
1573 int lives_system(const char *com, boolean allow_error);
1574 ssize_t lives_popen(const char *com, boolean allow_error, char *buff, ssize_t buflen);
1575 lives_pid_t lives_fork(const char *com);
1576 int lives_open3(const char *pathname, int flags, mode_t mode);
1577 int lives_open2(const char *pathname, int flags);
1578 ssize_t lives_write(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail);
1579 ssize_t lives_write_le(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail);
1580 ssize_t lives_read(int fd, void *buf, ssize_t count, boolean allow_less);
1581 ssize_t lives_read_le(int fd, void *buf, ssize_t count, boolean allow_less);
1582 
1583 // buffered io
1584 
1586 #define BUFFER_FILL_BYTES_SMALL 64
1587 #define BUFFER_FILL_BYTES_SMALLMED 1024
1588 #define BUFFER_FILL_BYTES_MED 4096
1589 #define BUFFER_FILL_BYTES_BIGMED 16386
1590 #define BUFFER_FILL_BYTES_LARGE 65536
1591 
1592 #define BUFF_SIZE_READ_SMALL 0
1593 #define BUFF_SIZE_READ_SMALLMED 1
1594 #define BUFF_SIZE_READ_MED 2
1595 #define BUFF_SIZE_READ_LARGE 3
1596 #define BUFF_SIZE_READ_CUSTOM -1
1597 
1598 #define BUFF_SIZE_WRITE_SMALL 0
1599 #define BUFF_SIZE_WRITE_SMALLMED 1
1600 #define BUFF_SIZE_WRITE_MED 2
1601 #define BUFF_SIZE_WRITE_BIGMED 3
1602 #define BUFF_SIZE_WRITE_LARGE 4
1603 
1604 typedef struct {
1605  ssize_t bytes;
1606  uint8_t *ptr;
1607  uint8_t *buffer;
1608  off_t offset; // file offs (of END of block)
1609  int fd;
1611  boolean eof;
1612  boolean read;
1613  boolean reversed;
1614  boolean slurping;
1616  int totops;
1617  int64_t totbytes;
1618  boolean allow_fail;
1619  volatile boolean invalid;
1620  size_t orig_size;
1621  char *pathname;
1623 
1626 
1627 size_t get_read_buff_size(int sztype);
1628 
1629 int lives_open_buffered_rdonly(const char *pathname);
1630 int lives_open_buffered_writer(const char *pathname, int mode, boolean append);
1631 int lives_create_buffered(const char *pathname, int mode);
1632 int lives_create_buffered_nosync(const char *pathname, int mode);
1633 int lives_close_buffered(int fd);
1634 off_t lives_lseek_buffered_writer(int fd, off_t offset);
1635 off_t lives_lseek_buffered_rdonly(int fd, off_t offset);
1636 off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset);
1637 off_t lives_buffered_offset(int fd);
1638 size_t lives_buffered_orig_size(int fd);
1639 boolean lives_buffered_rdonly_set_reversed(int fd, boolean val);
1640 ssize_t lives_write_buffered(int fd, const char *buf, ssize_t count, boolean allow_fail);
1641 ssize_t lives_buffered_write_printf(int fd, boolean allow_fail, const char *fmt, ...);
1642 ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail);
1643 ssize_t lives_read_buffered(int fd, void *buf, ssize_t count, boolean allow_less);
1644 ssize_t lives_read_le_buffered(int fd, void *buf, ssize_t count, boolean allow_less);
1645 boolean lives_read_buffered_eof(int fd);
1647 void lives_buffered_rdonly_slurp(int fd, off_t skip);
1648 
1649 int lives_chdir(const char *path, boolean no_error_dlg);
1650 int lives_fputs(const char *s, FILE *stream);
1651 char *lives_fgets(char *s, int size, FILE *stream);
1652 size_t lives_fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
1653 size_t lives_fread_string(char *buff, size_t stlen, const char *fname);
1654 pid_t lives_getpid(void);
1655 int lives_getgid(void);
1656 int lives_getuid(void);
1657 boolean lives_freep(void **ptr);
1658 void lives_kill_subprocesses(const char *dirname, boolean kill_parent);
1659 void lives_suspend_resume_process(const char *dirname, boolean suspend);
1660 int lives_kill(lives_pid_t pid, int sig);
1661 int lives_killpg(lives_pgid_t pgrp, int sig);
1662 ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz);
1663 boolean lives_setenv(const char *name, const char *value);
1664 boolean lives_unsetenv(const char *name);
1665 boolean lives_fsync(int fd);
1666 void lives_sync(int times);
1667 int lives_rmdir(const char *dir, boolean force);
1668 int lives_rmdir_with_parents(const char *dir);
1669 int lives_rm(const char *file);
1670 int lives_rmglob(const char *files);
1671 int lives_cp(const char *from, const char *to);
1672 int lives_cp_recursive(const char *from, const char *to, boolean incl_dir);
1673 int lives_cp_keep_perms(const char *from, const char *to);
1674 int lives_mv(const char *from, const char *to);
1675 int lives_touch(const char *tfile);
1676 int lives_chmod(const char *target, const char *mode);
1677 int lives_cat(const char *from, const char *to, boolean append);
1678 int lives_echo(const char *text, const char *to, boolean append);
1679 int lives_ln(const char *from, const char *to);
1680 
1681 int lives_utf8_strcasecmp(const char *s1, const char *s2);
1682 int lives_utf8_strcmp(const char *s1, const char *s2);
1683 LiVESList *lives_list_sort_alpha(LiVESList *list, boolean fwd);
1684 
1685 boolean lives_string_ends_with(const char *string, const char *fmt, ...);
1686 
1687 char *filename_from_fd(char *val, int fd);
1688 
1689 void reset_playback_clock(void);
1691 
1694 boolean lives_alarm_clear(lives_alarm_t alarm_handle);
1695 
1696 void get_dirname(char *filename);
1697 char *get_dir(const char *filename);
1698 void get_basename(char *filename);
1699 void get_filename(char *filename, boolean strip_dir);
1700 char *get_extension(const char *filename);
1701 
1702 uint64_t get_version_hash(const char *exe, const char *sep, int piece);
1703 uint64_t make_version_hash(const char *ver);
1704 char *unhash_version(uint64_t version);
1705 
1706 void init_clipboard(void);
1707 
1708 void print_cache(LiVESList *cache);
1709 
1710 LiVESList *cache_file_contents(const char *filename);
1711 char *get_val_from_cached_list(const char *key, size_t maxlen, LiVESList *cache);
1712 void cached_list_free(LiVESList **list);
1713 
1714 void get_location(const char *exe, char *val, int maxlen);
1715 boolean check_for_executable(lives_checkstatus_t *cap, const char *exec);
1716 boolean do_please_install(const char *exec, uint64_t guidance_flags);
1717 boolean do_please_install_either(const char *exec, const char *exec2);
1718 
1720 char *make_image_file_name(lives_clip_t *clip, frames_t frame, const char *img_ext);
1721 const char *get_image_ext_for_type(lives_img_type_t imgtype);
1722 lives_img_type_t lives_image_ext_to_img_type(const char *img_ext);
1723 lives_img_type_t lives_image_type_to_img_type(const char *lives_image_type);
1724 const char *image_ext_to_lives_image_type(const char *img_ext);
1725 
1726 void reset_clipmenu(void);
1727 
1729  *file);
1730 void get_play_times(void);
1731 void update_play_times(void);
1732 
1733 uint32_t get_signed_endian(boolean is_signed, boolean little_endian);
1734 
1735 void switch_aud_to_none(boolean set_pref);
1736 boolean switch_aud_to_sox(boolean set_pref);
1737 boolean switch_aud_to_jack(boolean set_pref);
1738 boolean switch_aud_to_pulse(boolean set_pref);
1739 
1740 boolean prepare_to_play_foreign(void);
1741 boolean after_foreign_play(void);
1742 boolean check_file(const char *file_name, boolean check_exists);
1743 boolean check_dir_access(const char *dir, boolean leaveit);
1744 boolean lives_make_writeable_dir(const char *newdir);
1745 boolean is_writeable_dir(const char *dir);
1746 boolean ensure_isdir(char *fname);
1747 boolean dirs_equal(const char *dira, const char *dirb);
1748 char *ensure_extension(const char *fname, const char *ext) WARN_UNUSED;
1749 char *lives_ellipsize(char *, size_t maxlen, LiVESEllipsizeMode mode);
1750 char *lives_pad(char *, size_t minlen, int align);
1751 char *lives_pad_ellipsize(char *, size_t fixlen, int padlen, LiVESEllipsizeMode mode);
1752 void activate_url_inner(const char *link);
1753 void activate_url(LiVESAboutDialog *about, const char *link, livespointer data);
1754 void show_manual_section(const char *lang, const char *section);
1756 boolean render_choice_idle(livespointer data);
1757 
1758 double calc_time_from_frame(int clip, int frame);
1759 int calc_frame_from_time(int filenum, double time);
1760 int calc_frame_from_time2(int filenum, double time);
1761 int calc_frame_from_time3(int filenum, double time);
1762 int calc_frame_from_time4(int filenum, double time);
1763 
1764 boolean check_for_ratio_fps(double fps);
1765 double get_ratio_fps(const char *string);
1766 void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight);
1767 void calc_midspect(int rwidth, int rheight, int *cwidth, int *cheight);
1768 void calc_minspect(int rwidth, int rheight, int *cwidth, int *cheight);
1769 
1770 char *remove_trailing_zeroes(double val);
1771 
1772 void remove_layout_files(LiVESList *lmap);
1773 boolean add_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data,
1774  int clipno, int frameno, double atime, boolean affects_current);
1775 void buffer_lmap_error(lives_lmap_error_t lerror, const char *name, livespointer user_data, int clipno,
1776  int frameno, double atime, boolean affects_current);
1777 void unbuffer_lmap_errors(boolean add);
1778 
1779 void clear_lmap_errors(void);
1780 boolean prompt_remove_layout_files(void);
1781 boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject);
1782 boolean is_legal_set_name(const char *set_name, boolean allow_dupes, boolean leeway);
1783 char *repl_workdir(const char *entry, boolean fwd);
1784 char *clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp);
1785 boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen);
1786 boolean save_clip_value(int which, lives_clip_details_t, void *val);
1787 boolean check_frame_count(int idx, boolean last_chkd);
1788 int get_frame_count(int idx, int xsize);
1789 boolean get_frames_sizes(int fileno, int frame_to_test, int *hsize, int *vsize);
1790 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
1791 boolean int_array_contains_value(int *array, int num_elems, int value);
1792 boolean check_for_lock_file(const char *set_name, int type);
1793 void lives_list_free_strings(LiVESList *);
1794 void lives_list_free_all(LiVESList **);
1795 void lives_slist_free_all(LiVESSList **);
1796 
1797 boolean create_event_space(int length_in_eventsb);
1798 void add_to_recent(const char *filename, double start, int frames, const char *file_open_params);
1799 int verhash(char *version);
1800 void set_undoable(const char *what, boolean sensitive);
1801 void set_redoable(const char *what, boolean sensitive);
1802 void zero_spinbuttons(void);
1803 void set_sel_label(LiVESWidget *label);
1804 void clear_mainw_msg(void);
1805 size_t get_token_count(const char *string, int delim);
1806 LiVESPixbuf *lives_pixbuf_new_blank(int width, int height, int palette);
1807 void find_when_to_stop(void);
1808 frames_t calc_new_playback_position(int fileno, ticks_t otc, ticks_t *ntc);
1809 void calc_aframeno(int fileno);
1810 void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height);
1811 LiVESInterpType get_interp_value(short quality, boolean low_for_mt);
1812 
1813 LiVESList *lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED;
1814 LiVESList *lives_list_delete_string(LiVESList *, const char *string) WARN_UNUSED;
1815 LiVESList *lives_list_copy_strings(LiVESList *list);
1816 boolean string_lists_differ(LiVESList *, LiVESList *);
1817 LiVESList *lives_list_append_unique(LiVESList *xlist, const char *add);
1818 LiVESList *buff_to_list(const char *buffer, const char *delim, boolean allow_blanks, boolean strip);
1819 int lives_list_strcmp_index(LiVESList *list, livesconstpointer data, boolean case_sensitive);
1820 
1821 LiVESList *get_set_list(const char *dir, boolean utf8);
1822 
1823 char *subst(const char *string, const char *from, const char *to);
1824 char *insert_newlines(const char *text, int maxwidth);
1825 
1826 int hextodec(const char *string);
1827 
1828 boolean get_screen_usable_size(int *w, int *h);
1829 
1830 #include "osc_notify.h"
1831 
1832 // inlines
1833 #define cfile mainw->files[mainw->current_file]
1834 #define CLIPBOARD_FILE 0
1835 #define clipboard mainw->files[CLIPBOARD_FILE]
1836 
1837 #define LIVES_TV_CHANNEL1 "http://www.serverwillprovide.com/sorteal/livestvclips/livestv.ogm"
1838 
1839 const char *dummychar;
1840 
1841 void break_me(const char *dtl);
1842 
1843 #define LIVES_NO_DEBUG
1844 #ifndef LIVES_DEBUG
1845 #ifndef LIVES_NO_DEBUG
1846 #define LIVES_DEBUG(x) fprintf(stderr, "LiVES debug: %s\n", x)
1847 #else // LIVES_NO_DEBUG
1848 #define LIVES_DEBUG(x) dummychar = x
1849 #endif // LIVES_NO_DEBUG
1850 #endif // LIVES_DEBUG
1851 
1852 #ifndef LIVES_INFO
1853 #ifndef LIVES_NO_INFO
1854 #define LIVES_INFO(x) fprintf(stderr, "LiVES info: %s\n", x)
1855 #else // LIVES_NO_INFO
1856 #define LIVES_INFO(x) dummychar = x
1857 #endif // LIVES_NO_INFO
1858 #endif // LIVES_INFO
1859 
1860 #ifndef LIVES_WARN
1861 #ifndef LIVES_NO_WARN
1862 #define LIVES_WARN(x) fprintf(stderr, "LiVES warning: %s\n", x)
1863 #else // LIVES_NO_WARN
1864 #define LIVES_WARN(x) dummychar = x
1865 #endif // LIVES_NO_WARN
1866 #endif // LIVES_WARN
1867 
1868 #ifndef LIVES_ERROR
1869 #ifndef LIVES_NO_ERROR
1870 #define LIVES_ERROR(x) {fprintf(stderr, "LiVES ERROR: %s\n", x); break_me(x);}
1871 #else // LIVES_NO_ERROR
1872 #define LIVES_ERROR(x) dummychar = x
1873 #endif // LIVES_NO_ERROR
1874 #endif // LIVES_ERROR
1875 
1876 #ifndef LIVES_CRITICAL
1877 #ifndef LIVES_NO_CRITICAL
1878 #define LIVES_CRITICAL(x) {fprintf(stderr, "LiVES CRITICAL: %s\n", x); break_me(x); raise (LIVES_SIGSEGV);}
1879 #else // LIVES_NO_CRITICAL
1880 #define LIVES_CRITICAL(x) dummychar = x
1881 #endif // LIVES_NO_CRITICAL
1882 #endif // LIVES_CRITICAL
1883 
1884 #ifndef LIVES_FATAL
1885 #ifndef LIVES_NO_FATAL
1886 #define LIVES_FATAL(x) {fprintf(stderr, "LiVES FATAL: %s\n", x); lives_notify(LIVES_OSC_NOTIFY_QUIT, x), \
1887  break_me(x); _exit (1);}
1888 #else // LIVES_NO_FATAL
1889 #define LIVES_FATAL(x) dummychar = x
1890 #endif // LIVES_NO_FATAL
1891 #endif // LIVES_FATAL
1892 
1893 #ifndef USE_STD_MEMFUNCS
1894 
1895 #ifdef _lives_malloc
1896 #undef lives_malloc
1897 #define lives_malloc _lives_malloc
1898 #endif
1899 #ifdef _lives_realloc
1900 #undef lives_realloc
1901 #define lives_realloc _lives_realloc
1902 #endif
1903 #ifdef _lives_free
1904 #undef lives_free
1905 #define lives_free _lives_free
1906 #endif
1907 #ifdef _lives_memcpy
1908 #undef lives_memcpy
1909 #define lives_memcpy _lives_memcpy
1910 #endif
1911 #ifdef _lives_memcmp
1912 #undef lives_memcmp
1913 #define lives_memcmp _lives_memcmp
1914 #endif
1915 #ifdef _lives_memset
1916 #undef lives_memset
1917 #define lives_memset _lives_memset
1918 #endif
1919 #ifdef _lives_memmove
1920 #undef lives_memmove
1921 #define lives_memmove _lives_memmove
1922 #endif
1923 #ifdef _lives_calloc
1924 #undef lives_calloc
1925 #define lives_calloc _lives_calloc
1926 #endif
1927 
1928 #endif
1929 //#define VALGRIND_ON ///< define this to ease debugging with valgrind
1930 #ifdef VALGRIND_ON
1931 #define QUICK_EXIT
1932 #else
1933 #define USE_REC_RS
1934 #define RESEEK_ENABLE
1935 #endif
1936 
1937 #endif // #ifndef HAS_LIVES_MAIN_H
1938 
lives_clip_t::event_list_back
weed_plant_t * event_list_back
Definition: main.h:1034
CLIP_DETAILS_TITLE
@ CLIP_DETAILS_TITLE
Definition: main.h:1155
lives_freep
boolean lives_freep(void **ptr)
Definition: utils.c:1411
get_upd_msg
char * get_upd_msg(void)
Definition: dialogs.c:4490
is_writeable_dir
boolean is_writeable_dir(const char *dir)
Definition: utils.c:5701
do_program_not_found_error
void do_program_not_found_error(const char *progname)
Definition: dialogs.c:3640
weed-effects-utils.h
clear_mainw_msg
void clear_mainw_msg(void)
Definition: utils.c:1435
lives_setenv
boolean lives_setenv(const char *name, const char *value)
Definition: utils.c:120
do_header_read_error_with_retry
LiVESResponseType do_header_read_error_with_retry(int clip) WARN_UNUSED
Definition: dialogs.c:4155
pull_frame_threaded
void pull_frame_threaded(weed_layer_t *layer, const char *img_ext, ticks_t tc, int width, int height)
lives_file_buffer_t::ptr
uint8_t * ptr
buffer size for write, bytes left to read in case of read
Definition: main.h:1606
LIVES_DIRECTION_IN
@ LIVES_DIRECTION_IN
Definition: main.h:859
sensitize
void sensitize(void)
Definition: main.c:5078
lives_buffered_rdonly_slurp
void lives_buffered_rdonly_slurp(int fd, off_t skip)
Definition: utils.c:671
catch_sigint
void catch_sigint(int signum)
Definition: main.c:296
CLIP_DETAILS_HEADER_VERSION
@ CLIP_DETAILS_HEADER_VERSION
Definition: main.h:1161
osc_notify.h
pump_io_chan
void pump_io_chan(LiVESIOChannel *iochan)
Definition: dialogs.c:1020
lives_clip_t::header_version
int header_version
Definition: main.h:940
binval::num
uint64_t num
Definition: main.h:871
do_quick_switch
void do_quick_switch(int new_file)
Definition: main.c:10066
unfade_background
void unfade_background(void)
Definition: gui.c:3324
do_encoder_img_fmt_error
void do_encoder_img_fmt_error(render_details *rdet)
Definition: dialogs.c:4282
lives_pixbuf_save_threaded
void * lives_pixbuf_save_threaded(void *saveargs)
save frame to pixbuf in a thread.
Definition: main.c:9365
CLIP_DETAILS_MD5SUM
@ CLIP_DETAILS_MD5SUM
Definition: main.h:1166
CLIP_DETAILS_RESERVED3
@ CLIP_DETAILS_RESERVED3
Definition: main.h:1195
lives_get_current_playback_ticks
ticks_t lives_get_current_playback_ticks(ticks_t origsecs, ticks_t origusecs, lives_time_source_t *time_source)
Definition: utils.c:1481
get_file_buffer
lives_file_buffer_t * get_file_buffer(int fd)
capability::has_curl
lives_checkstatus_t has_curl
Definition: main.h:539
lives_image_type_to_img_type
lives_img_type_t lives_image_type_to_img_type(const char *lives_image_type)
Definition: utils.c:3046
add_to_ascrap_mb
void add_to_ascrap_mb(uint64_t bytes)
Definition: saveplay.c:5225
do_write_failed_error_s
void do_write_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:3979
GNU_NORETURN
#define GNU_NORETURN
Definition: main.h:86
recover_files
boolean recover_files(char *recovery_file, boolean auto_recover)
Definition: saveplay.c:6033
do_rmem_max_error
void do_rmem_max_error(int size)
Definition: dialogs.c:3755
UNDO_AUDIO_VOL
@ UNDO_AUDIO_VOL
Definition: main.h:683
fade_background
void fade_background(void)
Definition: gui.c:3216
do_save_clipset_warn
boolean do_save_clipset_warn(void)
Definition: dialogs.c:2975
lives_img_type_t
lives_img_type_t
Definition: main.h:774
check_dir_access
boolean check_dir_access(const char *dir, boolean leaveit)
Definition: utils.c:4542
set_undoable
void set_undoable(const char *what, boolean sensitive)
Definition: utils.c:4784
lives_readlink
ssize_t lives_readlink(const char *path, char *buf, size_t bufsiz)
Definition: utils.c:104
lives_colRGB48_t::red
uint16_t red
Definition: main.h:317
do_dir_perm_error
LiVESResponseType do_dir_perm_error(const char *dir_name, boolean allow_cancel)
Definition: dialogs.c:4247
wm_caps_t::ssave_res
uint64_t ssave_res
Definition: main.h:475
capability::xdg_runtime_dir
char * xdg_runtime_dir
Definition: main.h:551
procw_desensitize
void procw_desensitize(void)
Definition: main.c:5445
prepare_to_play_foreign
boolean prepare_to_play_foreign(void)
Definition: utils.c:4055
get_vspace
int get_vspace(void)
Definition: gui.c:55
start_playback
boolean start_playback(int type)
Definition: saveplay.c:94
liblives.hpp
Header file for liblives.
lives_list_strcmp_index
int lives_list_strcmp_index(LiVESList *list, livesconstpointer data, boolean case_sensitive)
Definition: utils.c:4678
lives_file_buffer_t::totbytes
int64_t totbytes
Definition: main.h:1617
resize
void resize(double scale)
Definition: main.c:10230
lives_clip_t::aseek_pos
volatile off64_t aseek_pos
audio seek posn. (bytes) for when we switch clips
Definition: main.h:1064
calc_new_playback_position
frames_t calc_new_playback_position(int fileno, ticks_t otc, ticks_t *ntc)
Definition: utils.c:1865
UNDO_INSERT_SILENCE
@ UNDO_INSERT_SILENCE
Definition: main.h:673
ask_permission_dialog_complex
boolean ask_permission_dialog_complex(int what, char **argv, int argc, int offs, const char *sudocom)
Definition: dialogs.c:4605
lives_clip_t::interlace
lives_interlace_t interlace
interlace type (if known - none, topfirst, bottomfirst or : see plugins.h)
Definition: main.h:899
render_details
Definition: events.h:215
lives_file_buffer_t::bufsztype
int bufsztype
Definition: main.h:1610
ds_warning_msg
char * ds_warning_msg(const char *dir, char **mountpoint, uint64_t dsval, uint64_t cwarn, uint64_t nwarn)
Definition: dialogs.c:850
lives_clip_t::undo_arps
int undo_arps
Definition: main.h:972
CLIP_TYPE_VIDEODEV
@ CLIP_TYPE_VIDEODEV
frames from video device
Definition: main.h:771
lives_clip_t::was_renamed
boolean was_renamed
Definition: main.h:926
do_mt_rect_prompt
boolean do_mt_rect_prompt(void)
Definition: dialogs.c:3627
CLIP_DETAILS_RESERVED15
@ CLIP_DETAILS_RESERVED15
Definition: main.h:1183
UNDO_RESIZABLE
@ UNDO_RESIZABLE
Definition: main.h:662
wait_for_stop
void wait_for_stop(const char *stop_command)
Definition: saveplay.c:4139
make_custom_submenus
void make_custom_submenus(void)
Definition: gui.c:126
render_choice_idle
boolean render_choice_idle(livespointer data)
Definition: main.c:3454
get_approx_ln
uint32_t get_approx_ln(uint32_t val) GNU_CONST
Definition: utils.c:1453
lives_read_buffered_eof
boolean lives_read_buffered_eof(int fd)
Definition: utils.c:1170
do_no_sets_dialog
void do_no_sets_dialog(const char *dir)
Definition: dialogs.c:4366
capability::has_smogrify
lives_checkstatus_t has_smogrify
Definition: main.h:502
lives_cp_recursive
int lives_cp_recursive(const char *from, const char *to, boolean incl_dir)
Definition: utils.c:4423
get_letterbox_sizes
void get_letterbox_sizes(int *pwidth, int *pheight, int *lb_width, int *lb_height, boolean player_can_upscale)
calculate sizes for letterboxing
Definition: gui.c:4406
lives_unsetenv
boolean lives_unsetenv(const char *name)
Definition: utils.c:132
capability::cpu_bits
short cpu_bits
Definition: main.h:583
set_default_comment
void set_default_comment(lives_clip_t *sfile, const char *extrat)
Definition: saveplay.c:1251
lives_10pow
uint64_t lives_10pow(int pow) GNU_CONST
Definition: utils.c:1438
rdet_suggest_values
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:3065
paste_enough_dlg
boolean paste_enough_dlg(int lframe)
Definition: dialogs.c:3266
block_expose
void block_expose(void)
savethread_priv_t::error
LiVESError * error
Definition: main.h:1505
lives_pad_ellipsize
char * lives_pad_ellipsize(char *, size_t fixlen, int padlen, LiVESEllipsizeMode mode)
Definition: utils.c:3333
CANCEL_USER_PAUSED
@ CANCEL_USER_PAUSED
cancelled and paused
Definition: main.h:746
get_frames_sizes
boolean get_frames_sizes(int fileno, int frame_to_test, int *hsize, int *vsize)
Definition: utils.c:3124
lives_sync
void lives_sync(int times)
Definition: utils.c:115
lives_read_le
ssize_t lives_read_le(int fd, void *buf, ssize_t count, boolean allow_less)
Definition: utils.c:486
check_for_disk_space
boolean check_for_disk_space(boolean fullcheck)
Definition: saveplay.c:5416
wait_for_cleaner
void wait_for_cleaner(void)
sizint
ssize_t sizint
type sizes
Definition: main.c:102
lives_colRGBA64_t::alpha
uint16_t alpha
Definition: main.h:326
N_IMG_TYPES
@ N_IMG_TYPES
Definition: main.h:778
activate_url_inner
void activate_url_inner(const char *link)
Definition: utils.c:4607
version
const char * version(void)
do_mt_no_jack_error
void do_mt_no_jack_error(int warn_mask)
Definition: dialogs.c:3619
do_no_autolives_error
void do_no_autolives_error(void)
Definition: dialogs.c:4500
capability::can_write_to_config
boolean can_write_to_config
Definition: main.h:496
lives_clip_t::event_list
weed_plant_t * event_list
Definition: main.h:1033
UNDO_DELETE_AUDIO
@ UNDO_DELETE_AUDIO
Definition: main.h:672
capability::has_pulse_audio
lives_checkstatus_t has_pulse_audio
Definition: main.h:523
CLIP_DETAILS_RESERVED10
@ CLIP_DETAILS_RESERVED10
Definition: main.h:1188
do_header_write_error
boolean do_header_write_error(int clip)
Definition: dialogs.c:4169
check_for_recovery_files
boolean check_for_recovery_files(boolean auto_recover)
Definition: saveplay.c:6550
mainwindow
Definition: mainwindow.h:723
get_approx_ln64
uint64_t get_approx_ln64(uint64_t x) GNU_CONST
Definition: utils.c:1458
findex_bk_dialog
boolean findex_bk_dialog(const char *fname_back)
Definition: dialogs.c:3261
lives_clip_details_t
lives_clip_details_t
Definition: main.h:1141
capability::has_autolives
lives_checkstatus_t has_autolives
Definition: main.h:510
lives_cp
int lives_cp(const char *from, const char *to)
Definition: utils.c:4414
lives_audio_track_state_t
Definition: main.h:646
play_file
void play_file(void)
play the current clip from 'mainw->play_start' to 'mainw->play_end'
Definition: saveplay.c:2213
after_foreign_play
boolean after_foreign_play(void)
Definition: utils.c:4193
capability::os_release
char * os_release
Definition: main.h:613
lives_ellipsize
char * lives_ellipsize(char *, size_t maxlen, LiVESEllipsizeMode mode)
Definition: utils.c:3262
do_after_crash_warning
void do_after_crash_warning(void)
Definition: dialogs.c:3742
lsd-tab.h
string_lists_differ
boolean string_lists_differ(LiVESList *, LiVESList *)
Definition: utils.c:5831
weed_abi_version
int weed_abi_version
Definition: main.h:635
capability::has_midistartstop
lives_checkstatus_t has_midistartstop
Definition: main.h:521
capability::has_youtube_dl
lives_checkstatus_t has_youtube_dl
Definition: main.h:532
capability::has_ffmpeg
lives_checkstatus_t has_ffmpeg
Definition: main.h:518
lives_clip_t::ext_src
void * ext_src
points to opaque source for non-disk types
Definition: main.h:1040
do_rendered_fx_dialog
void do_rendered_fx_dialog(void)
Definition: dialogs.c:3368
do_cd_error_dialog
void do_cd_error_dialog(void)
Definition: dialogs.c:4525
lives_clip_t::alt_srcs
void ** alt_srcs
Definition: main.h:1054
lives_clip_t::start
frames_t start
Definition: main.h:891
count_resampled_frames
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:72
CLIP_DETAILS_COMMENT
@ CLIP_DETAILS_COMMENT
Definition: main.h:1157
keyboard.h
lives_chmod
int lives_chmod(const char *target, const char *mode)
Definition: utils.c:4475
lives_clip_t::restoring
boolean restoring
Definition: main.h:948
capability::has_du
lives_checkstatus_t has_du
Definition: main.h:535
do_file_perm_error
LiVESResponseType do_file_perm_error(const char *file_name, boolean allow_cancel)
Definition: dialogs.c:4226
do_encoder_sox_error
void do_encoder_sox_error(void)
Definition: dialogs.c:3039
CANCEL_APP_QUIT
@ CANCEL_APP_QUIT
application quit
Definition: main.h:713
lives_fsync
boolean lives_fsync(int fd)
Definition: utils.c:109
sizshrt
ssize_t sizshrt
Definition: main.h:1139
PRESENT
@ PRESENT
Definition: main.h:394
restore_clip_binfmt
boolean restore_clip_binfmt(int clipno)
Definition: saveplay.c:6022
CLIP_DETAILS_RESERVED6
@ CLIP_DETAILS_RESERVED6
Definition: main.h:1192
lives_fix
double lives_fix(double val, int decimals) GNU_CONST
Definition: utils.c:1446
lives_cat
int lives_cat(const char *from, const char *to, boolean append)
Definition: utils.c:4484
update_play_times
void update_play_times(void)
like get_play_times, but will force redraw of audio waveforms
Definition: utils.c:3677
do_aud_during_play_error
void do_aud_during_play_error(void)
Definition: dialogs.c:899
mainw
mainwindow * mainw
Definition: main.c:103
get_dirname
void get_dirname(char *filename)
Definition: utils.c:3167
capability::has_wmctrl
lives_checkstatus_t has_wmctrl
Definition: main.h:530
calc_frame_from_time
int calc_frame_from_time(int filenum, double time)
nearest frame [1, frames]
Definition: utils.c:1759
capability::has_identify
lives_checkstatus_t has_identify
Definition: main.h:516
lives_clip_t::audio_waveform
float ** audio_waveform
values for drawing the audio wave
Definition: main.h:1093
lives_clip_t::bpp
int bpp
bits per pixel of the image frames, 24 or 32
Definition: main.h:901
lives_lseek_buffered_rdonly_absolute
off_t lives_lseek_buffered_rdonly_absolute(int fd, off_t offset)
Definition: utils.c:907
lives_clip_t::no_proc_sys_errors
boolean no_proc_sys_errors
skip system error dialogs in processing
Definition: main.h:1078
lives_list_sort_alpha
LiVESList * lives_list_sort_alpha(LiVESList *list, boolean fwd)
Definition: utils.c:5474
open_scrap_file
boolean open_scrap_file(void)
Definition: saveplay.c:5230
capability::cpu_name
char * cpu_name
Definition: main.h:582
lives_clip_t::frames
frames_t frames
number of video frames
Definition: main.h:890
lives_presence_t
lives_presence_t
Definition: main.h:391
lives_tcache_entry_t::pixbuf
LiVESPixbuf * pixbuf
Definition: main.h:1107
lives_clip_t::clip_type
lives_clip_type_t clip_type
Definition: main.h:886
_weed_leaf_num_elements
weed_leaf_num_elements_f _weed_leaf_num_elements
Definition: main.h:369
do_audrate_error_dialog
void do_audrate_error_dialog(void)
Definition: dialogs.c:3702
lives_string_ends_with
boolean lives_string_ends_with(const char *string, const char *fmt,...)
Definition: utils.c:3143
CLIP_DETAILS_ACHANS
@ CLIP_DETAILS_ACHANS
Definition: main.h:1150
UNDO_DELETE
@ UNDO_DELETE
Definition: main.h:671
d_print_urgency
boolean d_print_urgency(double timeout_seconds, const char *fmt,...)
Definition: utils.c:2497
do_layout_alter_audio_warning
boolean do_layout_alter_audio_warning(void)
Definition: dialogs.c:3433
wm_caps_t::is_composited
boolean is_composited
Definition: main.h:439
threaded_dialog_pop
void threaded_dialog_pop(void)
Definition: dialogs.c:3771
do_clip_divergence_error
void do_clip_divergence_error(int fileno)
Definition: dialogs.c:888
update_progress
void update_progress(boolean visible)
Definition: dialogs.c:1275
CLIP_DETAILS_WIDTH
@ CLIP_DETAILS_WIDTH
Definition: main.h:1145
do_reload_set_query
boolean do_reload_set_query(void)
Definition: dialogs.c:3256
lives_open2
int lives_open2(const char *pathname, int flags)
Definition: utils.c:99
set_interactive
void set_interactive(boolean interactive)
Definition: gui.c:3072
pad_init_silence
void pad_init_silence(void)
Definition: saveplay.c:293
load_frame_image
void load_frame_image(int frame)
Definition: main.c:7984
CLIP_DETAILS_RESERVED0
@ CLIP_DETAILS_RESERVED0
Definition: main.h:1198
verhash
int verhash(char *version)
Definition: utils.c:4755
do_mt_lb_warn
boolean do_mt_lb_warn(boolean lb)
Definition: dialogs.c:3451
multitrack.h
capability::has_mktemp
lives_checkstatus_t has_mktemp
Definition: main.h:540
LIVES_DIRECTION_LEFT
@ LIVES_DIRECTION_LEFT
Definition: main.h:855
lives_open3
int lives_open3(const char *pathname, int flags, mode_t mode)
Definition: utils.c:94
lives_file_buffer_t::allow_fail
boolean allow_fail
Definition: main.h:1618
_weed_leaf_set_flags
weed_leaf_set_flags_f _weed_leaf_set_flags
Definition: main.h:374
lives_proc_thread_t
weed_plantptr_t lives_proc_thread_t
lives proc_threads API
Definition: machinestate.c:1670
CLIP_DETAILS_KEYWORDS
@ CLIP_DETAILS_KEYWORDS
Definition: main.h:1162
LIVES_DIRECTION_FORWARD
@ LIVES_DIRECTION_FORWARD
Definition: main.h:854
capability::mach_name
char * mach_name
Definition: main.h:620
set_colours
void set_colours(LiVESWidgetColor *colf, LiVESWidgetColor *colb, LiVESWidgetColor *colf2, LiVESWidgetColor *colb2, LiVESWidgetColor *coli, LiVESWidgetColor *colt)
Definition: gui.c:168
savethread_priv_t
Definition: main.h:1503
toggle_record
void toggle_record(void)
Definition: gui.c:3712
check_for_ratio_fps
boolean check_for_ratio_fps(double fps)
Definition: utils.c:5361
calc_frame_from_time2
int calc_frame_from_time2(int filenum, double time)
nearest frame [1, frames+1]
Definition: utils.c:1768
add_lmap_error
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:2673
lives_pad
char * lives_pad(char *, size_t minlen, int align)
Definition: utils.c:3303
frames64_t
int64_t frames64_t
Definition: main.h:100
do_theme_exists_warn
boolean do_theme_exists_warn(const char *themename)
Definition: dialogs.c:4561
capability::distro_codename
char * distro_codename
Definition: main.h:618
lives_clip_t::needs_update
boolean needs_update
loaded values were incorrect, update header
Definition: main.h:1088
lives_alarm_clear
boolean lives_alarm_clear(lives_alarm_t alarm_handle)
Definition: utils.c:1732
do_threaded_dialog
void do_threaded_dialog(const char *translated_text, boolean has_cancel)
Definition: dialogs.c:3849
startup_message_info
boolean startup_message_info(const char *msg)
Definition: main.c:4987
lives_file_buffer_t::reversed
boolean reversed
Definition: main.h:1613
CANCEL_KILL
@ CANCEL_KILL
normal - kill background processes working on current clip
Definition: main.h:759
_weed_plant_free
weed_plant_free_f _weed_plant_free
Definition: main.h:373
calc_aframeno
void calc_aframeno(int fileno)
Definition: utils.c:1845
desensitize
void desensitize(void)
Definition: main.c:5302
free_track_decoders
void free_track_decoders(void)
Definition: main.c:7826
get_token_count
size_t get_token_count(const char *string, int delim)
Definition: utils.c:5430
do_locked_in_vdevs_error
void do_locked_in_vdevs_error(void)
Definition: dialogs.c:4404
CLIP_TYPE_GENERATOR
@ CLIP_TYPE_GENERATOR
frames from generator plugin
Definition: main.h:766
lives_clip_t::pointer_time
double pointer_time
pointer time in timeline, + the playback start posn for clipeditor (unless playing the selection)
Definition: main.h:931
CLIP_DETAILS_RESERVED21
@ CLIP_DETAILS_RESERVED21
Definition: main.h:1177
lives_buffered_rdonly_set_reversed
boolean lives_buffered_rdonly_set_reversed(int fd, boolean val)
Definition: utils.c:681
CANCEL_USER
@ CANCEL_USER
user pressed stop
Definition: main.h:704
lives_lmap_error_t
lives_lmap_error_t
Definition: multitrack.h:1015
add_resnn_label
void add_resnn_label(LiVESDialog *dialog)
Definition: dialogs.c:4567
capability::mainpid
pid_t mainpid
Definition: main.h:591
calc_time_from_frame
double calc_time_from_frame(int clip, int frame)
Definition: utils.c:1756
lives_clip_t::has_binfmt
boolean has_binfmt
DO NOT remove or alter any fields before this ^^^^^.
Definition: main.h:998
lives_clip_t::cache_objects
uint64_t * cache_objects
for future use
Definition: main.h:1057
lives_file_buffer_t
Definition: main.h:1604
get_clip_value
boolean get_clip_value(int which, lives_clip_details_t, void *retval, size_t maxlen)
Definition: utils.c:5039
CLIP_DETAILS_ASAMPS
@ CLIP_DETAILS_ASAMPS
Definition: main.h:1153
do_no_in_vdevs_error
void do_no_in_vdevs_error(void)
Definition: dialogs.c:4399
do_dir_perm_access_error
void do_dir_perm_access_error(const char *dir_name)
Definition: dialogs.c:4270
do_error_dialogf
LiVESResponseType do_error_dialogf(const char *fmt,...)
Definition: dialogs.c:735
lives_clip_t::progress_start
frames_t progress_start
Definition: main.h:951
do_warning_dialog
boolean do_warning_dialog(const char *text)
Definition: dialogs.c:564
lives_clip_t::undo_asampsize
int undo_asampsize
Definition: main.h:971
lives_image_ext_to_img_type
lives_img_type_t lives_image_ext_to_img_type(const char *img_ext)
Definition: utils.c:3034
capability::os_name
char * os_name
Definition: main.h:612
do_set_load_lmap_error
void do_set_load_lmap_error(void)
LIVES_DIRECTION_DOWN
@ LIVES_DIRECTION_DOWN
Definition: main.h:858
do_yuv4m_open_warning
boolean do_yuv4m_open_warning(void)
Definition: dialogs.c:3270
LIVES_DIRECTION_RIGHT
@ LIVES_DIRECTION_RIGHT
Definition: main.h:856
prompt_remove_layout_files
boolean prompt_remove_layout_files(void)
Definition: dialogs.c:3408
lives_alarm_t
int lives_alarm_t
Definition: mainwindow.h:696
workdir_ch_warning
char * workdir_ch_warning(void)
Definition: dialogs.c:4544
do_warning_dialogf
boolean do_warning_dialogf(const char *fmt,...)
Definition: dialogs.c:551
CLIP_DETAILS_AUTHOR
@ CLIP_DETAILS_AUTHOR
Definition: main.h:1156
lives_open_buffered_rdonly
int lives_open_buffered_rdonly(const char *pathname)
Definition: utils.c:636
load_from_scrap_file
boolean load_from_scrap_file(weed_layer_t *layer, int frame)
Definition: saveplay.c:5360
resize_message_area
boolean resize_message_area(livespointer data)
Definition: main.c:3588
capability::has_composite
lives_checkstatus_t has_composite
Definition: main.h:515
lives_cancel_type_t
lives_cancel_type_t
Definition: main.h:758
lives_touch
int lives_touch(const char *tfile)
Definition: utils.c:4455
ticks_t
int64_t ticks_t
Definition: main.h:97
UNDO_RESAMPLE
@ UNDO_RESAMPLE
Definition: main.h:664
ensure_isdir
boolean ensure_isdir(char *fname)
Definition: utils.c:3346
dump_messages
char * dump_messages(int start, int end)
Definition: utils.c:2338
CLIP_DETAILS_FRAMES
@ CLIP_DETAILS_FRAMES
Definition: main.h:1154
create_LiVES
void create_LiVES(void)
Definition: gui.c:366
CLIP_DETAILS_AENDIAN
@ CLIP_DETAILS_AENDIAN
Definition: main.h:1152
make_version_hash
uint64_t make_version_hash(const char *ver)
Definition: utils.c:3500
savethread_priv_t::width
int width
Definition: main.h:1509
lives_colRGB48_t::blue
uint16_t blue
Definition: main.h:319
splash_msg
void splash_msg(const char *msg, double pct)
Definition: gui.c:4687
UNDO_REC_AUDIO
@ UNDO_REC_AUDIO
record audio to selection
Definition: main.h:686
lives_undo_t
lives_undo_t
Definition: main.h:659
capability::cacheline_size
int cacheline_size
Definition: main.h:584
CLIP_DETAILS_RESERVED12
@ CLIP_DETAILS_RESERVED12
Definition: main.h:1186
CLIP_DETAILS_RESERVED2
@ CLIP_DETAILS_RESERVED2
Definition: main.h:1196
get_interp_value
LiVESInterpType get_interp_value(short quality, boolean low_for_mt)
Definition: utils.c:5744
unhash_version
char * unhash_version(uint64_t version)
Definition: utils.c:3522
do_mt_set_mem_error
void do_mt_set_mem_error(boolean has_mt)
Definition: dialogs.c:3593
lives_cp_keep_perms
int lives_cp_keep_perms(const char *from, const char *to)
Definition: utils.c:4437
create_nullvideo_clip
int create_nullvideo_clip(const char *handle)
Definition: saveplay.c:3808
rewrite_recovery_file
boolean rewrite_recovery_file(void)
Definition: saveplay.c:6473
clip_detail_to_string
char * clip_detail_to_string(lives_clip_details_t what, size_t *maxlenp)
Definition: utils.c:4980
get_dir
char * get_dir(const char *filename)
Definition: utils.c:3185
lives_audio_track_state_t::seek
double seek
Definition: main.h:648
CLIP_DETAILS_RESERVED26
@ CLIP_DETAILS_RESERVED26
Definition: main.h:1172
CLIP_DETAILS_ASIGNED
@ CLIP_DETAILS_ASIGNED
Definition: main.h:1151
tv
struct timeval tv
Definition: main.h:1136
lives_clip_t::img_type
lives_img_type_t img_type
Definition: main.h:887
do_move_workdir_dialog
boolean do_move_workdir_dialog(void)
Definition: dialogs.c:4351
CLIP_DETAILS_FILENAME
@ CLIP_DETAILS_FILENAME
Definition: main.h:1159
UNDO_RENDER
@ UNDO_RENDER
resample/reorder/resize/apply effects
Definition: main.h:680
startup_message_choice
boolean startup_message_choice(const char *msg, int msgtype)
CLIP_TYPE_TEMP
@ CLIP_TYPE_TEMP
temp type, for internal use only
Definition: main.h:768
CLIP_TYPE_DISK
@ CLIP_TYPE_DISK
imported video, broken into frames
Definition: main.h:764
capability::umask
mode_t umask
Definition: main.h:597
capability::has_xdotool
lives_checkstatus_t has_xdotool
Definition: main.h:531
lives_interlace_t
lives_interlace_t
Definition: main.h:790
lives_colRGBA64_t::green
uint16_t green
Definition: main.h:324
lives_clip_t::real_pointer_time
double real_pointer_time
pointer time in timeline, can extend beyond video, for audio
Definition: main.h:932
IMG_TYPE_PNG
@ IMG_TYPE_PNG
Definition: main.h:777
CLIP_DETAILS_RESERVED30
@ CLIP_DETAILS_RESERVED30
Definition: main.h:1168
LIVES_DIRECTION_UP
@ LIVES_DIRECTION_UP
Definition: main.h:857
do_do_not_close_d
void do_do_not_close_d(void)
Definition: dialogs.c:4409
do_chdir_failed_error
void do_chdir_failed_error(const char *dir)
Definition: dialogs.c:4213
set_signal_handlers
void set_signal_handlers(SignalHandlerPointer sigfunc)
Definition: main.c:4077
do_card_in_use_error
void do_card_in_use_error(void)
Definition: dialogs.c:4289
lives_pid_t
pid_t lives_pid_t
Definition: main.h:117
fullscreen_internal
void fullscreen_internal(void)
Definition: gui.c:3440
lives_clip_t::next_event
weed_plant_t * next_event
Definition: main.h:1035
save_to_scrap_file
int save_to_scrap_file(weed_layer_t *layer)
Definition: saveplay.c:5569
lives_read_buffered
ssize_t lives_read_buffered(int fd, void *buf, ssize_t count, boolean allow_less)
Definition: utils.c:924
lives_clip_t::undo4_int
int undo4_int
Definition: main.h:964
find_in_file_buffers_by_pathname
lives_file_buffer_t * find_in_file_buffers_by_pathname(const char *pathname)
Definition: utils.c:419
do_set_rename_old_layouts_warning
boolean do_set_rename_old_layouts_warning(const char *new_set)
Definition: dialogs.c:3571
lives_clip_t::aw_sizes
size_t * aw_sizes
size of each audio_waveform in units of floats (i.e 4 bytes)
Definition: main.h:1094
lives_clip_t::play_paused
boolean play_paused
Definition: main.h:1014
lives_clip_type_t
lives_clip_type_t
Definition: main.h:763
do_splash_progress
void do_splash_progress(void)
capability::has_mpv
lives_checkstatus_t has_mpv
Definition: main.h:513
capability::has_gio
lives_checkstatus_t has_gio
Definition: main.h:537
lives_direction_t
lives_direction_t
use REVERSE / FORWARD when a sign is used, BACKWARD / FORWARD when a parity is used
Definition: main.h:851
CLIP_DETAILS_INTERLACE
@ CLIP_DETAILS_INTERLACE
Definition: main.h:1163
find_when_to_stop
void find_when_to_stop(void)
Definition: utils.c:3722
check_frame_count
boolean check_frame_count(int idx, boolean last_chkd)
check number of frames is correct for files of type CLIP_TYPE_DISK
Definition: utils.c:3074
do_optarg_blank_err
void do_optarg_blank_err(const char *what)
Definition: dialogs.c:881
LiVESEllipsizeMode
LingoEllipsizeMode LiVESEllipsizeMode
Definition: widget-helper.h:110
binval::size
size_t size
Definition: main.h:873
lives_slist_free_all
void lives_slist_free_all(LiVESSList **)
Definition: utils.c:4865
do_layout_recover_dialog
boolean do_layout_recover_dialog(void)
Definition: dialogs.c:4698
MISSING
@ MISSING
not yet implemented (TODO)
Definition: main.h:392
add_file_info
boolean add_file_info(const char *check_handle, boolean aud_only)
Definition: saveplay.c:3870
capability::has_wm_caps
boolean has_wm_caps
Definition: main.h:606
UNDO_NONE
@ UNDO_NONE
Definition: main.h:660
lives_clip_t::checked
boolean checked
thumbnail cache, list of lives_tcache_entry_t
Definition: main.h:1101
events.h
do_jack_noopen_warn
void do_jack_noopen_warn(void)
do_please_install
boolean do_please_install(const char *exec, uint64_t guidance_flags)
Definition: dialogs.c:3659
lives_fork
lives_pid_t lives_fork(const char *com)
Definition: utils.c:288
open_set_file
void open_set_file(int clipnum)
Definition: saveplay.c:4864
write_headers
boolean write_headers(lives_clip_t *file)
Definition: saveplay.c:4394
lives_clip_t::no_proc_read_errors
boolean no_proc_read_errors
skip read error dialogs in processing
Definition: main.h:1079
do_set_noclips_error
void do_set_noclips_error(const char *setname)
Definition: dialogs.c:4480
lives_clip_t::fps
double fps
Definition: main.h:893
do_audio_import_error
void do_audio_import_error(void)
Definition: dialogs.c:3381
_weed_plant_list_leaves
weed_plant_list_leaves_f _weed_plant_list_leaves
Definition: main.h:368
lives_clip_t::n_altsrcs
int n_altsrcs
Definition: main.h:1053
get_frame_count
int get_frame_count(int idx, int xsize)
sets mainw->files[idx]->frames with current framecount
Definition: utils.c:3109
capability::has_gconftool_2
lives_checkstatus_t has_gconftool_2
Definition: main.h:527
lives_echo
int lives_echo(const char *text, const char *to, boolean append)
Definition: utils.c:4500
lives_open_buffered_writer
int lives_open_buffered_writer(const char *pathname, int mode, boolean append)
Definition: utils.c:706
do_abortblank_error
void do_abortblank_error(const char *what)
Definition: dialogs.c:873
CLIP_DETAILS_RESERVED8
@ CLIP_DETAILS_RESERVED8
Definition: main.h:1190
do_need_mplayer_mpv_dialog
void do_need_mplayer_mpv_dialog(void)
Definition: dialogs.c:3027
CANCEL_ERROR
@ CANCEL_ERROR
cancelled because of error
Definition: main.h:740
lives_utf8_strcasecmp
int lives_utf8_strcasecmp(const char *s1, const char *s2)
Definition: utils.c:5458
CLIP_DETAILS_PB_FRAMENO
@ CLIP_DETAILS_PB_FRAMENO
Definition: main.h:1158
close_ascrap_file
void close_ascrap_file(boolean remove)
Definition: saveplay.c:5612
lives_write_le_buffered
ssize_t lives_write_le_buffered(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail)
CLIP_DETAILS_RESERVED4
@ CLIP_DETAILS_RESERVED4
Definition: main.h:1194
reload_clip
boolean reload_clip(int fileno, int maxframe)
Definition: saveplay.c:5735
splash_end
void splash_end(void)
Definition: gui.c:4712
IMG_TYPE_JPEG
@ IMG_TYPE_JPEG
Definition: main.h:776
get_menu_name
char * get_menu_name(lives_clip_t *sfile, boolean add_set)
Definition: gui.c:4487
lives_getpid
pid_t lives_getpid(void)
Definition: machinestate.c:2408
capability::has_encoder_plugins
lives_checkstatus_t has_encoder_plugins
Definition: main.h:571
lives_whentostop_t
lives_whentostop_t
which stream end should cause playback to finish ?
Definition: main.h:692
LOCAL
@ LOCAL
Definition: main.h:395
lives_clip_t::stored_layout_idx
int stored_layout_idx
M highest value used.
Definition: main.h:1072
lives_clip_t::pumper
lives_proc_thread_t pumper
Definition: main.h:1059
create_question_dialog
LiVESWidget * create_question_dialog(const char *title, const char *text)
Definition: dialogs.c:540
set_sel_label
void set_sel_label(LiVESWidget *label)
Definition: utils.c:4838
capability::has_ffprobe
lives_checkstatus_t has_ffprobe
Definition: main.h:517
lives_clip_t::cb_src
int cb_src
source clip for clipboard; for other clips, may be used to hold some temporary linkage
Definition: main.h:1086
lives_colRGBA64_t::blue
uint16_t blue
Definition: main.h:325
capable
capability * capable
Definition: main.h:627
do_info_dialog_with_expander
LiVESResponseType do_info_dialog_with_expander(const char *text, const char *exp_text, LiVESList *)
Definition: dialogs.c:793
capability::all_icons
LiVESList * all_icons
Definition: main.h:602
do_need_mplayer_dialog
void do_need_mplayer_dialog(void)
Definition: dialogs.c:3020
do_existing_subs_warning
boolean do_existing_subs_warning(void)
Definition: dialogs.c:4302
create_event_space
boolean create_event_space(int length_in_eventsb)
Definition: utils.c:4660
capability::has_icedax
lives_checkstatus_t has_icedax
Definition: main.h:520
d_print
void d_print(const char *fmt,...)
Definition: utils.c:2542
recover_layout_map
void recover_layout_map(int numclips)
Definition: saveplay.c:5632
get_val_from_cached_list
char * get_val_from_cached_list(const char *key, size_t maxlen, LiVESList *cache)
Definition: utils.c:4966
lives_audio_track_state_t::afile
int afile
Definition: main.h:647
do_yesno_dialog
boolean do_yesno_dialog(const char *text)
Definition: dialogs.c:655
do_bad_layout_error
void do_bad_layout_error(void)
Definition: dialogs.c:3635
LIVES_DIRECTION_REVERSE
@ LIVES_DIRECTION_REVERSE
Definition: main.h:852
int_array_contains_value
boolean int_array_contains_value(int *array, int num_elems, int value)
Definition: utils.c:4284
CLIP_DETAILS_PB_FPS
@ CLIP_DETAILS_PB_FPS
Definition: main.h:1144
lives_clip_t::undo_arate
int undo_arate
audio playback rate
Definition: main.h:969
lives_checkstatus_t
lives_presence_t lives_checkstatus_t
Definition: main.h:429
open_fw_device
void open_fw_device(void)
capability::xdg_session_desktop
char * xdg_session_desktop
Definition: main.h:549
do_autolives_needs_clips_error
void do_autolives_needs_clips_error(void)
Definition: dialogs.c:4507
support.h
get_set_list
LiVESList * get_set_list(const char *dir, boolean utf8)
Definition: utils.c:5305
do_mt_audchan_error
void do_mt_audchan_error(int warn_mask)
Definition: dialogs.c:3606
defer_sigint
void defer_sigint(int signum)
Definition: main.c:282
UNDO_EFFECT
@ UNDO_EFFECT
Definition: main.h:661
get_player_size
void get_player_size(int *opwidth, int *opheight)
Definition: main.c:7720
wm_caps_t::pan_annoy
uint64_t pan_annoy
Definition: main.h:471
get_read_buff_size
size_t get_read_buff_size(int sztype)
Definition: utils.c:771
get_cache_stats
const char * get_cache_stats(void)
Definition: dialogs.c:68
_weed_leaf_delete
weed_leaf_delete_f _weed_leaf_delete
Definition: main.h:375
savethread_priv_t::img_type
lives_img_type_t img_type
Definition: main.h:1507
do_foundclips_query
boolean do_foundclips_query(void)
Definition: dialogs.c:4376
preferences.h
get_basename
void get_basename(char *filename)
Definition: utils.c:3194
lives_clip_t::no_proc_write_errors
boolean no_proc_write_errors
skip write error dialogs in processing
Definition: main.h:1080
plugins.h
lives_clip_t::menuentry_func
ulong menuentry_func
Definition: main.h:1012
do_jack_noopen_warn2
void do_jack_noopen_warn2(void)
all_expose
boolean all_expose(LiVESWidget *, lives_painter_t *, livespointer psurf)
Definition: callbacks.c:9856
check_backend_return
boolean check_backend_return(lives_clip_t *sfile)
Definition: dialogs.c:1009
UNCHECKED
@ UNCHECKED
Definition: main.h:393
wm_caps_t::ver_major
uint64_t ver_major
Definition: main.h:434
GNU_CONST
#define GNU_CONST
Definition: main.h:79
backup_file
void backup_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:4264
lives_make_writeable_dir
boolean lives_make_writeable_dir(const char *newdir)
Definition: utils.c:5721
CANCEL_VID_END
@ CANCEL_VID_END
video playback completed
Definition: main.h:725
lives_clip_t::signed_endian
uint32_t signed_endian
bitfield
Definition: main.h:909
reset_message_area
void reset_message_area(void)
Definition: gui.c:4734
lives_fread_string
size_t lives_fread_string(char *buff, size_t stlen, const char *fname)
Definition: utils.c:388
CLIP_TYPE_FILE
@ CLIP_TYPE_FILE
unimported video, not or partially broken in frames
Definition: main.h:765
do_upgrade_error_dialog
void do_upgrade_error_dialog(void)
Definition: dialogs.c:3358
lives_clip_t::resample_events
resample_event * resample_events
for block resampler
Definition: main.h:1031
lives_mv
int lives_mv(const char *from, const char *to)
Definition: utils.c:4446
SignalHandlerPointer
void(* SignalHandlerPointer)(int)
Definition: main.h:1464
capability::gui_thread
pthread_t gui_thread
Definition: main.h:593
maybe_add_mt_idlefunc
void maybe_add_mt_idlefunc(void)
capability::has_xdg_screensaver
lives_checkstatus_t has_xdg_screensaver
Definition: main.h:528
lives_clip_t::saved_frameno
frames_t saved_frameno
Definition: main.h:1025
_weed_leaf_get
weed_leaf_get_f _weed_leaf_get
Definition: main.h:365
add_to_recent
void add_to_recent(const char *filename, double start, int frames, const char *file_open_params)
Definition: utils.c:4701
lives_clip_t::last_frameno
frames_t last_frameno
Definition: main.h:934
lives_clip_t::frame_index
frames_t * frame_index
index of frames for CLIP_TYPE_FILE >0 means corresponding frame within original clip -1 means corresp...
Definition: main.h:1004
CANCEL_NO_MORE_PREVIEW
@ CANCEL_NO_MORE_PREVIEW
ran out of preview frames
Definition: main.h:716
d_print_file_error_failed
void d_print_file_error_failed(void)
Definition: utils.c:2625
sizdbl
ssize_t sizdbl
Definition: main.h:1139
lives_clip_t::ratio_fps
boolean ratio_fps
framerate of the clip
Definition: main.h:894
save_frame_inner
boolean save_frame_inner(int clip, int frame, const char *file_name, int width, int height, boolean from_osc)
Definition: saveplay.c:4170
d_print_overlay
boolean d_print_overlay(double timeout_seconds, const char *fmt,...)
Definition: utils.c:2523
resample_event::reltime
int64_t reltime
Definition: main.h:643
paramspecial.h
deduce_file
ulong deduce_file(const char *filename, double start_time, int end)
Definition: saveplay.c:238
create_cfile
lives_clip_t * create_cfile(int new_file, const char *handle, boolean is_loaded)
set default values for a clip (in memory)
Definition: saveplay.c:3656
cached_list_free
void cached_list_free(LiVESList **list)
Definition: utils.c:4881
reset_clipmenu
void reset_clipmenu(void)
Definition: utils.c:4290
enable_record
void enable_record(void)
Definition: gui.c:3706
lives_file_buffer_t::invalid
volatile boolean invalid
Definition: main.h:1619
lives_rmglob
int lives_rmglob(const char *files)
Definition: utils.c:4404
LIVES_DIRECTION_BACKWARD
@ LIVES_DIRECTION_BACKWARD
Definition: main.h:853
response_ok
void response_ok(LiVESButton *button, livespointer user_data)
Definition: dialogs.c:3892
save_frame
void save_frame(LiVESMenuItem *menuitem, livespointer user_data)
Definition: saveplay.c:1186
lives_clip_t::undoable
boolean undoable
Definition: main.h:961
do_encoder_acodec_error
void do_encoder_acodec_error(void)
Definition: dialogs.c:3046
switch_aud_to_none
void switch_aud_to_none(boolean set_pref)
Definition: utils.c:4001
STOP_ON_AUD_END
@ STOP_ON_AUD_END
Definition: main.h:695
capability::icon_theme_name
char * icon_theme_name
Definition: main.h:600
lives_clip_t::afilesize
size_t afilesize
Definition: main.h:912
lives_file_buffer_t::slurping
boolean slurping
Definition: main.h:1614
do_layout_alter_frames_warning
boolean do_layout_alter_frames_warning(void)
Definition: dialogs.c:3426
calc_minspect
void calc_minspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:2195
capability::wm_caps
wm_caps_t wm_caps
Definition: main.h:607
CLIP_DETAILS_RESERVED13
@ CLIP_DETAILS_RESERVED13
Definition: main.h:1185
lives_clip_t::undo2_dbl
double undo2_dbl
Definition: main.h:966
d_print_failed
void d_print_failed(void)
Definition: utils.c:2615
wm_caps_t::ver_micro
uint64_t ver_micro
Definition: main.h:436
capability::nmonitors
int nmonitors
Definition: main.h:588
lives_fgets
char * lives_fgets(char *s, int size, FILE *stream)
Definition: utils.c:368
capability::has_mplayer
lives_checkstatus_t has_mplayer
Definition: main.h:511
clip_forensic
lives_clip_t * clip_forensic(int clipno)
Definition: saveplay.c:6029
set_palette_colours
boolean set_palette_colours(boolean force_reload)
Definition: main.c:2663
UNDO_INSERT_WITH_AUDIO
@ UNDO_INSERT_WITH_AUDIO
Definition: main.h:688
capability::mountpoint
char * mountpoint
utf-8
Definition: main.h:610
LIVES_INTERLACE_TOP_FIRST
@ LIVES_INTERLACE_TOP_FIRST
Definition: main.h:793
get_location
void get_location(const char *exe, char *val, int maxlen)
Definition: utils.c:3407
capability::boot_time
int64_t boot_time
Definition: main.h:586
do_jack_lost_conn_error
void do_jack_lost_conn_error(void)
Definition: dialogs.c:4512
lives_buffered_offset
off_t lives_buffered_offset(int fd)
Definition: utils.c:1364
do_please_install_either
boolean do_please_install_either(const char *exec, const char *exec2)
Definition: dialogs.c:3694
lives_pgid_t
int lives_pgid_t
Definition: main.h:118
lives_write_le
ssize_t lives_write_le(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail)
lives_clip_t::stored_layout_fps
double stored_layout_fps
Definition: main.h:1074
CANCEL_PREVIEW_FINISHED
@ CANCEL_PREVIEW_FINISHED
effect processing finished during preview
Definition: main.h:710
image_ext_to_lives_image_type
const char * image_ext_to_lives_image_type(const char *img_ext)
Definition: utils.c:3039
lives_cancel_t
lives_cancel_t
cancel reason
Definition: main.h:699
save_clip_value
boolean save_clip_value(int which, lives_clip_details_t, void *val)
Definition: utils.c:5175
lives_clip_t::undo_achans
int undo_achans
Definition: main.h:970
do_mt_undo_buf_error
void do_mt_undo_buf_error(void)
Definition: dialogs.c:3587
colourspace.h
capability::can_read_from_config
boolean can_read_from_config
Definition: main.h:494
check_for_lock_file
boolean check_for_lock_file(const char *set_name, int type)
check for set lock file do this via the back-end (smogrify) this allows for the locking scheme to be ...
Definition: utils.c:2894
capability::has_file
lives_checkstatus_t has_file
Definition: main.h:506
CANCEL_NONE
@ CANCEL_NONE
no cancel
Definition: main.h:701
switch_aud_to_jack
boolean switch_aud_to_jack(boolean set_pref)
Definition: utils.c:3819
wm_caps_t
Definition: main.h:432
get_nth_info_message
weed_plant_t * get_nth_info_message(int n)
Definition: utils.c:2304
remove_trailing_zeroes
char * remove_trailing_zeroes(double val)
Definition: utils.c:5395
switch_audio_clip
boolean switch_audio_clip(int new_file, boolean activate)
Definition: main.c:9808
lives_clip_t::has_old_header
boolean has_old_header
Definition: main.h:1091
_weed_plant_new
weed_plant_new_f _weed_plant_new
Definition: main.h:367
restore_file
ulong restore_file(const char *filename)
Definition: saveplay.c:4964
_weed_leaf_set
weed_leaf_set_f _weed_leaf_set
Definition: main.h:366
capability::xdg_current_desktop
char * xdg_current_desktop
Definition: main.h:550
wm_caps_t::root_window
LiVESXWindow * root_window
Definition: main.h:438
do_dvgrab_error
void do_dvgrab_error(void)
Definition: dialogs.c:3714
capability::has_pip
lives_checkstatus_t has_pip
Definition: main.h:534
lives_close_buffered
int lives_close_buffered(int fd)
Definition: utils.c:716
CLIP_DETAILS_CLIPNAME
@ CLIP_DETAILS_CLIPNAME
Definition: main.h:1160
add_to_recovery_file
void add_to_recovery_file(const char *handle)
Definition: saveplay.c:6460
do_messages_window
void do_messages_window(boolean is_startup)
Definition: dialogs.c:3335
palette
_palette * palette
interface colour settings
Definition: main.c:101
CLIP_DETAILS_RESERVED11
@ CLIP_DETAILS_RESERVED11
Definition: main.h:1187
CLIP_NAME_MAXLEN
#define CLIP_NAME_MAXLEN
Definition: main.h:804
lives_clip_t::freeze_fps
double freeze_fps
pb_fps for paused / frozen clips
Definition: main.h:1013
dummychar
const char * dummychar
Definition: main.h:1839
do_abort_ok_dialog
LiVESResponseType do_abort_ok_dialog(const char *text)
Definition: dialogs.c:720
lives_killpg
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition: utils.c:1432
lives_clip_t::video_time
double video_time
Definition: main.h:929
open_ascrap_file
boolean open_ascrap_file(void)
Definition: saveplay.c:5278
CLIP_DETAILS_HEIGHT
@ CLIP_DETAILS_HEIGHT
Definition: main.h:1146
lives_list_copy_strings
LiVESList * lives_list_copy_strings(LiVESList *list)
Definition: utils.c:5820
read_file_details
boolean read_file_details(const char *file_name, boolean only_check_for_audio, boolean open_image)
Definition: saveplay.c:207
check_for_executable
boolean check_for_executable(lives_checkstatus_t *cap, const char *exec)
Definition: utils.c:3434
lives_clip_t::frame_index_back
frames_t * frame_index_back
for undo
Definition: main.h:1005
pull_lives_pixbuf_at_size
LiVESPixbuf * pull_lives_pixbuf_at_size(int clip, int frame, const char *image_ext, ticks_t tc, int width, int height, LiVESInterpType interp, boolean fordisp)
machinestate.h
weed_threadsafe
boolean weed_threadsafe
Definition: main.h:634
save_file
void save_file(int clip, int start, int end, const char *filename)
Definition: saveplay.c:1260
load_end_image
void load_end_image(int frame)
Definition: main.c:5922
CLIP_DETAILS_RESERVED27
@ CLIP_DETAILS_RESERVED27
Definition: main.h:1171
lives_clip_t::binfmt_version
binval binfmt_version
Definition: main.h:878
close_scrap_file
void close_scrap_file(boolean remove)
Definition: saveplay.c:5583
close_temp_handle
int close_temp_handle(int new_clip)
close cfile and switch to new clip (may be -1)
Definition: saveplay.c:3498
do_layout_scrap_file_error
void do_layout_scrap_file_error(void)
Definition: dialogs.c:3053
wm_caps_t::oth_res
uint64_t oth_res
Definition: main.h:478
showclipimgs
void showclipimgs(void)
Definition: main.c:5636
resample_event::value
int value
Definition: main.h:642
do_system_failed_error
LiVESResponseType do_system_failed_error(const char *com, int retval, const char *addinfo, boolean can_retry, boolean try_sudo)
Definition: dialogs.c:3897
CLIP_DETAILS_ARATE
@ CLIP_DETAILS_ARATE
Definition: main.h:1148
ds_critical_msg
char * ds_critical_msg(const char *dir, char **mountpoint, uint64_t dsval)
warn about disk space
Definition: dialogs.c:822
calc_frame_from_time4
int calc_frame_from_time4(int filenum, double time)
nearest frame, no maximum
Definition: utils.c:1788
UNDO_CHANGE_SPEED
@ UNDO_CHANGE_SPEED
Definition: main.h:666
capability::os_hardware
char * os_hardware
Definition: main.h:614
get_filename
void get_filename(char *filename, boolean strip_dir)
Definition: utils.c:3205
capability::dclick_time
int dclick_time
Definition: main.h:622
capability::has_dvgrab
lives_checkstatus_t has_dvgrab
Definition: main.h:507
CLIP_DETAILS_DECODER_NAME
@ CLIP_DETAILS_DECODER_NAME
Definition: main.h:1164
init_track_decoders
void init_track_decoders(void)
Definition: main.c:7816
widget-helper.h
capability::extra_icon_path
char * extra_icon_path
Definition: main.h:601
wm_caps_t::ver_minor
uint64_t ver_minor
Definition: main.h:435
play_start_timer
void play_start_timer(int type)
CLIP_DETAILS_RESERVED23
@ CLIP_DETAILS_RESERVED23
Definition: main.h:1175
do_lb_convert_error
void do_lb_convert_error(void)
Definition: dialogs.c:3652
LIVES_INTERLACE_BOTTOM_FIRST
@ LIVES_INTERLACE_BOTTOM_FIRST
Definition: main.h:792
do_error_dialog_with_check
LiVESResponseType do_error_dialog_with_check(const char *text, uint64_t warn_mask_number)
Definition: dialogs.c:800
lives_clip_t::arps
int arps
audio physical sample rate (i.e the "normal" sample rate of the clip when played at 1,...
Definition: main.h:905
lives_clip_t::ext_src_type
int ext_src_type
Definition: main.h:1051
lives_file_buffer_t::nseqreads
int nseqreads
Definition: main.h:1615
do_nojack_rec_error
void do_nojack_rec_error(void)
Definition: dialogs.c:3719
get_total_time
void get_total_time(lives_clip_t *file)
calculate laudio, raudio and video time (may be deprecated and replaced with macros)
Definition: utils.c:3690
do_abort_check
boolean do_abort_check(void)
Definition: dialogs.c:4277
lives_list_append_unique
LiVESList * lives_list_append_unique(LiVESList *xlist, const char *add)
Definition: utils.c:5776
subst
char * subst(const char *string, const char *from, const char *to)
Definition: utils.c:5484
CLIP_DETAILS_RESERVED17
@ CLIP_DETAILS_RESERVED17
Definition: main.h:1181
_weed_leaf_get_flags
weed_leaf_get_flags_f _weed_leaf_get_flags
Definition: main.h:372
set_redoable
void set_redoable(const char *what, boolean sensitive)
Definition: utils.c:4813
lives_rmdir
int lives_rmdir(const char *dir, boolean force)
Definition: utils.c:4366
CLIP_TYPE_LIVES2LIVES
@ CLIP_TYPE_LIVES2LIVES
type for LiVES to LiVES streaming
Definition: main.h:770
lives_clip_t::f_size
size_t f_size
Definition: main.h:913
capability::ncpus
int ncpus
Definition: main.h:576
get_screen_usable_size
boolean get_screen_usable_size(int *w, int *h)
Definition: interface.c:6853
UNDO_CUT
@ UNDO_CUT
Definition: main.h:670
reset_playback_clock
void reset_playback_clock(void)
Definition: utils.c:1474
pull_lives_pixbuf
LiVESPixbuf * pull_lives_pixbuf(int clip, int frame, const char *image_ext, ticks_t tc)
switch_aud_to_pulse
boolean switch_aud_to_pulse(boolean set_pref)
Definition: utils.c:3884
lives_clip_t::tcache_dubious_from
frames_t tcache_dubious_from
height for thumbnail cache (width is fixed, but if this changes, invalidate)
Definition: main.h:1099
ask_permission_dialog
boolean ask_permission_dialog(int what)
Definition: dialogs.c:4587
lives_clip_t::changed
boolean changed
Definition: main.h:915
lives_clip_t::deinterlace
boolean deinterlace
auto deinterlace
Definition: main.h:938
lives_create_buffered
int lives_create_buffered(const char *pathname, int mode)
Definition: utils.c:698
weed_layer_t
weed_plant_t weed_layer_t
Definition: colourspace.h:71
sensitize_rfx
void sensitize_rfx(void)
Definition: main.c:5036
lives_clip_t::unique_id
uint64_t unique_id
this and the handle can be used to uniquely id a file
Definition: main.h:880
lives_list_free_all
void lives_list_free_all(LiVESList **)
Definition: utils.c:4873
lives_getuid
int lives_getuid(void)
Definition: machinestate.c:2416
ensure_extension
char * ensure_extension(const char *fname, const char *ext) WARN_UNUSED
Definition: utils.c:3232
capability::can_write_to_workdir
boolean can_write_to_workdir
Definition: main.h:500
capability::distro_ver
char * distro_ver
Definition: main.h:617
savethread_priv_t::compression
int compression
Definition: main.h:1508
CANCEL_KEEP_LOOPING
@ CANCEL_KEEP_LOOPING
special cancel for TV toy
Definition: main.h:755
get_version_hash
uint64_t get_version_hash(const char *exe, const char *sep, int piece)
Definition: utils.c:3475
lives_clip_t::hsize
int hsize
frame width (horizontal) in pixels (NOT macropixels !)
Definition: main.h:896
read_headers
boolean read_headers(int clipno, const char *dir, const char *file_name)
Definition: saveplay.c:4465
lives_clip_t::needs_silent_update
boolean needs_silent_update
needs internal update, we shouldn't concern the user
Definition: main.h:1089
minimise_aspect_delta
void minimise_aspect_delta(double allowed_aspect, int hblock, int vblock, int hsize, int vsize, int *width, int *height)
Definition: utils.c:3750
CLIP_TYPE_NULL_VIDEO
@ CLIP_TYPE_NULL_VIDEO
generates blank video frames
Definition: main.h:767
calc_midspect
void calc_midspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:2216
lives_read
ssize_t lives_read(int fd, void *buf, ssize_t count, boolean allow_less)
Definition: utils.c:460
do_memory_error_dialog
LiVESResponseType do_memory_error_dialog(char *op, size_t bytes)
Definition: dialogs.c:904
lives_clip_t::insert_start
frames_t insert_start
Definition: main.h:957
create_message_dialog
LiVESWidget * create_message_dialog(lives_dialog_t diat, const char *text, int warn_mask_number)
Definition: dialogs.c:260
CANCEL_GENERATOR_END
@ CANCEL_GENERATOR_END
generator was stopped
Definition: main.h:728
do_close_changed_warn
boolean do_close_changed_warn(void)
Definition: dialogs.c:4536
do_yesno_dialogf
boolean do_yesno_dialogf(const char *fmt,...)
Definition: dialogs.c:635
lives_clip_t::vol
float vol
relative volume level / gain; sizeof array will be equal to achans
Definition: main.h:910
UNDO_ATOMIC_RESAMPLE_RESIZE
@ UNDO_ATOMIC_RESAMPLE_RESIZE
resample/resize and resample audio for encoding
Definition: main.h:677
CLIP_DETAILS_RESERVED9
@ CLIP_DETAILS_RESERVED9
Definition: main.h:1189
lives_clip_t::last_vframe_played
frames_t last_vframe_played
Definition: main.h:1068
switch_to_file
void switch_to_file(int old_file, int new_file)
Definition: main.c:9646
do_warning_dialog_with_check
boolean do_warning_dialog_with_check(const char *text, uint64_t warn_mask_number)
Definition: dialogs.c:569
do_encoder_restrict_dialog
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:3148
UNDO_FADE_AUDIO
@ UNDO_FADE_AUDIO
Definition: main.h:682
lives_colRGB48_t
Definition: main.h:316
startup_message_nonfatal
boolean startup_message_nonfatal(const char *msg)
Definition: main.c:4980
lives_file_buffer_t::pathname
char * pathname
Definition: main.h:1621
do_read_failed_error_s_with_retry
LiVESResponseType do_read_failed_error_s_with_retry(const char *fname, const char *errtext) WARN_UNUSED
Definition: dialogs.c:4122
load_preview_image
void load_preview_image(boolean update_always)
Definition: main.c:6205
set_record
void set_record(void)
hextodec
int hextodec(const char *string)
Definition: utils.c:5694
get_ratio_fps
double get_ratio_fps(const char *string)
Definition: utils.c:5379
LEFloat_to_BEFloat
float LEFloat_to_BEFloat(float f) GNU_CONST
Definition: utils.c:1750
show_manual_section
void show_manual_section(const char *lang, const char *section)
Definition: utils.c:4629
lives_clip_t::fx_frame_pump
frames_t fx_frame_pump
rfx frame pump for virtual clips (CLIP_TYPE_FILE)
Definition: main.h:1060
lives_popen
ssize_t lives_popen(const char *com, boolean allow_error, char *buff, ssize_t buflen)
Definition: utils.c:194
capability::wm_type
char * wm_type
window manager type, e.g. x11
Definition: main.h:604
UNDO_APPEND_AUDIO
@ UNDO_APPEND_AUDIO
Definition: main.h:668
CANCEL_AUDIO_ERROR
@ CANCEL_AUDIO_ERROR
cancelled because of soundcard error
Definition: main.h:743
save_file_comments
boolean save_file_comments(int fileno)
Definition: saveplay.c:4100
buff_to_list
LiVESList * buff_to_list(const char *buffer, const char *delim, boolean allow_blanks, boolean strip)
Definition: utils.c:5755
wm_caps_t::pan_res
uint64_t pan_res
Definition: main.h:472
UNDO_NEW_AUDIO
@ UNDO_NEW_AUDIO
Definition: main.h:674
WARN_UNUSED
#define WARN_UNUSED
Definition: main.h:77
lives_file_buffer_t::totops
int totops
Definition: main.h:1616
_weed_leaf_element_size
weed_leaf_element_size_f _weed_leaf_element_size
Definition: main.h:370
lazy_startup_checks
boolean lazy_startup_checks(void *data)
Definition: main.c:3480
CANCEL_CAPTURE_ERROR
@ CANCEL_CAPTURE_ERROR
image could not be captured
Definition: main.h:719
lives_alarm_check
ticks_t lives_alarm_check(lives_alarm_t alarm_handle)
Definition: utils.c:1687
break_me
void break_me(const char *dtl)
Definition: main.c:159
save_event_frames
int save_event_frames(void)
Definition: saveplay.c:5121
lives_file_buffer_t::buffer
uint8_t * buffer
read point in buffer
Definition: main.h:1607
lives_clip_t::old_frames
frames_t old_frames
for deordering, etc.
Definition: main.h:977
d_print_cancelled
void d_print_cancelled(void)
Definition: utils.c:2610
CANCEL_RETRY
@ CANCEL_RETRY
an error occurred, retry the operation
Definition: main.h:749
CLIP_DETAILS_BPP
@ CLIP_DETAILS_BPP
Definition: main.h:1142
lives_ln
int lives_ln(const char *from, const char *to)
Definition: utils.c:4464
lives_clip_t::ovsize
int ovsize
Definition: main.h:975
lives_clip_t::old_raudio_time
double old_raudio_time
Definition: main.h:980
CLIP_TYPE_YUV4MPEG
@ CLIP_TYPE_YUV4MPEG
yuv4mpeg stream
Definition: main.h:769
wait_for_bg_audio_sync
void wait_for_bg_audio_sync(int fileno)
Definition: utils.c:4644
CLIP_DETAILS_RESERVED5
@ CLIP_DETAILS_RESERVED5
Definition: main.h:1193
lives_clip_t
struct _lives_clip_t lives_clip_t
Definition: pangotext.h:78
lives_list_free_strings
void lives_list_free_strings(LiVESList *)
Definition: utils.c:4860
capability::has_xwininfo
lives_checkstatus_t has_xwininfo
Definition: main.h:524
lives_clip_t::opening_frames
frames_t opening_frames
Definition: main.h:947
capability::has_mplayer2
lives_checkstatus_t has_mplayer2
Definition: main.h:512
do_jack_noopen_warn4
void do_jack_noopen_warn4(void)
UNDO_TRIM_AUDIO
@ UNDO_TRIM_AUDIO
Definition: main.h:665
lives_read_le_buffered
ssize_t lives_read_le_buffered(int fd, void *buf, ssize_t count, boolean allow_less)
Definition: utils.c:1158
startup_message_fatal
void startup_message_fatal(char *msg) GNU_NORETURN
Definition: main.c:4962
capability::has_md5sum
lives_checkstatus_t has_md5sum
Definition: main.h:536
lives_clip_t::undo_signed_endian
uint32_t undo_signed_endian
Definition: main.h:973
lives_buffered_orig_size
size_t lives_buffered_orig_size(int fd)
Definition: utils.c:1377
lives_clip_t::nopreview
boolean nopreview
don't show preview/pause buttons on processing
Definition: main.h:1019
do_mt_backup_space_error
void do_mt_backup_space_error(lives_mt *, int memreq_mb)
Definition: dialogs.c:3560
do_no_decoder_error
void do_no_decoder_error(const char *fname)
Definition: dialogs.c:3518
UNDO_MERGE
@ UNDO_MERGE
Definition: main.h:663
filename_from_fd
char * filename_from_fd(char *val, int fd)
: return filename from an open fd, freeing val first
Definition: utils.c:60
capability::can_write_to_config_new
boolean can_write_to_config_new
Definition: main.h:497
do_set_locked_warning
boolean do_set_locked_warning(const char *setname)
Definition: dialogs.c:4357
make_image_file_name
char * make_image_file_name(lives_clip_t *clip, frames_t frame, const char *img_ext)
lives_image_type can be a string, lives_img_type_t is an enumeration
Definition: utils.c:3053
add_messages_to_list
int add_messages_to_list(const char *text)
Definition: utils.c:2416
lives_tcache_entry_t::frame
frames_t frame
list of entries in clip thumbnail cache (for multitrack timeline)
Definition: main.h:1106
CLIP_DETAILS_GAMMA_TYPE
@ CLIP_DETAILS_GAMMA_TYPE
Definition: main.h:1165
lives_clip_t::tcache
LiVESList * tcache
set by clip alterations, frames from here onwards should be freed
Definition: main.h:1100
lives_kill
int lives_kill(lives_pid_t pid, int sig)
Definition: utils.c:1423
CLIP_DETAILS_RESERVED14
@ CLIP_DETAILS_RESERVED14
Definition: main.h:1184
lives_colRGBA64_t
Definition: main.h:322
jack.h
pull_frame
boolean pull_frame(weed_layer_t *layer, const char *image_ext, ticks_t tc)
do_file_notfound_dialog
LiVESResponseType do_file_notfound_dialog(const char *detail, const char *dirname)
Definition: dialogs.c:3513
do_mt_no_audchan_error
void do_mt_no_audchan_error(void)
Definition: dialogs.c:3614
capability
Definition: main.h:491
do_jack_noopen_warn3
void do_jack_noopen_warn3(void)
STOP_ON_VID_END
@ STOP_ON_VID_END
Definition: main.h:694
CLIP_DETAILS_UNIQUE_ID
@ CLIP_DETAILS_UNIQUE_ID
Definition: main.h:1147
zero_spinbuttons
void zero_spinbuttons(void)
Definition: utils.c:3807
capability::smog_version_correct
boolean smog_version_correct
Definition: main.h:493
lives_lseek_buffered_rdonly
off_t lives_lseek_buffered_rdonly(int fd, off_t offset)
Definition: utils.c:895
lives_rmdir_with_parents
int lives_rmdir_with_parents(const char *dir)
Definition: utils.c:4386
capability::username
char * username
Definition: main.h:595
capability::has_jackd
lives_checkstatus_t has_jackd
Definition: main.h:522
capability::has_sox_sox
lives_checkstatus_t has_sox_sox
Definition: main.h:509
open_file
ulong open_file(const char *filename)
Definition: saveplay.c:261
lives_suspend_resume_process
void lives_suspend_resume_process(const char *dirname, boolean suspend)
Definition: utils.c:4527
do_dev_busy_error
void do_dev_busy_error(const char *devstr)
Definition: dialogs.c:4294
capability::wm_name
char * wm_name
window manager name, may be different from wm_caps.wwm_name
Definition: main.h:605
wm_caps_t::oth_annoy
uint64_t oth_annoy
Definition: main.h:477
get_capabilities
capability * get_capabilities(void)
Definition: main.c:3023
do_no_loadfile_error
void do_no_loadfile_error(const char *fname)
Definition: dialogs.c:3526
sig
#define sig(a)
Definition: main.h:268
weed_layer_create_from_file_progressive
boolean weed_layer_create_from_file_progressive(weed_layer_t *layer, const char *fname, int width, int height, int tpalette, const char *img_ext)
Definition: main.c:6989
buffer_lmap_error
void buffer_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:2640
lives_pixbuf_save
boolean lives_pixbuf_save(LiVESPixbuf *pixbuf, char *fname, lives_img_type_t imgtype, int quality, int width, int height, LiVESError **gerrorptr)
Save a pixbuf to a file using the specified imgtype and the specified quality/compression value.
Definition: main.c:9304
set_drawing_area_from_pixbuf
void set_drawing_area_from_pixbuf(LiVESWidget *darea, LiVESPixbuf *pixbuf, lives_painter_surface_t *)
Definition: main.c:5525
get_image_ext_for_type
const char * get_image_ext_for_type(lives_img_type_t imgtype)
Definition: utils.c:3025
all_config
boolean all_config(LiVESWidget *, LiVESXEventConfigure *, livespointer ppsurf)
genric func. to create surfaces
Definition: callbacks.c:10042
perf_mem_warning
void perf_mem_warning(void)
Definition: dialogs.c:3237
lives_file_buffer_t::fd
int fd
Definition: main.h:1609
lives_lseek_buffered_writer
off_t lives_lseek_buffered_writer(int fd, off_t offset)
Definition: utils.c:1338
set_preview_box_colours
void set_preview_box_colours(void)
Definition: gui.c:3505
do_read_failed_error_s
void do_read_failed_error_s(const char *filename, const char *addinfo)
Definition: dialogs.c:4034
capability::gui_theme_name
char * gui_theme_name
Definition: main.h:599
do_shutdown_msg
void do_shutdown_msg(void)
Definition: dialogs.c:4554
do_resize_dlg
LiVESResponseType do_resize_dlg(int cwidth, int cheight, int fwidth, int fheight)
Definition: dialogs.c:4417
check_storage_space
boolean check_storage_space(int clipno, boolean is_processing)
Definition: dialogs.c:1086
do_lb_composite_error
void do_lb_composite_error(void)
Definition: dialogs.c:3645
CLIP_DETAILS_RESERVED19
@ CLIP_DETAILS_RESERVED19
Definition: main.h:1179
lives_chdir
int lives_chdir(const char *path, boolean no_error_dlg)
Definition: utils.c:1393
capability::ds_used
int64_t ds_used
Definition: main.h:609
d_print_enough
void d_print_enough(int frames)
Definition: utils.c:2630
CLIP_DETAILS_RESERVED22
@ CLIP_DETAILS_RESERVED22
Definition: main.h:1176
lives_fputs
int lives_fputs(const char *s, FILE *stream)
Definition: utils.c:359
reload_subs
void reload_subs(int fileno)
Definition: saveplay.c:4942
lives_file_buffer_t::offset
off_t offset
ptr to data (ptr - buffer + bytes) gives the read size
Definition: main.h:1608
handle_backend_errors
LiVESResponseType handle_backend_errors(boolean can_retry)
Definition: dialogs.c:922
lives_audio_track_state_t::vel
double vel
Definition: main.h:649
do_yesno_dialog_with_check
boolean do_yesno_dialog_with_check(const char *text, uint64_t warn_mask_number)
Definition: dialogs.c:595
do_decoder_palette_error
void do_decoder_palette_error(void)
Definition: dialogs.c:3732
unblock_expose
void unblock_expose(void)
do_bad_theme_error
void do_bad_theme_error(const char *themefile)
Definition: dialogs.c:4474
lives_tcache_entry_t
Definition: main.h:1104
capability::main_thread
pthread_t main_thread
Definition: main.h:592
threaded_dialog_spin
void threaded_dialog_spin(double fraction)
Definition: dialogs.c:3823
do_layout_ascrap_file_error
void do_layout_ascrap_file_error(void)
Definition: dialogs.c:3059
capability::myname
char * myname
Definition: main.h:580
frames_t
int frames_t
Definition: main.h:99
lives_pixbuf_new_blank
LiVESPixbuf * lives_pixbuf_new_blank(int width, int height, int palette)
Definition: colourspace.c:11953
do_abort_retry_dialog
LiVESResponseType do_abort_retry_dialog(const char *text)
Definition: dialogs.c:714
lives_utf8_strcmp
int lives_utf8_strcmp(const char *s1, const char *s2)
Definition: utils.c:5469
lives_buffered_write_printf
ssize_t lives_buffered_write_printf(int fd, boolean allow_fail, const char *fmt,...)
Definition: utils.c:1316
binval
Definition: main.h:870
lives_clip_t::pb_fps
double pb_fps
current playback rate, may vary from fps, can be 0. or negative
Definition: main.h:1007
CANCEL_INTERNAL_ERROR
@ CANCEL_INTERNAL_ERROR
software error: e.g set mainw->current_file directly during pb instead of mainw->new_clip
Definition: main.h:752
get_extension
char * get_extension(const char *filename)
Definition: utils.c:3217
lives_kill_subprocesses
void lives_kill_subprocesses(const char *dirname, boolean kill_parent)
Definition: utils.c:4516
frame_size_update
void frame_size_update(void)
Definition: gui.c:4479
set_main_title
void set_main_title(const char *filename, int or_untitled_number)
Definition: main.c:5005
lives_clip_t::undo1_uint
uint32_t undo1_uint
Definition: main.h:965
CLIP_DETAILS_PB_ARATE
@ CLIP_DETAILS_PB_ARATE
Definition: main.h:1149
free_n_msgs
int free_n_msgs(int frval)
Definition: utils.c:2381
do_comments_dialog
boolean do_comments_dialog(int fileno, char *filename)
Definition: dialogs.c:3288
lives_write_buffered
ssize_t lives_write_buffered(int fd, const char *buf, ssize_t count, boolean allow_fail)
Definition: utils.c:1226
CANCEL_KEEP
@ CANCEL_KEEP
user pressed 'Keep'
Definition: main.h:734
lives_list_move_to_first
LiVESList * lives_list_move_to_first(LiVESList *list, LiVESList *item) WARN_UNUSED
Definition: utils.c:5789
lives_system
int lives_system(const char *com, boolean allow_error)
Definition: utils.c:145
CLIP_DETAILS_FPS
@ CLIP_DETAILS_FPS
Definition: main.h:1143
lives_clip_t::keep_without_preview
boolean keep_without_preview
allow keep, even when nopreview is set - TODO use only nopreview and nokeep
Definition: main.h:1082
lives_file_buffer_t::read
boolean read
Definition: main.h:1612
lives_dialog_t
lives_dialog_t
Definition: mainwindow.h:239
do_std_checks
boolean do_std_checks(const char *type_name, const char *type, size_t maxlen, const char *nreject)
Definition: utils.c:2929
get_untitled_name
char * get_untitled_name(int number)
Definition: saveplay.c:3802
disable_record
void disable_record(void)
Definition: gui.c:3717
CANCEL_EVENT_LIST_END
@ CANCEL_EVENT_LIST_END
event_list completed
Definition: main.h:722
_weed_leaf_seed_type
weed_leaf_seed_type_f _weed_leaf_seed_type
Definition: main.h:371
capability::xstdout
int xstdout
Definition: main.h:587
do_imgfmts_error
LiVESResponseType do_imgfmts_error(lives_img_type_t imgtype)
Definition: dialogs.c:4449
capability::has_sox_play
lives_checkstatus_t has_sox_play
Definition: main.h:508
lives_clip_t::undo_start
frames_t undo_start
Definition: main.h:956
init_clipboard
void init_clipboard(void)
Definition: utils.c:2238
rdet
render_details * rdet
Definition: events.h:256
do_gamma_import_warn
boolean do_gamma_import_warn(uint64_t fv, int gamma_type)
Definition: dialogs.c:3440
do_info_dialogf
LiVESResponseType do_info_dialogf(const char *fmt,...)
Definition: dialogs.c:773
lives_clip_t::vsize
int vsize
frame height (vertical) in pixels
Definition: main.h:897
capability::primary_monitor
int primary_monitor
Definition: main.h:589
CANCEL_EXTERNAL_ENDED
@ CANCEL_EXTERNAL_ENDED
external process ended (e.g. autolives uncheck)
Definition: main.h:731
PATH_MAX
#define PATH_MAX
Definition: main.h:255
LIVES_INTERLACE_NONE
@ LIVES_INTERLACE_NONE
Definition: main.h:791
lbindings.h
get_near2pow
uint64_t get_near2pow(uint64_t val) GNU_CONST
Definition: utils.c:1463
IMG_TYPE_UNKNOWN
@ IMG_TYPE_UNKNOWN
Definition: main.h:775
lives_clip_t::raudio_drawable
lives_painter_surface_t * raudio_drawable
Definition: main.h:1084
calc_frame_from_time3
int calc_frame_from_time3(int filenum, double time)
nearest frame rounded down, [1, frames+1]
Definition: utils.c:1778
close_current_file
void close_current_file(int file_to_switch_to)
close current file, and try to switch to file_to_switch_to
Definition: main.c:9373
CLIP_DETAILS_RESERVED29
@ CLIP_DETAILS_RESERVED29
Definition: main.h:1169
lives_clip_t::subt
lives_subtitles_t * subt
Definition: main.h:1076
do_no_mplayer_sox_error
void do_no_mplayer_sox_error(void)
Definition: dialogs.c:3014
threaded_dialog_push
void threaded_dialog_push(void)
Definition: dialogs.c:3762
lives_colRGB48_t::green
uint16_t green
Definition: main.h:318
lives_list_delete_string
LiVESList * lives_list_delete_string(LiVESList *, const char *string) WARN_UNUSED
Definition: utils.c:5801
lives_create_buffered_nosync
int lives_create_buffered_nosync(const char *pathname, int mode)
Definition: utils.c:702
load_theme_images
void load_theme_images(void)
Definition: gui.c:65
wm_caps_t::ssave_annoy
uint64_t ssave_annoy
Definition: main.h:474
lives_file_buffer_t::orig_size
size_t orig_size
Definition: main.h:1620
get_play_times
void get_play_times(void)
recalculate video / audio lengths and draw the timer bars
Definition: utils.c:3672
lives_clip_t
corresponds to one clip in the GUI
Definition: main.h:877
CANCEL_SOFT
@ CANCEL_SOFT
just cancel in GUI (for keep, etc)
Definition: main.h:760
lives_colRGBA64_t::red
uint16_t red
Definition: main.h:323
capability::has_gdb
lives_checkstatus_t has_gdb
Definition: main.h:525
insert_newlines
char * insert_newlines(const char *text, int maxwidth)
Definition: utils.c:5591
lives_clip_t::gamma_type
int gamma_type
Definition: main.h:903
CLIP_DETAILS_RESERVED28
@ CLIP_DETAILS_RESERVED28
Definition: main.h:1170
do_invalid_subs_error
void do_invalid_subs_error(void)
Definition: dialogs.c:4308
do_after_invalid_warning
void do_after_invalid_warning(void)
Definition: dialogs.c:3748
clear_lmap_errors
void clear_lmap_errors(void)
Definition: utils.c:2858
lives_write
ssize_t lives_write(int fd, livesconstpointer buf, ssize_t count, boolean allow_fail)
capability::sysbindir
char * sysbindir
Definition: main.h:624
activate_url
void activate_url(LiVESAboutDialog *about, const char *link, livespointer data)
Definition: utils.c:4624
capability::has_convert
lives_checkstatus_t has_convert
Definition: main.h:514
UNDO_INSERT
@ UNDO_INSERT
Definition: main.h:669
process_one
int process_one(boolean visible)
Definition: dialogs.c:1337
do_clipboard_fps_warning
boolean do_clipboard_fps_warning(void)
Definition: dialogs.c:3244
lives_clip_t::opening_only_audio
boolean opening_only_audio
Definition: main.h:946
switch_aud_to_sox
boolean switch_aud_to_sox(boolean set_pref)
Definition: utils.c:3944
do_abort_cancel_retry_dialog
LiVESResponseType do_abort_cancel_retry_dialog(const char *text) WARN_UNUSED
Definition: dialogs.c:708
lives_clip_t::stored_layout_audio
double stored_layout_audio
Definition: main.h:1073
CLIP_DETAILS_RESERVED7
@ CLIP_DETAILS_RESERVED7
Definition: main.h:1191
capability::myname_full
char * myname_full
Definition: main.h:579
lives_file_buffer_t::bytes
ssize_t bytes
Definition: main.h:1605
lives_clip_t::stored_layout_frame
frames_t stored_layout_frame
experimental for player
Definition: main.h:1071
capability::has_youtube_dlc
lives_checkstatus_t has_youtube_dlc
Definition: main.h:533
do_dir_notfound_dialog
LiVESResponseType do_dir_notfound_dialog(const char *detail, const char *dirname)
Definition: dialogs.c:3509
do_abort_dialog
void do_abort_dialog(const char *text)
Definition: dialogs.c:725
lives_getgid
int lives_getgid(void)
Definition: machinestate.c:2420
lives_clip_t::undo3_boolean
boolean undo3_boolean
Definition: main.h:967
CANCEL_AUD_END
@ CANCEL_AUD_END
video playback completed
Definition: main.h:737
capability::has_perl
lives_checkstatus_t has_perl
Definition: main.h:505
do_bad_theme_import_error
void do_bad_theme_import_error(const char *theme_file)
Definition: dialogs.c:4530
open_file_sel
ulong open_file_sel(const char *file_name, double start_time, int frames)
Definition: saveplay.c:309
do_error_dialog
LiVESResponseType do_error_dialog(const char *text)
Definition: dialogs.c:749
capability::has_gzip
lives_checkstatus_t has_gzip
Definition: main.h:526
d_print_done
void d_print_done(void)
Definition: utils.c:2620
lives_time_source_t
lives_time_source_t
timebase sources
Definition: mainwindow.h:225
pangotext.h
too_many_files
void too_many_files(void)
Definition: dialogs.c:2996
capability::xdg_data_home
char * xdg_data_home
Definition: main.h:548
CANCEL_NO_PROPOGATE
@ CANCEL_NO_PROPOGATE
cancel but keep opening
Definition: main.h:707
find_in_file_buffers
lives_file_buffer_t * find_in_file_buffers(int fd)
Definition: utils.c:401
startup_message_nonfatal_dismissable
boolean startup_message_nonfatal_dismissable(const char *msg, uint64_t warning_mask)
Definition: main.c:4995
UNDO_AUDIO_RESAMPLE
@ UNDO_AUDIO_RESAMPLE
Definition: main.h:667
get_transient_full
LiVESWindow * get_transient_full()
Definition: dialogs.c:622
capability::has_cdda2wav
lives_checkstatus_t has_cdda2wav
Definition: main.h:519
do_mt_undo_mem_error
void do_mt_undo_mem_error(void)
Definition: dialogs.c:3579
lives_clip_t::asampsize
int asampsize
audio sample size in bits (8 or 16)
Definition: main.h:908
capability::python_version
uint64_t python_version
Definition: main.h:574
savethread_priv_t::fname
char * fname
Definition: main.h:1506
do_write_failed_error_s_with_retry
LiVESResponseType do_write_failed_error_s_with_retry(const char *fname, const char *errtext) WARN_UNUSED
Definition: dialogs.c:4058
CLIP_DETAILS_RESERVED20
@ CLIP_DETAILS_RESERVED20
Definition: main.h:1178
workdir_warning
void workdir_warning(void)
Definition: dialogs.c:3001
repl_workdir
char * repl_workdir(const char *entry, boolean fwd)
Definition: utils.c:3534
capability::distro_name
char * distro_name
Definition: main.h:616
ulong
#define ulong
Definition: main.h:178
show_lives
void show_lives(void)
Definition: gui.c:3006
lives_clip_t::tcache_height
int tcache_height
Definition: main.h:1098
do_sub_type_warning
boolean do_sub_type_warning(const char *ext, const char *type_ext)
Definition: dialogs.c:4339
CLIP_DETAILS_RESERVED24
@ CLIP_DETAILS_RESERVED24
Definition: main.h:1174
do_vpp_palette_error
void do_vpp_palette_error(void)
Definition: dialogs.c:3727
get_handle_from_info_file
boolean get_handle_from_info_file(int index)
Definition: saveplay.c:1163
resample_event
this struct is used only when physically resampling frames on the disk we create an array of these an...
Definition: main.h:641
do_set_duplicate_warning
boolean do_set_duplicate_warning(const char *new_set)
Definition: dialogs.c:3415
lives_clip_t::is_loaded
boolean is_loaded
should we continue loading if we come back to this clip
Definition: main.h:949
do_firstever_dialog
void do_firstever_dialog(void)
save_clip_values
boolean save_clip_values(int which_file)
Definition: saveplay.c:103
end_threaded_dialog
void end_threaded_dialog(void)
Definition: dialogs.c:3883
do_event_list_warning
boolean do_event_list_warning(void)
Definition: dialogs.c:3707
lives_clip_t::arate
int arate
current audio playback rate (varies if the clip rate is changed)
Definition: main.h:906
add_warn_check
void add_warn_check(LiVESBox *box, int warn_mask_number)
Definition: dialogs.c:103
lives_subtitles_t
Definition: pangotext.h:38
cache_file_contents
LiVESList * cache_file_contents(const char *filename)
Definition: utils.c:4909
capability::can_write_to_config_backup
boolean can_write_to_config_backup
Definition: main.h:499
CLIP_DETAILS_RESERVED18
@ CLIP_DETAILS_RESERVED18
Definition: main.h:1180
lives_clip_t::menuentry
LiVESWidget * menuentry
Definition: main.h:1011
lives_clip_t::undo_action
lives_undo_t undo_action
undo
Definition: main.h:954
FALSE
#define FALSE
Definition: videoplugin.h:60
lives_clip_t::nokeep
boolean nokeep
don't show the 'keep' button - e.g. for operations which resize frames
Definition: main.h:1022
mainwindow.h
do_info_dialog
LiVESResponseType do_info_dialog(const char *text)
Definition: dialogs.c:787
do_header_missing_detail_error
LiVESResponseType do_header_missing_detail_error(int clip, lives_clip_details_t detail) WARN_UNUSED
Definition: dialogs.c:4186
lives_file_buffer_t::eof
boolean eof
Definition: main.h:1611
do_auto_dialog
boolean do_auto_dialog(const char *text, int type)
Definition: dialogs.c:2844
calc_maxspect
void calc_maxspect(int rwidth, int rheight, int *cwidth, int *cheight)
Definition: utils.c:2174
check_file
boolean check_file(const char *file_name, boolean check_exists)
check if file exists
Definition: utils.c:4312
do_text_window
void do_text_window(const char *title, const char *text)
lives_clip_t::adirection
lives_direction_t adirection
audio play direction during playback, FORWARD or REVERSE.
Definition: main.h:1016
lives_clip_t::last_play_sequence
int last_play_sequence
updated only when FINISHING playing a clip (either by switching or ending playback,...
Definition: main.h:1096
lives_clip_t::alt_src_types
int * alt_src_types
Definition: main.h:1055
capability::has_python
lives_checkstatus_t has_python
Definition: main.h:573
pull_frame_at_size
boolean pull_frame_at_size(weed_layer_t *layer, const char *image_ext, ticks_t tc, int width, int height, int target_palette)
savethread_priv_t::pixbuf
LiVESPixbuf * pixbuf
Definition: main.h:1504
lives_alarm_set
lives_alarm_t lives_alarm_set(ticks_t ticks)
set alarm for now + delta ticks (10 nanosec) param ticks (10 nanoseconds) is the offset when we want ...
Definition: utils.c:1643
resize_widgets_for_monitor
void resize_widgets_for_monitor(boolean get_play_times)
Definition: gui.c:3752
splash_init
void splash_init(void)
Definition: gui.c:4605
replace_with_delegates
void replace_with_delegates(void)
Definition: main.c:1090
start_playback_async
void start_playback_async(int type)
Definition: saveplay.c:96
print_cache
void print_cache(LiVESList *cache)
Definition: utils.c:4897
dirs_equal
boolean dirs_equal(const char *dira, const char *dirb)
Definition: utils.c:3390
capability::dclick_dist
int dclick_dist
Definition: main.h:623
capability::byte_order
int byte_order
Definition: main.h:577
remove_layout_files
void remove_layout_files(LiVESList *lmap)
Definition: utils.c:3559
get_deinterlace_string
const char * get_deinterlace_string(void)
Definition: saveplay.c:230
capability::has_wget
lives_checkstatus_t has_wget
Definition: main.h:538
capability::has_snap
lives_checkstatus_t has_snap
Definition: main.h:541
lives_rm
int lives_rm(const char *file)
Definition: utils.c:4395
do_pulse_lost_conn_error
void do_pulse_lost_conn_error(void)
Definition: dialogs.c:4518
lives_clip_t::binfmt_end
uint64_t binfmt_end
marks the end of anything "interesring" we may want to save via binfmt extension
Definition: main.h:992
CLIP_DETAILS_RESERVED25
@ CLIP_DETAILS_RESERVED25
Definition: main.h:1173
CLIP_DETAILS_RESERVED16
@ CLIP_DETAILS_RESERVED16
Definition: main.h:1182
lives_clip_t::achans
int achans
number of audio channels (0, 1 or 2)
Definition: main.h:907
LIVES_DIRECTION_OUT
@ LIVES_DIRECTION_OUT
Definition: main.h:860
load_start_image
void load_start_image(int frame)
Definition: main.c:5650
CLIP_DETAILS_RESERVED1
@ CLIP_DETAILS_RESERVED1
Definition: main.h:1197
do_vpp_fps_error
void do_vpp_fps_error(void)
Definition: dialogs.c:3737
unbuffer_lmap_errors
void unbuffer_lmap_errors(boolean add)
Definition: utils.c:2656
NEVER_STOP
@ NEVER_STOP
Definition: main.h:693
get_temp_handle
boolean get_temp_handle(int index)
get a temp "handle" from disk.
Definition: saveplay.c:3571
get_signed_endian
uint32_t get_signed_endian(boolean is_signed, boolean little_endian)
produce bitmapped value
Definition: utils.c:5408
lives_fread
size_t lives_fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Definition: utils.c:379
check_layer_ready
boolean check_layer_ready(weed_layer_t *layer)
block until layer pixel_data is ready.
Definition: main.c:7528
do_erase_subs_warning
boolean do_erase_subs_warning(void)
Definition: dialogs.c:4334
is_legal_set_name
boolean is_legal_set_name(const char *set_name, boolean allow_dupes, boolean leeway)
Definition: utils.c:2975
CLIP_DETAILS_CACHE_OBJECTS
@ CLIP_DETAILS_CACHE_OBJECTS
Definition: main.h:1167
get_monitors
void get_monitors(boolean reset)
Definition: main.c:400
lives_clip_t::layout_map
LiVESList * layout_map
Definition: main.h:1037
do_progress_dialog
boolean do_progress_dialog(boolean visible, boolean cancellable, const char *text)
Definition: dialogs.c:2274
lives_clip_t::was_in_set
boolean was_in_set
Definition: main.h:916
do_retry_cancel_dialog
LiVESResponseType do_retry_cancel_dialog(const char *text)
Definition: dialogs.c:730
get_new_handle
boolean get_new_handle(int index, const char *name)
Definition: saveplay.c:3821